@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
|
@@ -60,6 +60,58 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
60
60
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
61
61
|
return isDark ? "text-foreground" : "";
|
|
62
62
|
}
|
|
63
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
64
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
65
|
+
if (isDark) {
|
|
66
|
+
switch (variant) {
|
|
67
|
+
case "default":
|
|
68
|
+
return "text-foreground";
|
|
69
|
+
case "muted":
|
|
70
|
+
return "text-foreground/80";
|
|
71
|
+
case "subtle":
|
|
72
|
+
return "text-foreground/60";
|
|
73
|
+
case "accent":
|
|
74
|
+
return "text-accent-foreground";
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
switch (variant) {
|
|
78
|
+
case "default":
|
|
79
|
+
return "text-foreground";
|
|
80
|
+
case "muted":
|
|
81
|
+
return "text-muted-foreground";
|
|
82
|
+
case "subtle":
|
|
83
|
+
return "text-muted-foreground/70";
|
|
84
|
+
case "accent":
|
|
85
|
+
return "text-primary";
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function getAccentColor(parentBg, options) {
|
|
90
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
91
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
92
|
+
}
|
|
93
|
+
function getBorderColor(parentBg, variant = "default", options) {
|
|
94
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
95
|
+
if (isDark) {
|
|
96
|
+
switch (variant) {
|
|
97
|
+
case "default":
|
|
98
|
+
return "border-foreground/20";
|
|
99
|
+
case "muted":
|
|
100
|
+
return "border-foreground/10";
|
|
101
|
+
case "accent":
|
|
102
|
+
return "border-accent-foreground";
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
105
|
+
switch (variant) {
|
|
106
|
+
case "default":
|
|
107
|
+
return "border-border";
|
|
108
|
+
case "muted":
|
|
109
|
+
return "border-muted";
|
|
110
|
+
case "accent":
|
|
111
|
+
return "border-primary";
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
63
115
|
var svgCache = /* @__PURE__ */ new Map();
|
|
64
116
|
function DynamicIcon({
|
|
65
117
|
name,
|
|
@@ -548,17 +600,17 @@ var StatusBadge = ({
|
|
|
548
600
|
const config = {
|
|
549
601
|
completed: {
|
|
550
602
|
label: "Completed",
|
|
551
|
-
badgeClassName: "
|
|
603
|
+
badgeClassName: cn(getNestedCardBg(background, "muted"), "text-success"),
|
|
552
604
|
icon: "lucide/check-circle-2"
|
|
553
605
|
},
|
|
554
606
|
"in-progress": {
|
|
555
607
|
label: "In Progress",
|
|
556
|
-
badgeClassName:
|
|
608
|
+
badgeClassName: cn(getNestedCardBg(background, "muted"), getAccentColor(background)),
|
|
557
609
|
icon: "lucide/loader-2"
|
|
558
610
|
},
|
|
559
611
|
upcoming: {
|
|
560
612
|
label: "Upcoming",
|
|
561
|
-
badgeClassName: cn(getNestedCardBg(background, "muted"),
|
|
613
|
+
badgeClassName: cn(getNestedCardBg(background, "muted"), getTextColor(background, "muted")),
|
|
562
614
|
icon: "lucide/clock"
|
|
563
615
|
}
|
|
564
616
|
};
|
|
@@ -638,13 +690,13 @@ function ProcessRoadmapTimeline({
|
|
|
638
690
|
index % 2 === 0 ? "justify-end" : "justify-start"
|
|
639
691
|
),
|
|
640
692
|
children: [
|
|
641
|
-
milestone.date && (typeof milestone.date === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium
|
|
693
|
+
milestone.date && (typeof milestone.date === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: milestone.date }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: milestone.date })),
|
|
642
694
|
/* @__PURE__ */ jsxRuntime.jsx(StatusBadge, { status: milestone.status, background })
|
|
643
695
|
]
|
|
644
696
|
}
|
|
645
697
|
),
|
|
646
698
|
milestone.title && (typeof milestone.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-xl font-semibold tracking-tight", children: milestone.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-xl font-semibold tracking-tight", children: milestone.title })),
|
|
647
|
-
milestone.description && (typeof milestone.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4
|
|
699
|
+
milestone.description && (typeof milestone.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4", getTextColor(background, "muted")), children: milestone.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", getTextColor(background, "muted")), children: milestone.description })),
|
|
648
700
|
milestone.features?.length ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
649
701
|
"div",
|
|
650
702
|
{
|
|
@@ -675,8 +727,9 @@ function ProcessRoadmapTimeline({
|
|
|
675
727
|
"div",
|
|
676
728
|
{
|
|
677
729
|
className: cn(
|
|
678
|
-
"absolute left-1/2 flex size-10 -translate-x-1/2 items-center justify-center rounded-full border-2
|
|
679
|
-
|
|
730
|
+
"absolute left-1/2 flex size-10 -translate-x-1/2 items-center justify-center rounded-full border-2",
|
|
731
|
+
getNestedCardBg(background, "card"),
|
|
732
|
+
milestone.status === "completed" ? "border-success bg-success text-white" : milestone.status === "in-progress" ? cn("border-primary bg-primary", getNestedCardTextColor(background)) : cn(getBorderColor(background, "default"), getTextColor(background, "muted")),
|
|
680
733
|
milestoneNodeClassName
|
|
681
734
|
),
|
|
682
735
|
children: milestone.status === "completed" ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold", children: index + 1 })
|
|
@@ -712,7 +765,8 @@ function ProcessRoadmapTimeline({
|
|
|
712
765
|
"p",
|
|
713
766
|
{
|
|
714
767
|
className: cn(
|
|
715
|
-
"mx-auto max-w-2xl text-lg
|
|
768
|
+
"mx-auto max-w-2xl text-lg",
|
|
769
|
+
getTextColor(background, "muted"),
|
|
716
770
|
descriptionClassName
|
|
717
771
|
),
|
|
718
772
|
children: description
|
|
@@ -724,7 +778,7 @@ function ProcessRoadmapTimeline({
|
|
|
724
778
|
"div",
|
|
725
779
|
{
|
|
726
780
|
className: cn(
|
|
727
|
-
"absolute left-1/2 top-0 bottom-0 w-px -translate-x-1/2 bg-border",
|
|
781
|
+
"absolute left-1/2 top-0 bottom-0 w-px -translate-x-1/2 bg-border/50",
|
|
728
782
|
timelineLineClassName
|
|
729
783
|
)
|
|
730
784
|
}
|
|
@@ -39,6 +39,58 @@ function getNestedCardTextColor(parentBg, options) {
|
|
|
39
39
|
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
40
40
|
return isDark ? "text-foreground" : "";
|
|
41
41
|
}
|
|
42
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
43
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
44
|
+
if (isDark) {
|
|
45
|
+
switch (variant) {
|
|
46
|
+
case "default":
|
|
47
|
+
return "text-foreground";
|
|
48
|
+
case "muted":
|
|
49
|
+
return "text-foreground/80";
|
|
50
|
+
case "subtle":
|
|
51
|
+
return "text-foreground/60";
|
|
52
|
+
case "accent":
|
|
53
|
+
return "text-accent-foreground";
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
switch (variant) {
|
|
57
|
+
case "default":
|
|
58
|
+
return "text-foreground";
|
|
59
|
+
case "muted":
|
|
60
|
+
return "text-muted-foreground";
|
|
61
|
+
case "subtle":
|
|
62
|
+
return "text-muted-foreground/70";
|
|
63
|
+
case "accent":
|
|
64
|
+
return "text-primary";
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function getAccentColor(parentBg, options) {
|
|
69
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
70
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
71
|
+
}
|
|
72
|
+
function getBorderColor(parentBg, variant = "default", options) {
|
|
73
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
74
|
+
if (isDark) {
|
|
75
|
+
switch (variant) {
|
|
76
|
+
case "default":
|
|
77
|
+
return "border-foreground/20";
|
|
78
|
+
case "muted":
|
|
79
|
+
return "border-foreground/10";
|
|
80
|
+
case "accent":
|
|
81
|
+
return "border-accent-foreground";
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
switch (variant) {
|
|
85
|
+
case "default":
|
|
86
|
+
return "border-border";
|
|
87
|
+
case "muted":
|
|
88
|
+
return "border-muted";
|
|
89
|
+
case "accent":
|
|
90
|
+
return "border-primary";
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
42
94
|
var svgCache = /* @__PURE__ */ new Map();
|
|
43
95
|
function DynamicIcon({
|
|
44
96
|
name,
|
|
@@ -527,17 +579,17 @@ var StatusBadge = ({
|
|
|
527
579
|
const config = {
|
|
528
580
|
completed: {
|
|
529
581
|
label: "Completed",
|
|
530
|
-
badgeClassName: "
|
|
582
|
+
badgeClassName: cn(getNestedCardBg(background, "muted"), "text-success"),
|
|
531
583
|
icon: "lucide/check-circle-2"
|
|
532
584
|
},
|
|
533
585
|
"in-progress": {
|
|
534
586
|
label: "In Progress",
|
|
535
|
-
badgeClassName:
|
|
587
|
+
badgeClassName: cn(getNestedCardBg(background, "muted"), getAccentColor(background)),
|
|
536
588
|
icon: "lucide/loader-2"
|
|
537
589
|
},
|
|
538
590
|
upcoming: {
|
|
539
591
|
label: "Upcoming",
|
|
540
|
-
badgeClassName: cn(getNestedCardBg(background, "muted"),
|
|
592
|
+
badgeClassName: cn(getNestedCardBg(background, "muted"), getTextColor(background, "muted")),
|
|
541
593
|
icon: "lucide/clock"
|
|
542
594
|
}
|
|
543
595
|
};
|
|
@@ -617,13 +669,13 @@ function ProcessRoadmapTimeline({
|
|
|
617
669
|
index % 2 === 0 ? "justify-end" : "justify-start"
|
|
618
670
|
),
|
|
619
671
|
children: [
|
|
620
|
-
milestone.date && (typeof milestone.date === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm font-medium
|
|
672
|
+
milestone.date && (typeof milestone.date === "string" ? /* @__PURE__ */ jsx("span", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: milestone.date }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: milestone.date })),
|
|
621
673
|
/* @__PURE__ */ jsx(StatusBadge, { status: milestone.status, background })
|
|
622
674
|
]
|
|
623
675
|
}
|
|
624
676
|
),
|
|
625
677
|
milestone.title && (typeof milestone.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-2 text-xl font-semibold tracking-tight", children: milestone.title }) : /* @__PURE__ */ jsx("div", { className: "mb-2 text-xl font-semibold tracking-tight", children: milestone.title })),
|
|
626
|
-
milestone.description && (typeof milestone.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mb-4
|
|
678
|
+
milestone.description && (typeof milestone.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4", getTextColor(background, "muted")), children: milestone.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", getTextColor(background, "muted")), children: milestone.description })),
|
|
627
679
|
milestone.features?.length ? /* @__PURE__ */ jsx(
|
|
628
680
|
"div",
|
|
629
681
|
{
|
|
@@ -654,8 +706,9 @@ function ProcessRoadmapTimeline({
|
|
|
654
706
|
"div",
|
|
655
707
|
{
|
|
656
708
|
className: cn(
|
|
657
|
-
"absolute left-1/2 flex size-10 -translate-x-1/2 items-center justify-center rounded-full border-2
|
|
658
|
-
|
|
709
|
+
"absolute left-1/2 flex size-10 -translate-x-1/2 items-center justify-center rounded-full border-2",
|
|
710
|
+
getNestedCardBg(background, "card"),
|
|
711
|
+
milestone.status === "completed" ? "border-success bg-success text-white" : milestone.status === "in-progress" ? cn("border-primary bg-primary", getNestedCardTextColor(background)) : cn(getBorderColor(background, "default"), getTextColor(background, "muted")),
|
|
659
712
|
milestoneNodeClassName
|
|
660
713
|
),
|
|
661
714
|
children: milestone.status === "completed" ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 20 }) : /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold", children: index + 1 })
|
|
@@ -691,7 +744,8 @@ function ProcessRoadmapTimeline({
|
|
|
691
744
|
"p",
|
|
692
745
|
{
|
|
693
746
|
className: cn(
|
|
694
|
-
"mx-auto max-w-2xl text-lg
|
|
747
|
+
"mx-auto max-w-2xl text-lg",
|
|
748
|
+
getTextColor(background, "muted"),
|
|
695
749
|
descriptionClassName
|
|
696
750
|
),
|
|
697
751
|
children: description
|
|
@@ -703,7 +757,7 @@ function ProcessRoadmapTimeline({
|
|
|
703
757
|
"div",
|
|
704
758
|
{
|
|
705
759
|
className: cn(
|
|
706
|
-
"absolute left-1/2 top-0 bottom-0 w-px -translate-x-1/2 bg-border",
|
|
760
|
+
"absolute left-1/2 top-0 bottom-0 w-px -translate-x-1/2 bg-border/50",
|
|
707
761
|
timelineLineClassName
|
|
708
762
|
)
|
|
709
763
|
}
|
|
@@ -33,6 +33,36 @@ var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
|
|
|
33
33
|
function cn(...inputs) {
|
|
34
34
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
35
35
|
}
|
|
36
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
37
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
38
|
+
if (isDark) {
|
|
39
|
+
switch (variant) {
|
|
40
|
+
case "default":
|
|
41
|
+
return "text-foreground";
|
|
42
|
+
case "muted":
|
|
43
|
+
return "text-foreground/80";
|
|
44
|
+
case "subtle":
|
|
45
|
+
return "text-foreground/60";
|
|
46
|
+
case "accent":
|
|
47
|
+
return "text-accent-foreground";
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
switch (variant) {
|
|
51
|
+
case "default":
|
|
52
|
+
return "text-foreground";
|
|
53
|
+
case "muted":
|
|
54
|
+
return "text-muted-foreground";
|
|
55
|
+
case "subtle":
|
|
56
|
+
return "text-muted-foreground/70";
|
|
57
|
+
case "accent":
|
|
58
|
+
return "text-primary";
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function getAccentColor(parentBg, options) {
|
|
63
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
64
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
65
|
+
}
|
|
36
66
|
function normalizePhoneNumber(input) {
|
|
37
67
|
const trimmed = input.trim();
|
|
38
68
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -944,7 +974,8 @@ var ProcessCard = ({
|
|
|
944
974
|
step,
|
|
945
975
|
index,
|
|
946
976
|
setActive,
|
|
947
|
-
itemClassName
|
|
977
|
+
itemClassName,
|
|
978
|
+
background
|
|
948
979
|
}) => {
|
|
949
980
|
const ref = React6__namespace.useRef(null);
|
|
950
981
|
const itemInView = framerMotion.useInView(ref, {
|
|
@@ -969,7 +1000,7 @@ var ProcessCard = ({
|
|
|
969
1000
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-fit items-center justify-center px-4 py-1 text-9xl tracking-tighter", children: step.step ?? `0${index + 1}` }),
|
|
970
1001
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
971
1002
|
step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-2xl font-semibold tracking-tighter lg:text-3xl", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: step.title })),
|
|
972
|
-
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
1003
|
+
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: getTextColor(background, "muted"), children: step.description }))
|
|
973
1004
|
] })
|
|
974
1005
|
]
|
|
975
1006
|
}
|
|
@@ -992,7 +1023,7 @@ function ProcessScrollImage({
|
|
|
992
1023
|
stepsClassName,
|
|
993
1024
|
stepItemClassName,
|
|
994
1025
|
background,
|
|
995
|
-
spacing,
|
|
1026
|
+
spacing = "py-6 md:py-32",
|
|
996
1027
|
pattern,
|
|
997
1028
|
patternOpacity,
|
|
998
1029
|
optixFlowConfig,
|
|
@@ -1014,7 +1045,7 @@ function ProcessScrollImage({
|
|
|
1014
1045
|
{
|
|
1015
1046
|
name: "lucide/corner-down-right",
|
|
1016
1047
|
size: 20,
|
|
1017
|
-
className:
|
|
1048
|
+
className: getAccentColor(background)
|
|
1018
1049
|
}
|
|
1019
1050
|
)
|
|
1020
1051
|
}
|
|
@@ -1023,33 +1054,39 @@ function ProcessScrollImage({
|
|
|
1023
1054
|
return () => {
|
|
1024
1055
|
if (actionsSlot) return actionsSlot;
|
|
1025
1056
|
if (!resolvedActions?.length) return null;
|
|
1026
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
className: actionClassName,
|
|
1033
|
-
...pressableProps
|
|
1034
|
-
} = action;
|
|
1035
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1036
|
-
Pressable,
|
|
1037
|
-
{
|
|
1038
|
-
asButton: true,
|
|
1039
|
-
className: cn(
|
|
1040
|
-
"flex items-center justify-start gap-2",
|
|
1041
|
-
actionClassName
|
|
1042
|
-
),
|
|
1043
|
-
...pressableProps,
|
|
1044
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1045
|
-
icon,
|
|
1057
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1058
|
+
"div",
|
|
1059
|
+
{
|
|
1060
|
+
className: cn("flex flex-wrap items-center gap-2", actionsClassName),
|
|
1061
|
+
children: resolvedActions.map((action, index) => {
|
|
1062
|
+
const {
|
|
1046
1063
|
label,
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1064
|
+
icon,
|
|
1065
|
+
iconAfter,
|
|
1066
|
+
children,
|
|
1067
|
+
className: actionClassName,
|
|
1068
|
+
...pressableProps
|
|
1069
|
+
} = action;
|
|
1070
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1071
|
+
Pressable,
|
|
1072
|
+
{
|
|
1073
|
+
asButton: true,
|
|
1074
|
+
className: cn(
|
|
1075
|
+
"flex items-center justify-start gap-2",
|
|
1076
|
+
actionClassName
|
|
1077
|
+
),
|
|
1078
|
+
...pressableProps,
|
|
1079
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1080
|
+
icon,
|
|
1081
|
+
label,
|
|
1082
|
+
iconAfter
|
|
1083
|
+
] })
|
|
1084
|
+
},
|
|
1085
|
+
index
|
|
1086
|
+
);
|
|
1087
|
+
})
|
|
1088
|
+
}
|
|
1089
|
+
);
|
|
1053
1090
|
};
|
|
1054
1091
|
}, [actionsSlot, resolvedActions, actionsClassName]);
|
|
1055
1092
|
const renderSteps = React6.useMemo(() => {
|
|
@@ -1061,7 +1098,8 @@ function ProcessScrollImage({
|
|
|
1061
1098
|
step,
|
|
1062
1099
|
index,
|
|
1063
1100
|
setActive,
|
|
1064
|
-
itemClassName: stepItemClassName
|
|
1101
|
+
itemClassName: stepItemClassName,
|
|
1102
|
+
background
|
|
1065
1103
|
},
|
|
1066
1104
|
index
|
|
1067
1105
|
)) });
|
|
@@ -1109,7 +1147,8 @@ function ProcessScrollImage({
|
|
|
1109
1147
|
"p",
|
|
1110
1148
|
{
|
|
1111
1149
|
className: cn(
|
|
1112
|
-
"text-base
|
|
1150
|
+
"text-base",
|
|
1151
|
+
getTextColor(background, "muted"),
|
|
1113
1152
|
descriptionClassName
|
|
1114
1153
|
),
|
|
1115
1154
|
children: description
|
|
@@ -12,6 +12,36 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
12
12
|
function cn(...inputs) {
|
|
13
13
|
return twMerge(clsx(inputs));
|
|
14
14
|
}
|
|
15
|
+
function getTextColor(parentBg, variant = "default", options) {
|
|
16
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
17
|
+
if (isDark) {
|
|
18
|
+
switch (variant) {
|
|
19
|
+
case "default":
|
|
20
|
+
return "text-foreground";
|
|
21
|
+
case "muted":
|
|
22
|
+
return "text-foreground/80";
|
|
23
|
+
case "subtle":
|
|
24
|
+
return "text-foreground/60";
|
|
25
|
+
case "accent":
|
|
26
|
+
return "text-accent-foreground";
|
|
27
|
+
}
|
|
28
|
+
} else {
|
|
29
|
+
switch (variant) {
|
|
30
|
+
case "default":
|
|
31
|
+
return "text-foreground";
|
|
32
|
+
case "muted":
|
|
33
|
+
return "text-muted-foreground";
|
|
34
|
+
case "subtle":
|
|
35
|
+
return "text-muted-foreground/70";
|
|
36
|
+
case "accent":
|
|
37
|
+
return "text-primary";
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function getAccentColor(parentBg, options) {
|
|
42
|
+
const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
|
|
43
|
+
return isDark ? "text-accent-foreground" : "text-primary";
|
|
44
|
+
}
|
|
15
45
|
function normalizePhoneNumber(input) {
|
|
16
46
|
const trimmed = input.trim();
|
|
17
47
|
if (trimmed.toLowerCase().startsWith("tel:")) {
|
|
@@ -923,7 +953,8 @@ var ProcessCard = ({
|
|
|
923
953
|
step,
|
|
924
954
|
index,
|
|
925
955
|
setActive,
|
|
926
|
-
itemClassName
|
|
956
|
+
itemClassName,
|
|
957
|
+
background
|
|
927
958
|
}) => {
|
|
928
959
|
const ref = React6.useRef(null);
|
|
929
960
|
const itemInView = useInView(ref, {
|
|
@@ -948,7 +979,7 @@ var ProcessCard = ({
|
|
|
948
979
|
/* @__PURE__ */ jsx("div", { className: "flex w-fit items-center justify-center px-4 py-1 text-9xl tracking-tighter", children: step.step ?? `0${index + 1}` }),
|
|
949
980
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
950
981
|
step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-4 text-2xl font-semibold tracking-tighter lg:text-3xl", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-4", children: step.title })),
|
|
951
|
-
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
982
|
+
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: step.description }) : /* @__PURE__ */ jsx("div", { className: getTextColor(background, "muted"), children: step.description }))
|
|
952
983
|
] })
|
|
953
984
|
]
|
|
954
985
|
}
|
|
@@ -971,7 +1002,7 @@ function ProcessScrollImage({
|
|
|
971
1002
|
stepsClassName,
|
|
972
1003
|
stepItemClassName,
|
|
973
1004
|
background,
|
|
974
|
-
spacing,
|
|
1005
|
+
spacing = "py-6 md:py-32",
|
|
975
1006
|
pattern,
|
|
976
1007
|
patternOpacity,
|
|
977
1008
|
optixFlowConfig,
|
|
@@ -993,7 +1024,7 @@ function ProcessScrollImage({
|
|
|
993
1024
|
{
|
|
994
1025
|
name: "lucide/corner-down-right",
|
|
995
1026
|
size: 20,
|
|
996
|
-
className:
|
|
1027
|
+
className: getAccentColor(background)
|
|
997
1028
|
}
|
|
998
1029
|
)
|
|
999
1030
|
}
|
|
@@ -1002,33 +1033,39 @@ function ProcessScrollImage({
|
|
|
1002
1033
|
return () => {
|
|
1003
1034
|
if (actionsSlot) return actionsSlot;
|
|
1004
1035
|
if (!resolvedActions?.length) return null;
|
|
1005
|
-
return /* @__PURE__ */ jsx(
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
className: actionClassName,
|
|
1012
|
-
...pressableProps
|
|
1013
|
-
} = action;
|
|
1014
|
-
return /* @__PURE__ */ jsx(
|
|
1015
|
-
Pressable,
|
|
1016
|
-
{
|
|
1017
|
-
asButton: true,
|
|
1018
|
-
className: cn(
|
|
1019
|
-
"flex items-center justify-start gap-2",
|
|
1020
|
-
actionClassName
|
|
1021
|
-
),
|
|
1022
|
-
...pressableProps,
|
|
1023
|
-
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1024
|
-
icon,
|
|
1036
|
+
return /* @__PURE__ */ jsx(
|
|
1037
|
+
"div",
|
|
1038
|
+
{
|
|
1039
|
+
className: cn("flex flex-wrap items-center gap-2", actionsClassName),
|
|
1040
|
+
children: resolvedActions.map((action, index) => {
|
|
1041
|
+
const {
|
|
1025
1042
|
label,
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1043
|
+
icon,
|
|
1044
|
+
iconAfter,
|
|
1045
|
+
children,
|
|
1046
|
+
className: actionClassName,
|
|
1047
|
+
...pressableProps
|
|
1048
|
+
} = action;
|
|
1049
|
+
return /* @__PURE__ */ jsx(
|
|
1050
|
+
Pressable,
|
|
1051
|
+
{
|
|
1052
|
+
asButton: true,
|
|
1053
|
+
className: cn(
|
|
1054
|
+
"flex items-center justify-start gap-2",
|
|
1055
|
+
actionClassName
|
|
1056
|
+
),
|
|
1057
|
+
...pressableProps,
|
|
1058
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1059
|
+
icon,
|
|
1060
|
+
label,
|
|
1061
|
+
iconAfter
|
|
1062
|
+
] })
|
|
1063
|
+
},
|
|
1064
|
+
index
|
|
1065
|
+
);
|
|
1066
|
+
})
|
|
1067
|
+
}
|
|
1068
|
+
);
|
|
1032
1069
|
};
|
|
1033
1070
|
}, [actionsSlot, resolvedActions, actionsClassName]);
|
|
1034
1071
|
const renderSteps = useMemo(() => {
|
|
@@ -1040,7 +1077,8 @@ function ProcessScrollImage({
|
|
|
1040
1077
|
step,
|
|
1041
1078
|
index,
|
|
1042
1079
|
setActive,
|
|
1043
|
-
itemClassName: stepItemClassName
|
|
1080
|
+
itemClassName: stepItemClassName,
|
|
1081
|
+
background
|
|
1044
1082
|
},
|
|
1045
1083
|
index
|
|
1046
1084
|
)) });
|
|
@@ -1088,7 +1126,8 @@ function ProcessScrollImage({
|
|
|
1088
1126
|
"p",
|
|
1089
1127
|
{
|
|
1090
1128
|
className: cn(
|
|
1091
|
-
"text-base
|
|
1129
|
+
"text-base",
|
|
1130
|
+
getTextColor(background, "muted"),
|
|
1092
1131
|
descriptionClassName
|
|
1093
1132
|
),
|
|
1094
1133
|
children: description
|