@opensite/ui 2.8.0 → 2.8.1
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-culture-tabs.cjs +25 -21
- package/dist/about-culture-tabs.js +23 -19
- package/dist/about-developer-profile.cjs +6 -2
- package/dist/about-developer-profile.js +6 -2
- package/dist/about-expandable-values.cjs +6 -2
- package/dist/about-expandable-values.js +6 -2
- package/dist/about-location-info-hero.cjs +6 -2
- package/dist/about-location-info-hero.js +6 -2
- package/dist/about-mission-principles.cjs +6 -2
- package/dist/about-mission-principles.js +6 -2
- package/dist/about-network-spotlight.cjs +18 -14
- package/dist/about-network-spotlight.js +16 -12
- package/dist/about-split-hero.cjs +6 -2
- package/dist/about-split-hero.js +6 -2
- package/dist/about-startup-team.cjs +6 -2
- package/dist/about-startup-team.js +6 -2
- package/dist/article-breadcrumb-social.cjs +27 -23
- package/dist/article-breadcrumb-social.js +27 -23
- package/dist/article-chapters-author.cjs +29 -25
- package/dist/article-chapters-author.js +29 -25
- package/dist/article-compact-toc.cjs +26 -22
- package/dist/article-compact-toc.js +26 -22
- package/dist/article-sidebar-sticky.cjs +6 -2
- package/dist/article-sidebar-sticky.js +6 -2
- package/dist/auto-scroll-carousel.cjs +28 -24
- package/dist/auto-scroll-carousel.js +26 -22
- package/dist/banner-announcement-dismissible.cjs +6 -2
- package/dist/banner-announcement-dismissible.js +6 -2
- package/dist/banner-delivery-countdown.cjs +6 -2
- package/dist/banner-delivery-countdown.js +6 -2
- package/dist/banner-floating-offer.cjs +6 -2
- package/dist/banner-floating-offer.js +6 -2
- package/dist/banner-gdpr-rights.cjs +6 -2
- package/dist/banner-gdpr-rights.js +6 -2
- package/dist/banner-privacy-notice.cjs +6 -2
- package/dist/banner-privacy-notice.js +6 -2
- package/dist/banner-social-follow.cjs +6 -2
- package/dist/banner-social-follow.js +6 -2
- package/dist/banner-survey-incentive.cjs +6 -2
- package/dist/banner-survey-incentive.js +6 -2
- package/dist/blog-cards-read-time.cjs +6 -2
- package/dist/blog-cards-read-time.js +6 -2
- package/dist/blog-cards-tagline-cta.cjs +6 -2
- package/dist/blog-cards-tagline-cta.js +6 -2
- package/dist/blog-carousel-apple.cjs +25 -21
- package/dist/blog-carousel-apple.js +21 -17
- package/dist/blog-category-overlay.cjs +6 -2
- package/dist/blog-category-overlay.js +6 -2
- package/dist/blog-filtered-results.cjs +30 -26
- package/dist/blog-filtered-results.js +24 -20
- package/dist/blog-horizontal-cards.cjs +6 -2
- package/dist/blog-horizontal-cards.js +6 -2
- package/dist/blog-horizontal-timeline.cjs +6 -2
- package/dist/blog-horizontal-timeline.js +6 -2
- package/dist/carousel-animated-sections.cjs +23 -19
- package/dist/carousel-animated-sections.js +23 -19
- package/dist/carousel-auto-progress-slides.cjs +6 -2
- package/dist/carousel-auto-progress-slides.js +6 -2
- package/dist/carousel-autoplay-progress.cjs +34 -30
- package/dist/carousel-autoplay-progress.js +34 -30
- package/dist/carousel-badge-cards.cjs +31 -27
- package/dist/carousel-badge-cards.js +26 -22
- package/dist/carousel-demo-link.cjs +32 -28
- package/dist/carousel-demo-link.js +26 -22
- package/dist/carousel-feature-badge.cjs +22 -18
- package/dist/carousel-feature-badge.js +22 -18
- package/dist/carousel-gallery-thumbnails.cjs +6 -2
- package/dist/carousel-gallery-thumbnails.js +6 -2
- package/dist/carousel-gradient-overlay.cjs +32 -28
- package/dist/carousel-gradient-overlay.js +26 -22
- package/dist/carousel-gradient-text.cjs +32 -28
- package/dist/carousel-gradient-text.js +26 -22
- package/dist/carousel-horizontal-cards.cjs +20 -16
- package/dist/carousel-horizontal-cards.js +20 -16
- package/dist/carousel-icon-sidebar.cjs +38 -34
- package/dist/carousel-icon-sidebar.js +26 -22
- package/dist/carousel-icon-tabs.cjs +39 -35
- package/dist/carousel-icon-tabs.js +26 -22
- package/dist/carousel-image-hero.cjs +22 -18
- package/dist/carousel-image-hero.js +22 -18
- package/dist/carousel-multi-step-showcase.cjs +6 -2
- package/dist/carousel-multi-step-showcase.js +6 -2
- package/dist/carousel-pagination.cjs +6 -2
- package/dist/carousel-pagination.js +6 -2
- package/dist/carousel-portfolio-hero.cjs +22 -18
- package/dist/carousel-portfolio-hero.js +22 -18
- package/dist/carousel-product-feature-showcase.cjs +6 -2
- package/dist/carousel-product-feature-showcase.js +6 -2
- package/dist/carousel-progress-slider.cjs +28 -24
- package/dist/carousel-progress-slider.js +28 -24
- package/dist/carousel-scale-focus.cjs +41 -37
- package/dist/carousel-scale-focus.js +26 -22
- package/dist/carousel-sidebar-resources.cjs +34 -30
- package/dist/carousel-sidebar-resources.js +26 -22
- package/dist/carousel-tabs-content.cjs +39 -35
- package/dist/carousel-tabs-content.js +26 -22
- package/dist/case-studies-featured-border.cjs +6 -2
- package/dist/case-studies-featured-border.js +6 -2
- package/dist/case-study-stats-metrics.cjs +6 -2
- package/dist/case-study-stats-metrics.js +6 -2
- package/dist/case-study-toc-social-sidebar.cjs +6 -2
- package/dist/case-study-toc-social-sidebar.js +6 -2
- package/dist/community-initiatives.cjs +19 -15
- package/dist/community-initiatives.js +17 -13
- package/dist/comparison-ai-models.cjs +18 -14
- package/dist/comparison-ai-models.js +17 -13
- package/dist/comparison-feature-cards.cjs +16 -12
- package/dist/comparison-feature-cards.js +16 -12
- package/dist/comparison-feature-grid.cjs +14 -10
- package/dist/comparison-feature-grid.js +14 -10
- package/dist/comparison-grid-badges.cjs +13 -9
- package/dist/comparison-grid-badges.js +13 -9
- package/dist/comparison-legacy-modern.cjs +15 -11
- package/dist/comparison-legacy-modern.js +15 -11
- package/dist/comparison-table-tabs.cjs +15 -11
- package/dist/comparison-table-tabs.js +14 -10
- package/dist/comparison-table-two-column.cjs +14 -10
- package/dist/comparison-table-two-column.js +14 -10
- package/dist/components.cjs +199 -179
- package/dist/components.js +104 -84
- package/dist/contact-callback.cjs +27 -7
- package/dist/contact-callback.js +10 -5
- package/dist/contact-card.cjs +6 -2
- package/dist/contact-card.js +6 -2
- package/dist/contact-careers.cjs +18 -14
- package/dist/contact-careers.js +16 -12
- package/dist/contact-dark.cjs +6 -2
- package/dist/contact-dark.js +6 -2
- package/dist/contact-emergency.cjs +6 -2
- package/dist/contact-emergency.js +6 -2
- package/dist/contact-faq.cjs +9 -7
- package/dist/contact-faq.js +10 -5
- package/dist/contact-floating-banner.cjs +6 -2
- package/dist/contact-floating-banner.js +6 -2
- package/dist/contact-help-center.cjs +16 -12
- package/dist/contact-help-center.js +16 -12
- package/dist/contact-image.cjs +18 -14
- package/dist/contact-image.js +17 -13
- package/dist/contact-map.cjs +78 -58
- package/dist/contact-map.js +78 -58
- package/dist/cta-app-download-newsletter.cjs +6 -2
- package/dist/cta-app-download-newsletter.js +6 -2
- package/dist/cta-background-icon-badge.cjs +6 -2
- package/dist/cta-background-icon-badge.js +6 -2
- package/dist/cta-case-study-testimonial.cjs +6 -2
- package/dist/cta-case-study-testimonial.js +6 -2
- package/dist/cta-documentation-links.cjs +6 -2
- package/dist/cta-documentation-links.js +6 -2
- package/dist/cta-enterprise-dark-features.cjs +6 -2
- package/dist/cta-enterprise-dark-features.js +6 -2
- package/dist/cta-enterprise-split.cjs +6 -2
- package/dist/cta-enterprise-split.js +6 -2
- package/dist/cta-feature-cards-grid.cjs +6 -2
- package/dist/cta-feature-cards-grid.js +6 -2
- package/dist/cta-feature-checklist.cjs +17 -13
- package/dist/cta-feature-checklist.js +16 -12
- package/dist/cta-feature-list.cjs +6 -2
- package/dist/cta-feature-list.js +6 -2
- package/dist/cta-gradient-logos-floating.cjs +6 -2
- package/dist/cta-gradient-logos-floating.js +6 -2
- package/dist/cta-gradient-stats-hero.cjs +6 -2
- package/dist/cta-gradient-stats-hero.js +6 -2
- package/dist/cta-hero-feature-cards.cjs +6 -2
- package/dist/cta-hero-feature-cards.js +6 -2
- package/dist/cta-image-overlay-arrow.cjs +6 -2
- package/dist/cta-image-overlay-arrow.js +6 -2
- package/dist/cta-newsletter-features.cjs +12 -8
- package/dist/cta-newsletter-features.js +12 -8
- package/dist/cta-platform-demo.cjs +6 -2
- package/dist/cta-platform-demo.js +6 -2
- package/dist/cta-simple-centered.cjs +6 -2
- package/dist/cta-simple-centered.js +6 -2
- package/dist/cta-split-image-logos.cjs +6 -2
- package/dist/cta-split-image-logos.js +6 -2
- package/dist/cta-video-background-hero.cjs +6 -2
- package/dist/cta-video-background-hero.js +6 -2
- package/dist/cta-workflow-tabs.cjs +6 -2
- package/dist/cta-workflow-tabs.js +6 -2
- package/dist/dynamic-icon.cjs +27 -2
- package/dist/dynamic-icon.d.cts +2 -2
- package/dist/dynamic-icon.d.ts +2 -2
- package/dist/dynamic-icon.js +7 -2
- package/dist/expandable-case-study-cards.cjs +26 -6
- package/dist/expandable-case-study-cards.js +10 -5
- package/dist/faq-badge-support.cjs +25 -21
- package/dist/faq-badge-support.js +22 -18
- package/dist/faq-bordered-badge.cjs +9 -7
- package/dist/faq-bordered-badge.js +10 -5
- package/dist/faq-card-categories.cjs +18 -14
- package/dist/faq-card-categories.js +16 -12
- package/dist/faq-categorized-sections.cjs +9 -7
- package/dist/faq-categorized-sections.js +10 -5
- package/dist/faq-centered-accordion.cjs +9 -7
- package/dist/faq-centered-accordion.js +10 -5
- package/dist/faq-gradient-categories.cjs +18 -14
- package/dist/faq-gradient-categories.js +16 -12
- package/dist/faq-icon-benefits.cjs +18 -14
- package/dist/faq-icon-benefits.js +16 -12
- package/dist/faq-muted-cards.cjs +18 -14
- package/dist/faq-muted-cards.js +16 -12
- package/dist/faq-profile-sidebar.cjs +25 -21
- package/dist/faq-profile-sidebar.js +22 -18
- package/dist/faq-rounded-cards.cjs +18 -14
- package/dist/faq-rounded-cards.js +16 -12
- package/dist/faq-sidebar-navigation.cjs +20 -16
- package/dist/faq-sidebar-navigation.js +17 -13
- package/dist/faq-simple-accordion.cjs +18 -14
- package/dist/faq-simple-accordion.js +16 -12
- package/dist/faq-split-help.cjs +25 -21
- package/dist/faq-split-help.js +22 -18
- package/dist/faq-split-hero.cjs +9 -7
- package/dist/faq-split-hero.js +10 -5
- package/dist/feature-accordion-image.cjs +20 -16
- package/dist/feature-accordion-image.js +17 -13
- package/dist/feature-animated-carousel.cjs +35 -31
- package/dist/feature-animated-carousel.js +28 -24
- package/dist/feature-badge-grid-six.cjs +20 -16
- package/dist/feature-badge-grid-six.js +16 -12
- package/dist/feature-bento-image-grid.cjs +21 -17
- package/dist/feature-bento-image-grid.js +20 -16
- package/dist/feature-bento-utilities.cjs +19 -15
- package/dist/feature-bento-utilities.js +18 -14
- package/dist/feature-capabilities-grid.cjs +18 -14
- package/dist/feature-capabilities-grid.js +17 -13
- package/dist/feature-carousel-progress.cjs +31 -27
- package/dist/feature-carousel-progress.js +26 -22
- package/dist/feature-checklist-image.cjs +6 -2
- package/dist/feature-checklist-image.js +6 -2
- package/dist/feature-checklist-three-column.cjs +22 -18
- package/dist/feature-checklist-three-column.js +16 -12
- package/dist/feature-icon-grid-accent.cjs +26 -6
- package/dist/feature-icon-grid-accent.js +10 -5
- package/dist/feature-icon-grid-bordered.cjs +18 -14
- package/dist/feature-icon-grid-bordered.js +16 -12
- package/dist/feature-icon-grid-muted.cjs +18 -14
- package/dist/feature-icon-grid-muted.js +16 -12
- package/dist/feature-icon-tabs-content.cjs +20 -16
- package/dist/feature-icon-tabs-content.js +16 -12
- package/dist/feature-image-cards-three-column.cjs +29 -25
- package/dist/feature-image-cards-three-column.js +22 -18
- package/dist/feature-image-overlay-badge.cjs +18 -14
- package/dist/feature-image-overlay-badge.js +16 -12
- package/dist/feature-numbered-cards.cjs +20 -16
- package/dist/feature-numbered-cards.js +16 -12
- package/dist/feature-pattern-grid-links.cjs +19 -15
- package/dist/feature-pattern-grid-links.js +16 -12
- package/dist/feature-showcase.cjs +6 -2
- package/dist/feature-showcase.js +6 -2
- package/dist/feature-tabbed-content-image.cjs +21 -17
- package/dist/feature-tabbed-content-image.js +19 -15
- package/dist/feature-three-column-values.cjs +18 -14
- package/dist/feature-three-column-values.js +17 -13
- package/dist/feature-utility-cards-grid.cjs +20 -16
- package/dist/feature-utility-cards-grid.js +17 -13
- package/dist/footer-accordion-social.cjs +6 -2
- package/dist/footer-accordion-social.js +6 -2
- package/dist/footer-animated-social.cjs +6 -2
- package/dist/footer-animated-social.js +6 -2
- package/dist/footer-background-card.cjs +6 -2
- package/dist/footer-background-card.js +6 -2
- package/dist/footer-brand-description.cjs +6 -2
- package/dist/footer-brand-description.js +6 -2
- package/dist/footer-brand-links-contact.cjs +6 -2
- package/dist/footer-brand-links-contact.js +6 -2
- package/dist/footer-comprehensive-links.cjs +6 -2
- package/dist/footer-comprehensive-links.js +6 -2
- package/dist/footer-contact-card.cjs +6 -2
- package/dist/footer-contact-card.js +6 -2
- package/dist/footer-cta-banner.cjs +6 -2
- package/dist/footer-cta-banner.js +6 -2
- package/dist/footer-cta-social.cjs +24 -20
- package/dist/footer-cta-social.js +22 -18
- package/dist/footer-info-cards-accordion.cjs +24 -20
- package/dist/footer-info-cards-accordion.js +23 -19
- package/dist/footer-nav-social.cjs +6 -2
- package/dist/footer-nav-social.js +6 -2
- package/dist/footer-newsletter-contact.cjs +6 -2
- package/dist/footer-newsletter-contact.js +6 -2
- package/dist/footer-newsletter-grid.cjs +6 -2
- package/dist/footer-newsletter-grid.js +6 -2
- package/dist/footer-newsletter-minimal.cjs +27 -23
- package/dist/footer-newsletter-minimal.js +26 -22
- package/dist/footer-social-apps.cjs +26 -22
- package/dist/footer-social-apps.js +22 -18
- package/dist/footer-social-newsletter.cjs +6 -2
- package/dist/footer-social-newsletter.js +6 -2
- package/dist/footer-split-image-accordion.cjs +24 -20
- package/dist/footer-split-image-accordion.js +23 -19
- package/dist/geo-map.cjs +74 -54
- package/dist/geo-map.js +73 -53
- package/dist/hero-badge-shadow-overlay.cjs +6 -2
- package/dist/hero-badge-shadow-overlay.js +6 -2
- package/dist/hero-coming-soon-countdown.cjs +6 -2
- package/dist/hero-coming-soon-countdown.js +6 -2
- package/dist/hero-conversion-video-play.cjs +29 -25
- package/dist/hero-conversion-video-play.js +26 -22
- package/dist/hero-creative-studio-stacked.cjs +19 -15
- package/dist/hero-creative-studio-stacked.js +16 -12
- package/dist/hero-dashed-border-features.cjs +6 -2
- package/dist/hero-dashed-border-features.js +6 -2
- package/dist/hero-design-carousel-portfolio.cjs +29 -25
- package/dist/hero-design-carousel-portfolio.js +26 -22
- package/dist/hero-design-system-3d.cjs +18 -14
- package/dist/hero-design-system-3d.js +16 -12
- package/dist/hero-developer-tools-code.cjs +18 -14
- package/dist/hero-developer-tools-code.js +16 -12
- package/dist/hero-ecommerce-product-showcase.cjs +20 -16
- package/dist/hero-ecommerce-product-showcase.js +17 -13
- package/dist/hero-enterprise-security.cjs +6 -2
- package/dist/hero-enterprise-security.js +6 -2
- package/dist/hero-event-registration.cjs +21 -17
- package/dist/hero-event-registration.js +17 -13
- package/dist/hero-feature-cards-grid.cjs +6 -2
- package/dist/hero-feature-cards-grid.js +6 -2
- package/dist/hero-floating-images.cjs +26 -6
- package/dist/hero-floating-images.js +10 -5
- package/dist/hero-gradient-avatars-rating.cjs +19 -15
- package/dist/hero-gradient-avatars-rating.js +16 -12
- package/dist/hero-grid-pattern-solutions.cjs +6 -2
- package/dist/hero-grid-pattern-solutions.js +6 -2
- package/dist/hero-marketplace-scattered-images.cjs +6 -2
- package/dist/hero-marketplace-scattered-images.js +6 -2
- package/dist/hero-mentorship-video-split.cjs +6 -2
- package/dist/hero-mentorship-video-split.js +6 -2
- package/dist/hero-mobile-app-download.cjs +6 -2
- package/dist/hero-mobile-app-download.js +6 -2
- package/dist/hero-overlay-cta-grid.cjs +20 -16
- package/dist/hero-overlay-cta-grid.js +16 -12
- package/dist/hero-platform-features-grid.cjs +6 -2
- package/dist/hero-platform-features-grid.js +6 -2
- package/dist/hero-portfolio-creative.cjs +6 -2
- package/dist/hero-portfolio-creative.js +6 -2
- package/dist/hero-pricing-comparison.cjs +6 -2
- package/dist/hero-pricing-comparison.js +6 -2
- package/dist/hero-product-showcase-floating.cjs +27 -23
- package/dist/hero-product-showcase-floating.js +22 -18
- package/dist/hero-saas-dashboard-preview.cjs +6 -2
- package/dist/hero-saas-dashboard-preview.js +6 -2
- package/dist/hero-software-growth-video-dialog.cjs +19 -15
- package/dist/hero-software-growth-video-dialog.js +16 -12
- package/dist/hero-split-icon-cards.cjs +18 -14
- package/dist/hero-split-icon-cards.js +16 -12
- package/dist/hero-video-dialog-gradient.cjs +19 -15
- package/dist/hero-video-dialog-gradient.js +16 -12
- package/dist/hero-video-overlay-stars.cjs +18 -14
- package/dist/hero-video-overlay-stars.js +16 -12
- package/dist/index.cjs +200 -180
- package/dist/index.js +104 -84
- package/dist/industries-expandable-showcase.cjs +6 -2
- package/dist/industries-expandable-showcase.js +6 -2
- package/dist/industries-hover-reveal-grid.cjs +6 -2
- package/dist/industries-hover-reveal-grid.js +6 -2
- package/dist/industries-timeline-table.cjs +6 -2
- package/dist/industries-timeline-table.js +6 -2
- package/dist/interior-carousel.cjs +33 -29
- package/dist/interior-carousel.js +26 -22
- package/dist/link-page-bento-layout.cjs +6 -2
- package/dist/link-page-bento-layout.js +6 -2
- package/dist/link-page-grid-cards.cjs +6 -2
- package/dist/link-page-grid-cards.js +6 -2
- package/dist/link-page-minimal-profile.cjs +6 -2
- package/dist/link-page-minimal-profile.js +6 -2
- package/dist/link-page-newsletter-social.cjs +6 -2
- package/dist/link-page-newsletter-social.js +6 -2
- package/dist/link-tree-block.cjs +30 -26
- package/dist/link-tree-block.js +30 -26
- package/dist/list-achievements-showcase.cjs +6 -2
- package/dist/list-achievements-showcase.js +6 -2
- package/dist/list-feature-comparison.cjs +6 -2
- package/dist/list-feature-comparison.js +6 -2
- package/dist/list-metrics-dashboard.cjs +6 -2
- package/dist/list-metrics-dashboard.js +6 -2
- package/dist/list-searchable-grid.cjs +19 -15
- package/dist/list-searchable-grid.js +18 -14
- package/dist/list-service-category-table.cjs +26 -6
- package/dist/list-service-category-table.js +10 -5
- package/dist/navbar-animated-preview.cjs +6 -2
- package/dist/navbar-animated-preview.js +6 -2
- package/dist/navbar-centered-menu.cjs +6 -2
- package/dist/navbar-centered-menu.js +6 -2
- package/dist/navbar-dark-icons.cjs +6 -2
- package/dist/navbar-dark-icons.js +6 -2
- package/dist/navbar-dropdown-menu.cjs +6 -2
- package/dist/navbar-dropdown-menu.js +6 -2
- package/dist/navbar-education-platform.cjs +6 -2
- package/dist/navbar-education-platform.js +6 -2
- package/dist/navbar-enterprise-mega.cjs +6 -2
- package/dist/navbar-enterprise-mega.js +6 -2
- package/dist/navbar-feature-grid.cjs +6 -2
- package/dist/navbar-feature-grid.js +6 -2
- package/dist/navbar-floating-pill.cjs +6 -2
- package/dist/navbar-floating-pill.js +6 -2
- package/dist/navbar-fullscreen-menu.cjs +6 -2
- package/dist/navbar-fullscreen-menu.js +6 -2
- package/dist/navbar-icon-links.cjs +6 -2
- package/dist/navbar-icon-links.js +6 -2
- package/dist/navbar-image-preview.cjs +6 -2
- package/dist/navbar-image-preview.js +6 -2
- package/dist/navbar-mega-menu.cjs +6 -2
- package/dist/navbar-mega-menu.js +6 -2
- package/dist/navbar-multi-column-groups.cjs +6 -2
- package/dist/navbar-multi-column-groups.js +6 -2
- package/dist/navbar-platform-resources.cjs +6 -2
- package/dist/navbar-platform-resources.js +6 -2
- package/dist/navbar-search-focused.cjs +6 -2
- package/dist/navbar-search-focused.js +6 -2
- package/dist/navbar-sidebar-mobile.cjs +6 -2
- package/dist/navbar-sidebar-mobile.js +6 -2
- package/dist/navbar-simple-links.cjs +6 -2
- package/dist/navbar-simple-links.js +6 -2
- package/dist/navbar-split-cta.cjs +6 -2
- package/dist/navbar-split-cta.js +6 -2
- package/dist/navbar-sticky-compact.cjs +6 -2
- package/dist/navbar-sticky-compact.js +6 -2
- package/dist/navbar-tabbed-sections.cjs +6 -2
- package/dist/navbar-tabbed-sections.js +6 -2
- package/dist/navbar-transparent-overlay.cjs +6 -2
- package/dist/navbar-transparent-overlay.js +6 -2
- package/dist/offer-modal-membership-image.cjs +6 -2
- package/dist/offer-modal-membership-image.js +6 -2
- package/dist/offer-modal-newsletter-discount.cjs +6 -2
- package/dist/offer-modal-newsletter-discount.js +6 -2
- package/dist/offer-modal-sheet-newsletter.cjs +6 -2
- package/dist/offer-modal-sheet-newsletter.js +6 -2
- package/dist/payment-platform-icon.cjs +27 -2
- package/dist/payment-platform-icon.js +7 -2
- package/dist/pricing-addons-cards.cjs +19 -15
- package/dist/pricing-addons-cards.js +16 -12
- package/dist/pricing-addons-featured.cjs +20 -16
- package/dist/pricing-addons-featured.js +16 -12
- package/dist/pricing-collapsible-plans.cjs +19 -15
- package/dist/pricing-collapsible-plans.js +16 -12
- package/dist/pricing-columns-toggle.cjs +20 -16
- package/dist/pricing-columns-toggle.js +16 -12
- package/dist/pricing-comparison-headers.cjs +21 -17
- package/dist/pricing-comparison-headers.js +16 -12
- package/dist/pricing-comparison-table.cjs +21 -17
- package/dist/pricing-comparison-table.js +16 -12
- package/dist/pricing-discount-card.cjs +18 -14
- package/dist/pricing-discount-card.js +16 -12
- package/dist/pricing-enterprise-contact.cjs +18 -14
- package/dist/pricing-enterprise-contact.js +16 -12
- package/dist/pricing-feature-matrix.cjs +19 -15
- package/dist/pricing-feature-matrix.js +16 -12
- package/dist/pricing-four-tier-toggle.cjs +20 -16
- package/dist/pricing-four-tier-toggle.js +16 -12
- package/dist/pricing-full-comparison.cjs +19 -15
- package/dist/pricing-full-comparison.js +17 -13
- package/dist/pricing-gradient-cards.cjs +20 -16
- package/dist/pricing-gradient-cards.js +16 -12
- package/dist/pricing-icon-headers.cjs +19 -15
- package/dist/pricing-icon-headers.js +16 -12
- package/dist/pricing-minimal-cards.cjs +19 -15
- package/dist/pricing-minimal-cards.js +16 -12
- package/dist/pricing-packages-radio.cjs +18 -14
- package/dist/pricing-packages-radio.js +16 -12
- package/dist/pricing-popular-highlight.cjs +20 -16
- package/dist/pricing-popular-highlight.js +16 -12
- package/dist/pricing-radio-toggle.cjs +20 -16
- package/dist/pricing-radio-toggle.js +16 -12
- package/dist/pricing-responsive-table.cjs +18 -14
- package/dist/pricing-responsive-table.js +16 -12
- package/dist/pricing-services-cards.cjs +19 -15
- package/dist/pricing-services-cards.js +16 -12
- package/dist/pricing-simple-card.cjs +18 -14
- package/dist/pricing-simple-card.js +16 -12
- package/dist/pricing-single-card.cjs +19 -15
- package/dist/pricing-single-card.js +16 -12
- package/dist/pricing-split-layout.cjs +16 -12
- package/dist/pricing-split-layout.js +16 -12
- package/dist/pricing-spotlight-card.cjs +18 -14
- package/dist/pricing-spotlight-card.js +16 -12
- package/dist/pricing-switch-cards.cjs +20 -16
- package/dist/pricing-switch-cards.js +16 -12
- package/dist/pricing-tabs-toggle.cjs +20 -16
- package/dist/pricing-tabs-toggle.js +16 -12
- package/dist/pricing-tier-grid.cjs +19 -15
- package/dist/pricing-tier-grid.js +16 -12
- package/dist/pricing-toggle-cards.cjs +20 -16
- package/dist/pricing-toggle-cards.js +16 -12
- package/dist/pricing-toggle-period.cjs +18 -14
- package/dist/pricing-toggle-period.js +16 -12
- package/dist/pricing-two-column-basic.cjs +20 -16
- package/dist/pricing-two-column-basic.js +16 -12
- package/dist/process-expandable-timeline.cjs +6 -2
- package/dist/process-expandable-timeline.js +6 -2
- package/dist/process-icon-timeline.cjs +26 -6
- package/dist/process-icon-timeline.js +10 -5
- package/dist/process-numbered-services.cjs +6 -2
- package/dist/process-numbered-services.js +6 -2
- package/dist/process-roadmap-timeline.cjs +26 -6
- package/dist/process-roadmap-timeline.js +10 -5
- package/dist/process-scroll-image.cjs +24 -20
- package/dist/process-scroll-image.js +22 -18
- package/dist/process-steps-grid.cjs +26 -6
- package/dist/process-steps-grid.js +10 -5
- package/dist/process-sticky-steps.cjs +6 -2
- package/dist/process-sticky-steps.js +6 -2
- package/dist/project-background-reveal.cjs +17 -13
- package/dist/project-background-reveal.js +16 -12
- package/dist/project-card-overlay.cjs +26 -6
- package/dist/project-card-overlay.js +10 -5
- package/dist/project-carousel-cinematic.cjs +31 -27
- package/dist/project-carousel-cinematic.js +26 -22
- package/dist/project-carousel-detail-cards.cjs +31 -27
- package/dist/project-carousel-detail-cards.js +26 -22
- package/dist/project-carousel-minimal.cjs +31 -27
- package/dist/project-carousel-minimal.js +26 -22
- package/dist/project-detail-architecture-carousel.cjs +6 -2
- package/dist/project-detail-architecture-carousel.js +6 -2
- package/dist/project-detail-list-related.cjs +6 -2
- package/dist/project-detail-list-related.js +6 -2
- package/dist/project-detail-photography-breadcrumb.cjs +6 -2
- package/dist/project-detail-photography-breadcrumb.js +6 -2
- package/dist/project-detail-tabbed-case-study.cjs +6 -2
- package/dist/project-detail-tabbed-case-study.js +6 -2
- package/dist/project-experience-quote.cjs +17 -13
- package/dist/project-experience-quote.js +16 -12
- package/dist/project-featured-carousel.cjs +27 -23
- package/dist/project-featured-carousel.js +26 -22
- package/dist/project-horizontal-cards.cjs +17 -13
- package/dist/project-horizontal-cards.js +16 -12
- package/dist/project-interactive-hover-reveal.cjs +18 -14
- package/dist/project-interactive-hover-reveal.js +16 -12
- package/dist/project-scroll-reveal.cjs +26 -6
- package/dist/project-scroll-reveal.js +10 -5
- package/dist/project-video-carousel.cjs +31 -27
- package/dist/project-video-carousel.js +26 -22
- package/dist/project-video-hover-bento.cjs +26 -6
- package/dist/project-video-hover-bento.js +10 -5
- package/dist/project-video-hover-grid.cjs +26 -6
- package/dist/project-video-hover-grid.js +10 -5
- package/dist/project-video-hover-rounded.cjs +26 -6
- package/dist/project-video-hover-rounded.js +10 -5
- package/dist/project-video-hover-stack.cjs +26 -6
- package/dist/project-video-hover-stack.js +10 -5
- package/dist/project-video-hover-two-by-two.cjs +26 -6
- package/dist/project-video-hover-two-by-two.js +10 -5
- package/dist/project-work-showcase.cjs +17 -13
- package/dist/project-work-showcase.js +16 -12
- package/dist/project-zigzag-layout.cjs +16 -12
- package/dist/project-zigzag-layout.js +16 -12
- package/dist/registry.cjs +1737 -1717
- package/dist/registry.js +507 -487
- package/dist/resource-detail-document-sidebar.cjs +6 -2
- package/dist/resource-detail-document-sidebar.js +6 -2
- package/dist/resource-detail-whitepaper-sidebar.cjs +6 -2
- package/dist/resource-detail-whitepaper-sidebar.js +6 -2
- package/dist/resource-list-course-cards.cjs +6 -2
- package/dist/resource-list-course-cards.js +6 -2
- package/dist/resource-list-featured-articles.cjs +6 -2
- package/dist/resource-list-featured-articles.js +6 -2
- package/dist/resource-list-featured-grid.cjs +6 -2
- package/dist/resource-list-featured-grid.js +6 -2
- package/dist/resource-list-hero-filter.cjs +6 -2
- package/dist/resource-list-hero-filter.js +6 -2
- package/dist/resource-list-news-updates.cjs +6 -2
- package/dist/resource-list-news-updates.js +6 -2
- package/dist/service-detail-centered-expertise.cjs +16 -12
- package/dist/service-detail-centered-expertise.js +16 -12
- package/dist/service-detail-compact-cards.cjs +16 -12
- package/dist/service-detail-compact-cards.js +16 -12
- package/dist/service-detail-sidebar-related.cjs +16 -12
- package/dist/service-detail-sidebar-related.js +16 -12
- package/dist/service-detail-sidebar-stats.cjs +27 -7
- package/dist/service-detail-sidebar-stats.js +10 -5
- package/dist/service-hover-carousel.cjs +38 -34
- package/dist/service-hover-carousel.js +26 -22
- package/dist/services-list-accordion-benefits.cjs +16 -12
- package/dist/services-list-accordion-benefits.js +16 -12
- package/dist/services-list-accordion.cjs +10 -8
- package/dist/services-list-accordion.js +10 -5
- package/dist/services-list-cards-hover.cjs +16 -12
- package/dist/services-list-cards-hover.js +16 -12
- package/dist/services-list-category-accordion.cjs +10 -8
- package/dist/services-list-category-accordion.js +10 -5
- package/dist/services-list-centered-icons.cjs +27 -7
- package/dist/services-list-centered-icons.js +10 -5
- package/dist/services-list-culture-tabs.cjs +16 -12
- package/dist/services-list-culture-tabs.js +16 -12
- package/dist/services-list-feature-spotlight.cjs +27 -7
- package/dist/services-list-feature-spotlight.js +10 -5
- package/dist/services-list-featured-highlight.cjs +16 -12
- package/dist/services-list-featured-highlight.js +16 -12
- package/dist/services-list-hero-cards.cjs +6 -2
- package/dist/services-list-hero-cards.js +6 -2
- package/dist/services-list-icon-grid.cjs +27 -7
- package/dist/services-list-icon-grid.js +10 -5
- package/dist/services-list-image-cards.cjs +6 -2
- package/dist/services-list-image-cards.js +6 -2
- package/dist/services-list-image-overlay-grid.cjs +6 -2
- package/dist/services-list-image-overlay-grid.js +6 -2
- package/dist/services-list-masonry.cjs +16 -12
- package/dist/services-list-masonry.js +16 -12
- package/dist/services-list-methodology-steps.cjs +16 -12
- package/dist/services-list-methodology-steps.js +16 -12
- package/dist/services-list-minimal-grid.cjs +16 -12
- package/dist/services-list-minimal-grid.js +16 -12
- package/dist/services-list-muted-cards.cjs +27 -7
- package/dist/services-list-muted-cards.js +10 -5
- package/dist/services-list-numbered-steps.cjs +16 -12
- package/dist/services-list-numbered-steps.js +16 -12
- package/dist/services-list-pricing-grid.cjs +16 -12
- package/dist/services-list-pricing-grid.js +16 -12
- package/dist/services-list-progress-sidebar.cjs +16 -12
- package/dist/services-list-progress-sidebar.js +16 -12
- package/dist/services-list-split-checklist.cjs +16 -12
- package/dist/services-list-split-checklist.js +16 -12
- package/dist/services-list-sticky-image.cjs +6 -2
- package/dist/services-list-sticky-image.js +6 -2
- package/dist/services-list-table-hover.cjs +6 -2
- package/dist/services-list-table-hover.js +6 -2
- package/dist/services-list-tabs-features.cjs +10 -8
- package/dist/services-list-tabs-features.js +10 -5
- package/dist/services-list-timeline.cjs +16 -12
- package/dist/services-list-timeline.js +16 -12
- package/dist/services-list-two-column-grid.cjs +16 -12
- package/dist/services-list-two-column-grid.js +16 -12
- package/dist/services-list-vertical-tags.cjs +27 -7
- package/dist/services-list-vertical-tags.js +10 -5
- package/dist/services-list-video-showcase.cjs +18 -14
- package/dist/services-list-video-showcase.js +18 -14
- package/dist/social-link-icon.cjs +6 -2
- package/dist/social-link-icon.js +6 -2
- package/dist/stats-animated-counter.cjs +17 -13
- package/dist/stats-animated-counter.js +15 -11
- package/dist/stats-card-group.cjs +26 -6
- package/dist/stats-card-group.js +10 -5
- package/dist/stats-growth-timeline.cjs +22 -18
- package/dist/stats-growth-timeline.js +16 -12
- package/dist/stats-icon-cards.cjs +26 -6
- package/dist/stats-icon-cards.js +10 -5
- package/dist/stats-impact-grid.cjs +23 -19
- package/dist/stats-impact-grid.js +16 -12
- package/dist/stats-primary-secondary.cjs +26 -6
- package/dist/stats-primary-secondary.js +10 -5
- package/dist/stats-timeline-tabs.cjs +9 -7
- package/dist/stats-timeline-tabs.js +10 -5
- package/dist/team-alternating-bios.cjs +17 -13
- package/dist/team-alternating-bios.js +17 -13
- package/dist/team-avatar-social.cjs +17 -13
- package/dist/team-avatar-social.js +17 -13
- package/dist/team-bio-badges.cjs +17 -13
- package/dist/team-bio-badges.js +17 -13
- package/dist/team-carousel-experience.cjs +27 -23
- package/dist/team-carousel-experience.js +27 -23
- package/dist/team-contact-cards.cjs +18 -14
- package/dist/team-contact-cards.js +18 -14
- package/dist/team-filterable-search.cjs +22 -18
- package/dist/team-filterable-search.js +22 -18
- package/dist/team-gradient-cards.cjs +17 -13
- package/dist/team-gradient-cards.js +17 -13
- package/dist/team-grid-animated.cjs +18 -14
- package/dist/team-grid-animated.js +18 -14
- package/dist/team-hover-highlight.cjs +17 -13
- package/dist/team-hover-highlight.js +17 -13
- package/dist/team-hover-overlay.cjs +17 -13
- package/dist/team-hover-overlay.js +17 -13
- package/dist/team-large-images.cjs +17 -13
- package/dist/team-large-images.js +17 -13
- package/dist/team-role-filter.cjs +20 -16
- package/dist/team-role-filter.js +20 -16
- package/dist/team-skill-badges.cjs +17 -13
- package/dist/team-skill-badges.js +17 -13
- package/dist/team-social-cards.cjs +17 -13
- package/dist/team-social-cards.js +17 -13
- package/dist/team-social-grid.cjs +17 -13
- package/dist/team-social-grid.js +17 -13
- package/dist/team-testimonial-stats.cjs +17 -13
- package/dist/team-testimonial-stats.js +17 -13
- package/dist/testimonial-carousel-cards.cjs +33 -29
- package/dist/testimonial-carousel-cards.js +26 -22
- package/dist/testimonials-animated-split.cjs +9 -7
- package/dist/testimonials-animated-split.js +10 -5
- package/dist/testimonials-bento-grid.cjs +9 -7
- package/dist/testimonials-bento-grid.js +10 -5
- package/dist/testimonials-carousel-image.cjs +18 -14
- package/dist/testimonials-carousel-image.js +13 -9
- package/dist/testimonials-company-logo.cjs +26 -6
- package/dist/testimonials-company-logo.js +10 -5
- package/dist/testimonials-grid-add-review.cjs +9 -7
- package/dist/testimonials-grid-add-review.js +10 -5
- package/dist/testimonials-images-helpful.cjs +21 -17
- package/dist/testimonials-images-helpful.js +16 -12
- package/dist/testimonials-large-quote.cjs +9 -7
- package/dist/testimonials-large-quote.js +10 -5
- package/dist/testimonials-list-verified.cjs +9 -7
- package/dist/testimonials-list-verified.js +10 -5
- package/dist/testimonials-mini-dividers.cjs +9 -7
- package/dist/testimonials-mini-dividers.js +10 -5
- package/dist/testimonials-minimal-numbered.cjs +9 -7
- package/dist/testimonials-minimal-numbered.js +10 -5
- package/dist/testimonials-quote-carousel.cjs +31 -27
- package/dist/testimonials-quote-carousel.js +26 -22
- package/dist/testimonials-scrolling-columns.cjs +26 -6
- package/dist/testimonials-scrolling-columns.js +10 -5
- package/dist/testimonials-split-image.cjs +9 -7
- package/dist/testimonials-split-image.js +10 -5
- package/dist/testimonials-stats-header.cjs +9 -7
- package/dist/testimonials-stats-header.js +10 -5
- package/dist/testimonials-twitter-cards.cjs +19 -15
- package/dist/testimonials-twitter-cards.js +16 -12
- package/dist/timeline-ai-workflow-cards.cjs +27 -7
- package/dist/timeline-ai-workflow-cards.js +10 -5
- package/dist/timeline-alternating-diagonal.cjs +12 -8
- package/dist/timeline-alternating-diagonal.js +12 -8
- package/dist/timeline-horizontal-icons.cjs +10 -8
- package/dist/timeline-horizontal-icons.js +10 -5
- package/dist/timeline-productivity-list.cjs +27 -7
- package/dist/timeline-productivity-list.js +10 -5
- package/dist/timeline-stepper-animated.cjs +22 -18
- package/dist/timeline-stepper-animated.js +21 -17
- package/dist/timeline-tabbed-phases.cjs +6 -2
- package/dist/timeline-tabbed-phases.js +6 -2
- package/dist/timeline-vertical-icon-dashed.cjs +6 -2
- package/dist/timeline-vertical-icon-dashed.js +6 -2
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React7 from 'react';
|
|
3
|
+
import React7__default from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
@@ -97,7 +97,7 @@ function useNavigation({
|
|
|
97
97
|
href,
|
|
98
98
|
onClick
|
|
99
99
|
} = {}) {
|
|
100
|
-
const linkType =
|
|
100
|
+
const linkType = React7.useMemo(() => {
|
|
101
101
|
if (!href || href.trim() === "") {
|
|
102
102
|
return onClick ? "none" : "none";
|
|
103
103
|
}
|
|
@@ -118,7 +118,7 @@ function useNavigation({
|
|
|
118
118
|
return "internal";
|
|
119
119
|
}
|
|
120
120
|
}, [href, onClick]);
|
|
121
|
-
const normalizedHref =
|
|
121
|
+
const normalizedHref = React7.useMemo(() => {
|
|
122
122
|
if (!href || href.trim() === "") {
|
|
123
123
|
return void 0;
|
|
124
124
|
}
|
|
@@ -136,7 +136,7 @@ function useNavigation({
|
|
|
136
136
|
return trimmed;
|
|
137
137
|
}
|
|
138
138
|
}, [href, linkType]);
|
|
139
|
-
const target =
|
|
139
|
+
const target = React7.useMemo(() => {
|
|
140
140
|
switch (linkType) {
|
|
141
141
|
case "external":
|
|
142
142
|
return "_blank";
|
|
@@ -149,7 +149,7 @@ function useNavigation({
|
|
|
149
149
|
return void 0;
|
|
150
150
|
}
|
|
151
151
|
}, [linkType]);
|
|
152
|
-
const rel =
|
|
152
|
+
const rel = React7.useMemo(() => {
|
|
153
153
|
if (linkType === "external") {
|
|
154
154
|
return "noopener noreferrer";
|
|
155
155
|
}
|
|
@@ -158,7 +158,7 @@ function useNavigation({
|
|
|
158
158
|
const isExternal = linkType === "external";
|
|
159
159
|
const isInternal = linkType === "internal";
|
|
160
160
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
161
|
-
const handleClick =
|
|
161
|
+
const handleClick = React7.useCallback(
|
|
162
162
|
(event) => {
|
|
163
163
|
if (onClick) {
|
|
164
164
|
try {
|
|
@@ -342,7 +342,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
342
342
|
size: "default"
|
|
343
343
|
}
|
|
344
344
|
});
|
|
345
|
-
var Pressable =
|
|
345
|
+
var Pressable = React7.forwardRef(
|
|
346
346
|
({
|
|
347
347
|
children,
|
|
348
348
|
className,
|
|
@@ -441,9 +441,13 @@ var Pressable = React6.forwardRef(
|
|
|
441
441
|
);
|
|
442
442
|
Pressable.displayName = "Pressable";
|
|
443
443
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
444
|
-
|
|
444
|
+
var DynamicIcon = React7.memo(function DynamicIcon2({
|
|
445
|
+
apiKey,
|
|
446
|
+
...props
|
|
447
|
+
}) {
|
|
445
448
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
446
|
-
}
|
|
449
|
+
});
|
|
450
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
447
451
|
function Avatar({
|
|
448
452
|
className,
|
|
449
453
|
...props
|
|
@@ -569,7 +573,7 @@ var maxWidthStyles = {
|
|
|
569
573
|
"4xl": "max-w-[1536px]",
|
|
570
574
|
full: "max-w-full"
|
|
571
575
|
};
|
|
572
|
-
var Container =
|
|
576
|
+
var Container = React7__default.forwardRef(
|
|
573
577
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
574
578
|
const Component = as;
|
|
575
579
|
return /* @__PURE__ */ jsx(
|
|
@@ -875,7 +879,7 @@ var spacingStyles = {
|
|
|
875
879
|
};
|
|
876
880
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
877
881
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
878
|
-
var Section =
|
|
882
|
+
var Section = React7__default.forwardRef(
|
|
879
883
|
({
|
|
880
884
|
id,
|
|
881
885
|
title,
|
|
@@ -969,7 +973,7 @@ var platformIconMap = {
|
|
|
969
973
|
dribbble: "cib/dribbble",
|
|
970
974
|
unknown: "icon-park-solid/circular-connection"
|
|
971
975
|
};
|
|
972
|
-
var SocialLinkIcon =
|
|
976
|
+
var SocialLinkIcon = React7.forwardRef(
|
|
973
977
|
({
|
|
974
978
|
platformName,
|
|
975
979
|
label,
|
|
@@ -982,13 +986,13 @@ var SocialLinkIcon = React6.forwardRef(
|
|
|
982
986
|
...pressableProps
|
|
983
987
|
}, ref) => {
|
|
984
988
|
const platform = usePlatformFromUrl(href);
|
|
985
|
-
const smartPlatformName =
|
|
989
|
+
const smartPlatformName = React7.useMemo(() => {
|
|
986
990
|
return platform || platformName;
|
|
987
991
|
}, [platform, platformName]);
|
|
988
|
-
const iconName =
|
|
992
|
+
const iconName = React7.useMemo(() => {
|
|
989
993
|
return iconNameOverride || platformIconMap[smartPlatformName];
|
|
990
994
|
}, [iconNameOverride, smartPlatformName]);
|
|
991
|
-
const accessibleLabel =
|
|
995
|
+
const accessibleLabel = React7.useMemo(() => {
|
|
992
996
|
return label || platformName;
|
|
993
997
|
}, [label, platformName]);
|
|
994
998
|
return /* @__PURE__ */ jsx(
|
|
@@ -1056,10 +1060,10 @@ function ArticleChaptersAuthorComponent({
|
|
|
1056
1060
|
pattern,
|
|
1057
1061
|
patternOpacity
|
|
1058
1062
|
}) {
|
|
1059
|
-
const [activeChapter, setActiveChapter] =
|
|
1063
|
+
const [activeChapter, setActiveChapter] = React7.useState(
|
|
1060
1064
|
chapters?.[0]?.id || ""
|
|
1061
1065
|
);
|
|
1062
|
-
|
|
1066
|
+
React7.useEffect(() => {
|
|
1063
1067
|
if (!enableChapterTracking || !chapters || chapters.length === 0) return;
|
|
1064
1068
|
const observer = new IntersectionObserver(
|
|
1065
1069
|
(entries) => {
|
|
@@ -1077,12 +1081,12 @@ function ArticleChaptersAuthorComponent({
|
|
|
1077
1081
|
});
|
|
1078
1082
|
return () => observer.disconnect();
|
|
1079
1083
|
}, [chapters, enableChapterTracking]);
|
|
1080
|
-
const breadcrumbsContent =
|
|
1084
|
+
const breadcrumbsContent = React7.useMemo(() => {
|
|
1081
1085
|
if (breadcrumbsSlot) return breadcrumbsSlot;
|
|
1082
1086
|
if (!breadcrumbs || breadcrumbs.length === 0) return null;
|
|
1083
1087
|
return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
|
|
1084
1088
|
/* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
|
|
1085
|
-
breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(
|
|
1089
|
+
breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React7.Fragment, { children: [
|
|
1086
1090
|
/* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
|
|
1087
1091
|
/* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
|
|
1088
1092
|
] }, index)),
|
|
@@ -1090,7 +1094,7 @@ function ArticleChaptersAuthorComponent({
|
|
|
1090
1094
|
/* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: typeof currentPage === "string" ? currentPage : currentPage }) })
|
|
1091
1095
|
] }) });
|
|
1092
1096
|
}, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
|
|
1093
|
-
const chaptersNavContent =
|
|
1097
|
+
const chaptersNavContent = React7.useMemo(() => {
|
|
1094
1098
|
if (chaptersSlot) return chaptersSlot;
|
|
1095
1099
|
if (!chapters || chapters.length === 0) return null;
|
|
1096
1100
|
return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", chaptersClassName), children: [
|
|
@@ -1098,7 +1102,7 @@ function ArticleChaptersAuthorComponent({
|
|
|
1098
1102
|
/* @__PURE__ */ jsx("nav", { className: "space-y-2", children: chapters.map((chapter) => {
|
|
1099
1103
|
const isActive = activeChapter === chapter.id;
|
|
1100
1104
|
if (renderChapterLink) {
|
|
1101
|
-
return /* @__PURE__ */ jsx(
|
|
1105
|
+
return /* @__PURE__ */ jsx(React7.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
|
|
1102
1106
|
}
|
|
1103
1107
|
return /* @__PURE__ */ jsxs(
|
|
1104
1108
|
Pressable,
|
|
@@ -1132,7 +1136,7 @@ function ArticleChaptersAuthorComponent({
|
|
|
1132
1136
|
renderChapterLink,
|
|
1133
1137
|
chaptersClassName
|
|
1134
1138
|
]);
|
|
1135
|
-
const authorCardContent =
|
|
1139
|
+
const authorCardContent = React7.useMemo(() => {
|
|
1136
1140
|
if (authorSlot) return authorSlot;
|
|
1137
1141
|
if (!author) return null;
|
|
1138
1142
|
let socialLinksContent = null;
|
|
@@ -1181,7 +1185,7 @@ function ArticleChaptersAuthorComponent({
|
|
|
1181
1185
|
socialLinksContent
|
|
1182
1186
|
] });
|
|
1183
1187
|
}, [authorSlot, author, authorClassName]);
|
|
1184
|
-
const heroMediaContent =
|
|
1188
|
+
const heroMediaContent = React7.useMemo(() => {
|
|
1185
1189
|
if (heroMediaSlot) return heroMediaSlot;
|
|
1186
1190
|
if (!heroImageSrc) return null;
|
|
1187
1191
|
return /* @__PURE__ */ jsx(
|
|
@@ -1203,7 +1207,7 @@ function ArticleChaptersAuthorComponent({
|
|
|
1203
1207
|
heroImageClassName,
|
|
1204
1208
|
optixFlowConfig
|
|
1205
1209
|
]);
|
|
1206
|
-
const conclusionContent =
|
|
1210
|
+
const conclusionContent = React7.useMemo(() => {
|
|
1207
1211
|
if (conclusionSlot) return conclusionSlot;
|
|
1208
1212
|
if (!conclusionTitle && !conclusionDescription && (!conclusionActions || conclusionActions.length === 0))
|
|
1209
1213
|
return null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var React6 = require('react');
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var img = require('@page-speed/img');
|
|
@@ -30,7 +30,7 @@ function _interopNamespace(e) {
|
|
|
30
30
|
return Object.freeze(n);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
var
|
|
33
|
+
var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
|
|
34
34
|
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
35
35
|
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
36
36
|
|
|
@@ -120,7 +120,7 @@ function useNavigation({
|
|
|
120
120
|
href,
|
|
121
121
|
onClick
|
|
122
122
|
} = {}) {
|
|
123
|
-
const linkType =
|
|
123
|
+
const linkType = React6__namespace.useMemo(() => {
|
|
124
124
|
if (!href || href.trim() === "") {
|
|
125
125
|
return onClick ? "none" : "none";
|
|
126
126
|
}
|
|
@@ -141,7 +141,7 @@ function useNavigation({
|
|
|
141
141
|
return "internal";
|
|
142
142
|
}
|
|
143
143
|
}, [href, onClick]);
|
|
144
|
-
const normalizedHref =
|
|
144
|
+
const normalizedHref = React6__namespace.useMemo(() => {
|
|
145
145
|
if (!href || href.trim() === "") {
|
|
146
146
|
return void 0;
|
|
147
147
|
}
|
|
@@ -159,7 +159,7 @@ function useNavigation({
|
|
|
159
159
|
return trimmed;
|
|
160
160
|
}
|
|
161
161
|
}, [href, linkType]);
|
|
162
|
-
const target =
|
|
162
|
+
const target = React6__namespace.useMemo(() => {
|
|
163
163
|
switch (linkType) {
|
|
164
164
|
case "external":
|
|
165
165
|
return "_blank";
|
|
@@ -172,7 +172,7 @@ function useNavigation({
|
|
|
172
172
|
return void 0;
|
|
173
173
|
}
|
|
174
174
|
}, [linkType]);
|
|
175
|
-
const rel =
|
|
175
|
+
const rel = React6__namespace.useMemo(() => {
|
|
176
176
|
if (linkType === "external") {
|
|
177
177
|
return "noopener noreferrer";
|
|
178
178
|
}
|
|
@@ -181,7 +181,7 @@ function useNavigation({
|
|
|
181
181
|
const isExternal = linkType === "external";
|
|
182
182
|
const isInternal = linkType === "internal";
|
|
183
183
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
184
|
-
const handleClick =
|
|
184
|
+
const handleClick = React6__namespace.useCallback(
|
|
185
185
|
(event) => {
|
|
186
186
|
if (onClick) {
|
|
187
187
|
try {
|
|
@@ -365,7 +365,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
|
|
|
365
365
|
size: "default"
|
|
366
366
|
}
|
|
367
367
|
});
|
|
368
|
-
var Pressable =
|
|
368
|
+
var Pressable = React6__namespace.forwardRef(
|
|
369
369
|
({
|
|
370
370
|
children,
|
|
371
371
|
className,
|
|
@@ -464,9 +464,13 @@ var Pressable = React5__namespace.forwardRef(
|
|
|
464
464
|
);
|
|
465
465
|
Pressable.displayName = "Pressable";
|
|
466
466
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
467
|
-
|
|
467
|
+
var DynamicIcon = React6__namespace.memo(function DynamicIcon2({
|
|
468
|
+
apiKey,
|
|
469
|
+
...props
|
|
470
|
+
}) {
|
|
468
471
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
469
|
-
}
|
|
472
|
+
});
|
|
473
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
470
474
|
function Breadcrumb({ ...props }) {
|
|
471
475
|
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
472
476
|
}
|
|
@@ -567,7 +571,7 @@ var maxWidthStyles = {
|
|
|
567
571
|
"4xl": "max-w-[1536px]",
|
|
568
572
|
full: "max-w-full"
|
|
569
573
|
};
|
|
570
|
-
var Container =
|
|
574
|
+
var Container = React6__namespace.default.forwardRef(
|
|
571
575
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
572
576
|
const Component = as;
|
|
573
577
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -873,7 +877,7 @@ var spacingStyles = {
|
|
|
873
877
|
};
|
|
874
878
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
875
879
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
876
|
-
var Section =
|
|
880
|
+
var Section = React6__namespace.default.forwardRef(
|
|
877
881
|
({
|
|
878
882
|
id,
|
|
879
883
|
title,
|
|
@@ -1000,11 +1004,11 @@ function ArticleCompactTocComponent({
|
|
|
1000
1004
|
patternOpacity,
|
|
1001
1005
|
patternClassName
|
|
1002
1006
|
}) {
|
|
1003
|
-
const [activeSection, setActiveSection] =
|
|
1007
|
+
const [activeSection, setActiveSection] = React6__namespace.useState(
|
|
1004
1008
|
sections?.[0]?.id || ""
|
|
1005
1009
|
);
|
|
1006
|
-
const [isTocOpen, setIsTocOpen] =
|
|
1007
|
-
|
|
1010
|
+
const [isTocOpen, setIsTocOpen] = React6__namespace.useState(false);
|
|
1011
|
+
React6__namespace.useEffect(() => {
|
|
1008
1012
|
if (!enableTocTracking) return;
|
|
1009
1013
|
const observer = new IntersectionObserver(
|
|
1010
1014
|
(entries) => {
|
|
@@ -1022,12 +1026,12 @@ function ArticleCompactTocComponent({
|
|
|
1022
1026
|
});
|
|
1023
1027
|
return () => observer.disconnect();
|
|
1024
1028
|
}, [sections, enableTocTracking]);
|
|
1025
|
-
const breadcrumbsContent =
|
|
1029
|
+
const breadcrumbsContent = React6__namespace.useMemo(() => {
|
|
1026
1030
|
if (breadcrumbsSlot) return breadcrumbsSlot;
|
|
1027
1031
|
if (!breadcrumbs && !currentPage) return null;
|
|
1028
1032
|
return /* @__PURE__ */ jsxRuntime.jsx(Breadcrumb, { className: cn("mb-6 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(BreadcrumbList, { children: [
|
|
1029
1033
|
/* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
|
|
1030
|
-
breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1034
|
+
breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxRuntime.jsxs(React6__namespace.Fragment, { children: [
|
|
1031
1035
|
/* @__PURE__ */ jsxRuntime.jsx(BreadcrumbSeparator, {}),
|
|
1032
1036
|
/* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
|
|
1033
1037
|
] }, index)),
|
|
@@ -1035,13 +1039,13 @@ function ArticleCompactTocComponent({
|
|
|
1035
1039
|
/* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: currentPage }) })
|
|
1036
1040
|
] }) });
|
|
1037
1041
|
}, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
|
|
1038
|
-
const renderTocLinks =
|
|
1042
|
+
const renderTocLinks = React6__namespace.useCallback(
|
|
1039
1043
|
(onLinkClick) => {
|
|
1040
1044
|
if (!sections) return null;
|
|
1041
1045
|
return sections.map((section) => {
|
|
1042
1046
|
const isActive = activeSection === section.id;
|
|
1043
1047
|
if (renderSectionLink) {
|
|
1044
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1048
|
+
return /* @__PURE__ */ jsxRuntime.jsx(React6__namespace.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
|
|
1045
1049
|
}
|
|
1046
1050
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1047
1051
|
Pressable,
|
|
@@ -1060,7 +1064,7 @@ function ArticleCompactTocComponent({
|
|
|
1060
1064
|
},
|
|
1061
1065
|
[sections, activeSection, renderSectionLink]
|
|
1062
1066
|
);
|
|
1063
|
-
const tocContent =
|
|
1067
|
+
const tocContent = React6__namespace.useMemo(() => {
|
|
1064
1068
|
if (tocSlot) return tocSlot;
|
|
1065
1069
|
if (!sections || sections.length === 0) return null;
|
|
1066
1070
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: isTocOpen, onOpenChange: setIsTocOpen, children: [
|
|
@@ -1094,14 +1098,14 @@ function ArticleCompactTocComponent({
|
|
|
1094
1098
|
] }) });
|
|
1095
1099
|
}, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
|
|
1096
1100
|
const hasDesktopToc = !tocSlot && sections && sections.length > 0;
|
|
1097
|
-
const desktopTocContent =
|
|
1101
|
+
const desktopTocContent = React6__namespace.useMemo(() => {
|
|
1098
1102
|
if (!hasDesktopToc) return null;
|
|
1099
1103
|
return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block w-64 shrink-0", tocClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "sticky top-24 max-h-[calc(100vh-8rem)] overflow-y-auto space-y-2 rounded-lg border p-4", children: [
|
|
1100
1104
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mb-3 block text-sm font-semibold", children: "Table of Contents" }),
|
|
1101
1105
|
renderTocLinks()
|
|
1102
1106
|
] }) });
|
|
1103
1107
|
}, [hasDesktopToc, tocClassName, renderTocLinks]);
|
|
1104
|
-
const heroMediaContent =
|
|
1108
|
+
const heroMediaContent = React6__namespace.useMemo(() => {
|
|
1105
1109
|
if (heroMediaSlot) return heroMediaSlot;
|
|
1106
1110
|
if (!heroImageSrc) return null;
|
|
1107
1111
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
2
|
+
import * as React6 from 'react';
|
|
3
|
+
import React6__default from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
@@ -97,7 +97,7 @@ function useNavigation({
|
|
|
97
97
|
href,
|
|
98
98
|
onClick
|
|
99
99
|
} = {}) {
|
|
100
|
-
const linkType =
|
|
100
|
+
const linkType = React6.useMemo(() => {
|
|
101
101
|
if (!href || href.trim() === "") {
|
|
102
102
|
return onClick ? "none" : "none";
|
|
103
103
|
}
|
|
@@ -118,7 +118,7 @@ function useNavigation({
|
|
|
118
118
|
return "internal";
|
|
119
119
|
}
|
|
120
120
|
}, [href, onClick]);
|
|
121
|
-
const normalizedHref =
|
|
121
|
+
const normalizedHref = React6.useMemo(() => {
|
|
122
122
|
if (!href || href.trim() === "") {
|
|
123
123
|
return void 0;
|
|
124
124
|
}
|
|
@@ -136,7 +136,7 @@ function useNavigation({
|
|
|
136
136
|
return trimmed;
|
|
137
137
|
}
|
|
138
138
|
}, [href, linkType]);
|
|
139
|
-
const target =
|
|
139
|
+
const target = React6.useMemo(() => {
|
|
140
140
|
switch (linkType) {
|
|
141
141
|
case "external":
|
|
142
142
|
return "_blank";
|
|
@@ -149,7 +149,7 @@ function useNavigation({
|
|
|
149
149
|
return void 0;
|
|
150
150
|
}
|
|
151
151
|
}, [linkType]);
|
|
152
|
-
const rel =
|
|
152
|
+
const rel = React6.useMemo(() => {
|
|
153
153
|
if (linkType === "external") {
|
|
154
154
|
return "noopener noreferrer";
|
|
155
155
|
}
|
|
@@ -158,7 +158,7 @@ function useNavigation({
|
|
|
158
158
|
const isExternal = linkType === "external";
|
|
159
159
|
const isInternal = linkType === "internal";
|
|
160
160
|
const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
|
|
161
|
-
const handleClick =
|
|
161
|
+
const handleClick = React6.useCallback(
|
|
162
162
|
(event) => {
|
|
163
163
|
if (onClick) {
|
|
164
164
|
try {
|
|
@@ -342,7 +342,7 @@ var buttonVariants = cva(baseStyles, {
|
|
|
342
342
|
size: "default"
|
|
343
343
|
}
|
|
344
344
|
});
|
|
345
|
-
var Pressable =
|
|
345
|
+
var Pressable = React6.forwardRef(
|
|
346
346
|
({
|
|
347
347
|
children,
|
|
348
348
|
className,
|
|
@@ -441,9 +441,13 @@ var Pressable = React5.forwardRef(
|
|
|
441
441
|
);
|
|
442
442
|
Pressable.displayName = "Pressable";
|
|
443
443
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
444
|
-
|
|
444
|
+
var DynamicIcon = React6.memo(function DynamicIcon2({
|
|
445
|
+
apiKey,
|
|
446
|
+
...props
|
|
447
|
+
}) {
|
|
445
448
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
446
|
-
}
|
|
449
|
+
});
|
|
450
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
447
451
|
function Breadcrumb({ ...props }) {
|
|
448
452
|
return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
449
453
|
}
|
|
@@ -544,7 +548,7 @@ var maxWidthStyles = {
|
|
|
544
548
|
"4xl": "max-w-[1536px]",
|
|
545
549
|
full: "max-w-full"
|
|
546
550
|
};
|
|
547
|
-
var Container =
|
|
551
|
+
var Container = React6__default.forwardRef(
|
|
548
552
|
({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
|
|
549
553
|
const Component = as;
|
|
550
554
|
return /* @__PURE__ */ jsx(
|
|
@@ -850,7 +854,7 @@ var spacingStyles = {
|
|
|
850
854
|
};
|
|
851
855
|
var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
|
|
852
856
|
var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
|
|
853
|
-
var Section =
|
|
857
|
+
var Section = React6__default.forwardRef(
|
|
854
858
|
({
|
|
855
859
|
id,
|
|
856
860
|
title,
|
|
@@ -977,11 +981,11 @@ function ArticleCompactTocComponent({
|
|
|
977
981
|
patternOpacity,
|
|
978
982
|
patternClassName
|
|
979
983
|
}) {
|
|
980
|
-
const [activeSection, setActiveSection] =
|
|
984
|
+
const [activeSection, setActiveSection] = React6.useState(
|
|
981
985
|
sections?.[0]?.id || ""
|
|
982
986
|
);
|
|
983
|
-
const [isTocOpen, setIsTocOpen] =
|
|
984
|
-
|
|
987
|
+
const [isTocOpen, setIsTocOpen] = React6.useState(false);
|
|
988
|
+
React6.useEffect(() => {
|
|
985
989
|
if (!enableTocTracking) return;
|
|
986
990
|
const observer = new IntersectionObserver(
|
|
987
991
|
(entries) => {
|
|
@@ -999,12 +1003,12 @@ function ArticleCompactTocComponent({
|
|
|
999
1003
|
});
|
|
1000
1004
|
return () => observer.disconnect();
|
|
1001
1005
|
}, [sections, enableTocTracking]);
|
|
1002
|
-
const breadcrumbsContent =
|
|
1006
|
+
const breadcrumbsContent = React6.useMemo(() => {
|
|
1003
1007
|
if (breadcrumbsSlot) return breadcrumbsSlot;
|
|
1004
1008
|
if (!breadcrumbs && !currentPage) return null;
|
|
1005
1009
|
return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-6 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
|
|
1006
1010
|
/* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
|
|
1007
|
-
breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(
|
|
1011
|
+
breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React6.Fragment, { children: [
|
|
1008
1012
|
/* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
|
|
1009
1013
|
/* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
|
|
1010
1014
|
] }, index)),
|
|
@@ -1012,13 +1016,13 @@ function ArticleCompactTocComponent({
|
|
|
1012
1016
|
/* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: currentPage }) })
|
|
1013
1017
|
] }) });
|
|
1014
1018
|
}, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
|
|
1015
|
-
const renderTocLinks =
|
|
1019
|
+
const renderTocLinks = React6.useCallback(
|
|
1016
1020
|
(onLinkClick) => {
|
|
1017
1021
|
if (!sections) return null;
|
|
1018
1022
|
return sections.map((section) => {
|
|
1019
1023
|
const isActive = activeSection === section.id;
|
|
1020
1024
|
if (renderSectionLink) {
|
|
1021
|
-
return /* @__PURE__ */ jsx(
|
|
1025
|
+
return /* @__PURE__ */ jsx(React6.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
|
|
1022
1026
|
}
|
|
1023
1027
|
return /* @__PURE__ */ jsx(
|
|
1024
1028
|
Pressable,
|
|
@@ -1037,7 +1041,7 @@ function ArticleCompactTocComponent({
|
|
|
1037
1041
|
},
|
|
1038
1042
|
[sections, activeSection, renderSectionLink]
|
|
1039
1043
|
);
|
|
1040
|
-
const tocContent =
|
|
1044
|
+
const tocContent = React6.useMemo(() => {
|
|
1041
1045
|
if (tocSlot) return tocSlot;
|
|
1042
1046
|
if (!sections || sections.length === 0) return null;
|
|
1043
1047
|
return /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: /* @__PURE__ */ jsxs(Popover, { open: isTocOpen, onOpenChange: setIsTocOpen, children: [
|
|
@@ -1071,14 +1075,14 @@ function ArticleCompactTocComponent({
|
|
|
1071
1075
|
] }) });
|
|
1072
1076
|
}, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
|
|
1073
1077
|
const hasDesktopToc = !tocSlot && sections && sections.length > 0;
|
|
1074
|
-
const desktopTocContent =
|
|
1078
|
+
const desktopTocContent = React6.useMemo(() => {
|
|
1075
1079
|
if (!hasDesktopToc) return null;
|
|
1076
1080
|
return /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block w-64 shrink-0", tocClassName), children: /* @__PURE__ */ jsxs("nav", { className: "sticky top-24 max-h-[calc(100vh-8rem)] overflow-y-auto space-y-2 rounded-lg border p-4", children: [
|
|
1077
1081
|
/* @__PURE__ */ jsx("span", { className: "mb-3 block text-sm font-semibold", children: "Table of Contents" }),
|
|
1078
1082
|
renderTocLinks()
|
|
1079
1083
|
] }) });
|
|
1080
1084
|
}, [hasDesktopToc, tocClassName, renderTocLinks]);
|
|
1081
|
-
const heroMediaContent =
|
|
1085
|
+
const heroMediaContent = React6.useMemo(() => {
|
|
1082
1086
|
if (heroMediaSlot) return heroMediaSlot;
|
|
1083
1087
|
if (!heroImageSrc) return null;
|
|
1084
1088
|
return /* @__PURE__ */ jsx(
|
|
@@ -461,9 +461,13 @@ var Pressable = React__namespace.forwardRef(
|
|
|
461
461
|
);
|
|
462
462
|
Pressable.displayName = "Pressable";
|
|
463
463
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
464
|
-
|
|
464
|
+
var DynamicIcon = React__namespace.memo(function DynamicIcon2({
|
|
465
|
+
apiKey,
|
|
466
|
+
...props
|
|
467
|
+
}) {
|
|
465
468
|
return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
466
|
-
}
|
|
469
|
+
});
|
|
470
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
467
471
|
function Avatar({
|
|
468
472
|
className,
|
|
469
473
|
...props
|
|
@@ -439,9 +439,13 @@ var Pressable = React.forwardRef(
|
|
|
439
439
|
);
|
|
440
440
|
Pressable.displayName = "Pressable";
|
|
441
441
|
var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
|
|
442
|
-
|
|
442
|
+
var DynamicIcon = React.memo(function DynamicIcon2({
|
|
443
|
+
apiKey,
|
|
444
|
+
...props
|
|
445
|
+
}) {
|
|
443
446
|
return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
|
|
444
|
-
}
|
|
447
|
+
});
|
|
448
|
+
DynamicIcon.displayName = "DynamicIcon";
|
|
445
449
|
function Avatar({
|
|
446
450
|
className,
|
|
447
451
|
...props
|