@opensite/ui 0.8.3 → 0.8.5

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 (889) hide show
  1. package/dist/about-company-profile.cjs +1 -1
  2. package/dist/about-company-profile.js +1 -1
  3. package/dist/about-culture-tabs.cjs +1 -1
  4. package/dist/about-culture-tabs.js +1 -1
  5. package/dist/about-developer-profile.cjs +1 -1
  6. package/dist/about-developer-profile.js +1 -1
  7. package/dist/about-developer-story.cjs +1 -1
  8. package/dist/about-developer-story.js +1 -1
  9. package/dist/about-expandable-values.cjs +1 -1
  10. package/dist/about-expandable-values.js +1 -1
  11. package/dist/about-interactive-tabs.cjs +1 -1
  12. package/dist/about-interactive-tabs.js +1 -1
  13. package/dist/about-location-info-hero.cjs +1 -1
  14. package/dist/about-location-info-hero.js +1 -1
  15. package/dist/about-minimal-story.cjs +1 -1
  16. package/dist/about-minimal-story.js +1 -1
  17. package/dist/about-mission-dual-image.cjs +1 -1
  18. package/dist/about-mission-dual-image.js +1 -1
  19. package/dist/about-mission-features.cjs +1 -1
  20. package/dist/about-mission-features.js +1 -1
  21. package/dist/about-mission-principles.cjs +1 -1
  22. package/dist/about-mission-principles.js +1 -1
  23. package/dist/about-network-spotlight.cjs +1 -1
  24. package/dist/about-network-spotlight.js +1 -1
  25. package/dist/about-startup-team.cjs +1 -1
  26. package/dist/about-startup-team.js +1 -1
  27. package/dist/about-stats-showcase.cjs +1 -1
  28. package/dist/about-stats-showcase.js +1 -1
  29. package/dist/about-stats-sidebar.cjs +1 -1
  30. package/dist/about-stats-sidebar.js +1 -1
  31. package/dist/about-story-expertise.cjs +1 -1
  32. package/dist/about-story-expertise.js +1 -1
  33. package/dist/about-story-gallery.cjs +1 -1
  34. package/dist/about-story-gallery.js +1 -1
  35. package/dist/about-story-hero.cjs +1 -1
  36. package/dist/about-story-hero.js +1 -1
  37. package/dist/about-streamline-team.cjs +1 -1
  38. package/dist/about-streamline-team.js +1 -1
  39. package/dist/about-vision-gallery.cjs +1 -1
  40. package/dist/about-vision-gallery.js +1 -1
  41. package/dist/alternating-blocks.cjs +1 -1
  42. package/dist/alternating-blocks.js +1 -1
  43. package/dist/article-breadcrumb-social.cjs +58 -74
  44. package/dist/article-breadcrumb-social.d.cts +2 -24
  45. package/dist/article-breadcrumb-social.d.ts +2 -24
  46. package/dist/article-breadcrumb-social.js +58 -74
  47. package/dist/article-chapters-author.cjs +1 -1
  48. package/dist/article-chapters-author.js +1 -1
  49. package/dist/article-compact-toc.cjs +2 -2
  50. package/dist/article-compact-toc.js +2 -2
  51. package/dist/article-hero-prose.cjs +1 -1
  52. package/dist/article-hero-prose.js +1 -1
  53. package/dist/article-sidebar-sticky.cjs +74 -27
  54. package/dist/article-sidebar-sticky.js +74 -27
  55. package/dist/article-split-animated.cjs +1 -1
  56. package/dist/article-split-animated.js +1 -1
  57. package/dist/article-toc-sidebar.cjs +1 -1
  58. package/dist/article-toc-sidebar.js +1 -1
  59. package/dist/auto-scroll-carousel.cjs +1 -1
  60. package/dist/auto-scroll-carousel.js +1 -1
  61. package/dist/blog-cards-read-time.cjs +1 -1
  62. package/dist/blog-cards-read-time.js +1 -1
  63. package/dist/blog-cards-tagline-cta.cjs +1 -1
  64. package/dist/blog-cards-tagline-cta.js +1 -1
  65. package/dist/blog-carousel-apple.cjs +1 -1
  66. package/dist/blog-carousel-apple.js +1 -1
  67. package/dist/blog-category-overlay.cjs +1 -1
  68. package/dist/blog-category-overlay.js +1 -1
  69. package/dist/blog-featured-popular.cjs +1 -1
  70. package/dist/blog-featured-popular.js +1 -1
  71. package/dist/blog-filtered-results.cjs +1 -1
  72. package/dist/blog-filtered-results.js +1 -1
  73. package/dist/blog-grid-author-cards.cjs +1 -1
  74. package/dist/blog-grid-author-cards.js +1 -1
  75. package/dist/blog-grid-nine-posts.cjs +1 -1
  76. package/dist/blog-grid-nine-posts.js +1 -1
  77. package/dist/blog-horizontal-cards.cjs +1 -1
  78. package/dist/blog-horizontal-cards.js +1 -1
  79. package/dist/blog-horizontal-timeline.cjs +8 -5
  80. package/dist/blog-horizontal-timeline.js +8 -5
  81. package/dist/blog-masonry-featured.cjs +1 -1
  82. package/dist/blog-masonry-featured.js +1 -1
  83. package/dist/blog-related-articles.cjs +1 -1
  84. package/dist/blog-related-articles.js +1 -1
  85. package/dist/blog-tech-insights.cjs +1 -1
  86. package/dist/blog-tech-insights.js +1 -1
  87. package/dist/blur-vignette-grid.cjs +1 -1
  88. package/dist/blur-vignette-grid.js +1 -1
  89. package/dist/carousel-animated-sections.cjs +1 -1
  90. package/dist/carousel-animated-sections.js +1 -1
  91. package/dist/carousel-auto-progress-slides.cjs +1 -1
  92. package/dist/carousel-auto-progress-slides.js +1 -1
  93. package/dist/carousel-autoplay-progress.cjs +1 -1
  94. package/dist/carousel-autoplay-progress.js +1 -1
  95. package/dist/carousel-badge-cards.cjs +1 -1
  96. package/dist/carousel-badge-cards.js +1 -1
  97. package/dist/carousel-demo-link.cjs +1 -1
  98. package/dist/carousel-demo-link.js +1 -1
  99. package/dist/carousel-feature-badge.cjs +1 -1
  100. package/dist/carousel-feature-badge.js +1 -1
  101. package/dist/carousel-fullscreen-scroll-fx.cjs +1 -1
  102. package/dist/carousel-fullscreen-scroll-fx.js +1 -1
  103. package/dist/carousel-gallery-thumbnails.cjs +1 -1
  104. package/dist/carousel-gallery-thumbnails.js +1 -1
  105. package/dist/carousel-gradient-overlay.cjs +1 -1
  106. package/dist/carousel-gradient-overlay.js +1 -1
  107. package/dist/carousel-gradient-text.cjs +2 -2
  108. package/dist/carousel-gradient-text.js +2 -2
  109. package/dist/carousel-horizontal-cards.cjs +1 -1
  110. package/dist/carousel-horizontal-cards.js +1 -1
  111. package/dist/carousel-icon-sidebar.cjs +2 -2
  112. package/dist/carousel-icon-sidebar.js +2 -2
  113. package/dist/carousel-icon-tabs.cjs +2 -2
  114. package/dist/carousel-icon-tabs.js +2 -2
  115. package/dist/carousel-image-hero.cjs +1 -1
  116. package/dist/carousel-image-hero.js +1 -1
  117. package/dist/carousel-multi-step-showcase.cjs +1 -1
  118. package/dist/carousel-multi-step-showcase.js +1 -1
  119. package/dist/carousel-portfolio-hero.cjs +1 -1
  120. package/dist/carousel-portfolio-hero.js +1 -1
  121. package/dist/carousel-product-feature-showcase.cjs +1 -1
  122. package/dist/carousel-product-feature-showcase.js +1 -1
  123. package/dist/carousel-progress-slider.cjs +15 -9
  124. package/dist/carousel-progress-slider.js +15 -9
  125. package/dist/carousel-scale-focus.cjs +2 -2
  126. package/dist/carousel-scale-focus.js +2 -2
  127. package/dist/carousel-scrolling-feature-showcase.cjs +1 -1
  128. package/dist/carousel-scrolling-feature-showcase.js +1 -1
  129. package/dist/carousel-sidebar-resources.cjs +2 -2
  130. package/dist/carousel-sidebar-resources.js +2 -2
  131. package/dist/carousel-tabs-content.cjs +2 -2
  132. package/dist/carousel-tabs-content.js +2 -2
  133. package/dist/case-studies-featured-border.cjs +1 -1
  134. package/dist/case-studies-featured-border.js +1 -1
  135. package/dist/case-studies-image-grid.cjs +1 -1
  136. package/dist/case-studies-image-grid.js +1 -1
  137. package/dist/case-studies-stats-card.cjs +1 -1
  138. package/dist/case-studies-stats-card.js +1 -1
  139. package/dist/case-studies-testimonial-stats.cjs +1 -1
  140. package/dist/case-studies-testimonial-stats.js +1 -1
  141. package/dist/case-study-prose-sidebar.cjs +1 -1
  142. package/dist/case-study-prose-sidebar.js +1 -1
  143. package/dist/case-study-stats-metrics.cjs +1 -1
  144. package/dist/case-study-stats-metrics.js +1 -1
  145. package/dist/case-study-toc-social-sidebar.cjs +1 -1
  146. package/dist/case-study-toc-social-sidebar.js +1 -1
  147. package/dist/community-initiatives.cjs +1 -1
  148. package/dist/community-initiatives.js +1 -1
  149. package/dist/comparison-ai-models.cjs +1 -1
  150. package/dist/comparison-ai-models.js +1 -1
  151. package/dist/comparison-feature-cards.cjs +1 -1
  152. package/dist/comparison-feature-cards.js +1 -1
  153. package/dist/comparison-feature-grid.cjs +1 -1
  154. package/dist/comparison-feature-grid.js +1 -1
  155. package/dist/comparison-grid-badges.cjs +1 -1
  156. package/dist/comparison-grid-badges.js +1 -1
  157. package/dist/comparison-image-cards.cjs +1 -1
  158. package/dist/comparison-image-cards.js +1 -1
  159. package/dist/comparison-legacy-modern.cjs +1 -1
  160. package/dist/comparison-legacy-modern.js +1 -1
  161. package/dist/comparison-metrics-rows.cjs +1 -1
  162. package/dist/comparison-metrics-rows.js +1 -1
  163. package/dist/comparison-table-tabs.cjs +1 -1
  164. package/dist/comparison-table-tabs.js +1 -1
  165. package/dist/comparison-table-tooltips.cjs +1 -1
  166. package/dist/comparison-table-tooltips.js +1 -1
  167. package/dist/comparison-table-two-column.cjs +1 -1
  168. package/dist/comparison-table-two-column.js +1 -1
  169. package/dist/components.cjs +1 -1
  170. package/dist/components.js +1 -1
  171. package/dist/contact-callback.cjs +1 -1
  172. package/dist/contact-callback.js +1 -1
  173. package/dist/contact-card.cjs +1 -1
  174. package/dist/contact-card.js +1 -1
  175. package/dist/contact-careers.cjs +1 -1
  176. package/dist/contact-careers.js +1 -1
  177. package/dist/contact-catering.cjs +1 -1
  178. package/dist/contact-catering.js +1 -1
  179. package/dist/contact-consultation.cjs +1 -1
  180. package/dist/contact-consultation.js +1 -1
  181. package/dist/contact-dark.cjs +1 -1
  182. package/dist/contact-dark.js +1 -1
  183. package/dist/contact-demo.cjs +1 -1
  184. package/dist/contact-demo.js +1 -1
  185. package/dist/contact-emergency.cjs +1 -1
  186. package/dist/contact-emergency.js +1 -1
  187. package/dist/contact-event.cjs +1 -1
  188. package/dist/contact-event.js +1 -1
  189. package/dist/contact-faq.cjs +1 -1
  190. package/dist/contact-faq.js +1 -1
  191. package/dist/contact-feedback.cjs +1 -1
  192. package/dist/contact-feedback.js +1 -1
  193. package/dist/contact-fitness.cjs +1 -1
  194. package/dist/contact-fitness.js +1 -1
  195. package/dist/contact-guest.cjs +1 -1
  196. package/dist/contact-guest.js +1 -1
  197. package/dist/contact-help-center.cjs +1 -1
  198. package/dist/contact-help-center.js +1 -1
  199. package/dist/contact-image.cjs +1 -1
  200. package/dist/contact-image.js +1 -1
  201. package/dist/contact-insurance.cjs +1 -1
  202. package/dist/contact-insurance.js +1 -1
  203. package/dist/contact-interview.cjs +1 -1
  204. package/dist/contact-interview.js +1 -1
  205. package/dist/contact-locations.cjs +1 -1
  206. package/dist/contact-locations.js +1 -1
  207. package/dist/contact-maintenance.cjs +1 -1
  208. package/dist/contact-maintenance.js +1 -1
  209. package/dist/contact-map.cjs +1 -1
  210. package/dist/contact-map.js +1 -1
  211. package/dist/contact-minimal.cjs +1 -1
  212. package/dist/contact-minimal.js +1 -1
  213. package/dist/contact-moving.cjs +1 -1
  214. package/dist/contact-moving.js +1 -1
  215. package/dist/contact-multistep.cjs +1 -1
  216. package/dist/contact-multistep.js +1 -1
  217. package/dist/contact-partnership.cjs +1 -1
  218. package/dist/contact-partnership.js +1 -1
  219. package/dist/contact-photography.cjs +1 -1
  220. package/dist/contact-photography.js +1 -1
  221. package/dist/contact-press.cjs +1 -1
  222. package/dist/contact-press.js +1 -1
  223. package/dist/contact-quote.cjs +1 -1
  224. package/dist/contact-quote.js +1 -1
  225. package/dist/contact-referral.cjs +1 -1
  226. package/dist/contact-referral.js +1 -1
  227. package/dist/contact-report.cjs +1 -1
  228. package/dist/contact-report.js +1 -1
  229. package/dist/contact-reservation.cjs +1 -1
  230. package/dist/contact-reservation.js +1 -1
  231. package/dist/contact-retreat.cjs +1 -1
  232. package/dist/contact-retreat.js +1 -1
  233. package/dist/contact-rsvp.cjs +1 -1
  234. package/dist/contact-rsvp.js +1 -1
  235. package/dist/contact-sales.cjs +1 -1
  236. package/dist/contact-sales.js +1 -1
  237. package/dist/contact-schedule.cjs +1 -1
  238. package/dist/contact-schedule.js +1 -1
  239. package/dist/contact-sponsorship.cjs +1 -1
  240. package/dist/contact-sponsorship.js +1 -1
  241. package/dist/contact-support.cjs +1 -1
  242. package/dist/contact-support.js +1 -1
  243. package/dist/contact-tenant.cjs +1 -1
  244. package/dist/contact-tenant.js +1 -1
  245. package/dist/contact-vendor.cjs +1 -1
  246. package/dist/contact-vendor.js +1 -1
  247. package/dist/contact-volunteer.cjs +1 -1
  248. package/dist/contact-volunteer.js +1 -1
  249. package/dist/contact-warranty.cjs +1 -1
  250. package/dist/contact-warranty.js +1 -1
  251. package/dist/contact-wedding.cjs +1 -1
  252. package/dist/contact-wedding.js +1 -1
  253. package/dist/cta-accent-background.cjs +1 -1
  254. package/dist/cta-accent-background.js +1 -1
  255. package/dist/cta-app-download-newsletter.cjs +1 -1
  256. package/dist/cta-app-download-newsletter.js +1 -1
  257. package/dist/cta-background-icon-badge.cjs +1 -1
  258. package/dist/cta-background-icon-badge.js +1 -1
  259. package/dist/cta-case-study-testimonial.cjs +1 -1
  260. package/dist/cta-case-study-testimonial.js +1 -1
  261. package/dist/cta-documentation-links.cjs +1 -1
  262. package/dist/cta-documentation-links.js +1 -1
  263. package/dist/cta-enterprise-dark-features.cjs +1 -1
  264. package/dist/cta-enterprise-dark-features.js +1 -1
  265. package/dist/cta-enterprise-split.cjs +1 -1
  266. package/dist/cta-enterprise-split.js +1 -1
  267. package/dist/cta-feature-cards-grid.cjs +1 -1
  268. package/dist/cta-feature-cards-grid.js +1 -1
  269. package/dist/cta-feature-checklist.cjs +1 -1
  270. package/dist/cta-feature-checklist.js +1 -1
  271. package/dist/cta-feature-list.cjs +1 -1
  272. package/dist/cta-feature-list.js +1 -1
  273. package/dist/cta-fullwidth-background.cjs +1 -1
  274. package/dist/cta-fullwidth-background.js +1 -1
  275. package/dist/cta-gradient-logos-floating.cjs +1 -1
  276. package/dist/cta-gradient-logos-floating.js +1 -1
  277. package/dist/cta-gradient-stats-hero.cjs +1 -1
  278. package/dist/cta-gradient-stats-hero.js +1 -1
  279. package/dist/cta-hero-feature-cards.cjs +1 -1
  280. package/dist/cta-hero-feature-cards.js +1 -1
  281. package/dist/cta-image-overlay-arrow.cjs +1 -1
  282. package/dist/cta-image-overlay-arrow.js +1 -1
  283. package/dist/cta-image-overlay-centered.cjs +1 -1
  284. package/dist/cta-image-overlay-centered.js +1 -1
  285. package/dist/cta-minimal-separator.cjs +1 -1
  286. package/dist/cta-minimal-separator.js +1 -1
  287. package/dist/cta-newsletter-features.cjs +1 -1
  288. package/dist/cta-newsletter-features.js +1 -1
  289. package/dist/cta-pattern-background.cjs +1 -1
  290. package/dist/cta-pattern-background.js +1 -1
  291. package/dist/cta-platform-demo.cjs +1 -1
  292. package/dist/cta-platform-demo.js +1 -1
  293. package/dist/cta-simple-centered.cjs +1 -1
  294. package/dist/cta-simple-centered.js +1 -1
  295. package/dist/cta-split-gradient-image.cjs +1 -1
  296. package/dist/cta-split-gradient-image.js +1 -1
  297. package/dist/cta-split-image-logos.cjs +1 -1
  298. package/dist/cta-split-image-logos.js +1 -1
  299. package/dist/cta-split-image.cjs +1 -1
  300. package/dist/cta-split-image.js +1 -1
  301. package/dist/cta-stacked-cards.cjs +1 -1
  302. package/dist/cta-stacked-cards.js +1 -1
  303. package/dist/cta-video-background-hero.cjs +1 -1
  304. package/dist/cta-video-background-hero.js +1 -1
  305. package/dist/cta-workflow-tabs.cjs +1 -1
  306. package/dist/cta-workflow-tabs.js +1 -1
  307. package/dist/expandable-case-study-cards.cjs +1 -1
  308. package/dist/expandable-case-study-cards.js +1 -1
  309. package/dist/faq-badge-support.cjs +1 -1
  310. package/dist/faq-badge-support.js +1 -1
  311. package/dist/faq-bordered-badge.cjs +1 -1
  312. package/dist/faq-bordered-badge.js +1 -1
  313. package/dist/faq-card-categories.cjs +1 -1
  314. package/dist/faq-card-categories.js +1 -1
  315. package/dist/faq-categorized-sections.cjs +1 -1
  316. package/dist/faq-categorized-sections.js +1 -1
  317. package/dist/faq-centered-accordion.cjs +1 -1
  318. package/dist/faq-centered-accordion.js +1 -1
  319. package/dist/faq-gradient-categories.cjs +1 -1
  320. package/dist/faq-gradient-categories.js +1 -1
  321. package/dist/faq-icon-benefits.cjs +1 -1
  322. package/dist/faq-icon-benefits.js +1 -1
  323. package/dist/faq-muted-cards.cjs +1 -1
  324. package/dist/faq-muted-cards.js +1 -1
  325. package/dist/faq-numbered-grid.cjs +1 -1
  326. package/dist/faq-numbered-grid.js +1 -1
  327. package/dist/faq-numbered-list.cjs +1 -1
  328. package/dist/faq-numbered-list.js +1 -1
  329. package/dist/faq-profile-sidebar.cjs +1 -1
  330. package/dist/faq-profile-sidebar.js +1 -1
  331. package/dist/faq-rounded-cards.cjs +1 -1
  332. package/dist/faq-rounded-cards.js +1 -1
  333. package/dist/faq-sidebar-navigation.cjs +1 -1
  334. package/dist/faq-sidebar-navigation.js +1 -1
  335. package/dist/faq-simple-accordion.cjs +1 -1
  336. package/dist/faq-simple-accordion.js +1 -1
  337. package/dist/faq-split-help.cjs +1 -1
  338. package/dist/faq-split-help.js +1 -1
  339. package/dist/faq-split-hero.cjs +704 -0
  340. package/dist/faq-split-hero.d.cts +118 -0
  341. package/dist/faq-split-hero.d.ts +118 -0
  342. package/dist/faq-split-hero.js +682 -0
  343. package/dist/faq-static-list.cjs +1 -1
  344. package/dist/faq-static-list.js +1 -1
  345. package/dist/feature-accordion-image.cjs +1 -1
  346. package/dist/feature-accordion-image.js +1 -1
  347. package/dist/feature-animated-carousel.cjs +1 -1
  348. package/dist/feature-animated-carousel.js +1 -1
  349. package/dist/feature-badge-grid-six.cjs +2 -2
  350. package/dist/feature-badge-grid-six.js +2 -2
  351. package/dist/feature-bento-image-grid.cjs +1 -1
  352. package/dist/feature-bento-image-grid.js +1 -1
  353. package/dist/feature-bento-utilities.cjs +1 -1
  354. package/dist/feature-bento-utilities.js +1 -1
  355. package/dist/feature-capabilities-grid.cjs +1 -1
  356. package/dist/feature-capabilities-grid.js +1 -1
  357. package/dist/feature-card-grid-linked.cjs +93 -23
  358. package/dist/feature-card-grid-linked.js +93 -23
  359. package/dist/feature-carousel-progress.cjs +3 -3
  360. package/dist/feature-carousel-progress.js +3 -3
  361. package/dist/feature-category-image-cards.cjs +1 -1
  362. package/dist/feature-category-image-cards.js +1 -1
  363. package/dist/feature-checklist-image.cjs +89 -16
  364. package/dist/feature-checklist-image.js +89 -16
  365. package/dist/feature-checklist-three-column.cjs +2 -2
  366. package/dist/feature-checklist-three-column.js +2 -2
  367. package/dist/feature-icon-grid-accent.cjs +51 -9
  368. package/dist/feature-icon-grid-accent.js +51 -9
  369. package/dist/feature-icon-grid-bordered.cjs +85 -15
  370. package/dist/feature-icon-grid-bordered.js +85 -15
  371. package/dist/feature-icon-grid-muted.cjs +1 -1
  372. package/dist/feature-icon-grid-muted.js +1 -1
  373. package/dist/feature-icon-tabs-content.cjs +218 -85
  374. package/dist/feature-icon-tabs-content.js +218 -85
  375. package/dist/feature-image-cards-three-column.cjs +1 -1
  376. package/dist/feature-image-cards-three-column.js +1 -1
  377. package/dist/feature-image-overlay-badge.cjs +107 -34
  378. package/dist/feature-image-overlay-badge.js +107 -34
  379. package/dist/feature-integration-cards.cjs +1 -1
  380. package/dist/feature-integration-cards.js +1 -1
  381. package/dist/feature-numbered-cards.cjs +155 -36
  382. package/dist/feature-numbered-cards.js +155 -36
  383. package/dist/feature-pattern-grid-links.cjs +1 -1
  384. package/dist/feature-pattern-grid-links.js +1 -1
  385. package/dist/feature-showcase.cjs +80 -75
  386. package/dist/feature-showcase.d.cts +1 -5
  387. package/dist/feature-showcase.d.ts +1 -5
  388. package/dist/feature-showcase.js +81 -76
  389. package/dist/feature-split-image-reverse.cjs +91 -16
  390. package/dist/feature-split-image-reverse.js +91 -16
  391. package/dist/feature-split-image.cjs +88 -16
  392. package/dist/feature-split-image.js +88 -16
  393. package/dist/feature-stats-highlight.cjs +3 -3
  394. package/dist/feature-stats-highlight.js +3 -3
  395. package/dist/feature-tabbed-content-image.cjs +208 -73
  396. package/dist/feature-tabbed-content-image.js +208 -73
  397. package/dist/feature-three-column-values.cjs +108 -15
  398. package/dist/feature-three-column-values.js +108 -15
  399. package/dist/feature-utility-cards-grid.cjs +1 -1
  400. package/dist/feature-utility-cards-grid.js +1 -1
  401. package/dist/footer-animated-social.cjs +1 -1
  402. package/dist/footer-animated-social.js +1 -1
  403. package/dist/footer-background-card.cjs +1 -1
  404. package/dist/footer-background-card.js +1 -1
  405. package/dist/footer-brand-description.cjs +1 -1
  406. package/dist/footer-brand-description.js +1 -1
  407. package/dist/footer-brand-links-contact.cjs +1 -1
  408. package/dist/footer-brand-links-contact.js +1 -1
  409. package/dist/footer-contact-card.cjs +1 -1
  410. package/dist/footer-contact-card.js +1 -1
  411. package/dist/footer-cta-banner.cjs +1 -1
  412. package/dist/footer-cta-banner.js +1 -1
  413. package/dist/footer-cta-social.cjs +1 -1
  414. package/dist/footer-cta-social.js +1 -1
  415. package/dist/footer-links-grid.cjs +1 -1
  416. package/dist/footer-links-grid.js +1 -1
  417. package/dist/footer-nav-social.cjs +1 -1
  418. package/dist/footer-nav-social.js +1 -1
  419. package/dist/footer-newsletter-grid.cjs +1 -1
  420. package/dist/footer-newsletter-grid.js +1 -1
  421. package/dist/footer-newsletter-minimal.cjs +1 -1
  422. package/dist/footer-newsletter-minimal.js +1 -1
  423. package/dist/footer-simple-centered.cjs +1 -1
  424. package/dist/footer-simple-centered.js +1 -1
  425. package/dist/footer-social-apps.cjs +1 -1
  426. package/dist/footer-social-apps.js +1 -1
  427. package/dist/footer-social-newsletter.cjs +1 -1
  428. package/dist/footer-social-newsletter.js +1 -1
  429. package/dist/hero-ad-campaign-expert.cjs +1 -1
  430. package/dist/hero-ad-campaign-expert.js +1 -1
  431. package/dist/hero-adaptable-product-grid.cjs +1 -1
  432. package/dist/hero-adaptable-product-grid.js +1 -1
  433. package/dist/hero-agency-animated-images.cjs +1 -1
  434. package/dist/hero-agency-animated-images.js +1 -1
  435. package/dist/hero-ai-powered-carousel.cjs +1 -1
  436. package/dist/hero-ai-powered-carousel.js +1 -1
  437. package/dist/hero-announcement-badge.cjs +1 -1
  438. package/dist/hero-announcement-badge.js +1 -1
  439. package/dist/hero-architecture-fullscreen.cjs +1 -1
  440. package/dist/hero-architecture-fullscreen.js +1 -1
  441. package/dist/hero-badge-image-split.cjs +1 -1
  442. package/dist/hero-badge-image-split.js +1 -1
  443. package/dist/hero-badge-shadow-overlay.cjs +1 -1
  444. package/dist/hero-badge-shadow-overlay.js +1 -1
  445. package/dist/hero-billing-platform-logos.cjs +1 -1
  446. package/dist/hero-billing-platform-logos.js +1 -1
  447. package/dist/hero-business-carousel-dots.cjs +1 -1
  448. package/dist/hero-business-carousel-dots.js +1 -1
  449. package/dist/hero-business-operations-mosaic.cjs +1 -1
  450. package/dist/hero-business-operations-mosaic.js +1 -1
  451. package/dist/hero-centered-gradient-cta.cjs +1 -1
  452. package/dist/hero-centered-gradient-cta.js +1 -1
  453. package/dist/hero-centered-image-grid.cjs +1 -1
  454. package/dist/hero-centered-image-grid.js +1 -1
  455. package/dist/hero-centered-screenshot.cjs +1 -1
  456. package/dist/hero-centered-screenshot.js +1 -1
  457. package/dist/hero-coming-soon-countdown.cjs +1 -1
  458. package/dist/hero-coming-soon-countdown.js +1 -1
  459. package/dist/hero-community-survey-cta.cjs +1 -1
  460. package/dist/hero-community-survey-cta.js +1 -1
  461. package/dist/hero-conversation-intelligence.cjs +1 -1
  462. package/dist/hero-conversation-intelligence.js +1 -1
  463. package/dist/hero-conversion-video-play.cjs +1 -1
  464. package/dist/hero-conversion-video-play.js +1 -1
  465. package/dist/hero-creative-studio-stacked.cjs +1 -1
  466. package/dist/hero-creative-studio-stacked.js +1 -1
  467. package/dist/hero-crm-streamlined.cjs +1 -1
  468. package/dist/hero-crm-streamlined.js +1 -1
  469. package/dist/hero-customer-support-layered.cjs +1 -1
  470. package/dist/hero-customer-support-layered.js +1 -1
  471. package/dist/hero-dashed-border-features.cjs +1 -1
  472. package/dist/hero-dashed-border-features.js +1 -1
  473. package/dist/hero-design-carousel-portfolio.cjs +1 -1
  474. package/dist/hero-design-carousel-portfolio.js +1 -1
  475. package/dist/hero-design-showcase-logos.cjs +1 -1
  476. package/dist/hero-design-showcase-logos.js +1 -1
  477. package/dist/hero-design-system-3d.cjs +1 -1
  478. package/dist/hero-design-system-3d.js +1 -1
  479. package/dist/hero-developer-tools-code.cjs +1 -1
  480. package/dist/hero-developer-tools-code.js +1 -1
  481. package/dist/hero-digital-agency-fullscreen.cjs +1 -1
  482. package/dist/hero-digital-agency-fullscreen.js +1 -1
  483. package/dist/hero-ecommerce-product-showcase.cjs +1 -1
  484. package/dist/hero-ecommerce-product-showcase.js +1 -1
  485. package/dist/hero-enterprise-security.cjs +1 -1
  486. package/dist/hero-enterprise-security.js +1 -1
  487. package/dist/hero-event-registration.cjs +1 -1
  488. package/dist/hero-event-registration.js +1 -1
  489. package/dist/hero-feature-cards-grid.cjs +1 -1
  490. package/dist/hero-feature-cards-grid.js +1 -1
  491. package/dist/hero-floating-images.cjs +1 -1
  492. package/dist/hero-floating-images.js +1 -1
  493. package/dist/hero-fullscreen-background-image.cjs +1 -1
  494. package/dist/hero-fullscreen-background-image.js +1 -1
  495. package/dist/hero-fullscreen-logo-cta.cjs +1 -1
  496. package/dist/hero-fullscreen-logo-cta.js +1 -1
  497. package/dist/hero-gradient-avatars-rating.cjs +1 -1
  498. package/dist/hero-gradient-avatars-rating.js +1 -1
  499. package/dist/hero-gradient-client-focused.cjs +1 -1
  500. package/dist/hero-gradient-client-focused.js +1 -1
  501. package/dist/hero-grid-pattern-efficiency.cjs +1 -1
  502. package/dist/hero-grid-pattern-efficiency.js +1 -1
  503. package/dist/hero-grid-pattern-solutions.cjs +1 -1
  504. package/dist/hero-grid-pattern-solutions.js +1 -1
  505. package/dist/hero-hiring-animated-text.cjs +1 -1
  506. package/dist/hero-hiring-animated-text.js +1 -1
  507. package/dist/hero-image-left-content.cjs +1 -1
  508. package/dist/hero-image-left-content.js +1 -1
  509. package/dist/hero-image-slider.cjs +1 -1
  510. package/dist/hero-image-slider.js +1 -1
  511. package/dist/hero-innovation-image-grid.cjs +1 -1
  512. package/dist/hero-innovation-image-grid.js +1 -1
  513. package/dist/hero-logo-centered-screenshot.cjs +1 -1
  514. package/dist/hero-logo-centered-screenshot.js +1 -1
  515. package/dist/hero-marketplace-scattered-images.cjs +1 -1
  516. package/dist/hero-marketplace-scattered-images.js +1 -1
  517. package/dist/hero-mental-health-team.cjs +1 -1
  518. package/dist/hero-mental-health-team.js +1 -1
  519. package/dist/hero-mentorship-video-split.cjs +1 -1
  520. package/dist/hero-mentorship-video-split.js +1 -1
  521. package/dist/hero-minimal-centered-dark.cjs +1 -1
  522. package/dist/hero-minimal-centered-dark.js +1 -1
  523. package/dist/hero-mobile-app-download.cjs +1 -1
  524. package/dist/hero-mobile-app-download.js +1 -1
  525. package/dist/hero-newsletter-minimal.cjs +1 -1
  526. package/dist/hero-newsletter-minimal.js +1 -1
  527. package/dist/hero-overlay-cta-grid.cjs +1 -1
  528. package/dist/hero-overlay-cta-grid.js +1 -1
  529. package/dist/hero-pattern-badge-logos.cjs +1 -1
  530. package/dist/hero-pattern-badge-logos.js +1 -1
  531. package/dist/hero-pattern-logo-tech-stack.cjs +1 -1
  532. package/dist/hero-pattern-logo-tech-stack.js +1 -1
  533. package/dist/hero-platform-features-grid.cjs +1 -1
  534. package/dist/hero-platform-features-grid.js +1 -1
  535. package/dist/hero-portfolio-creative.cjs +1 -1
  536. package/dist/hero-portfolio-creative.js +1 -1
  537. package/dist/hero-premium-split-avatars.cjs +1 -1
  538. package/dist/hero-premium-split-avatars.js +1 -1
  539. package/dist/hero-presentation-platform-video.cjs +1 -1
  540. package/dist/hero-presentation-platform-video.js +1 -1
  541. package/dist/hero-pricing-comparison.cjs +1 -1
  542. package/dist/hero-pricing-comparison.js +1 -1
  543. package/dist/hero-product-showcase-floating.cjs +1 -1
  544. package/dist/hero-product-showcase-floating.js +1 -1
  545. package/dist/hero-productivity-launcher-video.cjs +1 -1
  546. package/dist/hero-productivity-launcher-video.js +1 -1
  547. package/dist/hero-saas-dashboard-preview.cjs +1 -1
  548. package/dist/hero-saas-dashboard-preview.js +1 -1
  549. package/dist/hero-shared-inbox-layered.cjs +1 -1
  550. package/dist/hero-shared-inbox-layered.js +1 -1
  551. package/dist/hero-simple-centered-image.cjs +1 -1
  552. package/dist/hero-simple-centered-image.js +1 -1
  553. package/dist/hero-software-growth-video-dialog.cjs +1 -1
  554. package/dist/hero-software-growth-video-dialog.js +1 -1
  555. package/dist/hero-spiral-pattern-cards.cjs +1 -1
  556. package/dist/hero-spiral-pattern-cards.js +1 -1
  557. package/dist/hero-split-geometric-shapes.cjs +1 -1
  558. package/dist/hero-split-geometric-shapes.js +1 -1
  559. package/dist/hero-split-icon-cards.cjs +1 -1
  560. package/dist/hero-split-icon-cards.js +1 -1
  561. package/dist/hero-split-image-newsletter.cjs +1 -1
  562. package/dist/hero-split-image-newsletter.js +1 -1
  563. package/dist/hero-split-spiral-shapes.cjs +1 -1
  564. package/dist/hero-split-spiral-shapes.js +1 -1
  565. package/dist/hero-startup-launch-cta.cjs +1 -1
  566. package/dist/hero-startup-launch-cta.js +1 -1
  567. package/dist/hero-stats-social-proof.cjs +1 -1
  568. package/dist/hero-stats-social-proof.js +1 -1
  569. package/dist/hero-task-timer-animated.cjs +1 -1
  570. package/dist/hero-task-timer-animated.js +1 -1
  571. package/dist/hero-tech-carousel.cjs +1 -1
  572. package/dist/hero-tech-carousel.js +1 -1
  573. package/dist/hero-testimonial-image-grid.cjs +1 -1
  574. package/dist/hero-testimonial-image-grid.js +1 -1
  575. package/dist/hero-therapy-testimonial-grid.cjs +1 -1
  576. package/dist/hero-therapy-testimonial-grid.js +1 -1
  577. package/dist/hero-ui-library-showcase.cjs +1 -1
  578. package/dist/hero-ui-library-showcase.js +1 -1
  579. package/dist/hero-video-background-dark.cjs +1 -1
  580. package/dist/hero-video-background-dark.js +1 -1
  581. package/dist/hero-video-dialog-gradient.cjs +1 -1
  582. package/dist/hero-video-dialog-gradient.js +1 -1
  583. package/dist/hero-video-overlay-stars.cjs +1 -1
  584. package/dist/hero-video-overlay-stars.js +1 -1
  585. package/dist/hero-welcome-asymmetric-images.cjs +1 -1
  586. package/dist/hero-welcome-asymmetric-images.js +1 -1
  587. package/dist/index.cjs +1 -1
  588. package/dist/index.js +1 -1
  589. package/dist/industries-badge-list-bordered.cjs +1 -1
  590. package/dist/industries-badge-list-bordered.js +1 -1
  591. package/dist/industries-expandable-showcase.cjs +1 -1
  592. package/dist/industries-expandable-showcase.js +1 -1
  593. package/dist/industries-hover-reveal-grid.cjs +1 -1
  594. package/dist/industries-hover-reveal-grid.js +1 -1
  595. package/dist/industries-timeline-table.cjs +1 -1
  596. package/dist/industries-timeline-table.js +1 -1
  597. package/dist/interior-carousel.cjs +2 -2
  598. package/dist/interior-carousel.js +2 -2
  599. package/dist/link-page-bento-layout.cjs +1 -1
  600. package/dist/link-page-bento-layout.js +1 -1
  601. package/dist/link-page-grid-cards.cjs +1 -1
  602. package/dist/link-page-grid-cards.js +1 -1
  603. package/dist/link-page-minimal-profile.cjs +1 -1
  604. package/dist/link-page-minimal-profile.js +1 -1
  605. package/dist/link-page-newsletter-social.cjs +1 -1
  606. package/dist/link-page-newsletter-social.js +1 -1
  607. package/dist/link-tree-block.cjs +1 -1
  608. package/dist/link-tree-block.js +1 -1
  609. package/dist/list-searchable-grid.cjs +1 -1
  610. package/dist/list-searchable-grid.js +1 -1
  611. package/dist/logos-carousel-heading.cjs +1 -1
  612. package/dist/logos-carousel-heading.js +1 -1
  613. package/dist/logos-centered-simple.cjs +1 -1
  614. package/dist/logos-centered-simple.js +1 -1
  615. package/dist/logos-certifications-grid.cjs +1 -1
  616. package/dist/logos-certifications-grid.js +1 -1
  617. package/dist/logos-double-carousel-pattern.cjs +1 -1
  618. package/dist/logos-double-carousel-pattern.js +1 -1
  619. package/dist/logos-inline-tagline.cjs +1 -1
  620. package/dist/logos-inline-tagline.js +1 -1
  621. package/dist/logos-marquee-muted.cjs +1 -1
  622. package/dist/logos-marquee-muted.js +1 -1
  623. package/dist/logos-minimal-carousel.cjs +1 -1
  624. package/dist/logos-minimal-carousel.js +1 -1
  625. package/dist/logos-numbered-carousel.cjs +1 -1
  626. package/dist/logos-numbered-carousel.js +1 -1
  627. package/dist/logos-partner-grid-sidebar.cjs +1 -1
  628. package/dist/logos-partner-grid-sidebar.js +1 -1
  629. package/dist/logos-partner-network.cjs +1 -1
  630. package/dist/logos-partner-network.js +1 -1
  631. package/dist/logos-two-row-grid.cjs +1 -1
  632. package/dist/logos-two-row-grid.js +1 -1
  633. package/dist/masonry-motion-grid.cjs +1 -1
  634. package/dist/masonry-motion-grid.js +1 -1
  635. package/dist/media-hover-ctas.cjs +1 -1
  636. package/dist/media-hover-ctas.js +1 -1
  637. package/dist/navbar-animated-preview.cjs +1 -1
  638. package/dist/navbar-animated-preview.js +1 -1
  639. package/dist/navbar-centered-menu.cjs +1 -1
  640. package/dist/navbar-centered-menu.js +1 -1
  641. package/dist/navbar-dark-icons.cjs +1 -1
  642. package/dist/navbar-dark-icons.js +1 -1
  643. package/dist/navbar-dropdown-menu.cjs +1 -1
  644. package/dist/navbar-dropdown-menu.js +1 -1
  645. package/dist/navbar-education-platform.cjs +1 -1
  646. package/dist/navbar-education-platform.js +1 -1
  647. package/dist/navbar-enterprise-mega.cjs +1 -1
  648. package/dist/navbar-enterprise-mega.js +1 -1
  649. package/dist/navbar-feature-grid.cjs +1 -1
  650. package/dist/navbar-feature-grid.js +1 -1
  651. package/dist/navbar-floating-pill.cjs +1 -1
  652. package/dist/navbar-floating-pill.js +1 -1
  653. package/dist/navbar-fullscreen-menu.cjs +1 -1
  654. package/dist/navbar-fullscreen-menu.js +1 -1
  655. package/dist/navbar-icon-links.cjs +1 -1
  656. package/dist/navbar-icon-links.js +1 -1
  657. package/dist/navbar-image-preview.cjs +1 -1
  658. package/dist/navbar-image-preview.js +1 -1
  659. package/dist/navbar-mega-menu.cjs +1 -1
  660. package/dist/navbar-mega-menu.js +1 -1
  661. package/dist/navbar-multi-column-groups.cjs +1 -1
  662. package/dist/navbar-multi-column-groups.js +1 -1
  663. package/dist/navbar-platform-resources.cjs +1 -1
  664. package/dist/navbar-platform-resources.js +1 -1
  665. package/dist/navbar-search-focused.cjs +1 -1
  666. package/dist/navbar-search-focused.js +1 -1
  667. package/dist/navbar-sidebar-mobile.cjs +1 -1
  668. package/dist/navbar-sidebar-mobile.js +1 -1
  669. package/dist/navbar-simple-links.cjs +1 -1
  670. package/dist/navbar-simple-links.js +1 -1
  671. package/dist/navbar-split-cta.cjs +1 -1
  672. package/dist/navbar-split-cta.js +1 -1
  673. package/dist/navbar-sticky-compact.cjs +1 -1
  674. package/dist/navbar-sticky-compact.js +1 -1
  675. package/dist/navbar-tabbed-sections.cjs +1 -1
  676. package/dist/navbar-tabbed-sections.js +1 -1
  677. package/dist/navbar-transparent-overlay.cjs +1 -1
  678. package/dist/navbar-transparent-overlay.js +1 -1
  679. package/dist/process-expandable-timeline.cjs +1 -1
  680. package/dist/process-expandable-timeline.js +1 -1
  681. package/dist/process-hover-cards.cjs +1 -1
  682. package/dist/process-hover-cards.js +1 -1
  683. package/dist/process-icon-timeline.cjs +1 -1
  684. package/dist/process-icon-timeline.js +1 -1
  685. package/dist/process-mission-principles.cjs +1 -1
  686. package/dist/process-mission-principles.js +1 -1
  687. package/dist/process-numbered-services.cjs +1 -1
  688. package/dist/process-numbered-services.js +1 -1
  689. package/dist/process-roadmap-timeline.cjs +1 -1
  690. package/dist/process-roadmap-timeline.js +1 -1
  691. package/dist/process-scroll-image.cjs +1 -1
  692. package/dist/process-scroll-image.js +1 -1
  693. package/dist/process-steps-grid.cjs +1 -1
  694. package/dist/process-steps-grid.js +1 -1
  695. package/dist/process-sticky-steps.cjs +1 -1
  696. package/dist/process-sticky-steps.js +1 -1
  697. package/dist/project-alternating-motion.cjs +1 -1
  698. package/dist/project-alternating-motion.js +1 -1
  699. package/dist/project-background-reveal.cjs +1 -1
  700. package/dist/project-background-reveal.js +1 -1
  701. package/dist/project-card-overlay.cjs +1 -1
  702. package/dist/project-card-overlay.js +1 -1
  703. package/dist/project-carousel-cinematic.cjs +1 -1
  704. package/dist/project-carousel-cinematic.js +1 -1
  705. package/dist/project-carousel-detail-cards.cjs +1 -1
  706. package/dist/project-carousel-detail-cards.js +1 -1
  707. package/dist/project-carousel-minimal.cjs +1 -1
  708. package/dist/project-carousel-minimal.js +1 -1
  709. package/dist/project-detail-architecture-carousel.cjs +1 -1
  710. package/dist/project-detail-architecture-carousel.js +1 -1
  711. package/dist/project-experience-quote.cjs +1 -1
  712. package/dist/project-experience-quote.js +1 -1
  713. package/dist/project-featured-carousel.cjs +2 -2
  714. package/dist/project-featured-carousel.js +2 -2
  715. package/dist/project-filterable-gallery.cjs +1 -1
  716. package/dist/project-filterable-gallery.js +1 -1
  717. package/dist/project-filterable-three-column.cjs +1 -1
  718. package/dist/project-filterable-three-column.js +1 -1
  719. package/dist/project-grid-gallery.cjs +1 -1
  720. package/dist/project-grid-gallery.js +1 -1
  721. package/dist/project-grid-motion.cjs +1 -1
  722. package/dist/project-grid-motion.js +1 -1
  723. package/dist/project-horizontal-cards.cjs +1 -1
  724. package/dist/project-horizontal-cards.js +1 -1
  725. package/dist/project-hover-reveal-grid.cjs +1 -1
  726. package/dist/project-hover-reveal-grid.js +1 -1
  727. package/dist/project-interactive-hover-reveal.cjs +1 -1
  728. package/dist/project-interactive-hover-reveal.js +1 -1
  729. package/dist/project-masonry-columns.cjs +1 -1
  730. package/dist/project-masonry-columns.js +1 -1
  731. package/dist/project-nature-mosaic.cjs +1 -1
  732. package/dist/project-nature-mosaic.js +1 -1
  733. package/dist/project-scroll-reveal.cjs +1 -1
  734. package/dist/project-scroll-reveal.js +1 -1
  735. package/dist/project-showcase-alternating.cjs +1 -1
  736. package/dist/project-showcase-alternating.js +1 -1
  737. package/dist/project-sticky-scroll.cjs +1 -1
  738. package/dist/project-sticky-scroll.js +1 -1
  739. package/dist/project-studio-hover-preview.cjs +1 -1
  740. package/dist/project-studio-hover-preview.js +1 -1
  741. package/dist/project-table-list.cjs +1 -1
  742. package/dist/project-table-list.js +1 -1
  743. package/dist/project-video-carousel.cjs +2 -2
  744. package/dist/project-video-carousel.js +2 -2
  745. package/dist/project-video-hover-bento.cjs +1 -1
  746. package/dist/project-video-hover-bento.js +1 -1
  747. package/dist/project-video-hover-grid.cjs +1 -1
  748. package/dist/project-video-hover-grid.js +1 -1
  749. package/dist/project-video-hover-rounded.cjs +1 -1
  750. package/dist/project-video-hover-rounded.js +1 -1
  751. package/dist/project-video-hover-stack.cjs +1 -1
  752. package/dist/project-video-hover-stack.js +1 -1
  753. package/dist/project-video-hover-two-by-two.cjs +1 -1
  754. package/dist/project-video-hover-two-by-two.js +1 -1
  755. package/dist/project-work-showcase.cjs +1 -1
  756. package/dist/project-work-showcase.js +1 -1
  757. package/dist/registry.cjs +1479 -465
  758. package/dist/registry.js +1479 -465
  759. package/dist/resource-detail-whitepaper-sidebar.cjs +1 -1
  760. package/dist/resource-detail-whitepaper-sidebar.js +1 -1
  761. package/dist/resource-list-course-cards.cjs +1 -1
  762. package/dist/resource-list-course-cards.js +1 -1
  763. package/dist/resource-list-featured-articles.cjs +1 -1
  764. package/dist/resource-list-featured-articles.js +1 -1
  765. package/dist/resource-list-featured-grid.cjs +1 -1
  766. package/dist/resource-list-featured-grid.js +1 -1
  767. package/dist/resource-list-news-updates.cjs +1 -1
  768. package/dist/resource-list-news-updates.js +1 -1
  769. package/dist/reviews-images-helpful.cjs +1 -1
  770. package/dist/reviews-images-helpful.js +1 -1
  771. package/dist/reviews-list-verified.cjs +1 -1
  772. package/dist/reviews-list-verified.js +1 -1
  773. package/dist/section.cjs +1 -1
  774. package/dist/section.js +1 -1
  775. package/dist/service-detail-centered-expertise.cjs +1 -1
  776. package/dist/service-detail-centered-expertise.js +1 -1
  777. package/dist/service-detail-compact-cards.cjs +1 -1
  778. package/dist/service-detail-compact-cards.js +1 -1
  779. package/dist/service-detail-image-hero.cjs +1 -1
  780. package/dist/service-detail-image-hero.js +1 -1
  781. package/dist/service-detail-prose-minimal.cjs +1 -1
  782. package/dist/service-detail-prose-minimal.js +1 -1
  783. package/dist/service-detail-sidebar-related.cjs +1 -1
  784. package/dist/service-detail-sidebar-related.js +1 -1
  785. package/dist/service-detail-sidebar-stats.cjs +1 -1
  786. package/dist/service-detail-sidebar-stats.js +1 -1
  787. package/dist/service-detail-stats-hero.cjs +1 -1
  788. package/dist/service-detail-stats-hero.js +1 -1
  789. package/dist/service-hover-carousel.cjs +1 -1
  790. package/dist/service-hover-carousel.js +1 -1
  791. package/dist/services-list-feature-spotlight.cjs +1 -1
  792. package/dist/services-list-feature-spotlight.js +1 -1
  793. package/dist/stats-animated-counter.cjs +1 -1
  794. package/dist/stats-animated-counter.js +1 -1
  795. package/dist/stats-bar-comparison.cjs +1 -1
  796. package/dist/stats-bar-comparison.js +1 -1
  797. package/dist/stats-card-group.cjs +1 -1
  798. package/dist/stats-card-group.js +1 -1
  799. package/dist/stats-circular-progress.cjs +1 -1
  800. package/dist/stats-circular-progress.js +1 -1
  801. package/dist/stats-growth-timeline.cjs +1 -1
  802. package/dist/stats-growth-timeline.js +1 -1
  803. package/dist/stats-icon-cards.cjs +1 -1
  804. package/dist/stats-icon-cards.js +1 -1
  805. package/dist/stats-impact-grid.cjs +1 -1
  806. package/dist/stats-impact-grid.js +1 -1
  807. package/dist/stats-milestone-sidebar.cjs +1 -1
  808. package/dist/stats-milestone-sidebar.js +1 -1
  809. package/dist/stats-number-ticker.cjs +1 -1
  810. package/dist/stats-number-ticker.js +1 -1
  811. package/dist/stats-primary-secondary.cjs +1 -1
  812. package/dist/stats-primary-secondary.js +1 -1
  813. package/dist/stats-simple-grid.cjs +1 -1
  814. package/dist/stats-simple-grid.js +1 -1
  815. package/dist/stats-timeline-tabs.cjs +1 -1
  816. package/dist/stats-timeline-tabs.js +1 -1
  817. package/dist/team-media-showcase.cjs +1 -1
  818. package/dist/team-media-showcase.js +1 -1
  819. package/dist/testimonial-carousel-cards.cjs +1 -1
  820. package/dist/testimonial-carousel-cards.js +1 -1
  821. package/dist/testimonials-animated-split.cjs +1 -1
  822. package/dist/testimonials-animated-split.js +1 -1
  823. package/dist/testimonials-bento-grid.cjs +1 -1
  824. package/dist/testimonials-bento-grid.js +1 -1
  825. package/dist/testimonials-centered-avatars.cjs +1 -1
  826. package/dist/testimonials-centered-avatars.js +1 -1
  827. package/dist/testimonials-company-logo.cjs +1 -1
  828. package/dist/testimonials-company-logo.js +1 -1
  829. package/dist/testimonials-grid-add-review.cjs +1 -1
  830. package/dist/testimonials-grid-add-review.js +1 -1
  831. package/dist/testimonials-large-quote.cjs +1 -1
  832. package/dist/testimonials-large-quote.js +1 -1
  833. package/dist/testimonials-logo-cards.cjs +1 -1
  834. package/dist/testimonials-logo-cards.js +1 -1
  835. package/dist/testimonials-marquee.cjs +1 -1
  836. package/dist/testimonials-marquee.js +1 -1
  837. package/dist/testimonials-masonry-grid.cjs +1 -1
  838. package/dist/testimonials-masonry-grid.js +1 -1
  839. package/dist/testimonials-mini-dividers.cjs +1 -1
  840. package/dist/testimonials-mini-dividers.js +1 -1
  841. package/dist/testimonials-minimal-numbered.cjs +1 -1
  842. package/dist/testimonials-minimal-numbered.js +1 -1
  843. package/dist/testimonials-parallax-number.cjs +1 -1
  844. package/dist/testimonials-parallax-number.js +1 -1
  845. package/dist/testimonials-quote-carousel.cjs +2 -2
  846. package/dist/testimonials-quote-carousel.js +2 -2
  847. package/dist/testimonials-scrolling-columns.cjs +1 -1
  848. package/dist/testimonials-scrolling-columns.js +1 -1
  849. package/dist/testimonials-simple-grid.cjs +1 -1
  850. package/dist/testimonials-simple-grid.js +1 -1
  851. package/dist/testimonials-slider-minimal.cjs +1 -1
  852. package/dist/testimonials-slider-minimal.js +1 -1
  853. package/dist/testimonials-split-image.cjs +1 -1
  854. package/dist/testimonials-split-image.js +1 -1
  855. package/dist/testimonials-stats-header.cjs +1 -1
  856. package/dist/testimonials-stats-header.js +1 -1
  857. package/dist/testimonials-twitter-cards.cjs +1 -1
  858. package/dist/testimonials-twitter-cards.js +1 -1
  859. package/dist/testimonials-wall-compact.cjs +1 -1
  860. package/dist/testimonials-wall-compact.js +1 -1
  861. package/dist/timeline-ai-workflow-cards.cjs +1 -1
  862. package/dist/timeline-ai-workflow-cards.js +1 -1
  863. package/dist/timeline-alternating-diagonal.cjs +1 -1
  864. package/dist/timeline-alternating-diagonal.js +1 -1
  865. package/dist/timeline-changelog-badges.cjs +1 -1
  866. package/dist/timeline-changelog-badges.js +1 -1
  867. package/dist/timeline-history-prose.cjs +1 -1
  868. package/dist/timeline-history-prose.js +1 -1
  869. package/dist/timeline-horizontal-icons.cjs +1 -1
  870. package/dist/timeline-horizontal-icons.js +1 -1
  871. package/dist/timeline-horizontal-phases.cjs +1 -1
  872. package/dist/timeline-horizontal-phases.js +1 -1
  873. package/dist/timeline-product-launch.cjs +1 -1
  874. package/dist/timeline-product-launch.js +1 -1
  875. package/dist/timeline-productivity-list.cjs +1 -1
  876. package/dist/timeline-productivity-list.js +1 -1
  877. package/dist/timeline-scroll-highlight.cjs +1 -1
  878. package/dist/timeline-scroll-highlight.js +1 -1
  879. package/dist/timeline-scroll-sticky-image.cjs +1 -1
  880. package/dist/timeline-scroll-sticky-image.js +1 -1
  881. package/dist/timeline-stepper-animated.cjs +1 -1
  882. package/dist/timeline-stepper-animated.js +1 -1
  883. package/dist/timeline-tabbed-phases.cjs +1 -1
  884. package/dist/timeline-tabbed-phases.js +1 -1
  885. package/dist/timeline-two-column-featured.cjs +1 -1
  886. package/dist/timeline-two-column-featured.js +1 -1
  887. package/dist/timeline-vertical-icon-dashed.cjs +1 -1
  888. package/dist/timeline-vertical-icon-dashed.js +1 -1
  889. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -449,7 +449,7 @@ var Section = React52__namespace.default.forwardRef(
449
449
  maxWidth: containerMaxWidth,
450
450
  className: cn("relative z-10", containerClassName),
451
451
  children: [
452
- (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
452
+ (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-6 text-center md:mb-16", children: [
453
453
  subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
454
454
  title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
455
455
  ] }),
@@ -19884,9 +19884,9 @@ function CarouselProgressSlider({
19884
19884
  className: cn(className),
19885
19885
  pattern,
19886
19886
  patternOpacity,
19887
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
19888
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative min-h-[400px]", imageClassName), children: [
19889
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
19887
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-4 lg:gap-8 lg:grid-cols-2", contentClassName), children: [
19888
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative aspect-video", children: [
19889
+ slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsxRuntime.jsx(
19890
19890
  SliderWrapper,
19891
19891
  {
19892
19892
  value: slide.id,
@@ -19905,20 +19905,26 @@ function CarouselProgressSlider({
19905
19905
  ) })
19906
19906
  },
19907
19907
  slide.id
19908
- )) }),
19909
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mt-4 flex justify-center lg:justify-start", children: /* @__PURE__ */ jsxRuntime.jsx(
19908
+ )),
19909
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-4 left-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsx(
19910
19910
  Pressable,
19911
19911
  {
19912
19912
  onClick: togglePause,
19913
19913
  asButton: true,
19914
19914
  variant: "outline",
19915
19915
  size: "icon",
19916
- className: "flex h-10 w-10 items-center justify-center rounded-full",
19916
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-background/80 backdrop-blur-sm",
19917
19917
  "aria-label": isPaused ? "Play" : "Pause",
19918
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: isPaused ? "lucide/play" : "lucide/pause", size: 18 })
19918
+ children: /* @__PURE__ */ jsxRuntime.jsx(
19919
+ DynamicIcon,
19920
+ {
19921
+ name: isPaused ? "lucide/play" : "lucide/pause",
19922
+ size: 18
19923
+ }
19924
+ )
19919
19925
  }
