@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.js CHANGED
@@ -409,7 +409,7 @@ var Section = React52__default.forwardRef(
409
409
  maxWidth: containerMaxWidth,
410
410
  className: cn("relative z-10", containerClassName),
411
411
  children: [
412
- (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
412
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-6 text-center md:mb-16", children: [
413
413
  subtitle && /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
414
414
  title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
415
415
  ] }),
@@ -19844,9 +19844,9 @@ function CarouselProgressSlider({
19844
19844
  className: cn(className),
19845
19845
  pattern,
19846
19846
  patternOpacity,
19847
- children: /* @__PURE__ */ jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("grid gap-8 lg:grid-cols-2", contentClassName), children: [
19848
- /* @__PURE__ */ jsxs("div", { className: cn("relative min-h-[400px]", imageClassName), children: [
19849
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsx(
19847
+ children: /* @__PURE__ */ jsx("div", { className: cn("relative", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("grid gap-4 lg:gap-8 lg:grid-cols-2", contentClassName), children: [
19848
+ /* @__PURE__ */ jsx("div", { className: cn("relative", imageClassName), children: /* @__PURE__ */ jsxs("div", { className: "relative aspect-video", children: [
19849
+ slidesSlot ? slidesSlot : slides?.map((slide) => /* @__PURE__ */ jsx(
19850
19850
  SliderWrapper,
19851
19851
  {
19852
19852
  value: slide.id,
@@ -19865,20 +19865,26 @@ function CarouselProgressSlider({
19865
19865
  ) })
19866
19866
  },
19867
19867
  slide.id
19868
- )) }),
19869
- /* @__PURE__ */ jsx("div", { className: "relative mt-4 flex justify-center lg:justify-start", children: /* @__PURE__ */ jsx(
19868
+ )),
19869
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-4 left-4 z-10", children: /* @__PURE__ */ jsx(
19870
19870
  Pressable,
19871
19871
  {
19872
19872
  onClick: togglePause,
19873
19873
  asButton: true,
19874
19874
  variant: "outline",
19875
19875
  size: "icon",
19876
- className: "flex h-10 w-10 items-center justify-center rounded-full",
19876
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-background/80 backdrop-blur-sm",
19877
19877
  "aria-label": isPaused ? "Play" : "Pause",
19878
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: isPaused ? "lucide/play" : "lucide/pause", size: 18 })
19878
+ children: /* @__PURE__ */ jsx(
19879
+ DynamicIcon,
19880
+ {
19881
+ name: isPaused ? "lucide/play" : "lucide/pause",
19882
+ size: 18
19883
+ }
19884
+ )
19879
19885
  }
19880
19886
  ) })
19881
- ] }),
19887
+ ] }) }),
19882
19888
  /* @__PURE__ */ jsx(
19883
19889
  "div",
19884
19890
  {
@@ -20250,7 +20256,7 @@ function CarouselPrevious({
20250
20256
  }
20251
20257
  function CarouselNext({
20252
20258
  className,
20253
- variant = "outline",
20259
+ variant = "default",
20254
20260
  size = "icon",
20255
20261
  ...props
20256
20262
  }) {
@@ -20285,19 +20291,29 @@ function FeatureShowcase({
20285
20291
  slideClassName,
20286
20292
  contentClassName,
20287
20293
  mediaClassName,
20288
- arrowClassName,
20289
20294
  equalizeOnMobile,
20290
20295
  stretchMediaOnMobile,
20291
20296
  background,
20292
- spacing,
20297
+ spacing = "py-6 md:py-32",
20293
20298
  pattern,
20294
20299
  patternOpacity,
20295
20300
  patternClassName
20296
20301
  }) {
20297
- const baseArrowClassName = useMemo$1(
20298
- () => "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",
20299
- []
20300
- );
20302
+ const [api, setApi] = React52.useState();
20303
+ const [canScrollPrevious, setCanScrollPrevious] = React52.useState(false);
20304
+ const [canScrollNext, setCanScrollNext] = React52.useState(false);
20305
+ React52.useEffect(() => {
20306
+ if (!api) return;
20307
+ const updateScrollState = () => {
20308
+ setCanScrollPrevious(api.canScrollPrev());
20309
+ setCanScrollNext(api.canScrollNext());
20310
+ };
20311
+ updateScrollState();
20312
+ api.on("select", updateScrollState);
20313
+ return () => {
20314
+ api.off("select", updateScrollState);
20315
+ };
20316
+ }, [api]);
20301
20317
  const [mobileSlideHeight, setMobileSlideHeight] = useState(
20302
20318
  null
20303
20319
  );
@@ -20321,9 +20337,7 @@ function FeatureShowcase({
20321
20337
  const heights = slideRefs.current.slice(0, items.length).map((node) => node?.offsetHeight ?? 0);
20322
20338
  const maxHeight = Math.max(...heights, 0);
20323
20339
  if (maxHeight > 0) {
20324
- setMobileSlideHeight(
20325
- (prev) => prev === maxHeight ? prev : maxHeight
20326
- );
20340
+ setMobileSlideHeight((prev) => prev === maxHeight ? prev : maxHeight);
20327
20341
  }
20328
20342
  };
20329
20343
  updateHeights();
@@ -20342,7 +20356,7 @@ function FeatureShowcase({
20342
20356
  }, [equalizeOnMobile, items]);
20343
20357
  const carouselContent = useMemo$1(() => {
20344
20358
  if (!items || items.length === 0) return null;
20345
- return /* @__PURE__ */ jsxs(Carousel, { className: carouselClassName, children: [
20359
+ return /* @__PURE__ */ jsxs(Carousel, { className: carouselClassName, setApi, children: [
20346
20360
  /* @__PURE__ */ jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsx(CarouselContent, { className: "ease-in", children: items.map((item, itemIndex) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsxs(
20347
20361
  "div",
20348
20362
  {
@@ -20371,19 +20385,30 @@ function FeatureShowcase({
20371
20385
  }
20372
20386
  ) }, `slide-${itemIndex}`)) }) }),
20373
20387
  /* @__PURE__ */ jsx(
20374
- CarouselPrevious,
20388
+ CarouselPagination,
20375
20389
  {
20376
- className: cn(baseArrowClassName, "left-4 md:left-6", arrowClassName)
20377
- }
20378
- ),
20379
- /* @__PURE__ */ jsx(
20380
- CarouselNext,
20381
- {
20382
- className: cn(baseArrowClassName, "right-4 md:right-6", arrowClassName)
20390
+ onPrevious: () => api?.scrollPrev(),
20391
+ onNext: () => api?.scrollNext(),
20392
+ canScrollPrevious,
20393
+ canScrollNext,
20394
+ className: "absolute bottom-4 right-0 md:bottom-6",
20395
+ buttonClassName: "size-12 rounded-full border border-current bg-transparent text-current shadow-sm hover:bg-current/10"
20383
20396
  }
20384
20397
  )
20385
20398
  ] });
20386
- }, [items, carouselClassName, equalizeOnMobile, mobileSlideHeight, slideClassName, contentClassName, mediaWrapperClassName, mediaClassName, baseArrowClassName, arrowClassName]);
20399
+ }, [
20400
+ items,
20401
+ carouselClassName,
20402
+ equalizeOnMobile,
20403
+ mobileSlideHeight,
20404
+ slideClassName,
20405
+ contentClassName,
20406
+ mediaWrapperClassName,
20407
+ mediaClassName,
20408
+ api,
20409
+ canScrollPrevious,
20410
+ canScrollNext
20411
+ ]);
20387
20412
  return /* @__PURE__ */ jsxs(
20388
20413
  Section,
20389
20414
  {
@@ -20418,7 +20443,7 @@ function FeatureSplitImage({
20418
20443
  imageClassName,
20419
20444
  optixFlowConfig,
20420
20445
  background,
20421
- spacing,
20446
+ spacing = "py-6 md:py-32",
20422
20447
  pattern,
20423
20448
  patternOpacity,
20424
20449
  patternClassName
@@ -20435,11 +20460,20 @@ function FeatureSplitImage({
20435
20460
  className: actionClassName,
20436
20461
  ...pressableProps
20437
20462
  } = action;
20438
- return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20439
- icon,
20440
- label,
20441
- iconAfter
20442
- ] }) }, index);
20463
+ return /* @__PURE__ */ jsx(
20464
+ Pressable,
20465
+ {
20466
+ className: actionClassName,
20467
+ asButton: true,
20468
+ ...pressableProps,
20469
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20470
+ icon,
20471
+ label,
20472
+ iconAfter
20473
+ ] })
20474
+ },
20475
+ index
20476
+ );
20443
20477
  });
20444
20478
  }, [actionsSlot, actions]);
20445
20479
  const imageContent = useMemo$1(() => {
@@ -20450,7 +20484,10 @@ function FeatureSplitImage({
20450
20484
  {
20451
20485
  src: imageSrc,
20452
20486
  alt: imageAlt || "",
20453
- className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
20487
+ className: cn(
20488
+ "max-h-96 w-full rounded-md object-cover",
20489
+ imageClassName
20490
+ ),
20454
20491
  loading: "lazy",
20455
20492
  optixFlowConfig
20456
20493
  }
@@ -20466,14 +20503,74 @@ function FeatureSplitImage({
20466
20503
  patternClassName,
20467
20504
  className,
20468
20505
  containerClassName,
20469
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName), children: [
20470
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
20471
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
20472
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
20473
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
20474
- ] }),
20475
- imageContent
20476
- ] })
20506
+ children: /* @__PURE__ */ jsxs(
20507
+ "div",
20508
+ {
20509
+ className: cn("grid items-center gap-8 lg:grid-cols-2", gridClassName),
20510
+ children: [
20511
+ /* @__PURE__ */ jsxs(
20512
+ "div",
20513
+ {
20514
+ className: cn(
20515
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
20516
+ contentClassName
20517
+ ),
20518
+ children: [
20519
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20520
+ "h2",
20521
+ {
20522
+ className: cn(
20523
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20524
+ titleClassName
20525
+ ),
20526
+ children: title
20527
+ }
20528
+ ) : /* @__PURE__ */ jsx(
20529
+ "div",
20530
+ {
20531
+ className: cn(
20532
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20533
+ titleClassName
20534
+ ),
20535
+ children: title
20536
+ }
20537
+ )),
20538
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
20539
+ "p",
20540
+ {
20541
+ className: cn(
20542
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20543
+ descriptionClassName
20544
+ ),
20545
+ children: description
20546
+ }
20547
+ ) : /* @__PURE__ */ jsx(
20548
+ "div",
20549
+ {
20550
+ className: cn(
20551
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20552
+ descriptionClassName
20553
+ ),
20554
+ children: description
20555
+ }
20556
+ )),
20557
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
20558
+ "div",
20559
+ {
20560
+ className: cn(
20561
+ "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
20562
+ actionsClassName
20563
+ ),
20564
+ children: actionsContent
20565
+ }
20566
+ )
20567
+ ]
20568
+ }
20569
+ ),
20570
+ imageContent
20571
+ ]
20572
+ }
20573
+ )
20477
20574
  }
20478
20575
  );
20479
20576
  }
@@ -20495,7 +20592,7 @@ function FeatureSplitImageReverse({
20495
20592
  actionsClassName,
20496
20593
  optixFlowConfig,
20497
20594
  background,
20498
- spacing,
20595
+ spacing = "py-6 md:py-32",
20499
20596
  pattern,
20500
20597
  patternOpacity,
20501
20598
  patternClassName
@@ -20512,11 +20609,20 @@ function FeatureSplitImageReverse({
20512
20609
  className: actionClassName,
20513
20610
  ...pressableProps
20514
20611
  } = action;
20515
- return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20516
- icon,
20517
- label,
20518
- iconAfter
20519
- ] }) }, index);
20612
+ return /* @__PURE__ */ jsx(
20613
+ Pressable,
20614
+ {
20615
+ className: actionClassName,
20616
+ asButton: true,
20617
+ ...pressableProps,
20618
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20619
+ icon,
20620
+ label,
20621
+ iconAfter
20622
+ ] })
20623
+ },
20624
+ index
20625
+ );
20520
20626
  });
20521
20627
  }, [actionsSlot, actions]);
