@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
|
@@ -32,6 +32,32 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
32
32
|
function cn(...inputs) {
|
|
33
33
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
34
34
|
}
|
|
35
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
36
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
37
|
+
if (isDark) {
|
|
38
|
+
switch (variant) {
|
|
39
|
+
case "default":
|
|
40
|
+
return "text-foreground";
|
|
41
|
+
case "muted":
|
|
42
|
+
return "text-foreground/80";
|
|
43
|
+
case "subtle":
|
|
44
|
+
return "text-foreground/60";
|
|
45
|
+
case "accent":
|
|
46
|
+
return "text-accent-foreground";
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
switch (variant) {
|
|
50
|
+
case "default":
|
|
51
|
+
return "text-foreground";
|
|
52
|
+
case "muted":
|
|
53
|
+
return "text-muted-foreground";
|
|
54
|
+
case "subtle":
|
|
55
|
+
return "text-muted-foreground/70";
|
|
56
|
+
case "accent":
|
|
57
|
+
return "text-primary";
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
35
61
|
function normalizePhoneNumber(input) {
|
|
36
62
|
const trimmed = input.trim();
|
|
37
63
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -908,7 +934,8 @@ function AboutMissionDualImage({
|
|
|
908
934
|
"p",
|
|
909
935
|
{
|
|
910
936
|
className: cn(
|
|
911
|
-
"mt-4 text-lg
|
|
937
|
+
"mt-4 text-lg",
|
|
938
|
+
getTextColor(background, "muted"),
|
|
912
939
|
missionContentClassName
|
|
913
940
|
),
|
|
914
941
|
children: missionContent
|
|
@@ -930,7 +957,8 @@ function AboutMissionDualImage({
|
|
|
930
957
|
"p",
|
|
931
958
|
{
|
|
932
959
|
className: cn(
|
|
933
|
-
"mt-4 text-lg
|
|
960
|
+
"mt-4 text-lg",
|
|
961
|
+
getTextColor(background, "muted"),
|
|
934
962
|
visionContentClassName
|
|
935
963
|
),
|
|
936
964
|
children: visionContent
|
|
@@ -11,6 +11,32 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
11
11
|
function cn(...inputs) {
|
|
12
12
|
return twMerge(clsx(inputs));
|
|
13
13
|
}
|
|
14
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
15
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
16
|
+
if (isDark) {
|
|
17
|
+
switch (variant) {
|
|
18
|
+
case "default":
|
|
19
|
+
return "text-foreground";
|
|
20
|
+
case "muted":
|
|
21
|
+
return "text-foreground/80";
|
|
22
|
+
case "subtle":
|
|
23
|
+
return "text-foreground/60";
|
|
24
|
+
case "accent":
|
|
25
|
+
return "text-accent-foreground";
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
switch (variant) {
|
|
29
|
+
case "default":
|
|
30
|
+
return "text-foreground";
|
|
31
|
+
case "muted":
|
|
32
|
+
return "text-muted-foreground";
|
|
33
|
+
case "subtle":
|
|
34
|
+
return "text-muted-foreground/70";
|
|
35
|
+
case "accent":
|
|
36
|
+
return "text-primary";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
14
40
|
function normalizePhoneNumber(input) {
|
|
15
41
|
const trimmed = input.trim();
|
|
16
42
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -887,7 +913,8 @@ function AboutMissionDualImage({
|
|
|
887
913
|
"p",
|
|
888
914
|
{
|
|
889
915
|
className: cn(
|
|
890
|
-
"mt-4 text-lg
|
|
916
|
+
"mt-4 text-lg",
|
|
917
|
+
getTextColor(background, "muted"),
|
|
891
918
|
missionContentClassName
|
|
892
919
|
),
|
|
893
920
|
children: missionContent
|
|
@@ -909,7 +936,8 @@ function AboutMissionDualImage({
|
|
|
909
936
|
"p",
|
|
910
937
|
{
|
|
911
938
|
className: cn(
|
|
912
|
-
"mt-4 text-lg
|
|
939
|
+
"mt-4 text-lg",
|
|
940
|
+
getTextColor(background, "muted"),
|
|
913
941
|
visionContentClassName
|
|
914
942
|
),
|
|
915
943
|
children: visionContent
|
|
@@ -45,6 +45,36 @@ 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
|
+
}
|
|
74
|
+
function getAccentColor(parentBg, options) {
|
|
75
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
76
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
77
|
+
}
|
|
48
78
|
var maxWidthStyles = {
|
|
49
79
|
sm: "max-w-screen-sm",
|
|
50
80
|
md: "max-w-screen-md",
|
|
@@ -456,16 +486,17 @@ function AboutMissionFeatures({
|
|
|
456
486
|
"div",
|
|
457
487
|
{
|
|
458
488
|
className: cn(
|
|
459
|
-
"mb-5 flex size-12 items-center justify-center rounded-2xl
|
|
489
|
+
"mb-5 flex size-12 items-center justify-center rounded-2xl text-primary-foreground",
|
|
490
|
+
getAccentColor(background),
|
|
460
491
|
feature.iconBgClass
|
|
461
492
|
),
|
|
462
493
|
children: feature.icon
|
|
463
494
|
}
|
|
464
495
|
),
|
|
465
496
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-2 mb-3 text-lg font-semibold", children: feature.title }) : feature.title),
|
|
466
|
-
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
497
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: feature.description }) : feature.description)
|
|
467
498
|
] }, idx));
|
|
468
|
-
}, [featuresSlot, features]);
|
|
499
|
+
}, [featuresSlot, features, background]);
|
|
469
500
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
470
501
|
Section,
|
|
471
502
|
{
|
|
@@ -563,7 +594,8 @@ function AboutMissionFeatures({
|
|
|
563
594
|
"p",
|
|
564
595
|
{
|
|
565
596
|
className: cn(
|
|
566
|
-
"text-lg
|
|
597
|
+
"text-lg",
|
|
598
|
+
getTextColor(background, "muted"),
|
|
567
599
|
featuresDescriptionClassName
|
|
568
600
|
),
|
|
569
601
|
children: featuresDescription
|
|
@@ -39,6 +39,36 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
39
39
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
40
40
|
return isDark ? "text-foreground" : "";
|
|
41
41
|
}
|
|
42
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
43
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
44
|
+
if (isDark) {
|
|
45
|
+
switch (variant) {
|
|
46
|
+
case "default":
|
|
47
|
+
return "text-foreground";
|
|
48
|
+
case "muted":
|
|
49
|
+
return "text-foreground/80";
|
|
50
|
+
case "subtle":
|
|
51
|
+
return "text-foreground/60";
|
|
52
|
+
case "accent":
|
|
53
|
+
return "text-accent-foreground";
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
switch (variant) {
|
|
57
|
+
case "default":
|
|
58
|
+
return "text-foreground";
|
|
59
|
+
case "muted":
|
|
60
|
+
return "text-muted-foreground";
|
|
61
|
+
case "subtle":
|
|
62
|
+
return "text-muted-foreground/70";
|
|
63
|
+
case "accent":
|
|
64
|
+
return "text-primary";
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function getAccentColor(parentBg, options) {
|
|
69
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
70
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
71
|
+
}
|
|
42
72
|
var maxWidthStyles = {
|
|
43
73
|
sm: "max-w-screen-sm",
|
|
44
74
|
md: "max-w-screen-md",
|
|
@@ -450,16 +480,17 @@ function AboutMissionFeatures({
|
|
|
450
480
|
"div",
|
|
451
481
|
{
|
|
452
482
|
className: cn(
|
|
453
|
-
"mb-5 flex size-12 items-center justify-center rounded-2xl
|
|
483
|
+
"mb-5 flex size-12 items-center justify-center rounded-2xl text-primary-foreground",
|
|
484
|
+
getAccentColor(background),
|
|
454
485
|
feature.iconBgClass
|
|
455
486
|
),
|
|
456
487
|
children: feature.icon
|
|
457
488
|
}
|
|
458
489
|
),
|
|
459
490
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mt-2 mb-3 text-lg font-semibold", children: feature.title }) : feature.title),
|
|
460
|
-
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
491
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: feature.description }) : feature.description)
|
|
461
492
|
] }, idx));
|
|
462
|
-
}, [featuresSlot, features]);
|
|
493
|
+
}, [featuresSlot, features, background]);
|
|
463
494
|
return /* @__PURE__ */ jsx(
|
|
464
495
|
Section,
|
|
465
496
|
{
|
|
@@ -557,7 +588,8 @@ function AboutMissionFeatures({
|
|
|
557
588
|
"p",
|
|
558
589
|
{
|
|
559
590
|
className: cn(
|
|
560
|
-
"text-lg
|
|
591
|
+
"text-lg",
|
|
592
|
+
getTextColor(background, "muted"),
|
|
561
593
|
featuresDescriptionClassName
|
|
562
594
|
),
|
|
563
595
|
children: featuresDescription
|
|
@@ -61,6 +61,36 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
61
61
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
62
62
|
return isDark ? "text-foreground" : "";
|
|
63
63
|
}
|
|
64
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
65
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
66
|
+
if (isDark) {
|
|
67
|
+
switch (variant) {
|
|
68
|
+
case "default":
|
|
69
|
+
return "text-foreground";
|
|
70
|
+
case "muted":
|
|
71
|
+
return "text-foreground/80";
|
|
72
|
+
case "subtle":
|
|
73
|
+
return "text-foreground/60";
|
|
74
|
+
case "accent":
|
|
75
|
+
return "text-accent-foreground";
|
|
76
|
+
}
|
|
77
|
+
} else {
|
|
78
|
+
switch (variant) {
|
|
79
|
+
case "default":
|
|
80
|
+
return "text-foreground";
|
|
81
|
+
case "muted":
|
|
82
|
+
return "text-muted-foreground";
|
|
83
|
+
case "subtle":
|
|
84
|
+
return "text-muted-foreground/70";
|
|
85
|
+
case "accent":
|
|
86
|
+
return "text-primary";
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function getAccentColor(parentBg, options) {
|
|
91
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
92
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
93
|
+
}
|
|
64
94
|
function normalizePhoneNumber(input) {
|
|
65
95
|
const trimmed = input.trim();
|
|
66
96
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -1024,12 +1054,12 @@ function AboutMissionPrinciples({
|
|
|
1024
1054
|
children: principles.map((principle, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1025
1055
|
"div",
|
|
1026
1056
|
{
|
|
1027
|
-
className: "relative rounded-lg border p-6 transition-colors hover
|
|
1057
|
+
className: cn("relative rounded-lg border p-6 transition-colors", `hover:${getNestedCardBg(background, "muted")}`),
|
|
1028
1058
|
children: [
|
|
1029
|
-
principle.number && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-4 top-4 text-3xl font-bold
|
|
1059
|
+
principle.number && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute right-4 top-4 text-3xl font-bold", getAccentColor(background), "opacity-20"), children: principle.number }),
|
|
1030
1060
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1031
1061
|
principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-bold", children: principle.title }) : principle.title),
|
|
1032
|
-
principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
1062
|
+
principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: principle.description }) : principle.description)
|
|
1033
1063
|
] })
|
|
1034
1064
|
]
|
|
1035
1065
|
},
|
|
@@ -1080,7 +1110,8 @@ function AboutMissionPrinciples({
|
|
|
1080
1110
|
"div",
|
|
1081
1111
|
{
|
|
1082
1112
|
className: cn(
|
|
1083
|
-
"inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm
|
|
1113
|
+
"inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm",
|
|
1114
|
+
getAccentColor(background),
|
|
1084
1115
|
badgeClassName
|
|
1085
1116
|
),
|
|
1086
1117
|
children: badgeText
|
|
@@ -1100,7 +1131,8 @@ function AboutMissionPrinciples({
|
|
|
1100
1131
|
"p",
|
|
1101
1132
|
{
|
|
1102
1133
|
className: cn(
|
|
1103
|
-
"text-xl
|
|
1134
|
+
"text-xl",
|
|
1135
|
+
getTextColor(background, "muted"),
|
|
1104
1136
|
missionDescriptionClassName
|
|
1105
1137
|
),
|
|
1106
1138
|
children: missionDescription
|
|
@@ -1135,7 +1167,8 @@ function AboutMissionPrinciples({
|
|
|
1135
1167
|
"p",
|
|
1136
1168
|
{
|
|
1137
1169
|
className: cn(
|
|
1138
|
-
"mb-4
|
|
1170
|
+
"mb-4",
|
|
1171
|
+
getTextColor(background, "muted"),
|
|
1139
1172
|
visionDescriptionClassName
|
|
1140
1173
|
),
|
|
1141
1174
|
children: visionDescription
|
|
@@ -40,6 +40,36 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
40
40
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
41
41
|
return isDark ? "text-foreground" : "";
|
|
42
42
|
}
|
|
43
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
44
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
45
|
+
if (isDark) {
|
|
46
|
+
switch (variant) {
|
|
47
|
+
case "default":
|
|
48
|
+
return "text-foreground";
|
|
49
|
+
case "muted":
|
|
50
|
+
return "text-foreground/80";
|
|
51
|
+
case "subtle":
|
|
52
|
+
return "text-foreground/60";
|
|
53
|
+
case "accent":
|
|
54
|
+
return "text-accent-foreground";
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
switch (variant) {
|
|
58
|
+
case "default":
|
|
59
|
+
return "text-foreground";
|
|
60
|
+
case "muted":
|
|
61
|
+
return "text-muted-foreground";
|
|
62
|
+
case "subtle":
|
|
63
|
+
return "text-muted-foreground/70";
|
|
64
|
+
case "accent":
|
|
65
|
+
return "text-primary";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function getAccentColor(parentBg, options) {
|
|
70
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
71
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
72
|
+
}
|
|
43
73
|
function normalizePhoneNumber(input) {
|
|
44
74
|
const trimmed = input.trim();
|
|
45
75
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -1003,12 +1033,12 @@ function AboutMissionPrinciples({
|
|
|
1003
1033
|
children: principles.map((principle, idx) => /* @__PURE__ */ jsxs(
|
|
1004
1034
|
"div",
|
|
1005
1035
|
{
|
|
1006
|
-
className: "relative rounded-lg border p-6 transition-colors hover
|
|
1036
|
+
className: cn("relative rounded-lg border p-6 transition-colors", `hover:${getNestedCardBg(background, "muted")}`),
|
|
1007
1037
|
children: [
|
|
1008
|
-
principle.number && /* @__PURE__ */ jsx("div", { className: "absolute right-4 top-4 text-3xl font-bold
|
|
1038
|
+
principle.number && /* @__PURE__ */ jsx("div", { className: cn("absolute right-4 top-4 text-3xl font-bold", getAccentColor(background), "opacity-20"), children: principle.number }),
|
|
1009
1039
|
/* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
1010
1040
|
principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-xl font-bold", children: principle.title }) : principle.title),
|
|
1011
|
-
principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
1041
|
+
principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: principle.description }) : principle.description)
|
|
1012
1042
|
] })
|
|
1013
1043
|
]
|
|
1014
1044
|
},
|
|
@@ -1059,7 +1089,8 @@ function AboutMissionPrinciples({
|
|
|
1059
1089
|
"div",
|
|
1060
1090
|
{
|
|
1061
1091
|
className: cn(
|
|
1062
|
-
"inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm
|
|
1092
|
+
"inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm",
|
|
1093
|
+
getAccentColor(background),
|
|
1063
1094
|
badgeClassName
|
|
1064
1095
|
),
|
|
1065
1096
|
children: badgeText
|
|
@@ -1079,7 +1110,8 @@ function AboutMissionPrinciples({
|
|
|
1079
1110
|
"p",
|
|
1080
1111
|
{
|
|
1081
1112
|
className: cn(
|
|
1082
|
-
"text-xl
|
|
1113
|
+
"text-xl",
|
|
1114
|
+
getTextColor(background, "muted"),
|
|
1083
1115
|
missionDescriptionClassName
|
|
1084
1116
|
),
|
|
1085
1117
|
children: missionDescription
|
|
@@ -1114,7 +1146,8 @@ function AboutMissionPrinciples({
|
|
|
1114
1146
|
"p",
|
|
1115
1147
|
{
|
|
1116
1148
|
className: cn(
|
|
1117
|
-
"mb-4
|
|
1149
|
+
"mb-4",
|
|
1150
|
+
getTextColor(background, "muted"),
|
|
1118
1151
|
visionDescriptionClassName
|
|
1119
1152
|
),
|
|
1120
1153
|
children: visionDescription
|
|
@@ -33,6 +33,32 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
33
33
|
function cn(...inputs) {
|
|
34
34
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
35
35
|
}
|
|
36
|
+
function getAccentColor(parentBg, options) {
|
|
37
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
38
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
39
|
+
}
|
|
40
|
+
function getBorderColor(parentBg, variant = "default", options) {
|
|
41
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
42
|
+
if (isDark) {
|
|
43
|
+
switch (variant) {
|
|
44
|
+
case "default":
|
|
45
|
+
return "border-foreground/20";
|
|
46
|
+
case "muted":
|
|
47
|
+
return "border-foreground/10";
|
|
48
|
+
case "accent":
|
|
49
|
+
return "border-accent-foreground";
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
switch (variant) {
|
|
53
|
+
case "default":
|
|
54
|
+
return "border-border";
|
|
55
|
+
case "muted":
|
|
56
|
+
return "border-muted";
|
|
57
|
+
case "accent":
|
|
58
|
+
return "border-primary";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
36
62
|
var svgCache = /* @__PURE__ */ new Map();
|
|
37
63
|
function DynamicIcon({
|
|
38
64
|
name,
|
|
@@ -961,7 +987,7 @@ function AboutNetworkSpotlight({
|
|
|
961
987
|
if (highlightsSlot) return highlightsSlot;
|
|
962
988
|
if (!highlights || highlights.length === 0) return null;
|
|
963
989
|
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-6 space-y-3", highlightsClassName), children: highlights.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-3 text-background/80", children: [
|
|
964
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20
|
|
990
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20", getAccentColor(background)), children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 14 }) }),
|
|
965
991
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: item })
|
|
966
992
|
] }, index)) });
|
|
967
993
|
}, [highlightsSlot, highlights, highlightsClassName]);
|
|
@@ -991,14 +1017,15 @@ function AboutNetworkSpotlight({
|
|
|
991
1017
|
"div",
|
|
992
1018
|
{
|
|
993
1019
|
className: cn(
|
|
994
|
-
"rounded-2xl border
|
|
1020
|
+
"rounded-2xl border bg-foreground/80 p-5 backdrop-blur-sm",
|
|
1021
|
+
getBorderColor(background, "accent"),
|
|
995
1022
|
spotlightCardClassName
|
|
996
1023
|
),
|
|
997
1024
|
children: [
|
|
998
1025
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
|
|
999
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full
|
|
1026
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-12 w-12 items-center justify-center rounded-full text-primary-foreground", getAccentColor(background)), children: spotlightCard.icon }),
|
|
1000
1027
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1001
|
-
typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold uppercase tracking-[0.2em]
|
|
1028
|
+
typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]", getAccentColor(background)), children: spotlightCard.label }) : spotlightCard.label,
|
|
1002
1029
|
typeof spotlightCard.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold text-background", children: spotlightCard.title }) : spotlightCard.title
|
|
1003
1030
|
] })
|
|
1004
1031
|
] }),
|
|
@@ -1057,7 +1084,8 @@ function AboutNetworkSpotlight({
|
|
|
1057
1084
|
"p",
|
|
1058
1085
|
{
|
|
1059
1086
|
className: cn(
|
|
1060
|
-
"text-sm font-semibold uppercase tracking-[0.2em]
|
|
1087
|
+
"text-sm font-semibold uppercase tracking-[0.2em]",
|
|
1088
|
+
getAccentColor(background),
|
|
1061
1089
|
eyebrowClassName
|
|
1062
1090
|
),
|
|
1063
1091
|
children: eyebrow
|
|
@@ -12,6 +12,32 @@ import { cva } from 'class-variance-authority';
|
|
|
12
12
|
function cn(...inputs) {
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
|
+
function getAccentColor(parentBg, options) {
|
|
16
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
17
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
18
|
+
}
|
|
19
|
+
function getBorderColor(parentBg, variant = "default", options) {
|
|
20
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
21
|
+
if (isDark) {
|
|
22
|
+
switch (variant) {
|
|
23
|
+
case "default":
|
|
24
|
+
return "border-foreground/20";
|
|
25
|
+
case "muted":
|
|
26
|
+
return "border-foreground/10";
|
|
27
|
+
case "accent":
|
|
28
|
+
return "border-accent-foreground";
|
|
29
|
+
}
|
|
30
|
+
} else {
|
|
31
|
+
switch (variant) {
|
|
32
|
+
case "default":
|
|
33
|
+
return "border-border";
|
|
34
|
+
case "muted":
|
|
35
|
+
return "border-muted";
|
|
36
|
+
case "accent":
|
|
37
|
+
return "border-primary";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
15
41
|
var svgCache = /* @__PURE__ */ new Map();
|
|
16
42
|
function DynamicIcon({
|
|
17
43
|
name,
|
|
@@ -940,7 +966,7 @@ function AboutNetworkSpotlight({
|
|
|
940
966
|
if (highlightsSlot) return highlightsSlot;
|
|
941
967
|
if (!highlights || highlights.length === 0) return null;
|
|
942
968
|
return /* @__PURE__ */ jsx("ul", { className: cn("mt-6 space-y-3", highlightsClassName), children: highlights.map((item, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-3 text-background/80", children: [
|
|
943
|
-
/* @__PURE__ */ jsx("span", { className: "mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20
|
|
969
|
+
/* @__PURE__ */ jsx("span", { className: cn("mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20", getAccentColor(background)), children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 14 }) }),
|
|
944
970
|
/* @__PURE__ */ jsx("span", { children: item })
|
|
945
971
|
] }, index)) });
|
|
946
972
|
}, [highlightsSlot, highlights, highlightsClassName]);
|
|
@@ -970,14 +996,15 @@ function AboutNetworkSpotlight({
|
|
|
970
996
|
"div",
|
|
971
997
|
{
|
|
972
998
|
className: cn(
|
|
973
|
-
"rounded-2xl border
|
|
999
|
+
"rounded-2xl border bg-foreground/80 p-5 backdrop-blur-sm",
|
|
1000
|
+
getBorderColor(background, "accent"),
|
|
974
1001
|
spotlightCardClassName
|
|
975
1002
|
),
|
|
976
1003
|
children: [
|
|
977
1004
|
/* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
|
|
978
|
-
/* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full
|
|
1005
|
+
/* @__PURE__ */ jsx("div", { className: cn("flex h-12 w-12 items-center justify-center rounded-full text-primary-foreground", getAccentColor(background)), children: spotlightCard.icon }),
|
|
979
1006
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
980
|
-
typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs font-bold uppercase tracking-[0.2em]
|
|
1007
|
+
typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]", getAccentColor(background)), children: spotlightCard.label }) : spotlightCard.label,
|
|
981
1008
|
typeof spotlightCard.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold text-background", children: spotlightCard.title }) : spotlightCard.title
|
|
982
1009
|
] })
|
|
983
1010
|
] }),
|
|
@@ -1036,7 +1063,8 @@ function AboutNetworkSpotlight({
|
|
|
1036
1063
|
"p",
|
|
1037
1064
|
{
|
|
1038
1065
|
className: cn(
|
|
1039
|
-
"text-sm font-semibold uppercase tracking-[0.2em]
|
|
1066
|
+
"text-sm font-semibold uppercase tracking-[0.2em]",
|
|
1067
|
+
getAccentColor(background),
|
|
1040
1068
|
eyebrowClassName
|
|
1041
1069
|
),
|
|
1042
1070
|
children: eyebrow
|
|
@@ -62,6 +62,36 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
62
62
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
63
63
|
return isDark ? "text-foreground" : "";
|
|
64
64
|
}
|
|
65
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
66
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
67
|
+
if (isDark) {
|
|
68
|
+
switch (variant) {
|
|
69
|
+
case "default":
|
|
70
|
+
return "text-foreground";
|
|
71
|
+
case "muted":
|
|
72
|
+
return "text-foreground/80";
|
|
73
|
+
case "subtle":
|
|
74
|
+
return "text-foreground/60";
|
|
75
|
+
case "accent":
|
|
76
|
+
return "text-accent-foreground";
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
switch (variant) {
|
|
80
|
+
case "default":
|
|
81
|
+
return "text-foreground";
|
|
82
|
+
case "muted":
|
|
83
|
+
return "text-muted-foreground";
|
|
84
|
+
case "subtle":
|
|
85
|
+
return "text-muted-foreground/70";
|
|
86
|
+
case "accent":
|
|
87
|
+
return "text-primary";
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function getAccentColor(parentBg, options) {
|
|
92
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
93
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
94
|
+
}
|
|
65
95
|
function normalizePhoneNumber(input) {
|
|
66
96
|
const trimmed = input.trim();
|
|
67
97
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -1030,7 +1060,10 @@ function AboutStartupTeam({
|
|
|
1030
1060
|
onClick: () => handleTabChange(link.value),
|
|
1031
1061
|
className: cn(
|
|
1032
1062
|
"block w-full text-left rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
1033
|
-
activeTab === link.value ? "bg-primary text-primary-foreground" :
|
|
1063
|
+
activeTab === link.value ? "bg-primary text-primary-foreground" : cn(
|
|
1064
|
+
getTextColor(background, "muted"),
|
|
1065
|
+
"hover:bg-muted"
|
|
1066
|
+
)
|
|
1034
1067
|
),
|
|
1035
1068
|
children: link.label
|
|
1036
1069
|
},
|
|
@@ -1072,17 +1105,20 @@ function AboutStartupTeam({
|
|
|
1072
1105
|
{
|
|
1073
1106
|
name: "lucide/user",
|
|
1074
1107
|
size: 40,
|
|
1075
|
-
className: "
|
|
1108
|
+
className: cn(getTextColor(background, "muted"))
|
|
1076
1109
|
}
|
|
1077
1110
|
) }),
|
|
1078
1111
|
member.name && (typeof member.name === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mt-4 font-semibold", children: member.name }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: member.name })),
|
|
1079
|
-
member.role && (typeof member.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm
|
|
1112
|
+
member.role && (typeof member.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: member.role }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm", children: member.role })),
|
|
1080
1113
|
member.socialLinks && member.socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 flex justify-center gap-3", children: member.socialLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1081
1114
|
Pressable,
|
|
1082
1115
|
{
|
|
1083
1116
|
href: link.url,
|
|
1084
1117
|
"aria-label": link.label,
|
|
1085
|
-
className:
|
|
1118
|
+
className: cn(
|
|
1119
|
+
getTextColor(background, "muted"),
|
|
1120
|
+
`hover:${getAccentColor(background)}`
|
|
1121
|
+
),
|
|
1086
1122
|
children: link.icon
|
|
1087
1123
|
},
|
|
1088
1124
|
linkIdx
|
|
@@ -1107,7 +1143,11 @@ function AboutStartupTeam({
|
|
|
1107
1143
|
onClick: () => handleTabChange(link.value),
|
|
1108
1144
|
className: cn(
|
|
1109
1145
|
"shrink-0 rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
1110
|
-
activeTab === link.value ? "bg-primary text-primary-foreground" :
|
|
1146
|
+
activeTab === link.value ? "bg-primary text-primary-foreground" : cn(
|
|
1147
|
+
"bg-muted",
|
|
1148
|
+
getTextColor(background, "muted"),
|
|
1149
|
+
"hover:bg-muted/80"
|
|
1150
|
+
)
|
|
1111
1151
|
),
|
|
1112
1152
|
children: link.label
|
|
1113
1153
|
},
|
|
@@ -1148,7 +1188,8 @@ function AboutStartupTeam({
|
|
|
1148
1188
|
"p",
|
|
1149
1189
|
{
|
|
1150
1190
|
className: cn(
|
|
1151
|
-
"mt-6 text-lg
|
|
1191
|
+
"mt-6 text-lg whitespace-pre-line",
|
|
1192
|
+
getTextColor(background, "muted"),
|
|
1152
1193
|
descriptionClassName
|
|
1153
1194
|
),
|
|
1154
1195
|
children: description
|