19920
19926
  ) })
19921
- ] }),
19927
+ ] }) }),
19922
19928
  /* @__PURE__ */ jsxRuntime.jsx(
19923
19929
  "div",
19924
19930
  {
@@ -20290,7 +20296,7 @@ function CarouselPrevious({
20290
20296
  }
20291
20297
  function CarouselNext({
20292
20298
  className,
20293
- variant = "outline",
20299
+ variant = "default",
20294
20300
  size = "icon",
20295
20301
  ...props
20296
20302
  }) {
@@ -20325,19 +20331,29 @@ function FeatureShowcase({
20325
20331
  slideClassName,
20326
20332
  contentClassName,
20327
20333
  mediaClassName,
20328
- arrowClassName,
20329
20334
  equalizeOnMobile,
20330
20335
  stretchMediaOnMobile,
20331
20336
  background,
20332
- spacing,
20337
+ spacing = "py-6 md:py-32",
20333
20338
  pattern,
20334
20339
  patternOpacity,
20335
20340
  patternClassName
20336
20341
  }) {
20337
- const baseArrowClassName = React52.useMemo(
20338
- () => "bottom-4 top-auto size-12 translate-y-0 rounded-full border border-current bg-transparent text-current shadow-sm focus:ring-current focus:ring-offset-2 focus:ring-offset-transparent hover:bg-current/10 md:bottom-6",
20339
- []
20340
- );
20342
+ const [api, setApi] = React52__namespace.useState();
20343
+ const [canScrollPrevious, setCanScrollPrevious] = React52__namespace.useState(false);
20344
+ const [canScrollNext, setCanScrollNext] = React52__namespace.useState(false);
20345
+ React52__namespace.useEffect(() => {
20346
+ if (!api) return;
20347
+ const updateScrollState = () => {
20348
+ setCanScrollPrevious(api.canScrollPrev());
20349
+ setCanScrollNext(api.canScrollNext());
20350
+ };
20351
+ updateScrollState();
20352
+ api.on("select", updateScrollState);
20353
+ return () => {
20354
+ api.off("select", updateScrollState);
20355
+ };
20356
+ }, [api]);
20341
20357
  const [mobileSlideHeight, setMobileSlideHeight] = React52.useState(
20342
20358
  null
20343
20359
  );
@@ -20361,9 +20377,7 @@ function FeatureShowcase({
20361
20377
  const heights = slideRefs.current.slice(0, items.length).map((node) => node?.offsetHeight ?? 0);
20362
20378
  const maxHeight = Math.max(...heights, 0);
20363
20379
  if (maxHeight > 0) {
20364
- setMobileSlideHeight(
20365
- (prev) => prev === maxHeight ? prev : maxHeight
20366
- );
20380
+ setMobileSlideHeight((prev) => prev === maxHeight ? prev : maxHeight);
20367
20381
  }
20368
20382
  };
20369
20383
  updateHeights();
@@ -20382,7 +20396,7 @@ function FeatureShowcase({
20382
20396
  }, [equalizeOnMobile, items]);
20383
20397
  const carouselContent = React52.useMemo(() => {
20384
20398
  if (!items || items.length === 0) return null;
20385
- return /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { className: carouselClassName, children: [
20399
+ return /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { className: carouselClassName, setApi, children: [
20386
20400
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "ease-in", children: items.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(
20387
20401
  "div",
20388
20402
  {
@@ -20411,19 +20425,30 @@ function FeatureShowcase({
20411
20425
  }
20412
20426
  ) }, `slide-${itemIndex}`)) }) }),
20413
20427
  /* @__PURE__ */ jsxRuntime.jsx(
20414
- CarouselPrevious,
20428
+ CarouselPagination,
20415
20429
  {
20416
- className: cn(baseArrowClassName, "left-4 md:left-6", arrowClassName)
20417
- }
20418
- ),
20419
- /* @__PURE__ */ jsxRuntime.jsx(
20420
- CarouselNext,
20421
- {
20422
- className: cn(baseArrowClassName, "right-4 md:right-6", arrowClassName)
20430
+ onPrevious: () => api?.scrollPrev(),
20431
+ onNext: () => api?.scrollNext(),
20432
+ canScrollPrevious,
20433
+ canScrollNext,
20434
+ className: "absolute bottom-4 right-0 md:bottom-6",
20435
+ buttonClassName: "size-12 rounded-full border border-current bg-transparent text-current shadow-sm hover:bg-current/10"
20423
20436
  }
20424
20437
  )
20425
20438
  ] });
20426
- }, [items, carouselClassName, equalizeOnMobile, mobileSlideHeight, slideClassName, contentClassName, mediaWrapperClassName, mediaClassName, baseArrowClassName, arrowClassName]);
20439
+ }, [
20440
+ items,
20441
+ carouselClassName,
20442
+ equalizeOnMobile,
20443
+ mobileSlideHeight,
20444
+ slideClassName,
20445
+ contentClassName,
20446
+ mediaWrapperClassName,
20447
+ mediaClassName,
20448
+ api,
20449
+ canScrollPrevious,
20450
+ canScrollNext
20451
+ ]);
20427
20452
  return /* @__PURE__ */ jsxRuntime.jsxs(
20428
20453
  Section,
20429
20454
  {
@@ -20458,7 +20483,7 @@ function FeatureSplitImage({
20458
20483
  imageClassName,
20459
20484
  optixFlowConfig,
20460
20485
  background,
20461
- spacing,
20486
+ spacing = "py-6 md:py-32",
20462
20487
  pattern,
20463
20488
  patternOpacity,
20464
20489
  patternClassName
@@ -20475,11 +20500,20 @@ function FeatureSplitImage({
20475
20500
  className: actionClassName,
20476
20501
  ...pressableProps
20477
20502
  } = action;
20478
- return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20479
- icon,
20480
- label,
20481
- iconAfter
20482
- ] }) }, index);
20503
+ return /* @__PURE__ */ jsxRuntime.jsx(
20504
+ Pressable,
20505
+ {
20506
+ className: actionClassName,
20507
+ asButton: true,
20508
+ ...pressableProps,
20509
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20510
+ icon,
20511
+ label,
20512
+ iconAfter
20513
+ ] })
20514
+ },
20515
+ index
20516
+ );
20483
20517
  });
