@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
@@ -15,6 +15,32 @@ var React__default = /*#__PURE__*/_interopDefault(React);
15
15
  function cn(...inputs) {
16
16
  return tailwindMerge.twMerge(clsx.clsx(inputs));
17
17
  }
18
+ function getNestedCardBg(parentBg, variant = "muted", options) {
19
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
20
+ if (isDark) {
21
+ switch (variant) {
22
+ case "muted":
23
+ return "bg-background";
24
+ case "card":
25
+ return "bg-card";
26
+ case "accent":
27
+ return "bg-accent";
28
+ case "subtle":
29
+ return "bg-background/50";
30
+ }
31
+ } else {
32
+ switch (variant) {
33
+ case "muted":
34
+ return "bg-muted";
35
+ case "card":
36
+ return "bg-card";
37
+ case "accent":
38
+ return "bg-accent";
39
+ case "subtle":
40
+ return "bg-muted/50";
41
+ }
42
+ }
43
+ }
18
44
  var maxWidthStyles = {
19
45
  sm: "max-w-screen-sm",
20
46
  md: "max-w-screen-md",
@@ -417,7 +443,7 @@ function MediaHoverCtas({
417
443
  "--media-hover-cta-hover-bg": item.onHoverBackgroundColor
418
444
  } : {}
419
445
  } : void 0;
420
- const baseBackgroundClassName = item.initialBackgroundColor ? "bg-[var(--media-hover-cta-bg)]" : "bg-muted-foreground/10";
446
+ const baseBackgroundClassName = item.initialBackgroundColor ? "bg-[var(--media-hover-cta-bg)]" : getNestedCardBg(background, "muted");
421
447
  const hoverBackgroundClassName = applyHoverBackground ? "group-hover:bg-[var(--media-hover-cta-hover-bg)]" : "";
422
448
  const hoverImageAltText = item.altText ?? "";
423
449
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -453,7 +479,7 @@ function MediaHoverCtas({
453
479
  index
454
480
  );
455
481
  });
