@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
|
@@ -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:")) {
|
|
@@ -1029,7 +1059,7 @@ function AboutExpandableValues({
|
|
|
1029
1059
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 rounded-md bg-primary/10 p-3", children: value.icon }),
|
|
1030
1060
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1031
1061
|
value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold", children: value.title }) : value.title),
|
|
1032
|
-
value.shortDescription && (typeof value.shortDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm
|
|
1062
|
+
value.shortDescription && (typeof value.shortDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1 text-sm", getTextColor(background, "muted")), children: value.shortDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: value.shortDescription }))
|
|
1033
1063
|
] })
|
|
1034
1064
|
] }),
|
|
1035
1065
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1038,7 +1068,8 @@ function AboutExpandableValues({
|
|
|
1038
1068
|
name: "lucide/chevron-down",
|
|
1039
1069
|
size: 20,
|
|
1040
1070
|
className: cn(
|
|
1041
|
-
"mt-1 shrink-0
|
|
1071
|
+
"mt-1 shrink-0 transition-transform duration-300",
|
|
1072
|
+
getTextColor(background, "muted"),
|
|
1042
1073
|
expandedValue === value.id ? "rotate-180" : ""
|
|
1043
1074
|
)
|
|
1044
1075
|
}
|
|
@@ -1050,16 +1081,16 @@ function AboutExpandableValues({
|
|
|
1050
1081
|
value.longDescription && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
1051
1082
|
"rounded-lg p-4",
|
|
1052
1083
|
getNestedCardBg(background, "subtle")
|
|
1053
|
-
), children: typeof value.longDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
1084
|
+
), children: typeof value.longDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: value.longDescription }) : value.longDescription }),
|
|
1054
1085
|
value.examples && value.examples.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1055
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "mb-2 text-sm font-semibold
|
|
1086
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: cn("mb-2 text-sm font-semibold", getTextColor(background, "muted")), children: "How we put this into practice:" }),
|
|
1056
1087
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: value.examples.map((example, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2", children: [
|
|
1057
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 flex size-5 shrink-0 items-center justify-center rounded-full
|
|
1088
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-1 flex size-5 shrink-0 items-center justify-center rounded-full", getNestedCardBg(background, "muted")), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1058
1089
|
DynamicIcon,
|
|
1059
1090
|
{
|
|
1060
1091
|
name: "lucide/check",
|
|
1061
1092
|
size: 12,
|
|
1062
|
-
className:
|
|
1093
|
+
className: getAccentColor(background)
|
|
1063
1094
|
}
|
|
1064
1095
|
) }),
|
|
1065
1096
|
typeof example === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm pt-2", children: example }) : example
|
|
@@ -1093,7 +1124,9 @@ function AboutExpandableValues({
|
|
|
1093
1124
|
"div",
|
|
1094
1125
|
{
|
|
1095
1126
|
className: cn(
|
|
1096
|
-
"inline-block rounded-lg
|
|
1127
|
+
"inline-block rounded-lg px-3 py-1 text-sm",
|
|
1128
|
+
getNestedCardBg(background, "muted"),
|
|
1129
|
+
getAccentColor(background),
|
|
1097
1130
|
badgeClassName
|
|
1098
1131
|
),
|
|
1099
1132
|
children: badgeText
|
|
@@ -1113,7 +1146,8 @@ function AboutExpandableValues({
|
|
|
1113
1146
|
"p",
|
|
1114
1147
|
{
|
|
1115
1148
|
className: cn(
|
|
1116
|
-
"text-
|
|
1149
|
+
"text-balance",
|
|
1150
|
+
getTextColor(background, "muted"),
|
|
1117
1151
|
descriptionClassName
|
|
1118
1152
|
),
|
|
1119
1153
|
children: description
|
|
@@ -1137,7 +1171,7 @@ function AboutExpandableValues({
|
|
|
1137
1171
|
ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1138
1172
|
"p",
|
|
1139
1173
|
{
|
|
1140
|
-
className: cn("
|
|
1174
|
+
className: cn(getTextColor(background, "muted"), ctaDescriptionClassName),
|
|
1141
1175
|
children: ctaDescription
|
|
1142
1176
|
}
|
|
1143
1177
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: ctaDescriptionClassName, children: ctaDescription })),
|
|
@@ -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:")) {
|
|
@@ -1008,7 +1038,7 @@ function AboutExpandableValues({
|
|
|
1008
1038
|
/* @__PURE__ */ jsx("div", { className: "shrink-0 rounded-md bg-primary/10 p-3", children: value.icon }),
|
|
1009
1039
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1010
1040
|
value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: value.title }) : value.title),
|
|
1011
|
-
value.shortDescription && (typeof value.shortDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm
|
|
1041
|
+
value.shortDescription && (typeof value.shortDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 text-sm", getTextColor(background, "muted")), children: value.shortDescription }) : /* @__PURE__ */ jsx("div", { className: "mt-1", children: value.shortDescription }))
|
|
1012
1042
|
] })
|
|
1013
1043
|
] }),
|
|
1014
1044
|
/* @__PURE__ */ jsx(
|
|
@@ -1017,7 +1047,8 @@ function AboutExpandableValues({
|
|
|
1017
1047
|
name: "lucide/chevron-down",
|
|
1018
1048
|
size: 20,
|
|
1019
1049
|
className: cn(
|
|
1020
|
-
"mt-1 shrink-0
|
|
1050
|
+
"mt-1 shrink-0 transition-transform duration-300",
|
|
1051
|
+
getTextColor(background, "muted"),
|
|
1021
1052
|
expandedValue === value.id ? "rotate-180" : ""
|
|
1022
1053
|
)
|
|
1023
1054
|
}
|
|
@@ -1029,16 +1060,16 @@ function AboutExpandableValues({
|
|
|
1029
1060
|
value.longDescription && /* @__PURE__ */ jsx("div", { className: cn(
|
|
1030
1061
|
"rounded-lg p-4",
|
|
1031
1062
|
getNestedCardBg(background, "subtle")
|
|
1032
|
-
), children: typeof value.longDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
1063
|
+
), children: typeof value.longDescription === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: value.longDescription }) : value.longDescription }),
|
|
1033
1064
|
value.examples && value.examples.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
1034
|
-
/* @__PURE__ */ jsx("h4", { className: "mb-2 text-sm font-semibold
|
|
1065
|
+
/* @__PURE__ */ jsx("h4", { className: cn("mb-2 text-sm font-semibold", getTextColor(background, "muted")), children: "How we put this into practice:" }),
|
|
1035
1066
|
/* @__PURE__ */ jsx("ul", { className: "space-y-2", children: value.examples.map((example, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2", children: [
|
|
1036
|
-
/* @__PURE__ */ jsx("div", { className: "mt-1 flex size-5 shrink-0 items-center justify-center rounded-full
|
|
1067
|
+
/* @__PURE__ */ jsx("div", { className: cn("mt-1 flex size-5 shrink-0 items-center justify-center rounded-full", getNestedCardBg(background, "muted")), children: /* @__PURE__ */ jsx(
|
|
1037
1068
|
DynamicIcon,
|
|
1038
1069
|
{
|
|
1039
1070
|
name: "lucide/check",
|
|
1040
1071
|
size: 12,
|
|
1041
|
-
className:
|
|
1072
|
+
className: getAccentColor(background)
|
|
1042
1073
|
}
|
|
1043
1074
|
) }),
|
|
1044
1075
|
typeof example === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm pt-2", children: example }) : example
|
|
@@ -1072,7 +1103,9 @@ function AboutExpandableValues({
|
|
|
1072
1103
|
"div",
|
|
1073
1104
|
{
|
|
1074
1105
|
className: cn(
|
|
1075
|
-
"inline-block rounded-lg
|
|
1106
|
+
"inline-block rounded-lg px-3 py-1 text-sm",
|
|
1107
|
+
getNestedCardBg(background, "muted"),
|
|
1108
|
+
getAccentColor(background),
|
|
1076
1109
|
badgeClassName
|
|
1077
1110
|
),
|
|
1078
1111
|
children: badgeText
|
|
@@ -1092,7 +1125,8 @@ function AboutExpandableValues({
|
|
|
1092
1125
|
"p",
|
|
1093
1126
|
{
|
|
1094
1127
|
className: cn(
|
|
1095
|
-
"text-
|
|
1128
|
+
"text-balance",
|
|
1129
|
+
getTextColor(background, "muted"),
|
|
1096
1130
|
descriptionClassName
|
|
1097
1131
|
),
|
|
1098
1132
|
children: description
|
|
@@ -1116,7 +1150,7 @@ function AboutExpandableValues({
|
|
|
1116
1150
|
ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsx(
|
|
1117
1151
|
"p",
|
|
1118
1152
|
{
|
|
1119
|
-
className: cn("
|
|
1153
|
+
className: cn(getTextColor(background, "muted"), ctaDescriptionClassName),
|
|
1120
1154
|
children: ctaDescription
|
|
1121
1155
|
}
|
|
1122
1156
|
) : /* @__PURE__ */ jsx("div", { className: ctaDescriptionClassName, children: ctaDescription })),
|
|
@@ -31,6 +31,58 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
|
31
31
|
function cn(...inputs) {
|
|
32
32
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
33
33
|
}
|
|
34
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
35
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
36
|
+
if (isDark) {
|
|
37
|
+
switch (variant) {
|
|
38
|
+
case "default":
|
|
39
|
+
return "text-foreground";
|
|
40
|
+
case "muted":
|
|
41
|
+
return "text-foreground/80";
|
|
42
|
+
case "subtle":
|
|
43
|
+
return "text-foreground/60";
|
|
44
|
+
case "accent":
|
|
45
|
+
return "text-accent-foreground";
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
switch (variant) {
|
|
49
|
+
case "default":
|
|
50
|
+
return "text-foreground";
|
|
51
|
+
case "muted":
|
|
52
|
+
return "text-muted-foreground";
|
|
53
|
+
case "subtle":
|
|
54
|
+
return "text-muted-foreground/70";
|
|
55
|
+
case "accent":
|
|
56
|
+
return "text-primary";
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function getAccentColor(parentBg, options) {
|
|
61
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
62
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
63
|
+
}
|
|
64
|
+
function getBorderColor(parentBg, variant = "default", options) {
|
|
65
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
66
|
+
if (isDark) {
|
|
67
|
+
switch (variant) {
|
|
68
|
+
case "default":
|
|
69
|
+
return "border-foreground/20";
|
|
70
|
+
case "muted":
|
|
71
|
+
return "border-foreground/10";
|
|
72
|
+
case "accent":
|
|
73
|
+
return "border-accent-foreground";
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
switch (variant) {
|
|
77
|
+
case "default":
|
|
78
|
+
return "border-border";
|
|
79
|
+
case "muted":
|
|
80
|
+
return "border-muted";
|
|
81
|
+
case "accent":
|
|
82
|
+
return "border-primary";
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
34
86
|
var maxWidthStyles = {
|
|
35
87
|
sm: "max-w-screen-sm",
|
|
36
88
|
md: "max-w-screen-md",
|
|
@@ -454,9 +506,14 @@ function AboutInteractiveTabs({
|
|
|
454
506
|
className: cn(
|
|
455
507
|
"flex-shrink-0 whitespace-nowrap px-6 py-3 text-sm font-medium transition-colors",
|
|
456
508
|
activeTab === tab.id ? cn(
|
|
457
|
-
"border-b-2
|
|
509
|
+
"border-b-2",
|
|
510
|
+
getBorderColor(background, "accent"),
|
|
511
|
+
getAccentColor(background),
|
|
458
512
|
activeTabClassName
|
|
459
|
-
) :
|
|
513
|
+
) : cn(
|
|
514
|
+
getTextColor(background, "muted"),
|
|
515
|
+
`hover:${getAccentColor(background)}`
|
|
516
|
+
),
|
|
460
517
|
tabButtonClassName
|
|
461
518
|
),
|
|
462
519
|
children: tab.label
|
|
@@ -485,7 +542,8 @@ function AboutInteractiveTabs({
|
|
|
485
542
|
"p",
|
|
486
543
|
{
|
|
487
544
|
className: cn(
|
|
488
|
-
"mt-4 text-lg
|
|
545
|
+
"mt-4 text-lg",
|
|
546
|
+
getTextColor(background, "muted"),
|
|
489
547
|
tabContentDescriptionClassName
|
|
490
548
|
),
|
|
491
549
|
children: activeContent.description
|
|
@@ -548,7 +606,8 @@ function AboutInteractiveTabs({
|
|
|
548
606
|
"p",
|
|
549
607
|
{
|
|
550
608
|
className: cn(
|
|
551
|
-
"mt-4 text-lg text-
|
|
609
|
+
"mt-4 text-lg text-balance",
|
|
610
|
+
getTextColor(background, "muted"),
|
|
552
611
|
subtitleClassName
|
|
553
612
|
),
|
|
554
613
|
children: subtitle
|
|
@@ -10,6 +10,58 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
10
10
|
function cn(...inputs) {
|
|
11
11
|
return twMerge(clsx(inputs));
|
|
12
12
|
}
|
|
13
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
14
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
15
|
+
if (isDark) {
|
|
16
|
+
switch (variant) {
|
|
17
|
+
case "default":
|
|
18
|
+
return "text-foreground";
|
|
19
|
+
case "muted":
|
|
20
|
+
return "text-foreground/80";
|
|
21
|
+
case "subtle":
|
|
22
|
+
return "text-foreground/60";
|
|
23
|
+
case "accent":
|
|
24
|
+
return "text-accent-foreground";
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
switch (variant) {
|
|
28
|
+
case "default":
|
|
29
|
+
return "text-foreground";
|
|
30
|
+
case "muted":
|
|
31
|
+
return "text-muted-foreground";
|
|
32
|
+
case "subtle":
|
|
33
|
+
return "text-muted-foreground/70";
|
|
34
|
+
case "accent":
|
|
35
|
+
return "text-primary";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function getAccentColor(parentBg, options) {
|
|
40
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
41
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
42
|
+
}
|
|
43
|
+
function getBorderColor(parentBg, variant = "default", options) {
|
|
44
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
45
|
+
if (isDark) {
|
|
46
|
+
switch (variant) {
|
|
47
|
+
case "default":
|
|
48
|
+
return "border-foreground/20";
|
|
49
|
+
case "muted":
|
|
50
|
+
return "border-foreground/10";
|
|
51
|
+
case "accent":
|
|
52
|
+
return "border-accent-foreground";
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
switch (variant) {
|
|
56
|
+
case "default":
|
|
57
|
+
return "border-border";
|
|
58
|
+
case "muted":
|
|
59
|
+
return "border-muted";
|
|
60
|
+
case "accent":
|
|
61
|
+
return "border-primary";
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
13
65
|
var maxWidthStyles = {
|
|
14
66
|
sm: "max-w-screen-sm",
|
|
15
67
|
md: "max-w-screen-md",
|
|
@@ -433,9 +485,14 @@ function AboutInteractiveTabs({
|
|
|
433
485
|
className: cn(
|
|
434
486
|
"flex-shrink-0 whitespace-nowrap px-6 py-3 text-sm font-medium transition-colors",
|
|
435
487
|
activeTab === tab.id ? cn(
|
|
436
|
-
"border-b-2
|
|
488
|
+
"border-b-2",
|
|
489
|
+
getBorderColor(background, "accent"),
|
|
490
|
+
getAccentColor(background),
|
|
437
491
|
activeTabClassName
|
|
438
|
-
) :
|
|
492
|
+
) : cn(
|
|
493
|
+
getTextColor(background, "muted"),
|
|
494
|
+
`hover:${getAccentColor(background)}`
|
|
495
|
+
),
|
|
439
496
|
tabButtonClassName
|
|
440
497
|
),
|
|
441
498
|
children: tab.label
|
|
@@ -464,7 +521,8 @@ function AboutInteractiveTabs({
|
|
|
464
521
|
"p",
|
|
465
522
|
{
|
|
466
523
|
className: cn(
|
|
467
|
-
"mt-4 text-lg
|
|
524
|
+
"mt-4 text-lg",
|
|
525
|
+
getTextColor(background, "muted"),
|
|
468
526
|
tabContentDescriptionClassName
|
|
469
527
|
),
|
|
470
528
|
children: activeContent.description
|
|
@@ -527,7 +585,8 @@ function AboutInteractiveTabs({
|
|
|
527
585
|
"p",
|
|
528
586
|
{
|
|
529
587
|
className: cn(
|
|
530
|
-
"mt-4 text-lg text-
|
|
588
|
+
"mt-4 text-lg text-balance",
|
|
589
|
+
getTextColor(background, "muted"),
|
|
531
590
|
subtitleClassName
|
|
532
591
|
),
|
|
533
592
|
children: subtitle
|
|
@@ -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:")) {
|
|
@@ -1106,11 +1132,11 @@ function AboutLocationInfoHero({
|
|
|
1106
1132
|
}
|
|
1107
1133
|
) : section.label),
|
|
1108
1134
|
section.hours && section.hours.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-x-6 gap-y-1 text-sm", children: section.hours.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
1109
|
-
item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "
|
|
1135
|
+
item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: getTextColor(background, "muted"), children: item.day }) : item.day),
|
|
1110
1136
|
item.time && (typeof item.time === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.time }) : item.time)
|
|
1111
1137
|
] }, itemIndex)) })
|
|
1112
1138
|
] }, sectionIndex)) });
|
|
1113
|
-
}, [hoursSectionsSlot, hoursSections, hoursSectionsClassName, accentColor]);
|
|
1139
|
+
}, [hoursSectionsSlot, hoursSections, hoursSectionsClassName, accentColor, background]);
|
|
1114
1140
|
const imagesContent = React.useMemo(() => {
|
|
1115
1141
|
if (imagesSlot) return imagesSlot;
|
|
1116
1142
|
if (!images || images.length === 0) return null;
|
|
@@ -11,6 +11,32 @@ import { jsx, jsxs } 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:")) {
|
|
@@ -1085,11 +1111,11 @@ function AboutLocationInfoHero({
|
|
|
1085
1111
|
}
|
|
1086
1112
|
) : section.label),
|
|
1087
1113
|
section.hours && section.hours.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-x-6 gap-y-1 text-sm", children: section.hours.map((item, itemIndex) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
|
|
1088
|
-
item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsx("span", { className: "
|
|
1114
|
+
item.day && (typeof item.day === "string" ? /* @__PURE__ */ jsx("span", { className: getTextColor(background, "muted"), children: item.day }) : item.day),
|
|
1089
1115
|
item.time && (typeof item.time === "string" ? /* @__PURE__ */ jsx("span", { children: item.time }) : item.time)
|
|
1090
1116
|
] }, itemIndex)) })
|
|
1091
1117
|
] }, sectionIndex)) });
|
|
1092
|
-
}, [hoursSectionsSlot, hoursSections, hoursSectionsClassName, accentColor]);
|
|
1118
|
+
}, [hoursSectionsSlot, hoursSections, hoursSectionsClassName, accentColor, background]);
|
|
1093
1119
|
const imagesContent = useMemo(() => {
|
|
1094
1120
|
if (imagesSlot) return imagesSlot;
|
|
1095
1121
|
if (!images || images.length === 0) return null;
|
|
@@ -15,6 +15,36 @@ 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
|
+
}
|
|
44
|
+
function getAccentColor(parentBg, options) {
|
|
45
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
46
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
47
|
+
}
|
|
18
48
|
var maxWidthStyles = {
|
|
19
49
|
sm: "max-w-screen-sm",
|
|
20
50
|
md: "max-w-screen-md",
|
|
@@ -421,13 +451,13 @@ function AboutMinimalStory({
|
|
|
421
451
|
className: "h-16 w-16 rounded-full object-cover",
|
|
422
452
|
optixFlowConfig
|
|
423
453
|
}
|
|
424
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-16 w-16 items-center justify-center rounded-full
|
|
454
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-16 w-16 items-center justify-center rounded-full text-2xl font-bold text-primary-foreground", getAccentColor(background)), children: author.name.charAt(0) }),
|
|
425
455
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
426
456
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold", children: author.name }),
|
|
427
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm
|
|
457
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: author.role })
|
|
428
458
|
] })
|
|
429
459
|
] });
|
|
430
|
-
}, [authorSlot, author, authorClassName, optixFlowConfig]);
|
|
460
|
+
}, [authorSlot, author, authorClassName, optixFlowConfig, background]);
|
|
431
461
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
432
462
|
Section,
|
|
433
463
|
{
|
|
@@ -453,7 +483,8 @@ function AboutMinimalStory({
|
|
|
453
483
|
"p",
|
|
454
484
|
{
|
|
455
485
|
className: cn(
|
|
456
|
-
"mt-8 text-lg leading-relaxed
|
|
486
|
+
"mt-8 text-lg leading-relaxed whitespace-pre-line",
|
|
487
|
+
getTextColor(background, "muted"),
|
|
457
488
|
bodyClassName
|
|
458
489
|
),
|
|
459
490
|
children: content
|
|
@@ -9,6 +9,36 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
9
9
|
function cn(...inputs) {
|
|
10
10
|
return twMerge(clsx(inputs));
|
|
11
11
|
}
|
|
12
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
13
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
14
|
+
if (isDark) {
|
|
15
|
+
switch (variant) {
|
|
16
|
+
case "default":
|
|
17
|
+
return "text-foreground";
|
|
18
|
+
case "muted":
|
|
19
|
+
return "text-foreground/80";
|
|
20
|
+
case "subtle":
|
|
21
|
+
return "text-foreground/60";
|
|
22
|
+
case "accent":
|
|
23
|
+
return "text-accent-foreground";
|
|
24
|
+
}
|
|
25
|
+
} else {
|
|
26
|
+
switch (variant) {
|
|
27
|
+
case "default":
|
|
28
|
+
return "text-foreground";
|
|
29
|
+
case "muted":
|
|
30
|
+
return "text-muted-foreground";
|
|
31
|
+
case "subtle":
|
|
32
|
+
return "text-muted-foreground/70";
|
|
33
|
+
case "accent":
|
|
34
|
+
return "text-primary";
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function getAccentColor(parentBg, options) {
|
|
39
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
40
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
41
|
+
}
|
|
12
42
|
var maxWidthStyles = {
|
|
13
43
|
sm: "max-w-screen-sm",
|
|
14
44
|
md: "max-w-screen-md",
|
|
@@ -415,13 +445,13 @@ function AboutMinimalStory({
|
|
|
415
445
|
className: "h-16 w-16 rounded-full object-cover",
|
|
416
446
|
optixFlowConfig
|
|
417
447
|
}
|
|
418
|
-
) : /* @__PURE__ */ jsx("div", { className: "flex h-16 w-16 items-center justify-center rounded-full
|
|
448
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("flex h-16 w-16 items-center justify-center rounded-full text-2xl font-bold text-primary-foreground", getAccentColor(background)), children: author.name.charAt(0) }),
|
|
419
449
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
420
450
|
/* @__PURE__ */ jsx("p", { className: "font-semibold", children: author.name }),
|
|
421
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm
|
|
451
|
+
/* @__PURE__ */ jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: author.role })
|
|
422
452
|
] })
|
|
423
453
|
] });
|
|
424
|
-
}, [authorSlot, author, authorClassName, optixFlowConfig]);
|
|
454
|
+
}, [authorSlot, author, authorClassName, optixFlowConfig, background]);
|
|
425
455
|
return /* @__PURE__ */ jsx(
|
|
426
456
|
Section,
|
|
427
457
|
{
|
|
@@ -447,7 +477,8 @@ function AboutMinimalStory({
|
|
|
447
477
|
"p",
|
|
448
478
|
{
|
|
449
479
|
className: cn(
|
|
450
|
-
"mt-8 text-lg leading-relaxed
|
|
480
|
+
"mt-8 text-lg leading-relaxed whitespace-pre-line",
|
|
481
|
+
getTextColor(background, "muted"),
|
|
451
482
|
bodyClassName
|
|
452
483
|
),
|
|
453
484
|
children: content
|