20484
20518
  }, [actionsSlot, actions]);
20485
20519
  const imageContent = React52.useMemo(() => {
@@ -20490,7 +20524,10 @@ function FeatureSplitImage({
20490
20524
  {
20491
20525
  src: imageSrc,
20492
20526
  alt: imageAlt || "",
20493
- className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
20527
+ className: cn(
20528
+ "max-h-96 w-full rounded-md object-cover",
20529
+ imageClassName
20530
+ ),
20494
20531
  loading: "lazy",
20495
20532
  optixFlowConfig
20496
20533
  }
@@ -20506,14 +20543,74 @@ function FeatureSplitImage({
20506
20543
  patternClassName,
20507
20544
  className,
20508
20545
  containerClassName,
20509
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName), children: [
20510
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
20511
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
20512
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
20513
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
20514
- ] }),
20515
- imageContent
20516
- ] })
20546
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
20547
+ "div",
20548
+ {
20549
+ className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName),
20550
+ children: [
20551
+ /* @__PURE__ */ jsxRuntime.jsxs(
20552
+ "div",
20553
+ {
20554
+ className: cn(
20555
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
20556
+ contentClassName
20557
+ ),
20558
+ children: [
20559
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
20560
+ "h2",
20561
+ {
20562
+ className: cn(
20563
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20564
+ titleClassName
20565
+ ),
20566
+ children: title
20567
+ }
20568
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20569
+ "div",
20570
+ {
20571
+ className: cn(
20572
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20573
+ titleClassName
20574
+ ),
20575
+ children: title
20576
+ }
20577
+ )),
20578
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
20579
+ "p",
20580
+ {
20581
+ className: cn(
20582
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20583
+ descriptionClassName
20584
+ ),
20585
+ children: description
20586
+ }
20587
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20588
+ "div",
20589
+ {
20590
+ className: cn(
20591
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20592
+ descriptionClassName
20593
+ ),
20594
+ children: description
20595
+ }
20596
+ )),
20597
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
20598
+ "div",
20599
+ {
20600
+ className: cn(
20601
+ "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
20602
+ actionsClassName
20603
+ ),
20604
+ children: actionsContent
20605
+ }
20606
+ )
20607
+ ]
20608
+ }
20609
+ ),
20610
+ imageContent
20611
+ ]
20612
+ }
20613
+ )
20517
20614
  }