456
- }, [itemsSlot, resolvedItems, optixFlowConfig]);
482
+ }, [itemsSlot, resolvedItems, optixFlowConfig, background]);
457
483
  return /* @__PURE__ */ jsxRuntime.jsx(
458
484
  Section,
459
485
  {
@@ -9,6 +9,32 @@ import { jsx, jsxs } from 'react/jsx-runtime';
9
9
  function cn(...inputs) {
10
10
  return twMerge(clsx(inputs));
11
11
  }
12
+ function getNestedCardBg(parentBg, variant = "muted", options) {
13
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
14
+ if (isDark) {
15
+ switch (variant) {
16
+ case "muted":
17
+ return "bg-background";
18
+ case "card":
19
+ return "bg-card";
20
+ case "accent":
21
+ return "bg-accent";
22
+ case "subtle":
23
+ return "bg-background/50";
24
+ }
25
+ } else {
26
+ switch (variant) {
27
+ case "muted":
28
+ return "bg-muted";
29
+ case "card":
30
+ return "bg-card";
31
+ case "accent":
32
+ return "bg-accent";
33
+ case "subtle":
34
+ return "bg-muted/50";
35
+ }
36
+ }
37
+ }
12
38
  var maxWidthStyles = {
13
39
  sm: "max-w-screen-sm",
14
40
  md: "max-w-screen-md",
@@ -411,7 +437,7 @@ function MediaHoverCtas({
411
437
  "--media-hover-cta-hover-bg": item.onHoverBackgroundColor
412
438
  } : {}
413
439
  } : void 0;
414
- const baseBackgroundClassName = item.initialBackgroundColor ? "bg-[var(--media-hover-cta-bg)]" : "bg-muted-foreground/10";
440
+ const baseBackgroundClassName = item.initialBackgroundColor ? "bg-[var(--media-hover-cta-bg)]" : getNestedCardBg(background, "muted");
415
441
  const hoverBackgroundClassName = applyHoverBackground ? "group-hover:bg-[var(--media-hover-cta-hover-bg)]" : "";
416
442
  const hoverImageAltText = item.altText ?? "";
417
443
  return /* @__PURE__ */ jsxs(
@@ -447,7 +473,7 @@ function MediaHoverCtas({
447
473
  index
448
474
  );
449
475
  });
450
- }, [itemsSlot, resolvedItems, optixFlowConfig]);
476
+ }, [itemsSlot, resolvedItems, optixFlowConfig, background]);
451
477
  return /* @__PURE__ */ jsx(
452
478
  Section,
453
479
  {
@@ -61,6 +61,58 @@ function getNestedCardTextColor(parentBg, options) {
61
61
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
62
62
  return isDark ? "text-foreground" : "";
63
63
  }
64
+ function getTextColor(parentBg, variant = "default", options) {
65
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
66
+ if (isDark) {
67
+ switch (variant) {
68
+ case "default":
69
+ return "text-foreground";
70
+ case "muted":
71
+ return "text-foreground/80";
72
+ case "subtle":
73
+ return "text-foreground/60";
74
+ case "accent":
75
+ return "text-accent-foreground";
76
+ }
77
+ } else {
78
+ switch (variant) {
79
+ case "default":
80
+ return "text-foreground";
81
+ case "muted":
82
+ return "text-muted-foreground";
83
+ case "subtle":
84
+ return "text-muted-foreground/70";
85
+ case "accent":
86
+ return "text-primary";
87
+ }
88
+ }
89
+ }
90
+ function getAccentColor(parentBg, options) {
91
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
92
+ return isDark ? "text-accent-foreground" : "text-primary";
93
+ }
94
+ function getBorderColor(parentBg, variant = "default", options) {
95
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
96
+ if (isDark) {
97
+ switch (variant) {
98
+ case "default":
99
+ return "border-foreground/20";
100
+ case "muted":
101
+ return "border-foreground/10";
102
+ case "accent":
103
+ return "border-accent-foreground";
104
+ }
105
+ } else {
106
+ switch (variant) {
107
+ case "default":
108
+ return "border-border";
109
+ case "muted":
110
+ return "border-muted";
111
+ case "accent":
112
+ return "border-primary";
113
+ }
114
+ }
115
+ }
64
116
  var svgCache = /* @__PURE__ */ new Map();
65
117
  function DynamicIcon({
66
118
  name,
@@ -612,7 +664,8 @@ function ProcessExpandableTimeline({
612
664
  {
613
665
  onClick: () => toggleExpand(index),
614
666
  className: cn(
615
- "group relative flex w-full items-start gap-6 border-b py-6 pl-16 text-left transition-colors hover:bg-muted/30",
667
+ "group relative flex w-full items-start gap-6 border-b py-6 pl-16 text-left transition-colors",
668
+ `hover:${getNestedCardBg(background, "muted")}/30`,
616
669
  stepItemClassName
617
670
  ),
618
671
  children: [
@@ -620,27 +673,28 @@ function ProcessExpandableTimeline({
620
673
  "div",
621
674
  {
622
675
  className: cn(
623
- "absolute left-0 flex size-12 items-center justify-center rounded-full border-2 bg-background transition-colors",
624
- expandedIndex === index ? "border-primary bg-primary text-primary-foreground" : "border-border text-muted-foreground group-hover:border-primary",
676
+ "absolute left-0 flex size-12 items-center justify-center rounded-full border-2 transition-colors",
677
+ getNestedCardBg(background, "card"),
678
+ expandedIndex === index ? cn(getBorderColor(background, "accent"), "bg-primary text-primary-foreground") : cn(getBorderColor(background, "default"), getTextColor(background, "muted"), `group-hover:${getBorderColor(background, "accent")}`),
625
679
  stepBadgeClassName
626
680
  ),
627
681
  children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold", children: String(index + 1).padStart(2, "0") })
628
682
  }
629
683
  ),
630
- /* @__PURE__ */ jsxRuntime.jsx(CornerConnector, { className: "absolute right-4 top-4 text-muted-foreground/30" }),
684
+ /* @__PURE__ */ jsxRuntime.jsx(CornerConnector, { className: cn("absolute right-4 top-4", getTextColor(background, "muted"), "opacity-30") }),
631
685
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 pr-12", children: [
632
686
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
633
- step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-semibold tracking-tight transition-colors group-hover:text-primary", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xl font-semibold tracking-tight transition-colors group-hover:text-primary", children: step.title })),
687
+ step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-xl font-semibold tracking-tight transition-colors", `group-hover:${getAccentColor(background)}`), children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-xl font-semibold tracking-tight transition-colors", `group-hover:${getAccentColor(background)}`), children: step.title })),
634
688
  /* @__PURE__ */ jsxRuntime.jsx(
635
689
  DynamicIcon,
636
690
  {
637
691
  name: expandedIndex === index ? "lucide/chevron-up" : "lucide/chevron-down",
638
692
  size: 20,
639
- className: "text-muted-foreground"
693
+ className: getTextColor(background, "muted")
640
694
  }
641
695
  )
642
696
  ] }),
