@opensite/ui 2.1.1 → 2.1.3

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 (1185) 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-tmd_MRJv.d.cts → blocks-DP3Vofl4.d.cts} +1 -1
  86. package/dist/{blocks-DRE-f6cS.d.ts → blocks-XLPGq8A5.d.ts} +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-8mtEHxev.d.cts → button-variants-CdNtNOuP.d.cts} +1 -1
  116. package/dist/{button-variants-8mtEHxev.d.ts → button-variants-CdNtNOuP.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-hxnFe3w6.d.ts → community-initiatives-DmVsuoHE.d.ts} +1 -1
  178. package/dist/{community-initiatives-CPyEa7IX.d.cts → community-initiatives-r_NhxVet.d.cts} +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.cjs +119 -62
  202. package/dist/components.d.cts +3 -3
  203. package/dist/components.d.ts +3 -3
  204. package/dist/components.js +120 -63
  205. package/dist/contact-callback.d.cts +3 -3
  206. package/dist/contact-callback.d.ts +3 -3
  207. package/dist/contact-card.d.cts +3 -3
  208. package/dist/contact-card.d.ts +3 -3
  209. package/dist/contact-careers.d.cts +3 -3
  210. package/dist/contact-careers.d.ts +3 -3
  211. package/dist/contact-catering.d.cts +3 -3
  212. package/dist/contact-catering.d.ts +3 -3
  213. package/dist/contact-consultation.d.cts +3 -3
  214. package/dist/contact-consultation.d.ts +3 -3
  215. package/dist/contact-dark.d.cts +3 -3
  216. package/dist/contact-dark.d.ts +3 -3
  217. package/dist/contact-demo.d.cts +3 -3
  218. package/dist/contact-demo.d.ts +3 -3
  219. package/dist/contact-emergency.d.cts +3 -3
  220. package/dist/contact-emergency.d.ts +3 -3
  221. package/dist/contact-event.d.cts +3 -3
  222. package/dist/contact-event.d.ts +3 -3
  223. package/dist/contact-faq.cjs +35 -522
  224. package/dist/contact-faq.d.cts +4 -12
  225. package/dist/contact-faq.d.ts +4 -12
  226. package/dist/contact-faq.js +34 -524
  227. package/dist/contact-feedback.d.cts +3 -3
  228. package/dist/contact-feedback.d.ts +3 -3
  229. package/dist/contact-fitness.d.cts +3 -3
  230. package/dist/contact-fitness.d.ts +3 -3
  231. package/dist/contact-floating-banner.d.cts +3 -3
  232. package/dist/contact-floating-banner.d.ts +3 -3
  233. package/dist/contact-guest.d.cts +3 -3
  234. package/dist/contact-guest.d.ts +3 -3
  235. package/dist/contact-help-center.d.cts +3 -3
  236. package/dist/contact-help-center.d.ts +3 -3
  237. package/dist/contact-image.d.cts +3 -3
  238. package/dist/contact-image.d.ts +3 -3
  239. package/dist/contact-insurance.d.cts +3 -3
  240. package/dist/contact-insurance.d.ts +3 -3
  241. package/dist/contact-interview.d.cts +3 -3
  242. package/dist/contact-interview.d.ts +3 -3
  243. package/dist/contact-locations.d.cts +3 -3
  244. package/dist/contact-locations.d.ts +3 -3
  245. package/dist/contact-maintenance.d.cts +3 -3
  246. package/dist/contact-maintenance.d.ts +3 -3
  247. package/dist/contact-map.d.cts +3 -3
  248. package/dist/contact-map.d.ts +3 -3
  249. package/dist/contact-minimal.d.cts +3 -3
  250. package/dist/contact-minimal.d.ts +3 -3
  251. package/dist/contact-moving.d.cts +3 -3
  252. package/dist/contact-moving.d.ts +3 -3
  253. package/dist/contact-multistep.d.cts +3 -3
  254. package/dist/contact-multistep.d.ts +3 -3
  255. package/dist/contact-partnership.d.cts +3 -3
  256. package/dist/contact-partnership.d.ts +3 -3
  257. package/dist/contact-photography.d.cts +3 -3
  258. package/dist/contact-photography.d.ts +3 -3
  259. package/dist/contact-press.d.cts +3 -3
  260. package/dist/contact-press.d.ts +3 -3
  261. package/dist/contact-quote.d.cts +3 -3
  262. package/dist/contact-quote.d.ts +3 -3
  263. package/dist/contact-referral.d.cts +3 -3
  264. package/dist/contact-referral.d.ts +3 -3
  265. package/dist/contact-report.d.cts +3 -3
  266. package/dist/contact-report.d.ts +3 -3
  267. package/dist/contact-reservation.d.cts +3 -3
  268. package/dist/contact-reservation.d.ts +3 -3
  269. package/dist/contact-retreat.d.cts +3 -3
  270. package/dist/contact-retreat.d.ts +3 -3
  271. package/dist/contact-rsvp.d.cts +3 -3
  272. package/dist/contact-rsvp.d.ts +3 -3
  273. package/dist/contact-sales.d.cts +3 -3
  274. package/dist/contact-sales.d.ts +3 -3
  275. package/dist/contact-schedule.d.cts +3 -3
  276. package/dist/contact-schedule.d.ts +3 -3
  277. package/dist/contact-sponsorship.d.cts +3 -3
  278. package/dist/contact-sponsorship.d.ts +3 -3
  279. package/dist/contact-support.d.cts +3 -3
  280. package/dist/contact-support.d.ts +3 -3
  281. package/dist/contact-tenant.d.cts +3 -3
  282. package/dist/contact-tenant.d.ts +3 -3
  283. package/dist/contact-vendor.cjs +33 -535
  284. package/dist/contact-vendor.d.cts +3 -3
  285. package/dist/contact-vendor.d.ts +3 -3
  286. package/dist/contact-vendor.js +32 -519
  287. package/dist/contact-volunteer.d.cts +3 -3
  288. package/dist/contact-volunteer.d.ts +3 -3
  289. package/dist/contact-warranty.d.cts +3 -3
  290. package/dist/contact-warranty.d.ts +3 -3
  291. package/dist/contact-wedding.d.cts +3 -3
  292. package/dist/contact-wedding.d.ts +3 -3
  293. package/dist/container.d.cts +3 -3
  294. package/dist/container.d.ts +3 -3
  295. package/dist/cta-accent-background.d.cts +3 -3
  296. package/dist/cta-accent-background.d.ts +3 -3
  297. package/dist/cta-app-download-newsletter.d.cts +3 -3
  298. package/dist/cta-app-download-newsletter.d.ts +3 -3
  299. package/dist/cta-background-icon-badge.d.cts +3 -3
  300. package/dist/cta-background-icon-badge.d.ts +3 -3
  301. package/dist/cta-case-study-testimonial.d.cts +3 -3
  302. package/dist/cta-case-study-testimonial.d.ts +3 -3
  303. package/dist/cta-documentation-links.d.cts +3 -3
  304. package/dist/cta-documentation-links.d.ts +3 -3
  305. package/dist/cta-enterprise-dark-features.d.cts +3 -3
  306. package/dist/cta-enterprise-dark-features.d.ts +3 -3
  307. package/dist/cta-enterprise-split.d.cts +3 -3
  308. package/dist/cta-enterprise-split.d.ts +3 -3
  309. package/dist/cta-feature-cards-grid.d.cts +3 -3
  310. package/dist/cta-feature-cards-grid.d.ts +3 -3
  311. package/dist/cta-feature-checklist.d.cts +3 -3
  312. package/dist/cta-feature-checklist.d.ts +3 -3
  313. package/dist/cta-feature-list.d.cts +3 -3
  314. package/dist/cta-feature-list.d.ts +3 -3
  315. package/dist/cta-fullwidth-background.d.cts +3 -3
  316. package/dist/cta-fullwidth-background.d.ts +3 -3
  317. package/dist/cta-gradient-logos-floating.d.cts +3 -3
  318. package/dist/cta-gradient-logos-floating.d.ts +3 -3
  319. package/dist/cta-gradient-stats-hero.d.cts +3 -3
  320. package/dist/cta-gradient-stats-hero.d.ts +3 -3
  321. package/dist/cta-hero-feature-cards.d.cts +3 -3
  322. package/dist/cta-hero-feature-cards.d.ts +3 -3
  323. package/dist/cta-image-overlay-arrow.d.cts +3 -3
  324. package/dist/cta-image-overlay-arrow.d.ts +3 -3
  325. package/dist/cta-image-overlay-centered.d.cts +3 -3
  326. package/dist/cta-image-overlay-centered.d.ts +3 -3
  327. package/dist/cta-minimal-separator.d.cts +3 -3
  328. package/dist/cta-minimal-separator.d.ts +3 -3
  329. package/dist/cta-newsletter-features.d.cts +3 -3
  330. package/dist/cta-newsletter-features.d.ts +3 -3
  331. package/dist/cta-pattern-background.d.cts +3 -3
  332. package/dist/cta-pattern-background.d.ts +3 -3
  333. package/dist/cta-platform-demo.d.cts +3 -3
  334. package/dist/cta-platform-demo.d.ts +3 -3
  335. package/dist/cta-simple-centered.d.cts +3 -3
  336. package/dist/cta-simple-centered.d.ts +3 -3
  337. package/dist/cta-split-gradient-image.d.cts +3 -3
  338. package/dist/cta-split-gradient-image.d.ts +3 -3
  339. package/dist/cta-split-image-logos.d.cts +3 -3
  340. package/dist/cta-split-image-logos.d.ts +3 -3
  341. package/dist/cta-split-image.d.cts +3 -3
  342. package/dist/cta-split-image.d.ts +3 -3
  343. package/dist/cta-stacked-cards.d.cts +3 -3
  344. package/dist/cta-stacked-cards.d.ts +3 -3
  345. package/dist/cta-video-background-hero.d.cts +3 -3
  346. package/dist/cta-video-background-hero.d.ts +3 -3
  347. package/dist/cta-workflow-tabs.d.cts +3 -3
  348. package/dist/cta-workflow-tabs.d.ts +3 -3
  349. package/dist/expandable-case-study-cards.d.cts +3 -3
  350. package/dist/expandable-case-study-cards.d.ts +3 -3
  351. package/dist/faq-badge-support.d.cts +3 -3
  352. package/dist/faq-badge-support.d.ts +3 -3
  353. package/dist/faq-bordered-badge.d.cts +3 -3
  354. package/dist/faq-bordered-badge.d.ts +3 -3
  355. package/dist/faq-card-categories.d.cts +3 -3
  356. package/dist/faq-card-categories.d.ts +3 -3
  357. package/dist/faq-categorized-sections.d.cts +3 -3
  358. package/dist/faq-categorized-sections.d.ts +3 -3
  359. package/dist/faq-centered-accordion.d.cts +3 -3
  360. package/dist/faq-centered-accordion.d.ts +3 -3
  361. package/dist/faq-gradient-categories.d.cts +3 -3
  362. package/dist/faq-gradient-categories.d.ts +3 -3
  363. package/dist/faq-icon-benefits.d.cts +3 -3
  364. package/dist/faq-icon-benefits.d.ts +3 -3
  365. package/dist/faq-muted-cards.d.cts +3 -3
  366. package/dist/faq-muted-cards.d.ts +3 -3
  367. package/dist/faq-numbered-grid.d.cts +3 -3
  368. package/dist/faq-numbered-grid.d.ts +3 -3
  369. package/dist/faq-numbered-list.d.cts +3 -3
  370. package/dist/faq-numbered-list.d.ts +3 -3
  371. package/dist/faq-profile-sidebar.d.cts +3 -3
  372. package/dist/faq-profile-sidebar.d.ts +3 -3
  373. package/dist/faq-rounded-cards.d.cts +3 -3
  374. package/dist/faq-rounded-cards.d.ts +3 -3
  375. package/dist/faq-sidebar-navigation.d.cts +3 -3
  376. package/dist/faq-sidebar-navigation.d.ts +3 -3
  377. package/dist/faq-simple-accordion.d.cts +3 -3
  378. package/dist/faq-simple-accordion.d.ts +3 -3
  379. package/dist/faq-split-help.d.cts +3 -3
  380. package/dist/faq-split-help.d.ts +3 -3
  381. package/dist/faq-split-hero.d.cts +3 -3
  382. package/dist/faq-split-hero.d.ts +3 -3
  383. package/dist/faq-static-list.d.cts +3 -3
  384. package/dist/faq-static-list.d.ts +3 -3
  385. package/dist/feature-accordion-image.d.cts +3 -3
  386. package/dist/feature-accordion-image.d.ts +3 -3
  387. package/dist/feature-animated-carousel.d.cts +3 -3
  388. package/dist/feature-animated-carousel.d.ts +3 -3
  389. package/dist/feature-badge-grid-six.d.cts +3 -3
  390. package/dist/feature-badge-grid-six.d.ts +3 -3
  391. package/dist/feature-bento-image-grid.d.cts +3 -3
  392. package/dist/feature-bento-image-grid.d.ts +3 -3
  393. package/dist/feature-bento-utilities.d.cts +3 -3
  394. package/dist/feature-bento-utilities.d.ts +3 -3
  395. package/dist/feature-capabilities-grid.d.cts +3 -3
  396. package/dist/feature-capabilities-grid.d.ts +3 -3
  397. package/dist/feature-card-grid-linked.d.cts +3 -3
  398. package/dist/feature-card-grid-linked.d.ts +3 -3
  399. package/dist/feature-carousel-progress.d.cts +3 -3
  400. package/dist/feature-carousel-progress.d.ts +3 -3
  401. package/dist/feature-category-image-cards.d.cts +3 -3
  402. package/dist/feature-category-image-cards.d.ts +3 -3
  403. package/dist/feature-checklist-image.d.cts +3 -3
  404. package/dist/feature-checklist-image.d.ts +3 -3
  405. package/dist/feature-checklist-three-column.d.cts +3 -3
  406. package/dist/feature-checklist-three-column.d.ts +3 -3
  407. package/dist/feature-icon-grid-accent.d.cts +3 -3
  408. package/dist/feature-icon-grid-accent.d.ts +3 -3
  409. package/dist/feature-icon-grid-bordered.d.cts +3 -3
  410. package/dist/feature-icon-grid-bordered.d.ts +3 -3
  411. package/dist/feature-icon-grid-muted.d.cts +3 -3
  412. package/dist/feature-icon-grid-muted.d.ts +3 -3
  413. package/dist/feature-icon-tabs-content.d.cts +3 -3
  414. package/dist/feature-icon-tabs-content.d.ts +3 -3
  415. package/dist/feature-image-cards-three-column.d.cts +3 -3
  416. package/dist/feature-image-cards-three-column.d.ts +3 -3
  417. package/dist/feature-image-overlay-badge.d.cts +3 -3
  418. package/dist/feature-image-overlay-badge.d.ts +3 -3
  419. package/dist/feature-integration-cards.d.cts +3 -3
  420. package/dist/feature-integration-cards.d.ts +3 -3
  421. package/dist/feature-numbered-cards.d.cts +3 -3
  422. package/dist/feature-numbered-cards.d.ts +3 -3
  423. package/dist/feature-pattern-grid-links.d.cts +3 -3
  424. package/dist/feature-pattern-grid-links.d.ts +3 -3
  425. package/dist/feature-showcase.d.cts +4 -4
  426. package/dist/feature-showcase.d.ts +4 -4
  427. package/dist/feature-split-image-reverse.d.cts +3 -3
  428. package/dist/feature-split-image-reverse.d.ts +3 -3
  429. package/dist/feature-split-image.d.cts +3 -3
  430. package/dist/feature-split-image.d.ts +3 -3
  431. package/dist/feature-stats-highlight.d.cts +3 -3
  432. package/dist/feature-stats-highlight.d.ts +3 -3
  433. package/dist/feature-tabbed-content-image.d.cts +3 -3
  434. package/dist/feature-tabbed-content-image.d.ts +3 -3
  435. package/dist/feature-three-column-values.d.cts +3 -3
  436. package/dist/feature-three-column-values.d.ts +3 -3
  437. package/dist/feature-utility-cards-grid.d.cts +3 -3
  438. package/dist/feature-utility-cards-grid.d.ts +3 -3
  439. package/dist/footer-accordion-social.d.cts +3 -3
  440. package/dist/footer-accordion-social.d.ts +3 -3
  441. package/dist/footer-animated-social.d.cts +3 -3
  442. package/dist/footer-animated-social.d.ts +3 -3
  443. package/dist/footer-background-card.d.cts +3 -3
  444. package/dist/footer-background-card.d.ts +3 -3
  445. package/dist/footer-brand-description.d.cts +3 -3
  446. package/dist/footer-brand-description.d.ts +3 -3
  447. package/dist/footer-brand-links-contact.d.cts +3 -3
  448. package/dist/footer-brand-links-contact.d.ts +3 -3
  449. package/dist/footer-comprehensive-links.d.cts +3 -3
  450. package/dist/footer-comprehensive-links.d.ts +3 -3
  451. package/dist/footer-contact-card.d.cts +3 -3
  452. package/dist/footer-contact-card.d.ts +3 -3
  453. package/dist/footer-cta-banner.d.cts +3 -3
  454. package/dist/footer-cta-banner.d.ts +3 -3
  455. package/dist/footer-cta-social.d.cts +3 -3
  456. package/dist/footer-cta-social.d.ts +3 -3
  457. package/dist/footer-info-cards-accordion.d.cts +3 -3
  458. package/dist/footer-info-cards-accordion.d.ts +3 -3
  459. package/dist/footer-links-grid.d.cts +3 -3
  460. package/dist/footer-links-grid.d.ts +3 -3
  461. package/dist/footer-nav-social.d.cts +3 -3
  462. package/dist/footer-nav-social.d.ts +3 -3
  463. package/dist/footer-newsletter-contact.d.cts +3 -3
  464. package/dist/footer-newsletter-contact.d.ts +3 -3
  465. package/dist/footer-newsletter-grid.d.cts +3 -3
  466. package/dist/footer-newsletter-grid.d.ts +3 -3
  467. package/dist/footer-newsletter-minimal.d.cts +3 -3
  468. package/dist/footer-newsletter-minimal.d.ts +3 -3
  469. package/dist/footer-simple-centered.d.cts +3 -3
  470. package/dist/footer-simple-centered.d.ts +3 -3
  471. package/dist/footer-social-apps.d.cts +3 -3
  472. package/dist/footer-social-apps.d.ts +3 -3
  473. package/dist/footer-social-newsletter.cjs +122 -63
  474. package/dist/footer-social-newsletter.d.cts +42 -23
  475. package/dist/footer-social-newsletter.d.ts +42 -23
  476. package/dist/footer-social-newsletter.js +123 -64
  477. package/dist/footer-split-image-accordion.d.cts +3 -3
  478. package/dist/footer-split-image-accordion.d.ts +3 -3
  479. package/dist/hero-ad-campaign-expert.d.cts +3 -3
  480. package/dist/hero-ad-campaign-expert.d.ts +3 -3
  481. package/dist/hero-adaptable-product-grid.d.cts +3 -3
  482. package/dist/hero-adaptable-product-grid.d.ts +3 -3
  483. package/dist/hero-agency-animated-images.d.cts +3 -3
  484. package/dist/hero-agency-animated-images.d.ts +3 -3
  485. package/dist/hero-ai-powered-carousel.d.cts +3 -3
  486. package/dist/hero-ai-powered-carousel.d.ts +3 -3
  487. package/dist/hero-announcement-badge.d.cts +3 -3
  488. package/dist/hero-announcement-badge.d.ts +3 -3
  489. package/dist/hero-architecture-fullscreen.d.cts +3 -3
  490. package/dist/hero-architecture-fullscreen.d.ts +3 -3
  491. package/dist/hero-badge-image-split.d.cts +3 -3
  492. package/dist/hero-badge-image-split.d.ts +3 -3
  493. package/dist/hero-badge-shadow-overlay.d.cts +3 -3
  494. package/dist/hero-badge-shadow-overlay.d.ts +3 -3
  495. package/dist/hero-billing-platform-logos.d.cts +3 -3
  496. package/dist/hero-billing-platform-logos.d.ts +3 -3
  497. package/dist/hero-business-carousel-dots.d.cts +3 -3
  498. package/dist/hero-business-carousel-dots.d.ts +3 -3
  499. package/dist/hero-business-operations-mosaic.d.cts +3 -3
  500. package/dist/hero-business-operations-mosaic.d.ts +3 -3
  501. package/dist/hero-centered-gradient-cta.d.cts +3 -3
  502. package/dist/hero-centered-gradient-cta.d.ts +3 -3
  503. package/dist/hero-centered-image-grid.d.cts +3 -3
  504. package/dist/hero-centered-image-grid.d.ts +3 -3
  505. package/dist/hero-centered-screenshot.d.cts +3 -3
  506. package/dist/hero-centered-screenshot.d.ts +3 -3
  507. package/dist/hero-coming-soon-countdown.d.cts +3 -3
  508. package/dist/hero-coming-soon-countdown.d.ts +3 -3
  509. package/dist/hero-community-survey-cta.d.cts +3 -3
  510. package/dist/hero-community-survey-cta.d.ts +3 -3
  511. package/dist/hero-conversation-intelligence.d.cts +3 -3
  512. package/dist/hero-conversation-intelligence.d.ts +3 -3
  513. package/dist/hero-conversion-video-play.d.cts +3 -3
  514. package/dist/hero-conversion-video-play.d.ts +3 -3
  515. package/dist/hero-creative-studio-stacked.d.cts +4 -4
  516. package/dist/hero-creative-studio-stacked.d.ts +4 -4
  517. package/dist/hero-crm-streamlined.d.cts +3 -3
  518. package/dist/hero-crm-streamlined.d.ts +3 -3
  519. package/dist/hero-customer-support-layered.d.cts +3 -3
  520. package/dist/hero-customer-support-layered.d.ts +3 -3
  521. package/dist/hero-dashed-border-features.d.cts +3 -3
  522. package/dist/hero-dashed-border-features.d.ts +3 -3
  523. package/dist/hero-design-carousel-portfolio.d.cts +3 -3
  524. package/dist/hero-design-carousel-portfolio.d.ts +3 -3
  525. package/dist/hero-design-showcase-logos.d.cts +3 -3
  526. package/dist/hero-design-showcase-logos.d.ts +3 -3
  527. package/dist/hero-design-system-3d.d.cts +3 -3
  528. package/dist/hero-design-system-3d.d.ts +3 -3
  529. package/dist/hero-developer-tools-code.d.cts +3 -3
  530. package/dist/hero-developer-tools-code.d.ts +3 -3
  531. package/dist/hero-digital-agency-fullscreen.d.cts +3 -3
  532. package/dist/hero-digital-agency-fullscreen.d.ts +3 -3
  533. package/dist/hero-ecommerce-product-showcase.d.cts +3 -3
  534. package/dist/hero-ecommerce-product-showcase.d.ts +3 -3
  535. package/dist/hero-enterprise-security.d.cts +3 -3
  536. package/dist/hero-enterprise-security.d.ts +3 -3
  537. package/dist/hero-event-registration.d.cts +3 -3
  538. package/dist/hero-event-registration.d.ts +3 -3
  539. package/dist/hero-feature-cards-grid.d.cts +3 -3
  540. package/dist/hero-feature-cards-grid.d.ts +3 -3
  541. package/dist/hero-floating-images.d.cts +3 -3
  542. package/dist/hero-floating-images.d.ts +3 -3
  543. package/dist/hero-fullscreen-background-image.d.cts +3 -3
  544. package/dist/hero-fullscreen-background-image.d.ts +3 -3
  545. package/dist/hero-fullscreen-logo-cta.d.cts +3 -3
  546. package/dist/hero-fullscreen-logo-cta.d.ts +3 -3
  547. package/dist/hero-gradient-avatars-rating.d.cts +3 -3
  548. package/dist/hero-gradient-avatars-rating.d.ts +3 -3
  549. package/dist/hero-gradient-client-focused.d.cts +3 -3
  550. package/dist/hero-gradient-client-focused.d.ts +3 -3
  551. package/dist/hero-grid-pattern-efficiency.d.cts +3 -3
  552. package/dist/hero-grid-pattern-efficiency.d.ts +3 -3
  553. package/dist/hero-grid-pattern-solutions.d.cts +3 -3
  554. package/dist/hero-grid-pattern-solutions.d.ts +3 -3
  555. package/dist/hero-hiring-animated-text.d.cts +3 -3
  556. package/dist/hero-hiring-animated-text.d.ts +3 -3
  557. package/dist/hero-image-left-content.d.cts +3 -3
  558. package/dist/hero-image-left-content.d.ts +3 -3
  559. package/dist/hero-image-slider.d.cts +3 -3
  560. package/dist/hero-image-slider.d.ts +3 -3
  561. package/dist/hero-innovation-image-grid.d.cts +3 -3
  562. package/dist/hero-innovation-image-grid.d.ts +3 -3
  563. package/dist/hero-logo-centered-screenshot.d.cts +3 -3
  564. package/dist/hero-logo-centered-screenshot.d.ts +3 -3
  565. package/dist/hero-marketplace-scattered-images.d.cts +3 -3
  566. package/dist/hero-marketplace-scattered-images.d.ts +3 -3
  567. package/dist/hero-mental-health-team.d.cts +3 -3
  568. package/dist/hero-mental-health-team.d.ts +3 -3
  569. package/dist/hero-mentorship-video-split.d.cts +3 -3
  570. package/dist/hero-mentorship-video-split.d.ts +3 -3
  571. package/dist/hero-minimal-centered-dark.d.cts +3 -3
  572. package/dist/hero-minimal-centered-dark.d.ts +3 -3
  573. package/dist/hero-mobile-app-download.d.cts +3 -3
  574. package/dist/hero-mobile-app-download.d.ts +3 -3
  575. package/dist/hero-newsletter-minimal.cjs +42 -492
  576. package/dist/hero-newsletter-minimal.d.cts +3 -3
  577. package/dist/hero-newsletter-minimal.d.ts +3 -3
  578. package/dist/hero-newsletter-minimal.js +44 -494
  579. package/dist/hero-overlay-cta-grid.d.cts +3 -3
  580. package/dist/hero-overlay-cta-grid.d.ts +3 -3
  581. package/dist/hero-pattern-badge-logos.d.cts +3 -3
  582. package/dist/hero-pattern-badge-logos.d.ts +3 -3
  583. package/dist/hero-pattern-logo-tech-stack.d.cts +3 -3
  584. package/dist/hero-pattern-logo-tech-stack.d.ts +3 -3
  585. package/dist/hero-platform-features-grid.d.cts +3 -3
  586. package/dist/hero-platform-features-grid.d.ts +3 -3
  587. package/dist/hero-portfolio-creative.d.cts +3 -3
  588. package/dist/hero-portfolio-creative.d.ts +3 -3
  589. package/dist/hero-premium-split-avatars.d.cts +3 -3
  590. package/dist/hero-premium-split-avatars.d.ts +3 -3
  591. package/dist/hero-presentation-platform-video.d.cts +3 -3
  592. package/dist/hero-presentation-platform-video.d.ts +3 -3
  593. package/dist/hero-pricing-comparison.d.cts +3 -3
  594. package/dist/hero-pricing-comparison.d.ts +3 -3
  595. package/dist/hero-product-showcase-floating.d.cts +3 -3
  596. package/dist/hero-product-showcase-floating.d.ts +3 -3
  597. package/dist/hero-productivity-launcher-video.d.cts +3 -3
  598. package/dist/hero-productivity-launcher-video.d.ts +3 -3
  599. package/dist/hero-saas-dashboard-preview.cjs +36 -36
  600. package/dist/hero-saas-dashboard-preview.d.cts +3 -3
  601. package/dist/hero-saas-dashboard-preview.d.ts +3 -3
  602. package/dist/hero-saas-dashboard-preview.js +36 -36
  603. package/dist/hero-shared-inbox-layered.d.cts +3 -3
  604. package/dist/hero-shared-inbox-layered.d.ts +3 -3
  605. package/dist/hero-simple-centered-image.d.cts +3 -3
  606. package/dist/hero-simple-centered-image.d.ts +3 -3
  607. package/dist/hero-software-growth-video-dialog.d.cts +3 -3
  608. package/dist/hero-software-growth-video-dialog.d.ts +3 -3
  609. package/dist/hero-spiral-pattern-cards.d.cts +3 -3
  610. package/dist/hero-spiral-pattern-cards.d.ts +3 -3
  611. package/dist/hero-split-geometric-shapes.d.cts +3 -3
  612. package/dist/hero-split-geometric-shapes.d.ts +3 -3
  613. package/dist/hero-split-icon-cards.d.cts +3 -3
  614. package/dist/hero-split-icon-cards.d.ts +3 -3
  615. package/dist/hero-split-image-newsletter.cjs +1 -0
  616. package/dist/hero-split-image-newsletter.d.cts +3 -3
  617. package/dist/hero-split-image-newsletter.d.ts +3 -3
  618. package/dist/hero-split-image-newsletter.js +1 -0
  619. package/dist/hero-split-spiral-shapes.d.cts +3 -3
  620. package/dist/hero-split-spiral-shapes.d.ts +3 -3
  621. package/dist/hero-startup-launch-cta.d.cts +3 -3
  622. package/dist/hero-startup-launch-cta.d.ts +3 -3
  623. package/dist/hero-stats-social-proof.d.cts +3 -3
  624. package/dist/hero-stats-social-proof.d.ts +3 -3
  625. package/dist/hero-task-timer-animated.d.cts +3 -3
  626. package/dist/hero-task-timer-animated.d.ts +3 -3
  627. package/dist/hero-tech-carousel.d.cts +3 -3
  628. package/dist/hero-tech-carousel.d.ts +3 -3
  629. package/dist/hero-testimonial-image-grid.d.cts +3 -3
  630. package/dist/hero-testimonial-image-grid.d.ts +3 -3
  631. package/dist/hero-therapy-testimonial-grid.d.cts +3 -3
  632. package/dist/hero-therapy-testimonial-grid.d.ts +3 -3
  633. package/dist/hero-ui-library-showcase.d.cts +3 -3
  634. package/dist/hero-ui-library-showcase.d.ts +3 -3
  635. package/dist/hero-video-background-dark.d.cts +3 -3
  636. package/dist/hero-video-background-dark.d.ts +3 -3
  637. package/dist/{hero-video-dialog-gradient-Si7mukH7.d.cts → hero-video-dialog-gradient-6epEKovM.d.cts} +2 -2
  638. package/dist/{hero-video-dialog-gradient-DMaEfOfw.d.ts → hero-video-dialog-gradient-B__37IMI.d.ts} +2 -2
  639. package/dist/hero-video-dialog-gradient.d.cts +4 -4
  640. package/dist/hero-video-dialog-gradient.d.ts +4 -4
  641. package/dist/hero-video-overlay-stars.d.cts +3 -3
  642. package/dist/hero-video-overlay-stars.d.ts +3 -3
  643. package/dist/hero-welcome-asymmetric-images.d.cts +3 -3
  644. package/dist/hero-welcome-asymmetric-images.d.ts +3 -3
  645. package/dist/image-slider.d.cts +2 -2
  646. package/dist/image-slider.d.ts +2 -2
  647. package/dist/index.cjs +119 -62
  648. package/dist/index.d.cts +3 -3
  649. package/dist/index.d.ts +3 -3
  650. package/dist/index.js +121 -64
  651. package/dist/industries-badge-list-bordered.d.cts +3 -3
  652. package/dist/industries-badge-list-bordered.d.ts +3 -3
  653. package/dist/industries-expandable-showcase.d.cts +3 -3
  654. package/dist/industries-expandable-showcase.d.ts +3 -3
  655. package/dist/industries-hover-reveal-grid.d.cts +3 -3
  656. package/dist/industries-hover-reveal-grid.d.ts +3 -3
  657. package/dist/industries-timeline-table.d.cts +3 -3
  658. package/dist/industries-timeline-table.d.ts +3 -3
  659. package/dist/interior-carousel.d.cts +3 -3
  660. package/dist/interior-carousel.d.ts +3 -3
  661. package/dist/link-page-bento-layout.d.cts +3 -3
  662. package/dist/link-page-bento-layout.d.ts +3 -3
  663. package/dist/link-page-grid-cards.d.cts +3 -3
  664. package/dist/link-page-grid-cards.d.ts +3 -3
  665. package/dist/link-page-minimal-profile.d.cts +3 -3
  666. package/dist/link-page-minimal-profile.d.ts +3 -3
  667. package/dist/link-page-newsletter-social.d.cts +3 -3
  668. package/dist/link-page-newsletter-social.d.ts +3 -3
  669. package/dist/link-tree-block.d.cts +3 -3
  670. package/dist/link-tree-block.d.ts +3 -3
  671. package/dist/list-achievements-showcase.d.cts +3 -3
  672. package/dist/list-achievements-showcase.d.ts +3 -3
  673. package/dist/list-career-timeline.d.cts +3 -3
  674. package/dist/list-career-timeline.d.ts +3 -3
  675. package/dist/list-feature-comparison.d.cts +3 -3
  676. package/dist/list-feature-comparison.d.ts +3 -3
  677. package/dist/list-metrics-dashboard.d.cts +3 -3
  678. package/dist/list-metrics-dashboard.d.ts +3 -3
  679. package/dist/list-searchable-grid.d.cts +3 -3
  680. package/dist/list-searchable-grid.d.ts +3 -3
  681. package/dist/list-service-category-table.d.cts +3 -3
  682. package/dist/list-service-category-table.d.ts +3 -3
  683. package/dist/logos-carousel-heading.d.cts +3 -3
  684. package/dist/logos-carousel-heading.d.ts +3 -3
  685. package/dist/logos-centered-simple.d.cts +3 -3
  686. package/dist/logos-centered-simple.d.ts +3 -3
  687. package/dist/logos-certifications-grid.d.cts +3 -3
  688. package/dist/logos-certifications-grid.d.ts +3 -3
  689. package/dist/logos-double-carousel-pattern.d.cts +3 -3
  690. package/dist/logos-double-carousel-pattern.d.ts +3 -3
  691. package/dist/logos-inline-tagline.d.cts +3 -3
  692. package/dist/logos-inline-tagline.d.ts +3 -3
  693. package/dist/logos-marquee-muted.d.cts +3 -3
  694. package/dist/logos-marquee-muted.d.ts +3 -3
  695. package/dist/logos-minimal-carousel.d.cts +3 -3
  696. package/dist/logos-minimal-carousel.d.ts +3 -3
  697. package/dist/logos-numbered-carousel.d.cts +3 -3
  698. package/dist/logos-numbered-carousel.d.ts +3 -3
  699. package/dist/logos-partner-grid-sidebar.d.cts +3 -3
  700. package/dist/logos-partner-grid-sidebar.d.ts +3 -3
  701. package/dist/logos-partner-network.d.cts +3 -3
  702. package/dist/logos-partner-network.d.ts +3 -3
  703. package/dist/logos-two-row-grid.d.cts +3 -3
  704. package/dist/logos-two-row-grid.d.ts +3 -3
  705. package/dist/masonry-motion-grid.d.cts +3 -3
  706. package/dist/masonry-motion-grid.d.ts +3 -3
  707. package/dist/media-hover-ctas.d.cts +3 -3
  708. package/dist/media-hover-ctas.d.ts +3 -3
  709. package/dist/navbar-animated-preview.d.cts +3 -3
  710. package/dist/navbar-animated-preview.d.ts +3 -3
  711. package/dist/navbar-centered-menu.d.cts +3 -3
  712. package/dist/navbar-centered-menu.d.ts +3 -3
  713. package/dist/navbar-dark-icons.d.cts +3 -3
  714. package/dist/navbar-dark-icons.d.ts +3 -3
  715. package/dist/navbar-dropdown-menu.d.cts +3 -3
  716. package/dist/navbar-dropdown-menu.d.ts +3 -3
  717. package/dist/navbar-education-platform.d.cts +3 -3
  718. package/dist/navbar-education-platform.d.ts +3 -3
  719. package/dist/navbar-enterprise-mega.d.cts +3 -3
  720. package/dist/navbar-enterprise-mega.d.ts +3 -3
  721. package/dist/navbar-feature-grid.d.cts +3 -3
  722. package/dist/navbar-feature-grid.d.ts +3 -3
  723. package/dist/navbar-floating-pill.d.cts +3 -3
  724. package/dist/navbar-floating-pill.d.ts +3 -3
  725. package/dist/navbar-fullscreen-menu.d.cts +3 -3
  726. package/dist/navbar-fullscreen-menu.d.ts +3 -3
  727. package/dist/navbar-icon-links.d.cts +3 -3
  728. package/dist/navbar-icon-links.d.ts +3 -3
  729. package/dist/navbar-image-preview.d.cts +3 -3
  730. package/dist/navbar-image-preview.d.ts +3 -3
  731. package/dist/navbar-mega-menu.d.cts +3 -3
  732. package/dist/navbar-mega-menu.d.ts +3 -3
  733. package/dist/navbar-multi-column-groups.d.cts +3 -3
  734. package/dist/navbar-multi-column-groups.d.ts +3 -3
  735. package/dist/navbar-platform-resources.d.cts +3 -3
  736. package/dist/navbar-platform-resources.d.ts +3 -3
  737. package/dist/navbar-search-focused.d.cts +3 -3
  738. package/dist/navbar-search-focused.d.ts +3 -3
  739. package/dist/navbar-sidebar-mobile.d.cts +3 -3
  740. package/dist/navbar-sidebar-mobile.d.ts +3 -3
  741. package/dist/navbar-simple-links.d.cts +3 -3
  742. package/dist/navbar-simple-links.d.ts +3 -3
  743. package/dist/navbar-split-cta.d.cts +3 -3
  744. package/dist/navbar-split-cta.d.ts +3 -3
  745. package/dist/navbar-sticky-compact.d.cts +3 -3
  746. package/dist/navbar-sticky-compact.d.ts +3 -3
  747. package/dist/navbar-tabbed-sections.d.cts +3 -3
  748. package/dist/navbar-tabbed-sections.d.ts +3 -3
  749. package/dist/navbar-transparent-overlay.d.cts +3 -3
  750. package/dist/navbar-transparent-overlay.d.ts +3 -3
  751. package/dist/offer-modal-membership-image.d.cts +3 -3
  752. package/dist/offer-modal-membership-image.d.ts +3 -3
  753. package/dist/offer-modal-newsletter-discount.d.cts +3 -3
  754. package/dist/offer-modal-newsletter-discount.d.ts +3 -3
  755. package/dist/offer-modal-sheet-newsletter.d.cts +3 -3
  756. package/dist/offer-modal-sheet-newsletter.d.ts +3 -3
  757. package/dist/page-hero-banner.d.cts +3 -3
  758. package/dist/page-hero-banner.d.ts +3 -3
  759. package/dist/pressable.d.cts +2 -2
  760. package/dist/pressable.d.ts +2 -2
  761. package/dist/pricing-addons-cards.d.cts +3 -3
  762. package/dist/pricing-addons-cards.d.ts +3 -3
  763. package/dist/pricing-addons-featured.d.cts +3 -3
  764. package/dist/pricing-addons-featured.d.ts +3 -3
  765. package/dist/pricing-collapsible-plans.d.cts +3 -3
  766. package/dist/pricing-collapsible-plans.d.ts +3 -3
  767. package/dist/pricing-columns-toggle.d.cts +3 -3
  768. package/dist/pricing-columns-toggle.d.ts +3 -3
  769. package/dist/pricing-comparison-headers.d.cts +3 -3
  770. package/dist/pricing-comparison-headers.d.ts +3 -3
  771. package/dist/pricing-comparison-table.d.cts +3 -3
  772. package/dist/pricing-comparison-table.d.ts +3 -3
  773. package/dist/pricing-discount-card.d.cts +3 -3
  774. package/dist/pricing-discount-card.d.ts +3 -3
  775. package/dist/pricing-enterprise-contact.d.cts +3 -3
  776. package/dist/pricing-enterprise-contact.d.ts +3 -3
  777. package/dist/pricing-feature-matrix.d.cts +3 -3
  778. package/dist/pricing-feature-matrix.d.ts +3 -3
  779. package/dist/pricing-four-tier-toggle.d.cts +3 -3
  780. package/dist/pricing-four-tier-toggle.d.ts +3 -3
  781. package/dist/pricing-full-comparison.d.cts +3 -3
  782. package/dist/pricing-full-comparison.d.ts +3 -3
  783. package/dist/pricing-gradient-cards.d.cts +3 -3
  784. package/dist/pricing-gradient-cards.d.ts +3 -3
  785. package/dist/pricing-icon-headers.d.cts +3 -3
  786. package/dist/pricing-icon-headers.d.ts +3 -3
  787. package/dist/pricing-minimal-cards.d.cts +3 -3
  788. package/dist/pricing-minimal-cards.d.ts +3 -3
  789. package/dist/pricing-packages-radio.d.cts +3 -3
  790. package/dist/pricing-packages-radio.d.ts +3 -3
  791. package/dist/pricing-popular-highlight.d.cts +3 -3
  792. package/dist/pricing-popular-highlight.d.ts +3 -3
  793. package/dist/pricing-radio-toggle.d.cts +3 -3
  794. package/dist/pricing-radio-toggle.d.ts +3 -3
  795. package/dist/pricing-responsive-table.d.cts +3 -3
  796. package/dist/pricing-responsive-table.d.ts +3 -3
  797. package/dist/pricing-services-cards.d.cts +3 -3
  798. package/dist/pricing-services-cards.d.ts +3 -3
  799. package/dist/pricing-simple-card.d.cts +3 -3
  800. package/dist/pricing-simple-card.d.ts +3 -3
  801. package/dist/pricing-single-card.d.cts +3 -3
  802. package/dist/pricing-single-card.d.ts +3 -3
  803. package/dist/pricing-split-layout.d.cts +3 -3
  804. package/dist/pricing-split-layout.d.ts +3 -3
  805. package/dist/pricing-spotlight-card.d.cts +3 -3
  806. package/dist/pricing-spotlight-card.d.ts +3 -3
  807. package/dist/pricing-switch-cards.d.cts +3 -3
  808. package/dist/pricing-switch-cards.d.ts +3 -3
  809. package/dist/pricing-tabs-toggle.d.cts +3 -3
  810. package/dist/pricing-tabs-toggle.d.ts +3 -3
  811. package/dist/pricing-tier-grid.d.cts +3 -3
  812. package/dist/pricing-tier-grid.d.ts +3 -3
  813. package/dist/pricing-toggle-cards.d.cts +3 -3
  814. package/dist/pricing-toggle-cards.d.ts +3 -3
  815. package/dist/pricing-toggle-period.d.cts +3 -3
  816. package/dist/pricing-toggle-period.d.ts +3 -3
  817. package/dist/pricing-two-column-basic.d.cts +3 -3
  818. package/dist/pricing-two-column-basic.d.ts +3 -3
  819. package/dist/process-expandable-timeline.d.cts +3 -3
  820. package/dist/process-expandable-timeline.d.ts +3 -3
  821. package/dist/process-hover-cards.d.cts +3 -3
  822. package/dist/process-hover-cards.d.ts +3 -3
  823. package/dist/process-icon-timeline.d.cts +3 -3
  824. package/dist/process-icon-timeline.d.ts +3 -3
  825. package/dist/process-mission-principles.d.cts +3 -3
  826. package/dist/process-mission-principles.d.ts +3 -3
  827. package/dist/process-numbered-services.d.cts +3 -3
  828. package/dist/process-numbered-services.d.ts +3 -3
  829. package/dist/process-roadmap-timeline.d.cts +3 -3
  830. package/dist/process-roadmap-timeline.d.ts +3 -3
  831. package/dist/process-scroll-image.d.cts +3 -3
  832. package/dist/process-scroll-image.d.ts +3 -3
  833. package/dist/process-steps-grid.d.cts +3 -3
  834. package/dist/process-steps-grid.d.ts +3 -3
  835. package/dist/process-sticky-steps.d.cts +3 -3
  836. package/dist/process-sticky-steps.d.ts +3 -3
  837. package/dist/project-alternating-motion.d.cts +3 -3
  838. package/dist/project-alternating-motion.d.ts +3 -3
  839. package/dist/project-background-reveal.d.cts +3 -3
  840. package/dist/project-background-reveal.d.ts +3 -3
  841. package/dist/project-card-overlay.d.cts +3 -3
  842. package/dist/project-card-overlay.d.ts +3 -3
  843. package/dist/project-carousel-cinematic.d.cts +3 -3
  844. package/dist/project-carousel-cinematic.d.ts +3 -3
  845. package/dist/project-carousel-detail-cards.d.cts +3 -3
  846. package/dist/project-carousel-detail-cards.d.ts +3 -3
  847. package/dist/project-carousel-minimal.d.cts +3 -3
  848. package/dist/project-carousel-minimal.d.ts +3 -3
  849. package/dist/project-detail-architecture-carousel.d.cts +3 -3
  850. package/dist/project-detail-architecture-carousel.d.ts +3 -3
  851. package/dist/project-detail-card-header.d.cts +3 -3
  852. package/dist/project-detail-card-header.d.ts +3 -3
  853. package/dist/project-detail-case-study-prose.d.cts +3 -3
  854. package/dist/project-detail-case-study-prose.d.ts +3 -3
  855. package/dist/project-detail-compact-metadata.d.cts +3 -3
  856. package/dist/project-detail-compact-metadata.d.ts +3 -3
  857. package/dist/project-detail-exhibition-sidebar.d.cts +3 -3
  858. package/dist/project-detail-exhibition-sidebar.d.ts +3 -3
  859. package/dist/project-detail-fashion-editorial.d.cts +3 -3
  860. package/dist/project-detail-fashion-editorial.d.ts +3 -3
  861. package/dist/project-detail-fullscreen-hero.d.cts +3 -3
  862. package/dist/project-detail-fullscreen-hero.d.ts +3 -3
  863. package/dist/project-detail-grid-gallery.d.cts +3 -3
  864. package/dist/project-detail-grid-gallery.d.ts +3 -3
  865. package/dist/project-detail-hero-metadata.d.cts +3 -3
  866. package/dist/project-detail-hero-metadata.d.ts +3 -3
  867. package/dist/project-detail-hover-gallery.d.cts +3 -3
  868. package/dist/project-detail-hover-gallery.d.ts +3 -3
  869. package/dist/project-detail-large-hero-featured.d.cts +3 -3
  870. package/dist/project-detail-large-hero-featured.d.ts +3 -3
  871. package/dist/project-detail-list-related.d.cts +3 -3
  872. package/dist/project-detail-list-related.d.ts +3 -3
  873. package/dist/project-detail-mask-reveal.d.cts +3 -3
  874. package/dist/project-detail-mask-reveal.d.ts +3 -3
  875. package/dist/project-detail-minimal-centered.d.cts +3 -3
  876. package/dist/project-detail-minimal-centered.d.ts +3 -3
  877. package/dist/project-detail-numbered-sections.d.cts +3 -3
  878. package/dist/project-detail-numbered-sections.d.ts +3 -3
  879. package/dist/project-detail-parallax-scroll.d.cts +3 -3
  880. package/dist/project-detail-parallax-scroll.d.ts +3 -3
  881. package/dist/project-detail-photography-breadcrumb.d.cts +3 -3
  882. package/dist/project-detail-photography-breadcrumb.d.ts +3 -3
  883. package/dist/project-detail-sculpture-showcase.d.cts +3 -3
  884. package/dist/project-detail-sculpture-showcase.d.ts +3 -3
  885. package/dist/project-detail-sidebar-navigation.d.cts +3 -3
  886. package/dist/project-detail-sidebar-navigation.d.ts +3 -3
  887. package/dist/project-detail-sidebar-sticky.d.cts +3 -3
  888. package/dist/project-detail-sidebar-sticky.d.ts +3 -3
  889. package/dist/project-detail-split-materials.d.cts +3 -3
  890. package/dist/project-detail-split-materials.d.ts +3 -3
  891. package/dist/project-detail-tabbed-case-study.d.cts +3 -3
  892. package/dist/project-detail-tabbed-case-study.d.ts +3 -3
  893. package/dist/project-experience-quote.d.cts +3 -3
  894. package/dist/project-experience-quote.d.ts +3 -3
  895. package/dist/project-featured-carousel.d.cts +3 -3
  896. package/dist/project-featured-carousel.d.ts +3 -3
  897. package/dist/project-filterable-gallery.d.cts +3 -3
  898. package/dist/project-filterable-gallery.d.ts +3 -3
  899. package/dist/project-filterable-three-column.d.cts +3 -3
  900. package/dist/project-filterable-three-column.d.ts +3 -3
  901. package/dist/project-grid-gallery.d.cts +3 -3
  902. package/dist/project-grid-gallery.d.ts +3 -3
  903. package/dist/project-grid-motion.d.cts +3 -3
  904. package/dist/project-grid-motion.d.ts +3 -3
  905. package/dist/project-horizontal-cards.d.cts +3 -3
  906. package/dist/project-horizontal-cards.d.ts +3 -3
  907. package/dist/project-hover-reveal-grid.d.cts +3 -3
  908. package/dist/project-hover-reveal-grid.d.ts +3 -3
  909. package/dist/project-interactive-hover-reveal.d.cts +3 -3
  910. package/dist/project-interactive-hover-reveal.d.ts +3 -3
  911. package/dist/project-masonry-columns.d.cts +3 -3
  912. package/dist/project-masonry-columns.d.ts +3 -3
  913. package/dist/project-nature-mosaic.d.cts +3 -3
  914. package/dist/project-nature-mosaic.d.ts +3 -3
  915. package/dist/project-scroll-reveal.d.cts +3 -3
  916. package/dist/project-scroll-reveal.d.ts +3 -3
  917. package/dist/project-showcase-alternating.d.cts +3 -3
  918. package/dist/project-showcase-alternating.d.ts +3 -3
  919. package/dist/project-sticky-scroll.d.cts +3 -3
  920. package/dist/project-sticky-scroll.d.ts +3 -3
  921. package/dist/project-studio-hover-preview.d.cts +3 -3
  922. package/dist/project-studio-hover-preview.d.ts +3 -3
  923. package/dist/project-table-list.d.cts +3 -3
  924. package/dist/project-table-list.d.ts +3 -3
  925. package/dist/project-video-carousel.d.cts +3 -3
  926. package/dist/project-video-carousel.d.ts +3 -3
  927. package/dist/project-video-hover-bento.d.cts +3 -3
  928. package/dist/project-video-hover-bento.d.ts +3 -3
  929. package/dist/project-video-hover-grid.d.cts +3 -3
  930. package/dist/project-video-hover-grid.d.ts +3 -3
  931. package/dist/project-video-hover-rounded.d.cts +3 -3
  932. package/dist/project-video-hover-rounded.d.ts +3 -3
  933. package/dist/project-video-hover-stack.d.cts +3 -3
  934. package/dist/project-video-hover-stack.d.ts +3 -3
  935. package/dist/project-video-hover-two-by-two.d.cts +3 -3
  936. package/dist/project-video-hover-two-by-two.d.ts +3 -3
  937. package/dist/project-work-showcase.d.cts +3 -3
  938. package/dist/project-work-showcase.d.ts +3 -3
  939. package/dist/project-zigzag-layout.d.cts +3 -3
  940. package/dist/project-zigzag-layout.d.ts +3 -3
  941. package/dist/registry.cjs +1984 -2091
  942. package/dist/registry.js +747 -854
  943. package/dist/resource-detail-article-hero.d.cts +3 -3
  944. package/dist/resource-detail-article-hero.d.ts +3 -3
  945. package/dist/resource-detail-document-sidebar.d.cts +3 -3
  946. package/dist/resource-detail-document-sidebar.d.ts +3 -3
  947. package/dist/resource-detail-whitepaper-sidebar.d.cts +3 -3
  948. package/dist/resource-detail-whitepaper-sidebar.d.ts +3 -3
  949. package/dist/resource-list-course-cards.d.cts +3 -3
  950. package/dist/resource-list-course-cards.d.ts +3 -3
  951. package/dist/resource-list-featured-articles.d.cts +3 -3
  952. package/dist/resource-list-featured-articles.d.ts +3 -3
  953. package/dist/resource-list-featured-grid.d.cts +3 -3
  954. package/dist/resource-list-featured-grid.d.ts +3 -3
  955. package/dist/resource-list-hero-filter.d.cts +2 -2
  956. package/dist/resource-list-hero-filter.d.ts +2 -2
  957. package/dist/resource-list-news-updates.d.cts +3 -3
  958. package/dist/resource-list-news-updates.d.ts +3 -3
  959. package/dist/section.d.cts +3 -3
  960. package/dist/section.d.ts +3 -3
  961. package/dist/service-detail-centered-expertise.d.cts +3 -3
  962. package/dist/service-detail-centered-expertise.d.ts +3 -3
  963. package/dist/service-detail-compact-cards.d.cts +3 -3
  964. package/dist/service-detail-compact-cards.d.ts +3 -3
  965. package/dist/service-detail-image-hero.d.cts +3 -3
  966. package/dist/service-detail-image-hero.d.ts +3 -3
  967. package/dist/service-detail-prose-minimal.d.cts +3 -3
  968. package/dist/service-detail-prose-minimal.d.ts +3 -3
  969. package/dist/service-detail-sidebar-related.d.cts +3 -3
  970. package/dist/service-detail-sidebar-related.d.ts +3 -3
  971. package/dist/service-detail-sidebar-stats.d.cts +3 -3
  972. package/dist/service-detail-sidebar-stats.d.ts +3 -3
  973. package/dist/service-detail-stats-hero.d.cts +3 -3
  974. package/dist/service-detail-stats-hero.d.ts +3 -3
  975. package/dist/service-hover-carousel.d.cts +3 -3
  976. package/dist/service-hover-carousel.d.ts +3 -3
  977. package/dist/services-list-accordion-benefits.d.cts +3 -3
  978. package/dist/services-list-accordion-benefits.d.ts +3 -3
  979. package/dist/services-list-accordion.d.cts +3 -3
  980. package/dist/services-list-accordion.d.ts +3 -3
  981. package/dist/services-list-cards-hover.d.cts +3 -3
  982. package/dist/services-list-cards-hover.d.ts +3 -3
  983. package/dist/services-list-category-accordion.d.cts +3 -3
  984. package/dist/services-list-category-accordion.d.ts +3 -3
  985. package/dist/services-list-centered-icons.d.cts +3 -3
  986. package/dist/services-list-centered-icons.d.ts +3 -3
  987. package/dist/services-list-culture-tabs.d.cts +3 -3
  988. package/dist/services-list-culture-tabs.d.ts +3 -3
  989. package/dist/services-list-expandable-cards.d.cts +3 -3
  990. package/dist/services-list-expandable-cards.d.ts +3 -3
  991. package/dist/services-list-feature-spotlight.d.cts +3 -3
  992. package/dist/services-list-feature-spotlight.d.ts +3 -3
  993. package/dist/services-list-featured-highlight.d.cts +3 -3
  994. package/dist/services-list-featured-highlight.d.ts +3 -3
  995. package/dist/services-list-hero-cards.d.cts +3 -3
  996. package/dist/services-list-hero-cards.d.ts +3 -3
  997. package/dist/services-list-icon-grid.d.cts +3 -3
  998. package/dist/services-list-icon-grid.d.ts +3 -3
  999. package/dist/services-list-image-cards.d.cts +3 -3
  1000. package/dist/services-list-image-cards.d.ts +3 -3
  1001. package/dist/services-list-image-overlay-grid.d.cts +3 -3
  1002. package/dist/services-list-image-overlay-grid.d.ts +3 -3
  1003. package/dist/services-list-masonry.d.cts +3 -3
  1004. package/dist/services-list-masonry.d.ts +3 -3
  1005. package/dist/services-list-methodology-steps.d.cts +3 -3
  1006. package/dist/services-list-methodology-steps.d.ts +3 -3
  1007. package/dist/services-list-minimal-grid.d.cts +3 -3
  1008. package/dist/services-list-minimal-grid.d.ts +3 -3
  1009. package/dist/services-list-muted-cards.d.cts +3 -3
  1010. package/dist/services-list-muted-cards.d.ts +3 -3
  1011. package/dist/services-list-numbered-steps.d.cts +3 -3
  1012. package/dist/services-list-numbered-steps.d.ts +3 -3
  1013. package/dist/services-list-pricing-grid.d.cts +3 -3
  1014. package/dist/services-list-pricing-grid.d.ts +3 -3
  1015. package/dist/services-list-progress-sidebar.d.cts +3 -3
  1016. package/dist/services-list-progress-sidebar.d.ts +3 -3
  1017. package/dist/services-list-split-checklist.d.cts +3 -3
  1018. package/dist/services-list-split-checklist.d.ts +3 -3
  1019. package/dist/services-list-sticky-image.d.cts +3 -3
  1020. package/dist/services-list-sticky-image.d.ts +3 -3
  1021. package/dist/services-list-table-hover.d.cts +3 -3
  1022. package/dist/services-list-table-hover.d.ts +3 -3
  1023. package/dist/services-list-tabs-features.d.cts +3 -3
  1024. package/dist/services-list-tabs-features.d.ts +3 -3
  1025. package/dist/services-list-timeline.d.cts +3 -3
  1026. package/dist/services-list-timeline.d.ts +3 -3
  1027. package/dist/services-list-two-column-grid.d.cts +3 -3
  1028. package/dist/services-list-two-column-grid.d.ts +3 -3
  1029. package/dist/services-list-vertical-tags.d.cts +3 -3
  1030. package/dist/services-list-vertical-tags.d.ts +3 -3
  1031. package/dist/services-list-video-showcase.d.cts +3 -3
  1032. package/dist/services-list-video-showcase.d.ts +3 -3
  1033. package/dist/social-link-icon.d.cts +2 -2
  1034. package/dist/social-link-icon.d.ts +2 -2
  1035. package/dist/stats-animated-counter.d.cts +3 -3
  1036. package/dist/stats-animated-counter.d.ts +3 -3
  1037. package/dist/stats-bar-comparison.d.cts +3 -3
  1038. package/dist/stats-bar-comparison.d.ts +3 -3
  1039. package/dist/stats-card-group.d.cts +3 -3
  1040. package/dist/stats-card-group.d.ts +3 -3
  1041. package/dist/stats-circular-progress.d.cts +3 -3
  1042. package/dist/stats-circular-progress.d.ts +3 -3
  1043. package/dist/stats-growth-timeline.d.cts +3 -3
  1044. package/dist/stats-growth-timeline.d.ts +3 -3
  1045. package/dist/stats-icon-cards.d.cts +3 -3
  1046. package/dist/stats-icon-cards.d.ts +3 -3
  1047. package/dist/stats-impact-grid.d.cts +3 -3
  1048. package/dist/stats-impact-grid.d.ts +3 -3
  1049. package/dist/stats-milestone-sidebar.d.cts +3 -3
  1050. package/dist/stats-milestone-sidebar.d.ts +3 -3
  1051. package/dist/stats-number-ticker.d.cts +3 -3
  1052. package/dist/stats-number-ticker.d.ts +3 -3
  1053. package/dist/stats-primary-secondary.d.cts +3 -3
  1054. package/dist/stats-primary-secondary.d.ts +3 -3
  1055. package/dist/stats-simple-grid.d.cts +3 -3
  1056. package/dist/stats-simple-grid.d.ts +3 -3
  1057. package/dist/stats-timeline-tabs.d.cts +3 -3
  1058. package/dist/stats-timeline-tabs.d.ts +3 -3
  1059. package/dist/team-alternating-bios.d.cts +3 -3
  1060. package/dist/team-alternating-bios.d.ts +3 -3
  1061. package/dist/team-avatar-social.d.cts +3 -3
  1062. package/dist/team-avatar-social.d.ts +3 -3
  1063. package/dist/team-bio-badges.d.cts +3 -3
  1064. package/dist/team-bio-badges.d.ts +3 -3
  1065. package/dist/team-carousel-experience.d.cts +3 -3
  1066. package/dist/team-carousel-experience.d.ts +3 -3
  1067. package/dist/team-compact-cta.d.cts +3 -3
  1068. package/dist/team-compact-cta.d.ts +3 -3
  1069. package/dist/team-compact-grid.d.cts +3 -3
  1070. package/dist/team-compact-grid.d.ts +3 -3
  1071. package/dist/team-contact-cards.d.cts +3 -3
  1072. package/dist/team-contact-cards.d.ts +3 -3
  1073. package/dist/team-department-sections.d.cts +3 -3
  1074. package/dist/team-department-sections.d.ts +3 -3
  1075. package/dist/team-expertise-cards.d.cts +3 -3
  1076. package/dist/team-expertise-cards.d.ts +3 -3
  1077. package/dist/team-filterable-search.d.cts +3 -3
  1078. package/dist/team-filterable-search.d.ts +3 -3
  1079. package/dist/team-gradient-cards.d.cts +3 -3
  1080. package/dist/team-gradient-cards.d.ts +3 -3
  1081. package/dist/team-grid-animated.d.cts +3 -3
  1082. package/dist/team-grid-animated.d.ts +3 -3
  1083. package/dist/team-hover-highlight.d.cts +3 -3
  1084. package/dist/team-hover-highlight.d.ts +3 -3
  1085. package/dist/team-hover-overlay.d.cts +3 -3
  1086. package/dist/team-hover-overlay.d.ts +3 -3
  1087. package/dist/team-investor-showcase.d.cts +3 -3
  1088. package/dist/team-investor-showcase.d.ts +3 -3
  1089. package/dist/team-large-images.d.cts +3 -3
  1090. package/dist/team-large-images.d.ts +3 -3
  1091. package/dist/team-media-showcase.d.cts +3 -3
  1092. package/dist/team-media-showcase.d.ts +3 -3
  1093. package/dist/team-role-filter.d.cts +3 -3
  1094. package/dist/team-role-filter.d.ts +3 -3
  1095. package/dist/team-simple-grid.d.cts +3 -3
  1096. package/dist/team-simple-grid.d.ts +3 -3
  1097. package/dist/team-skill-badges.d.cts +3 -3
  1098. package/dist/team-skill-badges.d.ts +3 -3
  1099. package/dist/team-social-cards.d.cts +3 -3
  1100. package/dist/team-social-cards.d.ts +3 -3
  1101. package/dist/team-social-grid.d.cts +3 -3
  1102. package/dist/team-social-grid.d.ts +3 -3
  1103. package/dist/team-testimonial-stats.d.cts +3 -3
  1104. package/dist/team-testimonial-stats.d.ts +3 -3
  1105. package/dist/testimonial-carousel-cards.d.cts +3 -3
  1106. package/dist/testimonial-carousel-cards.d.ts +3 -3
  1107. package/dist/testimonials-animated-split.d.cts +3 -3
  1108. package/dist/testimonials-animated-split.d.ts +3 -3
  1109. package/dist/testimonials-bento-grid.d.cts +3 -3
  1110. package/dist/testimonials-bento-grid.d.ts +3 -3
  1111. package/dist/testimonials-carousel-image.d.cts +3 -3
  1112. package/dist/testimonials-carousel-image.d.ts +3 -3
  1113. package/dist/testimonials-centered-avatars.d.cts +3 -3
  1114. package/dist/testimonials-centered-avatars.d.ts +3 -3
  1115. package/dist/testimonials-company-logo.d.cts +3 -3
  1116. package/dist/testimonials-company-logo.d.ts +3 -3
  1117. package/dist/testimonials-grid-add-review.d.cts +3 -3
  1118. package/dist/testimonials-grid-add-review.d.ts +3 -3
  1119. package/dist/testimonials-images-helpful.d.cts +3 -3
  1120. package/dist/testimonials-images-helpful.d.ts +3 -3
  1121. package/dist/testimonials-large-quote.d.cts +3 -3
  1122. package/dist/testimonials-large-quote.d.ts +3 -3
  1123. package/dist/testimonials-list-verified.d.cts +3 -3
  1124. package/dist/testimonials-list-verified.d.ts +3 -3
  1125. package/dist/testimonials-logo-cards.d.cts +3 -3
  1126. package/dist/testimonials-logo-cards.d.ts +3 -3
  1127. package/dist/testimonials-marquee.d.cts +3 -3
  1128. package/dist/testimonials-marquee.d.ts +3 -3
  1129. package/dist/testimonials-masonry-grid.d.cts +3 -3
  1130. package/dist/testimonials-masonry-grid.d.ts +3 -3
  1131. package/dist/testimonials-mini-dividers.d.cts +3 -3
  1132. package/dist/testimonials-mini-dividers.d.ts +3 -3
  1133. package/dist/testimonials-minimal-numbered.d.cts +3 -3
  1134. package/dist/testimonials-minimal-numbered.d.ts +3 -3
  1135. package/dist/testimonials-parallax-number.d.cts +3 -3
  1136. package/dist/testimonials-parallax-number.d.ts +3 -3
  1137. package/dist/testimonials-quote-carousel.d.cts +3 -3
  1138. package/dist/testimonials-quote-carousel.d.ts +3 -3
  1139. package/dist/testimonials-scrolling-columns.d.cts +3 -3
  1140. package/dist/testimonials-scrolling-columns.d.ts +3 -3
  1141. package/dist/testimonials-simple-grid.d.cts +3 -3
  1142. package/dist/testimonials-simple-grid.d.ts +3 -3
  1143. package/dist/testimonials-slider-minimal.d.cts +3 -3
  1144. package/dist/testimonials-slider-minimal.d.ts +3 -3
  1145. package/dist/testimonials-split-image.d.cts +3 -3
  1146. package/dist/testimonials-split-image.d.ts +3 -3
  1147. package/dist/testimonials-stats-header.d.cts +3 -3
  1148. package/dist/testimonials-stats-header.d.ts +3 -3
  1149. package/dist/testimonials-twitter-cards.d.cts +3 -3
  1150. package/dist/testimonials-twitter-cards.d.ts +3 -3
  1151. package/dist/testimonials-wall-compact.d.cts +3 -3
  1152. package/dist/testimonials-wall-compact.d.ts +3 -3
  1153. package/dist/timeline-ai-workflow-cards.d.cts +3 -3
  1154. package/dist/timeline-ai-workflow-cards.d.ts +3 -3
  1155. package/dist/timeline-alternating-diagonal.d.cts +3 -3
  1156. package/dist/timeline-alternating-diagonal.d.ts +3 -3
  1157. package/dist/timeline-changelog-badges.d.cts +3 -3
  1158. package/dist/timeline-changelog-badges.d.ts +3 -3
  1159. package/dist/timeline-history-prose.d.cts +3 -3
  1160. package/dist/timeline-history-prose.d.ts +3 -3
  1161. package/dist/timeline-horizontal-icons.d.cts +3 -3
  1162. package/dist/timeline-horizontal-icons.d.ts +3 -3
  1163. package/dist/timeline-horizontal-phases.d.cts +3 -3
  1164. package/dist/timeline-horizontal-phases.d.ts +3 -3
  1165. package/dist/timeline-product-launch.d.cts +3 -3
  1166. package/dist/timeline-product-launch.d.ts +3 -3
  1167. package/dist/timeline-productivity-list.d.cts +3 -3
  1168. package/dist/timeline-productivity-list.d.ts +3 -3
  1169. package/dist/timeline-scroll-highlight.d.cts +3 -3
  1170. package/dist/timeline-scroll-highlight.d.ts +3 -3
  1171. package/dist/timeline-scroll-sticky-image.d.cts +3 -3
  1172. package/dist/timeline-scroll-sticky-image.d.ts +3 -3
  1173. package/dist/timeline-stepper-animated.d.cts +3 -3
  1174. package/dist/timeline-stepper-animated.d.ts +3 -3
  1175. package/dist/timeline-tabbed-phases.d.cts +3 -3
  1176. package/dist/timeline-tabbed-phases.d.ts +3 -3
  1177. package/dist/timeline-two-column-featured.d.cts +3 -3
  1178. package/dist/timeline-two-column-featured.d.ts +3 -3
  1179. package/dist/timeline-vertical-icon-dashed.d.cts +3 -3
  1180. package/dist/timeline-vertical-icon-dashed.d.ts +3 -3
  1181. package/dist/types.d.cts +3 -3
  1182. package/dist/types.d.ts +3 -3
  1183. package/dist/utils.d.cts +3 -3
  1184. package/dist/utils.d.ts +3 -3
  1185. package/package.json +2 -2