20518
20615
  );
20519
20616
  }
@@ -20535,7 +20632,7 @@ function FeatureSplitImageReverse({
20535
20632
  actionsClassName,
20536
20633
  optixFlowConfig,
20537
20634
  background,
20538
- spacing,
20635
+ spacing = "py-6 md:py-32",
20539
20636
  pattern,
20540
20637
  patternOpacity,
20541
20638
  patternClassName
@@ -20552,11 +20649,20 @@ function FeatureSplitImageReverse({
20552
20649
  className: actionClassName,
20553
20650
  ...pressableProps
20554
20651
  } = action;
20555
- return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20556
- icon,
20557
- label,
20558
- iconAfter
20559
- ] }) }, index);
20652
+ return /* @__PURE__ */ jsxRuntime.jsx(
20653
+ Pressable,
20654
+ {
20655
+ className: actionClassName,
20656
+ asButton: true,
20657
+ ...pressableProps,
20658
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
20659
+ icon,
20660
+ label,
20661
+ iconAfter
20662
+ ] })
20663
+ },
20664
+ index
20665
+ );
20560
20666
  });
20561
20667
  }, [actionsSlot, actions]);
20562
20668
  const imageContent = React52.useMemo(() => {
@@ -20567,7 +20673,10 @@ function FeatureSplitImageReverse({
20567
20673
  {
20568
20674
  src: imageSrc,
20569
20675
  alt: imageAlt || "",
20570
- className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
20676
+ className: cn(
20677
+ "max-h-96 w-full rounded-md object-cover",
20678
+ imageClassName
20679
+ ),
20571
20680
  loading: "lazy",
20572
20681
  optixFlowConfig
20573
20682
  }
@@ -20583,14 +20692,77 @@ function FeatureSplitImageReverse({
20583
20692
  patternClassName,
20584
20693
  className,
20585
20694
  containerClassName,
20586
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid items-center gap-8 md:gap-16 lg:grid-cols-2", gridClassName), children: [
20587
- imageContent,
20588
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
20589
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
20590
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
20591
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
20592
- ] })
20593
- ] })
20695
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
20696
+ "div",
20697
+ {
20698
+ className: cn(
20699
+ "grid items-center gap-8 md:gap-16 lg:grid-cols-2",
20700
+ gridClassName
20701
+ ),
20702
+ children: [
20703
+ imageContent,
20704
+ /* @__PURE__ */ jsxRuntime.jsxs(
20705
+ "div",
20706
+ {
20707
+ className: cn(
20708
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
20709
+ contentClassName
20710
+ ),
20711
+ children: [
20712
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
20713
+ "h2",
20714
+ {
20715
+ className: cn(
20716
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20717
+ titleClassName
20718
+ ),
20719
+ children: title
20720
+ }
20721
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20722
+ "div",
20723
+ {
20724
+ className: cn(
20725
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20726
+ titleClassName
20727
+ ),
20728
+ children: title
20729
+ }
20730
+ )),
20731
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
20732
+ "p",
20733
+ {
20734
+ className: cn(
20735
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20736
+ descriptionClassName
20737
+ ),
20738
+ children: description
20739
+ }
20740
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20741
+ "div",
20742
+ {
20743
+ className: cn(
20744
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20745
+ descriptionClassName
20746
+ ),
20747
+ children: description
20748
+ }
20749
+ )),
20750
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
20751
+ "div",
20752
+ {
20753
+ className: cn(
20754
+ "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
20755
+ actionsClassName
20756
+ ),
20757
+ children: actionsContent
20758
+ }
20759
+ )
20760
+ ]
20761
+ }
20762
+ )
20763
+ ]
20764
+ }
20765
+ )
20594
20766
  }
20595
20767
  );
20596
20768
  }
