@opensite/ui 0.8.3 → 0.8.5
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.cjs +1 -1
- package/dist/about-company-profile.js +1 -1
- package/dist/about-culture-tabs.cjs +1 -1
- package/dist/about-culture-tabs.js +1 -1
- package/dist/about-developer-profile.cjs +1 -1
- package/dist/about-developer-profile.js +1 -1
- package/dist/about-developer-story.cjs +1 -1
- package/dist/about-developer-story.js +1 -1
- package/dist/about-expandable-values.cjs +1 -1
- package/dist/about-expandable-values.js +1 -1
- package/dist/about-interactive-tabs.cjs +1 -1
- package/dist/about-interactive-tabs.js +1 -1
- package/dist/about-location-info-hero.cjs +1 -1
- package/dist/about-location-info-hero.js +1 -1
- package/dist/about-minimal-story.cjs +1 -1
- package/dist/about-minimal-story.js +1 -1
- package/dist/about-mission-dual-image.cjs +1 -1
- package/dist/about-mission-dual-image.js +1 -1
- package/dist/about-mission-features.cjs +1 -1
- package/dist/about-mission-features.js +1 -1
- package/dist/about-mission-principles.cjs +1 -1
- package/dist/about-mission-principles.js +1 -1
- package/dist/about-network-spotlight.cjs +1 -1
- package/dist/about-network-spotlight.js +1 -1
- package/dist/about-startup-team.cjs +1 -1
- package/dist/about-startup-team.js +1 -1
- package/dist/about-stats-showcase.cjs +1 -1
- package/dist/about-stats-showcase.js +1 -1
- package/dist/about-stats-sidebar.cjs +1 -1
- package/dist/about-stats-sidebar.js +1 -1
- package/dist/about-story-expertise.cjs +1 -1
- package/dist/about-story-expertise.js +1 -1
- package/dist/about-story-gallery.cjs +1 -1
- package/dist/about-story-gallery.js +1 -1
- package/dist/about-story-hero.cjs +1 -1
- package/dist/about-story-hero.js +1 -1
- package/dist/about-streamline-team.cjs +1 -1
- package/dist/about-streamline-team.js +1 -1
- package/dist/about-vision-gallery.cjs +1 -1
- package/dist/about-vision-gallery.js +1 -1
- package/dist/alternating-blocks.cjs +1 -1
- package/dist/alternating-blocks.js +1 -1
- package/dist/article-breadcrumb-social.cjs +58 -74
- package/dist/article-breadcrumb-social.d.cts +2 -24
- package/dist/article-breadcrumb-social.d.ts +2 -24
- package/dist/article-breadcrumb-social.js +58 -74
- package/dist/article-chapters-author.cjs +1 -1
- package/dist/article-chapters-author.js +1 -1
- package/dist/article-compact-toc.cjs +2 -2
- package/dist/article-compact-toc.js +2 -2
- package/dist/article-hero-prose.cjs +1 -1
- package/dist/article-hero-prose.js +1 -1
- package/dist/article-sidebar-sticky.cjs +74 -27
- package/dist/article-sidebar-sticky.js +74 -27
- package/dist/article-split-animated.cjs +1 -1
- package/dist/article-split-animated.js +1 -1
- package/dist/article-toc-sidebar.cjs +1 -1
- package/dist/article-toc-sidebar.js +1 -1
- package/dist/auto-scroll-carousel.cjs +1 -1
- package/dist/auto-scroll-carousel.js +1 -1
- package/dist/blog-cards-read-time.cjs +1 -1
- package/dist/blog-cards-read-time.js +1 -1
- package/dist/blog-cards-tagline-cta.cjs +1 -1
- package/dist/blog-cards-tagline-cta.js +1 -1
- package/dist/blog-carousel-apple.cjs +1 -1
- package/dist/blog-carousel-apple.js +1 -1
- package/dist/blog-category-overlay.cjs +1 -1
- package/dist/blog-category-overlay.js +1 -1
- package/dist/blog-featured-popular.cjs +1 -1
- package/dist/blog-featured-popular.js +1 -1
- package/dist/blog-filtered-results.cjs +1 -1
- package/dist/blog-filtered-results.js +1 -1
- package/dist/blog-grid-author-cards.cjs +1 -1
- package/dist/blog-grid-author-cards.js +1 -1
- package/dist/blog-grid-nine-posts.cjs +1 -1
- package/dist/blog-grid-nine-posts.js +1 -1
- package/dist/blog-horizontal-cards.cjs +1 -1
- package/dist/blog-horizontal-cards.js +1 -1
- package/dist/blog-horizontal-timeline.cjs +8 -5
- package/dist/blog-horizontal-timeline.js +8 -5
- package/dist/blog-masonry-featured.cjs +1 -1
- package/dist/blog-masonry-featured.js +1 -1
- package/dist/blog-related-articles.cjs +1 -1
- package/dist/blog-related-articles.js +1 -1
- package/dist/blog-tech-insights.cjs +1 -1
- package/dist/blog-tech-insights.js +1 -1
- package/dist/blur-vignette-grid.cjs +1 -1
- package/dist/blur-vignette-grid.js +1 -1
- package/dist/carousel-animated-sections.cjs +1 -1
- package/dist/carousel-animated-sections.js +1 -1
- package/dist/carousel-auto-progress-slides.cjs +1 -1
- package/dist/carousel-auto-progress-slides.js +1 -1
- package/dist/carousel-autoplay-progress.cjs +1 -1
- package/dist/carousel-autoplay-progress.js +1 -1
- package/dist/carousel-badge-cards.cjs +1 -1
- package/dist/carousel-badge-cards.js +1 -1
- package/dist/carousel-demo-link.cjs +1 -1
- package/dist/carousel-demo-link.js +1 -1
- package/dist/carousel-feature-badge.cjs +1 -1
- package/dist/carousel-feature-badge.js +1 -1
- package/dist/carousel-fullscreen-scroll-fx.cjs +1 -1
- package/dist/carousel-fullscreen-scroll-fx.js +1 -1
- package/dist/carousel-gallery-thumbnails.cjs +1 -1
- package/dist/carousel-gallery-thumbnails.js +1 -1
- package/dist/carousel-gradient-overlay.cjs +1 -1
- package/dist/carousel-gradient-overlay.js +1 -1
- package/dist/carousel-gradient-text.cjs +2 -2
- package/dist/carousel-gradient-text.js +2 -2
- package/dist/carousel-horizontal-cards.cjs +1 -1
- package/dist/carousel-horizontal-cards.js +1 -1
- package/dist/carousel-icon-sidebar.cjs +2 -2
- package/dist/carousel-icon-sidebar.js +2 -2
- package/dist/carousel-icon-tabs.cjs +2 -2
- package/dist/carousel-icon-tabs.js +2 -2
- package/dist/carousel-image-hero.cjs +1 -1
- package/dist/carousel-image-hero.js +1 -1
- package/dist/carousel-multi-step-showcase.cjs +1 -1
- package/dist/carousel-multi-step-showcase.js +1 -1
- package/dist/carousel-portfolio-hero.cjs +1 -1
- package/dist/carousel-portfolio-hero.js +1 -1
- package/dist/carousel-product-feature-showcase.cjs +1 -1
- package/dist/carousel-product-feature-showcase.js +1 -1
- package/dist/carousel-progress-slider.cjs +15 -9
- package/dist/carousel-progress-slider.js +15 -9
- package/dist/carousel-scale-focus.cjs +2 -2
- package/dist/carousel-scale-focus.js +2 -2
- package/dist/carousel-scrolling-feature-showcase.cjs +1 -1
- package/dist/carousel-scrolling-feature-showcase.js +1 -1
- package/dist/carousel-sidebar-resources.cjs +2 -2
- package/dist/carousel-sidebar-resources.js +2 -2
- package/dist/carousel-tabs-content.cjs +2 -2
- package/dist/carousel-tabs-content.js +2 -2
- package/dist/case-studies-featured-border.cjs +1 -1
- package/dist/case-studies-featured-border.js +1 -1
- package/dist/case-studies-image-grid.cjs +1 -1
- package/dist/case-studies-image-grid.js +1 -1
- package/dist/case-studies-stats-card.cjs +1 -1
- package/dist/case-studies-stats-card.js +1 -1
- package/dist/case-studies-testimonial-stats.cjs +1 -1
- package/dist/case-studies-testimonial-stats.js +1 -1
- package/dist/case-study-prose-sidebar.cjs +1 -1
- package/dist/case-study-prose-sidebar.js +1 -1
- package/dist/case-study-stats-metrics.cjs +1 -1
- package/dist/case-study-stats-metrics.js +1 -1
- package/dist/case-study-toc-social-sidebar.cjs +1 -1
- package/dist/case-study-toc-social-sidebar.js +1 -1
- package/dist/community-initiatives.cjs +1 -1
- package/dist/community-initiatives.js +1 -1
- package/dist/comparison-ai-models.cjs +1 -1
- package/dist/comparison-ai-models.js +1 -1
- package/dist/comparison-feature-cards.cjs +1 -1
- package/dist/comparison-feature-cards.js +1 -1
- package/dist/comparison-feature-grid.cjs +1 -1
- package/dist/comparison-feature-grid.js +1 -1
- package/dist/comparison-grid-badges.cjs +1 -1
- package/dist/comparison-grid-badges.js +1 -1
- package/dist/comparison-image-cards.cjs +1 -1
- package/dist/comparison-image-cards.js +1 -1
- package/dist/comparison-legacy-modern.cjs +1 -1
- package/dist/comparison-legacy-modern.js +1 -1
- package/dist/comparison-metrics-rows.cjs +1 -1
- package/dist/comparison-metrics-rows.js +1 -1
- package/dist/comparison-table-tabs.cjs +1 -1
- package/dist/comparison-table-tabs.js +1 -1
- package/dist/comparison-table-tooltips.cjs +1 -1
- package/dist/comparison-table-tooltips.js +1 -1
- package/dist/comparison-table-two-column.cjs +1 -1
- package/dist/comparison-table-two-column.js +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/contact-callback.cjs +1 -1
- package/dist/contact-callback.js +1 -1
- package/dist/contact-card.cjs +1 -1
- package/dist/contact-card.js +1 -1
- package/dist/contact-careers.cjs +1 -1
- package/dist/contact-careers.js +1 -1
- package/dist/contact-catering.cjs +1 -1
- package/dist/contact-catering.js +1 -1
- package/dist/contact-consultation.cjs +1 -1
- package/dist/contact-consultation.js +1 -1
- package/dist/contact-dark.cjs +1 -1
- package/dist/contact-dark.js +1 -1
- package/dist/contact-demo.cjs +1 -1
- package/dist/contact-demo.js +1 -1
- package/dist/contact-emergency.cjs +1 -1
- package/dist/contact-emergency.js +1 -1
- package/dist/contact-event.cjs +1 -1
- package/dist/contact-event.js +1 -1
- package/dist/contact-faq.cjs +1 -1
- package/dist/contact-faq.js +1 -1
- package/dist/contact-feedback.cjs +1 -1
- package/dist/contact-feedback.js +1 -1
- package/dist/contact-fitness.cjs +1 -1
- package/dist/contact-fitness.js +1 -1
- package/dist/contact-guest.cjs +1 -1
- package/dist/contact-guest.js +1 -1
- package/dist/contact-help-center.cjs +1 -1
- package/dist/contact-help-center.js +1 -1
- package/dist/contact-image.cjs +1 -1
- package/dist/contact-image.js +1 -1
- package/dist/contact-insurance.cjs +1 -1
- package/dist/contact-insurance.js +1 -1
- package/dist/contact-interview.cjs +1 -1
- package/dist/contact-interview.js +1 -1
- package/dist/contact-locations.cjs +1 -1
- package/dist/contact-locations.js +1 -1
- package/dist/contact-maintenance.cjs +1 -1
- package/dist/contact-maintenance.js +1 -1
- package/dist/contact-map.cjs +1 -1
- package/dist/contact-map.js +1 -1
- package/dist/contact-minimal.cjs +1 -1
- package/dist/contact-minimal.js +1 -1
- package/dist/contact-moving.cjs +1 -1
- package/dist/contact-moving.js +1 -1
- package/dist/contact-multistep.cjs +1 -1
- package/dist/contact-multistep.js +1 -1
- package/dist/contact-partnership.cjs +1 -1
- package/dist/contact-partnership.js +1 -1
- package/dist/contact-photography.cjs +1 -1
- package/dist/contact-photography.js +1 -1
- package/dist/contact-press.cjs +1 -1
- package/dist/contact-press.js +1 -1
- package/dist/contact-quote.cjs +1 -1
- package/dist/contact-quote.js +1 -1
- package/dist/contact-referral.cjs +1 -1
- package/dist/contact-referral.js +1 -1
- package/dist/contact-report.cjs +1 -1
- package/dist/contact-report.js +1 -1
- package/dist/contact-reservation.cjs +1 -1
- package/dist/contact-reservation.js +1 -1
- package/dist/contact-retreat.cjs +1 -1
- package/dist/contact-retreat.js +1 -1
- package/dist/contact-rsvp.cjs +1 -1
- package/dist/contact-rsvp.js +1 -1
- package/dist/contact-sales.cjs +1 -1
- package/dist/contact-sales.js +1 -1
- package/dist/contact-schedule.cjs +1 -1
- package/dist/contact-schedule.js +1 -1
- package/dist/contact-sponsorship.cjs +1 -1
- package/dist/contact-sponsorship.js +1 -1
- package/dist/contact-support.cjs +1 -1
- package/dist/contact-support.js +1 -1
- package/dist/contact-tenant.cjs +1 -1
- package/dist/contact-tenant.js +1 -1
- package/dist/contact-vendor.cjs +1 -1
- package/dist/contact-vendor.js +1 -1
- package/dist/contact-volunteer.cjs +1 -1
- package/dist/contact-volunteer.js +1 -1
- package/dist/contact-warranty.cjs +1 -1
- package/dist/contact-warranty.js +1 -1
- package/dist/contact-wedding.cjs +1 -1
- package/dist/contact-wedding.js +1 -1
- package/dist/cta-accent-background.cjs +1 -1
- package/dist/cta-accent-background.js +1 -1
- package/dist/cta-app-download-newsletter.cjs +1 -1
- package/dist/cta-app-download-newsletter.js +1 -1
- package/dist/cta-background-icon-badge.cjs +1 -1
- package/dist/cta-background-icon-badge.js +1 -1
- package/dist/cta-case-study-testimonial.cjs +1 -1
- package/dist/cta-case-study-testimonial.js +1 -1
- package/dist/cta-documentation-links.cjs +1 -1
- package/dist/cta-documentation-links.js +1 -1
- package/dist/cta-enterprise-dark-features.cjs +1 -1
- package/dist/cta-enterprise-dark-features.js +1 -1
- package/dist/cta-enterprise-split.cjs +1 -1
- package/dist/cta-enterprise-split.js +1 -1
- package/dist/cta-feature-cards-grid.cjs +1 -1
- package/dist/cta-feature-cards-grid.js +1 -1
- package/dist/cta-feature-checklist.cjs +1 -1
- package/dist/cta-feature-checklist.js +1 -1
- package/dist/cta-feature-list.cjs +1 -1
- package/dist/cta-feature-list.js +1 -1
- package/dist/cta-fullwidth-background.cjs +1 -1
- package/dist/cta-fullwidth-background.js +1 -1
- package/dist/cta-gradient-logos-floating.cjs +1 -1
- package/dist/cta-gradient-logos-floating.js +1 -1
- package/dist/cta-gradient-stats-hero.cjs +1 -1
- package/dist/cta-gradient-stats-hero.js +1 -1
- package/dist/cta-hero-feature-cards.cjs +1 -1
- package/dist/cta-hero-feature-cards.js +1 -1
- package/dist/cta-image-overlay-arrow.cjs +1 -1
- package/dist/cta-image-overlay-arrow.js +1 -1
- package/dist/cta-image-overlay-centered.cjs +1 -1
- package/dist/cta-image-overlay-centered.js +1 -1
- package/dist/cta-minimal-separator.cjs +1 -1
- package/dist/cta-minimal-separator.js +1 -1
- package/dist/cta-newsletter-features.cjs +1 -1
- package/dist/cta-newsletter-features.js +1 -1
- package/dist/cta-pattern-background.cjs +1 -1
- package/dist/cta-pattern-background.js +1 -1
- package/dist/cta-platform-demo.cjs +1 -1
- package/dist/cta-platform-demo.js +1 -1
- package/dist/cta-simple-centered.cjs +1 -1
- package/dist/cta-simple-centered.js +1 -1
- package/dist/cta-split-gradient-image.cjs +1 -1
- package/dist/cta-split-gradient-image.js +1 -1
- package/dist/cta-split-image-logos.cjs +1 -1
- package/dist/cta-split-image-logos.js +1 -1
- package/dist/cta-split-image.cjs +1 -1
- package/dist/cta-split-image.js +1 -1
- package/dist/cta-stacked-cards.cjs +1 -1
- package/dist/cta-stacked-cards.js +1 -1
- package/dist/cta-video-background-hero.cjs +1 -1
- package/dist/cta-video-background-hero.js +1 -1
- package/dist/cta-workflow-tabs.cjs +1 -1
- package/dist/cta-workflow-tabs.js +1 -1
- package/dist/expandable-case-study-cards.cjs +1 -1
- package/dist/expandable-case-study-cards.js +1 -1
- package/dist/faq-badge-support.cjs +1 -1
- package/dist/faq-badge-support.js +1 -1
- package/dist/faq-bordered-badge.cjs +1 -1
- package/dist/faq-bordered-badge.js +1 -1
- package/dist/faq-card-categories.cjs +1 -1
- package/dist/faq-card-categories.js +1 -1
- package/dist/faq-categorized-sections.cjs +1 -1
- package/dist/faq-categorized-sections.js +1 -1
- package/dist/faq-centered-accordion.cjs +1 -1
- package/dist/faq-centered-accordion.js +1 -1
- package/dist/faq-gradient-categories.cjs +1 -1
- package/dist/faq-gradient-categories.js +1 -1
- package/dist/faq-icon-benefits.cjs +1 -1
- package/dist/faq-icon-benefits.js +1 -1
- package/dist/faq-muted-cards.cjs +1 -1
- package/dist/faq-muted-cards.js +1 -1
- package/dist/faq-numbered-grid.cjs +1 -1
- package/dist/faq-numbered-grid.js +1 -1
- package/dist/faq-numbered-list.cjs +1 -1
- package/dist/faq-numbered-list.js +1 -1
- package/dist/faq-profile-sidebar.cjs +1 -1
- package/dist/faq-profile-sidebar.js +1 -1
- package/dist/faq-rounded-cards.cjs +1 -1
- package/dist/faq-rounded-cards.js +1 -1
- package/dist/faq-sidebar-navigation.cjs +1 -1
- package/dist/faq-sidebar-navigation.js +1 -1
- package/dist/faq-simple-accordion.cjs +1 -1
- package/dist/faq-simple-accordion.js +1 -1
- package/dist/faq-split-help.cjs +1 -1
- package/dist/faq-split-help.js +1 -1
- package/dist/faq-split-hero.cjs +704 -0
- package/dist/faq-split-hero.d.cts +118 -0
- package/dist/faq-split-hero.d.ts +118 -0
- package/dist/faq-split-hero.js +682 -0
- package/dist/faq-static-list.cjs +1 -1
- package/dist/faq-static-list.js +1 -1
- package/dist/feature-accordion-image.cjs +1 -1
- package/dist/feature-accordion-image.js +1 -1
- package/dist/feature-animated-carousel.cjs +1 -1
- package/dist/feature-animated-carousel.js +1 -1
- package/dist/feature-badge-grid-six.cjs +2 -2
- package/dist/feature-badge-grid-six.js +2 -2
- package/dist/feature-bento-image-grid.cjs +1 -1
- package/dist/feature-bento-image-grid.js +1 -1
- package/dist/feature-bento-utilities.cjs +1 -1
- package/dist/feature-bento-utilities.js +1 -1
- package/dist/feature-capabilities-grid.cjs +1 -1
- package/dist/feature-capabilities-grid.js +1 -1
- package/dist/feature-card-grid-linked.cjs +93 -23
- package/dist/feature-card-grid-linked.js +93 -23
- package/dist/feature-carousel-progress.cjs +3 -3
- package/dist/feature-carousel-progress.js +3 -3
- package/dist/feature-category-image-cards.cjs +1 -1
- package/dist/feature-category-image-cards.js +1 -1
- package/dist/feature-checklist-image.cjs +89 -16
- package/dist/feature-checklist-image.js +89 -16
- package/dist/feature-checklist-three-column.cjs +2 -2
- package/dist/feature-checklist-three-column.js +2 -2
- package/dist/feature-icon-grid-accent.cjs +51 -9
- package/dist/feature-icon-grid-accent.js +51 -9
- package/dist/feature-icon-grid-bordered.cjs +85 -15
- package/dist/feature-icon-grid-bordered.js +85 -15
- package/dist/feature-icon-grid-muted.cjs +1 -1
- package/dist/feature-icon-grid-muted.js +1 -1
- package/dist/feature-icon-tabs-content.cjs +218 -85
- package/dist/feature-icon-tabs-content.js +218 -85
- package/dist/feature-image-cards-three-column.cjs +1 -1
- package/dist/feature-image-cards-three-column.js +1 -1
- package/dist/feature-image-overlay-badge.cjs +107 -34
- package/dist/feature-image-overlay-badge.js +107 -34
- package/dist/feature-integration-cards.cjs +1 -1
- package/dist/feature-integration-cards.js +1 -1
- package/dist/feature-numbered-cards.cjs +155 -36
- package/dist/feature-numbered-cards.js +155 -36
- package/dist/feature-pattern-grid-links.cjs +1 -1
- package/dist/feature-pattern-grid-links.js +1 -1
- package/dist/feature-showcase.cjs +80 -75
- package/dist/feature-showcase.d.cts +1 -5
- package/dist/feature-showcase.d.ts +1 -5
- package/dist/feature-showcase.js +81 -76
- package/dist/feature-split-image-reverse.cjs +91 -16
- package/dist/feature-split-image-reverse.js +91 -16
- package/dist/feature-split-image.cjs +88 -16
- package/dist/feature-split-image.js +88 -16
- package/dist/feature-stats-highlight.cjs +3 -3
- package/dist/feature-stats-highlight.js +3 -3
- package/dist/feature-tabbed-content-image.cjs +208 -73
- package/dist/feature-tabbed-content-image.js +208 -73
- package/dist/feature-three-column-values.cjs +108 -15
- package/dist/feature-three-column-values.js +108 -15
- package/dist/feature-utility-cards-grid.cjs +1 -1
- package/dist/feature-utility-cards-grid.js +1 -1
- package/dist/footer-animated-social.cjs +1 -1
- package/dist/footer-animated-social.js +1 -1
- package/dist/footer-background-card.cjs +1 -1
- package/dist/footer-background-card.js +1 -1
- package/dist/footer-brand-description.cjs +1 -1
- package/dist/footer-brand-description.js +1 -1
- package/dist/footer-brand-links-contact.cjs +1 -1
- package/dist/footer-brand-links-contact.js +1 -1
- package/dist/footer-contact-card.cjs +1 -1
- package/dist/footer-contact-card.js +1 -1
- package/dist/footer-cta-banner.cjs +1 -1
- package/dist/footer-cta-banner.js +1 -1
- package/dist/footer-cta-social.cjs +1 -1
- package/dist/footer-cta-social.js +1 -1
- package/dist/footer-links-grid.cjs +1 -1
- package/dist/footer-links-grid.js +1 -1
- package/dist/footer-nav-social.cjs +1 -1
- package/dist/footer-nav-social.js +1 -1
- package/dist/footer-newsletter-grid.cjs +1 -1
- package/dist/footer-newsletter-grid.js +1 -1
- package/dist/footer-newsletter-minimal.cjs +1 -1
- package/dist/footer-newsletter-minimal.js +1 -1
- package/dist/footer-simple-centered.cjs +1 -1
- package/dist/footer-simple-centered.js +1 -1
- package/dist/footer-social-apps.cjs +1 -1
- package/dist/footer-social-apps.js +1 -1
- package/dist/footer-social-newsletter.cjs +1 -1
- package/dist/footer-social-newsletter.js +1 -1
- package/dist/hero-ad-campaign-expert.cjs +1 -1
- package/dist/hero-ad-campaign-expert.js +1 -1
- package/dist/hero-adaptable-product-grid.cjs +1 -1
- package/dist/hero-adaptable-product-grid.js +1 -1
- package/dist/hero-agency-animated-images.cjs +1 -1
- package/dist/hero-agency-animated-images.js +1 -1
- package/dist/hero-ai-powered-carousel.cjs +1 -1
- package/dist/hero-ai-powered-carousel.js +1 -1
- package/dist/hero-announcement-badge.cjs +1 -1
- package/dist/hero-announcement-badge.js +1 -1
- package/dist/hero-architecture-fullscreen.cjs +1 -1
- package/dist/hero-architecture-fullscreen.js +1 -1
- package/dist/hero-badge-image-split.cjs +1 -1
- package/dist/hero-badge-image-split.js +1 -1
- package/dist/hero-badge-shadow-overlay.cjs +1 -1
- package/dist/hero-badge-shadow-overlay.js +1 -1
- package/dist/hero-billing-platform-logos.cjs +1 -1
- package/dist/hero-billing-platform-logos.js +1 -1
- package/dist/hero-business-carousel-dots.cjs +1 -1
- package/dist/hero-business-carousel-dots.js +1 -1
- package/dist/hero-business-operations-mosaic.cjs +1 -1
- package/dist/hero-business-operations-mosaic.js +1 -1
- package/dist/hero-centered-gradient-cta.cjs +1 -1
- package/dist/hero-centered-gradient-cta.js +1 -1
- package/dist/hero-centered-image-grid.cjs +1 -1
- package/dist/hero-centered-image-grid.js +1 -1
- package/dist/hero-centered-screenshot.cjs +1 -1
- package/dist/hero-centered-screenshot.js +1 -1
- package/dist/hero-coming-soon-countdown.cjs +1 -1
- package/dist/hero-coming-soon-countdown.js +1 -1
- package/dist/hero-community-survey-cta.cjs +1 -1
- package/dist/hero-community-survey-cta.js +1 -1
- package/dist/hero-conversation-intelligence.cjs +1 -1
- package/dist/hero-conversation-intelligence.js +1 -1
- package/dist/hero-conversion-video-play.cjs +1 -1
- package/dist/hero-conversion-video-play.js +1 -1
- package/dist/hero-creative-studio-stacked.cjs +1 -1
- package/dist/hero-creative-studio-stacked.js +1 -1
- package/dist/hero-crm-streamlined.cjs +1 -1
- package/dist/hero-crm-streamlined.js +1 -1
- package/dist/hero-customer-support-layered.cjs +1 -1
- package/dist/hero-customer-support-layered.js +1 -1
- package/dist/hero-dashed-border-features.cjs +1 -1
- package/dist/hero-dashed-border-features.js +1 -1
- package/dist/hero-design-carousel-portfolio.cjs +1 -1
- package/dist/hero-design-carousel-portfolio.js +1 -1
- package/dist/hero-design-showcase-logos.cjs +1 -1
- package/dist/hero-design-showcase-logos.js +1 -1
- package/dist/hero-design-system-3d.cjs +1 -1
- package/dist/hero-design-system-3d.js +1 -1
- package/dist/hero-developer-tools-code.cjs +1 -1
- package/dist/hero-developer-tools-code.js +1 -1
- package/dist/hero-digital-agency-fullscreen.cjs +1 -1
- package/dist/hero-digital-agency-fullscreen.js +1 -1
- package/dist/hero-ecommerce-product-showcase.cjs +1 -1
- package/dist/hero-ecommerce-product-showcase.js +1 -1
- package/dist/hero-enterprise-security.cjs +1 -1
- package/dist/hero-enterprise-security.js +1 -1
- package/dist/hero-event-registration.cjs +1 -1
- package/dist/hero-event-registration.js +1 -1
- package/dist/hero-feature-cards-grid.cjs +1 -1
- package/dist/hero-feature-cards-grid.js +1 -1
- package/dist/hero-floating-images.cjs +1 -1
- package/dist/hero-floating-images.js +1 -1
- package/dist/hero-fullscreen-background-image.cjs +1 -1
- package/dist/hero-fullscreen-background-image.js +1 -1
- package/dist/hero-fullscreen-logo-cta.cjs +1 -1
- package/dist/hero-fullscreen-logo-cta.js +1 -1
- package/dist/hero-gradient-avatars-rating.cjs +1 -1
- package/dist/hero-gradient-avatars-rating.js +1 -1
- package/dist/hero-gradient-client-focused.cjs +1 -1
- package/dist/hero-gradient-client-focused.js +1 -1
- package/dist/hero-grid-pattern-efficiency.cjs +1 -1
- package/dist/hero-grid-pattern-efficiency.js +1 -1
- package/dist/hero-grid-pattern-solutions.cjs +1 -1
- package/dist/hero-grid-pattern-solutions.js +1 -1
- package/dist/hero-hiring-animated-text.cjs +1 -1
- package/dist/hero-hiring-animated-text.js +1 -1
- package/dist/hero-image-left-content.cjs +1 -1
- package/dist/hero-image-left-content.js +1 -1
- package/dist/hero-image-slider.cjs +1 -1
- package/dist/hero-image-slider.js +1 -1
- package/dist/hero-innovation-image-grid.cjs +1 -1
- package/dist/hero-innovation-image-grid.js +1 -1
- package/dist/hero-logo-centered-screenshot.cjs +1 -1
- package/dist/hero-logo-centered-screenshot.js +1 -1
- package/dist/hero-marketplace-scattered-images.cjs +1 -1
- package/dist/hero-marketplace-scattered-images.js +1 -1
- package/dist/hero-mental-health-team.cjs +1 -1
- package/dist/hero-mental-health-team.js +1 -1
- package/dist/hero-mentorship-video-split.cjs +1 -1
- package/dist/hero-mentorship-video-split.js +1 -1
- package/dist/hero-minimal-centered-dark.cjs +1 -1
- package/dist/hero-minimal-centered-dark.js +1 -1
- package/dist/hero-mobile-app-download.cjs +1 -1
- package/dist/hero-mobile-app-download.js +1 -1
- package/dist/hero-newsletter-minimal.cjs +1 -1
- package/dist/hero-newsletter-minimal.js +1 -1
- package/dist/hero-overlay-cta-grid.cjs +1 -1
- package/dist/hero-overlay-cta-grid.js +1 -1
- package/dist/hero-pattern-badge-logos.cjs +1 -1
- package/dist/hero-pattern-badge-logos.js +1 -1
- package/dist/hero-pattern-logo-tech-stack.cjs +1 -1
- package/dist/hero-pattern-logo-tech-stack.js +1 -1
- package/dist/hero-platform-features-grid.cjs +1 -1
- package/dist/hero-platform-features-grid.js +1 -1
- package/dist/hero-portfolio-creative.cjs +1 -1
- package/dist/hero-portfolio-creative.js +1 -1
- package/dist/hero-premium-split-avatars.cjs +1 -1
- package/dist/hero-premium-split-avatars.js +1 -1
- package/dist/hero-presentation-platform-video.cjs +1 -1
- package/dist/hero-presentation-platform-video.js +1 -1
- package/dist/hero-pricing-comparison.cjs +1 -1
- package/dist/hero-pricing-comparison.js +1 -1
- package/dist/hero-product-showcase-floating.cjs +1 -1
- package/dist/hero-product-showcase-floating.js +1 -1
- package/dist/hero-productivity-launcher-video.cjs +1 -1
- package/dist/hero-productivity-launcher-video.js +1 -1
- package/dist/hero-saas-dashboard-preview.cjs +1 -1
- package/dist/hero-saas-dashboard-preview.js +1 -1
- package/dist/hero-shared-inbox-layered.cjs +1 -1
- package/dist/hero-shared-inbox-layered.js +1 -1
- package/dist/hero-simple-centered-image.cjs +1 -1
- package/dist/hero-simple-centered-image.js +1 -1
- package/dist/hero-software-growth-video-dialog.cjs +1 -1
- package/dist/hero-software-growth-video-dialog.js +1 -1
- package/dist/hero-spiral-pattern-cards.cjs +1 -1
- package/dist/hero-spiral-pattern-cards.js +1 -1
- package/dist/hero-split-geometric-shapes.cjs +1 -1
- package/dist/hero-split-geometric-shapes.js +1 -1
- package/dist/hero-split-icon-cards.cjs +1 -1
- package/dist/hero-split-icon-cards.js +1 -1
- package/dist/hero-split-image-newsletter.cjs +1 -1
- package/dist/hero-split-image-newsletter.js +1 -1
- package/dist/hero-split-spiral-shapes.cjs +1 -1
- package/dist/hero-split-spiral-shapes.js +1 -1
- package/dist/hero-startup-launch-cta.cjs +1 -1
- package/dist/hero-startup-launch-cta.js +1 -1
- package/dist/hero-stats-social-proof.cjs +1 -1
- package/dist/hero-stats-social-proof.js +1 -1
- package/dist/hero-task-timer-animated.cjs +1 -1
- package/dist/hero-task-timer-animated.js +1 -1
- package/dist/hero-tech-carousel.cjs +1 -1
- package/dist/hero-tech-carousel.js +1 -1
- package/dist/hero-testimonial-image-grid.cjs +1 -1
- package/dist/hero-testimonial-image-grid.js +1 -1
- package/dist/hero-therapy-testimonial-grid.cjs +1 -1
- package/dist/hero-therapy-testimonial-grid.js +1 -1
- package/dist/hero-ui-library-showcase.cjs +1 -1
- package/dist/hero-ui-library-showcase.js +1 -1
- package/dist/hero-video-background-dark.cjs +1 -1
- package/dist/hero-video-background-dark.js +1 -1
- package/dist/hero-video-dialog-gradient.cjs +1 -1
- package/dist/hero-video-dialog-gradient.js +1 -1
- package/dist/hero-video-overlay-stars.cjs +1 -1
- package/dist/hero-video-overlay-stars.js +1 -1
- package/dist/hero-welcome-asymmetric-images.cjs +1 -1
- package/dist/hero-welcome-asymmetric-images.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/industries-badge-list-bordered.cjs +1 -1
- package/dist/industries-badge-list-bordered.js +1 -1
- package/dist/industries-expandable-showcase.cjs +1 -1
- package/dist/industries-expandable-showcase.js +1 -1
- package/dist/industries-hover-reveal-grid.cjs +1 -1
- package/dist/industries-hover-reveal-grid.js +1 -1
- package/dist/industries-timeline-table.cjs +1 -1
- package/dist/industries-timeline-table.js +1 -1
- package/dist/interior-carousel.cjs +2 -2
- package/dist/interior-carousel.js +2 -2
- package/dist/link-page-bento-layout.cjs +1 -1
- package/dist/link-page-bento-layout.js +1 -1
- package/dist/link-page-grid-cards.cjs +1 -1
- package/dist/link-page-grid-cards.js +1 -1
- package/dist/link-page-minimal-profile.cjs +1 -1
- package/dist/link-page-minimal-profile.js +1 -1
- package/dist/link-page-newsletter-social.cjs +1 -1
- package/dist/link-page-newsletter-social.js +1 -1
- package/dist/link-tree-block.cjs +1 -1
- package/dist/link-tree-block.js +1 -1
- package/dist/list-searchable-grid.cjs +1 -1
- package/dist/list-searchable-grid.js +1 -1
- package/dist/logos-carousel-heading.cjs +1 -1
- package/dist/logos-carousel-heading.js +1 -1
- package/dist/logos-centered-simple.cjs +1 -1
- package/dist/logos-centered-simple.js +1 -1
- package/dist/logos-certifications-grid.cjs +1 -1
- package/dist/logos-certifications-grid.js +1 -1
- package/dist/logos-double-carousel-pattern.cjs +1 -1
- package/dist/logos-double-carousel-pattern.js +1 -1
- package/dist/logos-inline-tagline.cjs +1 -1
- package/dist/logos-inline-tagline.js +1 -1
- package/dist/logos-marquee-muted.cjs +1 -1
- package/dist/logos-marquee-muted.js +1 -1
- package/dist/logos-minimal-carousel.cjs +1 -1
- package/dist/logos-minimal-carousel.js +1 -1
- package/dist/logos-numbered-carousel.cjs +1 -1
- package/dist/logos-numbered-carousel.js +1 -1
- package/dist/logos-partner-grid-sidebar.cjs +1 -1
- package/dist/logos-partner-grid-sidebar.js +1 -1
- package/dist/logos-partner-network.cjs +1 -1
- package/dist/logos-partner-network.js +1 -1
- package/dist/logos-two-row-grid.cjs +1 -1
- package/dist/logos-two-row-grid.js +1 -1
- package/dist/masonry-motion-grid.cjs +1 -1
- package/dist/masonry-motion-grid.js +1 -1
- package/dist/media-hover-ctas.cjs +1 -1
- package/dist/media-hover-ctas.js +1 -1
- package/dist/navbar-animated-preview.cjs +1 -1
- package/dist/navbar-animated-preview.js +1 -1
- package/dist/navbar-centered-menu.cjs +1 -1
- package/dist/navbar-centered-menu.js +1 -1
- package/dist/navbar-dark-icons.cjs +1 -1
- package/dist/navbar-dark-icons.js +1 -1
- package/dist/navbar-dropdown-menu.cjs +1 -1
- package/dist/navbar-dropdown-menu.js +1 -1
- package/dist/navbar-education-platform.cjs +1 -1
- package/dist/navbar-education-platform.js +1 -1
- package/dist/navbar-enterprise-mega.cjs +1 -1
- package/dist/navbar-enterprise-mega.js +1 -1
- package/dist/navbar-feature-grid.cjs +1 -1
- package/dist/navbar-feature-grid.js +1 -1
- package/dist/navbar-floating-pill.cjs +1 -1
- package/dist/navbar-floating-pill.js +1 -1
- package/dist/navbar-fullscreen-menu.cjs +1 -1
- package/dist/navbar-fullscreen-menu.js +1 -1
- package/dist/navbar-icon-links.cjs +1 -1
- package/dist/navbar-icon-links.js +1 -1
- package/dist/navbar-image-preview.cjs +1 -1
- package/dist/navbar-image-preview.js +1 -1
- package/dist/navbar-mega-menu.cjs +1 -1
- package/dist/navbar-mega-menu.js +1 -1
- package/dist/navbar-multi-column-groups.cjs +1 -1
- package/dist/navbar-multi-column-groups.js +1 -1
- package/dist/navbar-platform-resources.cjs +1 -1
- package/dist/navbar-platform-resources.js +1 -1
- package/dist/navbar-search-focused.cjs +1 -1
- package/dist/navbar-search-focused.js +1 -1
- package/dist/navbar-sidebar-mobile.cjs +1 -1
- package/dist/navbar-sidebar-mobile.js +1 -1
- package/dist/navbar-simple-links.cjs +1 -1
- package/dist/navbar-simple-links.js +1 -1
- package/dist/navbar-split-cta.cjs +1 -1
- package/dist/navbar-split-cta.js +1 -1
- package/dist/navbar-sticky-compact.cjs +1 -1
- package/dist/navbar-sticky-compact.js +1 -1
- package/dist/navbar-tabbed-sections.cjs +1 -1
- package/dist/navbar-tabbed-sections.js +1 -1
- package/dist/navbar-transparent-overlay.cjs +1 -1
- package/dist/navbar-transparent-overlay.js +1 -1
- package/dist/process-expandable-timeline.cjs +1 -1
- package/dist/process-expandable-timeline.js +1 -1
- package/dist/process-hover-cards.cjs +1 -1
- package/dist/process-hover-cards.js +1 -1
- package/dist/process-icon-timeline.cjs +1 -1
- package/dist/process-icon-timeline.js +1 -1
- package/dist/process-mission-principles.cjs +1 -1
- package/dist/process-mission-principles.js +1 -1
- package/dist/process-numbered-services.cjs +1 -1
- package/dist/process-numbered-services.js +1 -1
- package/dist/process-roadmap-timeline.cjs +1 -1
- package/dist/process-roadmap-timeline.js +1 -1
- package/dist/process-scroll-image.cjs +1 -1
- package/dist/process-scroll-image.js +1 -1
- package/dist/process-steps-grid.cjs +1 -1
- package/dist/process-steps-grid.js +1 -1
- package/dist/process-sticky-steps.cjs +1 -1
- package/dist/process-sticky-steps.js +1 -1
- package/dist/project-alternating-motion.cjs +1 -1
- package/dist/project-alternating-motion.js +1 -1
- package/dist/project-background-reveal.cjs +1 -1
- package/dist/project-background-reveal.js +1 -1
- package/dist/project-card-overlay.cjs +1 -1
- package/dist/project-card-overlay.js +1 -1
- package/dist/project-carousel-cinematic.cjs +1 -1
- package/dist/project-carousel-cinematic.js +1 -1
- package/dist/project-carousel-detail-cards.cjs +1 -1
- package/dist/project-carousel-detail-cards.js +1 -1
- package/dist/project-carousel-minimal.cjs +1 -1
- package/dist/project-carousel-minimal.js +1 -1
- package/dist/project-detail-architecture-carousel.cjs +1 -1
- package/dist/project-detail-architecture-carousel.js +1 -1
- package/dist/project-experience-quote.cjs +1 -1
- package/dist/project-experience-quote.js +1 -1
- package/dist/project-featured-carousel.cjs +2 -2
- package/dist/project-featured-carousel.js +2 -2
- package/dist/project-filterable-gallery.cjs +1 -1
- package/dist/project-filterable-gallery.js +1 -1
- package/dist/project-filterable-three-column.cjs +1 -1
- package/dist/project-filterable-three-column.js +1 -1
- package/dist/project-grid-gallery.cjs +1 -1
- package/dist/project-grid-gallery.js +1 -1
- package/dist/project-grid-motion.cjs +1 -1
- package/dist/project-grid-motion.js +1 -1
- package/dist/project-horizontal-cards.cjs +1 -1
- package/dist/project-horizontal-cards.js +1 -1
- package/dist/project-hover-reveal-grid.cjs +1 -1
- package/dist/project-hover-reveal-grid.js +1 -1
- package/dist/project-interactive-hover-reveal.cjs +1 -1
- package/dist/project-interactive-hover-reveal.js +1 -1
- package/dist/project-masonry-columns.cjs +1 -1
- package/dist/project-masonry-columns.js +1 -1
- package/dist/project-nature-mosaic.cjs +1 -1
- package/dist/project-nature-mosaic.js +1 -1
- package/dist/project-scroll-reveal.cjs +1 -1
- package/dist/project-scroll-reveal.js +1 -1
- package/dist/project-showcase-alternating.cjs +1 -1
- package/dist/project-showcase-alternating.js +1 -1
- package/dist/project-sticky-scroll.cjs +1 -1
- package/dist/project-sticky-scroll.js +1 -1
- package/dist/project-studio-hover-preview.cjs +1 -1
- package/dist/project-studio-hover-preview.js +1 -1
- package/dist/project-table-list.cjs +1 -1
- package/dist/project-table-list.js +1 -1
- package/dist/project-video-carousel.cjs +2 -2
- package/dist/project-video-carousel.js +2 -2
- package/dist/project-video-hover-bento.cjs +1 -1
- package/dist/project-video-hover-bento.js +1 -1
- package/dist/project-video-hover-grid.cjs +1 -1
- package/dist/project-video-hover-grid.js +1 -1
- package/dist/project-video-hover-rounded.cjs +1 -1
- package/dist/project-video-hover-rounded.js +1 -1
- package/dist/project-video-hover-stack.cjs +1 -1
- package/dist/project-video-hover-stack.js +1 -1
- package/dist/project-video-hover-two-by-two.cjs +1 -1
- package/dist/project-video-hover-two-by-two.js +1 -1
- package/dist/project-work-showcase.cjs +1 -1
- package/dist/project-work-showcase.js +1 -1
- package/dist/registry.cjs +1479 -465
- package/dist/registry.js +1479 -465
- package/dist/resource-detail-whitepaper-sidebar.cjs +1 -1
- package/dist/resource-detail-whitepaper-sidebar.js +1 -1
- package/dist/resource-list-course-cards.cjs +1 -1
- package/dist/resource-list-course-cards.js +1 -1
- package/dist/resource-list-featured-articles.cjs +1 -1
- package/dist/resource-list-featured-articles.js +1 -1
- package/dist/resource-list-featured-grid.cjs +1 -1
- package/dist/resource-list-featured-grid.js +1 -1
- package/dist/resource-list-news-updates.cjs +1 -1
- package/dist/resource-list-news-updates.js +1 -1
- package/dist/reviews-images-helpful.cjs +1 -1
- package/dist/reviews-images-helpful.js +1 -1
- package/dist/reviews-list-verified.cjs +1 -1
- package/dist/reviews-list-verified.js +1 -1
- package/dist/section.cjs +1 -1
- package/dist/section.js +1 -1
- package/dist/service-detail-centered-expertise.cjs +1 -1
- package/dist/service-detail-centered-expertise.js +1 -1
- package/dist/service-detail-compact-cards.cjs +1 -1
- package/dist/service-detail-compact-cards.js +1 -1
- package/dist/service-detail-image-hero.cjs +1 -1
- package/dist/service-detail-image-hero.js +1 -1
- package/dist/service-detail-prose-minimal.cjs +1 -1
- package/dist/service-detail-prose-minimal.js +1 -1
- package/dist/service-detail-sidebar-related.cjs +1 -1
- package/dist/service-detail-sidebar-related.js +1 -1
- package/dist/service-detail-sidebar-stats.cjs +1 -1
- package/dist/service-detail-sidebar-stats.js +1 -1
- package/dist/service-detail-stats-hero.cjs +1 -1
- package/dist/service-detail-stats-hero.js +1 -1
- package/dist/service-hover-carousel.cjs +1 -1
- package/dist/service-hover-carousel.js +1 -1
- package/dist/services-list-feature-spotlight.cjs +1 -1
- package/dist/services-list-feature-spotlight.js +1 -1
- package/dist/stats-animated-counter.cjs +1 -1
- package/dist/stats-animated-counter.js +1 -1
- package/dist/stats-bar-comparison.cjs +1 -1
- package/dist/stats-bar-comparison.js +1 -1
- package/dist/stats-card-group.cjs +1 -1
- package/dist/stats-card-group.js +1 -1
- package/dist/stats-circular-progress.cjs +1 -1
- package/dist/stats-circular-progress.js +1 -1
- package/dist/stats-growth-timeline.cjs +1 -1
- package/dist/stats-growth-timeline.js +1 -1
- package/dist/stats-icon-cards.cjs +1 -1
- package/dist/stats-icon-cards.js +1 -1
- package/dist/stats-impact-grid.cjs +1 -1
- package/dist/stats-impact-grid.js +1 -1
- package/dist/stats-milestone-sidebar.cjs +1 -1
- package/dist/stats-milestone-sidebar.js +1 -1
- package/dist/stats-number-ticker.cjs +1 -1
- package/dist/stats-number-ticker.js +1 -1
- package/dist/stats-primary-secondary.cjs +1 -1
- package/dist/stats-primary-secondary.js +1 -1
- package/dist/stats-simple-grid.cjs +1 -1
- package/dist/stats-simple-grid.js +1 -1
- package/dist/stats-timeline-tabs.cjs +1 -1
- package/dist/stats-timeline-tabs.js +1 -1
- package/dist/team-media-showcase.cjs +1 -1
- package/dist/team-media-showcase.js +1 -1
- package/dist/testimonial-carousel-cards.cjs +1 -1
- package/dist/testimonial-carousel-cards.js +1 -1
- package/dist/testimonials-animated-split.cjs +1 -1
- package/dist/testimonials-animated-split.js +1 -1
- package/dist/testimonials-bento-grid.cjs +1 -1
- package/dist/testimonials-bento-grid.js +1 -1
- package/dist/testimonials-centered-avatars.cjs +1 -1
- package/dist/testimonials-centered-avatars.js +1 -1
- package/dist/testimonials-company-logo.cjs +1 -1
- package/dist/testimonials-company-logo.js +1 -1
- package/dist/testimonials-grid-add-review.cjs +1 -1
- package/dist/testimonials-grid-add-review.js +1 -1
- package/dist/testimonials-large-quote.cjs +1 -1
- package/dist/testimonials-large-quote.js +1 -1
- package/dist/testimonials-logo-cards.cjs +1 -1
- package/dist/testimonials-logo-cards.js +1 -1
- package/dist/testimonials-marquee.cjs +1 -1
- package/dist/testimonials-marquee.js +1 -1
- package/dist/testimonials-masonry-grid.cjs +1 -1
- package/dist/testimonials-masonry-grid.js +1 -1
- package/dist/testimonials-mini-dividers.cjs +1 -1
- package/dist/testimonials-mini-dividers.js +1 -1
- package/dist/testimonials-minimal-numbered.cjs +1 -1
- package/dist/testimonials-minimal-numbered.js +1 -1
- package/dist/testimonials-parallax-number.cjs +1 -1
- package/dist/testimonials-parallax-number.js +1 -1
- package/dist/testimonials-quote-carousel.cjs +2 -2
- package/dist/testimonials-quote-carousel.js +2 -2
- package/dist/testimonials-scrolling-columns.cjs +1 -1
- package/dist/testimonials-scrolling-columns.js +1 -1
- package/dist/testimonials-simple-grid.cjs +1 -1
- package/dist/testimonials-simple-grid.js +1 -1
- package/dist/testimonials-slider-minimal.cjs +1 -1
- package/dist/testimonials-slider-minimal.js +1 -1
- package/dist/testimonials-split-image.cjs +1 -1
- package/dist/testimonials-split-image.js +1 -1
- package/dist/testimonials-stats-header.cjs +1 -1
- package/dist/testimonials-stats-header.js +1 -1
- package/dist/testimonials-twitter-cards.cjs +1 -1
- package/dist/testimonials-twitter-cards.js +1 -1
- package/dist/testimonials-wall-compact.cjs +1 -1
- package/dist/testimonials-wall-compact.js +1 -1
- package/dist/timeline-ai-workflow-cards.cjs +1 -1
- package/dist/timeline-ai-workflow-cards.js +1 -1
- package/dist/timeline-alternating-diagonal.cjs +1 -1
- package/dist/timeline-alternating-diagonal.js +1 -1
- package/dist/timeline-changelog-badges.cjs +1 -1
- package/dist/timeline-changelog-badges.js +1 -1
- package/dist/timeline-history-prose.cjs +1 -1
- package/dist/timeline-history-prose.js +1 -1
- package/dist/timeline-horizontal-icons.cjs +1 -1
- package/dist/timeline-horizontal-icons.js +1 -1
- package/dist/timeline-horizontal-phases.cjs +1 -1
- package/dist/timeline-horizontal-phases.js +1 -1
- package/dist/timeline-product-launch.cjs +1 -1
- package/dist/timeline-product-launch.js +1 -1
- package/dist/timeline-productivity-list.cjs +1 -1
- package/dist/timeline-productivity-list.js +1 -1
- package/dist/timeline-scroll-highlight.cjs +1 -1
- package/dist/timeline-scroll-highlight.js +1 -1
- package/dist/timeline-scroll-sticky-image.cjs +1 -1
- package/dist/timeline-scroll-sticky-image.js +1 -1
- package/dist/timeline-stepper-animated.cjs +1 -1
- package/dist/timeline-stepper-animated.js +1 -1
- package/dist/timeline-tabbed-phases.cjs +1 -1
- package/dist/timeline-tabbed-phases.js +1 -1
- package/dist/timeline-two-column-featured.cjs +1 -1
- package/dist/timeline-two-column-featured.js +1 -1
- package/dist/timeline-vertical-icon-dashed.cjs +1 -1
- package/dist/timeline-vertical-icon-dashed.js +1 -1
- package/package.json +1 -1
package/dist/registry.cjs
CHANGED
|
@@ -449,7 +449,7 @@ var Section = React52__namespace.default.forwardRef(
|
|
|
449
449
|
maxWidth: containerMaxWidth,
|
|
450
450
|
className: cn("relative z-10", containerClassName),
|
|
451
451
|
children: [
|
|
452
|
-
(title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-
|
|
452
|
+
(title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6 text-center md:mb-16", children: [
|
|
453
453
|
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
|
|
454
454
|
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
|
|
455
455
|
] }),
|
|
@@ -19884,9 +19884,9 @@ function CarouselProgressSlider({
|
|
|
19884
19884
|
className: cn(className),
|
|
19885
19885
|
pattern,
|
|
19886
19886
|
patternOpacity,
|
|
19887
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
|
|
19888
|
-
/* @__PURE__ */ jsxRuntime.
|
|
19889
|
-
|
|
19887
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-4 lg:gap-8 lg:grid-cols-2", contentClassName), children: [
|
|
19888
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative aspect-video", children: [
|
|
19889
|
+
slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19890
19890
|
SliderWrapper,
|
|
19891
19891
|
{
|
|
19892
19892
|
value: slide.id,
|
|
@@ -19905,20 +19905,26 @@ function CarouselProgressSlider({
|
|
|
19905
19905
|
) })
|
|
19906
19906
|
},
|
|
19907
19907
|
slide.id
|
|
19908
|
-
))
|
|
19909
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
19908
|
+
)),
|
|
19909
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-4 left-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19910
19910
|
Pressable,
|
|
19911
19911
|
{
|
|
19912
19912
|
onClick: togglePause,
|
|
19913
19913
|
asButton: true,
|
|
19914
19914
|
variant: "outline",
|
|
19915
19915
|
size: "icon",
|
|
19916
|
-
className: "flex h-10 w-10 items-center justify-center rounded-full",
|
|
19916
|
+
className: "flex h-10 w-10 items-center justify-center rounded-full bg-background/80 backdrop-blur-sm",
|
|
19917
19917
|
"aria-label": isPaused ? "Play" : "Pause",
|
|
19918
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19918
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19919
|
+
DynamicIcon,
|
|
19920
|
+
{
|
|
19921
|
+
name: isPaused ? "lucide/play" : "lucide/pause",
|
|
19922
|
+
size: 18
|
|
19923
|
+
}
|
|
19924
|
+
)
|
|
19919
19925
|
}
|
|
19920
19926
|
) })
|
|
19921
|
-
] }),
|
|
19927
|
+
] }) }),
|
|
19922
19928
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19923
19929
|
"div",
|
|
19924
19930
|
{
|
|
@@ -20290,7 +20296,7 @@ function CarouselPrevious({
|
|
|
20290
20296
|
}
|
|
20291
20297
|
function CarouselNext({
|
|
20292
20298
|
className,
|
|
20293
|
-
variant = "
|
|
20299
|
+
variant = "default",
|
|
20294
20300
|
size = "icon",
|
|
20295
20301
|
...props
|
|
20296
20302
|
}) {
|
|
@@ -20325,19 +20331,29 @@ function FeatureShowcase({
|
|
|
20325
20331
|
slideClassName,
|
|
20326
20332
|
contentClassName,
|
|
20327
20333
|
mediaClassName,
|
|
20328
|
-
arrowClassName,
|
|
20329
20334
|
equalizeOnMobile,
|
|
20330
20335
|
stretchMediaOnMobile,
|
|
20331
20336
|
background,
|
|
20332
|
-
spacing,
|
|
20337
|
+
spacing = "py-6 md:py-32",
|
|
20333
20338
|
pattern,
|
|
20334
20339
|
patternOpacity,
|
|
20335
20340
|
patternClassName
|
|
20336
20341
|
}) {
|
|
20337
|
-
const
|
|
20338
|
-
|
|
20339
|
-
|
|
20340
|
-
)
|
|
20342
|
+
const [api, setApi] = React52__namespace.useState();
|
|
20343
|
+
const [canScrollPrevious, setCanScrollPrevious] = React52__namespace.useState(false);
|
|
20344
|
+
const [canScrollNext, setCanScrollNext] = React52__namespace.useState(false);
|
|
20345
|
+
React52__namespace.useEffect(() => {
|
|
20346
|
+
if (!api) return;
|
|
20347
|
+
const updateScrollState = () => {
|
|
20348
|
+
setCanScrollPrevious(api.canScrollPrev());
|
|
20349
|
+
setCanScrollNext(api.canScrollNext());
|
|
20350
|
+
};
|
|
20351
|
+
updateScrollState();
|
|
20352
|
+
api.on("select", updateScrollState);
|
|
20353
|
+
return () => {
|
|
20354
|
+
api.off("select", updateScrollState);
|
|
20355
|
+
};
|
|
20356
|
+
}, [api]);
|
|
20341
20357
|
const [mobileSlideHeight, setMobileSlideHeight] = React52.useState(
|
|
20342
20358
|
null
|
|
20343
20359
|
);
|
|
@@ -20361,9 +20377,7 @@ function FeatureShowcase({
|
|
|
20361
20377
|
const heights = slideRefs.current.slice(0, items.length).map((node) => node?.offsetHeight ?? 0);
|
|
20362
20378
|
const maxHeight = Math.max(...heights, 0);
|
|
20363
20379
|
if (maxHeight > 0) {
|
|
20364
|
-
setMobileSlideHeight(
|
|
20365
|
-
(prev) => prev === maxHeight ? prev : maxHeight
|
|
20366
|
-
);
|
|
20380
|
+
setMobileSlideHeight((prev) => prev === maxHeight ? prev : maxHeight);
|
|
20367
20381
|
}
|
|
20368
20382
|
};
|
|
20369
20383
|
updateHeights();
|
|
@@ -20382,7 +20396,7 @@ function FeatureShowcase({
|
|
|
20382
20396
|
}, [equalizeOnMobile, items]);
|
|
20383
20397
|
const carouselContent = React52.useMemo(() => {
|
|
20384
20398
|
if (!items || items.length === 0) return null;
|
|
20385
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { className: carouselClassName, children: [
|
|
20399
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { className: carouselClassName, setApi, children: [
|
|
20386
20400
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "ease-in", children: items.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20387
20401
|
"div",
|
|
20388
20402
|
{
|
|
@@ -20411,19 +20425,30 @@ function FeatureShowcase({
|
|
|
20411
20425
|
}
|
|
20412
20426
|
) }, `slide-${itemIndex}`)) }) }),
|
|
20413
20427
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
20414
|
-
|
|
20428
|
+
CarouselPagination,
|
|
20415
20429
|
{
|
|
20416
|
-
|
|
20417
|
-
|
|
20418
|
-
|
|
20419
|
-
|
|
20420
|
-
|
|
20421
|
-
|
|
20422
|
-
className: cn(baseArrowClassName, "right-4 md:right-6", arrowClassName)
|
|
20430
|
+
onPrevious: () => api?.scrollPrev(),
|
|
20431
|
+
onNext: () => api?.scrollNext(),
|
|
20432
|
+
canScrollPrevious,
|
|
20433
|
+
canScrollNext,
|
|
20434
|
+
className: "absolute bottom-4 right-0 md:bottom-6",
|
|
20435
|
+
buttonClassName: "size-12 rounded-full border border-current bg-transparent text-current shadow-sm hover:bg-current/10"
|
|
20423
20436
|
}
|
|
20424
20437
|
)
|
|
20425
20438
|
] });
|
|
20426
|
-
}, [
|
|
20439
|
+
}, [
|
|
20440
|
+
items,
|
|
20441
|
+
carouselClassName,
|
|
20442
|
+
equalizeOnMobile,
|
|
20443
|
+
mobileSlideHeight,
|
|
20444
|
+
slideClassName,
|
|
20445
|
+
contentClassName,
|
|
20446
|
+
mediaWrapperClassName,
|
|
20447
|
+
mediaClassName,
|
|
20448
|
+
api,
|
|
20449
|
+
canScrollPrevious,
|
|
20450
|
+
canScrollNext
|
|
20451
|
+
]);
|
|
20427
20452
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20428
20453
|
Section,
|
|
20429
20454
|
{
|
|
@@ -20458,7 +20483,7 @@ function FeatureSplitImage({
|
|
|
20458
20483
|
imageClassName,
|
|
20459
20484
|
optixFlowConfig,
|
|
20460
20485
|
background,
|
|
20461
|
-
spacing,
|
|
20486
|
+
spacing = "py-6 md:py-32",
|
|
20462
20487
|
pattern,
|
|
20463
20488
|
patternOpacity,
|
|
20464
20489
|
patternClassName
|
|
@@ -20475,11 +20500,20 @@ function FeatureSplitImage({
|
|
|
20475
20500
|
className: actionClassName,
|
|
20476
20501
|
...pressableProps
|
|
20477
20502
|
} = action;
|
|
20478
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20479
|
-
|
|
20480
|
-
|
|
20481
|
-
|
|
20482
|
-
|
|
20503
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20504
|
+
Pressable,
|
|
20505
|
+
{
|
|
20506
|
+
className: actionClassName,
|
|
20507
|
+
asButton: true,
|
|
20508
|
+
...pressableProps,
|
|
20509
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
20510
|
+
icon,
|
|
20511
|
+
label,
|
|
20512
|
+
iconAfter
|
|
20513
|
+
] })
|
|
20514
|
+
},
|
|
20515
|
+
index
|
|
20516
|
+
);
|
|
20483
20517
|
});
|
|
20484
20518
|
}, [actionsSlot, actions]);
|
|
20485
20519
|
const imageContent = React52.useMemo(() => {
|
|
@@ -20490,7 +20524,10 @@ function FeatureSplitImage({
|
|
|
20490
20524
|
{
|
|
20491
20525
|
src: imageSrc,
|
|
20492
20526
|
alt: imageAlt || "",
|
|
20493
|
-
className: cn(
|
|
20527
|
+
className: cn(
|
|
20528
|
+
"max-h-96 w-full rounded-md object-cover",
|
|
20529
|
+
imageClassName
|
|
20530
|
+
),
|
|
20494
20531
|
loading: "lazy",
|
|
20495
20532
|
optixFlowConfig
|
|
20496
20533
|
}
|
|
@@ -20506,14 +20543,74 @@ function FeatureSplitImage({
|
|
|
20506
20543
|
patternClassName,
|
|
20507
20544
|
className,
|
|
20508
20545
|
containerClassName,
|
|
20509
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20510
|
-
|
|
20511
|
-
|
|
20512
|
-
|
|
20513
|
-
|
|
20514
|
-
|
|
20515
|
-
|
|
20516
|
-
|
|
20546
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20547
|
+
"div",
|
|
20548
|
+
{
|
|
20549
|
+
className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName),
|
|
20550
|
+
children: [
|
|
20551
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
20552
|
+
"div",
|
|
20553
|
+
{
|
|
20554
|
+
className: cn(
|
|
20555
|
+
"flex flex-col items-center text-center lg:items-start lg:text-left",
|
|
20556
|
+
contentClassName
|
|
20557
|
+
),
|
|
20558
|
+
children: [
|
|
20559
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20560
|
+
"h2",
|
|
20561
|
+
{
|
|
20562
|
+
className: cn(
|
|
20563
|
+
"my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
|
|
20564
|
+
titleClassName
|
|
20565
|
+
),
|
|
20566
|
+
children: title
|
|
20567
|
+
}
|
|
20568
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
20569
|
+
"div",
|
|
20570
|
+
{
|
|
20571
|
+
className: cn(
|
|
20572
|
+
"my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
|
|
20573
|
+
titleClassName
|
|
20574
|
+
),
|
|
20575
|
+
children: title
|
|
20576
|
+
}
|
|
20577
|
+
)),
|
|
20578
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20579
|
+
"p",
|
|
20580
|
+
{
|
|
20581
|
+
className: cn(
|
|
20582
|
+
"mb-8 max-w-xl text-muted-foreground lg:text-lg",
|
|
20583
|
+
descriptionClassName
|
|
20584
|
+
),
|
|
20585
|
+
children: description
|
|
20586
|
+
}
|
|
20587
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
20588
|
+
"div",
|
|
20589
|
+
{
|
|
20590
|
+
className: cn(
|
|
20591
|
+
"mb-8 max-w-xl text-muted-foreground lg:text-lg",
|
|
20592
|
+
descriptionClassName
|
|
20593
|
+
),
|
|
20594
|
+
children: description
|
|
20595
|
+
}
|
|
20596
|
+
)),
|
|
20597
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20598
|
+
"div",
|
|
20599
|
+
{
|
|
20600
|
+
className: cn(
|
|
20601
|
+
"flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
|
|
20602
|
+
actionsClassName
|
|
20603
|
+
),
|
|
20604
|
+
children: actionsContent
|
|
20605
|
+
}
|
|
20606
|
+
)
|
|
20607
|
+
]
|
|
20608
|
+
}
|
|
20609
|
+
),
|
|
20610
|
+
imageContent
|
|
20611
|
+
]
|
|
20612
|
+
}
|
|
20613
|
+
)
|
|
20517
20614
|
}
|
|
20518
20615
|
);
|
|
20519
20616
|
}
|
|
@@ -20535,7 +20632,7 @@ function FeatureSplitImageReverse({
|
|
|
20535
20632
|
actionsClassName,
|
|
20536
20633
|
optixFlowConfig,
|
|
20537
20634
|
background,
|
|
20538
|
-
spacing,
|
|
20635
|
+
spacing = "py-6 md:py-32",
|
|
20539
20636
|
pattern,
|
|
20540
20637
|
patternOpacity,
|
|
20541
20638
|
patternClassName
|
|
@@ -20552,11 +20649,20 @@ function FeatureSplitImageReverse({
|
|
|
20552
20649
|
className: actionClassName,
|
|
20553
20650
|
...pressableProps
|
|
20554
20651
|
} = action;
|
|
20555
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20556
|
-
|
|
20557
|
-
|
|
20558
|
-
|
|
20559
|
-
|
|
20652
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
20653
|
+
Pressable,
|
|
20654
|
+
{
|
|
20655
|
+
className: actionClassName,
|
|
20656
|
+
asButton: true,
|
|
20657
|
+
...pressableProps,
|
|
20658
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
20659
|
+
icon,
|
|
20660
|
+
label,
|
|
20661
|
+
iconAfter
|
|
20662
|
+
] })
|
|
20663
|
+
},
|
|
20664
|
+
index
|
|
20665
|
+
);
|
|
20560
20666
|
});
|
|
20561
20667
|
}, [actionsSlot, actions]);
|
|
20562
20668
|
const imageContent = React52.useMemo(() => {
|
|
@@ -20567,7 +20673,10 @@ function FeatureSplitImageReverse({
|
|
|
20567
20673
|
{
|
|
20568
20674
|
src: imageSrc,
|
|
20569
20675
|
alt: imageAlt || "",
|
|
20570
|
-
className: cn(
|
|
20676
|
+
className: cn(
|
|
20677
|
+
"max-h-96 w-full rounded-md object-cover",
|
|
20678
|
+
imageClassName
|
|
20679
|
+
),
|
|
20571
20680
|
loading: "lazy",
|
|
20572
20681
|
optixFlowConfig
|
|
20573
20682
|
}
|
|
@@ -20583,14 +20692,77 @@ function FeatureSplitImageReverse({
|
|
|
20583
20692
|
patternClassName,
|
|
20584
20693
|
className,
|
|
20585
20694
|
containerClassName,
|
|
20586
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20587
|
-
|
|
20588
|
-
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
|
|
20593
|
-
|
|
20695
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20696
|
+
"div",
|
|
20697
|
+
{
|
|
20698
|
+
className: cn(
|
|
20699
|
+
"grid items-center gap-8 md:gap-16 lg:grid-cols-2",
|
|
20700
|
+
gridClassName
|
|
20701
|
+
),
|
|
20702
|
+
children: [
|
|
20703
|
+
imageContent,
|
|
20704
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
20705
|
+
"div",
|
|
20706
|
+
{
|
|
20707
|
+
className: cn(
|
|
20708
|
+
"flex flex-col items-center text-center lg:items-start lg:text-left",
|
|
20709
|
+
contentClassName
|
|
20710
|
+
),
|
|
20711
|
+
children: [
|
|
20712
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20713
|
+
"h2",
|
|
20714
|
+
{
|
|
20715
|
+
className: cn(
|
|
20716
|
+
"my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
|
|
20717
|
+
titleClassName
|
|
20718
|
+
),
|
|
20719
|
+
children: title
|
|
20720
|
+
}
|
|
20721
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
20722
|
+
"div",
|
|
20723
|
+
{
|
|
20724
|
+
className: cn(
|
|
20725
|
+
"my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
|
|
20726
|
+
titleClassName
|
|
20727
|
+
),
|
|
20728
|
+
children: title
|
|
20729
|
+
}
|
|
20730
|
+
)),
|
|
20731
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20732
|
+
"p",
|
|
20733
|
+
{
|
|
20734
|
+
className: cn(
|
|
20735
|
+
"mb-8 max-w-xl text-muted-foreground lg:text-lg",
|
|
20736
|
+
descriptionClassName
|
|
20737
|
+
),
|
|
20738
|
+
children: description
|
|
20739
|
+
}
|
|
20740
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
20741
|
+
"div",
|
|
20742
|
+
{
|
|
20743
|
+
className: cn(
|
|
20744
|
+
"mb-8 max-w-xl text-muted-foreground lg:text-lg",
|
|
20745
|
+
descriptionClassName
|
|
20746
|
+
),
|
|
20747
|
+
children: description
|
|
20748
|
+
}
|
|
20749
|
+
)),
|
|
20750
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20751
|
+
"div",
|
|
20752
|
+
{
|
|
20753
|
+
className: cn(
|
|
20754
|
+
"flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
|
|
20755
|
+
actionsClassName
|
|
20756
|
+
),
|
|
20757
|
+
children: actionsContent
|
|
20758
|
+
}
|
|
20759
|
+
)
|
|
20760
|
+
]
|
|
20761
|
+
}
|
|
20762
|
+
)
|
|
20763
|
+
]
|
|
20764
|
+
}
|
|
20765
|
+
)
|
|
20594
20766
|
}
|
|
20595
20767
|
);
|
|
20596
20768
|
}
|
|
@@ -20606,7 +20778,7 @@ function FeatureIconGridBordered({
|
|
|
20606
20778
|
gridClassName,
|
|
20607
20779
|
cardClassName,
|
|
20608
20780
|
background,
|
|
20609
|
-
spacing,
|
|
20781
|
+
spacing = "py-6 md:py-32",
|
|
20610
20782
|
pattern,
|
|
20611
20783
|
patternOpacity,
|
|
20612
20784
|
patternClassName
|
|
@@ -20624,18 +20796,67 @@ function FeatureIconGridBordered({
|
|
|
20624
20796
|
return features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20625
20797
|
"div",
|
|
20626
20798
|
{
|
|
20627
|
-
className: cn(
|
|
20799
|
+
className: cn(
|
|
20800
|
+
"relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5",
|
|
20801
|
+
cardClassName,
|
|
20802
|
+
feature.className
|
|
20803
|
+
),
|
|
20628
20804
|
children: [
|
|
20629
|
-
(feature.icon || feature.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20805
|
+
(feature.icon || feature.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20806
|
+
"span",
|
|
20807
|
+
{
|
|
20808
|
+
className: cn(
|
|
20809
|
+
"mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12",
|
|
20810
|
+
feature.iconClassName
|
|
20811
|
+
),
|
|
20812
|
+
children: renderIcon(feature)
|
|
20813
|
+
}
|
|
20814
|
+
),
|
|
20630
20815
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
20631
|
-
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20632
|
-
|
|
20633
|
-
|
|
20634
|
-
|
|
20635
|
-
|
|
20636
|
-
|
|
20637
|
-
|
|
20638
|
-
|
|
20816
|
+
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20817
|
+
"h3",
|
|
20818
|
+
{
|
|
20819
|
+
className: cn(
|
|
20820
|
+
"font-medium md:mb-2 md:text-xl",
|
|
20821
|
+
feature.titleClassName
|
|
20822
|
+
),
|
|
20823
|
+
children: [
|
|
20824
|
+
feature.title,
|
|
20825
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
|
|
20826
|
+
]
|
|
20827
|
+
}
|
|
20828
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20829
|
+
"div",
|
|
20830
|
+
{
|
|
20831
|
+
className: cn(
|
|
20832
|
+
"font-medium md:mb-2 md:text-xl",
|
|
20833
|
+
feature.titleClassName
|
|
20834
|
+
),
|
|
20835
|
+
children: [
|
|
20836
|
+
feature.title,
|
|
20837
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
|
|
20838
|
+
]
|
|
20839
|
+
}
|
|
20840
|
+
)),
|
|
20841
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20842
|
+
"p",
|
|
20843
|
+
{
|
|
20844
|
+
className: cn(
|
|
20845
|
+
"text-sm md:text-base",
|
|
20846
|
+
feature.descriptionClassName
|
|
20847
|
+
),
|
|
20848
|
+
children: feature.description
|
|
20849
|
+
}
|
|
20850
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
20851
|
+
"div",
|
|
20852
|
+
{
|
|
20853
|
+
className: cn(
|
|
20854
|
+
"text-sm md:text-base",
|
|
20855
|
+
feature.descriptionClassName
|
|
20856
|
+
),
|
|
20857
|
+
children: feature.description
|
|
20858
|
+
}
|
|
20859
|
+
))
|
|
20639
20860
|
] })
|
|
20640
20861
|
]
|
|
20641
20862
|
},
|
|
@@ -20653,9 +20874,30 @@ function FeatureIconGridBordered({
|
|
|
20653
20874
|
className,
|
|
20654
20875
|
containerClassName,
|
|
20655
20876
|
children: [
|
|
20656
|
-
label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-xs
|
|
20657
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20658
|
-
|
|
20877
|
+
label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-xs ", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 text-xs ", labelClassName), children: label })),
|
|
20878
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
20879
|
+
"h2",
|
|
20880
|
+
{
|
|
20881
|
+
className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
|
|
20882
|
+
children: title
|
|
20883
|
+
}
|
|
20884
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
20885
|
+
"div",
|
|
20886
|
+
{
|
|
20887
|
+
className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
|
|
20888
|
+
children: title
|
|
20889
|
+
}
|
|
20890
|
+
)),
|
|
20891
|
+
(featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20892
|
+
"div",
|
|
20893
|
+
{
|
|
20894
|
+
className: cn(
|
|
20895
|
+
"mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4",
|
|
20896
|
+
gridClassName
|
|
20897
|
+
),
|
|
20898
|
+
children: featuresContent
|
|
20899
|
+
}
|
|
20900
|
+
)
|
|
20659
20901
|
]
|
|
20660
20902
|
}
|
|
20661
20903
|
);
|
|
@@ -20681,7 +20923,7 @@ function FeatureChecklistImage({
|
|
|
20681
20923
|
checklistClassName,
|
|
20682
20924
|
optixFlowConfig,
|
|
20683
20925
|
background,
|
|
20684
|
-
spacing,
|
|
20926
|
+
spacing = "py-6 md:py-32",
|
|
20685
20927
|
pattern,
|
|
20686
20928
|
patternOpacity,
|
|
20687
20929
|
patternClassName
|
|
@@ -20734,7 +20976,10 @@ function FeatureChecklistImage({
|
|
|
20734
20976
|
{
|
|
20735
20977
|
src: imageSrc,
|
|
20736
20978
|
alt: imageAlt || "Feature illustration",
|
|
20737
|
-
className: cn(
|
|
20979
|
+
className: cn(
|
|
20980
|
+
"max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
|
|
20981
|
+
imageClassName
|
|
20982
|
+
),
|
|
20738
20983
|
loading: "lazy",
|
|
20739
20984
|
optixFlowConfig
|
|
20740
20985
|
}
|
|
@@ -20748,10 +20993,17 @@ function FeatureChecklistImage({
|
|
|
20748
20993
|
const content = isString ? item : item.content;
|
|
20749
20994
|
const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
|
|
20750
20995
|
const itemClassName = isString ? void 0 : item.className;
|
|
20751
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20752
|
-
|
|
20753
|
-
|
|
20754
|
-
|
|
20996
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20997
|
+
"li",
|
|
20998
|
+
{
|
|
20999
|
+
className: cn("flex items-center gap-3", itemClassName),
|
|
21000
|
+
children: [
|
|
21001
|
+
iconElement,
|
|
21002
|
+
content
|
|
21003
|
+
]
|
|
21004
|
+
},
|
|
21005
|
+
index
|
|
21006
|
+
);
|
|
20755
21007
|
});
|
|
20756
21008
|
}, [checklistSlot, checklistItems]);
|
|
20757
21009
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -20764,15 +21016,78 @@ function FeatureChecklistImage({
|
|
|
20764
21016
|
patternClassName,
|
|
20765
21017
|
className,
|
|
20766
21018
|
containerClassName: cn("max-w-6xl", containerClassName),
|
|
20767
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20768
|
-
|
|
20769
|
-
|
|
20770
|
-
|
|
20771
|
-
|
|
20772
|
-
|
|
20773
|
-
|
|
20774
|
-
|
|
20775
|
-
|
|
21019
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21020
|
+
"div",
|
|
21021
|
+
{
|
|
21022
|
+
className: cn(
|
|
21023
|
+
"flex flex-col gap-12 md:flex-row",
|
|
21024
|
+
contentWrapperClassName
|
|
21025
|
+
),
|
|
21026
|
+
children: [
|
|
21027
|
+
imageContent,
|
|
21028
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
|
|
21029
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21030
|
+
"h2",
|
|
21031
|
+
{
|
|
21032
|
+
className: cn(
|
|
21033
|
+
"text-3xl font-medium text-balance md:text-5xl",
|
|
21034
|
+
titleClassName
|
|
21035
|
+
),
|
|
21036
|
+
children: title
|
|
21037
|
+
}
|
|
21038
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21039
|
+
"div",
|
|
21040
|
+
{
|
|
21041
|
+
className: cn(
|
|
21042
|
+
"text-3xl font-medium text-balance md:text-5xl",
|
|
21043
|
+
titleClassName
|
|
21044
|
+
),
|
|
21045
|
+
children: title
|
|
21046
|
+
}
|
|
21047
|
+
)),
|
|
21048
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21049
|
+
"p",
|
|
21050
|
+
{
|
|
21051
|
+
className: cn(
|
|
21052
|
+
"mt-1 text-muted-foreground md:mt-6",
|
|
21053
|
+
descriptionClassName
|
|
21054
|
+
),
|
|
21055
|
+
children: description
|
|
21056
|
+
}
|
|
21057
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21058
|
+
"div",
|
|
21059
|
+
{
|
|
21060
|
+
className: cn(
|
|
21061
|
+
"mt-1 text-muted-foreground md:mt-6",
|
|
21062
|
+
descriptionClassName
|
|
21063
|
+
),
|
|
21064
|
+
children: description
|
|
21065
|
+
}
|
|
21066
|
+
)),
|
|
21067
|
+
actionsContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21068
|
+
"div",
|
|
21069
|
+
{
|
|
21070
|
+
className: cn(
|
|
21071
|
+
"flex flex-wrap items-center gap-2",
|
|
21072
|
+
actionsClassName
|
|
21073
|
+
),
|
|
21074
|
+
children: actionsContent
|
|
21075
|
+
}
|
|
21076
|
+
),
|
|
21077
|
+
checklistContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21078
|
+
"ul",
|
|
21079
|
+
{
|
|
21080
|
+
className: cn(
|
|
21081
|
+
"mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
|
|
21082
|
+
checklistClassName
|
|
21083
|
+
),
|
|
21084
|
+
children: checklistContent
|
|
21085
|
+
}
|
|
21086
|
+
)
|
|
21087
|
+
] })
|
|
21088
|
+
]
|
|
21089
|
+
}
|
|
21090
|
+
)
|
|
20776
21091
|
}
|
|
20777
21092
|
);
|
|
20778
21093
|
}
|
|
@@ -20848,7 +21163,7 @@ function FeatureCarouselProgress({
|
|
|
20848
21163
|
{
|
|
20849
21164
|
className: "basis-full md:basis-1/2 lg:basis-1/3",
|
|
20850
21165
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1", children: /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
20851
|
-
(slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-
|
|
21166
|
+
(slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
|
|
20852
21167
|
slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
|
|
20853
21168
|
slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
|
|
20854
21169
|
] }) }) }) })
|
|
@@ -20905,27 +21220,30 @@ function FeatureCardGridLinked({
|
|
|
20905
21220
|
cardClassName,
|
|
20906
21221
|
optixFlowConfig,
|
|
20907
21222
|
background,
|
|
20908
|
-
spacing,
|
|
21223
|
+
spacing = "py-6 md:py-32",
|
|
20909
21224
|
pattern,
|
|
20910
21225
|
patternOpacity,
|
|
20911
21226
|
patternClassName
|
|
20912
21227
|
}) {
|
|
20913
|
-
const renderImage = React52.useCallback(
|
|
20914
|
-
|
|
20915
|
-
|
|
20916
|
-
|
|
20917
|
-
|
|
20918
|
-
|
|
20919
|
-
|
|
20920
|
-
|
|
20921
|
-
|
|
20922
|
-
|
|
20923
|
-
|
|
20924
|
-
|
|
20925
|
-
|
|
20926
|
-
|
|
20927
|
-
|
|
20928
|
-
|
|
21228
|
+
const renderImage = React52.useCallback(
|
|
21229
|
+
(feature, imageAlt) => {
|
|
21230
|
+
if (feature.imageSlot) return feature.imageSlot;
|
|
21231
|
+
if (feature.image) {
|
|
21232
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21233
|
+
img.Img,
|
|
21234
|
+
{
|
|
21235
|
+
src: feature.image,
|
|
21236
|
+
alt: imageAlt,
|
|
21237
|
+
className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
|
|
21238
|
+
loading: "lazy",
|
|
21239
|
+
optixFlowConfig
|
|
21240
|
+
}
|
|
21241
|
+
);
|
|
21242
|
+
}
|
|
21243
|
+
return null;
|
|
21244
|
+
},
|
|
21245
|
+
[optixFlowConfig]
|
|
21246
|
+
);
|
|
20929
21247
|
const featuresContent = React52.useMemo(() => {
|
|
20930
21248
|
if (featuresSlot) return featuresSlot;
|
|
20931
21249
|
if (!features || features.length === 0) return null;
|
|
@@ -20935,16 +21253,56 @@ function FeatureCardGridLinked({
|
|
|
20935
21253
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
20936
21254
|
"div",
|
|
20937
21255
|
{
|
|
20938
|
-
className: cn(
|
|
21256
|
+
className: cn(
|
|
21257
|
+
"flex flex-col justify-between rounded-lg bg-muted border",
|
|
21258
|
+
cardClassName,
|
|
21259
|
+
feature.className
|
|
21260
|
+
),
|
|
20939
21261
|
children: [
|
|
20940
21262
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
|
|
20941
21263
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
|
|
20942
|
-
feature.label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
20943
|
-
|
|
21264
|
+
feature.label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21265
|
+
"span",
|
|
21266
|
+
{
|
|
21267
|
+
className: cn(
|
|
21268
|
+
"font-bold text-xs uppercase opacity-75",
|
|
21269
|
+
feature.labelClassName
|
|
21270
|
+
),
|
|
21271
|
+
children: feature.label
|
|
21272
|
+
}
|
|
21273
|
+
),
|
|
21274
|
+
feature.heading && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21275
|
+
"h3",
|
|
21276
|
+
{
|
|
21277
|
+
className: cn(
|
|
21278
|
+
"text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
|
|
21279
|
+
feature.headingClassName
|
|
21280
|
+
),
|
|
21281
|
+
children: feature.heading
|
|
21282
|
+
}
|
|
21283
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21284
|
+
"div",
|
|
21285
|
+
{
|
|
21286
|
+
className: cn(
|
|
21287
|
+
"text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
|
|
21288
|
+
feature.headingClassName
|
|
21289
|
+
),
|
|
21290
|
+
children: feature.heading
|
|
21291
|
+
}
|
|
21292
|
+
) })
|
|
20944
21293
|
] }),
|
|
20945
21294
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
|
|
20946
21295
|
] }),
|
|
20947
|
-
feature.description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21296
|
+
feature.description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21297
|
+
"p",
|
|
21298
|
+
{
|
|
21299
|
+
className: cn(
|
|
21300
|
+
"p-4 text-muted-foreground md:p-8",
|
|
21301
|
+
feature.descriptionClassName
|
|
21302
|
+
),
|
|
21303
|
+
children: feature.description
|
|
21304
|
+
}
|
|
21305
|
+
)
|
|
20948
21306
|
]
|
|
20949
21307
|
},
|
|
20950
21308
|
featureKey
|
|
@@ -20962,7 +21320,34 @@ function FeatureCardGridLinked({
|
|
|
20962
21320
|
className,
|
|
20963
21321
|
containerClassName,
|
|
20964
21322
|
children: [
|
|
20965
|
-
title && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21323
|
+
title && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21324
|
+
"div",
|
|
21325
|
+
{
|
|
21326
|
+
className: cn(
|
|
21327
|
+
"mx-auto mb-16 max-w-3xl text-center",
|
|
21328
|
+
titleWrapperClassName
|
|
21329
|
+
),
|
|
21330
|
+
children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21331
|
+
"h2",
|
|
21332
|
+
{
|
|
21333
|
+
className: cn(
|
|
21334
|
+
"text-4xl font-medium text-pretty lg:text-5xl",
|
|
21335
|
+
titleClassName
|
|
21336
|
+
),
|
|
21337
|
+
children: title
|
|
21338
|
+
}
|
|
21339
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21340
|
+
"div",
|
|
21341
|
+
{
|
|
21342
|
+
className: cn(
|
|
21343
|
+
"text-4xl font-medium text-pretty lg:text-5xl",
|
|
21344
|
+
titleClassName
|
|
21345
|
+
),
|
|
21346
|
+
children: title
|
|
21347
|
+
}
|
|
21348
|
+
)
|
|
21349
|
+
}
|
|
21350
|
+
),
|
|
20966
21351
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
|
|
20967
21352
|
]
|
|
20968
21353
|
}
|
|
@@ -20986,27 +21371,45 @@ function FeatureNumberedCards({
|
|
|
20986
21371
|
patternOpacity,
|
|
20987
21372
|
patternClassName
|
|
20988
21373
|
}) {
|
|
20989
|
-
const renderChecklistItems = React52.useCallback(
|
|
20990
|
-
|
|
20991
|
-
|
|
20992
|
-
|
|
20993
|
-
|
|
20994
|
-
|
|
20995
|
-
|
|
20996
|
-
|
|
20997
|
-
|
|
20998
|
-
|
|
20999
|
-
|
|
21000
|
-
|
|
21001
|
-
|
|
21002
|
-
|
|
21003
|
-
|
|
21004
|
-
|
|
21005
|
-
|
|
21006
|
-
|
|
21007
|
-
|
|
21008
|
-
|
|
21009
|
-
|
|
21374
|
+
const renderChecklistItems = React52.useCallback(
|
|
21375
|
+
(feature) => {
|
|
21376
|
+
if (feature.checklistSlot) return feature.checklistSlot;
|
|
21377
|
+
if (!feature.checklistItems || feature.checklistItems.length === 0)
|
|
21378
|
+
return null;
|
|
21379
|
+
return feature.checklistItems.map((item, itemIndex) => {
|
|
21380
|
+
const isString = typeof item === "string";
|
|
21381
|
+
const content = isString ? item : item.content;
|
|
21382
|
+
const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21383
|
+
DynamicIcon,
|
|
21384
|
+
{
|
|
21385
|
+
name: "lucide/check-circle",
|
|
21386
|
+
size: 16,
|
|
21387
|
+
className: "mt-0.5 shrink-0 sm:mt-1"
|
|
21388
|
+
}
|
|
21389
|
+
) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21390
|
+
DynamicIcon,
|
|
21391
|
+
{
|
|
21392
|
+
name: item.iconName,
|
|
21393
|
+
size: 16,
|
|
21394
|
+
className: "mt-0.5 shrink-0 sm:mt-1"
|
|
21395
|
+
}
|
|
21396
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21397
|
+
DynamicIcon,
|
|
21398
|
+
{
|
|
21399
|
+
name: "lucide/check-circle",
|
|
21400
|
+
size: 16,
|
|
21401
|
+
className: "mt-0.5 shrink-0 sm:mt-1"
|
|
21402
|
+
}
|
|
21403
|
+
));
|
|
21404
|
+
const itemClassName = isString ? void 0 : item.className;
|
|
21405
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
|
|
21406
|
+
iconElement,
|
|
21407
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm md:text-base", children: content })
|
|
21408
|
+
] }, itemIndex);
|
|
21409
|
+
});
|
|
21410
|
+
},
|
|
21411
|
+
[]
|
|
21412
|
+
);
|
|
21010
21413
|
const featuresContent = React52.useMemo(() => {
|
|
21011
21414
|
if (featuresSlot) return featuresSlot;
|
|
21012
21415
|
if (!features || features.length === 0) return null;
|
|
@@ -21020,7 +21423,7 @@ function FeatureNumberedCards({
|
|
|
21020
21423
|
{
|
|
21021
21424
|
src: feature.image,
|
|
21022
21425
|
alt: imageAlt,
|
|
21023
|
-
className: "h-full w-full object-cover",
|
|
21426
|
+
className: "h-full w-full object-cover rounded-tr-lg rounded-tl-lg md:rounded-tl-0 rounded-br-0 md:rounded-br-lg",
|
|
21024
21427
|
loading: "lazy",
|
|
21025
21428
|
optixFlowConfig
|
|
21026
21429
|
}
|
|
@@ -21028,19 +21431,111 @@ function FeatureNumberedCards({
|
|
|
21028
21431
|
}
|
|
21029
21432
|
return null;
|
|
21030
21433
|
};
|
|
21031
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21032
|
-
|
|
21033
|
-
|
|
21034
|
-
|
|
21035
|
-
|
|
21036
|
-
|
|
21037
|
-
|
|
21038
|
-
|
|
21039
|
-
|
|
21040
|
-
|
|
21041
|
-
|
|
21434
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21435
|
+
"div",
|
|
21436
|
+
{
|
|
21437
|
+
className: cn(
|
|
21438
|
+
"grid rounded-lg border md:grid-cols-2",
|
|
21439
|
+
cardClassName,
|
|
21440
|
+
feature.className
|
|
21441
|
+
),
|
|
21442
|
+
children: [
|
|
21443
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21444
|
+
"div",
|
|
21445
|
+
{
|
|
21446
|
+
className: cn(
|
|
21447
|
+
"flex flex-col px-6 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20",
|
|
21448
|
+
feature.contentClassName
|
|
21449
|
+
),
|
|
21450
|
+
children: [
|
|
21451
|
+
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21452
|
+
"h3",
|
|
21453
|
+
{
|
|
21454
|
+
className: cn(
|
|
21455
|
+
"mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
|
|
21456
|
+
titleClassName
|
|
21457
|
+
),
|
|
21458
|
+
children: feature.title
|
|
21459
|
+
}
|
|
21460
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21461
|
+
"div",
|
|
21462
|
+
{
|
|
21463
|
+
className: cn(
|
|
21464
|
+
"mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
|
|
21465
|
+
titleClassName
|
|
21466
|
+
),
|
|
21467
|
+
children: feature.title
|
|
21468
|
+
}
|
|
21469
|
+
)),
|
|
21470
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21471
|
+
"div",
|
|
21472
|
+
{
|
|
21473
|
+
className: cn(
|
|
21474
|
+
"mb-8 text-sm sm:mb-10 md:text-base",
|
|
21475
|
+
descriptionClassName
|
|
21476
|
+
),
|
|
21477
|
+
children: feature.description
|
|
21478
|
+
}
|
|
21479
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21480
|
+
"div",
|
|
21481
|
+
{
|
|
21482
|
+
className: cn(
|
|
21483
|
+
"mb-8 text-sm sm:mb-10 md:text-base",
|
|
21484
|
+
descriptionClassName
|
|
21485
|
+
),
|
|
21486
|
+
children: feature.description
|
|
21487
|
+
}
|
|
21488
|
+
)),
|
|
21489
|
+
feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21490
|
+
"ul",
|
|
21491
|
+
{
|
|
21492
|
+
className: cn(
|
|
21493
|
+
"mt-auto space-y-2 sm:space-y-3",
|
|
21494
|
+
checklistClassName
|
|
21495
|
+
),
|
|
21496
|
+
children: renderChecklistItems(feature)
|
|
21497
|
+
}
|
|
21498
|
+
) : null
|
|
21499
|
+
]
|
|
21500
|
+
}
|
|
21501
|
+
),
|
|
21502
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21503
|
+
"div",
|
|
21504
|
+
{
|
|
21505
|
+
className: cn(
|
|
21506
|
+
"relative order-first max-h-80 md:order-last md:max-h-[500px]",
|
|
21507
|
+
feature.imageWrapperClassName
|
|
21508
|
+
),
|
|
21509
|
+
children: [
|
|
21510
|
+
renderImage(),
|
|
21511
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21512
|
+
"span",
|
|
21513
|
+
{
|
|
21514
|
+
className: cn(
|
|
21515
|
+
"absolute top-5 left-5 flex size-6 items-center justify-center rounded-sm bg-primary font-mono text-xs text-primary-foreground md:top-10 md:left-10",
|
|
21516
|
+
badgeClassName
|
|
21517
|
+
),
|
|
21518
|
+
children: String(index + 1).padStart(2, "0")
|
|
21519
|
+
}
|
|
21520
|
+
)
|
|
21521
|
+
]
|
|
21522
|
+
}
|
|
21523
|
+
)
|
|
21524
|
+
]
|
|
21525
|
+
},
|
|
21526
|
+
index
|
|
21527
|
+
);
|
|
21042
21528
|
});
|
|
21043
|
-
}, [
|
|
21529
|
+
}, [
|
|
21530
|
+
featuresSlot,
|
|
21531
|
+
features,
|
|
21532
|
+
cardClassName,
|
|
21533
|
+
titleClassName,
|
|
21534
|
+
descriptionClassName,
|
|
21535
|
+
checklistClassName,
|
|
21536
|
+
badgeClassName,
|
|
21537
|
+
optixFlowConfig
|
|
21538
|
+
]);
|
|
21044
21539
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21045
21540
|
Section,
|
|
21046
21541
|
{
|
|
@@ -21051,7 +21546,16 @@ function FeatureNumberedCards({
|
|
|
21051
21546
|
patternClassName,
|
|
21052
21547
|
className,
|
|
21053
21548
|
containerClassName,
|
|
21054
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21549
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21550
|
+
"div",
|
|
21551
|
+
{
|
|
21552
|
+
className: cn(
|
|
21553
|
+
"space-y-4 md:space-y-10 rounded-lg border-none md:border md:bg-background p-0 md:p-10",
|
|
21554
|
+
cardsWrapperClassName
|
|
21555
|
+
),
|
|
21556
|
+
children: featuresContent
|
|
21557
|
+
}
|
|
21558
|
+
)
|
|
21055
21559
|
}
|
|
21056
21560
|
);
|
|
21057
21561
|
}
|
|
@@ -21084,12 +21588,21 @@ function FeatureIconGridAccent({
|
|
|
21084
21588
|
"div",
|
|
21085
21589
|
{
|
|
21086
21590
|
className: cn(
|
|
21087
|
-
"flex flex-col justify-between rounded-lg
|
|
21591
|
+
"flex flex-col justify-between rounded-lg p-6 md:min-h-[300px] md:p-8",
|
|
21088
21592
|
cardClassName,
|
|
21089
21593
|
feature.className
|
|
21090
21594
|
),
|
|
21091
21595
|
children: [
|
|
21092
|
-
iconElement && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21596
|
+
iconElement && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21597
|
+
"span",
|
|
21598
|
+
{
|
|
21599
|
+
className: cn(
|
|
21600
|
+
"mb-6 flex size-11 items-center justify-center rounded-full",
|
|
21601
|
+
feature.iconClassName
|
|
21602
|
+
),
|
|
21603
|
+
children: iconElement
|
|
21604
|
+
}
|
|
21605
|
+
),
|
|
21093
21606
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
21094
21607
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-medium md:text-2xl", children: feature.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg font-medium md:text-2xl", children: feature.title })),
|
|
21095
21608
|
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 text-muted-foreground", children: feature.description }))
|
|
@@ -21111,12 +21624,45 @@ function FeatureIconGridAccent({
|
|
|
21111
21624
|
className,
|
|
21112
21625
|
containerClassName,
|
|
21113
21626
|
children: [
|
|
21114
|
-
(label || title || description) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21115
|
-
|
|
21116
|
-
|
|
21117
|
-
|
|
21118
|
-
|
|
21119
|
-
|
|
21627
|
+
(label || title || description) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21628
|
+
"div",
|
|
21629
|
+
{
|
|
21630
|
+
className: cn("flex w-full flex-col items-center", headerClassName),
|
|
21631
|
+
children: /* @__PURE__ */ jsxRuntime.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: [
|
|
21632
|
+
label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: labelClassName, children: label })),
|
|
21633
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21634
|
+
"h2",
|
|
21635
|
+
{
|
|
21636
|
+
className: cn(
|
|
21637
|
+
"text-3xl font-medium md:text-5xl text-balance",
|
|
21638
|
+
titleClassName
|
|
21639
|
+
),
|
|
21640
|
+
children: title
|
|
21641
|
+
}
|
|
21642
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
21643
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21644
|
+
"p",
|
|
21645
|
+
{
|
|
21646
|
+
className: cn(
|
|
21647
|
+
"md:max-w-2xl text-balance",
|
|
21648
|
+
descriptionClassName
|
|
21649
|
+
),
|
|
21650
|
+
children: description
|
|
21651
|
+
}
|
|
21652
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
21653
|
+
] })
|
|
21654
|
+
}
|
|
21655
|
+
),
|
|
21656
|
+
featuresContent && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21657
|
+
"div",
|
|
21658
|
+
{
|
|
21659
|
+
className: cn(
|
|
21660
|
+
"mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2",
|
|
21661
|
+
gridClassName
|
|
21662
|
+
),
|
|
21663
|
+
children: featuresContent
|
|
21664
|
+
}
|
|
21665
|
+
)
|
|
21120
21666
|
]
|
|
21121
21667
|
}
|
|
21122
21668
|
);
|
|
@@ -21133,24 +21679,78 @@ function FeatureThreeColumnValues({
|
|
|
21133
21679
|
gridClassName,
|
|
21134
21680
|
cardClassName,
|
|
21135
21681
|
background,
|
|
21136
|
-
spacing,
|
|
21682
|
+
spacing = "py-6 md:py-32",
|
|
21137
21683
|
pattern,
|
|
21138
21684
|
patternOpacity,
|
|
21139
21685
|
patternClassName
|
|
21140
21686
|
}) {
|
|
21141
|
-
const renderValueIcon = React52__namespace.useCallback(
|
|
21142
|
-
|
|
21143
|
-
|
|
21144
|
-
|
|
21145
|
-
|
|
21687
|
+
const renderValueIcon = React52__namespace.useCallback(
|
|
21688
|
+
(value) => {
|
|
21689
|
+
if (value.icon) return value.icon;
|
|
21690
|
+
if (value.iconName)
|
|
21691
|
+
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: value.iconName, size: 24 });
|
|
21692
|
+
return null;
|
|
21693
|
+
},
|
|
21694
|
+
[]
|
|
21695
|
+
);
|
|
21146
21696
|
const valuesContent = React52.useMemo(() => {
|
|
21147
21697
|
if (valuesSlot) return valuesSlot;
|
|
21148
21698
|
if (!values || values.length === 0) return null;
|
|
21149
|
-
return values.map((value, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21150
|
-
|
|
21151
|
-
|
|
21152
|
-
|
|
21153
|
-
|
|
21699
|
+
return values.map((value, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21700
|
+
"div",
|
|
21701
|
+
{
|
|
21702
|
+
className: cn(
|
|
21703
|
+
"rounded-lg bg-accent p-5",
|
|
21704
|
+
cardClassName,
|
|
21705
|
+
value.className
|
|
21706
|
+
),
|
|
21707
|
+
children: [
|
|
21708
|
+
(value.icon || value.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21709
|
+
"span",
|
|
21710
|
+
{
|
|
21711
|
+
className: cn(
|
|
21712
|
+
"mb-8 flex size-12 items-center justify-center rounded-full bg-background",
|
|
21713
|
+
value.iconClassName
|
|
21714
|
+
),
|
|
21715
|
+
children: renderValueIcon(value)
|
|
21716
|
+
}
|
|
21717
|
+
),
|
|
21718
|
+
value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21719
|
+
"h3",
|
|
21720
|
+
{
|
|
21721
|
+
className: cn("mb-2 text-xl font-medium", value.titleClassName),
|
|
21722
|
+
children: value.title
|
|
21723
|
+
}
|
|
21724
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21725
|
+
"div",
|
|
21726
|
+
{
|
|
21727
|
+
className: cn("mb-2 text-xl font-medium", value.titleClassName),
|
|
21728
|
+
children: value.title
|
|
21729
|
+
}
|
|
21730
|
+
)),
|
|
21731
|
+
value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21732
|
+
"p",
|
|
21733
|
+
{
|
|
21734
|
+
className: cn(
|
|
21735
|
+
"leading-7 text-muted-foreground",
|
|
21736
|
+
value.descriptionClassName
|
|
21737
|
+
),
|
|
21738
|
+
children: value.description
|
|
21739
|
+
}
|
|
21740
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21741
|
+
"div",
|
|
21742
|
+
{
|
|
21743
|
+
className: cn(
|
|
21744
|
+
"leading-7 text-muted-foreground",
|
|
21745
|
+
value.descriptionClassName
|
|
21746
|
+
),
|
|
21747
|
+
children: value.description
|
|
21748
|
+
}
|
|
21749
|
+
))
|
|
21750
|
+
]
|
|
21751
|
+
},
|
|
21752
|
+
index
|
|
21753
|
+
));
|
|
21154
21754
|
}, [valuesSlot, values, cardClassName, renderValueIcon]);
|
|
21155
21755
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21156
21756
|
Section,
|
|
@@ -21163,9 +21763,48 @@ function FeatureThreeColumnValues({
|
|
|
21163
21763
|
className,
|
|
21164
21764
|
containerClassName,
|
|
21165
21765
|
children: [
|
|
21166
|
-
label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21167
|
-
|
|
21168
|
-
|
|
21766
|
+
label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21767
|
+
"p",
|
|
21768
|
+
{
|
|
21769
|
+
className: cn(
|
|
21770
|
+
"mb-4 text-sm text-muted-foreground lg:text-base",
|
|
21771
|
+
labelClassName
|
|
21772
|
+
),
|
|
21773
|
+
children: label
|
|
21774
|
+
}
|
|
21775
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21776
|
+
"div",
|
|
21777
|
+
{
|
|
21778
|
+
className: cn(
|
|
21779
|
+
"mb-4 text-sm text-muted-foreground lg:text-base",
|
|
21780
|
+
labelClassName
|
|
21781
|
+
),
|
|
21782
|
+
children: label
|
|
21783
|
+
}
|
|
21784
|
+
)),
|
|
21785
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21786
|
+
"h2",
|
|
21787
|
+
{
|
|
21788
|
+
className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
|
|
21789
|
+
children: title
|
|
21790
|
+
}
|
|
21791
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21792
|
+
"div",
|
|
21793
|
+
{
|
|
21794
|
+
className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
|
|
21795
|
+
children: title
|
|
21796
|
+
}
|
|
21797
|
+
)),
|
|
21798
|
+
(valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
21799
|
+
"div",
|
|
21800
|
+
{
|
|
21801
|
+
className: cn(
|
|
21802
|
+
"mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3",
|
|
21803
|
+
gridClassName
|
|
21804
|
+
),
|
|
21805
|
+
children: valuesContent
|
|
21806
|
+
}
|
|
21807
|
+
)
|
|
21169
21808
|
]
|
|
21170
21809
|
}
|
|
21171
21810
|
);
|
|
@@ -21221,7 +21860,7 @@ function FeatureBadgeGridSix({
|
|
|
21221
21860
|
{
|
|
21222
21861
|
className: cn("flex gap-6 space-y-4 rounded-lg md:block", cardClassName, feature.className),
|
|
21223
21862
|
children: [
|
|
21224
|
-
iconContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-
|
|
21863
|
+
iconContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12", children: iconContent }),
|
|
21225
21864
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
21226
21865
|
feature.heading && (typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading })),
|
|
21227
21866
|
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
|
|
@@ -21434,31 +22073,57 @@ function FeatureTabbedContentImage({
|
|
|
21434
22073
|
contentGridClassName,
|
|
21435
22074
|
optixFlowConfig,
|
|
21436
22075
|
background,
|
|
21437
|
-
spacing,
|
|
22076
|
+
spacing = "py-6 md:py-32",
|
|
21438
22077
|
pattern,
|
|
21439
22078
|
patternOpacity,
|
|
21440
22079
|
patternClassName
|
|
21441
22080
|
}) {
|
|
21442
|
-
const renderFeatures = React52__namespace.useCallback(
|
|
21443
|
-
|
|
21444
|
-
|
|
21445
|
-
|
|
21446
|
-
|
|
21447
|
-
|
|
21448
|
-
|
|
21449
|
-
|
|
21450
|
-
|
|
21451
|
-
|
|
21452
|
-
|
|
21453
|
-
|
|
21454
|
-
|
|
21455
|
-
|
|
21456
|
-
|
|
21457
|
-
|
|
21458
|
-
|
|
21459
|
-
|
|
21460
|
-
|
|
21461
|
-
|
|
22081
|
+
const renderFeatures = React52__namespace.useCallback(
|
|
22082
|
+
(slide) => {
|
|
22083
|
+
if (slide.featuresSlot) return slide.featuresSlot;
|
|
22084
|
+
if (!slide.features || slide.features.length === 0) return null;
|
|
22085
|
+
return slide.features.map((feature, index) => {
|
|
22086
|
+
const isString = typeof feature === "string";
|
|
22087
|
+
const content = isString ? feature : feature.content;
|
|
22088
|
+
const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
|
|
22089
|
+
const itemClassName = isString ? void 0 : feature.className;
|
|
22090
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22091
|
+
"li",
|
|
22092
|
+
{
|
|
22093
|
+
className: cn("flex items-center gap-2", itemClassName),
|
|
22094
|
+
children: [
|
|
22095
|
+
iconElement,
|
|
22096
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: content })
|
|
22097
|
+
]
|
|
22098
|
+
},
|
|
22099
|
+
index
|
|
22100
|
+
);
|
|
22101
|
+
});
|
|
22102
|
+
},
|
|
22103
|
+
[]
|
|
22104
|
+
);
|
|
22105
|
+
const renderActions = React52__namespace.useCallback(
|
|
22106
|
+
(slide) => {
|
|
22107
|
+
if (slide.actionsSlot) return slide.actionsSlot;
|
|
22108
|
+
if (!slide.actions || slide.actions.length === 0) return null;
|
|
22109
|
+
return slide.actions.map((action, index) => {
|
|
22110
|
+
if (action.children) {
|
|
22111
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22112
|
+
Pressable,
|
|
22113
|
+
{
|
|
22114
|
+
href: action.href,
|
|
22115
|
+
onClick: action.onClick,
|
|
22116
|
+
variant: action.variant,
|
|
22117
|
+
size: action.size,
|
|
22118
|
+
className: cn("mt-8", action.className),
|
|
22119
|
+
"aria-label": action["aria-label"],
|
|
22120
|
+
asButton: true,
|
|
22121
|
+
children: action.children
|
|
22122
|
+
},
|
|
22123
|
+
index
|
|
22124
|
+
);
|
|
22125
|
+
}
|
|
22126
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21462
22127
|
Pressable,
|
|
21463
22128
|
{
|
|
21464
22129
|
href: action.href,
|
|
@@ -21468,46 +22133,39 @@ function FeatureTabbedContentImage({
|
|
|
21468
22133
|
className: cn("mt-8", action.className),
|
|
21469
22134
|
"aria-label": action["aria-label"],
|
|
21470
22135
|
asButton: true,
|
|
21471
|
-
children:
|
|
22136
|
+
children: [
|
|
22137
|
+
action.icon,
|
|
22138
|
+
action.label,
|
|
22139
|
+
action.iconAfter
|
|
22140
|
+
]
|
|
21472
22141
|
},
|
|
21473
22142
|
index
|
|
21474
22143
|
);
|
|
21475
|
-
}
|
|
21476
|
-
|
|
21477
|
-
|
|
22144
|
+
});
|
|
22145
|
+
},
|
|
22146
|
+
[]
|
|
22147
|
+
);
|
|
22148
|
+
const renderImage = React52__namespace.useCallback(
|
|
22149
|
+
(slide) => {
|
|
22150
|
+
if (slide.imageSlot) return slide.imageSlot;
|
|
22151
|
+
if (!slide.image) return null;
|
|
22152
|
+
const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
|
|
22153
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22154
|
+
img.Img,
|
|
21478
22155
|
{
|
|
21479
|
-
|
|
21480
|
-
|
|
21481
|
-
|
|
21482
|
-
|
|
21483
|
-
|
|
21484
|
-
|
|
21485
|
-
|
|
21486
|
-
|
|
21487
|
-
|
|
21488
|
-
action.label,
|
|
21489
|
-
action.iconAfter
|
|
21490
|
-
]
|
|
21491
|
-
},
|
|
21492
|
-
index
|
|
22156
|
+
src: slide.image,
|
|
22157
|
+
alt: imageAlt,
|
|
22158
|
+
className: cn(
|
|
22159
|
+
"order-first max-h-[400px] w-full rounded-lg object-cover md:order-last",
|
|
22160
|
+
slide.imageClassName
|
|
22161
|
+
),
|
|
22162
|
+
loading: "lazy",
|
|
22163
|
+
optixFlowConfig
|
|
22164
|
+
}
|
|
21493
22165
|
);
|
|
21494
|
-
}
|
|
21495
|
-
|
|
21496
|
-
|
|
21497
|
-
if (slide.imageSlot) return slide.imageSlot;
|
|
21498
|
-
if (!slide.image) return null;
|
|
21499
|
-
const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
|
|
21500
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21501
|
-
img.Img,
|
|
21502
|
-
{
|
|
21503
|
-
src: slide.image,
|
|
21504
|
-
alt: imageAlt,
|
|
21505
|
-
className: cn("order-first max-h-[400px] w-full rounded-lg object-cover md:order-last", slide.imageClassName),
|
|
21506
|
-
loading: "lazy",
|
|
21507
|
-
optixFlowConfig
|
|
21508
|
-
}
|
|
21509
|
-
);
|
|
21510
|
-
}, [optixFlowConfig]);
|
|
22166
|
+
},
|
|
22167
|
+
[optixFlowConfig]
|
|
22168
|
+
);
|
|
21511
22169
|
const slidesContent = React52.useMemo(() => {
|
|
21512
22170
|
if (slidesSlot) return slidesSlot;
|
|
21513
22171
|
if (!slides || slides.length === 0) return null;
|
|
@@ -21516,7 +22174,10 @@ function FeatureTabbedContentImage({
|
|
|
21516
22174
|
TabsTrigger,
|
|
21517
22175
|
{
|
|
21518
22176
|
value: slide.id.toString(),
|
|
21519
|
-
className: cn(
|
|
22177
|
+
className: cn(
|
|
22178
|
+
"text-sm hover:bg-background md:text-base",
|
|
22179
|
+
tabTriggerClassName
|
|
22180
|
+
),
|
|
21520
22181
|
children: slide.tabName
|
|
21521
22182
|
},
|
|
21522
22183
|
slide.id
|
|
@@ -21526,20 +22187,85 @@ function FeatureTabbedContentImage({
|
|
|
21526
22187
|
{
|
|
21527
22188
|
value: slide.id.toString(),
|
|
21528
22189
|
className: cn("max-w-5xl", tabContentClassName),
|
|
21529
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21530
|
-
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21535
|
-
|
|
21536
|
-
|
|
21537
|
-
|
|
22190
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22191
|
+
"div",
|
|
22192
|
+
{
|
|
22193
|
+
className: cn(
|
|
22194
|
+
"grid grid-cols-1 items-center gap-10 md:grid-cols-2",
|
|
22195
|
+
contentGridClassName,
|
|
22196
|
+
slide.className
|
|
22197
|
+
),
|
|
22198
|
+
children: [
|
|
22199
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
22200
|
+
slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22201
|
+
"h2",
|
|
22202
|
+
{
|
|
22203
|
+
className: cn(
|
|
22204
|
+
"mb-4 text-2xl font-semibold lg:text-4xl",
|
|
22205
|
+
slide.titleClassName
|
|
22206
|
+
),
|
|
22207
|
+
children: slide.title
|
|
22208
|
+
}
|
|
22209
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22210
|
+
"div",
|
|
22211
|
+
{
|
|
22212
|
+
className: cn(
|
|
22213
|
+
"mb-4 text-2xl font-semibold lg:text-4xl",
|
|
22214
|
+
slide.titleClassName
|
|
22215
|
+
),
|
|
22216
|
+
children: slide.title
|
|
22217
|
+
}
|
|
22218
|
+
)),
|
|
22219
|
+
slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22220
|
+
"p",
|
|
22221
|
+
{
|
|
22222
|
+
className: cn(
|
|
22223
|
+
"text-muted-foreground lg:text-xl",
|
|
22224
|
+
slide.descriptionClassName
|
|
22225
|
+
),
|
|
22226
|
+
children: slide.description
|
|
22227
|
+
}
|
|
22228
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22229
|
+
"div",
|
|
22230
|
+
{
|
|
22231
|
+
className: cn(
|
|
22232
|
+
"text-muted-foreground lg:text-xl",
|
|
22233
|
+
slide.descriptionClassName
|
|
22234
|
+
),
|
|
22235
|
+
children: slide.description
|
|
22236
|
+
}
|
|
22237
|
+
)),
|
|
22238
|
+
slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22239
|
+
"ul",
|
|
22240
|
+
{
|
|
22241
|
+
className: cn(
|
|
22242
|
+
"mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2",
|
|
22243
|
+
slide.featuresClassName
|
|
22244
|
+
),
|
|
22245
|
+
children: renderFeatures(slide)
|
|
22246
|
+
}
|
|
22247
|
+
) : null,
|
|
22248
|
+
renderActions(slide)
|
|
22249
|
+
] }),
|
|
22250
|
+
renderImage(slide)
|
|
22251
|
+
]
|
|
22252
|
+
}
|
|
22253
|
+
)
|
|
21538
22254
|
},
|
|
21539
22255
|
slide.id
|
|
21540
22256
|
))
|
|
21541
22257
|
] });
|
|
21542
|
-
}, [
|
|
22258
|
+
}, [
|
|
22259
|
+
slidesSlot,
|
|
22260
|
+
slides,
|
|
22261
|
+
tabsListClassName,
|
|
22262
|
+
tabTriggerClassName,
|
|
22263
|
+
tabContentClassName,
|
|
22264
|
+
contentGridClassName,
|
|
22265
|
+
renderFeatures,
|
|
22266
|
+
renderActions,
|
|
22267
|
+
renderImage
|
|
22268
|
+
]);
|
|
21543
22269
|
const effectiveDefaultTab = React52.useMemo(() => {
|
|
21544
22270
|
if (defaultTab) return defaultTab;
|
|
21545
22271
|
if (slides && slides.length > 0) return slides[0].id.toString();
|
|
@@ -21556,15 +22282,63 @@ function FeatureTabbedContentImage({
|
|
|
21556
22282
|
className,
|
|
21557
22283
|
containerClassName,
|
|
21558
22284
|
children: [
|
|
21559
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
21560
|
-
|
|
21561
|
-
|
|
21562
|
-
|
|
22285
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
22286
|
+
"div",
|
|
22287
|
+
{
|
|
22288
|
+
className: cn(
|
|
22289
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-6",
|
|
22290
|
+
headerClassName
|
|
22291
|
+
),
|
|
22292
|
+
children: [
|
|
22293
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22294
|
+
"h2",
|
|
22295
|
+
{
|
|
22296
|
+
className: cn(
|
|
22297
|
+
"text-center text-3xl font-semibold lg:text-5xl",
|
|
22298
|
+
titleClassName
|
|
22299
|
+
),
|
|
22300
|
+
children: title
|
|
22301
|
+
}
|
|
22302
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22303
|
+
"div",
|
|
22304
|
+
{
|
|
22305
|
+
className: cn(
|
|
22306
|
+
"text-center text-3xl font-semibold lg:text-5xl",
|
|
22307
|
+
titleClassName
|
|
22308
|
+
),
|
|
22309
|
+
children: title
|
|
22310
|
+
}
|
|
22311
|
+
)),
|
|
22312
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22313
|
+
"p",
|
|
22314
|
+
{
|
|
22315
|
+
className: cn(
|
|
22316
|
+
"text-center text-balance text-muted-foreground lg:text-xl",
|
|
22317
|
+
descriptionClassName
|
|
22318
|
+
),
|
|
22319
|
+
children: description
|
|
22320
|
+
}
|
|
22321
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22322
|
+
"div",
|
|
22323
|
+
{
|
|
22324
|
+
className: cn(
|
|
22325
|
+
"text-center text-balance text-muted-foreground lg:text-xl",
|
|
22326
|
+
descriptionClassName
|
|
22327
|
+
),
|
|
22328
|
+
children: description
|
|
22329
|
+
}
|
|
22330
|
+
))
|
|
22331
|
+
]
|
|
22332
|
+
}
|
|
22333
|
+
),
|
|
21563
22334
|
(slidesSlot || slides && slides.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12", tabsWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
21564
22335
|
Tabs,
|
|
21565
22336
|
{
|
|
21566
22337
|
defaultValue: effectiveDefaultTab,
|
|
21567
|
-
className: cn(
|
|
22338
|
+
className: cn(
|
|
22339
|
+
"mx-auto flex w-fit flex-col items-center gap-8 md:gap-12",
|
|
22340
|
+
tabsClassName
|
|
22341
|
+
),
|
|
21568
22342
|
children: slidesContent
|
|
21569
22343
|
}
|
|
21570
22344
|
) })
|
|
@@ -21877,7 +22651,7 @@ function FeatureChecklistThreeColumn({
|
|
|
21877
22651
|
Badge,
|
|
21878
22652
|
{
|
|
21879
22653
|
variant: "outline",
|
|
21880
|
-
className: cn("absolute top-5 left-5 bg-
|
|
22654
|
+
className: cn("absolute top-5 left-5 bg-background", card.badgeClassName),
|
|
21881
22655
|
children: card.badge
|
|
21882
22656
|
}
|
|
21883
22657
|
)
|
|
@@ -22045,7 +22819,7 @@ function FeatureIconTabsContent({
|
|
|
22045
22819
|
tabContentClassName,
|
|
22046
22820
|
optixFlowConfig,
|
|
22047
22821
|
background,
|
|
22048
|
-
spacing,
|
|
22822
|
+
spacing = "py-6 md:py-32",
|
|
22049
22823
|
pattern,
|
|
22050
22824
|
patternOpacity,
|
|
22051
22825
|
patternClassName
|
|
@@ -22055,12 +22829,28 @@ function FeatureIconTabsContent({
|
|
|
22055
22829
|
if (tab.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: tab.iconName, size: 16 });
|
|
22056
22830
|
return null;
|
|
22057
22831
|
}, []);
|
|
22058
|
-
const renderTabContentActions = React52.useCallback(
|
|
22059
|
-
|
|
22060
|
-
|
|
22061
|
-
|
|
22062
|
-
|
|
22063
|
-
|
|
22832
|
+
const renderTabContentActions = React52.useCallback(
|
|
22833
|
+
(content) => {
|
|
22834
|
+
if (content.actionsSlot) return content.actionsSlot;
|
|
22835
|
+
if (!content.actions || content.actions.length === 0) return null;
|
|
22836
|
+
return content.actions.map((action, index) => {
|
|
22837
|
+
if (action.children) {
|
|
22838
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22839
|
+
Pressable,
|
|
22840
|
+
{
|
|
22841
|
+
href: action.href,
|
|
22842
|
+
onClick: action.onClick,
|
|
22843
|
+
variant: action.variant,
|
|
22844
|
+
size: action.size,
|
|
22845
|
+
className: cn("mt-2.5 w-fit gap-2", action.className),
|
|
22846
|
+
"aria-label": action["aria-label"],
|
|
22847
|
+
asButton: true,
|
|
22848
|
+
children: action.children
|
|
22849
|
+
},
|
|
22850
|
+
index
|
|
22851
|
+
);
|
|
22852
|
+
}
|
|
22853
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22064
22854
|
Pressable,
|
|
22065
22855
|
{
|
|
22066
22856
|
href: action.href,
|
|
@@ -22070,90 +22860,174 @@ function FeatureIconTabsContent({
|
|
|
22070
22860
|
className: cn("mt-2.5 w-fit gap-2", action.className),
|
|
22071
22861
|
"aria-label": action["aria-label"],
|
|
22072
22862
|
asButton: true,
|
|
22073
|
-
children:
|
|
22863
|
+
children: [
|
|
22864
|
+
action.icon,
|
|
22865
|
+
action.label,
|
|
22866
|
+
action.iconAfter
|
|
22867
|
+
]
|
|
22074
22868
|
},
|
|
22075
22869
|
index
|
|
22076
22870
|
);
|
|
22871
|
+
});
|
|
22872
|
+
},
|
|
22873
|
+
[]
|
|
22874
|
+
);
|
|
22875
|
+
const renderTabContentImage = React52.useCallback(
|
|
22876
|
+
(content) => {
|
|
22877
|
+
if (content.imageSlot) return content.imageSlot;
|
|
22878
|
+
if (content.imageSrc) {
|
|
22879
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22880
|
+
img.Img,
|
|
22881
|
+
{
|
|
22882
|
+
src: content.imageSrc,
|
|
22883
|
+
alt: content.imageAlt || "Tab content image",
|
|
22884
|
+
className: cn(
|
|
22885
|
+
"h-full w-full rounded-xl object-cover",
|
|
22886
|
+
content.imageClassName
|
|
22887
|
+
),
|
|
22888
|
+
loading: "lazy",
|
|
22889
|
+
optixFlowConfig
|
|
22890
|
+
}
|
|
22891
|
+
);
|
|
22077
22892
|
}
|
|
22078
|
-
return
|
|
22079
|
-
|
|
22080
|
-
|
|
22081
|
-
|
|
22082
|
-
onClick: action.onClick,
|
|
22083
|
-
variant: action.variant,
|
|
22084
|
-
size: action.size,
|
|
22085
|
-
className: cn("mt-2.5 w-fit gap-2", action.className),
|
|
22086
|
-
"aria-label": action["aria-label"],
|
|
22087
|
-
asButton: true,
|
|
22088
|
-
children: [
|
|
22089
|
-
action.icon,
|
|
22090
|
-
action.label,
|
|
22091
|
-
action.iconAfter
|
|
22092
|
-
]
|
|
22093
|
-
},
|
|
22094
|
-
index
|
|
22095
|
-
);
|
|
22096
|
-
});
|
|
22097
|
-
}, []);
|
|
22098
|
-
const renderTabContentImage = React52.useCallback((content) => {
|
|
22099
|
-
if (content.imageSlot) return content.imageSlot;
|
|
22100
|
-
if (content.imageSrc) {
|
|
22101
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22102
|
-
img.Img,
|
|
22103
|
-
{
|
|
22104
|
-
src: content.imageSrc,
|
|
22105
|
-
alt: content.imageAlt || "Tab content image",
|
|
22106
|
-
className: cn("h-full w-full rounded-xl object-cover", content.imageClassName),
|
|
22107
|
-
loading: "lazy",
|
|
22108
|
-
optixFlowConfig
|
|
22109
|
-
}
|
|
22110
|
-
);
|
|
22111
|
-
}
|
|
22112
|
-
return null;
|
|
22113
|
-
}, [optixFlowConfig]);
|
|
22893
|
+
return null;
|
|
22894
|
+
},
|
|
22895
|
+
[optixFlowConfig]
|
|
22896
|
+
);
|
|
22114
22897
|
const tabsContent = React52.useMemo(() => {
|
|
22115
22898
|
if (tabsSlot) return tabsSlot;
|
|
22116
22899
|
if (!tabs || tabs.length === 0) return null;
|
|
22117
22900
|
const activeDefaultTab = defaultTab || tabs[0]?.value;
|
|
22118
22901
|
return /* @__PURE__ */ jsxRuntime.jsxs(Tabs, { defaultValue: activeDefaultTab, className: "mt-8", children: [
|
|
22119
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22120
|
-
|
|
22902
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
22903
|
+
TabsList,
|
|
22121
22904
|
{
|
|
22122
|
-
|
|
22123
|
-
|
|
22124
|
-
|
|
22125
|
-
|
|
22126
|
-
|
|
22127
|
-
|
|
22128
|
-
|
|
22129
|
-
|
|
22130
|
-
|
|
22131
|
-
|
|
22132
|
-
|
|
22133
|
-
|
|
22905
|
+
className: cn(
|
|
22906
|
+
"inline-flex w-auto min-w-full items-center justify-start gap-2 bg-transparent md:justify-center md:gap-4",
|
|
22907
|
+
tabsListClassName
|
|
22908
|
+
),
|
|
22909
|
+
children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22910
|
+
TabsTrigger,
|
|
22911
|
+
{
|
|
22912
|
+
value: tab.value,
|
|
22913
|
+
className: cn(
|
|
22914
|
+
"flex shrink-0 items-center gap-2 rounded-lg border border-border bg-background px-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:border-primary data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
|
|
22915
|
+
tabTriggerClassName,
|
|
22916
|
+
tab.className
|
|
22917
|
+
),
|
|
22918
|
+
children: [
|
|
22919
|
+
(tab.icon || tab.iconName) && renderTabIcon(tab),
|
|
22920
|
+
tab.label
|
|
22921
|
+
]
|
|
22922
|
+
},
|
|
22923
|
+
tab.value
|
|
22924
|
+
))
|
|
22134
22925
|
}
|
|
22135
|
-
|
|
22136
|
-
|
|
22137
|
-
|
|
22138
|
-
|
|
22139
|
-
|
|
22140
|
-
|
|
22141
|
-
|
|
22142
|
-
|
|
22143
|
-
|
|
22144
|
-
|
|
22145
|
-
|
|
22146
|
-
|
|
22147
|
-
|
|
22148
|
-
|
|
22149
|
-
|
|
22150
|
-
|
|
22151
|
-
|
|
22152
|
-
|
|
22153
|
-
|
|
22154
|
-
|
|
22926
|
+
) }),
|
|
22927
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
22928
|
+
"div",
|
|
22929
|
+
{
|
|
22930
|
+
className: cn(
|
|
22931
|
+
"mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16",
|
|
22932
|
+
contentWrapperClassName
|
|
22933
|
+
),
|
|
22934
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: tabs.map((tab) => {
|
|
22935
|
+
if (tab.contentSlot) {
|
|
22936
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
22937
|
+
TabsContent,
|
|
22938
|
+
{
|
|
22939
|
+
value: tab.value,
|
|
22940
|
+
className: tabContentClassName,
|
|
22941
|
+
children: tab.contentSlot
|
|
22942
|
+
},
|
|
22943
|
+
tab.value
|
|
22944
|
+
);
|
|
22945
|
+
}
|
|
22946
|
+
const content = tab.content;
|
|
22947
|
+
if (!content) return null;
|
|
22948
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22949
|
+
TabsContent,
|
|
22950
|
+
{
|
|
22951
|
+
value: tab.value,
|
|
22952
|
+
className: cn(
|
|
22953
|
+
"grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10",
|
|
22954
|
+
tabContentClassName,
|
|
22955
|
+
content.className
|
|
22956
|
+
),
|
|
22957
|
+
children: [
|
|
22958
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
22959
|
+
content.badge && /* @__PURE__ */ jsxRuntime.jsx(
|
|
22960
|
+
Badge,
|
|
22961
|
+
{
|
|
22962
|
+
variant: "outline",
|
|
22963
|
+
className: cn(
|
|
22964
|
+
"w-fit bg-background",
|
|
22965
|
+
content.badgeClassName
|
|
22966
|
+
),
|
|
22967
|
+
children: content.badge
|
|
22968
|
+
}
|
|
22969
|
+
),
|
|
22970
|
+
content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22971
|
+
"h3",
|
|
22972
|
+
{
|
|
22973
|
+
className: cn(
|
|
22974
|
+
"text-3xl font-semibold lg:text-5xl",
|
|
22975
|
+
content.titleClassName
|
|
22976
|
+
),
|
|
22977
|
+
children: content.title
|
|
22978
|
+
}
|
|
22979
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22980
|
+
"div",
|
|
22981
|
+
{
|
|
22982
|
+
className: cn(
|
|
22983
|
+
"text-3xl font-semibold lg:text-5xl",
|
|
22984
|
+
content.titleClassName
|
|
22985
|
+
),
|
|
22986
|
+
children: content.title
|
|
22987
|
+
}
|
|
22988
|
+
)),
|
|
22989
|
+
content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
22990
|
+
"p",
|
|
22991
|
+
{
|
|
22992
|
+
className: cn(
|
|
22993
|
+
"text-muted-foreground lg:text-lg",
|
|
22994
|
+
content.descriptionClassName
|
|
22995
|
+
),
|
|
22996
|
+
children: content.description
|
|
22997
|
+
}
|
|
22998
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
22999
|
+
"div",
|
|
23000
|
+
{
|
|
23001
|
+
className: cn(
|
|
23002
|
+
"text-muted-foreground lg:text-lg",
|
|
23003
|
+
content.descriptionClassName
|
|
23004
|
+
),
|
|
23005
|
+
children: content.description
|
|
23006
|
+
}
|
|
23007
|
+
)),
|
|
23008
|
+
(content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
|
|
23009
|
+
] }),
|
|
23010
|
+
(content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
|
|
23011
|
+
]
|
|
23012
|
+
},
|
|
23013
|
+
tab.value
|
|
23014
|
+
);
|
|
23015
|
+
}) })
|
|
23016
|
+
}
|
|
23017
|
+
)
|
|
22155
23018
|
] });
|
|
22156
|
-
}, [
|
|
23019
|
+
}, [
|
|
23020
|
+
tabsSlot,
|
|
23021
|
+
tabs,
|
|
23022
|
+
defaultTab,
|
|
23023
|
+
tabsListClassName,
|
|
23024
|
+
tabTriggerClassName,
|
|
23025
|
+
contentWrapperClassName,
|
|
23026
|
+
tabContentClassName,
|
|
23027
|
+
renderTabIcon,
|
|
23028
|
+
renderTabContentActions,
|
|
23029
|
+
renderTabContentImage
|
|
23030
|
+
]);
|
|
22157
23031
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22158
23032
|
Section,
|
|
22159
23033
|
{
|
|
@@ -22165,11 +23039,44 @@ function FeatureIconTabsContent({
|
|
|
22165
23039
|
className,
|
|
22166
23040
|
containerClassName: cn("mx-auto", containerClassName),
|
|
22167
23041
|
children: [
|
|
22168
|
-
(badge || heading || description) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22169
|
-
|
|
22170
|
-
|
|
22171
|
-
|
|
22172
|
-
|
|
23042
|
+
(badge || heading || description) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23043
|
+
"div",
|
|
23044
|
+
{
|
|
23045
|
+
className: cn(
|
|
23046
|
+
"flex flex-col items-center gap-4 text-center",
|
|
23047
|
+
headerClassName
|
|
23048
|
+
),
|
|
23049
|
+
children: [
|
|
23050
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
|
|
23051
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23052
|
+
"h1",
|
|
23053
|
+
{
|
|
23054
|
+
className: cn(
|
|
23055
|
+
"max-w-2xl text-3xl font-semibold md:text-4xl",
|
|
23056
|
+
headingClassName
|
|
23057
|
+
),
|
|
23058
|
+
children: heading
|
|
23059
|
+
}
|
|
23060
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23061
|
+
"div",
|
|
23062
|
+
{
|
|
23063
|
+
className: cn(
|
|
23064
|
+
"max-w-2xl text-3xl font-semibold md:text-4xl",
|
|
23065
|
+
headingClassName
|
|
23066
|
+
),
|
|
23067
|
+
children: heading
|
|
23068
|
+
}
|
|
23069
|
+
)),
|
|
23070
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23071
|
+
"div",
|
|
23072
|
+
{
|
|
23073
|
+
className: cn("text-muted-foreground", descriptionClassName),
|
|
23074
|
+
children: description
|
|
23075
|
+
}
|
|
23076
|
+
))
|
|
23077
|
+
]
|
|
23078
|
+
}
|
|
23079
|
+
),
|
|
22173
23080
|
tabsContent
|
|
22174
23081
|
]
|
|
22175
23082
|
}
|
|
@@ -22250,7 +23157,7 @@ function FeatureImageOverlayBadge({
|
|
|
22250
23157
|
overlayTitleClassName,
|
|
22251
23158
|
optixFlowConfig,
|
|
22252
23159
|
background,
|
|
22253
|
-
spacing,
|
|
23160
|
+
spacing = "py-6 md:py-32",
|
|
22254
23161
|
pattern,
|
|
22255
23162
|
patternOpacity,
|
|
22256
23163
|
patternClassName
|
|
@@ -22303,7 +23210,10 @@ function FeatureImageOverlayBadge({
|
|
|
22303
23210
|
{
|
|
22304
23211
|
src: imageSrc,
|
|
22305
23212
|
alt: imageAlt || "Feature illustration",
|
|
22306
|
-
className: cn(
|
|
23213
|
+
className: cn(
|
|
23214
|
+
"rounded-2xl object-cover md:aspect-video lg:aspect-auto w-full h-auto",
|
|
23215
|
+
imageClassName
|
|
23216
|
+
),
|
|
22307
23217
|
loading: "lazy",
|
|
22308
23218
|
optixFlowConfig
|
|
22309
23219
|
}
|
|
@@ -22321,41 +23231,111 @@ function FeatureImageOverlayBadge({
|
|
|
22321
23231
|
patternClassName,
|
|
22322
23232
|
className,
|
|
22323
23233
|
containerClassName,
|
|
22324
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22325
|
-
|
|
22326
|
-
|
|
22327
|
-
|
|
22328
|
-
|
|
22329
|
-
|
|
22330
|
-
|
|
22331
|
-
|
|
22332
|
-
|
|
22333
|
-
|
|
22334
|
-
|
|
22335
|
-
|
|
22336
|
-
|
|
22337
|
-
|
|
22338
|
-
|
|
22339
|
-
|
|
22340
|
-
|
|
22341
|
-
|
|
22342
|
-
|
|
22343
|
-
|
|
23234
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23235
|
+
"div",
|
|
23236
|
+
{
|
|
23237
|
+
className: cn(
|
|
23238
|
+
"grid place-items-center gap-10 lg:grid-cols-2",
|
|
23239
|
+
gridClassName
|
|
23240
|
+
),
|
|
23241
|
+
children: [
|
|
23242
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
|
|
23243
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: cn("", badgeClassName), children: badge }),
|
|
23244
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23245
|
+
"h3",
|
|
23246
|
+
{
|
|
23247
|
+
className: cn(
|
|
23248
|
+
"text-3xl font-semibold lg:text-4xl leading-snug text-balance",
|
|
23249
|
+
titleClassName
|
|
23250
|
+
),
|
|
23251
|
+
children: title
|
|
23252
|
+
}
|
|
23253
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23254
|
+
"div",
|
|
23255
|
+
{
|
|
23256
|
+
className: cn(
|
|
23257
|
+
"text-3xl font-semibold lg:text-5xl",
|
|
23258
|
+
titleClassName
|
|
23259
|
+
),
|
|
23260
|
+
children: title
|
|
23261
|
+
}
|
|
23262
|
+
)),
|
|
23263
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("lg:text-lg", descriptionClassName), children: description })),
|
|
23264
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23265
|
+
"div",
|
|
23266
|
+
{
|
|
23267
|
+
className: cn(
|
|
23268
|
+
"flex items-center gap-4 flex-wrap",
|
|
23269
|
+
actionsClassName
|
|
23270
|
+
),
|
|
23271
|
+
children: actionsContent
|
|
23272
|
+
}
|
|
23273
|
+
)
|
|
23274
|
+
] }),
|
|
23275
|
+
imageContent && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative rounded-2xl", imageWrapperClassName), children: [
|
|
23276
|
+
imageContent,
|
|
23277
|
+
(avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
23278
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
23279
|
+
"div",
|
|
22344
23280
|
{
|
|
22345
|
-
|
|
22346
|
-
|
|
22347
|
-
|
|
22348
|
-
|
|
22349
|
-
overlayLinkText,
|
|
22350
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
|
|
22351
|
-
]
|
|
23281
|
+
className: cn(
|
|
23282
|
+
"absolute top-0 right-0 bottom-0 left-0 rounded-2xl bg-linear-to-t from-black via-black/20 to-transparent",
|
|
23283
|
+
overlayClassName
|
|
23284
|
+
)
|
|
22352
23285
|
}
|
|
22353
|
-
)
|
|
23286
|
+
),
|
|
23287
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between pt-4 pr-4 pl-4 pb-8 md:pt-7 md:bpr-7 md:pl-7 md:pb-7 rounded-2xl", children: [
|
|
23288
|
+
(avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23289
|
+
"span",
|
|
23290
|
+
{
|
|
23291
|
+
className: cn(
|
|
23292
|
+
"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 shadow-xl",
|
|
23293
|
+
avatarBadgeClassName
|
|
23294
|
+
),
|
|
23295
|
+
children: [
|
|
23296
|
+
avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
|
|
23297
|
+
avatarBadgeText
|
|
23298
|
+
]
|
|
23299
|
+
}
|
|
23300
|
+
),
|
|
23301
|
+
(overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
23302
|
+
overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
23303
|
+
"h4",
|
|
23304
|
+
{
|
|
23305
|
+
className: cn(
|
|
23306
|
+
"text-lg font-semibold lg:text-3xl",
|
|
23307
|
+
overlayTitleClassName
|
|
23308
|
+
),
|
|
23309
|
+
children: overlayTitle
|
|
23310
|
+
}
|
|
23311
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
23312
|
+
"div",
|
|
23313
|
+
{
|
|
23314
|
+
className: cn(
|
|
23315
|
+
"text-lg font-semibold lg:text-3xl",
|
|
23316
|
+
overlayTitleClassName
|
|
23317
|
+
),
|
|
23318
|
+
children: overlayTitle
|
|
23319
|
+
}
|
|
23320
|
+
)),
|
|
23321
|
+
overlayLinkText && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23322
|
+
Pressable,
|
|
23323
|
+
{
|
|
23324
|
+
href: overlayLinkUrl,
|
|
23325
|
+
onClick: overlayLinkOnClick,
|
|
23326
|
+
children: [
|
|
23327
|
+
overlayLinkText,
|
|
23328
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 18 })
|
|
23329
|
+
]
|
|
23330
|
+
}
|
|
23331
|
+
)
|
|
23332
|
+
] })
|
|
23333
|
+
] })
|
|
22354
23334
|
] })
|
|
22355
23335
|
] })
|
|
22356
|
-
]
|
|
22357
|
-
|
|
22358
|
-
|
|
23336
|
+
]
|
|
23337
|
+
}
|
|
23338
|
+
)
|
|
22359
23339
|
}
|
|
22360
23340
|
);
|
|
22361
23341
|
}
|
|
@@ -22799,9 +23779,9 @@ function FeatureStatsHighlight({
|
|
|
22799
23779
|
return stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
22800
23780
|
"div",
|
|
22801
23781
|
{
|
|
22802
|
-
className: cn("flex flex-col gap-2 rounded-xl border bg-
|
|
23782
|
+
className: cn("flex flex-col gap-2 rounded-xl border bg-card p-6", statCardClassName, stat.className),
|
|
22803
23783
|
children: [
|
|
22804
|
-
stat.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-4xl font-bold
|
|
23784
|
+
stat.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-4xl font-bold lg:text-5xl", stat.valueClassName), children: stat.value }),
|
|
22805
23785
|
stat.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-muted-foreground", stat.labelClassName), children: stat.label })
|
|
22806
23786
|
]
|
|
22807
23787
|
},
|
|
@@ -34774,7 +35754,10 @@ function BlogHorizontalTimelineComponent({
|
|
|
34774
35754
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34775
35755
|
Card,
|
|
34776
35756
|
{
|
|
34777
|
-
className: cn(
|
|
35757
|
+
className: cn(
|
|
35758
|
+
"w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
|
|
35759
|
+
postCardClassName
|
|
35760
|
+
),
|
|
34778
35761
|
children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34779
35762
|
"div",
|
|
34780
35763
|
{
|
|
@@ -34789,9 +35772,9 @@ function BlogHorizontalTimelineComponent({
|
|
|
34789
35772
|
] }),
|
|
34790
35773
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
|
|
34791
35774
|
postDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
|
|
34792
|
-
readText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, asButton: true, variant: "
|
|
35775
|
+
readText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
|
|
34793
35776
|
readText,
|
|
34794
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
|
|
35777
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
|
|
34795
35778
|
] })
|
|
34796
35779
|
] })
|
|
34797
35780
|
]
|
|
@@ -34832,7 +35815,7 @@ function BlogHorizontalTimelineComponent({
|
|
|
34832
35815
|
children: heading
|
|
34833
35816
|
}
|
|
34834
35817
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
|
|
34835
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
|
|
35818
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
|
|
34836
35819
|
] })
|
|
34837
35820
|
}
|
|
34838
35821
|
);
|
|
@@ -35448,7 +36431,7 @@ function ArticleSidebarStickyComponent({
|
|
|
35448
36431
|
children,
|
|
35449
36432
|
optixFlowConfig,
|
|
35450
36433
|
background,
|
|
35451
|
-
spacing,
|
|
36434
|
+
spacing = "py-6 md:py-32",
|
|
35452
36435
|
pattern,
|
|
35453
36436
|
patternOpacity
|
|
35454
36437
|
}) {
|
|
@@ -35459,7 +36442,10 @@ function ArticleSidebarStickyComponent({
|
|
|
35459
36442
|
Pressable,
|
|
35460
36443
|
{
|
|
35461
36444
|
href: backHref,
|
|
35462
|
-
className: cn(
|
|
36445
|
+
className: cn(
|
|
36446
|
+
"inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",
|
|
36447
|
+
backLinkClassName
|
|
36448
|
+
),
|
|
35463
36449
|
children: [
|
|
35464
36450
|
backIcon ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 }),
|
|
35465
36451
|
backText
|
|
@@ -35467,21 +36453,38 @@ function ArticleSidebarStickyComponent({
|
|
|
35467
36453
|
}
|
|
35468
36454
|
);
|
|
35469
36455
|
}, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
|
|
35470
|
-
const renderAuthor = React52__namespace.useCallback(
|
|
35471
|
-
|
|
35472
|
-
|
|
35473
|
-
|
|
35474
|
-
|
|
35475
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
35476
|
-
/* @__PURE__ */ jsxRuntime.
|
|
35477
|
-
|
|
35478
|
-
|
|
35479
|
-
|
|
35480
|
-
|
|
35481
|
-
|
|
35482
|
-
|
|
35483
|
-
|
|
35484
|
-
|
|
36456
|
+
const renderAuthor = React52__namespace.useCallback(
|
|
36457
|
+
(isMobile = false) => {
|
|
36458
|
+
if (authorSlot) return authorSlot;
|
|
36459
|
+
if (!authorName) return null;
|
|
36460
|
+
const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
|
|
36461
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
|
|
36462
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: avatarSize, children: [
|
|
36463
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: authorImage }),
|
|
36464
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: authorName.charAt(0) })
|
|
36465
|
+
] }),
|
|
36466
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
36467
|
+
authorHref ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36468
|
+
Pressable,
|
|
36469
|
+
{
|
|
36470
|
+
href: authorHref,
|
|
36471
|
+
className: "text-sm font-medium hover:underline",
|
|
36472
|
+
children: authorName
|
|
36473
|
+
}
|
|
36474
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: authorName }),
|
|
36475
|
+
publishDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
|
|
36476
|
+
] })
|
|
36477
|
+
] });
|
|
36478
|
+
},
|
|
36479
|
+
[
|
|
36480
|
+
authorSlot,
|
|
36481
|
+
authorName,
|
|
36482
|
+
authorImage,
|
|
36483
|
+
authorHref,
|
|
36484
|
+
publishDate,
|
|
36485
|
+
authorClassName
|
|
36486
|
+
]
|
|
36487
|
+
);
|
|
35485
36488
|
const heroMediaContent = React52__namespace.useMemo(() => {
|
|
35486
36489
|
if (heroMediaSlot) return heroMediaSlot;
|
|
35487
36490
|
if (!heroImageSrc) return null;
|
|
@@ -35490,11 +36493,20 @@ function ArticleSidebarStickyComponent({
|
|
|
35490
36493
|
{
|
|
35491
36494
|
src: heroImageSrc,
|
|
35492
36495
|
alt: heroImageAlt,
|
|
35493
|
-
className: cn(
|
|
36496
|
+
className: cn(
|
|
36497
|
+
"my-8 aspect-video w-full rounded-lg object-cover",
|
|
36498
|
+
heroImageClassName
|
|
36499
|
+
),
|
|
35494
36500
|
optixFlowConfig
|
|
35495
36501
|
}
|
|
35496
36502
|
);
|
|
35497
|
-
}, [
|
|
36503
|
+
}, [
|
|
36504
|
+
heroMediaSlot,
|
|
36505
|
+
heroImageSrc,
|
|
36506
|
+
heroImageAlt,
|
|
36507
|
+
heroImageClassName,
|
|
36508
|
+
optixFlowConfig
|
|
36509
|
+
]);
|
|
35498
36510
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35499
36511
|
Section,
|
|
35500
36512
|
{
|
|
@@ -35508,13 +36520,31 @@ function ArticleSidebarStickyComponent({
|
|
|
35508
36520
|
backLinkContent,
|
|
35509
36521
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
|
|
35510
36522
|
] }) }),
|
|
35511
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
35512
|
-
|
|
35513
|
-
|
|
35514
|
-
|
|
35515
|
-
|
|
35516
|
-
|
|
35517
|
-
|
|
36523
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
36524
|
+
"article",
|
|
36525
|
+
{
|
|
36526
|
+
className: cn(
|
|
36527
|
+
"prose max-w-none dark:prose-invert",
|
|
36528
|
+
articleClassName
|
|
36529
|
+
),
|
|
36530
|
+
children: [
|
|
36531
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
|
|
36532
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36533
|
+
"h1",
|
|
36534
|
+
{
|
|
36535
|
+
className: cn(
|
|
36536
|
+
"text-4xl font-bold tracking-tight md:text-5xl",
|
|
36537
|
+
titleClassName
|
|
36538
|
+
),
|
|
36539
|
+
children: title
|
|
36540
|
+
}
|
|
36541
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
36542
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
|
|
36543
|
+
heroMediaContent,
|
|
36544
|
+
children
|
|
36545
|
+
]
|
|
36546
|
+
}
|
|
36547
|
+
)
|
|
35518
36548
|
] }) })
|
|
35519
36549
|
}
|
|
35520
36550
|
);
|
|
@@ -35708,7 +36738,6 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35708
36738
|
authorClassName,
|
|
35709
36739
|
heroImageClassName,
|
|
35710
36740
|
tocClassName,
|
|
35711
|
-
shareClassName,
|
|
35712
36741
|
breadcrumbs,
|
|
35713
36742
|
breadcrumbsSlot,
|
|
35714
36743
|
currentPage,
|
|
@@ -35723,9 +36752,6 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35723
36752
|
sections,
|
|
35724
36753
|
tocSlot,
|
|
35725
36754
|
renderSectionLink,
|
|
35726
|
-
socialLinks: socialLinksProp,
|
|
35727
|
-
shareUrls,
|
|
35728
|
-
shareSlot,
|
|
35729
36755
|
heroImageSrc,
|
|
35730
36756
|
heroImageAlt,
|
|
35731
36757
|
heroMediaSlot,
|
|
@@ -35734,35 +36760,11 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35734
36760
|
enableBackToTop,
|
|
35735
36761
|
optixFlowConfig,
|
|
35736
36762
|
background,
|
|
35737
|
-
spacing,
|
|
36763
|
+
spacing = "py-6 md:py-32",
|
|
35738
36764
|
pattern,
|
|
35739
36765
|
patternOpacity
|
|
35740
36766
|
}) {
|
|
35741
36767
|
const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
|
|
35742
|
-
const platformLabels = {
|
|
35743
|
-
twitter: "Twitter",
|
|
35744
|
-
x: "X",
|
|
35745
|
-
facebook: "Facebook",
|
|
35746
|
-
linkedin: "LinkedIn",
|
|
35747
|
-
instagram: "Instagram",
|
|
35748
|
-
github: "GitHub"
|
|
35749
|
-
};
|
|
35750
|
-
const socialIconMap2 = {
|
|
35751
|
-
twitter: "simple-icons/x",
|
|
35752
|
-
// Twitter is now X
|
|
35753
|
-
x: "simple-icons/x",
|
|
35754
|
-
facebook: "simple-icons/facebook",
|
|
35755
|
-
linkedin: "simple-icons/linkedin",
|
|
35756
|
-
instagram: "simple-icons/instagram",
|
|
35757
|
-
github: "simple-icons/github"
|
|
35758
|
-
};
|
|
35759
|
-
const socialLinks = socialLinksProp ?? (shareUrls ? Object.entries(shareUrls).filter(([, href]) => href).map(([platform, href]) => ({
|
|
35760
|
-
platform,
|
|
35761
|
-
href,
|
|
35762
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: socialIconMap2[platform] || `simple-icons/${platform}`, size: 16 }),
|
|
35763
|
-
"aria-label": `Share on ${platformLabels[platform] || platform.charAt(0).toUpperCase() + platform.slice(1)}`,
|
|
35764
|
-
className: void 0
|
|
35765
|
-
})) : []);
|
|
35766
36768
|
const [activeSection, setActiveSection] = React52__namespace.useState(
|
|
35767
36769
|
sections?.[0]?.id || ""
|
|
35768
36770
|
);
|
|
@@ -35814,16 +36816,25 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35814
36816
|
const authorContent = React52__namespace.useMemo(() => {
|
|
35815
36817
|
if (authorSlot) return authorSlot;
|
|
35816
36818
|
if (!author) return null;
|
|
35817
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35818
|
-
|
|
35819
|
-
|
|
35820
|
-
|
|
35821
|
-
|
|
35822
|
-
|
|
35823
|
-
|
|
35824
|
-
|
|
35825
|
-
|
|
35826
|
-
|
|
36819
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36820
|
+
"div",
|
|
36821
|
+
{
|
|
36822
|
+
className: cn(
|
|
36823
|
+
"mt-6 flex items-center gap-4 not-prose",
|
|
36824
|
+
authorClassName
|
|
36825
|
+
),
|
|
36826
|
+
children: [
|
|
36827
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "h-12 w-12", children: [
|
|
36828
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: author.image }),
|
|
36829
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
|
|
36830
|
+
] }),
|
|
36831
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
36832
|
+
author.name && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: author.name }),
|
|
36833
|
+
(author.role || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
|
|
36834
|
+
] })
|
|
36835
|
+
]
|
|
36836
|
+
}
|
|
36837
|
+
);
|
|
35827
36838
|
}, [authorSlot, author, publishDate, readTime, authorClassName]);
|
|
35828
36839
|
const heroMediaContent = React52__namespace.useMemo(() => {
|
|
35829
36840
|
if (heroMediaSlot) return heroMediaSlot;
|
|
@@ -35833,11 +36844,20 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35833
36844
|
{
|
|
35834
36845
|
src: heroImageSrc,
|
|
35835
36846
|
alt: heroImageAlt,
|
|
35836
|
-
className: cn(
|
|
36847
|
+
className: cn(
|
|
36848
|
+
"my-8 aspect-video w-full rounded-lg object-cover",
|
|
36849
|
+
heroImageClassName
|
|
36850
|
+
),
|
|
35837
36851
|
optixFlowConfig
|
|
35838
36852
|
}
|
|
35839
36853
|
);
|
|
35840
|
-
}, [
|
|
36854
|
+
}, [
|
|
36855
|
+
heroMediaSlot,
|
|
36856
|
+
heroImageSrc,
|
|
36857
|
+
heroImageAlt,
|
|
36858
|
+
heroImageClassName,
|
|
36859
|
+
optixFlowConfig
|
|
36860
|
+
]);
|
|
35841
36861
|
const tocContent = React52__namespace.useMemo(() => {
|
|
35842
36862
|
if (tocSlot) return tocSlot;
|
|
35843
36863
|
if (!sections || sections.length === 0) return null;
|
|
@@ -35863,26 +36883,6 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35863
36883
|
}) })
|
|
35864
36884
|
] });
|
|
35865
36885
|
}, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
|
|
35866
|
-
const shareButtonsContent = React52__namespace.useMemo(() => {
|
|
35867
|
-
if (shareSlot) return shareSlot;
|
|
35868
|
-
if (!socialLinks || socialLinks.length === 0) return null;
|
|
35869
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border p-4", shareClassName), children: [
|
|
35870
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-sm font-semibold", children: "Share this article" }),
|
|
35871
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-2", children: socialLinks.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
35872
|
-
Pressable,
|
|
35873
|
-
{
|
|
35874
|
-
href: link.href,
|
|
35875
|
-
className: cn(
|
|
35876
|
-
"flex h-9 w-9 items-center justify-center rounded-md border hover:bg-muted",
|
|
35877
|
-
link.className
|
|
35878
|
-
),
|
|
35879
|
-
"aria-label": link["aria-label"],
|
|
35880
|
-
children: link.icon
|
|
35881
|
-
},
|
|
35882
|
-
index
|
|
35883
|
-
)) })
|
|
35884
|
-
] });
|
|
35885
|
-
}, [shareSlot, socialLinks, shareClassName]);
|
|
35886
36886
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35887
36887
|
Section,
|
|
35888
36888
|
{
|
|
@@ -35895,18 +36895,32 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
35895
36895
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
35896
36896
|
breadcrumbsContent,
|
|
35897
36897
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
|
|
35898
|
-
children && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
35899
|
-
|
|
35900
|
-
|
|
35901
|
-
|
|
35902
|
-
|
|
35903
|
-
|
|
35904
|
-
|
|
35905
|
-
|
|
35906
|
-
|
|
35907
|
-
|
|
35908
|
-
|
|
35909
|
-
|
|
36898
|
+
children && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36899
|
+
"article",
|
|
36900
|
+
{
|
|
36901
|
+
className: cn(
|
|
36902
|
+
"prose max-w-none dark:prose-invert",
|
|
36903
|
+
articleClassName
|
|
36904
|
+
),
|
|
36905
|
+
children: [
|
|
36906
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
36907
|
+
"h1",
|
|
36908
|
+
{
|
|
36909
|
+
className: cn(
|
|
36910
|
+
"text-4xl font-bold tracking-tight md:text-5xl",
|
|
36911
|
+
titleClassName
|
|
36912
|
+
),
|
|
36913
|
+
children: title
|
|
36914
|
+
}
|
|
36915
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
36916
|
+
authorContent,
|
|
36917
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
|
|
36918
|
+
heroMediaContent,
|
|
36919
|
+
children
|
|
36920
|
+
]
|
|
36921
|
+
}
|
|
36922
|
+
),
|
|
36923
|
+
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-8 space-y-6", children: tocContent }) })
|
|
35910
36924
|
] })
|
|
35911
36925
|
] }),
|
|
35912
36926
|
enableBackToTop && showBackToTop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -35983,7 +36997,7 @@ function ArticleCompactTocComponent({
|
|
|
35983
36997
|
enableTocTracking = true,
|
|
35984
36998
|
optixFlowConfig,
|
|
35985
36999
|
background,
|
|
35986
|
-
spacing,
|
|
37000
|
+
spacing = "py-6 md:py-32",
|
|
35987
37001
|
pattern,
|
|
35988
37002
|
patternOpacity
|
|
35989
37003
|
}) {
|