@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,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
@@ -535,14 +535,14 @@ function processSvgForCurrentColor(svg) {
|
|
|
535
535
|
}
|
|
536
536
|
function BannerGdprRights({
|
|
537
537
|
icon,
|
|
538
|
-
iconName
|
|
538
|
+
iconName,
|
|
539
539
|
title,
|
|
540
540
|
description,
|
|
541
541
|
actions,
|
|
542
542
|
actionsSlot,
|
|
543
543
|
onDismiss,
|
|
544
544
|
dismissIcon,
|
|
545
|
-
dismissAriaLabel
|
|
545
|
+
dismissAriaLabel,
|
|
546
546
|
className,
|
|
547
547
|
containerClassName,
|
|
548
548
|
contentClassName,
|
|
@@ -553,12 +553,14 @@ function BannerGdprRights({
|
|
|
553
553
|
dismissButtonClassName
|
|
554
554
|
}) {
|
|
555
555
|
const [isVisible, setIsVisible] = useState(true);
|
|
556
|
-
const
|
|
556
|
+
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
557
|
+
const handleDismiss = useCallback(() => {
|
|
557
558
|
setIsVisible(false);
|
|
558
559
|
onDismiss?.();
|
|
559
|
-
};
|
|
560
|
-
const
|
|
560
|
+
}, [onDismiss]);
|
|
561
|
+
const iconContent = useMemo(() => {
|
|
561
562
|
if (icon) return icon;
|
|
563
|
+
if (!iconName) return null;
|
|
562
564
|
return /* @__PURE__ */ jsx(
|
|
563
565
|
DynamicIcon,
|
|
564
566
|
{
|
|
@@ -567,12 +569,19 @@ function BannerGdprRights({
|
|
|
567
569
|
className: cn("text-muted-foreground mt-0.5 shrink-0", iconClassName)
|
|
568
570
|
}
|
|
569
571
|
);
|
|
570
|
-
};
|
|
571
|
-
const
|
|
572
|
+
}, [icon, iconName, iconClassName]);
|
|
573
|
+
const actionsContent = useMemo(() => {
|
|
572
574
|
if (actionsSlot) return actionsSlot;
|
|
573
575
|
if (!actions || actions.length === 0) return null;
|
|
574
576
|
return actions.map((action, index) => {
|
|
575
|
-
const {
|
|
577
|
+
const {
|
|
578
|
+
label,
|
|
579
|
+
icon: actionIcon,
|
|
580
|
+
iconAfter,
|
|
581
|
+
children,
|
|
582
|
+
className: actionClassName,
|
|
583
|
+
...pressableProps
|
|
584
|
+
} = action;
|
|
576
585
|
return /* @__PURE__ */ jsx(
|
|
577
586
|
Pressable,
|
|
578
587
|
{
|
|
@@ -587,11 +596,22 @@ function BannerGdprRights({
|
|
|
587
596
|
index
|
|
588
597
|
);
|
|
589
598
|
});
|
|
590
|
-
};
|
|
591
|
-
const
|
|
599
|
+
}, [actions, actionsSlot]);
|
|
600
|
+
const dismissIconContent = useMemo(() => {
|
|
592
601
|
if (dismissIcon) return dismissIcon;
|
|
593
602
|
return /* @__PURE__ */ jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
594
|
-
};
|
|
603
|
+
}, [dismissIcon]);
|
|
604
|
+
const titleContent = useMemo(() => {
|
|
605
|
+
if (!title) return null;
|
|
606
|
+
return typeof title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-semibold text-sm", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title });
|
|
607
|
+
}, [title, titleClassName]);
|
|
608
|
+
const descriptionContent = useMemo(() => {
|
|
609
|
+
if (!description && !actionsContent) return null;
|
|
610
|
+
return /* @__PURE__ */ jsxs("p", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: [
|
|
611
|
+
description,
|
|
612
|
+
actionsContent && /* @__PURE__ */ jsx("span", { className: actionsClassName, children: actionsContent })
|
|
613
|
+
] });
|
|
614
|
+
}, [description, actionsContent, descriptionClassName, actionsClassName]);
|
|
595
615
|
if (!isVisible) {
|
|
596
616
|
return null;
|
|
597
617
|
}
|
|
@@ -604,13 +624,10 @@ function BannerGdprRights({
|
|
|
604
624
|
),
|
|
605
625
|
children: /* @__PURE__ */ jsxs("div", { className: cn("flex items-start justify-between gap-4 max-w-7xl mx-auto px-4 py-4", containerClassName), children: [
|
|
606
626
|
/* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-3", contentClassName), children: [
|
|
607
|
-
|
|
627
|
+
iconContent,
|
|
608
628
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
description,
|
|
612
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("span", { className: actionsClassName, children: renderActions() })
|
|
613
|
-
] })
|
|
629
|
+
titleContent,
|
|
630
|
+
descriptionContent
|
|
614
631
|
] })
|
|
615
632
|
] }),
|
|
616
633
|
/* @__PURE__ */ jsxs(
|
|
@@ -622,8 +639,8 @@ function BannerGdprRights({
|
|
|
622
639
|
asButton: true,
|
|
623
640
|
className: cn("size-8", dismissButtonClassName),
|
|
624
641
|
children: [
|
|
625
|
-
|
|
626
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children:
|
|
642
|
+
dismissIconContent,
|
|
643
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: dismissLabel })
|
|
627
644
|
]
|
|
628
645
|
}
|
|
629
646
|
)
|
|
@@ -556,14 +556,14 @@ function processSvgForCurrentColor(svg) {
|
|
|
556
556
|
}
|
|
557
557
|
function BannerPrivacyNotice({
|
|
558
558
|
icon,
|
|
559
|
-
iconName
|
|
559
|
+
iconName,
|
|
560
560
|
title,
|
|
561
561
|
description,
|
|
562
562
|
actions,
|
|
563
563
|
actionsSlot,
|
|
564
564
|
onDismiss,
|
|
565
565
|
dismissIcon,
|
|
566
|
-
dismissAriaLabel
|
|
566
|
+
dismissAriaLabel,
|
|
567
567
|
className,
|
|
568
568
|
containerClassName,
|
|
569
569
|
contentClassName,
|
|
@@ -574,12 +574,14 @@ function BannerPrivacyNotice({
|
|
|
574
574
|
dismissButtonClassName
|
|
575
575
|
}) {
|
|
576
576
|
const [isVisible, setIsVisible] = React.useState(true);
|
|
577
|
-
const
|
|
577
|
+
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
578
|
+
const handleDismiss = React.useCallback(() => {
|
|
578
579
|
setIsVisible(false);
|
|
579
580
|
onDismiss?.();
|
|
580
|
-
};
|
|
581
|
-
const
|
|
581
|
+
}, [onDismiss]);
|
|
582
|
+
const iconContent = React.useMemo(() => {
|
|
582
583
|
if (icon) return icon;
|
|
584
|
+
if (!iconName) return null;
|
|
583
585
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
584
586
|
DynamicIcon,
|
|
585
587
|
{
|
|
@@ -588,12 +590,19 @@ function BannerPrivacyNotice({
|
|
|
588
590
|
className: cn("mt-0.5 shrink-0", iconClassName)
|
|
589
591
|
}
|
|
590
592
|
);
|
|
591
|
-
};
|
|
592
|
-
const
|
|
593
|
+
}, [icon, iconName, iconClassName]);
|
|
594
|
+
const actionsContent = React.useMemo(() => {
|
|
593
595
|
if (actionsSlot) return actionsSlot;
|
|
594
596
|
if (!actions || actions.length === 0) return null;
|
|
595
597
|
return actions.map((action, index) => {
|
|
596
|
-
const {
|
|
598
|
+
const {
|
|
599
|
+
label,
|
|
600
|
+
icon: actionIcon,
|
|
601
|
+
iconAfter,
|
|
602
|
+
children,
|
|
603
|
+
className: actionClassName,
|
|
604
|
+
...pressableProps
|
|
605
|
+
} = action;
|
|
597
606
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
598
607
|
Pressable,
|
|
599
608
|
{
|
|
@@ -608,11 +617,19 @@ function BannerPrivacyNotice({
|
|
|
608
617
|
index
|
|
609
618
|
);
|
|
610
619
|
});
|
|
611
|
-
};
|
|
612
|
-
const
|
|
620
|
+
}, [actions, actionsSlot]);
|
|
621
|
+
const dismissIconContent = React.useMemo(() => {
|
|
613
622
|
if (dismissIcon) return dismissIcon;
|
|
614
623
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
615
|
-
};
|
|
624
|
+
}, [dismissIcon]);
|
|
625
|
+
const titleContent = React.useMemo(() => {
|
|
626
|
+
if (!title) return null;
|
|
627
|
+
return typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("font-semibold text-sm", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title });
|
|
628
|
+
}, [title, titleClassName]);
|
|
629
|
+
const descriptionContent = React.useMemo(() => {
|
|
630
|
+
if (!description) return null;
|
|
631
|
+
return typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: description });
|
|
632
|
+
}, [description, descriptionClassName]);
|
|
616
633
|
if (!isVisible) {
|
|
617
634
|
return null;
|
|
618
635
|
}
|
|
@@ -625,11 +642,11 @@ function BannerPrivacyNotice({
|
|
|
625
642
|
),
|
|
626
643
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-start justify-between gap-4 max-w-7xl mx-auto px-4 py-4", containerClassName), children: [
|
|
627
644
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-start gap-4", contentClassName), children: [
|
|
628
|
-
|
|
645
|
+
iconContent,
|
|
629
646
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children:
|
|
647
|
+
titleContent,
|
|
648
|
+
descriptionContent,
|
|
649
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actionsContent })
|
|
633
650
|
] })
|
|
634
651
|
] }),
|
|
635
652
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -641,8 +658,8 @@ function BannerPrivacyNotice({
|
|
|
641
658
|
asButton: true,
|
|
642
659
|
className: cn("size-8", dismissButtonClassName),
|
|
643
660
|
children: [
|
|
644
|
-
|
|
645
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children:
|
|
661
|
+
dismissIconContent,
|
|
662
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: dismissLabel })
|
|
646
663
|
]
|
|
647
664
|
}
|
|
648
665
|
)
|
|
@@ -15,7 +15,6 @@ interface BannerPrivacyNoticeProps {
|
|
|
15
15
|
icon?: React.ReactNode;
|
|
16
16
|
/**
|
|
17
17
|
* Icon name for DynamicIcon (used if icon prop is not provided)
|
|
18
|
-
* @default "mynaui/shield"
|
|
19
18
|
*/
|
|
20
19
|
iconName?: string;
|
|
21
20
|
/**
|
|
@@ -44,7 +43,6 @@ interface BannerPrivacyNoticeProps {
|
|
|
44
43
|
dismissIcon?: React.ReactNode;
|
|
45
44
|
/**
|
|
46
45
|
* ARIA label for dismiss button
|
|
47
|
-
* @default "Dismiss banner"
|
|
48
46
|
*/
|
|
49
47
|
dismissAriaLabel?: string;
|
|
50
48
|
/**
|
|
@@ -15,7 +15,6 @@ interface BannerPrivacyNoticeProps {
|
|
|
15
15
|
icon?: React.ReactNode;
|
|
16
16
|
/**
|
|
17
17
|
* Icon name for DynamicIcon (used if icon prop is not provided)
|
|
18
|
-
* @default "mynaui/shield"
|
|
19
18
|
*/
|
|
20
19
|
iconName?: string;
|
|
21
20
|
/**
|
|
@@ -44,7 +43,6 @@ interface BannerPrivacyNoticeProps {
|
|
|
44
43
|
dismissIcon?: React.ReactNode;
|
|
45
44
|
/**
|
|
46
45
|
* ARIA label for dismiss button
|
|
47
|
-
* @default "Dismiss banner"
|
|
48
46
|
*/
|
|
49
47
|
dismissAriaLabel?: string;
|
|
50
48
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { useState } from 'react';
|
|
3
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
@@ -535,14 +535,14 @@ function processSvgForCurrentColor(svg) {
|
|
|
535
535
|
}
|
|
536
536
|
function BannerPrivacyNotice({
|
|
537
537
|
icon,
|
|
538
|
-
iconName
|
|
538
|
+
iconName,
|
|
539
539
|
title,
|
|
540
540
|
description,
|
|
541
541
|
actions,
|
|
542
542
|
actionsSlot,
|
|
543
543
|
onDismiss,
|
|
544
544
|
dismissIcon,
|
|
545
|
-
dismissAriaLabel
|
|
545
|
+
dismissAriaLabel,
|
|
546
546
|
className,
|
|
547
547
|
containerClassName,
|
|
548
548
|
contentClassName,
|
|
@@ -553,12 +553,14 @@ function BannerPrivacyNotice({
|
|
|
553
553
|
dismissButtonClassName
|
|
554
554
|
}) {
|
|
555
555
|
const [isVisible, setIsVisible] = useState(true);
|
|
556
|
-
const
|
|
556
|
+
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
557
|
+
const handleDismiss = useCallback(() => {
|
|
557
558
|
setIsVisible(false);
|
|
558
559
|
onDismiss?.();
|
|
559
|
-
};
|
|
560
|
-
const
|
|
560
|
+
}, [onDismiss]);
|
|
561
|
+
const iconContent = useMemo(() => {
|
|
561
562
|
if (icon) return icon;
|
|
563
|
+
if (!iconName) return null;
|
|
562
564
|
return /* @__PURE__ */ jsx(
|
|
563
565
|
DynamicIcon,
|
|
564
566
|
{
|
|
@@ -567,12 +569,19 @@ function BannerPrivacyNotice({
|
|
|
567
569
|
className: cn("mt-0.5 shrink-0", iconClassName)
|
|
568
570
|
}
|
|
569
571
|
);
|
|
570
|
-
};
|
|
571
|
-
const
|
|
572
|
+
}, [icon, iconName, iconClassName]);
|
|
573
|
+
const actionsContent = useMemo(() => {
|
|
572
574
|
if (actionsSlot) return actionsSlot;
|
|
573
575
|
if (!actions || actions.length === 0) return null;
|
|
574
576
|
return actions.map((action, index) => {
|
|
575
|
-
const {
|
|
577
|
+
const {
|
|
578
|
+
label,
|
|
579
|
+
icon: actionIcon,
|
|
580
|
+
iconAfter,
|
|
581
|
+
children,
|
|
582
|
+
className: actionClassName,
|
|
583
|
+
...pressableProps
|
|
584
|
+
} = action;
|
|
576
585
|
return /* @__PURE__ */ jsx(
|
|
577
586
|
Pressable,
|
|
578
587
|
{
|
|
@@ -587,11 +596,19 @@ function BannerPrivacyNotice({
|
|
|
587
596
|
index
|
|
588
597
|
);
|
|
589
598
|
});
|
|
590
|
-
};
|
|
591
|
-
const
|
|
599
|
+
}, [actions, actionsSlot]);
|
|
600
|
+
const dismissIconContent = useMemo(() => {
|
|
592
601
|
if (dismissIcon) return dismissIcon;
|
|
593
602
|
return /* @__PURE__ */ jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
594
|
-
};
|
|
603
|
+
}, [dismissIcon]);
|
|
604
|
+
const titleContent = useMemo(() => {
|
|
605
|
+
if (!title) return null;
|
|
606
|
+
return typeof title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-semibold text-sm", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title });
|
|
607
|
+
}, [title, titleClassName]);
|
|
608
|
+
const descriptionContent = useMemo(() => {
|
|
609
|
+
if (!description) return null;
|
|
610
|
+
return typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground mt-1", descriptionClassName), children: description });
|
|
611
|
+
}, [description, descriptionClassName]);
|
|
595
612
|
if (!isVisible) {
|
|
596
613
|
return null;
|
|
597
614
|
}
|
|
@@ -604,11 +621,11 @@ function BannerPrivacyNotice({
|
|
|
604
621
|
),
|
|
605
622
|
children: /* @__PURE__ */ jsxs("div", { className: cn("flex items-start justify-between gap-4 max-w-7xl mx-auto px-4 py-4", containerClassName), children: [
|
|
606
623
|
/* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-4", contentClassName), children: [
|
|
607
|
-
|
|
624
|
+
iconContent,
|
|
608
625
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: actionsClassName, children:
|
|
626
|
+
titleContent,
|
|
627
|
+
descriptionContent,
|
|
628
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
|
|
612
629
|
] })
|
|
613
630
|
] }),
|
|
614
631
|
/* @__PURE__ */ jsxs(
|
|
@@ -620,8 +637,8 @@ function BannerPrivacyNotice({
|
|
|
620
637
|
asButton: true,
|
|
621
638
|
className: cn("size-8", dismissButtonClassName),
|
|
622
639
|
children: [
|
|
623
|
-
|
|
624
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children:
|
|
640
|
+
dismissIconContent,
|
|
641
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: dismissLabel })
|
|
625
642
|
]
|
|
626
643
|
}
|
|
627
644
|
)
|
|
@@ -1,9 +1,9 @@
|
|
|
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
|
-
var React = require('react');
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
|
|
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
|
|
|
27
27
|
|
|
28
28
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
29
29
|
|
|
30
|
-
//
|
|
30
|
+
// components/blocks/banner/banner-promo-cta.tsx
|
|
31
31
|
function cn(...inputs) {
|
|
32
32
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
33
33
|
}
|
|
@@ -451,7 +451,7 @@ var Pressable = React__namespace.forwardRef(
|
|
|
451
451
|
Pressable.displayName = "Pressable";
|
|
452
452
|
function BannerPromoCta({
|
|
453
453
|
message,
|
|
454
|
-
discount
|
|
454
|
+
discount,
|
|
455
455
|
separator,
|
|
456
456
|
actions,
|
|
457
457
|
actionsSlot,
|
|
@@ -463,11 +463,18 @@ function BannerPromoCta({
|
|
|
463
463
|
discountClassName,
|
|
464
464
|
actionsClassName
|
|
465
465
|
}) {
|
|
466
|
-
const
|
|
466
|
+
const actionsContent = React.useMemo(() => {
|
|
467
467
|
if (actionsSlot) return actionsSlot;
|
|
468
468
|
if (!actions || actions.length === 0) return null;
|
|
469
469
|
return actions.map((action, index) => {
|
|
470
|
-
const {
|
|
470
|
+
const {
|
|
471
|
+
label,
|
|
472
|
+
icon: actionIcon,
|
|
473
|
+
iconAfter,
|
|
474
|
+
children,
|
|
475
|
+
className: actionClassName,
|
|
476
|
+
...pressableProps
|
|
477
|
+
} = action;
|
|
471
478
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
472
479
|
Pressable,
|
|
473
480
|
{
|
|
@@ -482,20 +489,28 @@ function BannerPromoCta({
|
|
|
482
489
|
index
|
|
483
490
|
);
|
|
484
491
|
});
|
|
485
|
-
};
|
|
486
|
-
const
|
|
492
|
+
}, [actions, actionsSlot]);
|
|
493
|
+
const separatorContent = React.useMemo(() => {
|
|
487
494
|
if (separator) return separator;
|
|
488
495
|
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("hidden sm:inline", separatorClassName), children: "\xB7" });
|
|
489
|
-
};
|
|
496
|
+
}, [separator, separatorClassName]);
|
|
497
|
+
const messageContent = React.useMemo(() => {
|
|
498
|
+
if (!message) return null;
|
|
499
|
+
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-semibold", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: messageClassName, children: message });
|
|
500
|
+
}, [message, messageClassName]);
|
|
501
|
+
const discountContent = React.useMemo(() => {
|
|
502
|
+
if (!discount) return null;
|
|
503
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: discountClassName, children: discount });
|
|
504
|
+
}, [discount, discountClassName]);
|
|
490
505
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
491
506
|
"div",
|
|
492
507
|
{
|
|
493
508
|
className: cn("w-full bg-primary text-primary-foreground", className),
|
|
494
509
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container py-2.5", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-wrap items-center justify-center gap-x-4 gap-y-1 text-center text-sm", contentClassName), children: [
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: actionsClassName, children:
|
|
510
|
+
messageContent,
|
|
511
|
+
messageContent && discountContent && separatorContent,
|
|
512
|
+
discountContent,
|
|
513
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: actionsClassName, children: actionsContent })
|
|
499
514
|
] }) })
|
|
500
515
|
}
|
|
501
516
|
);
|
package/dist/banner-promo-cta.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
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
|
-
import * as React from 'react';
|
|
5
6
|
import { cva } from 'class-variance-authority';
|
|
6
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
8
|
|
|
8
|
-
//
|
|
9
|
+
// components/blocks/banner/banner-promo-cta.tsx
|
|
9
10
|
function cn(...inputs) {
|
|
10
11
|
return twMerge(clsx(inputs));
|
|
11
12
|
}
|
|
@@ -429,7 +430,7 @@ var Pressable = React.forwardRef(
|
|
|
429
430
|
Pressable.displayName = "Pressable";
|
|
430
431
|
function BannerPromoCta({
|
|
431
432
|
message,
|
|
432
|
-
discount
|
|
433
|
+
discount,
|
|
433
434
|
separator,
|
|
434
435
|
actions,
|
|
435
436
|
actionsSlot,
|
|
@@ -441,11 +442,18 @@ function BannerPromoCta({
|
|
|
441
442
|
discountClassName,
|
|
442
443
|
actionsClassName
|
|
443
444
|
}) {
|
|
444
|
-
const
|
|
445
|
+
const actionsContent = useMemo(() => {
|
|
445
446
|
if (actionsSlot) return actionsSlot;
|
|
446
447
|
if (!actions || actions.length === 0) return null;
|
|
447
448
|
return actions.map((action, index) => {
|
|
448
|
-
const {
|
|
449
|
+
const {
|
|
450
|
+
label,
|
|
451
|
+
icon: actionIcon,
|
|
452
|
+
iconAfter,
|
|
453
|
+
children,
|
|
454
|
+
className: actionClassName,
|
|
455
|
+
...pressableProps
|
|
456
|
+
} = action;
|
|
449
457
|
return /* @__PURE__ */ jsx(
|
|
450
458
|
Pressable,
|
|
451
459
|
{
|
|
@@ -460,20 +468,28 @@ function BannerPromoCta({
|
|
|
460
468
|
index
|
|
461
469
|
);
|
|
462
470
|
});
|
|
463
|
-
};
|
|
464
|
-
const
|
|
471
|
+
}, [actions, actionsSlot]);
|
|
472
|
+
const separatorContent = useMemo(() => {
|
|
465
473
|
if (separator) return separator;
|
|
466
474
|
return /* @__PURE__ */ jsx("span", { className: cn("hidden sm:inline", separatorClassName), children: "\xB7" });
|
|
467
|
-
};
|
|
475
|
+
}, [separator, separatorClassName]);
|
|
476
|
+
const messageContent = useMemo(() => {
|
|
477
|
+
if (!message) return null;
|
|
478
|
+
return typeof message === "string" ? /* @__PURE__ */ jsx("span", { className: cn("font-semibold", messageClassName), children: message }) : /* @__PURE__ */ jsx("span", { className: messageClassName, children: message });
|
|
479
|
+
}, [message, messageClassName]);
|
|
480
|
+
const discountContent = useMemo(() => {
|
|
481
|
+
if (!discount) return null;
|
|
482
|
+
return /* @__PURE__ */ jsx("span", { className: discountClassName, children: discount });
|
|
483
|
+
}, [discount, discountClassName]);
|
|
468
484
|
return /* @__PURE__ */ jsx(
|
|
469
485
|
"div",
|
|
470
486
|
{
|
|
471
487
|
className: cn("w-full bg-primary text-primary-foreground", className),
|
|
472
488
|
children: /* @__PURE__ */ jsx("div", { className: cn("container py-2.5", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-wrap items-center justify-center gap-x-4 gap-y-1 text-center text-sm", contentClassName), children: [
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("span", { className: actionsClassName, children:
|
|
489
|
+
messageContent,
|
|
490
|
+
messageContent && discountContent && separatorContent,
|
|
491
|
+
discountContent,
|
|
492
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("span", { className: actionsClassName, children: actionsContent })
|
|
477
493
|
] }) })
|
|
478
494
|
}
|
|
479
495
|
);
|
|
@@ -556,13 +556,13 @@ function processSvgForCurrentColor(svg) {
|
|
|
556
556
|
}
|
|
557
557
|
function BannerSocialFollow({
|
|
558
558
|
icon,
|
|
559
|
-
iconName
|
|
559
|
+
iconName,
|
|
560
560
|
message,
|
|
561
561
|
actions,
|
|
562
562
|
actionsSlot,
|
|
563
563
|
onDismiss,
|
|
564
564
|
dismissIcon,
|
|
565
|
-
dismissAriaLabel
|
|
565
|
+
dismissAriaLabel,
|
|
566
566
|
className,
|
|
567
567
|
containerClassName,
|
|
568
568
|
iconClassName,
|
|
@@ -571,19 +571,35 @@ function BannerSocialFollow({
|
|
|
571
571
|
dismissButtonClassName
|
|
572
572
|
}) {
|
|
573
573
|
const [isVisible, setIsVisible] = React.useState(true);
|
|
574
|
-
const
|
|
574
|
+
const dismissLabel = dismissAriaLabel ?? "Dismiss banner";
|
|
575
|
+
const handleDismiss = React.useCallback(() => {
|
|
575
576
|
setIsVisible(false);
|
|
576
577
|
onDismiss?.();
|
|
577
|
-
};
|
|
578
|
-
const
|
|
578
|
+
}, [onDismiss]);
|
|
579
|
+
const iconContent = React.useMemo(() => {
|
|
579
580
|
if (icon) return icon;
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
581
|
+
if (!iconName) return null;
|
|
582
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
583
|
+
DynamicIcon,
|
|
584
|
+
{
|
|
585
|
+
name: iconName,
|
|
586
|
+
size: 20,
|
|
587
|
+
className: cn("shrink-0", iconClassName)
|
|
588
|
+
}
|
|
589
|
+
);
|
|
590
|
+
}, [icon, iconName, iconClassName]);
|
|
591
|
+
const actionsContent = React.useMemo(() => {
|
|
583
592
|
if (actionsSlot) return actionsSlot;
|
|
584
593
|
if (!actions || actions.length === 0) return null;
|
|
585
594
|
return actions.map((action, index) => {
|
|
586
|
-
const {
|
|
595
|
+
const {
|
|
596
|
+
label,
|
|
597
|
+
icon: actionIcon,
|
|
598
|
+
iconAfter,
|
|
599
|
+
children,
|
|
600
|
+
className: actionClassName,
|
|
601
|
+
...pressableProps
|
|
602
|
+
} = action;
|
|
587
603
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
588
604
|
Pressable,
|
|
589
605
|
{
|
|
@@ -599,11 +615,15 @@ function BannerSocialFollow({
|
|
|
599
615
|
index
|
|
600
616
|
);
|
|
601
617
|
});
|
|
602
|
-
};
|
|
603
|
-
const
|
|
618
|
+
}, [actions, actionsSlot]);
|
|
619
|
+
const dismissIconContent = React.useMemo(() => {
|
|
604
620
|
if (dismissIcon) return dismissIcon;
|
|
605
621
|
return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "mynaui/x", size: 16 });
|
|
606
|
-
};
|
|
622
|
+
}, [dismissIcon]);
|
|
623
|
+
const messageContent = React.useMemo(() => {
|
|
624
|
+
if (!message) return null;
|
|
625
|
+
return typeof message === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-medium", messageClassName), children: message }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: messageClassName, children: message });
|
|
626
|
+
}, [message, messageClassName]);
|
|
607
627
|
if (!isVisible) {
|
|
608
628
|
return null;
|
|
609
629
|
}
|
|
@@ -615,9 +635,9 @@ function BannerSocialFollow({
|
|
|
615
635
|
className
|
|
616
636
|
),
|
|
617
637
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("max-w-7xl mx-auto px-3 py-3 flex items-center justify-center text-left md:text-center gap-2", containerClassName), children: [
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: actionsClassName, children:
|
|
638
|
+
iconContent,
|
|
639
|
+
messageContent,
|
|
640
|
+
(actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: actionsClassName, children: actionsContent }),
|
|
621
641
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
622
642
|
Pressable,
|
|
623
643
|
{
|
|
@@ -627,8 +647,8 @@ function BannerSocialFollow({
|
|
|
627
647
|
asButton: true,
|
|
628
648
|
className: cn("size-8", dismissButtonClassName),
|
|
629
649
|
children: [
|
|
630
|
-
|
|
631
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children:
|
|
650
|
+
dismissIconContent,
|
|
651
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: dismissLabel })
|
|
632
652
|
]
|
|
633
653
|
}
|
|
634
654
|
)
|
|
@@ -15,7 +15,6 @@ interface BannerSocialFollowProps {
|
|
|
15
15
|
icon?: React.ReactNode;
|
|
16
16
|
/**
|
|
17
17
|
* Icon name for DynamicIcon (used if icon prop is not provided)
|
|
18
|
-
* @default "mynaui/users"
|
|
19
18
|
*/
|
|
20
19
|
iconName?: string;
|
|
21
20
|
/**
|
|
@@ -40,7 +39,6 @@ interface BannerSocialFollowProps {
|
|
|
40
39
|
dismissIcon?: React.ReactNode;
|
|
41
40
|
/**
|
|
42
41
|
* ARIA label for dismiss button
|
|
43
|
-
* @default "Dismiss banner"
|
|
44
42
|
*/
|
|
45
43
|
dismissAriaLabel?: string;
|
|
46
44
|
/**
|