643
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-muted-foreground", children: step.description }))
697
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-1", getTextColor(background, "muted")), children: step.description }))
644
698
  ] })
645
699
  ]
646
700
  }
@@ -662,7 +716,7 @@ function ProcessExpandableTimeline({
662
716
  getNestedCardTextColor(background),
663
717
  expandedContentClassName
664
718
  ),
665
- children: typeof step.expandedContent === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: step.expandedContent }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground", children: step.expandedContent })
719
+ children: typeof step.expandedContent === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: getTextColor(background, "muted"), children: step.expandedContent }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: getTextColor(background, "muted"), children: step.expandedContent })
666
720
  }
667
721
  )
668
722
  }
@@ -693,7 +747,8 @@ function ProcessExpandableTimeline({
693
747
  "p",
694
748
  {
695
749
  className: cn(
696
- "text-lg text-muted-foreground",
750
+ "text-lg",
751
+ getTextColor(background, "muted"),
697
752
  descriptionClassName
698
753
  ),
699
754
  children: description
@@ -705,7 +760,8 @@ function ProcessExpandableTimeline({
705
760
  "div",
706
761
  {
707
762
  className: cn(
708
- "absolute left-6 top-0 bottom-0 w-px bg-border",
763
+ "absolute left-6 top-0 bottom-0 w-px",
764
+ getBorderColor(background, "default"),
709
765
  timelineLineClassName
710
766
  )
711
767
  }
@@ -40,6 +40,58 @@ function getNestedCardTextColor(parentBg, options) {
40
40
  const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
41
41
  return isDark ? "text-foreground" : "";
42
42
  }
43
+ function getTextColor(parentBg, variant = "default", options) {
44
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
45
+ if (isDark) {
46
+ switch (variant) {
47
+ case "default":
48
+ return "text-foreground";
49
+ case "muted":
50
+ return "text-foreground/80";
51
+ case "subtle":
52
+ return "text-foreground/60";
53
+ case "accent":
54
+ return "text-accent-foreground";
55
+ }
56
+ } else {
57
+ switch (variant) {
58
+ case "default":
59
+ return "text-foreground";
60
+ case "muted":
61
+ return "text-muted-foreground";
62
+ case "subtle":
63
+ return "text-muted-foreground/70";
64
+ case "accent":
65
+ return "text-primary";
66
+ }
67
+ }
68
+ }
69
+ function getAccentColor(parentBg, options) {
70
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
71
+ return isDark ? "text-accent-foreground" : "text-primary";
72
+ }
73
+ function getBorderColor(parentBg, variant = "default", options) {
74
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
75
+ if (isDark) {
76
+ switch (variant) {
77
+ case "default":
78
+ return "border-foreground/20";
79
+ case "muted":
80
+ return "border-foreground/10";
81
+ case "accent":
82
+ return "border-accent-foreground";
83
+ }
84
+ } else {
85
+ switch (variant) {
86
+ case "default":
87
+ return "border-border";
88
+ case "muted":
89
+ return "border-muted";
90
+ case "accent":
91
+ return "border-primary";
92
+ }
93
+ }
94
+ }
43
95
  var svgCache = /* @__PURE__ */ new Map();
44
96
  function DynamicIcon({
45
97
  name,
@@ -591,7 +643,8 @@ function ProcessExpandableTimeline({
591
643
  {
592
644
  onClick: () => toggleExpand(index),
593
645
  className: cn(
594
- "group relative flex w-full items-start gap-6 border-b py-6 pl-16 text-left transition-colors hover:bg-muted/30",
646
+ "group relative flex w-full items-start gap-6 border-b py-6 pl-16 text-left transition-colors",
647
+ `hover:${getNestedCardBg(background, "muted")}/30`,
595
648
  stepItemClassName
596
649
  ),
597
650
  children: [
@@ -599,27 +652,28 @@ function ProcessExpandableTimeline({
599
652
  "div",
600
653
  {
601
654
  className: cn(
602
- "absolute left-0 flex size-12 items-center justify-center rounded-full border-2 bg-background transition-colors",
603
- expandedIndex === index ? "border-primary bg-primary text-primary-foreground" : "border-border text-muted-foreground group-hover:border-primary",
655
+ "absolute left-0 flex size-12 items-center justify-center rounded-full border-2 transition-colors",
656
+ getNestedCardBg(background, "card"),
657
+ expandedIndex === index ? cn(getBorderColor(background, "accent"), "bg-primary text-primary-foreground") : cn(getBorderColor(background, "default"), getTextColor(background, "muted"), `group-hover:${getBorderColor(background, "accent")}`),
604
658
  stepBadgeClassName
605
659
  ),
606
660
  children: /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold", children: String(index + 1).padStart(2, "0") })
607
661
  }
608
662
  ),
609
- /* @__PURE__ */ jsx(CornerConnector, { className: "absolute right-4 top-4 text-muted-foreground/30" }),
663
+ /* @__PURE__ */ jsx(CornerConnector, { className: cn("absolute right-4 top-4", getTextColor(background, "muted"), "opacity-30") }),
610
664
  /* @__PURE__ */ jsxs("div", { className: "flex-1 pr-12", children: [
611
665
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
612
- step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-xl font-semibold tracking-tight transition-colors group-hover:text-primary", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "text-xl font-semibold tracking-tight transition-colors group-hover:text-primary", children: step.title })),
666
+ step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-xl font-semibold tracking-tight transition-colors", `group-hover:${getAccentColor(background)}`), children: step.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-xl font-semibold tracking-tight transition-colors", `group-hover:${getAccentColor(background)}`), children: step.title })),
613
667
  /* @__PURE__ */ jsx(
614
668
  DynamicIcon,
615
669
  {
616
670
  name: expandedIndex === index ? "lucide/chevron-up" : "lucide/chevron-down",
617
671
  size: 20,
618
- className: "text-muted-foreground"
672
+ className: getTextColor(background, "muted")
619
673
  }
620
674
  )
621
675
  ] }),
622
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsx("div", { className: "mt-1 text-muted-foreground", children: step.description }))
676
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-1", getTextColor(background, "muted")), children: step.description }))
623
677
  ] })
624
678
  ]
625
679
  }
@@ -641,7 +695,7 @@ function ProcessExpandableTimeline({
641
695
  getNestedCardTextColor(background),
642
696
  expandedContentClassName
643
697
  ),
644
- children: typeof step.expandedContent === "string" ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: step.expandedContent }) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground", children: step.expandedContent })
698
+ children: typeof step.expandedContent === "string" ? /* @__PURE__ */ jsx("p", { className: getTextColor(background, "muted"), children: step.expandedContent }) : /* @__PURE__ */ jsx("div", { className: getTextColor(background, "muted"), children: step.expandedContent })
645
699
  }
