@opensite/ui 2.1.2 → 2.1.4

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 (1177) hide show
  1. package/dist/about-company-profile.d.cts +3 -3
  2. package/dist/about-company-profile.d.ts +3 -3
  3. package/dist/about-culture-tabs.d.cts +3 -3
  4. package/dist/about-culture-tabs.d.ts +3 -3
  5. package/dist/about-developer-profile.d.cts +3 -3
  6. package/dist/about-developer-profile.d.ts +3 -3
  7. package/dist/about-developer-story.d.cts +3 -3
  8. package/dist/about-developer-story.d.ts +3 -3
  9. package/dist/about-expandable-values.d.cts +3 -3
  10. package/dist/about-expandable-values.d.ts +3 -3
  11. package/dist/about-interactive-tabs.d.cts +3 -3
  12. package/dist/about-interactive-tabs.d.ts +3 -3
  13. package/dist/about-location-info-hero.d.cts +3 -3
  14. package/dist/about-location-info-hero.d.ts +3 -3
  15. package/dist/about-minimal-story.d.cts +3 -3
  16. package/dist/about-minimal-story.d.ts +3 -3
  17. package/dist/about-mission-dual-image.d.cts +3 -3
  18. package/dist/about-mission-dual-image.d.ts +3 -3
  19. package/dist/about-mission-features.d.cts +3 -3
  20. package/dist/about-mission-features.d.ts +3 -3
  21. package/dist/about-mission-principles.d.cts +3 -3
  22. package/dist/about-mission-principles.d.ts +3 -3
  23. package/dist/about-network-spotlight.d.cts +3 -3
  24. package/dist/about-network-spotlight.d.ts +3 -3
  25. package/dist/about-split-hero.d.cts +3 -3
  26. package/dist/about-split-hero.d.ts +3 -3
  27. package/dist/about-startup-team.d.cts +3 -3
  28. package/dist/about-startup-team.d.ts +3 -3
  29. package/dist/about-stats-showcase.d.cts +3 -3
  30. package/dist/about-stats-showcase.d.ts +3 -3
  31. package/dist/about-stats-sidebar.d.cts +3 -3
  32. package/dist/about-stats-sidebar.d.ts +3 -3
  33. package/dist/about-story-expertise.d.cts +3 -3
  34. package/dist/about-story-expertise.d.ts +3 -3
  35. package/dist/about-story-gallery.d.cts +3 -3
  36. package/dist/about-story-gallery.d.ts +3 -3
  37. package/dist/about-story-hero.d.cts +3 -3
  38. package/dist/about-story-hero.d.ts +3 -3
  39. package/dist/about-streamline-team.d.cts +3 -3
  40. package/dist/about-streamline-team.d.ts +3 -3
  41. package/dist/about-vision-gallery.d.cts +3 -3
  42. package/dist/about-vision-gallery.d.ts +3 -3
  43. package/dist/alternating-blocks.d.cts +3 -3
  44. package/dist/alternating-blocks.d.ts +3 -3
  45. package/dist/animated-dialog.d.cts +3 -3
  46. package/dist/animated-dialog.d.ts +3 -3
  47. package/dist/article-breadcrumb-social.d.cts +3 -3
  48. package/dist/article-breadcrumb-social.d.ts +3 -3
  49. package/dist/article-chapters-author.d.cts +3 -3
  50. package/dist/article-chapters-author.d.ts +3 -3
  51. package/dist/article-compact-toc.d.cts +3 -3
  52. package/dist/article-compact-toc.d.ts +3 -3
  53. package/dist/article-hero-prose.d.cts +3 -3
  54. package/dist/article-hero-prose.d.ts +3 -3
  55. package/dist/article-sidebar-sticky.d.cts +3 -3
  56. package/dist/article-sidebar-sticky.d.ts +3 -3
  57. package/dist/article-split-animated.d.cts +3 -3
  58. package/dist/article-split-animated.d.ts +3 -3
  59. package/dist/article-toc-sidebar.d.cts +3 -3
  60. package/dist/article-toc-sidebar.d.ts +3 -3
  61. package/dist/auto-scroll-carousel.d.cts +3 -3
  62. package/dist/auto-scroll-carousel.d.ts +3 -3
  63. package/dist/badge.d.cts +1 -1
  64. package/dist/badge.d.ts +1 -1
  65. package/dist/banner-announcement-dismissible.d.cts +3 -3
  66. package/dist/banner-announcement-dismissible.d.ts +3 -3
  67. package/dist/banner-countdown-sale.d.cts +3 -3
  68. package/dist/banner-countdown-sale.d.ts +3 -3
  69. package/dist/banner-delivery-countdown.d.cts +3 -3
  70. package/dist/banner-delivery-countdown.d.ts +3 -3
  71. package/dist/banner-event-promo.d.cts +3 -3
  72. package/dist/banner-event-promo.d.ts +3 -3
  73. package/dist/banner-floating-offer.d.cts +3 -3
  74. package/dist/banner-floating-offer.d.ts +3 -3
  75. package/dist/banner-gdpr-rights.d.cts +3 -3
  76. package/dist/banner-gdpr-rights.d.ts +3 -3
  77. package/dist/banner-privacy-notice.d.cts +3 -3
  78. package/dist/banner-privacy-notice.d.ts +3 -3
  79. package/dist/banner-promo-cta.d.cts +3 -3
  80. package/dist/banner-promo-cta.d.ts +3 -3
  81. package/dist/banner-social-follow.d.cts +3 -3
  82. package/dist/banner-social-follow.d.ts +3 -3
  83. package/dist/banner-survey-incentive.d.cts +3 -3
  84. package/dist/banner-survey-incentive.d.ts +3 -3
  85. package/dist/{blocks-XLPGq8A5.d.ts → blocks-DRE-f6cS.d.ts} +1 -1
  86. package/dist/{blocks-DP3Vofl4.d.cts → blocks-tmd_MRJv.d.cts} +1 -1
  87. package/dist/blog-cards-read-time.d.cts +3 -3
  88. package/dist/blog-cards-read-time.d.ts +3 -3
  89. package/dist/blog-cards-tagline-cta.d.cts +3 -3
  90. package/dist/blog-cards-tagline-cta.d.ts +3 -3
  91. package/dist/blog-carousel-apple.d.cts +3 -3
  92. package/dist/blog-carousel-apple.d.ts +3 -3
  93. package/dist/blog-category-overlay.d.cts +3 -3
  94. package/dist/blog-category-overlay.d.ts +3 -3
  95. package/dist/blog-featured-popular.d.cts +3 -3
  96. package/dist/blog-featured-popular.d.ts +3 -3
  97. package/dist/blog-filtered-results.d.cts +3 -3
  98. package/dist/blog-filtered-results.d.ts +3 -3
  99. package/dist/blog-grid-author-cards.d.cts +3 -3
  100. package/dist/blog-grid-author-cards.d.ts +3 -3
  101. package/dist/blog-grid-nine-posts.d.cts +3 -3
  102. package/dist/blog-grid-nine-posts.d.ts +3 -3
  103. package/dist/blog-horizontal-cards.d.cts +3 -3
  104. package/dist/blog-horizontal-cards.d.ts +3 -3
  105. package/dist/blog-horizontal-timeline.d.cts +3 -3
  106. package/dist/blog-horizontal-timeline.d.ts +3 -3
  107. package/dist/blog-masonry-featured.d.cts +3 -3
  108. package/dist/blog-masonry-featured.d.ts +3 -3
  109. package/dist/blog-related-articles.d.cts +3 -3
  110. package/dist/blog-related-articles.d.ts +3 -3
  111. package/dist/blog-tech-insights.d.cts +3 -3
  112. package/dist/blog-tech-insights.d.ts +3 -3
  113. package/dist/blur-vignette-grid.d.cts +3 -3
  114. package/dist/blur-vignette-grid.d.ts +3 -3
  115. package/dist/{button-variants-CdNtNOuP.d.cts → button-variants-8mtEHxev.d.cts} +1 -1
  116. package/dist/{button-variants-CdNtNOuP.d.ts → button-variants-8mtEHxev.d.ts} +1 -1
  117. package/dist/button.d.cts +1 -1
  118. package/dist/button.d.ts +1 -1
  119. package/dist/carousel-animated-sections.d.cts +3 -3
  120. package/dist/carousel-animated-sections.d.ts +3 -3
  121. package/dist/carousel-auto-progress-slides.d.cts +3 -3
  122. package/dist/carousel-auto-progress-slides.d.ts +3 -3
  123. package/dist/carousel-autoplay-progress.d.cts +3 -3
  124. package/dist/carousel-autoplay-progress.d.ts +3 -3
  125. package/dist/carousel-badge-cards.d.cts +3 -3
  126. package/dist/carousel-badge-cards.d.ts +3 -3
  127. package/dist/carousel-demo-link.d.cts +3 -3
  128. package/dist/carousel-demo-link.d.ts +3 -3
  129. package/dist/carousel-feature-badge.d.cts +3 -3
  130. package/dist/carousel-feature-badge.d.ts +3 -3
  131. package/dist/carousel-fullscreen-scroll-fx.d.cts +3 -3
  132. package/dist/carousel-fullscreen-scroll-fx.d.ts +3 -3
  133. package/dist/carousel-gallery-thumbnails.d.cts +3 -3
  134. package/dist/carousel-gallery-thumbnails.d.ts +3 -3
  135. package/dist/carousel-gradient-overlay.d.cts +3 -3
  136. package/dist/carousel-gradient-overlay.d.ts +3 -3
  137. package/dist/carousel-gradient-text.d.cts +3 -3
  138. package/dist/carousel-gradient-text.d.ts +3 -3
  139. package/dist/carousel-horizontal-cards.d.cts +3 -3
  140. package/dist/carousel-horizontal-cards.d.ts +3 -3
  141. package/dist/carousel-icon-sidebar.d.cts +3 -3
  142. package/dist/carousel-icon-sidebar.d.ts +3 -3
  143. package/dist/carousel-icon-tabs.d.cts +3 -3
  144. package/dist/carousel-icon-tabs.d.ts +3 -3
  145. package/dist/carousel-image-hero.d.cts +3 -3
  146. package/dist/carousel-image-hero.d.ts +3 -3
  147. package/dist/carousel-multi-step-showcase.d.cts +3 -3
  148. package/dist/carousel-multi-step-showcase.d.ts +3 -3
  149. package/dist/carousel-portfolio-hero.d.cts +3 -3
  150. package/dist/carousel-portfolio-hero.d.ts +3 -3
  151. package/dist/carousel-product-feature-showcase.d.cts +3 -3
  152. package/dist/carousel-product-feature-showcase.d.ts +3 -3
  153. package/dist/carousel-progress-slider.d.cts +3 -3
  154. package/dist/carousel-progress-slider.d.ts +3 -3
  155. package/dist/carousel-scale-focus.d.cts +3 -3
  156. package/dist/carousel-scale-focus.d.ts +3 -3
  157. package/dist/carousel-scrolling-feature-showcase.d.cts +3 -3
  158. package/dist/carousel-scrolling-feature-showcase.d.ts +3 -3
  159. package/dist/carousel-sidebar-resources.d.cts +3 -3
  160. package/dist/carousel-sidebar-resources.d.ts +3 -3
  161. package/dist/carousel-tabs-content.d.cts +3 -3
  162. package/dist/carousel-tabs-content.d.ts +3 -3
  163. package/dist/case-studies-featured-border.d.cts +3 -3
  164. package/dist/case-studies-featured-border.d.ts +3 -3
  165. package/dist/case-studies-image-grid.d.cts +3 -3
  166. package/dist/case-studies-image-grid.d.ts +3 -3
  167. package/dist/case-studies-stats-card.d.cts +3 -3
  168. package/dist/case-studies-stats-card.d.ts +3 -3
  169. package/dist/case-studies-testimonial-stats.d.cts +3 -3
  170. package/dist/case-studies-testimonial-stats.d.ts +3 -3
  171. package/dist/case-study-prose-sidebar.d.cts +3 -3
  172. package/dist/case-study-prose-sidebar.d.ts +3 -3
  173. package/dist/case-study-stats-metrics.d.cts +3 -3
  174. package/dist/case-study-stats-metrics.d.ts +3 -3
  175. package/dist/case-study-toc-social-sidebar.d.cts +3 -3
  176. package/dist/case-study-toc-social-sidebar.d.ts +3 -3
  177. package/dist/{community-initiatives-r_NhxVet.d.cts → community-initiatives-CPyEa7IX.d.cts} +1 -1
  178. package/dist/{community-initiatives-DmVsuoHE.d.ts → community-initiatives-hxnFe3w6.d.ts} +1 -1
  179. package/dist/community-initiatives.d.cts +3 -3
  180. package/dist/community-initiatives.d.ts +3 -3
  181. package/dist/comparison-ai-models.d.cts +3 -3
  182. package/dist/comparison-ai-models.d.ts +3 -3
  183. package/dist/comparison-feature-cards.d.cts +3 -3
  184. package/dist/comparison-feature-cards.d.ts +3 -3
  185. package/dist/comparison-feature-grid.d.cts +3 -3
  186. package/dist/comparison-feature-grid.d.ts +3 -3
  187. package/dist/comparison-grid-badges.d.cts +3 -3
  188. package/dist/comparison-grid-badges.d.ts +3 -3
  189. package/dist/comparison-image-cards.d.cts +3 -3
  190. package/dist/comparison-image-cards.d.ts +3 -3
  191. package/dist/comparison-legacy-modern.d.cts +3 -3
  192. package/dist/comparison-legacy-modern.d.ts +3 -3
  193. package/dist/comparison-metrics-rows.d.cts +3 -3
  194. package/dist/comparison-metrics-rows.d.ts +3 -3
  195. package/dist/comparison-table-tabs.d.cts +3 -3
  196. package/dist/comparison-table-tabs.d.ts +3 -3
  197. package/dist/comparison-table-tooltips.d.cts +3 -3
  198. package/dist/comparison-table-tooltips.d.ts +3 -3
  199. package/dist/comparison-table-two-column.d.cts +3 -3
  200. package/dist/comparison-table-two-column.d.ts +3 -3
  201. package/dist/components.d.cts +3 -3
  202. package/dist/components.d.ts +3 -3
  203. package/dist/contact-callback.d.cts +3 -3
  204. package/dist/contact-callback.d.ts +3 -3
  205. package/dist/contact-card.d.cts +3 -3
  206. package/dist/contact-card.d.ts +3 -3
  207. package/dist/contact-careers.d.cts +3 -3
  208. package/dist/contact-careers.d.ts +3 -3
  209. package/dist/contact-catering.d.cts +3 -3
  210. package/dist/contact-catering.d.ts +3 -3
  211. package/dist/contact-consultation.d.cts +3 -3
  212. package/dist/contact-consultation.d.ts +3 -3
  213. package/dist/contact-dark.d.cts +3 -3
  214. package/dist/contact-dark.d.ts +3 -3
  215. package/dist/contact-demo.d.cts +3 -3
  216. package/dist/contact-demo.d.ts +3 -3
  217. package/dist/contact-emergency.d.cts +3 -3
  218. package/dist/contact-emergency.d.ts +3 -3
  219. package/dist/contact-event.d.cts +3 -3
  220. package/dist/contact-event.d.ts +3 -3
  221. package/dist/contact-faq.cjs +49 -544
  222. package/dist/contact-faq.d.cts +7 -53
  223. package/dist/contact-faq.d.ts +7 -53
  224. package/dist/contact-faq.js +49 -544
  225. package/dist/contact-feedback.d.cts +3 -3
  226. package/dist/contact-feedback.d.ts +3 -3
  227. package/dist/contact-fitness.d.cts +3 -3
  228. package/dist/contact-fitness.d.ts +3 -3
  229. package/dist/contact-floating-banner.d.cts +3 -3
  230. package/dist/contact-floating-banner.d.ts +3 -3
  231. package/dist/contact-guest.d.cts +3 -3
  232. package/dist/contact-guest.d.ts +3 -3
  233. package/dist/contact-help-center.d.cts +3 -3
  234. package/dist/contact-help-center.d.ts +3 -3
  235. package/dist/contact-image.d.cts +3 -3
  236. package/dist/contact-image.d.ts +3 -3
  237. package/dist/contact-insurance.d.cts +3 -3
  238. package/dist/contact-insurance.d.ts +3 -3
  239. package/dist/contact-interview.d.cts +3 -3
  240. package/dist/contact-interview.d.ts +3 -3
  241. package/dist/contact-locations.d.cts +3 -3
  242. package/dist/contact-locations.d.ts +3 -3
  243. package/dist/contact-maintenance.d.cts +3 -3
  244. package/dist/contact-maintenance.d.ts +3 -3
  245. package/dist/contact-map.d.cts +3 -3
  246. package/dist/contact-map.d.ts +3 -3
  247. package/dist/contact-minimal.d.cts +3 -3
  248. package/dist/contact-minimal.d.ts +3 -3
  249. package/dist/contact-moving.d.cts +3 -3
  250. package/dist/contact-moving.d.ts +3 -3
  251. package/dist/contact-multistep.d.cts +3 -3
  252. package/dist/contact-multistep.d.ts +3 -3
  253. package/dist/contact-partnership.d.cts +3 -3
  254. package/dist/contact-partnership.d.ts +3 -3
  255. package/dist/contact-photography.d.cts +3 -3
  256. package/dist/contact-photography.d.ts +3 -3
  257. package/dist/contact-press.d.cts +3 -3
  258. package/dist/contact-press.d.ts +3 -3
  259. package/dist/contact-quote.d.cts +3 -3
  260. package/dist/contact-quote.d.ts +3 -3
  261. package/dist/contact-referral.d.cts +3 -3
  262. package/dist/contact-referral.d.ts +3 -3
  263. package/dist/contact-report.d.cts +3 -3
  264. package/dist/contact-report.d.ts +3 -3
  265. package/dist/contact-reservation.d.cts +3 -3
  266. package/dist/contact-reservation.d.ts +3 -3
  267. package/dist/contact-retreat.d.cts +3 -3
  268. package/dist/contact-retreat.d.ts +3 -3
  269. package/dist/contact-rsvp.d.cts +3 -3
  270. package/dist/contact-rsvp.d.ts +3 -3
  271. package/dist/contact-sales.d.cts +3 -3
  272. package/dist/contact-sales.d.ts +3 -3
  273. package/dist/contact-schedule.d.cts +3 -3
  274. package/dist/contact-schedule.d.ts +3 -3
  275. package/dist/contact-sponsorship.d.cts +3 -3
  276. package/dist/contact-sponsorship.d.ts +3 -3
  277. package/dist/contact-support.d.cts +3 -3
  278. package/dist/contact-support.d.ts +3 -3
  279. package/dist/contact-tenant.d.cts +3 -3
  280. package/dist/contact-tenant.d.ts +3 -3
  281. package/dist/contact-vendor.cjs +41 -546
  282. package/dist/contact-vendor.d.cts +9 -39
  283. package/dist/contact-vendor.d.ts +9 -39
  284. package/dist/contact-vendor.js +43 -548
  285. package/dist/contact-volunteer.d.cts +3 -3
  286. package/dist/contact-volunteer.d.ts +3 -3
  287. package/dist/contact-warranty.d.cts +3 -3
  288. package/dist/contact-warranty.d.ts +3 -3
  289. package/dist/contact-wedding.d.cts +3 -3
  290. package/dist/contact-wedding.d.ts +3 -3
  291. package/dist/container.d.cts +3 -3
  292. package/dist/container.d.ts +3 -3
  293. package/dist/cta-accent-background.d.cts +3 -3
  294. package/dist/cta-accent-background.d.ts +3 -3
  295. package/dist/cta-app-download-newsletter.d.cts +3 -3
  296. package/dist/cta-app-download-newsletter.d.ts +3 -3
  297. package/dist/cta-background-icon-badge.d.cts +3 -3
  298. package/dist/cta-background-icon-badge.d.ts +3 -3
  299. package/dist/cta-case-study-testimonial.d.cts +3 -3
  300. package/dist/cta-case-study-testimonial.d.ts +3 -3
  301. package/dist/cta-documentation-links.d.cts +3 -3
  302. package/dist/cta-documentation-links.d.ts +3 -3
  303. package/dist/cta-enterprise-dark-features.d.cts +3 -3
  304. package/dist/cta-enterprise-dark-features.d.ts +3 -3
  305. package/dist/cta-enterprise-split.d.cts +3 -3
  306. package/dist/cta-enterprise-split.d.ts +3 -3
  307. package/dist/cta-feature-cards-grid.d.cts +3 -3
  308. package/dist/cta-feature-cards-grid.d.ts +3 -3
  309. package/dist/cta-feature-checklist.d.cts +3 -3
  310. package/dist/cta-feature-checklist.d.ts +3 -3
  311. package/dist/cta-feature-list.d.cts +3 -3
  312. package/dist/cta-feature-list.d.ts +3 -3
  313. package/dist/cta-fullwidth-background.d.cts +3 -3
  314. package/dist/cta-fullwidth-background.d.ts +3 -3
  315. package/dist/cta-gradient-logos-floating.d.cts +3 -3
  316. package/dist/cta-gradient-logos-floating.d.ts +3 -3
  317. package/dist/cta-gradient-stats-hero.d.cts +3 -3
  318. package/dist/cta-gradient-stats-hero.d.ts +3 -3
  319. package/dist/cta-hero-feature-cards.d.cts +3 -3
  320. package/dist/cta-hero-feature-cards.d.ts +3 -3
  321. package/dist/cta-image-overlay-arrow.d.cts +3 -3
  322. package/dist/cta-image-overlay-arrow.d.ts +3 -3
  323. package/dist/cta-image-overlay-centered.d.cts +3 -3
  324. package/dist/cta-image-overlay-centered.d.ts +3 -3
  325. package/dist/cta-minimal-separator.d.cts +3 -3
  326. package/dist/cta-minimal-separator.d.ts +3 -3
  327. package/dist/cta-newsletter-features.d.cts +3 -3
  328. package/dist/cta-newsletter-features.d.ts +3 -3
  329. package/dist/cta-pattern-background.d.cts +3 -3
  330. package/dist/cta-pattern-background.d.ts +3 -3
  331. package/dist/cta-platform-demo.d.cts +3 -3
  332. package/dist/cta-platform-demo.d.ts +3 -3
  333. package/dist/cta-simple-centered.d.cts +3 -3
  334. package/dist/cta-simple-centered.d.ts +3 -3
  335. package/dist/cta-split-gradient-image.d.cts +3 -3
  336. package/dist/cta-split-gradient-image.d.ts +3 -3
  337. package/dist/cta-split-image-logos.d.cts +3 -3
  338. package/dist/cta-split-image-logos.d.ts +3 -3
  339. package/dist/cta-split-image.d.cts +3 -3
  340. package/dist/cta-split-image.d.ts +3 -3
  341. package/dist/cta-stacked-cards.d.cts +3 -3
  342. package/dist/cta-stacked-cards.d.ts +3 -3
  343. package/dist/cta-video-background-hero.d.cts +3 -3
  344. package/dist/cta-video-background-hero.d.ts +3 -3
  345. package/dist/cta-workflow-tabs.d.cts +3 -3
  346. package/dist/cta-workflow-tabs.d.ts +3 -3
  347. package/dist/expandable-case-study-cards.d.cts +3 -3
  348. package/dist/expandable-case-study-cards.d.ts +3 -3
  349. package/dist/faq-badge-support.d.cts +3 -3
  350. package/dist/faq-badge-support.d.ts +3 -3
  351. package/dist/faq-bordered-badge.d.cts +3 -3
  352. package/dist/faq-bordered-badge.d.ts +3 -3
  353. package/dist/faq-card-categories.d.cts +3 -3
  354. package/dist/faq-card-categories.d.ts +3 -3
  355. package/dist/faq-categorized-sections.d.cts +3 -3
  356. package/dist/faq-categorized-sections.d.ts +3 -3
  357. package/dist/faq-centered-accordion.d.cts +3 -3
  358. package/dist/faq-centered-accordion.d.ts +3 -3
  359. package/dist/faq-gradient-categories.d.cts +3 -3
  360. package/dist/faq-gradient-categories.d.ts +3 -3
  361. package/dist/faq-icon-benefits.d.cts +3 -3
  362. package/dist/faq-icon-benefits.d.ts +3 -3
  363. package/dist/faq-muted-cards.d.cts +3 -3
  364. package/dist/faq-muted-cards.d.ts +3 -3
  365. package/dist/faq-numbered-grid.d.cts +3 -3
  366. package/dist/faq-numbered-grid.d.ts +3 -3
  367. package/dist/faq-numbered-list.d.cts +3 -3
  368. package/dist/faq-numbered-list.d.ts +3 -3
  369. package/dist/faq-profile-sidebar.d.cts +3 -3
  370. package/dist/faq-profile-sidebar.d.ts +3 -3
  371. package/dist/faq-rounded-cards.d.cts +3 -3
  372. package/dist/faq-rounded-cards.d.ts +3 -3
  373. package/dist/faq-sidebar-navigation.d.cts +3 -3
  374. package/dist/faq-sidebar-navigation.d.ts +3 -3
  375. package/dist/faq-simple-accordion.d.cts +3 -3
  376. package/dist/faq-simple-accordion.d.ts +3 -3
  377. package/dist/faq-split-help.d.cts +3 -3
  378. package/dist/faq-split-help.d.ts +3 -3
  379. package/dist/faq-split-hero.d.cts +3 -3
  380. package/dist/faq-split-hero.d.ts +3 -3
  381. package/dist/faq-static-list.d.cts +3 -3
  382. package/dist/faq-static-list.d.ts +3 -3
  383. package/dist/feature-accordion-image.d.cts +3 -3
  384. package/dist/feature-accordion-image.d.ts +3 -3
  385. package/dist/feature-animated-carousel.d.cts +3 -3
  386. package/dist/feature-animated-carousel.d.ts +3 -3
  387. package/dist/feature-badge-grid-six.d.cts +3 -3
  388. package/dist/feature-badge-grid-six.d.ts +3 -3
  389. package/dist/feature-bento-image-grid.d.cts +3 -3
  390. package/dist/feature-bento-image-grid.d.ts +3 -3
  391. package/dist/feature-bento-utilities.d.cts +3 -3
  392. package/dist/feature-bento-utilities.d.ts +3 -3
  393. package/dist/feature-capabilities-grid.d.cts +3 -3
  394. package/dist/feature-capabilities-grid.d.ts +3 -3
  395. package/dist/feature-card-grid-linked.d.cts +3 -3
  396. package/dist/feature-card-grid-linked.d.ts +3 -3
  397. package/dist/feature-carousel-progress.d.cts +3 -3
  398. package/dist/feature-carousel-progress.d.ts +3 -3
  399. package/dist/feature-category-image-cards.d.cts +3 -3
  400. package/dist/feature-category-image-cards.d.ts +3 -3
  401. package/dist/feature-checklist-image.d.cts +3 -3
  402. package/dist/feature-checklist-image.d.ts +3 -3
  403. package/dist/feature-checklist-three-column.d.cts +3 -3
  404. package/dist/feature-checklist-three-column.d.ts +3 -3
  405. package/dist/feature-icon-grid-accent.d.cts +3 -3
  406. package/dist/feature-icon-grid-accent.d.ts +3 -3
  407. package/dist/feature-icon-grid-bordered.d.cts +3 -3
  408. package/dist/feature-icon-grid-bordered.d.ts +3 -3
  409. package/dist/feature-icon-grid-muted.d.cts +3 -3
  410. package/dist/feature-icon-grid-muted.d.ts +3 -3
  411. package/dist/feature-icon-tabs-content.d.cts +3 -3
  412. package/dist/feature-icon-tabs-content.d.ts +3 -3
  413. package/dist/feature-image-cards-three-column.d.cts +3 -3
  414. package/dist/feature-image-cards-three-column.d.ts +3 -3
  415. package/dist/feature-image-overlay-badge.d.cts +3 -3
  416. package/dist/feature-image-overlay-badge.d.ts +3 -3
  417. package/dist/feature-integration-cards.d.cts +3 -3
  418. package/dist/feature-integration-cards.d.ts +3 -3
  419. package/dist/feature-numbered-cards.d.cts +3 -3
  420. package/dist/feature-numbered-cards.d.ts +3 -3
  421. package/dist/feature-pattern-grid-links.d.cts +3 -3
  422. package/dist/feature-pattern-grid-links.d.ts +3 -3
  423. package/dist/feature-showcase.d.cts +4 -4
  424. package/dist/feature-showcase.d.ts +4 -4
  425. package/dist/feature-split-image-reverse.d.cts +3 -3
  426. package/dist/feature-split-image-reverse.d.ts +3 -3
  427. package/dist/feature-split-image.d.cts +3 -3
  428. package/dist/feature-split-image.d.ts +3 -3
  429. package/dist/feature-stats-highlight.d.cts +3 -3
  430. package/dist/feature-stats-highlight.d.ts +3 -3
  431. package/dist/feature-tabbed-content-image.d.cts +3 -3
  432. package/dist/feature-tabbed-content-image.d.ts +3 -3
  433. package/dist/feature-three-column-values.d.cts +3 -3
  434. package/dist/feature-three-column-values.d.ts +3 -3
  435. package/dist/feature-utility-cards-grid.d.cts +3 -3
  436. package/dist/feature-utility-cards-grid.d.ts +3 -3
  437. package/dist/footer-accordion-social.d.cts +3 -3
  438. package/dist/footer-accordion-social.d.ts +3 -3
  439. package/dist/footer-animated-social.d.cts +3 -3
  440. package/dist/footer-animated-social.d.ts +3 -3
  441. package/dist/footer-background-card.d.cts +3 -3
  442. package/dist/footer-background-card.d.ts +3 -3
  443. package/dist/footer-brand-description.d.cts +3 -3
  444. package/dist/footer-brand-description.d.ts +3 -3
  445. package/dist/footer-brand-links-contact.d.cts +3 -3
  446. package/dist/footer-brand-links-contact.d.ts +3 -3
  447. package/dist/footer-comprehensive-links.d.cts +3 -3
  448. package/dist/footer-comprehensive-links.d.ts +3 -3
  449. package/dist/footer-contact-card.d.cts +3 -3
  450. package/dist/footer-contact-card.d.ts +3 -3
  451. package/dist/footer-cta-banner.d.cts +3 -3
  452. package/dist/footer-cta-banner.d.ts +3 -3
  453. package/dist/footer-cta-social.d.cts +3 -3
  454. package/dist/footer-cta-social.d.ts +3 -3
  455. package/dist/footer-info-cards-accordion.d.cts +3 -3
  456. package/dist/footer-info-cards-accordion.d.ts +3 -3
  457. package/dist/footer-links-grid.d.cts +3 -3
  458. package/dist/footer-links-grid.d.ts +3 -3
  459. package/dist/footer-nav-social.d.cts +3 -3
  460. package/dist/footer-nav-social.d.ts +3 -3
  461. package/dist/footer-newsletter-contact.d.cts +3 -3
  462. package/dist/footer-newsletter-contact.d.ts +3 -3
  463. package/dist/footer-newsletter-grid.d.cts +3 -3
  464. package/dist/footer-newsletter-grid.d.ts +3 -3
  465. package/dist/footer-newsletter-minimal.d.cts +3 -3
  466. package/dist/footer-newsletter-minimal.d.ts +3 -3
  467. package/dist/footer-simple-centered.d.cts +3 -3
  468. package/dist/footer-simple-centered.d.ts +3 -3
  469. package/dist/footer-social-apps.d.cts +3 -3
  470. package/dist/footer-social-apps.d.ts +3 -3
  471. package/dist/footer-social-newsletter.d.cts +3 -3
  472. package/dist/footer-social-newsletter.d.ts +3 -3
  473. package/dist/footer-split-image-accordion.d.cts +3 -3
  474. package/dist/footer-split-image-accordion.d.ts +3 -3
  475. package/dist/hero-ad-campaign-expert.d.cts +3 -3
  476. package/dist/hero-ad-campaign-expert.d.ts +3 -3
  477. package/dist/hero-adaptable-product-grid.d.cts +3 -3
  478. package/dist/hero-adaptable-product-grid.d.ts +3 -3
  479. package/dist/hero-agency-animated-images.d.cts +3 -3
  480. package/dist/hero-agency-animated-images.d.ts +3 -3
  481. package/dist/hero-ai-powered-carousel.d.cts +3 -3
  482. package/dist/hero-ai-powered-carousel.d.ts +3 -3
  483. package/dist/hero-announcement-badge.d.cts +3 -3
  484. package/dist/hero-announcement-badge.d.ts +3 -3
  485. package/dist/hero-architecture-fullscreen.d.cts +3 -3
  486. package/dist/hero-architecture-fullscreen.d.ts +3 -3
  487. package/dist/hero-badge-image-split.d.cts +3 -3
  488. package/dist/hero-badge-image-split.d.ts +3 -3
  489. package/dist/hero-badge-shadow-overlay.d.cts +3 -3
  490. package/dist/hero-badge-shadow-overlay.d.ts +3 -3
  491. package/dist/hero-billing-platform-logos.d.cts +3 -3
  492. package/dist/hero-billing-platform-logos.d.ts +3 -3
  493. package/dist/hero-business-carousel-dots.d.cts +3 -3
  494. package/dist/hero-business-carousel-dots.d.ts +3 -3
  495. package/dist/hero-business-operations-mosaic.d.cts +3 -3
  496. package/dist/hero-business-operations-mosaic.d.ts +3 -3
  497. package/dist/hero-centered-gradient-cta.d.cts +3 -3
  498. package/dist/hero-centered-gradient-cta.d.ts +3 -3
  499. package/dist/hero-centered-image-grid.d.cts +3 -3
  500. package/dist/hero-centered-image-grid.d.ts +3 -3
  501. package/dist/hero-centered-screenshot.d.cts +3 -3
  502. package/dist/hero-centered-screenshot.d.ts +3 -3
  503. package/dist/hero-coming-soon-countdown.d.cts +3 -3
  504. package/dist/hero-coming-soon-countdown.d.ts +3 -3
  505. package/dist/hero-community-survey-cta.d.cts +3 -3
  506. package/dist/hero-community-survey-cta.d.ts +3 -3
  507. package/dist/hero-conversation-intelligence.d.cts +3 -3
  508. package/dist/hero-conversation-intelligence.d.ts +3 -3
  509. package/dist/hero-conversion-video-play.d.cts +3 -3
  510. package/dist/hero-conversion-video-play.d.ts +3 -3
  511. package/dist/hero-creative-studio-stacked.d.cts +4 -4
  512. package/dist/hero-creative-studio-stacked.d.ts +4 -4
  513. package/dist/hero-crm-streamlined.d.cts +3 -3
  514. package/dist/hero-crm-streamlined.d.ts +3 -3
  515. package/dist/hero-customer-support-layered.d.cts +3 -3
  516. package/dist/hero-customer-support-layered.d.ts +3 -3
  517. package/dist/hero-dashed-border-features.d.cts +3 -3
  518. package/dist/hero-dashed-border-features.d.ts +3 -3
  519. package/dist/hero-design-carousel-portfolio.d.cts +3 -3
  520. package/dist/hero-design-carousel-portfolio.d.ts +3 -3
  521. package/dist/hero-design-showcase-logos.d.cts +3 -3
  522. package/dist/hero-design-showcase-logos.d.ts +3 -3
  523. package/dist/hero-design-system-3d.d.cts +3 -3
  524. package/dist/hero-design-system-3d.d.ts +3 -3
  525. package/dist/hero-developer-tools-code.d.cts +3 -3
  526. package/dist/hero-developer-tools-code.d.ts +3 -3
  527. package/dist/hero-digital-agency-fullscreen.d.cts +3 -3
  528. package/dist/hero-digital-agency-fullscreen.d.ts +3 -3
  529. package/dist/hero-ecommerce-product-showcase.d.cts +3 -3
  530. package/dist/hero-ecommerce-product-showcase.d.ts +3 -3
  531. package/dist/hero-enterprise-security.d.cts +3 -3
  532. package/dist/hero-enterprise-security.d.ts +3 -3
  533. package/dist/hero-event-registration.d.cts +3 -3
  534. package/dist/hero-event-registration.d.ts +3 -3
  535. package/dist/hero-feature-cards-grid.d.cts +3 -3
  536. package/dist/hero-feature-cards-grid.d.ts +3 -3
  537. package/dist/hero-floating-images.d.cts +3 -3
  538. package/dist/hero-floating-images.d.ts +3 -3
  539. package/dist/hero-fullscreen-background-image.d.cts +3 -3
  540. package/dist/hero-fullscreen-background-image.d.ts +3 -3
  541. package/dist/hero-fullscreen-logo-cta.d.cts +3 -3
  542. package/dist/hero-fullscreen-logo-cta.d.ts +3 -3
  543. package/dist/hero-gradient-avatars-rating.d.cts +3 -3
  544. package/dist/hero-gradient-avatars-rating.d.ts +3 -3
  545. package/dist/hero-gradient-client-focused.d.cts +3 -3
  546. package/dist/hero-gradient-client-focused.d.ts +3 -3
  547. package/dist/hero-grid-pattern-efficiency.d.cts +3 -3
  548. package/dist/hero-grid-pattern-efficiency.d.ts +3 -3
  549. package/dist/hero-grid-pattern-solutions.d.cts +3 -3
  550. package/dist/hero-grid-pattern-solutions.d.ts +3 -3
  551. package/dist/hero-hiring-animated-text.d.cts +3 -3
  552. package/dist/hero-hiring-animated-text.d.ts +3 -3
  553. package/dist/hero-image-left-content.d.cts +3 -3
  554. package/dist/hero-image-left-content.d.ts +3 -3
  555. package/dist/hero-image-slider.d.cts +3 -3
  556. package/dist/hero-image-slider.d.ts +3 -3
  557. package/dist/hero-innovation-image-grid.d.cts +3 -3
  558. package/dist/hero-innovation-image-grid.d.ts +3 -3
  559. package/dist/hero-logo-centered-screenshot.d.cts +3 -3
  560. package/dist/hero-logo-centered-screenshot.d.ts +3 -3
  561. package/dist/hero-marketplace-scattered-images.d.cts +3 -3
  562. package/dist/hero-marketplace-scattered-images.d.ts +3 -3
  563. package/dist/hero-mental-health-team.d.cts +3 -3
  564. package/dist/hero-mental-health-team.d.ts +3 -3
  565. package/dist/hero-mentorship-video-split.d.cts +3 -3
  566. package/dist/hero-mentorship-video-split.d.ts +3 -3
  567. package/dist/hero-minimal-centered-dark.d.cts +3 -3
  568. package/dist/hero-minimal-centered-dark.d.ts +3 -3
  569. package/dist/hero-mobile-app-download.d.cts +3 -3
  570. package/dist/hero-mobile-app-download.d.ts +3 -3
  571. package/dist/hero-newsletter-minimal.cjs +100 -571
  572. package/dist/hero-newsletter-minimal.d.cts +7 -27
  573. package/dist/hero-newsletter-minimal.d.ts +7 -27
  574. package/dist/hero-newsletter-minimal.js +102 -573
  575. package/dist/hero-overlay-cta-grid.d.cts +3 -3
  576. package/dist/hero-overlay-cta-grid.d.ts +3 -3
  577. package/dist/hero-pattern-badge-logos.d.cts +3 -3
  578. package/dist/hero-pattern-badge-logos.d.ts +3 -3
  579. package/dist/hero-pattern-logo-tech-stack.d.cts +3 -3
  580. package/dist/hero-pattern-logo-tech-stack.d.ts +3 -3
  581. package/dist/hero-platform-features-grid.d.cts +3 -3
  582. package/dist/hero-platform-features-grid.d.ts +3 -3
  583. package/dist/hero-portfolio-creative.d.cts +3 -3
  584. package/dist/hero-portfolio-creative.d.ts +3 -3
  585. package/dist/hero-premium-split-avatars.d.cts +3 -3
  586. package/dist/hero-premium-split-avatars.d.ts +3 -3
  587. package/dist/hero-presentation-platform-video.d.cts +3 -3
  588. package/dist/hero-presentation-platform-video.d.ts +3 -3
  589. package/dist/hero-pricing-comparison.d.cts +3 -3
  590. package/dist/hero-pricing-comparison.d.ts +3 -3
  591. package/dist/hero-product-showcase-floating.d.cts +3 -3
  592. package/dist/hero-product-showcase-floating.d.ts +3 -3
  593. package/dist/hero-productivity-launcher-video.d.cts +3 -3
  594. package/dist/hero-productivity-launcher-video.d.ts +3 -3
  595. package/dist/hero-saas-dashboard-preview.cjs +38 -38
  596. package/dist/hero-saas-dashboard-preview.d.cts +3 -3
  597. package/dist/hero-saas-dashboard-preview.d.ts +3 -3
  598. package/dist/hero-saas-dashboard-preview.js +38 -38
  599. package/dist/hero-shared-inbox-layered.d.cts +3 -3
  600. package/dist/hero-shared-inbox-layered.d.ts +3 -3
  601. package/dist/hero-simple-centered-image.d.cts +3 -3
  602. package/dist/hero-simple-centered-image.d.ts +3 -3
  603. package/dist/hero-software-growth-video-dialog.d.cts +3 -3
  604. package/dist/hero-software-growth-video-dialog.d.ts +3 -3
  605. package/dist/hero-spiral-pattern-cards.d.cts +3 -3
  606. package/dist/hero-spiral-pattern-cards.d.ts +3 -3
  607. package/dist/hero-split-geometric-shapes.d.cts +3 -3
  608. package/dist/hero-split-geometric-shapes.d.ts +3 -3
  609. package/dist/hero-split-icon-cards.d.cts +3 -3
  610. package/dist/hero-split-icon-cards.d.ts +3 -3
  611. package/dist/hero-split-image-newsletter.d.cts +3 -3
  612. package/dist/hero-split-image-newsletter.d.ts +3 -3
  613. package/dist/hero-split-spiral-shapes.d.cts +3 -3
  614. package/dist/hero-split-spiral-shapes.d.ts +3 -3
  615. package/dist/hero-startup-launch-cta.d.cts +3 -3
  616. package/dist/hero-startup-launch-cta.d.ts +3 -3
  617. package/dist/hero-stats-social-proof.d.cts +3 -3
  618. package/dist/hero-stats-social-proof.d.ts +3 -3
  619. package/dist/hero-task-timer-animated.d.cts +3 -3
  620. package/dist/hero-task-timer-animated.d.ts +3 -3
  621. package/dist/hero-tech-carousel.d.cts +3 -3
  622. package/dist/hero-tech-carousel.d.ts +3 -3
  623. package/dist/hero-testimonial-image-grid.d.cts +3 -3
  624. package/dist/hero-testimonial-image-grid.d.ts +3 -3
  625. package/dist/hero-therapy-testimonial-grid.d.cts +3 -3
  626. package/dist/hero-therapy-testimonial-grid.d.ts +3 -3
  627. package/dist/hero-ui-library-showcase.d.cts +3 -3
  628. package/dist/hero-ui-library-showcase.d.ts +3 -3
  629. package/dist/hero-video-background-dark.d.cts +3 -3
  630. package/dist/hero-video-background-dark.d.ts +3 -3
  631. package/dist/{hero-video-dialog-gradient-B__37IMI.d.ts → hero-video-dialog-gradient-DMaEfOfw.d.ts} +2 -2
  632. package/dist/{hero-video-dialog-gradient-6epEKovM.d.cts → hero-video-dialog-gradient-Si7mukH7.d.cts} +2 -2
  633. package/dist/hero-video-dialog-gradient.d.cts +4 -4
  634. package/dist/hero-video-dialog-gradient.d.ts +4 -4
  635. package/dist/hero-video-overlay-stars.d.cts +3 -3
  636. package/dist/hero-video-overlay-stars.d.ts +3 -3
  637. package/dist/hero-welcome-asymmetric-images.d.cts +3 -3
  638. package/dist/hero-welcome-asymmetric-images.d.ts +3 -3
  639. package/dist/image-slider.d.cts +2 -2
  640. package/dist/image-slider.d.ts +2 -2
  641. package/dist/index.d.cts +3 -3
  642. package/dist/index.d.ts +3 -3
  643. package/dist/industries-badge-list-bordered.d.cts +3 -3
  644. package/dist/industries-badge-list-bordered.d.ts +3 -3
  645. package/dist/industries-expandable-showcase.d.cts +3 -3
  646. package/dist/industries-expandable-showcase.d.ts +3 -3
  647. package/dist/industries-hover-reveal-grid.d.cts +3 -3
  648. package/dist/industries-hover-reveal-grid.d.ts +3 -3
  649. package/dist/industries-timeline-table.d.cts +3 -3
  650. package/dist/industries-timeline-table.d.ts +3 -3
  651. package/dist/interior-carousel.d.cts +3 -3
  652. package/dist/interior-carousel.d.ts +3 -3
  653. package/dist/link-page-bento-layout.d.cts +3 -3
  654. package/dist/link-page-bento-layout.d.ts +3 -3
  655. package/dist/link-page-grid-cards.d.cts +3 -3
  656. package/dist/link-page-grid-cards.d.ts +3 -3
  657. package/dist/link-page-minimal-profile.d.cts +3 -3
  658. package/dist/link-page-minimal-profile.d.ts +3 -3
  659. package/dist/link-page-newsletter-social.d.cts +3 -3
  660. package/dist/link-page-newsletter-social.d.ts +3 -3
  661. package/dist/link-tree-block.d.cts +3 -3
  662. package/dist/link-tree-block.d.ts +3 -3
  663. package/dist/list-achievements-showcase.d.cts +3 -3
  664. package/dist/list-achievements-showcase.d.ts +3 -3
  665. package/dist/list-career-timeline.d.cts +3 -3
  666. package/dist/list-career-timeline.d.ts +3 -3
  667. package/dist/list-feature-comparison.d.cts +3 -3
  668. package/dist/list-feature-comparison.d.ts +3 -3
  669. package/dist/list-metrics-dashboard.d.cts +3 -3
  670. package/dist/list-metrics-dashboard.d.ts +3 -3
  671. package/dist/list-searchable-grid.d.cts +3 -3
  672. package/dist/list-searchable-grid.d.ts +3 -3
  673. package/dist/list-service-category-table.d.cts +3 -3
  674. package/dist/list-service-category-table.d.ts +3 -3
  675. package/dist/logos-carousel-heading.d.cts +3 -3
  676. package/dist/logos-carousel-heading.d.ts +3 -3
  677. package/dist/logos-centered-simple.d.cts +3 -3
  678. package/dist/logos-centered-simple.d.ts +3 -3
  679. package/dist/logos-certifications-grid.d.cts +3 -3
  680. package/dist/logos-certifications-grid.d.ts +3 -3
  681. package/dist/logos-double-carousel-pattern.d.cts +3 -3
  682. package/dist/logos-double-carousel-pattern.d.ts +3 -3
  683. package/dist/logos-inline-tagline.d.cts +3 -3
  684. package/dist/logos-inline-tagline.d.ts +3 -3
  685. package/dist/logos-marquee-muted.d.cts +3 -3
  686. package/dist/logos-marquee-muted.d.ts +3 -3
  687. package/dist/logos-minimal-carousel.d.cts +3 -3
  688. package/dist/logos-minimal-carousel.d.ts +3 -3
  689. package/dist/logos-numbered-carousel.d.cts +3 -3
  690. package/dist/logos-numbered-carousel.d.ts +3 -3
  691. package/dist/logos-partner-grid-sidebar.d.cts +3 -3
  692. package/dist/logos-partner-grid-sidebar.d.ts +3 -3
  693. package/dist/logos-partner-network.d.cts +3 -3
  694. package/dist/logos-partner-network.d.ts +3 -3
  695. package/dist/logos-two-row-grid.d.cts +3 -3
  696. package/dist/logos-two-row-grid.d.ts +3 -3
  697. package/dist/masonry-motion-grid.d.cts +3 -3
  698. package/dist/masonry-motion-grid.d.ts +3 -3
  699. package/dist/media-hover-ctas.d.cts +3 -3
  700. package/dist/media-hover-ctas.d.ts +3 -3
  701. package/dist/navbar-animated-preview.d.cts +3 -3
  702. package/dist/navbar-animated-preview.d.ts +3 -3
  703. package/dist/navbar-centered-menu.d.cts +3 -3
  704. package/dist/navbar-centered-menu.d.ts +3 -3
  705. package/dist/navbar-dark-icons.d.cts +3 -3
  706. package/dist/navbar-dark-icons.d.ts +3 -3
  707. package/dist/navbar-dropdown-menu.d.cts +3 -3
  708. package/dist/navbar-dropdown-menu.d.ts +3 -3
  709. package/dist/navbar-education-platform.d.cts +3 -3
  710. package/dist/navbar-education-platform.d.ts +3 -3
  711. package/dist/navbar-enterprise-mega.d.cts +3 -3
  712. package/dist/navbar-enterprise-mega.d.ts +3 -3
  713. package/dist/navbar-feature-grid.d.cts +3 -3
  714. package/dist/navbar-feature-grid.d.ts +3 -3
  715. package/dist/navbar-floating-pill.d.cts +3 -3
  716. package/dist/navbar-floating-pill.d.ts +3 -3
  717. package/dist/navbar-fullscreen-menu.d.cts +3 -3
  718. package/dist/navbar-fullscreen-menu.d.ts +3 -3
  719. package/dist/navbar-icon-links.d.cts +3 -3
  720. package/dist/navbar-icon-links.d.ts +3 -3
  721. package/dist/navbar-image-preview.d.cts +3 -3
  722. package/dist/navbar-image-preview.d.ts +3 -3
  723. package/dist/navbar-mega-menu.d.cts +3 -3
  724. package/dist/navbar-mega-menu.d.ts +3 -3
  725. package/dist/navbar-multi-column-groups.d.cts +3 -3
  726. package/dist/navbar-multi-column-groups.d.ts +3 -3
  727. package/dist/navbar-platform-resources.d.cts +3 -3
  728. package/dist/navbar-platform-resources.d.ts +3 -3
  729. package/dist/navbar-search-focused.d.cts +3 -3
  730. package/dist/navbar-search-focused.d.ts +3 -3
  731. package/dist/navbar-sidebar-mobile.d.cts +3 -3
  732. package/dist/navbar-sidebar-mobile.d.ts +3 -3
  733. package/dist/navbar-simple-links.d.cts +3 -3
  734. package/dist/navbar-simple-links.d.ts +3 -3
  735. package/dist/navbar-split-cta.d.cts +3 -3
  736. package/dist/navbar-split-cta.d.ts +3 -3
  737. package/dist/navbar-sticky-compact.d.cts +3 -3
  738. package/dist/navbar-sticky-compact.d.ts +3 -3
  739. package/dist/navbar-tabbed-sections.d.cts +3 -3
  740. package/dist/navbar-tabbed-sections.d.ts +3 -3
  741. package/dist/navbar-transparent-overlay.d.cts +3 -3
  742. package/dist/navbar-transparent-overlay.d.ts +3 -3
  743. package/dist/offer-modal-membership-image.d.cts +3 -3
  744. package/dist/offer-modal-membership-image.d.ts +3 -3
  745. package/dist/offer-modal-newsletter-discount.d.cts +3 -3
  746. package/dist/offer-modal-newsletter-discount.d.ts +3 -3
  747. package/dist/offer-modal-sheet-newsletter.d.cts +3 -3
  748. package/dist/offer-modal-sheet-newsletter.d.ts +3 -3
  749. package/dist/page-hero-banner.d.cts +3 -3
  750. package/dist/page-hero-banner.d.ts +3 -3
  751. package/dist/pressable.d.cts +2 -2
  752. package/dist/pressable.d.ts +2 -2
  753. package/dist/pricing-addons-cards.d.cts +3 -3
  754. package/dist/pricing-addons-cards.d.ts +3 -3
  755. package/dist/pricing-addons-featured.d.cts +3 -3
  756. package/dist/pricing-addons-featured.d.ts +3 -3
  757. package/dist/pricing-collapsible-plans.d.cts +3 -3
  758. package/dist/pricing-collapsible-plans.d.ts +3 -3
  759. package/dist/pricing-columns-toggle.d.cts +3 -3
  760. package/dist/pricing-columns-toggle.d.ts +3 -3
  761. package/dist/pricing-comparison-headers.d.cts +3 -3
  762. package/dist/pricing-comparison-headers.d.ts +3 -3
  763. package/dist/pricing-comparison-table.d.cts +3 -3
  764. package/dist/pricing-comparison-table.d.ts +3 -3
  765. package/dist/pricing-discount-card.d.cts +3 -3
  766. package/dist/pricing-discount-card.d.ts +3 -3
  767. package/dist/pricing-enterprise-contact.d.cts +3 -3
  768. package/dist/pricing-enterprise-contact.d.ts +3 -3
  769. package/dist/pricing-feature-matrix.d.cts +3 -3
  770. package/dist/pricing-feature-matrix.d.ts +3 -3
  771. package/dist/pricing-four-tier-toggle.d.cts +3 -3
  772. package/dist/pricing-four-tier-toggle.d.ts +3 -3
  773. package/dist/pricing-full-comparison.d.cts +3 -3
  774. package/dist/pricing-full-comparison.d.ts +3 -3
  775. package/dist/pricing-gradient-cards.d.cts +3 -3
  776. package/dist/pricing-gradient-cards.d.ts +3 -3
  777. package/dist/pricing-icon-headers.d.cts +3 -3
  778. package/dist/pricing-icon-headers.d.ts +3 -3
  779. package/dist/pricing-minimal-cards.d.cts +3 -3
  780. package/dist/pricing-minimal-cards.d.ts +3 -3
  781. package/dist/pricing-packages-radio.d.cts +3 -3
  782. package/dist/pricing-packages-radio.d.ts +3 -3
  783. package/dist/pricing-popular-highlight.d.cts +3 -3
  784. package/dist/pricing-popular-highlight.d.ts +3 -3
  785. package/dist/pricing-radio-toggle.d.cts +3 -3
  786. package/dist/pricing-radio-toggle.d.ts +3 -3
  787. package/dist/pricing-responsive-table.d.cts +3 -3
  788. package/dist/pricing-responsive-table.d.ts +3 -3
  789. package/dist/pricing-services-cards.d.cts +3 -3
  790. package/dist/pricing-services-cards.d.ts +3 -3
  791. package/dist/pricing-simple-card.d.cts +3 -3
  792. package/dist/pricing-simple-card.d.ts +3 -3
  793. package/dist/pricing-single-card.d.cts +3 -3
  794. package/dist/pricing-single-card.d.ts +3 -3
  795. package/dist/pricing-split-layout.d.cts +3 -3
  796. package/dist/pricing-split-layout.d.ts +3 -3
  797. package/dist/pricing-spotlight-card.d.cts +3 -3
  798. package/dist/pricing-spotlight-card.d.ts +3 -3
  799. package/dist/pricing-switch-cards.d.cts +3 -3
  800. package/dist/pricing-switch-cards.d.ts +3 -3
  801. package/dist/pricing-tabs-toggle.d.cts +3 -3
  802. package/dist/pricing-tabs-toggle.d.ts +3 -3
  803. package/dist/pricing-tier-grid.d.cts +3 -3
  804. package/dist/pricing-tier-grid.d.ts +3 -3
  805. package/dist/pricing-toggle-cards.d.cts +3 -3
  806. package/dist/pricing-toggle-cards.d.ts +3 -3
  807. package/dist/pricing-toggle-period.d.cts +3 -3
  808. package/dist/pricing-toggle-period.d.ts +3 -3
  809. package/dist/pricing-two-column-basic.d.cts +3 -3
  810. package/dist/pricing-two-column-basic.d.ts +3 -3
  811. package/dist/process-expandable-timeline.d.cts +3 -3
  812. package/dist/process-expandable-timeline.d.ts +3 -3
  813. package/dist/process-hover-cards.d.cts +3 -3
  814. package/dist/process-hover-cards.d.ts +3 -3
  815. package/dist/process-icon-timeline.d.cts +3 -3
  816. package/dist/process-icon-timeline.d.ts +3 -3
  817. package/dist/process-mission-principles.d.cts +3 -3
  818. package/dist/process-mission-principles.d.ts +3 -3
  819. package/dist/process-numbered-services.d.cts +3 -3
  820. package/dist/process-numbered-services.d.ts +3 -3
  821. package/dist/process-roadmap-timeline.d.cts +3 -3
  822. package/dist/process-roadmap-timeline.d.ts +3 -3
  823. package/dist/process-scroll-image.d.cts +3 -3
  824. package/dist/process-scroll-image.d.ts +3 -3
  825. package/dist/process-steps-grid.d.cts +3 -3
  826. package/dist/process-steps-grid.d.ts +3 -3
  827. package/dist/process-sticky-steps.d.cts +3 -3
  828. package/dist/process-sticky-steps.d.ts +3 -3
  829. package/dist/project-alternating-motion.d.cts +3 -3
  830. package/dist/project-alternating-motion.d.ts +3 -3
  831. package/dist/project-background-reveal.d.cts +3 -3
  832. package/dist/project-background-reveal.d.ts +3 -3
  833. package/dist/project-card-overlay.d.cts +3 -3
  834. package/dist/project-card-overlay.d.ts +3 -3
  835. package/dist/project-carousel-cinematic.d.cts +3 -3
  836. package/dist/project-carousel-cinematic.d.ts +3 -3
  837. package/dist/project-carousel-detail-cards.d.cts +3 -3
  838. package/dist/project-carousel-detail-cards.d.ts +3 -3
  839. package/dist/project-carousel-minimal.d.cts +3 -3
  840. package/dist/project-carousel-minimal.d.ts +3 -3
  841. package/dist/project-detail-architecture-carousel.d.cts +3 -3
  842. package/dist/project-detail-architecture-carousel.d.ts +3 -3
  843. package/dist/project-detail-card-header.d.cts +3 -3
  844. package/dist/project-detail-card-header.d.ts +3 -3
  845. package/dist/project-detail-case-study-prose.d.cts +3 -3
  846. package/dist/project-detail-case-study-prose.d.ts +3 -3
  847. package/dist/project-detail-compact-metadata.d.cts +3 -3
  848. package/dist/project-detail-compact-metadata.d.ts +3 -3
  849. package/dist/project-detail-exhibition-sidebar.d.cts +3 -3
  850. package/dist/project-detail-exhibition-sidebar.d.ts +3 -3
  851. package/dist/project-detail-fashion-editorial.d.cts +3 -3
  852. package/dist/project-detail-fashion-editorial.d.ts +3 -3
  853. package/dist/project-detail-fullscreen-hero.d.cts +3 -3
  854. package/dist/project-detail-fullscreen-hero.d.ts +3 -3
  855. package/dist/project-detail-grid-gallery.d.cts +3 -3
  856. package/dist/project-detail-grid-gallery.d.ts +3 -3
  857. package/dist/project-detail-hero-metadata.d.cts +3 -3
  858. package/dist/project-detail-hero-metadata.d.ts +3 -3
  859. package/dist/project-detail-hover-gallery.d.cts +3 -3
  860. package/dist/project-detail-hover-gallery.d.ts +3 -3
  861. package/dist/project-detail-large-hero-featured.d.cts +3 -3
  862. package/dist/project-detail-large-hero-featured.d.ts +3 -3
  863. package/dist/project-detail-list-related.d.cts +3 -3
  864. package/dist/project-detail-list-related.d.ts +3 -3
  865. package/dist/project-detail-mask-reveal.d.cts +3 -3
  866. package/dist/project-detail-mask-reveal.d.ts +3 -3
  867. package/dist/project-detail-minimal-centered.d.cts +3 -3
  868. package/dist/project-detail-minimal-centered.d.ts +3 -3
  869. package/dist/project-detail-numbered-sections.d.cts +3 -3
  870. package/dist/project-detail-numbered-sections.d.ts +3 -3
  871. package/dist/project-detail-parallax-scroll.d.cts +3 -3
  872. package/dist/project-detail-parallax-scroll.d.ts +3 -3
  873. package/dist/project-detail-photography-breadcrumb.d.cts +3 -3
  874. package/dist/project-detail-photography-breadcrumb.d.ts +3 -3
  875. package/dist/project-detail-sculpture-showcase.d.cts +3 -3
  876. package/dist/project-detail-sculpture-showcase.d.ts +3 -3
  877. package/dist/project-detail-sidebar-navigation.d.cts +3 -3
  878. package/dist/project-detail-sidebar-navigation.d.ts +3 -3
  879. package/dist/project-detail-sidebar-sticky.d.cts +3 -3
  880. package/dist/project-detail-sidebar-sticky.d.ts +3 -3
  881. package/dist/project-detail-split-materials.d.cts +3 -3
  882. package/dist/project-detail-split-materials.d.ts +3 -3
  883. package/dist/project-detail-tabbed-case-study.d.cts +3 -3
  884. package/dist/project-detail-tabbed-case-study.d.ts +3 -3
  885. package/dist/project-experience-quote.d.cts +3 -3
  886. package/dist/project-experience-quote.d.ts +3 -3
  887. package/dist/project-featured-carousel.d.cts +3 -3
  888. package/dist/project-featured-carousel.d.ts +3 -3
  889. package/dist/project-filterable-gallery.d.cts +3 -3
  890. package/dist/project-filterable-gallery.d.ts +3 -3
  891. package/dist/project-filterable-three-column.d.cts +3 -3
  892. package/dist/project-filterable-three-column.d.ts +3 -3
  893. package/dist/project-grid-gallery.d.cts +3 -3
  894. package/dist/project-grid-gallery.d.ts +3 -3
  895. package/dist/project-grid-motion.d.cts +3 -3
  896. package/dist/project-grid-motion.d.ts +3 -3
  897. package/dist/project-horizontal-cards.d.cts +3 -3
  898. package/dist/project-horizontal-cards.d.ts +3 -3
  899. package/dist/project-hover-reveal-grid.d.cts +3 -3
  900. package/dist/project-hover-reveal-grid.d.ts +3 -3
  901. package/dist/project-interactive-hover-reveal.d.cts +3 -3
  902. package/dist/project-interactive-hover-reveal.d.ts +3 -3
  903. package/dist/project-masonry-columns.d.cts +3 -3
  904. package/dist/project-masonry-columns.d.ts +3 -3
  905. package/dist/project-nature-mosaic.d.cts +3 -3
  906. package/dist/project-nature-mosaic.d.ts +3 -3
  907. package/dist/project-scroll-reveal.d.cts +3 -3
  908. package/dist/project-scroll-reveal.d.ts +3 -3
  909. package/dist/project-showcase-alternating.d.cts +3 -3
  910. package/dist/project-showcase-alternating.d.ts +3 -3
  911. package/dist/project-sticky-scroll.d.cts +3 -3
  912. package/dist/project-sticky-scroll.d.ts +3 -3
  913. package/dist/project-studio-hover-preview.d.cts +3 -3
  914. package/dist/project-studio-hover-preview.d.ts +3 -3
  915. package/dist/project-table-list.d.cts +3 -3
  916. package/dist/project-table-list.d.ts +3 -3
  917. package/dist/project-video-carousel.d.cts +3 -3
  918. package/dist/project-video-carousel.d.ts +3 -3
  919. package/dist/project-video-hover-bento.d.cts +3 -3
  920. package/dist/project-video-hover-bento.d.ts +3 -3
  921. package/dist/project-video-hover-grid.d.cts +3 -3
  922. package/dist/project-video-hover-grid.d.ts +3 -3
  923. package/dist/project-video-hover-rounded.d.cts +3 -3
  924. package/dist/project-video-hover-rounded.d.ts +3 -3
  925. package/dist/project-video-hover-stack.d.cts +3 -3
  926. package/dist/project-video-hover-stack.d.ts +3 -3
  927. package/dist/project-video-hover-two-by-two.d.cts +3 -3
  928. package/dist/project-video-hover-two-by-two.d.ts +3 -3
  929. package/dist/project-work-showcase.d.cts +3 -3
  930. package/dist/project-work-showcase.d.ts +3 -3
  931. package/dist/project-zigzag-layout.d.cts +3 -3
  932. package/dist/project-zigzag-layout.d.ts +3 -3
  933. package/dist/registry.cjs +1874 -2085
  934. package/dist/registry.js +634 -845
  935. package/dist/resource-detail-article-hero.d.cts +3 -3
  936. package/dist/resource-detail-article-hero.d.ts +3 -3
  937. package/dist/resource-detail-document-sidebar.d.cts +3 -3
  938. package/dist/resource-detail-document-sidebar.d.ts +3 -3
  939. package/dist/resource-detail-whitepaper-sidebar.d.cts +3 -3
  940. package/dist/resource-detail-whitepaper-sidebar.d.ts +3 -3
  941. package/dist/resource-list-course-cards.d.cts +3 -3
  942. package/dist/resource-list-course-cards.d.ts +3 -3
  943. package/dist/resource-list-featured-articles.d.cts +3 -3
  944. package/dist/resource-list-featured-articles.d.ts +3 -3
  945. package/dist/resource-list-featured-grid.d.cts +3 -3
  946. package/dist/resource-list-featured-grid.d.ts +3 -3
  947. package/dist/resource-list-hero-filter.d.cts +2 -2
  948. package/dist/resource-list-hero-filter.d.ts +2 -2
  949. package/dist/resource-list-news-updates.d.cts +3 -3
  950. package/dist/resource-list-news-updates.d.ts +3 -3
  951. package/dist/section.d.cts +3 -3
  952. package/dist/section.d.ts +3 -3
  953. package/dist/service-detail-centered-expertise.d.cts +3 -3
  954. package/dist/service-detail-centered-expertise.d.ts +3 -3
  955. package/dist/service-detail-compact-cards.d.cts +3 -3
  956. package/dist/service-detail-compact-cards.d.ts +3 -3
  957. package/dist/service-detail-image-hero.d.cts +3 -3
  958. package/dist/service-detail-image-hero.d.ts +3 -3
  959. package/dist/service-detail-prose-minimal.d.cts +3 -3
  960. package/dist/service-detail-prose-minimal.d.ts +3 -3
  961. package/dist/service-detail-sidebar-related.d.cts +3 -3
  962. package/dist/service-detail-sidebar-related.d.ts +3 -3
  963. package/dist/service-detail-sidebar-stats.d.cts +3 -3
  964. package/dist/service-detail-sidebar-stats.d.ts +3 -3
  965. package/dist/service-detail-stats-hero.d.cts +3 -3
  966. package/dist/service-detail-stats-hero.d.ts +3 -3
  967. package/dist/service-hover-carousel.d.cts +3 -3
  968. package/dist/service-hover-carousel.d.ts +3 -3
  969. package/dist/services-list-accordion-benefits.d.cts +3 -3
  970. package/dist/services-list-accordion-benefits.d.ts +3 -3
  971. package/dist/services-list-accordion.d.cts +3 -3
  972. package/dist/services-list-accordion.d.ts +3 -3
  973. package/dist/services-list-cards-hover.d.cts +3 -3
  974. package/dist/services-list-cards-hover.d.ts +3 -3
  975. package/dist/services-list-category-accordion.d.cts +3 -3
  976. package/dist/services-list-category-accordion.d.ts +3 -3
  977. package/dist/services-list-centered-icons.d.cts +3 -3
  978. package/dist/services-list-centered-icons.d.ts +3 -3
  979. package/dist/services-list-culture-tabs.d.cts +3 -3
  980. package/dist/services-list-culture-tabs.d.ts +3 -3
  981. package/dist/services-list-expandable-cards.d.cts +3 -3
  982. package/dist/services-list-expandable-cards.d.ts +3 -3
  983. package/dist/services-list-feature-spotlight.d.cts +3 -3
  984. package/dist/services-list-feature-spotlight.d.ts +3 -3
  985. package/dist/services-list-featured-highlight.d.cts +3 -3
  986. package/dist/services-list-featured-highlight.d.ts +3 -3
  987. package/dist/services-list-hero-cards.d.cts +3 -3
  988. package/dist/services-list-hero-cards.d.ts +3 -3
  989. package/dist/services-list-icon-grid.d.cts +3 -3
  990. package/dist/services-list-icon-grid.d.ts +3 -3
  991. package/dist/services-list-image-cards.d.cts +3 -3
  992. package/dist/services-list-image-cards.d.ts +3 -3
  993. package/dist/services-list-image-overlay-grid.d.cts +3 -3
  994. package/dist/services-list-image-overlay-grid.d.ts +3 -3
  995. package/dist/services-list-masonry.d.cts +3 -3
  996. package/dist/services-list-masonry.d.ts +3 -3
  997. package/dist/services-list-methodology-steps.d.cts +3 -3
  998. package/dist/services-list-methodology-steps.d.ts +3 -3
  999. package/dist/services-list-minimal-grid.d.cts +3 -3
  1000. package/dist/services-list-minimal-grid.d.ts +3 -3
  1001. package/dist/services-list-muted-cards.d.cts +3 -3
  1002. package/dist/services-list-muted-cards.d.ts +3 -3
  1003. package/dist/services-list-numbered-steps.d.cts +3 -3
  1004. package/dist/services-list-numbered-steps.d.ts +3 -3
  1005. package/dist/services-list-pricing-grid.d.cts +3 -3
  1006. package/dist/services-list-pricing-grid.d.ts +3 -3
  1007. package/dist/services-list-progress-sidebar.d.cts +3 -3
  1008. package/dist/services-list-progress-sidebar.d.ts +3 -3
  1009. package/dist/services-list-split-checklist.d.cts +3 -3
  1010. package/dist/services-list-split-checklist.d.ts +3 -3
  1011. package/dist/services-list-sticky-image.d.cts +3 -3
  1012. package/dist/services-list-sticky-image.d.ts +3 -3
  1013. package/dist/services-list-table-hover.d.cts +3 -3
  1014. package/dist/services-list-table-hover.d.ts +3 -3
  1015. package/dist/services-list-tabs-features.d.cts +3 -3
  1016. package/dist/services-list-tabs-features.d.ts +3 -3
  1017. package/dist/services-list-timeline.d.cts +3 -3
  1018. package/dist/services-list-timeline.d.ts +3 -3
  1019. package/dist/services-list-two-column-grid.d.cts +3 -3
  1020. package/dist/services-list-two-column-grid.d.ts +3 -3
  1021. package/dist/services-list-vertical-tags.d.cts +3 -3
  1022. package/dist/services-list-vertical-tags.d.ts +3 -3
  1023. package/dist/services-list-video-showcase.d.cts +3 -3
  1024. package/dist/services-list-video-showcase.d.ts +3 -3
  1025. package/dist/social-link-icon.d.cts +2 -2
  1026. package/dist/social-link-icon.d.ts +2 -2
  1027. package/dist/stats-animated-counter.d.cts +3 -3
  1028. package/dist/stats-animated-counter.d.ts +3 -3
  1029. package/dist/stats-bar-comparison.d.cts +3 -3
  1030. package/dist/stats-bar-comparison.d.ts +3 -3
  1031. package/dist/stats-card-group.d.cts +3 -3
  1032. package/dist/stats-card-group.d.ts +3 -3
  1033. package/dist/stats-circular-progress.d.cts +3 -3
  1034. package/dist/stats-circular-progress.d.ts +3 -3
  1035. package/dist/stats-growth-timeline.d.cts +3 -3
  1036. package/dist/stats-growth-timeline.d.ts +3 -3
  1037. package/dist/stats-icon-cards.d.cts +3 -3
  1038. package/dist/stats-icon-cards.d.ts +3 -3
  1039. package/dist/stats-impact-grid.d.cts +3 -3
  1040. package/dist/stats-impact-grid.d.ts +3 -3
  1041. package/dist/stats-milestone-sidebar.d.cts +3 -3
  1042. package/dist/stats-milestone-sidebar.d.ts +3 -3
  1043. package/dist/stats-number-ticker.d.cts +3 -3
  1044. package/dist/stats-number-ticker.d.ts +3 -3
  1045. package/dist/stats-primary-secondary.d.cts +3 -3
  1046. package/dist/stats-primary-secondary.d.ts +3 -3
  1047. package/dist/stats-simple-grid.d.cts +3 -3
  1048. package/dist/stats-simple-grid.d.ts +3 -3
  1049. package/dist/stats-timeline-tabs.d.cts +3 -3
  1050. package/dist/stats-timeline-tabs.d.ts +3 -3
  1051. package/dist/team-alternating-bios.d.cts +3 -3
  1052. package/dist/team-alternating-bios.d.ts +3 -3
  1053. package/dist/team-avatar-social.d.cts +3 -3
  1054. package/dist/team-avatar-social.d.ts +3 -3
  1055. package/dist/team-bio-badges.d.cts +3 -3
  1056. package/dist/team-bio-badges.d.ts +3 -3
  1057. package/dist/team-carousel-experience.d.cts +3 -3
  1058. package/dist/team-carousel-experience.d.ts +3 -3
  1059. package/dist/team-compact-cta.d.cts +3 -3
  1060. package/dist/team-compact-cta.d.ts +3 -3
  1061. package/dist/team-compact-grid.d.cts +3 -3
  1062. package/dist/team-compact-grid.d.ts +3 -3
  1063. package/dist/team-contact-cards.d.cts +3 -3
  1064. package/dist/team-contact-cards.d.ts +3 -3
  1065. package/dist/team-department-sections.d.cts +3 -3
  1066. package/dist/team-department-sections.d.ts +3 -3
  1067. package/dist/team-expertise-cards.d.cts +3 -3
  1068. package/dist/team-expertise-cards.d.ts +3 -3
  1069. package/dist/team-filterable-search.d.cts +3 -3
  1070. package/dist/team-filterable-search.d.ts +3 -3
  1071. package/dist/team-gradient-cards.d.cts +3 -3
  1072. package/dist/team-gradient-cards.d.ts +3 -3
  1073. package/dist/team-grid-animated.d.cts +3 -3
  1074. package/dist/team-grid-animated.d.ts +3 -3
  1075. package/dist/team-hover-highlight.d.cts +3 -3
  1076. package/dist/team-hover-highlight.d.ts +3 -3
  1077. package/dist/team-hover-overlay.d.cts +3 -3
  1078. package/dist/team-hover-overlay.d.ts +3 -3
  1079. package/dist/team-investor-showcase.d.cts +3 -3
  1080. package/dist/team-investor-showcase.d.ts +3 -3
  1081. package/dist/team-large-images.d.cts +3 -3
  1082. package/dist/team-large-images.d.ts +3 -3
  1083. package/dist/team-media-showcase.d.cts +3 -3
  1084. package/dist/team-media-showcase.d.ts +3 -3
  1085. package/dist/team-role-filter.d.cts +3 -3
  1086. package/dist/team-role-filter.d.ts +3 -3
  1087. package/dist/team-simple-grid.d.cts +3 -3
  1088. package/dist/team-simple-grid.d.ts +3 -3
  1089. package/dist/team-skill-badges.d.cts +3 -3
  1090. package/dist/team-skill-badges.d.ts +3 -3
  1091. package/dist/team-social-cards.d.cts +3 -3
  1092. package/dist/team-social-cards.d.ts +3 -3
  1093. package/dist/team-social-grid.d.cts +3 -3
  1094. package/dist/team-social-grid.d.ts +3 -3
  1095. package/dist/team-testimonial-stats.d.cts +3 -3
  1096. package/dist/team-testimonial-stats.d.ts +3 -3
  1097. package/dist/testimonial-carousel-cards.d.cts +3 -3
  1098. package/dist/testimonial-carousel-cards.d.ts +3 -3
  1099. package/dist/testimonials-animated-split.d.cts +3 -3
  1100. package/dist/testimonials-animated-split.d.ts +3 -3
  1101. package/dist/testimonials-bento-grid.d.cts +3 -3
  1102. package/dist/testimonials-bento-grid.d.ts +3 -3
  1103. package/dist/testimonials-carousel-image.d.cts +3 -3
  1104. package/dist/testimonials-carousel-image.d.ts +3 -3
  1105. package/dist/testimonials-centered-avatars.d.cts +3 -3
  1106. package/dist/testimonials-centered-avatars.d.ts +3 -3
  1107. package/dist/testimonials-company-logo.d.cts +3 -3
  1108. package/dist/testimonials-company-logo.d.ts +3 -3
  1109. package/dist/testimonials-grid-add-review.d.cts +3 -3
  1110. package/dist/testimonials-grid-add-review.d.ts +3 -3
  1111. package/dist/testimonials-images-helpful.d.cts +3 -3
  1112. package/dist/testimonials-images-helpful.d.ts +3 -3
  1113. package/dist/testimonials-large-quote.d.cts +3 -3
  1114. package/dist/testimonials-large-quote.d.ts +3 -3
  1115. package/dist/testimonials-list-verified.d.cts +3 -3
  1116. package/dist/testimonials-list-verified.d.ts +3 -3
  1117. package/dist/testimonials-logo-cards.d.cts +3 -3
  1118. package/dist/testimonials-logo-cards.d.ts +3 -3
  1119. package/dist/testimonials-marquee.d.cts +3 -3
  1120. package/dist/testimonials-marquee.d.ts +3 -3
  1121. package/dist/testimonials-masonry-grid.d.cts +3 -3
  1122. package/dist/testimonials-masonry-grid.d.ts +3 -3
  1123. package/dist/testimonials-mini-dividers.d.cts +3 -3
  1124. package/dist/testimonials-mini-dividers.d.ts +3 -3
  1125. package/dist/testimonials-minimal-numbered.d.cts +3 -3
  1126. package/dist/testimonials-minimal-numbered.d.ts +3 -3
  1127. package/dist/testimonials-parallax-number.d.cts +3 -3
  1128. package/dist/testimonials-parallax-number.d.ts +3 -3
  1129. package/dist/testimonials-quote-carousel.d.cts +3 -3
  1130. package/dist/testimonials-quote-carousel.d.ts +3 -3
  1131. package/dist/testimonials-scrolling-columns.d.cts +3 -3
  1132. package/dist/testimonials-scrolling-columns.d.ts +3 -3
  1133. package/dist/testimonials-simple-grid.d.cts +3 -3
  1134. package/dist/testimonials-simple-grid.d.ts +3 -3
  1135. package/dist/testimonials-slider-minimal.d.cts +3 -3
  1136. package/dist/testimonials-slider-minimal.d.ts +3 -3
  1137. package/dist/testimonials-split-image.d.cts +3 -3
  1138. package/dist/testimonials-split-image.d.ts +3 -3
  1139. package/dist/testimonials-stats-header.d.cts +3 -3
  1140. package/dist/testimonials-stats-header.d.ts +3 -3
  1141. package/dist/testimonials-twitter-cards.d.cts +3 -3
  1142. package/dist/testimonials-twitter-cards.d.ts +3 -3
  1143. package/dist/testimonials-wall-compact.d.cts +3 -3
  1144. package/dist/testimonials-wall-compact.d.ts +3 -3
  1145. package/dist/timeline-ai-workflow-cards.d.cts +3 -3
  1146. package/dist/timeline-ai-workflow-cards.d.ts +3 -3
  1147. package/dist/timeline-alternating-diagonal.d.cts +3 -3
  1148. package/dist/timeline-alternating-diagonal.d.ts +3 -3
  1149. package/dist/timeline-changelog-badges.d.cts +3 -3
  1150. package/dist/timeline-changelog-badges.d.ts +3 -3
  1151. package/dist/timeline-history-prose.d.cts +3 -3
  1152. package/dist/timeline-history-prose.d.ts +3 -3
  1153. package/dist/timeline-horizontal-icons.d.cts +3 -3
  1154. package/dist/timeline-horizontal-icons.d.ts +3 -3
  1155. package/dist/timeline-horizontal-phases.d.cts +3 -3
  1156. package/dist/timeline-horizontal-phases.d.ts +3 -3
  1157. package/dist/timeline-product-launch.d.cts +3 -3
  1158. package/dist/timeline-product-launch.d.ts +3 -3
  1159. package/dist/timeline-productivity-list.d.cts +3 -3
  1160. package/dist/timeline-productivity-list.d.ts +3 -3
  1161. package/dist/timeline-scroll-highlight.d.cts +3 -3
  1162. package/dist/timeline-scroll-highlight.d.ts +3 -3
  1163. package/dist/timeline-scroll-sticky-image.d.cts +3 -3
  1164. package/dist/timeline-scroll-sticky-image.d.ts +3 -3
  1165. package/dist/timeline-stepper-animated.d.cts +3 -3
  1166. package/dist/timeline-stepper-animated.d.ts +3 -3
  1167. package/dist/timeline-tabbed-phases.d.cts +3 -3
  1168. package/dist/timeline-tabbed-phases.d.ts +3 -3
  1169. package/dist/timeline-two-column-featured.d.cts +3 -3
  1170. package/dist/timeline-two-column-featured.d.ts +3 -3
  1171. package/dist/timeline-vertical-icon-dashed.d.cts +3 -3
  1172. package/dist/timeline-vertical-icon-dashed.d.ts +3 -3
  1173. package/dist/types.d.cts +3 -3
  1174. package/dist/types.d.ts +3 -3
  1175. package/dist/utils.d.cts +3 -3
  1176. package/dist/utils.d.ts +3 -3
  1177. package/package.json +2 -2