20522
20628
  const imageContent = useMemo$1(() => {
@@ -20527,7 +20633,10 @@ function FeatureSplitImageReverse({
20527
20633
  {
20528
20634
  src: imageSrc,
20529
20635
  alt: imageAlt || "",
20530
- className: cn("max-h-96 w-full rounded-md object-cover", imageClassName),
20636
+ className: cn(
20637
+ "max-h-96 w-full rounded-md object-cover",
20638
+ imageClassName
20639
+ ),
20531
20640
  loading: "lazy",
20532
20641
  optixFlowConfig
20533
20642
  }
@@ -20543,14 +20652,77 @@ function FeatureSplitImageReverse({
20543
20652
  patternClassName,
20544
20653
  className,
20545
20654
  containerClassName,
20546
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid items-center gap-8 md:gap-16 lg:grid-cols-2", gridClassName), children: [
20547
- imageContent,
20548
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
20549
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl", titleClassName), children: title })),
20550
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 max-w-xl text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
20551
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", actionsClassName), children: actionsContent })
20552
- ] })
20553
- ] })
20655
+ children: /* @__PURE__ */ jsxs(
20656
+ "div",
20657
+ {
20658
+ className: cn(
20659
+ "grid items-center gap-8 md:gap-16 lg:grid-cols-2",
20660
+ gridClassName
20661
+ ),
20662
+ children: [
20663
+ imageContent,
20664
+ /* @__PURE__ */ jsxs(
20665
+ "div",
20666
+ {
20667
+ className: cn(
20668
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
20669
+ contentClassName
20670
+ ),
20671
+ children: [
20672
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20673
+ "h2",
20674
+ {
20675
+ className: cn(
20676
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20677
+ titleClassName
20678
+ ),
20679
+ children: title
20680
+ }
20681
+ ) : /* @__PURE__ */ jsx(
20682
+ "div",
20683
+ {
20684
+ className: cn(
20685
+ "my-6 mt-0 text-4xl font-semibold text-balance lg:text-5xl",
20686
+ titleClassName
20687
+ ),
20688
+ children: title
20689
+ }
20690
+ )),
20691
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
20692
+ "p",
20693
+ {
20694
+ className: cn(
20695
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20696
+ descriptionClassName
20697
+ ),
20698
+ children: description
20699
+ }
20700
+ ) : /* @__PURE__ */ jsx(
20701
+ "div",
20702
+ {
20703
+ className: cn(
20704
+ "mb-8 max-w-xl text-muted-foreground lg:text-lg",
20705
+ descriptionClassName
20706
+ ),
20707
+ children: description
20708
+ }
20709
+ )),
20710
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
20711
+ "div",
20712
+ {
20713
+ className: cn(
20714
+ "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start",
20715
+ actionsClassName
20716
+ ),
20717
+ children: actionsContent
20718
+ }
20719
+ )
20720
+ ]
20721
+ }
20722
+ )
20723
+ ]
20724
+ }
20725
+ )
20554
20726
  }
20555
20727
  );
20556
20728
  }
@@ -20566,7 +20738,7 @@ function FeatureIconGridBordered({
20566
20738
  gridClassName,
20567
20739
  cardClassName,
20568
20740
  background,
20569
- spacing,
20741
+ spacing = "py-6 md:py-32",
20570
20742
  pattern,
20571
20743
  patternOpacity,
20572
20744
  patternClassName
@@ -20584,18 +20756,67 @@ function FeatureIconGridBordered({
20584
20756
  return features.map((feature, index) => /* @__PURE__ */ jsxs(
20585
20757
  "div",
20586
20758
  {
20587
- className: cn("relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5", cardClassName, feature.className),
20759
+ className: cn(
20760
+ "relative flex gap-3 rounded-lg border-dashed md:block md:border-l md:p-5",
20761
+ cardClassName,
20762
+ feature.className
20763
+ ),
20588
20764
  children: [
20589
- (feature.icon || feature.iconName) && /* @__PURE__ */ 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) }),
20765
+ (feature.icon || feature.iconName) && /* @__PURE__ */ jsx(
20766
+ "span",
20767
+ {
20768
+ className: cn(
20769
+ "mb-8 flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12",
20770
+ feature.iconClassName
20771
+ ),
20772
+ children: renderIcon(feature)
20773
+ }
20774
+ ),
20590
20775
  /* @__PURE__ */ jsxs("div", { children: [
20591
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxs("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
20592
- feature.title,
20593
- /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20594
- ] }) : /* @__PURE__ */ jsxs("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.titleClassName), children: [
20595
- feature.title,
20596
- /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20597
- ] })),
20598
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
20776
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxs(
20777
+ "h3",
20778
+ {
20779
+ className: cn(
20780
+ "font-medium md:mb-2 md:text-xl",
20781
+ feature.titleClassName
20782
+ ),
20783
+ children: [
20784
+ feature.title,
20785
+ /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20786
+ ]
20787
+ }
20788
+ ) : /* @__PURE__ */ jsxs(
20789
+ "div",
20790
+ {
20791
+ className: cn(
20792
+ "font-medium md:mb-2 md:text-xl",
20793
+ feature.titleClassName
20794
+ ),
20795
+ children: [
20796
+ feature.title,
20797
+ /* @__PURE__ */ jsx("span", { className: "absolute -left-px hidden h-6 w-px bg-primary md:inline-block" })
20798
+ ]
20799
+ }
20800
+ )),
20801
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx(
20802
+ "p",
20803
+ {
20804
+ className: cn(
20805
+ "text-sm md:text-base",
20806
+ feature.descriptionClassName
20807
+ ),
20808
+ children: feature.description
20809
+ }
20810
+ ) : /* @__PURE__ */ jsx(
20811
+ "div",
20812
+ {
20813
+ className: cn(
20814
+ "text-sm md:text-base",
20815
+ feature.descriptionClassName
20816
+ ),
20817
+ children: feature.description
20818
+ }
20819
+ ))
20599
20820
  ] })
20600
20821
  ]
20601
20822
  },
@@ -20613,9 +20834,30 @@ function FeatureIconGridBordered({
20613
20834
  className,
20614
20835
  containerClassName,
20615
20836
  children: [
20616
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-xs text-muted-foreground", labelClassName), children: label })),
20617
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
20618
- (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4", gridClassName), children: featuresContent })
20837
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-xs ", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-xs ", labelClassName), children: label })),
20838
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20839
+ "h2",
20840
+ {
20841
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
20842
+ children: title
20843
+ }
20844
+ ) : /* @__PURE__ */ jsx(
20845
+ "div",
20846
+ {
20847
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
20848
+ children: title
20849
+ }
20850
+ )),
20851
+ (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx(
20852
+ "div",
20853
+ {
20854
+ className: cn(
20855
+ "mt-14 grid gap-6 md:grid-cols-2 lg:mt-20 lg:grid-cols-4",
20856
+ gridClassName
20857
+ ),
20858
+ children: featuresContent
20859
+ }
20860
+ )
20619
20861
  ]
20620
20862
  }
20621
20863
  );
@@ -20641,7 +20883,7 @@ function FeatureChecklistImage({
20641
20883
  checklistClassName,
20642
20884
  optixFlowConfig,
20643
20885
  background,
20644
- spacing,
20886
+ spacing = "py-6 md:py-32",
20645
20887
  pattern,
20646
20888
  patternOpacity,
20647
20889
  patternClassName
@@ -20694,7 +20936,10 @@ function FeatureChecklistImage({
20694
20936
  {
20695
20937
  src: imageSrc,
20696
20938
  alt: imageAlt || "Feature illustration",
20697
- className: cn("max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2", imageClassName),
20939
+ className: cn(
20940
+ "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
20941
+ imageClassName
20942
+ ),
20698
20943
  loading: "lazy",
20699
20944
  optixFlowConfig
20700
20945
  }
@@ -20708,10 +20953,17 @@ function FeatureChecklistImage({
20708
20953
  const content = isString ? item : item.content;
20709
20954
  const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
20710
20955
  const itemClassName = isString ? void 0 : item.className;
20711
- return /* @__PURE__ */ jsxs("li", { className: cn("flex items-center gap-3", itemClassName), children: [
20712
- iconElement,
20713
- content
20714
- ] }, index);
20956
+ return /* @__PURE__ */ jsxs(
20957
+ "li",
20958
+ {
20959
+ className: cn("flex items-center gap-3", itemClassName),
20960
+ children: [
20961
+ iconElement,
20962
+ content
20963
+ ]
20964
+ },
20965
+ index
20966
+ );
20715
20967
  });
20716
20968
  }, [checklistSlot, checklistItems]);
20717
20969
  return /* @__PURE__ */ jsx(
@@ -20724,15 +20976,78 @@ function FeatureChecklistImage({
20724
20976
  patternClassName,
20725
20977
  className,
20726
20978
  containerClassName: cn("max-w-6xl", containerClassName),
20727
- children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-12 md:flex-row", contentWrapperClassName), children: [
20728
- imageContent,
20729
- /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
20730
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium text-balance md:text-5xl", titleClassName), children: title })),
20731
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-1 text-muted-foreground md:mt-6", descriptionClassName), children: description })),
20732
- actionsContent && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent }),
20733
- checklistContent && /* @__PURE__ */ jsx("ul", { className: cn("mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0", checklistClassName), children: checklistContent })
20734
- ] })
20735
- ] })
20979
+ children: /* @__PURE__ */ jsxs(
20980
+ "div",
20981
+ {
20982
+ className: cn(
20983
+ "flex flex-col gap-12 md:flex-row",
20984
+ contentWrapperClassName
20985
+ ),
20986
+ children: [
20987
+ imageContent,
20988
+ /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
20989
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
20990
+ "h2",
20991
+ {
20992
+ className: cn(
20993
+ "text-3xl font-medium text-balance md:text-5xl",
20994
+ titleClassName
20995
+ ),
20996
+ children: title
20997
+ }
20998
+ ) : /* @__PURE__ */ jsx(
20999
+ "div",
21000
+ {
21001
+ className: cn(
21002
+ "text-3xl font-medium text-balance md:text-5xl",
21003
+ titleClassName
21004
+ ),
21005
+ children: title
21006
+ }
21007
+ )),
21008
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
21009
+ "p",
21010
+ {
21011
+ className: cn(
21012
+ "mt-1 text-muted-foreground md:mt-6",
21013
+ descriptionClassName
21014
+ ),
21015
+ children: description
21016
+ }
21017
+ ) : /* @__PURE__ */ jsx(
21018
+ "div",
21019
+ {
21020
+ className: cn(
21021
+ "mt-1 text-muted-foreground md:mt-6",
21022
+ descriptionClassName
21023
+ ),
21024
+ children: description
21025
+ }
21026
+ )),
21027
+ actionsContent && /* @__PURE__ */ jsx(
21028
+ "div",
21029
+ {
21030
+ className: cn(
21031
+ "flex flex-wrap items-center gap-2",
21032
+ actionsClassName
21033
+ ),
21034
+ children: actionsContent
21035
+ }
21036
+ ),
21037
+ checklistContent && /* @__PURE__ */ jsx(
21038
+ "ul",
21039
+ {
21040
+ className: cn(
21041
+ "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
21042
+ checklistClassName
21043
+ ),
21044
+ children: checklistContent
21045
+ }
21046
+ )
21047
+ ] })
21048
+ ]
21049
+ }
21050
+ )
20736
21051
  }
20737
21052
  );
20738
21053
  }
@@ -20808,7 +21123,7 @@ function FeatureCarouselProgress({
20808
21123
  {
20809
21124
  className: "basis-full md:basis-1/2 lg:basis-1/3",
20810
21125
  children: /* @__PURE__ */ jsx("div", { className: "p-1", children: /* @__PURE__ */ jsx(Card, { className: cn(cardClassName, slide.className), children: /* @__PURE__ */ jsx(CardContent, { className: "flex flex-col justify-center p-6", children: /* @__PURE__ */ jsxs("div", { children: [
20811
- (slide.icon || slide.iconName) && /* @__PURE__ */ 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) }),
21126
+ (slide.icon || slide.iconName) && /* @__PURE__ */ 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) }),
20812
21127
  slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-xl font-semibold md:text-2xl lg:text-2xl", slide.titleClassName), children: slide.title })),
20813
21128
  slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: cn("pt-2 text-muted-foreground", slide.descriptionClassName), children: slide.description }))
20814
21129
  ] }) }) }) })