646
700
  )
647
701
  }
@@ -672,7 +726,8 @@ function ProcessExpandableTimeline({
672
726
  "p",
673
727
  {
674
728
  className: cn(
675
- "text-lg text-muted-foreground",
729
+ "text-lg",
730
+ getTextColor(background, "muted"),
676
731
  descriptionClassName
677
732
  ),
678
733
  children: description
@@ -684,7 +739,8 @@ function ProcessExpandableTimeline({
684
739
  "div",
685
740
  {
686
741
  className: cn(
687
- "absolute left-6 top-0 bottom-0 w-px bg-border",
742
+ "absolute left-6 top-0 bottom-0 w-px",
743
+ getBorderColor(background, "default"),
688
744
  timelineLineClassName
689
745
  )
690
746
  }
@@ -32,6 +32,36 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
32
  function cn(...inputs) {
33
33
  return tailwindMerge.twMerge(clsx.clsx(inputs));
34
34
  }
35
+ function getTextColor(parentBg, variant = "default", options) {
36
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
37
+ if (isDark) {
38
+ switch (variant) {
39
+ case "default":
40
+ return "text-foreground";
41
+ case "muted":
42
+ return "text-foreground/80";
43
+ case "subtle":
44
+ return "text-foreground/60";
45
+ case "accent":
46
+ return "text-accent-foreground";
47
+ }
48
+ } else {
49
+ switch (variant) {
50
+ case "default":
51
+ return "text-foreground";
52
+ case "muted":
53
+ return "text-muted-foreground";
54
+ case "subtle":
55
+ return "text-muted-foreground/70";
56
+ case "accent":
57
+ return "text-primary";
58
+ }
59
+ }
60
+ }
61
+ function getAccentColor(parentBg, options) {
62
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
63
+ return isDark ? "text-accent-foreground" : "text-primary";
64
+ }
35
65
  var maxWidthStyles = {
36
66
  sm: "max-w-screen-sm",
37
67
  md: "max-w-screen-md",
@@ -412,7 +442,8 @@ var ProcessCard = ({
412
442
  index,
413
443
  optixFlowConfig,
414
444
  itemClassName,
415
- hoverImageClassName
445
+ hoverImageClassName,
446
+ background
416
447
  }) => {
417
448
  const [isHovered, setIsHovered] = React__namespace.useState(false);
418
449
  const titleText = typeof step.title === "string" ? step.title : `Step ${index + 1}`;
@@ -450,10 +481,10 @@ var ProcessCard = ({
450
481
  }
451
482
  ) }),
452
483
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-8", children: [
453
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-fit items-center justify-center font-mono text-sm tracking-tighter text-muted-foreground", children: step.step ?? `0${index + 1}` }),
484
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-fit items-center justify-center font-mono text-sm tracking-tighter", getTextColor(background, "muted")), children: step.step ?? `0${index + 1}` }),
454
485
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
455
- step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-2xl font-semibold tracking-tighter transition-colors group-hover:text-primary lg:text-3xl", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: step.title })),
456
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "max-w-md text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-md text-muted-foreground", children: step.description }))
486
+ step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-2xl font-semibold tracking-tighter transition-colors lg:text-3xl", `group-hover:${getAccentColor(background)}`), children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2", children: step.title })),
487
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-md", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-w-md", getTextColor(background, "muted")), children: step.description }))
457
488
  ] })