@@ -20606,7 +20778,7 @@ function FeatureIconGridBordered({
20606
20778
  gridClassName,
20607
20779
  cardClassName,
20608
20780
  background,
20609
- spacing,
20781
+ spacing = "py-6 md:py-32",
20610
20782
  pattern,
20611
20783
  patternOpacity,
20612
20784
  patternClassName
@@ -20624,18 +20796,67 @@ function FeatureIconGridBordered({
20624
20796
  return features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
20625
20797
  "div",
20626
20798
  {
20627
- className: cn("relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5", cardClassName, feature.className),
20799
+ className: cn(
20800
+ "relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5",
20801
+ cardClassName,
20802
+ feature.className
20803
+ ),
20628
20804
  children: [
20629
- (feature.icon || feature.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", feature.iconClassName), children: renderIcon(feature) }),
20805
+ (feature.icon || feature.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
20806
+ "span",
20807
+ {
20808
+ className: cn(
20809
+ "mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12",
20810
+ feature.iconClassName
20811
+ ),
20812
+ children: renderIcon(feature)
20813
+ }
20814
+ ),
20630
20815
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
20631
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
20632
- feature.title,
20633
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20634
- ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
20635
- feature.title,
20636
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20637
- ] })),
20638
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
20816
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsxs(
20817
+ "h3",
20818
+ {
20819
+ className: cn(
20820
+ "font-medium md:mb-2 md:text-xl",
20821
+ feature.titleClassName
20822
+ ),
20823
+ children: [
20824
+ feature.title,
20825
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20826
+ ]
20827
+ }
20828
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(
20829
+ "div",
20830
+ {
20831
+ className: cn(
20832
+ "font-medium md:mb-2 md:text-xl",
20833
+ feature.titleClassName
20834
+ ),
20835
+ children: [
20836
+ feature.title,
20837
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20838
+ ]
20839
+ }
20840
+ )),
20841
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
20842
+ "p",
20843
+ {
20844
+ className: cn(
20845
+ "text-sm md:text-base",
20846
+ feature.descriptionClassName
20847
+ ),
20848
+ children: feature.description
20849
+ }
20850
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20851
+ "div",
20852
+ {
20853
+ className: cn(
20854
+ "text-sm md:text-base",
20855
+ feature.descriptionClassName
20856
+ ),
20857
+ children: feature.description
20858
+ }
20859
+ ))
20639
20860
  ] })
20640
20861
  ]
20641
20862
  },
@@ -20653,9 +20874,30 @@ function FeatureIconGridBordered({
20653
20874
  className,
20654
20875
  containerClassName,
20655
20876
  children: [
20656
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label })),
20657
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
20658
- (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4", gridClassName), children: featuresContent })
20877
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-xs ", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 text-xs ", labelClassName), children: label })),
20878
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
20879
+ "h2",
20880
+ {
20881
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
20882
+ children: title
20883
+ }
20884
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
20885
+ "div",
20886
+ {
20887
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
20888
+ children: title
20889
+ }
20890
+ )),
20891
+ (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
20892
+ "div",
20893
+ {
20894
+ className: cn(
20895
+ "mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4",
20896
+ gridClassName
20897
+ ),
20898
+ children: featuresContent
20899
+ }
20900
+ )
20659
20901
  ]
20660
20902
  }
20661
20903
  );
@@ -20681,7 +20923,7 @@ function FeatureChecklistImage({
20681
20923
  checklistClassName,
20682
20924
  optixFlowConfig,
20683
20925
  background,
20684
- spacing,
20926
+ spacing = "py-6 md:py-32",
20685
20927
  pattern,
20686
20928
  patternOpacity,
20687
20929
  patternClassName
@@ -20734,7 +20976,10 @@ function FeatureChecklistImage({
20734
20976
  {
20735
20977
  src: imageSrc,
20736
20978
  alt: imageAlt || "Feature illustration",
20737
- className: cn("max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2", imageClassName),
20979
+ className: cn(
20980
+ "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
20981
+ imageClassName
20982
+ ),
20738
20983
  loading: "lazy",
20739
20984
  optixFlowConfig
20740
20985
  }
@@ -20748,10 +20993,17 @@ function FeatureChecklistImage({
20748
20993
  const content = isString ? item : item.content;
20749
20994
  const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
20750
20995
  const itemClassName = isString ? void 0 : item.className;
20751
- return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex items-center gap-3", itemClassName), children: [
20752
- iconElement,
20753
- content
20754
- ] }, index);
20996
+ return /* @__PURE__ */ jsxRuntime.jsxs(
20997
+ "li",
20998
+ {
20999
+ className: cn("flex items-center gap-3", itemClassName),
21000
+ children: [
21001
+ iconElement,
21002
+ content
21003
+ ]
21004
+ },
21005
+ index
21006
+ );
20755
21007
  });
20756
21008
  }, [checklistSlot, checklistItems]);
20757
21009
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -20764,15 +21016,78 @@ function FeatureChecklistImage({
20764
21016
  patternClassName,
20765
21017
  className,
20766
21018
  containerClassName: cn("max-w-6xl", containerClassName),
20767
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-12 md:flex-row", contentWrapperClassName), children: [
20768
- imageContent,
20769
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
20770
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title })),
20771
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description })),
20772
- actionsContent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actionsContent }),
20773
- checklistContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
20774
- ] })
20775
- ] })
21019
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
21020
+ "div",
21021
+ {
21022
+ className: cn(
21023
+ "flex flex-col gap-12 md:flex-row",
21024
+ contentWrapperClassName
21025
+ ),
21026
+ children: [
21027
+ imageContent,
21028
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
21029
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21030
+ "h2",
21031
+ {
21032
+ className: cn(
21033
+ "text-3xl font-medium text-balance md:text-5xl",
21034
+ titleClassName
21035
+ ),
21036
+ children: title
21037
+ }
21038
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21039
+ "div",
21040
+ {
21041
+ className: cn(
21042
+ "text-3xl font-medium text-balance md:text-5xl",
21043
+ titleClassName
21044
+ ),
21045
+ children: title
21046
+ }
21047
+ )),
21048
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21049
+ "p",
21050
+ {
21051
+ className: cn(
21052
+ "mt-1 text-muted-foreground md:mt-6",
21053
+ descriptionClassName
21054
+ ),
21055
+ children: description
21056
+ }
21057
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21058
+ "div",
21059
+ {
21060
+ className: cn(
21061
+ "mt-1 text-muted-foreground md:mt-6",
21062
+ descriptionClassName
21063
+ ),
21064
+ children: description
21065
+ }
21066
+ )),
21067
+ actionsContent && /* @__PURE__ */ jsxRuntime.jsx(
21068
+ "div",
21069
+ {
21070
+ className: cn(
21071
+ "flex flex-wrap items-center gap-2",
21072
+ actionsClassName
21073
+ ),
21074
+ children: actionsContent
21075
+ }
21076
+ ),
21077
+ checklistContent && /* @__PURE__ */ jsxRuntime.jsx(
21078
+ "ul",
21079
+ {
21080
+ className: cn(
21081
+ "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
21082
+ checklistClassName
21083
+ ),
21084
+ children: checklistContent
21085
+ }
21086
+ )
21087
+ ] })
21088
+ ]
21089
+ }
21090
+ )
20776
21091
  }
20777
21092
  );
20778
21093
  }
@@ -20848,7 +21163,7 @@ function FeatureCarouselProgress({
20848
21163
  {
20849
21164
  className: "basis-full md:basis-1/2 lg:basis-1/3",
20850
21165
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1", children: /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
20851
- (slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-accent lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
21166
+ (slide.icon || slide.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-5 flex size-8 items-center justify-center rounded-full bg-primary text-primary-foreground lg:size-10", slide.iconClassName), children: renderSlideIcon(slide) }),
20852
21167
  slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
20853
21168
  slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
20854
21169
  ] }) }) }) })
@@ -20905,27 +21220,30 @@ function FeatureCardGridLinked({
20905
21220
  cardClassName,
20906
21221
  optixFlowConfig,
20907
21222
  background,
20908
- spacing,
21223
+ spacing = "py-6 md:py-32",
20909
21224
  pattern,
20910
21225
  patternOpacity,
20911
21226
  patternClassName
20912
21227
  }) {
20913
- const renderImage = React52.useCallback((feature, imageAlt) => {
20914
- if (feature.imageSlot) return feature.imageSlot;
20915
- if (feature.image) {
20916
- return /* @__PURE__ */ jsxRuntime.jsx(
20917
- img.Img,
20918
- {
20919
- src: feature.image,
20920
- alt: imageAlt,
20921
- className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
20922
- loading: "lazy",
20923
- optixFlowConfig
20924
- }
20925
- );
20926
- }
20927
- return null;
20928
- }, [optixFlowConfig]);
21228
+ const renderImage = React52.useCallback(
21229
+ (feature, imageAlt) => {
21230
+ if (feature.imageSlot) return feature.imageSlot;
21231
+ if (feature.image) {
21232
+ return /* @__PURE__ */ jsxRuntime.jsx(
21233
+ img.Img,
21234
+ {
21235
+ src: feature.image,
21236
+ alt: imageAlt,
21237
+ className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
21238
+ loading: "lazy",
21239
+ optixFlowConfig
21240
+ }
21241
+ );
21242
+ }
21243
+ return null;
21244
+ },
21245
+ [optixFlowConfig]
21246
+ );
20929
21247
  const featuresContent = React52.useMemo(() => {
20930
21248
  if (featuresSlot) return featuresSlot;
20931
21249
  if (!features || features.length === 0) return null;
@@ -20935,16 +21253,56 @@ function FeatureCardGridLinked({
20935
21253
  return /* @__PURE__ */ jsxRuntime.jsxs(
20936
21254
  "div",
20937
21255
  {
20938
- className: cn("flex flex-col justify-between rounded-lg bg-muted", cardClassName, feature.className),
21256
+ className: cn(
21257
+ "flex flex-col justify-between rounded-lg bg-muted border",
21258
+ cardClassName,
21259
+ feature.className
21260
+ ),
20939
21261
  children: [
20940
21262
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
20941
21263
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-8 py-6 pl-4 md:gap-14 md:py-10 md:pl-8 lg:justify-normal", children: [
20942
- feature.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("font-mono text-xs text-muted-foreground", feature.labelClassName), children: feature.label }),
20943
- feature.heading && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-2xl transition-all hover:text-primary hover:opacity-80 sm:text-3xl lg:text-4xl", feature.headingClassName), children: feature.heading }) })
21264
+ feature.label && /* @__PURE__ */ jsxRuntime.jsx(
21265
+ "span",
21266
+ {
21267
+ className: cn(
21268
+ "font-bold text-xs uppercase opacity-75",
21269
+ feature.labelClassName
21270
+ ),
21271
+ children: feature.label
21272
+ }
21273
+ ),
21274
+ feature.heading && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21275
+ "h3",
21276
+ {
21277
+ className: cn(
21278
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
21279
+ feature.headingClassName
21280
+ ),
21281
+ children: feature.heading
21282
+ }
21283
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21284
+ "div",
21285
+ {
21286
+ className: cn(
21287
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
21288
+ feature.headingClassName
21289
+ ),
21290
+ children: feature.heading
21291
+ }
21292
+ ) })
20944
21293
  ] }),
20945
21294
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
20946
21295
  ] }),
20947
- feature.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("p-4 text-muted-foreground md:p-8", feature.descriptionClassName), children: feature.description })
21296
+ feature.description && /* @__PURE__ */ jsxRuntime.jsx(
21297
+ "p",
21298
+ {
21299
+ className: cn(
21300
+ "p-4 text-muted-foreground md:p-8",
21301
+ feature.descriptionClassName
21302
+ ),
21303
+ children: feature.description
21304
+ }
21305
+ )
20948
21306
  ]
20949
21307
  },
20950
21308
  featureKey
@@ -20962,7 +21320,34 @@ function FeatureCardGridLinked({
20962
21320
  className,
20963
21321
  containerClassName,
20964
21322
  children: [
20965
- title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mb-16 max-w-3xl text-center", titleWrapperClassName), children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) }),
21323
+ title && /* @__PURE__ */ jsxRuntime.jsx(
21324
+ "div",
21325
+ {
21326
+ className: cn(
21327
+ "mx-auto mb-16 max-w-3xl text-center",
21328
+ titleWrapperClassName
21329
+ ),
21330
+ children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21331
+ "h2",
21332
+ {
21333
+ className: cn(
21334
+ "text-4xl font-medium text-pretty lg:text-5xl",
21335
+ titleClassName
21336
+ ),
21337
+ children: title
21338
+ }
21339
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21340
+ "div",
21341
+ {
21342
+ className: cn(
21343
+ "text-4xl font-medium text-pretty lg:text-5xl",
21344
+ titleClassName
21345
+ ),
21346
+ children: title
21347
+ }
21348
+ )
21349
+ }
21350
+ ),
20966
21351
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
20967
21352
  ]
20968
21353
  }
@@ -20986,27 +21371,45 @@ function FeatureNumberedCards({
20986
21371
  patternOpacity,
20987
21372
  patternClassName
20988
21373
  }) {
20989
- const renderChecklistItems = React52.useCallback((feature) => {
20990
- if (feature.checklistSlot) return feature.checklistSlot;
20991
- if (!feature.checklistItems || feature.checklistItems.length === 0) return null;
20992
- return feature.checklistItems.map((item, itemIndex) => {
20993
- const isString = typeof item === "string";
20994
- const content = isString ? item : item.content;
20995
- const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(
20996
- DynamicIcon,
20997
- {
20998
- name: "lucide/check-circle",
20999
- size: 16,
21000
- className: "mt-0.5 shrink-0 sm:mt-1"
21001
- }
21002
- ) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 16, className: "mt-0.5 shrink-0 sm:mt-1" }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle", size: 16, className: "mt-0.5 shrink-0 sm:mt-1" }));
21003
- const itemClassName = isString ? void 0 : item.className;
21004
- return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
21005
- iconElement,
21006
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm md:text-base", children: content })
21007
- ] }, itemIndex);
21008
- });
21009
- }, []);
21374
+ const renderChecklistItems = React52.useCallback(
21375
+ (feature) => {
21376
+ if (feature.checklistSlot) return feature.checklistSlot;
21377
+ if (!feature.checklistItems || feature.checklistItems.length === 0)
21378
+ return null;
21379
+ return feature.checklistItems.map((item, itemIndex) => {
21380
+ const isString = typeof item === "string";
21381
+ const content = isString ? item : item.content;
21382
+ const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(
21383
+ DynamicIcon,
21384
+ {
21385
+ name: "lucide/check-circle",
21386
+ size: 16,
21387
+ className: "mt-0.5 shrink-0 sm:mt-1"
21388
+ }
21389
+ ) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsxRuntime.jsx(
21390
+ DynamicIcon,
21391
+ {
21392
+ name: item.iconName,
21393
+ size: 16,
21394
+ className: "mt-0.5 shrink-0 sm:mt-1"
21395
+ }
21396
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21397
+ DynamicIcon,
21398
+ {
21399
+ name: "lucide/check-circle",
21400
+ size: 16,
21401
+ className: "mt-0.5 shrink-0 sm:mt-1"
21402
+ }
21403
+ ));
21404
+ const itemClassName = isString ? void 0 : item.className;
21405
+ return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
21406
+ iconElement,
21407
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm md:text-base", children: content })
21408
+ ] }, itemIndex);
21409
+ });
21410
+ },
21411
+ []
21412
+ );
21010
21413
  const featuresContent = React52.useMemo(() => {
21011
21414
  if (featuresSlot) return featuresSlot;
21012
21415
  if (!features || features.length === 0) return null;
@@ -21020,7 +21423,7 @@ function FeatureNumberedCards({
21020
21423
  {
21021
21424
  src: feature.image,
21022
21425
  alt: imageAlt,
21023
- className: "h-full w-full object-cover",
21426
+ className: "h-full w-full object-cover rounded-tr-lg rounded-tl-lg md:rounded-tl-0 rounded-br-0 md:rounded-br-lg",
21024
21427
  loading: "lazy",
21025
21428
  optixFlowConfig
21026
21429
  }
@@ -21028,19 +21431,111 @@ function FeatureNumberedCards({
21028
21431
  }
21029
21432
  return null;
21030
21433
  };
21031
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid rounded-lg border md:grid-cols-2", cardClassName, feature.className), children: [
21032
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col px-6 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20", feature.contentClassName), children: [
21033
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl", titleClassName), children: feature.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl", titleClassName), children: feature.title })),
21034
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8 text-sm text-muted-foreground sm:mb-10 md:text-base", descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8 text-sm text-muted-foreground sm:mb-10 md:text-base", descriptionClassName), children: feature.description })),
21035
- feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-auto space-y-2 sm:space-y-3", checklistClassName), children: renderChecklistItems(feature) }) : null
21036
- ] }),
21037
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative order-first max-h-80 md:order-last md:max-h-[500px]", feature.imageWrapperClassName), children: [
21038
- renderImage(),
21039
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("absolute top-5 left-5 flex size-6 items-center justify-center rounded-sm bg-primary font-mono text-xs text-primary-foreground md:top-10 md:left-10", badgeClassName), children: String(index + 1).padStart(2, "0") })
21040
- ] })
21041
- ] }, index);
21434
+ return /* @__PURE__ */ jsxRuntime.jsxs(
21435
+ "div",
21436
+ {
21437
+ className: cn(
21438
+ "grid rounded-lg border md:grid-cols-2",
21439
+ cardClassName,
21440
+ feature.className
21441
+ ),
21442
+ children: [
21443
+ /* @__PURE__ */ jsxRuntime.jsxs(
21444
+ "div",
21445
+ {
21446
+ className: cn(
21447
+ "flex flex-col px-6 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20",
21448
+ feature.contentClassName
21449
+ ),
21450
+ children: [
21451
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21452
+ "h3",
21453
+ {
21454
+ className: cn(
21455
+ "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
21456
+ titleClassName
21457
+ ),
21458
+ children: feature.title
21459
+ }
21460
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21461
+ "div",
21462
+ {
21463
+ className: cn(
21464
+ "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
21465
+ titleClassName
21466
+ ),
21467
+ children: feature.title
21468
+ }
21469
+ )),
21470
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21471
+ "div",
21472
+ {
21473
+ className: cn(
21474
+ "mb-8 text-sm sm:mb-10 md:text-base",
21475
+ descriptionClassName
21476
+ ),
21477
+ children: feature.description
21478
+ }
21479
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21480
+ "div",
21481
+ {
21482
+ className: cn(
21483
+ "mb-8 text-sm sm:mb-10 md:text-base",
21484
+ descriptionClassName
21485
+ ),
21486
+ children: feature.description
21487
+ }
21488
+ )),
21489
+ feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsxRuntime.jsx(
21490
+ "ul",
21491
+ {
21492
+ className: cn(
21493
+ "mt-auto space-y-2 sm:space-y-3",
21494
+ checklistClassName
21495
+ ),
21496
+ children: renderChecklistItems(feature)
21497
+ }
21498
+ ) : null
21499
+ ]
21500
+ }
21501
+ ),
21502
+ /* @__PURE__ */ jsxRuntime.jsxs(
21503
+ "div",
21504
+ {
21505
+ className: cn(
21506
+ "relative order-first max-h-80 md:order-last md:max-h-[500px]",
21507
+ feature.imageWrapperClassName
21508
+ ),
21509
+ children: [
21510
+ renderImage(),
21511
+ /* @__PURE__ */ jsxRuntime.jsx(
21512
+ "span",
21513
+ {
21514
+ className: cn(
21515
+ "absolute top-5 left-5 flex size-6 items-center justify-center rounded-sm bg-primary font-mono text-xs text-primary-foreground md:top-10 md:left-10",
21516
+ badgeClassName
21517
+ ),
21518
+ children: String(index + 1).padStart(2, "0")
21519
+ }
21520
+ )
21521
+ ]
21522
+ }
21523
+ )
21524
+ ]
21525
+ },
21526
+ index
21527
+ );
21042
21528
  });