@@ -20865,27 +21180,30 @@ function FeatureCardGridLinked({
20865
21180
  cardClassName,
20866
21181
  optixFlowConfig,
20867
21182
  background,
20868
- spacing,
21183
+ spacing = "py-6 md:py-32",
20869
21184
  pattern,
20870
21185
  patternOpacity,
20871
21186
  patternClassName
20872
21187
  }) {
20873
- const renderImage = useCallback((feature, imageAlt) => {
20874
- if (feature.imageSlot) return feature.imageSlot;
20875
- if (feature.image) {
20876
- return /* @__PURE__ */ jsx(
20877
- Img,
20878
- {
20879
- src: feature.image,
20880
- alt: imageAlt,
20881
- className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
20882
- loading: "lazy",
20883
- optixFlowConfig
20884
- }
20885
- );
20886
- }
20887
- return null;
20888
- }, [optixFlowConfig]);
21188
+ const renderImage = useCallback(
21189
+ (feature, imageAlt) => {
21190
+ if (feature.imageSlot) return feature.imageSlot;
21191
+ if (feature.image) {
21192
+ return /* @__PURE__ */ jsx(
21193
+ Img,
21194
+ {
21195
+ src: feature.image,
21196
+ alt: imageAlt,
21197
+ className: "h-full w-full rounded-t-lg object-cover transition-opacity hover:opacity-80",
21198
+ loading: "lazy",
21199
+ optixFlowConfig
21200
+ }
21201
+ );
21202
+ }
21203
+ return null;
21204
+ },
21205
+ [optixFlowConfig]
21206
+ );
20889
21207
  const featuresContent = useMemo$1(() => {
20890
21208
  if (featuresSlot) return featuresSlot;
20891
21209
  if (!features || features.length === 0) return null;
@@ -20895,16 +21213,56 @@ function FeatureCardGridLinked({
20895
21213
  return /* @__PURE__ */ jsxs(
20896
21214
  "div",
20897
21215
  {
20898
- className: cn("flex flex-col justify-between rounded-lg bg-muted", cardClassName, feature.className),
21216
+ className: cn(
21217
+ "flex flex-col justify-between rounded-lg bg-muted border",
21218
+ cardClassName,
21219
+ feature.className
21220
+ ),
20899
21221
  children: [
20900
21222
  /* @__PURE__ */ jsxs("div", { className: "flex justify-between gap-10 border-b", children: [
20901
21223
  /* @__PURE__ */ 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: [
20902
- feature.label && /* @__PURE__ */ jsx("span", { className: cn("font-mono text-xs text-muted-foreground", feature.labelClassName), children: feature.label }),
20903
- feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ 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__ */ 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 }) })
21224
+ feature.label && /* @__PURE__ */ jsx(
21225
+ "span",
21226
+ {
21227
+ className: cn(
21228
+ "font-bold text-xs uppercase opacity-75",
21229
+ feature.labelClassName
21230
+ ),
21231
+ children: feature.label
21232
+ }
21233
+ ),
21234
+ feature.heading && /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: typeof feature.heading === "string" ? /* @__PURE__ */ jsx(
21235
+ "h3",
21236
+ {
21237
+ className: cn(
21238
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
21239
+ feature.headingClassName
21240
+ ),
21241
+ children: feature.heading
21242
+ }
21243
+ ) : /* @__PURE__ */ jsx(
21244
+ "div",
21245
+ {
21246
+ className: cn(
21247
+ "text-xl transition-all hover:opacity-80 md:text-2xl font-semibold leading-snug tracking-tighter",
21248
+ feature.headingClassName
21249
+ ),
21250
+ children: feature.heading
21251
+ }
21252
+ ) })
20904
21253
  ] }),
20905
21254
  /* @__PURE__ */ jsx("div", { className: "md:1/3 w-2/5 shrink-0 rounded-r-lg border-l", children: /* @__PURE__ */ jsx(Pressable, { href: feature.url, children: renderImage(feature, imageAlt) }) })
20906
21255
  ] }),
20907
- feature.description && /* @__PURE__ */ jsx("p", { className: cn("p-4 text-muted-foreground md:p-8", feature.descriptionClassName), children: feature.description })
21256
+ feature.description && /* @__PURE__ */ jsx(
21257
+ "p",
21258
+ {
21259
+ className: cn(
21260
+ "p-4 text-muted-foreground md:p-8",
21261
+ feature.descriptionClassName
21262
+ ),
21263
+ children: feature.description
21264
+ }
21265
+ )
20908
21266
  ]
20909
21267
  },
20910
21268
  featureKey
@@ -20922,7 +21280,34 @@ function FeatureCardGridLinked({
20922
21280
  className,
20923
21281
  containerClassName,
20924
21282
  children: [
20925
- title && /* @__PURE__ */ jsx("div", { className: cn("mx-auto mb-16 max-w-3xl text-center", titleWrapperClassName), children: typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-4xl font-medium text-pretty lg:text-5xl", titleClassName), children: title }) }),
21283
+ title && /* @__PURE__ */ jsx(
21284
+ "div",
21285
+ {
21286
+ className: cn(
21287
+ "mx-auto mb-16 max-w-3xl text-center",
21288
+ titleWrapperClassName
21289
+ ),
21290
+ children: typeof title === "string" ? /* @__PURE__ */ jsx(
21291
+ "h2",
21292
+ {
21293
+ className: cn(
21294
+ "text-4xl font-medium text-pretty lg:text-5xl",
21295
+ titleClassName
21296
+ ),
21297
+ children: title
21298
+ }
21299
+ ) : /* @__PURE__ */ jsx(
21300
+ "div",
21301
+ {
21302
+ className: cn(
21303
+ "text-4xl font-medium text-pretty lg:text-5xl",
21304
+ titleClassName
21305
+ ),
21306
+ children: title
21307
+ }
21308
+ )
21309
+ }
21310
+ ),
20926
21311
  /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 lg:grid-cols-2", gridClassName), children: featuresContent })
20927
21312
  ]
20928
21313
  }
@@ -20946,27 +21331,45 @@ function FeatureNumberedCards({
20946
21331
  patternOpacity,
20947
21332
  patternClassName
20948
21333
  }) {
20949
- const renderChecklistItems = useCallback((feature) => {
20950
- if (feature.checklistSlot) return feature.checklistSlot;
20951
- if (!feature.checklistItems || feature.checklistItems.length === 0) return null;
20952
- return feature.checklistItems.map((item, itemIndex) => {
20953
- const isString = typeof item === "string";
20954
- const content = isString ? item : item.content;
20955
- const iconElement = isString ? /* @__PURE__ */ jsx(
20956
- DynamicIcon,
20957
- {
20958
- name: "lucide/check-circle",
20959
- size: 16,
20960
- className: "mt-0.5 shrink-0 sm:mt-1"
20961
- }
20962
- ) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16, className: "mt-0.5 shrink-0 sm:mt-1" }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle", size: 16, className: "mt-0.5 shrink-0 sm:mt-1" }));
20963
- const itemClassName = isString ? void 0 : item.className;
20964
- return /* @__PURE__ */ jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
20965
- iconElement,
20966
- /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base", children: content })
20967
- ] }, itemIndex);
20968
- });
20969
- }, []);
21334
+ const renderChecklistItems = useCallback(
21335
+ (feature) => {
21336
+ if (feature.checklistSlot) return feature.checklistSlot;
21337
+ if (!feature.checklistItems || feature.checklistItems.length === 0)
21338
+ return null;
21339
+ return feature.checklistItems.map((item, itemIndex) => {
21340
+ const isString = typeof item === "string";
21341
+ const content = isString ? item : item.content;
21342
+ const iconElement = isString ? /* @__PURE__ */ jsx(
21343
+ DynamicIcon,
21344
+ {
21345
+ name: "lucide/check-circle",
21346
+ size: 16,
21347
+ className: "mt-0.5 shrink-0 sm:mt-1"
21348
+ }
21349
+ ) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(
21350
+ DynamicIcon,
21351
+ {
21352
+ name: item.iconName,
21353
+ size: 16,
21354
+ className: "mt-0.5 shrink-0 sm:mt-1"
21355
+ }
21356
+ ) : /* @__PURE__ */ jsx(
21357
+ DynamicIcon,
21358
+ {
21359
+ name: "lucide/check-circle",
21360
+ size: 16,
21361
+ className: "mt-0.5 shrink-0 sm:mt-1"
21362
+ }
21363
+ ));
21364
+ const itemClassName = isString ? void 0 : item.className;
21365
+ return /* @__PURE__ */ jsxs("li", { className: cn("flex gap-x-3", itemClassName), children: [
21366
+ iconElement,
21367
+ /* @__PURE__ */ jsx("p", { className: "text-sm md:text-base", children: content })
21368
+ ] }, itemIndex);
21369
+ });
21370
+ },
21371
+ []
21372
+ );
20970
21373
  const featuresContent = useMemo$1(() => {
20971
21374
  if (featuresSlot) return featuresSlot;
20972
21375
  if (!features || features.length === 0) return null;
@@ -20980,7 +21383,7 @@ function FeatureNumberedCards({
20980
21383
  {
20981
21384
  src: feature.image,
20982
21385
  alt: imageAlt,
20983
- className: "h-full w-full object-cover",
21386
+ className: "h-full w-full object-cover rounded-tr-lg rounded-tl-lg md:rounded-tl-0 rounded-br-0 md:rounded-br-lg",
20984
21387
  loading: "lazy",
20985
21388
  optixFlowConfig
20986
21389
  }
@@ -20988,19 +21391,111 @@ function FeatureNumberedCards({
20988
21391
  }
20989
21392
  return null;
20990
21393
  };
20991
- return /* @__PURE__ */ jsxs("div", { className: cn("grid rounded-lg border md:grid-cols-2", cardClassName, feature.className), children: [
20992
- /* @__PURE__ */ 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: [
20993
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl", titleClassName), children: feature.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl", titleClassName), children: feature.title })),
20994
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("div", { className: cn("mb-8 text-sm text-muted-foreground sm:mb-10 md:text-base", descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("mb-8 text-sm text-muted-foreground sm:mb-10 md:text-base", descriptionClassName), children: feature.description })),
20995
- feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsx("ul", { className: cn("mt-auto space-y-2 sm:space-y-3", checklistClassName), children: renderChecklistItems(feature) }) : null
20996
- ] }),
20997
- /* @__PURE__ */ jsxs("div", { className: cn("relative order-first max-h-80 md:order-last md:max-h-[500px]", feature.imageWrapperClassName), children: [
20998
- renderImage(),
20999
- /* @__PURE__ */ 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") })
21000
- ] })
21001
- ] }, index);
21394
+ return /* @__PURE__ */ jsxs(
21395
+ "div",
21396
+ {
21397
+ className: cn(
21398
+ "grid rounded-lg border md:grid-cols-2",
21399
+ cardClassName,
21400
+ feature.className
21401
+ ),
21402
+ children: [
21403
+ /* @__PURE__ */ jsxs(
21404
+ "div",
21405
+ {
21406
+ className: cn(
21407
+ "flex flex-col px-6 py-8 lg:px-8 lg:py-12 xl:px-12 xl:py-20",
21408
+ feature.contentClassName
21409
+ ),
21410
+ children: [
21411
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx(
21412
+ "h3",
21413
+ {
21414
+ className: cn(
21415
+ "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
21416
+ titleClassName
21417
+ ),
21418
+ children: feature.title
21419
+ }
21420
+ ) : /* @__PURE__ */ jsx(
21421
+ "div",
21422
+ {
21423
+ className: cn(
21424
+ "mb-3 text-2xl font-medium sm:mb-5 md:text-3xl lg:text-4xl",
21425
+ titleClassName
21426
+ ),
21427
+ children: feature.title
21428
+ }
21429
+ )),
21430
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx(
21431
+ "div",
21432
+ {
21433
+ className: cn(
21434
+ "mb-8 text-sm sm:mb-10 md:text-base",
21435
+ descriptionClassName
21436
+ ),
21437
+ children: feature.description
21438
+ }
21439
+ ) : /* @__PURE__ */ jsx(
21440
+ "div",
21441
+ {
21442
+ className: cn(
21443
+ "mb-8 text-sm sm:mb-10 md:text-base",
21444
+ descriptionClassName
21445
+ ),
21446
+ children: feature.description
21447
+ }
21448
+ )),
21449
+ feature.checklistItems && feature.checklistItems.length > 0 || feature.checklistSlot ? /* @__PURE__ */ jsx(
21450
+ "ul",
21451
+ {
21452
+ className: cn(
21453
+ "mt-auto space-y-2 sm:space-y-3",
21454
+ checklistClassName
21455
+ ),
21456
+ children: renderChecklistItems(feature)
21457
+ }
21458
+ ) : null
21459
+ ]
21460
+ }
21461
+ ),
21462
+ /* @__PURE__ */ jsxs(
21463
+ "div",
21464
+ {
21465
+ className: cn(
21466
+ "relative order-first max-h-80 md:order-last md:max-h-[500px]",
21467
+ feature.imageWrapperClassName
21468
+ ),
21469
+ children: [
21470
+ renderImage(),
21471
+ /* @__PURE__ */ jsx(
21472
+ "span",
21473
+ {
21474
+ className: cn(
21475
+ "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",
21476
+ badgeClassName
21477
+ ),
21478
+ children: String(index + 1).padStart(2, "0")
21479
+ }
21480
+ )
21481
+ ]
21482
+ }
21483
+ )
21484
+ ]
21485
+ },
21486
+ index
21487
+ );
21002
21488
  });