package/dist/registry.js CHANGED
@@ -1,5 +1,5 @@
1
- import * as React23 from 'react';
2
- import React23__default, { Fragment, createContext, useMemo, forwardRef, useCallback, useState, useRef, useEffect, startTransition, useContext } from 'react';
1
+ import * as React25 from 'react';
2
+ import React25__default, { Fragment, createContext, useMemo, forwardRef, useCallback, useState, useRef, useEffect, startTransition, useContext } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
@@ -12,7 +12,7 @@ import * as PopoverPrimitive from '@radix-ui/react-popover';
12
12
  import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
13
13
  import * as TabsPrimitive from '@radix-ui/react-tabs';
14
14
  import { Form, useForm, Field } from '@page-speed/forms';
15
- import { useFileUpload, useContactForm, DynamicFormField, submitPageSpeedForm, PageSpeedFormSubmissionError, isValidEmail, getColumnSpanClass } from '@page-speed/forms/integration';
15
+ import { useFileUpload, useContactForm, DynamicFormField, submitPageSpeedForm, PageSpeedFormSubmissionError, isValidEmail, getColumnSpanClass, FormEngine } from '@page-speed/forms/integration';
16
16
  import { AnimatePresence, motion, useMotionValue, useMotionTemplate, useSpring, useTransform, useInView, useScroll, useMotionValueEvent } from 'framer-motion';
