@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
|
@@ -41,6 +41,36 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
41
41
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
42
42
|
return isDark ? "text-foreground" : "";
|
|
43
43
|
}
|
|
44
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
45
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
46
|
+
if (isDark) {
|
|
47
|
+
switch (variant) {
|
|
48
|
+
case "default":
|
|
49
|
+
return "text-foreground";
|
|
50
|
+
case "muted":
|
|
51
|
+
return "text-foreground/80";
|
|
52
|
+
case "subtle":
|
|
53
|
+
return "text-foreground/60";
|
|
54
|
+
case "accent":
|
|
55
|
+
return "text-accent-foreground";
|
|
56
|
+
}
|
|
57
|
+
} else {
|
|
58
|
+
switch (variant) {
|
|
59
|
+
case "default":
|
|
60
|
+
return "text-foreground";
|
|
61
|
+
case "muted":
|
|
62
|
+
return "text-muted-foreground";
|
|
63
|
+
case "subtle":
|
|
64
|
+
return "text-muted-foreground/70";
|
|
65
|
+
case "accent":
|
|
66
|
+
return "text-primary";
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function getAccentColor(parentBg, options) {
|
|
71
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
72
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
73
|
+
}
|
|
44
74
|
function normalizePhoneNumber(input) {
|
|
45
75
|
const trimmed = input.trim();
|
|
46
76
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -1009,7 +1039,10 @@ function AboutStartupTeam({
|
|
|
1009
1039
|
onClick: () => handleTabChange(link.value),
|
|
1010
1040
|
className: cn(
|
|
1011
1041
|
"block w-full text-left rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
1012
|
-
activeTab === link.value ? "bg-primary text-primary-foreground" :
|
|
1042
|
+
activeTab === link.value ? "bg-primary text-primary-foreground" : cn(
|
|
1043
|
+
getTextColor(background, "muted"),
|
|
1044
|
+
"hover:bg-muted"
|
|
1045
|
+
)
|
|
1013
1046
|
),
|
|
1014
1047
|
children: link.label
|
|
1015
1048
|
},
|
|
@@ -1051,17 +1084,20 @@ function AboutStartupTeam({
|
|
|
1051
1084
|
{
|
|
1052
1085
|
name: "lucide/user",
|
|
1053
1086
|
size: 40,
|
|
1054
|
-
className: "
|
|
1087
|
+
className: cn(getTextColor(background, "muted"))
|
|
1055
1088
|
}
|
|
1056
1089
|
) }),
|
|
1057
1090
|
member.name && (typeof member.name === "string" ? /* @__PURE__ */ jsx("h3", { className: "mt-4 font-semibold", children: member.name }) : /* @__PURE__ */ jsx("div", { className: "mt-4", children: member.name })),
|
|
1058
|
-
member.role && (typeof member.role === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm
|
|
1091
|
+
member.role && (typeof member.role === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: member.role }) : /* @__PURE__ */ jsx("div", { className: "text-sm", children: member.role })),
|
|
1059
1092
|
member.socialLinks && member.socialLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-4 flex justify-center gap-3", children: member.socialLinks.map((link, linkIdx) => /* @__PURE__ */ jsx(
|
|
1060
1093
|
Pressable,
|
|
1061
1094
|
{
|
|
1062
1095
|
href: link.url,
|
|
1063
1096
|
"aria-label": link.label,
|
|
1064
|
-
className:
|
|
1097
|
+
className: cn(
|
|
1098
|
+
getTextColor(background, "muted"),
|
|
1099
|
+
`hover:${getAccentColor(background)}`
|
|
1100
|
+
),
|
|
1065
1101
|
children: link.icon
|
|
1066
1102
|
},
|
|
1067
1103
|
linkIdx
|
|
@@ -1086,7 +1122,11 @@ function AboutStartupTeam({
|
|
|
1086
1122
|
onClick: () => handleTabChange(link.value),
|
|
1087
1123
|
className: cn(
|
|
1088
1124
|
"shrink-0 rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
1089
|
-
activeTab === link.value ? "bg-primary text-primary-foreground" :
|
|
1125
|
+
activeTab === link.value ? "bg-primary text-primary-foreground" : cn(
|
|
1126
|
+
"bg-muted",
|
|
1127
|
+
getTextColor(background, "muted"),
|
|
1128
|
+
"hover:bg-muted/80"
|
|
1129
|
+
)
|
|
1090
1130
|
),
|
|
1091
1131
|
children: link.label
|
|
1092
1132
|
},
|
|
@@ -1127,7 +1167,8 @@ function AboutStartupTeam({
|
|
|
1127
1167
|
"p",
|
|
1128
1168
|
{
|
|
1129
1169
|
className: cn(
|
|
1130
|
-
"mt-6 text-lg
|
|
1170
|
+
"mt-6 text-lg whitespace-pre-line",
|
|
1171
|
+
getTextColor(background, "muted"),
|
|
1131
1172
|
descriptionClassName
|
|
1132
1173
|
),
|
|
1133
1174
|
children: description
|
|
@@ -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
|
var maxWidthStyles = {
|
|
49
75
|
sm: "max-w-screen-sm",
|
|
50
76
|
md: "max-w-screen-md",
|
|
@@ -477,7 +503,7 @@ function AboutStatsShowcase({
|
|
|
477
503
|
className: cn("grid grid-cols-2 gap-6 md:grid-cols-3", statsClassName),
|
|
478
504
|
children: stats.map((stat, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 border-b pb-8", children: [
|
|
479
505
|
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-4xl font-medium md:text-5xl", children: stat.value }) : stat.value),
|
|
480
|
-
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
506
|
+
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: stat.label }) : stat.label)
|
|
481
507
|
] }, idx))
|
|
482
508
|
}
|
|
483
509
|
);
|
|
@@ -564,7 +590,7 @@ function AboutStatsShowcase({
|
|
|
564
590
|
), children: [
|
|
565
591
|
benefit.stat.value && (typeof benefit.stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-4xl font-medium", children: benefit.stat.value }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: benefit.stat.value })),
|
|
566
592
|
benefit.stat.label && (typeof benefit.stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-6 font-semibold", children: benefit.stat.label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6", children: benefit.stat.label })),
|
|
567
|
-
benefit.stat.description && (typeof benefit.stat.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
593
|
+
benefit.stat.description && (typeof benefit.stat.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: benefit.stat.description }) : benefit.stat.description)
|
|
568
594
|
] }),
|
|
569
595
|
benefit.testimonial && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl bg-background p-4", children: [
|
|
570
596
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-2", children: [
|
|
@@ -585,7 +611,7 @@ function AboutStatsShowcase({
|
|
|
585
611
|
benefit.testimonial.author,
|
|
586
612
|
","
|
|
587
613
|
] }) : benefit.testimonial.author),
|
|
588
|
-
benefit.testimonial.role && (typeof benefit.testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm
|
|
614
|
+
benefit.testimonial.role && (typeof benefit.testimonial.role === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-sm", getTextColor(background, "muted")), children: benefit.testimonial.role }) : benefit.testimonial.role)
|
|
589
615
|
] })
|
|
590
616
|
] })
|
|
591
617
|
] }, idx))
|
|
@@ -626,7 +652,8 @@ function AboutStatsShowcase({
|
|
|
626
652
|
"p",
|
|
627
653
|
{
|
|
628
654
|
className: cn(
|
|
629
|
-
"text-lg
|
|
655
|
+
"text-lg md:text-xl text-balance",
|
|
656
|
+
getTextColor(background, "muted"),
|
|
630
657
|
descriptionClassName
|
|
631
658
|
),
|
|
632
659
|
children: description
|
|
@@ -39,6 +39,32 @@ 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
|
+
}
|
|
42
68
|
var maxWidthStyles = {
|
|
43
69
|
sm: "max-w-screen-sm",
|
|
44
70
|
md: "max-w-screen-md",
|
|
@@ -471,7 +497,7 @@ function AboutStatsShowcase({
|
|
|
471
497
|
className: cn("grid grid-cols-2 gap-6 md:grid-cols-3", statsClassName),
|
|
472
498
|
children: stats.map((stat, idx) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6 border-b pb-8", children: [
|
|
473
499
|
stat.value && (typeof stat.value === "string" ? /* @__PURE__ */ jsx("p", { className: "text-4xl font-medium md:text-5xl", children: stat.value }) : stat.value),
|
|
474
|
-
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
500
|
+
stat.label && (typeof stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: stat.label }) : stat.label)
|
|
475
501
|
] }, idx))
|
|
476
502
|
}
|
|
477
503
|
);
|
|
@@ -558,7 +584,7 @@ function AboutStatsShowcase({
|
|
|
558
584
|
), children: [
|
|
559
585
|
benefit.stat.value && (typeof benefit.stat.value === "string" ? /* @__PURE__ */ jsx("p", { className: "mb-2 text-4xl font-medium", children: benefit.stat.value }) : /* @__PURE__ */ jsx("div", { className: "mb-2", children: benefit.stat.value })),
|
|
560
586
|
benefit.stat.label && (typeof benefit.stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: "mb-6 font-semibold", children: benefit.stat.label }) : /* @__PURE__ */ jsx("div", { className: "mb-6", children: benefit.stat.label })),
|
|
561
|
-
benefit.stat.description && (typeof benefit.stat.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
587
|
+
benefit.stat.description && (typeof benefit.stat.description === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: benefit.stat.description }) : benefit.stat.description)
|
|
562
588
|
] }),
|
|
563
589
|
benefit.testimonial && /* @__PURE__ */ jsxs("div", { className: "rounded-xl bg-background p-4", children: [
|
|
564
590
|
/* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-2", children: [
|
|
@@ -579,7 +605,7 @@ function AboutStatsShowcase({
|
|
|
579
605
|
benefit.testimonial.author,
|
|
580
606
|
","
|
|
581
607
|
] }) : benefit.testimonial.author),
|
|
582
|
-
benefit.testimonial.role && (typeof benefit.testimonial.role === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm
|
|
608
|
+
benefit.testimonial.role && (typeof benefit.testimonial.role === "string" ? /* @__PURE__ */ jsx("span", { className: cn("text-sm", getTextColor(background, "muted")), children: benefit.testimonial.role }) : benefit.testimonial.role)
|
|
583
609
|
] })
|
|
584
610
|
] })
|
|
585
611
|
] }, idx))
|
|
@@ -620,7 +646,8 @@ function AboutStatsShowcase({
|
|
|
620
646
|
"p",
|
|
621
647
|
{
|
|
622
648
|
className: cn(
|
|
623
|
-
"text-lg
|
|
649
|
+
"text-lg md:text-xl text-balance",
|
|
650
|
+
getTextColor(background, "muted"),
|
|
624
651
|
descriptionClassName
|
|
625
652
|
),
|
|
626
653
|
children: description
|
|
@@ -44,6 +44,32 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
44
44
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
45
45
|
return isDark ? "text-foreground" : "";
|
|
46
46
|
}
|
|
47
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
48
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
49
|
+
if (isDark) {
|
|
50
|
+
switch (variant) {
|
|
51
|
+
case "default":
|
|
52
|
+
return "text-foreground";
|
|
53
|
+
case "muted":
|
|
54
|
+
return "text-foreground/80";
|
|
55
|
+
case "subtle":
|
|
56
|
+
return "text-foreground/60";
|
|
57
|
+
case "accent":
|
|
58
|
+
return "text-accent-foreground";
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
switch (variant) {
|
|
62
|
+
case "default":
|
|
63
|
+
return "text-foreground";
|
|
64
|
+
case "muted":
|
|
65
|
+
return "text-muted-foreground";
|
|
66
|
+
case "subtle":
|
|
67
|
+
return "text-muted-foreground/70";
|
|
68
|
+
case "accent":
|
|
69
|
+
return "text-primary";
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
47
73
|
var maxWidthStyles = {
|
|
48
74
|
sm: "max-w-screen-sm",
|
|
49
75
|
md: "max-w-screen-md",
|
|
@@ -449,7 +475,7 @@ function AboutStatsSidebar({
|
|
|
449
475
|
stat.icon,
|
|
450
476
|
typeof stat.value === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-4xl font-bold", children: stat.value }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4", children: stat.value }),
|
|
451
477
|
typeof stat.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 font-semibold", children: stat.label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: stat.label }),
|
|
452
|
-
stat.description && (typeof stat.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm
|
|
478
|
+
stat.description && (typeof stat.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-2 text-sm", getTextColor(background, "muted")), children: stat.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: stat.description }))
|
|
453
479
|
] }, idx)) });
|
|
454
480
|
}, [statsSlot, stats, statsClassName]);
|
|
455
481
|
const featuresContent = React.useMemo(() => {
|
|
@@ -459,7 +485,7 @@ function AboutStatsSidebar({
|
|
|
459
485
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-12 w-12 shrink-0 items-center justify-center rounded-lg bg-primary/10", feature.iconBgClass), children: feature.icon }),
|
|
460
486
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
461
487
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold", children: feature.title }) : feature.title),
|
|
462
|
-
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
488
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: feature.description }) : feature.description)
|
|
463
489
|
] })
|
|
464
490
|
] }, idx)) });
|
|
465
491
|
}, [featuresSlot, features, featuresClassName]);
|
|
@@ -475,7 +501,7 @@ function AboutStatsSidebar({
|
|
|
475
501
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-12 lg:grid-cols-3", children: [
|
|
476
502
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:sticky lg:top-24 lg:self-start", sidebarClassName), children: [
|
|
477
503
|
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold tracking-tight md:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
478
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg
|
|
504
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
|
|
479
505
|
] }),
|
|
480
506
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-2", children: [
|
|
481
507
|
(statsSlot || stats && stats.length > 0) && statsContent,
|
|
@@ -38,6 +38,32 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
38
38
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
39
39
|
return isDark ? "text-foreground" : "";
|
|
40
40
|
}
|
|
41
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
42
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
43
|
+
if (isDark) {
|
|
44
|
+
switch (variant) {
|
|
45
|
+
case "default":
|
|
46
|
+
return "text-foreground";
|
|
47
|
+
case "muted":
|
|
48
|
+
return "text-foreground/80";
|
|
49
|
+
case "subtle":
|
|
50
|
+
return "text-foreground/60";
|
|
51
|
+
case "accent":
|
|
52
|
+
return "text-accent-foreground";
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
switch (variant) {
|
|
56
|
+
case "default":
|
|
57
|
+
return "text-foreground";
|
|
58
|
+
case "muted":
|
|
59
|
+
return "text-muted-foreground";
|
|
60
|
+
case "subtle":
|
|
61
|
+
return "text-muted-foreground/70";
|
|
62
|
+
case "accent":
|
|
63
|
+
return "text-primary";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
41
67
|
var maxWidthStyles = {
|
|
42
68
|
sm: "max-w-screen-sm",
|
|
43
69
|
md: "max-w-screen-md",
|
|
@@ -443,7 +469,7 @@ function AboutStatsSidebar({
|
|
|
443
469
|
stat.icon,
|
|
444
470
|
typeof stat.value === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-4 text-4xl font-bold", children: stat.value }) : /* @__PURE__ */ jsx("div", { className: "mt-4", children: stat.value }),
|
|
445
471
|
typeof stat.label === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-1 font-semibold", children: stat.label }) : /* @__PURE__ */ jsx("div", { className: "mt-1", children: stat.label }),
|
|
446
|
-
stat.description && (typeof stat.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm
|
|
472
|
+
stat.description && (typeof stat.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-2 text-sm", getTextColor(background, "muted")), children: stat.description }) : /* @__PURE__ */ jsx("div", { className: "mt-2", children: stat.description }))
|
|
447
473
|
] }, idx)) });
|
|
448
474
|
}, [statsSlot, stats, statsClassName]);
|
|
449
475
|
const featuresContent = useMemo(() => {
|
|
@@ -453,7 +479,7 @@ function AboutStatsSidebar({
|
|
|
453
479
|
/* @__PURE__ */ jsx("div", { className: cn("flex h-12 w-12 shrink-0 items-center justify-center rounded-lg bg-primary/10", feature.iconBgClass), children: feature.icon }),
|
|
454
480
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
455
481
|
feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "font-semibold", children: feature.title }) : feature.title),
|
|
456
|
-
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
482
|
+
feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: feature.description }) : feature.description)
|
|
457
483
|
] })
|
|
458
484
|
] }, idx)) });
|
|
459
485
|
}, [featuresSlot, features, featuresClassName]);
|
|
@@ -469,7 +495,7 @@ function AboutStatsSidebar({
|
|
|
469
495
|
children: /* @__PURE__ */ jsxs("div", { className: "grid gap-12 lg:grid-cols-3", children: [
|
|
470
496
|
/* @__PURE__ */ jsxs("div", { className: cn("lg:sticky lg:top-24 lg:self-start", sidebarClassName), children: [
|
|
471
497
|
title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold tracking-tight md:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
472
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg
|
|
498
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description }))
|
|
473
499
|
] }),
|
|
474
500
|
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-2", children: [
|
|
475
501
|
(statsSlot || stats && stats.length > 0) && statsContent,
|
|
@@ -59,6 +59,36 @@ function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
63
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
64
|
+
if (isDark) {
|
|
65
|
+
switch (variant) {
|
|
66
|
+
case "default":
|
|
67
|
+
return "text-foreground";
|
|
68
|
+
case "muted":
|
|
69
|
+
return "text-foreground/80";
|
|
70
|
+
case "subtle":
|
|
71
|
+
return "text-foreground/60";
|
|
72
|
+
case "accent":
|
|
73
|
+
return "text-accent-foreground";
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
switch (variant) {
|
|
77
|
+
case "default":
|
|
78
|
+
return "text-foreground";
|
|
79
|
+
case "muted":
|
|
80
|
+
return "text-muted-foreground";
|
|
81
|
+
case "subtle":
|
|
82
|
+
return "text-muted-foreground/70";
|
|
83
|
+
case "accent":
|
|
84
|
+
return "text-primary";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function getAccentColor(parentBg, options) {
|
|
89
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
90
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
91
|
+
}
|
|
62
92
|
function normalizePhoneNumber(input) {
|
|
63
93
|
const trimmed = input.trim();
|
|
64
94
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -886,7 +916,7 @@ function AboutStoryExpertise({
|
|
|
886
916
|
const storyContent = React.useMemo(() => {
|
|
887
917
|
if (storySlot) return storySlot;
|
|
888
918
|
if (!storyParagraphs || storyParagraphs.length === 0) return null;
|
|
889
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-4
|
|
919
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-4", getTextColor(background, "muted"), storyClassName), children: storyParagraphs.map(
|
|
890
920
|
(paragraph, idx) => typeof paragraph === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: paragraph }, idx) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: paragraph }, idx)
|
|
891
921
|
) });
|
|
892
922
|
}, [storySlot, storyParagraphs, storyClassName]);
|
|
@@ -919,11 +949,11 @@ function AboutStoryExpertise({
|
|
|
919
949
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center gap-4", children: [
|
|
920
950
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-primary text-primary-foreground", children: highlight.icon }),
|
|
921
951
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
922
|
-
highlight.label && (typeof highlight.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.2em]
|
|
952
|
+
highlight.label && (typeof highlight.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs font-semibold uppercase tracking-[0.2em]", getTextColor(background, "muted")), children: highlight.label }) : highlight.label),
|
|
923
953
|
highlight.title && (typeof highlight.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold", children: highlight.title }) : highlight.title)
|
|
924
954
|
] })
|
|
925
955
|
] }),
|
|
926
|
-
highlight.description && (typeof highlight.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm
|
|
956
|
+
highlight.description && (typeof highlight.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: highlight.description }) : highlight.description)
|
|
927
957
|
]
|
|
928
958
|
}
|
|
929
959
|
);
|
|
@@ -947,10 +977,14 @@ function AboutStoryExpertise({
|
|
|
947
977
|
transition: { duration: 0.3, delay: idx * 0.05 },
|
|
948
978
|
className: "flex items-start gap-4 rounded-2xl bg-background p-6 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg",
|
|
949
979
|
children: [
|
|
950
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
980
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
981
|
+
"flex h-12 w-12 items-center justify-center rounded-xl",
|
|
982
|
+
getNestedCardBg(background, "muted"),
|
|
983
|
+
getAccentColor(background)
|
|
984
|
+
), children: area.icon }),
|
|
951
985
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
952
986
|
area.title && (typeof area.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-bold", children: area.title }) : area.title),
|
|
953
|
-
area.description && (typeof area.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm
|
|
987
|
+
area.description && (typeof area.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1 text-sm", getTextColor(background, "muted")), children: area.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: area.description }))
|
|
954
988
|
] })
|
|
955
989
|
]
|
|
956
990
|
},
|
|
@@ -983,7 +1017,8 @@ function AboutStoryExpertise({
|
|
|
983
1017
|
"p",
|
|
984
1018
|
{
|
|
985
1019
|
className: cn(
|
|
986
|
-
"text-sm font-semibold uppercase tracking-[0.2em]
|
|
1020
|
+
"text-sm font-semibold uppercase tracking-[0.2em]",
|
|
1021
|
+
getAccentColor(background),
|
|
987
1022
|
eyebrowClassName
|
|
988
1023
|
),
|
|
989
1024
|
children: eyebrow
|
|
@@ -1048,7 +1083,7 @@ function AboutStoryExpertise({
|
|
|
1048
1083
|
),
|
|
1049
1084
|
children: [
|
|
1050
1085
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
|
|
1051
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold uppercase tracking-[0.2em]
|
|
1086
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm font-semibold uppercase tracking-[0.2em]", getAccentColor(background)), children: "Our Expertise" }),
|
|
1052
1087
|
expertiseHeading && (typeof expertiseHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1053
1088
|
"h3",
|
|
1054
1089
|
{
|
|
@@ -1063,7 +1098,8 @@ function AboutStoryExpertise({
|
|
|
1063
1098
|
"p",
|
|
1064
1099
|
{
|
|
1065
1100
|
className: cn(
|
|
1066
|
-
"mx-auto mt-3 max-w-2xl
|
|
1101
|
+
"mx-auto mt-3 max-w-2xl",
|
|
1102
|
+
getTextColor(background, "muted"),
|
|
1067
1103
|
expertiseDescriptionClassName
|
|
1068
1104
|
),
|
|
1069
1105
|
children: expertiseDescription
|
|
@@ -38,6 +38,36 @@ function getNestedCardBg(parentBg, variant = "muted", options) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
42
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
43
|
+
if (isDark) {
|
|
44
|
+
switch (variant) {
|
|
45
|
+
case "default":
|
|
46
|
+
return "text-foreground";
|
|
47
|
+
case "muted":
|
|
48
|
+
return "text-foreground/80";
|
|
49
|
+
case "subtle":
|
|
50
|
+
return "text-foreground/60";
|
|
51
|
+
case "accent":
|
|
52
|
+
return "text-accent-foreground";
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
switch (variant) {
|
|
56
|
+
case "default":
|
|
57
|
+
return "text-foreground";
|
|
58
|
+
case "muted":
|
|
59
|
+
return "text-muted-foreground";
|
|
60
|
+
case "subtle":
|
|
61
|
+
return "text-muted-foreground/70";
|
|
62
|
+
case "accent":
|
|
63
|
+
return "text-primary";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function getAccentColor(parentBg, options) {
|
|
68
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
69
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
70
|
+
}
|
|
41
71
|
function normalizePhoneNumber(input) {
|
|
42
72
|
const trimmed = input.trim();
|
|
43
73
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -865,7 +895,7 @@ function AboutStoryExpertise({
|
|
|
865
895
|
const storyContent = useMemo(() => {
|
|
866
896
|
if (storySlot) return storySlot;
|
|
867
897
|
if (!storyParagraphs || storyParagraphs.length === 0) return null;
|
|
868
|
-
return /* @__PURE__ */ jsx("div", { className: cn("space-y-4
|
|
898
|
+
return /* @__PURE__ */ jsx("div", { className: cn("space-y-4", getTextColor(background, "muted"), storyClassName), children: storyParagraphs.map(
|
|
869
899
|
(paragraph, idx) => typeof paragraph === "string" ? /* @__PURE__ */ jsx("p", { children: paragraph }, idx) : /* @__PURE__ */ jsx("div", { children: paragraph }, idx)
|
|
870
900
|
) });
|
|
871
901
|
}, [storySlot, storyParagraphs, storyClassName]);
|
|
@@ -898,11 +928,11 @@ function AboutStoryExpertise({
|
|
|
898
928
|
/* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-center gap-4", children: [
|
|
899
929
|
/* @__PURE__ */ jsx("div", { className: "flex h-12 w-12 items-center justify-center rounded-full bg-primary text-primary-foreground", children: highlight.icon }),
|
|
900
930
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
901
|
-
highlight.label && (typeof highlight.label === "string" ? /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.2em]
|
|
931
|
+
highlight.label && (typeof highlight.label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xs font-semibold uppercase tracking-[0.2em]", getTextColor(background, "muted")), children: highlight.label }) : highlight.label),
|
|
902
932
|
highlight.title && (typeof highlight.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: highlight.title }) : highlight.title)
|
|
903
933
|
] })
|
|
904
934
|
] }),
|
|
905
|
-
highlight.description && (typeof highlight.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm
|
|
935
|
+
highlight.description && (typeof highlight.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: highlight.description }) : highlight.description)
|
|
906
936
|
]
|
|
907
937
|
}
|
|
908
938
|
);
|
|
@@ -926,10 +956,14 @@ function AboutStoryExpertise({
|
|
|
926
956
|
transition: { duration: 0.3, delay: idx * 0.05 },
|
|
927
957
|
className: "flex items-start gap-4 rounded-2xl bg-background p-6 shadow-sm transition-all duration-300 hover:-translate-y-1 hover:shadow-lg",
|
|
928
958
|
children: [
|
|
929
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
959
|
+
/* @__PURE__ */ jsx("div", { className: cn(
|
|
960
|
+
"flex h-12 w-12 items-center justify-center rounded-xl",
|
|
961
|
+
getNestedCardBg(background, "muted"),
|
|
962
|
+
getAccentColor(background)
|
|
963
|
+
), children: area.icon }),
|
|
930
964
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
931
965
|
area.title && (typeof area.title === "string" ? /* @__PURE__ */ jsx("h4", { className: "text-lg font-bold", children: area.title }) : area.title),
|
|
932
|
-
area.description && (typeof area.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm
|
|
966
|
+
area.description && (typeof area.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 text-sm", getTextColor(background, "muted")), children: area.description }) : /* @__PURE__ */ jsx("div", { className: "mt-1", children: area.description }))
|
|
933
967
|
] })
|
|
934
968
|
]
|
|
935
969
|
},
|
|
@@ -962,7 +996,8 @@ function AboutStoryExpertise({
|
|
|
962
996
|
"p",
|
|
963
997
|
{
|
|
964
998
|
className: cn(
|
|
965
|
-
"text-sm font-semibold uppercase tracking-[0.2em]
|
|
999
|
+
"text-sm font-semibold uppercase tracking-[0.2em]",
|
|
1000
|
+
getAccentColor(background),
|
|
966
1001
|
eyebrowClassName
|
|
967
1002
|
),
|
|
968
1003
|
children: eyebrow
|
|
@@ -1027,7 +1062,7 @@ function AboutStoryExpertise({
|
|
|
1027
1062
|
),
|
|
1028
1063
|
children: [
|
|
1029
1064
|
/* @__PURE__ */ jsxs("div", { className: "text-center", children: [
|
|
1030
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm font-semibold uppercase tracking-[0.2em]
|
|
1065
|
+
/* @__PURE__ */ jsx("p", { className: cn("text-sm font-semibold uppercase tracking-[0.2em]", getAccentColor(background)), children: "Our Expertise" }),
|
|
1031
1066
|
expertiseHeading && (typeof expertiseHeading === "string" ? /* @__PURE__ */ jsx(
|
|
1032
1067
|
"h3",
|
|
1033
1068
|
{
|
|
@@ -1042,7 +1077,8 @@ function AboutStoryExpertise({
|
|
|
1042
1077
|
"p",
|
|
1043
1078
|
{
|
|
1044
1079
|
className: cn(
|
|
1045
|
-
"mx-auto mt-3 max-w-2xl
|
|
1080
|
+
"mx-auto mt-3 max-w-2xl",
|
|
1081
|
+
getTextColor(background, "muted"),
|
|
1046
1082
|
expertiseDescriptionClassName
|
|
1047
1083
|
),
|
|
1048
1084
|
children: expertiseDescription
|
|
@@ -15,6 +15,32 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
|
15
15
|
function cn(...inputs) {
|
|
16
16
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
17
17
|
}
|
|
18
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
19
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
20
|
+
if (isDark) {
|
|
21
|
+
switch (variant) {
|
|
22
|
+
case "default":
|
|
23
|
+
return "text-foreground";
|
|
24
|
+
case "muted":
|
|
25
|
+
return "text-foreground/80";
|
|
26
|
+
case "subtle":
|
|
27
|
+
return "text-foreground/60";
|
|
28
|
+
case "accent":
|
|
29
|
+
return "text-accent-foreground";
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
switch (variant) {
|
|
33
|
+
case "default":
|
|
34
|
+
return "text-foreground";
|
|
35
|
+
case "muted":
|
|
36
|
+
return "text-muted-foreground";
|
|
37
|
+
case "subtle":
|
|
38
|
+
return "text-muted-foreground/70";
|
|
39
|
+
case "accent":
|
|
40
|
+
return "text-primary";
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
18
44
|
var maxWidthStyles = {
|
|
19
45
|
sm: "max-w-screen-sm",
|
|
20
46
|
md: "max-w-screen-md",
|
|
@@ -457,7 +483,8 @@ function AboutStoryGallery({
|
|
|
457
483
|
"p",
|
|
458
484
|
{
|
|
459
485
|
className: cn(
|
|
460
|
-
"mt-6 text-lg
|
|
486
|
+
"mt-6 text-lg whitespace-pre-line text-balance",
|
|
487
|
+
getTextColor(background, "muted"),
|
|
461
488
|
descriptionClassName
|
|
462
489
|
),
|
|
463
490
|
children: description
|