@opensite/ui 0.5.3 → 0.5.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 +11 -11
- package/dist/about-company-profile.js +12 -11
- package/dist/about-developer-profile.cjs +11 -11
- package/dist/about-developer-profile.js +12 -11
- package/dist/about-developer-story.cjs +11 -11
- package/dist/about-developer-story.js +12 -11
- package/dist/about-interactive-tabs.cjs +10 -5
- package/dist/about-interactive-tabs.js +12 -6
- package/dist/about-location-info-hero.cjs +14 -14
- package/dist/about-location-info-hero.js +15 -15
- package/dist/about-minimal-story.cjs +5 -4
- package/dist/about-minimal-story.js +6 -5
- package/dist/about-mission-dual-image.cjs +5 -5
- package/dist/about-mission-dual-image.js +6 -5
- package/dist/about-mission-features.cjs +5 -4
- package/dist/about-mission-features.js +6 -5
- package/dist/about-network-spotlight.cjs +12 -134
- package/dist/about-network-spotlight.js +13 -135
- package/dist/about-startup-team.cjs +10 -12
- package/dist/about-startup-team.js +11 -12
- package/dist/about-stats-showcase.cjs +17 -16
- package/dist/about-stats-showcase.js +17 -16
- package/dist/about-stats-sidebar.cjs +8 -7
- package/dist/about-stats-sidebar.js +8 -7
- package/dist/about-story-expertise.cjs +17 -139
- package/dist/about-story-expertise.js +18 -140
- package/dist/about-story-gallery.cjs +6 -9
- package/dist/about-story-gallery.js +6 -9
- package/dist/about-story-hero.cjs +6 -9
- package/dist/about-story-hero.js +7 -10
- package/dist/about-streamline-team.cjs +10 -10
- package/dist/about-streamline-team.js +11 -10
- package/dist/about-vision-gallery.cjs +33 -40
- package/dist/about-vision-gallery.d.cts +44 -24
- package/dist/about-vision-gallery.d.ts +44 -24
- package/dist/about-vision-gallery.js +34 -40
- package/dist/alternating-blocks.cjs +5 -5
- package/dist/alternating-blocks.js +5 -5
- package/dist/article-breadcrumb-social.cjs +35 -41
- package/dist/article-breadcrumb-social.d.cts +0 -2
- package/dist/article-breadcrumb-social.d.ts +0 -2
- package/dist/article-breadcrumb-social.js +35 -41
- package/dist/article-chapters-author.cjs +80 -80
- package/dist/article-chapters-author.js +79 -79
- package/dist/article-compact-toc.cjs +31 -30
- package/dist/article-compact-toc.js +30 -29
- package/dist/article-hero-prose.cjs +9 -9
- package/dist/article-hero-prose.d.cts +5 -5
- package/dist/article-hero-prose.d.ts +5 -5
- package/dist/article-hero-prose.js +9 -9
- package/dist/article-sidebar-sticky.cjs +12 -11
- package/dist/article-sidebar-sticky.js +12 -11
- package/dist/article-split-animated.cjs +23 -142
- package/dist/article-split-animated.js +23 -142
- package/dist/article-toc-sidebar.cjs +31 -31
- package/dist/article-toc-sidebar.js +30 -30
- package/dist/banner-announcement-dismissible.cjs +37 -17
- package/dist/banner-announcement-dismissible.d.cts +0 -2
- package/dist/banner-announcement-dismissible.d.ts +0 -2
- package/dist/banner-announcement-dismissible.js +38 -18
- package/dist/banner-countdown-sale.cjs +19 -11
- package/dist/banner-countdown-sale.d.cts +0 -1
- package/dist/banner-countdown-sale.d.ts +0 -1
- package/dist/banner-countdown-sale.js +21 -13
- package/dist/banner-delivery-countdown.cjs +29 -24
- package/dist/banner-delivery-countdown.d.cts +0 -2
- package/dist/banner-delivery-countdown.d.ts +0 -2
- package/dist/banner-delivery-countdown.js +30 -25
- package/dist/banner-event-promo.cjs +28 -13
- package/dist/banner-event-promo.js +29 -13
- package/dist/banner-floating-offer.cjs +42 -24
- package/dist/banner-floating-offer.d.cts +0 -3
- package/dist/banner-floating-offer.d.ts +0 -3
- package/dist/banner-floating-offer.js +43 -25
- package/dist/banner-gdpr-rights.cjs +36 -19
- package/dist/banner-gdpr-rights.d.cts +3 -5
- package/dist/banner-gdpr-rights.d.ts +3 -5
- package/dist/banner-gdpr-rights.js +37 -20
- package/dist/banner-privacy-notice.cjs +34 -17
- package/dist/banner-privacy-notice.d.cts +0 -2
- package/dist/banner-privacy-notice.d.ts +0 -2
- package/dist/banner-privacy-notice.js +35 -18
- package/dist/banner-promo-cta.cjs +27 -12
- package/dist/banner-promo-cta.js +28 -12
- package/dist/banner-social-follow.cjs +37 -17
- package/dist/banner-social-follow.d.cts +0 -2
- package/dist/banner-social-follow.d.ts +0 -2
- package/dist/banner-social-follow.js +38 -18
- package/dist/banner-survey-incentive.cjs +34 -17
- package/dist/banner-survey-incentive.d.cts +0 -2
- package/dist/banner-survey-incentive.d.ts +0 -2
- package/dist/banner-survey-incentive.js +35 -18
- package/dist/blog-cards-read-time.cjs +408 -24
- package/dist/blog-cards-read-time.d.cts +20 -1
- package/dist/blog-cards-read-time.d.ts +20 -1
- package/dist/blog-cards-read-time.js +409 -24
- package/dist/blog-cards-tagline-cta.cjs +406 -19
- package/dist/blog-cards-tagline-cta.d.cts +20 -1
- package/dist/blog-cards-tagline-cta.d.ts +20 -1
- package/dist/blog-cards-tagline-cta.js +407 -19
- package/dist/blog-category-overlay.cjs +407 -20
- package/dist/blog-category-overlay.d.cts +27 -8
- package/dist/blog-category-overlay.d.ts +27 -8
- package/dist/blog-category-overlay.js +408 -20
- package/dist/blog-featured-popular.cjs +406 -19
- package/dist/blog-featured-popular.d.cts +20 -1
- package/dist/blog-featured-popular.d.ts +20 -1
- package/dist/blog-featured-popular.js +407 -19
- package/dist/blog-filtered-results.cjs +457 -71
- package/dist/blog-filtered-results.d.cts +38 -19
- package/dist/blog-filtered-results.d.ts +38 -19
- package/dist/blog-filtered-results.js +455 -69
- package/dist/blog-grid-author-cards.cjs +408 -20
- package/dist/blog-grid-author-cards.d.cts +28 -9
- package/dist/blog-grid-author-cards.d.ts +28 -9
- package/dist/blog-grid-author-cards.js +409 -20
- package/dist/blog-grid-nine-posts.cjs +403 -16
- package/dist/blog-grid-nine-posts.d.cts +24 -5
- package/dist/blog-grid-nine-posts.d.ts +24 -5
- package/dist/blog-grid-nine-posts.js +404 -16
- package/dist/blog-horizontal-cards.cjs +407 -20
- package/dist/blog-horizontal-cards.d.cts +21 -2
- package/dist/blog-horizontal-cards.d.ts +21 -2
- package/dist/blog-horizontal-cards.js +408 -20
- package/dist/blog-horizontal-timeline.cjs +401 -14
- package/dist/blog-horizontal-timeline.d.cts +28 -9
- package/dist/blog-horizontal-timeline.d.ts +28 -9
- package/dist/blog-horizontal-timeline.js +402 -14
- package/dist/blog-masonry-featured.cjs +405 -18
- package/dist/blog-masonry-featured.d.cts +28 -9
- package/dist/blog-masonry-featured.d.ts +28 -9
- package/dist/blog-masonry-featured.js +406 -18
- package/dist/blog-related-articles.cjs +401 -14
- package/dist/blog-related-articles.d.cts +20 -1
- package/dist/blog-related-articles.d.ts +20 -1
- package/dist/blog-related-articles.js +402 -14
- package/dist/blog-tech-insights.cjs +410 -23
- package/dist/blog-tech-insights.d.cts +31 -12
- package/dist/blog-tech-insights.d.ts +31 -12
- package/dist/blog-tech-insights.js +411 -23
- package/dist/case-studies-featured-border.cjs +423 -14
- package/dist/case-studies-featured-border.d.cts +20 -1
- package/dist/case-studies-featured-border.d.ts +20 -1
- package/dist/case-studies-featured-border.js +424 -14
- package/dist/case-studies-image-grid.cjs +404 -7
- package/dist/case-studies-image-grid.d.cts +20 -1
- package/dist/case-studies-image-grid.d.ts +20 -1
- package/dist/case-studies-image-grid.js +405 -7
- package/dist/case-studies-stats-card.cjs +416 -29
- package/dist/case-studies-stats-card.d.cts +20 -1
- package/dist/case-studies-stats-card.d.ts +20 -1
- package/dist/case-studies-stats-card.js +417 -29
- package/dist/case-studies-testimonial-stats.cjs +409 -10
- package/dist/case-studies-testimonial-stats.d.cts +20 -1
- package/dist/case-studies-testimonial-stats.d.ts +20 -1
- package/dist/case-studies-testimonial-stats.js +409 -10
- package/dist/case-study-prose-sidebar.cjs +414 -23
- package/dist/case-study-prose-sidebar.d.cts +34 -15
- package/dist/case-study-prose-sidebar.d.ts +34 -15
- package/dist/case-study-prose-sidebar.js +415 -23
- package/dist/case-study-stats-metrics.cjs +443 -43
- package/dist/case-study-stats-metrics.d.cts +39 -20
- package/dist/case-study-stats-metrics.d.ts +39 -20
- package/dist/case-study-stats-metrics.js +444 -43
- package/dist/case-study-toc-social-sidebar.cjs +436 -46
- package/dist/case-study-toc-social-sidebar.d.cts +36 -17
- package/dist/case-study-toc-social-sidebar.d.ts +36 -17
- package/dist/case-study-toc-social-sidebar.js +437 -47
- package/dist/comparison-ai-models.cjs +498 -77
- package/dist/comparison-ai-models.d.cts +25 -7
- package/dist/comparison-ai-models.d.ts +25 -7
- package/dist/comparison-ai-models.js +497 -76
- package/dist/comparison-feature-cards.cjs +492 -80
- package/dist/comparison-feature-cards.d.cts +25 -6
- package/dist/comparison-feature-cards.d.ts +25 -6
- package/dist/comparison-feature-cards.js +492 -79
- package/dist/comparison-feature-grid.cjs +475 -47
- package/dist/comparison-feature-grid.d.cts +24 -1
- package/dist/comparison-feature-grid.d.ts +24 -1
- package/dist/comparison-feature-grid.js +476 -47
- package/dist/comparison-grid-badges.cjs +422 -25
- package/dist/comparison-grid-badges.d.cts +26 -3
- package/dist/comparison-grid-badges.d.ts +26 -3
- package/dist/comparison-grid-badges.js +423 -25
- package/dist/comparison-image-cards.cjs +450 -36
- package/dist/comparison-image-cards.d.cts +23 -4
- package/dist/comparison-image-cards.d.ts +23 -4
- package/dist/comparison-image-cards.js +451 -36
- package/dist/comparison-legacy-modern.cjs +442 -41
- package/dist/comparison-legacy-modern.d.cts +29 -6
- package/dist/comparison-legacy-modern.d.ts +29 -6
- package/dist/comparison-legacy-modern.js +443 -41
- package/dist/comparison-metrics-rows.cjs +478 -47
- package/dist/comparison-metrics-rows.d.cts +20 -1
- package/dist/comparison-metrics-rows.d.ts +20 -1
- package/dist/comparison-metrics-rows.js +479 -47
- package/dist/comparison-table-tabs.cjs +423 -13
- package/dist/comparison-table-tabs.d.cts +25 -2
- package/dist/comparison-table-tabs.d.ts +25 -2
- package/dist/comparison-table-tabs.js +424 -14
- package/dist/comparison-table-tooltips.cjs +443 -37
- package/dist/comparison-table-tooltips.d.cts +24 -1
- package/dist/comparison-table-tooltips.d.ts +24 -1
- package/dist/comparison-table-tooltips.js +443 -37
- package/dist/comparison-table-two-column.cjs +463 -53
- package/dist/comparison-table-two-column.d.cts +24 -6
- package/dist/comparison-table-two-column.d.ts +24 -6
- package/dist/comparison-table-two-column.js +464 -53
- package/dist/components.cjs +8 -8
- package/dist/components.js +9 -9
- package/dist/contact-callback.cjs +577 -190
- package/dist/contact-callback.d.cts +35 -1
- package/dist/contact-callback.d.ts +35 -1
- package/dist/contact-callback.js +578 -190
- package/dist/contact-card.cjs +502 -115
- package/dist/contact-card.d.cts +20 -1
- package/dist/contact-card.d.ts +20 -1
- package/dist/contact-card.js +503 -115
- package/dist/contact-careers.cjs +628 -241
- package/dist/contact-careers.d.cts +20 -2
- package/dist/contact-careers.d.ts +20 -2
- package/dist/contact-careers.js +629 -242
- package/dist/contact-catering.cjs +664 -277
- package/dist/contact-catering.d.cts +20 -1
- package/dist/contact-catering.d.ts +20 -1
- package/dist/contact-catering.js +665 -277
- package/dist/contact-consultation.cjs +567 -180
- package/dist/contact-consultation.d.cts +20 -2
- package/dist/contact-consultation.d.ts +20 -2
- package/dist/contact-consultation.js +568 -180
- package/dist/contact-dark.cjs +486 -99
- package/dist/contact-dark.d.cts +20 -2
- package/dist/contact-dark.d.ts +20 -2
- package/dist/contact-dark.js +487 -99
- package/dist/contact-demo.cjs +558 -171
- package/dist/contact-demo.d.cts +20 -2
- package/dist/contact-demo.d.ts +20 -2
- package/dist/contact-demo.js +559 -171
- package/dist/contact-emergency.cjs +571 -184
- package/dist/contact-emergency.d.cts +20 -2
- package/dist/contact-emergency.d.ts +20 -2
- package/dist/contact-emergency.js +572 -184
- package/dist/contact-event.cjs +489 -102
- package/dist/contact-event.d.cts +20 -2
- package/dist/contact-event.d.ts +20 -2
- package/dist/contact-event.js +490 -102
- package/dist/contact-faq.cjs +478 -91
- package/dist/contact-faq.d.cts +20 -2
- package/dist/contact-faq.d.ts +20 -2
- package/dist/contact-faq.js +479 -91
- package/dist/contact-feedback.cjs +450 -63
- package/dist/contact-feedback.d.cts +20 -2
- package/dist/contact-feedback.d.ts +20 -2
- package/dist/contact-feedback.js +451 -63
- package/dist/contact-fitness.cjs +489 -102
- package/dist/contact-fitness.d.cts +20 -2
- package/dist/contact-fitness.d.ts +20 -2
- package/dist/contact-fitness.js +490 -102
- package/dist/contact-floating-banner.cjs +5 -5
- package/dist/contact-floating-banner.js +5 -5
- package/dist/contact-guest.cjs +489 -102
- package/dist/contact-guest.d.cts +20 -2
- package/dist/contact-guest.d.ts +20 -2
- package/dist/contact-guest.js +490 -102
- package/dist/contact-image.cjs +489 -102
- package/dist/contact-image.d.cts +20 -2
- package/dist/contact-image.d.ts +20 -2
- package/dist/contact-image.js +490 -102
- package/dist/contact-insurance.cjs +489 -102
- package/dist/contact-insurance.d.cts +20 -2
- package/dist/contact-insurance.d.ts +20 -2
- package/dist/contact-insurance.js +490 -102
- package/dist/contact-interview.cjs +489 -102
- package/dist/contact-interview.d.cts +20 -2
- package/dist/contact-interview.d.ts +20 -2
- package/dist/contact-interview.js +490 -102
- package/dist/contact-locations.cjs +489 -102
- package/dist/contact-locations.d.cts +20 -2
- package/dist/contact-locations.d.ts +20 -2
- package/dist/contact-locations.js +490 -102
- package/dist/contact-maintenance.cjs +489 -102
- package/dist/contact-maintenance.d.cts +20 -2
- package/dist/contact-maintenance.d.ts +20 -2
- package/dist/contact-maintenance.js +490 -102
- package/dist/contact-map.cjs +489 -102
- package/dist/contact-map.d.cts +20 -2
- package/dist/contact-map.d.ts +20 -2
- package/dist/contact-map.js +490 -102
- package/dist/contact-minimal.cjs +466 -79
- package/dist/contact-minimal.d.cts +32 -1
- package/dist/contact-minimal.d.ts +32 -1
- package/dist/contact-minimal.js +467 -79
- package/dist/contact-moving.cjs +489 -102
- package/dist/contact-moving.d.cts +20 -2
- package/dist/contact-moving.d.ts +20 -2
- package/dist/contact-moving.js +490 -102
- package/dist/contact-multistep.cjs +489 -102
- package/dist/contact-multistep.d.cts +20 -2
- package/dist/contact-multistep.d.ts +20 -2
- package/dist/contact-multistep.js +490 -102
- package/dist/contact-partnership.cjs +489 -102
- package/dist/contact-partnership.d.cts +20 -2
- package/dist/contact-partnership.d.ts +20 -2
- package/dist/contact-partnership.js +490 -102
- package/dist/contact-photography.cjs +489 -102
- package/dist/contact-photography.d.cts +20 -2
- package/dist/contact-photography.d.ts +20 -2
- package/dist/contact-photography.js +490 -102
- package/dist/contact-press.cjs +489 -102
- package/dist/contact-press.d.cts +20 -2
- package/dist/contact-press.d.ts +20 -2
- package/dist/contact-press.js +490 -102
- package/dist/contact-quote.cjs +489 -102
- package/dist/contact-quote.d.cts +20 -2
- package/dist/contact-quote.d.ts +20 -2
- package/dist/contact-quote.js +490 -102
- package/dist/contact-referral.cjs +489 -102
- package/dist/contact-referral.d.cts +20 -2
- package/dist/contact-referral.d.ts +20 -2
- package/dist/contact-referral.js +490 -102
- package/dist/contact-report.cjs +489 -102
- package/dist/contact-report.d.cts +20 -2
- package/dist/contact-report.d.ts +20 -2
- package/dist/contact-report.js +490 -102
- package/dist/contact-reservation.cjs +489 -102
- package/dist/contact-reservation.d.cts +20 -2
- package/dist/contact-reservation.d.ts +20 -2
- package/dist/contact-reservation.js +490 -102
- package/dist/contact-retreat.cjs +489 -102
- package/dist/contact-retreat.d.cts +20 -2
- package/dist/contact-retreat.d.ts +20 -2
- package/dist/contact-retreat.js +490 -102
- package/dist/contact-rsvp.cjs +489 -102
- package/dist/contact-rsvp.d.cts +20 -2
- package/dist/contact-rsvp.d.ts +20 -2
- package/dist/contact-rsvp.js +490 -102
- package/dist/contact-sales.cjs +489 -102
- package/dist/contact-sales.d.cts +20 -1
- package/dist/contact-sales.d.ts +20 -1
- package/dist/contact-sales.js +490 -102
- package/dist/contact-schedule.cjs +489 -102
- package/dist/contact-schedule.d.cts +20 -2
- package/dist/contact-schedule.d.ts +20 -2
- package/dist/contact-schedule.js +490 -102
- package/dist/contact-sponsorship.cjs +489 -102
- package/dist/contact-sponsorship.d.cts +20 -2
- package/dist/contact-sponsorship.d.ts +20 -2
- package/dist/contact-sponsorship.js +490 -102
- package/dist/contact-support.cjs +463 -76
- package/dist/contact-support.d.cts +20 -2
- package/dist/contact-support.d.ts +20 -2
- package/dist/contact-support.js +464 -76
- package/dist/contact-tenant.cjs +489 -102
- package/dist/contact-tenant.d.cts +20 -2
- package/dist/contact-tenant.d.ts +20 -2
- package/dist/contact-tenant.js +490 -102
- package/dist/contact-vendor.cjs +489 -102
- package/dist/contact-vendor.d.cts +20 -2
- package/dist/contact-vendor.d.ts +20 -2
- package/dist/contact-vendor.js +490 -102
- package/dist/contact-volunteer.cjs +489 -102
- package/dist/contact-volunteer.d.cts +20 -2
- package/dist/contact-volunteer.d.ts +20 -2
- package/dist/contact-volunteer.js +490 -102
- package/dist/contact-warranty.cjs +489 -102
- package/dist/contact-warranty.d.cts +20 -2
- package/dist/contact-warranty.d.ts +20 -2
- package/dist/contact-warranty.js +490 -102
- package/dist/contact-wedding.cjs +489 -102
- package/dist/contact-wedding.d.cts +20 -2
- package/dist/contact-wedding.d.ts +20 -2
- package/dist/contact-wedding.js +490 -102
- package/dist/cta-accent-background.cjs +11 -11
- package/dist/cta-accent-background.js +12 -12
- package/dist/cta-app-download-newsletter.cjs +16 -135
- package/dist/cta-app-download-newsletter.js +17 -136
- package/dist/cta-background-icon-badge.cjs +12 -131
- package/dist/cta-background-icon-badge.js +13 -132
- package/dist/cta-case-study-testimonial.cjs +31 -154
- package/dist/cta-case-study-testimonial.js +32 -155
- package/dist/cta-documentation-links.cjs +15 -15
- package/dist/cta-documentation-links.js +16 -16
- package/dist/cta-enterprise-dark-features.cjs +21 -21
- package/dist/cta-enterprise-dark-features.js +22 -22
- package/dist/cta-enterprise-split.cjs +14 -14
- package/dist/cta-enterprise-split.js +15 -15
- package/dist/cta-feature-cards-grid.cjs +16 -16
- package/dist/cta-feature-cards-grid.js +17 -17
- package/dist/cta-feature-checklist.cjs +14 -14
- package/dist/cta-feature-checklist.js +15 -15
- package/dist/cta-feature-list.cjs +16 -135
- package/dist/cta-feature-list.js +17 -136
- package/dist/cta-fullwidth-background.cjs +14 -133
- package/dist/cta-fullwidth-background.js +15 -134
- package/dist/cta-gradient-logos-floating.cjs +17 -17
- package/dist/cta-gradient-logos-floating.js +18 -18
- package/dist/cta-gradient-stats-hero.cjs +16 -16
- package/dist/cta-gradient-stats-hero.js +17 -17
- package/dist/cta-hero-feature-cards.cjs +36 -136
- package/dist/cta-hero-feature-cards.js +37 -137
- package/dist/cta-image-overlay-arrow.cjs +12 -131
- package/dist/cta-image-overlay-arrow.js +13 -132
- package/dist/cta-image-overlay-centered.cjs +12 -131
- package/dist/cta-image-overlay-centered.js +13 -132
- package/dist/cta-minimal-separator.cjs +8 -8
- package/dist/cta-minimal-separator.js +9 -9
- package/dist/cta-newsletter-features.cjs +14 -14
- package/dist/cta-newsletter-features.js +15 -15
- package/dist/cta-pattern-background.cjs +11 -11
- package/dist/cta-pattern-background.js +12 -12
- package/dist/cta-platform-demo.cjs +16 -139
- package/dist/cta-platform-demo.js +17 -140
- package/dist/cta-simple-centered.cjs +11 -11
- package/dist/cta-simple-centered.js +12 -12
- package/dist/cta-split-gradient-image.cjs +14 -133
- package/dist/cta-split-gradient-image.js +15 -134
- package/dist/cta-split-image-logos.cjs +17 -136
- package/dist/cta-split-image-logos.js +18 -137
- package/dist/cta-split-image.cjs +60 -174
- package/dist/cta-split-image.js +61 -175
- package/dist/cta-stacked-cards.cjs +11 -11
- package/dist/cta-stacked-cards.js +12 -12
- package/dist/cta-video-background-hero.cjs +16 -100
- package/dist/cta-video-background-hero.js +17 -101
- package/dist/cta-workflow-tabs.cjs +18 -137
- package/dist/cta-workflow-tabs.js +19 -138
- package/dist/hero-ad-campaign-expert.cjs +2 -2
- package/dist/hero-ad-campaign-expert.js +2 -2
- package/dist/hero-adaptable-product-grid.cjs +2 -2
- package/dist/hero-adaptable-product-grid.js +2 -2
- package/dist/hero-agency-animated-images.cjs +2 -2
- package/dist/hero-agency-animated-images.js +2 -2
- package/dist/hero-ai-powered-carousel.cjs +2 -2
- package/dist/hero-ai-powered-carousel.js +2 -2
- package/dist/hero-announcement-badge.cjs +2 -2
- package/dist/hero-announcement-badge.js +2 -2
- package/dist/hero-architecture-fullscreen.cjs +2 -2
- package/dist/hero-architecture-fullscreen.js +2 -2
- package/dist/hero-badge-image-split.cjs +2 -2
- package/dist/hero-badge-image-split.js +2 -2
- package/dist/hero-badge-shadow-overlay.cjs +2 -2
- package/dist/hero-badge-shadow-overlay.js +2 -2
- package/dist/hero-billing-platform-logos.cjs +2 -2
- package/dist/hero-billing-platform-logos.js +2 -2
- package/dist/hero-business-carousel-dots.cjs +2 -2
- package/dist/hero-business-carousel-dots.js +2 -2
- 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 +2 -2
- package/dist/hero-centered-gradient-cta.js +2 -2
- package/dist/hero-centered-image-grid.cjs +2 -2
- package/dist/hero-centered-image-grid.js +2 -2
- package/dist/hero-centered-screenshot.cjs +2 -2
- package/dist/hero-centered-screenshot.js +2 -2
- package/dist/hero-coming-soon-countdown.cjs +2 -2
- package/dist/hero-coming-soon-countdown.js +2 -2
- package/dist/hero-community-survey-cta.cjs +2 -2
- package/dist/hero-community-survey-cta.js +2 -2
- package/dist/hero-conversation-intelligence.cjs +2 -2
- package/dist/hero-conversation-intelligence.js +2 -2
- package/dist/hero-conversion-video-play.cjs +2 -2
- package/dist/hero-conversion-video-play.js +2 -2
- package/dist/hero-creative-studio-stacked.cjs +2 -2
- package/dist/hero-creative-studio-stacked.js +2 -2
- package/dist/hero-crm-streamlined.cjs +2 -2
- package/dist/hero-crm-streamlined.js +2 -2
- package/dist/hero-customer-support-layered.cjs +2 -2
- package/dist/hero-customer-support-layered.js +2 -2
- package/dist/hero-dashed-border-features.cjs +2 -2
- package/dist/hero-dashed-border-features.js +2 -2
- package/dist/hero-design-carousel-portfolio.cjs +2 -2
- package/dist/hero-design-carousel-portfolio.js +2 -2
- package/dist/hero-design-showcase-logos.cjs +2 -2
- package/dist/hero-design-showcase-logos.js +2 -2
- package/dist/hero-design-system-3d.cjs +2 -2
- package/dist/hero-design-system-3d.js +2 -2
- package/dist/hero-developer-tools-code.cjs +2 -2
- package/dist/hero-developer-tools-code.js +2 -2
- package/dist/hero-digital-agency-fullscreen.cjs +2 -2
- package/dist/hero-digital-agency-fullscreen.js +2 -2
- 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 +2 -2
- package/dist/hero-event-registration.js +2 -2
- package/dist/hero-feature-cards-grid.cjs +2 -2
- package/dist/hero-feature-cards-grid.js +2 -2
- package/dist/hero-fullscreen-background-image.cjs +2 -2
- package/dist/hero-fullscreen-background-image.js +2 -2
- package/dist/hero-fullscreen-logo-cta.cjs +2 -2
- package/dist/hero-fullscreen-logo-cta.js +2 -2
- package/dist/hero-gradient-avatars-rating.cjs +2 -2
- package/dist/hero-gradient-avatars-rating.js +2 -2
- package/dist/hero-gradient-client-focused.cjs +2 -2
- package/dist/hero-gradient-client-focused.js +2 -2
- package/dist/hero-grid-pattern-efficiency.cjs +2 -2
- package/dist/hero-grid-pattern-efficiency.js +2 -2
- package/dist/hero-grid-pattern-solutions.cjs +2 -2
- package/dist/hero-grid-pattern-solutions.js +2 -2
- package/dist/hero-hiring-animated-text.cjs +2 -2
- package/dist/hero-hiring-animated-text.js +2 -2
- package/dist/hero-image-left-content.cjs +2 -2
- package/dist/hero-image-left-content.js +2 -2
- package/dist/hero-image-slider.cjs +2 -2
- package/dist/hero-image-slider.js +2 -2
- package/dist/hero-innovation-image-grid.cjs +2 -2
- package/dist/hero-innovation-image-grid.js +2 -2
- package/dist/hero-logo-centered-screenshot.cjs +2 -2
- package/dist/hero-logo-centered-screenshot.js +2 -2
- package/dist/hero-marketplace-scattered-images.cjs +2 -2
- package/dist/hero-marketplace-scattered-images.js +2 -2
- package/dist/hero-mental-health-team.cjs +2 -2
- package/dist/hero-mental-health-team.js +2 -2
- package/dist/hero-mentorship-video-split.cjs +2 -2
- package/dist/hero-mentorship-video-split.js +2 -2
- package/dist/hero-minimal-centered-dark.cjs +2 -2
- package/dist/hero-minimal-centered-dark.js +2 -2
- package/dist/hero-mobile-app-download.cjs +2 -2
- package/dist/hero-mobile-app-download.js +2 -2
- package/dist/hero-newsletter-minimal.cjs +2 -2
- package/dist/hero-newsletter-minimal.js +2 -2
- package/dist/hero-pattern-badge-logos.cjs +2 -2
- package/dist/hero-pattern-badge-logos.js +2 -2
- package/dist/hero-pattern-logo-tech-stack.cjs +2 -2
- package/dist/hero-pattern-logo-tech-stack.js +2 -2
- package/dist/hero-platform-features-grid.cjs +2 -2
- package/dist/hero-platform-features-grid.js +2 -2
- package/dist/hero-portfolio-creative.cjs +2 -2
- package/dist/hero-portfolio-creative.js +2 -2
- package/dist/hero-premium-split-avatars.cjs +2 -2
- package/dist/hero-premium-split-avatars.js +2 -2
- package/dist/hero-presentation-platform-video.cjs +2 -2
- package/dist/hero-presentation-platform-video.js +2 -2
- package/dist/hero-pricing-comparison.cjs +2 -2
- package/dist/hero-pricing-comparison.js +2 -2
- package/dist/hero-product-showcase-floating.cjs +2 -2
- package/dist/hero-product-showcase-floating.js +2 -2
- 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 +2 -2
- package/dist/hero-saas-dashboard-preview.js +2 -2
- package/dist/hero-shared-inbox-layered.cjs +2 -2
- package/dist/hero-shared-inbox-layered.js +2 -2
- package/dist/hero-simple-centered-image.cjs +2 -2
- package/dist/hero-simple-centered-image.js +2 -2
- package/dist/hero-software-growth-video-dialog.cjs +2 -2
- package/dist/hero-software-growth-video-dialog.js +2 -2
- package/dist/hero-spiral-pattern-cards.cjs +2 -2
- package/dist/hero-spiral-pattern-cards.js +2 -2
- package/dist/hero-split-geometric-shapes.cjs +2 -2
- package/dist/hero-split-geometric-shapes.js +2 -2
- 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 +2 -2
- package/dist/hero-split-image-newsletter.js +2 -2
- package/dist/hero-split-spiral-shapes.cjs +2 -2
- package/dist/hero-split-spiral-shapes.js +2 -2
- 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 +2 -2
- package/dist/hero-stats-social-proof.js +2 -2
- package/dist/hero-task-timer-animated.cjs +2 -2
- package/dist/hero-task-timer-animated.js +2 -2
- package/dist/hero-tech-carousel.cjs +2 -2
- package/dist/hero-tech-carousel.js +2 -2
- package/dist/hero-therapy-testimonial-grid.cjs +2 -2
- package/dist/hero-therapy-testimonial-grid.js +2 -2
- package/dist/hero-ui-library-showcase.cjs +2 -2
- package/dist/hero-ui-library-showcase.js +2 -2
- package/dist/hero-video-background-dark.cjs +2 -2
- package/dist/hero-video-background-dark.js +2 -2
- package/dist/hero-video-dialog-gradient.cjs +2 -2
- package/dist/hero-video-dialog-gradient.js +2 -2
- package/dist/hero-video-overlay-stars.cjs +2 -2
- package/dist/hero-video-overlay-stars.js +2 -2
- package/dist/hero-welcome-asymmetric-images.cjs +2 -2
- package/dist/hero-welcome-asymmetric-images.js +2 -2
- package/dist/index.cjs +8 -8
- package/dist/index.js +9 -9
- package/dist/media-hover-ctas.cjs +7 -7
- package/dist/media-hover-ctas.js +7 -7
- package/dist/registry.cjs +10071 -8111
- package/dist/registry.js +10033 -8073
- package/package.json +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var React = require('react');
|
|
4
5
|
var clsx = require('clsx');
|
|
5
6
|
var tailwindMerge = require('tailwind-merge');
|
|
6
7
|
var img = require('@page-speed/img');
|
|
7
|
-
var React = require('react');
|
|
8
8
|
var classVarianceAuthority = require('class-variance-authority');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
|
|
|
28
28
|
|
|
29
29
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
30
|
|
|
31
|
-
//
|
|
31
|
+
// components/blocks/about/about-company-profile.tsx
|
|
32
32
|
function cn(...inputs) {
|
|
33
33
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
34
34
|
}
|
|
@@ -477,7 +477,7 @@ function AboutCompanyProfile({
|
|
|
477
477
|
achievementsDescriptionClassName,
|
|
478
478
|
optixFlowConfig
|
|
479
479
|
}) {
|
|
480
|
-
const
|
|
480
|
+
const breakoutContent = React.useMemo(() => {
|
|
481
481
|
if (breakoutSlot) return breakoutSlot;
|
|
482
482
|
if (!breakout) return null;
|
|
483
483
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between gap-6 rounded-xl bg-muted p-7 md:w-1/2 lg:w-auto", breakoutClassName), children: [
|
|
@@ -509,8 +509,8 @@ function AboutCompanyProfile({
|
|
|
509
509
|
}
|
|
510
510
|
)
|
|
511
511
|
] });
|
|
512
|
-
};
|
|
513
|
-
const
|
|
512
|
+
}, [breakoutSlot, breakout, breakoutClassName, optixFlowConfig]);
|
|
513
|
+
const companiesContent = React.useMemo(() => {
|
|
514
514
|
if (companiesSlot) return companiesSlot;
|
|
515
515
|
if (!companies || companies.length === 0) return null;
|
|
516
516
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-32", companiesClassName), children: [
|
|
@@ -528,15 +528,15 @@ function AboutCompanyProfile({
|
|
|
528
528
|
) }, idx);
|
|
529
529
|
}) })
|
|
530
530
|
] });
|
|
531
|
-
};
|
|
532
|
-
const
|
|
531
|
+
}, [companiesSlot, companies, companiesClassName, companiesTitle, optixFlowConfig]);
|
|
532
|
+
const achievementsContent = React.useMemo(() => {
|
|
533
533
|
if (achievementsSlot) return achievementsSlot;
|
|
534
534
|
if (!achievements || achievements.length === 0) return null;
|
|
535
535
|
return achievements.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
536
536
|
typeof item.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-4xl font-semibold md:text-5xl", children: item.value }) : item.value,
|
|
537
537
|
typeof item.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm md:text-base", children: item.label }) : item.label
|
|
538
538
|
] }, idx));
|
|
539
|
-
};
|
|
539
|
+
}, [achievementsSlot, achievements]);
|
|
540
540
|
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
541
541
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-14 grid gap-5 text-center md:grid-cols-2 md:text-left", children: [
|
|
542
542
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-5xl font-semibold", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
@@ -553,7 +553,7 @@ function AboutCompanyProfile({
|
|
|
553
553
|
}
|
|
554
554
|
),
|
|
555
555
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-7 md:flex-row lg:flex-col", children: [
|
|
556
|
-
(breakoutSlot || breakout) &&
|
|
556
|
+
(breakoutSlot || breakout) && breakoutContent,
|
|
557
557
|
secondaryImage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
558
558
|
img.Img,
|
|
559
559
|
{
|
|
@@ -565,13 +565,13 @@ function AboutCompanyProfile({
|
|
|
565
565
|
)
|
|
566
566
|
] })
|
|
567
567
|
] }),
|
|
568
|
-
(companiesSlot || companies && companies.length > 0) &&
|
|
568
|
+
(companiesSlot || companies && companies.length > 0) && companiesContent,
|
|
569
569
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative overflow-hidden rounded-xl bg-muted p-7 md:p-16", achievementsClassName), children: [
|
|
570
570
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 text-center md:text-left", children: [
|
|
571
571
|
achievementsTitle && (typeof achievementsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-semibold md:text-4xl", achievementsTitleClassName), children: achievementsTitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: achievementsTitleClassName, children: achievementsTitle })),
|
|
572
572
|
achievementsDescription && (typeof achievementsDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-xl text-muted-foreground", achievementsDescriptionClassName), children: achievementsDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: achievementsDescriptionClassName, children: achievementsDescription }))
|
|
573
573
|
] }),
|
|
574
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children:
|
|
574
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children: achievementsContent })
|
|
575
575
|
] })
|
|
576
576
|
] }) });
|
|
577
577
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useMemo } from 'react';
|
|
2
4
|
import { clsx } from 'clsx';
|
|
3
5
|
import { twMerge } from 'tailwind-merge';
|
|
4
6
|
import { Img } from '@page-speed/img';
|
|
5
|
-
import * as React from 'react';
|
|
6
7
|
import { cva } from 'class-variance-authority';
|
|
7
8
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
9
|
|
|
9
|
-
//
|
|
10
|
+
// components/blocks/about/about-company-profile.tsx
|
|
10
11
|
function cn(...inputs) {
|
|
11
12
|
return twMerge(clsx(inputs));
|
|
12
13
|
}
|
|
@@ -455,7 +456,7 @@ function AboutCompanyProfile({
|
|
|
455
456
|
achievementsDescriptionClassName,
|
|
456
457
|
optixFlowConfig
|
|
457
458
|
}) {
|
|
458
|
-
const
|
|
459
|
+
const breakoutContent = useMemo(() => {
|
|
459
460
|
if (breakoutSlot) return breakoutSlot;
|
|
460
461
|
if (!breakout) return null;
|
|
461
462
|
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-between gap-6 rounded-xl bg-muted p-7 md:w-1/2 lg:w-auto", breakoutClassName), children: [
|
|
@@ -487,8 +488,8 @@ function AboutCompanyProfile({
|
|
|
487
488
|
}
|
|
488
489
|
)
|
|
489
490
|
] });
|
|
490
|
-
};
|
|
491
|
-
const
|
|
491
|
+
}, [breakoutSlot, breakout, breakoutClassName, optixFlowConfig]);
|
|
492
|
+
const companiesContent = useMemo(() => {
|
|
492
493
|
if (companiesSlot) return companiesSlot;
|
|
493
494
|
if (!companies || companies.length === 0) return null;
|
|
494
495
|
return /* @__PURE__ */ jsxs("div", { className: cn("py-32", companiesClassName), children: [
|
|
@@ -506,15 +507,15 @@ function AboutCompanyProfile({
|
|
|
506
507
|
) }, idx);
|
|
507
508
|
}) })
|
|
508
509
|
] });
|
|
509
|
-
};
|
|
510
|
-
const
|
|
510
|
+
}, [companiesSlot, companies, companiesClassName, companiesTitle, optixFlowConfig]);
|
|
511
|
+
const achievementsContent = useMemo(() => {
|
|
511
512
|
if (achievementsSlot) return achievementsSlot;
|
|
512
513
|
if (!achievements || achievements.length === 0) return null;
|
|
513
514
|
return achievements.map((item, idx) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
514
515
|
typeof item.value === "string" ? /* @__PURE__ */ jsx("span", { className: "text-4xl font-semibold md:text-5xl", children: item.value }) : item.value,
|
|
515
516
|
typeof item.label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base", children: item.label }) : item.label
|
|
516
517
|
] }, idx));
|
|
517
|
-
};
|
|
518
|
+
}, [achievementsSlot, achievements]);
|
|
518
519
|
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
519
520
|
/* @__PURE__ */ jsxs("div", { className: "mb-14 grid gap-5 text-center md:grid-cols-2 md:text-left", children: [
|
|
520
521
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-5xl font-semibold", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
@@ -531,7 +532,7 @@ function AboutCompanyProfile({
|
|
|
531
532
|
}
|
|
532
533
|
),
|
|
533
534
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-7 md:flex-row lg:flex-col", children: [
|
|
534
|
-
(breakoutSlot || breakout) &&
|
|
535
|
+
(breakoutSlot || breakout) && breakoutContent,
|
|
535
536
|
secondaryImage && /* @__PURE__ */ jsx(
|
|
536
537
|
Img,
|
|
537
538
|
{
|
|
@@ -543,13 +544,13 @@ function AboutCompanyProfile({
|
|
|
543
544
|
)
|
|
544
545
|
] })
|
|
545
546
|
] }),
|
|
546
|
-
(companiesSlot || companies && companies.length > 0) &&
|
|
547
|
+
(companiesSlot || companies && companies.length > 0) && companiesContent,
|
|
547
548
|
/* @__PURE__ */ jsxs("div", { className: cn("relative overflow-hidden rounded-xl bg-muted p-7 md:p-16", achievementsClassName), children: [
|
|
548
549
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 text-center md:text-left", children: [
|
|
549
550
|
achievementsTitle && (typeof achievementsTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-semibold md:text-4xl", achievementsTitleClassName), children: achievementsTitle }) : /* @__PURE__ */ jsx("div", { className: achievementsTitleClassName, children: achievementsTitle })),
|
|
550
551
|
achievementsDescription && (typeof achievementsDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-xl text-muted-foreground", achievementsDescriptionClassName), children: achievementsDescription }) : /* @__PURE__ */ jsx("div", { className: achievementsDescriptionClassName, children: achievementsDescription }))
|
|
551
552
|
] }),
|
|
552
|
-
/* @__PURE__ */ jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children:
|
|
553
|
+
/* @__PURE__ */ jsx("div", { className: "mt-10 grid grid-cols-2 gap-x-4 gap-y-8 text-center lg:grid-cols-4", children: achievementsContent })
|
|
553
554
|
] })
|
|
554
555
|
] }) });
|
|
555
556
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var React = require('react');
|
|
4
5
|
var clsx = require('clsx');
|
|
5
6
|
var tailwindMerge = require('tailwind-merge');
|
|
6
7
|
var img = require('@page-speed/img');
|
|
7
|
-
var React = require('react');
|
|
8
8
|
var classVarianceAuthority = require('class-variance-authority');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
|
|
|
28
28
|
|
|
29
29
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
30
|
|
|
31
|
-
//
|
|
31
|
+
// components/blocks/about/about-developer-profile.tsx
|
|
32
32
|
function cn(...inputs) {
|
|
33
33
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
34
34
|
}
|
|
@@ -475,7 +475,7 @@ function AboutDeveloperProfile({
|
|
|
475
475
|
actionsClassName,
|
|
476
476
|
optixFlowConfig
|
|
477
477
|
}) {
|
|
478
|
-
const
|
|
478
|
+
const socialLinksContent = React.useMemo(() => {
|
|
479
479
|
if (socialLinksSlot) return socialLinksSlot;
|
|
480
480
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
481
481
|
return socialLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -488,8 +488,8 @@ function AboutDeveloperProfile({
|
|
|
488
488
|
},
|
|
489
489
|
idx
|
|
490
490
|
));
|
|
491
|
-
};
|
|
492
|
-
const
|
|
491
|
+
}, [socialLinksSlot, socialLinks]);
|
|
492
|
+
const skillsContent = React.useMemo(() => {
|
|
493
493
|
if (skillsSlot) return skillsSlot;
|
|
494
494
|
if (!skills || skills.length === 0) return null;
|
|
495
495
|
return skills.map((skill, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -500,8 +500,8 @@ function AboutDeveloperProfile({
|
|
|
500
500
|
},
|
|
501
501
|
idx
|
|
502
502
|
));
|
|
503
|
-
};
|
|
504
|
-
const
|
|
503
|
+
}, [skillsSlot, skills, skillTagClassName]);
|
|
504
|
+
const actionsContent = React.useMemo(() => {
|
|
505
505
|
if (actionsSlot) return actionsSlot;
|
|
506
506
|
if (!actions || actions.length === 0) return null;
|
|
507
507
|
return actions.map((action, index) => {
|
|
@@ -521,7 +521,7 @@ function AboutDeveloperProfile({
|
|
|
521
521
|
index
|
|
522
522
|
);
|
|
523
523
|
});
|
|
524
|
-
};
|
|
524
|
+
}, [actionsSlot, actions]);
|
|
525
525
|
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
|
|
526
526
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-8 md:flex-row md:items-start", children: [
|
|
527
527
|
avatar && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -536,15 +536,15 @@ function AboutDeveloperProfile({
|
|
|
536
536
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center md:text-left", children: [
|
|
537
537
|
name && (typeof name === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold", nameClassName), children: name }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: nameClassName, children: name })),
|
|
538
538
|
role && (typeof role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-2 text-xl text-primary", roleClassName), children: role }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-2", roleClassName), children: role })),
|
|
539
|
-
(socialLinksSlot || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4 flex justify-center gap-4 md:justify-start", socialLinksClassName), children:
|
|
539
|
+
(socialLinksSlot || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4 flex justify-center gap-4 md:justify-start", socialLinksClassName), children: socialLinksContent })
|
|
540
540
|
] })
|
|
541
541
|
] }),
|
|
542
542
|
bio && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-12", children: typeof bio === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-muted-foreground whitespace-pre-line", bioClassName), children: bio }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: bioClassName, children: bio }) }),
|
|
543
543
|
(skillsSlot || skills && skills.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-12", skillsClassName), children: [
|
|
544
544
|
skillsTitle && (typeof skillsTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold", children: skillsTitle }) : skillsTitle),
|
|
545
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 flex flex-wrap gap-2", children:
|
|
545
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 flex flex-wrap gap-2", children: skillsContent })
|
|
546
546
|
] }),
|
|
547
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12 text-center md:text-left", actionsClassName), children:
|
|
547
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12 text-center md:text-left", actionsClassName), children: actionsContent })
|
|
548
548
|
] }) }) });
|
|
549
549
|
}
|
|
550
550
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useMemo } from 'react';
|
|
2
4
|
import { clsx } from 'clsx';
|
|
3
5
|
import { twMerge } from 'tailwind-merge';
|
|
4
6
|
import { Img } from '@page-speed/img';
|
|
5
|
-
import * as React from 'react';
|
|
6
7
|
import { cva } from 'class-variance-authority';
|
|
7
8
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
9
|
|
|
9
|
-
//
|
|
10
|
+
// components/blocks/about/about-developer-profile.tsx
|
|
10
11
|
function cn(...inputs) {
|
|
11
12
|
return twMerge(clsx(inputs));
|
|
12
13
|
}
|
|
@@ -453,7 +454,7 @@ function AboutDeveloperProfile({
|
|
|
453
454
|
actionsClassName,
|
|
454
455
|
optixFlowConfig
|
|
455
456
|
}) {
|
|
456
|
-
const
|
|
457
|
+
const socialLinksContent = useMemo(() => {
|
|
457
458
|
if (socialLinksSlot) return socialLinksSlot;
|
|
458
459
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
459
460
|
return socialLinks.map((link, idx) => /* @__PURE__ */ jsx(
|
|
@@ -466,8 +467,8 @@ function AboutDeveloperProfile({
|
|
|
466
467
|
},
|
|
467
468
|
idx
|
|
468
469
|
));
|
|
469
|
-
};
|
|
470
|
-
const
|
|
470
|
+
}, [socialLinksSlot, socialLinks]);
|
|
471
|
+
const skillsContent = useMemo(() => {
|
|
471
472
|
if (skillsSlot) return skillsSlot;
|
|
472
473
|
if (!skills || skills.length === 0) return null;
|
|
473
474
|
return skills.map((skill, idx) => /* @__PURE__ */ jsx(
|
|
@@ -478,8 +479,8 @@ function AboutDeveloperProfile({
|
|
|
478
479
|
},
|
|
479
480
|
idx
|
|
480
481
|
));
|
|
481
|
-
};
|
|
482
|
-
const
|
|
482
|
+
}, [skillsSlot, skills, skillTagClassName]);
|
|
483
|
+
const actionsContent = useMemo(() => {
|
|
483
484
|
if (actionsSlot) return actionsSlot;
|
|
484
485
|
if (!actions || actions.length === 0) return null;
|
|
485
486
|
return actions.map((action, index) => {
|
|
@@ -499,7 +500,7 @@ function AboutDeveloperProfile({
|
|
|
499
500
|
index
|
|
500
501
|
);
|
|
501
502
|
});
|
|
502
|
-
};
|
|
503
|
+
}, [actionsSlot, actions]);
|
|
503
504
|
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
|
|
504
505
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 md:flex-row md:items-start", children: [
|
|
505
506
|
avatar && /* @__PURE__ */ jsx(
|
|
@@ -514,15 +515,15 @@ function AboutDeveloperProfile({
|
|
|
514
515
|
/* @__PURE__ */ jsxs("div", { className: "text-center md:text-left", children: [
|
|
515
516
|
name && (typeof name === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold", nameClassName), children: name }) : /* @__PURE__ */ jsx("div", { className: nameClassName, children: name })),
|
|
516
517
|
role && (typeof role === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-2 text-xl text-primary", roleClassName), children: role }) : /* @__PURE__ */ jsx("div", { className: cn("mt-2", roleClassName), children: role })),
|
|
517
|
-
(socialLinksSlot || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-4 flex justify-center gap-4 md:justify-start", socialLinksClassName), children:
|
|
518
|
+
(socialLinksSlot || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-4 flex justify-center gap-4 md:justify-start", socialLinksClassName), children: socialLinksContent })
|
|
518
519
|
] })
|
|
519
520
|
] }),
|
|
520
521
|
bio && /* @__PURE__ */ jsx("div", { className: "mt-12", children: typeof bio === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg text-muted-foreground whitespace-pre-line", bioClassName), children: bio }) : /* @__PURE__ */ jsx("div", { className: bioClassName, children: bio }) }),
|
|
521
522
|
(skillsSlot || skills && skills.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn("mt-12", skillsClassName), children: [
|
|
522
523
|
skillsTitle && (typeof skillsTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold", children: skillsTitle }) : skillsTitle),
|
|
523
|
-
/* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-2", children:
|
|
524
|
+
/* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-2", children: skillsContent })
|
|
524
525
|
] }),
|
|
525
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-12 text-center md:text-left", actionsClassName), children:
|
|
526
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-12 text-center md:text-left", actionsClassName), children: actionsContent })
|
|
526
527
|
] }) }) });
|
|
527
528
|
}
|
|
528
529
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var React = require('react');
|
|
4
5
|
var clsx = require('clsx');
|
|
5
6
|
var tailwindMerge = require('tailwind-merge');
|
|
6
7
|
var img = require('@page-speed/img');
|
|
7
|
-
var React = require('react');
|
|
8
8
|
var classVarianceAuthority = require('class-variance-authority');
|
|
9
9
|
var jsxRuntime = require('react/jsx-runtime');
|
|
10
10
|
|
|
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
|
|
|
28
28
|
|
|
29
29
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
30
|
|
|
31
|
-
//
|
|
31
|
+
// components/blocks/about/about-developer-story.tsx
|
|
32
32
|
function cn(...inputs) {
|
|
33
33
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
34
34
|
}
|
|
@@ -579,7 +579,7 @@ function AboutDeveloperStory({
|
|
|
579
579
|
storyImageClassName,
|
|
580
580
|
optixFlowConfig
|
|
581
581
|
}) {
|
|
582
|
-
const
|
|
582
|
+
const actionsContent = React.useMemo(() => {
|
|
583
583
|
if (actionsSlot) return actionsSlot;
|
|
584
584
|
if (!actions || actions.length === 0) return null;
|
|
585
585
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap justify-center gap-4", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -597,8 +597,8 @@ function AboutDeveloperStory({
|
|
|
597
597
|
},
|
|
598
598
|
idx
|
|
599
599
|
)) });
|
|
600
|
-
};
|
|
601
|
-
const
|
|
600
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
601
|
+
const logosContent = React.useMemo(() => {
|
|
602
602
|
if (logosSlot) return logosSlot;
|
|
603
603
|
if (!logos || logos.length === 0) return null;
|
|
604
604
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60", logosClassName), children: logos.map((logo, idx) => {
|
|
@@ -614,23 +614,23 @@ function AboutDeveloperStory({
|
|
|
614
614
|
idx
|
|
615
615
|
);
|
|
616
616
|
}) });
|
|
617
|
-
};
|
|
618
|
-
const
|
|
617
|
+
}, [logosSlot, logos, logosClassName, optixFlowConfig]);
|
|
618
|
+
const statsContent = React.useMemo(() => {
|
|
619
619
|
if (statsSlot) return statsSlot;
|
|
620
620
|
if (!stats || stats.length === 0) return null;
|
|
621
621
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 grid grid-cols-1 gap-8 border-y py-12 md:grid-cols-3", statsClassName), children: stats.map((stat, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
622
622
|
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-4xl font-bold", children: stat.value }) : stat.value),
|
|
623
623
|
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: stat.label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: stat.label }))
|
|
624
624
|
] }, idx)) });
|
|
625
|
-
};
|
|
625
|
+
}, [statsSlot, stats, statsClassName]);
|
|
626
626
|
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
627
627
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex max-w-4xl flex-col items-center gap-8 text-center", children: [
|
|
628
628
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-6xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
629
629
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
630
|
-
|
|
630
|
+
actionsContent
|
|
631
631
|
] }),
|
|
632
|
-
|
|
633
|
-
|
|
632
|
+
logosContent,
|
|
633
|
+
statsContent,
|
|
634
634
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-20 grid gap-12 md:grid-cols-2 md:items-center", children: [
|
|
635
635
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
636
636
|
storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", storyTitleClassName), children: storyTitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: storyTitleClassName, children: storyTitle })),
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useMemo } from 'react';
|
|
2
4
|
import { clsx } from 'clsx';
|
|
3
5
|
import { twMerge } from 'tailwind-merge';
|
|
4
6
|
import { Img } from '@page-speed/img';
|
|
5
|
-
import * as React from 'react';
|
|
6
7
|
import { cva } from 'class-variance-authority';
|
|
7
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
9
|
|
|
9
|
-
//
|
|
10
|
+
// components/blocks/about/about-developer-story.tsx
|
|
10
11
|
function cn(...inputs) {
|
|
11
12
|
return twMerge(clsx(inputs));
|
|
12
13
|
}
|
|
@@ -557,7 +558,7 @@ function AboutDeveloperStory({
|
|
|
557
558
|
storyImageClassName,
|
|
558
559
|
optixFlowConfig
|
|
559
560
|
}) {
|
|
560
|
-
const
|
|
561
|
+
const actionsContent = useMemo(() => {
|
|
561
562
|
if (actionsSlot) return actionsSlot;
|
|
562
563
|
if (!actions || actions.length === 0) return null;
|
|
563
564
|
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap justify-center gap-4", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxs(
|
|
@@ -575,8 +576,8 @@ function AboutDeveloperStory({
|
|
|
575
576
|
},
|
|
576
577
|
idx
|
|
577
578
|
)) });
|
|
578
|
-
};
|
|
579
|
-
const
|
|
579
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
580
|
+
const logosContent = useMemo(() => {
|
|
580
581
|
if (logosSlot) return logosSlot;
|
|
581
582
|
if (!logos || logos.length === 0) return null;
|
|
582
583
|
return /* @__PURE__ */ jsx("div", { className: cn("mt-20 flex flex-wrap items-center justify-center gap-8 opacity-60", logosClassName), children: logos.map((logo, idx) => {
|
|
@@ -592,23 +593,23 @@ function AboutDeveloperStory({
|
|
|
592
593
|
idx
|
|
593
594
|
);
|
|
594
595
|
}) });
|
|
595
|
-
};
|
|
596
|
-
const
|
|
596
|
+
}, [logosSlot, logos, logosClassName, optixFlowConfig]);
|
|
597
|
+
const statsContent = useMemo(() => {
|
|
597
598
|
if (statsSlot) return statsSlot;
|
|
598
599
|
if (!stats || stats.length === 0) return null;
|
|
599
600
|
return /* @__PURE__ */ jsx("div", { className: cn("mt-20 grid grid-cols-1 gap-8 border-y py-12 md:grid-cols-3", statsClassName), children: stats.map((stat, idx) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
600
601
|
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsx("p", { className: "text-4xl font-bold", children: stat.value }) : stat.value),
|
|
601
602
|
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-muted-foreground", children: stat.label }) : /* @__PURE__ */ jsx("div", { className: "mt-2", children: stat.label }))
|
|
602
603
|
] }, idx)) });
|
|
603
|
-
};
|
|
604
|
+
}, [statsSlot, stats, statsClassName]);
|
|
604
605
|
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
605
606
|
/* @__PURE__ */ jsxs("div", { className: "mx-auto flex max-w-4xl flex-col items-center gap-8 text-center", children: [
|
|
606
607
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-6xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
607
608
|
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-2xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
608
|
-
|
|
609
|
+
actionsContent
|
|
609
610
|
] }),
|
|
610
|
-
|
|
611
|
-
|
|
611
|
+
logosContent,
|
|
612
|
+
statsContent,
|
|
612
613
|
/* @__PURE__ */ jsxs("div", { className: "mt-20 grid gap-12 md:grid-cols-2 md:items-center", children: [
|
|
613
614
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
614
615
|
storyTitle && (typeof storyTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl", storyTitleClassName), children: storyTitle }) : /* @__PURE__ */ jsx("div", { className: storyTitleClassName, children: storyTitle })),
|
|
@@ -51,15 +51,20 @@ function AboutInteractiveTabs({
|
|
|
51
51
|
optixFlowConfig
|
|
52
52
|
}) {
|
|
53
53
|
const [activeTab, setActiveTab] = React__namespace.useState(tabs?.[0]?.id ?? "");
|
|
54
|
-
const activeContent =
|
|
55
|
-
|
|
54
|
+
const activeContent = React.useMemo(() => {
|
|
55
|
+
return tabs?.find((tab) => tab.id === activeTab)?.content;
|
|
56
|
+
}, [tabs, activeTab]);
|
|
57
|
+
const handleTabChange = React.useCallback((id) => {
|
|
58
|
+
setActiveTab(id);
|
|
59
|
+
}, []);
|
|
60
|
+
const tabsContent = React.useMemo(() => {
|
|
56
61
|
if (tabsSlot) return tabsSlot;
|
|
57
62
|
if (!tabs || tabs.length === 0) return null;
|
|
58
63
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-16", children: [
|
|
59
64
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap justify-center gap-2 border-b", tabsContainerClassName), children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
60
65
|
"button",
|
|
61
66
|
{
|
|
62
|
-
onClick: () =>
|
|
67
|
+
onClick: () => handleTabChange(tab.id),
|
|
63
68
|
className: cn(
|
|
64
69
|
"px-6 py-3 text-sm font-medium transition-colors",
|
|
65
70
|
activeTab === tab.id ? cn("border-b-2 border-primary text-primary", activeTabClassName) : "text-muted-foreground hover:text-foreground",
|
|
@@ -85,13 +90,13 @@ function AboutInteractiveTabs({
|
|
|
85
90
|
)
|
|
86
91
|
] })
|
|
87
92
|
] });
|
|
88
|
-
};
|
|
93
|
+
}, [tabsSlot, tabs, tabsContainerClassName, activeTab, activeTabClassName, tabButtonClassName, handleTabChange, activeContent, tabContentClassName, tabContentTitleClassName, tabContentDescriptionClassName, tabContentImageClassName, optixFlowConfig]);
|
|
89
94
|
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
90
95
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
|
|
91
96
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
92
97
|
subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", subtitleClassName), children: subtitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
|
|
93
98
|
] }),
|
|
94
|
-
(tabsSlot || tabs && tabs.length > 0) &&
|
|
99
|
+
(tabsSlot || tabs && tabs.length > 0) && tabsContent
|
|
95
100
|
] }) });
|
|
96
101
|
}
|
|
97
102
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { useMemo, useCallback } from 'react';
|
|
3
4
|
import { clsx } from 'clsx';
|
|
4
5
|
import { twMerge } from 'tailwind-merge';
|
|
5
6
|
import { Img } from '@page-speed/img';
|
|
6
|
-
import {
|
|
7
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
8
|
|
|
8
9
|
// components/blocks/about/about-interactive-tabs.tsx
|
|
9
10
|
function cn(...inputs) {
|
|
@@ -29,15 +30,20 @@ function AboutInteractiveTabs({
|
|
|
29
30
|
optixFlowConfig
|
|
30
31
|
}) {
|
|
31
32
|
const [activeTab, setActiveTab] = React.useState(tabs?.[0]?.id ?? "");
|
|
32
|
-
const activeContent =
|
|
33
|
-
|
|
33
|
+
const activeContent = useMemo(() => {
|
|
34
|
+
return tabs?.find((tab) => tab.id === activeTab)?.content;
|
|
35
|
+
}, [tabs, activeTab]);
|
|
36
|
+
const handleTabChange = useCallback((id) => {
|
|
37
|
+
setActiveTab(id);
|
|
38
|
+
}, []);
|
|
39
|
+
const tabsContent = useMemo(() => {
|
|
34
40
|
if (tabsSlot) return tabsSlot;
|
|
35
41
|
if (!tabs || tabs.length === 0) return null;
|
|
36
42
|
return /* @__PURE__ */ jsxs("div", { className: "mt-16", children: [
|
|
37
43
|
/* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap justify-center gap-2 border-b", tabsContainerClassName), children: tabs.map((tab) => /* @__PURE__ */ jsx(
|
|
38
44
|
"button",
|
|
39
45
|
{
|
|
40
|
-
onClick: () =>
|
|
46
|
+
onClick: () => handleTabChange(tab.id),
|
|
41
47
|
className: cn(
|
|
42
48
|
"px-6 py-3 text-sm font-medium transition-colors",
|
|
43
49
|
activeTab === tab.id ? cn("border-b-2 border-primary text-primary", activeTabClassName) : "text-muted-foreground hover:text-foreground",
|
|
@@ -63,13 +69,13 @@ function AboutInteractiveTabs({
|
|
|
63
69
|
)
|
|
64
70
|
] })
|
|
65
71
|
] });
|
|
66
|
-
};
|
|
72
|
+
}, [tabsSlot, tabs, tabsContainerClassName, activeTab, activeTabClassName, tabButtonClassName, handleTabChange, activeContent, tabContentClassName, tabContentTitleClassName, tabContentDescriptionClassName, tabContentImageClassName, optixFlowConfig]);
|
|
67
73
|
return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
|
|
68
74
|
/* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
|
|
69
75
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
70
76
|
subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", subtitleClassName), children: subtitle }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
|
|
71
77
|
] }),
|
|
72
|
-
(tabsSlot || tabs && tabs.length > 0) &&
|
|
78
|
+
(tabsSlot || tabs && tabs.length > 0) && tabsContent
|
|
73
79
|
] }) });
|
|
74
80
|
}
|
|
75
81
|
|