21003
- }, [featuresSlot, features, cardClassName, titleClassName, descriptionClassName, checklistClassName, badgeClassName, optixFlowConfig]);
21489
+ }, [
21490
+ featuresSlot,
21491
+ features,
21492
+ cardClassName,
21493
+ titleClassName,
21494
+ descriptionClassName,
21495
+ checklistClassName,
21496
+ badgeClassName,
21497
+ optixFlowConfig
21498
+ ]);
21004
21499
  return /* @__PURE__ */ jsx(
21005
21500
  Section,
21006
21501
  {
@@ -21011,7 +21506,16 @@ function FeatureNumberedCards({
21011
21506
  patternClassName,
21012
21507
  className,
21013
21508
  containerClassName,
21014
- children: /* @__PURE__ */ jsx("div", { className: cn("space-y-10 rounded-lg border py-10 md:px-4", cardsWrapperClassName), children: featuresContent })
21509
+ children: /* @__PURE__ */ jsx(
21510
+ "div",
21511
+ {
21512
+ className: cn(
21513
+ "space-y-4 md:space-y-10 rounded-lg border-none md:border md:bg-background p-0 md:p-10",
21514
+ cardsWrapperClassName
21515
+ ),
21516
+ children: featuresContent
21517
+ }
21518
+ )
21015
21519
  }
21016
21520
  );
21017
21521
  }
@@ -21044,12 +21548,21 @@ function FeatureIconGridAccent({
21044
21548
  "div",
21045
21549
  {
21046
21550
  className: cn(
21047
- "flex flex-col justify-between rounded-lg bg-accent p-6 md:min-h-[300px] md:p-8",
21551
+ "flex flex-col justify-between rounded-lg p-6 md:min-h-[300px] md:p-8",
21048
21552
  cardClassName,
21049
21553
  feature.className
21050
21554
  ),
21051
21555
  children: [
21052
- iconElement && /* @__PURE__ */ jsx("span", { className: cn("mb-6 flex size-11 items-center justify-center rounded-full bg-background", feature.iconClassName), children: iconElement }),
21556
+ iconElement && /* @__PURE__ */ jsx(
21557
+ "span",
21558
+ {
21559
+ className: cn(
21560
+ "mb-6 flex size-11 items-center justify-center rounded-full",
21561
+ feature.iconClassName
21562
+ ),
21563
+ children: iconElement
21564
+ }
21565
+ ),
21053
21566
  /* @__PURE__ */ jsxs("div", { children: [
21054
21567
  feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-medium md:text-2xl", children: feature.title }) : /* @__PURE__ */ jsx("div", { className: "text-lg font-medium md:text-2xl", children: feature.title })),
21055
21568
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-2 text-muted-foreground", children: feature.description }) : /* @__PURE__ */ jsx("div", { className: "mt-2 text-muted-foreground", children: feature.description }))
@@ -21071,12 +21584,45 @@ function FeatureIconGridAccent({
21071
21584
  className,
21072
21585
  containerClassName,
21073
21586
  children: [
21074
- (label || title || description) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col items-center", headerClassName), children: /* @__PURE__ */ 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: [
21075
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: labelClassName, children: label })),
21076
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
21077
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground md:max-w-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
21078
- ] }) }),
21079
- featuresContent && /* @__PURE__ */ jsx("div", { className: cn("mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2", gridClassName), children: featuresContent })
21587
+ (label || title || description) && /* @__PURE__ */ jsx(
21588
+ "div",
21589
+ {
21590
+ className: cn("flex w-full flex-col items-center", headerClassName),
21591
+ children: /* @__PURE__ */ 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: [
21592
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: labelClassName, children: label })),
21593
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
21594
+ "h2",
21595
+ {
21596
+ className: cn(
21597
+ "text-3xl font-medium md:text-5xl text-balance",
21598
+ titleClassName
21599
+ ),
21600
+ children: title
21601
+ }
21602
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
21603
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
21604
+ "p",
21605
+ {
21606
+ className: cn(
21607
+ "md:max-w-2xl text-balance",
21608
+ descriptionClassName
21609
+ ),
21610
+ children: description
21611
+ }
21612
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
21613
+ ] })
21614
+ }
21615
+ ),
21616
+ featuresContent && /* @__PURE__ */ jsx(
21617
+ "div",
21618
+ {
21619
+ className: cn(
21620
+ "mx-auto mt-20 grid max-w-5xl gap-6 md:grid-cols-2",
21621
+ gridClassName
21622
+ ),
21623
+ children: featuresContent
21624
+ }
21625
+ )
21080
21626
  ]
21081
21627
  }
21082
21628
  );
@@ -21093,24 +21639,78 @@ function FeatureThreeColumnValues({
21093
21639
  gridClassName,
21094
21640
  cardClassName,
21095
21641
  background,
21096
- spacing,
21642
+ spacing = "py-6 md:py-32",
21097
21643
  pattern,
21098
21644
  patternOpacity,
21099
21645
  patternClassName
21100
21646
  }) {
21101
- const renderValueIcon = React52.useCallback((value) => {
21102
- if (value.icon) return value.icon;
21103
- if (value.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: value.iconName, size: 24 });
21104
- return null;
21105
- }, []);
21647
+ const renderValueIcon = React52.useCallback(
21648
+ (value) => {
21649
+ if (value.icon) return value.icon;
21650
+ if (value.iconName)
21651
+ return /* @__PURE__ */ jsx(DynamicIcon, { name: value.iconName, size: 24 });
21652
+ return null;
21653
+ },
21654
+ []
21655
+ );
21106
21656
  const valuesContent = useMemo$1(() => {
21107
21657
  if (valuesSlot) return valuesSlot;
21108
21658
  if (!values || values.length === 0) return null;
21109
- return values.map((value, index) => /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg bg-accent p-5", cardClassName, value.className), children: [
21110
- (value.icon || value.iconName) && /* @__PURE__ */ jsx("span", { className: cn("mb-8 flex size-12 items-center justify-center rounded-full bg-background", value.iconClassName), children: renderValueIcon(value) }),
21111
- value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-2 text-xl font-medium", value.titleClassName), children: value.title })),
21112
- value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }) : /* @__PURE__ */ jsx("div", { className: cn("leading-7 text-muted-foreground", value.descriptionClassName), children: value.description }))
21113
- ] }, index));
21659
+ return values.map((value, index) => /* @__PURE__ */ jsxs(
21660
+ "div",
21661
+ {
21662
+ className: cn(
21663
+ "rounded-lg bg-accent p-5",
21664
+ cardClassName,
21665
+ value.className
21666
+ ),
21667
+ children: [
21668
+ (value.icon || value.iconName) && /* @__PURE__ */ jsx(
21669
+ "span",
21670
+ {
21671
+ className: cn(
21672
+ "mb-8 flex size-12 items-center justify-center rounded-full bg-background",
21673
+ value.iconClassName
21674
+ ),
21675
+ children: renderValueIcon(value)
21676
+ }
21677
+ ),
21678
+ value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx(
21679
+ "h3",
21680
+ {
21681
+ className: cn("mb-2 text-xl font-medium", value.titleClassName),
21682
+ children: value.title
21683
+ }
21684
+ ) : /* @__PURE__ */ jsx(
21685
+ "div",
21686
+ {
21687
+ className: cn("mb-2 text-xl font-medium", value.titleClassName),
21688
+ children: value.title
21689
+ }
21690
+ )),
21691
+ value.description && (typeof value.description === "string" ? /* @__PURE__ */ jsx(
21692
+ "p",
21693
+ {
21694
+ className: cn(
21695
+ "leading-7 text-muted-foreground",
21696
+ value.descriptionClassName
21697
+ ),
21698
+ children: value.description
21699
+ }
21700
+ ) : /* @__PURE__ */ jsx(
21701
+ "div",
21702
+ {
21703
+ className: cn(
21704
+ "leading-7 text-muted-foreground",
21705
+ value.descriptionClassName
21706
+ ),
21707
+ children: value.description
21708
+ }
21709
+ ))
21710
+ ]
21711
+ },
21712
+ index
21713
+ ));
21114
21714
  }, [valuesSlot, values, cardClassName, renderValueIcon]);
21115
21715
  return /* @__PURE__ */ jsxs(
21116
21716
  Section,
@@ -21123,9 +21723,48 @@ function FeatureThreeColumnValues({
21123
21723
  className,
21124
21724
  containerClassName,
21125
21725
  children: [
21126
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-sm text-muted-foreground lg:text-base", labelClassName), children: label })),
21127
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium lg:text-4xl", titleClassName), children: title })),
21128
- (valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3", gridClassName), children: valuesContent })
21726
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx(
21727
+ "p",
21728
+ {
21729
+ className: cn(
21730
+ "mb-4 text-sm text-muted-foreground lg:text-base",
21731
+ labelClassName
21732
+ ),
21733
+ children: label
21734
+ }
21735
+ ) : /* @__PURE__ */ jsx(
21736
+ "div",
21737
+ {
21738
+ className: cn(
21739
+ "mb-4 text-sm text-muted-foreground lg:text-base",
21740
+ labelClassName
21741
+ ),
21742
+ children: label
21743
+ }
21744
+ )),
21745
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
21746
+ "h2",
21747
+ {
21748
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
21749
+ children: title
21750
+ }
21751
+ ) : /* @__PURE__ */ jsx(
21752
+ "div",
21753
+ {
21754
+ className: cn("text-3xl font-medium lg:text-4xl", titleClassName),
21755
+ children: title
21756
+ }
21757
+ )),
21758
+ (valuesSlot || values && values.length > 0) && /* @__PURE__ */ jsx(
21759
+ "div",
21760
+ {
21761
+ className: cn(
21762
+ "mt-14 grid gap-6 lg:mt-20 lg:grid-cols-3",
21763
+ gridClassName
21764
+ ),
21765
+ children: valuesContent
21766
+ }
21767
+ )
21129
21768
  ]
21130
21769
  }
21131
21770
  );
