@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.
Files changed (367) hide show
  1. package/dist/about-company-profile.cjs +32 -4
  2. package/dist/about-company-profile.js +32 -4
  3. package/dist/about-culture-tabs.cjs +38 -8
  4. package/dist/about-culture-tabs.js +38 -8
  5. package/dist/about-developer-profile.cjs +37 -5
  6. package/dist/about-developer-profile.js +37 -5
  7. package/dist/about-developer-story.cjs +31 -3
  8. package/dist/about-developer-story.js +31 -3
  9. package/dist/about-expandable-values.cjs +43 -9
  10. package/dist/about-expandable-values.js +43 -9
  11. package/dist/about-interactive-tabs.cjs +63 -4
  12. package/dist/about-interactive-tabs.js +63 -4
  13. package/dist/about-location-info-hero.cjs +28 -2
  14. package/dist/about-location-info-hero.js +28 -2
  15. package/dist/about-minimal-story.cjs +35 -4
  16. package/dist/about-minimal-story.js +35 -4
  17. package/dist/about-mission-dual-image.cjs +30 -2
  18. package/dist/about-mission-dual-image.js +30 -2
  19. package/dist/about-mission-features.cjs +36 -4
  20. package/dist/about-mission-features.js +36 -4
  21. package/dist/about-mission-principles.cjs +39 -6
  22. package/dist/about-mission-principles.js +39 -6
  23. package/dist/about-network-spotlight.cjs +33 -5
  24. package/dist/about-network-spotlight.js +33 -5
  25. package/dist/about-startup-team.cjs +47 -6
  26. package/dist/about-startup-team.js +47 -6
  27. package/dist/about-stats-showcase.cjs +31 -4
  28. package/dist/about-stats-showcase.js +31 -4
  29. package/dist/about-stats-sidebar.cjs +29 -3
  30. package/dist/about-stats-sidebar.js +29 -3
  31. package/dist/about-story-expertise.cjs +44 -8
  32. package/dist/about-story-expertise.js +44 -8
  33. package/dist/about-story-gallery.cjs +28 -1
  34. package/dist/about-story-gallery.js +28 -1
  35. package/dist/about-story-hero.cjs +36 -4
  36. package/dist/about-story-hero.js +36 -4
  37. package/dist/about-streamline-team.cjs +32 -4
  38. package/dist/about-streamline-team.js +32 -4
  39. package/dist/about-vision-gallery.cjs +32 -3
  40. package/dist/about-vision-gallery.js +32 -3
  41. package/dist/alternating-blocks.cjs +5 -1
  42. package/dist/alternating-blocks.js +5 -1
  43. package/dist/banner-announcement-dismissible.cjs +377 -1
  44. package/dist/banner-announcement-dismissible.d.cts +7 -1
  45. package/dist/banner-announcement-dismissible.d.ts +7 -1
  46. package/dist/banner-announcement-dismissible.js +378 -2
  47. package/dist/banner-countdown-sale.cjs +388 -8
  48. package/dist/banner-countdown-sale.d.cts +11 -1
  49. package/dist/banner-countdown-sale.d.ts +11 -1
  50. package/dist/banner-countdown-sale.js +379 -3
  51. package/dist/banner-delivery-countdown.cjs +377 -1
  52. package/dist/banner-delivery-countdown.d.cts +11 -1
  53. package/dist/banner-delivery-countdown.d.ts +11 -1
  54. package/dist/banner-delivery-countdown.js +378 -2
  55. package/dist/banner-event-promo.cjs +377 -1
  56. package/dist/banner-event-promo.d.cts +7 -1
  57. package/dist/banner-event-promo.d.ts +7 -1
  58. package/dist/banner-event-promo.js +378 -2
  59. package/dist/banner-floating-offer.cjs +379 -3
  60. package/dist/banner-floating-offer.d.cts +7 -1
  61. package/dist/banner-floating-offer.d.ts +7 -1
  62. package/dist/banner-floating-offer.js +380 -4
  63. package/dist/banner-gdpr-rights.cjs +398 -31
  64. package/dist/banner-gdpr-rights.d.cts +7 -1
  65. package/dist/banner-gdpr-rights.d.ts +7 -1
  66. package/dist/banner-gdpr-rights.js +399 -32
  67. package/dist/banner-privacy-notice.cjs +399 -32
  68. package/dist/banner-privacy-notice.d.cts +7 -1
  69. package/dist/banner-privacy-notice.d.ts +7 -1
  70. package/dist/banner-privacy-notice.js +400 -33
  71. package/dist/banner-promo-cta.cjs +382 -12
  72. package/dist/banner-promo-cta.d.cts +7 -1
  73. package/dist/banner-promo-cta.d.ts +7 -1
  74. package/dist/banner-promo-cta.js +383 -13
  75. package/dist/banner-social-follow.cjs +395 -28
  76. package/dist/banner-social-follow.d.cts +7 -1
  77. package/dist/banner-social-follow.d.ts +7 -1
  78. package/dist/banner-social-follow.js +396 -29
  79. package/dist/banner-survey-incentive.cjs +377 -1
  80. package/dist/banner-survey-incentive.d.cts +7 -1
  81. package/dist/banner-survey-incentive.d.ts +7 -1
  82. package/dist/banner-survey-incentive.js +378 -2
  83. package/dist/community-initiatives.cjs +43 -10
  84. package/dist/community-initiatives.js +43 -10
  85. package/dist/components.cjs +76 -36
  86. package/dist/components.js +76 -36
  87. package/dist/contact-floating-banner.cjs +378 -2
  88. package/dist/contact-floating-banner.d.cts +7 -1
  89. package/dist/contact-floating-banner.d.ts +7 -1
  90. package/dist/contact-floating-banner.js +379 -2
  91. package/dist/cta-accent-background.cjs +28 -1
  92. package/dist/cta-accent-background.js +28 -1
  93. package/dist/cta-app-download-newsletter.cjs +30 -2
  94. package/dist/cta-app-download-newsletter.js +30 -2
  95. package/dist/cta-documentation-links.cjs +28 -2
  96. package/dist/cta-documentation-links.js +28 -2
  97. package/dist/cta-feature-cards-grid.cjs +34 -3
  98. package/dist/cta-feature-cards-grid.js +34 -3
  99. package/dist/cta-feature-checklist.cjs +27 -1
  100. package/dist/cta-feature-checklist.js +27 -1
  101. package/dist/cta-feature-list.cjs +33 -2
  102. package/dist/cta-feature-list.js +33 -2
  103. package/dist/cta-gradient-logos-floating.cjs +28 -1
  104. package/dist/cta-gradient-logos-floating.js +28 -1
  105. package/dist/cta-minimal-separator.cjs +27 -1
  106. package/dist/cta-minimal-separator.js +27 -1
  107. package/dist/cta-platform-demo.cjs +28 -1
  108. package/dist/cta-platform-demo.js +28 -1
  109. package/dist/cta-simple-centered.cjs +28 -1
  110. package/dist/cta-simple-centered.js +28 -1
  111. package/dist/cta-split-gradient-image.cjs +28 -1
  112. package/dist/cta-split-gradient-image.js +28 -1
  113. package/dist/cta-split-image-logos.cjs +29 -2
  114. package/dist/cta-split-image-logos.js +29 -2
  115. package/dist/cta-split-image.cjs +29 -2
  116. package/dist/cta-split-image.js +29 -2
  117. package/dist/cta-stacked-cards.cjs +28 -1
  118. package/dist/cta-stacked-cards.js +28 -1
  119. package/dist/faq-badge-support.cjs +33 -5
  120. package/dist/faq-badge-support.js +33 -5
  121. package/dist/faq-bordered-badge.cjs +31 -3
  122. package/dist/faq-bordered-badge.js +31 -3
  123. package/dist/faq-card-categories.cjs +60 -4
  124. package/dist/faq-card-categories.js +60 -4
  125. package/dist/faq-categorized-sections.cjs +31 -3
  126. package/dist/faq-categorized-sections.js +31 -3
  127. package/dist/faq-centered-accordion.cjs +31 -3
  128. package/dist/faq-centered-accordion.js +31 -3
  129. package/dist/faq-gradient-categories.cjs +31 -3
  130. package/dist/faq-gradient-categories.js +31 -3
  131. package/dist/faq-icon-benefits.cjs +40 -5
  132. package/dist/faq-icon-benefits.js +40 -5
  133. package/dist/faq-muted-cards.cjs +29 -2
  134. package/dist/faq-muted-cards.js +29 -2
  135. package/dist/faq-numbered-grid.cjs +32 -3
  136. package/dist/faq-numbered-grid.js +32 -3
  137. package/dist/faq-numbered-list.cjs +32 -3
  138. package/dist/faq-numbered-list.js +32 -3
  139. package/dist/faq-profile-sidebar.cjs +36 -6
  140. package/dist/faq-profile-sidebar.js +36 -6
  141. package/dist/faq-sidebar-navigation.cjs +30 -3
  142. package/dist/faq-sidebar-navigation.js +30 -3
  143. package/dist/faq-simple-accordion.cjs +29 -2
  144. package/dist/faq-simple-accordion.js +29 -2
  145. package/dist/feature-accordion-image.cjs +28 -2
  146. package/dist/feature-accordion-image.js +28 -2
  147. package/dist/feature-badge-grid-six.cjs +27 -1
  148. package/dist/feature-badge-grid-six.js +27 -1
  149. package/dist/feature-bento-image-grid.cjs +27 -1
  150. package/dist/feature-bento-image-grid.js +27 -1
  151. package/dist/feature-bento-utilities.cjs +56 -4
  152. package/dist/feature-bento-utilities.js +56 -4
  153. package/dist/feature-capabilities-grid.cjs +29 -3
  154. package/dist/feature-capabilities-grid.js +29 -3
  155. package/dist/feature-card-grid-linked.cjs +29 -2
  156. package/dist/feature-card-grid-linked.js +29 -2
  157. package/dist/feature-carousel-progress.cjs +28 -2
  158. package/dist/feature-carousel-progress.js +28 -2
  159. package/dist/feature-category-image-cards.cjs +28 -2
  160. package/dist/feature-category-image-cards.js +28 -2
  161. package/dist/feature-checklist-image.cjs +30 -2
  162. package/dist/feature-checklist-image.js +30 -2
  163. package/dist/feature-checklist-three-column.cjs +35 -5
  164. package/dist/feature-checklist-three-column.js +35 -5
  165. package/dist/feature-icon-grid-accent.cjs +28 -2
  166. package/dist/feature-icon-grid-accent.js +28 -2
  167. package/dist/feature-icon-grid-bordered.cjs +9 -4
  168. package/dist/feature-icon-grid-bordered.js +9 -4
  169. package/dist/feature-icon-grid-muted.cjs +28 -2
  170. package/dist/feature-icon-grid-muted.js +28 -2
  171. package/dist/feature-icon-tabs-content.cjs +56 -5
  172. package/dist/feature-icon-tabs-content.js +56 -5
  173. package/dist/feature-image-cards-three-column.cjs +27 -1
  174. package/dist/feature-image-cards-three-column.js +27 -1
  175. package/dist/feature-integration-cards.cjs +28 -2
  176. package/dist/feature-integration-cards.js +28 -2
  177. package/dist/feature-pattern-grid-links.cjs +28 -2
  178. package/dist/feature-pattern-grid-links.js +28 -2
  179. package/dist/feature-utility-cards-grid.cjs +9 -4
  180. package/dist/feature-utility-cards-grid.js +9 -4
  181. package/dist/footer-comprehensive-links.cjs +231 -151
  182. package/dist/footer-comprehensive-links.js +231 -151
  183. package/dist/hero-ad-campaign-expert.cjs +24 -2
  184. package/dist/hero-ad-campaign-expert.js +24 -2
  185. package/dist/hero-adaptable-product-grid.cjs +27 -1
  186. package/dist/hero-adaptable-product-grid.js +27 -1
  187. package/dist/hero-ai-powered-carousel.cjs +27 -1
  188. package/dist/hero-ai-powered-carousel.js +27 -1
  189. package/dist/hero-announcement-badge.cjs +27 -1
  190. package/dist/hero-announcement-badge.js +27 -1
  191. package/dist/hero-architecture-fullscreen.cjs +50 -2
  192. package/dist/hero-architecture-fullscreen.js +50 -2
  193. package/dist/hero-badge-image-split.cjs +27 -1
  194. package/dist/hero-badge-image-split.js +27 -1
  195. package/dist/hero-business-carousel-dots.cjs +27 -1
  196. package/dist/hero-business-carousel-dots.js +27 -1
  197. package/dist/hero-centered-gradient-cta.cjs +28 -2
  198. package/dist/hero-centered-gradient-cta.js +28 -2
  199. package/dist/hero-centered-image-grid.cjs +27 -1
  200. package/dist/hero-centered-image-grid.js +27 -1
  201. package/dist/hero-centered-screenshot.cjs +50 -2
  202. package/dist/hero-centered-screenshot.js +50 -2
  203. package/dist/hero-coming-soon-countdown.cjs +37 -7
  204. package/dist/hero-coming-soon-countdown.js +37 -7
  205. package/dist/hero-community-survey-cta.cjs +27 -1
  206. package/dist/hero-community-survey-cta.js +27 -1
  207. package/dist/hero-conversation-intelligence.cjs +50 -2
  208. package/dist/hero-conversation-intelligence.js +50 -2
  209. package/dist/hero-conversion-video-play.cjs +55 -3
  210. package/dist/hero-conversion-video-play.js +55 -3
  211. package/dist/hero-creative-studio-stacked.cjs +28 -2
  212. package/dist/hero-creative-studio-stacked.js +28 -2
  213. package/dist/hero-crm-streamlined.cjs +27 -1
  214. package/dist/hero-crm-streamlined.js +27 -1
  215. package/dist/hero-customer-support-layered.cjs +51 -3
  216. package/dist/hero-customer-support-layered.js +51 -3
  217. package/dist/hero-dashed-border-features.cjs +27 -1
  218. package/dist/hero-dashed-border-features.js +27 -1
  219. package/dist/hero-design-showcase-logos.cjs +27 -1
  220. package/dist/hero-design-showcase-logos.js +27 -1
  221. package/dist/hero-design-system-3d.cjs +32 -2
  222. package/dist/hero-design-system-3d.js +32 -2
  223. package/dist/hero-developer-tools-code.cjs +27 -1
  224. package/dist/hero-developer-tools-code.js +27 -1
  225. package/dist/hero-digital-agency-fullscreen.cjs +33 -3
  226. package/dist/hero-digital-agency-fullscreen.js +33 -3
  227. package/dist/hero-ecommerce-product-showcase.cjs +32 -6
  228. package/dist/hero-ecommerce-product-showcase.js +32 -6
  229. package/dist/hero-enterprise-security.cjs +34 -4
  230. package/dist/hero-enterprise-security.js +34 -4
  231. package/dist/hero-event-registration.cjs +35 -5
  232. package/dist/hero-event-registration.js +35 -5
  233. package/dist/hero-feature-cards-grid.cjs +82 -4
  234. package/dist/hero-feature-cards-grid.js +82 -4
  235. package/dist/hero-gradient-avatars-rating.cjs +30 -4
  236. package/dist/hero-gradient-avatars-rating.js +30 -4
  237. package/dist/hero-gradient-client-focused.cjs +27 -1
  238. package/dist/hero-gradient-client-focused.js +27 -1
  239. package/dist/hero-grid-pattern-efficiency.cjs +28 -2
  240. package/dist/hero-grid-pattern-efficiency.js +28 -2
  241. package/dist/hero-grid-pattern-solutions.cjs +27 -1
  242. package/dist/hero-grid-pattern-solutions.js +27 -1
  243. package/dist/hero-image-left-content.cjs +27 -1
  244. package/dist/hero-image-left-content.js +27 -1
  245. package/dist/hero-innovation-image-grid.cjs +27 -1
  246. package/dist/hero-innovation-image-grid.js +27 -1
  247. package/dist/hero-logo-centered-screenshot.cjs +27 -1
  248. package/dist/hero-logo-centered-screenshot.js +27 -1
  249. package/dist/hero-marketplace-scattered-images.cjs +27 -1
  250. package/dist/hero-marketplace-scattered-images.js +27 -1
  251. package/dist/hero-mentorship-video-split.cjs +7 -3
  252. package/dist/hero-mentorship-video-split.js +7 -3
  253. package/dist/hero-minimal-centered-dark.cjs +55 -3
  254. package/dist/hero-minimal-centered-dark.js +55 -3
  255. package/dist/hero-mobile-app-download.cjs +34 -4
  256. package/dist/hero-mobile-app-download.js +34 -4
  257. package/dist/hero-newsletter-minimal.cjs +29 -3
  258. package/dist/hero-newsletter-minimal.js +29 -3
  259. package/dist/hero-overlay-cta-grid.cjs +33 -3
  260. package/dist/hero-overlay-cta-grid.js +33 -3
  261. package/dist/hero-pattern-badge-logos.cjs +28 -2
  262. package/dist/hero-pattern-badge-logos.js +28 -2
  263. package/dist/hero-pattern-logo-tech-stack.cjs +33 -3
  264. package/dist/hero-pattern-logo-tech-stack.js +33 -3
  265. package/dist/hero-platform-features-grid.cjs +28 -2
  266. package/dist/hero-platform-features-grid.js +28 -2
  267. package/dist/hero-portfolio-creative.cjs +29 -3
  268. package/dist/hero-portfolio-creative.js +29 -3
  269. package/dist/hero-pricing-comparison.cjs +52 -4
  270. package/dist/hero-pricing-comparison.js +52 -4
  271. package/dist/hero-product-showcase-floating.cjs +34 -4
  272. package/dist/hero-product-showcase-floating.js +34 -4
  273. package/dist/hero-productivity-launcher-video.cjs +29 -3
  274. package/dist/hero-productivity-launcher-video.js +29 -3
  275. package/dist/hero-saas-dashboard-preview.cjs +34 -4
  276. package/dist/hero-saas-dashboard-preview.js +34 -4
  277. package/dist/hero-shared-inbox-layered.cjs +51 -3
  278. package/dist/hero-shared-inbox-layered.js +51 -3
  279. package/dist/hero-simple-centered-image.cjs +27 -1
  280. package/dist/hero-simple-centered-image.js +27 -1
  281. package/dist/hero-software-growth-video-dialog.cjs +50 -2
  282. package/dist/hero-software-growth-video-dialog.js +50 -2
  283. package/dist/hero-spiral-pattern-cards.cjs +28 -2
  284. package/dist/hero-spiral-pattern-cards.js +28 -2
  285. package/dist/hero-split-icon-cards.cjs +34 -4
  286. package/dist/hero-split-icon-cards.js +34 -4
  287. package/dist/hero-split-image-newsletter.cjs +28 -2
  288. package/dist/hero-split-image-newsletter.js +28 -2
  289. package/dist/hero-split-spiral-shapes.cjs +28 -2
  290. package/dist/hero-split-spiral-shapes.js +28 -2
  291. package/dist/hero-startup-launch-cta.cjs +28 -2
  292. package/dist/hero-startup-launch-cta.js +28 -2
  293. package/dist/hero-stats-social-proof.cjs +34 -4
  294. package/dist/hero-stats-social-proof.js +34 -4
  295. package/dist/hero-tech-carousel.cjs +27 -1
  296. package/dist/hero-tech-carousel.js +27 -1
  297. package/dist/hero-ui-library-showcase.cjs +27 -1
  298. package/dist/hero-ui-library-showcase.js +27 -1
  299. package/dist/hero-video-background-dark.cjs +28 -2
  300. package/dist/hero-video-background-dark.js +28 -2
  301. package/dist/hero-video-dialog-gradient.cjs +27 -1
  302. package/dist/hero-video-dialog-gradient.js +27 -1
  303. package/dist/hero-welcome-asymmetric-images.cjs +30 -2
  304. package/dist/hero-welcome-asymmetric-images.js +30 -2
  305. package/dist/index.cjs +104 -36
  306. package/dist/index.d.cts +1 -1
  307. package/dist/index.d.ts +1 -1
  308. package/dist/index.js +102 -37
  309. package/dist/link-page-bento-layout.cjs +57 -28
  310. package/dist/link-page-bento-layout.d.cts +1 -5
  311. package/dist/link-page-bento-layout.d.ts +1 -5
  312. package/dist/link-page-bento-layout.js +57 -28
  313. package/dist/link-page-grid-cards.cjs +52 -23
  314. package/dist/link-page-grid-cards.d.cts +1 -5
  315. package/dist/link-page-grid-cards.d.ts +1 -5
  316. package/dist/link-page-grid-cards.js +52 -23
  317. package/dist/link-page-minimal-profile.cjs +46 -18
  318. package/dist/link-page-minimal-profile.d.cts +1 -5
  319. package/dist/link-page-minimal-profile.d.ts +1 -5
  320. package/dist/link-page-minimal-profile.js +46 -18
  321. package/dist/link-page-newsletter-social.cjs +53 -28
  322. package/dist/link-page-newsletter-social.d.cts +1 -5
  323. package/dist/link-page-newsletter-social.d.ts +1 -5
  324. package/dist/link-page-newsletter-social.js +53 -28
  325. package/dist/link-tree-block.cjs +122 -34
  326. package/dist/link-tree-block.d.cts +1 -8
  327. package/dist/link-tree-block.d.ts +1 -8
  328. package/dist/link-tree-block.js +122 -34
  329. package/dist/media-hover-ctas.cjs +28 -2
  330. package/dist/media-hover-ctas.js +28 -2
  331. package/dist/process-expandable-timeline.cjs +66 -10
  332. package/dist/process-expandable-timeline.js +66 -10
  333. package/dist/process-hover-cards.cjs +39 -6
  334. package/dist/process-hover-cards.js +39 -6
  335. package/dist/process-icon-timeline.cjs +53 -3
  336. package/dist/process-icon-timeline.js +53 -3
  337. package/dist/process-mission-principles.cjs +44 -6
  338. package/dist/process-mission-principles.js +44 -6
  339. package/dist/process-numbered-services.cjs +76 -22
  340. package/dist/process-numbered-services.js +76 -22
  341. package/dist/process-roadmap-timeline.cjs +63 -9
  342. package/dist/process-roadmap-timeline.js +63 -9
  343. package/dist/process-scroll-image.cjs +71 -32
  344. package/dist/process-scroll-image.js +71 -32
  345. package/dist/process-steps-grid.cjs +61 -5
  346. package/dist/process-steps-grid.js +61 -5
  347. package/dist/process-sticky-steps.cjs +49 -69
  348. package/dist/process-sticky-steps.d.cts +1 -13
  349. package/dist/process-sticky-steps.d.ts +1 -13
  350. package/dist/process-sticky-steps.js +49 -69
  351. package/dist/project-zigzag-layout.cjs +379 -3
  352. package/dist/project-zigzag-layout.d.cts +8 -1
  353. package/dist/project-zigzag-layout.d.ts +8 -1
  354. package/dist/project-zigzag-layout.js +380 -3
  355. package/dist/registry.cjs +2759 -2476
  356. package/dist/registry.js +2759 -2476
  357. package/dist/team-media-showcase.cjs +59 -4
  358. package/dist/team-media-showcase.d.cts +4 -0
  359. package/dist/team-media-showcase.d.ts +4 -0
  360. package/dist/team-media-showcase.js +59 -4
  361. package/dist/testimonials-carousel-image.d.cts +6 -0
  362. package/dist/testimonials-carousel-image.d.ts +6 -0
  363. package/dist/utils.cjs +58 -0
  364. package/dist/utils.d.cts +113 -1
  365. package/dist/utils.d.ts +113 -1
  366. package/dist/utils.js +56 -1
  367. 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: "bg-success/10 text-success",
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: "bg-primary/10 text-primary",
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"), getNestedCardTextColor(background)),
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 text-muted-foreground", children: milestone.date }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-medium text-muted-foreground", children: milestone.date })),
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 text-muted-foreground", children: milestone.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-muted-foreground", children: milestone.description })),
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 bg-background",
679
- milestone.status === "completed" ? "border-success bg-success text-background" : milestone.status === "in-progress" ? "border-primary bg-primary text-primary-foreground" : "border-border text-muted-foreground",
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 text-muted-foreground",
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: "bg-success/10 text-success",
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: "bg-primary/10 text-primary",
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"), getNestedCardTextColor(background)),
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 text-muted-foreground", children: milestone.date }) : /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-muted-foreground", children: milestone.date })),
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 text-muted-foreground", children: milestone.description }) : /* @__PURE__ */ jsx("div", { className: "mb-4 text-muted-foreground", children: milestone.description })),
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 bg-background",
658
- milestone.status === "completed" ? "border-success bg-success text-background" : milestone.status === "in-progress" ? "border-primary bg-primary text-primary-foreground" : "border-border text-muted-foreground",
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 text-muted-foreground",
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: "text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", children: step.description }))
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: "text-primary"
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("div", { className: cn("flex flex-col gap-2", actionsClassName), children: resolvedActions.map((action, index) => {
1027
- const {
1028
- label,
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(
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
- iconAfter
1048
- ] })
1049
- },
1050
- index
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 text-muted-foreground",
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: "text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground", children: step.description }))
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: "text-primary"
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("div", { className: cn("flex flex-col gap-2", actionsClassName), children: resolvedActions.map((action, index) => {
1006
- const {
1007
- label,
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(
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
- iconAfter
1027
- ] })
1028
- },
1029
- index
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 text-muted-foreground",
1129
+ "text-base",
1130
+ getTextColor(background, "muted"),
1092
1131
  descriptionClassName
1093
1132
  ),
1094
1133
  children: description