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