21043
- }, [featuresSlot, features, cardClassName, titleClassName, descriptionClassName, checklistClassName, badgeClassName, optixFlowConfig]);
21529
+ }, [
21530
+ featuresSlot,
21531
+ features,
21532
+ cardClassName,
21533
+ titleClassName,
21534
+ descriptionClassName,
21535
+ checklistClassName,
21536
+ badgeClassName,
21537
+ optixFlowConfig
21538
+ ]);
21044
21539
  return /* @__PURE__ */ jsxRuntime.jsx(
21045
21540
  Section,
21046
21541
  {
@@ -21051,7 +21546,16 @@ function FeatureNumberedCards({
21051
21546
  patternClassName,
21052
21547
  className,
21053
21548
  containerClassName,
21054
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-10 rounded-lg border py-10 md:px-4", cardsWrapperClassName), children: featuresContent })
21549
+ children: /* @__PURE__ */ jsxRuntime.jsx(
21550
+ "div",
21551
+ {
21552
+ className: cn(
21553
+ "space-y-4 md:space-y-10 rounded-lg border-none md:border md:bg-background p-0 md:p-10",
21554
+ cardsWrapperClassName
21555
+ ),
21556
+ children: featuresContent
21557
+ }
21558
+ )
21055
21559
  }
21056
21560
  );
21057
21561
  }
@@ -21084,12 +21588,21 @@ function FeatureIconGridAccent({
21084
21588
  "div",
21085
21589
  {
21086
21590
  className: cn(
21087
- "flex flex-col justify-between rounded-lg bg-accent p-6 md:min-h-[300px] md:p-8",
21591
+ "flex flex-col justify-between rounded-lg p-6 md:min-h-[300px] md:p-8",
21088
21592
  cardClassName,
21089
21593
  feature.className
21090
21594
  ),
21091
21595
  children: [
21092
- iconElement && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-6 flex size-11 items-center justify-center rounded-full bg-background", feature.iconClassName), children: iconElement }),
21596
+ iconElement && /* @__PURE__ */ jsxRuntime.jsx(
21597
+ "span",
21598
+ {
21599
+ className: cn(
21600
+ "mb-6 flex size-11 items-center justify-center rounded-full",
21601
+ feature.iconClassName
21602
+ ),
21603
+ children: iconElement
21604
+ }
21605
+ ),
21093
21606
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
21094
21607
  feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-medium md:text-2xl", children: feature.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg font-medium md:text-2xl", children: feature.title })),
21095
21608
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 text-muted-foreground", children: feature.description }))
@@ -21111,12 +21624,45 @@ function FeatureIconGridAccent({
21111
21624
  className,
21112
21625
  containerClassName,
21113
21626
  children: [
21114
- (label || title || description) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-full flex-col items-center", headerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center space-y-4 text-center sm:space-y-6 md:max-w-3xl md:text-center", children: [
21115
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: labelClassName, children: label })),
21116
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
21117
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground md:max-w-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
21118
- ] }) }),
21119
- featuresContent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2", gridClassName), children: featuresContent })
21627
+ (label || title || description) && /* @__PURE__ */ jsxRuntime.jsx(
21628
+ "div",
21629
+ {
21630
+ className: cn("flex w-full flex-col items-center", headerClassName),
21631
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center space-y-4 text-center sm:space-y-6 md:max-w-3xl md:text-center", children: [
21632
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: labelClassName, children: label })),
21633
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21634
+ "h2",
21635
+ {
21636
+ className: cn(
21637
+ "text-3xl font-medium md:text-5xl text-balance",
21638
+ titleClassName
21639
+ ),
21640
+ children: title
21641
+ }
21642
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
21643
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21644
+ "p",
21645
+ {
21646
+ className: cn(
21647
+ "md:max-w-2xl text-balance",
21648
+ descriptionClassName
21649
+ ),
21650
+ children: description
21651
+ }
21652
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
21653
+ ] })
21654
+ }
21655
+ ),
21656
+ featuresContent && /* @__PURE__ */ jsxRuntime.jsx(
21657
+ "div",
21658
+ {
21659
+ className: cn(
21660
+ "mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2",
21661
+ gridClassName
21662
+ ),
21663
+ children: featuresContent
21664
+ }
21665
+ )
21120
21666
  ]
21121
21667
  }
21122
21668
  );
@@ -21133,24 +21679,78 @@ function FeatureThreeColumnValues({
21133
21679
  gridClassName,
21134
21680
  cardClassName,
21135
21681
  background,
21136
- spacing,
21682
+ spacing = "py-6 md:py-32",
21137
21683
  pattern,
21138
21684
  patternOpacity,
21139
21685
  patternClassName
21140
21686
  }) {
21141
- const renderValueIcon = React52__namespace.useCallback((value) => {
21142
- if (value.icon) return value.icon;
21143
- if (value.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: value.iconName, size: 24 });
21144
- return null;
21145
- }, []);
21687
+ const renderValueIcon = React52__namespace.useCallback(
21688
+ (value) => {
21689
+ if (value.icon) return value.icon;
21690
+ if (value.iconName)
21691
+ return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: value.iconName, size: 24 });
21692
+ return null;
21693
+ },
21694
+ []
21695
+ );
21146
21696
  const valuesContent = React52.useMemo(() => {
21147
21697
  if (valuesSlot) return valuesSlot;
21148
21698
  if (!values || values.length === 0) return null;
21149
- return values.map((value, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg bg-accent p-5", cardClassName, value.className), children: [
21150
- (value.icon || value.iconName) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-8 flex size-12 items-center justify-center rounded-full bg-background", value.iconClassName), children: renderValueIcon(value) }),
21151
- value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title })),
21152
- value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }))
21153
- ] }, index));
21699
+ return values.map((value, index) => /* @__PURE__ */ jsxRuntime.jsxs(
21700
+ "div",
21701
+ {
21702
+ className: cn(
21703
+ "rounded-lg bg-accent p-5",
21704
+ cardClassName,
21705
+ value.className
21706
+ ),
21707
+ children: [
21708
+ (value.icon || value.iconName) && /* @__PURE__ */ jsxRuntime.jsx(
21709
+ "span",
21710
+ {
21711
+ className: cn(
21712
+ "mb-8 flex size-12 items-center justify-center rounded-full bg-background",
21713
+ value.iconClassName
21714
+ ),
21715
+ children: renderValueIcon(value)
21716
+ }
21717
+ ),
21718
+ value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21719
+ "h3",
21720
+ {
21721
+ className: cn("mb-2 text-xl font-medium", value.titleClassName),
21722
+ children: value.title
21723
+ }
21724
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21725
+ "div",
21726
+ {
21727
+ className: cn("mb-2 text-xl font-medium", value.titleClassName),
21728
+ children: value.title
21729
+ }
21730
+ )),
21731
+ value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21732
+ "p",
21733
+ {
21734
+ className: cn(
21735
+ "leading-7 text-muted-foreground",
21736
+ value.descriptionClassName
21737
+ ),
21738
+ children: value.description
21739
+ }
21740
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21741
+ "div",
21742
+ {
21743
+ className: cn(
21744
+ "leading-7 text-muted-foreground",
21745
+ value.descriptionClassName
21746
+ ),
21747
+ children: value.description
21748
+ }
21749
+ ))
21750
+ ]
21751
+ },
21752
+ index
21753
+ ));
21154
21754
  }, [valuesSlot, values, cardClassName, renderValueIcon]);
21155
21755
  return /* @__PURE__ */ jsxRuntime.jsxs(
21156
21756
  Section,
@@ -21163,9 +21763,48 @@ function FeatureThreeColumnValues({
21163
21763
  className,
21164
21764
  containerClassName,
21165
21765
  children: [
21166
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label })),
21167
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
21168
- (valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3", gridClassName), children: valuesContent })
21766
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21767
+ "p",
21768
+ {
21769
+ className: cn(
21770
+ "mb-4 text-sm text-muted-foreground lg:text-base",
21771
+ labelClassName
21772
+ ),
21773
+ children: label
21774
+ }
21775
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21776
+ "div",
21777
+ {
21778
+ className: cn(
21779
+ "mb-4 text-sm text-muted-foreground lg:text-base",
21780
+ labelClassName
21781
+ ),
21782
+ children: label
21783
+ }
21784
+ )),
21785
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
21786
+ "h2",
21787
+ {
21788
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
21789
+ children: title
21790
+ }
21791
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
21792
+ "div",
21793
+ {
21794
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
21795
+ children: title
21796
+ }
21797
+ )),
21798
+ (valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
21799
+ "div",
21800
+ {
21801
+ className: cn(
21802
+ "mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3",
21803
+ gridClassName
21804
+ ),
21805
+ children: valuesContent
21806
+ }
21807
+ )
21169
21808
  ]
21170
21809
  }
21171
21810
  );
@@ -21221,7 +21860,7 @@ function FeatureBadgeGridSix({
21221
21860
  {
21222
21861
  className: cn("flex gap-6 space-y-4 rounded-lg md:block", cardClassName, feature.className),
21223
21862
  children: [
21224
- iconContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", children: iconContent }),
21863
+ iconContent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12", children: iconContent }),
21225
21864
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
21226
21865
  feature.heading && (typeof feature.heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading })),
21227
21866
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
@@ -21434,31 +22073,57 @@ function FeatureTabbedContentImage({
21434
22073
  contentGridClassName,
21435
22074
  optixFlowConfig,
21436
22075
  background,
21437
- spacing,
22076
+ spacing = "py-6 md:py-32",
21438
22077
  pattern,
21439
22078
  patternOpacity,
21440
22079
  patternClassName
21441
22080
  }) {
21442
- const renderFeatures = React52__namespace.useCallback((slide) => {
21443
- if (slide.featuresSlot) return slide.featuresSlot;
21444
- if (!slide.features || slide.features.length === 0) return null;
21445
- return slide.features.map((feature, index) => {
21446
- const isString = typeof feature === "string";
21447
- const content = isString ? feature : feature.content;
21448
- const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
21449
- const itemClassName = isString ? void 0 : feature.className;
21450
- return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("flex items-center gap-2", itemClassName), children: [
21451
- iconElement,
21452
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: content })
21453
- ] }, index);
21454
- });
21455
- }, []);
21456
- const renderActions = React52__namespace.useCallback((slide) => {
21457
- if (slide.actionsSlot) return slide.actionsSlot;
21458
- if (!slide.actions || slide.actions.length === 0) return null;
21459
- return slide.actions.map((action, index) => {
21460
- if (action.children) {
21461
- return /* @__PURE__ */ jsxRuntime.jsx(
22081
+ const renderFeatures = React52__namespace.useCallback(
22082
+ (slide) => {
22083
+ if (slide.featuresSlot) return slide.featuresSlot;
22084
+ if (!slide.features || slide.features.length === 0) return null;
22085
+ return slide.features.map((feature, index) => {
22086
+ const isString = typeof feature === "string";
22087
+ const content = isString ? feature : feature.content;
22088
+ const iconElement = isString ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
22089
+ const itemClassName = isString ? void 0 : feature.className;
22090
+ return /* @__PURE__ */ jsxRuntime.jsxs(
22091
+ "li",
22092
+ {
22093
+ className: cn("flex items-center gap-2", itemClassName),
22094
+ children: [
22095
+ iconElement,
22096
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: content })
22097
+ ]
22098
+ },
22099
+ index
22100
+ );
22101
+ });
22102
+ },
22103
+ []
22104
+ );
22105
+ const renderActions = React52__namespace.useCallback(
22106
+ (slide) => {
22107
+ if (slide.actionsSlot) return slide.actionsSlot;
22108
+ if (!slide.actions || slide.actions.length === 0) return null;
22109
+ return slide.actions.map((action, index) => {
22110
+ if (action.children) {
22111
+ return /* @__PURE__ */ jsxRuntime.jsx(
22112
+ Pressable,
22113
+ {
22114
+ href: action.href,
22115
+ onClick: action.onClick,
22116
+ variant: action.variant,
22117
+ size: action.size,
22118
+ className: cn("mt-8", action.className),
22119
+ "aria-label": action["aria-label"],
22120
+ asButton: true,
22121
+ children: action.children
22122
+ },
22123
+ index
22124
+ );
22125
+ }
22126
+ return /* @__PURE__ */ jsxRuntime.jsxs(
21462
22127
  Pressable,
21463
22128
  {
21464
22129
  href: action.href,
@@ -21468,46 +22133,39 @@ function FeatureTabbedContentImage({
21468
22133
  className: cn("mt-8", action.className),
21469
22134
  "aria-label": action["aria-label"],
21470
22135
  asButton: true,
21471
- children: action.children
22136
+ children: [
22137
+ action.icon,
22138
+ action.label,
22139
+ action.iconAfter
22140
+ ]
21472
22141
  },
21473
22142
  index
21474
22143
  );
21475
- }
21476
- return /* @__PURE__ */ jsxRuntime.jsxs(
21477
- Pressable,
22144
+ });
22145
+ },
22146
+ []
22147
+ );
22148
+ const renderImage = React52__namespace.useCallback(
22149
+ (slide) => {
22150
+ if (slide.imageSlot) return slide.imageSlot;
22151
+ if (!slide.image) return null;
22152
+ const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
22153
+ return /* @__PURE__ */ jsxRuntime.jsx(
22154
+ img.Img,
21478
22155
  {
21479
- href: action.href,
21480
- onClick: action.onClick,
21481
- variant: action.variant,
21482
- size: action.size,
21483
- className: cn("mt-8", action.className),
21484
- "aria-label": action["aria-label"],
21485
- asButton: true,
21486
- children: [
21487
- action.icon,
21488
- action.label,
21489
- action.iconAfter
21490
- ]
21491
- },
21492
- index
22156
+ src: slide.image,
22157
+ alt: imageAlt,
22158
+ className: cn(
22159
+ "order-first max-h-[400px] w-full rounded-lg object-cover md:order-last",
22160
+ slide.imageClassName
22161
+ ),
22162
+ loading: "lazy",
22163
+ optixFlowConfig
22164
+ }
21493
22165
  );
21494
- });
21495
- }, []);
21496
- const renderImage = React52__namespace.useCallback((slide) => {
21497
- if (slide.imageSlot) return slide.imageSlot;
21498
- if (!slide.image) return null;
21499
- const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
21500
- return /* @__PURE__ */ jsxRuntime.jsx(
21501
- img.Img,
21502
- {
21503
- src: slide.image,
21504
- alt: imageAlt,
21505
- className: cn("order-first max-h-[400px] w-full rounded-lg object-cover md:order-last", slide.imageClassName),
21506
- loading: "lazy",
21507
- optixFlowConfig
21508
- }
21509
- );
21510
- }, [optixFlowConfig]);
22166
+ },
22167
+ [optixFlowConfig]
22168
+ );
21511
22169
  const slidesContent = React52.useMemo(() => {
21512
22170
  if (slidesSlot) return slidesSlot;
21513
22171
  if (!slides || slides.length === 0) return null;
@@ -21516,7 +22174,10 @@ function FeatureTabbedContentImage({
21516
22174
  TabsTrigger,
21517
22175
  {
21518
22176
  value: slide.id.toString(),
21519
- className: cn("text-sm hover:bg-background md:text-base", tabTriggerClassName),
22177
+ className: cn(
22178
+ "text-sm hover:bg-background md:text-base",
22179
+ tabTriggerClassName
22180
+ ),
21520
22181
  children: slide.tabName
21521
22182
  },
21522
22183
  slide.id
@@ -21526,20 +22187,85 @@ function FeatureTabbedContentImage({
21526
22187
  {
21527
22188
  value: slide.id.toString(),
21528
22189
  className: cn("max-w-5xl", tabContentClassName),
21529
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid grid-cols-1 items-center gap-10 md:grid-cols-2", contentGridClassName, slide.className), children: [
21530
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
21531
- slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-4 text-2xl font-semibold lg:text-4xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 text-2xl font-semibold lg:text-4xl", slide.titleClassName), children: slide.title })),
21532
- slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground lg:text-xl", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-muted-foreground lg:text-xl", slide.descriptionClassName), children: slide.description })),
21533
- slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2", slide.featuresClassName), children: renderFeatures(slide) }) : null,
21534
- renderActions(slide)
21535
- ] }),
21536
- renderImage(slide)
21537
- ] })
22190
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
22191
+ "div",
22192
+ {
22193
+ className: cn(
22194
+ "grid grid-cols-1 items-center gap-10 md:grid-cols-2",
22195
+ contentGridClassName,
22196
+ slide.className
22197
+ ),
22198
+ children: [
22199
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22200
+ slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22201
+ "h2",
22202
+ {
22203
+ className: cn(
22204
+ "mb-4 text-2xl font-semibold lg:text-4xl",
22205
+ slide.titleClassName
22206
+ ),
22207
+ children: slide.title
22208
+ }
22209
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
22210
+ "div",
22211
+ {
22212
+ className: cn(
22213
+ "mb-4 text-2xl font-semibold lg:text-4xl",
22214
+ slide.titleClassName
22215
+ ),
22216
+ children: slide.title
22217
+ }
22218
+ )),
22219
+ slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22220
+ "p",
22221
+ {
22222
+ className: cn(
22223
+ "text-muted-foreground lg:text-xl",
22224
+ slide.descriptionClassName
22225
+ ),
22226
+ children: slide.description
22227
+ }
22228
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
22229
+ "div",
22230
+ {
22231
+ className: cn(
22232
+ "text-muted-foreground lg:text-xl",
22233
+ slide.descriptionClassName
22234
+ ),
22235
+ children: slide.description
22236
+ }
22237
+ )),
22238
+ slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsxRuntime.jsx(
22239
+ "ul",
22240
+ {
22241
+ className: cn(
22242
+ "mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2",
22243
+ slide.featuresClassName
22244
+ ),
22245
+ children: renderFeatures(slide)
22246
+ }
22247
+ ) : null,
22248
+ renderActions(slide)
22249
+ ] }),
22250
+ renderImage(slide)
22251
+ ]
22252
+ }
22253
+ )
21538
22254
  },