@@ -21181,7 +21820,7 @@ function FeatureBadgeGridSix({
21181
21820
  {
21182
21821
  className: cn("flex gap-6 space-y-4 rounded-lg md:block", cardClassName, feature.className),
21183
21822
  children: [
21184
- iconContent && /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-accent md:size-12", children: iconContent }),
21823
+ iconContent && /* @__PURE__ */ jsx("span", { className: "flex size-10 shrink-0 items-center justify-center rounded-full bg-primary text-primary-foreground md:size-12", children: iconContent }),
21185
21824
  /* @__PURE__ */ jsxs("div", { children: [
21186
21825
  feature.heading && (typeof feature.heading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading }) : /* @__PURE__ */ jsx("div", { className: cn("font-medium md:mb-2 md:text-xl", feature.headingClassName), children: feature.heading })),
21187
21826
  feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm text-muted-foreground md:text-base", feature.descriptionClassName), children: feature.description }))
@@ -21394,31 +22033,57 @@ function FeatureTabbedContentImage({
21394
22033
  contentGridClassName,
21395
22034
  optixFlowConfig,
21396
22035
  background,
21397
- spacing,
22036
+ spacing = "py-6 md:py-32",
21398
22037
  pattern,
21399
22038
  patternOpacity,
21400
22039
  patternClassName
21401
22040
  }) {
21402
- const renderFeatures = React52.useCallback((slide) => {
21403
- if (slide.featuresSlot) return slide.featuresSlot;
21404
- if (!slide.features || slide.features.length === 0) return null;
21405
- return slide.features.map((feature, index) => {
21406
- const isString = typeof feature === "string";
21407
- const content = isString ? feature : feature.content;
21408
- const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
21409
- const itemClassName = isString ? void 0 : feature.className;
21410
- return /* @__PURE__ */ jsxs("li", { className: cn("flex items-center gap-2", itemClassName), children: [
21411
- iconElement,
21412
- /* @__PURE__ */ jsx("span", { className: "font-medium", children: content })
21413
- ] }, index);
21414
- });
21415
- }, []);
21416
- const renderActions = React52.useCallback((slide) => {
21417
- if (slide.actionsSlot) return slide.actionsSlot;
21418
- if (!slide.actions || slide.actions.length === 0) return null;
21419
- return slide.actions.map((action, index) => {
21420
- if (action.children) {
21421
- return /* @__PURE__ */ jsx(
22041
+ const renderFeatures = React52.useCallback(
22042
+ (slide) => {
22043
+ if (slide.featuresSlot) return slide.featuresSlot;
22044
+ if (!slide.features || slide.features.length === 0) return null;
22045
+ return slide.features.map((feature, index) => {
22046
+ const isString = typeof feature === "string";
22047
+ const content = isString ? feature : feature.content;
22048
+ const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }) : feature.icon ?? (feature.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check-circle-2", size: 16 }));
22049
+ const itemClassName = isString ? void 0 : feature.className;
22050
+ return /* @__PURE__ */ jsxs(
22051
+ "li",
22052
+ {
22053
+ className: cn("flex items-center gap-2", itemClassName),
22054
+ children: [
22055
+ iconElement,
22056
+ /* @__PURE__ */ jsx("span", { className: "font-medium", children: content })
22057
+ ]
22058
+ },
22059
+ index
22060
+ );
22061
+ });
22062
+ },
22063
+ []
22064
+ );
22065
+ const renderActions = React52.useCallback(
22066
+ (slide) => {
22067
+ if (slide.actionsSlot) return slide.actionsSlot;
22068
+ if (!slide.actions || slide.actions.length === 0) return null;
22069
+ return slide.actions.map((action, index) => {
22070
+ if (action.children) {
22071
+ return /* @__PURE__ */ jsx(
22072
+ Pressable,
22073
+ {
22074
+ href: action.href,
22075
+ onClick: action.onClick,
22076
+ variant: action.variant,
22077
+ size: action.size,
22078
+ className: cn("mt-8", action.className),
22079
+ "aria-label": action["aria-label"],
22080
+ asButton: true,
22081
+ children: action.children
22082
+ },
22083
+ index
22084
+ );
22085
+ }
22086
+ return /* @__PURE__ */ jsxs(
21422
22087
  Pressable,
21423
22088
  {
21424
22089
  href: action.href,
@@ -21428,46 +22093,39 @@ function FeatureTabbedContentImage({
21428
22093
  className: cn("mt-8", action.className),
21429
22094
  "aria-label": action["aria-label"],
21430
22095
  asButton: true,
21431
- children: action.children
22096
+ children: [
22097
+ action.icon,
22098
+ action.label,
22099
+ action.iconAfter
22100
+ ]
21432
22101
  },
21433
22102
  index
21434
22103
  );
21435
- }
21436
- return /* @__PURE__ */ jsxs(
21437
- Pressable,
22104
+ });
22105
+ },
22106
+ []
22107
+ );
22108
+ const renderImage = React52.useCallback(
22109
+ (slide) => {
22110
+ if (slide.imageSlot) return slide.imageSlot;
22111
+ if (!slide.image) return null;
22112
+ const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
22113
+ return /* @__PURE__ */ jsx(
22114
+ Img,
21438
22115
  {
21439
- href: action.href,
21440
- onClick: action.onClick,
21441
- variant: action.variant,
21442
- size: action.size,
21443
- className: cn("mt-8", action.className),
21444
- "aria-label": action["aria-label"],
21445
- asButton: true,
21446
- children: [
21447
- action.icon,
21448
- action.label,
21449
- action.iconAfter
21450
- ]
21451
- },
21452
- index
22116
+ src: slide.image,
22117
+ alt: imageAlt,
22118
+ className: cn(
22119
+ "order-first max-h-[400px] w-full rounded-lg object-cover md:order-last",
22120
+ slide.imageClassName
22121
+ ),
22122
+ loading: "lazy",
22123
+ optixFlowConfig
22124
+ }
21453
22125
  );
21454
- });
21455
- }, []);
21456
- const renderImage = React52.useCallback((slide) => {
21457
- if (slide.imageSlot) return slide.imageSlot;
21458
- if (!slide.image) return null;
21459
- const imageAlt = slide.imageAlt || (typeof slide.title === "string" ? slide.title : "Tab content image");
21460
- return /* @__PURE__ */ jsx(
21461
- Img,
21462
- {
21463
- src: slide.image,
21464
- alt: imageAlt,
21465
- className: cn("order-first max-h-[400px] w-full rounded-lg object-cover md:order-last", slide.imageClassName),
21466
- loading: "lazy",
21467
- optixFlowConfig
21468
- }
21469
- );
21470
- }, [optixFlowConfig]);
22126
+ },
22127
+ [optixFlowConfig]
22128
+ );
21471
22129
  const slidesContent = useMemo$1(() => {
21472
22130
  if (slidesSlot) return slidesSlot;
21473
22131
  if (!slides || slides.length === 0) return null;
@@ -21476,7 +22134,10 @@ function FeatureTabbedContentImage({
21476
22134
  TabsTrigger,
21477
22135
  {
21478
22136
  value: slide.id.toString(),
21479
- className: cn("text-sm hover:bg-background md:text-base", tabTriggerClassName),
22137
+ className: cn(
22138
+ "text-sm hover:bg-background md:text-base",
22139
+ tabTriggerClassName
22140
+ ),
21480
22141
  children: slide.tabName
21481
22142
  },
21482
22143
  slide.id
@@ -21486,20 +22147,85 @@ function FeatureTabbedContentImage({
21486
22147
  {
21487
22148
  value: slide.id.toString(),
21488
22149
  className: cn("max-w-5xl", tabContentClassName),
21489
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid grid-cols-1 items-center gap-10 md:grid-cols-2", contentGridClassName, slide.className), children: [
21490
- /* @__PURE__ */ jsxs("div", { children: [
21491
- slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-2xl font-semibold lg:text-4xl", slide.titleClassName), children: slide.title }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4 text-2xl font-semibold lg:text-4xl", slide.titleClassName), children: slide.title })),
21492
- slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-xl", slide.descriptionClassName), children: slide.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-xl", slide.descriptionClassName), children: slide.description })),
21493
- slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsx("ul", { className: cn("mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2", slide.featuresClassName), children: renderFeatures(slide) }) : null,
21494
- renderActions(slide)
21495
- ] }),
21496
- renderImage(slide)
21497
- ] })
22150
+ children: /* @__PURE__ */ jsxs(
22151
+ "div",
22152
+ {
22153
+ className: cn(
22154
+ "grid grid-cols-1 items-center gap-10 md:grid-cols-2",
22155
+ contentGridClassName,
22156
+ slide.className
22157
+ ),
22158
+ children: [
22159
+ /* @__PURE__ */ jsxs("div", { children: [
22160
+ slide.title && (typeof slide.title === "string" ? /* @__PURE__ */ jsx(
22161
+ "h2",
22162
+ {
22163
+ className: cn(
22164
+ "mb-4 text-2xl font-semibold lg:text-4xl",
22165
+ slide.titleClassName
22166
+ ),
22167
+ children: slide.title
22168
+ }
22169
+ ) : /* @__PURE__ */ jsx(
22170
+ "div",
22171
+ {
22172
+ className: cn(
22173
+ "mb-4 text-2xl font-semibold lg:text-4xl",
22174
+ slide.titleClassName
22175
+ ),
22176
+ children: slide.title
22177
+ }
22178
+ )),
22179
+ slide.description && (typeof slide.description === "string" ? /* @__PURE__ */ jsx(
22180
+ "p",
22181
+ {
22182
+ className: cn(
22183
+ "text-muted-foreground lg:text-xl",
22184
+ slide.descriptionClassName
22185
+ ),
22186
+ children: slide.description
22187
+ }
22188
+ ) : /* @__PURE__ */ jsx(
22189
+ "div",
22190
+ {
22191
+ className: cn(
22192
+ "text-muted-foreground lg:text-xl",
22193
+ slide.descriptionClassName
22194
+ ),
22195
+ children: slide.description
22196
+ }
22197
+ )),
22198
+ slide.features && slide.features.length > 0 || slide.featuresSlot ? /* @__PURE__ */ jsx(
22199
+ "ul",
22200
+ {
22201
+ className: cn(
22202
+ "mt-8 grid grid-cols-1 gap-2 lg:grid-cols-2",
22203
+ slide.featuresClassName
22204
+ ),
22205
+ children: renderFeatures(slide)
22206
+ }
22207
+ ) : null,
22208
+ renderActions(slide)
22209
+ ] }),
22210
+ renderImage(slide)
22211
+ ]
22212
+ }
22213
+ )
21498
22214
  },
21499
22215
  slide.id
21500
22216
  ))
21501
22217
  ] });
21502
- }, [slidesSlot, slides, tabsListClassName, tabTriggerClassName, tabContentClassName, contentGridClassName, renderFeatures, renderActions, renderImage]);
22218
+ }, [
22219
+ slidesSlot,
22220
+ slides,
22221
+ tabsListClassName,
22222
+ tabTriggerClassName,
22223
+ tabContentClassName,
22224
+ contentGridClassName,
22225
+ renderFeatures,
22226
+ renderActions,
22227
+ renderImage
22228
+ ]);
21503
22229
  const effectiveDefaultTab = useMemo$1(() => {
21504
22230
  if (defaultTab) return defaultTab;
21505
22231
  if (slides && slides.length > 0) return slides[0].id.toString();
@@ -21516,15 +22242,63 @@ function FeatureTabbedContentImage({
21516
22242
  className,
21517
22243
  containerClassName,
21518
22244
  children: [
21519
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-3xl flex-col items-center gap-6", headerClassName), children: [
21520
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
21521
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-center text-balance text-muted-foreground lg:text-xl", descriptionClassName), children: description }))
21522
- ] }),
22245
+ /* @__PURE__ */ jsxs(
22246
+ "div",
22247
+ {
22248
+ className: cn(
22249
+ "mx-auto flex max-w-3xl flex-col items-center gap-6",
22250
+ headerClassName
22251
+ ),
22252
+ children: [
22253
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
22254
+ "h2",
22255
+ {
22256
+ className: cn(
22257
+ "text-center text-3xl font-semibold lg:text-5xl",
22258
+ titleClassName
22259
+ ),
22260
+ children: title
22261
+ }
22262
+ ) : /* @__PURE__ */ jsx(
22263
+ "div",
22264
+ {
22265
+ className: cn(
22266
+ "text-center text-3xl font-semibold lg:text-5xl",
22267
+ titleClassName
22268
+ ),
22269
+ children: title
22270
+ }
22271
+ )),
22272
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
22273
+ "p",
22274
+ {
22275
+ className: cn(
22276
+ "text-center text-balance text-muted-foreground lg:text-xl",
22277
+ descriptionClassName
22278
+ ),
22279
+ children: description
22280
+ }
22281
+ ) : /* @__PURE__ */ jsx(
22282
+ "div",
22283
+ {
22284
+ className: cn(
22285
+ "text-center text-balance text-muted-foreground lg:text-xl",
22286
+ descriptionClassName
22287
+ ),
22288
+ children: description
22289
+ }
22290
+ ))
22291
+ ]
22292
+ }
22293
+ ),
21523
22294
  (slidesSlot || slides && slides.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-12", tabsWrapperClassName), children: /* @__PURE__ */ jsx(
21524
22295
  Tabs,
21525
22296
  {
21526
22297
  defaultValue: effectiveDefaultTab,
21527
- className: cn("mx-auto flex w-fit flex-col items-center gap-8 md:gap-12", tabsClassName),
22298
+ className: cn(
22299
+ "mx-auto flex w-fit flex-col items-center gap-8 md:gap-12",
22300
+ tabsClassName
22301
+ ),
21528
22302
  children: slidesContent
21529
22303
  }
21530
22304
  ) })