package/dist/registry.js CHANGED
@@ -1,5 +1,5 @@
1
- import * as React22 from 'react';
2
- import React22__default, { Fragment, createContext, useMemo, forwardRef, useCallback, useState, useRef, useEffect, startTransition, useContext } from 'react';
1
+ import * as React23 from 'react';
2
+ import React23__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';
@@ -11,10 +11,10 @@ import { Slot } from '@radix-ui/react-slot';
11
11
  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
+ import { Form, useForm, Field } from '@page-speed/forms';
15
+ import { useFileUpload, useContactForm, DynamicFormField, submitPageSpeedForm, PageSpeedFormSubmissionError, isValidEmail, getColumnSpanClass, FormEngine } from '@page-speed/forms/integration';
14
16
  import { AnimatePresence, motion, useMotionValue, useMotionTemplate, useSpring, useTransform, useInView, useScroll, useMotionValueEvent } from 'framer-motion';
15
- import { useForm, Form, Field } from '@page-speed/forms';
16
17
  import { TextInput as TextInput$1 } from '@page-speed/forms/inputs';
17
- import { submitPageSpeedForm, PageSpeedFormSubmissionError, isValidEmail, useContactForm, getColumnSpanClass, DynamicFormField, useFileUpload } from '@page-speed/forms/integration';
18
18
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
19
19
  import * as AccordionPrimitive from '@radix-ui/react-accordion';
20
20
  import useEmblaCarousel from 'embla-carousel-react';
@@ -140,7 +140,7 @@ var maxWidthStyles = {
140
140
  "4xl": "max-w-[1536px]",
141
141
  full: "max-w-full"
142
142
  };
