@opensite/ui 0.8.5 → 0.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/about-developer-profile.cjs +1 -1
- package/dist/about-developer-profile.js +1 -1
- package/dist/about-interactive-tabs.cjs +1 -1
- package/dist/about-interactive-tabs.js +1 -1
- package/dist/about-location-info-hero.cjs +5 -5
- package/dist/about-location-info-hero.js +5 -5
- package/dist/about-mission-features.cjs +3 -3
- package/dist/about-mission-features.js +3 -3
- package/dist/about-mission-principles.cjs +1 -1
- package/dist/about-mission-principles.js +1 -1
- package/dist/about-network-spotlight.cjs +6 -6
- package/dist/about-network-spotlight.js +6 -6
- package/dist/about-split-hero.cjs +4 -4
- package/dist/about-split-hero.js +4 -4
- package/dist/about-startup-team.cjs +3 -3
- package/dist/about-startup-team.js +3 -3
- package/dist/about-story-expertise.cjs +4 -4
- package/dist/about-story-expertise.js +4 -4
- package/dist/article-breadcrumb-social.cjs +1 -1
- package/dist/article-breadcrumb-social.js +1 -1
- package/dist/article-chapters-author.cjs +1 -1
- package/dist/article-chapters-author.js +1 -1
- package/dist/article-compact-toc.cjs +1 -1
- package/dist/article-compact-toc.js +1 -1
- package/dist/article-split-animated.cjs +1 -1
- package/dist/article-split-animated.js +1 -1
- package/dist/article-toc-sidebar.cjs +1 -1
- package/dist/article-toc-sidebar.js +1 -1
- package/dist/banner-countdown-sale.cjs +1 -1
- package/dist/banner-countdown-sale.js +1 -1
- package/dist/banner-social-follow.cjs +1 -1
- package/dist/banner-social-follow.js +1 -1
- package/dist/blog-cards-tagline-cta.cjs +1 -1
- package/dist/blog-cards-tagline-cta.js +1 -1
- package/dist/blog-horizontal-timeline.cjs +2 -2
- package/dist/blog-horizontal-timeline.js +2 -2
- package/dist/blog-tech-insights.cjs +6 -6
- package/dist/blog-tech-insights.js +6 -6
- package/dist/carousel-animated-sections.cjs +7 -8
- package/dist/carousel-animated-sections.js +7 -8
- package/dist/carousel-auto-progress-slides.cjs +7 -7
- package/dist/carousel-auto-progress-slides.js +7 -7
- package/dist/carousel-autoplay-progress.cjs +3 -3
- package/dist/carousel-autoplay-progress.js +3 -3
- package/dist/carousel-fullscreen-scroll-fx.cjs +7 -7
- package/dist/carousel-fullscreen-scroll-fx.js +7 -7
- package/dist/carousel-horizontal-cards.cjs +1 -1
- package/dist/carousel-horizontal-cards.js +1 -1
- package/dist/carousel-icon-sidebar.cjs +3 -3
- package/dist/carousel-icon-sidebar.js +3 -3
- package/dist/carousel-image-hero.cjs +2 -2
- package/dist/carousel-image-hero.js +2 -2
- package/dist/carousel-multi-step-showcase.cjs +1 -1
- package/dist/carousel-multi-step-showcase.js +1 -1
- package/dist/carousel-portfolio-hero.cjs +5 -5
- package/dist/carousel-portfolio-hero.js +5 -5
- package/dist/carousel-progress-slider.cjs +1 -1
- package/dist/carousel-progress-slider.js +1 -1
- package/dist/case-studies-image-grid.cjs +2 -2
- package/dist/case-studies-image-grid.js +2 -2
- package/dist/case-studies-stats-card.cjs +1 -1
- package/dist/case-studies-stats-card.js +1 -1
- package/dist/case-study-prose-sidebar.cjs +1 -1
- package/dist/case-study-prose-sidebar.js +1 -1
- package/dist/case-study-toc-social-sidebar.cjs +1 -1
- package/dist/case-study-toc-social-sidebar.js +1 -1
- package/dist/comparison-ai-models.cjs +15 -15
- package/dist/comparison-ai-models.js +15 -15
- package/dist/comparison-feature-cards.cjs +1 -1
- package/dist/comparison-feature-cards.js +1 -1
- package/dist/comparison-feature-grid.cjs +1 -1
- package/dist/comparison-feature-grid.js +1 -1
- package/dist/comparison-metrics-rows.cjs +6 -6
- package/dist/comparison-metrics-rows.js +6 -6
- package/dist/comparison-table-tabs.cjs +5 -5
- package/dist/comparison-table-tabs.js +5 -5
- package/dist/comparison-table-tooltips.cjs +1 -1
- package/dist/comparison-table-tooltips.js +1 -1
- package/dist/comparison-table-two-column.cjs +2 -2
- package/dist/comparison-table-two-column.js +2 -2
- package/dist/components.cjs +22 -23
- package/dist/components.js +22 -23
- package/dist/contact-emergency.cjs +1 -1
- package/dist/contact-emergency.js +1 -1
- package/dist/contact-help-center.cjs +3 -3
- package/dist/contact-help-center.js +3 -3
- package/dist/cta-background-icon-badge.cjs +1 -1
- package/dist/cta-background-icon-badge.js +1 -1
- package/dist/cta-enterprise-dark-features.cjs +5 -5
- package/dist/cta-enterprise-dark-features.js +5 -5
- package/dist/cta-fullwidth-background.cjs +1 -1
- package/dist/cta-fullwidth-background.js +1 -1
- package/dist/cta-hero-feature-cards.cjs +3 -3
- package/dist/cta-hero-feature-cards.js +3 -3
- package/dist/cta-image-overlay-arrow.cjs +1 -1
- package/dist/cta-image-overlay-arrow.js +1 -1
- package/dist/cta-image-overlay-centered.cjs +2 -2
- package/dist/cta-image-overlay-centered.js +2 -2
- package/dist/cta-split-gradient-image.cjs +1 -1
- package/dist/cta-split-gradient-image.js +1 -1
- package/dist/cta-video-background-hero.cjs +3 -3
- package/dist/cta-video-background-hero.js +3 -3
- package/dist/cta-workflow-tabs.cjs +1 -1
- package/dist/cta-workflow-tabs.js +1 -1
- package/dist/faq-badge-support.cjs +26 -8
- package/dist/faq-badge-support.js +26 -8
- package/dist/faq-bordered-badge.cjs +26 -10
- package/dist/faq-bordered-badge.js +26 -10
- package/dist/faq-card-categories.cjs +21 -5
- package/dist/faq-card-categories.js +21 -5
- package/dist/faq-categorized-sections.cjs +20 -5
- package/dist/faq-categorized-sections.js +20 -5
- package/dist/faq-centered-accordion.cjs +19 -6
- package/dist/faq-centered-accordion.js +19 -6
- package/dist/faq-gradient-categories.cjs +20 -5
- package/dist/faq-gradient-categories.js +20 -5
- package/dist/faq-icon-benefits.cjs +11 -2
- package/dist/faq-icon-benefits.js +11 -2
- package/dist/faq-muted-cards.cjs +20 -7
- package/dist/faq-muted-cards.js +20 -7
- package/dist/faq-numbered-grid.cjs +11 -3
- package/dist/faq-numbered-grid.js +11 -3
- package/dist/faq-numbered-list.cjs +11 -3
- package/dist/faq-numbered-list.js +11 -3
- package/dist/faq-profile-sidebar.cjs +60 -23
- package/dist/faq-profile-sidebar.js +60 -23
- package/dist/faq-rounded-cards.cjs +24 -29
- package/dist/faq-rounded-cards.js +24 -29
- package/dist/faq-sidebar-navigation.cjs +49 -29
- package/dist/faq-sidebar-navigation.js +49 -29
- package/dist/faq-simple-accordion.cjs +18 -5
- package/dist/faq-simple-accordion.js +18 -5
- package/dist/faq-split-help.cjs +36 -21
- package/dist/faq-split-help.js +36 -21
- package/dist/faq-split-hero.cjs +86 -186
- package/dist/faq-split-hero.d.cts +16 -18
- package/dist/faq-split-hero.d.ts +16 -18
- package/dist/faq-split-hero.js +87 -187
- package/dist/faq-static-list.cjs +10 -3
- package/dist/faq-static-list.js +10 -3
- package/dist/feature-accordion-image.cjs +9 -3
- package/dist/feature-accordion-image.js +9 -3
- package/dist/feature-bento-utilities.cjs +1 -1
- package/dist/feature-bento-utilities.js +1 -1
- package/dist/feature-capabilities-grid.cjs +13 -13
- package/dist/feature-capabilities-grid.js +13 -13
- package/dist/feature-icon-grid-muted.cjs +2 -2
- package/dist/feature-icon-grid-muted.js +2 -2
- package/dist/feature-icon-tabs-content.cjs +3 -3
- package/dist/feature-icon-tabs-content.js +3 -3
- package/dist/feature-image-cards-three-column.cjs +2 -2
- package/dist/feature-image-cards-three-column.js +2 -2
- package/dist/feature-image-overlay-badge.cjs +2 -2
- package/dist/feature-image-overlay-badge.js +2 -2
- package/dist/feature-integration-cards.cjs +2 -2
- package/dist/feature-integration-cards.js +2 -2
- package/dist/feature-numbered-cards.cjs +1 -1
- package/dist/feature-numbered-cards.js +1 -1
- package/dist/feature-pattern-grid-links.cjs +1 -1
- package/dist/feature-pattern-grid-links.js +1 -1
- package/dist/feature-showcase.cjs +1 -2
- package/dist/feature-showcase.js +1 -2
- package/dist/feature-split-image-reverse.cjs +2 -8
- package/dist/feature-split-image-reverse.js +2 -8
- package/dist/feature-split-image.cjs +2 -2
- package/dist/feature-split-image.js +2 -2
- package/dist/feature-stats-highlight.cjs +50 -13
- package/dist/feature-stats-highlight.js +50 -13
- package/dist/feature-tabbed-content-image.cjs +5 -14
- package/dist/feature-tabbed-content-image.js +5 -14
- package/dist/feature-three-column-values.cjs +4 -44
- package/dist/feature-three-column-values.js +4 -44
- package/dist/feature-utility-cards-grid.cjs +83 -36
- package/dist/feature-utility-cards-grid.js +83 -36
- package/dist/footer-animated-social.cjs +3 -3
- package/dist/footer-animated-social.js +3 -3
- package/dist/footer-brand-links-contact.cjs +10 -10
- package/dist/footer-brand-links-contact.js +10 -10
- package/dist/footer-comprehensive-links.cjs +20 -20
- package/dist/footer-comprehensive-links.js +20 -20
- package/dist/footer-cta-banner.cjs +4 -4
- package/dist/footer-cta-banner.js +4 -4
- package/dist/footer-cta-social.cjs +2 -2
- package/dist/footer-cta-social.js +2 -2
- package/dist/footer-newsletter-minimal.cjs +5 -5
- package/dist/footer-newsletter-minimal.js +5 -5
- package/dist/footer-simple-centered.cjs +2 -2
- package/dist/footer-simple-centered.js +2 -2
- package/dist/hero-ad-campaign-expert.cjs +2 -2
- package/dist/hero-ad-campaign-expert.js +2 -2
- package/dist/hero-agency-animated-images.cjs +2 -2
- package/dist/hero-agency-animated-images.js +2 -2
- package/dist/hero-architecture-fullscreen.cjs +2 -2
- package/dist/hero-architecture-fullscreen.js +2 -2
- package/dist/hero-billing-platform-logos.cjs +4 -4
- package/dist/hero-billing-platform-logos.js +4 -4
- package/dist/hero-business-operations-mosaic.cjs +2 -2
- package/dist/hero-business-operations-mosaic.js +2 -2
- package/dist/hero-centered-gradient-cta.cjs +1 -1
- package/dist/hero-centered-gradient-cta.js +1 -1
- package/dist/hero-coming-soon-countdown.cjs +3 -3
- package/dist/hero-coming-soon-countdown.js +3 -3
- package/dist/hero-conversation-intelligence.cjs +1 -1
- package/dist/hero-conversation-intelligence.js +1 -1
- package/dist/hero-conversion-video-play.cjs +1 -1
- package/dist/hero-conversion-video-play.js +1 -1
- package/dist/hero-crm-streamlined.cjs +2 -2
- package/dist/hero-crm-streamlined.js +2 -2
- package/dist/hero-customer-support-layered.cjs +1 -1
- package/dist/hero-customer-support-layered.js +1 -1
- package/dist/hero-design-carousel-portfolio.cjs +3 -3
- package/dist/hero-design-carousel-portfolio.js +3 -3
- package/dist/hero-design-showcase-logos.cjs +1 -1
- package/dist/hero-design-showcase-logos.js +1 -1
- package/dist/hero-developer-tools-code.cjs +1 -1
- package/dist/hero-developer-tools-code.js +1 -1
- package/dist/hero-digital-agency-fullscreen.cjs +3 -3
- package/dist/hero-digital-agency-fullscreen.js +3 -3
- package/dist/hero-ecommerce-product-showcase.cjs +2 -2
- package/dist/hero-ecommerce-product-showcase.js +2 -2
- package/dist/hero-enterprise-security.cjs +2 -2
- package/dist/hero-enterprise-security.js +2 -2
- package/dist/hero-event-registration.cjs +3 -3
- package/dist/hero-event-registration.js +3 -3
- package/dist/hero-feature-cards-grid.cjs +2 -2
- package/dist/hero-feature-cards-grid.js +2 -2
- package/dist/hero-floating-images.cjs +6 -8
- package/dist/hero-floating-images.js +6 -8
- package/dist/hero-fullscreen-background-image.cjs +3 -3
- package/dist/hero-fullscreen-background-image.js +3 -3
- package/dist/hero-fullscreen-logo-cta.cjs +2 -2
- package/dist/hero-fullscreen-logo-cta.js +2 -2
- package/dist/hero-gradient-client-focused.cjs +1 -1
- package/dist/hero-gradient-client-focused.js +1 -1
- package/dist/hero-hiring-animated-text.cjs +2 -2
- package/dist/hero-hiring-animated-text.js +2 -2
- package/dist/hero-image-slider.cjs +1 -2
- package/dist/hero-image-slider.js +1 -2
- package/dist/hero-innovation-image-grid.cjs +3 -3
- package/dist/hero-innovation-image-grid.js +3 -3
- package/dist/hero-mental-health-team.cjs +4 -4
- package/dist/hero-mental-health-team.js +4 -4
- package/dist/hero-minimal-centered-dark.cjs +1 -1
- package/dist/hero-minimal-centered-dark.js +1 -1
- package/dist/hero-mobile-app-download.cjs +2 -2
- package/dist/hero-mobile-app-download.js +2 -2
- package/dist/hero-newsletter-minimal.cjs +1 -1
- package/dist/hero-newsletter-minimal.js +1 -1
- package/dist/hero-overlay-cta-grid.cjs +5 -5
- package/dist/hero-overlay-cta-grid.js +5 -5
- package/dist/hero-portfolio-creative.cjs +3 -3
- package/dist/hero-portfolio-creative.js +3 -3
- package/dist/hero-premium-split-avatars.cjs +4 -4
- package/dist/hero-premium-split-avatars.js +4 -4
- package/dist/hero-presentation-platform-video.cjs +4 -4
- package/dist/hero-presentation-platform-video.js +4 -4
- package/dist/hero-pricing-comparison.cjs +3 -3
- package/dist/hero-pricing-comparison.js +3 -3
- package/dist/hero-product-showcase-floating.cjs +3 -3
- package/dist/hero-product-showcase-floating.js +3 -3
- package/dist/hero-productivity-launcher-video.cjs +2 -2
- package/dist/hero-productivity-launcher-video.js +2 -2
- package/dist/hero-saas-dashboard-preview.cjs +1 -1
- package/dist/hero-saas-dashboard-preview.js +1 -1
- package/dist/hero-shared-inbox-layered.cjs +1 -1
- package/dist/hero-shared-inbox-layered.js +1 -1
- package/dist/hero-software-growth-video-dialog.cjs +2 -2
- package/dist/hero-software-growth-video-dialog.js +2 -2
- package/dist/hero-split-geometric-shapes.cjs +177 -23
- package/dist/hero-split-geometric-shapes.d.cts +38 -5
- package/dist/hero-split-geometric-shapes.d.ts +38 -5
- package/dist/hero-split-geometric-shapes.js +178 -24
- package/dist/hero-split-icon-cards.cjs +2 -2
- package/dist/hero-split-icon-cards.js +2 -2
- package/dist/hero-split-image-newsletter.cjs +1 -1
- package/dist/hero-split-image-newsletter.js +1 -1
- package/dist/hero-startup-launch-cta.cjs +2 -2
- package/dist/hero-startup-launch-cta.js +2 -2
- package/dist/hero-stats-social-proof.cjs +3 -3
- package/dist/hero-stats-social-proof.js +3 -3
- package/dist/hero-task-timer-animated.cjs +2 -2
- package/dist/hero-task-timer-animated.js +2 -2
- package/dist/hero-testimonial-image-grid.cjs +1 -1
- package/dist/hero-testimonial-image-grid.js +1 -1
- package/dist/hero-therapy-testimonial-grid.cjs +3 -3
- package/dist/hero-therapy-testimonial-grid.js +3 -3
- package/dist/hero-ui-library-showcase.cjs +1 -1
- package/dist/hero-ui-library-showcase.js +1 -1
- package/dist/hero-video-background-dark.cjs +1 -1
- package/dist/hero-video-background-dark.js +1 -1
- package/dist/hero-video-dialog-gradient.cjs +1 -1
- package/dist/hero-video-dialog-gradient.js +1 -1
- package/dist/hero-welcome-asymmetric-images.cjs +38 -2
- package/dist/hero-welcome-asymmetric-images.js +38 -2
- package/dist/image-slider.cjs +1 -2
- package/dist/image-slider.d.cts +0 -4
- package/dist/image-slider.d.ts +0 -4
- package/dist/image-slider.js +1 -2
- package/dist/index.cjs +22 -23
- package/dist/index.js +22 -23
- package/dist/industries-badge-list-bordered.cjs +12 -6
- package/dist/industries-badge-list-bordered.js +12 -6
- package/dist/industries-expandable-showcase.cjs +15 -7
- package/dist/industries-expandable-showcase.js +15 -7
- package/dist/industries-hover-reveal-grid.cjs +13 -6
- package/dist/industries-hover-reveal-grid.js +13 -6
- package/dist/industries-timeline-table.cjs +11 -5
- package/dist/industries-timeline-table.js +11 -5
- package/dist/interior-carousel.cjs +2 -2
- package/dist/interior-carousel.js +2 -2
- package/dist/link-page-bento-layout.cjs +11 -14
- package/dist/link-page-bento-layout.js +11 -14
- package/dist/link-page-grid-cards.cjs +8 -12
- package/dist/link-page-grid-cards.js +8 -12
- package/dist/link-page-minimal-profile.cjs +6 -8
- package/dist/link-page-minimal-profile.js +6 -8
- package/dist/link-page-newsletter-social.cjs +10 -14
- package/dist/link-page-newsletter-social.js +10 -14
- package/dist/link-tree-block.cjs +10 -13
- package/dist/link-tree-block.js +10 -13
- package/dist/list-searchable-grid.cjs +3 -3
- package/dist/list-searchable-grid.js +3 -3
- package/dist/navbar-animated-preview.cjs +13 -7
- package/dist/navbar-animated-preview.js +13 -7
- package/dist/navbar-centered-menu.cjs +9 -3
- package/dist/navbar-centered-menu.js +9 -3
- package/dist/navbar-dark-icons.cjs +14 -8
- package/dist/navbar-dark-icons.js +14 -8
- package/dist/navbar-dropdown-menu.cjs +11 -5
- package/dist/navbar-dropdown-menu.js +11 -5
- package/dist/navbar-education-platform.cjs +9 -3
- package/dist/navbar-education-platform.js +9 -3
- package/dist/navbar-enterprise-mega.cjs +20 -14
- package/dist/navbar-enterprise-mega.js +20 -14
- package/dist/navbar-feature-grid.cjs +11 -5
- package/dist/navbar-feature-grid.js +11 -5
- package/dist/navbar-image-preview.cjs +4 -4
- package/dist/navbar-image-preview.js +4 -4
- package/dist/navbar-mega-menu.cjs +3 -3
- package/dist/navbar-mega-menu.js +3 -3
- package/dist/navbar-multi-column-groups.cjs +9 -3
- package/dist/navbar-multi-column-groups.js +9 -3
- package/dist/navbar-platform-resources.cjs +10 -4
- package/dist/navbar-platform-resources.js +10 -4
- package/dist/navbar-sidebar-mobile.cjs +9 -3
- package/dist/navbar-sidebar-mobile.js +9 -3
- package/dist/navbar-transparent-overlay.cjs +3 -3
- package/dist/navbar-transparent-overlay.js +3 -3
- package/dist/process-expandable-timeline.cjs +3 -3
- package/dist/process-expandable-timeline.js +3 -3
- package/dist/process-hover-cards.cjs +2 -2
- package/dist/process-hover-cards.js +2 -2
- package/dist/process-icon-timeline.cjs +3 -3
- package/dist/process-icon-timeline.js +3 -3
- package/dist/process-mission-principles.cjs +2 -2
- package/dist/process-mission-principles.js +2 -2
- package/dist/process-numbered-services.cjs +2 -2
- package/dist/process-numbered-services.js +2 -2
- package/dist/process-roadmap-timeline.cjs +6 -6
- package/dist/process-roadmap-timeline.js +6 -6
- package/dist/process-scroll-image.cjs +2 -2
- package/dist/process-scroll-image.js +2 -2
- package/dist/process-steps-grid.cjs +2 -2
- package/dist/process-steps-grid.js +2 -2
- package/dist/process-sticky-steps.cjs +2 -2
- package/dist/process-sticky-steps.js +2 -2
- package/dist/project-alternating-motion.cjs +1 -1
- package/dist/project-alternating-motion.js +1 -1
- package/dist/project-background-reveal.cjs +2 -2
- package/dist/project-background-reveal.js +2 -2
- package/dist/project-card-overlay.cjs +7 -7
- package/dist/project-card-overlay.js +7 -7
- package/dist/project-carousel-cinematic.cjs +2 -2
- package/dist/project-carousel-cinematic.js +2 -2
- package/dist/project-carousel-detail-cards.cjs +2 -2
- package/dist/project-carousel-detail-cards.js +2 -2
- package/dist/project-carousel-minimal.cjs +2 -2
- package/dist/project-carousel-minimal.js +2 -2
- package/dist/project-detail-architecture-carousel.cjs +4 -4
- package/dist/project-detail-architecture-carousel.js +4 -4
- package/dist/project-featured-carousel.cjs +1 -1
- package/dist/project-featured-carousel.js +1 -1
- package/dist/project-filterable-gallery.cjs +5 -5
- package/dist/project-filterable-gallery.js +5 -5
- package/dist/project-filterable-three-column.cjs +5 -5
- package/dist/project-filterable-three-column.js +5 -5
- package/dist/project-interactive-hover-reveal.cjs +7 -7
- package/dist/project-interactive-hover-reveal.js +7 -7
- package/dist/project-masonry-columns.cjs +1 -1
- package/dist/project-masonry-columns.js +1 -1
- package/dist/project-scroll-reveal.cjs +4 -4
- package/dist/project-scroll-reveal.js +4 -4
- package/dist/project-showcase-alternating.cjs +1 -1
- package/dist/project-showcase-alternating.js +1 -1
- package/dist/project-sticky-scroll.cjs +3 -3
- package/dist/project-sticky-scroll.js +3 -3
- package/dist/project-studio-hover-preview.cjs +7 -7
- package/dist/project-studio-hover-preview.js +7 -7
- package/dist/project-video-carousel.cjs +2 -2
- package/dist/project-video-carousel.js +2 -2
- package/dist/project-video-hover-bento.cjs +2 -2
- package/dist/project-video-hover-bento.js +2 -2
- package/dist/project-video-hover-grid.cjs +2 -2
- package/dist/project-video-hover-grid.js +2 -2
- package/dist/project-video-hover-rounded.cjs +3 -3
- package/dist/project-video-hover-rounded.js +3 -3
- package/dist/project-video-hover-stack.cjs +3 -3
- package/dist/project-video-hover-stack.js +3 -3
- package/dist/project-video-hover-two-by-two.cjs +3 -3
- package/dist/project-video-hover-two-by-two.js +3 -3
- package/dist/project-zigzag-layout.cjs +1 -1
- package/dist/project-zigzag-layout.js +1 -1
- package/dist/registry.cjs +1825 -2131
- package/dist/registry.js +1825 -2131
- package/dist/resource-detail-whitepaper-sidebar.cjs +6 -4
- package/dist/resource-detail-whitepaper-sidebar.js +6 -4
- package/dist/resource-list-course-cards.cjs +1 -1
- package/dist/resource-list-course-cards.js +1 -1
- package/dist/resource-list-featured-articles.cjs +6 -6
- package/dist/resource-list-featured-articles.js +6 -6
- package/dist/resource-list-hero-filter.cjs +2 -2
- package/dist/resource-list-hero-filter.js +2 -2
- package/dist/resource-list-news-updates.cjs +1 -1
- package/dist/resource-list-news-updates.js +1 -1
- package/dist/reviews-images-helpful.cjs +27 -197
- package/dist/reviews-images-helpful.js +28 -198
- package/dist/reviews-list-verified.cjs +11 -62
- package/dist/reviews-list-verified.js +12 -63
- package/dist/service-detail-image-hero.cjs +2 -2
- package/dist/service-detail-image-hero.js +2 -2
- package/dist/service-detail-stats-hero.cjs +2 -2
- package/dist/service-detail-stats-hero.js +2 -2
- package/dist/service-hover-carousel.cjs +2 -2
- package/dist/service-hover-carousel.js +2 -2
- package/dist/services-list-feature-spotlight.cjs +3 -3
- package/dist/services-list-feature-spotlight.js +3 -3
- package/dist/stats-circular-progress.cjs +1 -1
- package/dist/stats-circular-progress.js +1 -1
- package/dist/stats-icon-cards.cjs +1 -1
- package/dist/stats-icon-cards.js +1 -1
- package/dist/stats-timeline-tabs.cjs +1 -1
- package/dist/stats-timeline-tabs.js +1 -1
- package/dist/team-media-showcase.cjs +4 -4
- package/dist/team-media-showcase.js +4 -4
- package/dist/testimonial-carousel-cards.cjs +2 -2
- package/dist/testimonial-carousel-cards.js +2 -2
- package/dist/testimonials-animated-split.cjs +19 -166
- package/dist/testimonials-animated-split.js +19 -166
- package/dist/testimonials-bento-grid.cjs +11 -56
- package/dist/testimonials-bento-grid.js +12 -57
- package/dist/testimonials-carousel-image.cjs +15 -153
- package/dist/testimonials-carousel-image.js +15 -153
- package/dist/testimonials-centered-avatars.cjs +9 -37
- package/dist/testimonials-centered-avatars.js +10 -38
- package/dist/testimonials-company-logo.cjs +4 -8
- package/dist/testimonials-company-logo.js +4 -8
- package/dist/testimonials-grid-add-review.cjs +7 -47
- package/dist/testimonials-grid-add-review.js +8 -48
- package/dist/testimonials-large-quote.cjs +11 -21
- package/dist/testimonials-large-quote.js +12 -22
- package/dist/testimonials-logo-cards.cjs +9 -53
- package/dist/testimonials-logo-cards.js +10 -54
- package/dist/testimonials-marquee.cjs +15 -60
- package/dist/testimonials-marquee.js +16 -61
- package/dist/testimonials-masonry-grid.cjs +11 -71
- package/dist/testimonials-masonry-grid.js +12 -72
- package/dist/testimonials-mini-dividers.cjs +9 -61
- package/dist/testimonials-mini-dividers.js +10 -62
- package/dist/testimonials-minimal-numbered.cjs +48 -57
- package/dist/testimonials-minimal-numbered.js +48 -57
- package/dist/testimonials-parallax-number.cjs +29 -44
- package/dist/testimonials-parallax-number.js +29 -44
- package/dist/testimonials-quote-carousel.cjs +9 -48
- package/dist/testimonials-quote-carousel.js +10 -49
- package/dist/testimonials-scrolling-columns.cjs +9 -165
- package/dist/testimonials-scrolling-columns.js +10 -166
- package/dist/testimonials-simple-grid.cjs +12 -63
- package/dist/testimonials-simple-grid.js +13 -64
- package/dist/testimonials-slider-minimal.cjs +18 -41
- package/dist/testimonials-slider-minimal.js +18 -41
- package/dist/testimonials-split-image.cjs +15 -24
- package/dist/testimonials-split-image.js +16 -25
- package/dist/testimonials-stats-header.cjs +10 -35
- package/dist/testimonials-stats-header.js +11 -36
- package/dist/testimonials-twitter-cards.cjs +7 -59
- package/dist/testimonials-twitter-cards.js +8 -60
- package/dist/testimonials-wall-compact.cjs +9 -94
- package/dist/testimonials-wall-compact.js +10 -95
- package/dist/timeline-changelog-badges.cjs +4 -4
- package/dist/timeline-changelog-badges.js +4 -4
- package/dist/timeline-history-prose.cjs +4 -4
- package/dist/timeline-history-prose.js +4 -4
- package/dist/timeline-horizontal-icons.cjs +3 -3
- package/dist/timeline-horizontal-icons.js +3 -3
- package/dist/timeline-horizontal-phases.cjs +3 -3
- package/dist/timeline-horizontal-phases.js +3 -3
- package/dist/timeline-stepper-animated.cjs +3 -3
- package/dist/timeline-stepper-animated.js +3 -3
- package/dist/timeline-tabbed-phases.cjs +4 -4
- package/dist/timeline-tabbed-phases.js +4 -4
- package/package.json +1 -1
|
@@ -6,6 +6,8 @@ var clsx = require('clsx');
|
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
+
var img = require('@page-speed/img');
|
|
10
|
+
var lightbox = require('@page-speed/lightbox');
|
|
9
11
|
|
|
10
12
|
function _interopNamespace(e) {
|
|
11
13
|
if (e && e.__esModule) return e;
|
|
@@ -830,22 +832,55 @@ function HeroSplitGeometricShapes({
|
|
|
830
832
|
description,
|
|
831
833
|
actions,
|
|
832
834
|
actionsSlot,
|
|
833
|
-
|
|
835
|
+
images,
|
|
836
|
+
imagesSlot,
|
|
834
837
|
background,
|
|
835
|
-
spacing,
|
|
838
|
+
spacing = "py-6 md:py-32",
|
|
836
839
|
pattern,
|
|
837
840
|
patternOpacity,
|
|
838
841
|
className,
|
|
839
842
|
containerClassName,
|
|
840
843
|
contentClassName,
|
|
841
844
|
headingClassName,
|
|
842
|
-
descriptionClassName
|
|
845
|
+
descriptionClassName,
|
|
846
|
+
imagesClassName,
|
|
847
|
+
imageClassName,
|
|
848
|
+
optixFlowConfig
|
|
843
849
|
}) {
|
|
850
|
+
const [lightboxOpen, setLightboxOpen] = React.useState(false);
|
|
851
|
+
const [lightboxIndex, setLightboxIndex] = React.useState(0);
|
|
852
|
+
const lightboxItems = React.useMemo(() => {
|
|
853
|
+
if (!images || images.length === 0) return [];
|
|
854
|
+
return images.map((image, index) => {
|
|
855
|
+
const src = typeof image === "string" ? image : image.src;
|
|
856
|
+
const alt = typeof image === "string" ? "Gallery image" : image.alt || "Gallery image";
|
|
857
|
+
return {
|
|
858
|
+
id: `hero-split-geometric-${index}-${src.slice(-8)}`,
|
|
859
|
+
src,
|
|
860
|
+
alt,
|
|
861
|
+
type: "image"
|
|
862
|
+
};
|
|
863
|
+
});
|
|
864
|
+
}, [images]);
|
|
865
|
+
const handleImageClick = React.useCallback((index) => {
|
|
866
|
+
setLightboxIndex(index);
|
|
867
|
+
setLightboxOpen(true);
|
|
868
|
+
}, []);
|
|
869
|
+
const handleLightboxClose = React.useCallback(() => {
|
|
870
|
+
setLightboxOpen(false);
|
|
871
|
+
}, []);
|
|
844
872
|
const renderActions = React.useMemo(() => {
|
|
845
873
|
if (actionsSlot) return actionsSlot;
|
|
846
874
|
if (!actions || actions.length === 0) return null;
|
|
847
875
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", children: actions.map((action, index) => {
|
|
848
|
-
const {
|
|
876
|
+
const {
|
|
877
|
+
label,
|
|
878
|
+
icon,
|
|
879
|
+
iconAfter,
|
|
880
|
+
children,
|
|
881
|
+
className: actionClassName,
|
|
882
|
+
...pressableProps
|
|
883
|
+
} = action;
|
|
849
884
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
850
885
|
Pressable,
|
|
851
886
|
{
|
|
@@ -862,16 +897,75 @@ function HeroSplitGeometricShapes({
|
|
|
862
897
|
);
|
|
863
898
|
}) });
|
|
864
899
|
}, [actionsSlot, actions]);
|
|
865
|
-
const
|
|
866
|
-
if (
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
900
|
+
const renderImages = React.useMemo(() => {
|
|
901
|
+
if (imagesSlot) return imagesSlot;
|
|
902
|
+
if (!images || images.length === 0) return null;
|
|
903
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
904
|
+
"div",
|
|
905
|
+
{
|
|
906
|
+
className: cn(
|
|
907
|
+
"flex flex-col items-center justify-center",
|
|
908
|
+
imagesClassName
|
|
909
|
+
),
|
|
910
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-7/8 h-full w-full", children: images.map((image, index) => {
|
|
911
|
+
const src = typeof image === "string" ? image : image.src;
|
|
912
|
+
const alt = typeof image === "string" ? "Gallery image" : image.alt || "Gallery image";
|
|
913
|
+
const itemClass = typeof image === "string" ? void 0 : image.className;
|
|
914
|
+
const positionClasses = [
|
|
915
|
+
"absolute top-[12%] right-[50%] aspect-square w-[24%]",
|
|
916
|
+
// Top left, small square
|
|
917
|
+
"absolute top-[36%] right-[50%] aspect-5/6 w-[40%]",
|
|
918
|
+
// Middle left, tall rectangle
|
|
919
|
+
"absolute bottom-[36%] left-[54%] aspect-5/6 w-[40%]",
|
|
920
|
+
// Middle right, tall rectangle
|
|
921
|
+
"absolute bottom-[12%] left-[54%] aspect-square w-[24%]"
|
|
922
|
+
// Bottom right, small square
|
|
923
|
+
];
|
|
924
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
925
|
+
"div",
|
|
926
|
+
{
|
|
927
|
+
className: cn(
|
|
928
|
+
"cursor-pointer overflow-hidden rounded-lg border border-border",
|
|
929
|
+
positionClasses[index % 4],
|
|
930
|
+
itemClass
|
|
931
|
+
),
|
|
932
|
+
onClick: () => handleImageClick(index),
|
|
933
|
+
role: "button",
|
|
934
|
+
tabIndex: 0,
|
|
935
|
+
onKeyDown: (e) => {
|
|
936
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
937
|
+
e.preventDefault();
|
|
938
|
+
handleImageClick(index);
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
942
|
+
img.Img,
|
|
943
|
+
{
|
|
944
|
+
src,
|
|
945
|
+
alt,
|
|
946
|
+
className: cn(
|
|
947
|
+
"h-full w-full object-cover transition-opacity hover:opacity-90",
|
|
948
|
+
imageClassName
|
|
949
|
+
),
|
|
950
|
+
loading: "lazy",
|
|
951
|
+
optixFlowConfig
|
|
952
|
+
}
|
|
953
|
+
)
|
|
954
|
+
},
|
|
955
|
+
index
|
|
956
|
+
);
|
|
957
|
+
}) })
|
|
958
|
+
}
|
|
959
|
+
);
|
|
960
|
+
}, [
|
|
961
|
+
imagesSlot,
|
|
962
|
+
images,
|
|
963
|
+
imagesClassName,
|
|
964
|
+
imageClassName,
|
|
965
|
+
optixFlowConfig,
|
|
966
|
+
handleImageClick
|
|
967
|
+
]);
|
|
968
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
875
969
|
Section,
|
|
876
970
|
{
|
|
877
971
|
background,
|
|
@@ -879,15 +973,75 @@ function HeroSplitGeometricShapes({
|
|
|
879
973
|
pattern,
|
|
880
974
|
patternOpacity,
|
|
881
975
|
className: cn(className),
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
976
|
+
containerClassName,
|
|
977
|
+
children: [
|
|
978
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col items-center"), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "2xl:w-[calc(min(100vw-2*theme(container.padding),100%+8rem))] w-full overflow-clip rounded-lg bg-muted", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-0 md:gap-8 lg:grid-cols-2", children: [
|
|
979
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
980
|
+
"div",
|
|
981
|
+
{
|
|
982
|
+
className: cn(
|
|
983
|
+
"container flex flex-col items-center px-10 py-8 text-center lg:mx-auto lg:items-start lg:px-16 lg:py-32 lg:text-left",
|
|
984
|
+
contentClassName
|
|
985
|
+
),
|
|
986
|
+
children: [
|
|
987
|
+
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: badgeText }) : badgeText),
|
|
988
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
989
|
+
"h1",
|
|
990
|
+
{
|
|
991
|
+
className: cn(
|
|
992
|
+
"my-6 text-4xl font-bold text-pretty lg:text-6xl",
|
|
993
|
+
headingClassName
|
|
994
|
+
),
|
|
995
|
+
children: heading
|
|
996
|
+
}
|
|
997
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
998
|
+
"h1",
|
|
999
|
+
{
|
|
1000
|
+
className: cn(
|
|
1001
|
+
"my-6 text-4xl font-bold text-pretty lg:text-6xl",
|
|
1002
|
+
headingClassName
|
|
1003
|
+
),
|
|
1004
|
+
children: heading
|
|
1005
|
+
}
|
|
1006
|
+
)),
|
|
1007
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1008
|
+
"p",
|
|
1009
|
+
{
|
|
1010
|
+
className: cn(
|
|
1011
|
+
"mb-8 max-w-xl lg:text-xl",
|
|
1012
|
+
descriptionClassName
|
|
1013
|
+
),
|
|
1014
|
+
children: description
|
|
1015
|
+
}
|
|
1016
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1017
|
+
renderActions
|
|
1018
|
+
]
|
|
1019
|
+
}
|
|
1020
|
+
),
|
|
1021
|
+
renderImages
|
|
1022
|
+
] }) }) }),
|
|
1023
|
+
lightboxOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1024
|
+
lightbox.Lightbox,
|
|
1025
|
+
{
|
|
1026
|
+
items: lightboxItems,
|
|
1027
|
+
initialIndex: lightboxIndex,
|
|
1028
|
+
layout: "horizontal",
|
|
1029
|
+
controls: {
|
|
1030
|
+
navigation: true,
|
|
1031
|
+
thumbnails: true,
|
|
1032
|
+
download: true,
|
|
1033
|
+
share: true,
|
|
1034
|
+
fullscreen: true,
|
|
1035
|
+
captions: true,
|
|
1036
|
+
counter: true
|
|
1037
|
+
},
|
|
1038
|
+
onClose: handleLightboxClose,
|
|
1039
|
+
enableKeyboardShortcuts: true,
|
|
1040
|
+
closeOnEscape: true,
|
|
1041
|
+
closeOnBackdropClick: true
|
|
1042
|
+
}
|
|
1043
|
+
)
|
|
1044
|
+
]
|
|
891
1045
|
}
|
|
892
1046
|
);
|
|
893
1047
|
}
|
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { f as SectionBackground, g as SectionSpacing } from './community-initiatives-Sm_ZSgyv.cjs';
|
|
3
3
|
import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
|
|
4
|
-
import { A as ActionConfig } from './blocks-Cohq4eio.cjs';
|
|
4
|
+
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
|
|
5
5
|
import 'react/jsx-runtime';
|
|
6
6
|
import 'class-variance-authority';
|
|
7
7
|
import './button-variants-lRElsmTc.cjs';
|
|
8
8
|
import 'class-variance-authority/types';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Image configuration for hero split geometric shapes.
|
|
12
|
+
*/
|
|
13
|
+
interface HeroSplitGeometricShapesImage {
|
|
14
|
+
/**
|
|
15
|
+
* Image source URL
|
|
16
|
+
*/
|
|
17
|
+
src: string;
|
|
18
|
+
/**
|
|
19
|
+
* Alt text for the image
|
|
20
|
+
*/
|
|
21
|
+
alt?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Additional CSS classes for the image
|
|
24
|
+
*/
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
10
27
|
interface HeroSplitGeometricShapesProps {
|
|
11
28
|
/**
|
|
12
29
|
* Badge/label text above heading
|
|
@@ -29,9 +46,13 @@ interface HeroSplitGeometricShapesProps {
|
|
|
29
46
|
*/
|
|
30
47
|
actionsSlot?: React.ReactNode;
|
|
31
48
|
/**
|
|
32
|
-
*
|
|
49
|
+
* Array of images to display in masonry layout (can be strings or objects)
|
|
33
50
|
*/
|
|
34
|
-
|
|
51
|
+
images?: (string | HeroSplitGeometricShapesImage)[];
|
|
52
|
+
/**
|
|
53
|
+
* Custom slot for rendering images (overrides images array)
|
|
54
|
+
*/
|
|
55
|
+
imagesSlot?: React.ReactNode; /**
|
|
35
56
|
* Background style for the section
|
|
36
57
|
*/
|
|
37
58
|
background?: SectionBackground;
|
|
@@ -67,7 +88,19 @@ interface HeroSplitGeometricShapesProps {
|
|
|
67
88
|
* Additional CSS classes for the description
|
|
68
89
|
*/
|
|
69
90
|
descriptionClassName?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Additional CSS classes for the images container
|
|
93
|
+
*/
|
|
94
|
+
imagesClassName?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Additional CSS classes for each image
|
|
97
|
+
*/
|
|
98
|
+
imageClassName?: string;
|
|
99
|
+
/**
|
|
100
|
+
* OptixFlow image optimization configuration
|
|
101
|
+
*/
|
|
102
|
+
optixFlowConfig?: OptixFlowConfig;
|
|
70
103
|
}
|
|
71
|
-
declare function HeroSplitGeometricShapes({ badgeText, heading, description, actions, actionsSlot,
|
|
104
|
+
declare function HeroSplitGeometricShapes({ badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, }: HeroSplitGeometricShapesProps): React.JSX.Element;
|
|
72
105
|
|
|
73
|
-
export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesProps };
|
|
106
|
+
export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesImage, type HeroSplitGeometricShapesProps };
|
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { f as SectionBackground, g as SectionSpacing } from './community-initiatives-BeWIIjA4.js';
|
|
3
3
|
import { P as PatternName } from './pattern-background-a7gKHzHy.js';
|
|
4
|
-
import { A as ActionConfig } from './blocks-k17uluAz.js';
|
|
4
|
+
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
|
|
5
5
|
import 'react/jsx-runtime';
|
|
6
6
|
import 'class-variance-authority';
|
|
7
7
|
import './button-variants-lRElsmTc.js';
|
|
8
8
|
import 'class-variance-authority/types';
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* Image configuration for hero split geometric shapes.
|
|
12
|
+
*/
|
|
13
|
+
interface HeroSplitGeometricShapesImage {
|
|
14
|
+
/**
|
|
15
|
+
* Image source URL
|
|
16
|
+
*/
|
|
17
|
+
src: string;
|
|
18
|
+
/**
|
|
19
|
+
* Alt text for the image
|
|
20
|
+
*/
|
|
21
|
+
alt?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Additional CSS classes for the image
|
|
24
|
+
*/
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
10
27
|
interface HeroSplitGeometricShapesProps {
|
|
11
28
|
/**
|
|
12
29
|
* Badge/label text above heading
|
|
@@ -29,9 +46,13 @@ interface HeroSplitGeometricShapesProps {
|
|
|
29
46
|
*/
|
|
30
47
|
actionsSlot?: React.ReactNode;
|
|
31
48
|
/**
|
|
32
|
-
*
|
|
49
|
+
* Array of images to display in masonry layout (can be strings or objects)
|
|
33
50
|
*/
|
|
34
|
-
|
|
51
|
+
images?: (string | HeroSplitGeometricShapesImage)[];
|
|
52
|
+
/**
|
|
53
|
+
* Custom slot for rendering images (overrides images array)
|
|
54
|
+
*/
|
|
55
|
+
imagesSlot?: React.ReactNode; /**
|
|
35
56
|
* Background style for the section
|
|
36
57
|
*/
|
|
37
58
|
background?: SectionBackground;
|
|
@@ -67,7 +88,19 @@ interface HeroSplitGeometricShapesProps {
|
|
|
67
88
|
* Additional CSS classes for the description
|
|
68
89
|
*/
|
|
69
90
|
descriptionClassName?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Additional CSS classes for the images container
|
|
93
|
+
*/
|
|
94
|
+
imagesClassName?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Additional CSS classes for each image
|
|
97
|
+
*/
|
|
98
|
+
imageClassName?: string;
|
|
99
|
+
/**
|
|
100
|
+
* OptixFlow image optimization configuration
|
|
101
|
+
*/
|
|
102
|
+
optixFlowConfig?: OptixFlowConfig;
|
|
70
103
|
}
|
|
71
|
-
declare function HeroSplitGeometricShapes({ badgeText, heading, description, actions, actionsSlot,
|
|
104
|
+
declare function HeroSplitGeometricShapes({ badgeText, heading, description, actions, actionsSlot, images, imagesSlot, background, spacing, pattern, patternOpacity, className, containerClassName, contentClassName, headingClassName, descriptionClassName, imagesClassName, imageClassName, optixFlowConfig, }: HeroSplitGeometricShapesProps): React.JSX.Element;
|
|
72
105
|
|
|
73
|
-
export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesProps };
|
|
106
|
+
export { HeroSplitGeometricShapes, type HeroSplitGeometricShapesImage, type HeroSplitGeometricShapesProps };
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, { useMemo } from 'react';
|
|
3
|
+
import React__default, { useState, useMemo, useCallback } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
import { Img } from '@page-speed/img';
|
|
9
|
+
import { Lightbox } from '@page-speed/lightbox';
|
|
8
10
|
|
|
9
11
|
// components/blocks/hero/hero-split-geometric-shapes.tsx
|
|
10
12
|
function cn(...inputs) {
|
|
@@ -809,22 +811,55 @@ function HeroSplitGeometricShapes({
|
|
|
809
811
|
description,
|
|
810
812
|
actions,
|
|
811
813
|
actionsSlot,
|
|
812
|
-
|
|
814
|
+
images,
|
|
815
|
+
imagesSlot,
|
|
813
816
|
background,
|
|
814
|
-
spacing,
|
|
817
|
+
spacing = "py-6 md:py-32",
|
|
815
818
|
pattern,
|
|
816
819
|
patternOpacity,
|
|
817
820
|
className,
|
|
818
821
|
containerClassName,
|
|
819
822
|
contentClassName,
|
|
820
823
|
headingClassName,
|
|
821
|
-
descriptionClassName
|
|
824
|
+
descriptionClassName,
|
|
825
|
+
imagesClassName,
|
|
826
|
+
imageClassName,
|
|
827
|
+
optixFlowConfig
|
|
822
828
|
}) {
|
|
829
|
+
const [lightboxOpen, setLightboxOpen] = useState(false);
|
|
830
|
+
const [lightboxIndex, setLightboxIndex] = useState(0);
|
|
831
|
+
const lightboxItems = useMemo(() => {
|
|
832
|
+
if (!images || images.length === 0) return [];
|
|
833
|
+
return images.map((image, index) => {
|
|
834
|
+
const src = typeof image === "string" ? image : image.src;
|
|
835
|
+
const alt = typeof image === "string" ? "Gallery image" : image.alt || "Gallery image";
|
|
836
|
+
return {
|
|
837
|
+
id: `hero-split-geometric-${index}-${src.slice(-8)}`,
|
|
838
|
+
src,
|
|
839
|
+
alt,
|
|
840
|
+
type: "image"
|
|
841
|
+
};
|
|
842
|
+
});
|
|
843
|
+
}, [images]);
|
|
844
|
+
const handleImageClick = useCallback((index) => {
|
|
845
|
+
setLightboxIndex(index);
|
|
846
|
+
setLightboxOpen(true);
|
|
847
|
+
}, []);
|
|
848
|
+
const handleLightboxClose = useCallback(() => {
|
|
849
|
+
setLightboxOpen(false);
|
|
850
|
+
}, []);
|
|
823
851
|
const renderActions = useMemo(() => {
|
|
824
852
|
if (actionsSlot) return actionsSlot;
|
|
825
853
|
if (!actions || actions.length === 0) return null;
|
|
826
854
|
return /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", children: actions.map((action, index) => {
|
|
827
|
-
const {
|
|
855
|
+
const {
|
|
856
|
+
label,
|
|
857
|
+
icon,
|
|
858
|
+
iconAfter,
|
|
859
|
+
children,
|
|
860
|
+
className: actionClassName,
|
|
861
|
+
...pressableProps
|
|
862
|
+
} = action;
|
|
828
863
|
return /* @__PURE__ */ jsx(
|
|
829
864
|
Pressable,
|
|
830
865
|
{
|
|
@@ -841,16 +876,75 @@ function HeroSplitGeometricShapes({
|
|
|
841
876
|
);
|
|
842
877
|
}) });
|
|
843
878
|
}, [actionsSlot, actions]);
|
|
844
|
-
const
|
|
845
|
-
if (
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
879
|
+
const renderImages = useMemo(() => {
|
|
880
|
+
if (imagesSlot) return imagesSlot;
|
|
881
|
+
if (!images || images.length === 0) return null;
|
|
882
|
+
return /* @__PURE__ */ jsx(
|
|
883
|
+
"div",
|
|
884
|
+
{
|
|
885
|
+
className: cn(
|
|
886
|
+
"flex flex-col items-center justify-center",
|
|
887
|
+
imagesClassName
|
|
888
|
+
),
|
|
889
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative aspect-7/8 h-full w-full", children: images.map((image, index) => {
|
|
890
|
+
const src = typeof image === "string" ? image : image.src;
|
|
891
|
+
const alt = typeof image === "string" ? "Gallery image" : image.alt || "Gallery image";
|
|
892
|
+
const itemClass = typeof image === "string" ? void 0 : image.className;
|
|
893
|
+
const positionClasses = [
|
|
894
|
+
"absolute top-[12%] right-[50%] aspect-square w-[24%]",
|
|
895
|
+
// Top left, small square
|
|
896
|
+
"absolute top-[36%] right-[50%] aspect-5/6 w-[40%]",
|
|
897
|
+
// Middle left, tall rectangle
|
|
898
|
+
"absolute bottom-[36%] left-[54%] aspect-5/6 w-[40%]",
|
|
899
|
+
// Middle right, tall rectangle
|
|
900
|
+
"absolute bottom-[12%] left-[54%] aspect-square w-[24%]"
|
|
901
|
+
// Bottom right, small square
|
|
902
|
+
];
|
|
903
|
+
return /* @__PURE__ */ jsx(
|
|
904
|
+
"div",
|
|
905
|
+
{
|
|
906
|
+
className: cn(
|
|
907
|
+
"cursor-pointer overflow-hidden rounded-lg border border-border",
|
|
908
|
+
positionClasses[index % 4],
|
|
909
|
+
itemClass
|
|
910
|
+
),
|
|
911
|
+
onClick: () => handleImageClick(index),
|
|
912
|
+
role: "button",
|
|
913
|
+
tabIndex: 0,
|
|
914
|
+
onKeyDown: (e) => {
|
|
915
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
916
|
+
e.preventDefault();
|
|
917
|
+
handleImageClick(index);
|
|
918
|
+
}
|
|
919
|
+
},
|
|
920
|
+
children: /* @__PURE__ */ jsx(
|
|
921
|
+
Img,
|
|
922
|
+
{
|
|
923
|
+
src,
|
|
924
|
+
alt,
|
|
925
|
+
className: cn(
|
|
926
|
+
"h-full w-full object-cover transition-opacity hover:opacity-90",
|
|
927
|
+
imageClassName
|
|
928
|
+
),
|
|
929
|
+
loading: "lazy",
|
|
930
|
+
optixFlowConfig
|
|
931
|
+
}
|
|
932
|
+
)
|
|
933
|
+
},
|
|
934
|
+
index
|
|
935
|
+
);
|
|
936
|
+
}) })
|
|
937
|
+
}
|
|
938
|
+
);
|
|
939
|
+
}, [
|
|
940
|
+
imagesSlot,
|
|
941
|
+
images,
|
|
942
|
+
imagesClassName,
|
|
943
|
+
imageClassName,
|
|
944
|
+
optixFlowConfig,
|
|
945
|
+
handleImageClick
|
|
946
|
+
]);
|
|
947
|
+
return /* @__PURE__ */ jsxs(
|
|
854
948
|
Section,
|
|
855
949
|
{
|
|
856
950
|
background,
|
|
@@ -858,15 +952,75 @@ function HeroSplitGeometricShapes({
|
|
|
858
952
|
pattern,
|
|
859
953
|
patternOpacity,
|
|
860
954
|
className: cn(className),
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
955
|
+
containerClassName,
|
|
956
|
+
children: [
|
|
957
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex flex-col items-center"), children: /* @__PURE__ */ jsx("div", { className: "2xl:w-[calc(min(100vw-2*theme(container.padding),100%+8rem))] w-full overflow-clip rounded-lg bg-muted", children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-0 md:gap-8 lg:grid-cols-2", children: [
|
|
958
|
+
/* @__PURE__ */ jsxs(
|
|
959
|
+
"div",
|
|
960
|
+
{
|
|
961
|
+
className: cn(
|
|
962
|
+
"container flex flex-col items-center px-10 py-8 text-center lg:mx-auto lg:items-start lg:px-16 lg:py-32 lg:text-left",
|
|
963
|
+
contentClassName
|
|
964
|
+
),
|
|
965
|
+
children: [
|
|
966
|
+
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("p", { children: badgeText }) : badgeText),
|
|
967
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
|
|
968
|
+
"h1",
|
|
969
|
+
{
|
|
970
|
+
className: cn(
|
|
971
|
+
"my-6 text-4xl font-bold text-pretty lg:text-6xl",
|
|
972
|
+
headingClassName
|
|
973
|
+
),
|
|
974
|
+
children: heading
|
|
975
|
+
}
|
|
976
|
+
) : /* @__PURE__ */ jsx(
|
|
977
|
+
"h1",
|
|
978
|
+
{
|
|
979
|
+
className: cn(
|
|
980
|
+
"my-6 text-4xl font-bold text-pretty lg:text-6xl",
|
|
981
|
+
headingClassName
|
|
982
|
+
),
|
|
983
|
+
children: heading
|
|
984
|
+
}
|
|
985
|
+
)),
|
|
986
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
987
|
+
"p",
|
|
988
|
+
{
|
|
989
|
+
className: cn(
|
|
990
|
+
"mb-8 max-w-xl lg:text-xl",
|
|
991
|
+
descriptionClassName
|
|
992
|
+
),
|
|
993
|
+
children: description
|
|
994
|
+
}
|
|
995
|
+
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
996
|
+
renderActions
|
|
997
|
+
]
|
|
998
|
+
}
|
|
999
|
+
),
|
|
1000
|
+
renderImages
|
|
1001
|
+
] }) }) }),
|
|
1002
|
+
lightboxOpen && /* @__PURE__ */ jsx(
|
|
1003
|
+
Lightbox,
|
|
1004
|
+
{
|
|
1005
|
+
items: lightboxItems,
|
|
1006
|
+
initialIndex: lightboxIndex,
|
|
1007
|
+
layout: "horizontal",
|
|
1008
|
+
controls: {
|
|
1009
|
+
navigation: true,
|
|
1010
|
+
thumbnails: true,
|
|
1011
|
+
download: true,
|
|
1012
|
+
share: true,
|
|
1013
|
+
fullscreen: true,
|
|
1014
|
+
captions: true,
|
|
1015
|
+
counter: true
|
|
1016
|
+
},
|
|
1017
|
+
onClose: handleLightboxClose,
|
|
1018
|
+
enableKeyboardShortcuts: true,
|
|
1019
|
+
closeOnEscape: true,
|
|
1020
|
+
closeOnBackdropClick: true
|
|
1021
|
+
}
|
|
1022
|
+
)
|
|
1023
|
+
]
|
|
870
1024
|
}
|
|
871
1025
|
);
|
|
872
1026
|
}
|
|
@@ -984,7 +984,7 @@ function HeroSplitIconCards({
|
|
|
984
984
|
const card = /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "h-full border-border/60 px-0 py-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4 p-6", children: [
|
|
985
985
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-14 w-14 items-center justify-center rounded-xl bg-primary/10 text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.icon, size: 24 }) }),
|
|
986
986
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
987
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold
|
|
987
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold ", children: item.title }),
|
|
988
988
|
item.subtitle ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: item.subtitle }) : null
|
|
989
989
|
] })
|
|
990
990
|
] }) });
|
|
@@ -1002,7 +1002,7 @@ function HeroSplitIconCards({
|
|
|
1002
1002
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-10 lg:grid-cols-2 lg:items-center", children: [
|
|
1003
1003
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-6", contentClassName), children: children ? children : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1004
1004
|
eyebrow && (typeof eyebrow === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.25em] text-primary", children: eyebrow }) : eyebrow),
|
|
1005
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold
|
|
1005
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", headingClassName), children: heading })),
|
|
1006
1006
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1007
1007
|
renderActions
|
|
1008
1008
|
] }) }),
|
|
@@ -963,7 +963,7 @@ function HeroSplitIconCards({
|
|
|
963
963
|
const card = /* @__PURE__ */ jsx(Card, { className: "h-full border-border/60 px-0 py-0", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4 p-6", children: [
|
|
964
964
|
/* @__PURE__ */ jsx("div", { className: "flex h-14 w-14 items-center justify-center rounded-xl bg-primary/10 text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: item.icon, size: 24 }) }),
|
|
965
965
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
966
|
-
/* @__PURE__ */ jsx("h3", { className: "text-lg font-bold
|
|
966
|
+
/* @__PURE__ */ jsx("h3", { className: "text-lg font-bold ", children: item.title }),
|
|
967
967
|
item.subtitle ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-muted-foreground", children: item.subtitle }) : null
|
|
968
968
|
] })
|
|
969
969
|
] }) });
|
|
@@ -981,7 +981,7 @@ function HeroSplitIconCards({
|
|
|
981
981
|
children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 gap-10 lg:grid-cols-2 lg:items-center", children: [
|
|
982
982
|
/* @__PURE__ */ jsx("div", { className: cn("space-y-6", contentClassName), children: children ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
983
983
|
eyebrow && (typeof eyebrow === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.25em] text-primary", children: eyebrow }) : eyebrow),
|
|
984
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold
|
|
984
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", headingClassName), children: heading })),
|
|
985
985
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
986
986
|
renderActions
|
|
987
987
|
] }) }),
|