458
489
  ] }) })
459
490
  ]
@@ -492,7 +523,8 @@ function ProcessHoverCards({
492
523
  index,
493
524
  optixFlowConfig,
494
525
  itemClassName: stepItemClassName,
495
- hoverImageClassName
526
+ hoverImageClassName,
527
+ background
496
528
  },
497
529
  index
498
530
  )) });
@@ -521,7 +553,8 @@ function ProcessHoverCards({
521
553
  "p",
522
554
  {
523
555
  className: cn(
524
- "text-lg text-muted-foreground",
556
+ "text-lg",
557
+ getTextColor(background, "muted"),
525
558
  descriptionClassName
526
559
  ),
527
560
  children: description
@@ -11,6 +11,36 @@ import { jsx, jsxs } from 'react/jsx-runtime';
11
11
  function cn(...inputs) {
12
12
  return twMerge(clsx(inputs));
13
13
  }
14
+ function getTextColor(parentBg, variant = "default", options) {
15
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
16
+ if (isDark) {
17
+ switch (variant) {
18
+ case "default":
19
+ return "text-foreground";
20
+ case "muted":
21
+ return "text-foreground/80";
22
+ case "subtle":
23
+ return "text-foreground/60";
24
+ case "accent":
25
+ return "text-accent-foreground";
26
+ }
27
+ } else {
28
+ switch (variant) {
29
+ case "default":
30
+ return "text-foreground";
31
+ case "muted":
32
+ return "text-muted-foreground";
33
+ case "subtle":
34
+ return "text-muted-foreground/70";
35
+ case "accent":
36
+ return "text-primary";
37
+ }
38
+ }
39
+ }
40
+ function getAccentColor(parentBg, options) {
41
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
42
+ return isDark ? "text-accent-foreground" : "text-primary";
43
+ }
14
44
  var maxWidthStyles = {
15
45
  sm: "max-w-screen-sm",
16
46
  md: "max-w-screen-md",
@@ -391,7 +421,8 @@ var ProcessCard = ({
391
421
  index,
392
422
  optixFlowConfig,
393
423
  itemClassName,
394
- hoverImageClassName
424
+ hoverImageClassName,
425
+ background
395
426
  }) => {
396
427
  const [isHovered, setIsHovered] = React.useState(false);
397
428
  const titleText = typeof step.title === "string" ? step.title : `Step ${index + 1}`;
@@ -429,10 +460,10 @@ var ProcessCard = ({
429
460
  }
430
461
  ) }),
431
462
  /* @__PURE__ */ jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-8", children: [
432
- /* @__PURE__ */ jsx("div", { className: "flex w-fit items-center justify-center font-mono text-sm tracking-tighter text-muted-foreground", children: step.step ?? `0${index + 1}` }),
463
+ /* @__PURE__ */ jsx("div", { className: cn("flex w-fit items-center justify-center font-mono text-sm tracking-tighter", getTextColor(background, "muted")), children: step.step ?? `0${index + 1}` }),
433
464
  /* @__PURE__ */ jsxs("div", { children: [
434
- step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-2 text-2xl font-semibold tracking-tighter transition-colors group-hover:text-primary lg:text-3xl", children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-2", children: step.title })),
435
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: "max-w-md text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsx("div", { className: "max-w-md text-muted-foreground", children: step.description }))
465
+ step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-2xl font-semibold tracking-tighter transition-colors lg:text-3xl", `group-hover:${getAccentColor(background)}`), children: step.title }) : /* @__PURE__ */ jsx("div", { className: "mb-2", children: step.title })),
466
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-md", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsx("div", { className: cn("max-w-md", getTextColor(background, "muted")), children: step.description }))
436
467
  ] })