@@ -21837,7 +22611,7 @@ function FeatureChecklistThreeColumn({
21837
22611
  Badge,
21838
22612
  {
21839
22613
  variant: "outline",
21840
- className: cn("absolute top-5 left-5 bg-primary-foreground", card.badgeClassName),
22614
+ className: cn("absolute top-5 left-5 bg-background", card.badgeClassName),
21841
22615
  children: card.badge
21842
22616
  }
21843
22617
  )
@@ -22005,7 +22779,7 @@ function FeatureIconTabsContent({
22005
22779
  tabContentClassName,
22006
22780
  optixFlowConfig,
22007
22781
  background,
22008
- spacing,
22782
+ spacing = "py-6 md:py-32",
22009
22783
  pattern,
22010
22784
  patternOpacity,
22011
22785
  patternClassName
@@ -22015,12 +22789,28 @@ function FeatureIconTabsContent({
22015
22789
  if (tab.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: tab.iconName, size: 16 });
22016
22790
  return null;
22017
22791
  }, []);
22018
- const renderTabContentActions = useCallback((content) => {
22019
- if (content.actionsSlot) return content.actionsSlot;
22020
- if (!content.actions || content.actions.length === 0) return null;
22021
- return content.actions.map((action, index) => {
22022
- if (action.children) {
22023
- return /* @__PURE__ */ jsx(
22792
+ const renderTabContentActions = useCallback(
22793
+ (content) => {
22794
+ if (content.actionsSlot) return content.actionsSlot;
22795
+ if (!content.actions || content.actions.length === 0) return null;
22796
+ return content.actions.map((action, index) => {
22797
+ if (action.children) {
22798
+ return /* @__PURE__ */ jsx(
22799
+ Pressable,
22800
+ {
22801
+ href: action.href,
22802
+ onClick: action.onClick,
22803
+ variant: action.variant,
22804
+ size: action.size,
22805
+ className: cn("mt-2.5 w-fit gap-2", action.className),
22806
+ "aria-label": action["aria-label"],
22807
+ asButton: true,
22808
+ children: action.children
22809
+ },
22810
+ index
22811
+ );
22812
+ }
22813
+ return /* @__PURE__ */ jsxs(
22024
22814
  Pressable,
22025
22815
  {
22026
22816
  href: action.href,
@@ -22030,90 +22820,174 @@ function FeatureIconTabsContent({
22030
22820
  className: cn("mt-2.5 w-fit gap-2", action.className),
22031
22821
  "aria-label": action["aria-label"],
22032
22822
  asButton: true,
22033
- children: action.children
22823
+ children: [
22824
+ action.icon,
22825
+ action.label,
22826
+ action.iconAfter
22827
+ ]
22034
22828
  },
22035
22829
  index
22036
22830
  );
22831
+ });
22832
+ },
22833
+ []
22834
+ );
22835
+ const renderTabContentImage = useCallback(
22836
+ (content) => {
22837
+ if (content.imageSlot) return content.imageSlot;
22838
+ if (content.imageSrc) {
22839
+ return /* @__PURE__ */ jsx(
22840
+ Img,
22841
+ {
22842
+ src: content.imageSrc,
22843
+ alt: content.imageAlt || "Tab content image",
22844
+ className: cn(
22845
+ "h-full w-full rounded-xl object-cover",
22846
+ content.imageClassName
22847
+ ),
22848
+ loading: "lazy",
22849
+ optixFlowConfig
22850
+ }
22851
+ );
22037
22852
  }
22038
- return /* @__PURE__ */ jsxs(
22039
- Pressable,
22040
- {
22041
- href: action.href,
22042
- onClick: action.onClick,
22043
- variant: action.variant,
22044
- size: action.size,
22045
- className: cn("mt-2.5 w-fit gap-2", action.className),
22046
- "aria-label": action["aria-label"],
22047
- asButton: true,
22048
- children: [
22049
- action.icon,
22050
- action.label,
22051
- action.iconAfter
22052
- ]
22053
- },
22054
- index
22055
- );
22056
- });
22057
- }, []);
22058
- const renderTabContentImage = useCallback((content) => {
22059
- if (content.imageSlot) return content.imageSlot;
22060
- if (content.imageSrc) {
22061
- return /* @__PURE__ */ jsx(
22062
- Img,
22063
- {
22064
- src: content.imageSrc,
22065
- alt: content.imageAlt || "Tab content image",
22066
- className: cn("h-full w-full rounded-xl object-cover", content.imageClassName),
22067
- loading: "lazy",
22068
- optixFlowConfig
22069
- }
22070
- );
22071
- }
22072
- return null;
22073
- }, [optixFlowConfig]);
22853
+ return null;
22854
+ },
22855
+ [optixFlowConfig]
22856
+ );
22074
22857
  const tabsContent = useMemo$1(() => {
22075
22858
  if (tabsSlot) return tabsSlot;
22076
22859
  if (!tabs || tabs.length === 0) return null;
22077
22860
  const activeDefaultTab = defaultTab || tabs[0]?.value;
22078
22861
  return /* @__PURE__ */ jsxs(Tabs, { defaultValue: activeDefaultTab, className: "mt-8", children: [
22079
- /* @__PURE__ */ 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__ */ jsxs(
22080
- TabsTrigger,
22862
+ /* @__PURE__ */ jsx("div", { className: "container overflow-x-auto px-4 pb-2 md:px-6", children: /* @__PURE__ */ jsx(
22863
+ TabsList,
22081
22864
  {
22082
- value: tab.value,
22083
- 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),
22084
- children: [
22085
- (tab.icon || tab.iconName) && renderTabIcon(tab),
22086
- tab.label
22087
- ]
22088
- },
22089
- tab.value
22090
- )) }),
22091
- /* @__PURE__ */ jsx("div", { className: cn("mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16", contentWrapperClassName), children: /* @__PURE__ */ jsx("div", { className: "relative", children: tabs.map((tab) => {
22092
- if (tab.contentSlot) {
22093
- return /* @__PURE__ */ jsx(TabsContent, { value: tab.value, className: tabContentClassName, children: tab.contentSlot }, tab.value);
22865
+ className: cn(
22866
+ "inline-flex w-auto min-w-full items-center justify-start gap-2 bg-transparent md:justify-center md:gap-4",
22867
+ tabsListClassName
22868
+ ),
22869
+ children: tabs.map((tab) => /* @__PURE__ */ jsxs(
22870
+ TabsTrigger,
22871
+ {
22872
+ value: tab.value,
22873
+ className: cn(
22874
+ "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",
22875
+ tabTriggerClassName,
22876
+ tab.className
22877
+ ),
22878
+ children: [
22879
+ (tab.icon || tab.iconName) && renderTabIcon(tab),
22880
+ tab.label
22881
+ ]
22882
+ },
22883
+ tab.value
22884
+ ))
22094
22885
  }
22095
- const content = tab.content;
22096
- if (!content) return null;
22097
- return /* @__PURE__ */ jsxs(
22098
- TabsContent,
22099
- {
22100
- value: tab.value,
22101
- className: cn("grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10", tabContentClassName, content.className),
22102
- children: [
22103
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
22104
- content.badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", content.badgeClassName), children: content.badge }),
22105
- content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", content.titleClassName), children: content.title })),
22106
- content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", content.descriptionClassName), children: content.description })),
22107
- (content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
22108
- ] }),
22109
- (content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
22110
- ]
22111
- },
22112
- tab.value
22113
- );
22114
- }) }) })
22886
+ ) }),
22887
+ /* @__PURE__ */ jsx(
22888
+ "div",
22889
+ {
22890
+ className: cn(
22891
+ "mx-auto mt-8 max-w-7xl rounded-2xl bg-muted/70 p-6 lg:p-16",
22892
+ contentWrapperClassName
22893
+ ),
22894
+ children: /* @__PURE__ */ jsx("div", { className: "relative", children: tabs.map((tab) => {
22895
+ if (tab.contentSlot) {
22896
+ return /* @__PURE__ */ jsx(
22897
+ TabsContent,
22898
+ {
22899
+ value: tab.value,
22900
+ className: tabContentClassName,
22901
+ children: tab.contentSlot
22902
+ },
22903
+ tab.value
22904
+ );
22905
+ }
22906
+ const content = tab.content;
22907
+ if (!content) return null;
22908
+ return /* @__PURE__ */ jsxs(
22909
+ TabsContent,
22910
+ {
22911
+ value: tab.value,
22912
+ className: cn(
22913
+ "grid place-items-start gap-20 lg:grid-cols-2 lg:gap-10",
22914
+ tabContentClassName,
22915
+ content.className
22916
+ ),
22917
+ children: [
22918
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
22919
+ content.badge && /* @__PURE__ */ jsx(
22920
+ Badge,
22921
+ {
22922
+ variant: "outline",
22923
+ className: cn(
22924
+ "w-fit bg-background",
22925
+ content.badgeClassName
22926
+ ),
22927
+ children: content.badge
22928
+ }
22929
+ ),
22930
+ content.title && (typeof content.title === "string" ? /* @__PURE__ */ jsx(
22931
+ "h3",
22932
+ {
22933
+ className: cn(
22934
+ "text-3xl font-semibold lg:text-5xl",
22935
+ content.titleClassName
22936
+ ),
22937
+ children: content.title
22938
+ }
22939
+ ) : /* @__PURE__ */ jsx(
22940
+ "div",
22941
+ {
22942
+ className: cn(
22943
+ "text-3xl font-semibold lg:text-5xl",
22944
+ content.titleClassName
22945
+ ),
22946
+ children: content.title
22947
+ }
22948
+ )),
22949
+ content.description && (typeof content.description === "string" ? /* @__PURE__ */ jsx(
22950
+ "p",
22951
+ {
22952
+ className: cn(
22953
+ "text-muted-foreground lg:text-lg",
22954
+ content.descriptionClassName
22955
+ ),
22956
+ children: content.description
22957
+ }
22958
+ ) : /* @__PURE__ */ jsx(
22959
+ "div",
22960
+ {
22961
+ className: cn(
22962
+ "text-muted-foreground lg:text-lg",
22963
+ content.descriptionClassName
22964
+ ),
22965
+ children: content.description
22966
+ }
22967
+ )),
22968
+ (content.actionsSlot || content.actions && content.actions.length > 0) && renderTabContentActions(content)
22969
+ ] }),
22970
+ (content.imageSlot || content.imageSrc) && /* @__PURE__ */ jsx("div", { className: "relative h-[300px] w-full lg:h-[400px]", children: renderTabContentImage(content) })
22971
+ ]
22972
+ },
22973
+ tab.value
22974
+ );
22975
+ }) })
22976
+ }
22977
+ )
22115
22978
  ] });