21539
22255
  slide.id
21540
22256
  ))
21541
22257
  ] });
21542
- }, [slidesSlot, slides, tabsListClassName, tabTriggerClassName, tabContentClassName, contentGridClassName, renderFeatures, renderActions, renderImage]);
22258
+ }, [
22259
+ slidesSlot,
22260
+ slides,
22261
+ tabsListClassName,
22262
+ tabTriggerClassName,
22263
+ tabContentClassName,
22264
+ contentGridClassName,
22265
+ renderFeatures,
22266
+ renderActions,
22267
+ renderImage
22268
+ ]);
21543
22269
  const effectiveDefaultTab = React52.useMemo(() => {
21544
22270
  if (defaultTab) return defaultTab;
21545
22271
  if (slides && slides.length > 0) return slides[0].id.toString();
@@ -21556,15 +22282,63 @@ function FeatureTabbedContentImage({
21556
22282
  className,
21557
22283
  containerClassName,
21558
22284
  children: [
21559
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto flex max-w-3xl flex-col items-center gap-6", headerClassName), children: [
21560
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
21561
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }))
21562
- ] }),
22285
+ /* @__PURE__ */ jsxRuntime.jsxs(
22286
+ "div",
22287
+ {
22288
+ className: cn(
22289
+ "mx-auto flex max-w-3xl flex-col items-center gap-6",
22290
+ headerClassName
22291
+ ),
22292
+ children: [
22293
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22294
+ "h2",
22295
+ {
22296
+ className: cn(
22297
+ "text-center text-3xl font-semibold lg:text-5xl",
22298
+ titleClassName
22299
+ ),
22300
+ children: title
22301
+ }
22302
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
22303
+ "div",
22304
+ {
22305
+ className: cn(
22306
+ "text-center text-3xl font-semibold lg:text-5xl",
22307
+ titleClassName
22308
+ ),
22309
+ children: title
22310
+ }
22311
+ )),
22312
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22313
+ "p",
22314
+ {
22315
+ className: cn(
22316
+ "text-center text-balance text-muted-foreground lg:text-xl",
22317
+ descriptionClassName
22318
+ ),
22319
+ children: description
22320
+ }
22321
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
22322
+ "div",
22323
+ {
22324
+ className: cn(
22325
+ "text-center text-balance text-muted-foreground lg:text-xl",
22326
+ descriptionClassName
22327
+ ),
22328
+ children: description
22329
+ }
22330
+ ))
22331
+ ]
22332
+ }
22333
+ ),
21563
22334
  (slidesSlot || slides && slides.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12", tabsWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
21564
22335
  Tabs,
21565
22336
  {
21566
22337
  defaultValue: effectiveDefaultTab,
21567
- className: cn("mx-auto flex w-fit flex-col items-center gap-8 md:gap-12", tabsClassName),
22338
+ className: cn(
22339
+ "mx-auto flex w-fit flex-col items-center gap-8 md:gap-12",
22340
+ tabsClassName
22341
+ ),
21568
22342
  children: slidesContent
21569
22343
  }
21570
22344
  ) })
@@ -21877,7 +22651,7 @@ function FeatureChecklistThreeColumn({
21877
22651
  Badge,
21878
22652
  {
21879
22653
  variant: "outline",
21880
- className: cn("absolute top-5 left-5 bg-primary-foreground", card.badgeClassName),
22654
+ className: cn("absolute top-5 left-5 bg-background", card.badgeClassName),
21881
22655
  children: card.badge
21882
22656
  }
21883
22657
  )
@@ -22045,7 +22819,7 @@ function FeatureIconTabsContent({
22045
22819
  tabContentClassName,
22046
22820
  optixFlowConfig,
22047
22821
  background,
22048
- spacing,
22822
+ spacing = "py-6 md:py-32",
22049
22823
  pattern,
22050
22824
  patternOpacity,
22051
22825
  patternClassName
@@ -22055,12 +22829,28 @@ function FeatureIconTabsContent({
22055
22829
  if (tab.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: tab.iconName, size: 16 });
22056
22830
  return null;
22057
22831
  }, []);
22058
- const renderTabContentActions = React52.useCallback((content) => {
22059
- if (content.actionsSlot) return content.actionsSlot;
22060
- if (!content.actions || content.actions.length === 0) return null;
22061
- return content.actions.map((action, index) => {
22062
- if (action.children) {
22063
- return /* @__PURE__ */ jsxRuntime.jsx(
22832
+ const renderTabContentActions = React52.useCallback(
22833
+ (content) => {
22834
+ if (content.actionsSlot) return content.actionsSlot;
22835
+ if (!content.actions || content.actions.length === 0) return null;
22836
+ return content.actions.map((action, index) => {
22837
+ if (action.children) {
22838
+ return /* @__PURE__ */ jsxRuntime.jsx(
22839
+ Pressable,
22840
+ {
22841
+ href: action.href,
22842
+ onClick: action.onClick,
22843
+ variant: action.variant,
22844
+ size: action.size,
22845
+ className: cn("mt-2.5 w-fit gap-2", action.className),
22846
+ "aria-label": action["aria-label"],
22847
+ asButton: true,
22848
+ children: action.children
22849
+ },
22850
+ index
22851
+ );
22852
+ }
22853
+ return /* @__PURE__ */ jsxRuntime.jsxs(
22064
22854
  Pressable,
22065
22855
  {
22066
22856
  href: action.href,
@@ -22070,90 +22860,174 @@ function FeatureIconTabsContent({
22070
22860
  className: cn("mt-2.5 w-fit gap-2", action.className),
22071
22861
  "aria-label": action["aria-label"],
22072
22862
  asButton: true,
22073
- children: action.children
22863
+ children: [
22864
+ action.icon,
22865
+ action.label,
22866
+ action.iconAfter
22867
+ ]
22074
22868
  },
22075
22869
  index
22076
22870
  );
22871
+ });
22872
+ },
22873
+ []
22874
+ );
22875
+ const renderTabContentImage = React52.useCallback(
22876
+ (content) => {
22877
+ if (content.imageSlot) return content.imageSlot;
22878
+ if (content.imageSrc) {
22879
+ return /* @__PURE__ */ jsxRuntime.jsx(
22880
+ img.Img,
22881
+ {
22882
+ src: content.imageSrc,
22883
+ alt: content.imageAlt || "Tab content image",
22884
+ className: cn(
22885
+ "h-full w-full rounded-xl object-cover",
22886
+ content.imageClassName
22887
+ ),
22888
+ loading: "lazy",
22889
+ optixFlowConfig
22890
+ }
22891
+ );
22077
22892
  }
22078
- return /* @__PURE__ */ jsxRuntime.jsxs(
22079
- Pressable,
22080
- {
22081
- href: action.href,
22082
- onClick: action.onClick,
22083
- variant: action.variant,
22084
- size: action.size,
22085
- className: cn("mt-2.5 w-fit gap-2", action.className),
22086
- "aria-label": action["aria-label"],
22087
- asButton: true,
22088
- children: [
22089
- action.icon,
22090
- action.label,
22091
- action.iconAfter
22092
- ]
22093
- },
22094
- index
22095
- );
22096
- });
22097
- }, []);
22098
- const renderTabContentImage = React52.useCallback((content) => {
22099
- if (content.imageSlot) return content.imageSlot;
22100
- if (content.imageSrc) {
22101
- return /* @__PURE__ */ jsxRuntime.jsx(
22102
- img.Img,
22103
- {
22104
- src: content.imageSrc,
22105
- alt: content.imageAlt || "Tab content image",
22106
- className: cn("h-full w-full rounded-xl object-cover", content.imageClassName),
22107
- loading: "lazy",
22108
- optixFlowConfig
22109
- }
22110
- );
22111
- }
22112
- return null;
22113
- }, [optixFlowConfig]);
22893
+ return null;
22894
+ },
22895
+ [optixFlowConfig]
22896
+ );
22114
22897
  const tabsContent = React52.useMemo(() => {
22115
22898
  if (tabsSlot) return tabsSlot;
22116
22899
  if (!tabs || tabs.length === 0) return null;
22117
22900
  const activeDefaultTab = defaultTab || tabs[0]?.value;
22118
22901
  return /* @__PURE__ */ jsxRuntime.jsxs(Tabs, { defaultValue: activeDefaultTab, className: "mt-8", children: [
22119
- /* @__PURE__ */ jsxRuntime.jsx(TabsList, { className: cn("container flex flex-col items-center justify-center gap-4 bg-transparent sm:flex-row md:gap-10", tabsListClassName), children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsxs(
22120
- TabsTrigger,
22902
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6", children: /* @__PURE__ */ jsxRuntime.jsx(
22903
+ TabsList,
22121
22904
  {
22122
- value: tab.value,
22123
- className: cn("flex items-center gap-2 rounded-xl px-4 py-3 text-sm font-semibold text-muted-foreground data-[state=active]:bg-muted data-[state=active]:text-primary", tabTriggerClassName, tab.className),
22124
- children: [
22125
- (tab.icon || tab.iconName) && renderTabIcon(tab),
22126
- tab.label
22127
- ]
22128
- },
22129
- tab.value
22130
- )) }),
22131
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16", contentWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: tabs.map((tab) => {
22132
- if (tab.contentSlot) {
22133
- return /* @__PURE__ */ jsxRuntime.jsx(TabsContent, { value: tab.value, className: tabContentClassName, children: tab.contentSlot }, tab.value);
22905
+ className: cn(
22906
+ "inline-flex w-auto min-w-full items-center justify-start gap-2 bg-transparent md:justify-center md:gap-4",
22907
+ tabsListClassName
22908
+ ),
22909
+ children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsxs(
22910
+ TabsTrigger,
22911
+ {
22912
+ value: tab.value,
22913
+ className: cn(
22914
+ "flex shrink-0 items-center gap-2 rounded-lg border border-border bg-background px-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:border-primary data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
22915
+ tabTriggerClassName,
22916
+ tab.className
22917
+ ),
22918
+ children: [
22919
+ (tab.icon || tab.iconName) && renderTabIcon(tab),
22920
+ tab.label
22921
+ ]
22922
+ },
22923
+ tab.value
22924
+ ))
22134
22925
  }
22135
- const content = tab.content;
22136
- if (!content) return null;
22137
- return /* @__PURE__ */ jsxRuntime.jsxs(
22138
- TabsContent,
22139
- {
22140
- value: tab.value,
22141
- className: cn("grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10", tabContentClassName, content.className),
22142
- children: [
22143
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
22144
- content.badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", content.badgeClassName), children: content.badge }),
22145
- content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title })),
22146
- content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description })),
22147
- (content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
22148
- ] }),
22149
- (content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
22150
- ]
22151
- },
22152
- tab.value
22153
- );
22154
- }) }) })
22926
+ ) }),
22927
+ /* @__PURE__ */ jsxRuntime.jsx(
22928
+ "div",
22929
+ {
22930
+ className: cn(
22931
+ "mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16",
22932
+ contentWrapperClassName
22933
+ ),
22934
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: tabs.map((tab) => {
22935
+ if (tab.contentSlot) {
22936
+ return /* @__PURE__ */ jsxRuntime.jsx(
22937
+ TabsContent,
22938
+ {
22939
+ value: tab.value,
22940
+ className: tabContentClassName,
22941
+ children: tab.contentSlot
22942
+ },
22943
+ tab.value
22944
+ );
22945
+ }
22946
+ const content = tab.content;
22947
+ if (!content) return null;
22948
+ return /* @__PURE__ */ jsxRuntime.jsxs(
22949
+ TabsContent,
22950
+ {
22951
+ value: tab.value,
22952
+ className: cn(
22953
+ "grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10",
22954
+ tabContentClassName,
22955
+ content.className
22956
+ ),
22957
+ children: [
22958
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
22959
+ content.badge && /* @__PURE__ */ jsxRuntime.jsx(
22960
+ Badge,
22961
+ {
22962
+ variant: "outline",
22963
+ className: cn(
22964
+ "w-fit bg-background",
22965
+ content.badgeClassName
22966
+ ),
22967
+ children: content.badge
22968
+ }
22969
+ ),
22970
+ content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22971
+ "h3",
22972
+ {
22973
+ className: cn(
22974
+ "text-3xl font-semibold lg:text-5xl",
22975
+ content.titleClassName
22976
+ ),
22977
+ children: content.title
22978
+ }
22979
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
22980
+ "div",
22981
+ {
22982
+ className: cn(
22983
+ "text-3xl font-semibold lg:text-5xl",
22984
+ content.titleClassName
22985
+ ),
22986
+ children: content.title
22987
+ }
22988
+ )),
22989
+ content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
22990
+ "p",
22991
+ {
22992
+ className: cn(
22993
+ "text-muted-foreground lg:text-lg",
22994
+ content.descriptionClassName
22995
+ ),
22996
+ children: content.description
22997
+ }
22998
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
22999
+ "div",
23000
+ {
23001
+ className: cn(
23002
+ "text-muted-foreground lg:text-lg",
23003
+ content.descriptionClassName
23004
+ ),
23005
+ children: content.description
23006
+ }
23007
+ )),
23008
+ (content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
23009
+ ] }),
23010
+ (content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
23011
+ ]
23012
+ },
23013
+ tab.value
23014
+ );
23015
+ }) })
23016
+ }
23017
+ )
22155
23018
  ] });
22156
- }, [tabsSlot, tabs, defaultTab, tabsListClassName, tabTriggerClassName, contentWrapperClassName, tabContentClassName, renderTabIcon, renderTabContentActions, renderTabContentImage]);
23019
+ }, [
23020
+ tabsSlot,
23021
+ tabs,
23022
+ defaultTab,
23023
+ tabsListClassName,
23024
+ tabTriggerClassName,
23025
+ contentWrapperClassName,
23026
+ tabContentClassName,
23027
+ renderTabIcon,
23028
+ renderTabContentActions,
23029
+ renderTabContentImage
23030
+ ]);
22157
23031
  return /* @__PURE__ */ jsxRuntime.jsxs(
22158
23032
  Section,
22159
23033
  {
@@ -22165,11 +23039,44 @@ function FeatureIconTabsContent({
22165
23039
  className,
22166
23040
  containerClassName: cn("mx-auto", containerClassName),
22167
23041
  children: [
22168
- (badge || heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center gap-4 text-center", headerClassName), children: [
22169
- badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
22170
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading })),
22171
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-muted-foreground", descriptionClassName), children: description }))
22172
- ] }),
23042
+ (badge || heading || description) && /* @__PURE__ */ jsxRuntime.jsxs(
23043
+ "div",
23044
+ {
23045
+ className: cn(
23046
+ "flex flex-col items-center gap-4 text-center",
23047
+ headerClassName
23048
+ ),
23049
+ children: [
23050
+ badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
23051
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
23052
+ "h1",
23053
+ {
23054
+ className: cn(
23055
+ "max-w-2xl text-3xl font-semibold md:text-4xl",
23056
+ headingClassName
23057
+ ),
23058
+ children: heading
23059
+ }
23060
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
23061
+ "div",
23062
+ {
23063
+ className: cn(
23064
+ "max-w-2xl text-3xl font-semibold md:text-4xl",
23065
+ headingClassName
23066
+ ),
23067
+ children: heading
23068
+ }
23069
+ )),
23070
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
23071
+ "div",
23072
+ {
23073
+ className: cn("text-muted-foreground", descriptionClassName),
23074
+ children: description
23075
+ }
23076
+ ))
23077
+ ]
23078
+ }
23079
+ ),
22173
23080
  tabsContent
22174
23081
  ]
22175
23082
  }