143
- var Container = React22__default.forwardRef(
143
+ var Container = React23__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 = React22__default.forwardRef(
448
+ var Section = React23__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 = React22.useMemo(() => {
1038
+ const linkType = React23.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 = React22.useMemo(() => {
1059
+ const normalizedHref = React23.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 = React22.useMemo(() => {
1077
+ const target = React23.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 = React22.useMemo(() => {
1090
+ const rel = React23.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 = React22.useCallback(
1099
+ const handleClick = React23.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 = React22.forwardRef(
1283
+ var Pressable = React23.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] = React22.useState(
2331
+ const [currentIndex, setCurrentIndex] = React23.useState(
2332
2332
  () => normalizeIndex(startIndex, images.length)
2333
2333
  );
2334
- const handleNext = React22.useCallback(() => {
2334
+ const handleNext = React23.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 = React22.useCallback(() => {
2342
+ const handlePrevious = React23.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
- React22.useEffect(() => {
2350
+ React23.useEffect(() => {
2351
2351
  if (!hasImages) return;
2352
2352
  setCurrentIndex(normalizeIndex(startIndex, images.length));
2353
2353
  }, [startIndex, images.length, hasImages]);
2354
- React22.useEffect(() => {
2354
+ React23.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
- React22.useEffect(() => {
2368
+ React23.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 = React22.forwardRef(
2653
+ var SocialLinkIcon = React23.forwardRef(
2654
2654
  ({
2655
2655
  platformName,
2656
2656
  label,
@@ -2663,13 +2663,13 @@ var SocialLinkIcon = React22.forwardRef(
2663
2663
  ...pressableProps
2664
2664
  }, ref) => {
2665
2665
  const platform = usePlatformFromUrl(href);
2666
- const smartPlatformName = React22.useMemo(() => {
2666
+ const smartPlatformName = React23.useMemo(() => {
2667
2667
  return platform || platformName;
2668
2668
  }, [platform, platformName]);
2669
- const iconName = React22.useMemo(() => {
2669
+ const iconName = React23.useMemo(() => {
2670
2670
  return iconNameOverride || platformIconMap[smartPlatformName];
2671
2671
  }, [iconNameOverride, smartPlatformName]);
2672
- const accessibleLabel = React22.useMemo(() => {
2672
+ const accessibleLabel = React23.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] = React22.useState(null);
3097
+ const [expandedValue, setExpandedValue] = React23.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] = React22.useState(
3351
+ const [activeCategory, setActiveCategory] = React23.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] = React22.useState(resolvedAspects[0]?.id || "");
3624
+ const [activeTab, setActiveTab] = React23.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] = React22.useState(href);
4438
- React22.useEffect(() => {
4437
+ const [trackedHref, setTrackedHref] = React23.useState(href);
4438
+ React23.useEffect(() => {
4439
4439
  setTrackedHref(buildTrackedHref(href));
4440
4440
  }, [href]);
4441
4441
  return /* @__PURE__ */ jsxs(ContainerEl, { className: containerClassName, children: [
@@ -4513,16 +4513,20 @@ function FooterLinksGrid({
4513
4513
  }
4514
4514
  );
4515
4515
  }
4516
+ var DEFAULT_FORM_FIELDS = [
4517
+ {
4518
+ name: "email",
4519
+ type: "email",
4520
+ label: "Email Address",
4521
+ placeholder: "Enter your email",
4522
+ required: true,
4523
+ columnSpan: 12
4524
+ }
4525
+ ];
4516
4526
  function FooterSocialNewsletter({
4517
4527
  logo,
4518
4528
  sections,
4519
4529
  socialLinks,
4520
- newsletterLabel,
4521
- newsletterPlaceholder,
4522
- newsletterButtonText,
4523
- privacyLinkText,
4524
- privacyLinkUrl,
4525
- privacyConsentText,
4526
4530
  copyright,
4527
4531
  className,
4528
4532
  contentClassName,
@@ -4536,9 +4540,15 @@ function FooterSocialNewsletter({
4536
4540
  socialColumnClassName,
4537
4541
  socialLinksClassName,
4538
4542
  socialLinkClassName,
4539
- newsletterClassName,
4540
- newsletterInputClassName,
4541
- newsletterButtonClassName,
4543
+ formFields = DEFAULT_FORM_FIELDS,
4544
+ formConfig,
4545
+ onSubmit,
4546
+ onSuccess,
4547
+ onError,
4548
+ successMessage,
4549
+ buttonAction,
4550
+ helperText,
4551
+ formSlot,
4542
4552
  privacyClassName,
4543
4553
  bottomClassName,
4544
4554
  copyrightClassName,
@@ -4549,6 +4559,104 @@ function FooterSocialNewsletter({
4549
4559
  patternOpacity,
4550
4560
  optixFlowConfig
4551
4561
  }) {
4562
+ const {
4563
+ uploadTokens,
4564
+ uploadProgress,
4565
+ isUploading,
4566
+ uploadFiles,
4567
+ removeFile,
4568
+ resetUpload
4569
+ } = useFileUpload({ onError });
4570
+ const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
4571
+ formFields,
4572
+ formConfig,
4573
+ onSubmit,
4574
+ onSuccess: (data) => {
4575
+ resetUpload();
4576
+ onSuccess?.(data);
4577
+ },
4578
+ onError,
4579
+ uploadTokens
4580
+ });
4581
+ const renderForm = React23.useMemo(() => {
4582
+ if (formSlot) return formSlot;
4583
+ const defaultButtonAction = {
4584
+ label: "Subscribe",
4585
+ variant: "default",
4586
+ className: "h-12"
4587
+ };
4588
+ const action = buttonAction || defaultButtonAction;
4589
+ return /* @__PURE__ */ jsxs(
4590
+ Form,
4591
+ {
4592
+ form,
4593
+ fields: formFields,
4594
+ notificationConfig: {
4595
+ submissionError,
4596
+ successMessage
4597
+ },
4598
+ formConfig: {
4599
+ endpoint: formConfig?.endpoint,
4600
+ method: formMethod,
4601
+ submissionConfig: formConfig?.submissionConfig,
4602
+ formLayout: "button-group",
4603
+ buttonGroupSize: "sm",
4604
+ submitLabel: action.label,
4605
+ submitVariant: action.variant || "default",
4606
+ submitIconComponent: action.icon || /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/send" })
4607
+ },
4608
+ onNewSubmission: () => {
4609
+ resetUpload();
4610
+ resetSubmissionState();
4611
+ },
4612
+ children: [
4613
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 sm:flex-row", children: [
4614
+ formFields.map((field) => /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
4615
+ DynamicFormField,
4616
+ {
4617
+ field,
4618
+ uploadProgress,
4619
+ onFileUpload: uploadFiles,
4620
+ onFileRemove: removeFile,
4621
+ isUploading
4622
+ }
4623
+ ) }, field.name)),
4624
+ /* @__PURE__ */ jsxs(
4625
+ Pressable,
4626
+ {
4627
+ onClick: form.handleSubmit,
4628
+ asButton: true,
4629
+ variant: action.variant,
4630
+ className: cn("h-12", action.className),
4631
+ disabled: form.isSubmitting,
4632
+ children: [
4633
+ action.label,
4634
+ action.iconAfter
4635
+ ]
4636
+ }
4637
+ )
4638
+ ] }),
4639
+ helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2"), children: helperText }) : helperText)
4640
+ ]
4641
+ }
4642
+ );
4643
+ }, [
4644
+ formSlot,
4645
+ formFields,
4646
+ form,
4647
+ formConfig,
4648
+ formMethod,
4649
+ buttonAction,
4650
+ uploadProgress,
4651
+ uploadFiles,
4652
+ removeFile,
4653
+ isUploading,
4654
+ submissionError,
4655
+ successMessage,
4656
+ helperText,
4657
+ resetUpload,
4658
+ resetSubmissionState
4659
+ ]);
4552
4660
  return /* @__PURE__ */ jsx(
4553
4661
  Section,
4554
4662
  {
@@ -4644,58 +4752,7 @@ function FooterSocialNewsletter({
4644
4752
  ]
4645
4753
  }
4646
4754
  ),
4647
- (newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs(
4648
- "div",
4649
- {
4650
- className: cn(
4651
- "flex w-full flex-col gap-2 lg:w-auto lg:max-w-md",
4652
- newsletterClassName
4653
- ),
4654
- children: [
4655
- /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-row items-stretch", children: [
4656
- /* @__PURE__ */ jsx(
4657
- "input",
4658
- {
4659
- type: "email",
4660
- id: "newsletter-email",
4661
- placeholder: newsletterPlaceholder || "Enter your email",
4662
- className: cn(
4663
- "flex h-10 w-full rounded-l-md rounded-r-none border border-r-0 border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 sm:w-64",
4664
- newsletterInputClassName
4665
- )
4666
- }
4667
- ),
4668
- newsletterButtonText && /* @__PURE__ */ jsx(
4669
- Pressable,
4670
- {
4671
- onClick: (e) => {
4672
- e.preventDefault();
4673
- },
4674
- variant: "default",
4675
- size: "icon",
4676
- asButton: true,
4677
- className: cn(
4678
- "rounded-l-none rounded-r-md shrink-0 h-10",
4679
- newsletterButtonClassName
4680
- ),
4681
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "feather/send" })
4682
- }
4683
- )
4684
- ] }),
4685
- (privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxs("p", { className: cn("text-xs opacity-70", privacyClassName), children: [
4686
- privacyConsentText,
4687
- privacyLinkText && /* @__PURE__ */ jsx(
4688
- Pressable,
4689
- {
4690
- href: privacyLinkUrl || "#",
4691
- className: "ml-1 underline hover:opacity-100",
4692
- children: privacyLinkText
4693
- }
4694
- )
4695
- ] })
4696
- ]
4697
- }
4698
- )
4755
+ renderForm
4699
4756
  ]
4700
4757
  }
4701
4758
  )
@@ -4855,7 +4912,7 @@ function FooterSimpleCentered({
4855
4912
  ]);
4856
4913
  const bottomLinksContent = useMemo(() => {
4857
4914
  if (!bottomLinks || bottomLinks.length === 0) return null;
4858
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React22.Fragment, { children: /* @__PURE__ */ jsx(
4915
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React23.Fragment, { children: /* @__PURE__ */ jsx(
4859
4916
  Pressable,
4860
4917
  {
4861
4918
  href: link.href,
@@ -7480,7 +7537,7 @@ function AboutInteractiveTabs({
7480
7537
  pattern,
7481
7538
  patternOpacity
7482
7539
  }) {
7483
- const [activeTab, setActiveTab] = React22.useState(tabs?.[0]?.id ?? "");
7540
+ const [activeTab, setActiveTab] = React23.useState(tabs?.[0]?.id ?? "");
7484
7541
  const activeContent = useMemo(() => {
7485
7542
  return tabs?.find((tab) => tab.id === activeTab)?.content;
7486
7543
  }, [tabs, activeTab]);
@@ -11505,7 +11562,7 @@ function CtaVideoBackgroundHero({
11505
11562
  pattern,
11506
11563
  patternOpacity
11507
11564
  }) {
11508
- const [isModalOpen, setIsModalOpen] = React22.useState(false);
11565
+ const [isModalOpen, setIsModalOpen] = React23.useState(false);
11509
11566
  const handleOpenModal = () => {
11510
11567
  setIsModalOpen(true);
11511
11568
  onModalOpen?.();
@@ -11693,7 +11750,7 @@ function CtaWorkflowTabs({
11693
11750
  patternOpacity,
11694
11751
  optixFlowConfig
11695
11752
  }) {
11696
- const [activeTab, setActiveTab] = React22.useState(tabs?.[0]?.id || "");
11753
+ const [activeTab, setActiveTab] = React23.useState(tabs?.[0]?.id || "");
11697
11754
  const activeTabData = tabs?.find((tab) => tab.id === activeTab) || tabs?.[0];
11698
11755
  const actionsContent = useMemo(() => {
11699
11756
  if (actionsSlot) return actionsSlot;
@@ -12306,7 +12363,7 @@ function ContactFloatingBanner({
12306
12363
  pattern,
12307
12364
  patternOpacity
12308
12365
  }) {
12309
- const actionsContent = React22.useMemo(() => {
12366
+ const actionsContent = React23.useMemo(() => {
12310
12367
  if (actionsSlot) return actionsSlot;
12311
12368
  if (actions && actions.length > 0) {
12312
12369
  return actions.map((action, index) => {
@@ -12404,7 +12461,7 @@ function ContactFloatingBanner({
12404
12461
  }
12405
12462
  );
12406
12463
  }
12407
- var DEFAULT_FORM_FIELDS = [
12464
+ var DEFAULT_FORM_FIELDS2 = [
12408
12465
  {
12409
12466
  name: "name",
12410
12467
  type: "text",
@@ -12537,7 +12594,7 @@ function ContactCallback({
12537
12594
  onSuccess,
12538
12595
  onError
12539
12596
  }) {
12540
- const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS, [formFields]);
12597
+ const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS2, [formFields]);
12541
12598
  const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
12542
12599
  formFields: fields,
12543
12600
  formConfig,
@@ -12665,7 +12722,7 @@ function ContactCallback({
12665
12722
  }
12666
12723
  );
12667
12724
  }
12668
- var DEFAULT_FORM_FIELDS2 = [
12725
+ var DEFAULT_FORM_FIELDS3 = [
12669
12726
  {
12670
12727
  name: "firstName",
12671
12728
  type: "text",
@@ -12740,7 +12797,7 @@ function ContactCard({
12740
12797
  onSuccess,
12741
12798
  onError
12742
12799
  }) {
12743
- const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS2, [formFields]);
12800
+ const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS3, [formFields]);
12744
12801
  const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
12745
12802
  formFields: fields,
12746
12803
  formConfig,
@@ -12748,7 +12805,7 @@ function ContactCard({
12748
12805
  onSuccess,
12749
12806
  onError
12750
12807
  });
12751
- const actionsContent = React22.useMemo(() => {
12808
+ const actionsContent = React23.useMemo(() => {
12752
12809
  if (actionsSlot) return actionsSlot;
12753
12810
  if (actions && actions.length > 0) {
12754
12811
  return actions.map((action, index) => {
@@ -12876,7 +12933,7 @@ function ContactCard({
12876
12933
  }
12877
12934
  );
12878
12935
  }
12879
- var DEFAULT_FORM_FIELDS3 = [
12936
+ var DEFAULT_FORM_FIELDS4 = [
12880
12937
  {
12881
12938
  name: "position",
12882
12939
  type: "select",
@@ -13004,7 +13061,7 @@ function ContactCareers({
13004
13061
  onSuccess,
13005
13062
  onError
13006
13063
  }) {
13007
- const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS3, [formFields]);
13064
+ const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS4, [formFields]);
13008
13065
  const {
13009
13066
  uploadTokens,
13010
13067
  uploadProgress,
@@ -13194,7 +13251,7 @@ var BUDGET_RANGES = [
13194
13251
  { value: "100-150", label: "$100-150 / person" },
13195
13252
  { value: "150+", label: "$150+ / person" }
13196
13253
  ];
13197
- var DEFAULT_FORM_FIELDS4 = [
13254
+ var DEFAULT_FORM_FIELDS5 = [
13198
13255
  {
13199
13256
  name: "eventType",
13200
13257
  type: "select",
@@ -13332,7 +13389,7 @@ function ContactCatering({
13332
13389
  onSuccess,
13333
13390
  onError
13334
13391
  }) {
13335
- const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS4, [formFields]);
13392
+ const fields = useMemo(() => formFields || DEFAULT_FORM_FIELDS5, [formFields]);
13336
13393
  const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
13337
13394
  formFields: fields,
13338
13395
  formConfig,
@@ -13340,7 +13397,7 @@ function ContactCatering({
13340
13397
  onSuccess,
13341
13398
  onError
13342
13399
  });
13343
- const actionsContent = React22.useMemo(() => {
13400
+ const actionsContent = React23.useMemo(() => {
13344
13401
  if (actionsSlot) return actionsSlot;
13345
13402
  if (actions && actions.length > 0) {
13346
13403
  return actions.map((action, index) => {
@@ -13466,7 +13523,7 @@ var BUDGETS = [
13466
13523
  { value: "25k-50k", label: "$25,000 - $50,000" },
13467
13524
  { value: "50k-plus", label: "$50,000+" }
13468
13525
  ];
13469
- var DEFAULT_FORM_FIELDS5 = [
13526
+ var DEFAULT_FORM_FIELDS6 = [
13470
13527
  {
13471
13528
  name: "service",
13472
13529
  type: "select",
@@ -13574,7 +13631,7 @@ function ContactConsultation({
13574
13631
  onError
13575
13632
  }) {
13576
13633
  const fields = useMemo(
13577
- () => formFields || DEFAULT_FORM_FIELDS5,
13634
+ () => formFields || DEFAULT_FORM_FIELDS6,
13578
13635
  [formFields]
13579
13636
  );
13580
13637
  const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
@@ -13584,7 +13641,7 @@ function ContactConsultation({
13584
13641
  onSuccess,
13585
13642
  onError
13586
13643
  });
13587
- const actionsContent = React22.useMemo(() => {
13644
+ const actionsContent = React23.useMemo(() => {
13588
13645
  if (actionsSlot) return actionsSlot;
13589
13646
  if (actions && actions.length > 0) {
13590
13647
  return actions.map((action, index) => {
@@ -13689,7 +13746,7 @@ function ContactConsultation({
13689
13746
  }
13690
13747
  );
13691
13748
  }
13692
- var DEFAULT_FORM_FIELDS6 = [
13749
+ var DEFAULT_FORM_FIELDS7 = [
13693
13750
  {
13694
13751
  name: "firstName",
13695
13752
  type: "text",
@@ -13737,7 +13794,7 @@ function ContactDark({
13737
13794
  contactOptionsSlot,
13738
13795
  socialLinks,
13739
13796
  socialLinksSlot,
13740
- formFields = DEFAULT_FORM_FIELDS6,
13797
+ formFields = DEFAULT_FORM_FIELDS7,
13741
13798
  successMessage = "Thank you! Your message has been sent successfully.",
13742
13799
  className,
13743
13800
  headerClassName,
@@ -13782,7 +13839,7 @@ function ContactDark({
13782
13839
  resetOnSuccess: formConfig?.resetOnSuccess !== false,
13783
13840
  uploadTokens
13784
13841
  });
13785
- const actionsContent = React22.useMemo(() => {
13842
+ const actionsContent = React23.useMemo(() => {
13786
13843
  if (actionsSlot) return actionsSlot;
13787
13844
  if (actions && actions.length > 0) {
13788
13845
  return actions.map((action, index) => {
@@ -13812,7 +13869,7 @@ function ContactDark({
13812
13869
  }
13813
13870
  return null;
13814
13871
  }, [actionsSlot, actions]);
13815
- const contactOptionsContent = React22.useMemo(() => {
13872
+ const contactOptionsContent = React23.useMemo(() => {
13816
13873
  if (contactOptionsSlot) return contactOptionsSlot;
13817
13874
  if (contactOptions && contactOptions.length > 0) {
13818
13875
  return contactOptions.map((option, key) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
@@ -13836,7 +13893,7 @@ function ContactDark({
13836
13893
  }
13837
13894
  return null;
13838
13895
  }, [contactOptionsSlot, contactOptions]);
13839
- const socialLinksContent = React22.useMemo(() => {
13896
+ const socialLinksContent = React23.useMemo(() => {
13840
13897
  if (socialLinksSlot) return socialLinksSlot;
13841
13898
  if (socialLinks && socialLinks.length > 0) {
13842
13899
  return socialLinks.map((social, key) => /* @__PURE__ */ jsx(
@@ -13987,7 +14044,7 @@ function ContactDark({
13987
14044
  }
13988
14045
  );
13989
14046
  }
13990
- var DEFAULT_FORM_FIELDS7 = [
14047
+ var DEFAULT_FORM_FIELDS8 = [
13991
14048
  {
13992
14049
  name: "first_name",
13993
14050
  type: "text",
@@ -14037,7 +14094,7 @@ function ContactDemo({
14037
14094
  buttonIcon,
14038
14095
  actions,
14039
14096
  actionsSlot,
14040
- formFields = DEFAULT_FORM_FIELDS7,
14097
+ formFields = DEFAULT_FORM_FIELDS8,
14041
14098
  successMessage = "Thank you! Your message has been sent successfully.",
14042
14099
  className,
14043
14100
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -14223,7 +14280,7 @@ var PRIORITIES = [
14223
14280
  response: "24 hours"
14224
14281
  }
14225
14282
  ];
14226
- var DEFAULT_FORM_FIELDS8 = [
14283
+ var DEFAULT_FORM_FIELDS9 = [
14227
14284
  {
14228
14285
  name: "priority",
14229
14286
  type: "radio",
@@ -14281,7 +14338,7 @@ function ContactEmergency({
14281
14338
  buttonIcon,
14282
14339
  actions,
14283
14340
  actionsSlot,
14284
- formFields = DEFAULT_FORM_FIELDS8,
14341
+ formFields = DEFAULT_FORM_FIELDS9,
14285
14342
  successMessage = "Thank you! Your emergency request has been received.",
14286
14343
  className,
14287
14344
  headerClassName,
@@ -14514,7 +14571,7 @@ function ContactEmergency({
14514
14571
  }
14515
14572
  );
14516
14573
  }
14517
- var DEFAULT_FORM_FIELDS9 = [
14574
+ var DEFAULT_FORM_FIELDS10 = [
14518
14575
  {
14519
14576
  name: "first_name",
14520
14577
  type: "text",
@@ -14564,7 +14621,7 @@ function ContactEvent({
14564
14621
  buttonIcon,
14565
14622
  actions,
14566
14623
  actionsSlot,
14567
- formFields = DEFAULT_FORM_FIELDS9,
14624
+ formFields = DEFAULT_FORM_FIELDS10,
14568
14625
  successMessage = "Thank you! Your message has been sent successfully.",
14569
14626
  className,
14570
14627
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -14790,7 +14847,7 @@ function AccordionContent({
14790
14847
  }
14791
14848
  );
14792
14849
  }
14793
- var DEFAULT_FORM_FIELDS10 = [
14850
+ var DEFAULT_FORM_FIELDS11 = [
14794
14851
  {
14795
14852
  name: "name",
14796
14853
  type: "text",
@@ -14831,12 +14888,10 @@ function ContactFaq({
14831
14888
  formHeading,
14832
14889
  buttonText = "Submit",
14833
14890
  buttonIcon,
14834
- actions,
14835
- actionsSlot,
14836
14891
  items,
14837
14892
  itemsSlot,
14838
14893
  faqHeading,
14839
- formFields = DEFAULT_FORM_FIELDS10,
14894
+ formFields = DEFAULT_FORM_FIELDS11,
14840
14895
  successMessage = "Thank you! Your message has been sent successfully.",
14841
14896
  className,
14842
14897
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -14847,7 +14902,6 @@ function ContactFaq({
14847
14902
  cardContentClassName,
14848
14903
  formHeadingClassName,
14849
14904
  formClassName,
14850
- submitClassName,
14851
14905
  faqHeadingClassName,
14852
14906
  faqContainerClassName,
14853
14907
  accordionClassName,
@@ -14874,48 +14928,6 @@ function ContactFaq({
14874
14928
  removeFile,
14875
14929
  resetUpload
14876
14930
  } = useFileUpload({ onError });
14877
- const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
14878
- formFields,
14879
- formConfig,
14880
- onSubmit,
14881
- onSuccess: (data) => {
14882
- resetUpload();
14883
- onSuccess?.(data);
14884
- },
14885
- onError,
14886
- resetOnSuccess: formConfig?.resetOnSuccess !== false,
14887
- uploadTokens
14888
- });
14889
- const actionsContent = useMemo(() => {
14890
- if (actionsSlot) return actionsSlot;
14891
- if (actions && actions.length > 0) {
14892
- return actions.map((action, index) => {
14893
- const {
14894
- label,
14895
- icon,
14896
- iconAfter,
14897
- children,
14898
- className: actionClassName,
14899
- ...pressableProps
14900
- } = action;
14901
- return /* @__PURE__ */ jsx(
14902
- Pressable,
14903
- {
14904
- asButton: true,
14905
- className: actionClassName,
14906
- ...pressableProps,
14907
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
14908
- icon,
14909
- label,
14910
- iconAfter
14911
- ] })
14912
- },
14913
- index
14914
- );
14915
- });
14916
- }
14917
- return null;
14918
- }, [actionsSlot, actions]);
14919
14931
  const hasFaqItems = itemsSlot || items && items.length > 0;
14920
14932
  const faqContent = useMemo(() => {
14921
14933
  if (itemsSlot) return itemsSlot;
@@ -14976,7 +14988,7 @@ function ContactFaq({
14976
14988
  ),
14977
14989
  children: heading
14978
14990
  }
14979
- ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
14991
+ ) : heading),
14980
14992
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
14981
14993
  "p",
14982
14994
  {
@@ -14986,7 +14998,7 @@ function ContactFaq({
14986
14998
  ),
14987
14999
  children: description
14988
15000
  }
14989
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
15001
+ ) : description)
14990
15002
  ]
14991
15003
  }
14992
15004
  ),
@@ -15010,62 +15022,38 @@ function ContactFaq({
15010
15022
  children: formHeading
15011
15023
  }
15012
15024
  ) : /* @__PURE__ */ jsx("div", { className: formHeadingClassName, children: formHeading })),
15013
- /* @__PURE__ */ jsxs(
15014
- Form,
15025
+ /* @__PURE__ */ jsx(
15026
+ FormEngine,
15015
15027
  {
15016
- form,
15017
- notificationConfig: {
15018
- submissionError,
15019
- successMessage
15020
- },
15021
- styleConfig: {
15022
- formClassName: cn("space-y-6", formClassName),
15023
- successMessageClassName,
15024
- errorMessageClassName
15025
- },
15026
- formConfig: {
15027
- endpoint: formConfig?.endpoint,
15028
- method: formMethod,
15029
- submissionConfig: formConfig?.submissionConfig
15028
+ api: formConfig,
15029
+ fields: formFields,
15030
+ formLayoutSettings: {
15031
+ formLayout: "standard",
15032
+ submitButtonSetup: {
15033
+ submitLabel: /* @__PURE__ */ jsxs(Fragment$1, { children: [
15034
+ buttonIcon,
15035
+ buttonText
15036
+ ] })
15037
+ },
15038
+ styleRules: {
15039
+ formClassName: cn("space-y-6", formClassName),
15040
+ successMessageClassName,
15041
+ errorMessageClassName
15042
+ }
15030
15043
  },
15031
- onNewSubmission: () => {
15044
+ successMessage,
15045
+ onSubmit,
15046
+ onSuccess: (data) => {
15032
15047
  resetUpload();
15033
- resetSubmissionState();
15048
+ onSuccess?.(data);
15034
15049
  },
15035
- children: [
15036
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-12 gap-6", children: formFields.map((field) => /* @__PURE__ */ jsx(
15037
- "div",
15038
- {
15039
- className: getColumnSpanClass(field.columnSpan),
15040
- children: /* @__PURE__ */ jsx(
15041
- DynamicFormField,
15042
- {
15043
- field,
15044
- uploadProgress,
15045
- onFileUpload: uploadFiles,
15046
- onFileRemove: removeFile,
15047
- isUploading
15048
- }
15049
- )
15050
- },
15051
- field.name
15052
- )) }),
15053
- actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxs(
15054
- Pressable,
15055
- {
15056
- componentType: "button",
15057
- type: "submit",
15058
- className: cn("w-full", submitClassName),
15059
- size: "lg",
15060
- asButton: true,
15061
- disabled: form.isSubmitting,
15062
- children: [
15063
- buttonIcon,
15064
- buttonText
15065
- ]
15066
- }
15067
- )
15068
- ]
15050
+ onError,
15051
+ resetOnSuccess: formConfig?.resetOnSuccess !== false,
15052
+ uploadTokens,
15053
+ uploadProgress,
15054
+ onFileUpload: uploadFiles,
15055
+ onFileRemove: removeFile,
15056
+ isUploading
15069
15057
  }
15070
15058
  )
15071
15059
  ] }) }),
@@ -15089,7 +15077,7 @@ function ContactFaq({
15089
15077
  }
15090
15078
  );
15091
15079
  }
15092
- var DEFAULT_FORM_FIELDS11 = [
15080
+ var DEFAULT_FORM_FIELDS12 = [
15093
15081
  {
15094
15082
  name: "first_name",
15095
15083
  type: "text",
@@ -15139,7 +15127,7 @@ function ContactFeedback({
15139
15127
  buttonIcon,
15140
15128
  actions,
15141
15129
  actionsSlot,
15142
- formFields = DEFAULT_FORM_FIELDS11,
15130
+ formFields = DEFAULT_FORM_FIELDS12,
15143
15131
  successMessage = "Thank you! Your message has been sent successfully.",
15144
15132
  className,
15145
15133
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -15305,7 +15293,7 @@ function ContactFeedback({
15305
15293
  }
15306
15294
  );
15307
15295
  }
15308
- var DEFAULT_FORM_FIELDS12 = [
15296
+ var DEFAULT_FORM_FIELDS13 = [
15309
15297
  {
15310
15298
  name: "first_name",
15311
15299
  type: "text",
@@ -15355,7 +15343,7 @@ function ContactFitness({
15355
15343
  buttonIcon,
15356
15344
  actions,
15357
15345
  actionsSlot,
15358
- formFields = DEFAULT_FORM_FIELDS12,
15346
+ formFields = DEFAULT_FORM_FIELDS13,
15359
15347
  successMessage = "Thank you! Your message has been sent successfully.",
15360
15348
  className,
15361
15349
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -15521,7 +15509,7 @@ function ContactFitness({
15521
15509
  }
15522
15510
  );
15523
15511
  }
15524
- var DEFAULT_FORM_FIELDS13 = [
15512
+ var DEFAULT_FORM_FIELDS14 = [
15525
15513
  {
15526
15514
  name: "first_name",
15527
15515
  type: "text",
@@ -15571,7 +15559,7 @@ function ContactGuest({
15571
15559
  buttonIcon,
15572
15560
  actions,
15573
15561
  actionsSlot,
15574
- formFields = DEFAULT_FORM_FIELDS13,
15562
+ formFields = DEFAULT_FORM_FIELDS14,
15575
15563
  successMessage = "Thank you! Your message has been sent successfully.",
15576
15564
  className,
15577
15565
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -15737,7 +15725,7 @@ function ContactGuest({
15737
15725
  }
15738
15726
  );
15739
15727
  }
15740
- var DEFAULT_FORM_FIELDS14 = [
15728
+ var DEFAULT_FORM_FIELDS15 = [
15741
15729
  {
15742
15730
  name: "first_name",
15743
15731
  type: "text",
@@ -15787,7 +15775,7 @@ function ContactImage({
15787
15775
  buttonIcon,
15788
15776
  actions,
15789
15777
  actionsSlot,
15790
- formFields = DEFAULT_FORM_FIELDS14,
15778
+ formFields = DEFAULT_FORM_FIELDS15,
15791
15779
  successMessage = "Thank you! Your message has been sent successfully.",
15792
15780
  className,
15793
15781
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -15953,7 +15941,7 @@ function ContactImage({
15953
15941
  }
15954
15942
  );
15955
15943
  }
15956
- var DEFAULT_FORM_FIELDS15 = [
15944
+ var DEFAULT_FORM_FIELDS16 = [
15957
15945
  {
15958
15946
  name: "first_name",
15959
15947
  type: "text",
@@ -16003,7 +15991,7 @@ function ContactInsurance({
16003
15991
  buttonIcon,
16004
15992
  actions,
16005
15993
  actionsSlot,
16006
- formFields = DEFAULT_FORM_FIELDS15,
15994
+ formFields = DEFAULT_FORM_FIELDS16,
16007
15995
  successMessage = "Thank you! Your message has been sent successfully.",
16008
15996
  className,
16009
15997
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -16169,7 +16157,7 @@ function ContactInsurance({
16169
16157
  }
16170
16158
  );
16171
16159
  }
16172
- var DEFAULT_FORM_FIELDS16 = [
16160
+ var DEFAULT_FORM_FIELDS17 = [
16173
16161
  {
16174
16162
  name: "first_name",
16175
16163
  type: "text",
@@ -16219,7 +16207,7 @@ function ContactInterview({
16219
16207
  buttonIcon,
16220
16208
  actions,
16221
16209
  actionsSlot,
16222
- formFields = DEFAULT_FORM_FIELDS16,
16210
+ formFields = DEFAULT_FORM_FIELDS17,
16223
16211
  successMessage = "Thank you! Your message has been sent successfully.",
16224
16212
  className,
16225
16213
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -16385,7 +16373,7 @@ function ContactInterview({
16385
16373
  }
16386
16374
  );
16387
16375
  }
16388
- var DEFAULT_FORM_FIELDS17 = [
16376
+ var DEFAULT_FORM_FIELDS18 = [
16389
16377
  {
16390
16378
  name: "first_name",
16391
16379
  type: "text",
@@ -16435,7 +16423,7 @@ function ContactLocations({
16435
16423
  buttonIcon,
16436
16424
  actions,
16437
16425
  actionsSlot,
16438
- formFields = DEFAULT_FORM_FIELDS17,
16426
+ formFields = DEFAULT_FORM_FIELDS18,
16439
16427
  successMessage = "Thank you! Your message has been sent successfully.",
16440
16428
  className,
16441
16429
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -16601,7 +16589,7 @@ function ContactLocations({
16601
16589
  }
16602
16590
  );
16603
16591
  }
16604
- var DEFAULT_FORM_FIELDS18 = [
16592
+ var DEFAULT_FORM_FIELDS19 = [
16605
16593
  {
16606
16594
  name: "first_name",
16607
16595
  type: "text",
@@ -16651,7 +16639,7 @@ function ContactMaintenance({
16651
16639
  buttonIcon,
16652
16640
  actions,
16653
16641
  actionsSlot,
16654
- formFields = DEFAULT_FORM_FIELDS18,
16642
+ formFields = DEFAULT_FORM_FIELDS19,
16655
16643
  successMessage = "Thank you! Your message has been sent successfully.",
16656
16644
  className,
16657
16645
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -16817,7 +16805,7 @@ function ContactMaintenance({
16817
16805
  }
16818
16806
  );
16819
16807
  }
16820
- var DEFAULT_FORM_FIELDS19 = [
16808
+ var DEFAULT_FORM_FIELDS20 = [
16821
16809
  {
16822
16810
  name: "first_name",
16823
16811
  type: "text",
@@ -16867,7 +16855,7 @@ function ContactMap({
16867
16855
  buttonIcon,
16868
16856
  actions,
16869
16857
  actionsSlot,
16870
- formFields = DEFAULT_FORM_FIELDS19,
16858
+ formFields = DEFAULT_FORM_FIELDS20,
16871
16859
  successMessage = "Thank you! Your message has been sent successfully.",
16872
16860
  className,
16873
16861
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -17033,7 +17021,7 @@ function ContactMap({
17033
17021
  }
17034
17022
  );
17035
17023
  }
17036
- var DEFAULT_FORM_FIELDS20 = [
17024
+ var DEFAULT_FORM_FIELDS21 = [
17037
17025
  {
17038
17026
  name: "first_name",
17039
17027
  type: "text",
@@ -17083,7 +17071,7 @@ function ContactMinimal({
17083
17071
  buttonIcon,
17084
17072
  actions,
17085
17073
  actionsSlot,
17086
- formFields = DEFAULT_FORM_FIELDS20,
17074
+ formFields = DEFAULT_FORM_FIELDS21,
17087
17075
  successMessage = "Thank you! Your message has been sent successfully.",
17088
17076
  className,
17089
17077
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -17249,7 +17237,7 @@ function ContactMinimal({
17249
17237
  }
17250
17238
  );
17251
17239
  }
17252
- var DEFAULT_FORM_FIELDS21 = [
17240
+ var DEFAULT_FORM_FIELDS22 = [
17253
17241
  {
17254
17242
  name: "first_name",
17255
17243
  type: "text",
@@ -17299,7 +17287,7 @@ function ContactMoving({
17299
17287
  buttonIcon,
17300
17288
  actions,
17301
17289
  actionsSlot,
17302
- formFields = DEFAULT_FORM_FIELDS21,
17290
+ formFields = DEFAULT_FORM_FIELDS22,
17303
17291
  successMessage = "Thank you! Your message has been sent successfully.",
17304
17292
  className,
17305
17293
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -17465,7 +17453,7 @@ function ContactMoving({
17465
17453
  }
17466
17454
  );
17467
17455
  }
17468
- var DEFAULT_FORM_FIELDS22 = [
17456
+ var DEFAULT_FORM_FIELDS23 = [
17469
17457
  {
17470
17458
  name: "first_name",
17471
17459
  type: "text",
@@ -17515,7 +17503,7 @@ function ContactMultistep({
17515
17503
  buttonIcon,
17516
17504
  actions,
17517
17505
  actionsSlot,
17518
- formFields = DEFAULT_FORM_FIELDS22,
17506
+ formFields = DEFAULT_FORM_FIELDS23,
17519
17507
  successMessage = "Thank you! Your message has been sent successfully.",
17520
17508
  className,
17521
17509
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -17681,7 +17669,7 @@ function ContactMultistep({
17681
17669
  }
17682
17670
  );
17683
17671
  }
17684
- var DEFAULT_FORM_FIELDS23 = [
17672
+ var DEFAULT_FORM_FIELDS24 = [
17685
17673
  {
17686
17674
  name: "first_name",
17687
17675
  type: "text",
@@ -17731,7 +17719,7 @@ function ContactPartnership({
17731
17719
  buttonIcon,
17732
17720
  actions,
17733
17721
  actionsSlot,
17734
- formFields = DEFAULT_FORM_FIELDS23,
17722
+ formFields = DEFAULT_FORM_FIELDS24,
17735
17723
  successMessage = "Thank you! Your message has been sent successfully.",
17736
17724
  className,
17737
17725
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -17897,7 +17885,7 @@ function ContactPartnership({
17897
17885
  }
17898
17886
  );
17899
17887
  }
17900
- var DEFAULT_FORM_FIELDS24 = [
17888
+ var DEFAULT_FORM_FIELDS25 = [
17901
17889
  {
17902
17890
  name: "first_name",
17903
17891
  type: "text",
@@ -17947,7 +17935,7 @@ function ContactPhotography({
17947
17935
  buttonIcon,
17948
17936
  actions,
17949
17937
  actionsSlot,
17950
- formFields = DEFAULT_FORM_FIELDS24,
17938
+ formFields = DEFAULT_FORM_FIELDS25,
17951
17939
  successMessage = "Thank you! Your message has been sent successfully.",
17952
17940
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
17953
17941
  className,
@@ -18138,7 +18126,7 @@ function ContactPhotography({
18138
18126
  }
18139
18127
  );
18140
18128
  }
18141
- var DEFAULT_FORM_FIELDS25 = [
18129
+ var DEFAULT_FORM_FIELDS26 = [
18142
18130
  {
18143
18131
  name: "first_name",
18144
18132
  type: "text",
@@ -18188,7 +18176,7 @@ function ContactPress({
18188
18176
  buttonIcon,
18189
18177
  actions,
18190
18178
  actionsSlot,
18191
- formFields = DEFAULT_FORM_FIELDS25,
18179
+ formFields = DEFAULT_FORM_FIELDS26,
18192
18180
  successMessage = "Thank you! Your message has been sent successfully.",
18193
18181
  className,
18194
18182
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -18354,7 +18342,7 @@ function ContactPress({
18354
18342
  }
18355
18343
  );
18356
18344
  }
18357
- var DEFAULT_FORM_FIELDS26 = [
18345
+ var DEFAULT_FORM_FIELDS27 = [
18358
18346
  {
18359
18347
  name: "first_name",
18360
18348
  type: "text",
@@ -18404,7 +18392,7 @@ function ContactQuote({
18404
18392
  buttonIcon,
18405
18393
  actions,
18406
18394
  actionsSlot,
18407
- formFields = DEFAULT_FORM_FIELDS26,
18395
+ formFields = DEFAULT_FORM_FIELDS27,
18408
18396
  successMessage = "Thank you! Your message has been sent successfully.",
18409
18397
  className,
18410
18398
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -18570,7 +18558,7 @@ function ContactQuote({
18570
18558
  }
18571
18559
  );
18572
18560
  }
18573
- var DEFAULT_FORM_FIELDS27 = [
18561
+ var DEFAULT_FORM_FIELDS28 = [
18574
18562
  {
18575
18563
  name: "first_name",
18576
18564
  type: "text",
@@ -18620,7 +18608,7 @@ function ContactReferral({
18620
18608
  buttonIcon,
18621
18609
  actions,
18622
18610
  actionsSlot,
18623
- formFields = DEFAULT_FORM_FIELDS27,
18611
+ formFields = DEFAULT_FORM_FIELDS28,
18624
18612
  successMessage = "Thank you! Your message has been sent successfully.",
18625
18613
  className,
18626
18614
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -18786,7 +18774,7 @@ function ContactReferral({
18786
18774
  }
18787
18775
  );
18788
18776
  }
18789
- var DEFAULT_FORM_FIELDS28 = [
18777
+ var DEFAULT_FORM_FIELDS29 = [
18790
18778
  {
18791
18779
  name: "first_name",
18792
18780
  type: "text",
@@ -18836,7 +18824,7 @@ function ContactReport({
18836
18824
  buttonIcon,
18837
18825
  actions,
18838
18826
  actionsSlot,
18839
- formFields = DEFAULT_FORM_FIELDS28,
18827
+ formFields = DEFAULT_FORM_FIELDS29,
18840
18828
  successMessage = "Thank you! Your message has been sent successfully.",
18841
18829
  className,
18842
18830
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -19002,7 +18990,7 @@ function ContactReport({
19002
18990
  }
19003
18991
  );
19004
18992
  }
19005
- var DEFAULT_FORM_FIELDS29 = [
18993
+ var DEFAULT_FORM_FIELDS30 = [
19006
18994
  {
19007
18995
  name: "first_name",
19008
18996
  type: "text",
@@ -19052,7 +19040,7 @@ function ContactReservation({
19052
19040
  buttonIcon,
19053
19041
  actions,
19054
19042
  actionsSlot,
19055
- formFields = DEFAULT_FORM_FIELDS29,
19043
+ formFields = DEFAULT_FORM_FIELDS30,
19056
19044
  successMessage = "Thank you! Your message has been sent successfully.",
19057
19045
  className,
19058
19046
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -19218,7 +19206,7 @@ function ContactReservation({
19218
19206
  }
19219
19207
  );
19220
19208
  }
19221
- var DEFAULT_FORM_FIELDS30 = [
19209
+ var DEFAULT_FORM_FIELDS31 = [
19222
19210
  {
19223
19211
  name: "first_name",
19224
19212
  type: "text",
@@ -19268,7 +19256,7 @@ function ContactRetreat({
19268
19256
  buttonIcon,
19269
19257
  actions,
19270
19258
  actionsSlot,
19271
- formFields = DEFAULT_FORM_FIELDS30,
19259
+ formFields = DEFAULT_FORM_FIELDS31,
19272
19260
  successMessage = "Thank you! Your message has been sent successfully.",
19273
19261
  className,
19274
19262
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -19434,7 +19422,7 @@ function ContactRetreat({
19434
19422
  }
19435
19423
  );
19436
19424
  }
19437
- var DEFAULT_FORM_FIELDS31 = [
19425
+ var DEFAULT_FORM_FIELDS32 = [
19438
19426
  {
19439
19427
  name: "first_name",
19440
19428
  type: "text",
@@ -19484,7 +19472,7 @@ function ContactRsvp({
19484
19472
  buttonIcon,
19485
19473
  actions,
19486
19474
  actionsSlot,
19487
- formFields = DEFAULT_FORM_FIELDS31,
19475
+ formFields = DEFAULT_FORM_FIELDS32,
19488
19476
  successMessage = "Thank you! Your message has been sent successfully.",
19489
19477
  className,
19490
19478
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -19650,7 +19638,7 @@ function ContactRsvp({
19650
19638
  }
19651
19639
  );
19652
19640
  }
19653
- var DEFAULT_FORM_FIELDS32 = [
19641
+ var DEFAULT_FORM_FIELDS33 = [
19654
19642
  {
19655
19643
  name: "first_name",
19656
19644
  type: "text",
@@ -19700,7 +19688,7 @@ function ContactSales({
19700
19688
  buttonIcon,
19701
19689
  actions,
19702
19690
  actionsSlot,
19703
- formFields = DEFAULT_FORM_FIELDS32,
19691
+ formFields = DEFAULT_FORM_FIELDS33,
19704
19692
  successMessage = "Thank you! Your message has been sent successfully.",
19705
19693
  className,
19706
19694
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -19866,7 +19854,7 @@ function ContactSales({
19866
19854
  }
19867
19855
  );
19868
19856
  }
19869
- var DEFAULT_FORM_FIELDS33 = [
19857
+ var DEFAULT_FORM_FIELDS34 = [
19870
19858
  {
19871
19859
  name: "first_name",
19872
19860
  type: "text",
@@ -19916,7 +19904,7 @@ function ContactSchedule({
19916
19904
  buttonIcon,
19917
19905
  actions,
19918
19906
  actionsSlot,
19919
- formFields = DEFAULT_FORM_FIELDS33,
19907
+ formFields = DEFAULT_FORM_FIELDS34,
19920
19908
  successMessage = "Thank you! Your message has been sent successfully.",
19921
19909
  className,
19922
19910
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -20082,7 +20070,7 @@ function ContactSchedule({
20082
20070
  }
20083
20071
  );
20084
20072
  }
20085
- var DEFAULT_FORM_FIELDS34 = [
20073
+ var DEFAULT_FORM_FIELDS35 = [
20086
20074
  {
20087
20075
  name: "first_name",
20088
20076
  type: "text",
@@ -20132,7 +20120,7 @@ function ContactSponsorship({
20132
20120
  buttonIcon,
20133
20121
  actions,
20134
20122
  actionsSlot,
20135
- formFields = DEFAULT_FORM_FIELDS34,
20123
+ formFields = DEFAULT_FORM_FIELDS35,
20136
20124
  successMessage = "Thank you! Your message has been sent successfully.",
20137
20125
  className,
20138
20126
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -20298,7 +20286,7 @@ function ContactSponsorship({
20298
20286
  }
20299
20287
  );
20300
20288
  }
20301
- var DEFAULT_FORM_FIELDS35 = [
20289
+ var DEFAULT_FORM_FIELDS36 = [
20302
20290
  {
20303
20291
  name: "first_name",
20304
20292
  type: "text",
@@ -20348,7 +20336,7 @@ function ContactSupport({
20348
20336
  buttonIcon,
20349
20337
  actions,
20350
20338
  actionsSlot,
20351
- formFields = DEFAULT_FORM_FIELDS35,
20339
+ formFields = DEFAULT_FORM_FIELDS36,
20352
20340
  successMessage = "Thank you! Your message has been sent successfully.",
20353
20341
  className,
20354
20342
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -20514,7 +20502,7 @@ function ContactSupport({
20514
20502
  }
20515
20503
  );
20516
20504
  }
20517
- var DEFAULT_FORM_FIELDS36 = [
20505
+ var DEFAULT_FORM_FIELDS37 = [
20518
20506
  {
20519
20507
  name: "first_name",
20520
20508
  type: "text",
@@ -20564,7 +20552,7 @@ function ContactTenant({
20564
20552
  buttonIcon,
20565
20553
  actions,
20566
20554
  actionsSlot,
20567
- formFields = DEFAULT_FORM_FIELDS36,
20555
+ formFields = DEFAULT_FORM_FIELDS37,
20568
20556
  successMessage = "Thank you! Your message has been sent successfully.",
20569
20557
  className,
20570
20558
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -20730,7 +20718,7 @@ function ContactTenant({
20730
20718
  }
20731
20719
  );
20732
20720
  }
20733
- var DEFAULT_FORM_FIELDS37 = [
20721
+ var DEFAULT_FORM_FIELDS38 = [
20734
20722
  {
20735
20723
  name: "first_name",
20736
20724
  type: "text",
@@ -20780,7 +20768,7 @@ function ContactVendor({
20780
20768
  buttonIcon,
20781
20769
  actions,
20782
20770
  actionsSlot,
20783
- formFields = DEFAULT_FORM_FIELDS37,
20771
+ formFields = DEFAULT_FORM_FIELDS38,
20784
20772
  successMessage = "Thank you! Your message has been sent successfully.",
20785
20773
  className,
20786
20774
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -20810,48 +20798,6 @@ function ContactVendor({
20810
20798
  removeFile,
20811
20799
  resetUpload
20812
20800
  } = useFileUpload({ onError });
20813
- const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
20814
- formFields,
20815
- formConfig,
20816
- onSubmit,
20817
- onSuccess: (data) => {
20818
- resetUpload();
20819
- onSuccess?.(data);
20820
- },
20821
- onError,
20822
- resetOnSuccess: formConfig?.resetOnSuccess !== false,
20823
- uploadTokens
20824
- });
20825
- const actionsContent = useMemo(() => {
20826
- if (actionsSlot) return actionsSlot;
20827
- if (actions && actions.length > 0) {
20828
- return actions.map((action, index) => {
20829
- const {
20830
- label,
20831
- icon,
20832
- iconAfter,
20833
- children,
20834
- className: actionClassName,
20835
- ...pressableProps
20836
- } = action;
20837
- return /* @__PURE__ */ jsx(
20838
- Pressable,
20839
- {
20840
- asButton: true,
20841
- className: actionClassName,
20842
- ...pressableProps,
20843
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
20844
- icon,
20845
- label,
20846
- iconAfter
20847
- ] })
20848
- },
20849
- index
20850
- );
20851
- });
20852
- }
20853
- return null;
20854
- }, [actionsSlot, actions]);
20855
20801
  return /* @__PURE__ */ jsx(
20856
20802
  Section,
20857
20803
  {
@@ -20884,69 +20830,45 @@ function ContactVendor({
20884
20830
  }
20885
20831
  ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
20886
20832
  ] }),
20887
- /* @__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(
20888
- Form,
20889
- {
20890
- form,
20891
- notificationConfig: {
20892
- submissionError,
20893
- successMessage
20894
- },
20895
- styleConfig: {
20896
- formClassName: cn("space-y-4", formClassName),
20897
- successMessageClassName,
20898
- errorMessageClassName
20899
- },
20900
- formConfig: {
20901
- endpoint: formConfig?.endpoint,
20902
- method: formMethod,
20903
- submissionConfig: formConfig?.submissionConfig
20833
+ /* @__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__ */ jsx(
20834
+ FormEngine,
20835
+ {
20836
+ api: formConfig,
20837
+ fields: formFields,
20838
+ formLayoutSettings: {
20839
+ formLayout: "standard",
20840
+ submitButtonSetup: {
20841
+ submitLabel: /* @__PURE__ */ jsxs(Fragment$1, { children: [
20842
+ buttonIcon,
20843
+ buttonText
20844
+ ] })
20845
+ },
20846
+ styleRules: {
20847
+ formClassName: cn("space-y-4", formClassName),
20848
+ successMessageClassName,
20849
+ errorMessageClassName
20850
+ }
20904
20851
  },
20905
- onNewSubmission: () => {
20852
+ successMessage,
20853
+ onSubmit,
20854
+ onSuccess: (data) => {
20906
20855
  resetUpload();
20907
- resetSubmissionState();
20856
+ onSuccess?.(data);
20908
20857
  },
20909
- children: [
20910
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-12 gap-6", children: formFields.map((field) => /* @__PURE__ */ jsx(
20911
- "div",
20912
- {
20913
- className: getColumnSpanClass(field.columnSpan),
20914
- children: /* @__PURE__ */ jsx(
20915
- DynamicFormField,
20916
- {
20917
- field,
20918
- uploadProgress,
20919
- onFileUpload: uploadFiles,
20920
- onFileRemove: removeFile,
20921
- isUploading
20922
- }
20923
- )
20924
- },
20925
- field.name
20926
- )) }),
20927
- actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxs(
20928
- Pressable,
20929
- {
20930
- componentType: "button",
20931
- type: "submit",
20932
- className: cn("w-full", submitClassName),
20933
- size: "lg",
20934
- asButton: true,
20935
- disabled: form.isSubmitting,
20936
- children: [
20937
- buttonIcon,
20938
- buttonText
20939
- ]
20940
- }
20941
- )
20942
- ]
20858
+ onError,
20859
+ resetOnSuccess: formConfig?.resetOnSuccess !== false,
20860
+ uploadTokens,
20861
+ uploadProgress,
20862
+ onFileUpload: uploadFiles,
20863
+ onFileRemove: removeFile,
20864
+ isUploading
20943
20865
  }
20944
20866
  ) }) })
20945
20867
  ] })
20946
20868
  }
20947
20869
  );
20948
20870
  }
20949
- var DEFAULT_FORM_FIELDS38 = [
20871
+ var DEFAULT_FORM_FIELDS39 = [
20950
20872
  {
20951
20873
  name: "first_name",
20952
20874
  type: "text",
@@ -20996,7 +20918,7 @@ function ContactVolunteer({
20996
20918
  buttonIcon,
20997
20919
  actions,
20998
20920
  actionsSlot,
20999
- formFields = DEFAULT_FORM_FIELDS38,
20921
+ formFields = DEFAULT_FORM_FIELDS39,
21000
20922
  successMessage = "Thank you! Your message has been sent successfully.",
21001
20923
  className,
21002
20924
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -21162,7 +21084,7 @@ function ContactVolunteer({
21162
21084
  }
21163
21085
  );
21164
21086
  }
21165
- var DEFAULT_FORM_FIELDS39 = [
21087
+ var DEFAULT_FORM_FIELDS40 = [
21166
21088
  {
21167
21089
  name: "first_name",
21168
21090
  type: "text",
@@ -21212,7 +21134,7 @@ function ContactWarranty({
21212
21134
  buttonIcon,
21213
21135
  actions,
21214
21136
  actionsSlot,
21215
- formFields = DEFAULT_FORM_FIELDS39,
21137
+ formFields = DEFAULT_FORM_FIELDS40,
21216
21138
  successMessage = "Thank you! Your message has been sent successfully.",
21217
21139
  className,
21218
21140
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -21378,7 +21300,7 @@ function ContactWarranty({
21378
21300
  }
21379
21301
  );
21380
21302
  }
21381
- var DEFAULT_FORM_FIELDS40 = [
21303
+ var DEFAULT_FORM_FIELDS41 = [
21382
21304
  {
21383
21305
  name: "first_name",
21384
21306
  type: "text",
@@ -21428,7 +21350,7 @@ function ContactWedding({
21428
21350
  buttonIcon,
21429
21351
  actions,
21430
21352
  actionsSlot,
21431
- formFields = DEFAULT_FORM_FIELDS40,
21353
+ formFields = DEFAULT_FORM_FIELDS41,
21432
21354
  successMessage = "Thank you! Your message has been sent successfully.",
21433
21355
  className,
21434
21356
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
@@ -21708,16 +21630,16 @@ function CarouselAnimatedSections({
21708
21630
  pattern = "diagonalCrossBasic",
21709
21631
  patternOpacity = 0.033
21710
21632
  }) {
21711
- const [currentIndex, setCurrentIndex] = React22.useState(0);
21712
- const [direction, setDirection] = React22.useState(0);
21713
- const [isAnimating, setIsAnimating] = React22.useState(false);
21714
- const goToNext = React22.useCallback(() => {
21633
+ const [currentIndex, setCurrentIndex] = React23.useState(0);
21634
+ const [direction, setDirection] = React23.useState(0);
21635
+ const [isAnimating, setIsAnimating] = React23.useState(false);
21636
+ const goToNext = React23.useCallback(() => {
21715
21637
  if (isAnimating || currentIndex >= (sections?.length ?? 0) - 1) return;
21716
21638
  setIsAnimating(true);
21717
21639
  setDirection(1);
21718
21640
  setCurrentIndex((prev) => prev + 1);
21719
21641
  }, [currentIndex, isAnimating, sections?.length]);
21720
- const goToPrev = React22.useCallback(() => {
21642
+ const goToPrev = React23.useCallback(() => {
21721
21643
  if (isAnimating || currentIndex <= 0) return;
21722
21644
  setIsAnimating(true);
21723
21645
  setDirection(-1);
@@ -21729,7 +21651,7 @@ function CarouselAnimatedSections({
21729
21651
  setDirection(index > currentIndex ? 1 : -1);
21730
21652
  setCurrentIndex(index);
21731
21653
  };
21732
- React22.useEffect(() => {
21654
+ React23.useEffect(() => {
21733
21655
  const handleKeyDown = (e) => {
21734
21656
  if (e.key === "ArrowDown" || e.key === "ArrowRight") {
21735
21657
  goToNext();
@@ -21755,7 +21677,7 @@ function CarouselAnimatedSections({
21755
21677
  })
21756
21678
  };
21757
21679
  const currentSection = sections?.[currentIndex];
21758
- const actionElements = React22.useMemo(() => {
21680
+ const actionElements = React23.useMemo(() => {
21759
21681
  if (actionsSlot) return actionsSlot;
21760
21682
  if (actions && actions.length > 0) {
21761
21683
  return actions.map((action, index) => /* @__PURE__ */ jsxs(
@@ -22003,11 +21925,11 @@ function CarouselAutoProgressSlides({
22003
21925
  pattern,
22004
21926
  patternOpacity
22005
21927
  }) {
22006
- const [currentIndex, setCurrentIndex] = React22.useState(0);
21928
+ const [currentIndex, setCurrentIndex] = React23.useState(0);
22007
21929
  const progress = useMotionValue(100);
22008
- const [direction, setDirection] = React22.useState(1);
21930
+ const [direction, setDirection] = React23.useState(1);
22009
21931
  const clipPath = useMotionTemplate`inset(0 ${progress}% 0 0 round 10px)`;
22010
- React22.useEffect(() => {
21932
+ React23.useEffect(() => {
22011
21933
  const interval = setInterval(() => {
22012
21934
  const currentProgress = progress.get();
22013
21935
  if (currentProgress > 0) {
@@ -22186,22 +22108,22 @@ function CarouselAutoProgressSlides({
22186
22108
  );
22187
22109
  }
22188
22110
  function useDotButton(emblaApi) {
22189
- const [selectedIndex, setSelectedIndex] = React22.useState(0);
22190
- const [scrollSnaps, setScrollSnaps] = React22.useState([]);
22191
- const onDotButtonClick = React22.useCallback(
22111
+ const [selectedIndex, setSelectedIndex] = React23.useState(0);
22112
+ const [scrollSnaps, setScrollSnaps] = React23.useState([]);
22113
+ const onDotButtonClick = React23.useCallback(
22192
22114
  (index) => {
22193
22115
  if (!emblaApi) return;
22194
22116
  emblaApi.scrollTo(index);
22195
22117
  },
22196
22118
  [emblaApi]
22197
22119
  );
22198
- const onInit = React22.useCallback((api) => {
22120
+ const onInit = React23.useCallback((api) => {
22199
22121
  setScrollSnaps(api.scrollSnapList());
22200
22122
  }, []);
22201
- const onSelect = React22.useCallback((api) => {
22123
+ const onSelect = React23.useCallback((api) => {
22202
22124
  setSelectedIndex(api.selectedScrollSnap());
22203
22125
  }, []);
22204
- React22.useEffect(() => {
22126
+ React23.useEffect(() => {
22205
22127
  if (!emblaApi) return;
22206
22128
  onInit(emblaApi);
22207
22129
  onSelect(emblaApi);
@@ -22210,8 +22132,8 @@ function useDotButton(emblaApi) {
22210
22132
  return { selectedIndex, scrollSnaps, onDotButtonClick };
22211
22133
  }
22212
22134
  function useAutoplay(emblaApi) {
22213
- const [autoplayIsPlaying, setAutoplayIsPlaying] = React22.useState(false);
22214
- const onAutoplayButtonClick = React22.useCallback(
22135
+ const [autoplayIsPlaying, setAutoplayIsPlaying] = React23.useState(false);
22136
+ const onAutoplayButtonClick = React23.useCallback(
22215
22137
  (callback) => {
22216
22138
  const autoplay = emblaApi?.plugins()?.autoplay;
22217
22139
  if (!autoplay) return;
@@ -22221,13 +22143,13 @@ function useAutoplay(emblaApi) {
22221
22143
  },
22222
22144
  [emblaApi]
22223
22145
  );
22224
- const toggleAutoplay = React22.useCallback(() => {
22146
+ const toggleAutoplay = React23.useCallback(() => {
22225
22147
  const autoplay = emblaApi?.plugins()?.autoplay;
22226
22148
  if (!autoplay) return;
22227
22149
  const playOrStop = autoplay.isPlaying() ? autoplay.stop : autoplay.play;
22228
22150
  playOrStop();
22229
22151
  }, [emblaApi]);
22230
- React22.useEffect(() => {
22152
+ React23.useEffect(() => {
22231
22153
  const autoplay = emblaApi?.plugins()?.autoplay;
22232
22154
  if (!autoplay) return;
22233
22155
  setAutoplayIsPlaying(autoplay.isPlaying());
@@ -22236,11 +22158,11 @@ function useAutoplay(emblaApi) {
22236
22158
  return { autoplayIsPlaying, toggleAutoplay, onAutoplayButtonClick };
22237
22159
  }
22238
22160
  function useAutoplayProgress(emblaApi, progressNode) {
22239
- const [showAutoplayProgress, setShowAutoplayProgress] = React22.useState(false);
22240
- const animationName = React22.useRef("");
22241
- const timeoutId = React22.useRef(0);
22242
- const rafId = React22.useRef(0);
22243
- const startProgress = React22.useCallback(
22161
+ const [showAutoplayProgress, setShowAutoplayProgress] = React23.useState(false);
22162
+ const animationName = React23.useRef("");
22163
+ const timeoutId = React23.useRef(0);
22164
+ const rafId = React23.useRef(0);
22165
+ const startProgress = React23.useCallback(
22244
22166
  (timeUntilNext) => {
22245
22167
  const node = progressNode.current;
22246
22168
  if (!node || timeUntilNext === null) return;
@@ -22260,12 +22182,12 @@ function useAutoplayProgress(emblaApi, progressNode) {
22260
22182
  },
22261
22183
  [progressNode]
22262
22184
  );
22263
- React22.useEffect(() => {
22185
+ React23.useEffect(() => {
22264
22186
  const autoplay = emblaApi?.plugins()?.autoplay;
22265
22187
  if (!autoplay) return;
22266
22188
  emblaApi.on("autoplay:timerset", () => startProgress(autoplay.timeUntilNext())).on("autoplay:timerstopped", () => setShowAutoplayProgress(false));
22267
22189
  }, [emblaApi, startProgress]);
22268
- React22.useEffect(() => {
22190
+ React23.useEffect(() => {
22269
22191
  return () => {
22270
22192
  cancelAnimationFrame(rafId.current);
22271
22193
  clearTimeout(timeoutId.current);
@@ -22292,7 +22214,7 @@ function CarouselAutoplayProgress({
22292
22214
  pattern,
22293
22215
  patternOpacity
22294
22216
  }) {
22295
- const progressNode = React22.useRef(null);
22217
+ const progressNode = React23.useRef(null);
22296
22218
  const [emblaRef, emblaApi] = useEmblaCarousel(options, [
22297
22219
  Autoplay({ playOnInit: true, delay: autoplayDelay })
22298
22220
  ]);
@@ -22415,20 +22337,20 @@ function CarouselFeatureBadge({
22415
22337
  containerMaxWidth = "2xl"
22416
22338
  }) {
22417
22339
  const [emblaRef, emblaApi] = useEmblaCarousel();
22418
- const [canScrollPrev, setCanScrollPrev] = React22.useState(false);
22419
- const [canScrollNext, setCanScrollNext] = React22.useState(false);
22420
- const scrollPrev = React22.useCallback(() => {
22340
+ const [canScrollPrev, setCanScrollPrev] = React23.useState(false);
22341
+ const [canScrollNext, setCanScrollNext] = React23.useState(false);
22342
+ const scrollPrev = React23.useCallback(() => {
22421
22343
  emblaApi?.scrollPrev();
22422
22344
  }, [emblaApi]);
22423
- const scrollNext = React22.useCallback(() => {
22345
+ const scrollNext = React23.useCallback(() => {
22424
22346
  emblaApi?.scrollNext();
22425
22347
  }, [emblaApi]);
22426
- const onSelect = React22.useCallback(() => {
22348
+ const onSelect = React23.useCallback(() => {
22427
22349
  if (!emblaApi) return;
22428
22350
  setCanScrollPrev(emblaApi.canScrollPrev());
22429
22351
  setCanScrollNext(emblaApi.canScrollNext());
22430
22352
  }, [emblaApi]);
22431
- React22.useEffect(() => {
22353
+ React23.useEffect(() => {
22432
22354
  if (!emblaApi) return;
22433
22355
  onSelect();
22434
22356
  emblaApi.on("reInit", onSelect);
@@ -22548,10 +22470,10 @@ function CarouselFullscreenScrollFx({
22548
22470
  pattern = "diagonalCrossBasic",
22549
22471
  patternOpacity = 0.033
22550
22472
  }) {
22551
- const containerRef = React22.useRef(null);
22552
- const scrollContainerRef = React22.useRef(null);
22553
- const [activeIndex, setActiveIndex] = React22.useState(0);
22554
- React22.useEffect(() => {
22473
+ const containerRef = React23.useRef(null);
22474
+ const scrollContainerRef = React23.useRef(null);
22475
+ const [activeIndex, setActiveIndex] = React23.useState(0);
22476
+ React23.useEffect(() => {
22555
22477
  const scrollContainer = scrollContainerRef.current;
22556
22478
  if (!scrollContainer || !slides?.length) return;
22557
22479
  const handleScroll = () => {
@@ -22563,7 +22485,7 @@ function CarouselFullscreenScrollFx({
22563
22485
  scrollContainer.addEventListener("scroll", handleScroll);
22564
22486
  return () => scrollContainer.removeEventListener("scroll", handleScroll);
22565
22487
  }, [slides]);
22566
- const scrollToSlide = React22.useCallback((index) => {
22488
+ const scrollToSlide = React23.useCallback((index) => {
22567
22489
  const scrollContainer = scrollContainerRef.current;
22568
22490
  if (!scrollContainer) return;
22569
22491
  const slideHeight = scrollContainer.clientHeight;
@@ -22646,7 +22568,7 @@ function CarouselFullscreenScrollFx({
22646
22568
  className: "flex h-screen flex-col snap-y snap-mandatory overflow-x-hidden overflow-y-auto scroll-smooth",
22647
22569
  style: { scrollbarWidth: "none", msOverflowStyle: "none" },
22648
22570
  children: slidesSlot ? slidesSlot : slides?.map((slide, index) => {
22649
- const renderActions = React22.useMemo(() => {
22571
+ const renderActions = React23.useMemo(() => {
22650
22572
  if (!slide.actions || slide.actions.length === 0) return null;
22651
22573
  return slide.actions.map((action, actionIndex) => {
22652
22574
  const {
@@ -22779,25 +22701,25 @@ function CarouselGalleryThumbnails({
22779
22701
  patternOpacity,
22780
22702
  slideMediaBrightness = "100"
22781
22703
  }) {
22782
- const [currentIndex, setCurrentIndex] = React22.useState(0);
22783
- const prevSlide = React22.useCallback(() => {
22704
+ const [currentIndex, setCurrentIndex] = React23.useState(0);
22705
+ const prevSlide = React23.useCallback(() => {
22784
22706
  setCurrentIndex(
22785
22707
  (prev) => prev === 0 ? (images?.length ?? 0) - 1 : prev - 1
22786
22708
  );
22787
22709
  }, [images?.length]);
22788
- const nextSlide = React22.useCallback(() => {
22710
+ const nextSlide = React23.useCallback(() => {
22789
22711
  setCurrentIndex(
22790
22712
  (prev) => prev === (images?.length ?? 0) - 1 ? 0 : prev + 1
22791
22713
  );
22792
22714
  }, [images?.length]);
22793
- React22.useEffect(() => {
22715
+ React23.useEffect(() => {
22794
22716
  if (!autoPlay) return;
22795
22717
  const interval = setInterval(() => {
22796
22718
  nextSlide();
22797
22719
  }, autoPlayInterval);
22798
22720
  return () => clearInterval(interval);
22799
22721
  }, [currentIndex, autoPlay, autoPlayInterval, nextSlide]);
22800
- React22.useEffect(() => {
22722
+ React23.useEffect(() => {
22801
22723
  const handleKeyDown = (e) => {
22802
22724
  if (e.key === "ArrowRight") {
22803
22725
  nextSlide();
@@ -22942,9 +22864,9 @@ function CarouselHorizontalCards({
22942
22864
  pattern,
22943
22865
  patternOpacity
22944
22866
  }) {
22945
- const carouselRef = React22.useRef(null);
22946
- const [isAtStart, setIsAtStart] = React22.useState(true);
22947
- const [isAtEnd, setIsAtEnd] = React22.useState(false);
22867
+ const carouselRef = React23.useRef(null);
22868
+ const [isAtStart, setIsAtStart] = React23.useState(true);
22869
+ const [isAtEnd, setIsAtEnd] = React23.useState(false);
22948
22870
  const scrollLeft = () => {
22949
22871
  if (carouselRef.current) {
22950
22872
  carouselRef.current.scrollBy({ left: -300, behavior: "smooth" });
@@ -22955,7 +22877,7 @@ function CarouselHorizontalCards({
22955
22877
  carouselRef.current.scrollBy({ left: 300, behavior: "smooth" });
22956
22878
  }
22957
22879
  };
22958
- React22.useEffect(() => {
22880
+ React23.useEffect(() => {
22959
22881
  const checkScrollPosition = () => {
22960
22882
  if (carouselRef.current) {
22961
22883
  const { scrollLeft: scrollLeft2, scrollWidth, clientWidth } = carouselRef.current;
@@ -23155,22 +23077,22 @@ function CarouselImageHero({
23155
23077
  pattern,
23156
23078
  patternOpacity
23157
23079
  }) {
23158
- const [currentImageIndex, setCurrentImageIndex] = React22.useState(0);
23159
- const intervalRef = React22.useRef(null);
23160
- const goToNext = React22.useCallback(() => {
23080
+ const [currentImageIndex, setCurrentImageIndex] = React23.useState(0);
23081
+ const intervalRef = React23.useRef(null);
23082
+ const goToNext = React23.useCallback(() => {
23161
23083
  setCurrentImageIndex((prevIndex) => (prevIndex + 1) % (images?.length ?? 1));
23162
23084
  }, [images?.length]);
23163
- const resetInterval = React22.useCallback(() => {
23085
+ const resetInterval = React23.useCallback(() => {
23164
23086
  if (intervalRef.current) {
23165
23087
  clearInterval(intervalRef.current);
23166
23088
  }
23167
23089
  intervalRef.current = setInterval(goToNext, autoPlayInterval);
23168
23090
  }, [goToNext, autoPlayInterval]);
23169
- const goToSlide = React22.useCallback((index) => {
23091
+ const goToSlide = React23.useCallback((index) => {
23170
23092
  setCurrentImageIndex(index);
23171
23093
  resetInterval();
23172
23094
  }, [resetInterval]);
23173
- React22.useEffect(() => {
23095
+ React23.useEffect(() => {
23174
23096
  resetInterval();
23175
23097
  return () => {
23176
23098
  if (intervalRef.current) {
@@ -23343,8 +23265,8 @@ function CarouselMultiStepShowcase({
23343
23265
  pattern,
23344
23266
  patternOpacity
23345
23267
  }) {
23346
- const [activeStep, setActiveStep] = React22.useState(0);
23347
- const [direction, setDirection] = React22.useState(0);
23268
+ const [activeStep, setActiveStep] = React23.useState(0);
23269
+ const [direction, setDirection] = React23.useState(0);
23348
23270
  const goToStep = (index) => {
23349
23271
  setDirection(index > activeStep ? 1 : -1);
23350
23272
  setActiveStep(index);
@@ -23636,9 +23558,9 @@ function CarouselPortfolioHero({
23636
23558
  patternOpacity,
23637
23559
  slideMediaBrightness = "50"
23638
23560
  }) {
23639
- const [currentIndex, setCurrentIndex] = React22.useState(0);
23640
- const intervalRef = React22.useRef(null);
23641
- const resetInterval = React22.useCallback(() => {
23561
+ const [currentIndex, setCurrentIndex] = React23.useState(0);
23562
+ const intervalRef = React23.useRef(null);
23563
+ const resetInterval = React23.useCallback(() => {
23642
23564
  if (intervalRef.current) {
23643
23565
  clearInterval(intervalRef.current);
23644
23566
  }
@@ -23646,17 +23568,17 @@ function CarouselPortfolioHero({
23646
23568
  setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
23647
23569
  }, autoPlayInterval);
23648
23570
  }, [autoPlayInterval, slides?.length]);
23649
- const goToNext = React22.useCallback(() => {
23571
+ const goToNext = React23.useCallback(() => {
23650
23572
  setCurrentIndex((prevIndex) => (prevIndex + 1) % (slides?.length ?? 1));
23651
23573
  resetInterval();
23652
23574
  }, [slides?.length, resetInterval]);
23653
- const goToPrev = React22.useCallback(() => {
23575
+ const goToPrev = React23.useCallback(() => {
23654
23576
  setCurrentIndex(
23655
23577
  (prevIndex) => (prevIndex - 1 + (slides?.length ?? 1)) % (slides?.length ?? 1)
23656
23578
  );
23657
23579
  resetInterval();
23658
23580
  }, [slides?.length, resetInterval]);
23659
- React22.useEffect(() => {
23581
+ React23.useEffect(() => {
23660
23582
  resetInterval();
23661
23583
  return () => {
23662
23584
  if (intervalRef.current) {
@@ -23848,9 +23770,9 @@ function CarouselProductFeatureShowcase({
23848
23770
  pattern,
23849
23771
  patternOpacity
23850
23772
  }) {
23851
- const [activeIndex, setActiveIndex] = React22.useState(0);
23852
- const [activeColorIndex, setActiveColorIndex] = React22.useState(0);
23853
- const [direction, setDirection] = React22.useState(0);
23773
+ const [activeIndex, setActiveIndex] = React23.useState(0);
23774
+ const [activeColorIndex, setActiveColorIndex] = React23.useState(0);
23775
+ const [direction, setDirection] = React23.useState(0);
23854
23776
  const activeFeature = features?.[activeIndex];
23855
23777
  const goToNext = () => {
23856
23778
  setDirection(1);
@@ -24070,9 +23992,9 @@ function CarouselProductFeatureShowcase({
24070
23992
  }
24071
23993
  );
24072
23994
  }
24073
- var ProgressSliderContext = React22.createContext(void 0);
23995
+ var ProgressSliderContext = React23.createContext(void 0);
24074
23996
  function useProgressSliderContext() {
24075
- const context = React22.useContext(ProgressSliderContext);
23997
+ const context = React23.useContext(ProgressSliderContext);
24076
23998
  if (!context) {
24077
23999
  throw new Error(
24078
24000
  "useProgressSliderContext must be used within a ProgressSlider"
@@ -24158,19 +24080,19 @@ function CarouselProgressSlider({
24158
24080
  pattern,
24159
24081
  patternOpacity
24160
24082
  }) {
24161
- const [active, setActive] = React22.useState(slides?.[0]?.id ?? "");
24162
- const [progress, setProgress] = React22.useState(0);
24163
- const [isFastForward, setIsFastForward] = React22.useState(false);
24164
- const [isPaused, setIsPaused] = React22.useState(false);
24165
- const frame = React22.useRef(0);
24166
- const firstFrameTime = React22.useRef(performance.now());
24167
- const targetValue = React22.useRef(null);
24168
- const pausedProgress = React22.useRef(0);
24169
- const sliderValues = React22.useMemo(
24083
+ const [active, setActive] = React23.useState(slides?.[0]?.id ?? "");
24084
+ const [progress, setProgress] = React23.useState(0);
24085
+ const [isFastForward, setIsFastForward] = React23.useState(false);
24086
+ const [isPaused, setIsPaused] = React23.useState(false);
24087
+ const frame = React23.useRef(0);
24088
+ const firstFrameTime = React23.useRef(performance.now());
24089
+ const targetValue = React23.useRef(null);
24090
+ const pausedProgress = React23.useRef(0);
24091
+ const sliderValues = React23.useMemo(
24170
24092
  () => slides?.map((slide) => slide.id),
24171
24093
  [slides]
24172
24094
  );
24173
- React22.useEffect(() => {
24095
+ React23.useEffect(() => {
24174
24096
  if ((sliderValues?.length ?? 0) > 0 && !isPaused) {
24175
24097
  firstFrameTime.current = performance.now();
24176
24098
  if (pausedProgress.current > 0) {
@@ -24335,11 +24257,11 @@ function CarouselScrollingFeatureShowcase({
24335
24257
  pattern,
24336
24258
  patternOpacity
24337
24259
  }) {
24338
- const [activeFeature, setActiveFeature] = React22.useState(
24260
+ const [activeFeature, setActiveFeature] = React23.useState(
24339
24261
  features?.[0]?.id ?? ""
24340
24262
  );
24341
- const featureRefs = React22.useRef(/* @__PURE__ */ new Map());
24342
- React22.useEffect(() => {
24263
+ const featureRefs = React23.useRef(/* @__PURE__ */ new Map());
24264
+ React23.useEffect(() => {
24343
24265
  if (!features || features.length === 0) return;
24344
24266
  const observerOptions = {
24345
24267
  root: null,
@@ -25264,9 +25186,9 @@ function FeatureChecklistImage({
25264
25186
  }
25265
25187
  );
25266
25188
  }
25267
- var CarouselContext = React22.createContext(null);
25189
+ var CarouselContext = React23.createContext(null);
25268
25190
  function useCarousel() {
25269
- const context = React22.useContext(CarouselContext);
25191
+ const context = React23.useContext(CarouselContext);
25270
25192
  if (!context) {
25271
25193
  throw new Error("useCarousel must be used within a <Carousel />");
25272
25194
  }
@@ -25288,20 +25210,20 @@ function Carousel({
25288
25210
  },
25289
25211
  plugins
25290
25212
  );
25291
- const [canScrollPrev, setCanScrollPrev] = React22.useState(false);
25292
- const [canScrollNext, setCanScrollNext] = React22.useState(false);
25293
- const onSelect = React22.useCallback((api2) => {
25213
+ const [canScrollPrev, setCanScrollPrev] = React23.useState(false);
25214
+ const [canScrollNext, setCanScrollNext] = React23.useState(false);
25215
+ const onSelect = React23.useCallback((api2) => {
25294
25216
  if (!api2) return;
25295
25217
  setCanScrollPrev(api2.canScrollPrev());
25296
25218
  setCanScrollNext(api2.canScrollNext());
25297
25219
  }, []);
25298
- const scrollPrev = React22.useCallback(() => {
25220
+ const scrollPrev = React23.useCallback(() => {
25299
25221
  api?.scrollPrev();
25300
25222
  }, [api]);
25301
- const scrollNext = React22.useCallback(() => {
25223
+ const scrollNext = React23.useCallback(() => {
25302
25224
  api?.scrollNext();
25303
25225
  }, [api]);
25304
- const handleKeyDown = React22.useCallback(
25226
+ const handleKeyDown = React23.useCallback(
25305
25227
  (event) => {
25306
25228
  if (event.key === "ArrowLeft") {
25307
25229
  event.preventDefault();
@@ -25313,11 +25235,11 @@ function Carousel({
25313
25235
  },
25314
25236
  [scrollPrev, scrollNext]
25315
25237
  );
25316
- React22.useEffect(() => {
25238
+ React23.useEffect(() => {
25317
25239
  if (!api || !setApi) return;
25318
25240
  setApi(api);
25319
25241
  }, [api, setApi]);
25320
- React22.useEffect(() => {
25242
+ React23.useEffect(() => {
25321
25243
  if (!api) return;
25322
25244
  onSelect(api);
25323
25245
  api.on("reInit", onSelect);
@@ -26241,7 +26163,7 @@ function FeatureThreeColumnValues({
26241
26163
  patternOpacity,
26242
26164
  patternClassName
26243
26165
  }) {
26244
- const renderValueIcon = React22.useCallback(
26166
+ const renderValueIcon = React23.useCallback(
26245
26167
  (value) => {
26246
26168
  if (value.icon) return value.icon;
26247
26169
  if (value.iconName)
@@ -26743,7 +26665,7 @@ function FeatureTabbedContentImage({
26743
26665
  patternOpacity,
26744
26666
  patternClassName
26745
26667
  }) {
26746
- const renderFeatures = React22.useCallback(
26668
+ const renderFeatures = React23.useCallback(
26747
26669
  (slide) => {
26748
26670
  if (slide.featuresSlot) return slide.featuresSlot;
26749
26671
  if (!slide.features || slide.features.length === 0) return null;
@@ -26767,7 +26689,7 @@ function FeatureTabbedContentImage({
26767
26689
  },
26768
26690
  []
26769
26691
  );
26770
- const renderActions = React22.useCallback(
26692
+ const renderActions = React23.useCallback(
26771
26693
  (slide) => {
26772
26694
  if (slide.actionsSlot) return slide.actionsSlot;
26773
26695
  if (!slide.actions || slide.actions.length === 0) return null;
@@ -26810,7 +26732,7 @@ function FeatureTabbedContentImage({
26810
26732
  },
26811
26733
  []
26812
26734
  );
26813
- const renderImage = React22.useCallback(
26735
+ const renderImage = React23.useCallback(
26814
26736
  (slide) => {
26815
26737
  if (slide.imageSlot) return slide.imageSlot;
26816
26738
  if (!slide.image) return null;
@@ -27046,7 +26968,7 @@ function FeatureUtilityCardsGrid({
27046
26968
  }
27047
26969
  );
27048
26970
  }, [learnMoreSlot, learnMoreAction, background]);
27049
- const renderUtilityImage = React22.useCallback(
26971
+ const renderUtilityImage = React23.useCallback(
27050
26972
  (utility) => {
27051
26973
  if (utility.imageSlot) return utility.imageSlot;
27052
26974
  if (utility.image) {
@@ -27224,7 +27146,7 @@ function FeatureBentoUtilities({
27224
27146
  patternOpacity,
27225
27147
  patternClassName
27226
27148
  }) {
27227
- const renderCard = React22.useCallback(
27149
+ const renderCard = React23.useCallback(
27228
27150
  (card, index) => {
27229
27151
  const hasImage = card.imageSrc || card.imageSlot;
27230
27152
  const cardClasses = cn(
@@ -27280,7 +27202,7 @@ function FeatureBentoUtilities({
27280
27202
  },
27281
27203
  [optixFlowConfig]
27282
27204
  );
27283
- const renderColumn = React22.useCallback(
27205
+ const renderColumn = React23.useCallback(
27284
27206
  (cards, slot) => {
27285
27207
  if (slot) return slot;
27286
27208
  if (!cards || cards.length === 0) return null;
@@ -28526,7 +28448,7 @@ function FeatureBentoImageGrid({
28526
28448
  patternOpacity,
28527
28449
  patternClassName
28528
28450
  }) {
28529
- const renderItemIcon = React22.useCallback(
28451
+ const renderItemIcon = React23.useCallback(
28530
28452
  (item) => {
28531
28453
  if (item.icon) return item.icon;
28532
28454
  if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 24 });
@@ -28534,7 +28456,7 @@ function FeatureBentoImageGrid({
28534
28456
  },
28535
28457
  []
28536
28458
  );
28537
- const renderItemImage = React22.useCallback(
28459
+ const renderItemImage = React23.useCallback(
28538
28460
  (item, imageClassName) => {
28539
28461
  if (item.imageSlot) return item.imageSlot;
28540
28462
  if (item.imageSrc) {
@@ -28553,7 +28475,7 @@ function FeatureBentoImageGrid({
28553
28475
  },
28554
28476
  [optixFlowConfig]
28555
28477
  );
28556
- const renderLargeCard = React22.useCallback(
28478
+ const renderLargeCard = React23.useCallback(
28557
28479
  (item) => {
28558
28480
  const iconContent = renderItemIcon(item);
28559
28481
  const hasIconBadgeContent = iconContent || item.iconBadge;
@@ -28641,7 +28563,7 @@ function FeatureBentoImageGrid({
28641
28563
  },
28642
28564
  [largeCardClassName, renderItemImage, renderItemIcon]
28643
28565
  );
28644
- const renderSmallCard = React22.useCallback(
28566
+ const renderSmallCard = React23.useCallback(
28645
28567
  (item, index) => {
28646
28568
  const iconContent = renderItemIcon(item);
28647
28569
  const hasIconBadgeContent = iconContent || item.iconBadge;
@@ -29256,7 +29178,7 @@ function FeatureAccordionImage({
29256
29178
  patternOpacity,
29257
29179
  patternClassName
29258
29180
  }) {
29259
- const [activeItem, setActiveItem] = React22.useState(defaultValue || "item-0");
29181
+ const [activeItem, setActiveItem] = React23.useState(defaultValue || "item-0");
29260
29182
  const activeIndex = parseInt(activeItem.replace("item-", ""), 10) || 0;
29261
29183
  const currentImage = items?.[activeIndex] || items?.[0];
29262
29184
  const accordionItemsContent = useMemo(() => {
@@ -29405,7 +29327,7 @@ function FeatureCapabilitiesGrid({
29405
29327
  patternOpacity,
29406
29328
  patternClassName
29407
29329
  }) {
29408
- const renderItemIcon = React22.useCallback(
29330
+ const renderItemIcon = React23.useCallback(
29409
29331
  (item) => {
29410
29332
  if (item.icon) return item.icon;
29411
29333
  if (item.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 20 });
@@ -29557,7 +29479,7 @@ function FeatureCapabilitiesGrid({
29557
29479
  }
29558
29480
  );
29559
29481
  }
29560
- var TeamMemberBackgroundImageCard = React22.forwardRef(
29482
+ var TeamMemberBackgroundImageCard = React23.forwardRef(
29561
29483
  ({ className, imageUrl, imageAlt, children, optixFlowConfig, background, ...props }, ref) => {
29562
29484
  return /* @__PURE__ */ jsxs(
29563
29485
  "div",
@@ -29605,7 +29527,7 @@ function TeamMediaShowcase({
29605
29527
  actionClassName,
29606
29528
  optixFlowConfig
29607
29529
  }) {
29608
- const renderItems = React22.useMemo(() => {
29530
+ const renderItems = React23.useMemo(() => {
29609
29531
  if (itemsSlot) return itemsSlot;
29610
29532
  return items.map((member, idx) => {
29611
29533
  const imageAlt = member.imageAlt || (member.name && typeof member.name === "string" && member.name.trim() !== "" ? member.name : `member-${idx}`);
@@ -29703,7 +29625,7 @@ function TeamSimpleGrid({
29703
29625
  memberNameClassName,
29704
29626
  memberRoleClassName
29705
29627
  }) {
29706
- const renderMembers = React22.useMemo(() => {
29628
+ const renderMembers = React23.useMemo(() => {
29707
29629
  if (membersSlot) return membersSlot;
29708
29630
  if (!members || members.length === 0) return null;
29709
29631
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -29865,7 +29787,7 @@ function FooterBrandLinksContact({
29865
29787
  linkListClassName,
29866
29788
  linkItemClassName
29867
29789
  ]);
29868
- const contactItemsContent = React22.useMemo(() => {
29790
+ const contactItemsContent = React23.useMemo(() => {
29869
29791
  if (!contactItems || contactItems.length === 0) return null;
29870
29792
  return contactItems.map((item, idx) => /* @__PURE__ */ jsxs(
29871
29793
  "div",
@@ -30223,7 +30145,7 @@ function TeamSocialGrid({
30223
30145
  memberRoleClassName,
30224
30146
  socialLinksClassName
30225
30147
  }) {
30226
- const renderMembers = React22.useMemo(() => {
30148
+ const renderMembers = React23.useMemo(() => {
30227
30149
  if (membersSlot) return membersSlot;
30228
30150
  if (!members || members.length === 0) return null;
30229
30151
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -30375,7 +30297,7 @@ function TeamGradientCards({
30375
30297
  memberRoleClassName,
30376
30298
  socialLinksClassName
30377
30299
  }) {
30378
- const renderMembers = React22.useMemo(() => {
30300
+ const renderMembers = React23.useMemo(() => {
30379
30301
  if (membersSlot) return membersSlot;
30380
30302
  if (!members || members.length === 0) return null;
30381
30303
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -30531,7 +30453,7 @@ function TeamBioBadges({
30531
30453
  memberBioClassName,
30532
30454
  socialLinksClassName
30533
30455
  }) {
30534
- const renderMembers = React22.useMemo(() => {
30456
+ const renderMembers = React23.useMemo(() => {
30535
30457
  if (membersSlot) return membersSlot;
30536
30458
  if (!members || members.length === 0) return null;
30537
30459
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -30708,7 +30630,7 @@ function TeamExpertiseCards({
30708
30630
  ctaDescriptionClassName,
30709
30631
  ctaButtonClassName
30710
30632
  }) {
30711
- const renderMembers = React22.useMemo(() => {
30633
+ const renderMembers = React23.useMemo(() => {
30712
30634
  if (membersSlot) return membersSlot;
30713
30635
  if (!members || members.length === 0) return null;
30714
30636
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -30785,7 +30707,7 @@ function TeamExpertiseCards({
30785
30707
  member.id
30786
30708
  ));
30787
30709
  }, [membersSlot, members, background, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, departmentBadgeClassName, memberDescriptionClassName, expertiseClassName]);
30788
- const renderCta = React22.useMemo(() => {
30710
+ const renderCta = React23.useMemo(() => {
30789
30711
  if (ctaSlot) return ctaSlot;
30790
30712
  return /* @__PURE__ */ jsxs(
30791
30713
  "div",
@@ -30901,7 +30823,7 @@ function TeamCompactGrid({
30901
30823
  ctaDescriptionClassName,
30902
30824
  ctaButtonClassName
30903
30825
  }) {
30904
- const renderMembers = React22.useMemo(() => {
30826
+ const renderMembers = React23.useMemo(() => {
30905
30827
  if (membersSlot) return membersSlot;
30906
30828
  if (!members || members.length === 0) return null;
30907
30829
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -30956,7 +30878,7 @@ function TeamCompactGrid({
30956
30878
  member.id
30957
30879
  ));
30958
30880
  }, [membersSlot, members, background, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, departmentBadgeClassName]);
30959
- const renderCta = React22.useMemo(() => {
30881
+ const renderCta = React23.useMemo(() => {
30960
30882
  if (ctaSlot) return ctaSlot;
30961
30883
  return /* @__PURE__ */ jsxs(
30962
30884
  "div",
@@ -31060,7 +30982,7 @@ function TeamInvestorShowcase({
31060
30982
  investorCompanyClassName,
31061
30983
  optixFlowConfig
31062
30984
  }) {
31063
- const renderInvestors = React22.useMemo(() => {
30985
+ const renderInvestors = React23.useMemo(() => {
31064
30986
  if (investorsSlot) return investorsSlot;
31065
30987
  if (!investors || investors.length === 0) return null;
31066
30988
  return investors.map((investor) => /* @__PURE__ */ jsxs("div", { className: investorCardClassName, children: [
@@ -31134,7 +31056,7 @@ function TeamCarouselExperience({
31134
31056
  memberRoleClassName,
31135
31057
  optixFlowConfig
31136
31058
  }) {
31137
- const renderMembers = React22.useMemo(() => {
31059
+ const renderMembers = React23.useMemo(() => {
31138
31060
  if (membersSlot) return membersSlot;
31139
31061
  if (!members || members.length === 0) return null;
31140
31062
  return members.map((member, idx) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-72", children: /* @__PURE__ */ jsxs(
@@ -31284,20 +31206,20 @@ function TeamFilterableSearch({
31284
31206
  emptyStateClassName,
31285
31207
  emptyStateMessage
31286
31208
  }) {
31287
- const [searchQuery, setSearchQuery] = React22.useState("");
31288
- const [selectedDepartment, setSelectedDepartment] = React22.useState("All");
31289
- const departments = React22.useMemo(() => {
31209
+ const [searchQuery, setSearchQuery] = React23.useState("");
31210
+ const [selectedDepartment, setSelectedDepartment] = React23.useState("All");
31211
+ const departments = React23.useMemo(() => {
31290
31212
  const depts = new Set(members.map((m) => m.department));
31291
31213
  return ["All", ...Array.from(depts)];
31292
31214
  }, [members]);
31293
- const filteredMembers = React22.useMemo(() => {
31215
+ const filteredMembers = React23.useMemo(() => {
31294
31216
  return members.filter((member) => {
31295
31217
  const matchesSearch = searchQuery === "" || member.name.toLowerCase().includes(searchQuery.toLowerCase()) || member.role.toLowerCase().includes(searchQuery.toLowerCase()) || member.description.toLowerCase().includes(searchQuery.toLowerCase());
31296
31218
  const matchesDepartment = selectedDepartment === "All" || member.department === selectedDepartment;
31297
31219
  return matchesSearch && matchesDepartment;
31298
31220
  });
31299
31221
  }, [members, searchQuery, selectedDepartment]);
31300
- const renderFilters = React22.useMemo(() => {
31222
+ const renderFilters = React23.useMemo(() => {
31301
31223
  if (filtersSlot) return filtersSlot;
31302
31224
  return /* @__PURE__ */ jsxs(
31303
31225
  "div",
@@ -31352,7 +31274,7 @@ function TeamFilterableSearch({
31352
31274
  selectedDepartment,
31353
31275
  filterButtonClassName
31354
31276
  ]);
31355
- const renderMembers = React22.useMemo(() => {
31277
+ const renderMembers = React23.useMemo(() => {
31356
31278
  if (membersSlot) return membersSlot;
31357
31279
  return filteredMembers.map((member) => /* @__PURE__ */ jsx(
31358
31280
  "div",
@@ -31539,7 +31461,7 @@ function TeamCompactCta({
31539
31461
  memberRoleClassName,
31540
31462
  ctaClassName
31541
31463
  }) {
31542
- const renderMembers = React22.useMemo(() => {
31464
+ const renderMembers = React23.useMemo(() => {
31543
31465
  if (membersSlot) return membersSlot;
31544
31466
  if (!members || members.length === 0) return null;
31545
31467
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -31567,7 +31489,7 @@ function TeamCompactCta({
31567
31489
  member.id
31568
31490
  ));
31569
31491
  }, [membersSlot, members, memberCardClassName, avatarClassName, memberNameClassName, memberRoleClassName, background]);
31570
- const renderCta = React22.useMemo(() => {
31492
+ const renderCta = React23.useMemo(() => {
31571
31493
  if (ctaSlot) return ctaSlot;
31572
31494
  return /* @__PURE__ */ jsx(
31573
31495
  Pressable,
@@ -31658,7 +31580,7 @@ function TeamHoverHighlight({
31658
31580
  socialLinksClassName,
31659
31581
  optixFlowConfig
31660
31582
  }) {
31661
- const renderMembers = React22.useMemo(() => {
31583
+ const renderMembers = React23.useMemo(() => {
31662
31584
  if (membersSlot) return membersSlot;
31663
31585
  if (!members || members.length === 0) return null;
31664
31586
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -31807,7 +31729,7 @@ function TeamSocialCards({
31807
31729
  socialLinksClassName,
31808
31730
  optixFlowConfig
31809
31731
  }) {
31810
- const renderMembers = React22.useMemo(() => {
31732
+ const renderMembers = React23.useMemo(() => {
31811
31733
  if (membersSlot) return membersSlot;
31812
31734
  if (!members || members.length === 0) return null;
31813
31735
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -31977,7 +31899,7 @@ function TeamGridAnimated({
31977
31899
  "hsl(var(--muted))",
31978
31900
  "hsl(var(--warning)/0.2)"
31979
31901
  ];
31980
- const renderMembers = React22.useMemo(() => {
31902
+ const renderMembers = React23.useMemo(() => {
31981
31903
  if (membersSlot) return membersSlot;
31982
31904
  if (!members || members.length === 0) return null;
31983
31905
  return members.map((member, index) => /* @__PURE__ */ jsxs(
@@ -32077,7 +31999,7 @@ function TeamGridAnimated({
32077
31999
  memberDesignationClassName,
32078
32000
  socialLinksClassName
32079
32001
  ]);
32080
- const renderSocialLinksMain = React22.useMemo(() => {
32002
+ const renderSocialLinksMain = React23.useMemo(() => {
32081
32003
  if (socialLinksMainSlot) return socialLinksMainSlot;
32082
32004
  if (!socialLinksMain || socialLinksMain.length === 0) return null;
32083
32005
  return /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-center gap-4 py-4 md:justify-center", children: [
@@ -32194,7 +32116,7 @@ function TeamDepartmentSections({
32194
32116
  memberRoleClassName,
32195
32117
  optixFlowConfig
32196
32118
  }) {
32197
- const renderDepartments = React22.useMemo(() => {
32119
+ const renderDepartments = React23.useMemo(() => {
32198
32120
  if (departmentsSlot) return departmentsSlot;
32199
32121
  if (!departments || departments.length === 0) return null;
32200
32122
  return departments.map((department, deptIndex) => /* @__PURE__ */ jsxs(
@@ -32298,7 +32220,7 @@ function TeamAlternatingBios({
32298
32220
  socialLinksClassName,
32299
32221
  optixFlowConfig
32300
32222
  }) {
32301
- const renderMembers = React22.useMemo(() => {
32223
+ const renderMembers = React23.useMemo(() => {
32302
32224
  if (membersSlot) return membersSlot;
32303
32225
  if (!members || members.length === 0) return null;
32304
32226
  return members.map((member, index) => /* @__PURE__ */ jsxs(
@@ -32480,7 +32402,7 @@ function TeamAvatarSocial({
32480
32402
  memberRoleClassName,
32481
32403
  socialLinksClassName
32482
32404
  }) {
32483
- const renderMembers = React22.useMemo(() => {
32405
+ const renderMembers = React23.useMemo(() => {
32484
32406
  if (membersSlot) return membersSlot;
32485
32407
  if (!members || members.length === 0) return null;
32486
32408
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -32623,7 +32545,7 @@ function TeamHoverOverlay({
32623
32545
  socialLinksClassName,
32624
32546
  optixFlowConfig
32625
32547
  }) {
32626
- const renderMembers = React22.useMemo(() => {
32548
+ const renderMembers = React23.useMemo(() => {
32627
32549
  if (membersSlot) return membersSlot;
32628
32550
  if (!members || members.length === 0) return null;
32629
32551
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -32799,14 +32721,14 @@ function TeamRoleFilter({
32799
32721
  socialLinksClassName,
32800
32722
  optixFlowConfig
32801
32723
  }) {
32802
- const [selectedRole, setSelectedRole] = React22.useState("All");
32803
- const filteredMembers = React22.useMemo(() => {
32724
+ const [selectedRole, setSelectedRole] = React23.useState("All");
32725
+ const filteredMembers = React23.useMemo(() => {
32804
32726
  if (!members) return [];
32805
32727
  return members.filter(
32806
32728
  (member) => selectedRole === "All" ? true : member.role === selectedRole
32807
32729
  );
32808
32730
  }, [members, selectedRole]);
32809
- const renderRoles = React22.useMemo(() => {
32731
+ const renderRoles = React23.useMemo(() => {
32810
32732
  if (rolesSlot) return rolesSlot;
32811
32733
  if (!roles) return null;
32812
32734
  return /* @__PURE__ */ jsx(
@@ -32830,7 +32752,7 @@ function TeamRoleFilter({
32830
32752
  }
32831
32753
  );
32832
32754
  }, [rolesSlot, filtersClassName, roles, selectedRole, filterButtonClassName]);
32833
- const renderMembers = React22.useMemo(() => {
32755
+ const renderMembers = React23.useMemo(() => {
32834
32756
  if (membersSlot) return membersSlot;
32835
32757
  return filteredMembers.map((member) => /* @__PURE__ */ jsx(
32836
32758
  Card,
@@ -32990,7 +32912,7 @@ function TeamContactCards({
32990
32912
  socialLinksClassName,
32991
32913
  optixFlowConfig
32992
32914
  }) {
32993
- const getStatusColor = React22.useCallback((status) => {
32915
+ const getStatusColor = React23.useCallback((status) => {
32994
32916
  switch (status) {
32995
32917
  case "active":
32996
32918
  return "bg-success";
@@ -33000,7 +32922,7 @@ function TeamContactCards({
33000
32922
  return getTextColor(background, "muted");
33001
32923
  }
33002
32924
  }, [background]);
33003
- const renderMembers = React22.useMemo(() => {
32925
+ const renderMembers = React23.useMemo(() => {
33004
32926
  if (membersSlot) return membersSlot;
33005
32927
  if (!members || members.length === 0) return null;
33006
32928
  return members.map((member) => /* @__PURE__ */ jsx(Card, { className: cn("p-0", memberCardClassName), children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6!", children: [
@@ -33207,7 +33129,7 @@ function TeamLargeImages({
33207
33129
  socialLinksClassName,
33208
33130
  optixFlowConfig
33209
33131
  }) {
33210
- const renderMembers = React22.useMemo(() => {
33132
+ const renderMembers = React23.useMemo(() => {
33211
33133
  if (membersSlot) return membersSlot;
33212
33134
  if (!members || members.length === 0) return null;
33213
33135
  return members.map((member) => /* @__PURE__ */ jsxs(
@@ -33382,7 +33304,7 @@ function TeamSkillBadges({
33382
33304
  socialLinksClassName,
33383
33305
  optixFlowConfig
33384
33306
  }) {
33385
- const renderMembers = React22.useMemo(() => {
33307
+ const renderMembers = React23.useMemo(() => {
33386
33308
  if (membersSlot) return membersSlot;
33387
33309
  if (!members || members.length === 0) return null;
33388
33310
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -33572,7 +33494,7 @@ function TeamTestimonialStats({
33572
33494
  socialLinksClassName,
33573
33495
  optixFlowConfig
33574
33496
  }) {
33575
- const renderMembers = React22.useMemo(() => {
33497
+ const renderMembers = React23.useMemo(() => {
33576
33498
  if (membersSlot) return membersSlot;
33577
33499
  if (!members || members.length === 0) return null;
33578
33500
  return members.map((member) => /* @__PURE__ */ jsx(
@@ -37716,7 +37638,7 @@ function BlogGridAuthorCardsComponent({
37716
37638
  pattern,
37717
37639
  patternOpacity
37718
37640
  }) {
37719
- const viewAllActionContent = React22.useMemo(() => {
37641
+ const viewAllActionContent = React23.useMemo(() => {
37720
37642
  if (viewAllSlot) return viewAllSlot;
37721
37643
  if (!viewAllAction) return null;
37722
37644
  const {
@@ -37741,7 +37663,7 @@ function BlogGridAuthorCardsComponent({
37741
37663
  }
37742
37664
  );
37743
37665
  }, [viewAllSlot, viewAllAction]);
37744
- const postsContent = React22.useMemo(() => {
37666
+ const postsContent = React23.useMemo(() => {
37745
37667
  if (postsSlot) return postsSlot;
37746
37668
  if (!posts || posts.length === 0) return null;
37747
37669
  return posts.map((post) => {
@@ -37853,7 +37775,7 @@ function BlogCardsTaglineCta({
37853
37775
  pattern,
37854
37776
  patternOpacity
37855
37777
  }) {
37856
- const ctaActionContent = React22.useMemo(() => {
37778
+ const ctaActionContent = React23.useMemo(() => {
37857
37779
  if (ctaSlot) return ctaSlot;
37858
37780
  if (!ctaAction) return null;
37859
37781
  const {
@@ -37881,7 +37803,7 @@ function BlogCardsTaglineCta({
37881
37803
  }
37882
37804
  );
37883
37805
  }, [ctaSlot, ctaAction, ctaClassName]);
37884
- const postsContent = React22.useMemo(() => {
37806
+ const postsContent = React23.useMemo(() => {
37885
37807
  if (postsSlot) return postsSlot;
37886
37808
  if (!posts || posts.length === 0) return null;
37887
37809
  return posts.map((post) => {
@@ -38027,7 +37949,7 @@ function BlogCardsReadTime({
38027
37949
  pattern,
38028
37950
  patternOpacity
38029
37951
  }) {
38030
- const renderedViewAllAction = React22.useMemo(() => {
37952
+ const renderedViewAllAction = React23.useMemo(() => {
38031
37953
  if (viewAllSlot) return viewAllSlot;
38032
37954
  if (!viewAllAction) return null;
38033
37955
  const {
@@ -38044,7 +37966,7 @@ function BlogCardsReadTime({
38044
37966
  iconAfter
38045
37967
  ] }) });
38046
37968
  }, [viewAllSlot, viewAllAction]);
38047
- const renderedPosts = React22.useMemo(() => {
37969
+ const renderedPosts = React23.useMemo(() => {
38048
37970
  if (postsSlot) return postsSlot;
38049
37971
  if (!posts || posts.length === 0) return null;
38050
37972
  return posts.map((post) => {
@@ -38181,7 +38103,7 @@ function BlogCategoryOverlay({
38181
38103
  pattern,
38182
38104
  patternOpacity
38183
38105
  }) {
38184
- const viewAllActionContent = React22.useMemo(() => {
38106
+ const viewAllActionContent = React23.useMemo(() => {
38185
38107
  if (viewAllSlot) return viewAllSlot;
38186
38108
  if (!viewAllAction) return null;
38187
38109
  const {
@@ -38209,7 +38131,7 @@ function BlogCategoryOverlay({
38209
38131
  }
38210
38132
  );
38211
38133
  }, [viewAllSlot, viewAllAction, viewAllClassName]);
38212
- const postsContent = React22.useMemo(() => {
38134
+ const postsContent = React23.useMemo(() => {
38213
38135
  if (postsSlot) return postsSlot;
38214
38136
  if (!posts || posts.length === 0) return null;
38215
38137
  return posts.map((post) => {
@@ -38357,7 +38279,7 @@ function BlogFeaturedPopular({
38357
38279
  }) {
38358
38280
  const featuredPost = posts?.[0];
38359
38281
  const popularPosts = posts?.slice(1);
38360
- const renderedFeaturedPost = React22.useMemo(() => {
38282
+ const renderedFeaturedPost = React23.useMemo(() => {
38361
38283
  if (featuredSlot) return featuredSlot;
38362
38284
  if (!featuredPost) return null;
38363
38285
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link;
@@ -38409,7 +38331,7 @@ function BlogFeaturedPopular({
38409
38331
  featuredContentClassName,
38410
38332
  optixFlowConfig
38411
38333
  ]);
38412
- const renderedPopularPosts = React22.useMemo(() => {
38334
+ const renderedPopularPosts = React23.useMemo(() => {
38413
38335
  if (postsSlot) return postsSlot;
38414
38336
  if (!popularPosts || popularPosts.length === 0) return null;
38415
38337
  return popularPosts.map((post) => {
@@ -38526,7 +38448,7 @@ function BlogRelatedArticles({
38526
38448
  pattern,
38527
38449
  patternOpacity
38528
38450
  }) {
38529
- const renderedSeeAllAction = React22.useMemo(() => {
38451
+ const renderedSeeAllAction = React23.useMemo(() => {
38530
38452
  if (seeAllSlot) return seeAllSlot;
38531
38453
  if (!seeAllAction) return null;
38532
38454
  const {
@@ -38555,7 +38477,7 @@ function BlogRelatedArticles({
38555
38477
  }
38556
38478
  );
38557
38479
  }, [seeAllSlot, seeAllAction, seeAllClassName]);
38558
- const renderedArticles = React22.useMemo(() => {
38480
+ const renderedArticles = React23.useMemo(() => {
38559
38481
  if (articlesSlot) return articlesSlot;
38560
38482
  if (!articles || articles.length === 0) return null;
38561
38483
  return articles.map((item) => {
@@ -38863,7 +38785,7 @@ function BlogHorizontalCards({
38863
38785
  pattern,
38864
38786
  patternOpacity
38865
38787
  }) {
38866
- const ctaContent = React22.useMemo(() => {
38788
+ const ctaContent = React23.useMemo(() => {
38867
38789
  if (ctaSlot) return ctaSlot;
38868
38790
  if (!ctaAction) return null;
38869
38791
  const {
@@ -38888,7 +38810,7 @@ function BlogHorizontalCards({
38888
38810
  }
38889
38811
  );
38890
38812
  }, [ctaSlot, ctaAction]);
38891
- const postsContent = React22.useMemo(() => {
38813
+ const postsContent = React23.useMemo(() => {
38892
38814
  if (postsSlot) return postsSlot;
38893
38815
  if (!posts || posts.length === 0) return null;
38894
38816
  return posts.map((post) => {
@@ -39110,7 +39032,7 @@ function Label({
39110
39032
  );
39111
39033
  }
39112
39034
  var POSTS_PER_PAGE = 6;
39113
- var BlogCard = React22.memo(function BlogCard2({
39035
+ var BlogCard = React23.memo(function BlogCard2({
39114
39036
  post,
39115
39037
  optixFlowConfig,
39116
39038
  className
@@ -39149,7 +39071,7 @@ var BlogCard = React22.memo(function BlogCard2({
39149
39071
  ] })
39150
39072
  ] }) });
39151
39073
  });
39152
- var FilterForm = React22.memo(function FilterForm2({
39074
+ var FilterForm = React23.memo(function FilterForm2({
39153
39075
  categories,
39154
39076
  selectedCategories,
39155
39077
  onCategoryChange,
@@ -39182,7 +39104,7 @@ var FilterForm = React22.memo(function FilterForm2({
39182
39104
  }
39183
39105
  );
39184
39106
  });
39185
- var BreadcrumbBlog = React22.memo(function BreadcrumbBlog2({
39107
+ var BreadcrumbBlog = React23.memo(function BreadcrumbBlog2({
39186
39108
  breadcrumb
39187
39109
  }) {
39188
39110
  return /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumb.map((item, i) => {
@@ -39264,12 +39186,12 @@ function BlogFilteredResultsComponent({
39264
39186
  }, [posts, selectedCategories]);
39265
39187
  const postsToDisplay = filteredPosts.length > 0 ? filteredPosts : posts || [];
39266
39188
  const hasMore = visibleCount < postsToDisplay.length;
39267
- const breadcrumbContent = React22.useMemo(() => {
39189
+ const breadcrumbContent = React23.useMemo(() => {
39268
39190
  if (breadcrumbSlot) return breadcrumbSlot;
39269
39191
  if (!breadcrumb || breadcrumb.length === 0) return null;
39270
39192
  return /* @__PURE__ */ jsx(BreadcrumbBlog, { breadcrumb });
39271
39193
  }, [breadcrumbSlot, breadcrumb]);
39272
- const primaryPostContent = React22.useMemo(() => {
39194
+ const primaryPostContent = React23.useMemo(() => {
39273
39195
  if (primaryPostSlot) return primaryPostSlot;
39274
39196
  if (!primaryPost) return null;
39275
39197
  return /* @__PURE__ */ jsx(
@@ -39281,7 +39203,7 @@ function BlogFilteredResultsComponent({
39281
39203
  }
39282
39204
  );
39283
39205
  }, [primaryPostSlot, primaryPost, optixFlowConfig, postCardClassName]);
39284
- const categoriesContent = React22.useMemo(() => {
39206
+ const categoriesContent = React23.useMemo(() => {
39285
39207
  if (categoriesSlot) return categoriesSlot;
39286
39208
  if (!categories || categories.length === 0) return null;
39287
39209
  return /* @__PURE__ */ jsx(
@@ -39300,7 +39222,7 @@ function BlogFilteredResultsComponent({
39300
39222
  handleCategoryChange,
39301
39223
  categoriesClassName
39302
39224
  ]);
39303
- const postsContent = React22.useMemo(() => {
39225
+ const postsContent = React23.useMemo(() => {
39304
39226
  if (postsSlot) return postsSlot;
39305
39227
  return postsToDisplay.slice(0, visibleCount).map((post) => {
39306
39228
  const postKey = post.id || String(post.title) || Math.random().toString();
@@ -39321,7 +39243,7 @@ function BlogFilteredResultsComponent({
39321
39243
  optixFlowConfig,
39322
39244
  postCardClassName
39323
39245
  ]);
39324
- const loadMoreContent = React22.useMemo(() => {
39246
+ const loadMoreContent = React23.useMemo(() => {
39325
39247
  if (loadMoreSlot) return loadMoreSlot;
39326
39248
  if (!loadMoreAction || !hasMore) return null;
39327
39249
  const {
@@ -39447,7 +39369,7 @@ function BlogMasonryFeaturedComponent({
39447
39369
  }) {
39448
39370
  const featuredPost = posts?.[0];
39449
39371
  const otherPosts = posts?.slice(1);
39450
- const featuredPostContent = React22.useMemo(() => {
39372
+ const featuredPostContent = React23.useMemo(() => {
39451
39373
  if (featuredSlot) return featuredSlot;
39452
39374
  if (!featuredPost) return null;
39453
39375
  const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
@@ -39497,7 +39419,7 @@ function BlogMasonryFeaturedComponent({
39497
39419
  featuredImageClassName,
39498
39420
  optixFlowConfig
39499
39421
  ]);
39500
- const otherPostsContent = React22.useMemo(() => {
39422
+ const otherPostsContent = React23.useMemo(() => {
39501
39423
  if (postsSlot) return postsSlot;
39502
39424
  if (!otherPosts || otherPosts.length === 0) return null;
39503
39425
  return otherPosts.map((post) => {
@@ -39586,7 +39508,7 @@ function BlogHorizontalTimelineComponent({
39586
39508
  pattern,
39587
39509
  patternOpacity
39588
39510
  }) {
39589
- const renderPosts = React22.useMemo(() => {
39511
+ const renderPosts = React23.useMemo(() => {
39590
39512
  if (postsSlot) return postsSlot;
39591
39513
  if (!posts || posts.length === 0) return null;
39592
39514
  return posts.map((post, index) => {
@@ -39711,7 +39633,7 @@ function BlogGridNinePosts({
39711
39633
  pattern,
39712
39634
  patternOpacity
39713
39635
  }) {
39714
- const renderedCtaAction = React22.useMemo(() => {
39636
+ const renderedCtaAction = React23.useMemo(() => {
39715
39637
  if (ctaSlot) return ctaSlot;
39716
39638
  if (!ctaAction) return null;
39717
39639
  const {
@@ -39736,7 +39658,7 @@ function BlogGridNinePosts({
39736
39658
  }
39737
39659
  );
39738
39660
  }, [ctaSlot, ctaAction]);
39739
- const renderedPosts = React22.useMemo(() => {
39661
+ const renderedPosts = React23.useMemo(() => {
39740
39662
  if (postsSlot) return postsSlot;
39741
39663
  if (!posts || posts.length === 0) return null;
39742
39664
  return posts.map((post) => {
@@ -39834,9 +39756,9 @@ var AppleCarousel = ({
39834
39756
  className,
39835
39757
  containerClassName
39836
39758
  }) => {
39837
- const carouselRef = React22__default.useRef(null);
39838
- const [canScrollLeft, setCanScrollLeft] = React22__default.useState(false);
39839
- const [canScrollRight, setCanScrollRight] = React22__default.useState(true);
39759
+ const carouselRef = React23__default.useRef(null);
39760
+ const [canScrollLeft, setCanScrollLeft] = React23__default.useState(false);
39761
+ const [canScrollRight, setCanScrollRight] = React23__default.useState(true);
39840
39762
  const [currentIndex, setCurrentIndex] = useState(0);
39841
39763
  useEffect(() => {
39842
39764
  if (carouselRef.current) {
@@ -40073,7 +39995,7 @@ function BlogCarouselAppleComponent({
40073
39995
  containerClassName,
40074
39996
  cardClassName
40075
39997
  }) {
40076
- const carouselCards = React22.useMemo(() => {
39998
+ const carouselCards = React23.useMemo(() => {
40077
39999
  if (!posts || posts.length === 0) return [];
40078
40000
  return posts.map(
40079
40001
  (post, idx) => ({
@@ -40085,7 +40007,7 @@ function BlogCarouselAppleComponent({
40085
40007
  })
40086
40008
  );
40087
40009
  }, [posts]);
40088
- const cardElements = React22.useMemo(() => {
40010
+ const cardElements = React23.useMemo(() => {
40089
40011
  if (!posts || posts.length === 0) return [];
40090
40012
  return carouselCards.map((card, index) => {
40091
40013
  const post = posts[index];
@@ -40170,7 +40092,7 @@ function ArticleHeroProseComponent({
40170
40092
  description,
40171
40093
  authorImage
40172
40094
  } = post ?? {};
40173
- const authorContent = React22.useMemo(() => {
40095
+ const authorContent = React23.useMemo(() => {
40174
40096
  if (authorSlot) return authorSlot;
40175
40097
  if (!authorName) return null;
40176
40098
  return /* @__PURE__ */ jsxs(
@@ -40204,7 +40126,7 @@ function ArticleHeroProseComponent({
40204
40126
  dateFormat,
40205
40127
  authorClassName
40206
40128
  ]);
40207
- const heroMediaContent = React22.useMemo(() => {
40129
+ const heroMediaContent = React23.useMemo(() => {
40208
40130
  if (heroMediaSlot) return heroMediaSlot;
40209
40131
  if (!image) return null;
40210
40132
  return /* @__PURE__ */ jsx(
@@ -40305,7 +40227,7 @@ function ArticleSidebarStickyComponent({
40305
40227
  pattern,
40306
40228
  patternOpacity
40307
40229
  }) {
40308
- const backLinkContent = React22.useMemo(() => {
40230
+ const backLinkContent = React23.useMemo(() => {
40309
40231
  if (backLinkSlot) return backLinkSlot;
40310
40232
  if (!backHref && !backText) return null;
40311
40233
  return /* @__PURE__ */ jsxs(
@@ -40323,7 +40245,7 @@ function ArticleSidebarStickyComponent({
40323
40245
  }
40324
40246
  );
40325
40247
  }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
40326
- const renderAuthor = React22.useCallback(
40248
+ const renderAuthor = React23.useCallback(
40327
40249
  (isMobile = false) => {
40328
40250
  if (authorSlot) return authorSlot;
40329
40251
  if (!authorName) return null;
@@ -40355,7 +40277,7 @@ function ArticleSidebarStickyComponent({
40355
40277
  authorClassName
40356
40278
  ]
40357
40279
  );
40358
- const heroMediaContent = React22.useMemo(() => {
40280
+ const heroMediaContent = React23.useMemo(() => {
40359
40281
  if (heroMediaSlot) return heroMediaSlot;
40360
40282
  if (!heroImageSrc) return null;
40361
40283
  return /* @__PURE__ */ jsx(
@@ -40462,10 +40384,10 @@ function ArticleTocSidebarComponent({
40462
40384
  patternOpacity
40463
40385
  }) {
40464
40386
  const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
40465
- const [activeSection, setActiveSection] = React22.useState(
40387
+ const [activeSection, setActiveSection] = React23.useState(
40466
40388
  sections?.[0]?.id || ""
40467
40389
  );
40468
- React22.useEffect(() => {
40390
+ React23.useEffect(() => {
40469
40391
  if (!enableTocTracking || !sections || sections.length === 0) return;
40470
40392
  const observer = new IntersectionObserver(
40471
40393
  (entries) => {
@@ -40483,12 +40405,12 @@ function ArticleTocSidebarComponent({
40483
40405
  });
40484
40406
  return () => observer.disconnect();
40485
40407
  }, [sections, enableTocTracking]);
40486
- const categoryContent = React22.useMemo(() => {
40408
+ const categoryContent = React23.useMemo(() => {
40487
40409
  if (categorySlot) return categorySlot;
40488
40410
  if (!category) return null;
40489
40411
  return /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: category });
40490
40412
  }, [categorySlot, category]);
40491
- const authorContent = React22.useMemo(() => {
40413
+ const authorContent = React23.useMemo(() => {
40492
40414
  if (authorSlot) return authorSlot;
40493
40415
  if (!authorName) return null;
40494
40416
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4", authorClassName), children: [
@@ -40508,7 +40430,7 @@ function ArticleTocSidebarComponent({
40508
40430
  ] })
40509
40431
  ] });
40510
40432
  }, [authorSlot, authorName, authorImage, authorHref, publishDate, readTime, authorClassName]);
40511
- const heroMediaContent = React22.useMemo(() => {
40433
+ const heroMediaContent = React23.useMemo(() => {
40512
40434
  if (heroMediaSlot) return heroMediaSlot;
40513
40435
  if (!heroImageSrc) return null;
40514
40436
  return /* @__PURE__ */ jsx(
@@ -40521,7 +40443,7 @@ function ArticleTocSidebarComponent({
40521
40443
  }
40522
40444
  );
40523
40445
  }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
40524
- const tocContent = React22.useMemo(() => {
40446
+ const tocContent = React23.useMemo(() => {
40525
40447
  if (tocSlot) return tocSlot;
40526
40448
  if (!sections || sections.length === 0) return null;
40527
40449
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -40529,7 +40451,7 @@ function ArticleTocSidebarComponent({
40529
40451
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
40530
40452
  const isActive = activeSection === section.id;
40531
40453
  if (renderSectionLink) {
40532
- return /* @__PURE__ */ jsx(React22.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40454
+ return /* @__PURE__ */ jsx(React23.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40533
40455
  }
40534
40456
  return /* @__PURE__ */ jsx(
40535
40457
  Pressable,
@@ -40546,7 +40468,7 @@ function ArticleTocSidebarComponent({
40546
40468
  }) })
40547
40469
  ] });
40548
40470
  }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
40549
- const ctaContent = React22.useMemo(() => {
40471
+ const ctaContent = React23.useMemo(() => {
40550
40472
  if (ctaSlot) return ctaSlot;
40551
40473
  if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0)) return null;
40552
40474
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", getNestedCardBg(background, "subtle"), getNestedCardTextColor(background), ctaClassName), children: [
@@ -40635,11 +40557,11 @@ function ArticleBreadcrumbSocialComponent({
40635
40557
  patternOpacity
40636
40558
  }) {
40637
40559
  const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
40638
- const [activeSection, setActiveSection] = React22.useState(
40560
+ const [activeSection, setActiveSection] = React23.useState(
40639
40561
  sections?.[0]?.id || ""
40640
40562
  );
40641
- const [showBackToTop, setShowBackToTop] = React22.useState(false);
40642
- React22.useEffect(() => {
40563
+ const [showBackToTop, setShowBackToTop] = React23.useState(false);
40564
+ React23.useEffect(() => {
40643
40565
  if (!enableTocTracking || !sections || sections.length === 0) return;
40644
40566
  const observer = new IntersectionObserver(
40645
40567
  (entries) => {
@@ -40657,7 +40579,7 @@ function ArticleBreadcrumbSocialComponent({
40657
40579
  });
40658
40580
  return () => observer.disconnect();
40659
40581
  }, [sections, enableTocTracking]);
40660
- React22.useEffect(() => {
40582
+ React23.useEffect(() => {
40661
40583
  if (!enableBackToTop) return;
40662
40584
  const handleScroll = () => {
40663
40585
  setShowBackToTop(window.scrollY > 400);
@@ -40665,15 +40587,15 @@ function ArticleBreadcrumbSocialComponent({
40665
40587
  window.addEventListener("scroll", handleScroll);
40666
40588
  return () => window.removeEventListener("scroll", handleScroll);
40667
40589
  }, [enableBackToTop]);
40668
- const scrollToTop = React22.useCallback(() => {
40590
+ const scrollToTop = React23.useCallback(() => {
40669
40591
  window.scrollTo({ top: 0, behavior: "smooth" });
40670
40592
  }, []);
40671
- const breadcrumbsContent = React22.useMemo(() => {
40593
+ const breadcrumbsContent = React23.useMemo(() => {
40672
40594
  if (breadcrumbsSlot) return breadcrumbsSlot;
40673
40595
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
40674
40596
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
40675
40597
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
40676
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
40598
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
40677
40599
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
40678
40600
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
40679
40601
  ] }, index)),
@@ -40683,7 +40605,7 @@ function ArticleBreadcrumbSocialComponent({
40683
40605
  ] })
40684
40606
  ] }) });
40685
40607
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
40686
- const authorContent = React22.useMemo(() => {
40608
+ const authorContent = React23.useMemo(() => {
40687
40609
  if (authorSlot) return authorSlot;
40688
40610
  if (!author) return null;
40689
40611
  return /* @__PURE__ */ jsxs(
@@ -40706,7 +40628,7 @@ function ArticleBreadcrumbSocialComponent({
40706
40628
  }
40707
40629
  );
40708
40630
  }, [authorSlot, author, publishDate, readTime, authorClassName]);
40709
- const heroMediaContent = React22.useMemo(() => {
40631
+ const heroMediaContent = React23.useMemo(() => {
40710
40632
  if (heroMediaSlot) return heroMediaSlot;
40711
40633
  if (!heroImageSrc) return null;
40712
40634
  return /* @__PURE__ */ jsx(
@@ -40728,7 +40650,7 @@ function ArticleBreadcrumbSocialComponent({
40728
40650
  heroImageClassName,
40729
40651
  optixFlowConfig
40730
40652
  ]);
40731
- const tocContent = React22.useMemo(() => {
40653
+ const tocContent = React23.useMemo(() => {
40732
40654
  if (tocSlot) return tocSlot;
40733
40655
  if (!sections || sections.length === 0) return null;
40734
40656
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -40736,7 +40658,7 @@ function ArticleBreadcrumbSocialComponent({
40736
40658
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
40737
40659
  const isActive = activeSection === section.id;
40738
40660
  if (renderSectionLink) {
40739
- return /* @__PURE__ */ jsx(React22.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40661
+ return /* @__PURE__ */ jsx(React23.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40740
40662
  }
40741
40663
  return /* @__PURE__ */ jsx(
40742
40664
  Pressable,
@@ -40841,11 +40763,11 @@ function ArticleCompactTocComponent({
40841
40763
  pattern,
40842
40764
  patternOpacity
40843
40765
  }) {
40844
- const [activeSection, setActiveSection] = React22.useState(
40766
+ const [activeSection, setActiveSection] = React23.useState(
40845
40767
  sections?.[0]?.id || ""
40846
40768
  );
40847
- const [isTocOpen, setIsTocOpen] = React22.useState(false);
40848
- React22.useEffect(() => {
40769
+ const [isTocOpen, setIsTocOpen] = React23.useState(false);
40770
+ React23.useEffect(() => {
40849
40771
  if (!enableTocTracking) return;
40850
40772
  const observer = new IntersectionObserver(
40851
40773
  (entries) => {
@@ -40863,12 +40785,12 @@ function ArticleCompactTocComponent({
40863
40785
  });
40864
40786
  return () => observer.disconnect();
40865
40787
  }, [sections, enableTocTracking]);
40866
- const breadcrumbsContent = React22.useMemo(() => {
40788
+ const breadcrumbsContent = React23.useMemo(() => {
40867
40789
  if (breadcrumbsSlot) return breadcrumbsSlot;
40868
40790
  if (!breadcrumbs && !currentPage) return null;
40869
40791
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-6 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
40870
40792
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
40871
- breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
40793
+ breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
40872
40794
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
40873
40795
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
40874
40796
  ] }, index)),
@@ -40876,7 +40798,7 @@ function ArticleCompactTocComponent({
40876
40798
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: currentPage }) })
40877
40799
  ] }) });
40878
40800
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
40879
- const shareContent = React22.useMemo(() => {
40801
+ const shareContent = React23.useMemo(() => {
40880
40802
  if (shareSlot) return shareSlot;
40881
40803
  if (!socialLinks || socialLinks.length === 0) return null;
40882
40804
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-2", shareClassName), children: [
@@ -40893,13 +40815,13 @@ function ArticleCompactTocComponent({
40893
40815
  ))
40894
40816
  ] });
40895
40817
  }, [shareSlot, socialLinks, shareClassName]);
40896
- const renderTocLinks = React22.useCallback(
40818
+ const renderTocLinks = React23.useCallback(
40897
40819
  (onLinkClick) => {
40898
40820
  if (!sections) return null;
40899
40821
  return sections.map((section) => {
40900
40822
  const isActive = activeSection === section.id;
40901
40823
  if (renderSectionLink) {
40902
- return /* @__PURE__ */ jsx(React22.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40824
+ return /* @__PURE__ */ jsx(React23.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
40903
40825
  }
40904
40826
  return /* @__PURE__ */ jsx(
40905
40827
  Pressable,
@@ -40918,7 +40840,7 @@ function ArticleCompactTocComponent({
40918
40840
  },
40919
40841
  [sections, activeSection, renderSectionLink]
40920
40842
  );
40921
- const tocContent = React22.useMemo(() => {
40843
+ const tocContent = React23.useMemo(() => {
40922
40844
  if (tocSlot) return tocSlot;
40923
40845
  if (!sections || sections.length === 0) return null;
40924
40846
  return /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: /* @__PURE__ */ jsxs(Popover, { open: isTocOpen, onOpenChange: setIsTocOpen, children: [
@@ -40951,7 +40873,7 @@ function ArticleCompactTocComponent({
40951
40873
  )
40952
40874
  ] }) });
40953
40875
  }, [tocSlot, sections, isTocOpen, tocClassName, renderTocLinks]);
40954
- const desktopTocContent = React22.useMemo(() => {
40876
+ const desktopTocContent = React23.useMemo(() => {
40955
40877
  if (tocSlot) return null;
40956
40878
  if (!sections || sections.length === 0) return null;
40957
40879
  return /* @__PURE__ */ jsx(
@@ -40968,7 +40890,7 @@ function ArticleCompactTocComponent({
40968
40890
  }
40969
40891
  );
40970
40892
  }, [tocSlot, sections, tocClassName, renderTocLinks]);
40971
- const heroMediaContent = React22.useMemo(() => {
40893
+ const heroMediaContent = React23.useMemo(() => {
40972
40894
  if (heroMediaSlot) return heroMediaSlot;
40973
40895
  if (!heroImageSrc) return null;
40974
40896
  return /* @__PURE__ */ jsx(
@@ -41098,10 +41020,10 @@ function ArticleChaptersAuthorComponent({
41098
41020
  variant: "default"
41099
41021
  }
41100
41022
  ] : []);
41101
- const [activeChapter, setActiveChapter] = React22.useState(
41023
+ const [activeChapter, setActiveChapter] = React23.useState(
41102
41024
  chapters?.[0]?.id || ""
41103
41025
  );
41104
- React22.useEffect(() => {
41026
+ React23.useEffect(() => {
41105
41027
  if (!enableChapterTracking || !chapters || chapters.length === 0) return;
41106
41028
  const observer = new IntersectionObserver(
41107
41029
  (entries) => {
@@ -41119,12 +41041,12 @@ function ArticleChaptersAuthorComponent({
41119
41041
  });
41120
41042
  return () => observer.disconnect();
41121
41043
  }, [chapters, enableChapterTracking]);
41122
- const breadcrumbsContent = React22.useMemo(() => {
41044
+ const breadcrumbsContent = React23.useMemo(() => {
41123
41045
  if (breadcrumbsSlot) return breadcrumbsSlot;
41124
41046
  if (!breadcrumbs || breadcrumbs.length === 0) return null;
41125
41047
  return /* @__PURE__ */ jsx(Breadcrumb, { className: cn("mb-8 md:mb-20", breadcrumbClassName), children: /* @__PURE__ */ jsxs(BreadcrumbList, { children: [
41126
41048
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: "#", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/home", size: 16 }) }) }) }),
41127
- breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
41049
+ breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
41128
41050
  /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
41129
41051
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsx(Pressable, { href: crumb.href, children: crumb.label }) }) })
41130
41052
  ] }, index)),
@@ -41132,7 +41054,7 @@ function ArticleChaptersAuthorComponent({
41132
41054
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, { children: typeof currentPage === "string" ? currentPage : currentPage }) })
41133
41055
  ] }) });
41134
41056
  }, [breadcrumbsSlot, breadcrumbs, currentPage, breadcrumbClassName]);
41135
- const chaptersNavContent = React22.useMemo(() => {
41057
+ const chaptersNavContent = React23.useMemo(() => {
41136
41058
  if (chaptersSlot) return chaptersSlot;
41137
41059
  if (!chapters || chapters.length === 0) return null;
41138
41060
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", chaptersClassName), children: [
@@ -41140,7 +41062,7 @@ function ArticleChaptersAuthorComponent({
41140
41062
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: chapters.map((chapter) => {
41141
41063
  const isActive = activeChapter === chapter.id;
41142
41064
  if (renderChapterLink) {
41143
- return /* @__PURE__ */ jsx(React22.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
41065
+ return /* @__PURE__ */ jsx(React23.Fragment, { children: renderChapterLink(chapter, isActive) }, chapter.id);
41144
41066
  }
41145
41067
  return /* @__PURE__ */ jsxs(
41146
41068
  Pressable,
@@ -41166,7 +41088,7 @@ function ArticleChaptersAuthorComponent({
41166
41088
  renderChapterLink,
41167
41089
  chaptersClassName
41168
41090
  ]);
41169
- const authorCardContent = React22.useMemo(() => {
41091
+ const authorCardContent = React23.useMemo(() => {
41170
41092
  if (authorSlot) return authorSlot;
41171
41093
  if (!author) return null;
41172
41094
  let socialLinksContent = null;
@@ -41227,7 +41149,7 @@ function ArticleChaptersAuthorComponent({
41227
41149
  socialLinksContent
41228
41150
  ] });
41229
41151
  }, [authorSlot, author, authorClassName]);
41230
- const heroMediaContent = React22.useMemo(() => {
41152
+ const heroMediaContent = React23.useMemo(() => {
41231
41153
  if (heroMediaSlot) return heroMediaSlot;
41232
41154
  if (!heroImageSrc) return null;
41233
41155
  return /* @__PURE__ */ jsx(
@@ -41249,7 +41171,7 @@ function ArticleChaptersAuthorComponent({
41249
41171
  heroImageClassName,
41250
41172
  optixFlowConfig
41251
41173
  ]);
41252
- const conclusionContent = React22.useMemo(() => {
41174
+ const conclusionContent = React23.useMemo(() => {
41253
41175
  if (conclusionSlot) return conclusionSlot;
41254
41176
  if (!conclusionTitle && !conclusionDescription && (!conclusionActions || conclusionActions.length === 0))
41255
41177
  return null;
@@ -41394,7 +41316,7 @@ function ArticleSplitAnimatedComponent({
41394
41316
  }) {
41395
41317
  const ctaActions = ctaActionsProp ?? (ctaText ? [{ label: ctaText, href: ctaHref || "#", variant: "default", size: "lg" }] : []);
41396
41318
  const MotionWrapper = enableAnimations ? motion.div : "div";
41397
- const categoryContent = React22.useMemo(() => {
41319
+ const categoryContent = React23.useMemo(() => {
41398
41320
  if (categorySlot) return categorySlot;
41399
41321
  if (!category) return null;
41400
41322
  return /* @__PURE__ */ jsx(
@@ -41409,7 +41331,7 @@ function ArticleSplitAnimatedComponent({
41409
41331
  }
41410
41332
  );
41411
41333
  }, [categorySlot, category, categoryHref, categoryClassName]);
41412
- const heroMediaContent = React22.useMemo(() => {
41334
+ const heroMediaContent = React23.useMemo(() => {
41413
41335
  if (heroMediaSlot) return heroMediaSlot;
41414
41336
  if (!image) return null;
41415
41337
  return /* @__PURE__ */ jsx(
@@ -41422,7 +41344,7 @@ function ArticleSplitAnimatedComponent({
41422
41344
  }
41423
41345
  );
41424
41346
  }, [heroMediaSlot, image, imageAlt, title, optixFlowConfig]);
41425
- const authorContent = React22.useMemo(() => {
41347
+ const authorContent = React23.useMemo(() => {
41426
41348
  if (authorSlot) return authorSlot;
41427
41349
  if (!authorName) return null;
41428
41350
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-8 flex items-center gap-4", authorClassName), children: [
@@ -41436,7 +41358,7 @@ function ArticleSplitAnimatedComponent({
41436
41358
  ] })
41437
41359
  ] });
41438
41360
  }, [authorSlot, authorName, authorImage, authorHref, authorRole, authorClassName]);
41439
- const ctaContent = React22.useMemo(() => {
41361
+ const ctaContent = React23.useMemo(() => {
41440
41362
  if (ctaSlot) return ctaSlot;
41441
41363
  if (!ctaActions || ctaActions.length === 0) return null;
41442
41364
  return /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex flex-wrap gap-3", ctaClassName), children: ctaActions.map((action, index) => {
@@ -42859,7 +42781,7 @@ function FaqSidebarNavigation({
42859
42781
  accordionTriggerClassName,
42860
42782
  accordionContentClassName
42861
42783
  }) {
42862
- const [activeCategory, setActiveCategory] = React22.useState(
42784
+ const [activeCategory, setActiveCategory] = React23.useState(
42863
42785
  categories && categories.length > 1 ? "all" : categories?.[0]?.id || ""
42864
42786
  );
42865
42787
  const filteredCategories = useMemo(() => {
@@ -43748,7 +43670,7 @@ function FaqSplitHero({
43748
43670
  imageArea
43749
43671
  ] }) });
43750
43672
  }
43751
- var Controls = React22.memo(
43673
+ var Controls = React23.memo(
43752
43674
  ({
43753
43675
  handleNext,
43754
43676
  handlePrevious,
@@ -43779,7 +43701,7 @@ var Controls = React22.memo(
43779
43701
  ] });
43780
43702
  }
43781
43703
  );
43782
- var FeatureCard = React22.memo(
43704
+ var FeatureCard = React23.memo(
43783
43705
  ({ feature, isActive, onClick }) => {
43784
43706
  const variants2 = useMemo(
43785
43707
  () => ({
@@ -43887,7 +43809,7 @@ var FeatureCard = React22.memo(
43887
43809
  ) });
43888
43810
  }
43889
43811
  );
43890
- var FeaturesDesktop = React22.memo(
43812
+ var FeaturesDesktop = React23.memo(
43891
43813
  ({
43892
43814
  features,
43893
43815
  handleNext,
@@ -43921,7 +43843,7 @@ var FeaturesDesktop = React22.memo(
43921
43843
  ] });
43922
43844
  }
43923
43845
  );
43924
- var FeaturesMobile = React22.memo(
43846
+ var FeaturesMobile = React23.memo(
43925
43847
  ({
43926
43848
  features,
43927
43849
  handleNext,
@@ -44012,8 +43934,8 @@ function FeatureAnimatedCarousel({
44012
43934
  spacing = "py-12 md:py-32",
44013
43935
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8"
44014
43936
  }) {
44015
- const [activeIndex, setActiveIndex] = React22.useState(0);
44016
- const [direction, setDirection] = React22.useState(1);
43937
+ const [activeIndex, setActiveIndex] = React23.useState(0);
43938
+ const [direction, setDirection] = React23.useState(1);
44017
43939
  const handleNext = useCallback(() => {
44018
43940
  if (features && activeIndex < features.length - 1) {
44019
43941
  setDirection(1);
@@ -44875,7 +44797,7 @@ function FooterInfoCardsAccordion({
44875
44797
  patternOpacity,
44876
44798
  optixFlowConfig
44877
44799
  }) {
44878
- const [email, setEmail] = React22.useState("");
44800
+ const [email, setEmail] = React23.useState("");
44879
44801
  (/* @__PURE__ */ new Date()).getFullYear();
44880
44802
  const handleSubmit = (e) => {
44881
44803
  e.preventDefault();
@@ -45180,13 +45102,13 @@ function CaseStudiesImageGrid({
45180
45102
  patternOpacity,
45181
45103
  optixFlowConfig
45182
45104
  }) {
45183
- const getGridClass = React22.useCallback((index) => {
45105
+ const getGridClass = React23.useCallback((index) => {
45184
45106
  if (index === 0 || index === 4) {
45185
45107
  return "row-span-2 aspect-square lg:aspect-auto";
45186
45108
  }
45187
45109
  return "aspect-3/2 md:aspect-2/1";
45188
45110
  }, []);
45189
- const renderedItems = React22.useMemo(() => {
45111
+ const renderedItems = React23.useMemo(() => {
45190
45112
  if (itemsSlot) return itemsSlot;
45191
45113
  if (!items || items.length === 0) return null;
45192
45114
  return items.map((item, index) => /* @__PURE__ */ jsxs(
@@ -45272,7 +45194,7 @@ function CaseStudiesTestimonialStats({
45272
45194
  patternOpacity,
45273
45195
  optixFlowConfig
45274
45196
  }) {
45275
- const renderedTestimonials = React22.useMemo(() => {
45197
+ const renderedTestimonials = React23.useMemo(() => {
45276
45198
  if (testimonialsSlot) return testimonialsSlot;
45277
45199
  if (!testimonials || testimonials.length === 0) return null;
45278
45200
  return testimonials.map((testimonial, index) => /* @__PURE__ */ jsxs("div", { className: testimonialItemClassName, children: [
@@ -48745,7 +48667,7 @@ function CaseStudiesFeaturedBorder({
48745
48667
  patternOpacity,
48746
48668
  optixFlowConfig
48747
48669
  }) {
48748
- const renderedFeatured = React22.useMemo(() => {
48670
+ const renderedFeatured = React23.useMemo(() => {
48749
48671
  if (featuredSlot) return featuredSlot;
48750
48672
  if (!featuredCaseStudy) return null;
48751
48673
  return /* @__PURE__ */ jsxs(
@@ -48819,7 +48741,7 @@ function CaseStudiesFeaturedBorder({
48819
48741
  featuredImageClassName,
48820
48742
  optixFlowConfig
48821
48743
  ]);
48822
- const renderedCaseStudies = React22.useMemo(() => {
48744
+ const renderedCaseStudies = React23.useMemo(() => {
48823
48745
  if (caseStudiesSlot) return caseStudiesSlot;
48824
48746
  if (!caseStudies || caseStudies.length === 0) return null;
48825
48747
  return caseStudies.map((item, idx) => /* @__PURE__ */ jsxs(
@@ -48928,7 +48850,7 @@ function CaseStudiesStatsCard({
48928
48850
  patternOpacity,
48929
48851
  optixFlowConfig
48930
48852
  }) {
48931
- const renderedStats = React22.useMemo(() => {
48853
+ const renderedStats = React23.useMemo(() => {
48932
48854
  if (statsSlot) return statsSlot;
48933
48855
  if (!stats || stats.length === 0) return null;
48934
48856
  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: [
@@ -48936,7 +48858,7 @@ function CaseStudiesStatsCard({
48936
48858
  /* @__PURE__ */ jsx("div", { className: "text-sm font-medium text-muted-foreground", children: item.text })
48937
48859
  ] }, `stats-${i}`)) });
48938
48860
  }, [statsSlot, stats, statsClassName]);
48939
- const renderedAuthor = React22.useMemo(() => {
48861
+ const renderedAuthor = React23.useMemo(() => {
48940
48862
  if (authorSlot) return authorSlot;
48941
48863
  if (!author) return null;
48942
48864
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2.5", authorClassName), children: [
@@ -48950,7 +48872,7 @@ function CaseStudiesStatsCard({
48950
48872
  ] })
48951
48873
  ] });
48952
48874
  }, [authorSlot, author, authorClassName]);
48953
- const renderedActions = React22.useMemo(() => {
48875
+ const renderedActions = React23.useMemo(() => {
48954
48876
  if (actionsSlot) return actionsSlot;
48955
48877
  if (!actions || actions.length === 0) return null;
48956
48878
  return /* @__PURE__ */ jsx("div", { className: cn("shrink-0", actionsClassName), children: actions.map((action, index) => {
@@ -55936,7 +55858,7 @@ function HeroHiringAnimatedText({
55936
55858
  }
55937
55859
  );
55938
55860
  }
55939
- var DEFAULT_FORM_FIELDS41 = [
55861
+ var DEFAULT_FORM_FIELDS42 = [
55940
55862
  {
55941
55863
  name: "email",
55942
55864
  type: "email",
@@ -55949,7 +55871,7 @@ var DEFAULT_FORM_FIELDS41 = [
55949
55871
  function HeroSplitImageNewsletter({
55950
55872
  heading,
55951
55873
  description,
55952
- formFields = DEFAULT_FORM_FIELDS41,
55874
+ formFields = DEFAULT_FORM_FIELDS42,
55953
55875
  formConfig,
55954
55876
  onSubmit,
55955
55877
  onSuccess,
@@ -55991,8 +55913,9 @@ function HeroSplitImageNewsletter({
55991
55913
  onError,
55992
55914
  uploadTokens
55993
55915
  });
55994
- const renderForm = React22.useMemo(() => {
55916
+ const renderForm = React23.useMemo(() => {
55995
55917
  if (formSlot) return formSlot;
55918
+ if (!formFields || formFields.length === 0) return null;
55996
55919
  const defaultButtonAction = {
55997
55920
  label: "Subscribe",
55998
55921
  variant: "default",
@@ -56069,7 +55992,7 @@ function HeroSplitImageNewsletter({
56069
55992
  resetUpload,
56070
55993
  resetSubmissionState
56071
55994
  ]);
56072
- const renderImage = React22.useMemo(() => {
55995
+ const renderImage = React23.useMemo(() => {
56073
55996
  if (imageSlot) return imageSlot;
56074
55997
  if (!image) return null;
56075
55998
  return /* @__PURE__ */ jsx("div", { className: "relative lg:w-1/2", children: /* @__PURE__ */ jsx(
@@ -57439,7 +57362,7 @@ function HeroProductShowcaseFloating({
57439
57362
  }
57440
57363
  );
57441
57364
  }
57442
- var DEFAULT_FORM_FIELDS42 = [
57365
+ var DEFAULT_FORM_FIELDS43 = [
57443
57366
  {
57444
57367
  name: "email",
57445
57368
  type: "email",
@@ -57455,7 +57378,7 @@ function HeroSaasDashboardPreview({
57455
57378
  badgeSlot,
57456
57379
  heading,
57457
57380
  description,
57458
- formFields = DEFAULT_FORM_FIELDS42,
57381
+ formFields = DEFAULT_FORM_FIELDS43,
57459
57382
  formConfig,
57460
57383
  onSubmit,
57461
57384
  onSuccess,
@@ -57497,7 +57420,7 @@ function HeroSaasDashboardPreview({
57497
57420
  onError,
57498
57421
  uploadTokens
57499
57422
  });
57500
- const renderBadge = React22.useMemo(() => {
57423
+ const renderBadge = React23.useMemo(() => {
57501
57424
  if (badgeSlot) return badgeSlot;
57502
57425
  return /* @__PURE__ */ jsxs(
57503
57426
  "div",
@@ -57512,7 +57435,7 @@ function HeroSaasDashboardPreview({
57512
57435
  }
57513
57436
  );
57514
57437
  }, [badgeSlot, badgeIcon, badgeText]);
57515
- const renderForm = React22.useMemo(() => {
57438
+ const renderForm = React23.useMemo(() => {
57516
57439
  if (formSlot) return formSlot;
57517
57440
  const defaultButtonAction = {
57518
57441
  label: "Start Free Trial",
@@ -57520,7 +57443,7 @@ function HeroSaasDashboardPreview({
57520
57443
  className: "h-12"
57521
57444
  };
57522
57445
  const action = buttonAction || defaultButtonAction;
57523
- return /* @__PURE__ */ jsxs(
57446
+ return /* @__PURE__ */ jsx("div", { className: "mt-12 w-full flex items-center justify-center", children: /* @__PURE__ */ jsxs(
57524
57447
  Form,
57525
57448
  {
57526
57449
  form,
@@ -57543,7 +57466,7 @@ function HeroSaasDashboardPreview({
57543
57466
  resetSubmissionState();
57544
57467
  },
57545
57468
  children: [
57546
- /* @__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: [
57469
+ /* @__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: [
57547
57470
  formFields.map((field) => /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
57548
57471
  DynamicFormField,
57549
57472
  {
@@ -57569,7 +57492,7 @@ function HeroSaasDashboardPreview({
57569
57492
  helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm text-center mt-4"), children: helperText }) : helperText)
57570
57493
  ]
57571
57494
  }
57572
- );
57495
+ ) });
57573
57496
  }, [
57574
57497
  formSlot,
57575
57498
  formFields,
@@ -57587,7 +57510,7 @@ function HeroSaasDashboardPreview({
57587
57510
  resetUpload,
57588
57511
  resetSubmissionState
57589
57512
  ]);
57590
- const renderBrowserPreview = React22.useMemo(() => {
57513
+ const renderBrowserPreview = React23.useMemo(() => {
57591
57514
  if (browserPreviewSlot) return browserPreviewSlot;
57592
57515
  if (!browserPreview) return null;
57593
57516
  return /* @__PURE__ */ jsxs("div", { className: cn("relative mt-20", previewClassName), children: [
@@ -57639,39 +57562,39 @@ function HeroSaasDashboardPreview({
57639
57562
  className: cn(className),
57640
57563
  containerClassName,
57641
57564
  children: /* @__PURE__ */ jsxs("div", { className: "pt-10 md:pt-0", children: [
57642
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center", headerClassName), children: [
57643
- renderBadge,
57644
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
57645
- "h1",
57646
- {
57647
- className: cn(
57648
- "mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
57649
- headingClassName
57650
- ),
57651
- children: heading
57652
- }
57653
- ) : /* @__PURE__ */ jsx(
57654
- "h1",
57655
- {
57656
- className: cn(
57657
- "mt-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
57658
- headingClassName
57659
- ),
57660
- children: heading
57661
- }
57662
- )),
57663
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
57664
- "p",
57665
- {
57666
- className: cn(
57667
- "mt-6 text-lg md:text-xl text-balance",
57668
- descriptionClassName
57669
- ),
57670
- children: description
57671
- }
57672
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
57673
- renderForm
57674
- ] }),
57565
+ /* @__PURE__ */ jsxs(
57566
+ "div",
57567
+ {
57568
+ className: cn(
57569
+ "mmx-auto text-center flex flex-col items-center gap-6 md:gap-8 max-w-full md:max-w-md",
57570
+ headerClassName
57571
+ ),
57572
+ children: [
57573
+ renderBadge,
57574
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
57575
+ "h1",
57576
+ {
57577
+ className: cn(
57578
+ "text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl text-balance",
57579
+ headingClassName
57580
+ ),
57581
+ children: heading
57582
+ }
57583
+ ) : heading),
57584
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
57585
+ "p",
57586
+ {
57587
+ className: cn(
57588
+ "text-lg md:text-xl text-balance",
57589
+ descriptionClassName
57590
+ ),
57591
+ children: description
57592
+ }
57593
+ ) : description),
57594
+ renderForm
57595
+ ]
57596
+ }
57597
+ ),
57675
57598
  renderBrowserPreview
57676
57599
  ] })
57677
57600
  }
@@ -59838,7 +59761,7 @@ function HeroEcommerceProductShowcase({
59838
59761
  "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12",
59839
59762
  statsClassName
59840
59763
  ),
59841
- children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
59764
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
59842
59765
  index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
59843
59766
  /* @__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: [
59844
59767
  /* @__PURE__ */ jsxs(
@@ -60244,7 +60167,7 @@ function HeroPricingComparison({
60244
60167
  }
60245
60168
  );
60246
60169
  }
60247
- var DEFAULT_FORM_FIELDS43 = [
60170
+ var DEFAULT_FORM_FIELDS44 = [
60248
60171
  {
60249
60172
  name: "email",
60250
60173
  type: "email",
@@ -60257,7 +60180,7 @@ var DEFAULT_FORM_FIELDS43 = [
60257
60180
  function HeroNewsletterMinimal({
60258
60181
  heading,
60259
60182
  description,
60260
- formFields = DEFAULT_FORM_FIELDS43,
60183
+ formFields = DEFAULT_FORM_FIELDS44,
60261
60184
  formConfig,
60262
60185
  onSubmit,
60263
60186
  onSuccess,
@@ -60290,18 +60213,7 @@ function HeroNewsletterMinimal({
60290
60213
  removeFile,
60291
60214
  resetUpload
60292
60215
  } = useFileUpload({ onError });
60293
- const { form, submissionError, formMethod, resetSubmissionState } = useContactForm({
60294
- formFields,
60295
- formConfig,
60296
- onSubmit,
60297
- onSuccess: (data) => {
60298
- resetUpload();
60299
- onSuccess?.(data);
60300
- },
60301
- onError,
60302
- uploadTokens
60303
- });
60304
- const renderStats = React22.useMemo(() => {
60216
+ const renderStats = React23.useMemo(() => {
60305
60217
  if (statsSlot) return statsSlot;
60306
60218
  if (!stats || stats.length === 0) return null;
60307
60219
  return stats.map((stat, index) => /* @__PURE__ */ jsx("div", { className: cn("flex items-center", stat.className), children: /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
@@ -60327,81 +60239,62 @@ function HeroNewsletterMinimal({
60327
60239
  /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
60328
60240
  ] }) }, index));
60329
60241
  }, [statsSlot, stats]);
60330
- const renderForm = React22.useMemo(() => {
60242
+ const renderForm = React23.useMemo(() => {
60331
60243
  if (formSlot) return formSlot;
60332
60244
  const defaultButtonAction = {
60333
60245
  label: "Subscribe",
60334
- variant: "default",
60335
- className: "h-12"
60246
+ variant: "default"
60336
60247
  };
60337
60248
  const action = buttonAction || defaultButtonAction;
60338
- return /* @__PURE__ */ jsxs(
60339
- Form,
60340
- {
60341
- form,
60342
- fields: formFields,
60343
- notificationConfig: {
60344
- submissionError,
60345
- successMessage
60346
- },
60347
- formConfig: {
60348
- endpoint: formConfig?.endpoint,
60349
- method: formMethod,
60350
- submissionConfig: formConfig?.submissionConfig,
60351
- formLayout: "button-group",
60352
- buttonGroupSize: "lg",
60353
- submitLabel: action.label,
60354
- submitVariant: action.variant || "default"
60355
- },
60356
- onNewSubmission: () => {
60357
- resetUpload();
60358
- resetSubmissionState();
60359
- },
60360
- children: [
60361
- formFields.map((field) => /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
60362
- DynamicFormField,
60363
- {
60364
- field,
60365
- uploadProgress,
60366
- onFileUpload: uploadFiles,
60367
- onFileRemove: removeFile,
60368
- isUploading
60369
- }
60370
- ) }, field.name)),
60371
- /* @__PURE__ */ jsxs(
60372
- Pressable,
60373
- {
60374
- onClick: form.handleSubmit,
60375
- asButton: true,
60376
- variant: action.variant,
60377
- className: cn("h-12", action.className),
60378
- disabled: form.isSubmitting,
60379
- children: [
60249
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
60250
+ /* @__PURE__ */ jsx(
60251
+ FormEngine,
60252
+ {
60253
+ api: formConfig,
60254
+ fields: formFields,
60255
+ formLayoutSettings: {
60256
+ formLayout: "button-group",
60257
+ buttonGroupSetup: {
60258
+ size: "lg",
60259
+ submitLabel: /* @__PURE__ */ jsxs(Fragment$1, { children: [
60380
60260
  action.label,
60381
60261
  action.iconAfter
60382
- ]
60262
+ ] }),
60263
+ submitVariant: action.variant || "default"
60383
60264
  }
60384
- ),
60385
- helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2 text-center"), children: helperText }) : helperText)
60386
- ]
60387
- }
60388
- );
60265
+ },
60266
+ successMessage,
60267
+ onSubmit,
60268
+ onSuccess: (data) => {
60269
+ resetUpload();
60270
+ onSuccess?.(data);
60271
+ },
60272
+ onError,
60273
+ uploadTokens,
60274
+ uploadProgress,
60275
+ onFileUpload: uploadFiles,
60276
+ onFileRemove: removeFile,
60277
+ isUploading
60278
+ }
60279
+ ),
60280
+ helperText && (typeof helperText === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm mt-2 text-center"), children: helperText }) : helperText)
60281
+ ] });
60389
60282
  }, [
60390
60283
  formSlot,
60391
60284
  formFields,
60392
- form,
60393
60285
  formConfig,
60394
- formMethod,
60395
60286
  buttonAction,
60287
+ uploadTokens,
60396
60288
  uploadProgress,
60397
60289
  uploadFiles,
60398
60290
  removeFile,
60399
60291
  isUploading,
60400
- submissionError,
60401
60292
  successMessage,
60293
+ onSubmit,
60294
+ onSuccess,
60295
+ onError,
60402
60296
  helperText,
60403
- resetUpload,
60404
- resetSubmissionState
60297
+ resetUpload
60405
60298
  ]);
60406
60299
  return /* @__PURE__ */ jsx(
60407
60300
  Section,
@@ -60468,7 +60361,7 @@ function HeroNewsletterMinimal({
60468
60361
  }
60469
60362
  );
60470
60363
  }
60471
- var DEFAULT_FORM_FIELDS44 = [
60364
+ var DEFAULT_FORM_FIELDS45 = [
60472
60365
  {
60473
60366
  name: "email",
60474
60367
  type: "email",
@@ -60523,7 +60416,7 @@ function HeroComingSoonCountdown({
60523
60416
  description,
60524
60417
  countdownDate,
60525
60418
  countdownSlot,
60526
- formFields = DEFAULT_FORM_FIELDS44,
60419
+ formFields = DEFAULT_FORM_FIELDS45,
60527
60420
  formConfig,
60528
60421
  onSubmit,
60529
60422
  onSuccess,
@@ -60548,7 +60441,7 @@ function HeroComingSoonCountdown({
60548
60441
  formClassName,
60549
60442
  socialLinksClassName
60550
60443
  }) {
60551
- const [timeLeft, setTimeLeft] = React22.useState(null);
60444
+ const [timeLeft, setTimeLeft] = React23.useState(null);
60552
60445
  const {
60553
60446
  uploadTokens,
60554
60447
  uploadProgress,
@@ -60568,7 +60461,7 @@ function HeroComingSoonCountdown({
60568
60461
  onError,
60569
60462
  uploadTokens
60570
60463
  });
60571
- const calculateTimeLeft = React22.useCallback(() => {
60464
+ const calculateTimeLeft = React23.useCallback(() => {
60572
60465
  if (!countdownDate) return null;
60573
60466
  const now = Date.now();
60574
60467
  const target = countdownDate.getTime();
@@ -60581,7 +60474,7 @@ function HeroComingSoonCountdown({
60581
60474
  seconds: Math.floor(diff % (1e3 * 60) / 1e3)
60582
60475
  };
60583
60476
  }, [countdownDate]);
60584
- React22.useEffect(() => {
60477
+ React23.useEffect(() => {
60585
60478
  setTimeLeft(calculateTimeLeft());
60586
60479
  if (!countdownDate) return;
60587
60480
  const timer = setInterval(() => {
@@ -60592,7 +60485,7 @@ function HeroComingSoonCountdown({
60592
60485
  return () => clearInterval(timer);
60593
60486
  }, [countdownDate, calculateTimeLeft]);
60594
60487
  const showCountdown = countdownSlot || timeLeft;
60595
- const renderForm = React22.useMemo(() => {
60488
+ const renderForm = React23.useMemo(() => {
60596
60489
  if (formSlot) return formSlot;
60597
60490
  const defaultButtonAction = {
60598
60491
  label: "Notify Me",
@@ -60668,7 +60561,7 @@ function HeroComingSoonCountdown({
60668
60561
  resetUpload,
60669
60562
  resetSubmissionState
60670
60563
  ]);
60671
- const renderSocialLinks = React22.useMemo(() => {
60564
+ const renderSocialLinks = React23.useMemo(() => {
60672
60565
  if (socialLinksSlot) return socialLinksSlot;
60673
60566
  if (!socialLinks || socialLinks.length === 0) return null;
60674
60567
  return socialLinks.map((link, index) => /* @__PURE__ */ jsx(
@@ -60800,7 +60693,7 @@ function HeroEventRegistration({
60800
60693
  "flex flex-col md:flex-row items-center gap-4 md:gap-6 pt-8 md:pt-12 w-full md:w-fit",
60801
60694
  statsClassName
60802
60695
  ),
60803
- children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
60696
+ children: stats.map((stat, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
60804
60697
  index > 0 && /* @__PURE__ */ jsx("div", { className: "h-12 w-px bg-border hidden md:flex" }),
60805
60698
  /* @__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: [
60806
60699
  /* @__PURE__ */ jsxs(
@@ -61140,7 +61033,7 @@ function ComparisonTableTwoColumn({
61140
61033
  patternOpacity,
61141
61034
  optixFlowConfig
61142
61035
  }) {
61143
- const tableContent = React22.useMemo(() => {
61036
+ const tableContent = React23.useMemo(() => {
61144
61037
  if (tableSlot) return tableSlot;
61145
61038
  if (!rows || rows.length === 0) return null;
61146
61039
  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(
@@ -61170,7 +61063,7 @@ function ComparisonTableTwoColumn({
61170
61063
  optixFlowConfig
61171
61064
  }
61172
61065
  ) : optionBLabel && (typeof optionBLabel === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: optionBLabel }) : optionBLabel) }),
61173
- rows.map((row, idx) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
61066
+ rows.map((row, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
61174
61067
  /* @__PURE__ */ jsx("div", { className: "flex items-center border-b p-3 text-base font-medium md:p-4 md:text-lg", children: row.label }),
61175
61068
  /* @__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: [
61176
61069
  row.hasIcon && /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 20, className: "text-success" }),
@@ -61199,14 +61092,14 @@ function ComparisonTableTwoColumn({
61199
61092
  optionBLabel,
61200
61093
  optixFlowConfig
61201
61094
  ]);
61202
- const headingContent = React22.useMemo(() => {
61095
+ const headingContent = React23.useMemo(() => {
61203
61096
  if (!heading) return null;
61204
61097
  if (typeof heading === "string") {
61205
61098
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-8 text-3xl font-bold md:mb-12 md:text-5xl", headingClassName), children: heading });
61206
61099
  }
61207
61100
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61208
61101
  }, [heading, headingClassName]);
61209
- const descriptionContent = React22.useMemo(() => {
61102
+ const descriptionContent = React23.useMemo(() => {
61210
61103
  if (!description) return null;
61211
61104
  if (typeof description === "string") {
61212
61105
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61253,7 +61146,7 @@ function ComparisonFeatureCards({
61253
61146
  patternOpacity,
61254
61147
  optixFlowConfig
61255
61148
  }) {
61256
- const renderCard = React22.useCallback(
61149
+ const renderCard = React23.useCallback(
61257
61150
  (product, isHighlighted) => /* @__PURE__ */ jsxs(
61258
61151
  "div",
61259
61152
  {
@@ -61309,7 +61202,7 @@ function ComparisonFeatureCards({
61309
61202
  ),
61310
61203
  [cardClassName, optixFlowConfig]
61311
61204
  );
61312
- const cardsContent = React22.useMemo(() => {
61205
+ const cardsContent = React23.useMemo(() => {
61313
61206
  if (cardsSlot) return cardsSlot;
61314
61207
  if (!productA || !productB) return null;
61315
61208
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -61317,28 +61210,28 @@ function ComparisonFeatureCards({
61317
61210
  renderCard(productB, productB.highlighted ?? false)
61318
61211
  ] });
61319
61212
  }, [cardsSlot, productA, productB, renderCard]);
61320
- const headingContent = React22.useMemo(() => {
61213
+ const headingContent = React23.useMemo(() => {
61321
61214
  if (!heading) return null;
61322
61215
  if (typeof heading === "string") {
61323
61216
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-6 text-4xl font-semibold md:text-7xl", headingClassName), children: heading });
61324
61217
  }
61325
61218
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61326
61219
  }, [heading, headingClassName]);
61327
- const descriptionContent = React22.useMemo(() => {
61220
+ const descriptionContent = React23.useMemo(() => {
61328
61221
  if (!description) return null;
61329
61222
  if (typeof description === "string") {
61330
61223
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-4xl text-muted-foreground md:text-xl", descriptionClassName), children: description });
61331
61224
  }
61332
61225
  return /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description });
61333
61226
  }, [description, descriptionClassName]);
61334
- const suitabilityContent = React22.useMemo(() => {
61227
+ const suitabilityContent = React23.useMemo(() => {
61335
61228
  if (!suitabilityTitle && !suitabilityDescription) return null;
61336
61229
  return /* @__PURE__ */ jsxs("div", { className: suitabilityClassName, children: [
61337
61230
  suitabilityTitle && (typeof suitabilityTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: suitabilityTitle }) : suitabilityTitle),
61338
61231
  suitabilityDescription && (typeof suitabilityDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "leading-6 text-muted-foreground md:text-lg", children: suitabilityDescription }) : suitabilityDescription)
61339
61232
  ] });
61340
61233
  }, [suitabilityTitle, suitabilityDescription, suitabilityClassName]);
61341
- const differencesContent = React22.useMemo(() => {
61234
+ const differencesContent = React23.useMemo(() => {
61342
61235
  if (!differencesTitle && !differencesDescription) return null;
61343
61236
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-16", differencesClassName), children: [
61344
61237
  differencesTitle && (typeof differencesTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: differencesTitle }) : differencesTitle),
@@ -61386,7 +61279,7 @@ function ComparisonGridBadges({
61386
61279
  pattern,
61387
61280
  patternOpacity
61388
61281
  }) {
61389
- const featuresContent = React22.useMemo(() => {
61282
+ const featuresContent = React23.useMemo(() => {
61390
61283
  if (featuresSlot) return featuresSlot;
61391
61284
  if (!features || features.length === 0) return null;
61392
61285
  return features.map((feature, idx) => /* @__PURE__ */ jsxs(
@@ -61433,14 +61326,14 @@ function ComparisonGridBadges({
61433
61326
  idx
61434
61327
  ));
61435
61328
  }, [featuresSlot, features, featureCardClassName, badgeClassName, optionALabel, optionBLabel]);
61436
- const headingContent = React22.useMemo(() => {
61329
+ const headingContent = React23.useMemo(() => {
61437
61330
  if (!heading) return null;
61438
61331
  if (typeof heading === "string") {
61439
61332
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-3xl font-bold md:text-5xl", headingClassName), children: heading });
61440
61333
  }
61441
61334
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61442
61335
  }, [heading, headingClassName]);
61443
- const descriptionContent = React22.useMemo(() => {
61336
+ const descriptionContent = React23.useMemo(() => {
61444
61337
  if (!description) return null;
61445
61338
  if (typeof description === "string") {
61446
61339
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-2xl text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61488,7 +61381,7 @@ function ComparisonMetricsRows({
61488
61381
  pattern,
61489
61382
  patternOpacity
61490
61383
  }) {
61491
- const metricsContent = React22.useMemo(() => {
61384
+ const metricsContent = React23.useMemo(() => {
61492
61385
  if (metricsSlot) return metricsSlot;
61493
61386
  if (!metrics || metrics.length === 0) return null;
61494
61387
  return /* @__PURE__ */ jsx(
@@ -61528,7 +61421,7 @@ function ComparisonMetricsRows({
61528
61421
  }
61529
61422
  );
61530
61423
  }, [metricsSlot, metrics, metricsClassName, metricRowClassName]);
61531
- const actionsContent = React22.useMemo(() => {
61424
+ const actionsContent = React23.useMemo(() => {
61532
61425
  if (actionsSlot) return actionsSlot;
61533
61426
  if (!actions || actions.length === 0) return null;
61534
61427
  return /* @__PURE__ */ jsx("div", { className: cn("flex justify-end", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxs(
@@ -61549,7 +61442,7 @@ function ComparisonMetricsRows({
61549
61442
  idx
61550
61443
  )) });
61551
61444
  }, [actionsSlot, actions, actionsClassName]);
61552
- const headingContent = React22.useMemo(() => {
61445
+ const headingContent = React23.useMemo(() => {
61553
61446
  if (!heading) return null;
61554
61447
  if (typeof heading === "string") {
61555
61448
  return /* @__PURE__ */ jsx(
@@ -61565,7 +61458,7 @@ function ComparisonMetricsRows({
61565
61458
  }
61566
61459
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61567
61460
  }, [heading, headingClassName]);
61568
- const descriptionContent = React22.useMemo(() => {
61461
+ const descriptionContent = React23.useMemo(() => {
61569
61462
  if (!description) return null;
61570
61463
  if (typeof description === "string") {
61571
61464
  return /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61628,7 +61521,7 @@ function ComparisonImageCards({
61628
61521
  patternOpacity,
61629
61522
  optixFlowConfig
61630
61523
  }) {
61631
- const renderCard = React22.useCallback(
61524
+ const renderCard = React23.useCallback(
61632
61525
  (option) => /* @__PURE__ */ jsx("div", { className: cn("relative h-full", cardClassName), children: /* @__PURE__ */ jsxs("div", { className: cn(
61633
61526
  "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]",
61634
61527
  getNestedCardBg(background, "accent"),
@@ -61652,7 +61545,7 @@ function ComparisonImageCards({
61652
61545
  ] }) }),
61653
61546
  [cardClassName, optixFlowConfig]
61654
61547
  );
61655
- const cardsContent = React22.useMemo(() => {
61548
+ const cardsContent = React23.useMemo(() => {
61656
61549
  if (cardsSlot) return cardsSlot;
61657
61550
  if (!optionA || !optionB) return null;
61658
61551
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -61670,14 +61563,14 @@ function ComparisonImageCards({
61670
61563
  )
61671
61564
  ] });
61672
61565
  }, [cardsSlot, optionA, optionB, dividerText, dividerClassName, renderCard]);
61673
- const headingContent = React22.useMemo(() => {
61566
+ const headingContent = React23.useMemo(() => {
61674
61567
  if (!heading) return null;
61675
61568
  if (typeof heading === "string") {
61676
61569
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium sm:text-4xl md:text-5xl lg:text-6xl", headingClassName), children: heading });
61677
61570
  }
61678
61571
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61679
61572
  }, [heading, headingClassName]);
61680
- const descriptionContent = React22.useMemo(() => {
61573
+ const descriptionContent = React23.useMemo(() => {
61681
61574
  if (!description) return null;
61682
61575
  if (typeof description === "string") {
61683
61576
  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 });
@@ -61807,7 +61700,7 @@ function ComparisonTableTabs({
61807
61700
  patternOpacity
61808
61701
  }) {
61809
61702
  const [selectedTab, setSelectedTab] = useState(models?.[0]?.name || "");
61810
- const renderStatusIcon = React22.useCallback((status) => {
61703
+ const renderStatusIcon = React23.useCallback((status) => {
61811
61704
  if (status === "positive") {
61812
61705
  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" }) });
61813
61706
  }
@@ -61816,7 +61709,7 @@ function ComparisonTableTabs({
61816
61709
  }
61817
61710
  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" }) });
61818
61711
  }, []);
61819
- const tableContent = React22.useMemo(() => {
61712
+ const tableContent = React23.useMemo(() => {
61820
61713
  if (tableSlot) return tableSlot;
61821
61714
  if (!models || models.length === 0 || !features || features.length === 0) return null;
61822
61715
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
@@ -61875,14 +61768,14 @@ function ComparisonTableTabs({
61875
61768
  ] }) })
61876
61769
  ] });
61877
61770
  }, [tableSlot, models, features, tabsClassName, tableClassName, tableHeaderClassName, tableCellClassName, selectedTab, renderStatusIcon]);
61878
- const headingContent = React22.useMemo(() => {
61771
+ const headingContent = React23.useMemo(() => {
61879
61772
  if (!heading) return null;
61880
61773
  if (typeof heading === "string") {
61881
61774
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
61882
61775
  }
61883
61776
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
61884
61777
  }, [heading, headingClassName]);
61885
- const descriptionContent = React22.useMemo(() => {
61778
+ const descriptionContent = React23.useMemo(() => {
61886
61779
  if (!description) return null;
61887
61780
  if (typeof description === "string") {
61888
61781
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -61973,7 +61866,7 @@ function ComparisonTableTooltips({
61973
61866
  pattern,
61974
61867
  patternOpacity
61975
61868
  }) {
61976
- const renderCellContent = React22.useCallback(
61869
+ const renderCellContent = React23.useCallback(
61977
61870
  (cell, isHighlighted) => {
61978
61871
  if (typeof cell === "string") {
61979
61872
  return cell;
@@ -62000,7 +61893,7 @@ function ComparisonTableTooltips({
62000
61893
  },
62001
61894
  []
62002
61895
  );
62003
- const tableContent = React22.useMemo(() => {
61896
+ const tableContent = React23.useMemo(() => {
62004
61897
  if (tableSlot) return tableSlot;
62005
61898
  if (!rows || rows.length === 0) return null;
62006
61899
  return /* @__PURE__ */ jsxs(Table, { className: cn("rounded border text-left shadow-lg", tableClassName), children: [
@@ -62026,14 +61919,14 @@ function ComparisonTableTooltips({
62026
61919
  ] }, idx)) })
62027
61920
  ] });
62028
61921
  }, [tableSlot, rows, tableClassName, tableHeaderClassName, tableCellClassName, optionALabel, optionBLabel, renderCellContent]);
62029
- const headingContent = React22.useMemo(() => {
61922
+ const headingContent = React23.useMemo(() => {
62030
61923
  if (!heading) return null;
62031
61924
  if (typeof heading === "string") {
62032
61925
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
62033
61926
  }
62034
61927
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
62035
61928
  }, [heading, headingClassName]);
62036
- const descriptionContent = React22.useMemo(() => {
61929
+ const descriptionContent = React23.useMemo(() => {
62037
61930
  if (!description) return null;
62038
61931
  if (typeof description === "string") {
62039
61932
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
@@ -62075,7 +61968,7 @@ function ComparisonFeatureGrid({
62075
61968
  pattern,
62076
61969
  patternOpacity
62077
61970
  }) {
62078
- const renderStatusIcon = React22.useCallback((status) => {
61971
+ const renderStatusIcon = React23.useCallback((status) => {
62079
61972
  if (status === true) {
62080
61973
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 20, className: "text-success" });
62081
61974
  }
@@ -62084,7 +61977,7 @@ function ComparisonFeatureGrid({
62084
61977
  }
62085
61978
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20, className: "text-destructive" });
62086
61979
  }, []);
62087
- const gridContent = React22.useMemo(() => {
61980
+ const gridContent = React23.useMemo(() => {
62088
61981
  if (gridSlot) return gridSlot;
62089
61982
  if (!features || features.length === 0) return null;
62090
61983
  return /* @__PURE__ */ jsxs(
@@ -62150,14 +62043,14 @@ function ComparisonFeatureGrid({
62150
62043
  optionBLabel,
62151
62044
  renderStatusIcon
62152
62045
  ]);
62153
- const headingContent = React22.useMemo(() => {
62046
+ const headingContent = React23.useMemo(() => {
62154
62047
  if (!heading) return null;
62155
62048
  if (typeof heading === "string") {
62156
62049
  return /* @__PURE__ */ jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
62157
62050
  }
62158
62051
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
62159
62052
  }, [heading, headingClassName]);
62160
- const descriptionContent = React22.useMemo(() => {
62053
+ const descriptionContent = React23.useMemo(() => {
62161
62054
  if (!description) return null;
62162
62055
  if (typeof description === "string") {
62163
62056
  return /* @__PURE__ */ jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
@@ -62201,7 +62094,7 @@ function ComparisonAiModels({
62201
62094
  optixFlowConfig
62202
62095
  }) {
62203
62096
  const [hoveredModel, setHoveredModel] = useState(null);
62204
- const renderStatusIcon = React22.useCallback((status) => {
62097
+ const renderStatusIcon = React23.useCallback((status) => {
62205
62098
  if (status === "best") {
62206
62099
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" });
62207
62100
  }
@@ -62210,7 +62103,7 @@ function ComparisonAiModels({
62210
62103
  }
62211
62104
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/minus", size: 16, className: "text-muted-foreground" });
62212
62105
  }, []);
62213
- const getCellClassName = React22.useCallback(
62106
+ const getCellClassName = React23.useCallback(
62214
62107
  (status, modelKey) => {
62215
62108
  const baseClass = "cursor-pointer py-4 text-center font-medium transition-all duration-300";
62216
62109
  let statusClass = "";
@@ -62231,7 +62124,7 @@ function ComparisonAiModels({
62231
62124
  },
62232
62125
  [hoveredModel]
62233
62126
  );
62234
- const getSummaryCardClassName = React22.useCallback(
62127
+ const getSummaryCardClassName = React23.useCallback(
62235
62128
  (modelKey) => {
62236
62129
  const baseClass = "rounded border border-border/30 bg-background/50 p-3 transition-all duration-300";
62237
62130
  if (hoveredModel === modelKey) {
@@ -62246,7 +62139,7 @@ function ComparisonAiModels({
62246
62139
  },
62247
62140
  [hoveredModel]
62248
62141
  );
62249
- const tableContent = React22.useMemo(() => {
62142
+ const tableContent = React23.useMemo(() => {
62250
62143
  if (tableSlot) return tableSlot;
62251
62144
  if (!models || !comparisonData || comparisonData.length === 0) return null;
62252
62145
  return /* @__PURE__ */ jsx(
@@ -62324,7 +62217,7 @@ function ComparisonAiModels({
62324
62217
  getCellClassName,
62325
62218
  renderStatusIcon
62326
62219
  ]);
62327
- const analysisContent = React22.useMemo(() => {
62220
+ const analysisContent = React23.useMemo(() => {
62328
62221
  if (analysisSlot) return analysisSlot;
62329
62222
  if (!models) return null;
62330
62223
  return /* @__PURE__ */ jsx("div", { className: cn(
@@ -62365,14 +62258,14 @@ function ComparisonAiModels({
62365
62258
  ] })
62366
62259
  ] }) });
62367
62260
  }, [analysisSlot, models, analysisClassName, getSummaryCardClassName]);
62368
- const headingContent = React22.useMemo(() => {
62261
+ const headingContent = React23.useMemo(() => {
62369
62262
  if (!heading) return null;
62370
62263
  if (typeof heading === "string") {
62371
62264
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
62372
62265
  }
62373
62266
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
62374
62267
  }, [heading, headingClassName]);
62375
- const descriptionContent = React22.useMemo(() => {
62268
+ const descriptionContent = React23.useMemo(() => {
62376
62269
  if (!description) return null;
62377
62270
  if (typeof description === "string") {
62378
62271
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -62422,7 +62315,7 @@ function ComparisonLegacyModern({
62422
62315
  pattern,
62423
62316
  patternOpacity
62424
62317
  }) {
62425
- const columnsContent = React22.useMemo(() => {
62318
+ const columnsContent = React23.useMemo(() => {
62426
62319
  if (columnsSlot) return columnsSlot;
62427
62320
  if (!legacyFeatures || legacyFeatures.length === 0 || !modernFeatures || modernFeatures.length === 0)
62428
62321
  return null;
@@ -62434,7 +62327,7 @@ function ComparisonLegacyModern({
62434
62327
  legacyColumnClassName
62435
62328
  ), children: [
62436
62329
  legacyTitle && (typeof legacyTitle === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: legacyTitle }) : legacyTitle),
62437
- /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: legacyFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
62330
+ /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: legacyFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
62438
62331
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
62439
62332
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 16, className: "my-1.5 shrink-0 text-muted-foreground" }),
62440
62333
  /* @__PURE__ */ jsx("li", { className: "text-sm", children: feature.text })
@@ -62451,7 +62344,7 @@ function ComparisonLegacyModern({
62451
62344
  ),
62452
62345
  children: [
62453
62346
  modernTitle && (typeof modernTitle === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-2xl font-medium", children: modernTitle }) : modernTitle),
62454
- /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: modernFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
62347
+ /* @__PURE__ */ jsx("ul", { className: "mt-9 space-y-3", children: modernFeatures.map((feature, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
62455
62348
  /* @__PURE__ */ jsxs("li", { className: "flex items-center gap-2 text-sm", children: [
62456
62349
  /* @__PURE__ */ jsx("span", { className: "text-lg", children: feature.emoji }),
62457
62350
  feature.text
@@ -62463,7 +62356,7 @@ function ComparisonLegacyModern({
62463
62356
  )
62464
62357
  ] });
62465
62358
  }, [columnsSlot, legacyFeatures, modernFeatures, legacyTitle, modernTitle, legacyColumnClassName, modernColumnClassName]);
62466
- const headingContent = React22.useMemo(() => {
62359
+ const headingContent = React23.useMemo(() => {
62467
62360
  if (!heading && !headingHighlight) return null;
62468
62361
  return /* @__PURE__ */ jsxs("h2", { className: cn("text-4xl font-medium md:text-5xl lg:text-7xl", headingClassName), children: [
62469
62362
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground", children: [
@@ -62476,7 +62369,7 @@ function ComparisonLegacyModern({
62476
62369
  ] }) : headingHighlight)
62477
62370
  ] });
62478
62371
  }, [heading, headingHighlight, headingClassName, headingHighlightClassName]);
62479
- const descriptionContent = React22.useMemo(() => {
62372
+ const descriptionContent = React23.useMemo(() => {
62480
62373
  if (!description) return null;
62481
62374
  if (typeof description === "string") {
62482
62375
  return /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description });
@@ -62649,7 +62542,7 @@ var NavbarMobileMenu = ({
62649
62542
  closeIconClassName,
62650
62543
  title = "Mobile Navigation"
62651
62544
  }) => {
62652
- React22.useEffect(() => {
62545
+ React23.useEffect(() => {
62653
62546
  if (open) {
62654
62547
  const originalOverflow = document.body.style.overflow;
62655
62548
  document.body.style.overflow = "hidden";
@@ -62878,7 +62771,7 @@ var NavbarDropdownMenu = ({
62878
62771
  patternOpacity,
62879
62772
  optixFlowConfig
62880
62773
  }) => {
62881
- const [open, setOpen] = React22.useState(false);
62774
+ const [open, setOpen] = React23.useState(false);
62882
62775
  const renderAuthActions = useMemo(() => {
62883
62776
  if (authActionsSlot) return authActionsSlot;
62884
62777
  if (!authActions || authActions.length === 0) return null;
@@ -63104,7 +62997,7 @@ var NavbarCenteredMenu = ({
63104
62997
  patternOpacity,
63105
62998
  optixFlowConfig
63106
62999
  }) => {
63107
- const [open, setOpen] = React22.useState(false);
63000
+ const [open, setOpen] = React23.useState(false);
63108
63001
  const renderAuthActions = useMemo(() => {
63109
63002
  if (authActionsSlot) return authActionsSlot;
63110
63003
  if (!authActions || authActions.length === 0) return null;
@@ -63244,7 +63137,7 @@ var DesktopMenuItem = ({
63244
63137
  index,
63245
63138
  optixFlowConfig
63246
63139
  }) => {
63247
- const imagesRef = React22.useRef([]);
63140
+ const imagesRef = React23.useRef([]);
63248
63141
  const layout = link.layout || "simple-grid";
63249
63142
  const handleMouseEnter = (event) => {
63250
63143
  const index2 = Number(event.currentTarget.getAttribute("data-index"));
@@ -64479,7 +64372,7 @@ var NavbarFeatureGrid = ({
64479
64372
  patternOpacity,
64480
64373
  optixFlowConfig
64481
64374
  }) => {
64482
- const [open, setOpen] = React22.useState(false);
64375
+ const [open, setOpen] = React23.useState(false);
64483
64376
  const renderAuthActions = useMemo(() => {
64484
64377
  if (authActionsSlot) return authActionsSlot;
64485
64378
  if (!authActions || authActions.length === 0) return null;
@@ -67689,7 +67582,7 @@ var DesktopMenuItem7 = ({
67689
67582
  if (item.groups && item.groups.length > 0) {
67690
67583
  return /* @__PURE__ */ jsxs(NavigationMenuItem, { value: `${index}`, children: [
67691
67584
  /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: item.label }),
67692
- /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
67585
+ /* @__PURE__ */ jsx(NavigationMenuContent, { className: "p-0", children: /* @__PURE__ */ jsx("div", { className: "flex", children: item.groups.map((group, groupIndex) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
67693
67586
  groupIndex > 0 && /* @__PURE__ */ jsx(
67694
67587
  Separator,
67695
67588
  {
@@ -68441,7 +68334,7 @@ var NavbarSimpleLinks = ({
68441
68334
  const renderNavItems = useMemo(() => {
68442
68335
  if (navItemsSlot) return navItemsSlot;
68443
68336
  if (!navItems || navItems.length === 0) return null;
68444
- return navItems.map((item) => /* @__PURE__ */ jsx(React22.Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
68337
+ return navItems.map((item) => /* @__PURE__ */ jsx(React23.Fragment, { children: /* @__PURE__ */ jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsx(
68445
68338
  NavigationMenuLink,
68446
68339
  {
68447
68340
  "data-nav-item": item.name,
@@ -73470,7 +73363,7 @@ function PricingFullComparison({
73470
73363
  resolvedPlanIds[index]
73471
73364
  ))
73472
73365
  ] }) }),
73473
- /* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
73366
+ /* @__PURE__ */ jsx("tbody", { children: categories.map((category) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
73474
73367
  /* @__PURE__ */ jsx("tr", { className: cn(getNestedCardBg(background), getNestedCardTextColor(background), categoryRowClassName), children: /* @__PURE__ */ jsx(
73475
73368
  "td",
73476
73369
  {
@@ -78071,9 +77964,9 @@ function ProcessStickySteps({
78071
77964
  );
78072
77965
  }
78073
77966
  var usePrevious = (value) => {
78074
- const [prev, setPrev] = React22.useState(void 0);
78075
- const ref = React22.useRef(value);
78076
- React22.useEffect(() => {
77967
+ const [prev, setPrev] = React23.useState(void 0);
77968
+ const ref = React23.useRef(value);
77969
+ React23.useEffect(() => {
78077
77970
  setPrev(ref.current);
78078
77971
  ref.current = value;
78079
77972
  }, [value]);
@@ -78086,12 +77979,12 @@ var ProcessCard = ({
78086
77979
  itemClassName,
78087
77980
  background
78088
77981
  }) => {
78089
- const ref = React22.useRef(null);
77982
+ const ref = React23.useRef(null);
78090
77983
  const itemInView = useInView(ref, {
78091
77984
  amount: 0,
78092
77985
  margin: "0px 0px -60% 0px"
78093
77986
  });
78094
- React22.useEffect(() => {
77987
+ React23.useEffect(() => {
78095
77988
  if (itemInView) {
78096
77989
  setActive(index);
78097
77990
  }
@@ -78141,7 +78034,7 @@ function ProcessScrollImage({
78141
78034
  ctaText,
78142
78035
  ctaUrl
78143
78036
  }) {
78144
- const [active, setActive] = React22.useState(0);
78037
+ const [active, setActive] = React23.useState(0);
78145
78038
  const previousActive = usePrevious(active);
78146
78039
  const resolvedHeading = title ?? heading;
78147
78040
  const resolvedActions = actions ?? (ctaText && ctaUrl ? [
@@ -78325,7 +78218,7 @@ var ProcessCard2 = ({
78325
78218
  hoverImageClassName,
78326
78219
  background
78327
78220
  }) => {
78328
- const [isHovered, setIsHovered] = React22.useState(false);
78221
+ const [isHovered, setIsHovered] = React23.useState(false);
78329
78222
  const titleText = typeof step.title === "string" ? step.title : `Step ${index + 1}`;
78330
78223
  return /* @__PURE__ */ jsxs(
78331
78224
  "li",
@@ -78649,7 +78542,7 @@ function ProcessExpandableTimeline({
78649
78542
  // Backwards compatibility
78650
78543
  title
78651
78544
  }) {
78652
- const [expandedIndex, setExpandedIndex] = React22.useState(null);
78545
+ const [expandedIndex, setExpandedIndex] = React23.useState(null);
78653
78546
  const resolvedHeading = title ?? heading;
78654
78547
  const toggleExpand = (index) => {
78655
78548
  setExpandedIndex(expandedIndex === index ? null : index);
@@ -83420,7 +83313,7 @@ function ListAchievementsShowcase({
83420
83313
  if (!items || items.length === 0) return null;
83421
83314
  return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col", itemsClassName), children: [
83422
83315
  /* @__PURE__ */ jsx(Separator, {}),
83423
- items.map((item, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
83316
+ items.map((item, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
83424
83317
  /* @__PURE__ */ jsxs(
83425
83318
  "div",
83426
83319
  {
@@ -83540,7 +83433,7 @@ function ListCareerTimeline({
83540
83433
  const renderExperiences = useMemo(() => {
83541
83434
  if (experiencesSlot) return experiencesSlot;
83542
83435
  if (!experiences || experiences.length === 0) return null;
83543
- return /* @__PURE__ */ jsx("div", { className: experiencesClassName, children: experiences.map((experience, idx) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
83436
+ return /* @__PURE__ */ jsx("div", { className: experiencesClassName, children: experiences.map((experience, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
83544
83437
  /* @__PURE__ */ jsx(Separator, {}),
83545
83438
  /* @__PURE__ */ jsxs(
83546
83439
  "div",
@@ -83561,7 +83454,7 @@ function ListCareerTimeline({
83561
83454
  const renderAwards = useMemo(() => {
83562
83455
  if (awardsSlot) return awardsSlot;
83563
83456
  if (!awards || awards.length === 0) return null;
83564
- return /* @__PURE__ */ jsx("div", { className: awardsClassName, children: awards.map((award, idx) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
83457
+ return /* @__PURE__ */ jsx("div", { className: awardsClassName, children: awards.map((award, idx) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
83565
83458
  /* @__PURE__ */ jsx(Separator, {}),
83566
83459
  /* @__PURE__ */ jsxs(
83567
83460
  "div",
@@ -83696,7 +83589,7 @@ function ListMetricsDashboard({
83696
83589
  activeCategory: controlledActiveCategory,
83697
83590
  onActiveCategoryChange
83698
83591
  }) {
83699
- const [internalActiveTab, setInternalActiveTab] = React22.useState("all");
83592
+ const [internalActiveTab, setInternalActiveTab] = React23.useState("all");
83700
83593
  const activeTab = controlledActiveCategory ?? internalActiveTab;
83701
83594
  const handleTabChange = (value) => {
83702
83595
  if (onActiveCategoryChange) {
@@ -84180,7 +84073,7 @@ function ListSearchableGrid({
84180
84073
  searchTerm: controlledSearchTerm,
84181
84074
  onSearchTermChange
84182
84075
  }) {
84183
- const [internalSearchTerm, setInternalSearchTerm] = React22.useState("");
84076
+ const [internalSearchTerm, setInternalSearchTerm] = React23.useState("");
84184
84077
  const searchTerm = controlledSearchTerm ?? internalSearchTerm;
84185
84078
  const handleSearchChange = (value) => {
84186
84079
  if (onSearchTermChange) {
@@ -84189,7 +84082,7 @@ function ListSearchableGrid({
84189
84082
  setInternalSearchTerm(value);
84190
84083
  }
84191
84084
  };
84192
- const filteredItems = React22.useMemo(() => {
84085
+ const filteredItems = React23.useMemo(() => {
84193
84086
  if (!searchTerm) {
84194
84087
  return items ?? [];
84195
84088
  }
@@ -84352,7 +84245,7 @@ function ListSearchableGrid({
84352
84245
  }
84353
84246
  );
84354
84247
  }
84355
- var { useMemo: useMemo431 } = React22;
84248
+ var { useMemo: useMemo431 } = React23;
84356
84249
  function OfferModalNewsletterDiscount({
84357
84250
  title,
84358
84251
  emailPlaceholder,
@@ -84501,7 +84394,7 @@ function OfferModalNewsletterDiscount({
84501
84394
  }
84502
84395
  ) });
84503
84396
  }
84504
- var { useMemo: useMemo432 } = React22;
84397
+ var { useMemo: useMemo432 } = React23;
84505
84398
  function OfferModalMembershipImage({
84506
84399
  overline,
84507
84400
  title,
@@ -84790,7 +84683,7 @@ function SheetDescription({
84790
84683
  }
84791
84684
  );
84792
84685
  }
84793
- var { useMemo: useMemo433 } = React22;
84686
+ var { useMemo: useMemo433 } = React23;
84794
84687
  function OfferModalSheetNewsletter({
84795
84688
  logo,
84796
84689
  logoSlot,
@@ -85539,10 +85432,10 @@ function ProjectDetailSidebarNavigation(props) {
85539
85432
  heroImageClassName,
85540
85433
  metadataClassName
85541
85434
  } = props;
85542
- const [activeSection, setActiveSection] = React22.useState(
85435
+ const [activeSection, setActiveSection] = React23.useState(
85543
85436
  sections?.[0]?.id || ""
85544
85437
  );
85545
- React22.useEffect(() => {
85438
+ React23.useEffect(() => {
85546
85439
  const handleScroll = () => {
85547
85440
  const sectionElements = sections?.map(
85548
85441
  (section) => document.getElementById(section.id)
@@ -88402,7 +88295,7 @@ function ProjectDetailTabbedCaseStudy(props) {
88402
88295
  testimonialClassName,
88403
88296
  toolsClassName
88404
88297
  } = props;
88405
- const [activeTab, setActiveTab] = React22.useState(tabs?.[0]?.id || "");
88298
+ const [activeTab, setActiveTab] = React23.useState(tabs?.[0]?.id || "");
88406
88299
  const renderedBackAction = useMemo(() => {
88407
88300
  if (backActionSlot) return backActionSlot;
88408
88301
  if (!backAction) return null;
@@ -88790,7 +88683,7 @@ function RevealImage({
88790
88683
  index,
88791
88684
  optixFlowConfig
88792
88685
  }) {
88793
- const ref = React22.useRef(null);
88686
+ const ref = React23.useRef(null);
88794
88687
  const { scrollYProgress } = useScroll({
88795
88688
  target: ref,
88796
88689
  offset: ["start end", "end start"]
@@ -88985,7 +88878,7 @@ function ParallaxSection({
88985
88878
  index,
88986
88879
  optixFlowConfig
88987
88880
  }) {
88988
- const ref = React22.useRef(null);
88881
+ const ref = React23.useRef(null);
88989
88882
  const { scrollYProgress } = useScroll({
88990
88883
  target: ref,
88991
88884
  offset: ["start end", "end start"]
@@ -89058,7 +88951,7 @@ function ProjectDetailParallaxScroll(props) {
89058
88951
  heroImageClassName,
89059
88952
  sectionsClassName
89060
88953
  } = props;
89061
- const heroRef = React22.useRef(null);
88954
+ const heroRef = React23.useRef(null);
89062
88955
  const { scrollYProgress } = useScroll({
89063
88956
  target: heroRef,
89064
88957
  offset: ["start start", "end start"]
@@ -89388,7 +89281,7 @@ function BannerDeliveryCountdown({
89388
89281
  }, [prefixText, timerContent, middleText, deliveryDateContent]);
89389
89282
  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: [
89390
89283
  iconContent,
89391
- messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
89284
+ messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
89392
89285
  index > 0 ? " " : null,
89393
89286
  part
89394
89287
  ] }, index)) })
@@ -90524,7 +90417,7 @@ function IndustriesExpandableShowcase({
90524
90417
  patternClassName,
90525
90418
  optixFlowConfig
90526
90419
  }) {
90527
- const [activeContractor, setActiveContractor] = React22.useState(
90420
+ const [activeContractor, setActiveContractor] = React23.useState(
90528
90421
  contractors?.[0]?.id || ""
90529
90422
  );
90530
90423
  const handleContractorHover = (contractorId) => {
@@ -91177,7 +91070,7 @@ function ResourceDetailDocumentSidebar({
91177
91070
  }) {
91178
91071
  const renderedBreadcrumbs = useMemo(() => {
91179
91072
  if (breadcrumbsSlot) return breadcrumbsSlot;
91180
- return /* @__PURE__ */ jsx(Breadcrumb, { className: breadcrumbsClassName, children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
91073
+ return /* @__PURE__ */ jsx(Breadcrumb, { className: breadcrumbsClassName, children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumbs?.map((crumb, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
91181
91074
  /* @__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 }) }),
91182
91075
  index < (breadcrumbs?.length || 0) - 1 && /* @__PURE__ */ jsx(BreadcrumbSeparator, {})
91183
91076
  ] }, index)) }) });
@@ -94578,8 +94471,8 @@ function ServicesListTableHover({
94578
94471
  patternOpacity,
94579
94472
  optixFlowConfig
94580
94473
  }) {
94581
- const [hoveredIndex, setHoveredIndex] = React22.useState(null);
94582
- const [mousePosition, setMousePosition] = React22.useState({ x: 0, y: 0 });
94474
+ const [hoveredIndex, setHoveredIndex] = React23.useState(null);
94475
+ const [mousePosition, setMousePosition] = React23.useState({ x: 0, y: 0 });
94583
94476
  const handleMouseMove = (e) => {
94584
94477
  setMousePosition({ x: e.clientX, y: e.clientY });
94585
94478
  };
@@ -94829,7 +94722,7 @@ function ServicesListStickyImage({
94829
94722
  patternOpacity,
94830
94723
  optixFlowConfig
94831
94724
  }) {
94832
- const [activeIndex, setActiveIndex] = React22.useState(0);
94725
+ const [activeIndex, setActiveIndex] = React23.useState(0);
94833
94726
  const renderServices = () => {
94834
94727
  if (servicesSlot) return servicesSlot;
94835
94728
  if (!services || services.length === 0) return null;
@@ -95081,8 +94974,8 @@ function ServicesListVideoShowcase({
95081
94974
  patternOpacity,
95082
94975
  optixFlowConfig
95083
94976
  }) {
95084
- const [playingIndex, setPlayingIndex] = React22.useState(null);
95085
- const videoRefs = React22.useRef([]);
94977
+ const [playingIndex, setPlayingIndex] = React23.useState(null);
94978
+ const videoRefs = React23.useRef([]);
95086
94979
  const handleMouseEnter = (index) => {
95087
94980
  setPlayingIndex(index);
95088
94981
  videoRefs.current[index]?.play();
@@ -98375,7 +98268,7 @@ function StatsCircularProgress({
98375
98268
  statInfoClassName
98376
98269
  }) {
98377
98270
  const effectiveDefaultCategory = defaultCategory || (categories && categories.length > 0 ? categories[0].id : "");
98378
- const [category, setCategory] = React22.useState(effectiveDefaultCategory);
98271
+ const [category, setCategory] = React23.useState(effectiveDefaultCategory);
98379
98272
  const badgeContent = useMemo(() => {
98380
98273
  if (badgeSlot) return badgeSlot;
98381
98274
  if (!badge) return null;
@@ -98668,8 +98561,8 @@ function StatsCardGroup({
98668
98561
  );
98669
98562
  }
98670
98563
  function useAnimatedCounter(endValue, duration = 2e3, isVisible) {
98671
- const [count, setCount] = React22.useState(0);
98672
- React22.useEffect(() => {
98564
+ const [count, setCount] = React23.useState(0);
98565
+ React23.useEffect(() => {
98673
98566
  if (!isVisible) return;
98674
98567
  let startTime = null;
98675
98568
  let animationFrame;
@@ -98757,9 +98650,9 @@ function StatsAnimatedCounter({
98757
98650
  statLabelClassName,
98758
98651
  statIconClassName
98759
98652
  }) {
98760
- const [isVisible, setIsVisible] = React22.useState(false);
98761
- const sectionRef = React22.useRef(null);
98762
- React22.useEffect(() => {
98653
+ const [isVisible, setIsVisible] = React23.useState(false);
98654
+ const sectionRef = React23.useRef(null);
98655
+ React23.useEffect(() => {
98763
98656
  const observer = new IntersectionObserver(
98764
98657
  ([entry]) => {
98765
98658
  if (entry.isIntersecting) {
@@ -98847,8 +98740,8 @@ function StatsAnimatedCounter({
98847
98740
  );
98848
98741
  }
98849
98742
  function useNumberTicker(endValue, duration = 2500, isVisible, decimals = 0) {
98850
- const [displayValue, setDisplayValue] = React22.useState("0");
98851
- React22.useEffect(() => {
98743
+ const [displayValue, setDisplayValue] = React23.useState("0");
98744
+ React23.useEffect(() => {
98852
98745
  if (!isVisible) return;
98853
98746
  let startTime = null;
98854
98747
  let animationFrame;
@@ -98963,9 +98856,9 @@ function StatsNumberTicker({
98963
98856
  statLabelClassName,
98964
98857
  statDescriptionClassName
98965
98858
  }) {
98966
- const [isVisible, setIsVisible] = React22.useState(false);
98967
- const sectionRef = React22.useRef(null);
98968
- React22.useEffect(() => {
98859
+ const [isVisible, setIsVisible] = React23.useState(false);
98860
+ const sectionRef = React23.useRef(null);
98861
+ React23.useEffect(() => {
98969
98862
  const observer = new IntersectionObserver(
98970
98863
  ([entry]) => {
98971
98864
  if (entry.isIntersecting) {
@@ -99224,9 +99117,9 @@ function StatsBarComparison({
99224
99117
  barValueClassName,
99225
99118
  barTrackClassName
99226
99119
  }) {
99227
- const [isVisible, setIsVisible] = React22.useState(!animate);
99228
- const sectionRef = React22.useRef(null);
99229
- React22.useEffect(() => {
99120
+ const [isVisible, setIsVisible] = React23.useState(!animate);
99121
+ const sectionRef = React23.useRef(null);
99122
+ React23.useEffect(() => {
99230
99123
  if (!animate) return;
99231
99124
  const observer = new IntersectionObserver(
99232
99125
  ([entry]) => {
@@ -99404,7 +99297,7 @@ function TimelineVerticalIconDashed({
99404
99297
  "mx-auto flex flex-col items-center justify-center text-center sm:max-w-xl",
99405
99298
  stepsClassName
99406
99299
  ),
99407
- children: steps.map((step, index) => /* @__PURE__ */ jsxs(React22.Fragment, { children: [
99300
+ children: steps.map((step, index) => /* @__PURE__ */ jsxs(React23.Fragment, { children: [
99408
99301
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center", stepClassName), children: [
99409
99302
  /* @__PURE__ */ jsx(
99410
99303
  "span",
@@ -99671,7 +99564,7 @@ function TimelineTwoColumnFeatured({
99671
99564
  style,
99672
99565
  optixFlowConfig
99673
99566
  }) {
99674
- const renderActions = React22.useMemo(() => {
99567
+ const renderActions = React23.useMemo(() => {
99675
99568
  if (actionsSlot) {
99676
99569
  return actionsSlot;
99677
99570
  }
@@ -99799,7 +99692,7 @@ function TimelineTwoColumnFeatured({
99799
99692
  }
99800
99693
  );
99801
99694
  }
99802
- var DiagonalPattern = React22.memo(({
99695
+ var DiagonalPattern = React23.memo(({
99803
99696
  className,
99804
99697
  patternOpacity = 0.15
99805
99698
  }) => {
@@ -99838,7 +99731,7 @@ function TimelineAlternatingDiagonal({
99838
99731
  style,
99839
99732
  optixFlowConfig
99840
99733
  }) {
99841
- const renderedBadge = React22.useMemo(() => {
99734
+ const renderedBadge = React23.useMemo(() => {
99842
99735
  if (badgeSlot) {
99843
99736
  return badgeSlot;
99844
99737
  }
@@ -100216,7 +100109,7 @@ function TimelineProductivityList({
100216
100109
  }
100217
100110
  );
100218
100111
  }
100219
- var ProcessBar = React22.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(React22.Fragment, { children: [
100112
+ 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: [
100220
100113
  /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsx(
100221
100114
  motion.div,
100222
100115
  {
@@ -100243,7 +100136,7 @@ var ProcessBar = React22.memo(({ currentStep, steps }) => /* @__PURE__ */ jsx("d
100243
100136
  )
100244
100137
  ] })
100245
100138
  ] }, index)) }) }));
100246
- var StepperContent = React22.memo(({ step, optixFlowConfig, imageClassName, descriptionClassName, background }) => {
100139
+ var StepperContent = React23.memo(({ step, optixFlowConfig, imageClassName, descriptionClassName, background }) => {
100247
100140
  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: [
100248
100141
  /* @__PURE__ */ jsx(
100249
100142
  motion.div,
@@ -100276,7 +100169,7 @@ var StepperContent = React22.memo(({ step, optixFlowConfig, imageClassName, desc
100276
100169
  )
100277
100170
  ] });
100278
100171
  });
100279
- var NavButtons = React22.memo(({ handlePrev, handleNext }) => /* @__PURE__ */ jsxs("div", { className: "flex w-full justify-end gap-3 tracking-tight", children: [
100172
+ var NavButtons = React23.memo(({ handlePrev, handleNext }) => /* @__PURE__ */ jsxs("div", { className: "flex w-full justify-end gap-3 tracking-tight", children: [
100280
100173
  /* @__PURE__ */ jsxs(
100281
100174
  Pressable,
100282
100175
  {
@@ -100327,10 +100220,10 @@ function TimelineStepperAnimated({
100327
100220
  }) {
100328
100221
  const safeInitialStep = (steps?.length ?? 0) > 0 ? Math.max(0, Math.min(initialStep ?? 0, (steps?.length ?? 1) - 1)) : 0;
100329
100222
  const [currentStep, setCurrentStep] = useState(safeInitialStep);
100330
- const handleNext = React22.useCallback(() => {
100223
+ const handleNext = React23.useCallback(() => {
100331
100224
  setCurrentStep((prev) => Math.min(prev + 1, (steps?.length ?? 1) - 1));
100332
100225
  }, [steps?.length]);
100333
- const handlePrev = React22.useCallback(() => {
100226
+ const handlePrev = React23.useCallback(() => {
100334
100227
  setCurrentStep((prev) => Math.max(prev - 1, 0));
100335
100228
  }, []);
100336
100229
  const safeCurrentStep = (steps?.length ?? 0) > 0 ? Math.max(0, Math.min(currentStep, (steps?.length ?? 1) - 1)) : 0;
@@ -101039,7 +100932,7 @@ function TimelineTabbedPhases({
101039
100932
  style,
101040
100933
  optixFlowConfig
101041
100934
  }) {
101042
- const renderDownloadButton = React22.useMemo(() => {
100935
+ const renderDownloadButton = React23.useMemo(() => {
101043
100936
  if (downloadSlot) {
101044
100937
  return downloadSlot;
101045
100938
  }
@@ -101259,7 +101152,7 @@ function TimelineProductLaunch({
101259
101152
  id,
101260
101153
  style
101261
101154
  }) {
101262
- const renderCta = React22.useMemo(() => {
101155
+ const renderCta = React23.useMemo(() => {
101263
101156
  if (ctaSlot) {
101264
101157
  return ctaSlot;
101265
101158
  }
@@ -101724,9 +101617,9 @@ function LinkTreeBlock({
101724
101617
  }) {
101725
101618
  const resolvedBackground = background;
101726
101619
  const resolvedPattern = pattern ?? backgroundPattern;
101727
- const [lightboxOpen, setLightboxOpen] = React22.useState(false);
101728
- const [lightboxIndex, setLightboxIndex] = React22.useState(0);
101729
- const lightboxItems = React22.useMemo(() => {
101620
+ const [lightboxOpen, setLightboxOpen] = React23.useState(false);
101621
+ const [lightboxIndex, setLightboxIndex] = React23.useState(0);
101622
+ const lightboxItems = React23.useMemo(() => {
101730
101623
  if (!mediaGallery || mediaGallery.length === 0) return [];
101731
101624
  return mediaGallery.slice(0, mediaGalleryLimit).map((item, index) => ({
101732
101625
  id: item.id ?? `media-${index}`,
@@ -101738,11 +101631,11 @@ function LinkTreeBlock({
101738
101631
  share: true
101739
101632
  }));
101740
101633
  }, [mediaGallery, mediaGalleryLimit]);
101741
- const handleMediaClick = React22.useCallback((index) => {
101634
+ const handleMediaClick = React23.useCallback((index) => {
101742
101635
  setLightboxIndex(index);
101743
101636
  setLightboxOpen(true);
101744
101637
  }, []);
101745
- const handleLightboxClose = React22.useCallback(() => {
101638
+ const handleLightboxClose = React23.useCallback(() => {
101746
101639
  setLightboxOpen(false);
101747
101640
  }, []);
101748
101641
  const resolveImage = (value, fallbackAlt) => {
@@ -101754,7 +101647,7 @@ function LinkTreeBlock({
101754
101647
  };
101755
101648
  const nameForAlt = typeof brandName === "string" ? brandName : "Brand avatar";
101756
101649
  const resolvedAvatar = resolveImage(brandAvatar || brandLogo, nameForAlt) || resolveImage(blockBrandedIconsAndPlaceholders.avatar1, nameForAlt);
101757
- const renderBrandHeader = React22.useMemo(() => {
101650
+ const renderBrandHeader = React23.useMemo(() => {
101758
101651
  if (brandSlot) return brandSlot;
101759
101652
  return /* @__PURE__ */ jsxs(
101760
101653
  "div",
@@ -101841,7 +101734,7 @@ function LinkTreeBlock({
101841
101734
  brandTagline,
101842
101735
  taglineClassName
101843
101736
  ]);
101844
- const renderLinks = React22.useMemo(() => {
101737
+ const renderLinks = React23.useMemo(() => {
101845
101738
  if (linksSlot) return linksSlot;
101846
101739
  if (!links || links.length === 0) return null;
101847
101740
  return /* @__PURE__ */ jsx("div", { className: cn("space-y-3", linksClassName), children: links.map((link, index) => {
@@ -101958,7 +101851,7 @@ function LinkTreeBlock({
101958
101851
  linkBadgeClassName,
101959
101852
  linkChevronClassName
101960
101853
  ]);
101961
- const renderMediaGallery = React22.useMemo(() => {
101854
+ const renderMediaGallery = React23.useMemo(() => {
101962
101855
  if (mediaGallerySlot) return mediaGallerySlot;
101963
101856
  if (!mediaGallery || mediaGallery.length === 0) return null;
101964
101857
  const items = mediaGallery.slice(0, mediaGalleryLimit);
@@ -102072,7 +101965,7 @@ function LinkTreeBlock({
102072
101965
  mediaGalleryOverlayClassName,
102073
101966
  mediaGalleryPlayIconClassName
102074
101967
  ]);
102075
- const renderSocialLinks = React22.useMemo(() => {
101968
+ const renderSocialLinks = React23.useMemo(() => {
102076
101969
  if (socialLinksSlot) return socialLinksSlot;
102077
101970
  if (!socialLinks || socialLinks.length === 0) return null;
102078
101971
  return /* @__PURE__ */ jsx(
@@ -102118,7 +102011,7 @@ function LinkTreeBlock({
102118
102011
  socialIconClassName,
102119
102012
  socialLinkClassName
102120
102013
  ]);
102121
- const renderFooter = React22.useMemo(() => {
102014
+ const renderFooter = React23.useMemo(() => {
102122
102015
  if (footerSlot) return footerSlot;
102123
102016
  if (!footerAction) return null;
102124
102017
  const resolvedFooterAction = footerAction;