22116
- }, [tabsSlot, tabs, defaultTab, tabsListClassName, tabTriggerClassName, contentWrapperClassName, tabContentClassName, renderTabIcon, renderTabContentActions, renderTabContentImage]);
22979
+ }, [
22980
+ tabsSlot,
22981
+ tabs,
22982
+ defaultTab,
22983
+ tabsListClassName,
22984
+ tabTriggerClassName,
22985
+ contentWrapperClassName,
22986
+ tabContentClassName,
22987
+ renderTabIcon,
22988
+ renderTabContentActions,
22989
+ renderTabContentImage
22990
+ ]);
22117
22991
  return /* @__PURE__ */ jsxs(
22118
22992
  Section,
22119
22993
  {
@@ -22125,11 +22999,44 @@ function FeatureIconTabsContent({
22125
22999
  className,
22126
23000
  containerClassName: cn("mx-auto", containerClassName),
22127
23001
  children: [
22128
- (badge || heading || description) && /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center gap-4 text-center", headerClassName), children: [
22129
- badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
22130
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: cn("max-w-2xl text-3xl font-semibold md:text-4xl", headingClassName), children: heading })),
22131
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", descriptionClassName), children: description }))
22132
- ] }),
23002
+ (badge || heading || description) && /* @__PURE__ */ jsxs(
23003
+ "div",
23004
+ {
23005
+ className: cn(
23006
+ "flex flex-col items-center gap-4 text-center",
23007
+ headerClassName
23008
+ ),
23009
+ children: [
23010
+ badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: badgeClassName, children: badge }),
23011
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
23012
+ "h1",
23013
+ {
23014
+ className: cn(
23015
+ "max-w-2xl text-3xl font-semibold md:text-4xl",
23016
+ headingClassName
23017
+ ),
23018
+ children: heading
23019
+ }
23020
+ ) : /* @__PURE__ */ jsx(
23021
+ "div",
23022
+ {
23023
+ className: cn(
23024
+ "max-w-2xl text-3xl font-semibold md:text-4xl",
23025
+ headingClassName
23026
+ ),
23027
+ children: heading
23028
+ }
23029
+ )),
23030
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx(
23031
+ "div",
23032
+ {
23033
+ className: cn("text-muted-foreground", descriptionClassName),
23034
+ children: description
23035
+ }
23036
+ ))
23037
+ ]
23038
+ }
23039
+ ),
22133
23040
  tabsContent
22134
23041
  ]
22135
23042
  }
@@ -22210,7 +23117,7 @@ function FeatureImageOverlayBadge({
22210
23117
  overlayTitleClassName,
22211
23118
  optixFlowConfig,
22212
23119
  background,
22213
- spacing,
23120
+ spacing = "py-6 md:py-32",
22214
23121
  pattern,
22215
23122
  patternOpacity,
22216
23123
  patternClassName
@@ -22263,7 +23170,10 @@ function FeatureImageOverlayBadge({
22263
23170
  {
22264
23171
  src: imageSrc,
22265
23172
  alt: imageAlt || "Feature illustration",
22266
- className: cn("rounded-xl object-cover md:aspect-video lg:aspect-auto", imageClassName),
23173
+ className: cn(
23174
+ "rounded-2xl object-cover md:aspect-video lg:aspect-auto w-full h-auto",
23175
+ imageClassName
23176
+ ),
22267
23177
  loading: "lazy",
22268
23178
  optixFlowConfig
22269
23179
  }
@@ -22281,41 +23191,111 @@ function FeatureImageOverlayBadge({
22281
23191
  patternClassName,
22282
23192
  className,
22283
23193
  containerClassName,
22284
- children: /* @__PURE__ */ jsxs("div", { className: cn("grid place-items-center gap-10 lg:grid-cols-2", gridClassName), children: [
22285
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
22286
- badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("w-fit bg-background", badgeClassName), children: badge }),
22287
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-semibold lg:text-5xl", titleClassName), children: title })),
22288
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground lg:text-lg", descriptionClassName), children: description })),
22289
- /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actionsContent })
22290
- ] }),
22291
- imageContent && /* @__PURE__ */ jsxs("div", { className: cn("relative rounded-xl", imageWrapperClassName), children: [
22292
- imageContent,
22293
- (avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
22294
- /* @__PURE__ */ 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) }),
22295
- /* @__PURE__ */ jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
22296
- (avatarSrc || avatarBadgeText) && /* @__PURE__ */ 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: [
22297
- avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
22298
- avatarBadgeText
22299
- ] }),
22300
- (overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
22301
- overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsx("h4", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle }) : /* @__PURE__ */ jsx("div", { className: cn("text-lg font-semibold lg:text-3xl", overlayTitleClassName), children: overlayTitle })),
22302
- overlayLinkText && /* @__PURE__ */ jsxs(
22303
- Pressable,
23194
+ children: /* @__PURE__ */ jsxs(
23195
+ "div",
23196
+ {
23197
+ className: cn(
23198
+ "grid place-items-center gap-10 lg:grid-cols-2",
23199
+ gridClassName
23200
+ ),
23201
+ children: [
23202
+ /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-5", contentClassName), children: [
23203
+ badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: cn("", badgeClassName), children: badge }),
23204
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
23205
+ "h3",
23206
+ {
23207
+ className: cn(
23208
+ "text-3xl font-semibold lg:text-4xl leading-snug text-balance",
23209
+ titleClassName
23210
+ ),
23211
+ children: title
23212
+ }
23213
+ ) : /* @__PURE__ */ jsx(
23214
+ "div",
23215
+ {
23216
+ className: cn(
23217
+ "text-3xl font-semibold lg:text-5xl",
23218
+ titleClassName
23219
+ ),
23220
+ children: title
23221
+ }
23222
+ )),
23223
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("lg:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("lg:text-lg", descriptionClassName), children: description })),
23224
+ /* @__PURE__ */ jsx(
23225
+ "div",
23226
+ {
23227
+ className: cn(
23228
+ "flex items-center gap-4 flex-wrap",
23229
+ actionsClassName
23230
+ ),
23231
+ children: actionsContent
23232
+ }
23233
+ )
23234
+ ] }),
23235
+ imageContent && /* @__PURE__ */ jsxs("div", { className: cn("relative rounded-2xl", imageWrapperClassName), children: [
23236
+ imageContent,
23237
+ (avatarSrc || avatarBadgeText || overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs(Fragment$1, { children: [
23238
+ /* @__PURE__ */ jsx(
23239
+ "div",
22304
23240
  {
22305
- href: overlayLinkUrl,
22306
- onClick: overlayLinkOnClick,
22307
- className: "flex items-center gap-1 font-medium",
22308
- children: [
22309
- overlayLinkText,
22310
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
22311
- ]
23241
+ className: cn(
23242
+ "absolute top-0 right-0 bottom-0 left-0 rounded-2xl bg-linear-to-t from-black via-black/20 to-transparent",
23243
+ overlayClassName
23244
+ )
22312
23245
  }
22313
- )
23246
+ ),
23247
+ /* @__PURE__ */ 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: [
23248
+ (avatarSrc || avatarBadgeText) && /* @__PURE__ */ jsxs(
23249
+ "span",
23250
+ {
23251
+ className: cn(
23252
+ "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",
23253
+ avatarBadgeClassName
23254
+ ),
23255
+ children: [
23256
+ avatarSrc && /* @__PURE__ */ jsx(Avatar, { className: "size-7 rounded-full", children: /* @__PURE__ */ jsx(AvatarImage, { src: avatarSrc, alt: "Avatar" }) }),
23257
+ avatarBadgeText
23258
+ ]
23259
+ }
23260
+ ),
23261
+ (overlayTitle || overlayLinkText) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
23262
+ overlayTitle && (typeof overlayTitle === "string" ? /* @__PURE__ */ jsx(
23263
+ "h4",
23264
+ {
23265
+ className: cn(
23266
+ "text-lg font-semibold lg:text-3xl",
23267
+ overlayTitleClassName
23268
+ ),
23269
+ children: overlayTitle
23270
+ }
23271
+ ) : /* @__PURE__ */ jsx(
23272
+ "div",
23273
+ {
23274
+ className: cn(
23275
+ "text-lg font-semibold lg:text-3xl",
23276
+ overlayTitleClassName
23277
+ ),
23278
+ children: overlayTitle
23279
+ }
23280
+ )),
23281
+ overlayLinkText && /* @__PURE__ */ jsxs(
23282
+ Pressable,
23283
+ {
23284
+ href: overlayLinkUrl,
23285
+ onClick: overlayLinkOnClick,
23286
+ children: [
23287
+ overlayLinkText,
23288
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 18 })
23289
+ ]
23290
+ }
23291
+ )
23292
+ ] })
23293
+ ] })
22314
23294
  ] })
22315
23295
  ] })
22316
- ] })
22317
- ] })
22318
- ] })
23296
+ ]
23297
+ }
23298
+ )
22319
23299
  }
22320
23300
  );
22321
23301
  }
@@ -22759,9 +23739,9 @@ function FeatureStatsHighlight({
22759
23739
  return stats.map((stat, index) => /* @__PURE__ */ jsxs(
22760
23740
  "div",
22761
23741
  {
22762
- className: cn("flex flex-col gap-2 rounded-xl border bg-muted/30 p-6", statCardClassName, stat.className),
23742
+ className: cn("flex flex-col gap-2 rounded-xl border bg-card p-6", statCardClassName, stat.className),
22763
23743
  children: [
22764
- stat.value && /* @__PURE__ */ jsx("span", { className: cn("text-4xl font-bold text-primary lg:text-5xl", stat.valueClassName), children: stat.value }),
23744
+ stat.value && /* @__PURE__ */ jsx("span", { className: cn("text-4xl font-bold lg:text-5xl", stat.valueClassName), children: stat.value }),
22765
23745
  stat.label && /* @__PURE__ */ jsx("span", { className: cn("text-muted-foreground", stat.labelClassName), children: stat.label })
22766
23746
  ]
22767
23747
  },
@@ -34734,7 +35714,10 @@ function BlogHorizontalTimelineComponent({
34734
35714
  /* @__PURE__ */ jsx(
34735
35715
  Card,
34736
35716
  {
34737
- className: cn("w-full border-none shadow-none", postCardClassName),
35717
+ className: cn(
35718
+ "w-full border-none shadow-none pt-0 pb-6 md:pt-6 md:pb-6",
35719
+ postCardClassName
35720
+ ),
34738
35721
  children: /* @__PURE__ */ jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxs(
34739
35722
  "div",
34740
35723
  {
@@ -34749,9 +35732,9 @@ function BlogHorizontalTimelineComponent({
34749
35732
  ] }),
34750
35733
  /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-start gap-4 md:h-full md:justify-between md:gap-6", children: [
34751
35734
  postDescription && /* @__PURE__ */ jsx("p", { className: "text-base leading-relaxed font-normal tracking-tight text-muted-foreground md:text-xl line-clamp-3", children: postDescription }),
34752
- readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "link", children: [
35735
+ readText && /* @__PURE__ */ jsxs(Pressable, { href: postHref, asButton: true, variant: "ghost", children: [
34753
35736
  readText,
34754
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
35737
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 20 })
34755
35738
  ] })
34756
35739
  ] })
34757
35740
  ]
@@ -34792,7 +35775,7 @@ function BlogHorizontalTimelineComponent({
34792
35775
  children: heading
34793
35776
  }
34794
35777
  ) : /* @__PURE__ */ jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
34795
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
35778
+ /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-0 md:gap-20", postsClassName), children: renderPosts })
34796
35779
  ] })
34797
35780
  }
34798
35781
  );