17
17
  import { TextInput as TextInput$1 } from '@page-speed/forms/inputs';
18
18
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
@@ -140,7 +140,7 @@ var maxWidthStyles = {
140
140
  "4xl": "max-w-[1536px]",
141
141
  full: "max-w-full"
142
142
  };
143
- var Container = React23__default.forwardRef(
143
+ var Container = React25__default.forwardRef(
144
144
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
145
145
  const Component = as;
146
146
  return /* @__PURE__ */ jsx(
@@ -445,7 +445,7 @@ var spacingStyles = {
445
445
  };
446
446
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl"];
447
447
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
448
- var Section = React23__default.forwardRef(
448
+ var Section = React25__default.forwardRef(
449
449
  ({
450
450
  id,
451
451
  title,
@@ -1035,7 +1035,7 @@ function useNavigation({
1035
1035
  href,
1036
1036
  onClick
1037
1037
  } = {}) {
1038
- const linkType = React23.useMemo(() => {
1038
+ const linkType = React25.useMemo(() => {
1039
1039
  if (!href || href.trim() === "") {
1040
1040
  return onClick ? "none" : "none";
1041
1041
  }
@@ -1056,7 +1056,7 @@ function useNavigation({
1056
1056
  return "internal";
1057
1057
  }
1058
1058
  }, [href, onClick]);
1059
- const normalizedHref = React23.useMemo(() => {
1059
+ const normalizedHref = React25.useMemo(() => {
1060
1060
  if (!href || href.trim() === "") {
1061
1061
  return void 0;
1062
1062
  }
@@ -1074,7 +1074,7 @@ function useNavigation({
1074
1074
  return trimmed;
1075
1075
  }
1076
1076
  }, [href, linkType]);
1077
- const target = React23.useMemo(() => {
1077
+ const target = React25.useMemo(() => {
1078
1078
  switch (linkType) {
1079
1079
  case "external":
1080
1080
  return "_blank";
@@ -1087,7 +1087,7 @@ function useNavigation({
1087
1087
  return void 0;
1088
1088
  }
1089
1089
  }, [linkType]);
1090
- const rel = React23.useMemo(() => {
1090
+ const rel = React25.useMemo(() => {
1091
1091
  if (linkType === "external") {
1092
1092
  return "noopener noreferrer";
1093
1093
  }
@@ -1096,7 +1096,7 @@ function useNavigation({
1096
1096
  const isExternal = linkType === "external";
1097
1097
  const isInternal = linkType === "internal";
1098
1098
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
1099
- const handleClick = React23.useCallback(
1099
+ const handleClick = React25.useCallback(
1100
1100
  (event) => {
1101
1101
  if (onClick) {
1102
1102
  try {
@@ -1280,7 +1280,7 @@ var buttonVariants = cva(baseStyles, {
1280
1280
  size: "default"
1281
1281
  }
1282
1282
  });
1283
- var Pressable = React23.forwardRef(
1283
+ var Pressable = React25.forwardRef(
1284
1284
  ({
1285
1285
  children,
1286
1286
  className,
@@ -2328,10 +2328,10 @@ var ImageSlider = ({
2328
2328
  optixFlowConfig
2329
2329
  }) => {
2330
2330
  const hasImages = images.length > 0;
2331
- const [currentIndex, setCurrentIndex] = React23.useState(
2331
+ const [currentIndex, setCurrentIndex] = React25.useState(
2332
2332
  () => normalizeIndex(startIndex, images.length)
2333
2333
  );
2334
- const handleNext = React23.useCallback(() => {
2334
+ const handleNext = React25.useCallback(() => {
2335
2335
  if (!hasImages) return;
2336
2336
  setCurrentIndex((prevIndex) => {
2337
2337
  const nextIndex = prevIndex + 1 >= images.length ? 0 : prevIndex + 1;
@@ -2339,7 +2339,7 @@ var ImageSlider = ({
2339
2339
  return nextIndex;
2340
2340
  });
2341
2341
  }, [hasImages, images.length, onSlideChange]);
2342
- const handlePrevious = React23.useCallback(() => {
2342
+ const handlePrevious = React25.useCallback(() => {
2343
2343
  if (!hasImages) return;
2344
2344
  setCurrentIndex((prevIndex) => {
2345
2345
  const nextIndex = prevIndex - 1 < 0 ? images.length - 1 : prevIndex - 1;
@@ -2347,11 +2347,11 @@ var ImageSlider = ({
2347
2347
  return nextIndex;
2348
2348
  });
2349
2349
  }, [hasImages, images.length, onSlideChange]);
2350
- React23.useEffect(() => {
2350
+ React25.useEffect(() => {
2351
2351
  if (!hasImages) return;
2352
2352
  setCurrentIndex(normalizeIndex(startIndex, images.length));
2353
2353
  }, [startIndex, images.length, hasImages]);
2354
- React23.useEffect(() => {
2354
+ React25.useEffect(() => {
2355
2355
  if (!enableKeyboard || !hasImages) return;
2356
2356
  const handleKeyDown = (event) => {
2357
2357
  if (event.key === "ArrowRight") {
@@ -2365,7 +2365,7 @@ var ImageSlider = ({
2365
2365
  window.removeEventListener("keydown", handleKeyDown);
2366
2366
  };
2367
2367
  }, [enableKeyboard, handleNext, handlePrevious, hasImages]);
2368
- React23.useEffect(() => {
2368
+ React25.useEffect(() => {
2369
2369
  if (!autoplay || images.length < 2) return;
2370
2370
  const interval = window.setInterval(handleNext, autoplayIntervalMs);
2371
2371
  return () => window.clearInterval(interval);
@@ -2650,7 +2650,7 @@ var platformIconMap = {
2650
2650
  dribbble: "cib/dribbble",
2651
2651
  unknown: "icon-park-solid/circular-connection"
2652
2652
  };
2653
- var SocialLinkIcon = React23.forwardRef(
2653
+ var SocialLinkIcon = React25.forwardRef(
2654
2654
  ({
2655
2655
  platformName,
2656
2656
  label,
@@ -2663,13 +2663,13 @@ var SocialLinkIcon = React23.forwardRef(
2663
2663
  ...pressableProps
2664
2664
  }, ref) => {
2665
2665
  const platform = usePlatformFromUrl(href);
2666
- const smartPlatformName = React23.useMemo(() => {
2666
+ const smartPlatformName = React25.useMemo(() => {
2667
2667
  return platform || platformName;
2668
2668
  }, [platform, platformName]);
2669
- const iconName = React23.useMemo(() => {
2669
+ const iconName = React25.useMemo(() => {
2670
2670
  return iconNameOverride || platformIconMap[smartPlatformName];
2671
2671
  }, [iconNameOverride, smartPlatformName]);
2672
- const accessibleLabel = React23.useMemo(() => {
2672
+ const accessibleLabel = React25.useMemo(() => {
2673
2673
  return label || platformName;
2674
2674
  }, [label, platformName]);
2675
2675
  return /* @__PURE__ */ jsx(
@@ -3094,7 +3094,7 @@ function AboutExpandableValues({
3094
3094
  pattern,
3095
3095
  patternOpacity
3096
3096
  }) {
3097
- const [expandedValue, setExpandedValue] = React23.useState(null);
3097
+ const [expandedValue, setExpandedValue] = React25.useState(null);
3098
3098
  const toggleExpand = useCallback((id) => {
3099
3099
  setExpandedValue((prev) => prev === id ? null : id);
3100
3100
  }, []);
@@ -3348,7 +3348,7 @@ function CommunityInitiatives({
3348
3348
  pattern,
3349
3349
  patternOpacity
3350
3350
  }) {
3351
- const [activeCategory, setActiveCategory] = React23.useState(
3351
+ const [activeCategory, setActiveCategory] = React25.useState(
3352
3352
  categories?.[0]?.id || ""
3353
3353
  );
3354
3354
  const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
@@ -3621,7 +3621,7 @@ function AboutCultureTabs({
3621
3621
  patternOpacity
3622
3622
  }) {
3623
3623
  const resolvedAspects = aspects ?? [];
3624
- const [activeTab, setActiveTab] = React23.useState(resolvedAspects[0]?.id || "");
3624
+ const [activeTab, setActiveTab] = React25.useState(resolvedAspects[0]?.id || "");
3625
3625
  const actionsContent = useMemo(() => {
3626
3626
  if (actionsSlot) return actionsSlot;
3627
3627
  if (!actions || actions.length === 0) return null;
@@ -4434,8 +4434,8 @@ var BrandAttribution = ({
4434
4434
  }
4435
4435
  const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
4436
4436
  const ContainerEl = variant;
4437
- const [trackedHref, setTrackedHref] = React23.useState(href);
4438
- React23.useEffect(() => {
4437
+ const [trackedHref, setTrackedHref] = React25.useState(href);
4438
+ React25.useEffect(() => {
4439
4439
  setTrackedHref(buildTrackedHref(href));
4440
4440
  }, [href]);
4441
4441
  return /* @__PURE__ */ jsxs(ContainerEl, { className: containerClassName, children: [
@@ -4578,7 +4578,7 @@ function FooterSocialNewsletter({
4578
4578
  onError,
4579
4579
  uploadTokens
4580
4580
  });
4581
- const renderForm = React23.useMemo(() => {
4581
+ const renderForm = React25.useMemo(() => {
4582
4582
  if (formSlot) return formSlot;
4583
4583
  const defaultButtonAction = {
4584
4584
  label: "Subscribe",
@@ -4912,7 +4912,7 @@ function FooterSimpleCentered({
4912
4912
  ]);
4913
4913
  const bottomLinksContent = useMemo(() => {
4914
4914
  if (!bottomLinks || bottomLinks.length === 0) return null;
4915
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React23.Fragment, { children: /* @__PURE__ */ jsx(
4915
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React25.Fragment, { children: /* @__PURE__ */ jsx(
4916
4916
  Pressable,
4917
4917
  {
4918
4918
  href: link.href,
@@ -7537,7 +7537,7 @@ function AboutInteractiveTabs({
7537
7537
  pattern,
7538
7538
  patternOpacity
7539
7539
  }) {
7540
- const [activeTab, setActiveTab] = React23.useState(tabs?.[0]?.id ?? "");
7540
+ const [activeTab, setActiveTab] = React25.useState(tabs?.[0]?.id ?? "");
7541
7541
  const activeContent = useMemo(() => {
7542
7542
  return tabs?.find((tab) => tab.id === activeTab)?.content;
7543
7543
  }, [tabs, activeTab]);
@@ -11562,7 +11562,7 @@ function CtaVideoBackgroundHero({
11562
11562
  pattern,
11563
11563
  patternOpacity
11564
11564
  }) {
11565
- const [isModalOpen, setIsModalOpen] = React23.useState(false);
11565
+ const [isModalOpen, setIsModalOpen] = React25.useState(false);
11566
11566
  const handleOpenModal = () => {
11567
11567
  setIsModalOpen(true);
11568
11568
  onModalOpen?.();
@@ -11750,7 +11750,7 @@ function CtaWorkflowTabs({
11750
11750
  patternOpacity,
11751
11751
  optixFlowConfig
11752
11752
  }) {
11753
- const [activeTab, setActiveTab] = React23.useState(tabs?.[0]?.id || "");
11753
+ const [activeTab, setActiveTab] = React25.useState(tabs?.[0]?.id || "");
11754
11754
  const activeTabData = tabs?.find((tab) => tab.id === activeTab) || tabs?.[0];
11755
11755
  const actionsContent = useMemo(() => {
11756
11756
  if (actionsSlot) return actionsSlot;
@@ -12363,7 +12363,7 @@ function ContactFloatingBanner({
12363
12363
  pattern,
12364
12364
  patternOpacity
12365
12365
  }) {
12366
- const actionsContent = React23.useMemo(() => {
12366
+ const actionsContent = React25.useMemo(() => {
12367
12367
  if (actionsSlot) return actionsSlot;
12368
12368
  if (actions && actions.length > 0) {
12369
12369
  return actions.map((action, index) => {
@@ -12805,7 +12805,7 @@ function ContactCard({
12805
12805
  onSuccess,
12806
12806
  onError
12807
12807
  });
12808
- const actionsContent = React23.useMemo(() => {
12808
+ const actionsContent = React25.useMemo(() => {
12809
12809
  if (actionsSlot) return actionsSlot;
12810
12810
  if (actions && actions.length > 0) {
12811
12811
  return actions.map((action, index) => {
@@ -13397,7 +13397,7 @@ function ContactCatering({
13397
13397
  onSuccess,
13398
13398
  onError
13399
13399
  });
13400
- const actionsContent = React23.useMemo(() => {
13400
+ const actionsContent = React25.useMemo(() => {
13401
13401
  if (actionsSlot) return actionsSlot;
13402
13402
  if (actions && actions.length > 0) {
13403
13403
  return actions.map((action, index) => {
@@ -13641,7 +13641,7 @@ function ContactConsultation({
13641
13641
  onSuccess,
13642
13642
  onError
13643
13643
  });
13644
- const actionsContent = React23.useMemo(() => {
13644
+ const actionsContent = React25.useMemo(() => {
13645
13645
  if (actionsSlot) return actionsSlot;
13646
13646
  if (actions && actions.length > 0) {
13647
13647
  return actions.map((action, index) => {
@@ -13839,7 +13839,7 @@ function ContactDark({
13839
13839
  resetOnSuccess: formConfig?.resetOnSuccess !== false,
13840
13840
  uploadTokens
13841
13841
  });
13842
- const actionsContent = React23.useMemo(() => {
13842
+ const actionsContent = React25.useMemo(() => {
13843
13843
  if (actionsSlot) return actionsSlot;
13844
13844
  if (actions && actions.length > 0) {
13845
13845
  return actions.map((action, index) => {
@@ -13869,7 +13869,7 @@ function ContactDark({
13869
13869
  }
13870
13870
  return null;
13871
13871
  }, [actionsSlot, actions]);
13872
- const contactOptionsContent = React23.useMemo(() => {
13872
+ const contactOptionsContent = React25.useMemo(() => {
13873
13873
  if (contactOptionsSlot) return contactOptionsSlot;
13874
13874
  if (contactOptions && contactOptions.length > 0) {
13875
13875
  return contactOptions.map((option, key) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
@@ -13893,7 +13893,7 @@ function ContactDark({
13893
13893
  }
13894
13894
  return null;
13895
13895
  }, [contactOptionsSlot, contactOptions]);
13896
- const socialLinksContent = React23.useMemo(() => {
13896
+ const socialLinksContent = React25.useMemo(() => {
13897
13897
  if (socialLinksSlot) return socialLinksSlot;
13898
13898
  if (socialLinks && socialLinks.length > 0) {
13899
13899
  return socialLinks.map((social, key) => /* @__PURE__ */ jsx(
@@ -14847,6 +14847,14 @@ function AccordionContent({
14847
14847
  }
14848
14848
  );
14849
14849
  }
14850
+ var DEFAULT_STYLE_RULES = {
14851
+ formContainer: "",
14852
+ fieldsContainer: "",
14853
+ fieldClassName: "",
14854
+ formClassName: "space-y-6",
14855
+ successMessageClassName: "text-green-600 dark:text-green-400 mt-4 p-3 rounded-md bg-green-50 dark:bg-green-950/20",
14856
+ errorMessageClassName: "text-red-600 dark:text-red-400 mt-4 p-3 rounded-md bg-red-50 dark:bg-red-950/20"
14857
+ };
14850
14858
  var DEFAULT_FORM_FIELDS11 = [
14851
14859
  {
14852
14860
  name: "name",
@@ -14888,13 +14896,10 @@ function ContactFaq({
14888
14896
  formHeading,
14889
14897
  buttonText = "Submit",
14890
14898
  buttonIcon,
14891
- actions,
14892
- actionsSlot,
14893
14899
  items,
14894
14900
  itemsSlot,
14895
14901
  faqHeading,
14896
- formFields = DEFAULT_FORM_FIELDS11,
14897
- successMessage = "Thank you! Your message has been sent successfully.",
14902
+ formEngineSetup,
14898
14903
  className,
14899
14904
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
14900
14905
  headerClassName,
@@ -14903,8 +14908,6 @@ function ContactFaq({
14903
14908
  cardClassName,
14904
14909
  cardContentClassName,
14905
14910
  formHeadingClassName,
14906
- formClassName,
14907
- submitClassName,
14908
14911
  faqHeadingClassName,
14909
14912
  faqContainerClassName,
14910
14913
  accordionClassName,
@@ -14912,67 +14915,28 @@ function ContactFaq({
14912
14915
  accordionTriggerClassName,
14913
14916
  accordionContentClassName,
14914
14917
  gridClassName,
14915
- successMessageClassName,
14916
- errorMessageClassName,
14917
14918
  background,
14918
14919
  spacing = "py-8 md:py-32",
14919
14920
  pattern,
14920
- patternOpacity,
14921
- formConfig,
14922
- onSubmit,
14923
- onSuccess,
14924
- onError
14921
+ patternOpacity
14925
14922
  }) {
14926
- const {
14927
- uploadTokens,
14928
- uploadProgress,
14929
- isUploading,
14930
- uploadFiles,
14931
- removeFile,
14932
- resetUpload
14933
- } = useFileUpload({ onError });
14934
- const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
14935
- formFields,
14936
- formConfig,
14937
- onSubmit,
14938
- onSuccess: (data) => {
14939
- resetUpload();
14940
- onSuccess?.(data);
14941
- },
14942
- onError,
14943
- resetOnSuccess: formConfig?.resetOnSuccess !== false,
14944
- uploadTokens
14945
- });
14946
- const actionsContent = useMemo(() => {
14947
- if (actionsSlot) return actionsSlot;
14948
- if (actions && actions.length > 0) {
14949
- return actions.map((action, index) => {
14950
- const {
14951
- label,
14952
- icon,
14953
- iconAfter,
14954
- children,
14955
- className: actionClassName,
14956
- ...pressableProps
14957
- } = action;
14958
- return /* @__PURE__ */ jsx(
14959
- Pressable,
14960
- {
14961
- asButton: true,
14962
- className: actionClassName,
14963
- ...pressableProps,
14964
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
14965
- icon,
14966
- label,
14967
- iconAfter
14968
- ] })
14969
- },
14970
- index
14971
- );
14972
- });
14923
+ const formStyleRules = React25.useMemo(() => {
14924
+ return {
14925
+ formContainer: formEngineSetup?.formLayoutSettings?.styleRules?.formContainer ?? DEFAULT_STYLE_RULES.formContainer,
14926
+ fieldsContainer: formEngineSetup?.formLayoutSettings?.styleRules?.fieldsContainer ?? DEFAULT_STYLE_RULES.fieldsContainer,
14927
+ fieldClassName: formEngineSetup?.formLayoutSettings?.styleRules?.fieldClassName ?? DEFAULT_STYLE_RULES.fieldClassName,
14928
+ formClassName: formEngineSetup?.formLayoutSettings?.styleRules?.formClassName ?? DEFAULT_STYLE_RULES.formClassName,
14929
+ successMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.successMessageClassName ?? DEFAULT_STYLE_RULES.successMessageClassName,
14930
+ errorMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.errorMessageClassName ?? DEFAULT_STYLE_RULES.errorMessageClassName
14931
+ };
14932
+ }, [formEngineSetup?.formLayoutSettings?.styleRules]);
14933
+ const formFields = React25.useMemo(() => {
14934
+ if (formEngineSetup && formEngineSetup?.fields && formEngineSetup?.fields?.length > 0) {
14935
+ return formEngineSetup.fields;
14936
+ } else {
14937
+ return DEFAULT_FORM_FIELDS11;
14973
14938
  }
14974
- return null;
14975
- }, [actionsSlot, actions]);
14939
+ }, [formEngineSetup?.fields]);
14976
14940
  const hasFaqItems = itemsSlot || items && items.length > 0;
14977
14941
  const faqContent = useMemo(() => {
14978
14942
  if (itemsSlot) return itemsSlot;
@@ -15033,7 +14997,7 @@ function ContactFaq({
15033
14997
  ),
15034
14998
  children: heading
15035
14999
  }
15036
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
15000
+ ) : heading),
15037
15001
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
15038
15002
  "p",
15039
15003
  {
@@ -15043,7 +15007,7 @@ function ContactFaq({
15043
15007
  ),
15044
15008
  children: description
15045
15009
  }
15046
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
15010
+ ) : description)
15047
15011
  ]
15048
15012
  }
15049
15013
  ),
@@ -15067,64 +15031,25 @@ function ContactFaq({
15067
15031
  children: formHeading
15068
15032
  }
15069
15033
  ) : /* @__PURE__ */ jsx("div", { className: formHeadingClassName, children: formHeading })),
15070
- /* @__PURE__ */ jsxs(
15071
- Form,
15034
+ formEngineSetup ? /* @__PURE__ */ jsx(
15035
+ FormEngine,
15072
15036
  {
15073
- form,
15074
- notificationConfig: {
15075
- submissionError,
15076
- successMessage
15077
- },
15078
- styleConfig: {
15079
- formClassName: cn("space-y-6", formClassName),
15080
- successMessageClassName,
15081
- errorMessageClassName
15082
- },
15083
- formConfig: {
15084
- endpoint: formConfig?.endpoint,
15085
- method: formMethod,
15086
- submissionConfig: formConfig?.submissionConfig
15087
- },
15088
- onNewSubmission: () => {
15089
- resetUpload();
15090
- resetSubmissionState();
15037
+ ...formEngineSetup,
15038
+ formLayoutSettings: {
15039
+ ...formEngineSetup.formLayoutSettings,
15040
+ formLayout: "standard",
15041
+ submitButtonSetup: {
15042
+ ...formEngineSetup.formLayoutSettings?.submitButtonSetup,
15043
+ submitLabel: /* @__PURE__ */ jsxs(Fragment$1, { children: [
15044
+ buttonIcon,
15045
+ buttonText
15046
+ ] })
15047
+ },
15048
+ styleRules: formStyleRules
15091
15049
  },
15092
- children: [
15093
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-12 gap-6", children: formFields.map((field) => /* @__PURE__ */ jsx(
15094
- "div",
15095
- {
15096
- className: getColumnSpanClass(field.columnSpan),
15097
- children: /* @__PURE__ */ jsx(
15098
- DynamicFormField,
15099
- {
15100
- field,
15101
- uploadProgress,
15102
- onFileUpload: uploadFiles,
15103
- onFileRemove: removeFile,
15104
- isUploading
15105
- }
15106
- )
15107
- },
15108
- field.name
15109
- )) }),
15110
- actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxs(
15111
- Pressable,
15112
- {
15113
- componentType: "button",
15114
- type: "submit",
15115
- className: cn("w-full", submitClassName),
15116
- size: "lg",
15117
- asButton: true,
15118
- disabled: form.isSubmitting,
15119
- children: [
15120
- buttonIcon,
15121
- buttonText
15122
- ]
15123
- }
15124
- )
15125
- ]
15050
+ fields: formFields
15126
15051
  }
15127
- )
15052
+ ) : null
15128
15053
  ] }) }),
15129
15054
  hasFaqItems && /* @__PURE__ */ jsxs("div", { className: cn("relative", faqContainerClassName), children: [
15130
15055
  faqHeading && (typeof faqHeading === "string" ? /* @__PURE__ */ jsx(
@@ -20787,6 +20712,14 @@ function ContactTenant({
20787
20712
  }
20788
20713
  );
20789
20714
  }
20715
+ var DEFAULT_STYLE_RULES2 = {
20716
+ formContainer: "",
20717
+ fieldsContainer: "",
20718
+ fieldClassName: "",
20719
+ formClassName: "space-y-6",
20720
+ successMessageClassName: "text-green-600 dark:text-green-400 mt-4 p-3 rounded-md bg-green-50 dark:bg-green-950/20",
20721
+ errorMessageClassName: "text-red-600 dark:text-red-400 mt-4 p-3 rounded-md bg-red-50 dark:bg-red-950/20"
20722
+ };
20790
20723
  var DEFAULT_FORM_FIELDS38 = [
20791
20724
  {
20792
20725
  name: "first_name",
@@ -20833,82 +20766,36 @@ var DEFAULT_FORM_FIELDS38 = [
20833
20766
  function ContactVendor({
20834
20767
  heading,
20835
20768
  description,
20836
- buttonText = "Submit",
20837
- buttonIcon,
20838
- actions,
20839
- actionsSlot,
20840
- formFields = DEFAULT_FORM_FIELDS38,
20841
- successMessage = "Thank you! Your message has been sent successfully.",
20842
20769
  className,
20770
+ formEngineSetup,
20843
20771
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
20844
20772
  headerClassName,
20845
20773
  headingClassName,
20846
20774
  descriptionClassName,
20847
20775
  cardClassName,
20848
20776
  cardContentClassName,
20849
- formClassName,
20850
- submitClassName,
20851
- successMessageClassName,
20852
- errorMessageClassName,
20853
- background = "white",
20777
+ background,
20854
20778
  spacing = "xl",
20855
20779
  pattern,
20856
- patternOpacity = 0.1,
20857
- formConfig,
20858
- onSubmit,
20859
- onSuccess,
20860
- onError
20780
+ patternOpacity = 0.1
20861
20781
  }) {
20862
- const {
20863
- uploadTokens,
20864
- uploadProgress,
20865
- isUploading,
20866
- uploadFiles,
20867
- removeFile,
20868
- resetUpload
20869
- } = useFileUpload({ onError });
20870
- const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
20871
- formFields,
20872
- formConfig,
20873
- onSubmit,
20874
- onSuccess: (data) => {
20875
- resetUpload();
20876
- onSuccess?.(data);
20877
- },
20878
- onError,
20879
- resetOnSuccess: formConfig?.resetOnSuccess !== false,
20880
- uploadTokens
20881
- });
20882
- const actionsContent = useMemo(() => {
20883
- if (actionsSlot) return actionsSlot;
20884
- if (actions && actions.length > 0) {
20885
- return actions.map((action, index) => {
20886
- const {
20887
- label,
20888
- icon,
20889
- iconAfter,
20890
- children,
20891
- className: actionClassName,
20892
- ...pressableProps
20893
- } = action;
20894
- return /* @__PURE__ */ jsx(
20895
- Pressable,
20896
- {
20897
- asButton: true,
20898
- className: actionClassName,
20899
- ...pressableProps,
20900
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20901
- icon,
20902
- label,
20903
- iconAfter
20904
- ] })
20905
- },
20906
- index
20907
- );
20908
- });
20782
+ const formStyleRules = React25.useMemo(() => {
20783
+ return {
20784
+ formContainer: formEngineSetup?.formLayoutSettings?.styleRules?.formContainer ?? DEFAULT_STYLE_RULES2.formContainer,
20785
+ fieldsContainer: formEngineSetup?.formLayoutSettings?.styleRules?.fieldsContainer ?? DEFAULT_STYLE_RULES2.fieldsContainer,
20786
+ fieldClassName: formEngineSetup?.formLayoutSettings?.styleRules?.fieldClassName ?? DEFAULT_STYLE_RULES2.fieldClassName,
20787
+ formClassName: formEngineSetup?.formLayoutSettings?.styleRules?.formClassName ?? DEFAULT_STYLE_RULES2.formClassName,
20788
+ successMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.successMessageClassName ?? DEFAULT_STYLE_RULES2.successMessageClassName,
20789
+ errorMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.errorMessageClassName ?? DEFAULT_STYLE_RULES2.errorMessageClassName
20790
+ };
20791
+ }, [formEngineSetup?.formLayoutSettings?.styleRules]);
20792
+ const formFields = React25.useMemo(() => {
20793
+ if (formEngineSetup && formEngineSetup?.fields && formEngineSetup?.fields?.length > 0) {
20794
+ return formEngineSetup.fields;
20795
+ } else {
20796
+ return DEFAULT_FORM_FIELDS38;
20909
20797
  }
20910
- return null;
20911
- }, [actionsSlot, actions]);
20798
+ }, [formEngineSetup?.fields]);
20912
20799
  return /* @__PURE__ */ jsx(
20913
20800
  Section,
20914
20801
  {
@@ -20929,7 +20816,7 @@ function ContactVendor({
20929
20816
  ),
20930
20817
  children: heading
20931
20818
  }
20932
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
20819
+ ) : heading),
20933
20820
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
20934
20821
  "p",
20935
20822
  {
@@ -20939,66 +20826,19 @@ function ContactVendor({
20939
20826
  ),
20940
20827
  children: description
20941
20828
  }
20942
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
20829
+ ) : description)
20943
20830
  ] }),
20944
- /* @__PURE__ */ jsx(Card, { className: cn("mx-auto max-w-xl", cardClassName), children: /* @__PURE__ */ jsx(CardContent, { className: cn("p-6 lg:p-8", cardContentClassName), children: /* @__PURE__ */ jsxs(
20945
- Form,
20831
+ /* @__PURE__ */ jsx(Card, { className: cn("mx-auto max-w-xl", cardClassName), children: /* @__PURE__ */ jsx(CardContent, { className: cn("p-6 lg:p-8", cardContentClassName), children: formEngineSetup ? /* @__PURE__ */ jsx(
20832
+ FormEngine,
20946
20833
  {
20947
- form,
20948
- notificationConfig: {
20949
- submissionError,
20950
- successMessage
20834
+ ...formEngineSetup,
20835
+ formLayoutSettings: {
20836
+ ...formEngineSetup.formLayoutSettings,
20837
+ styleRules: formStyleRules
20951
20838
  },
20952
- styleConfig: {
20953
- formClassName: cn("space-y-4", formClassName),
20954
- successMessageClassName,
20955
- errorMessageClassName
20956
- },
20957
- formConfig: {
20958
- endpoint: formConfig?.endpoint,
20959
- method: formMethod,
20960
- submissionConfig: formConfig?.submissionConfig
20961
- },
20962
- onNewSubmission: () => {
20963
- resetUpload();
20964
- resetSubmissionState();
20965
- },
20966
- children: [
20967
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-12 gap-6", children: formFields.map((field) => /* @__PURE__ */ jsx(
20968
- "div",
20969
- {
20970
- className: getColumnSpanClass(field.columnSpan),
20971
- children: /* @__PURE__ */ jsx(
20972
- DynamicFormField,
20973
- {
20974
- field,
20975
- uploadProgress,
20976
- onFileUpload: uploadFiles,
20977
- onFileRemove: removeFile,
20978
- isUploading
20979
- }
20980
- )
20981
- },
20982
- field.name
20983
- )) }),
20984
- actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxs(
20985
- Pressable,
20986
- {
20987
- componentType: "button",
20988
- type: "submit",
20989
- className: cn("w-full", submitClassName),
20990
- size: "lg",
20991
- asButton: true,
20992
- disabled: form.isSubmitting,
20993
- children: [
20994
- buttonIcon,
20995
- buttonText
20996
- ]
20997
- }
20998
- )
20999
- ]
20839
+ fields: formFields
21000
20840
  }
21001
- ) }) })
20841
+ ) : null }) })
21002
20842
  ] })
21003
20843
  }
21004
20844
  );
@@ -21765,16 +21605,16 @@ function CarouselAnimatedSections({
21765
21605
  pattern = "diagonalCrossBasic",
21766
21606
  patternOpacity = 0.033
21767
21607
  }) {
21768
- const [currentIndex, setCurrentIndex] = React23.useState(0);
21769
- const [direction, setDirection] = React23.useState(0);
21770
- const [isAnimating, setIsAnimating] = React23.useState(false);
21771
- const goToNext = React23.useCallback(() => {
21608
+ const [currentIndex, setCurrentIndex] = React25.useState(0);
21609
+ const [direction, setDirection] = React25.useState(0);
21610
+ const [isAnimating, setIsAnimating] = React25.useState(false);
21611
+ const goToNext = React25.useCallback(() => {
21772
21612
  if (isAnimating || currentIndex >= (sections?.length ?? 0) - 1) return;
21773
21613
  setIsAnimating(true);
21774
21614
  setDirection(1);
21775
21615
  setCurrentIndex((prev) => prev + 1);
21776
21616
  }, [currentIndex, isAnimating, sections?.length]);
21777
- const goToPrev = React23.useCallback(() => {
21617
+ const goToPrev = React25.useCallback(() => {
21778
21618
  if (isAnimating || currentIndex <= 0) return;
21779
21619
  setIsAnimating(true);
21780
21620
  setDirection(-1);
@@ -21786,7 +21626,7 @@ function CarouselAnimatedSections({
21786
21626
  setDirection(index > currentIndex ? 1 : -1);
21787
21627
  setCurrentIndex(index);
21788
21628
  };
21789
- React23.useEffect(() => {
21629
+ React25.useEffect(() => {
21790
21630
  const handleKeyDown = (e) => {
21791
21631
  if (e.key === "ArrowDown" || e.key === "ArrowRight") {
21792
21632
  goToNext();
@@ -21812,7 +21652,7 @@ function CarouselAnimatedSections({
21812
21652
  })
21813
21653
  };
21814
21654
  const currentSection = sections?.[currentIndex];
21815
- const actionElements = React23.useMemo(() => {
21655
+ const actionElements = React25.useMemo(() => {
21816
21656
  if (actionsSlot) return actionsSlot;
21817
21657
  if (actions && actions.length > 0) {
21818
21658
  return actions.map((action, index) => /* @__PURE__ */ jsxs(
@@ -22060,11 +21900,11 @@ function CarouselAutoProgressSlides({
22060
21900
  pattern,
22061
21901
  patternOpacity
22062
21902
  }) {
22063
- const [currentIndex, setCurrentIndex] = React23.useState(0);
21903
+ const [currentIndex, setCurrentIndex] = React25.useState(0);
22064
21904
  const progress = useMotionValue(100);
22065
- const [direction, setDirection] = React23.useState(1);
21905
+ const [direction, setDirection] = React25.useState(1);
22066
21906
  const clipPath = useMotionTemplate`inset(0 ${progress}% 0 0 round 10px)`;
22067
- React23.useEffect(() => {
21907
+ React25.useEffect(() => {
22068
21908
  const interval = setInterval(() => {
22069
21909
  const currentProgress = progress.get();
22070
21910
  if (currentProgress > 0) {
@@ -22243,22 +22083,22 @@ function CarouselAutoProgressSlides({
22243
22083
  );
22244
22084
  }
22245
22085
  function useDotButton(emblaApi) {
22246
- const [selectedIndex, setSelectedIndex] = React23.useState(0);
22247
- const [scrollSnaps, setScrollSnaps] = React23.useState([]);
22248
- const onDotButtonClick = React23.useCallback(
22086
+ const [selectedIndex, setSelectedIndex] = React25.useState(0);
22087
+ const [scrollSnaps, setScrollSnaps] = React25.useState([]);
22088
+ const onDotButtonClick = React25.useCallback(
22249
22089
  (index) => {
22250
22090
  if (!emblaApi) return;
22251
22091
  emblaApi.scrollTo(index);
22252
22092
  },
22253
22093
  [emblaApi]
22254
22094
  );
22255
- const onInit = React23.useCallback((api) => {
22095
+ const onInit = React25.useCallback((api) => {
22256
22096
  setScrollSnaps(api.scrollSnapList());
22257
22097
  }, []);
22258
- const onSelect = React23.useCallback((api) => {
22098
+ const onSelect = React25.useCallback((api) => {
22259
22099
  setSelectedIndex(api.selectedScrollSnap());
22260
22100
  }, []);
22261
- React23.useEffect(() => {
22101
+ React25.useEffect(() => {
22262
22102
  if (!emblaApi) return;
22263
22103
  onInit(emblaApi);
22264
22104
  onSelect(emblaApi);
@@ -22267,8 +22107,8 @@ function useDotButton(emblaApi) {
22267
22107
  return { selectedIndex, scrollSnaps, onDotButtonClick };
22268
22108
  }
22269
22109
  function useAutoplay(emblaApi) {
22270
- const [autoplayIsPlaying, setAutoplayIsPlaying] = React23.useState(false);
22271
- const onAutoplayButtonClick = React23.useCallback(
22110
+ const [autoplayIsPlaying, setAutoplayIsPlaying] = React25.useState(false);
22111
+ const onAutoplayButtonClick = React25.useCallback(
22272
22112
  (callback) => {
22273
22113
  const autoplay = emblaApi?.plugins()?.autoplay;
22274
22114
  if (!autoplay) return;
@@ -22278,13 +22118,13 @@ function useAutoplay(emblaApi) {
22278
22118
  },
22279
22119
  [emblaApi]
22280
22120
  );
22281
- const toggleAutoplay = React23.useCallback(() => {
22121
+ const toggleAutoplay = React25.useCallback(() => {
22282
22122
  const autoplay = emblaApi?.plugins()?.autoplay;
22283
22123
  if (!autoplay) return;
22284
22124
  const playOrStop = autoplay.isPlaying() ? autoplay.stop : autoplay.play;
22285
22125
  playOrStop();
22286
22126
  }, [emblaApi]);
22287
- React23.useEffect(() => {
22127
+ React25.useEffect(() => {
22288
22128
  const autoplay = emblaApi?.plugins()?.autoplay;
22289
22129
  if (!autoplay) return;
22290
22130
  setAutoplayIsPlaying(autoplay.isPlaying());
@@ -22293,11 +22133,11 @@ function useAutoplay(emblaApi) {
22293
22133
  return { autoplayIsPlaying, toggleAutoplay, onAutoplayButtonClick };
22294
22134
  }
22295
22135
  function useAutoplayProgress(emblaApi, progressNode) {
22296
- const [showAutoplayProgress, setShowAutoplayProgress] = React23.useState(false);
22297
- const animationName = React23.useRef("");
22298
- const timeoutId = React23.useRef(0);
22299
- const rafId = React23.useRef(0);
22300
- const startProgress = React23.useCallback(
22136
+ const [showAutoplayProgress, setShowAutoplayProgress] = React25.useState(false);
22137
+ const animationName = React25.useRef("");
22138
+ const timeoutId = React25.useRef(0);
22139
+ const rafId = React25.useRef(0);
22140
+ const startProgress = React25.useCallback(
22301
22141
  (timeUntilNext) => {
22302
22142
  const node = progressNode.current;
22303
22143
  if (!node || timeUntilNext === null) return;
@@ -22317,12 +22157,12 @@ function useAutoplayProgress(emblaApi, progressNode) {
22317
22157
  },
22318
22158
  [progressNode]
22319
22159
  );
22320
- React23.useEffect(() => {
22160
+ React25.useEffect(() => {
22321
22161
  const autoplay = emblaApi?.plugins()?.autoplay;
22322
22162
  if (!autoplay) return;
22323
22163
  emblaApi.on("autoplay:timerset", () => startProgress(autoplay.timeUntilNext())).on("autoplay:timerstopped", () => setShowAutoplayProgress(false));
22324
22164
  }, [emblaApi, startProgress]);
22325
- React23.useEffect(() => {
22165
+ React25.useEffect(() => {
22326
22166
  return () => {
22327
22167
  cancelAnimationFrame(rafId.current);
22328
22168
  clearTimeout(timeoutId.current);
@@ -22349,7 +22189,7 @@ function CarouselAutoplayProgress({
22349
22189
  pattern,
22350
22190
  patternOpacity
22351
22191
  }) {
22352
- const progressNode = React23.useRef(null);
22192
+ const progressNode = React25.useRef(null);
22353
22193
  const [emblaRef, emblaApi] = useEmblaCarousel(options, [
22354
22194
  Autoplay({ playOnInit: true, delay: autoplayDelay })
22355
22195
  ]);
@@ -22472,20 +22312,20 @@ function CarouselFeatureBadge({
22472
22312
  containerMaxWidth = "2xl"
22473
22313
  }) {
22474
22314
  const [emblaRef, emblaApi] = useEmblaCarousel();
22475
- const [canScrollPrev, setCanScrollPrev] = React23.useState(false);
22476
- const [canScrollNext, setCanScrollNext] = React23.useState(false);
22477
- const scrollPrev = React23.useCallback(() => {
22315
+ const [canScrollPrev, setCanScrollPrev] = React25.useState(false);
22316
+ const [canScrollNext, setCanScrollNext] = React25.useState(false);
22317
+ const scrollPrev = React25.useCallback(() => {
22478
22318
  emblaApi?.scrollPrev();
22479
22319
  }, [emblaApi]);
22480
- const scrollNext = React23.useCallback(() => {
22320
+ const scrollNext = React25.useCallback(() => {
22481
22321
  emblaApi?.scrollNext();
22482
22322
  }, [emblaApi]);
22483
- const onSelect = React23.useCallback(() => {
22323
+ const onSelect = React25.useCallback(() => {
22484
22324
  if (!emblaApi) return;
22485
22325
  setCanScrollPrev(emblaApi.canScrollPrev());
22486
22326
  setCanScrollNext(emblaApi.canScrollNext());
22487
22327
  }, [emblaApi]);
22488
- React23.useEffect(() => {
22328
+ React25.useEffect(() => {
22489
22329
  if (!emblaApi) return;
22490
22330
  onSelect();
22491
22331
  emblaApi.on("reInit", onSelect);
@@ -22605,10 +22445,10 @@ function CarouselFullscreenScrollFx({
22605
22445
  pattern = "diagonalCrossBasic",
22606
22446
  patternOpacity = 0.033
22607
22447
  }) {
22608
- const containerRef = React23.useRef(null);
22609
- const scrollContainerRef = React23.useRef(null);
22610
- const [activeIndex, setActiveIndex] = React23.useState(0);
22611
- React23.useEffect(() => {
22448
+ const containerRef = React25.useRef(null);
22449
+ const scrollContainerRef = React25.useRef(null);
22450
+ const [activeIndex, setActiveIndex] = React25.useState(0);
22451
+ React25.useEffect(() => {
22612
22452
  const scrollContainer = scrollContainerRef.current;
22613
22453
  if (!scrollContainer || !slides?.length) return;
22614
22454
  const handleScroll = () => {
@@ -22620,7 +22460,7 @@ function CarouselFullscreenScrollFx({
22620
22460
  scrollContainer.addEventListener("scroll", handleScroll);
22621
22461
  return () => scrollContainer.removeEventListener("scroll", handleScroll);
22622
22462
  }, [slides]);
22623
- const scrollToSlide = React23.useCallback((index) => {
22463
+ const scrollToSlide = React25.useCallback((index) => {
22624
22464
  const scrollContainer = scrollContainerRef.current;
22625
22465
  if (!scrollContainer) return;
22626
22466
  const slideHeight = scrollContainer.clientHeight;
@@ -22703,7 +22543,7 @@ function CarouselFullscreenScrollFx({
22703
22543
  className: "flex h-screen flex-col snap-y snap-mandatory overflow-x-hidden overflow-y-auto scroll-smooth",
22704
22544
  style: { scrollbarWidth: "none", msOverflowStyle: "none" },
22705
22545
  children: slidesSlot ? slidesSlot : slides?.map((slide, index) => {
22706
- const renderActions = React23.useMemo(() => {
22546
+ const renderActions = React25.useMemo(() => {
22707
22547
  if (!slide.actions || slide.actions.length === 0) return null;
22708
22548
  return slide.actions.map((action, actionIndex) => {
22709
22549
  const {
@@ -22836,25 +22676,25 @@ function CarouselGalleryThumbnails({
22836
22676
  patternOpacity,
22837
22677
  slideMediaBrightness = "100"
22838
22678
  }) {
22839
- const [currentIndex, setCurrentIndex] = React23.useState(0);
22840
- const prevSlide = React23.useCallback(() => {
22679
+ const [currentIndex, setCurrentIndex] = React25.useState(0);
22680
+ const prevSlide = React25.useCallback(() => {
22841
22681
  setCurrentIndex(
22842
22682
  (prev) => prev === 0 ? (images?.length ?? 0) - 1 : prev - 1
22843
22683
  );
22844
22684
  }, [images?.length]);
22845
- const nextSlide = React23.useCallback(() => {
22685
+ const nextSlide = React25.useCallback(() => {
22846
22686
  setCurrentIndex(
22847
22687
  (prev) => prev === (images?.length ?? 0) - 1 ? 0 : prev + 1
22848
22688
  );
22849
22689
  }, [images?.length]);
22850
- React23.useEffect(() => {
22690
+ React25.useEffect(() => {
22851
22691
  if (!autoPlay) return;
22852
22692
  const interval = setInterval(() => {
22853
22693
  nextSlide();
22854
22694
  }, autoPlayInterval);
22855
22695
  return () => clearInterval(interval);
22856
22696
  }, [currentIndex, autoPlay, autoPlayInterval, nextSlide]);
22857
- React23.useEffect(() => {
22697
+ React25.useEffect(() => {
22858
22698
  const handleKeyDown = (e) => {
22859
22699
  if (e.key === "ArrowRight") {
22860
22700
  nextSlide();
@@ -22999,9 +22839,9 @@ function CarouselHorizontalCards({
22999
22839
  pattern,
23000
22840
  patternOpacity
23001
22841
  }) {
23002
- const carouselRef = React23.useRef(null);
23003
- const [isAtStart, setIsAtStart] = React23.useState(true);
23004
- const [isAtEnd, setIsAtEnd] = React23.useState(false);
22842
+ const carouselRef = React25.useRef(null);
22843
+ const [isAtStart, setIsAtStart] = React25.useState(true);
22844
+ const [isAtEnd, setIsAtEnd] = React25.useState(false);
23005
22845
  const scrollLeft = () => {
23006
22846
  if (carouselRef.current) {
23007
22847
  carouselRef.current.scrollBy({ left: -300, behavior: "smooth" });
@@ -23012,7 +22852,7 @@ function CarouselHorizontalCards({
23012
22852
  carouselRef.current.scrollBy({ left: 300, behavior: "smooth" });
23013
22853
  }
23014
22854
  };
23015
- React23.useEffect(() => {
22855
+ React25.useEffect(() => {
23016
22856
  const checkScrollPosition = () => {
23017
22857
  if (carouselRef.current) {
23018
22858
  const { scrollLeft: scrollLeft2, scrollWidth, clientWidth } = carouselRef.current;
@@ -23212,22 +23052,22 @@ function CarouselImageHero({
23212
23052
  pattern,
23213
23053
  patternOpacity
23214
23054
  }) {
23215
- const [currentImageIndex, setCurrentImageIndex] = React23.useState(0);
23216
- const intervalRef = React23.useRef(null);
23217
- const goToNext = React23.useCallback(() => {
23055
+ const [currentImageIndex, setCurrentImageIndex] = React25.useState(0);
23056
+ const intervalRef = React25.useRef(null);
23057
+ const goToNext = React25.useCallback(() => {
23218
23058
  setCurrentImageIndex((prevIndex) => (prevIndex + 1) % (images?.length ?? 1));
23219
23059
  }, [images?.length]);
23220
- const resetInterval = React23.useCallback(() => {
23060
+ const resetInterval = React25.useCallback(() => {
23221
23061
  if (intervalRef.current) {
23222
23062
  clearInterval(intervalRef.current);
23223
23063
  }
23224
23064
  intervalRef.current = setInterval(goToNext, autoPlayInterval);
23225
23065
  }, [goToNext, autoPlayInterval]);
23226
- const goToSlide = React23.useCallback((index) => {
23066
+ const goToSlide = React25.useCallback((index) => {
23227
23067
  setCurrentImageIndex(index);
23228
23068
  resetInterval();
23229
23069
  }, [resetInterval]);
23230
- React23.useEffect(() => {
23070
+ React25.useEffect(() => {
23231
23071
  resetInterval();
23232
23072
  return () => {
23233
23073
  if (intervalRef.current) {
@@ -23400,8 +23240,8 @@ function CarouselMultiStepShowcase({
23400
23240
  pattern,
23401
23241
  patternOpacity
23402
23242
  }) {
23403
- const [activeStep, setActiveStep] = React23.useState(0);
23404
- const [direction, setDirection] = React23.useState(0);
23243
+ const [activeStep, setActiveStep] = React25.useState(0);
23244
+ const [direction, setDirection] = React25.useState(0);
23405
23245
  const goToStep = (index) => {
23406
23246
  setDirection(index > activeStep ? 1 : -1);
23407
23247
  setActiveStep(index);
@@ -23693,9 +23533,9 @@ function CarouselPortfolioHero({
23693
23533
  patternOpacity,
23694
23534
  slideMediaBrightness = "50"
23695
23535
  }) {
23696
- const [currentIndex, setCurrentIndex] = React23.useState(0);
23697
- const intervalRef = React23.useRef(null);
23698
- const resetInterval = React23.useCallback(() => {
23536
+ const [currentIndex, setCurrentIndex] = React25.useState(0);
23537
+ const intervalRef = React25.useRef(null);
23538
+ const resetInterval = React25.useCallback(() => {
23699
23539
  if (intervalRef.current) {
23700
23540
  clearInterval(intervalRef.current);
23701
23541
  }
@@ -23703,17 +23543,17 @@ function CarouselPortfolioHero({
23703
23543
  setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
23704
23544
  }, autoPlayInterval);
23705
23545
  }, [autoPlayInterval, slides?.length]);
23706
- const goToNext = React23.useCallback(() => {
23546
+ const goToNext = React25.useCallback(() => {
23707
23547
  setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
23708
23548
  resetInterval();
23709
23549
  }, [slides?.length, resetInterval]);
23710
- const goToPrev = React23.useCallback(() => {
23550
+ const goToPrev = React25.useCallback(() => {
23711
23551
  setCurrentIndex(
23712
23552
  (prevIndex) => (prevIndex - 1 + (slides?.length ?? 1)) % (slides?.length ?? 1)
23713
23553
  );
23714
23554
  resetInterval();
23715
23555
  }, [slides?.length, resetInterval]);
23716
- React23.useEffect(() => {
23556
+ React25.useEffect(() => {
23717
23557
  resetInterval();
23718
23558
  return () => {
23719
23559
  if (intervalRef.current) {
@@ -23905,9 +23745,9 @@ function CarouselProductFeatureShowcase({
23905
23745
  pattern,
23906
23746
  patternOpacity
23907
23747
  }) {
23908
- const [activeIndex, setActiveIndex] = React23.useState(0);
23909
- const [activeColorIndex, setActiveColorIndex] = React23.useState(0);
23910
- const [direction, setDirection] = React23.useState(0);
23748
+ const [activeIndex, setActiveIndex] = React25.useState(0);
23749
+ const [activeColorIndex, setActiveColorIndex] = React25.useState(0);
23750
+ const [direction, setDirection] = React25.useState(0);
23911
23751
  const activeFeature = features?.[activeIndex];
23912
23752
  const goToNext = () => {
23913
23753
  setDirection(1);
@@ -24127,9 +23967,9 @@ function CarouselProductFeatureShowcase({
24127
23967
  }
24128
23968
  );
24129
23969
  }
24130
- var ProgressSliderContext = React23.createContext(void 0);
23970
+ var ProgressSliderContext = React25.createContext(void 0);
24131
23971
  function useProgressSliderContext() {
24132
- const context = React23.useContext(ProgressSliderContext);
23972
+ const context = React25.useContext(ProgressSliderContext);
24133
23973
  if (!context) {
24134
23974
  throw new Error(
24135
23975
  "useProgressSliderContext must be used within a ProgressSlider"
@@ -24215,19 +24055,19 @@ function CarouselProgressSlider({
24215
24055
  pattern,
24216
24056
  patternOpacity
24217
24057
  }) {
24218
- const [active, setActive] = React23.useState(slides?.[0]?.id ?? "");
24219
- const [progress, setProgress] = React23.useState(0);
24220
- const [isFastForward, setIsFastForward] = React23.useState(false);
24221
- const [isPaused, setIsPaused] = React23.useState(false);
24222
- const frame = React23.useRef(0);
24223
- const firstFrameTime = React23.useRef(performance.now());
24224
- const targetValue = React23.useRef(null);
24225
- const pausedProgress = React23.useRef(0);
24226
- const sliderValues = React23.useMemo(
24058
+ const [active, setActive] = React25.useState(slides?.[0]?.id ?? "");
24059
+ const [progress, setProgress] = React25.useState(0);
24060
+ const [isFastForward, setIsFastForward] = React25.useState(false);
24061
+ const [isPaused, setIsPaused] = React25.useState(false);
24062
+ const frame = React25.useRef(0);
24063
+ const firstFrameTime = React25.useRef(performance.now());
24064
+ const targetValue = React25.useRef(null);
24065
+ const pausedProgress = React25.useRef(0);
24066
+ const sliderValues = React25.useMemo(
24227
24067
  () => slides?.map((slide) => slide.id),
24228
24068
  [slides]
24229
24069
  );
24230
- React23.useEffect(() => {
24070
+ React25.useEffect(() => {
24231
24071
  if ((sliderValues?.length ?? 0) > 0 && !isPaused) {
24232
24072
  firstFrameTime.current = performance.now();
24233
24073
  if (pausedProgress.current > 0) {
@@ -24392,11 +24232,11 @@ function CarouselScrollingFeatureShowcase({
24392
24232
  pattern,
24393
24233
  patternOpacity
24394
24234
  }) {
24395
- const [activeFeature, setActiveFeature] = React23.useState(
24235
+ const [activeFeature, setActiveFeature] = React25.useState(
24396
24236
  features?.[0]?.id ?? ""
24397
24237
  );
24398
- const featureRefs = React23.useRef(/* @__PURE__ */ new Map());
24399
- React23.useEffect(() => {
24238
+ const featureRefs = React25.useRef(/* @__PURE__ */ new Map());
24239
+ React25.useEffect(() => {
24400
24240
  if (!features || features.length === 0) return;
24401
24241
  const observerOptions = {
24402
24242
  root: null,
@@ -25321,9 +25161,9 @@ function FeatureChecklistImage({
25321
25161
  }
25322
25162
  );
25323
25163
  }
25324
- var CarouselContext = React23.createContext(null);
25164
+ var CarouselContext = React25.createContext(null);
25325
25165
  function useCarousel() {
25326
- const context = React23.useContext(CarouselContext);
25166
+ const context = React25.useContext(CarouselContext);
25327
25167
  if (!context) {
25328
25168
  throw new Error("useCarousel must be used within a <Carousel />");
25329
25169
  }
@@ -25345,20 +25185,20 @@ function Carousel({
25345
25185
  },
25346
25186
  plugins
25347
25187
  );
25348
- const [canScrollPrev, setCanScrollPrev] = React23.useState(false);
25349
- const [canScrollNext, setCanScrollNext] = React23.useState(false);
25350
- const onSelect = React23.useCallback((api2) => {
25188
+ const [canScrollPrev, setCanScrollPrev] = React25.useState(false);
25189
+ const [canScrollNext, setCanScrollNext] = React25.useState(false);
25190
+ const onSelect = React25.useCallback((api2) => {
25351
25191
  if (!api2) return;
25352
25192
  setCanScrollPrev(api2.canScrollPrev());
25353
25193
  setCanScrollNext(api2.canScrollNext());
25354
25194
  }, []);
25355
- const scrollPrev = React23.useCallback(() => {
25195
+ const scrollPrev = React25.useCallback(() => {
25356
25196
  api?.scrollPrev();
25357
25197
  }, [api]);
25358
- const scrollNext = React23.useCallback(() => {
25198
+ const scrollNext = React25.useCallback(() => {
25359
25199
  api?.scrollNext();
25360
25200
  }, [api]);
25361
- const handleKeyDown = React23.useCallback(
25201
+ const handleKeyDown = React25.useCallback(
25362
25202
  (event) => {
25363
25203
  if (event.key === "ArrowLeft") {
25364
25204
  event.preventDefault();
@@ -25370,11 +25210,11 @@ function Carousel({
25370
25210
  },
25371
25211
  [scrollPrev, scrollNext]
25372
25212
  );
25373
- React23.useEffect(() => {
25213
+ React25.useEffect(() => {
25374
25214
  if (!api || !setApi) return;
25375
25215
  setApi(api);
25376
25216
  }, [api, setApi]);
25377
- React23.useEffect(() => {
25217
+ React25.useEffect(() => {
25378
25218
  if (!api) return;
25379
25219
  onSelect(api);
25380
25220
  api.on("reInit", onSelect);
@@ -26298,7 +26138,7 @@ function FeatureThreeColumnValues({
26298
26138
  patternOpacity,
26299
26139
  patternClassName
26300
26140
  }) {
26301
- const renderValueIcon = React23.useCallback(
26141
+ const renderValueIcon = React25.useCallback(
26302
26142
  (value) => {
26303
26143
  if (value.icon) return value.icon;
26304
26144
  if (value.iconName)
@@ -26800,7 +26640,7 @@ function FeatureTabbedContentImage({
26800
26640
  patternOpacity,
26801
26641
  patternClassName
26802
26642
  }) {
26803
- const renderFeatures = React23.useCallback(
26643
+ const renderFeatures = React25.useCallback(
26804
26644
  (slide) => {
26805
26645
  if (slide.featuresSlot) return slide.featuresSlot;
26806
26646
  if (!slide.features || slide.features.length === 0) return null;
@@ -26824,7 +26664,7 @@ function FeatureTabbedContentImage({
26824
26664
  },
26825
26665
  []
26826
26666
  );
26827
- const renderActions = React23.useCallback(
26667
+ const renderActions = React25.useCallback(
26828
26668
  (slide) => {
26829
26669
  if (slide.actionsSlot) return slide.actionsSlot;
26830
26670
  if (!slide.actions || slide.actions.length === 0) return null;
@@ -26867,7 +26707,7 @@ function FeatureTabbedContentImage({
26867
26707
  },
26868
26708
  []
26869
26709
  );
26870
- const renderImage = React23.useCallback(
26710
+ const renderImage = React25.useCallback(
26871
26711
  (slide) => {
26872
26712
  if (slide.imageSlot) return slide.imageSlot;
26873
26713
  if (!slide.image) return null;
@@ -27103,7 +26943,7 @@ function FeatureUtilityCardsGrid({
27103
26943
  }
27104
26944
  );
27105
26945
  }, [learnMoreSlot, learnMoreAction, background]);
27106
- const renderUtilityImage = React23.useCallback(
26946
+ const renderUtilityImage = React25.useCallback(
27107
26947
  (utility) => {
27108
26948
  if (utility.imageSlot) return utility.imageSlot;
27109
26949
  if (utility.image) {
@@ -27281,7 +27121,7 @@ function FeatureBentoUtilities({
27281
27121
  patternOpacity,
27282
27122
  patternClassName
27283
27123
  }) {
27284
- const renderCard = React23.useCallback(
27124
+ const renderCard = React25.useCallback(
27285
27125
  (card, index) => {
27286
27126
  const hasImage = card.imageSrc || card.imageSlot;
27287
27127
  const cardClasses = cn(
@@ -27337,7 +27177,7 @@ function FeatureBentoUtilities({
27337
27177
  },
27338
27178
  [optixFlowConfig]
27339
27179
  );
27340
- const renderColumn = React23.useCallback(
27180
+ const renderColumn = React25.useCallback(
27341
27181
  (cards, slot) => {
27342
27182
  if (slot) return slot;
27343
27183
  if (!cards || cards.length === 0) return null;
@@ -28583,7 +28423,7 @@ function FeatureBentoImageGrid({
28583
28423
  patternOpacity,
28584
28424
  patternClassName
28585
28425
  }) {
28586
- const renderItemIcon = React23.useCallback(
28426
+ const renderItemIcon = React25.useCallback(
28587
28427
  (item) => {
28588
28428
  if (item.icon) return item.icon;
28589
28429
  if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 24 });
@@ -28591,7 +28431,7 @@ function FeatureBentoImageGrid({
28591
28431
  },
28592
28432
  []
28593
28433
  );
28594
- const renderItemImage = React23.useCallback(
28434
+ const renderItemImage = React25.useCallback(
28595
28435
  (item, imageClassName) => {
28596
28436
  if (item.imageSlot) return item.imageSlot;
28597
28437
  if (item.imageSrc) {
@@ -28610,7 +28450,7 @@ function FeatureBentoImageGrid({
28610
28450
  },
28611
28451
  [optixFlowConfig]
28612
28452
  );
28613
- const renderLargeCard = React23.useCallback(
28453
+ const renderLargeCard = React25.useCallback(
28614
28454
  (item) => {
28615
28455
  const iconContent = renderItemIcon(item);
28616
28456
  const hasIconBadgeContent = iconContent || item.iconBadge;
@@ -28698,7 +28538,7 @@ function FeatureBentoImageGrid({
28698
28538
  },
28699
28539
  [largeCardClassName, renderItemImage, renderItemIcon]
28700
28540
  );
28701
- const renderSmallCard = React23.useCallback(
28541
+ const renderSmallCard = React25.useCallback(
28702
28542
  (item, index) => {
28703
28543
  const iconContent = renderItemIcon(item);
28704
28544
  const hasIconBadgeContent = iconContent || item.iconBadge;
@@ -29313,7 +29153,7 @@ function FeatureAccordionImage({
29313
29153
  patternOpacity,
29314
29154
  patternClassName
29315
29155
  }) {
29316
- const [activeItem, setActiveItem] = React23.useState(defaultValue || "item-0");
29156
+ const [activeItem, setActiveItem] = React25.useState(defaultValue || "item-0");
29317
29157
  const activeIndex = parseInt(activeItem.replace("item-", ""), 10) || 0;
29318
29158
  const currentImage = items?.[activeIndex] || items?.[0];
29319
29159
  const accordionItemsContent = useMemo(() => {
@@ -29462,7 +29302,7 @@ function FeatureCapabilitiesGrid({
29462
29302
  patternOpacity,
29463
29303
  patternClassName
29464
29304
  }) {
29465
- const renderItemIcon = React23.useCallback(
29305
+ const renderItemIcon = React25.useCallback(
29466
29306
  (item) => {
29467
29307
  if (item.icon) return item.icon;
29468
29308
  if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 });
@@ -29614,7 +29454,7 @@ function FeatureCapabilitiesGrid({
29614
29454
  }
29615
29455
  );
29616
29456
  }
29617
- var TeamMemberBackgroundImageCard = React23.forwardRef(
29457
+ var TeamMemberBackgroundImageCard = React25.forwardRef(
29618
29458
  ({ className, imageUrl, imageAlt, children, optixFlowConfig, background, ...props }, ref) => {
29619
29459
  return /* @__PURE__ */ jsxs(
29620
29460
  "div",
@@ -29662,7 +29502,7 @@ function TeamMediaShowcase({
29662
29502
  actionClassName,
29663
29503
  optixFlowConfig
29664
29504
  }) {
29665
- const renderItems = React23.useMemo(() => {
29505
+ const renderItems = React25.useMemo(() => {
29666
29506
  if (itemsSlot) return itemsSlot;
29667
29507
  return items.map((member, idx) => {
29668
29508
  const imageAlt = member.imageAlt || (member.name && typeof member.name === "string" && member.name.trim() !== "" ? member.name : `member-${idx}`);
@@ -29760,7 +29600,7 @@ function TeamSimpleGrid({
29760
29600
  memberNameClassName,
29761
29601
  memberRoleClassName
29762
29602
  }) {
29763
- const renderMembers = React23.useMemo(() => {
29603
+ const renderMembers = React25.useMemo(() => {
29764
29604
  if (membersSlot) return membersSlot;
29765
29605
  if (!members || members.length === 0) return null;
29766
29606
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -29922,7 +29762,7 @@ function FooterBrandLinksContact({
29922
29762
  linkListClassName,
29923
29763
  linkItemClassName
29924
29764
  ]);
29925
- const contactItemsContent = React23.useMemo(() => {
29765
+ const contactItemsContent = React25.useMemo(() => {
29926
29766
  if (!contactItems || contactItems.length === 0) return null;
29927
29767
  return contactItems.map((item, idx) => /* @__PURE__ */ jsxs(
29928
29768
  "div",
@@ -30280,7 +30120,7 @@ function TeamSocialGrid({
30280
30120
  memberRoleClassName,
30281
30121
  socialLinksClassName
30282
30122
  }) {
30283
- const renderMembers = React23.useMemo(() => {
30123
+ const renderMembers = React25.useMemo(() => {
30284
30124
  if (membersSlot) return membersSlot;
30285
30125
  if (!members || members.length === 0) return null;
30286
30126
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -30432,7 +30272,7 @@ function TeamGradientCards({
30432
30272
  memberRoleClassName,
30433
30273
  socialLinksClassName
30434
30274
  }) {
30435
- const renderMembers = React23.useMemo(() => {
30275
+ const renderMembers = React25.useMemo(() => {
30436
30276
  if (membersSlot) return membersSlot;
30437
30277
  if (!members || members.length === 0) return null;
30438
30278
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -30588,7 +30428,7 @@ function TeamBioBadges({
30588
30428
  memberBioClassName,
30589
30429
  socialLinksClassName
30590
30430
  }) {
30591
- const renderMembers = React23.useMemo(() => {
30431
+ const renderMembers = React25.useMemo(() => {
30592
30432
  if (membersSlot) return membersSlot;
30593
30433
  if (!members || members.length === 0) return null;
30594
30434
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -30765,7 +30605,7 @@ function TeamExpertiseCards({
30765
30605
  ctaDescriptionClassName,
30766
30606
  ctaButtonClassName
30767
30607
  }) {
30768
- const renderMembers = React23.useMemo(() => {
30608
+ const renderMembers = React25.useMemo(() => {
30769
30609
  if (membersSlot) return membersSlot;
30770
30610
  if (!members || members.length === 0) return null;
30771
30611
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -30842,7 +30682,7 @@ function TeamExpertiseCards({
30842
30682
  member.id
30843
30683
  ));
30844
30684
  }, [membersSlot, members, background, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, departmentBadgeClassName, memberDescriptionClassName, expertiseClassName]);
30845
- const renderCta = React23.useMemo(() => {
30685
+ const renderCta = React25.useMemo(() => {
30846
30686
  if (ctaSlot) return ctaSlot;
30847
30687
  return /* @__PURE__ */ jsxs(
30848
30688
  "div",
@@ -30958,7 +30798,7 @@ function TeamCompactGrid({
30958
30798
  ctaDescriptionClassName,
30959
30799
  ctaButtonClassName
30960
30800
  }) {
30961
- const renderMembers = React23.useMemo(() => {
30801
+ const renderMembers = React25.useMemo(() => {
30962
30802
  if (membersSlot) return membersSlot;
30963
30803
  if (!members || members.length === 0) return null;
30964
30804
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -31013,7 +30853,7 @@ function TeamCompactGrid({
31013
30853
  member.id
31014
30854
  ));
31015
30855
  }, [membersSlot, members, background, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, departmentBadgeClassName]);
31016
- const renderCta = React23.useMemo(() => {
30856
+ const renderCta = React25.useMemo(() => {
31017
30857
  if (ctaSlot) return ctaSlot;
31018
30858
  return /* @__PURE__ */ jsxs(
31019
30859
  "div",
@@ -31117,7 +30957,7 @@ function TeamInvestorShowcase({
31117
30957
  investorCompanyClassName,
31118
30958
  optixFlowConfig
31119
30959
  }) {
31120
- const renderInvestors = React23.useMemo(() => {
30960
+ const renderInvestors = React25.useMemo(() => {
31121
30961
  if (investorsSlot) return investorsSlot;
31122
30962
  if (!investors || investors.length === 0) return null;
31123
30963
  return investors.map((investor) => /* @__PURE__ */ jsxs("div", { className: investorCardClassName, children: [
@@ -31191,7 +31031,7 @@ function TeamCarouselExperience({
31191
31031
  memberRoleClassName,
31192
31032
  optixFlowConfig
31193
31033
  }) {
31194
- const renderMembers = React23.useMemo(() => {
31034
+ const renderMembers = React25.useMemo(() => {
31195
31035
  if (membersSlot) return membersSlot;
31196
31036
  if (!members || members.length === 0) return null;
31197
31037
  return members.map((member, idx) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-72", children: /* @__PURE__ */ jsxs(
@@ -31341,20 +31181,20 @@ function TeamFilterableSearch({
31341
31181
  emptyStateClassName,
31342
31182
  emptyStateMessage
31343
31183
  }) {
31344
- const [searchQuery, setSearchQuery] = React23.useState("");
31345
- const [selectedDepartment, setSelectedDepartment] = React23.useState("All");
31346
- const departments = React23.useMemo(() => {
31184
+ const [searchQuery, setSearchQuery] = React25.useState("");
31185
+ const [selectedDepartment, setSelectedDepartment] = React25.useState("All");
31186
+ const departments = React25.useMemo(() => {
31347
31187
  const depts = new Set(members.map((m) => m.department));
31348
31188
  return ["All", ...Array.from(depts)];
31349
31189
  }, [members]);
31350
- const filteredMembers = React23.useMemo(() => {
31190
+ const filteredMembers = React25.useMemo(() => {
31351
31191
  return members.filter((member) => {
31352
31192
  const matchesSearch = searchQuery === "" || member.name.toLowerCase().includes(searchQuery.toLowerCase()) || member.role.toLowerCase().includes(searchQuery.toLowerCase()) || member.description.toLowerCase().includes(searchQuery.toLowerCase());
31353
31193
  const matchesDepartment = selectedDepartment === "All" || member.department === selectedDepartment;
31354
31194
  return matchesSearch && matchesDepartment;
31355
31195
  });
31356
31196
  }, [members, searchQuery, selectedDepartment]);
31357
- const renderFilters = React23.useMemo(() => {
31197
+ const renderFilters = React25.useMemo(() => {
31358
31198
  if (filtersSlot) return filtersSlot;
31359
31199
  return /* @__PURE__ */ jsxs(
31360
31200
  "div",
@@ -31409,7 +31249,7 @@ function TeamFilterableSearch({
31409
31249
  selectedDepartment,
31410
31250
  filterButtonClassName
31411
31251
  ]);
31412
- const renderMembers = React23.useMemo(() => {
31252
+ const renderMembers = React25.useMemo(() => {
31413
31253
  if (membersSlot) return membersSlot;
31414
31254
  return filteredMembers.map((member) => /* @__PURE__ */ jsx(
31415
31255
  "div",
@@ -31596,7 +31436,7 @@ function TeamCompactCta({
31596
31436
  memberRoleClassName,
31597
31437
  ctaClassName
31598
31438
  }) {
31599
- const renderMembers = React23.useMemo(() => {
31439
+ const renderMembers = React25.useMemo(() => {
31600
31440
  if (membersSlot) return membersSlot;
31601
31441
  if (!members || members.length === 0) return null;
31602
31442
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -31624,7 +31464,7 @@ function TeamCompactCta({
31624
31464
  member.id
31625
31465
  ));
31626
31466
  }, [membersSlot, members, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, background]);
31627
- const renderCta = React23.useMemo(() => {
31467
+ const renderCta = React25.useMemo(() => {
31628
31468
  if (ctaSlot) return ctaSlot;
31629
31469
  return /* @__PURE__ */ jsx(
31630
31470
  Pressable,
@@ -31715,7 +31555,7 @@ function TeamHoverHighlight({
31715
31555
  socialLinksClassName,
31716
31556
  optixFlowConfig
31717
31557
  }) {
31718
- const renderMembers = React23.useMemo(() => {
31558
+ const renderMembers = React25.useMemo(() => {
31719
31559
  if (membersSlot) return membersSlot;
31720
31560
  if (!members || members.length === 0) return null;
31721
31561
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -31864,7 +31704,7 @@ function TeamSocialCards({
31864
31704
  socialLinksClassName,
31865
31705
  optixFlowConfig
31866
31706
  }) {
31867
- const renderMembers = React23.useMemo(() => {
31707
+ const renderMembers = React25.useMemo(() => {
31868
31708
  if (membersSlot) return membersSlot;
31869
31709
  if (!members || members.length === 0) return null;
31870
31710
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -32034,7 +31874,7 @@ function TeamGridAnimated({
32034
31874
  "hsl(var(--muted))",
32035
31875
  "hsl(var(--warning)/0.2)"
32036
31876
  ];
32037
- const renderMembers = React23.useMemo(() => {
31877
+ const renderMembers = React25.useMemo(() => {
32038
31878
  if (membersSlot) return membersSlot;
32039
31879
  if (!members || members.length === 0) return null;
32040
31880
  return members.map((member, index) => /* @__PURE__ */ jsxs(
@@ -32134,7 +31974,7 @@ function TeamGridAnimated({
32134
31974
  memberDesignationClassName,
32135
31975
  socialLinksClassName
32136
31976
  ]);
32137
- const renderSocialLinksMain = React23.useMemo(() => {
31977
+ const renderSocialLinksMain = React25.useMemo(() => {
32138
31978
  if (socialLinksMainSlot) return socialLinksMainSlot;
32139
31979
  if (!socialLinksMain || socialLinksMain.length === 0) return null;
32140
31980
  return /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-center gap-4 py-4 md:justify-center", children: [
@@ -32251,7 +32091,7 @@ function TeamDepartmentSections({
32251
32091
  memberRoleClassName,
32252
32092
  optixFlowConfig
32253
32093
  }) {
32254
- const renderDepartments = React23.useMemo(() => {
32094
+ const renderDepartments = React25.useMemo(() => {
32255
32095
  if (departmentsSlot) return departmentsSlot;
32256
32096
  if (!departments || departments.length === 0) return null;
32257
32097
  return departments.map((department, deptIndex) => /* @__PURE__ */ jsxs(
@@ -32355,7 +32195,7 @@ function TeamAlternatingBios({
32355
32195
  socialLinksClassName,
32356
32196
  optixFlowConfig
32357
32197
  }) {
32358
- const renderMembers = React23.useMemo(() => {
32198
+ const renderMembers = React25.useMemo(() => {
32359
32199
  if (membersSlot) return membersSlot;
32360
32200
  if (!members || members.length === 0) return null;
32361
32201
  return members.map((member, index) => /* @__PURE__ */ jsxs(
@@ -32537,7 +32377,7 @@ function TeamAvatarSocial({
32537
32377
  memberRoleClassName,
32538
32378
  socialLinksClassName
32539
32379
  }) {
32540
- const renderMembers = React23.useMemo(() => {
32380
+ const renderMembers = React25.useMemo(() => {
32541
32381
  if (membersSlot) return membersSlot;
32542
32382
  if (!members || members.length === 0) return null;
32543
32383
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -32680,7 +32520,7 @@ function TeamHoverOverlay({
32680
32520
  socialLinksClassName,
32681
32521
  optixFlowConfig
32682
32522
  }) {
32683
- const renderMembers = React23.useMemo(() => {
32523
+ const renderMembers = React25.useMemo(() => {
32684
32524
  if (membersSlot) return membersSlot;
32685
32525
  if (!members || members.length === 0) return null;
32686
32526
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -32856,14 +32696,14 @@ function TeamRoleFilter({
32856
32696
  socialLinksClassName,
32857
32697
  optixFlowConfig
32858
32698
  }) {
32859
- const [selectedRole, setSelectedRole] = React23.useState("All");
32860
- const filteredMembers = React23.useMemo(() => {
32699
+ const [selectedRole, setSelectedRole] = React25.useState("All");
32700
+ const filteredMembers = React25.useMemo(() => {
32861
32701
  if (!members) return [];
32862
32702
  return members.filter(
32863
32703
  (member) => selectedRole === "All" ? true : member.role === selectedRole
32864
32704
  );
32865
32705
  }, [members, selectedRole]);
32866
- const renderRoles = React23.useMemo(() => {
32706
+ const renderRoles = React25.useMemo(() => {
32867
32707
  if (rolesSlot) return rolesSlot;
32868
32708
  if (!roles) return null;
32869
32709
  return /* @__PURE__ */ jsx(
@@ -32887,7 +32727,7 @@ function TeamRoleFilter({
32887
32727
  }
32888
32728
  );
32889
32729
  }, [rolesSlot, filtersClassName, roles, selectedRole, filterButtonClassName]);
32890
- const renderMembers = React23.useMemo(() => {
32730
+ const renderMembers = React25.useMemo(() => {
32891
32731
  if (membersSlot) return membersSlot;
32892
32732
  return filteredMembers.map((member) => /* @__PURE__ */ jsx(
32893
32733
  Card,
@@ -33047,7 +32887,7 @@ function TeamContactCards({
33047
32887
  socialLinksClassName,
33048
32888
  optixFlowConfig
33049
32889
  }) {
33050
- const getStatusColor = React23.useCallback((status) => {
32890
+ const getStatusColor = React25.useCallback((status) => {
33051
32891
  switch (status) {
33052
32892
  case "active":
33053
32893
  return "bg-success";
@@ -33057,7 +32897,7 @@ function TeamContactCards({
33057
32897
  return getTextColor(background, "muted");
33058
32898
  }
33059
32899
  }, [background]);
33060
- const renderMembers = React23.useMemo(() => {
32900
+ const renderMembers = React25.useMemo(() => {
33061
32901
  if (membersSlot) return membersSlot;
33062
32902
  if (!members || members.length === 0) return null;
33063
32903
  return members.map((member) => /* @__PURE__ */ jsx(Card, { className: cn("p-0", memberCardClassName), children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6!", children: [
@@ -33264,7 +33104,7 @@ function TeamLargeImages({
33264
33104
  socialLinksClassName,
33265
33105
  optixFlowConfig
33266
33106
  }) {
33267
- const renderMembers = React23.useMemo(() => {
33107
+ const renderMembers = React25.useMemo(() => {
33268
33108
  if (membersSlot) return membersSlot;
33269
33109
  if (!members || members.length === 0) return null;
33270
33110
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -33439,7 +33279,7 @@ function TeamSkillBadges({
33439
33279
  socialLinksClassName,
33440
33280
  optixFlowConfig
33441
33281
  }) {
33442
- const renderMembers = React23.useMemo(() => {
33282
+ const renderMembers = React25.useMemo(() => {
33443
33283
  if (membersSlot) return membersSlot;
33444
33284
  if (!members || members.length === 0) return null;
33445
33285
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -33629,7 +33469,7 @@ function TeamTestimonialStats({
33629
33469
  socialLinksClassName,
33630
33470
  optixFlowConfig
33631
33471
  }) {
33632
- const renderMembers = React23.useMemo(() => {
33472
+ const renderMembers = React25.useMemo(() => {
33633
33473
  if (membersSlot) return membersSlot;
33634
33474
  if (!members || members.length === 0) return null;
33635
33475
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -37773,7 +37613,7 @@ function BlogGridAuthorCardsComponent({
37773
37613
  pattern,
37774
37614
  patternOpacity
37775
37615
  }) {
37776
- const viewAllActionContent = React23.useMemo(() => {
37616
+ const viewAllActionContent = React25.useMemo(() => {
37777
37617
  if (viewAllSlot) return viewAllSlot;
37778
37618
  if (!viewAllAction) return null;
37779
37619
  const {
@@ -37798,7 +37638,7 @@ function BlogGridAuthorCardsComponent({
37798
37638
  }
37799
37639
  );
37800
37640
  }, [viewAllSlot, viewAllAction]);
37801
- const postsContent = React23.useMemo(() => {
37641
+ const postsContent = React25.useMemo(() => {
37802
37642
  if (postsSlot) return postsSlot;
37803
37643
  if (!posts || posts.length === 0) return null;
37804
37644
  return posts.map((post) => {
@@ -37910,7 +37750,7 @@ function BlogCardsTaglineCta({
37910
37750
  pattern,
37911
37751
  patternOpacity
37912
37752
  }) {
37913
- const ctaActionContent = React23.useMemo(() => {
37753
+ const ctaActionContent = React25.useMemo(() => {
37914
37754
  if (ctaSlot) return ctaSlot;
37915
37755
  if (!ctaAction) return null;
37916
37756
  const {
@@ -37938,7 +37778,7 @@ function BlogCardsTaglineCta({
37938
37778
  }
37939
37779
  );
37940
37780
  }, [ctaSlot, ctaAction, ctaClassName]);
37941
- const postsContent = React23.useMemo(() => {
37781
+ const postsContent = React25.useMemo(() => {
37942
37782
  if (postsSlot) return postsSlot;
37943
37783
  if (!posts || posts.length === 0) return null;
37944
37784
  return posts.map((post) => {
@@ -38084,7 +37924,7 @@ function BlogCardsReadTime({
38084
37924
  pattern,
38085
37925
  patternOpacity
38086
37926
  }) {
38087
- const renderedViewAllAction = React23.useMemo(() => {
37927
+ const renderedViewAllAction = React25.useMemo(() => {
38088
37928
  if (viewAllSlot) return viewAllSlot;
38089
37929
  if (!viewAllAction) return null;
38090
37930
  const {
@@ -38101,7 +37941,7 @@ function BlogCardsReadTime({
38101
37941
  iconAfter
38102
37942
  ] }) });
38103
37943
  }, [viewAllSlot, viewAllAction]);
38104
- const renderedPosts = React23.useMemo(() => {
37944
+ const renderedPosts = React25.useMemo(() => {
38105
37945
  if (postsSlot) return postsSlot;
38106
37946
  if (!posts || posts.length === 0) return null;
38107
37947
  return posts.map((post) => {
@@ -38238,7 +38078,7 @@ function BlogCategoryOverlay({
38238
38078
  pattern,
38239
38079
  patternOpacity
38240
38080
  }) {
38241
- const viewAllActionContent = React23.useMemo(() => {
38081
+ const viewAllActionContent = React25.useMemo(() => {
38242
38082
  if (viewAllSlot) return viewAllSlot;
38243
38083
  if (!viewAllAction) return null;
38244
38084
  const {
@@ -38266,7 +38106,7 @@ function BlogCategoryOverlay({
38266
38106
  }
38267
38107
  );
38268
38108
  }, [viewAllSlot, viewAllAction, viewAllClassName]);
38269
- const postsContent = React23.useMemo(() => {
38109
+ const postsContent = React25.useMemo(() => {
38270
38110
  if (postsSlot) return postsSlot;
38271
38111
  if (!posts || posts.length === 0) return null;
38272
38112
  return posts.map((post) => {
@@ -38414,7 +38254,7 @@ function BlogFeaturedPopular({
38414
38254
  }) {
38415
38255
  const featuredPost = posts?.[0];
38416
38256
  const popularPosts = posts?.slice(1);
38417
- const renderedFeaturedPost = React23.useMemo(() => {
38257
+ const renderedFeaturedPost = React25.useMemo(() => {
38418
38258
  if (featuredSlot) return featuredSlot;
38419
38259
  if (!featuredPost) return null;
38420
38260
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link;
@@ -38466,7 +38306,7 @@ function BlogFeaturedPopular({
38466
38306
  featuredContentClassName,
38467
38307
  optixFlowConfig
38468
38308
  ]);
38469
- const renderedPopularPosts = React23.useMemo(() => {
38309
+ const renderedPopularPosts = React25.useMemo(() => {
38470
38310
  if (postsSlot) return postsSlot;
38471
38311
  if (!popularPosts || popularPosts.length === 0) return null;
38472
38312
  return popularPosts.map((post) => {
@@ -38583,7 +38423,7 @@ function BlogRelatedArticles({
38583
38423
  pattern,
38584
38424
  patternOpacity
38585
38425
  }) {
38586
- const renderedSeeAllAction = React23.useMemo(() => {
38426
+ const renderedSeeAllAction = React25.useMemo(() => {
38587
38427
  if (seeAllSlot) return seeAllSlot;
38588
38428
  if (!seeAllAction) return null;
38589
38429
  const {
@@ -38612,7 +38452,7 @@ function BlogRelatedArticles({
38612
38452
  }
38613
38453
  );
38614
38454
  }, [seeAllSlot, seeAllAction, seeAllClassName]);
38615
- const renderedArticles = React23.useMemo(() => {
38455
+ const renderedArticles = React25.useMemo(() => {
38616
38456
  if (articlesSlot) return articlesSlot;
38617
38457
  if (!articles || articles.length === 0) return null;
38618
38458
  return articles.map((item) => {
@@ -38920,7 +38760,7 @@ function BlogHorizontalCards({
38920
38760
  pattern,
38921
38761
  patternOpacity
38922
38762
  }) {
38923
- const ctaContent = React23.useMemo(() => {
38763
+ const ctaContent = React25.useMemo(() => {
38924
38764
  if (ctaSlot) return ctaSlot;
38925
38765
  if (!ctaAction) return null;
38926
38766
  const {
@@ -38945,7 +38785,7 @@ function BlogHorizontalCards({
38945
38785
  }
38946
38786
  );
38947
38787
  }, [ctaSlot, ctaAction]);
38948
- const postsContent = React23.useMemo(() => {
38788
+ const postsContent = React25.useMemo(() => {
38949
38789
  if (postsSlot) return postsSlot;
38950
38790
  if (!posts || posts.length === 0) return null;
38951
38791
  return posts.map((post) => {
@@ -39167,7 +39007,7 @@ function Label({
39167
39007
  );
39168
39008
  }
39169
39009
  var POSTS_PER_PAGE = 6;
39170
- var BlogCard = React23.memo(function BlogCard2({
39010
+ var BlogCard = React25.memo(function BlogCard2({
39171
39011
  post,
39172
39012
  optixFlowConfig,
39173
39013
  className
@@ -39206,7 +39046,7 @@ var BlogCard = React23.memo(function BlogCard2({
39206
39046
  ] })
39207
39047
  ] }) });
39208
39048
  });
39209
- var FilterForm = React23.memo(function FilterForm2({
39049
+ var FilterForm = React25.memo(function FilterForm2({
39210
39050
  categories,
39211
39051
  selectedCategories,
39212
39052
  onCategoryChange,
@@ -39239,7 +39079,7 @@ var FilterForm = React23.memo(function FilterForm2({
39239
39079
  }
39240
39080
  );
39241
39081
  });
39242
- var BreadcrumbBlog = React23.memo(function BreadcrumbBlog2({
39082
+ var BreadcrumbBlog = React25.memo(function BreadcrumbBlog2({
39243
39083
  breadcrumb
39244
39084
  }) {
39245
39085
  return /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumb.map((item, i) => {
@@ -39321,12 +39161,12 @@ function BlogFilteredResultsComponent({
39321
39161
  }, [posts, selectedCategories]);
39322
39162
  const postsToDisplay = filteredPosts.length > 0 ? filteredPosts : posts || [];
39323
39163
  const hasMore = visibleCount < postsToDisplay.length;
39324
- const breadcrumbContent = React23.useMemo(() => {
39164
+ const breadcrumbContent = React25.useMemo(() => {
39325
39165
  if (breadcrumbSlot) return breadcrumbSlot;
39326
39166
  if (!breadcrumb || breadcrumb.length === 0) return null;
39327
39167
  return /* @__PURE__ */ jsx(BreadcrumbBlog, { breadcrumb });
39328
39168
  }, [breadcrumbSlot, breadcrumb]);
39329
- const primaryPostContent = React23.useMemo(() => {
39169
+ const primaryPostContent = React25.useMemo(() => {
39330
39170
  if (primaryPostSlot) return primaryPostSlot;
39331
39171
  if (!primaryPost) return null;
39332
39172
  return /* @__PURE__ */ jsx(
@@ -39338,7 +39178,7 @@ function BlogFilteredResultsComponent({
39338
39178
  }
39339
39179
  );
39340
39180
  }, [primaryPostSlot, primaryPost, optixFlowConfig, postCardClassName]);
39341
- const categoriesContent = React23.useMemo(() => {
39181
+ const categoriesContent = React25.useMemo(() => {
39342
39182
  if (categoriesSlot) return categoriesSlot;
39343
39183
  if (!categories || categories.length === 0) return null;
39344
39184
  return /* @__PURE__ */ jsx(
@@ -39357,7 +39197,7 @@ function BlogFilteredResultsComponent({
39357
39197
  handleCategoryChange,
39358
39198
  categoriesClassName
39359
39199
  ]);
39360
- const postsContent = React23.useMemo(() => {
39200
+ const postsContent = React25.useMemo(() => {
39361
39201
  if (postsSlot) return postsSlot;
39362
39202
  return postsToDisplay.slice(0, visibleCount).map((post) => {
39363
39203
  const postKey = post.id || String(post.title) || Math.random().toString();
@@ -39378,7 +39218,7 @@ function BlogFilteredResultsComponent({
39378
39218
  optixFlowConfig,
39379
39219
  postCardClassName
39380
39220
  ]);
39381
- const loadMoreContent = React23.useMemo(() => {
39221
+ const loadMoreContent = React25.useMemo(() => {
39382
39222
  if (loadMoreSlot) return loadMoreSlot;
39383
39223
  if (!loadMoreAction || !hasMore) return null;
39384
39224
  const {
@@ -39504,7 +39344,7 @@ function BlogMasonryFeaturedComponent({
39504
39344
  }) {
39505
39345
  const featuredPost = posts?.[0];
39506
39346
  const otherPosts = posts?.slice(1);
39507
- const featuredPostContent = React23.useMemo(() => {
39347
+ const featuredPostContent = React25.useMemo(() => {
39508
39348
  if (featuredSlot) return featuredSlot;
39509
39349
  if (!featuredPost) return null;
39510
39350
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
@@ -39554,7 +39394,7 @@ function BlogMasonryFeaturedComponent({
39554
39394
  featuredImageClassName,
39555
39395
  optixFlowConfig
39556
39396
  ]);
39557
- const otherPostsContent = React23.useMemo(() => {
39397
+ const otherPostsContent = React25.useMemo(() => {
39558
39398
  if (postsSlot) return postsSlot;
39559
39399
  if (!otherPosts || otherPosts.length === 0) return null;
39560
39400
  return otherPosts.map((post) => {
@@ -39643,7 +39483,7 @@ function BlogHorizontalTimelineComponent({
39643
39483
  pattern,
39644
39484
  patternOpacity
39645
39485
  }) {
39646
- const renderPosts = React23.useMemo(() => {
39486
+ const renderPosts = React25.useMemo(() => {
39647
39487
  if (postsSlot) return postsSlot;
39648
39488
  if (!posts || posts.length === 0) return null;
39649
39489
  return posts.map((post, index) => {
@@ -39768,7 +39608,7 @@ function BlogGridNinePosts({
39768
39608
  pattern,
39769
39609
  patternOpacity
39770
39610
  }) {
39771
- const renderedCtaAction = React23.useMemo(() => {
39611
+ const renderedCtaAction = React25.useMemo(() => {
39772
39612
  if (ctaSlot) return ctaSlot;
39773
39613
  if (!ctaAction) return null;
39774
39614
  const {
@@ -39793,7 +39633,7 @@ function BlogGridNinePosts({
39793
39633
  }
39794
39634
  );
39795
39635
  }, [ctaSlot, ctaAction]);
39796
- const renderedPosts = React23.useMemo(() => {
39636
+ const renderedPosts = React25.useMemo(() => {
39797
39637
  if (postsSlot) return postsSlot;
39798
39638
  if (!posts || posts.length === 0) return null;
39799
39639
  return posts.map((post) => {
@@ -39891,9 +39731,9 @@ var AppleCarousel = ({
39891
39731
  className,
39892
39732
  containerClassName
39893
39733
  }) => {
39894
- const carouselRef = React23__default.useRef(null);
39895
- const [canScrollLeft, setCanScrollLeft] = React23__default.useState(false);
39896
- const [canScrollRight, setCanScrollRight] = React23__default.useState(true);
39734
+ const carouselRef = React25__default.useRef(null);
39735
+ const [canScrollLeft, setCanScrollLeft] = React25__default.useState(false);
39736
+ const [canScrollRight, setCanScrollRight] = React25__default.useState(true);
39897
39737
  const [currentIndex, setCurrentIndex] = useState(0);
39898
39738
  useEffect(() => {
39899
39739
  if (carouselRef.current) {
@@ -40130,7 +39970,7 @@ function BlogCarouselAppleComponent({
40130
39970
  containerClassName,
40131
39971
  cardClassName
40132
39972
  }) {
40133
- const carouselCards = React23.useMemo(() => {
39973
+ const carouselCards = React25.useMemo(() => {
40134
39974
  if (!posts || posts.length === 0) return [];
40135
39975
  return posts.map(
40136
39976
  (post, idx) => ({
@@ -40142,7 +39982,7 @@ function BlogCarouselAppleComponent({
40142
39982
  })
40143
39983
  );
40144
39984
  }, [posts]);
40145
- const cardElements = React23.useMemo(() => {
39985
+ const cardElements = React25.useMemo(() => {
40146
39986
  if (!posts || posts.length === 0) return [];
40147
39987
  return carouselCards.map((card, index) => {
40148
39988
  const post = posts[index];
@@ -40227,7 +40067,7 @@ function ArticleHeroProseComponent({
40227
40067
  description,
40228
40068
  authorImage
40229
40069
  } = post ?? {};
40230
- const authorContent = React23.useMemo(() => {
40070
+ const authorContent = React25.useMemo(() => {
40231
40071
  if (authorSlot) return authorSlot;
40232
40072
  if (!authorName) return null;
40233
40073
  return /* @__PURE__ */ jsxs(
@@ -40261,7 +40101,7 @@ function ArticleHeroProseComponent({
40261
40101
  dateFormat,
40262
40102
  authorClassName
40263
40103
  ]);
40264
- const heroMediaContent = React23.useMemo(() => {
40104
+ const heroMediaContent = React25.useMemo(() => {
40265
40105
  if (heroMediaSlot) return heroMediaSlot;
40266
40106
  if (!image) return null;
40267
40107
  return /* @__PURE__ */ jsx(
@@ -40362,7 +40202,7 @@ function ArticleSidebarStickyComponent({
40362
40202
  pattern,
40363
40203
  patternOpacity
40364
40204
  }) {
40365
- const backLinkContent = React23.useMemo(() => {
40205
+ const backLinkContent = React25.useMemo(() => {
40366
40206
  if (backLinkSlot) return backLinkSlot;
40367
40207
  if (!backHref && !backText) return null;
40368
40208
  return /* @__PURE__ */ jsxs(
@@ -40380,7 +40220,7 @@ function ArticleSidebarStickyComponent({
40380
40220
  }
40381
40221
  );
40382
40222
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
40383
- const renderAuthor = React23.useCallback(
40223
+ const renderAuthor = React25.useCallback(
40384
40224
  (isMobile = false) => {
40385
40225
  if (authorSlot) return authorSlot;
40386
40226
  if (!authorName) return null;
@@ -40412,7 +40252,7 @@ function ArticleSidebarStickyComponent({
40412
40252
  authorClassName
40413
40253
  ]
40414
40254
  );
40415
- const heroMediaContent = React23.useMemo(() => {
40255
+ const heroMediaContent = React25.useMemo(() => {
40416
40256
  if (heroMediaSlot) return heroMediaSlot;
40417
40257
  if (!heroImageSrc) return null;
40418
40258
  return /* @__PURE__ */ jsx(
@@ -40519,10 +40359,10 @@ function ArticleTocSidebarComponent({
40519
40359
  patternOpacity
40520
40360
  }) {
40521
40361
  const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
40522
- const [activeSection, setActiveSection] = React23.useState(
40362
+ const [activeSection, setActiveSection] = React25.useState(
40523
40363
  sections?.[0]?.id || ""
40524
40364
  );
40525
- React23.useEffect(() => {
40365
+ React25.useEffect(() => {
40526
40366
  if (!enableTocTracking || !sections || sections.length === 0) return;
40527
40367
  const observer = new IntersectionObserver(
40528
40368
  (entries) => {
@@ -40540,12 +40380,12 @@ function ArticleTocSidebarComponent({
40540
40380
  });
40541
40381
  return () => observer.disconnect();
40542
40382
  }, [sections, enableTocTracking]);
40543
- const categoryContent = React23.useMemo(() => {
40383
+ const categoryContent = React25.useMemo(() => {
40544
40384
  if (categorySlot) return categorySlot;
40545
40385
  if (!category) return null;
40546
40386
  return /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: category });
40547
40387
  }, [categorySlot, category]);
40548
- const authorContent = React23.useMemo(() => {
40388
+ const authorContent = React25.useMemo(() => {
40549
40389
  if (authorSlot) return authorSlot;
40550
40390
  if (!authorName) return null;
40551
40391
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4", authorClassName), children: [
@@ -40565,7 +40405,7 @@ function ArticleTocSidebarComponent({
40565
40405
  ] })
40566
40406
  ] });
40567
40407
  }, [authorSlot, authorName, authorImage, authorHref, publishDate, readTime, authorClassName]);
40568
- const heroMediaContent = React23.useMemo(() => {
40408
+ const heroMediaContent = React25.useMemo(() => {
40569
40409
  if (heroMediaSlot) return heroMediaSlot;
40570
40410
  if (!heroImageSrc) return null;
40571
40411
  return /* @__PURE__ */ jsx(
@@ -40578,7 +40418,7 @@ function ArticleTocSidebarComponent({
40578
40418
  }
40579
40419
  );
40580
40420
  }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
40581
- const tocContent = React23.useMemo(() => {
40421
+ const tocContent = React25.useMemo(() => {
40582
40422
  if (tocSlot) return tocSlot;
40583
40423
  if (!sections || sections.length === 0) return null;
40584
40424
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -40586,7 +40426,7 @@ function ArticleTocSidebarComponent({
40586
40426
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
40587
40427
  const isActive = activeSection === section.id;
40588
40428
  if (renderSectionLink) {
40589
- return /* @__PURE__ */ jsx(React23.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40429
+ return /* @__PURE__ */ jsx(React25.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40590
40430
  }
40591
40431
  return /* @__PURE__ */ jsx(
40592
40432
  Pressable,
@@ -40603,7 +40443,7 @@ function ArticleTocSidebarComponent({
40603
40443
  }) })
40604
40444
  ] });
40605
40445
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
40606
- const ctaContent = React23.useMemo(() => {
40446
+ const ctaContent = React25.useMemo(() => {
40607
40447
  if (ctaSlot) return ctaSlot;
40608
40448
  if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0)) return null;
40609
40449
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", getNestedCardBg(background, "subtle"), getNestedCardTextColor(background), ctaClassName), children: [
@@ -40692,11 +40532,11 @@ function ArticleBreadcrumbSocialComponent({
40692
40532
  patternOpacity
40693
40533
  }) {
40694
40534
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
40695
- const [activeSection, setActiveSection] = React23.useState(
40535
+ const [activeSection, setActiveSection] = React25.useState(
40696
40536
  sections?.[0]?.id || ""
40697
40537
  );
40698
- const [showBackToTop, setShowBackToTop] = React23.useState(false);
40699
- React23.useEffect(() => {
40538
+ const [showBackToTop, setShowBackToTop] = React25.useState(false);
40539
+ React25.useEffect(() => {
40700
40540
  if (!enableTocTracking || !sections || sections.length === 0) return;
40701
40541
  const observer = new IntersectionObserver(
40702
40542
  (entries) => {
@@ -40714,7 +40554,7 @@ function ArticleBreadcrumbSocialComponent({
40714
40554
  });
40715
40555
  return () => observer.disconnect();
40716
40556
  }, [sections, enableTocTracking]);
40717
- React23.useEffect(() => {
40557
+ React25.useEffect(() => {
40718
40558
  if (!enableBackToTop) return;
40719
40559
  const handleScroll = () => {
40720
40560
  setShowBackToTop(window.scrollY > 400);
@@ -40722,15 +40562,15 @@ function ArticleBreadcrumbSocialComponent({
40722
40562
  window.addEventListener("scroll", handleScroll);
40723
40563
  return () => window.removeEventListener("scroll", handleScroll);
40724
40564
  }, [enableBackToTop]);
40725
- const scrollToTop = React23.useCallback(() => {
40565
+ const scrollToTop = React25.useCallback(() => {
40726
40566
  window.scrollTo({ top: 0, behavior: "smooth" });
40727
40567
  }, []);
40728
- const breadcrumbsContent = React23.useMemo(() => {
40568
+ const breadcrumbsContent = React25.useMemo(() => {
40729
40569
  if (breadcrumbsSlot) return breadcrumbsSlot;
40730
40570
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
40731
40571
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
40732
40572
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
40733
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
40573
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
40734
40574
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
40735
40575
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
40736
40576
  ] }, index)),
@@ -40740,7 +40580,7 @@ function ArticleBreadcrumbSocialComponent({
40740
40580
  ] })
40741
40581
  ] }) });
40742
40582
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
40743
- const authorContent = React23.useMemo(() => {
40583
+ const authorContent = React25.useMemo(() => {
40744
40584
  if (authorSlot) return authorSlot;
40745
40585
  if (!author) return null;
40746
40586
  return /* @__PURE__ */ jsxs(
@@ -40763,7 +40603,7 @@ function ArticleBreadcrumbSocialComponent({
40763
40603
  }
40764
40604
  );
40765
40605
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
40766
- const heroMediaContent = React23.useMemo(() => {
40606
+ const heroMediaContent = React25.useMemo(() => {
40767
40607
  if (heroMediaSlot) return heroMediaSlot;
40768
40608
  if (!heroImageSrc) return null;
40769
40609
  return /* @__PURE__ */ jsx(
@@ -40785,7 +40625,7 @@ function ArticleBreadcrumbSocialComponent({
40785
40625
  heroImageClassName,
40786
40626
  optixFlowConfig
40787
40627
  ]);
40788
- const tocContent = React23.useMemo(() => {
40628
+ const tocContent = React25.useMemo(() => {
40789
40629
  if (tocSlot) return tocSlot;
40790
40630
  if (!sections || sections.length === 0) return null;
40791
40631
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -40793,7 +40633,7 @@ function ArticleBreadcrumbSocialComponent({
40793
40633
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
40794
40634
  const isActive = activeSection === section.id;
40795
40635
  if (renderSectionLink) {
40796
- return /* @__PURE__ */ jsx(React23.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40636
+ return /* @__PURE__ */ jsx(React25.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40797
40637
  }
40798
40638
  return /* @__PURE__ */ jsx(
40799
40639
  Pressable,
@@ -40898,11 +40738,11 @@ function ArticleCompactTocComponent({
40898
40738
  pattern,
40899
40739
  patternOpacity
40900
40740
  }) {
40901
- const [activeSection, setActiveSection] = React23.useState(
40741
+ const [activeSection, setActiveSection] = React25.useState(
40902
40742
  sections?.[0]?.id || ""
40903
40743
  );
40904
- const [isTocOpen, setIsTocOpen] = React23.useState(false);
40905
- React23.useEffect(() => {
40744
+ const [isTocOpen, setIsTocOpen] = React25.useState(false);
40745
+ React25.useEffect(() => {
40906
40746
  if (!enableTocTracking) return;
40907
40747
  const observer = new IntersectionObserver(
40908
40748
  (entries) => {
@@ -40920,12 +40760,12 @@ function ArticleCompactTocComponent({
40920
40760
  });
40921
40761
  return () => observer.disconnect();
40922
40762
  }, [sections, enableTocTracking]);
40923
- const breadcrumbsContent = React23.useMemo(() => {
40763
+ const breadcrumbsContent = React25.useMemo(() => {
40924
40764
  if (breadcrumbsSlot) return breadcrumbsSlot;
40925
40765
  if (!breadcrumbs && !currentPage) return null;
40926
40766
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-6 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
40927
40767
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
40928
- breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
40768
+ breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
40929
40769
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
40930
40770
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
40931
40771
  ] }, index)),
@@ -40933,7 +40773,7 @@ function ArticleCompactTocComponent({
40933
40773
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: currentPage }) })
40934
40774
  ] }) });
40935
40775
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
40936
- const shareContent = React23.useMemo(() => {
40776
+ const shareContent = React25.useMemo(() => {
40937
40777
  if (shareSlot) return shareSlot;
40938
40778
  if (!socialLinks || socialLinks.length === 0) return null;
40939
40779
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-2", shareClassName), children: [
@@ -40950,13 +40790,13 @@ function ArticleCompactTocComponent({
40950
40790
  ))
40951
40791
  ] });
40952
40792
  }, [shareSlot, socialLinks, shareClassName]);
40953
- const renderTocLinks = React23.useCallback(
40793
+ const renderTocLinks = React25.useCallback(
40954
40794
  (onLinkClick) => {
40955
40795
  if (!sections) return null;
40956
40796
  return sections.map((section) => {
40957
40797
  const isActive = activeSection === section.id;
40958
40798
  if (renderSectionLink) {
40959
- return /* @__PURE__ */ jsx(React23.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40799
+ return /* @__PURE__ */ jsx(React25.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40960
40800
  }
40961
40801
  return /* @__PURE__ */ jsx(
40962
40802
  Pressable,
@@ -40975,7 +40815,7 @@ function ArticleCompactTocComponent({
40975
40815
  },
40976
40816
  [sections, activeSection, renderSectionLink]
40977
40817
  );
40978
- const tocContent = React23.useMemo(() => {
40818
+ const tocContent = React25.useMemo(() => {
40979
40819
  if (tocSlot) return tocSlot;
40980
40820
  if (!sections || sections.length === 0) return null;
40981
40821
  return /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: /* @__PURE__ */ jsxs(Popover, { open: isTocOpen, onOpenChange: setIsTocOpen, children: [
@@ -41008,7 +40848,7 @@ function ArticleCompactTocComponent({
41008
40848
  )
41009
40849
  ] }) });
41010
40850
  }, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
41011
- const desktopTocContent = React23.useMemo(() => {
40851
+ const desktopTocContent = React25.useMemo(() => {
41012
40852
  if (tocSlot) return null;
41013
40853
  if (!sections || sections.length === 0) return null;
41014
40854
  return /* @__PURE__ */ jsx(
@@ -41025,7 +40865,7 @@ function ArticleCompactTocComponent({
41025
40865
  }
41026
40866
  );
41027
40867
  }, [tocSlot, sections, tocClassName, renderTocLinks]);
41028
- const heroMediaContent = React23.useMemo(() => {
40868
+ const heroMediaContent = React25.useMemo(() => {
41029
40869
  if (heroMediaSlot) return heroMediaSlot;
41030
40870
  if (!heroImageSrc) return null;
41031
40871
  return /* @__PURE__ */ jsx(
@@ -41155,10 +40995,10 @@ function ArticleChaptersAuthorComponent({
41155
40995
  variant: "default"
41156
40996
  }
41157
40997
  ] : []);
41158
- const [activeChapter, setActiveChapter] = React23.useState(
40998
+ const [activeChapter, setActiveChapter] = React25.useState(
41159
40999
  chapters?.[0]?.id || ""
41160
41000
  );
41161
- React23.useEffect(() => {
41001
+ React25.useEffect(() => {
41162
41002
  if (!enableChapterTracking || !chapters || chapters.length === 0) return;
41163
41003
  const observer = new IntersectionObserver(
41164
41004
  (entries) => {
@@ -41176,12 +41016,12 @@ function ArticleChaptersAuthorComponent({
41176
41016
  });
41177
41017
  return () => observer.disconnect();
41178
41018
  }, [chapters, enableChapterTracking]);
41179
- const breadcrumbsContent = React23.useMemo(() => {
41019
+ const breadcrumbsContent = React25.useMemo(() => {
41180
41020
  if (breadcrumbsSlot) return breadcrumbsSlot;
41181
41021
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
41182
41022
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
41183
41023
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
41184
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
41024
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
41185
41025
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
41186
41026
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
41187
41027
  ] }, index)),
@@ -41189,7 +41029,7 @@ function ArticleChaptersAuthorComponent({
41189
41029
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: typeof currentPage === "string" ? currentPage : currentPage }) })
41190
41030
  ] }) });
41191
41031
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
41192
- const chaptersNavContent = React23.useMemo(() => {
41032
+ const chaptersNavContent = React25.useMemo(() => {
41193
41033
  if (chaptersSlot) return chaptersSlot;
41194
41034
  if (!chapters || chapters.length === 0) return null;
41195
41035
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", chaptersClassName), children: [
@@ -41197,7 +41037,7 @@ function ArticleChaptersAuthorComponent({
41197
41037
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: chapters.map((chapter) => {
41198
41038
  const isActive = activeChapter === chapter.id;
41199
41039
  if (renderChapterLink) {
41200
- return /* @__PURE__ */ jsx(React23.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
41040
+ return /* @__PURE__ */ jsx(React25.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
41201
41041
  }
41202
41042
  return /* @__PURE__ */ jsxs(
41203
41043
  Pressable,
@@ -41223,7 +41063,7 @@ function ArticleChaptersAuthorComponent({
41223
41063
  renderChapterLink,
41224
41064
  chaptersClassName
41225
41065
  ]);
41226
- const authorCardContent = React23.useMemo(() => {
41066
+ const authorCardContent = React25.useMemo(() => {
41227
41067
  if (authorSlot) return authorSlot;
41228
41068
  if (!author) return null;
41229
41069
  let socialLinksContent = null;
@@ -41284,7 +41124,7 @@ function ArticleChaptersAuthorComponent({
41284
41124
  socialLinksContent
41285
41125
  ] });
41286
41126
  }, [authorSlot, author, authorClassName]);
41287
- const heroMediaContent = React23.useMemo(() => {
41127
+ const heroMediaContent = React25.useMemo(() => {
41288
41128
  if (heroMediaSlot) return heroMediaSlot;
41289
41129
  if (!heroImageSrc) return null;
41290
41130
  return /* @__PURE__ */ jsx(
@@ -41306,7 +41146,7 @@ function ArticleChaptersAuthorComponent({
41306
41146
  heroImageClassName,
41307
41147
  optixFlowConfig
41308
41148
  ]);
41309
- const conclusionContent = React23.useMemo(() => {
41149
+ const conclusionContent = React25.useMemo(() => {
41310
41150
  if (conclusionSlot) return conclusionSlot;
41311
41151
  if (!conclusionTitle && !conclusionDescription && (!conclusionActions || conclusionActions.length === 0))
41312
41152
  return null;
@@ -41451,7 +41291,7 @@ function ArticleSplitAnimatedComponent({
41451
41291
  }) {
41452
41292
  const ctaActions = ctaActionsProp ?? (ctaText ? [{ label: ctaText, href: ctaHref || "#", variant: "default", size: "lg" }] : []);
41453
41293
  const MotionWrapper = enableAnimations ? motion.div : "div";
41454
- const categoryContent = React23.useMemo(() => {
41294
+ const categoryContent = React25.useMemo(() => {
41455
41295
  if (categorySlot) return categorySlot;
41456
41296
  if (!category) return null;
41457
41297
  return /* @__PURE__ */ jsx(
@@ -41466,7 +41306,7 @@ function ArticleSplitAnimatedComponent({
41466
41306
  }
41467
41307
  );
41468
41308
  }, [categorySlot, category, categoryHref, categoryClassName]);
41469
- const heroMediaContent = React23.useMemo(() => {
41309
+ const heroMediaContent = React25.useMemo(() => {
41470
41310
  if (heroMediaSlot) return heroMediaSlot;
41471
41311
  if (!image) return null;
41472
41312
  return /* @__PURE__ */ jsx(
@@ -41479,7 +41319,7 @@ function ArticleSplitAnimatedComponent({
41479
41319
  }
41480
41320
  );
41481
41321
  }, [heroMediaSlot, image, imageAlt, title, optixFlowConfig]);
41482
- const authorContent = React23.useMemo(() => {
41322
+ const authorContent = React25.useMemo(() => {
41483
41323
  if (authorSlot) return authorSlot;
41484
41324
  if (!authorName) return null;
41485
41325
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-8 flex items-center gap-4", authorClassName), children: [
@@ -41493,7 +41333,7 @@ function ArticleSplitAnimatedComponent({
41493
41333
  ] })
41494
41334
  ] });
41495
41335
  }, [authorSlot, authorName, authorImage, authorHref, authorRole, authorClassName]);
41496
- const ctaContent = React23.useMemo(() => {
41336
+ const ctaContent = React25.useMemo(() => {
41497
41337
  if (ctaSlot) return ctaSlot;
41498
41338
  if (!ctaActions || ctaActions.length === 0) return null;
41499
41339
  return /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex flex-wrap gap-3", ctaClassName), children: ctaActions.map((action, index) => {
@@ -42916,7 +42756,7 @@ function FaqSidebarNavigation({
42916
42756
  accordionTriggerClassName,
42917
42757
  accordionContentClassName
42918
42758
  }) {
42919
- const [activeCategory, setActiveCategory] = React23.useState(
42759
+ const [activeCategory, setActiveCategory] = React25.useState(
42920
42760
  categories && categories.length > 1 ? "all" : categories?.[0]?.id || ""
42921
42761
  );
42922
42762
  const filteredCategories = useMemo(() => {
@@ -43805,7 +43645,7 @@ function FaqSplitHero({
43805
43645
  imageArea
43806
43646
  ] }) });
43807
43647
  }
43808
- var Controls = React23.memo(
43648
+ var Controls = React25.memo(
43809
43649
  ({
43810
43650
  handleNext,
43811
43651
  handlePrevious,
@@ -43836,7 +43676,7 @@ var Controls = React23.memo(
43836
43676
  ] });
43837
43677
  }
43838
43678
  );
43839
- var FeatureCard = React23.memo(
43679
+ var FeatureCard = React25.memo(
43840
43680
  ({ feature, isActive, onClick }) => {
43841
43681
  const variants2 = useMemo(
43842
43682
  () => ({
@@ -43944,7 +43784,7 @@ var FeatureCard = React23.memo(
43944
43784
  ) });
43945
43785
  }
43946
43786
  );
43947
- var FeaturesDesktop = React23.memo(
43787
+ var FeaturesDesktop = React25.memo(
43948
43788
  ({
43949
43789
  features,
43950
43790
  handleNext,
@@ -43978,7 +43818,7 @@ var FeaturesDesktop = React23.memo(
43978
43818
  ] });
43979
43819
  }
43980
43820
  );
43981
- var FeaturesMobile = React23.memo(
43821
+ var FeaturesMobile = React25.memo(
43982
43822
  ({
43983
43823
  features,
43984
43824
  handleNext,
@@ -44069,8 +43909,8 @@ function FeatureAnimatedCarousel({
44069
43909
  spacing = "py-12 md:py-32",
44070
43910
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
44071
43911
  }) {
44072
- const [activeIndex, setActiveIndex] = React23.useState(0);
44073
- const [direction, setDirection] = React23.useState(1);
43912
+ const [activeIndex, setActiveIndex] = React25.useState(0);
43913
+ const [direction, setDirection] = React25.useState(1);
44074
43914
  const handleNext = useCallback(() => {
44075
43915
  if (features && activeIndex < features.length - 1) {
44076
43916
  setDirection(1);
@@ -44932,7 +44772,7 @@ function FooterInfoCardsAccordion({
44932
44772
  patternOpacity,
44933
44773
  optixFlowConfig
44934
44774
  }) {
44935
- const [email, setEmail] = React23.useState("");
44775
+ const [email, setEmail] = React25.useState("");
44936
44776
  (/* @__PURE__ */ new Date()).getFullYear();
44937
44777
  const handleSubmit = (e) => {
44938
44778
  e.preventDefault();
@@ -45237,13 +45077,13 @@ function CaseStudiesImageGrid({
45237
45077
  patternOpacity,
45238
45078
  optixFlowConfig
45239
45079
  }) {
45240
- const getGridClass = React23.useCallback((index) => {
45080
+ const getGridClass = React25.useCallback((index) => {
45241
45081
  if (index === 0 || index === 4) {
45242
45082
  return "row-span-2 aspect-square lg:aspect-auto";
45243
45083
  }
45244
45084
  return "aspect-3/2 md:aspect-2/1";
45245
45085
  }, []);
45246
- const renderedItems = React23.useMemo(() => {
45086
+ const renderedItems = React25.useMemo(() => {
45247
45087
  if (itemsSlot) return itemsSlot;
45248
45088
  if (!items || items.length === 0) return null;
45249
45089
  return items.map((item, index) => /* @__PURE__ */ jsxs(
@@ -45329,7 +45169,7 @@ function CaseStudiesTestimonialStats({
45329
45169
  patternOpacity,
45330
45170
  optixFlowConfig
45331
45171
  }) {
45332
- const renderedTestimonials = React23.useMemo(() => {
45172
+ const renderedTestimonials = React25.useMemo(() => {
45333
45173
  if (testimonialsSlot) return testimonialsSlot;
45334
45174
  if (!testimonials || testimonials.length === 0) return null;
45335
45175
  return testimonials.map((testimonial, index) => /* @__PURE__ */ jsxs("div", { className: testimonialItemClassName, children: [
@@ -48802,7 +48642,7 @@ function CaseStudiesFeaturedBorder({
48802
48642
  patternOpacity,
48803
48643
  optixFlowConfig
48804
48644
  }) {
48805
- const renderedFeatured = React23.useMemo(() => {
48645
+ const renderedFeatured = React25.useMemo(() => {
48806
48646
  if (featuredSlot) return featuredSlot;
48807
48647
  if (!featuredCaseStudy) return null;
48808
48648
  return /* @__PURE__ */ jsxs(
@@ -48876,7 +48716,7 @@ function CaseStudiesFeaturedBorder({
48876
48716
  featuredImageClassName,
48877
48717
  optixFlowConfig
48878
48718
  ]);
48879
- const renderedCaseStudies = React23.useMemo(() => {
48719
+ const renderedCaseStudies = React25.useMemo(() => {
48880
48720
  if (caseStudiesSlot) return caseStudiesSlot;
48881
48721
  if (!caseStudies || caseStudies.length === 0) return null;
48882
48722
  return caseStudies.map((item, idx) => /* @__PURE__ */ jsxs(
@@ -48985,7 +48825,7 @@ function CaseStudiesStatsCard({
48985
48825
  patternOpacity,
48986
48826
  optixFlowConfig
48987
48827
  }) {
48988
- const renderedStats = React23.useMemo(() => {
48828
+ const renderedStats = React25.useMemo(() => {
48989
48829
  if (statsSlot) return statsSlot;
48990
48830
  if (!stats || stats.length === 0) return null;
48991
48831
  return /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col gap-8 sm:flex-row", statsClassName), children: stats.map((item, i) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
@@ -48993,7 +48833,7 @@ function CaseStudiesStatsCard({
48993
48833
  /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-muted-foreground", children: item.text })
48994
48834
  ] }, `stats-${i}`)) });
48995
48835
  }, [statsSlot, stats, statsClassName]);
48996
- const renderedAuthor = React23.useMemo(() => {
48836
+ const renderedAuthor = React25.useMemo(() => {
48997
48837
  if (authorSlot) return authorSlot;
48998
48838
  if (!author) return null;
48999
48839
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2.5", authorClassName), children: [
@@ -49007,7 +48847,7 @@ function CaseStudiesStatsCard({
49007
48847
  ] })
49008
48848
  ] });
49009
48849
  }, [authorSlot, author, authorClassName]);
49010
- const renderedActions = React23.useMemo(() => {
48850
+ const renderedActions = React25.useMemo(() => {
49011
48851
  if (actionsSlot) return actionsSlot;
49012
48852
  if (!actions || actions.length === 0) return null;
49013
48853
  return /* @__PURE__ */ jsx("div", { className: cn("shrink-0", actionsClassName), children: actions.map((action, index) => {
@@ -56048,7 +55888,7 @@ function HeroSplitImageNewsletter({
56048
55888
  onError,
56049
55889
  uploadTokens
56050
55890
  });
56051
- const renderForm = React23.useMemo(() => {
55891
+ const renderForm = React25.useMemo(() => {
56052
55892
  if (formSlot) return formSlot;
56053
55893
  if (!formFields || formFields.length === 0) return null;
56054
55894
  const defaultButtonAction = {
@@ -56127,7 +55967,7 @@ function HeroSplitImageNewsletter({
56127
55967
  resetUpload,
56128
55968
  resetSubmissionState
56129
55969
  ]);
56130
- const renderImage = React23.useMemo(() => {
55970
+ const renderImage = React25.useMemo(() => {
56131
55971
  if (imageSlot) return imageSlot;
56132
55972
  if (!image) return null;
56133
55973
  return /* @__PURE__ */ jsx("div", { className: "relative lg:w-1/2", children: /* @__PURE__ */ jsx(
@@ -57555,7 +57395,7 @@ function HeroSaasDashboardPreview({
57555
57395
  onError,
57556
57396
  uploadTokens
57557
57397
  });
57558
- const renderBadge = React23.useMemo(() => {
57398
+ const renderBadge = React25.useMemo(() => {
57559
57399
  if (badgeSlot) return badgeSlot;
57560
57400
  return /* @__PURE__ */ jsxs(
57561
57401
  "div",
@@ -57570,7 +57410,7 @@ function HeroSaasDashboardPreview({
57570
57410
  }
57571
57411
  );
57572
57412
  }, [badgeSlot, badgeIcon, badgeText]);
57573
- const renderForm = React23.useMemo(() => {
57413
+ const renderForm = React25.useMemo(() => {
57574
57414
  if (formSlot) return formSlot;
57575
57415
  const defaultButtonAction = {
57576
57416
  label: "Start Free Trial",
@@ -57578,7 +57418,7 @@ function HeroSaasDashboardPreview({
57578
57418
  className: "h-12"
57579
57419
  };
57580
57420
  const action = buttonAction || defaultButtonAction;
57581
- return /* @__PURE__ */ jsxs(
57421
+ return /* @__PURE__ */ jsx("div", { className: "mt-4 md:mt-6 w-full flex items-center justify-center", children: /* @__PURE__ */ jsxs(
57582
57422
  Form,
57583
57423
  {
57584
57424
  form,
@@ -57601,7 +57441,7 @@ function HeroSaasDashboardPreview({
57601
57441
  resetSubmissionState();
57602
57442
  },
57603
57443
  children: [
57604
- /* @__PURE__ */ jsx("div", { className: "mt-10 flex flex-col items-center gap-4 sm:flex-row sm:justify-center", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-md items-center gap-2", children: [
57444
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center gap-4 sm:flex-row sm:justify-center", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-md items-center gap-2", children: [
57605
57445
  formFields.map((field) => /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
57606
57446
  DynamicFormField,
57607
57447
  {
@@ -57627,7 +57467,7 @@ function HeroSaasDashboardPreview({
57627
57467
  helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-center mt-4"), children: helperText }) : helperText)
57628
57468
  ]
57629
57469
  }
57630
- );
57470
+ ) });
57631
57471
  }, [
57632
57472
  formSlot,
57633
57473
  formFields,
@@ -57645,10 +57485,10 @@ function HeroSaasDashboardPreview({
57645
57485
  resetUpload,
57646
57486
  resetSubmissionState
57647
57487
  ]);
57648
- const renderBrowserPreview = React23.useMemo(() => {
57488
+ const renderBrowserPreview = React25.useMemo(() => {
57649
57489
  if (browserPreviewSlot) return browserPreviewSlot;
57650
57490
  if (!browserPreview) return null;
57651
- return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-20", previewClassName), children: [
57491
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-12 md:mt-20", previewClassName), children: [
57652
57492
  /* @__PURE__ */ jsx("div", { className: "absolute inset-0 z-10 pointer-events-none" }),
57653
57493
  /* @__PURE__ */ jsxs(
57654
57494
  "div",
@@ -57696,40 +57536,40 @@ function HeroSaasDashboardPreview({
57696
57536
  patternOpacity,
57697
57537
  className: cn(className),
57698
57538
  containerClassName,
57699
- children: /* @__PURE__ */ jsxs("div", { className: "pt-10 md:pt-0", children: [
57700
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
57701
- renderBadge,
57702
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
57703
- "h1",
57704
- {
57705
- className: cn(
57706
- "mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
57707
- headingClassName
57708
- ),
57709
- children: heading
57710
- }
57711
- ) : /* @__PURE__ */ jsx(
57712
- "h1",
57713
- {
57714
- className: cn(
57715
- "mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
57716
- headingClassName
57717
- ),
57718
- children: heading
57719
- }
57720
- )),
57721
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
57722
- "p",
57723
- {
57724
- className: cn(
57725
- "mt-6 text-lg md:text-xl text-balance",
57726
- descriptionClassName
57727
- ),
57728
- children: description
57729
- }
57730
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
57731
- renderForm
57732
- ] }),
57539
+ children: /* @__PURE__ */ jsxs("div", { className: "pt-10 md:pt-0 flex flex-col items-center justify-center", children: [
57540
+ /* @__PURE__ */ jsxs(
57541
+ "div",
57542
+ {
57543
+ className: cn(
57544
+ "mx-auto text-center flex flex-col items-center gap-4 md:gap-6 max-w-full md:max-w-md",
57545
+ headerClassName
57546
+ ),
57547
+ children: [
57548
+ renderBadge,
57549
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
57550
+ "h1",
57551
+ {
57552
+ className: cn(
57553
+ "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
57554
+ headingClassName
57555
+ ),
57556
+ children: heading
57557
+ }
57558
+ ) : heading),
57559
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
57560
+ "p",
57561
+ {
57562
+ className: cn(
57563
+ "text-lg md:text-xl text-balance",
57564
+ descriptionClassName
57565
+ ),
57566
+ children: description
57567
+ }
57568
+ ) : description),
57569
+ renderForm
57570
+ ]
57571
+ }
57572
+ ),
57733
57573
  renderBrowserPreview
57734
57574
  ] })
57735
57575
  }
@@ -59896,7 +59736,7 @@ function HeroEcommerceProductShowcase({
59896
59736
  "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12",
59897
59737
  statsClassName
59898
59738
  ),
59899
- children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
59739
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
59900
59740
  index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
59901
59741
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 justify-between flex-row md:flex-col text-left md:text-center w-full md:w-fit border md:border-none rounded-xl md:rounded-none p-4 md:p-0", children: [
59902
59742
  /* @__PURE__ */ jsxs(
@@ -60302,6 +60142,14 @@ function HeroPricingComparison({
60302
60142
  }
60303
60143
  );
60304
60144
  }
60145
+ var DEFAULT_STYLE_RULES3 = {
60146
+ formContainer: "",
60147
+ fieldsContainer: "",
60148
+ fieldClassName: "",
60149
+ formClassName: "",
60150
+ successMessageClassName: "text-green-600 dark:text-green-400 mt-4 p-3 rounded-md bg-green-50 dark:bg-green-950/20",
60151
+ errorMessageClassName: "text-red-600 dark:text-red-400 mt-4 p-3 rounded-md bg-red-50 dark:bg-red-950/20"
60152
+ };
60305
60153
  var DEFAULT_FORM_FIELDS44 = [
60306
60154
  {
60307
60155
  name: "email",
@@ -60315,12 +60163,7 @@ var DEFAULT_FORM_FIELDS44 = [
60315
60163
  function HeroNewsletterMinimal({
60316
60164
  heading,
60317
60165
  description,
60318
- formFields = DEFAULT_FORM_FIELDS44,
60319
- formConfig,
60320
- onSubmit,
60321
- onSuccess,
60322
- onError,
60323
- successMessage,
60166
+ formEngineSetup,
60324
60167
  buttonAction,
60325
60168
  helperText,
60326
60169
  formSlot,
@@ -60329,7 +60172,7 @@ function HeroNewsletterMinimal({
60329
60172
  patternClassName,
60330
60173
  statsSlot,
60331
60174
  background,
60332
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
60175
+ containerClassName = "pmx-auto w-full max-w-7xl relative z-10 px-6 sm:px-6 md:px-8 lg:px-8 flex flex-col items-center justify-center",
60333
60176
  spacing = "xl",
60334
60177
  pattern,
60335
60178
  patternOpacity,
@@ -60340,26 +60183,24 @@ function HeroNewsletterMinimal({
60340
60183
  disclaimerClassName,
60341
60184
  statsClassName
60342
60185
  }) {
60343
- const {
60344
- uploadTokens,
60345
- uploadProgress,
60346
- isUploading,
60347
- uploadFiles,
60348
- removeFile,
60349
- resetUpload
60350
- } = useFileUpload({ onError });
60351
- const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
60352
- formFields,
60353
- formConfig,
60354
- onSubmit,
60355
- onSuccess: (data) => {
60356
- resetUpload();
60357
- onSuccess?.(data);
60358
- },
60359
- onError,
60360
- uploadTokens
60361
- });
60362
- const renderStats = React23.useMemo(() => {
60186
+ const formStyleRules = React25.useMemo(() => {
60187
+ return {
60188
+ formContainer: formEngineSetup?.formLayoutSettings?.styleRules?.formContainer ?? DEFAULT_STYLE_RULES3.formContainer,
60189
+ fieldsContainer: formEngineSetup?.formLayoutSettings?.styleRules?.fieldsContainer ?? DEFAULT_STYLE_RULES3.fieldsContainer,
60190
+ fieldClassName: formEngineSetup?.formLayoutSettings?.styleRules?.fieldClassName ?? DEFAULT_STYLE_RULES3.fieldClassName,
60191
+ formClassName: formEngineSetup?.formLayoutSettings?.styleRules?.formClassName ?? DEFAULT_STYLE_RULES3.formClassName,
60192
+ successMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.successMessageClassName ?? DEFAULT_STYLE_RULES3.successMessageClassName,
60193
+ errorMessageClassName: formEngineSetup?.formLayoutSettings?.styleRules?.errorMessageClassName ?? DEFAULT_STYLE_RULES3.errorMessageClassName
60194
+ };
60195
+ }, [formEngineSetup?.formLayoutSettings?.styleRules]);
60196
+ const formFields = React25.useMemo(() => {
60197
+ if (formEngineSetup && formEngineSetup?.fields && formEngineSetup?.fields?.length > 0) {
60198
+ return formEngineSetup.fields;
60199
+ } else {
60200
+ return DEFAULT_FORM_FIELDS44;
60201
+ }
60202
+ }, [formEngineSetup?.fields]);
60203
+ const renderStats = React25.useMemo(() => {
60363
60204
  if (statsSlot) return statsSlot;
60364
60205
  if (!stats || stats.length === 0) return null;
60365
60206
  return stats.map((stat, index) => /* @__PURE__ */ jsx("div", { className: cn("flex items-center", stat.className), children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
@@ -60385,82 +60226,39 @@ function HeroNewsletterMinimal({
60385
60226
  /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
60386
60227
  ] }) }, index));
60387
60228
  }, [statsSlot, stats]);
60388
- const renderForm = React23.useMemo(() => {
60229
+ const renderForm = React25.useMemo(() => {
60389
60230
  if (formSlot) return formSlot;
60231
+ if (!formEngineSetup) return null;
60390
60232
  const defaultButtonAction = {
60391
60233
  label: "Subscribe",
60392
- variant: "default",
60393
- className: "h-12"
60234
+ variant: "default"
60394
60235
  };
60395
60236
  const action = buttonAction || defaultButtonAction;
60396
- return /* @__PURE__ */ jsxs(
60397
- Form,
60398
- {
60399
- form,
60400
- fields: formFields,
60401
- notificationConfig: {
60402
- submissionError,
60403
- successMessage
60404
- },
60405
- formConfig: {
60406
- endpoint: formConfig?.endpoint,
60407
- method: formMethod,
60408
- submissionConfig: formConfig?.submissionConfig,
60409
- formLayout: "button-group",
60410
- buttonGroupSize: "lg",
60411
- submitLabel: action.label,
60412
- submitVariant: action.variant || "default"
60413
- },
60414
- onNewSubmission: () => {
60415
- resetUpload();
60416
- resetSubmissionState();
60417
- },
60418
- children: [
60419
- formFields.map((field) => /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
60420
- DynamicFormField,
60421
- {
60422
- field,
60423
- uploadProgress,
60424
- onFileUpload: uploadFiles,
60425
- onFileRemove: removeFile,
60426
- isUploading
60427
- }
60428
- ) }, field.name)),
60429
- /* @__PURE__ */ jsxs(
60430
- Pressable,
60431
- {
60432
- onClick: form.handleSubmit,
60433
- asButton: true,
60434
- variant: action.variant,
60435
- className: cn("h-12", action.className),
60436
- disabled: form.isSubmitting,
60437
- children: [
60237
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
60238
+ /* @__PURE__ */ jsx(
60239
+ FormEngine,
60240
+ {
60241
+ ...formEngineSetup,
60242
+ formLayoutSettings: {
60243
+ ...formEngineSetup.formLayoutSettings,
60244
+ formLayout: "button-group",
60245
+ buttonGroupSetup: {
60246
+ ...formEngineSetup.formLayoutSettings?.buttonGroupSetup,
60247
+ size: "lg",
60248
+ submitLabel: /* @__PURE__ */ jsxs(Fragment$1, { children: [
60438
60249
  action.label,
60439
60250
  action.iconAfter
60440
- ]
60441
- }
60442
- ),
60443
- helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2 text-center"), children: helperText }) : helperText)
60444
- ]
60445
- }
60446
- );
60447
- }, [
60448
- formSlot,
60449
- formFields,
60450
- form,
60451
- formConfig,
60452
- formMethod,
60453
- buttonAction,
60454
- uploadProgress,
60455
- uploadFiles,
60456
- removeFile,
60457
- isUploading,
60458
- submissionError,
60459
- successMessage,
60460
- helperText,
60461
- resetUpload,
60462
- resetSubmissionState
60463
- ]);
60251
+ ] }),
60252
+ submitVariant: action.variant || "default"
60253
+ },
60254
+ styleRules: formStyleRules
60255
+ },
60256
+ fields: formFields
60257
+ }
60258
+ ),
60259
+ helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2 text-center"), children: helperText }) : helperText)
60260
+ ] });
60261
+ }, [formSlot, formEngineSetup, buttonAction, formFields, formStyleRules, helperText]);
60464
60262
  return /* @__PURE__ */ jsx(
60465
60263
  Section,
60466
60264
  {
@@ -60471,58 +60269,49 @@ function HeroNewsletterMinimal({
60471
60269
  patternClassName,
60472
60270
  className,
60473
60271
  containerClassName,
60474
- children: /* @__PURE__ */ jsxs(
60475
- "div",
60476
- {
60477
- className: cn(
60478
- "container flex flex-col items-center justify-center text-center",
60479
- containerClassName
60480
- ),
60481
- children: [
60482
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
60483
- "h1",
60484
- {
60485
- className: cn(
60486
- "max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty",
60487
- headingClassName
60488
- ),
60489
- children: heading
60490
- }
60491
- ) : heading),
60492
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
60493
- "p",
60494
- {
60495
- className: cn(
60496
- "mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance",
60497
- descriptionClassName
60498
- ),
60499
- children: description
60500
- }
60501
- ) : description),
60502
- /* @__PURE__ */ jsx(
60503
- "div",
60504
- {
60505
- className: cn(
60506
- "mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row",
60507
- formClassName
60508
- ),
60509
- children: renderForm
60510
- }
60272
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center", children: [
60273
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
60274
+ "h1",
60275
+ {
60276
+ className: cn(
60277
+ "max-w-3xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-pretty text-center",
60278
+ headingClassName
60511
60279
  ),
60512
- disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-sm", disclaimerClassName), children: disclaimer }) : disclaimer),
60513
- (statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx(
60514
- "div",
60515
- {
60516
- className: cn(
60517
- "mt-16 flex flex-wrap items-center justify-center gap-8 md:gap-12",
60518
- statsClassName
60519
- ),
60520
- children: renderStats
60521
- }
60522
- )
60523
- ]
60524
- }
60525
- )
60280
+ children: heading
60281
+ }
60282
+ ) : heading),
60283
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
60284
+ "p",
60285
+ {
60286
+ className: cn(
60287
+ "mt-6 max-w-full md:max-w-lg text-lg md:text-xl text-balance text-center",
60288
+ descriptionClassName
60289
+ ),
60290
+ children: description
60291
+ }
60292
+ ) : description),
60293
+ /* @__PURE__ */ jsx(
60294
+ "div",
60295
+ {
60296
+ className: cn(
60297
+ "mt-10 flex w-full max-w-md flex-col gap-4 sm:flex-row",
60298
+ formClassName
60299
+ ),
60300
+ children: renderForm
60301
+ }
60302
+ ),
60303
+ disclaimer && (typeof disclaimer === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-sm", disclaimerClassName), children: disclaimer }) : disclaimer),
60304
+ (statsSlot || stats && stats.length > 0) && /* @__PURE__ */ jsx(
60305
+ "div",
60306
+ {
60307
+ className: cn(
60308
+ "mt-16 flex flex-wrap items-center justify-center gap-8 md:gap-12",
60309
+ statsClassName
60310
+ ),
60311
+ children: renderStats
60312
+ }
60313
+ )
60314
+ ] })
60526
60315
  }
60527
60316
  );
60528
60317
  }
@@ -60606,7 +60395,7 @@ function HeroComingSoonCountdown({
60606
60395
  formClassName,
60607
60396
  socialLinksClassName
60608
60397
  }) {
60609
- const [timeLeft, setTimeLeft] = React23.useState(null);
60398
+ const [timeLeft, setTimeLeft] = React25.useState(null);
60610
60399
  const {
60611
60400
  uploadTokens,
60612
60401
  uploadProgress,
@@ -60626,7 +60415,7 @@ function HeroComingSoonCountdown({
60626
60415
  onError,
60627
60416
  uploadTokens
60628
60417
  });
60629
- const calculateTimeLeft = React23.useCallback(() => {
60418
+ const calculateTimeLeft = React25.useCallback(() => {
60630
60419
  if (!countdownDate) return null;
60631
60420
  const now = Date.now();
60632
60421
  const target = countdownDate.getTime();
@@ -60639,7 +60428,7 @@ function HeroComingSoonCountdown({
60639
60428
  seconds: Math.floor(diff % (1e3 * 60) / 1e3)
60640
60429
  };
60641
60430
  }, [countdownDate]);
60642
- React23.useEffect(() => {
60431
+ React25.useEffect(() => {
60643
60432
  setTimeLeft(calculateTimeLeft());
60644
60433
  if (!countdownDate) return;
60645
60434
  const timer = setInterval(() => {
@@ -60650,7 +60439,7 @@ function HeroComingSoonCountdown({
60650
60439
  return () => clearInterval(timer);
60651
60440
  }, [countdownDate, calculateTimeLeft]);
60652
60441
  const showCountdown = countdownSlot || timeLeft;
60653
- const renderForm = React23.useMemo(() => {
60442
+ const renderForm = React25.useMemo(() => {
60654
60443
  if (formSlot) return formSlot;
60655
60444
  const defaultButtonAction = {
60656
60445
  label: "Notify Me",
@@ -60726,7 +60515,7 @@ function HeroComingSoonCountdown({
60726
60515
  resetUpload,
60727
60516
  resetSubmissionState
60728
60517
  ]);
60729
- const renderSocialLinks = React23.useMemo(() => {
60518
+ const renderSocialLinks = React25.useMemo(() => {
60730
60519
  if (socialLinksSlot) return socialLinksSlot;
60731
60520
  if (!socialLinks || socialLinks.length === 0) return null;
60732
60521
  return socialLinks.map((link, index) => /* @__PURE__ */ jsx(
@@ -60858,7 +60647,7 @@ function HeroEventRegistration({
60858
60647
  "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12 w-full md:w-fit",
60859
60648
  statsClassName
60860
60649
  ),
60861
- children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
60650
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
60862
60651
  index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
60863
60652
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 justify-between flex-row md:flex-col text-left md:text-center w-full md:w-fit border md:border-none rounded-xl md:rounded-none p-4 md:p-0", children: [
60864
60653
  /* @__PURE__ */ jsxs(
@@ -61198,7 +60987,7 @@ function ComparisonTableTwoColumn({
61198
60987
  patternOpacity,
61199
60988
  optixFlowConfig
61200
60989
  }) {
61201
- const tableContent = React23.useMemo(() => {
60990
+ const tableContent = React25.useMemo(() => {
61202
60991
  if (tableSlot) return tableSlot;
61203
60992
  if (!rows || rows.length === 0) return null;
61204
60993
  return /* @__PURE__ */ jsx("div", { className: cn("-mr-4 overflow-x-auto", tableWrapperClassName), children: /* @__PURE__ */ jsx("div", { className: "min-w-2xl overflow-hidden", children: /* @__PURE__ */ jsxs(
@@ -61228,7 +61017,7 @@ function ComparisonTableTwoColumn({
61228
61017
  optixFlowConfig
61229
61018
  }
61230
61019
  ) : optionBLabel && (typeof optionBLabel === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: optionBLabel }) : optionBLabel) }),
61231
- rows.map((row, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
61020
+ rows.map((row, idx) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
61232
61021
  /* @__PURE__ */ jsx("div", { className: "flex items-center border-b p-3 text-base font-medium md:p-4 md:text-lg", children: row.label }),
61233
61022
  /* @__PURE__ */ jsx("div", { className: cn("border-b bg-success/5 p-3 md:p-6", optionACellClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
61234
61023
  row.hasIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 20, className: "text-success" }),
@@ -61257,14 +61046,14 @@ function ComparisonTableTwoColumn({
61257
61046
  optionBLabel,
61258
61047
  optixFlowConfig
61259
61048
  ]);
61260
- const headingContent = React23.useMemo(() => {
61049
+ const headingContent = React25.useMemo(() => {
61261
61050
  if (!heading) return null;
61262
61051
  if (typeof heading === "string") {
61263
61052
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-8 text-3xl font-bold md:mb-12 md:text-5xl", headingClassName), children: heading });
61264
61053
  }
61265
61054
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61266
61055
  }, [heading, headingClassName]);
61267
- const descriptionContent = React23.useMemo(() => {
61056
+ const descriptionContent = React25.useMemo(() => {
61268
61057
  if (!description) return null;
61269
61058
  if (typeof description === "string") {
61270
61059
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61311,7 +61100,7 @@ function ComparisonFeatureCards({
61311
61100
  patternOpacity,
61312
61101
  optixFlowConfig
61313
61102
  }) {
61314
- const renderCard = React23.useCallback(
61103
+ const renderCard = React25.useCallback(
61315
61104
  (product, isHighlighted) => /* @__PURE__ */ jsxs(
61316
61105
  "div",
61317
61106
  {
@@ -61367,7 +61156,7 @@ function ComparisonFeatureCards({
61367
61156
  ),
61368
61157
  [cardClassName, optixFlowConfig]
61369
61158
  );
61370
- const cardsContent = React23.useMemo(() => {
61159
+ const cardsContent = React25.useMemo(() => {
61371
61160
  if (cardsSlot) return cardsSlot;
61372
61161
  if (!productA || !productB) return null;
61373
61162
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -61375,28 +61164,28 @@ function ComparisonFeatureCards({
61375
61164
  renderCard(productB, productB.highlighted ?? false)
61376
61165
  ] });
61377
61166
  }, [cardsSlot, productA, productB, renderCard]);
61378
- const headingContent = React23.useMemo(() => {
61167
+ const headingContent = React25.useMemo(() => {
61379
61168
  if (!heading) return null;
61380
61169
  if (typeof heading === "string") {
61381
61170
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-6 text-4xl font-semibold md:text-7xl", headingClassName), children: heading });
61382
61171
  }
61383
61172
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61384
61173
  }, [heading, headingClassName]);
61385
- const descriptionContent = React23.useMemo(() => {
61174
+ const descriptionContent = React25.useMemo(() => {
61386
61175
  if (!description) return null;
61387
61176
  if (typeof description === "string") {
61388
61177
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-4xl text-muted-foreground md:text-xl", descriptionClassName), children: description });
61389
61178
  }
61390
61179
  return /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description });
61391
61180
  }, [description, descriptionClassName]);
61392
- const suitabilityContent = React23.useMemo(() => {
61181
+ const suitabilityContent = React25.useMemo(() => {
61393
61182
  if (!suitabilityTitle && !suitabilityDescription) return null;
61394
61183
  return /* @__PURE__ */ jsxs("div", { className: suitabilityClassName, children: [
61395
61184
  suitabilityTitle && (typeof suitabilityTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: suitabilityTitle }) : suitabilityTitle),
61396
61185
  suitabilityDescription && (typeof suitabilityDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "leading-6 text-muted-foreground md:text-lg", children: suitabilityDescription }) : suitabilityDescription)
61397
61186
  ] });
61398
61187
  }, [suitabilityTitle, suitabilityDescription, suitabilityClassName]);
61399
- const differencesContent = React23.useMemo(() => {
61188
+ const differencesContent = React25.useMemo(() => {
61400
61189
  if (!differencesTitle && !differencesDescription) return null;
61401
61190
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-16", differencesClassName), children: [
61402
61191
  differencesTitle && (typeof differencesTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: differencesTitle }) : differencesTitle),
@@ -61444,7 +61233,7 @@ function ComparisonGridBadges({
61444
61233
  pattern,
61445
61234
  patternOpacity
61446
61235
  }) {
61447
- const featuresContent = React23.useMemo(() => {
61236
+ const featuresContent = React25.useMemo(() => {
61448
61237
  if (featuresSlot) return featuresSlot;
61449
61238
  if (!features || features.length === 0) return null;
61450
61239
  return features.map((feature, idx) => /* @__PURE__ */ jsxs(
@@ -61491,14 +61280,14 @@ function ComparisonGridBadges({
61491
61280
  idx
61492
61281
  ));
61493
61282
  }, [featuresSlot, features, featureCardClassName, badgeClassName, optionALabel, optionBLabel]);
61494
- const headingContent = React23.useMemo(() => {
61283
+ const headingContent = React25.useMemo(() => {
61495
61284
  if (!heading) return null;
61496
61285
  if (typeof heading === "string") {
61497
61286
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-3xl font-bold md:text-5xl", headingClassName), children: heading });
61498
61287
  }
61499
61288
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61500
61289
  }, [heading, headingClassName]);
61501
- const descriptionContent = React23.useMemo(() => {
61290
+ const descriptionContent = React25.useMemo(() => {
61502
61291
  if (!description) return null;
61503
61292
  if (typeof description === "string") {
61504
61293
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-2xl text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61546,7 +61335,7 @@ function ComparisonMetricsRows({
61546
61335
  pattern,
61547
61336
  patternOpacity
61548
61337
  }) {
61549
- const metricsContent = React23.useMemo(() => {
61338
+ const metricsContent = React25.useMemo(() => {
61550
61339
  if (metricsSlot) return metricsSlot;
61551
61340
  if (!metrics || metrics.length === 0) return null;
61552
61341
  return /* @__PURE__ */ jsx(
@@ -61586,7 +61375,7 @@ function ComparisonMetricsRows({
61586
61375
  }
61587
61376
  );
61588
61377
  }, [metricsSlot, metrics, metricsClassName, metricRowClassName]);
61589
- const actionsContent = React23.useMemo(() => {
61378
+ const actionsContent = React25.useMemo(() => {
61590
61379
  if (actionsSlot) return actionsSlot;
61591
61380
  if (!actions || actions.length === 0) return null;
61592
61381
  return /* @__PURE__ */ jsx("div", { className: cn("flex justify-end", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxs(
@@ -61607,7 +61396,7 @@ function ComparisonMetricsRows({
61607
61396
  idx
61608
61397
  )) });
61609
61398
  }, [actionsSlot, actions, actionsClassName]);
61610
- const headingContent = React23.useMemo(() => {
61399
+ const headingContent = React25.useMemo(() => {
61611
61400
  if (!heading) return null;
61612
61401
  if (typeof heading === "string") {
61613
61402
  return /* @__PURE__ */ jsx(
@@ -61623,7 +61412,7 @@ function ComparisonMetricsRows({
61623
61412
  }
61624
61413
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61625
61414
  }, [heading, headingClassName]);
61626
- const descriptionContent = React23.useMemo(() => {
61415
+ const descriptionContent = React25.useMemo(() => {
61627
61416
  if (!description) return null;
61628
61417
  if (typeof description === "string") {
61629
61418
  return /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61686,7 +61475,7 @@ function ComparisonImageCards({
61686
61475
  patternOpacity,
61687
61476
  optixFlowConfig
61688
61477
  }) {
61689
- const renderCard = React23.useCallback(
61478
+ const renderCard = React25.useCallback(
61690
61479
  (option) => /* @__PURE__ */ jsx("div", { className: cn("relative h-full", cardClassName), children: /* @__PURE__ */ jsxs("div", { className: cn(
61691
61480
  "relative aspect-4/5 min-h-[400px] overflow-hidden rounded-2xl sm:aspect-[0.9] sm:min-h-[480px] sm:rounded-3xl md:min-h-[520px]",
61692
61481
  getNestedCardBg(background, "accent"),
@@ -61710,7 +61499,7 @@ function ComparisonImageCards({
61710
61499
  ] }) }),
61711
61500
  [cardClassName, optixFlowConfig]
61712
61501
  );
61713
- const cardsContent = React23.useMemo(() => {
61502
+ const cardsContent = React25.useMemo(() => {
61714
61503
  if (cardsSlot) return cardsSlot;
61715
61504
  if (!optionA || !optionB) return null;
61716
61505
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -61728,14 +61517,14 @@ function ComparisonImageCards({
61728
61517
  )
61729
61518
  ] });
61730
61519
  }, [cardsSlot, optionA, optionB, dividerText, dividerClassName, renderCard]);
61731
- const headingContent = React23.useMemo(() => {
61520
+ const headingContent = React25.useMemo(() => {
61732
61521
  if (!heading) return null;
61733
61522
  if (typeof heading === "string") {
61734
61523
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium sm:text-4xl md:text-5xl lg:text-6xl", headingClassName), children: heading });
61735
61524
  }
61736
61525
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61737
61526
  }, [heading, headingClassName]);
61738
- const descriptionContent = React23.useMemo(() => {
61527
+ const descriptionContent = React25.useMemo(() => {
61739
61528
  if (!description) return null;
61740
61529
  if (typeof description === "string") {
61741
61530
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto mt-4 max-w-3xl text-lg text-muted-foreground sm:mt-6 sm:text-xl", descriptionClassName), children: description });
@@ -61865,7 +61654,7 @@ function ComparisonTableTabs({
61865
61654
  patternOpacity
61866
61655
  }) {
61867
61656
  const [selectedTab, setSelectedTab] = useState(models?.[0]?.name || "");
61868
- const renderStatusIcon = React23.useCallback((status) => {
61657
+ const renderStatusIcon = React25.useCallback((status) => {
61869
61658
  if (status === "positive") {
61870
61659
  return /* @__PURE__ */ jsx("span", { className: "flex size-8 items-center justify-center rounded-full border bg-success/10", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" }) });
61871
61660
  }
@@ -61874,7 +61663,7 @@ function ComparisonTableTabs({
61874
61663
  }
61875
61664
  return /* @__PURE__ */ jsx("span", { className: "flex size-8 items-center justify-center rounded-full border bg-accent/10", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-minus", size: 16, className: "text-accent" }) });
61876
61665
  }, []);
61877
- const tableContent = React23.useMemo(() => {
61666
+ const tableContent = React25.useMemo(() => {
61878
61667
  if (tableSlot) return tableSlot;
61879
61668
  if (!models || models.length === 0 || !features || features.length === 0) return null;
61880
61669
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -61933,14 +61722,14 @@ function ComparisonTableTabs({
61933
61722
  ] }) })
61934
61723
  ] });
61935
61724
  }, [tableSlot, models, features, tabsClassName, tableClassName, tableHeaderClassName, tableCellClassName, selectedTab, renderStatusIcon]);
61936
- const headingContent = React23.useMemo(() => {
61725
+ const headingContent = React25.useMemo(() => {
61937
61726
  if (!heading) return null;
61938
61727
  if (typeof heading === "string") {
61939
61728
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
61940
61729
  }
61941
61730
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61942
61731
  }, [heading, headingClassName]);
61943
- const descriptionContent = React23.useMemo(() => {
61732
+ const descriptionContent = React25.useMemo(() => {
61944
61733
  if (!description) return null;
61945
61734
  if (typeof description === "string") {
61946
61735
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -62031,7 +61820,7 @@ function ComparisonTableTooltips({
62031
61820
  pattern,
62032
61821
  patternOpacity
62033
61822
  }) {
62034
- const renderCellContent = React23.useCallback(
61823
+ const renderCellContent = React25.useCallback(
62035
61824
  (cell, isHighlighted) => {
62036
61825
  if (typeof cell === "string") {
62037
61826
  return cell;
@@ -62058,7 +61847,7 @@ function ComparisonTableTooltips({
62058
61847
  },
62059
61848
  []
62060
61849
  );
62061
- const tableContent = React23.useMemo(() => {
61850
+ const tableContent = React25.useMemo(() => {
62062
61851
  if (tableSlot) return tableSlot;
62063
61852
  if (!rows || rows.length === 0) return null;
62064
61853
  return /* @__PURE__ */ jsxs(Table, { className: cn("rounded border text-left shadow-lg", tableClassName), children: [
@@ -62084,14 +61873,14 @@ function ComparisonTableTooltips({
62084
61873
  ] }, idx)) })
62085
61874
  ] });
62086
61875
  }, [tableSlot, rows, tableClassName, tableHeaderClassName, tableCellClassName, optionALabel, optionBLabel, renderCellContent]);
62087
- const headingContent = React23.useMemo(() => {
61876
+ const headingContent = React25.useMemo(() => {
62088
61877
  if (!heading) return null;
62089
61878
  if (typeof heading === "string") {
62090
61879
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
62091
61880
  }
62092
61881
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
62093
61882
  }, [heading, headingClassName]);
62094
- const descriptionContent = React23.useMemo(() => {
61883
+ const descriptionContent = React25.useMemo(() => {
62095
61884
  if (!description) return null;
62096
61885
  if (typeof description === "string") {
62097
61886
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
@@ -62133,7 +61922,7 @@ function ComparisonFeatureGrid({
62133
61922
  pattern,
62134
61923
  patternOpacity
62135
61924
  }) {
62136
- const renderStatusIcon = React23.useCallback((status) => {
61925
+ const renderStatusIcon = React25.useCallback((status) => {
62137
61926
  if (status === true) {
62138
61927
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 20, className: "text-success" });
62139
61928
  }
@@ -62142,7 +61931,7 @@ function ComparisonFeatureGrid({
62142
61931
  }
62143
61932
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20, className: "text-destructive" });
62144
61933
  }, []);
62145
- const gridContent = React23.useMemo(() => {
61934
+ const gridContent = React25.useMemo(() => {
62146
61935
  if (gridSlot) return gridSlot;
62147
61936
  if (!features || features.length === 0) return null;
62148
61937
  return /* @__PURE__ */ jsxs(
@@ -62208,14 +61997,14 @@ function ComparisonFeatureGrid({
62208
61997
  optionBLabel,
62209
61998
  renderStatusIcon
62210
61999
  ]);
62211
- const headingContent = React23.useMemo(() => {
62000
+ const headingContent = React25.useMemo(() => {
62212
62001
  if (!heading) return null;
62213
62002
  if (typeof heading === "string") {
62214
62003
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
62215
62004
  }
62216
62005
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
62217
62006
  }, [heading, headingClassName]);
62218
- const descriptionContent = React23.useMemo(() => {
62007
+ const descriptionContent = React25.useMemo(() => {
62219
62008
  if (!description) return null;
62220
62009
  if (typeof description === "string") {
62221
62010
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
@@ -62259,7 +62048,7 @@ function ComparisonAiModels({
62259
62048
  optixFlowConfig
62260
62049
  }) {
62261
62050
  const [hoveredModel, setHoveredModel] = useState(null);
62262
- const renderStatusIcon = React23.useCallback((status) => {
62051
+ const renderStatusIcon = React25.useCallback((status) => {
62263
62052
  if (status === "best") {
62264
62053
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" });
62265
62054
  }
@@ -62268,7 +62057,7 @@ function ComparisonAiModels({
62268
62057
  }
62269
62058
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/minus", size: 16, className: "text-muted-foreground" });
62270
62059
  }, []);
62271
- const getCellClassName = React23.useCallback(
62060
+ const getCellClassName = React25.useCallback(
62272
62061
  (status, modelKey) => {
62273
62062
  const baseClass = "cursor-pointer py-4 text-center font-medium transition-all duration-300";
62274
62063
  let statusClass = "";
@@ -62289,7 +62078,7 @@ function ComparisonAiModels({
62289
62078
  },
62290
62079
  [hoveredModel]
62291
62080
  );
62292
- const getSummaryCardClassName = React23.useCallback(
62081
+ const getSummaryCardClassName = React25.useCallback(
62293
62082
  (modelKey) => {
62294
62083
  const baseClass = "rounded border border-border/30 bg-background/50 p-3 transition-all duration-300";
62295
62084
  if (hoveredModel === modelKey) {
@@ -62304,7 +62093,7 @@ function ComparisonAiModels({
62304
62093
  },
62305
62094
  [hoveredModel]
62306
62095
  );
62307
- const tableContent = React23.useMemo(() => {
62096
+ const tableContent = React25.useMemo(() => {
62308
62097
  if (tableSlot) return tableSlot;
62309
62098
  if (!models || !comparisonData || comparisonData.length === 0) return null;
62310
62099
  return /* @__PURE__ */ jsx(
@@ -62382,7 +62171,7 @@ function ComparisonAiModels({
62382
62171
  getCellClassName,
62383
62172
  renderStatusIcon
62384
62173
  ]);
62385
- const analysisContent = React23.useMemo(() => {
62174
+ const analysisContent = React25.useMemo(() => {
62386
62175
  if (analysisSlot) return analysisSlot;
62387
62176
  if (!models) return null;
62388
62177
  return /* @__PURE__ */ jsx("div", { className: cn(
@@ -62423,14 +62212,14 @@ function ComparisonAiModels({
62423
62212
  ] })
62424
62213
  ] }) });
62425
62214
  }, [analysisSlot, models, analysisClassName, getSummaryCardClassName]);
62426
- const headingContent = React23.useMemo(() => {
62215
+ const headingContent = React25.useMemo(() => {
62427
62216
  if (!heading) return null;
62428
62217
  if (typeof heading === "string") {
62429
62218
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
62430
62219
  }
62431
62220
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
62432
62221
  }, [heading, headingClassName]);
62433
- const descriptionContent = React23.useMemo(() => {
62222
+ const descriptionContent = React25.useMemo(() => {
62434
62223
  if (!description) return null;
62435
62224
  if (typeof description === "string") {
62436
62225
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -62480,7 +62269,7 @@ function ComparisonLegacyModern({
62480
62269
  pattern,
62481
62270
  patternOpacity
62482
62271
  }) {
62483
- const columnsContent = React23.useMemo(() => {
62272
+ const columnsContent = React25.useMemo(() => {
62484
62273
  if (columnsSlot) return columnsSlot;
62485
62274
  if (!legacyFeatures || legacyFeatures.length === 0 || !modernFeatures || modernFeatures.length === 0)
62486
62275
  return null;
@@ -62492,7 +62281,7 @@ function ComparisonLegacyModern({
62492
62281
  legacyColumnClassName
62493
62282
  ), children: [
62494
62283
  legacyTitle && (typeof legacyTitle === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: legacyTitle }) : legacyTitle),
62495
- /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: legacyFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
62284
+ /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: legacyFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
62496
62285
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
62497
62286
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16, className: "my-1.5 shrink-0 text-muted-foreground" }),
62498
62287
  /* @__PURE__ */ jsx("li", { className: "text-sm", children: feature.text })
@@ -62509,7 +62298,7 @@ function ComparisonLegacyModern({
62509
62298
  ),
62510
62299
  children: [
62511
62300
  modernTitle && (typeof modernTitle === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: modernTitle }) : modernTitle),
62512
- /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: modernFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
62301
+ /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: modernFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
62513
62302
  /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-2 text-sm", children: [
62514
62303
  /* @__PURE__ */ jsx("span", { className: "text-lg", children: feature.emoji }),
62515
62304
  feature.text
@@ -62521,7 +62310,7 @@ function ComparisonLegacyModern({
62521
62310
  )
62522
62311
  ] });
62523
62312
  }, [columnsSlot, legacyFeatures, modernFeatures, legacyTitle, modernTitle, legacyColumnClassName, modernColumnClassName]);
62524
- const headingContent = React23.useMemo(() => {
62313
+ const headingContent = React25.useMemo(() => {
62525
62314
  if (!heading && !headingHighlight) return null;
62526
62315
  return /* @__PURE__ */ jsxs("h2", { className: cn("text-4xl font-medium md:text-5xl lg:text-7xl", headingClassName), children: [
62527
62316
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
@@ -62534,7 +62323,7 @@ function ComparisonLegacyModern({
62534
62323
  ] }) : headingHighlight)
62535
62324
  ] });
62536
62325
  }, [heading, headingHighlight, headingClassName, headingHighlightClassName]);
62537
- const descriptionContent = React23.useMemo(() => {
62326
+ const descriptionContent = React25.useMemo(() => {
62538
62327
  if (!description) return null;
62539
62328
  if (typeof description === "string") {
62540
62329
  return /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description });
@@ -62707,7 +62496,7 @@ var NavbarMobileMenu = ({
62707
62496
  closeIconClassName,
62708
62497
  title = "Mobile Navigation"
62709
62498
  }) => {
62710
- React23.useEffect(() => {
62499
+ React25.useEffect(() => {
62711
62500
  if (open) {
62712
62501
  const originalOverflow = document.body.style.overflow;
62713
62502
  document.body.style.overflow = "hidden";
@@ -62936,7 +62725,7 @@ var NavbarDropdownMenu = ({
62936
62725
  patternOpacity,
62937
62726
  optixFlowConfig
62938
62727
  }) => {
62939
- const [open, setOpen] = React23.useState(false);
62728
+ const [open, setOpen] = React25.useState(false);
62940
62729
  const renderAuthActions = useMemo(() => {
62941
62730
  if (authActionsSlot) return authActionsSlot;
62942
62731
  if (!authActions || authActions.length === 0) return null;
@@ -63162,7 +62951,7 @@ var NavbarCenteredMenu = ({
63162
62951
  patternOpacity,
63163
62952
  optixFlowConfig
63164
62953
  }) => {
63165
- const [open, setOpen] = React23.useState(false);
62954
+ const [open, setOpen] = React25.useState(false);
63166
62955
  const renderAuthActions = useMemo(() => {
63167
62956
  if (authActionsSlot) return authActionsSlot;
63168
62957
  if (!authActions || authActions.length === 0) return null;
@@ -63302,7 +63091,7 @@ var DesktopMenuItem = ({
63302
63091
  index,
63303
63092
  optixFlowConfig
63304
63093
  }) => {
63305
- const imagesRef = React23.useRef([]);
63094
+ const imagesRef = React25.useRef([]);
63306
63095
  const layout = link.layout || "simple-grid";
63307
63096
  const handleMouseEnter = (event) => {
63308
63097
  const index2 = Number(event.currentTarget.getAttribute("data-index"));
@@ -64537,7 +64326,7 @@ var NavbarFeatureGrid = ({
64537
64326
  patternOpacity,
64538
64327
  optixFlowConfig
64539
64328
  }) => {
64540
- const [open, setOpen] = React23.useState(false);
64329
+ const [open, setOpen] = React25.useState(false);
64541
64330
  const renderAuthActions = useMemo(() => {
64542
64331
  if (authActionsSlot) return authActionsSlot;
64543
64332
  if (!authActions || authActions.length === 0) return null;
@@ -67747,7 +67536,7 @@ var DesktopMenuItem7 = ({
67747
67536
  if (item.groups && item.groups.length > 0) {
67748
67537
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
67749
67538
  /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.label }),
67750
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
67539
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
67751
67540
  groupIndex > 0 && /* @__PURE__ */ jsx(
67752
67541
  Separator,
67753
67542
  {
@@ -68499,7 +68288,7 @@ var NavbarSimpleLinks = ({
68499
68288
  const renderNavItems = useMemo(() => {
68500
68289
  if (navItemsSlot) return navItemsSlot;
68501
68290
  if (!navItems || navItems.length === 0) return null;
68502
- return navItems.map((item) => /* @__PURE__ */ jsx(React23.Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
68291
+ return navItems.map((item) => /* @__PURE__ */ jsx(React25.Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
68503
68292
  NavigationMenuLink,
68504
68293
  {
68505
68294
  "data-nav-item": item.name,
@@ -73528,7 +73317,7 @@ function PricingFullComparison({
73528
73317
  resolvedPlanIds[index]
73529
73318
  ))
73530
73319
  ] }) }),
73531
- /* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
73320
+ /* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
73532
73321
  /* @__PURE__ */ jsx("tr", { className: cn(getNestedCardBg(background), getNestedCardTextColor(background), categoryRowClassName), children: /* @__PURE__ */ jsx(
73533
73322
  "td",
73534
73323
  {
@@ -78129,9 +77918,9 @@ function ProcessStickySteps({
78129
77918
  );
78130
77919
  }
78131
77920
  var usePrevious = (value) => {
78132
- const [prev, setPrev] = React23.useState(void 0);
78133
- const ref = React23.useRef(value);
78134
- React23.useEffect(() => {
77921
+ const [prev, setPrev] = React25.useState(void 0);
77922
+ const ref = React25.useRef(value);
77923
+ React25.useEffect(() => {
78135
77924
  setPrev(ref.current);
78136
77925
  ref.current = value;
78137
77926
  }, [value]);
@@ -78144,12 +77933,12 @@ var ProcessCard = ({
78144
77933
  itemClassName,
78145
77934
  background
78146
77935
  }) => {
78147
- const ref = React23.useRef(null);
77936
+ const ref = React25.useRef(null);
78148
77937
  const itemInView = useInView(ref, {
78149
77938
  amount: 0,
78150
77939
  margin: "0px 0px -60% 0px"
78151
77940
  });
78152
- React23.useEffect(() => {
77941
+ React25.useEffect(() => {
78153
77942
  if (itemInView) {
78154
77943
  setActive(index);
78155
77944
  }
@@ -78199,7 +77988,7 @@ function ProcessScrollImage({
78199
77988
  ctaText,
78200
77989
  ctaUrl
78201
77990
  }) {
78202
- const [active, setActive] = React23.useState(0);
77991
+ const [active, setActive] = React25.useState(0);
78203
77992
  const previousActive = usePrevious(active);
78204
77993
  const resolvedHeading = title ?? heading;
78205
77994
  const resolvedActions = actions ?? (ctaText && ctaUrl ? [
@@ -78383,7 +78172,7 @@ var ProcessCard2 = ({
78383
78172
  hoverImageClassName,
78384
78173
  background
78385
78174
  }) => {
78386
- const [isHovered, setIsHovered] = React23.useState(false);
78175
+ const [isHovered, setIsHovered] = React25.useState(false);
78387
78176
  const titleText = typeof step.title === "string" ? step.title : `Step ${index + 1}`;
78388
78177
  return /* @__PURE__ */ jsxs(
78389
78178
  "li",
@@ -78707,7 +78496,7 @@ function ProcessExpandableTimeline({
78707
78496
  // Backwards compatibility
78708
78497
  title
78709
78498
  }) {
78710
- const [expandedIndex, setExpandedIndex] = React23.useState(null);
78499
+ const [expandedIndex, setExpandedIndex] = React25.useState(null);
78711
78500
  const resolvedHeading = title ?? heading;
78712
78501
  const toggleExpand = (index) => {
78713
78502
  setExpandedIndex(expandedIndex === index ? null : index);
@@ -83478,7 +83267,7 @@ function ListAchievementsShowcase({
83478
83267
  if (!items || items.length === 0) return null;
83479
83268
  return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", itemsClassName), children: [
83480
83269
  /* @__PURE__ */ jsx(Separator, {}),
83481
- items.map((item, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
83270
+ items.map((item, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
83482
83271
  /* @__PURE__ */ jsxs(
83483
83272
  "div",
83484
83273
  {
@@ -83598,7 +83387,7 @@ function ListCareerTimeline({
83598
83387
  const renderExperiences = useMemo(() => {
83599
83388
  if (experiencesSlot) return experiencesSlot;
83600
83389
  if (!experiences || experiences.length === 0) return null;
83601
- return /* @__PURE__ */ jsx("div", { className: experiencesClassName, children: experiences.map((experience, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
83390
+ return /* @__PURE__ */ jsx("div", { className: experiencesClassName, children: experiences.map((experience, idx) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
83602
83391
  /* @__PURE__ */ jsx(Separator, {}),
83603
83392
  /* @__PURE__ */ jsxs(
83604
83393
  "div",
@@ -83619,7 +83408,7 @@ function ListCareerTimeline({
83619
83408
  const renderAwards = useMemo(() => {
83620
83409
  if (awardsSlot) return awardsSlot;
83621
83410
  if (!awards || awards.length === 0) return null;
83622
- return /* @__PURE__ */ jsx("div", { className: awardsClassName, children: awards.map((award, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
83411
+ return /* @__PURE__ */ jsx("div", { className: awardsClassName, children: awards.map((award, idx) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
83623
83412
  /* @__PURE__ */ jsx(Separator, {}),
83624
83413
  /* @__PURE__ */ jsxs(
83625
83414
  "div",
@@ -83754,7 +83543,7 @@ function ListMetricsDashboard({
83754
83543
  activeCategory: controlledActiveCategory,
83755
83544
  onActiveCategoryChange
83756
83545
  }) {
83757
- const [internalActiveTab, setInternalActiveTab] = React23.useState("all");
83546
+ const [internalActiveTab, setInternalActiveTab] = React25.useState("all");
83758
83547
  const activeTab = controlledActiveCategory ?? internalActiveTab;
83759
83548
  const handleTabChange = (value) => {
83760
83549
  if (onActiveCategoryChange) {
@@ -84238,7 +84027,7 @@ function ListSearchableGrid({
84238
84027
  searchTerm: controlledSearchTerm,
84239
84028
  onSearchTermChange
84240
84029
  }) {
84241
- const [internalSearchTerm, setInternalSearchTerm] = React23.useState("");
84030
+ const [internalSearchTerm, setInternalSearchTerm] = React25.useState("");
84242
84031
  const searchTerm = controlledSearchTerm ?? internalSearchTerm;
84243
84032
  const handleSearchChange = (value) => {
84244
84033
  if (onSearchTermChange) {
@@ -84247,7 +84036,7 @@ function ListSearchableGrid({
84247
84036
  setInternalSearchTerm(value);
84248
84037
  }
84249
84038
  };
84250
- const filteredItems = React23.useMemo(() => {
84039
+ const filteredItems = React25.useMemo(() => {
84251
84040
  if (!searchTerm) {
84252
84041
  return items ?? [];
84253
84042
  }
@@ -84410,7 +84199,7 @@ function ListSearchableGrid({
84410
84199
  }
84411
84200
  );
84412
84201
  }
84413
- var { useMemo: useMemo432 } = React23;
84202
+ var { useMemo: useMemo433 } = React25;
84414
84203
  function OfferModalNewsletterDiscount({
84415
84204
  title,
84416
84205
  emailPlaceholder,
@@ -84478,7 +84267,7 @@ function OfferModalNewsletterDiscount({
84478
84267
  });
84479
84268
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
84480
84269
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
84481
- const renderCloseButton = useMemo432(() => {
84270
+ const renderCloseButton = useMemo433(() => {
84482
84271
  if (closeButtonSlot) return closeButtonSlot;
84483
84272
  if (!closeButtonText) return null;
84484
84273
  return /* @__PURE__ */ jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
@@ -84492,12 +84281,12 @@ function OfferModalNewsletterDiscount({
84492
84281
  }
84493
84282
  ) }) });
84494
84283
  }, [closeButtonSlot, closeButtonText, closeClassName]);
84495
- const renderHeader = useMemo432(() => {
84284
+ const renderHeader = useMemo433(() => {
84496
84285
  if (headerSlot) return headerSlot;
84497
84286
  if (!title) return null;
84498
84287
  return /* @__PURE__ */ jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
84499
84288
  }, [headerSlot, title, headerClassName, titleClassName]);
84500
- const renderForm = useMemo432(() => {
84289
+ const renderForm = useMemo433(() => {
84501
84290
  if (formSlot) return formSlot;
84502
84291
  return /* @__PURE__ */ jsxs(
84503
84292
  Form,
@@ -84559,7 +84348,7 @@ function OfferModalNewsletterDiscount({
84559
84348
  }
84560
84349
  ) });
84561
84350
  }
84562
- var { useMemo: useMemo433 } = React23;
84351
+ var { useMemo: useMemo434 } = React25;
84563
84352
  function OfferModalMembershipImage({
84564
84353
  overline,
84565
84354
  title,
@@ -84636,7 +84425,7 @@ function OfferModalMembershipImage({
84636
84425
  });
84637
84426
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
84638
84427
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
84639
- const renderImage = useMemo433(() => {
84428
+ const renderImage = useMemo434(() => {
84640
84429
  if (imageSlot) return imageSlot;
84641
84430
  if (!image) return null;
84642
84431
  return /* @__PURE__ */ jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsx(
@@ -84649,7 +84438,7 @@ function OfferModalMembershipImage({
84649
84438
  }
84650
84439
  ) });
84651
84440
  }, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
84652
- const renderCloseButton = useMemo433(() => {
84441
+ const renderCloseButton = useMemo434(() => {
84653
84442
  if (closeButtonSlot) return closeButtonSlot;
84654
84443
  return /* @__PURE__ */ jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
84655
84444
  Pressable,
@@ -84665,7 +84454,7 @@ function OfferModalMembershipImage({
84665
84454
  }
84666
84455
  ) }) });
84667
84456
  }, [closeButtonSlot, closeClassName]);
84668
- const renderForm = useMemo433(() => {
84457
+ const renderForm = useMemo434(() => {
84669
84458
  if (formSlot) return formSlot;
84670
84459
  return /* @__PURE__ */ jsxs(
84671
84460
  Form,
@@ -84728,7 +84517,7 @@ function OfferModalMembershipImage({
84728
84517
  }
84729
84518
  );
84730
84519
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
84731
- const renderFooter = useMemo433(() => {
84520
+ const renderFooter = useMemo434(() => {
84732
84521
  if (footerSlot) return footerSlot;
84733
84522
  if (!description) return null;
84734
84523
  return /* @__PURE__ */ jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
@@ -84848,7 +84637,7 @@ function SheetDescription({
84848
84637
  }
84849
84638
  );
84850
84639
  }
84851
- var { useMemo: useMemo434 } = React23;
84640
+ var { useMemo: useMemo435 } = React25;
84852
84641
  function OfferModalSheetNewsletter({
84853
84642
  logo,
84854
84643
  logoSlot,
@@ -84931,7 +84720,7 @@ function OfferModalSheetNewsletter({
84931
84720
  });
84932
84721
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
84933
84722
  const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
84934
- const renderLogo = useMemo434(() => {
84723
+ const renderLogo = useMemo435(() => {
84935
84724
  if (logoSlot) return logoSlot;
84936
84725
  if (!logo) return null;
84937
84726
  const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
@@ -84945,7 +84734,7 @@ function OfferModalSheetNewsletter({
84945
84734
  }
84946
84735
  );
84947
84736
  }, [logoSlot, logo, logoClassName, optixFlowConfig]);
84948
- const renderHeader = useMemo434(() => {
84737
+ const renderHeader = useMemo435(() => {
84949
84738
  if (headerSlot) return headerSlot;
84950
84739
  return /* @__PURE__ */ jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
84951
84740
  renderLogo,
@@ -84955,7 +84744,7 @@ function OfferModalSheetNewsletter({
84955
84744
  ] })
84956
84745
  ] });
84957
84746
  }, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
84958
- const renderForm = useMemo434(() => {
84747
+ const renderForm = useMemo435(() => {
84959
84748
  if (formSlot) return formSlot;
84960
84749
  return /* @__PURE__ */ jsx(
84961
84750
  Form,
@@ -85003,7 +84792,7 @@ function OfferModalSheetNewsletter({
85003
84792
  }
85004
84793
  );
85005
84794
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
85006
- const renderLegal = useMemo434(() => {
84795
+ const renderLegal = useMemo435(() => {
85007
84796
  if (legalSlot) return legalSlot;
85008
84797
  if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
85009
84798
  return /* @__PURE__ */ jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
@@ -85017,7 +84806,7 @@ function OfferModalSheetNewsletter({
85017
84806
  "."
85018
84807
  ] });
85019
84808
  }, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
85020
- const renderImage = useMemo434(() => {
84809
+ const renderImage = useMemo435(() => {
85021
84810
  if (imageSlot) return imageSlot;
85022
84811
  if (!image) return null;
85023
84812
  return /* @__PURE__ */ jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsx(
@@ -85597,10 +85386,10 @@ function ProjectDetailSidebarNavigation(props) {
85597
85386
  heroImageClassName,
85598
85387
  metadataClassName
85599
85388
  } = props;
85600
- const [activeSection, setActiveSection] = React23.useState(
85389
+ const [activeSection, setActiveSection] = React25.useState(
85601
85390
  sections?.[0]?.id || ""
85602
85391
  );
85603
- React23.useEffect(() => {
85392
+ React25.useEffect(() => {
85604
85393
  const handleScroll = () => {
85605
85394
  const sectionElements = sections?.map(
85606
85395
  (section) => document.getElementById(section.id)
@@ -88460,7 +88249,7 @@ function ProjectDetailTabbedCaseStudy(props) {
88460
88249
  testimonialClassName,
88461
88250
  toolsClassName
88462
88251
  } = props;
88463
- const [activeTab, setActiveTab] = React23.useState(tabs?.[0]?.id || "");
88252
+ const [activeTab, setActiveTab] = React25.useState(tabs?.[0]?.id || "");
88464
88253
  const renderedBackAction = useMemo(() => {
88465
88254
  if (backActionSlot) return backActionSlot;
88466
88255
  if (!backAction) return null;
@@ -88848,7 +88637,7 @@ function RevealImage({
88848
88637
  index,
88849
88638
  optixFlowConfig
88850
88639
  }) {
88851
- const ref = React23.useRef(null);
88640
+ const ref = React25.useRef(null);
88852
88641
  const { scrollYProgress } = useScroll({
88853
88642
  target: ref,
88854
88643
  offset: ["start end", "end start"]
@@ -89043,7 +88832,7 @@ function ParallaxSection({
89043
88832
  index,
89044
88833
  optixFlowConfig
89045
88834
  }) {
89046
- const ref = React23.useRef(null);
88835
+ const ref = React25.useRef(null);
89047
88836
  const { scrollYProgress } = useScroll({
89048
88837
  target: ref,
89049
88838
  offset: ["start end", "end start"]
@@ -89116,7 +88905,7 @@ function ProjectDetailParallaxScroll(props) {
89116
88905
  heroImageClassName,
89117
88906
  sectionsClassName
89118
88907
  } = props;
89119
- const heroRef = React23.useRef(null);
88908
+ const heroRef = React25.useRef(null);
89120
88909
  const { scrollYProgress } = useScroll({
89121
88910
  target: heroRef,
89122
88911
  offset: ["start start", "end start"]
@@ -89446,7 +89235,7 @@ function BannerDeliveryCountdown({
89446
89235
  }, [prefixText, timerContent, middleText, deliveryDateContent]);
89447
89236
  return /* @__PURE__ */ jsx(Section, { background, spacing: "none", className: cn("bg-accent text-accent-foreground", className), children: /* @__PURE__ */ jsx("div", { className: cn("container py-2.5", containerClassName), children: /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-3 text-sm", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", messageClassName), children: [
89448
89237
  iconContent,
89449
- messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
89238
+ messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
89450
89239
  index > 0 ? " " : null,
89451
89240
  part
89452
89241
  ] }, index)) })
@@ -90582,7 +90371,7 @@ function IndustriesExpandableShowcase({
90582
90371
  patternClassName,
90583
90372
  optixFlowConfig
90584
90373
  }) {
90585
- const [activeContractor, setActiveContractor] = React23.useState(
90374
+ const [activeContractor, setActiveContractor] = React25.useState(
90586
90375
  contractors?.[0]?.id || ""
90587
90376
  );
90588
90377
  const handleContractorHover = (contractorId) => {
@@ -91235,7 +91024,7 @@ function ResourceDetailDocumentSidebar({
91235
91024
  }) {
91236
91025
  const renderedBreadcrumbs = useMemo(() => {
91237
91026
  if (breadcrumbsSlot) return breadcrumbsSlot;
91238
- return /* @__PURE__ */ jsx(Breadcrumb, { className: breadcrumbsClassName, children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
91027
+ return /* @__PURE__ */ jsx(Breadcrumb, { className: breadcrumbsClassName, children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
91239
91028
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: !crumb.href ? /* @__PURE__ */ jsx(BreadcrumbPage, { children: typeof crumb.label === "string" ? crumb.label : crumb.label }) : /* @__PURE__ */ jsx(BreadcrumbLink, { href: crumb.href, children: index === 0 ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) : typeof crumb.label === "string" ? crumb.label : crumb.label }) }),
91240
91029
  index < (breadcrumbs?.length || 0) - 1 && /* @__PURE__ */ jsx(BreadcrumbSeparator, {})
91241
91030
  ] }, index)) }) });
@@ -94636,8 +94425,8 @@ function ServicesListTableHover({
94636
94425
  patternOpacity,
94637
94426
  optixFlowConfig
94638
94427
  }) {
94639
- const [hoveredIndex, setHoveredIndex] = React23.useState(null);
94640
- const [mousePosition, setMousePosition] = React23.useState({ x: 0, y: 0 });
94428
+ const [hoveredIndex, setHoveredIndex] = React25.useState(null);
94429
+ const [mousePosition, setMousePosition] = React25.useState({ x: 0, y: 0 });
94641
94430
  const handleMouseMove = (e) => {
94642
94431
  setMousePosition({ x: e.clientX, y: e.clientY });
94643
94432
  };
@@ -94887,7 +94676,7 @@ function ServicesListStickyImage({
94887
94676
  patternOpacity,
94888
94677
  optixFlowConfig
94889
94678
  }) {
94890
- const [activeIndex, setActiveIndex] = React23.useState(0);
94679
+ const [activeIndex, setActiveIndex] = React25.useState(0);
94891
94680
  const renderServices = () => {
94892
94681
  if (servicesSlot) return servicesSlot;
94893
94682
  if (!services || services.length === 0) return null;
@@ -95139,8 +94928,8 @@ function ServicesListVideoShowcase({
95139
94928
  patternOpacity,
95140
94929
  optixFlowConfig
95141
94930
  }) {
95142
- const [playingIndex, setPlayingIndex] = React23.useState(null);
95143
- const videoRefs = React23.useRef([]);
94931
+ const [playingIndex, setPlayingIndex] = React25.useState(null);
94932
+ const videoRefs = React25.useRef([]);
95144
94933
  const handleMouseEnter = (index) => {
95145
94934
  setPlayingIndex(index);
95146
94935
  videoRefs.current[index]?.play();
@@ -98433,7 +98222,7 @@ function StatsCircularProgress({
98433
98222
  statInfoClassName
98434
98223
  }) {
98435
98224
  const effectiveDefaultCategory = defaultCategory || (categories && categories.length > 0 ? categories[0].id : "");
98436
- const [category, setCategory] = React23.useState(effectiveDefaultCategory);
98225
+ const [category, setCategory] = React25.useState(effectiveDefaultCategory);
98437
98226
  const badgeContent = useMemo(() => {
98438
98227
  if (badgeSlot) return badgeSlot;
98439
98228
  if (!badge) return null;
@@ -98726,8 +98515,8 @@ function StatsCardGroup({
98726
98515
  );
98727
98516
  }
98728
98517
  function useAnimatedCounter(endValue, duration = 2e3, isVisible) {
98729
- const [count, setCount] = React23.useState(0);
98730
- React23.useEffect(() => {
98518
+ const [count, setCount] = React25.useState(0);
98519
+ React25.useEffect(() => {
98731
98520
  if (!isVisible) return;
98732
98521
  let startTime = null;
98733
98522
  let animationFrame;
@@ -98815,9 +98604,9 @@ function StatsAnimatedCounter({
98815
98604
  statLabelClassName,
98816
98605
  statIconClassName
98817
98606
  }) {
98818
- const [isVisible, setIsVisible] = React23.useState(false);
98819
- const sectionRef = React23.useRef(null);
98820
- React23.useEffect(() => {
98607
+ const [isVisible, setIsVisible] = React25.useState(false);
98608
+ const sectionRef = React25.useRef(null);
98609
+ React25.useEffect(() => {
98821
98610
  const observer = new IntersectionObserver(
98822
98611
  ([entry]) => {
98823
98612
  if (entry.isIntersecting) {
@@ -98905,8 +98694,8 @@ function StatsAnimatedCounter({
98905
98694
  );
98906
98695
  }
98907
98696
  function useNumberTicker(endValue, duration = 2500, isVisible, decimals = 0) {
98908
- const [displayValue, setDisplayValue] = React23.useState("0");
98909
- React23.useEffect(() => {
98697
+ const [displayValue, setDisplayValue] = React25.useState("0");
98698
+ React25.useEffect(() => {
98910
98699
  if (!isVisible) return;
98911
98700
  let startTime = null;
98912
98701
  let animationFrame;
@@ -99021,9 +98810,9 @@ function StatsNumberTicker({
99021
98810
  statLabelClassName,
99022
98811
  statDescriptionClassName
99023
98812
  }) {
99024
- const [isVisible, setIsVisible] = React23.useState(false);
99025
- const sectionRef = React23.useRef(null);
99026
- React23.useEffect(() => {
98813
+ const [isVisible, setIsVisible] = React25.useState(false);
98814
+ const sectionRef = React25.useRef(null);
98815
+ React25.useEffect(() => {
99027
98816
  const observer = new IntersectionObserver(
99028
98817
  ([entry]) => {
99029
98818
  if (entry.isIntersecting) {
@@ -99282,9 +99071,9 @@ function StatsBarComparison({
99282
99071
  barValueClassName,
99283
99072
  barTrackClassName
99284
99073
  }) {
99285
- const [isVisible, setIsVisible] = React23.useState(!animate);
99286
- const sectionRef = React23.useRef(null);
99287
- React23.useEffect(() => {
99074
+ const [isVisible, setIsVisible] = React25.useState(!animate);
99075
+ const sectionRef = React25.useRef(null);
99076
+ React25.useEffect(() => {
99288
99077
  if (!animate) return;
99289
99078
  const observer = new IntersectionObserver(
99290
99079
  ([entry]) => {
@@ -99462,7 +99251,7 @@ function TimelineVerticalIconDashed({
99462
99251
  "mx-auto flex flex-col items-center justify-center text-center sm:max-w-xl",
99463
99252
  stepsClassName
99464
99253
  ),
99465
- children: steps.map((step, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
99254
+ children: steps.map((step, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
99466
99255
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center", stepClassName), children: [
99467
99256
  /* @__PURE__ */ jsx(
99468
99257
  "span",
@@ -99729,7 +99518,7 @@ function TimelineTwoColumnFeatured({
99729
99518
  style,
99730
99519
  optixFlowConfig
99731
99520
  }) {
99732
- const renderActions = React23.useMemo(() => {
99521
+ const renderActions = React25.useMemo(() => {
99733
99522
  if (actionsSlot) {
99734
99523
  return actionsSlot;
99735
99524
  }
@@ -99857,7 +99646,7 @@ function TimelineTwoColumnFeatured({
99857
99646
  }
99858
99647
  );
99859
99648
  }
99860
- var DiagonalPattern = React23.memo(({
99649
+ var DiagonalPattern = React25.memo(({
99861
99650
  className,
99862
99651
  patternOpacity = 0.15
99863
99652
  }) => {
@@ -99896,7 +99685,7 @@ function TimelineAlternatingDiagonal({
99896
99685
  style,
99897
99686
  optixFlowConfig
99898
99687
  }) {
99899
- const renderedBadge = React23.useMemo(() => {
99688
+ const renderedBadge = React25.useMemo(() => {
99900
99689
  if (badgeSlot) {
99901
99690
  return badgeSlot;
99902
99691
  }
@@ -100274,7 +100063,7 @@ function TimelineProductivityList({
100274
100063
  }
100275
100064
  );
100276
100065
  }
100277
- var ProcessBar = React23.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("div", { className: "relative w-full scale-75", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: steps.map((step, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
100066
+ var ProcessBar = React25.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("div", { className: "relative w-full scale-75", children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between", children: steps.map((step, index) => /* @__PURE__ */ jsxs(React25.Fragment, { children: [
100278
100067
  /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsx(
100279
100068
  motion.div,
100280
100069
  {
@@ -100301,7 +100090,7 @@ var ProcessBar = React23.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("d
100301
100090
  )
100302
100091
  ] })
100303
100092
  ] }, index)) }) }));
100304
- var StepperContent = React23.memo(({ step, optixFlowConfig, imageClassName, descriptionClassName, background }) => {
100093
+ var StepperContent = React25.memo(({ step, optixFlowConfig, imageClassName, descriptionClassName, background }) => {
100305
100094
  return /* @__PURE__ */ jsxs("div", { className: cn("my-4 flex min-h-[400px] w-full flex-col items-center justify-center overflow-hidden rounded-2xl p-6 text-center", getNestedCardBg(background), getNestedCardTextColor(background)), children: [
100306
100095
  /* @__PURE__ */ jsx(
100307
100096
  motion.div,
@@ -100334,7 +100123,7 @@ var StepperContent = React23.memo(({ step, optixFlowConfig, imageClassName, desc
100334
100123
  )
100335
100124
  ] });
100336
100125
  });
100337
- var NavButtons = React23.memo(({ handlePrev, handleNext }) => /* @__PURE__ */ jsxs("div", { className: "flex w-full justify-end gap-3 tracking-tight", children: [
100126
+ var NavButtons = React25.memo(({ handlePrev, handleNext }) => /* @__PURE__ */ jsxs("div", { className: "flex w-full justify-end gap-3 tracking-tight", children: [
100338
100127
  /* @__PURE__ */ jsxs(
100339
100128
  Pressable,
100340
100129
  {
@@ -100385,10 +100174,10 @@ function TimelineStepperAnimated({
100385
100174
  }) {
100386
100175
  const safeInitialStep = (steps?.length ?? 0) > 0 ? Math.max(0, Math.min(initialStep ?? 0, (steps?.length ?? 1) - 1)) : 0;
100387
100176
  const [currentStep, setCurrentStep] = useState(safeInitialStep);
100388
- const handleNext = React23.useCallback(() => {
100177
+ const handleNext = React25.useCallback(() => {
100389
100178
  setCurrentStep((prev) => Math.min(prev + 1, (steps?.length ?? 1) - 1));
100390
100179
  }, [steps?.length]);
100391
- const handlePrev = React23.useCallback(() => {
100180
+ const handlePrev = React25.useCallback(() => {
100392
100181
  setCurrentStep((prev) => Math.max(prev - 1, 0));
100393
100182
  }, []);
100394
100183
  const safeCurrentStep = (steps?.length ?? 0) > 0 ? Math.max(0, Math.min(currentStep, (steps?.length ?? 1) - 1)) : 0;
@@ -101097,7 +100886,7 @@ function TimelineTabbedPhases({
101097
100886
  style,
101098
100887
  optixFlowConfig
101099
100888
  }) {
101100
- const renderDownloadButton = React23.useMemo(() => {
100889
+ const renderDownloadButton = React25.useMemo(() => {
101101
100890
  if (downloadSlot) {
101102
100891
  return downloadSlot;
101103
100892
  }
@@ -101317,7 +101106,7 @@ function TimelineProductLaunch({
101317
101106
  id,
101318
101107
  style
101319
101108
  }) {
101320
- const renderCta = React23.useMemo(() => {
101109
+ const renderCta = React25.useMemo(() => {
101321
101110
  if (ctaSlot) {
101322
101111
  return ctaSlot;
101323
101112
  }
@@ -101782,9 +101571,9 @@ function LinkTreeBlock({
101782
101571
  }) {
101783
101572
  const resolvedBackground = background;
101784
101573
  const resolvedPattern = pattern ?? backgroundPattern;
101785
- const [lightboxOpen, setLightboxOpen] = React23.useState(false);
101786
- const [lightboxIndex, setLightboxIndex] = React23.useState(0);
101787
- const lightboxItems = React23.useMemo(() => {
101574
+ const [lightboxOpen, setLightboxOpen] = React25.useState(false);
101575
+ const [lightboxIndex, setLightboxIndex] = React25.useState(0);
101576
+ const lightboxItems = React25.useMemo(() => {
101788
101577
  if (!mediaGallery || mediaGallery.length === 0) return [];
101789
101578
  return mediaGallery.slice(0, mediaGalleryLimit).map((item, index) => ({
101790
101579
  id: item.id ?? `media-${index}`,
@@ -101796,11 +101585,11 @@ function LinkTreeBlock({
101796
101585
  share: true
101797
101586
  }));
101798
101587
  }, [mediaGallery, mediaGalleryLimit]);
101799
- const handleMediaClick = React23.useCallback((index) => {
101588
+ const handleMediaClick = React25.useCallback((index) => {
101800
101589
  setLightboxIndex(index);
101801
101590
  setLightboxOpen(true);
101802
101591
  }, []);
101803
- const handleLightboxClose = React23.useCallback(() => {
101592
+ const handleLightboxClose = React25.useCallback(() => {
101804
101593
  setLightboxOpen(false);
101805
101594
  }, []);
101806
101595
  const resolveImage = (value, fallbackAlt) => {
@@ -101812,7 +101601,7 @@ function LinkTreeBlock({
101812
101601
  };
101813
101602
  const nameForAlt = typeof brandName === "string" ? brandName : "Brand avatar";
101814
101603
  const resolvedAvatar = resolveImage(brandAvatar || brandLogo, nameForAlt) || resolveImage(blockBrandedIconsAndPlaceholders.avatar1, nameForAlt);
101815
- const renderBrandHeader = React23.useMemo(() => {
101604
+ const renderBrandHeader = React25.useMemo(() => {
101816
101605
  if (brandSlot) return brandSlot;
101817
101606
  return /* @__PURE__ */ jsxs(
101818
101607
  "div",
@@ -101899,7 +101688,7 @@ function LinkTreeBlock({
101899
101688
  brandTagline,
101900
101689
  taglineClassName
101901
101690
  ]);
101902
- const renderLinks = React23.useMemo(() => {
101691
+ const renderLinks = React25.useMemo(() => {
101903
101692
  if (linksSlot) return linksSlot;
101904
101693
  if (!links || links.length === 0) return null;
101905
101694
  return /* @__PURE__ */ jsx("div", { className: cn("space-y-3", linksClassName), children: links.map((link, index) => {
@@ -102016,7 +101805,7 @@ function LinkTreeBlock({
102016
101805
  linkBadgeClassName,
102017
101806
  linkChevronClassName
102018
101807
  ]);
102019
- const renderMediaGallery = React23.useMemo(() => {
101808
+ const renderMediaGallery = React25.useMemo(() => {
102020
101809
  if (mediaGallerySlot) return mediaGallerySlot;
102021
101810
  if (!mediaGallery || mediaGallery.length === 0) return null;
102022
101811
  const items = mediaGallery.slice(0, mediaGalleryLimit);
@@ -102130,7 +101919,7 @@ function LinkTreeBlock({
102130
101919
  mediaGalleryOverlayClassName,
102131
101920
  mediaGalleryPlayIconClassName
102132
101921
  ]);
102133
- const renderSocialLinks = React23.useMemo(() => {
101922
+ const renderSocialLinks = React25.useMemo(() => {
102134
101923
  if (socialLinksSlot) return socialLinksSlot;
102135
101924
  if (!socialLinks || socialLinks.length === 0) return null;
102136
101925
  return /* @__PURE__ */ jsx(
@@ -102176,7 +101965,7 @@ function LinkTreeBlock({
102176
101965
  socialIconClassName,
102177
101966
  socialLinkClassName
102178
101967
  ]);
102179
- const renderFooter = React23.useMemo(() => {
101968
+ const renderFooter = React25.useMemo(() => {
102180
101969
  if (footerSlot) return footerSlot;
102181
101970
  if (!footerAction) return null;
102182
101971
  const resolvedFooterAction = footerAction;