@@ -22250,7 +23157,7 @@ function FeatureImageOverlayBadge({
22250
23157
  overlayTitleClassName,
22251
23158
  optixFlowConfig,
22252
23159
  background,
22253
- spacing,
23160
+ spacing = "py-6 md:py-32",
22254
23161
  pattern,
22255
23162
  patternOpacity,
22256
23163
  patternClassName
@@ -22303,7 +23210,10 @@ function FeatureImageOverlayBadge({
22303
23210
  {
22304
23211
  src: imageSrc,
22305
23212
  alt: imageAlt || "Feature illustration",
22306
- className: cn("rounded-xl object-cover md:aspect-video lg:aspect-auto", imageClassName),
23213
+ className: cn(
23214
+ "rounded-2xl object-cover md:aspect-video lg:aspect-auto w-full h-auto",
23215
+ imageClassName
23216
+ ),
22307
23217
  loading: "lazy",
22308
23218
  optixFlowConfig
22309
23219
  }
@@ -22321,41 +23231,111 @@ function FeatureImageOverlayBadge({
22321
23231
  patternClassName,
22322
23232
  className,
22323
23233
  containerClassName,
22324
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid place-items-center gap-10 lg:grid-cols-2", gridClassName), children: [
22325
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
22326
- badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", badgeClassName), children: badge }),
22327
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
22328
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
22329
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actionsContent })
22330
- ] }),
22331
- imageContent && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative rounded-xl", imageWrapperClassName), children: [
22332
- imageContent,
22333
- (avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
22334
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("absolute top-0 right-0 bottom-0 left-0 rounded-xl bg-linear-to-t from-primary via-transparent to-transparent", overlayClassName) }),
22335
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
22336
- (avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-2 rounded-full bg-background/30 px-4 py-2.5 text-sm font-semibold backdrop-blur-sm", avatarBadgeClassName), children: [
22337
- avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
22338
- avatarBadgeText
22339
- ] }),
22340
- (overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
22341
- overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h4", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle })),
22342
- overlayLinkText && /* @__PURE__ */ jsxRuntime.jsxs(
22343
- Pressable,
23234
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
23235
+ "div",
23236
+ {
23237
+ className: cn(
23238
+ "grid place-items-center gap-10 lg:grid-cols-2",
23239
+ gridClassName
23240
+ ),
23241
+ children: [
23242
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
23243
+ badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: cn("", badgeClassName), children: badge }),
23244
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
23245
+ "h3",
23246
+ {
23247
+ className: cn(
23248
+ "text-3xl font-semibold lg:text-4xl leading-snug text-balance",
23249
+ titleClassName
23250
+ ),
23251
+ children: title
23252
+ }
23253
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
23254
+ "div",
23255
+ {
23256
+ className: cn(
23257
+ "text-3xl font-semibold lg:text-5xl",
23258
+ titleClassName
23259
+ ),
23260
+ children: title
23261
+ }
23262
+ )),
23263
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("lg:text-lg", descriptionClassName), children: description })),
23264
+ /* @__PURE__ */ jsxRuntime.jsx(
23265
+ "div",
23266
+ {
23267
+ className: cn(
23268
+ "flex items-center gap-4 flex-wrap",
23269
+ actionsClassName
23270
+ ),
23271
+ children: actionsContent
23272
+ }
23273
+ )
23274
+ ] }),
23275
+ imageContent && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative rounded-2xl", imageWrapperClassName), children: [
23276
+ imageContent,
23277
+ (avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
23278
+ /* @__PURE__ */ jsxRuntime.jsx(
23279
+ "div",
22344
23280
  {
22345
- href: overlayLinkUrl,
22346
- onClick: overlayLinkOnClick,
22347
- className: "flex items-center gap-1 font-medium",
22348
- children: [
22349
- overlayLinkText,
22350
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
22351
- ]
23281
+ className: cn(
23282
+ "absolute top-0 right-0 bottom-0 left-0 rounded-2xl bg-linear-to-t from-black via-black/20 to-transparent",
23283
+ overlayClassName
23284
+ )
22352
23285
  }
22353
- )
23286
+ ),
23287
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between pt-4 pr-4 pl-4 pb-8 md:pt-7 md:bpr-7 md:pl-7 md:pb-7 rounded-2xl", children: [
23288
+ (avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxRuntime.jsxs(
23289
+ "span",
23290
+ {
23291
+ className: cn(
23292
+ "ml-auto flex w-fit items-center gap-2 rounded-full bg-background/30 px-4 py-2.5 text-sm font-semibold backdrop-blur-sm shadow-xl",
23293
+ avatarBadgeClassName
23294
+ ),
23295
+ children: [
23296
+ avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
23297
+ avatarBadgeText
23298
+ ]
23299
+ }
23300
+ ),
23301
+ (overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
23302
+ overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
23303
+ "h4",
23304
+ {
23305
+ className: cn(
23306
+ "text-lg font-semibold lg:text-3xl",
23307
+ overlayTitleClassName
23308
+ ),
23309
+ children: overlayTitle
23310
+ }
23311
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
23312
+ "div",
23313
+ {
23314
+ className: cn(
23315
+ "text-lg font-semibold lg:text-3xl",
23316
+ overlayTitleClassName
23317
+ ),
23318
+ children: overlayTitle
23319
+ }
23320
+ )),
23321
+ overlayLinkText && /* @__PURE__ */ jsxRuntime.jsxs(
23322
+ Pressable,
23323
+ {
23324
+ href: overlayLinkUrl,
23325
+ onClick: overlayLinkOnClick,
23326
+ children: [
23327
+ overlayLinkText,
23328
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 18 })
23329
+ ]
23330
+ }
23331
+ )
23332
+ ] })
23333
+ ] })
22354
23334
  ] })
22355
23335
  ] })
22356
- ] })
22357
- ] })
22358
- ] })
23336
+ ]
23337
+ }
23338
+ )
22359
23339
  }
22360
23340
  );
22361
23341
  }
@@ -22799,9 +23779,9 @@ function FeatureStatsHighlight({
22799
23779
  return stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs(
22800
23780
  "div",
22801
23781
  {
22802
- className: cn("flex flex-col gap-2 rounded-xl border bg-muted/30 p-6", statCardClassName, stat.className),
23782
+ className: cn("flex flex-col gap-2 rounded-xl border bg-card p-6", statCardClassName, stat.className),
22803
23783
  children: [
22804
- stat.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-4xl font-bold text-primary lg:text-5xl", stat.valueClassName), children: stat.value }),
23784
+ stat.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-4xl font-bold lg:text-5xl", stat.valueClassName), children: stat.value }),
22805
23785
  stat.label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-muted-foreground", stat.labelClassName), children: stat.label })
22806
23786
  ]
22807
23787
  },
@@ -34774,7 +35754,10 @@ function BlogHorizontalTimelineComponent({
34774
35754
  /* @__PURE__ */ jsxRuntime.jsx(
34775
35755
  Card,
34776
35756
  {
34777
- className: cn("w-full border-none shadow-none", postCardClassName),
35757
+ className: cn(
35758
+ "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
35759
+ postCardClassName
35760
+ ),
34778
35761
  children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
34779
35762
  "div",
34780
35763
  {
@@ -34789,9 +35772,9 @@ function BlogHorizontalTimelineComponent({
34789
35772
  ] }),
34790
35773
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
34791
35774
  postDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
34792
- readText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, asButton: true, variant: "link", children: [
35775
+ readText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
34793
35776
  readText,
34794
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
35777
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
34795
35778
  ] })
34796
35779
  ] })
34797
35780
  ]
@@ -34832,7 +35815,7 @@ function BlogHorizontalTimelineComponent({
34832
35815
  children: heading
34833
35816
  }
34834
35817
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
34835
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
35818
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
34836
35819
  ] })
34837
35820
  }
34838
35821
  );
@@ -35448,7 +36431,7 @@ function ArticleSidebarStickyComponent({
35448
36431
  children,
35449
36432
  optixFlowConfig,
35450
36433
  background,
35451
- spacing,
36434
+ spacing = "py-6 md:py-32",
35452
36435
  pattern,
35453
36436
  patternOpacity
35454
36437
  }) {
@@ -35459,7 +36442,10 @@ function ArticleSidebarStickyComponent({
35459
36442
  Pressable,
35460
36443
  {
35461
36444
  href: backHref,
35462
- className: cn("inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground", backLinkClassName),
36445
+ className: cn(
36446
+ "inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",
36447
+ backLinkClassName
36448
+ ),
35463
36449
  children: [
35464
36450
  backIcon ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 }),
35465
36451
  backText
@@ -35467,21 +36453,38 @@ function ArticleSidebarStickyComponent({
35467
36453
  }
35468
36454
  );
35469
36455
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
35470
- const renderAuthor = React52__namespace.useCallback((isMobile = false) => {
35471
- if (authorSlot) return authorSlot;
35472
- if (!authorName) return null;
35473
- const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
35474
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
35475
- /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: avatarSize, children: [
35476
- /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: authorImage }),
35477
- /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: authorName.charAt(0) })
35478
- ] }),
35479
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
35480
- authorHref ? /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: authorHref, className: "text-sm font-medium hover:underline", children: authorName }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: authorName }),
35481
- publishDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
35482
- ] })
35483
- ] });
35484
- }, [authorSlot, authorName, authorImage, authorHref, publishDate, authorClassName]);
36456
+ const renderAuthor = React52__namespace.useCallback(
36457
+ (isMobile = false) => {
36458
+ if (authorSlot) return authorSlot;
36459
+ if (!authorName) return null;
36460
+ const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
36461
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
36462
+ /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: avatarSize, children: [
36463
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: authorImage }),
36464
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: authorName.charAt(0) })
36465
+ ] }),
36466
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
36467
+ authorHref ? /* @__PURE__ */ jsxRuntime.jsx(
36468
+ Pressable,
36469
+ {
36470
+ href: authorHref,
36471
+ className: "text-sm font-medium hover:underline",
36472
+ children: authorName
36473
+ }
36474
+ ) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: authorName }),
36475
+ publishDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
36476
+ ] })
36477
+ ] });
36478
+ },
36479
+ [
36480
+ authorSlot,
36481
+ authorName,
36482
+ authorImage,
36483
+ authorHref,
36484
+ publishDate,
36485
+ authorClassName
36486
+ ]
36487
+ );
35485
36488
  const heroMediaContent = React52__namespace.useMemo(() => {
35486
36489
  if (heroMediaSlot) return heroMediaSlot;
35487
36490
  if (!heroImageSrc) return null;
@@ -35490,11 +36493,20 @@ function ArticleSidebarStickyComponent({
35490
36493
  {
35491
36494
  src: heroImageSrc,
35492
36495
  alt: heroImageAlt,
35493
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
36496
+ className: cn(
36497
+ "my-8 aspect-video w-full rounded-lg object-cover",
36498
+ heroImageClassName
36499
+ ),
35494
36500
  optixFlowConfig
35495
36501
  }
35496
36502
  );
35497
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
36503
+ }, [
36504
+ heroMediaSlot,
36505
+ heroImageSrc,
36506
+ heroImageAlt,
36507
+ heroImageClassName,
36508
+ optixFlowConfig
36509
+ ]);
35498
36510
  return /* @__PURE__ */ jsxRuntime.jsx(
35499
36511
  Section,
35500
36512
  {
@@ -35508,13 +36520,31 @@ function ArticleSidebarStickyComponent({
35508
36520
  backLinkContent,
35509
36521
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
35510
36522
  ] }) }),
35511
- /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
35512
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
35513
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
35514
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
35515
- heroMediaContent,
35516
- children
35517
- ] })
36523
+ /* @__PURE__ */ jsxRuntime.jsxs(
36524
+ "article",
36525
+ {
36526
+ className: cn(
36527
+ "prose max-w-none dark:prose-invert",
36528
+ articleClassName
36529
+ ),
36530
+ children: [
36531
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
36532
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
36533
+ "h1",
36534
+ {
36535
+ className: cn(
36536
+ "text-4xl font-bold tracking-tight md:text-5xl",
36537
+ titleClassName
36538
+ ),
36539
+ children: title
36540
+ }
36541
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
36542
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
36543
+ heroMediaContent,
36544
+ children
36545
+ ]
36546
+ }
36547
+ )
35518
36548
  ] }) })
35519
36549
  }
35520
36550
  );
@@ -35708,7 +36738,6 @@ function ArticleBreadcrumbSocialComponent({
35708
36738
  authorClassName,
35709
36739
  heroImageClassName,
35710
36740
  tocClassName,
35711
- shareClassName,
35712
36741
  breadcrumbs,
35713
36742
  breadcrumbsSlot,
35714
36743
  currentPage,
@@ -35723,9 +36752,6 @@ function ArticleBreadcrumbSocialComponent({
35723
36752
  sections,
35724
36753
  tocSlot,
35725
36754
  renderSectionLink,
35726
- socialLinks: socialLinksProp,
35727
- shareUrls,
35728
- shareSlot,
35729
36755
  heroImageSrc,
35730
36756
  heroImageAlt,
35731
36757
  heroMediaSlot,
@@ -35734,35 +36760,11 @@ function ArticleBreadcrumbSocialComponent({
35734
36760
  enableBackToTop,
35735
36761
  optixFlowConfig,
35736
36762
  background,
35737
- spacing,
36763
+ spacing = "py-6 md:py-32",
35738
36764
  pattern,
35739
36765
  patternOpacity
35740
36766
  }) {
35741
36767
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
35742
- const platformLabels = {
35743
- twitter: "Twitter",
35744
- x: "X",
35745
- facebook: "Facebook",
35746
- linkedin: "LinkedIn",
35747
- instagram: "Instagram",
35748
- github: "GitHub"
35749
- };
35750
- const socialIconMap2 = {
35751
- twitter: "simple-icons/x",
35752
- // Twitter is now X
35753
- x: "simple-icons/x",
35754
- facebook: "simple-icons/facebook",
35755
- linkedin: "simple-icons/linkedin",
35756
- instagram: "simple-icons/instagram",
35757
- github: "simple-icons/github"
35758
- };
35759
- const socialLinks = socialLinksProp ?? (shareUrls ? Object.entries(shareUrls).filter(([, href]) => href).map(([platform, href]) => ({
35760
- platform,
35761
- href,
35762
- icon: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: socialIconMap2[platform] || `simple-icons/${platform}`, size: 16 }),
35763
- "aria-label": `Share on ${platformLabels[platform] || platform.charAt(0).toUpperCase() + platform.slice(1)}`,
35764
- className: void 0
35765
- })) : []);
35766
36768
  const [activeSection, setActiveSection] = React52__namespace.useState(
35767
36769
  sections?.[0]?.id || ""
35768
36770
  );
@@ -35814,16 +36816,25 @@ function ArticleBreadcrumbSocialComponent({
35814
36816
  const authorContent = React52__namespace.useMemo(() => {
35815
36817
  if (authorSlot) return authorSlot;
35816
36818
  if (!author) return null;
35817
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-6 flex items-center gap-4 not-prose", authorClassName), children: [
35818
- /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "h-12 w-12", children: [
35819
- /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: author.image }),
35820
- /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
35821
- ] }),
35822
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
35823
- author.name && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: author.name }),
35824
- (author.role || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
35825
- ] })
35826
- ] });
36819
+ return /* @__PURE__ */ jsxRuntime.jsxs(
36820
+ "div",
36821
+ {
36822
+ className: cn(
36823
+ "mt-6 flex items-center gap-4 not-prose",
36824
+ authorClassName
36825
+ ),
36826
+ children: [
36827
+ /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "h-12 w-12", children: [
36828
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: author.image }),
36829
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
36830
+ ] }),
36831
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
36832
+ author.name && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium", children: author.name }),
36833
+ (author.role || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
36834
+ ] })
36835
+ ]
36836
+ }
36837
+ );
35827
36838
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
35828
36839
  const heroMediaContent = React52__namespace.useMemo(() => {
35829
36840
  if (heroMediaSlot) return heroMediaSlot;
@@ -35833,11 +36844,20 @@ function ArticleBreadcrumbSocialComponent({
35833
36844
  {
35834
36845
  src: heroImageSrc,
35835
36846
  alt: heroImageAlt,
35836
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
36847
+ className: cn(
36848
+ "my-8 aspect-video w-full rounded-lg object-cover",
36849
+ heroImageClassName
36850
+ ),
35837
36851
  optixFlowConfig
35838
36852
  }
35839
36853
  );
35840
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
36854
+ }, [
36855
+ heroMediaSlot,
36856
+ heroImageSrc,
36857
+ heroImageAlt,
36858
+ heroImageClassName,
36859
+ optixFlowConfig
36860
+ ]);
35841
36861
  const tocContent = React52__namespace.useMemo(() => {
35842
36862
  if (tocSlot) return tocSlot;
35843
36863
  if (!sections || sections.length === 0) return null;
@@ -35863,26 +36883,6 @@ function ArticleBreadcrumbSocialComponent({
35863
36883
  }) })
35864
36884
  ] });
35865
36885
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
35866
- const shareButtonsContent = React52__namespace.useMemo(() => {
35867
- if (shareSlot) return shareSlot;
35868
- if (!socialLinks || socialLinks.length === 0) return null;
35869
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border p-4", shareClassName), children: [
35870
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-sm font-semibold", children: "Share this article" }),
35871
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex gap-2", children: socialLinks.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(
35872
- Pressable,
35873
- {
35874
- href: link.href,
35875
- className: cn(
35876
- "flex h-9 w-9 items-center justify-center rounded-md border hover:bg-muted",
35877
- link.className
35878
- ),
35879
- "aria-label": link["aria-label"],
35880
- children: link.icon
35881
- },
35882
- index
35883
- )) })
35884
- ] });
35885
- }, [shareSlot, socialLinks, shareClassName]);
35886
36886
  return /* @__PURE__ */ jsxRuntime.jsxs(
35887
36887
  Section,
35888
36888
  {
@@ -35895,18 +36895,32 @@ function ArticleBreadcrumbSocialComponent({
35895
36895
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
35896
36896
  breadcrumbsContent,
35897
36897
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
35898
- children && /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
35899
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
35900
- authorContent,
35901
- /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
35902
- heroMediaContent,
35903
- children,
35904
- shareButtonsContent && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "not-prose mt-8 lg:hidden", children: shareButtonsContent })
35905
- ] }),
35906
- /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
35907
- tocContent,
35908
- shareButtonsContent
35909
- ] }) })
36898
+ children && /* @__PURE__ */ jsxRuntime.jsxs(
36899
+ "article",
36900
+ {
36901
+ className: cn(
36902
+ "prose max-w-none dark:prose-invert",
36903
+ articleClassName
36904
+ ),
36905
+ children: [
36906
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
36907
+ "h1",
36908
+ {
36909
+ className: cn(
36910
+ "text-4xl font-bold tracking-tight md:text-5xl",
36911
+ titleClassName
36912
+ ),
36913
+ children: title
36914
+ }
36915
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
36916
+ authorContent,
36917
+ /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
36918
+ heroMediaContent,
36919
+ children
36920
+ ]
36921
+ }
36922
+ ),
36923
+ /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-8 space-y-6", children: tocContent }) })
35910
36924
  ] })
35911
36925
  ] }),
35912
36926
  enableBackToTop && showBackToTop && /* @__PURE__ */ jsxRuntime.jsx(
@@ -35983,7 +36997,7 @@ function ArticleCompactTocComponent({
35983
36997
  enableTocTracking = true,
35984
36998
  optixFlowConfig,
35985
36999
  background,
35986
- spacing,
37000
+ spacing = "py-6 md:py-32",
35987
37001
  pattern,
35988
37002
  patternOpacity
35989
37003
  }) {