@@ -35408,7 +36391,7 @@ function ArticleSidebarStickyComponent({
35408
36391
  children,
35409
36392
  optixFlowConfig,
35410
36393
  background,
35411
- spacing,
36394
+ spacing = "py-6 md:py-32",
35412
36395
  pattern,
35413
36396
  patternOpacity
35414
36397
  }) {
@@ -35419,7 +36402,10 @@ function ArticleSidebarStickyComponent({
35419
36402
  Pressable,
35420
36403
  {
35421
36404
  href: backHref,
35422
- className: cn("inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground", backLinkClassName),
36405
+ className: cn(
36406
+ "inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-foreground",
36407
+ backLinkClassName
36408
+ ),
35423
36409
  children: [
35424
36410
  backIcon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 16 }),
35425
36411
  backText
@@ -35427,21 +36413,38 @@ function ArticleSidebarStickyComponent({
35427
36413
  }
35428
36414
  );
35429
36415
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
35430
- const renderAuthor = React52.useCallback((isMobile = false) => {
35431
- if (authorSlot) return authorSlot;
35432
- if (!authorName) return null;
35433
- const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
35434
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
35435
- /* @__PURE__ */ jsxs(Avatar, { className: avatarSize, children: [
35436
- /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
35437
- /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
35438
- ] }),
35439
- /* @__PURE__ */ jsxs("div", { children: [
35440
- authorHref ? /* @__PURE__ */ jsx(Pressable, { href: authorHref, className: "text-sm font-medium hover:underline", children: authorName }) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
35441
- publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
35442
- ] })
35443
- ] });
35444
- }, [authorSlot, authorName, authorImage, authorHref, publishDate, authorClassName]);
36416
+ const renderAuthor = React52.useCallback(
36417
+ (isMobile = false) => {
36418
+ if (authorSlot) return authorSlot;
36419
+ if (!authorName) return null;
36420
+ const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
36421
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3", authorClassName), children: [
36422
+ /* @__PURE__ */ jsxs(Avatar, { className: avatarSize, children: [
36423
+ /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
36424
+ /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
36425
+ ] }),
36426
+ /* @__PURE__ */ jsxs("div", { children: [
36427
+ authorHref ? /* @__PURE__ */ jsx(
36428
+ Pressable,
36429
+ {
36430
+ href: authorHref,
36431
+ className: "text-sm font-medium hover:underline",
36432
+ children: authorName
36433
+ }
36434
+ ) : /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: authorName }),
36435
+ publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
36436
+ ] })
36437
+ ] });
36438
+ },
36439
+ [
36440
+ authorSlot,
36441
+ authorName,
36442
+ authorImage,
36443
+ authorHref,
36444
+ publishDate,
36445
+ authorClassName
36446
+ ]
36447
+ );
35445
36448
  const heroMediaContent = React52.useMemo(() => {
35446
36449
  if (heroMediaSlot) return heroMediaSlot;
35447
36450
  if (!heroImageSrc) return null;
@@ -35450,11 +36453,20 @@ function ArticleSidebarStickyComponent({
35450
36453
  {
35451
36454
  src: heroImageSrc,
35452
36455
  alt: heroImageAlt,
35453
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
36456
+ className: cn(
36457
+ "my-8 aspect-video w-full rounded-lg object-cover",
36458
+ heroImageClassName
36459
+ ),
35454
36460
  optixFlowConfig
35455
36461
  }
35456
36462
  );
35457
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
36463
+ }, [
36464
+ heroMediaSlot,
36465
+ heroImageSrc,
36466
+ heroImageAlt,
36467
+ heroImageClassName,
36468
+ optixFlowConfig
36469
+ ]);
35458
36470
  return /* @__PURE__ */ jsx(
35459
36471
  Section,
35460
36472
  {
@@ -35468,13 +36480,31 @@ function ArticleSidebarStickyComponent({
35468
36480
  backLinkContent,
35469
36481
  /* @__PURE__ */ jsx("div", { className: "space-y-4", children: renderAuthor(false) })
35470
36482
  ] }) }),
35471
- /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
35472
- /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
35473
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
35474
- /* @__PURE__ */ jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
35475
- heroMediaContent,
35476
- children
35477
- ] })
36483
+ /* @__PURE__ */ jsxs(
36484
+ "article",
36485
+ {
36486
+ className: cn(
36487
+ "prose max-w-none dark:prose-invert",
36488
+ articleClassName
36489
+ ),
36490
+ children: [
36491
+ /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
36492
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
36493
+ "h1",
36494
+ {
36495
+ className: cn(
36496
+ "text-4xl font-bold tracking-tight md:text-5xl",
36497
+ titleClassName
36498
+ ),
36499
+ children: title
36500
+ }
36501
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
36502
+ /* @__PURE__ */ jsx("div", { className: "not-prose mt-4 lg:hidden", children: renderAuthor(true) }),
36503
+ heroMediaContent,
36504
+ children
36505
+ ]
36506
+ }
36507
+ )
35478
36508
  ] }) })
35479
36509
  }
35480
36510
  );
@@ -35668,7 +36698,6 @@ function ArticleBreadcrumbSocialComponent({
35668
36698
  authorClassName,
35669
36699
  heroImageClassName,
35670
36700
  tocClassName,
35671
- shareClassName,
35672
36701
  breadcrumbs,
35673
36702
  breadcrumbsSlot,
35674
36703
  currentPage,
@@ -35683,9 +36712,6 @@ function ArticleBreadcrumbSocialComponent({
35683
36712
  sections,
35684
36713
  tocSlot,
35685
36714
  renderSectionLink,
35686
- socialLinks: socialLinksProp,
35687
- shareUrls,
35688
- shareSlot,
35689
36715
  heroImageSrc,
35690
36716
  heroImageAlt,
35691
36717
  heroMediaSlot,
@@ -35694,35 +36720,11 @@ function ArticleBreadcrumbSocialComponent({
35694
36720
  enableBackToTop,
35695
36721
  optixFlowConfig,
35696
36722
  background,
35697
- spacing,
36723
+ spacing = "py-6 md:py-32",
35698
36724
  pattern,
35699
36725
  patternOpacity
35700
36726
  }) {
35701
36727
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
35702
- const platformLabels = {
35703
- twitter: "Twitter",
35704
- x: "X",
35705
- facebook: "Facebook",
35706
- linkedin: "LinkedIn",
35707
- instagram: "Instagram",
35708
- github: "GitHub"
35709
- };
35710
- const socialIconMap2 = {
35711
- twitter: "simple-icons/x",
35712
- // Twitter is now X
35713
- x: "simple-icons/x",
35714
- facebook: "simple-icons/facebook",
35715
- linkedin: "simple-icons/linkedin",
35716
- instagram: "simple-icons/instagram",
35717
- github: "simple-icons/github"
35718
- };
35719
- const socialLinks = socialLinksProp ?? (shareUrls ? Object.entries(shareUrls).filter(([, href]) => href).map(([platform, href]) => ({
35720
- platform,
35721
- href,
35722
- icon: /* @__PURE__ */ jsx(DynamicIcon, { name: socialIconMap2[platform] || `simple-icons/${platform}`, size: 16 }),
35723
- "aria-label": `Share on ${platformLabels[platform] || platform.charAt(0).toUpperCase() + platform.slice(1)}`,
35724
- className: void 0
35725
- })) : []);
35726
36728
  const [activeSection, setActiveSection] = React52.useState(
35727
36729
  sections?.[0]?.id || ""
35728
36730
  );
@@ -35774,16 +36776,25 @@ function ArticleBreadcrumbSocialComponent({
35774
36776
  const authorContent = React52.useMemo(() => {
35775
36777
  if (authorSlot) return authorSlot;
35776
36778
  if (!author) return null;
35777
- return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4 not-prose", authorClassName), children: [
35778
- /* @__PURE__ */ jsxs(Avatar, { className: "h-12 w-12", children: [
35779
- /* @__PURE__ */ jsx(AvatarImage, { src: author.image }),
35780
- /* @__PURE__ */ jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
35781
- ] }),
35782
- /* @__PURE__ */ jsxs("div", { children: [
35783
- author.name && /* @__PURE__ */ jsx("p", { className: "font-medium", children: author.name }),
35784
- (author.role || publishDate || readTime) && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
35785
- ] })
35786
- ] });
36779
+ return /* @__PURE__ */ jsxs(
36780
+ "div",
36781
+ {
36782
+ className: cn(
36783
+ "mt-6 flex items-center gap-4 not-prose",
36784
+ authorClassName
36785
+ ),
36786
+ children: [
36787
+ /* @__PURE__ */ jsxs(Avatar, { className: "h-12 w-12", children: [
36788
+ /* @__PURE__ */ jsx(AvatarImage, { src: author.image }),
36789
+ /* @__PURE__ */ jsx(AvatarFallback, { children: author.name?.charAt(0) || "A" })
36790
+ ] }),
36791
+ /* @__PURE__ */ jsxs("div", { children: [
36792
+ author.name && /* @__PURE__ */ jsx("p", { className: "font-medium", children: author.name }),
36793
+ (author.role || publishDate || readTime) && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: [author.role, publishDate, readTime].filter(Boolean).join(" \xB7 ") })
36794
+ ] })
36795
+ ]
36796
+ }
36797
+ );
35787
36798
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
35788
36799
  const heroMediaContent = React52.useMemo(() => {
35789
36800
  if (heroMediaSlot) return heroMediaSlot;
@@ -35793,11 +36804,20 @@ function ArticleBreadcrumbSocialComponent({
35793
36804
  {
35794
36805
  src: heroImageSrc,
35795
36806
  alt: heroImageAlt,
35796
- className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
36807
+ className: cn(
36808
+ "my-8 aspect-video w-full rounded-lg object-cover",
36809
+ heroImageClassName
36810
+ ),
35797
36811
  optixFlowConfig
35798
36812
  }
35799
36813
  );
35800
- }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
36814
+ }, [
36815
+ heroMediaSlot,
36816
+ heroImageSrc,
36817
+ heroImageAlt,
36818
+ heroImageClassName,
36819
+ optixFlowConfig
36820
+ ]);
35801
36821
  const tocContent = React52.useMemo(() => {
35802
36822
  if (tocSlot) return tocSlot;
35803
36823
  if (!sections || sections.length === 0) return null;
@@ -35823,26 +36843,6 @@ function ArticleBreadcrumbSocialComponent({
35823
36843
  }) })
35824
36844
  ] });
35825
36845
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
35826
- const shareButtonsContent = React52.useMemo(() => {
35827
- if (shareSlot) return shareSlot;
35828
- if (!socialLinks || socialLinks.length === 0) return null;
35829
- return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", shareClassName), children: [
35830
- /* @__PURE__ */ jsx("h3", { className: "mb-4 text-sm font-semibold", children: "Share this article" }),
35831
- /* @__PURE__ */ jsx("div", { className: "flex gap-2", children: socialLinks.map((link, index) => /* @__PURE__ */ jsx(
35832
- Pressable,
35833
- {
35834
- href: link.href,
35835
- className: cn(
35836
- "flex h-9 w-9 items-center justify-center rounded-md border hover:bg-muted",
35837
- link.className
35838
- ),
35839
- "aria-label": link["aria-label"],
35840
- children: link.icon
35841
- },
35842
- index
35843
- )) })
35844
- ] });
35845
- }, [shareSlot, socialLinks, shareClassName]);
35846
36846
  return /* @__PURE__ */ jsxs(
35847
36847
  Section,
35848
36848
  {
@@ -35855,18 +36855,32 @@ function ArticleBreadcrumbSocialComponent({
35855
36855
  /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
35856
36856
  breadcrumbsContent,
35857
36857
  /* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
35858
- children && /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
35859
- title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
35860
- authorContent,
35861
- /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
35862
- heroMediaContent,
35863
- children,
35864
- shareButtonsContent && /* @__PURE__ */ jsx("div", { className: "not-prose mt-8 lg:hidden", children: shareButtonsContent })
35865
- ] }),
35866
- /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
35867
- tocContent,
35868
- shareButtonsContent
35869
- ] }) })
36858
+ children && /* @__PURE__ */ jsxs(
36859
+ "article",
36860
+ {
36861
+ className: cn(
36862
+ "prose max-w-none dark:prose-invert",
36863
+ articleClassName
36864
+ ),
36865
+ children: [
36866
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
36867
+ "h1",
36868
+ {
36869
+ className: cn(
36870
+ "text-4xl font-bold tracking-tight md:text-5xl",
36871
+ titleClassName
36872
+ ),
36873
+ children: title
36874
+ }
36875
+ ) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
36876
+ authorContent,
36877
+ /* @__PURE__ */ jsx(Separator, { className: "my-8" }),
36878
+ heroMediaContent,
36879
+ children
36880
+ ]
36881
+ }
36882
+ ),
36883
+ /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsx("div", { className: "sticky top-8 space-y-6", children: tocContent }) })
35870
36884
  ] })
35871
36885
  ] }),
35872
36886
  enableBackToTop && showBackToTop && /* @__PURE__ */ jsx(
@@ -35943,7 +36957,7 @@ function ArticleCompactTocComponent({
35943
36957
  enableTocTracking = true,
35944
36958
  optixFlowConfig,
35945
36959
  background,
35946
- spacing,
36960
+ spacing = "py-6 md:py-32",
35947
36961
  pattern,
35948
36962
  patternOpacity
35949
36963
  }) {