@opensite/ui 0.8.9 → 0.9.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-company-profile.cjs +32 -4
- package/dist/about-company-profile.js +32 -4
- package/dist/about-culture-tabs.cjs +38 -8
- package/dist/about-culture-tabs.js +38 -8
- package/dist/about-developer-profile.cjs +37 -5
- package/dist/about-developer-profile.js +37 -5
- package/dist/about-developer-story.cjs +31 -3
- package/dist/about-developer-story.js +31 -3
- package/dist/about-expandable-values.cjs +43 -9
- package/dist/about-expandable-values.js +43 -9
- package/dist/about-interactive-tabs.cjs +63 -4
- package/dist/about-interactive-tabs.js +63 -4
- package/dist/about-location-info-hero.cjs +28 -2
- package/dist/about-location-info-hero.js +28 -2
- package/dist/about-minimal-story.cjs +35 -4
- package/dist/about-minimal-story.js +35 -4
- package/dist/about-mission-dual-image.cjs +30 -2
- package/dist/about-mission-dual-image.js +30 -2
- package/dist/about-mission-features.cjs +36 -4
- package/dist/about-mission-features.js +36 -4
- package/dist/about-mission-principles.cjs +39 -6
- package/dist/about-mission-principles.js +39 -6
- package/dist/about-network-spotlight.cjs +33 -5
- package/dist/about-network-spotlight.js +33 -5
- package/dist/about-startup-team.cjs +47 -6
- package/dist/about-startup-team.js +47 -6
- package/dist/about-stats-showcase.cjs +31 -4
- package/dist/about-stats-showcase.js +31 -4
- package/dist/about-stats-sidebar.cjs +29 -3
- package/dist/about-stats-sidebar.js +29 -3
- package/dist/about-story-expertise.cjs +44 -8
- package/dist/about-story-expertise.js +44 -8
- package/dist/about-story-gallery.cjs +28 -1
- package/dist/about-story-gallery.js +28 -1
- package/dist/about-story-hero.cjs +36 -4
- package/dist/about-story-hero.js +36 -4
- package/dist/about-streamline-team.cjs +32 -4
- package/dist/about-streamline-team.js +32 -4
- package/dist/about-vision-gallery.cjs +32 -3
- package/dist/about-vision-gallery.js +32 -3
- package/dist/alternating-blocks.cjs +5 -1
- package/dist/alternating-blocks.js +5 -1
- package/dist/banner-announcement-dismissible.cjs +377 -1
- package/dist/banner-announcement-dismissible.d.cts +7 -1
- package/dist/banner-announcement-dismissible.d.ts +7 -1
- package/dist/banner-announcement-dismissible.js +378 -2
- package/dist/banner-countdown-sale.cjs +388 -8
- package/dist/banner-countdown-sale.d.cts +11 -1
- package/dist/banner-countdown-sale.d.ts +11 -1
- package/dist/banner-countdown-sale.js +379 -3
- package/dist/banner-delivery-countdown.cjs +377 -1
- package/dist/banner-delivery-countdown.d.cts +11 -1
- package/dist/banner-delivery-countdown.d.ts +11 -1
- package/dist/banner-delivery-countdown.js +378 -2
- package/dist/banner-event-promo.cjs +377 -1
- package/dist/banner-event-promo.d.cts +7 -1
- package/dist/banner-event-promo.d.ts +7 -1
- package/dist/banner-event-promo.js +378 -2
- package/dist/banner-floating-offer.cjs +379 -3
- package/dist/banner-floating-offer.d.cts +7 -1
- package/dist/banner-floating-offer.d.ts +7 -1
- package/dist/banner-floating-offer.js +380 -4
- package/dist/banner-gdpr-rights.cjs +398 -31
- package/dist/banner-gdpr-rights.d.cts +7 -1
- package/dist/banner-gdpr-rights.d.ts +7 -1
- package/dist/banner-gdpr-rights.js +399 -32
- package/dist/banner-privacy-notice.cjs +399 -32
- package/dist/banner-privacy-notice.d.cts +7 -1
- package/dist/banner-privacy-notice.d.ts +7 -1
- package/dist/banner-privacy-notice.js +400 -33
- package/dist/banner-promo-cta.cjs +382 -12
- package/dist/banner-promo-cta.d.cts +7 -1
- package/dist/banner-promo-cta.d.ts +7 -1
- package/dist/banner-promo-cta.js +383 -13
- package/dist/banner-social-follow.cjs +395 -28
- package/dist/banner-social-follow.d.cts +7 -1
- package/dist/banner-social-follow.d.ts +7 -1
- package/dist/banner-social-follow.js +396 -29
- package/dist/banner-survey-incentive.cjs +377 -1
- package/dist/banner-survey-incentive.d.cts +7 -1
- package/dist/banner-survey-incentive.d.ts +7 -1
- package/dist/banner-survey-incentive.js +378 -2
- package/dist/community-initiatives.cjs +43 -10
- package/dist/community-initiatives.js +43 -10
- package/dist/components.cjs +76 -36
- package/dist/components.js +76 -36
- package/dist/contact-floating-banner.cjs +378 -2
- package/dist/contact-floating-banner.d.cts +7 -1
- package/dist/contact-floating-banner.d.ts +7 -1
- package/dist/contact-floating-banner.js +379 -2
- package/dist/cta-accent-background.cjs +28 -1
- package/dist/cta-accent-background.js +28 -1
- package/dist/cta-app-download-newsletter.cjs +30 -2
- package/dist/cta-app-download-newsletter.js +30 -2
- package/dist/cta-documentation-links.cjs +28 -2
- package/dist/cta-documentation-links.js +28 -2
- package/dist/cta-feature-cards-grid.cjs +34 -3
- package/dist/cta-feature-cards-grid.js +34 -3
- package/dist/cta-feature-checklist.cjs +27 -1
- package/dist/cta-feature-checklist.js +27 -1
- package/dist/cta-feature-list.cjs +33 -2
- package/dist/cta-feature-list.js +33 -2
- package/dist/cta-gradient-logos-floating.cjs +28 -1
- package/dist/cta-gradient-logos-floating.js +28 -1
- package/dist/cta-minimal-separator.cjs +27 -1
- package/dist/cta-minimal-separator.js +27 -1
- package/dist/cta-platform-demo.cjs +28 -1
- package/dist/cta-platform-demo.js +28 -1
- package/dist/cta-simple-centered.cjs +28 -1
- package/dist/cta-simple-centered.js +28 -1
- package/dist/cta-split-gradient-image.cjs +28 -1
- package/dist/cta-split-gradient-image.js +28 -1
- package/dist/cta-split-image-logos.cjs +29 -2
- package/dist/cta-split-image-logos.js +29 -2
- package/dist/cta-split-image.cjs +29 -2
- package/dist/cta-split-image.js +29 -2
- package/dist/cta-stacked-cards.cjs +28 -1
- package/dist/cta-stacked-cards.js +28 -1
- package/dist/faq-badge-support.cjs +33 -5
- package/dist/faq-badge-support.js +33 -5
- package/dist/faq-bordered-badge.cjs +31 -3
- package/dist/faq-bordered-badge.js +31 -3
- package/dist/faq-card-categories.cjs +60 -4
- package/dist/faq-card-categories.js +60 -4
- package/dist/faq-categorized-sections.cjs +31 -3
- package/dist/faq-categorized-sections.js +31 -3
- package/dist/faq-centered-accordion.cjs +31 -3
- package/dist/faq-centered-accordion.js +31 -3
- package/dist/faq-gradient-categories.cjs +31 -3
- package/dist/faq-gradient-categories.js +31 -3
- package/dist/faq-icon-benefits.cjs +40 -5
- package/dist/faq-icon-benefits.js +40 -5
- package/dist/faq-muted-cards.cjs +29 -2
- package/dist/faq-muted-cards.js +29 -2
- package/dist/faq-numbered-grid.cjs +32 -3
- package/dist/faq-numbered-grid.js +32 -3
- package/dist/faq-numbered-list.cjs +32 -3
- package/dist/faq-numbered-list.js +32 -3
- package/dist/faq-profile-sidebar.cjs +36 -6
- package/dist/faq-profile-sidebar.js +36 -6
- package/dist/faq-sidebar-navigation.cjs +30 -3
- package/dist/faq-sidebar-navigation.js +30 -3
- package/dist/faq-simple-accordion.cjs +29 -2
- package/dist/faq-simple-accordion.js +29 -2
- package/dist/feature-accordion-image.cjs +28 -2
- package/dist/feature-accordion-image.js +28 -2
- package/dist/feature-badge-grid-six.cjs +27 -1
- package/dist/feature-badge-grid-six.js +27 -1
- package/dist/feature-bento-image-grid.cjs +27 -1
- package/dist/feature-bento-image-grid.js +27 -1
- package/dist/feature-bento-utilities.cjs +56 -4
- package/dist/feature-bento-utilities.js +56 -4
- package/dist/feature-capabilities-grid.cjs +29 -3
- package/dist/feature-capabilities-grid.js +29 -3
- package/dist/feature-card-grid-linked.cjs +29 -2
- package/dist/feature-card-grid-linked.js +29 -2
- package/dist/feature-carousel-progress.cjs +28 -2
- package/dist/feature-carousel-progress.js +28 -2
- package/dist/feature-category-image-cards.cjs +28 -2
- package/dist/feature-category-image-cards.js +28 -2
- package/dist/feature-checklist-image.cjs +30 -2
- package/dist/feature-checklist-image.js +30 -2
- package/dist/feature-checklist-three-column.cjs +35 -5
- package/dist/feature-checklist-three-column.js +35 -5
- package/dist/feature-icon-grid-accent.cjs +28 -2
- package/dist/feature-icon-grid-accent.js +28 -2
- package/dist/feature-icon-grid-bordered.cjs +9 -4
- package/dist/feature-icon-grid-bordered.js +9 -4
- package/dist/feature-icon-grid-muted.cjs +28 -2
- package/dist/feature-icon-grid-muted.js +28 -2
- package/dist/feature-icon-tabs-content.cjs +56 -5
- package/dist/feature-icon-tabs-content.js +56 -5
- package/dist/feature-image-cards-three-column.cjs +27 -1
- package/dist/feature-image-cards-three-column.js +27 -1
- package/dist/feature-integration-cards.cjs +28 -2
- package/dist/feature-integration-cards.js +28 -2
- package/dist/feature-pattern-grid-links.cjs +28 -2
- package/dist/feature-pattern-grid-links.js +28 -2
- package/dist/feature-utility-cards-grid.cjs +9 -4
- package/dist/feature-utility-cards-grid.js +9 -4
- package/dist/footer-comprehensive-links.cjs +231 -151
- package/dist/footer-comprehensive-links.js +231 -151
- package/dist/hero-ad-campaign-expert.cjs +24 -2
- package/dist/hero-ad-campaign-expert.js +24 -2
- package/dist/hero-adaptable-product-grid.cjs +27 -1
- package/dist/hero-adaptable-product-grid.js +27 -1
- package/dist/hero-ai-powered-carousel.cjs +27 -1
- package/dist/hero-ai-powered-carousel.js +27 -1
- package/dist/hero-announcement-badge.cjs +27 -1
- package/dist/hero-announcement-badge.js +27 -1
- package/dist/hero-architecture-fullscreen.cjs +50 -2
- package/dist/hero-architecture-fullscreen.js +50 -2
- package/dist/hero-badge-image-split.cjs +27 -1
- package/dist/hero-badge-image-split.js +27 -1
- package/dist/hero-business-carousel-dots.cjs +27 -1
- package/dist/hero-business-carousel-dots.js +27 -1
- package/dist/hero-centered-gradient-cta.cjs +28 -2
- package/dist/hero-centered-gradient-cta.js +28 -2
- package/dist/hero-centered-image-grid.cjs +27 -1
- package/dist/hero-centered-image-grid.js +27 -1
- package/dist/hero-centered-screenshot.cjs +50 -2
- package/dist/hero-centered-screenshot.js +50 -2
- package/dist/hero-coming-soon-countdown.cjs +37 -7
- package/dist/hero-coming-soon-countdown.js +37 -7
- package/dist/hero-community-survey-cta.cjs +27 -1
- package/dist/hero-community-survey-cta.js +27 -1
- package/dist/hero-conversation-intelligence.cjs +50 -2
- package/dist/hero-conversation-intelligence.js +50 -2
- package/dist/hero-conversion-video-play.cjs +55 -3
- package/dist/hero-conversion-video-play.js +55 -3
- package/dist/hero-creative-studio-stacked.cjs +28 -2
- package/dist/hero-creative-studio-stacked.js +28 -2
- package/dist/hero-crm-streamlined.cjs +27 -1
- package/dist/hero-crm-streamlined.js +27 -1
- package/dist/hero-customer-support-layered.cjs +51 -3
- package/dist/hero-customer-support-layered.js +51 -3
- package/dist/hero-dashed-border-features.cjs +27 -1
- package/dist/hero-dashed-border-features.js +27 -1
- package/dist/hero-design-showcase-logos.cjs +27 -1
- package/dist/hero-design-showcase-logos.js +27 -1
- package/dist/hero-design-system-3d.cjs +32 -2
- package/dist/hero-design-system-3d.js +32 -2
- package/dist/hero-developer-tools-code.cjs +27 -1
- package/dist/hero-developer-tools-code.js +27 -1
- package/dist/hero-digital-agency-fullscreen.cjs +33 -3
- package/dist/hero-digital-agency-fullscreen.js +33 -3
- package/dist/hero-ecommerce-product-showcase.cjs +32 -6
- package/dist/hero-ecommerce-product-showcase.js +32 -6
- package/dist/hero-enterprise-security.cjs +34 -4
- package/dist/hero-enterprise-security.js +34 -4
- package/dist/hero-event-registration.cjs +35 -5
- package/dist/hero-event-registration.js +35 -5
- package/dist/hero-feature-cards-grid.cjs +82 -4
- package/dist/hero-feature-cards-grid.js +82 -4
- package/dist/hero-gradient-avatars-rating.cjs +30 -4
- package/dist/hero-gradient-avatars-rating.js +30 -4
- package/dist/hero-gradient-client-focused.cjs +27 -1
- package/dist/hero-gradient-client-focused.js +27 -1
- package/dist/hero-grid-pattern-efficiency.cjs +28 -2
- package/dist/hero-grid-pattern-efficiency.js +28 -2
- package/dist/hero-grid-pattern-solutions.cjs +27 -1
- package/dist/hero-grid-pattern-solutions.js +27 -1
- package/dist/hero-image-left-content.cjs +27 -1
- package/dist/hero-image-left-content.js +27 -1
- package/dist/hero-innovation-image-grid.cjs +27 -1
- package/dist/hero-innovation-image-grid.js +27 -1
- package/dist/hero-logo-centered-screenshot.cjs +27 -1
- package/dist/hero-logo-centered-screenshot.js +27 -1
- package/dist/hero-marketplace-scattered-images.cjs +27 -1
- package/dist/hero-marketplace-scattered-images.js +27 -1
- package/dist/hero-mentorship-video-split.cjs +7 -3
- package/dist/hero-mentorship-video-split.js +7 -3
- package/dist/hero-minimal-centered-dark.cjs +55 -3
- package/dist/hero-minimal-centered-dark.js +55 -3
- package/dist/hero-mobile-app-download.cjs +34 -4
- package/dist/hero-mobile-app-download.js +34 -4
- package/dist/hero-newsletter-minimal.cjs +29 -3
- package/dist/hero-newsletter-minimal.js +29 -3
- package/dist/hero-overlay-cta-grid.cjs +33 -3
- package/dist/hero-overlay-cta-grid.js +33 -3
- package/dist/hero-pattern-badge-logos.cjs +28 -2
- package/dist/hero-pattern-badge-logos.js +28 -2
- package/dist/hero-pattern-logo-tech-stack.cjs +33 -3
- package/dist/hero-pattern-logo-tech-stack.js +33 -3
- package/dist/hero-platform-features-grid.cjs +28 -2
- package/dist/hero-platform-features-grid.js +28 -2
- package/dist/hero-portfolio-creative.cjs +29 -3
- package/dist/hero-portfolio-creative.js +29 -3
- package/dist/hero-pricing-comparison.cjs +52 -4
- package/dist/hero-pricing-comparison.js +52 -4
- package/dist/hero-product-showcase-floating.cjs +34 -4
- package/dist/hero-product-showcase-floating.js +34 -4
- package/dist/hero-productivity-launcher-video.cjs +29 -3
- package/dist/hero-productivity-launcher-video.js +29 -3
- package/dist/hero-saas-dashboard-preview.cjs +34 -4
- package/dist/hero-saas-dashboard-preview.js +34 -4
- package/dist/hero-shared-inbox-layered.cjs +51 -3
- package/dist/hero-shared-inbox-layered.js +51 -3
- package/dist/hero-simple-centered-image.cjs +27 -1
- package/dist/hero-simple-centered-image.js +27 -1
- package/dist/hero-software-growth-video-dialog.cjs +50 -2
- package/dist/hero-software-growth-video-dialog.js +50 -2
- package/dist/hero-spiral-pattern-cards.cjs +28 -2
- package/dist/hero-spiral-pattern-cards.js +28 -2
- package/dist/hero-split-icon-cards.cjs +34 -4
- package/dist/hero-split-icon-cards.js +34 -4
- package/dist/hero-split-image-newsletter.cjs +28 -2
- package/dist/hero-split-image-newsletter.js +28 -2
- package/dist/hero-split-spiral-shapes.cjs +28 -2
- package/dist/hero-split-spiral-shapes.js +28 -2
- package/dist/hero-startup-launch-cta.cjs +28 -2
- package/dist/hero-startup-launch-cta.js +28 -2
- package/dist/hero-stats-social-proof.cjs +34 -4
- package/dist/hero-stats-social-proof.js +34 -4
- package/dist/hero-tech-carousel.cjs +27 -1
- package/dist/hero-tech-carousel.js +27 -1
- package/dist/hero-ui-library-showcase.cjs +27 -1
- package/dist/hero-ui-library-showcase.js +27 -1
- package/dist/hero-video-background-dark.cjs +28 -2
- package/dist/hero-video-background-dark.js +28 -2
- package/dist/hero-video-dialog-gradient.cjs +27 -1
- package/dist/hero-video-dialog-gradient.js +27 -1
- package/dist/hero-welcome-asymmetric-images.cjs +30 -2
- package/dist/hero-welcome-asymmetric-images.js +30 -2
- package/dist/index.cjs +104 -36
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +102 -37
- package/dist/link-page-bento-layout.cjs +57 -28
- package/dist/link-page-bento-layout.d.cts +1 -5
- package/dist/link-page-bento-layout.d.ts +1 -5
- package/dist/link-page-bento-layout.js +57 -28
- package/dist/link-page-grid-cards.cjs +52 -23
- package/dist/link-page-grid-cards.d.cts +1 -5
- package/dist/link-page-grid-cards.d.ts +1 -5
- package/dist/link-page-grid-cards.js +52 -23
- package/dist/link-page-minimal-profile.cjs +46 -18
- package/dist/link-page-minimal-profile.d.cts +1 -5
- package/dist/link-page-minimal-profile.d.ts +1 -5
- package/dist/link-page-minimal-profile.js +46 -18
- package/dist/link-page-newsletter-social.cjs +53 -28
- package/dist/link-page-newsletter-social.d.cts +1 -5
- package/dist/link-page-newsletter-social.d.ts +1 -5
- package/dist/link-page-newsletter-social.js +53 -28
- package/dist/link-tree-block.cjs +122 -34
- package/dist/link-tree-block.d.cts +1 -8
- package/dist/link-tree-block.d.ts +1 -8
- package/dist/link-tree-block.js +122 -34
- package/dist/media-hover-ctas.cjs +28 -2
- package/dist/media-hover-ctas.js +28 -2
- package/dist/process-expandable-timeline.cjs +66 -10
- package/dist/process-expandable-timeline.js +66 -10
- package/dist/process-hover-cards.cjs +39 -6
- package/dist/process-hover-cards.js +39 -6
- package/dist/process-icon-timeline.cjs +53 -3
- package/dist/process-icon-timeline.js +53 -3
- package/dist/process-mission-principles.cjs +44 -6
- package/dist/process-mission-principles.js +44 -6
- package/dist/process-numbered-services.cjs +76 -22
- package/dist/process-numbered-services.js +76 -22
- package/dist/process-roadmap-timeline.cjs +63 -9
- package/dist/process-roadmap-timeline.js +63 -9
- package/dist/process-scroll-image.cjs +71 -32
- package/dist/process-scroll-image.js +71 -32
- package/dist/process-steps-grid.cjs +61 -5
- package/dist/process-steps-grid.js +61 -5
- package/dist/process-sticky-steps.cjs +49 -69
- package/dist/process-sticky-steps.d.cts +1 -13
- package/dist/process-sticky-steps.d.ts +1 -13
- package/dist/process-sticky-steps.js +49 -69
- package/dist/project-zigzag-layout.cjs +379 -3
- package/dist/project-zigzag-layout.d.cts +8 -1
- package/dist/project-zigzag-layout.d.ts +8 -1
- package/dist/project-zigzag-layout.js +380 -3
- package/dist/registry.cjs +2759 -2476
- package/dist/registry.js +2759 -2476
- package/dist/team-media-showcase.cjs +59 -4
- package/dist/team-media-showcase.d.cts +4 -0
- package/dist/team-media-showcase.d.ts +4 -0
- package/dist/team-media-showcase.js +59 -4
- package/dist/testimonials-carousel-image.d.cts +6 -0
- package/dist/testimonials-carousel-image.d.ts +6 -0
- package/dist/utils.cjs +58 -0
- package/dist/utils.d.cts +113 -1
- package/dist/utils.d.ts +113 -1
- package/dist/utils.js +56 -1
- package/package.json +1 -1
|
@@ -66,6 +66,32 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
66
66
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
67
67
|
return isDark ? "text-foreground" : "";
|
|
68
68
|
}
|
|
69
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
70
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
71
|
+
if (isDark) {
|
|
72
|
+
switch (variant) {
|
|
73
|
+
case "default":
|
|
74
|
+
return "text-foreground";
|
|
75
|
+
case "muted":
|
|
76
|
+
return "text-foreground/80";
|
|
77
|
+
case "subtle":
|
|
78
|
+
return "text-foreground/60";
|
|
79
|
+
case "accent":
|
|
80
|
+
return "text-accent-foreground";
|
|
81
|
+
}
|
|
82
|
+
} else {
|
|
83
|
+
switch (variant) {
|
|
84
|
+
case "default":
|
|
85
|
+
return "text-foreground";
|
|
86
|
+
case "muted":
|
|
87
|
+
return "text-muted-foreground";
|
|
88
|
+
case "subtle":
|
|
89
|
+
return "text-muted-foreground/70";
|
|
90
|
+
case "accent":
|
|
91
|
+
return "text-primary";
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
69
95
|
function normalizePhoneNumber(input) {
|
|
70
96
|
const trimmed = input.trim();
|
|
71
97
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -1131,8 +1157,7 @@ function LinkPageNewsletterSocial({
|
|
|
1131
1157
|
linkLabelClassName,
|
|
1132
1158
|
linkChevronClassName,
|
|
1133
1159
|
footerClassName,
|
|
1134
|
-
|
|
1135
|
-
background,
|
|
1160
|
+
background = "white",
|
|
1136
1161
|
spacing,
|
|
1137
1162
|
pattern,
|
|
1138
1163
|
patternOpacity,
|
|
@@ -1143,8 +1168,7 @@ function LinkPageNewsletterSocial({
|
|
|
1143
1168
|
onError,
|
|
1144
1169
|
optixFlowConfig
|
|
1145
1170
|
}) {
|
|
1146
|
-
const
|
|
1147
|
-
const resolvedBackground = background ?? (isDark ? "dark" : "white");
|
|
1171
|
+
const resolvedBackground = background;
|
|
1148
1172
|
const resolvedAvatar = avatar || (avatarUrl ? {
|
|
1149
1173
|
src: avatarUrl,
|
|
1150
1174
|
alt: typeof name === "string" ? name : "Profile avatar"
|
|
@@ -1238,7 +1262,8 @@ function LinkPageNewsletterSocial({
|
|
|
1238
1262
|
"p",
|
|
1239
1263
|
{
|
|
1240
1264
|
className: cn(
|
|
1241
|
-
"max-w-xs text-sm
|
|
1265
|
+
"max-w-xs text-sm",
|
|
1266
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1242
1267
|
bioClassName
|
|
1243
1268
|
),
|
|
1244
1269
|
children: bio
|
|
@@ -1248,7 +1273,7 @@ function LinkPageNewsletterSocial({
|
|
|
1248
1273
|
]
|
|
1249
1274
|
}
|
|
1250
1275
|
);
|
|
1251
|
-
}, [profileSlot, resolvedAvatar, avatarClassName, optixFlowConfig, name,
|
|
1276
|
+
}, [profileSlot, resolvedAvatar, avatarClassName, optixFlowConfig, name, resolvedBackground, nameClassName, bio, bioClassName, headerClassName]);
|
|
1252
1277
|
const renderSocialLinks = React.useMemo(() => {
|
|
1253
1278
|
if (socialLinksSlot) return socialLinksSlot;
|
|
1254
1279
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
@@ -1260,10 +1285,11 @@ function LinkPageNewsletterSocial({
|
|
|
1260
1285
|
socialLinksClassName
|
|
1261
1286
|
),
|
|
1262
1287
|
children: socialLinks.map((social, index) => {
|
|
1263
|
-
const
|
|
1288
|
+
const { iconName, ...socialPressableProps } = social;
|
|
1289
|
+
const icon = social.icon || (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1264
1290
|
DynamicIcon,
|
|
1265
1291
|
{
|
|
1266
|
-
name:
|
|
1292
|
+
name: iconName,
|
|
1267
1293
|
size: 20,
|
|
1268
1294
|
className: socialIconClassName
|
|
1269
1295
|
}
|
|
@@ -1272,14 +1298,14 @@ function LinkPageNewsletterSocial({
|
|
|
1272
1298
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1273
1299
|
Pressable,
|
|
1274
1300
|
{
|
|
1275
|
-
|
|
1301
|
+
...socialPressableProps,
|
|
1276
1302
|
"aria-label": ariaLabel,
|
|
1277
1303
|
className: cn(
|
|
1278
1304
|
"rounded-full p-2.5 transition-all duration-200",
|
|
1279
1305
|
"hover:scale-110 active:scale-95",
|
|
1280
1306
|
getNestedCardBg(resolvedBackground),
|
|
1281
1307
|
getNestedCardTextColor(resolvedBackground),
|
|
1282
|
-
|
|
1308
|
+
"hover:opacity-80",
|
|
1283
1309
|
socialLinkClassName,
|
|
1284
1310
|
social.className
|
|
1285
1311
|
),
|
|
@@ -1290,7 +1316,7 @@ function LinkPageNewsletterSocial({
|
|
|
1290
1316
|
})
|
|
1291
1317
|
}
|
|
1292
1318
|
);
|
|
1293
|
-
}, [socialLinksSlot, socialLinks, socialLinksClassName, socialIconClassName,
|
|
1319
|
+
}, [socialLinksSlot, socialLinks, socialLinksClassName, socialIconClassName, resolvedBackground, socialLinkClassName]);
|
|
1294
1320
|
const renderFormFields = React.useMemo(() => {
|
|
1295
1321
|
if (formSlot) return formSlot;
|
|
1296
1322
|
const {
|
|
@@ -1311,7 +1337,6 @@ function LinkPageNewsletterSocial({
|
|
|
1311
1337
|
error: meta.touched && !!meta.error,
|
|
1312
1338
|
className: cn(
|
|
1313
1339
|
"w-full",
|
|
1314
|
-
isDark && "border-border/20 bg-muted/10 placeholder:text-muted-foreground/50",
|
|
1315
1340
|
inputClassName
|
|
1316
1341
|
),
|
|
1317
1342
|
"aria-label": emailPlaceholder || "Email address"
|
|
@@ -1339,7 +1364,7 @@ function LinkPageNewsletterSocial({
|
|
|
1339
1364
|
}
|
|
1340
1365
|
)
|
|
1341
1366
|
] });
|
|
1342
|
-
}, [formSlot, resolvedSubmitAction, emailPlaceholder,
|
|
1367
|
+
}, [formSlot, resolvedSubmitAction, emailPlaceholder, inputClassName, submitButtonClassName, form.isSubmitting, submittingIcon, submittingLabel]);
|
|
1343
1368
|
const renderNewsletter = React.useMemo(() => {
|
|
1344
1369
|
if (newsletterSlot) return newsletterSlot;
|
|
1345
1370
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1347,7 +1372,7 @@ function LinkPageNewsletterSocial({
|
|
|
1347
1372
|
{
|
|
1348
1373
|
className: cn(
|
|
1349
1374
|
"space-y-4 rounded-2xl p-6",
|
|
1350
|
-
|
|
1375
|
+
"border border-border bg-card shadow-sm",
|
|
1351
1376
|
newsletterCardClassName
|
|
1352
1377
|
),
|
|
1353
1378
|
children: [
|
|
@@ -1366,7 +1391,8 @@ function LinkPageNewsletterSocial({
|
|
|
1366
1391
|
"p",
|
|
1367
1392
|
{
|
|
1368
1393
|
className: cn(
|
|
1369
|
-
"text-sm
|
|
1394
|
+
"text-sm",
|
|
1395
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1370
1396
|
newsletterDescriptionClassName
|
|
1371
1397
|
),
|
|
1372
1398
|
children: newsletterDescription
|
|
@@ -1386,7 +1412,7 @@ function LinkPageNewsletterSocial({
|
|
|
1386
1412
|
]
|
|
1387
1413
|
}
|
|
1388
1414
|
);
|
|
1389
|
-
}, [newsletterSlot,
|
|
1415
|
+
}, [newsletterSlot, newsletterCardClassName, newsletterHeading, newsletterHeadingClassName, newsletterDescription, resolvedBackground, newsletterDescriptionClassName, form, formConfig?.endpoint, formMethod, formClassName, renderFormFields]);
|
|
1390
1416
|
const renderLinks = React.useMemo(() => {
|
|
1391
1417
|
if (linksSlot) return linksSlot;
|
|
1392
1418
|
if (!links || links.length === 0) return null;
|
|
@@ -1396,12 +1422,13 @@ function LinkPageNewsletterSocial({
|
|
|
1396
1422
|
icon,
|
|
1397
1423
|
children,
|
|
1398
1424
|
className: linkItemClassName,
|
|
1425
|
+
iconName,
|
|
1399
1426
|
...pressableProps
|
|
1400
1427
|
} = link;
|
|
1401
|
-
const iconElement = icon || (
|
|
1428
|
+
const iconElement = icon || (iconName ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1402
1429
|
DynamicIcon,
|
|
1403
1430
|
{
|
|
1404
|
-
name:
|
|
1431
|
+
name: iconName,
|
|
1405
1432
|
size: 18,
|
|
1406
1433
|
className: linkIconClassName
|
|
1407
1434
|
}
|
|
@@ -1413,7 +1440,7 @@ function LinkPageNewsletterSocial({
|
|
|
1413
1440
|
className: cn(
|
|
1414
1441
|
"flex w-full items-center gap-3 rounded-xl px-4 py-3 transition-all duration-200",
|
|
1415
1442
|
"hover:scale-[1.02] active:scale-[0.98]",
|
|
1416
|
-
|
|
1443
|
+
"border border-border bg-card hover:opacity-80",
|
|
1417
1444
|
linkClassName,
|
|
1418
1445
|
linkItemClassName
|
|
1419
1446
|
),
|
|
@@ -1429,7 +1456,7 @@ function LinkPageNewsletterSocial({
|
|
|
1429
1456
|
className: cn(
|
|
1430
1457
|
"flex w-full items-center gap-3 rounded-xl px-4 py-3 transition-all duration-200",
|
|
1431
1458
|
"hover:scale-[1.02] active:scale-[0.98]",
|
|
1432
|
-
|
|
1459
|
+
"border border-border bg-card hover:opacity-80",
|
|
1433
1460
|
linkClassName,
|
|
1434
1461
|
linkItemClassName
|
|
1435
1462
|
),
|
|
@@ -1450,7 +1477,7 @@ function LinkPageNewsletterSocial({
|
|
|
1450
1477
|
"span",
|
|
1451
1478
|
{
|
|
1452
1479
|
className: cn(
|
|
1453
|
-
"
|
|
1480
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1454
1481
|
linkChevronClassName
|
|
1455
1482
|
),
|
|
1456
1483
|
children: resolvedChevronIcon
|
|
@@ -1461,7 +1488,7 @@ function LinkPageNewsletterSocial({
|
|
|
1461
1488
|
link.id ?? index
|
|
1462
1489
|
);
|
|
1463
1490
|
}) });
|
|
1464
|
-
}, [linksSlot, links, linksClassName, linkIconClassName,
|
|
1491
|
+
}, [linksSlot, links, linksClassName, linkIconClassName, resolvedBackground, linkClassName, linkLabelClassName, linkChevronClassName, resolvedChevronIcon]);
|
|
1465
1492
|
const renderFooter = React.useMemo(() => {
|
|
1466
1493
|
if (footerSlot) return footerSlot;
|
|
1467
1494
|
if (!footerAction) return null;
|
|
@@ -1480,7 +1507,8 @@ function LinkPageNewsletterSocial({
|
|
|
1480
1507
|
{
|
|
1481
1508
|
className: cn(
|
|
1482
1509
|
"flex items-center justify-center gap-1.5 text-xs transition-opacity hover:opacity-80",
|
|
1483
|
-
"
|
|
1510
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1511
|
+
"opacity-50",
|
|
1484
1512
|
footerClassName,
|
|
1485
1513
|
actionClassName
|
|
1486
1514
|
),
|
|
@@ -1492,16 +1520,13 @@ function LinkPageNewsletterSocial({
|
|
|
1492
1520
|
] })
|
|
1493
1521
|
}
|
|
1494
1522
|
);
|
|
1495
|
-
}, [footerSlot, footerAction,
|
|
1523
|
+
}, [footerSlot, footerAction, resolvedBackground, footerClassName]);
|
|
1496
1524
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1497
1525
|
Section,
|
|
1498
1526
|
{
|
|
1499
1527
|
background: resolvedBackground,
|
|
1500
1528
|
spacing,
|
|
1501
|
-
className
|
|
1502
|
-
isDark ? "bg-foreground" : "bg-gradient-to-b from-background to-muted/30",
|
|
1503
|
-
className
|
|
1504
|
-
),
|
|
1529
|
+
className,
|
|
1505
1530
|
pattern,
|
|
1506
1531
|
patternOpacity,
|
|
1507
1532
|
patternClassName,
|
|
@@ -197,10 +197,6 @@ interface LinkPageNewsletterSocialProps {
|
|
|
197
197
|
* Additional CSS classes for the footer
|
|
198
198
|
*/
|
|
199
199
|
footerClassName?: string;
|
|
200
|
-
/**
|
|
201
|
-
* Theme variation: "light" or "dark"
|
|
202
|
-
*/
|
|
203
|
-
theme?: "light" | "dark";
|
|
204
200
|
/**
|
|
205
201
|
* Background style for the section
|
|
206
202
|
*/
|
|
@@ -317,6 +313,6 @@ interface LinkPageNewsletterSocialProps {
|
|
|
317
313
|
* />
|
|
318
314
|
* ```
|
|
319
315
|
*/
|
|
320
|
-
declare function LinkPageNewsletterSocial({ name, bio, avatar, avatarUrl, profileSlot, newsletterHeading, newsletterDescription, emailPlaceholder, buttonText, submitAction, newsletterSlot, formSlot, submittingLabel, submittingIcon, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, containerClassName, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, formClassName, inputClassName, submitButtonClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName,
|
|
316
|
+
declare function LinkPageNewsletterSocial({ name, bio, avatar, avatarUrl, profileSlot, newsletterHeading, newsletterDescription, emailPlaceholder, buttonText, submitAction, newsletterSlot, formSlot, submittingLabel, submittingIcon, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, containerClassName, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, formClassName, inputClassName, submitButtonClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName, background, spacing, pattern, patternOpacity, patternClassName, formConfig, onSubmit, onSuccess, onError, optixFlowConfig, }: LinkPageNewsletterSocialProps): React.JSX.Element;
|
|
321
317
|
|
|
322
318
|
export { LinkPageNewsletterSocial, type LinkPageNewsletterSocialProps, type NewsletterSocialLink, type NewsletterSocialSocialLink };
|
|
@@ -197,10 +197,6 @@ interface LinkPageNewsletterSocialProps {
|
|
|
197
197
|
* Additional CSS classes for the footer
|
|
198
198
|
*/
|
|
199
199
|
footerClassName?: string;
|
|
200
|
-
/**
|
|
201
|
-
* Theme variation: "light" or "dark"
|
|
202
|
-
*/
|
|
203
|
-
theme?: "light" | "dark";
|
|
204
200
|
/**
|
|
205
201
|
* Background style for the section
|
|
206
202
|
*/
|
|
@@ -317,6 +313,6 @@ interface LinkPageNewsletterSocialProps {
|
|
|
317
313
|
* />
|
|
318
314
|
* ```
|
|
319
315
|
*/
|
|
320
|
-
declare function LinkPageNewsletterSocial({ name, bio, avatar, avatarUrl, profileSlot, newsletterHeading, newsletterDescription, emailPlaceholder, buttonText, submitAction, newsletterSlot, formSlot, submittingLabel, submittingIcon, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, containerClassName, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, formClassName, inputClassName, submitButtonClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName,
|
|
316
|
+
declare function LinkPageNewsletterSocial({ name, bio, avatar, avatarUrl, profileSlot, newsletterHeading, newsletterDescription, emailPlaceholder, buttonText, submitAction, newsletterSlot, formSlot, submittingLabel, submittingIcon, links, linksSlot, linkChevronIcon, socialLinks, socialLinksSlot, footerAction, footerSlot, className, containerClassName, contentClassName, headerClassName, avatarClassName, nameClassName, bioClassName, socialLinksClassName, socialLinkClassName, socialIconClassName, newsletterCardClassName, newsletterHeadingClassName, newsletterDescriptionClassName, formClassName, inputClassName, submitButtonClassName, linksClassName, linkClassName, linkIconClassName, linkLabelClassName, linkChevronClassName, footerClassName, background, spacing, pattern, patternOpacity, patternClassName, formConfig, onSubmit, onSuccess, onError, optixFlowConfig, }: LinkPageNewsletterSocialProps): React.JSX.Element;
|
|
321
317
|
|
|
322
318
|
export { LinkPageNewsletterSocial, type LinkPageNewsletterSocialProps, type NewsletterSocialLink, type NewsletterSocialSocialLink };
|
|
@@ -45,6 +45,32 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
45
45
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
46
46
|
return isDark ? "text-foreground" : "";
|
|
47
47
|
}
|
|
48
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
49
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
50
|
+
if (isDark) {
|
|
51
|
+
switch (variant) {
|
|
52
|
+
case "default":
|
|
53
|
+
return "text-foreground";
|
|
54
|
+
case "muted":
|
|
55
|
+
return "text-foreground/80";
|
|
56
|
+
case "subtle":
|
|
57
|
+
return "text-foreground/60";
|
|
58
|
+
case "accent":
|
|
59
|
+
return "text-accent-foreground";
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
switch (variant) {
|
|
63
|
+
case "default":
|
|
64
|
+
return "text-foreground";
|
|
65
|
+
case "muted":
|
|
66
|
+
return "text-muted-foreground";
|
|
67
|
+
case "subtle":
|
|
68
|
+
return "text-muted-foreground/70";
|
|
69
|
+
case "accent":
|
|
70
|
+
return "text-primary";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
48
74
|
function normalizePhoneNumber(input) {
|
|
49
75
|
const trimmed = input.trim();
|
|
50
76
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -1110,8 +1136,7 @@ function LinkPageNewsletterSocial({
|
|
|
1110
1136
|
linkLabelClassName,
|
|
1111
1137
|
linkChevronClassName,
|
|
1112
1138
|
footerClassName,
|
|
1113
|
-
|
|
1114
|
-
background,
|
|
1139
|
+
background = "white",
|
|
1115
1140
|
spacing,
|
|
1116
1141
|
pattern,
|
|
1117
1142
|
patternOpacity,
|
|
@@ -1122,8 +1147,7 @@ function LinkPageNewsletterSocial({
|
|
|
1122
1147
|
onError,
|
|
1123
1148
|
optixFlowConfig
|
|
1124
1149
|
}) {
|
|
1125
|
-
const
|
|
1126
|
-
const resolvedBackground = background ?? (isDark ? "dark" : "white");
|
|
1150
|
+
const resolvedBackground = background;
|
|
1127
1151
|
const resolvedAvatar = avatar || (avatarUrl ? {
|
|
1128
1152
|
src: avatarUrl,
|
|
1129
1153
|
alt: typeof name === "string" ? name : "Profile avatar"
|
|
@@ -1217,7 +1241,8 @@ function LinkPageNewsletterSocial({
|
|
|
1217
1241
|
"p",
|
|
1218
1242
|
{
|
|
1219
1243
|
className: cn(
|
|
1220
|
-
"max-w-xs text-sm
|
|
1244
|
+
"max-w-xs text-sm",
|
|
1245
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1221
1246
|
bioClassName
|
|
1222
1247
|
),
|
|
1223
1248
|
children: bio
|
|
@@ -1227,7 +1252,7 @@ function LinkPageNewsletterSocial({
|
|
|
1227
1252
|
]
|
|
1228
1253
|
}
|
|
1229
1254
|
);
|
|
1230
|
-
}, [profileSlot, resolvedAvatar, avatarClassName, optixFlowConfig, name,
|
|
1255
|
+
}, [profileSlot, resolvedAvatar, avatarClassName, optixFlowConfig, name, resolvedBackground, nameClassName, bio, bioClassName, headerClassName]);
|
|
1231
1256
|
const renderSocialLinks = useMemo(() => {
|
|
1232
1257
|
if (socialLinksSlot) return socialLinksSlot;
|
|
1233
1258
|
if (!socialLinks || socialLinks.length === 0) return null;
|
|
@@ -1239,10 +1264,11 @@ function LinkPageNewsletterSocial({
|
|
|
1239
1264
|
socialLinksClassName
|
|
1240
1265
|
),
|
|
1241
1266
|
children: socialLinks.map((social, index) => {
|
|
1242
|
-
const
|
|
1267
|
+
const { iconName, ...socialPressableProps } = social;
|
|
1268
|
+
const icon = social.icon || (iconName ? /* @__PURE__ */ jsx(
|
|
1243
1269
|
DynamicIcon,
|
|
1244
1270
|
{
|
|
1245
|
-
name:
|
|
1271
|
+
name: iconName,
|
|
1246
1272
|
size: 20,
|
|
1247
1273
|
className: socialIconClassName
|
|
1248
1274
|
}
|
|
@@ -1251,14 +1277,14 @@ function LinkPageNewsletterSocial({
|
|
|
1251
1277
|
return /* @__PURE__ */ jsx(
|
|
1252
1278
|
Pressable,
|
|
1253
1279
|
{
|
|
1254
|
-
|
|
1280
|
+
...socialPressableProps,
|
|
1255
1281
|
"aria-label": ariaLabel,
|
|
1256
1282
|
className: cn(
|
|
1257
1283
|
"rounded-full p-2.5 transition-all duration-200",
|
|
1258
1284
|
"hover:scale-110 active:scale-95",
|
|
1259
1285
|
getNestedCardBg(resolvedBackground),
|
|
1260
1286
|
getNestedCardTextColor(resolvedBackground),
|
|
1261
|
-
|
|
1287
|
+
"hover:opacity-80",
|
|
1262
1288
|
socialLinkClassName,
|
|
1263
1289
|
social.className
|
|
1264
1290
|
),
|
|
@@ -1269,7 +1295,7 @@ function LinkPageNewsletterSocial({
|
|
|
1269
1295
|
})
|
|
1270
1296
|
}
|
|
1271
1297
|
);
|
|
1272
|
-
}, [socialLinksSlot, socialLinks, socialLinksClassName, socialIconClassName,
|
|
1298
|
+
}, [socialLinksSlot, socialLinks, socialLinksClassName, socialIconClassName, resolvedBackground, socialLinkClassName]);
|
|
1273
1299
|
const renderFormFields = useMemo(() => {
|
|
1274
1300
|
if (formSlot) return formSlot;
|
|
1275
1301
|
const {
|
|
@@ -1290,7 +1316,6 @@ function LinkPageNewsletterSocial({
|
|
|
1290
1316
|
error: meta.touched && !!meta.error,
|
|
1291
1317
|
className: cn(
|
|
1292
1318
|
"w-full",
|
|
1293
|
-
isDark && "border-border/20 bg-muted/10 placeholder:text-muted-foreground/50",
|
|
1294
1319
|
inputClassName
|
|
1295
1320
|
),
|
|
1296
1321
|
"aria-label": emailPlaceholder || "Email address"
|
|
@@ -1318,7 +1343,7 @@ function LinkPageNewsletterSocial({
|
|
|
1318
1343
|
}
|
|
1319
1344
|
)
|
|
1320
1345
|
] });
|
|
1321
|
-
}, [formSlot, resolvedSubmitAction, emailPlaceholder,
|
|
1346
|
+
}, [formSlot, resolvedSubmitAction, emailPlaceholder, inputClassName, submitButtonClassName, form.isSubmitting, submittingIcon, submittingLabel]);
|
|
1322
1347
|
const renderNewsletter = useMemo(() => {
|
|
1323
1348
|
if (newsletterSlot) return newsletterSlot;
|
|
1324
1349
|
return /* @__PURE__ */ jsxs(
|
|
@@ -1326,7 +1351,7 @@ function LinkPageNewsletterSocial({
|
|
|
1326
1351
|
{
|
|
1327
1352
|
className: cn(
|
|
1328
1353
|
"space-y-4 rounded-2xl p-6",
|
|
1329
|
-
|
|
1354
|
+
"border border-border bg-card shadow-sm",
|
|
1330
1355
|
newsletterCardClassName
|
|
1331
1356
|
),
|
|
1332
1357
|
children: [
|
|
@@ -1345,7 +1370,8 @@ function LinkPageNewsletterSocial({
|
|
|
1345
1370
|
"p",
|
|
1346
1371
|
{
|
|
1347
1372
|
className: cn(
|
|
1348
|
-
"text-sm
|
|
1373
|
+
"text-sm",
|
|
1374
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1349
1375
|
newsletterDescriptionClassName
|
|
1350
1376
|
),
|
|
1351
1377
|
children: newsletterDescription
|
|
@@ -1365,7 +1391,7 @@ function LinkPageNewsletterSocial({
|
|
|
1365
1391
|
]
|
|
1366
1392
|
}
|
|
1367
1393
|
);
|
|
1368
|
-
}, [newsletterSlot,
|
|
1394
|
+
}, [newsletterSlot, newsletterCardClassName, newsletterHeading, newsletterHeadingClassName, newsletterDescription, resolvedBackground, newsletterDescriptionClassName, form, formConfig?.endpoint, formMethod, formClassName, renderFormFields]);
|
|
1369
1395
|
const renderLinks = useMemo(() => {
|
|
1370
1396
|
if (linksSlot) return linksSlot;
|
|
1371
1397
|
if (!links || links.length === 0) return null;
|
|
@@ -1375,12 +1401,13 @@ function LinkPageNewsletterSocial({
|
|
|
1375
1401
|
icon,
|
|
1376
1402
|
children,
|
|
1377
1403
|
className: linkItemClassName,
|
|
1404
|
+
iconName,
|
|
1378
1405
|
...pressableProps
|
|
1379
1406
|
} = link;
|
|
1380
|
-
const iconElement = icon || (
|
|
1407
|
+
const iconElement = icon || (iconName ? /* @__PURE__ */ jsx(
|
|
1381
1408
|
DynamicIcon,
|
|
1382
1409
|
{
|
|
1383
|
-
name:
|
|
1410
|
+
name: iconName,
|
|
1384
1411
|
size: 18,
|
|
1385
1412
|
className: linkIconClassName
|
|
1386
1413
|
}
|
|
@@ -1392,7 +1419,7 @@ function LinkPageNewsletterSocial({
|
|
|
1392
1419
|
className: cn(
|
|
1393
1420
|
"flex w-full items-center gap-3 rounded-xl px-4 py-3 transition-all duration-200",
|
|
1394
1421
|
"hover:scale-[1.02] active:scale-[0.98]",
|
|
1395
|
-
|
|
1422
|
+
"border border-border bg-card hover:opacity-80",
|
|
1396
1423
|
linkClassName,
|
|
1397
1424
|
linkItemClassName
|
|
1398
1425
|
),
|
|
@@ -1408,7 +1435,7 @@ function LinkPageNewsletterSocial({
|
|
|
1408
1435
|
className: cn(
|
|
1409
1436
|
"flex w-full items-center gap-3 rounded-xl px-4 py-3 transition-all duration-200",
|
|
1410
1437
|
"hover:scale-[1.02] active:scale-[0.98]",
|
|
1411
|
-
|
|
1438
|
+
"border border-border bg-card hover:opacity-80",
|
|
1412
1439
|
linkClassName,
|
|
1413
1440
|
linkItemClassName
|
|
1414
1441
|
),
|
|
@@ -1429,7 +1456,7 @@ function LinkPageNewsletterSocial({
|
|
|
1429
1456
|
"span",
|
|
1430
1457
|
{
|
|
1431
1458
|
className: cn(
|
|
1432
|
-
"
|
|
1459
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1433
1460
|
linkChevronClassName
|
|
1434
1461
|
),
|
|
1435
1462
|
children: resolvedChevronIcon
|
|
@@ -1440,7 +1467,7 @@ function LinkPageNewsletterSocial({
|
|
|
1440
1467
|
link.id ?? index
|
|
1441
1468
|
);
|
|
1442
1469
|
}) });
|
|
1443
|
-
}, [linksSlot, links, linksClassName, linkIconClassName,
|
|
1470
|
+
}, [linksSlot, links, linksClassName, linkIconClassName, resolvedBackground, linkClassName, linkLabelClassName, linkChevronClassName, resolvedChevronIcon]);
|
|
1444
1471
|
const renderFooter = useMemo(() => {
|
|
1445
1472
|
if (footerSlot) return footerSlot;
|
|
1446
1473
|
if (!footerAction) return null;
|
|
@@ -1459,7 +1486,8 @@ function LinkPageNewsletterSocial({
|
|
|
1459
1486
|
{
|
|
1460
1487
|
className: cn(
|
|
1461
1488
|
"flex items-center justify-center gap-1.5 text-xs transition-opacity hover:opacity-80",
|
|
1462
|
-
"
|
|
1489
|
+
getTextColor(resolvedBackground, "muted"),
|
|
1490
|
+
"opacity-50",
|
|
1463
1491
|
footerClassName,
|
|
1464
1492
|
actionClassName
|
|
1465
1493
|
),
|
|
@@ -1471,16 +1499,13 @@ function LinkPageNewsletterSocial({
|
|
|
1471
1499
|
] })
|
|
1472
1500
|
}
|
|
1473
1501
|
);
|
|
1474
|
-
}, [footerSlot, footerAction,
|
|
1502
|
+
}, [footerSlot, footerAction, resolvedBackground, footerClassName]);
|
|
1475
1503
|
return /* @__PURE__ */ jsx(
|
|
1476
1504
|
Section,
|
|
1477
1505
|
{
|
|
1478
1506
|
background: resolvedBackground,
|
|
1479
1507
|
spacing,
|
|
1480
|
-
className
|
|
1481
|
-
isDark ? "bg-foreground" : "bg-gradient-to-b from-background to-muted/30",
|
|
1482
|
-
className
|
|
1483
|
-
),
|
|
1508
|
+
className,
|
|
1484
1509
|
pattern,
|
|
1485
1510
|
patternOpacity,
|
|
1486
1511
|
patternClassName,
|