437
468
  ] }) })
438
469
  ]
@@ -471,7 +502,8 @@ function ProcessHoverCards({
471
502
  index,
472
503
  optixFlowConfig,
473
504
  itemClassName: stepItemClassName,
474
- hoverImageClassName
505
+ hoverImageClassName,
506
+ background
475
507
  },
476
508
  index
477
509
  )) });
@@ -500,7 +532,8 @@ function ProcessHoverCards({
500
532
  "p",
501
533
  {
502
534
  className: cn(
503
- "text-lg text-muted-foreground",
535
+ "text-lg",
536
+ getTextColor(background, "muted"),
504
537
  descriptionClassName
505
538
  ),
506
539
  children: description
@@ -60,6 +60,54 @@ 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 getBorderColor(parentBg, variant = "default", options) {
90
+ const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
91
+ if (isDark) {
92
+ switch (variant) {
93
+ case "default":
94
+ return "border-foreground/20";
95
+ case "muted":
96
+ return "border-foreground/10";
97
+ case "accent":
98
+ return "border-accent-foreground";
99
+ }
100
+ } else {
101
+ switch (variant) {
102
+ case "default":
103
+ return "border-border";
104
+ case "muted":
105
+ return "border-muted";
106
+ case "accent":
107
+ return "border-primary";
108
+ }
109
+ }
110
+ }
63
111
  var svgCache = /* @__PURE__ */ new Map();
64
112
  function DynamicIcon({
65
113
  name,
@@ -604,7 +652,7 @@ function ProcessIconTimeline({
604
652
  ),
605
653
  children: [
606
654
  step.title && (typeof step.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-xl font-semibold tracking-tight", children: step.title })),
607
- step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-4 text-muted-foreground", children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 text-muted-foreground", children: step.description })),
655
+ step.description && (typeof step.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", getTextColor(background, "muted")), children: step.description })),
608
656
  step.highlights?.length ? /* @__PURE__ */ jsxRuntime.jsx(
609
657
  "div",
610
658
  {
@@ -661,7 +709,8 @@ function ProcessIconTimeline({
661
709
  "p",
662
710
  {
663
711
  className: cn(
664
- "text-lg text-muted-foreground",
712
+ "text-lg",
713
+ getTextColor(background, "muted"),
665
714
  descriptionClassName
666
715
  ),
667
716
  children: description
@@ -673,7 +722,8 @@ function ProcessIconTimeline({
673
722
  "div",
674
723
  {
675
724
  className: cn(
676
- "absolute left-6 top-0 bottom-0 w-px bg-border lg:left-1/2 lg:-translate-x-1/2",
725
+ "absolute left-6 top-0 bottom-0 w-px lg:left-1/2 lg:-translate-x-1/2",
726
+ getBorderColor(background, "default"),
677
727
  timelineLineClassName
678
728
  )
679
729
  }