@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,
|
|
@@ -575,27 +627,30 @@ function ProcessStepsGrid({
|
|
|
575
627
|
"div",
|
|
576
628
|
{
|
|
577
629
|
className: cn(
|
|
578
|
-
"group relative overflow-hidden rounded-lg border p-8 transition-all hover:
|
|
630
|
+
"group relative overflow-hidden rounded-lg border p-8 transition-all hover:shadow-lg",
|
|
631
|
+
`hover:${getBorderColor(background, "accent")}/50`,
|
|
579
632
|
getNestedCardBg(background, "card"),
|
|
580
633
|
getNestedCardTextColor(background),
|
|
581
634
|
stepCardClassName,
|
|
582
635
|
step.className
|
|
583
636
|
),
|
|
584
637
|
children: [
|
|
585
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -right-4 -top-4 text-[120px] font-bold leading-none
|
|
638
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("absolute -right-4 -top-4 text-[120px] font-bold leading-none transition-colors", getTextColor(background, "muted"), "opacity-20 group-hover:opacity-10", `group-hover:${getAccentColor(background)}`), children: String(index + 1).padStart(2, "0") }),
|
|
586
639
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative z-10", children: [
|
|
587
640
|
(step.iconSlot || step.icon) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
588
641
|
"div",
|
|
589
642
|
{
|
|
590
643
|
className: cn(
|
|
591
|
-
"mb-6 flex size-14 items-center justify-center rounded-lg
|
|
644
|
+
"mb-6 flex size-14 items-center justify-center rounded-lg transition-colors",
|
|
645
|
+
getAccentColor(background),
|
|
646
|
+
"bg-primary/10 group-hover:bg-primary group-hover:text-primary-foreground",
|
|
592
647
|
stepIconClassName
|
|
593
648
|
),
|
|
594
649
|
children: step.iconSlot ?? (step.icon && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: step.icon, size: 28 }))
|
|
595
650
|
}
|
|
596
651
|
),
|
|
597
652
|
step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title })),
|
|
598
|
-
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
653
|
+
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }))
|
|
599
654
|
] })
|
|
600
655
|
]
|
|
601
656
|
},
|
|
@@ -628,7 +683,8 @@ function ProcessStepsGrid({
|
|
|
628
683
|
"p",
|
|
629
684
|
{
|
|
630
685
|
className: cn(
|
|
631
|
-
"mx-auto max-w-2xl text-lg
|
|
686
|
+
"mx-auto max-w-2xl text-lg",
|
|
687
|
+
getTextColor(background, "muted"),
|
|
632
688
|
descriptionClassName
|
|
633
689
|
),
|
|
634
690
|
children: description
|
|
@@ -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,
|
|
@@ -554,27 +606,30 @@ function ProcessStepsGrid({
|
|
|
554
606
|
"div",
|
|
555
607
|
{
|
|
556
608
|
className: cn(
|
|
557
|
-
"group relative overflow-hidden rounded-lg border p-8 transition-all hover:
|
|
609
|
+
"group relative overflow-hidden rounded-lg border p-8 transition-all hover:shadow-lg",
|
|
610
|
+
`hover:${getBorderColor(background, "accent")}/50`,
|
|
558
611
|
getNestedCardBg(background, "card"),
|
|
559
612
|
getNestedCardTextColor(background),
|
|
560
613
|
stepCardClassName,
|
|
561
614
|
step.className
|
|
562
615
|
),
|
|
563
616
|
children: [
|
|
564
|
-
/* @__PURE__ */ jsx("span", { className: "absolute -right-4 -top-4 text-[120px] font-bold leading-none
|
|
617
|
+
/* @__PURE__ */ jsx("span", { className: cn("absolute -right-4 -top-4 text-[120px] font-bold leading-none transition-colors", getTextColor(background, "muted"), "opacity-20 group-hover:opacity-10", `group-hover:${getAccentColor(background)}`), children: String(index + 1).padStart(2, "0") }),
|
|
565
618
|
/* @__PURE__ */ jsxs("div", { className: "relative z-10", children: [
|
|
566
619
|
(step.iconSlot || step.icon) && /* @__PURE__ */ jsx(
|
|
567
620
|
"div",
|
|
568
621
|
{
|
|
569
622
|
className: cn(
|
|
570
|
-
"mb-6 flex size-14 items-center justify-center rounded-lg
|
|
623
|
+
"mb-6 flex size-14 items-center justify-center rounded-lg transition-colors",
|
|
624
|
+
getAccentColor(background),
|
|
625
|
+
"bg-primary/10 group-hover:bg-primary group-hover:text-primary-foreground",
|
|
571
626
|
stepIconClassName
|
|
572
627
|
),
|
|
573
628
|
children: step.iconSlot ?? (step.icon && /* @__PURE__ */ jsx(DynamicIcon, { name: step.icon, size: 28 }))
|
|
574
629
|
}
|
|
575
630
|
),
|
|
576
631
|
step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-3 text-xl font-semibold tracking-tight", children: step.title })),
|
|
577
|
-
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
632
|
+
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-relaxed", getTextColor(background, "muted")), children: step.description }))
|
|
578
633
|
] })
|
|
579
634
|
]
|
|
580
635
|
},
|
|
@@ -607,7 +662,8 @@ function ProcessStepsGrid({
|
|
|
607
662
|
"p",
|
|
608
663
|
{
|
|
609
664
|
className: cn(
|
|
610
|
-
"mx-auto max-w-2xl text-lg
|
|
665
|
+
"mx-auto max-w-2xl text-lg",
|
|
666
|
+
getTextColor(background, "muted"),
|
|
611
667
|
descriptionClassName
|
|
612
668
|
),
|
|
613
669
|
children: description
|
|
@@ -1011,63 +1011,46 @@ function ProcessStickySteps({
|
|
|
1011
1011
|
stepsClassName,
|
|
1012
1012
|
stepItemClassName,
|
|
1013
1013
|
background,
|
|
1014
|
-
spacing,
|
|
1014
|
+
spacing = "py-6 md:py-32",
|
|
1015
1015
|
pattern,
|
|
1016
|
-
patternOpacity
|
|
1017
|
-
// Backwards compatibility
|
|
1018
|
-
title,
|
|
1019
|
-
ctaText,
|
|
1020
|
-
ctaUrl
|
|
1016
|
+
patternOpacity
|
|
1021
1017
|
}) {
|
|
1022
|
-
const resolvedHeading = title ?? heading;
|
|
1023
|
-
const resolvedActions = actions ?? (ctaText && ctaUrl ? [
|
|
1024
|
-
{
|
|
1025
|
-
label: ctaText,
|
|
1026
|
-
href: ctaUrl,
|
|
1027
|
-
variant: "ghost",
|
|
1028
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1029
|
-
DynamicIcon,
|
|
1030
|
-
{
|
|
1031
|
-
name: "lucide/corner-down-right",
|
|
1032
|
-
size: 20,
|
|
1033
|
-
className: "text-primary"
|
|
1034
|
-
}
|
|
1035
|
-
)
|
|
1036
|
-
}
|
|
1037
|
-
] : []);
|
|
1038
1018
|
const renderActions = React.useMemo(() => {
|
|
1039
1019
|
return () => {
|
|
1040
1020
|
if (actionsSlot) return actionsSlot;
|
|
1041
|
-
if (!
|
|
1042
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
className: actionClassName,
|
|
1049
|
-
...pressableProps
|
|
1050
|
-
} = action;
|
|
1051
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1052
|
-
Pressable,
|
|
1053
|
-
{
|
|
1054
|
-
asButton: true,
|
|
1055
|
-
className: cn(
|
|
1056
|
-
"flex items-center justify-start gap-2",
|
|
1057
|
-
actionClassName
|
|
1058
|
-
),
|
|
1059
|
-
...pressableProps,
|
|
1060
|
-
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1061
|
-
icon,
|
|
1021
|
+
if (!actions?.length) return null;
|
|
1022
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1023
|
+
"div",
|
|
1024
|
+
{
|
|
1025
|
+
className: cn("flex flex-wrap items-center gap-2", actionsClassName),
|
|
1026
|
+
children: actions.map((action, index) => {
|
|
1027
|
+
const {
|
|
1062
1028
|
label,
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1029
|
+
icon,
|
|
1030
|
+
iconAfter,
|
|
1031
|
+
children,
|
|
1032
|
+
className: actionClassName,
|
|
1033
|
+
...pressableProps
|
|
1034
|
+
} = action;
|
|
1035
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1036
|
+
Pressable,
|
|
1037
|
+
{
|
|
1038
|
+
asButton: true,
|
|
1039
|
+
className: cn(actionClassName),
|
|
1040
|
+
...pressableProps,
|
|
1041
|
+
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1042
|
+
icon,
|
|
1043
|
+
label,
|
|
1044
|
+
iconAfter
|
|
1045
|
+
] })
|
|
1046
|
+
},
|
|
1047
|
+
index
|
|
1048
|
+
);
|
|
1049
|
+
})
|
|
1050
|
+
}
|
|
1051
|
+
);
|
|
1069
1052
|
};
|
|
1070
|
-
}, [actionsSlot,
|
|
1053
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
1071
1054
|
const renderSteps = React.useMemo(() => {
|
|
1072
1055
|
if (stepsSlot) return stepsSlot;
|
|
1073
1056
|
if (!steps?.length) return null;
|
|
@@ -1080,15 +1063,21 @@ function ProcessStickySteps({
|
|
|
1080
1063
|
step.className
|
|
1081
1064
|
),
|
|
1082
1065
|
children: [
|
|
1083
|
-
/* @__PURE__ */ jsxRuntime.jsx(CornerIllustration, { className: "absolute top-4 right-0
|
|
1084
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1085
|
-
"
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1066
|
+
/* @__PURE__ */ jsxRuntime.jsx(CornerIllustration, { className: "absolute top-4 right-0" }),
|
|
1067
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1068
|
+
"div",
|
|
1069
|
+
{
|
|
1070
|
+
className: cn(
|
|
1071
|
+
"flex size-12 items-center justify-center px-4 py-1 tracking-tighter",
|
|
1072
|
+
getNestedCardBg(background, "muted"),
|
|
1073
|
+
getNestedCardTextColor(background)
|
|
1074
|
+
),
|
|
1075
|
+
children: step.step ?? `0${index + 1}`
|
|
1076
|
+
}
|
|
1077
|
+
),
|
|
1089
1078
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1090
1079
|
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 })),
|
|
1091
|
-
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "
|
|
1080
|
+
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "", children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "", children: step.description }))
|
|
1092
1081
|
] })
|
|
1093
1082
|
]
|
|
1094
1083
|
},
|
|
@@ -1113,26 +1102,17 @@ function ProcessStickySteps({
|
|
|
1113
1102
|
children: [
|
|
1114
1103
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
|
|
1115
1104
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
|
|
1116
|
-
|
|
1105
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
1117
1106
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1118
1107
|
DynamicIcon,
|
|
1119
1108
|
{
|
|
1120
1109
|
name: "lucide/asterisk",
|
|
1121
1110
|
size: 40,
|
|
1122
|
-
className: "absolute -top-2 -right-2
|
|
1111
|
+
className: "absolute -top-2 -right-2 md:size-10 lg:-right-14"
|
|
1123
1112
|
}
|
|
1124
1113
|
)
|
|
1125
1114
|
] }),
|
|
1126
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1127
|
-
"p",
|
|
1128
|
-
{
|
|
1129
|
-
className: cn(
|
|
1130
|
-
"text-base text-muted-foreground",
|
|
1131
|
-
descriptionClassName
|
|
1132
|
-
),
|
|
1133
|
-
children: description
|
|
1134
|
-
}
|
|
1135
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1115
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
1136
1116
|
renderActions()
|
|
1137
1117
|
] }),
|
|
1138
1118
|
renderSteps
|
|
@@ -100,23 +100,11 @@ interface ProcessStickyStepsProps {
|
|
|
100
100
|
* OptixFlow image optimization configuration
|
|
101
101
|
*/
|
|
102
102
|
optixFlowConfig?: OptixFlowConfig;
|
|
103
|
-
/**
|
|
104
|
-
* @deprecated Use `heading` instead
|
|
105
|
-
*/
|
|
106
|
-
title?: string;
|
|
107
|
-
/**
|
|
108
|
-
* @deprecated Use `actions` instead
|
|
109
|
-
*/
|
|
110
|
-
ctaText?: string;
|
|
111
|
-
/**
|
|
112
|
-
* @deprecated Use `actions` instead
|
|
113
|
-
*/
|
|
114
|
-
ctaUrl?: string;
|
|
115
103
|
}
|
|
116
104
|
/**
|
|
117
105
|
* ProcessStickySteps - A process section with sticky sidebar containing heading,
|
|
118
106
|
* description, and CTA, with scrollable steps on the right side.
|
|
119
107
|
*/
|
|
120
|
-
declare function ProcessStickySteps({ heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity,
|
|
108
|
+
declare function ProcessStickySteps({ heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity, }: ProcessStickyStepsProps): React.JSX.Element;
|
|
121
109
|
|
|
122
110
|
export { ProcessStickySteps, type ProcessStickyStepsProps };
|
|
@@ -100,23 +100,11 @@ interface ProcessStickyStepsProps {
|
|
|
100
100
|
* OptixFlow image optimization configuration
|
|
101
101
|
*/
|
|
102
102
|
optixFlowConfig?: OptixFlowConfig;
|
|
103
|
-
/**
|
|
104
|
-
* @deprecated Use `heading` instead
|
|
105
|
-
*/
|
|
106
|
-
title?: string;
|
|
107
|
-
/**
|
|
108
|
-
* @deprecated Use `actions` instead
|
|
109
|
-
*/
|
|
110
|
-
ctaText?: string;
|
|
111
|
-
/**
|
|
112
|
-
* @deprecated Use `actions` instead
|
|
113
|
-
*/
|
|
114
|
-
ctaUrl?: string;
|
|
115
103
|
}
|
|
116
104
|
/**
|
|
117
105
|
* ProcessStickySteps - A process section with sticky sidebar containing heading,
|
|
118
106
|
* description, and CTA, with scrollable steps on the right side.
|
|
119
107
|
*/
|
|
120
|
-
declare function ProcessStickySteps({ heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity,
|
|
108
|
+
declare function ProcessStickySteps({ heading, description, actions, actionsSlot, steps, stepsSlot, className, contentClassName, headingClassName, descriptionClassName, actionsClassName, stepsClassName, stepItemClassName, background, spacing, pattern, patternOpacity, }: ProcessStickyStepsProps): React.JSX.Element;
|
|
121
109
|
|
|
122
110
|
export { ProcessStickySteps, type ProcessStickyStepsProps };
|
|
@@ -990,63 +990,46 @@ function ProcessStickySteps({
|
|
|
990
990
|
stepsClassName,
|
|
991
991
|
stepItemClassName,
|
|
992
992
|
background,
|
|
993
|
-
spacing,
|
|
993
|
+
spacing = "py-6 md:py-32",
|
|
994
994
|
pattern,
|
|
995
|
-
patternOpacity
|
|
996
|
-
// Backwards compatibility
|
|
997
|
-
title,
|
|
998
|
-
ctaText,
|
|
999
|
-
ctaUrl
|
|
995
|
+
patternOpacity
|
|
1000
996
|
}) {
|
|
1001
|
-
const resolvedHeading = title ?? heading;
|
|
1002
|
-
const resolvedActions = actions ?? (ctaText && ctaUrl ? [
|
|
1003
|
-
{
|
|
1004
|
-
label: ctaText,
|
|
1005
|
-
href: ctaUrl,
|
|
1006
|
-
variant: "ghost",
|
|
1007
|
-
icon: /* @__PURE__ */ jsx(
|
|
1008
|
-
DynamicIcon,
|
|
1009
|
-
{
|
|
1010
|
-
name: "lucide/corner-down-right",
|
|
1011
|
-
size: 20,
|
|
1012
|
-
className: "text-primary"
|
|
1013
|
-
}
|
|
1014
|
-
)
|
|
1015
|
-
}
|
|
1016
|
-
] : []);
|
|
1017
997
|
const renderActions = useMemo(() => {
|
|
1018
998
|
return () => {
|
|
1019
999
|
if (actionsSlot) return actionsSlot;
|
|
1020
|
-
if (!
|
|
1021
|
-
return /* @__PURE__ */ jsx(
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
className: actionClassName,
|
|
1028
|
-
...pressableProps
|
|
1029
|
-
} = action;
|
|
1030
|
-
return /* @__PURE__ */ jsx(
|
|
1031
|
-
Pressable,
|
|
1032
|
-
{
|
|
1033
|
-
asButton: true,
|
|
1034
|
-
className: cn(
|
|
1035
|
-
"flex items-center justify-start gap-2",
|
|
1036
|
-
actionClassName
|
|
1037
|
-
),
|
|
1038
|
-
...pressableProps,
|
|
1039
|
-
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1040
|
-
icon,
|
|
1000
|
+
if (!actions?.length) return null;
|
|
1001
|
+
return /* @__PURE__ */ jsx(
|
|
1002
|
+
"div",
|
|
1003
|
+
{
|
|
1004
|
+
className: cn("flex flex-wrap items-center gap-2", actionsClassName),
|
|
1005
|
+
children: actions.map((action, index) => {
|
|
1006
|
+
const {
|
|
1041
1007
|
label,
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1008
|
+
icon,
|
|
1009
|
+
iconAfter,
|
|
1010
|
+
children,
|
|
1011
|
+
className: actionClassName,
|
|
1012
|
+
...pressableProps
|
|
1013
|
+
} = action;
|
|
1014
|
+
return /* @__PURE__ */ jsx(
|
|
1015
|
+
Pressable,
|
|
1016
|
+
{
|
|
1017
|
+
asButton: true,
|
|
1018
|
+
className: cn(actionClassName),
|
|
1019
|
+
...pressableProps,
|
|
1020
|
+
children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1021
|
+
icon,
|
|
1022
|
+
label,
|
|
1023
|
+
iconAfter
|
|
1024
|
+
] })
|
|
1025
|
+
},
|
|
1026
|
+
index
|
|
1027
|
+
);
|
|
1028
|
+
})
|
|
1029
|
+
}
|
|
1030
|
+
);
|
|
1048
1031
|
};
|
|
1049
|
-
}, [actionsSlot,
|
|
1032
|
+
}, [actionsSlot, actions, actionsClassName]);
|
|
1050
1033
|
const renderSteps = useMemo(() => {
|
|
1051
1034
|
if (stepsSlot) return stepsSlot;
|
|
1052
1035
|
if (!steps?.length) return null;
|
|
@@ -1059,15 +1042,21 @@ function ProcessStickySteps({
|
|
|
1059
1042
|
step.className
|
|
1060
1043
|
),
|
|
1061
1044
|
children: [
|
|
1062
|
-
/* @__PURE__ */ jsx(CornerIllustration, { className: "absolute top-4 right-0
|
|
1063
|
-
/* @__PURE__ */ jsx(
|
|
1064
|
-
"
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1045
|
+
/* @__PURE__ */ jsx(CornerIllustration, { className: "absolute top-4 right-0" }),
|
|
1046
|
+
/* @__PURE__ */ jsx(
|
|
1047
|
+
"div",
|
|
1048
|
+
{
|
|
1049
|
+
className: cn(
|
|
1050
|
+
"flex size-12 items-center justify-center px-4 py-1 tracking-tighter",
|
|
1051
|
+
getNestedCardBg(background, "muted"),
|
|
1052
|
+
getNestedCardTextColor(background)
|
|
1053
|
+
),
|
|
1054
|
+
children: step.step ?? `0${index + 1}`
|
|
1055
|
+
}
|
|
1056
|
+
),
|
|
1068
1057
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1069
1058
|
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 })),
|
|
1070
|
-
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "
|
|
1059
|
+
step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "", children: step.description }) : /* @__PURE__ */ jsx("div", { className: "", children: step.description }))
|
|
1071
1060
|
] })
|
|
1072
1061
|
]
|
|
1073
1062
|
},
|
|
@@ -1092,26 +1081,17 @@ function ProcessStickySteps({
|
|
|
1092
1081
|
children: [
|
|
1093
1082
|
/* @__PURE__ */ jsxs("div", { className: "top-10 col-span-2 h-fit w-fit gap-3 space-y-7 py-8 lg:sticky", children: [
|
|
1094
1083
|
/* @__PURE__ */ jsxs("div", { className: "relative w-fit text-5xl font-semibold tracking-tight lg:text-7xl", children: [
|
|
1095
|
-
|
|
1084
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("w-fit", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
|
|
1096
1085
|
/* @__PURE__ */ jsx(
|
|
1097
1086
|
DynamicIcon,
|
|
1098
1087
|
{
|
|
1099
1088
|
name: "lucide/asterisk",
|
|
1100
1089
|
size: 40,
|
|
1101
|
-
className: "absolute -top-2 -right-2
|
|
1090
|
+
className: "absolute -top-2 -right-2 md:size-10 lg:-right-14"
|
|
1102
1091
|
}
|
|
1103
1092
|
)
|
|
1104
1093
|
] }),
|
|
1105
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1106
|
-
"p",
|
|
1107
|
-
{
|
|
1108
|
-
className: cn(
|
|
1109
|
-
"text-base text-muted-foreground",
|
|
1110
|
-
descriptionClassName
|
|
1111
|
-
),
|
|
1112
|
-
children: description
|
|
1113
|
-
}
|
|
1114
|
-
) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
1094
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
|
|
1115
1095
|
renderActions()
|
|
1116
1096
|
] }),
|
|
1117
1097
|
renderSteps
|