@opensite/ui 0.5.5 → 0.5.6

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 (1463) hide show
  1. package/dist/about-company-profile.cjs +457 -48
  2. package/dist/about-company-profile.d.cts +20 -1
  3. package/dist/about-company-profile.d.ts +20 -1
  4. package/dist/about-company-profile.js +458 -49
  5. package/dist/about-culture-tabs.cjs +1185 -0
  6. package/dist/about-culture-tabs.d.cts +8 -0
  7. package/dist/about-culture-tabs.d.ts +8 -0
  8. package/dist/about-culture-tabs.js +1163 -0
  9. package/dist/about-developer-profile.cjs +412 -24
  10. package/dist/about-developer-profile.d.cts +20 -1
  11. package/dist/about-developer-profile.d.ts +20 -1
  12. package/dist/about-developer-profile.js +413 -25
  13. package/dist/about-developer-story.cjs +445 -36
  14. package/dist/about-developer-story.d.cts +20 -1
  15. package/dist/about-developer-story.d.ts +20 -1
  16. package/dist/about-developer-story.js +446 -37
  17. package/dist/about-expandable-values.cjs +1063 -0
  18. package/dist/about-expandable-values.d.cts +8 -0
  19. package/dist/about-expandable-values.d.ts +8 -0
  20. package/dist/about-expandable-values.js +1042 -0
  21. package/dist/about-interactive-tabs.cjs +396 -8
  22. package/dist/about-interactive-tabs.d.cts +20 -1
  23. package/dist/about-interactive-tabs.d.ts +20 -1
  24. package/dist/about-interactive-tabs.js +398 -10
  25. package/dist/about-location-info-hero.cjs +8 -5
  26. package/dist/about-location-info-hero.d.cts +10 -5
  27. package/dist/about-location-info-hero.d.ts +10 -5
  28. package/dist/about-location-info-hero.js +8 -5
  29. package/dist/about-minimal-story.cjs +409 -17
  30. package/dist/about-minimal-story.d.cts +20 -1
  31. package/dist/about-minimal-story.d.ts +20 -1
  32. package/dist/about-minimal-story.js +405 -17
  33. package/dist/about-mission-dual-image.cjs +422 -34
  34. package/dist/about-mission-dual-image.d.cts +20 -1
  35. package/dist/about-mission-dual-image.d.ts +20 -1
  36. package/dist/about-mission-dual-image.js +423 -35
  37. package/dist/about-mission-features.cjs +441 -43
  38. package/dist/about-mission-features.d.cts +20 -1
  39. package/dist/about-mission-features.d.ts +20 -1
  40. package/dist/about-mission-features.js +437 -43
  41. package/dist/about-mission-principles.cjs +1057 -0
  42. package/dist/about-mission-principles.d.cts +8 -0
  43. package/dist/about-mission-principles.d.ts +8 -0
  44. package/dist/about-mission-principles.js +1036 -0
  45. package/dist/about-network-spotlight.cjs +3 -3
  46. package/dist/about-network-spotlight.d.cts +1 -1
  47. package/dist/about-network-spotlight.d.ts +1 -1
  48. package/dist/about-network-spotlight.js +3 -3
  49. package/dist/about-split-hero.cjs +1009 -0
  50. package/dist/about-split-hero.d.cts +8 -0
  51. package/dist/about-split-hero.d.ts +8 -0
  52. package/dist/about-split-hero.js +988 -0
  53. package/dist/about-startup-team.cjs +413 -16
  54. package/dist/about-startup-team.d.cts +29 -3
  55. package/dist/about-startup-team.d.ts +29 -3
  56. package/dist/about-startup-team.js +414 -17
  57. package/dist/about-stats-showcase.cjs +413 -21
  58. package/dist/about-stats-showcase.d.cts +20 -1
  59. package/dist/about-stats-showcase.d.ts +20 -1
  60. package/dist/about-stats-showcase.js +405 -17
  61. package/dist/about-stats-sidebar.cjs +406 -14
  62. package/dist/about-stats-sidebar.d.cts +20 -1
  63. package/dist/about-stats-sidebar.d.ts +20 -1
  64. package/dist/about-stats-sidebar.js +400 -12
  65. package/dist/about-story-expertise.cjs +2 -2
  66. package/dist/about-story-expertise.d.cts +1 -1
  67. package/dist/about-story-expertise.d.ts +1 -1
  68. package/dist/about-story-expertise.js +2 -2
  69. package/dist/about-story-gallery.cjs +402 -10
  70. package/dist/about-story-gallery.d.cts +20 -1
  71. package/dist/about-story-gallery.d.ts +20 -1
  72. package/dist/about-story-gallery.js +397 -9
  73. package/dist/about-story-hero.cjs +412 -20
  74. package/dist/about-story-hero.d.cts +20 -1
  75. package/dist/about-story-hero.d.ts +20 -1
  76. package/dist/about-story-hero.js +408 -20
  77. package/dist/about-streamline-team.cjs +423 -35
  78. package/dist/about-streamline-team.d.cts +20 -1
  79. package/dist/about-streamline-team.d.ts +20 -1
  80. package/dist/about-streamline-team.js +424 -36
  81. package/dist/about-vision-gallery.cjs +412 -24
  82. package/dist/about-vision-gallery.d.cts +20 -1
  83. package/dist/about-vision-gallery.d.ts +20 -1
  84. package/dist/about-vision-gallery.js +413 -25
  85. package/dist/alternating-blocks.cjs +7 -3
  86. package/dist/alternating-blocks.d.cts +11 -3
  87. package/dist/alternating-blocks.d.ts +11 -3
  88. package/dist/alternating-blocks.js +7 -3
  89. package/dist/animated-dialog.d.cts +1 -1
  90. package/dist/animated-dialog.d.ts +1 -1
  91. package/dist/auto-scroll-carousel.cjs +10 -10
  92. package/dist/auto-scroll-carousel.d.cts +1 -1
  93. package/dist/auto-scroll-carousel.d.ts +1 -1
  94. package/dist/auto-scroll-carousel.js +10 -10
  95. package/dist/blog-cards-read-time.d.cts +1 -1
  96. package/dist/blog-cards-read-time.d.ts +1 -1
  97. package/dist/blog-cards-tagline-cta.d.cts +1 -1
  98. package/dist/blog-cards-tagline-cta.d.ts +1 -1
  99. package/dist/blog-category-overlay.d.cts +1 -1
  100. package/dist/blog-category-overlay.d.ts +1 -1
  101. package/dist/blog-featured-popular.d.cts +1 -1
  102. package/dist/blog-featured-popular.d.ts +1 -1
  103. package/dist/blog-filtered-results.d.cts +1 -1
  104. package/dist/blog-filtered-results.d.ts +1 -1
  105. package/dist/blog-grid-author-cards.d.cts +1 -1
  106. package/dist/blog-grid-author-cards.d.ts +1 -1
  107. package/dist/blog-grid-nine-posts.d.cts +1 -1
  108. package/dist/blog-grid-nine-posts.d.ts +1 -1
  109. package/dist/blog-horizontal-cards.d.cts +1 -1
  110. package/dist/blog-horizontal-cards.d.ts +1 -1
  111. package/dist/blog-horizontal-timeline.d.cts +1 -1
  112. package/dist/blog-horizontal-timeline.d.ts +1 -1
  113. package/dist/blog-masonry-featured.d.cts +1 -1
  114. package/dist/blog-masonry-featured.d.ts +1 -1
  115. package/dist/blog-related-articles.d.cts +1 -1
  116. package/dist/blog-related-articles.d.ts +1 -1
  117. package/dist/blog-tech-insights.d.cts +1 -1
  118. package/dist/blog-tech-insights.d.ts +1 -1
  119. package/dist/blur-vignette-grid.cjs +95 -25
  120. package/dist/blur-vignette-grid.d.cts +1 -1
  121. package/dist/blur-vignette-grid.d.ts +1 -1
  122. package/dist/blur-vignette-grid.js +95 -25
  123. package/dist/carousel-badge-cards.cjs +90 -20
  124. package/dist/carousel-badge-cards.d.cts +1 -2
  125. package/dist/carousel-badge-cards.d.ts +1 -2
  126. package/dist/carousel-badge-cards.js +91 -21
  127. package/dist/carousel-demo-link.cjs +92 -23
  128. package/dist/carousel-demo-link.d.cts +1 -2
  129. package/dist/carousel-demo-link.d.ts +1 -2
  130. package/dist/carousel-demo-link.js +93 -24
  131. package/dist/carousel-gradient-overlay.cjs +75 -11
  132. package/dist/carousel-gradient-overlay.d.cts +1 -2
  133. package/dist/carousel-gradient-overlay.d.ts +1 -2
  134. package/dist/carousel-gradient-overlay.js +76 -12
  135. package/dist/carousel-gradient-text.cjs +15 -7
  136. package/dist/carousel-gradient-text.d.cts +1 -2
  137. package/dist/carousel-gradient-text.d.ts +1 -2
  138. package/dist/carousel-gradient-text.js +16 -8
  139. package/dist/carousel-icon-sidebar.cjs +74 -13
  140. package/dist/carousel-icon-sidebar.d.cts +1 -1
  141. package/dist/carousel-icon-sidebar.d.ts +1 -1
  142. package/dist/carousel-icon-sidebar.js +75 -14
  143. package/dist/carousel-icon-tabs.cjs +64 -13
  144. package/dist/carousel-icon-tabs.d.cts +1 -1
  145. package/dist/carousel-icon-tabs.d.ts +1 -1
  146. package/dist/carousel-icon-tabs.js +65 -14
  147. package/dist/carousel-scale-focus.cjs +127 -66
  148. package/dist/carousel-scale-focus.d.cts +1 -1
  149. package/dist/carousel-scale-focus.d.ts +1 -1
  150. package/dist/carousel-scale-focus.js +128 -67
  151. package/dist/carousel-sidebar-resources.cjs +84 -20
  152. package/dist/carousel-sidebar-resources.d.cts +1 -2
  153. package/dist/carousel-sidebar-resources.d.ts +1 -2
  154. package/dist/carousel-sidebar-resources.js +85 -21
  155. package/dist/carousel-tabs-content.cjs +114 -47
  156. package/dist/carousel-tabs-content.d.cts +1 -1
  157. package/dist/carousel-tabs-content.d.ts +1 -1
  158. package/dist/carousel-tabs-content.js +115 -48
  159. package/dist/case-studies-featured-border.d.cts +1 -1
  160. package/dist/case-studies-featured-border.d.ts +1 -1
  161. package/dist/case-studies-image-grid.d.cts +1 -1
  162. package/dist/case-studies-image-grid.d.ts +1 -1
  163. package/dist/case-studies-stats-card.d.cts +1 -1
  164. package/dist/case-studies-stats-card.d.ts +1 -1
  165. package/dist/case-studies-testimonial-stats.d.cts +1 -1
  166. package/dist/case-studies-testimonial-stats.d.ts +1 -1
  167. package/dist/case-study-prose-sidebar.d.cts +1 -1
  168. package/dist/case-study-prose-sidebar.d.ts +1 -1
  169. package/dist/case-study-stats-metrics.d.cts +1 -1
  170. package/dist/case-study-stats-metrics.d.ts +1 -1
  171. package/dist/case-study-toc-social-sidebar.d.cts +1 -1
  172. package/dist/case-study-toc-social-sidebar.d.ts +1 -1
  173. package/dist/community-initiatives-BudEyO90.d.cts +1136 -0
  174. package/dist/community-initiatives-FG_f_Y4z.d.ts +1136 -0
  175. package/dist/community-initiatives.cjs +1250 -0
  176. package/dist/community-initiatives.d.cts +8 -0
  177. package/dist/community-initiatives.d.ts +8 -0
  178. package/dist/community-initiatives.js +1228 -0
  179. package/dist/comparison-ai-models.d.cts +1 -1
  180. package/dist/comparison-ai-models.d.ts +1 -1
  181. package/dist/comparison-feature-cards.d.cts +1 -1
  182. package/dist/comparison-feature-cards.d.ts +1 -1
  183. package/dist/comparison-feature-grid.d.cts +1 -1
  184. package/dist/comparison-feature-grid.d.ts +1 -1
  185. package/dist/comparison-grid-badges.d.cts +1 -1
  186. package/dist/comparison-grid-badges.d.ts +1 -1
  187. package/dist/comparison-image-cards.d.cts +1 -1
  188. package/dist/comparison-image-cards.d.ts +1 -1
  189. package/dist/comparison-legacy-modern.d.cts +1 -1
  190. package/dist/comparison-legacy-modern.d.ts +1 -1
  191. package/dist/comparison-metrics-rows.d.cts +1 -1
  192. package/dist/comparison-metrics-rows.d.ts +1 -1
  193. package/dist/comparison-table-tabs.d.cts +1 -1
  194. package/dist/comparison-table-tabs.d.ts +1 -1
  195. package/dist/comparison-table-tooltips.d.cts +1 -1
  196. package/dist/comparison-table-tooltips.d.ts +1 -1
  197. package/dist/comparison-table-two-column.d.cts +1 -1
  198. package/dist/comparison-table-two-column.d.ts +1 -1
  199. package/dist/components.cjs +1315 -533
  200. package/dist/components.d.cts +1 -1
  201. package/dist/components.d.ts +1 -1
  202. package/dist/components.js +1312 -536
  203. package/dist/contact-callback.d.cts +1 -1
  204. package/dist/contact-callback.d.ts +1 -1
  205. package/dist/contact-card.d.cts +1 -1
  206. package/dist/contact-card.d.ts +1 -1
  207. package/dist/contact-careers.d.cts +1 -1
  208. package/dist/contact-careers.d.ts +1 -1
  209. package/dist/contact-catering.d.cts +1 -1
  210. package/dist/contact-catering.d.ts +1 -1
  211. package/dist/contact-consultation.d.cts +1 -1
  212. package/dist/contact-consultation.d.ts +1 -1
  213. package/dist/contact-dark.d.cts +1 -1
  214. package/dist/contact-dark.d.ts +1 -1
  215. package/dist/contact-demo.d.cts +1 -1
  216. package/dist/contact-demo.d.ts +1 -1
  217. package/dist/contact-emergency.d.cts +1 -1
  218. package/dist/contact-emergency.d.ts +1 -1
  219. package/dist/contact-event.d.cts +1 -1
  220. package/dist/contact-event.d.ts +1 -1
  221. package/dist/contact-faq.d.cts +1 -1
  222. package/dist/contact-faq.d.ts +1 -1
  223. package/dist/contact-feedback.d.cts +1 -1
  224. package/dist/contact-feedback.d.ts +1 -1
  225. package/dist/contact-fitness.d.cts +1 -1
  226. package/dist/contact-fitness.d.ts +1 -1
  227. package/dist/contact-guest.d.cts +1 -1
  228. package/dist/contact-guest.d.ts +1 -1
  229. package/dist/contact-help-center.d.cts +1 -1
  230. package/dist/contact-help-center.d.ts +1 -1
  231. package/dist/contact-image.d.cts +1 -1
  232. package/dist/contact-image.d.ts +1 -1
  233. package/dist/contact-insurance.d.cts +1 -1
  234. package/dist/contact-insurance.d.ts +1 -1
  235. package/dist/contact-interview.d.cts +1 -1
  236. package/dist/contact-interview.d.ts +1 -1
  237. package/dist/contact-locations.d.cts +1 -1
  238. package/dist/contact-locations.d.ts +1 -1
  239. package/dist/contact-maintenance.d.cts +1 -1
  240. package/dist/contact-maintenance.d.ts +1 -1
  241. package/dist/contact-map.d.cts +1 -1
  242. package/dist/contact-map.d.ts +1 -1
  243. package/dist/contact-minimal.d.cts +1 -1
  244. package/dist/contact-minimal.d.ts +1 -1
  245. package/dist/contact-moving.d.cts +1 -1
  246. package/dist/contact-moving.d.ts +1 -1
  247. package/dist/contact-multistep.d.cts +1 -1
  248. package/dist/contact-multistep.d.ts +1 -1
  249. package/dist/contact-partnership.d.cts +1 -1
  250. package/dist/contact-partnership.d.ts +1 -1
  251. package/dist/contact-photography.d.cts +1 -1
  252. package/dist/contact-photography.d.ts +1 -1
  253. package/dist/contact-press.d.cts +1 -1
  254. package/dist/contact-press.d.ts +1 -1
  255. package/dist/contact-quote.d.cts +1 -1
  256. package/dist/contact-quote.d.ts +1 -1
  257. package/dist/contact-referral.d.cts +1 -1
  258. package/dist/contact-referral.d.ts +1 -1
  259. package/dist/contact-report.d.cts +1 -1
  260. package/dist/contact-report.d.ts +1 -1
  261. package/dist/contact-reservation.d.cts +1 -1
  262. package/dist/contact-reservation.d.ts +1 -1
  263. package/dist/contact-retreat.d.cts +1 -1
  264. package/dist/contact-retreat.d.ts +1 -1
  265. package/dist/contact-rsvp.d.cts +1 -1
  266. package/dist/contact-rsvp.d.ts +1 -1
  267. package/dist/contact-sales.d.cts +1 -1
  268. package/dist/contact-sales.d.ts +1 -1
  269. package/dist/contact-schedule.d.cts +1 -1
  270. package/dist/contact-schedule.d.ts +1 -1
  271. package/dist/contact-sponsorship.d.cts +1 -1
  272. package/dist/contact-sponsorship.d.ts +1 -1
  273. package/dist/contact-support.d.cts +1 -1
  274. package/dist/contact-support.d.ts +1 -1
  275. package/dist/contact-tenant.d.cts +1 -1
  276. package/dist/contact-tenant.d.ts +1 -1
  277. package/dist/contact-vendor.d.cts +1 -1
  278. package/dist/contact-vendor.d.ts +1 -1
  279. package/dist/contact-volunteer.d.cts +1 -1
  280. package/dist/contact-volunteer.d.ts +1 -1
  281. package/dist/contact-warranty.d.cts +1 -1
  282. package/dist/contact-warranty.d.ts +1 -1
  283. package/dist/contact-wedding.d.cts +1 -1
  284. package/dist/contact-wedding.d.ts +1 -1
  285. package/dist/container.d.cts +1 -1
  286. package/dist/container.d.ts +1 -1
  287. package/dist/cta-accent-background.d.cts +1 -1
  288. package/dist/cta-accent-background.d.ts +1 -1
  289. package/dist/cta-app-download-newsletter.d.cts +1 -1
  290. package/dist/cta-app-download-newsletter.d.ts +1 -1
  291. package/dist/cta-background-icon-badge.d.cts +1 -1
  292. package/dist/cta-background-icon-badge.d.ts +1 -1
  293. package/dist/cta-case-study-testimonial.d.cts +1 -1
  294. package/dist/cta-case-study-testimonial.d.ts +1 -1
  295. package/dist/cta-documentation-links.d.cts +1 -1
  296. package/dist/cta-documentation-links.d.ts +1 -1
  297. package/dist/cta-enterprise-dark-features.d.cts +1 -1
  298. package/dist/cta-enterprise-dark-features.d.ts +1 -1
  299. package/dist/cta-enterprise-split.d.cts +1 -1
  300. package/dist/cta-enterprise-split.d.ts +1 -1
  301. package/dist/cta-feature-cards-grid.d.cts +1 -1
  302. package/dist/cta-feature-cards-grid.d.ts +1 -1
  303. package/dist/cta-feature-checklist.d.cts +1 -1
  304. package/dist/cta-feature-checklist.d.ts +1 -1
  305. package/dist/cta-feature-list.d.cts +1 -1
  306. package/dist/cta-feature-list.d.ts +1 -1
  307. package/dist/cta-fullwidth-background.d.cts +1 -1
  308. package/dist/cta-fullwidth-background.d.ts +1 -1
  309. package/dist/cta-gradient-logos-floating.d.cts +1 -1
  310. package/dist/cta-gradient-logos-floating.d.ts +1 -1
  311. package/dist/cta-gradient-stats-hero.d.cts +1 -1
  312. package/dist/cta-gradient-stats-hero.d.ts +1 -1
  313. package/dist/cta-hero-feature-cards.d.cts +1 -1
  314. package/dist/cta-hero-feature-cards.d.ts +1 -1
  315. package/dist/cta-image-overlay-arrow.d.cts +1 -1
  316. package/dist/cta-image-overlay-arrow.d.ts +1 -1
  317. package/dist/cta-image-overlay-centered.d.cts +1 -1
  318. package/dist/cta-image-overlay-centered.d.ts +1 -1
  319. package/dist/cta-minimal-separator.d.cts +1 -1
  320. package/dist/cta-minimal-separator.d.ts +1 -1
  321. package/dist/cta-newsletter-features.d.cts +1 -1
  322. package/dist/cta-newsletter-features.d.ts +1 -1
  323. package/dist/cta-pattern-background.d.cts +1 -1
  324. package/dist/cta-pattern-background.d.ts +1 -1
  325. package/dist/cta-platform-demo.d.cts +1 -1
  326. package/dist/cta-platform-demo.d.ts +1 -1
  327. package/dist/cta-simple-centered.d.cts +1 -1
  328. package/dist/cta-simple-centered.d.ts +1 -1
  329. package/dist/cta-split-gradient-image.d.cts +1 -1
  330. package/dist/cta-split-gradient-image.d.ts +1 -1
  331. package/dist/cta-split-image-logos.d.cts +1 -1
  332. package/dist/cta-split-image-logos.d.ts +1 -1
  333. package/dist/cta-split-image.d.cts +1 -1
  334. package/dist/cta-split-image.d.ts +1 -1
  335. package/dist/cta-stacked-cards.d.cts +1 -1
  336. package/dist/cta-stacked-cards.d.ts +1 -1
  337. package/dist/cta-video-background-hero.d.cts +1 -1
  338. package/dist/cta-video-background-hero.d.ts +1 -1
  339. package/dist/cta-workflow-tabs.d.cts +1 -1
  340. package/dist/cta-workflow-tabs.d.ts +1 -1
  341. package/dist/expandable-case-study-cards.cjs +162 -43
  342. package/dist/expandable-case-study-cards.d.cts +1 -1
  343. package/dist/expandable-case-study-cards.d.ts +1 -1
  344. package/dist/expandable-case-study-cards.js +163 -44
  345. package/dist/faq-badge-support.cjs +12 -12
  346. package/dist/faq-badge-support.d.cts +1 -1
  347. package/dist/faq-badge-support.d.ts +1 -1
  348. package/dist/faq-badge-support.js +12 -12
  349. package/dist/faq-bordered-badge.cjs +8 -8
  350. package/dist/faq-bordered-badge.d.cts +1 -1
  351. package/dist/faq-bordered-badge.d.ts +1 -1
  352. package/dist/faq-bordered-badge.js +8 -8
  353. package/dist/faq-card-categories.cjs +8 -8
  354. package/dist/faq-card-categories.d.cts +1 -1
  355. package/dist/faq-card-categories.d.ts +1 -1
  356. package/dist/faq-card-categories.js +8 -8
  357. package/dist/faq-categorized-sections.cjs +8 -8
  358. package/dist/faq-categorized-sections.d.cts +1 -1
  359. package/dist/faq-categorized-sections.d.ts +1 -1
  360. package/dist/faq-categorized-sections.js +8 -8
  361. package/dist/faq-centered-accordion.cjs +8 -8
  362. package/dist/faq-centered-accordion.d.cts +1 -1
  363. package/dist/faq-centered-accordion.d.ts +1 -1
  364. package/dist/faq-centered-accordion.js +8 -8
  365. package/dist/faq-gradient-categories.cjs +8 -8
  366. package/dist/faq-gradient-categories.d.cts +1 -1
  367. package/dist/faq-gradient-categories.d.ts +1 -1
  368. package/dist/faq-gradient-categories.js +8 -8
  369. package/dist/faq-icon-benefits.cjs +7 -7
  370. package/dist/faq-icon-benefits.d.cts +1 -1
  371. package/dist/faq-icon-benefits.d.ts +1 -1
  372. package/dist/faq-icon-benefits.js +8 -8
  373. package/dist/faq-muted-cards.cjs +8 -8
  374. package/dist/faq-muted-cards.d.cts +1 -1
  375. package/dist/faq-muted-cards.d.ts +1 -1
  376. package/dist/faq-muted-cards.js +8 -8
  377. package/dist/faq-numbered-grid.cjs +7 -7
  378. package/dist/faq-numbered-grid.d.cts +1 -1
  379. package/dist/faq-numbered-grid.d.ts +1 -1
  380. package/dist/faq-numbered-grid.js +7 -7
  381. package/dist/faq-numbered-list.cjs +7 -7
  382. package/dist/faq-numbered-list.d.cts +1 -1
  383. package/dist/faq-numbered-list.d.ts +1 -1
  384. package/dist/faq-numbered-list.js +7 -7
  385. package/dist/faq-profile-sidebar.cjs +23 -142
  386. package/dist/faq-profile-sidebar.d.cts +1 -1
  387. package/dist/faq-profile-sidebar.d.ts +1 -1
  388. package/dist/faq-profile-sidebar.js +23 -142
  389. package/dist/faq-rounded-cards.cjs +8 -8
  390. package/dist/faq-rounded-cards.d.cts +1 -1
  391. package/dist/faq-rounded-cards.d.ts +1 -1
  392. package/dist/faq-rounded-cards.js +8 -8
  393. package/dist/faq-sidebar-navigation.cjs +5 -5
  394. package/dist/faq-sidebar-navigation.d.cts +1 -1
  395. package/dist/faq-sidebar-navigation.d.ts +1 -1
  396. package/dist/faq-sidebar-navigation.js +6 -6
  397. package/dist/faq-simple-accordion.cjs +8 -8
  398. package/dist/faq-simple-accordion.d.cts +1 -1
  399. package/dist/faq-simple-accordion.d.ts +1 -1
  400. package/dist/faq-simple-accordion.js +8 -8
  401. package/dist/faq-split-help.cjs +13 -13
  402. package/dist/faq-split-help.d.cts +1 -1
  403. package/dist/faq-split-help.d.ts +1 -1
  404. package/dist/faq-split-help.js +13 -13
  405. package/dist/faq-static-list.cjs +7 -7
  406. package/dist/faq-static-list.d.cts +1 -1
  407. package/dist/faq-static-list.d.ts +1 -1
  408. package/dist/faq-static-list.js +7 -7
  409. package/dist/feature-accordion-image.cjs +415 -25
  410. package/dist/feature-accordion-image.d.cts +24 -1
  411. package/dist/feature-accordion-image.d.ts +24 -1
  412. package/dist/feature-accordion-image.js +416 -25
  413. package/dist/feature-badge-grid-six.cjs +407 -17
  414. package/dist/feature-badge-grid-six.d.cts +24 -1
  415. package/dist/feature-badge-grid-six.d.ts +24 -1
  416. package/dist/feature-badge-grid-six.js +408 -17
  417. package/dist/feature-bento-image-grid.cjs +408 -18
  418. package/dist/feature-bento-image-grid.d.cts +24 -1
  419. package/dist/feature-bento-image-grid.d.ts +24 -1
  420. package/dist/feature-bento-image-grid.js +409 -18
  421. package/dist/feature-bento-utilities.cjs +413 -23
  422. package/dist/feature-bento-utilities.d.cts +24 -1
  423. package/dist/feature-bento-utilities.d.ts +24 -1
  424. package/dist/feature-bento-utilities.js +414 -23
  425. package/dist/feature-capabilities-grid.cjs +399 -9
  426. package/dist/feature-capabilities-grid.d.cts +28 -1
  427. package/dist/feature-capabilities-grid.d.ts +28 -1
  428. package/dist/feature-capabilities-grid.js +400 -9
  429. package/dist/feature-card-grid-linked.cjs +399 -9
  430. package/dist/feature-card-grid-linked.d.cts +24 -1
  431. package/dist/feature-card-grid-linked.d.ts +24 -1
  432. package/dist/feature-card-grid-linked.js +400 -9
  433. package/dist/feature-carousel-progress.cjs +416 -26
  434. package/dist/feature-carousel-progress.d.cts +28 -1
  435. package/dist/feature-carousel-progress.d.ts +28 -1
  436. package/dist/feature-carousel-progress.js +417 -27
  437. package/dist/feature-category-image-cards.cjs +407 -12
  438. package/dist/feature-category-image-cards.d.cts +24 -1
  439. package/dist/feature-category-image-cards.d.ts +24 -1
  440. package/dist/feature-category-image-cards.js +403 -12
  441. package/dist/feature-checklist-image.cjs +411 -24
  442. package/dist/feature-checklist-image.d.cts +24 -1
  443. package/dist/feature-checklist-image.d.ts +24 -1
  444. package/dist/feature-checklist-image.js +412 -24
  445. package/dist/feature-checklist-three-column.cjs +411 -21
  446. package/dist/feature-checklist-three-column.d.cts +24 -1
  447. package/dist/feature-checklist-three-column.d.ts +24 -1
  448. package/dist/feature-checklist-three-column.js +412 -21
  449. package/dist/feature-icon-grid-accent.cjs +403 -13
  450. package/dist/feature-icon-grid-accent.d.cts +24 -1
  451. package/dist/feature-icon-grid-accent.d.ts +24 -1
  452. package/dist/feature-icon-grid-accent.js +404 -13
  453. package/dist/feature-icon-grid-bordered.cjs +400 -10
  454. package/dist/feature-icon-grid-bordered.d.cts +28 -1
  455. package/dist/feature-icon-grid-bordered.d.ts +28 -1
  456. package/dist/feature-icon-grid-bordered.js +401 -10
  457. package/dist/feature-icon-grid-muted.cjs +402 -12
  458. package/dist/feature-icon-grid-muted.d.cts +28 -1
  459. package/dist/feature-icon-grid-muted.d.ts +28 -1
  460. package/dist/feature-icon-grid-muted.js +403 -12
  461. package/dist/feature-icon-tabs-content.cjs +409 -19
  462. package/dist/feature-icon-tabs-content.d.cts +24 -1
  463. package/dist/feature-icon-tabs-content.d.ts +24 -1
  464. package/dist/feature-icon-tabs-content.js +410 -19
  465. package/dist/feature-image-cards-three-column.cjs +400 -10
  466. package/dist/feature-image-cards-three-column.d.cts +24 -1
  467. package/dist/feature-image-cards-three-column.d.ts +24 -1
  468. package/dist/feature-image-cards-three-column.js +401 -10
  469. package/dist/feature-image-overlay-badge.cjs +431 -46
  470. package/dist/feature-image-overlay-badge.d.cts +24 -1
  471. package/dist/feature-image-overlay-badge.d.ts +24 -1
  472. package/dist/feature-image-overlay-badge.js +432 -46
  473. package/dist/feature-integration-cards.cjs +406 -16
  474. package/dist/feature-integration-cards.d.cts +24 -1
  475. package/dist/feature-integration-cards.d.ts +24 -1
  476. package/dist/feature-integration-cards.js +407 -16
  477. package/dist/feature-numbered-cards.cjs +396 -6
  478. package/dist/feature-numbered-cards.d.cts +24 -1
  479. package/dist/feature-numbered-cards.d.ts +24 -1
  480. package/dist/feature-numbered-cards.js +397 -6
  481. package/dist/feature-pattern-grid-links.cjs +389 -12
  482. package/dist/feature-pattern-grid-links.d.cts +28 -1
  483. package/dist/feature-pattern-grid-links.d.ts +28 -1
  484. package/dist/feature-pattern-grid-links.js +390 -12
  485. package/dist/feature-showcase.d.cts +1 -1
  486. package/dist/feature-showcase.d.ts +1 -1
  487. package/dist/feature-split-image-reverse.cjs +416 -32
  488. package/dist/feature-split-image-reverse.d.cts +24 -1
  489. package/dist/feature-split-image-reverse.d.ts +24 -1
  490. package/dist/feature-split-image-reverse.js +417 -32
  491. package/dist/feature-split-image.cjs +408 -21
  492. package/dist/feature-split-image.d.cts +24 -1
  493. package/dist/feature-split-image.d.ts +24 -1
  494. package/dist/feature-split-image.js +409 -21
  495. package/dist/feature-stats-highlight.cjs +406 -16
  496. package/dist/feature-stats-highlight.d.cts +24 -1
  497. package/dist/feature-stats-highlight.d.ts +24 -1
  498. package/dist/feature-stats-highlight.js +407 -16
  499. package/dist/feature-tabbed-content-image.cjs +415 -25
  500. package/dist/feature-tabbed-content-image.d.cts +24 -1
  501. package/dist/feature-tabbed-content-image.d.ts +24 -1
  502. package/dist/feature-tabbed-content-image.js +416 -25
  503. package/dist/feature-three-column-values.cjs +400 -10
  504. package/dist/feature-three-column-values.d.cts +28 -1
  505. package/dist/feature-three-column-values.d.ts +28 -1
  506. package/dist/feature-three-column-values.js +401 -10
  507. package/dist/feature-utility-cards-grid.cjs +412 -22
  508. package/dist/feature-utility-cards-grid.d.cts +24 -1
  509. package/dist/feature-utility-cards-grid.d.ts +24 -1
  510. package/dist/feature-utility-cards-grid.js +413 -22
  511. package/dist/footer-animated-social.cjs +42 -40
  512. package/dist/footer-animated-social.d.cts +1 -1
  513. package/dist/footer-animated-social.d.ts +1 -1
  514. package/dist/footer-animated-social.js +43 -41
  515. package/dist/footer-background-card.cjs +35 -38
  516. package/dist/footer-background-card.d.cts +3 -3
  517. package/dist/footer-background-card.d.ts +3 -3
  518. package/dist/footer-background-card.js +36 -39
  519. package/dist/footer-brand-description.cjs +15 -20
  520. package/dist/footer-brand-description.d.cts +2 -2
  521. package/dist/footer-brand-description.d.ts +2 -2
  522. package/dist/footer-brand-description.js +16 -21
  523. package/dist/footer-brand-links-contact.cjs +62 -83
  524. package/dist/footer-brand-links-contact.d.cts +2 -2
  525. package/dist/footer-brand-links-contact.d.ts +2 -2
  526. package/dist/footer-brand-links-contact.js +63 -84
  527. package/dist/footer-comprehensive-links.cjs +14 -19
  528. package/dist/footer-comprehensive-links.d.cts +0 -1
  529. package/dist/footer-comprehensive-links.d.ts +0 -1
  530. package/dist/footer-comprehensive-links.js +15 -20
  531. package/dist/footer-contact-card.cjs +21 -26
  532. package/dist/footer-contact-card.d.cts +2 -2
  533. package/dist/footer-contact-card.d.ts +2 -2
  534. package/dist/footer-contact-card.js +22 -27
  535. package/dist/footer-cta-banner.cjs +12 -17
  536. package/dist/footer-cta-banner.d.cts +3 -3
  537. package/dist/footer-cta-banner.d.ts +3 -3
  538. package/dist/footer-cta-banner.js +13 -18
  539. package/dist/footer-cta-social.cjs +23 -20
  540. package/dist/footer-cta-social.d.cts +1 -1
  541. package/dist/footer-cta-social.d.ts +1 -1
  542. package/dist/footer-cta-social.js +24 -21
  543. package/dist/footer-links-grid.cjs +438 -52
  544. package/dist/footer-links-grid.d.cts +21 -2
  545. package/dist/footer-links-grid.d.ts +21 -2
  546. package/dist/footer-links-grid.js +439 -52
  547. package/dist/footer-nav-social.cjs +51 -46
  548. package/dist/footer-nav-social.d.cts +2 -2
  549. package/dist/footer-nav-social.d.ts +2 -2
  550. package/dist/footer-nav-social.js +52 -47
  551. package/dist/footer-newsletter-grid.cjs +470 -95
  552. package/dist/footer-newsletter-grid.d.cts +17 -2
  553. package/dist/footer-newsletter-grid.d.ts +17 -2
  554. package/dist/footer-newsletter-grid.js +471 -95
  555. package/dist/footer-newsletter-minimal.cjs +62 -52
  556. package/dist/footer-newsletter-minimal.d.cts +2 -2
  557. package/dist/footer-newsletter-minimal.d.ts +2 -2
  558. package/dist/footer-newsletter-minimal.js +63 -53
  559. package/dist/footer-simple-centered.cjs +47 -62
  560. package/dist/footer-simple-centered.d.cts +2 -2
  561. package/dist/footer-simple-centered.d.ts +2 -2
  562. package/dist/footer-simple-centered.js +48 -63
  563. package/dist/footer-social-apps.cjs +439 -57
  564. package/dist/footer-social-apps.d.cts +16 -1
  565. package/dist/footer-social-apps.d.ts +16 -1
  566. package/dist/footer-social-apps.js +440 -57
  567. package/dist/footer-social-newsletter.cjs +22 -27
  568. package/dist/footer-social-newsletter.d.cts +3 -3
  569. package/dist/footer-social-newsletter.d.ts +3 -3
  570. package/dist/footer-social-newsletter.js +23 -28
  571. package/dist/hero-ad-campaign-expert.cjs +5 -5
  572. package/dist/hero-ad-campaign-expert.d.cts +1 -1
  573. package/dist/hero-ad-campaign-expert.d.ts +1 -1
  574. package/dist/hero-ad-campaign-expert.js +6 -6
  575. package/dist/hero-adaptable-product-grid.cjs +5 -5
  576. package/dist/hero-adaptable-product-grid.d.cts +1 -1
  577. package/dist/hero-adaptable-product-grid.d.ts +1 -1
  578. package/dist/hero-adaptable-product-grid.js +6 -6
  579. package/dist/hero-agency-animated-images.cjs +8 -8
  580. package/dist/hero-agency-animated-images.d.cts +1 -1
  581. package/dist/hero-agency-animated-images.d.ts +1 -1
  582. package/dist/hero-agency-animated-images.js +9 -9
  583. package/dist/hero-ai-powered-carousel.cjs +5 -5
  584. package/dist/hero-ai-powered-carousel.d.cts +1 -1
  585. package/dist/hero-ai-powered-carousel.d.ts +1 -1
  586. package/dist/hero-ai-powered-carousel.js +5 -5
  587. package/dist/hero-announcement-badge.cjs +5 -5
  588. package/dist/hero-announcement-badge.d.cts +1 -1
  589. package/dist/hero-announcement-badge.d.ts +1 -1
  590. package/dist/hero-announcement-badge.js +6 -6
  591. package/dist/hero-architecture-fullscreen.cjs +5 -5
  592. package/dist/hero-architecture-fullscreen.d.cts +1 -1
  593. package/dist/hero-architecture-fullscreen.d.ts +1 -1
  594. package/dist/hero-architecture-fullscreen.js +6 -6
  595. package/dist/hero-badge-image-split.cjs +5 -5
  596. package/dist/hero-badge-image-split.d.cts +1 -1
  597. package/dist/hero-badge-image-split.d.ts +1 -1
  598. package/dist/hero-badge-image-split.js +6 -6
  599. package/dist/hero-badge-shadow-overlay.cjs +5 -5
  600. package/dist/hero-badge-shadow-overlay.d.cts +1 -1
  601. package/dist/hero-badge-shadow-overlay.d.ts +1 -1
  602. package/dist/hero-badge-shadow-overlay.js +6 -6
  603. package/dist/hero-billing-platform-logos.cjs +5 -5
  604. package/dist/hero-billing-platform-logos.d.cts +1 -1
  605. package/dist/hero-billing-platform-logos.d.ts +1 -1
  606. package/dist/hero-billing-platform-logos.js +5 -5
  607. package/dist/hero-business-carousel-dots.cjs +3 -3
  608. package/dist/hero-business-carousel-dots.d.cts +1 -1
  609. package/dist/hero-business-carousel-dots.d.ts +1 -1
  610. package/dist/hero-business-carousel-dots.js +4 -4
  611. package/dist/hero-business-operations-mosaic.cjs +6 -6
  612. package/dist/hero-business-operations-mosaic.d.cts +1 -1
  613. package/dist/hero-business-operations-mosaic.d.ts +1 -1
  614. package/dist/hero-business-operations-mosaic.js +5 -5
  615. package/dist/hero-centered-gradient-cta.cjs +8 -8
  616. package/dist/hero-centered-gradient-cta.d.cts +1 -1
  617. package/dist/hero-centered-gradient-cta.d.ts +1 -1
  618. package/dist/hero-centered-gradient-cta.js +9 -9
  619. package/dist/hero-centered-image-grid.cjs +9 -9
  620. package/dist/hero-centered-image-grid.d.cts +1 -1
  621. package/dist/hero-centered-image-grid.d.ts +1 -1
  622. package/dist/hero-centered-image-grid.js +10 -10
  623. package/dist/hero-centered-screenshot.cjs +5 -5
  624. package/dist/hero-centered-screenshot.d.cts +1 -1
  625. package/dist/hero-centered-screenshot.d.ts +1 -1
  626. package/dist/hero-centered-screenshot.js +6 -6
  627. package/dist/hero-coming-soon-countdown.cjs +11 -11
  628. package/dist/hero-coming-soon-countdown.d.cts +1 -1
  629. package/dist/hero-coming-soon-countdown.d.ts +1 -1
  630. package/dist/hero-coming-soon-countdown.js +12 -12
  631. package/dist/hero-community-survey-cta.cjs +11 -11
  632. package/dist/hero-community-survey-cta.d.cts +1 -1
  633. package/dist/hero-community-survey-cta.d.ts +1 -1
  634. package/dist/hero-community-survey-cta.js +12 -12
  635. package/dist/hero-conversation-intelligence.cjs +8 -8
  636. package/dist/hero-conversation-intelligence.d.cts +1 -1
  637. package/dist/hero-conversation-intelligence.d.ts +1 -1
  638. package/dist/hero-conversation-intelligence.js +9 -9
  639. package/dist/hero-conversion-video-play.cjs +6 -6
  640. package/dist/hero-conversion-video-play.d.cts +1 -1
  641. package/dist/hero-conversion-video-play.d.ts +1 -1
  642. package/dist/hero-conversion-video-play.js +11 -11
  643. package/dist/hero-creative-studio-stacked.cjs +6 -6
  644. package/dist/hero-creative-studio-stacked.d.cts +1 -1
  645. package/dist/hero-creative-studio-stacked.d.ts +1 -1
  646. package/dist/hero-creative-studio-stacked.js +11 -11
  647. package/dist/hero-crm-streamlined.cjs +5 -5
  648. package/dist/hero-crm-streamlined.d.cts +1 -1
  649. package/dist/hero-crm-streamlined.d.ts +1 -1
  650. package/dist/hero-crm-streamlined.js +6 -6
  651. package/dist/hero-customer-support-layered.cjs +6 -6
  652. package/dist/hero-customer-support-layered.d.cts +1 -1
  653. package/dist/hero-customer-support-layered.d.ts +1 -1
  654. package/dist/hero-customer-support-layered.js +5 -5
  655. package/dist/hero-dashed-border-features.cjs +11 -11
  656. package/dist/hero-dashed-border-features.d.cts +1 -1
  657. package/dist/hero-dashed-border-features.d.ts +1 -1
  658. package/dist/hero-dashed-border-features.js +12 -12
  659. package/dist/hero-design-carousel-portfolio.cjs +17 -17
  660. package/dist/hero-design-carousel-portfolio.d.cts +1 -1
  661. package/dist/hero-design-carousel-portfolio.d.ts +1 -1
  662. package/dist/hero-design-carousel-portfolio.js +17 -17
  663. package/dist/hero-design-showcase-logos.cjs +11 -11
  664. package/dist/hero-design-showcase-logos.d.cts +1 -1
  665. package/dist/hero-design-showcase-logos.d.ts +1 -1
  666. package/dist/hero-design-showcase-logos.js +12 -12
  667. package/dist/hero-design-system-3d.cjs +11 -11
  668. package/dist/hero-design-system-3d.d.cts +1 -1
  669. package/dist/hero-design-system-3d.d.ts +1 -1
  670. package/dist/hero-design-system-3d.js +12 -12
  671. package/dist/hero-developer-tools-code.cjs +11 -11
  672. package/dist/hero-developer-tools-code.d.cts +1 -1
  673. package/dist/hero-developer-tools-code.d.ts +1 -1
  674. package/dist/hero-developer-tools-code.js +12 -12
  675. package/dist/hero-digital-agency-fullscreen.cjs +12 -12
  676. package/dist/hero-digital-agency-fullscreen.d.cts +3 -3
  677. package/dist/hero-digital-agency-fullscreen.d.ts +3 -3
  678. package/dist/hero-digital-agency-fullscreen.js +13 -13
  679. package/dist/hero-ecommerce-product-showcase.cjs +12 -12
  680. package/dist/hero-ecommerce-product-showcase.d.cts +1 -1
  681. package/dist/hero-ecommerce-product-showcase.d.ts +1 -1
  682. package/dist/hero-ecommerce-product-showcase.js +13 -13
  683. package/dist/hero-enterprise-security.cjs +14 -14
  684. package/dist/hero-enterprise-security.d.cts +1 -1
  685. package/dist/hero-enterprise-security.d.ts +1 -1
  686. package/dist/hero-enterprise-security.js +15 -15
  687. package/dist/hero-event-registration.cjs +35 -34
  688. package/dist/hero-event-registration.d.cts +3 -3
  689. package/dist/hero-event-registration.d.ts +3 -3
  690. package/dist/hero-event-registration.js +36 -35
  691. package/dist/hero-feature-cards-grid.cjs +8 -8
  692. package/dist/hero-feature-cards-grid.d.cts +1 -1
  693. package/dist/hero-feature-cards-grid.d.ts +1 -1
  694. package/dist/hero-feature-cards-grid.js +9 -9
  695. package/dist/hero-floating-images.d.cts +1 -1
  696. package/dist/hero-floating-images.d.ts +1 -1
  697. package/dist/hero-fullscreen-background-image.cjs +5 -5
  698. package/dist/hero-fullscreen-background-image.d.cts +1 -1
  699. package/dist/hero-fullscreen-background-image.d.ts +1 -1
  700. package/dist/hero-fullscreen-background-image.js +6 -6
  701. package/dist/hero-fullscreen-logo-cta.cjs +8 -8
  702. package/dist/hero-fullscreen-logo-cta.d.cts +1 -1
  703. package/dist/hero-fullscreen-logo-cta.d.ts +1 -1
  704. package/dist/hero-fullscreen-logo-cta.js +9 -9
  705. package/dist/hero-gradient-avatars-rating.cjs +17 -17
  706. package/dist/hero-gradient-avatars-rating.d.cts +1 -1
  707. package/dist/hero-gradient-avatars-rating.d.ts +1 -1
  708. package/dist/hero-gradient-avatars-rating.js +18 -18
  709. package/dist/hero-gradient-client-focused.cjs +8 -8
  710. package/dist/hero-gradient-client-focused.d.cts +1 -1
  711. package/dist/hero-gradient-client-focused.d.ts +1 -1
  712. package/dist/hero-gradient-client-focused.js +9 -9
  713. package/dist/hero-grid-pattern-efficiency.cjs +8 -8
  714. package/dist/hero-grid-pattern-efficiency.d.cts +1 -1
  715. package/dist/hero-grid-pattern-efficiency.d.ts +1 -1
  716. package/dist/hero-grid-pattern-efficiency.js +9 -9
  717. package/dist/hero-grid-pattern-solutions.cjs +11 -11
  718. package/dist/hero-grid-pattern-solutions.d.cts +1 -1
  719. package/dist/hero-grid-pattern-solutions.d.ts +1 -1
  720. package/dist/hero-grid-pattern-solutions.js +12 -12
  721. package/dist/hero-hiring-animated-text.cjs +11 -11
  722. package/dist/hero-hiring-animated-text.d.cts +1 -1
  723. package/dist/hero-hiring-animated-text.d.ts +1 -1
  724. package/dist/hero-hiring-animated-text.js +12 -12
  725. package/dist/hero-image-left-content.cjs +5 -5
  726. package/dist/hero-image-left-content.d.cts +1 -1
  727. package/dist/hero-image-left-content.d.ts +1 -1
  728. package/dist/hero-image-left-content.js +6 -6
  729. package/dist/hero-image-slider.cjs +12 -8
  730. package/dist/hero-image-slider.d.cts +11 -3
  731. package/dist/hero-image-slider.d.ts +11 -3
  732. package/dist/hero-image-slider.js +13 -9
  733. package/dist/hero-innovation-image-grid.cjs +8 -8
  734. package/dist/hero-innovation-image-grid.d.cts +1 -1
  735. package/dist/hero-innovation-image-grid.d.ts +1 -1
  736. package/dist/hero-innovation-image-grid.js +9 -9
  737. package/dist/hero-logo-centered-screenshot.cjs +11 -11
  738. package/dist/hero-logo-centered-screenshot.d.cts +1 -1
  739. package/dist/hero-logo-centered-screenshot.d.ts +1 -1
  740. package/dist/hero-logo-centered-screenshot.js +12 -12
  741. package/dist/hero-marketplace-scattered-images.cjs +11 -11
  742. package/dist/hero-marketplace-scattered-images.d.cts +1 -1
  743. package/dist/hero-marketplace-scattered-images.d.ts +1 -1
  744. package/dist/hero-marketplace-scattered-images.js +12 -12
  745. package/dist/hero-mental-health-team.cjs +11 -11
  746. package/dist/hero-mental-health-team.d.cts +1 -1
  747. package/dist/hero-mental-health-team.d.ts +1 -1
  748. package/dist/hero-mental-health-team.js +11 -11
  749. package/dist/hero-mentorship-video-split.cjs +9 -9
  750. package/dist/hero-mentorship-video-split.d.cts +1 -1
  751. package/dist/hero-mentorship-video-split.d.ts +1 -1
  752. package/dist/hero-mentorship-video-split.js +13 -13
  753. package/dist/hero-minimal-centered-dark.cjs +8 -8
  754. package/dist/hero-minimal-centered-dark.d.cts +1 -1
  755. package/dist/hero-minimal-centered-dark.d.ts +1 -1
  756. package/dist/hero-minimal-centered-dark.js +9 -9
  757. package/dist/hero-mobile-app-download.cjs +17 -17
  758. package/dist/hero-mobile-app-download.d.cts +1 -1
  759. package/dist/hero-mobile-app-download.d.ts +1 -1
  760. package/dist/hero-mobile-app-download.js +18 -18
  761. package/dist/hero-newsletter-minimal.cjs +8 -8
  762. package/dist/hero-newsletter-minimal.d.cts +1 -1
  763. package/dist/hero-newsletter-minimal.d.ts +1 -1
  764. package/dist/hero-newsletter-minimal.js +9 -9
  765. package/dist/hero-overlay-cta-grid.cjs +26 -17
  766. package/dist/hero-overlay-cta-grid.d.cts +24 -1
  767. package/dist/hero-overlay-cta-grid.d.ts +24 -1
  768. package/dist/hero-overlay-cta-grid.js +27 -18
  769. package/dist/hero-pattern-badge-logos.cjs +8 -8
  770. package/dist/hero-pattern-badge-logos.d.cts +1 -1
  771. package/dist/hero-pattern-badge-logos.d.ts +1 -1
  772. package/dist/hero-pattern-badge-logos.js +9 -9
  773. package/dist/hero-pattern-logo-tech-stack.cjs +11 -11
  774. package/dist/hero-pattern-logo-tech-stack.d.cts +1 -1
  775. package/dist/hero-pattern-logo-tech-stack.d.ts +1 -1
  776. package/dist/hero-pattern-logo-tech-stack.js +12 -12
  777. package/dist/hero-platform-features-grid.cjs +11 -11
  778. package/dist/hero-platform-features-grid.d.cts +1 -1
  779. package/dist/hero-platform-features-grid.d.ts +1 -1
  780. package/dist/hero-platform-features-grid.js +12 -12
  781. package/dist/hero-portfolio-creative.cjs +14 -14
  782. package/dist/hero-portfolio-creative.d.cts +1 -1
  783. package/dist/hero-portfolio-creative.d.ts +1 -1
  784. package/dist/hero-portfolio-creative.js +15 -15
  785. package/dist/hero-premium-split-avatars.cjs +14 -14
  786. package/dist/hero-premium-split-avatars.d.cts +1 -1
  787. package/dist/hero-premium-split-avatars.d.ts +1 -1
  788. package/dist/hero-premium-split-avatars.js +15 -15
  789. package/dist/hero-presentation-platform-video.cjs +8 -8
  790. package/dist/hero-presentation-platform-video.d.cts +1 -1
  791. package/dist/hero-presentation-platform-video.d.ts +1 -1
  792. package/dist/hero-presentation-platform-video.js +9 -9
  793. package/dist/hero-pricing-comparison.cjs +8 -8
  794. package/dist/hero-pricing-comparison.d.cts +1 -1
  795. package/dist/hero-pricing-comparison.d.ts +1 -1
  796. package/dist/hero-pricing-comparison.js +9 -9
  797. package/dist/hero-product-showcase-floating.cjs +17 -17
  798. package/dist/hero-product-showcase-floating.d.cts +1 -1
  799. package/dist/hero-product-showcase-floating.d.ts +1 -1
  800. package/dist/hero-product-showcase-floating.js +18 -18
  801. package/dist/hero-productivity-launcher-video.cjs +14 -14
  802. package/dist/hero-productivity-launcher-video.d.cts +1 -1
  803. package/dist/hero-productivity-launcher-video.d.ts +1 -1
  804. package/dist/hero-productivity-launcher-video.js +15 -15
  805. package/dist/hero-saas-dashboard-preview.cjs +11 -11
  806. package/dist/hero-saas-dashboard-preview.d.cts +1 -1
  807. package/dist/hero-saas-dashboard-preview.d.ts +1 -1
  808. package/dist/hero-saas-dashboard-preview.js +12 -12
  809. package/dist/hero-shared-inbox-layered.cjs +6 -6
  810. package/dist/hero-shared-inbox-layered.d.cts +1 -1
  811. package/dist/hero-shared-inbox-layered.d.ts +1 -1
  812. package/dist/hero-shared-inbox-layered.js +5 -5
  813. package/dist/hero-simple-centered-image.cjs +5 -5
  814. package/dist/hero-simple-centered-image.d.cts +1 -1
  815. package/dist/hero-simple-centered-image.d.ts +1 -1
  816. package/dist/hero-simple-centered-image.js +6 -6
  817. package/dist/hero-software-growth-video-dialog.cjs +6 -6
  818. package/dist/hero-software-growth-video-dialog.d.cts +1 -1
  819. package/dist/hero-software-growth-video-dialog.d.ts +1 -1
  820. package/dist/hero-software-growth-video-dialog.js +7 -7
  821. package/dist/hero-spiral-pattern-cards.cjs +5 -5
  822. package/dist/hero-spiral-pattern-cards.d.cts +1 -1
  823. package/dist/hero-spiral-pattern-cards.d.ts +1 -1
  824. package/dist/hero-spiral-pattern-cards.js +6 -6
  825. package/dist/hero-split-geometric-shapes.cjs +8 -8
  826. package/dist/hero-split-geometric-shapes.d.cts +1 -1
  827. package/dist/hero-split-geometric-shapes.d.ts +1 -1
  828. package/dist/hero-split-geometric-shapes.js +9 -9
  829. package/dist/hero-split-icon-cards.cjs +18 -13
  830. package/dist/hero-split-icon-cards.d.cts +12 -4
  831. package/dist/hero-split-icon-cards.d.ts +12 -4
  832. package/dist/hero-split-icon-cards.js +19 -14
  833. package/dist/hero-split-image-newsletter.cjs +8 -8
  834. package/dist/hero-split-image-newsletter.d.cts +1 -1
  835. package/dist/hero-split-image-newsletter.d.ts +1 -1
  836. package/dist/hero-split-image-newsletter.js +9 -9
  837. package/dist/hero-split-spiral-shapes.cjs +8 -8
  838. package/dist/hero-split-spiral-shapes.d.cts +1 -1
  839. package/dist/hero-split-spiral-shapes.d.ts +1 -1
  840. package/dist/hero-split-spiral-shapes.js +9 -9
  841. package/dist/hero-startup-launch-cta.cjs +11 -11
  842. package/dist/hero-startup-launch-cta.d.cts +1 -1
  843. package/dist/hero-startup-launch-cta.d.ts +1 -1
  844. package/dist/hero-startup-launch-cta.js +12 -12
  845. package/dist/hero-stats-social-proof.cjs +11 -11
  846. package/dist/hero-stats-social-proof.d.cts +1 -1
  847. package/dist/hero-stats-social-proof.d.ts +1 -1
  848. package/dist/hero-stats-social-proof.js +12 -12
  849. package/dist/hero-task-timer-animated.cjs +8 -8
  850. package/dist/hero-task-timer-animated.d.cts +1 -1
  851. package/dist/hero-task-timer-animated.d.ts +1 -1
  852. package/dist/hero-task-timer-animated.js +9 -9
  853. package/dist/hero-tech-carousel.cjs +3 -3
  854. package/dist/hero-tech-carousel.d.cts +1 -1
  855. package/dist/hero-tech-carousel.d.ts +1 -1
  856. package/dist/hero-tech-carousel.js +4 -4
  857. package/dist/hero-testimonial-image-grid.cjs +33 -19
  858. package/dist/hero-testimonial-image-grid.d.cts +24 -1
  859. package/dist/hero-testimonial-image-grid.d.ts +24 -1
  860. package/dist/hero-testimonial-image-grid.js +34 -20
  861. package/dist/hero-therapy-testimonial-grid.cjs +11 -11
  862. package/dist/hero-therapy-testimonial-grid.d.cts +1 -1
  863. package/dist/hero-therapy-testimonial-grid.d.ts +1 -1
  864. package/dist/hero-therapy-testimonial-grid.js +12 -12
  865. package/dist/hero-ui-library-showcase.cjs +11 -11
  866. package/dist/hero-ui-library-showcase.d.cts +1 -1
  867. package/dist/hero-ui-library-showcase.d.ts +1 -1
  868. package/dist/hero-ui-library-showcase.js +12 -12
  869. package/dist/hero-video-background-dark.cjs +8 -8
  870. package/dist/hero-video-background-dark.d.cts +1 -1
  871. package/dist/hero-video-background-dark.d.ts +1 -1
  872. package/dist/hero-video-background-dark.js +9 -9
  873. package/dist/hero-video-dialog-gradient.cjs +6 -6
  874. package/dist/hero-video-dialog-gradient.d.cts +1 -1
  875. package/dist/hero-video-dialog-gradient.d.ts +1 -1
  876. package/dist/hero-video-dialog-gradient.js +10 -10
  877. package/dist/hero-video-overlay-stars.cjs +11 -11
  878. package/dist/hero-video-overlay-stars.d.cts +1 -1
  879. package/dist/hero-video-overlay-stars.d.ts +1 -1
  880. package/dist/hero-video-overlay-stars.js +12 -12
  881. package/dist/hero-welcome-asymmetric-images.cjs +8 -8
  882. package/dist/hero-welcome-asymmetric-images.d.cts +1 -1
  883. package/dist/hero-welcome-asymmetric-images.d.ts +1 -1
  884. package/dist/hero-welcome-asymmetric-images.js +9 -9
  885. package/dist/index.cjs +1315 -533
  886. package/dist/index.d.cts +1 -1
  887. package/dist/index.d.ts +1 -1
  888. package/dist/index.js +1312 -536
  889. package/dist/industries-badge-list-bordered.cjs +12 -12
  890. package/dist/industries-badge-list-bordered.d.cts +1 -3
  891. package/dist/industries-badge-list-bordered.d.ts +1 -3
  892. package/dist/industries-badge-list-bordered.js +12 -12
  893. package/dist/industries-expandable-showcase.cjs +8 -8
  894. package/dist/industries-expandable-showcase.d.cts +1 -3
  895. package/dist/industries-expandable-showcase.d.ts +1 -3
  896. package/dist/industries-expandable-showcase.js +9 -9
  897. package/dist/industries-hover-reveal-grid.cjs +11 -11
  898. package/dist/industries-hover-reveal-grid.d.cts +1 -3
  899. package/dist/industries-hover-reveal-grid.d.ts +1 -3
  900. package/dist/industries-hover-reveal-grid.js +12 -12
  901. package/dist/industries-timeline-table.cjs +13 -13
  902. package/dist/industries-timeline-table.d.cts +1 -3
  903. package/dist/industries-timeline-table.d.ts +1 -3
  904. package/dist/industries-timeline-table.js +14 -14
  905. package/dist/interior-carousel.cjs +59 -29
  906. package/dist/interior-carousel.d.cts +1 -1
  907. package/dist/interior-carousel.d.ts +1 -1
  908. package/dist/interior-carousel.js +60 -30
  909. package/dist/link-page-bento-layout.cjs +21 -21
  910. package/dist/link-page-bento-layout.d.cts +1 -1
  911. package/dist/link-page-bento-layout.d.ts +1 -1
  912. package/dist/link-page-bento-layout.js +22 -22
  913. package/dist/link-page-grid-cards.cjs +15 -15
  914. package/dist/link-page-grid-cards.d.cts +1 -1
  915. package/dist/link-page-grid-cards.d.ts +1 -1
  916. package/dist/link-page-grid-cards.js +16 -16
  917. package/dist/link-page-minimal-profile.cjs +15 -15
  918. package/dist/link-page-minimal-profile.d.cts +1 -1
  919. package/dist/link-page-minimal-profile.d.ts +1 -1
  920. package/dist/link-page-minimal-profile.js +16 -16
  921. package/dist/link-page-newsletter-social.cjs +25 -25
  922. package/dist/link-page-newsletter-social.d.cts +1 -1
  923. package/dist/link-page-newsletter-social.d.ts +1 -1
  924. package/dist/link-page-newsletter-social.js +27 -27
  925. package/dist/link-tree-block.cjs +19 -19
  926. package/dist/link-tree-block.d.cts +1 -1
  927. package/dist/link-tree-block.d.ts +1 -1
  928. package/dist/link-tree-block.js +19 -19
  929. package/dist/list-searchable-grid.cjs +9 -9
  930. package/dist/list-searchable-grid.d.cts +1 -1
  931. package/dist/list-searchable-grid.d.ts +1 -1
  932. package/dist/list-searchable-grid.js +10 -10
  933. package/dist/logos-carousel-heading.cjs +7 -7
  934. package/dist/logos-carousel-heading.d.cts +1 -1
  935. package/dist/logos-carousel-heading.d.ts +1 -1
  936. package/dist/logos-carousel-heading.js +7 -7
  937. package/dist/logos-centered-simple.cjs +7 -7
  938. package/dist/logos-centered-simple.d.cts +1 -1
  939. package/dist/logos-centered-simple.d.ts +1 -1
  940. package/dist/logos-centered-simple.js +7 -7
  941. package/dist/logos-certifications-grid.cjs +10 -10
  942. package/dist/logos-certifications-grid.d.cts +1 -1
  943. package/dist/logos-certifications-grid.d.ts +1 -1
  944. package/dist/logos-certifications-grid.js +11 -11
  945. package/dist/logos-double-carousel-pattern.cjs +16 -16
  946. package/dist/logos-double-carousel-pattern.d.cts +1 -1
  947. package/dist/logos-double-carousel-pattern.d.ts +1 -1
  948. package/dist/logos-double-carousel-pattern.js +16 -16
  949. package/dist/logos-inline-tagline.cjs +8 -8
  950. package/dist/logos-inline-tagline.d.cts +1 -1
  951. package/dist/logos-inline-tagline.d.ts +1 -1
  952. package/dist/logos-inline-tagline.js +8 -8
  953. package/dist/logos-marquee-muted.cjs +7 -7
  954. package/dist/logos-marquee-muted.d.cts +1 -1
  955. package/dist/logos-marquee-muted.d.ts +1 -1
  956. package/dist/logos-marquee-muted.js +7 -7
  957. package/dist/logos-minimal-carousel.cjs +7 -7
  958. package/dist/logos-minimal-carousel.d.cts +1 -1
  959. package/dist/logos-minimal-carousel.d.ts +1 -1
  960. package/dist/logos-minimal-carousel.js +7 -7
  961. package/dist/logos-numbered-carousel.cjs +10 -10
  962. package/dist/logos-numbered-carousel.d.cts +1 -1
  963. package/dist/logos-numbered-carousel.d.ts +1 -1
  964. package/dist/logos-numbered-carousel.js +10 -10
  965. package/dist/logos-partner-grid-sidebar.cjs +12 -12
  966. package/dist/logos-partner-grid-sidebar.d.cts +1 -1
  967. package/dist/logos-partner-grid-sidebar.d.ts +1 -1
  968. package/dist/logos-partner-grid-sidebar.js +12 -12
  969. package/dist/logos-partner-network.cjs +10 -10
  970. package/dist/logos-partner-network.d.cts +1 -1
  971. package/dist/logos-partner-network.d.ts +1 -1
  972. package/dist/logos-partner-network.js +11 -11
  973. package/dist/logos-two-row-grid.cjs +40 -31
  974. package/dist/logos-two-row-grid.d.cts +1 -1
  975. package/dist/logos-two-row-grid.d.ts +1 -1
  976. package/dist/logos-two-row-grid.js +41 -32
  977. package/dist/masonry-motion-grid.cjs +2 -2
  978. package/dist/masonry-motion-grid.d.cts +1 -1
  979. package/dist/masonry-motion-grid.d.ts +1 -1
  980. package/dist/masonry-motion-grid.js +2 -2
  981. package/dist/media-hover-ctas.d.cts +1 -1
  982. package/dist/media-hover-ctas.d.ts +1 -1
  983. package/dist/navbar-animated-preview.cjs +14 -14
  984. package/dist/navbar-animated-preview.d.cts +1 -1
  985. package/dist/navbar-animated-preview.d.ts +1 -1
  986. package/dist/navbar-animated-preview.js +15 -15
  987. package/dist/navbar-centered-menu.cjs +19 -19
  988. package/dist/navbar-centered-menu.d.cts +1 -1
  989. package/dist/navbar-centered-menu.d.ts +1 -1
  990. package/dist/navbar-centered-menu.js +19 -19
  991. package/dist/navbar-dark-icons.cjs +18 -18
  992. package/dist/navbar-dark-icons.d.cts +1 -1
  993. package/dist/navbar-dark-icons.d.ts +1 -1
  994. package/dist/navbar-dark-icons.js +19 -19
  995. package/dist/navbar-dropdown-menu.cjs +19 -19
  996. package/dist/navbar-dropdown-menu.d.cts +1 -1
  997. package/dist/navbar-dropdown-menu.d.ts +1 -1
  998. package/dist/navbar-dropdown-menu.js +20 -20
  999. package/dist/navbar-education-platform.cjs +19 -82
  1000. package/dist/navbar-education-platform.d.cts +1 -1
  1001. package/dist/navbar-education-platform.d.ts +1 -1
  1002. package/dist/navbar-education-platform.js +20 -83
  1003. package/dist/navbar-enterprise-mega.cjs +11 -11
  1004. package/dist/navbar-enterprise-mega.d.cts +1 -1
  1005. package/dist/navbar-enterprise-mega.d.ts +1 -1
  1006. package/dist/navbar-enterprise-mega.js +16 -16
  1007. package/dist/navbar-feature-grid.cjs +27 -58
  1008. package/dist/navbar-feature-grid.d.cts +1 -1
  1009. package/dist/navbar-feature-grid.d.ts +1 -1
  1010. package/dist/navbar-feature-grid.js +28 -59
  1011. package/dist/navbar-floating-pill.cjs +12 -12
  1012. package/dist/navbar-floating-pill.d.cts +1 -1
  1013. package/dist/navbar-floating-pill.d.ts +1 -1
  1014. package/dist/navbar-floating-pill.js +13 -13
  1015. package/dist/navbar-fullscreen-menu.cjs +13 -13
  1016. package/dist/navbar-fullscreen-menu.d.cts +1 -1
  1017. package/dist/navbar-fullscreen-menu.d.ts +1 -1
  1018. package/dist/navbar-fullscreen-menu.js +14 -14
  1019. package/dist/navbar-icon-links.cjs +12 -12
  1020. package/dist/navbar-icon-links.d.cts +1 -1
  1021. package/dist/navbar-icon-links.d.ts +1 -1
  1022. package/dist/navbar-icon-links.js +13 -13
  1023. package/dist/navbar-image-preview.cjs +20 -20
  1024. package/dist/navbar-image-preview.d.cts +1 -1
  1025. package/dist/navbar-image-preview.d.ts +1 -1
  1026. package/dist/navbar-image-preview.js +21 -21
  1027. package/dist/navbar-mega-menu.d.cts +1 -1
  1028. package/dist/navbar-mega-menu.d.ts +1 -1
  1029. package/dist/navbar-multi-column-groups.cjs +14 -14
  1030. package/dist/navbar-multi-column-groups.d.cts +1 -1
  1031. package/dist/navbar-multi-column-groups.d.ts +1 -1
  1032. package/dist/navbar-multi-column-groups.js +15 -15
  1033. package/dist/navbar-platform-resources.cjs +7 -7
  1034. package/dist/navbar-platform-resources.d.cts +1 -1
  1035. package/dist/navbar-platform-resources.d.ts +1 -1
  1036. package/dist/navbar-platform-resources.js +8 -8
  1037. package/dist/navbar-search-focused.cjs +12 -13
  1038. package/dist/navbar-search-focused.d.cts +1 -1
  1039. package/dist/navbar-search-focused.d.ts +1 -1
  1040. package/dist/navbar-search-focused.js +13 -14
  1041. package/dist/navbar-sidebar-mobile.cjs +2 -2
  1042. package/dist/navbar-sidebar-mobile.d.cts +1 -1
  1043. package/dist/navbar-sidebar-mobile.d.ts +1 -1
  1044. package/dist/navbar-sidebar-mobile.js +2 -2
  1045. package/dist/navbar-simple-links.cjs +14 -14
  1046. package/dist/navbar-simple-links.d.cts +1 -1
  1047. package/dist/navbar-simple-links.d.ts +1 -1
  1048. package/dist/navbar-simple-links.js +15 -15
  1049. package/dist/navbar-split-cta.cjs +13 -13
  1050. package/dist/navbar-split-cta.d.cts +1 -1
  1051. package/dist/navbar-split-cta.d.ts +1 -1
  1052. package/dist/navbar-split-cta.js +14 -14
  1053. package/dist/navbar-sticky-compact.cjs +15 -15
  1054. package/dist/navbar-sticky-compact.d.cts +1 -1
  1055. package/dist/navbar-sticky-compact.d.ts +1 -1
  1056. package/dist/navbar-sticky-compact.js +16 -16
  1057. package/dist/navbar-tabbed-sections.cjs +15 -15
  1058. package/dist/navbar-tabbed-sections.d.cts +1 -1
  1059. package/dist/navbar-tabbed-sections.d.ts +1 -1
  1060. package/dist/navbar-tabbed-sections.js +16 -16
  1061. package/dist/navbar-transparent-overlay.cjs +14 -14
  1062. package/dist/navbar-transparent-overlay.d.cts +1 -1
  1063. package/dist/navbar-transparent-overlay.d.ts +1 -1
  1064. package/dist/navbar-transparent-overlay.js +15 -15
  1065. package/dist/page-hero-banner.d.cts +1 -1
  1066. package/dist/page-hero-banner.d.ts +1 -1
  1067. package/dist/pressable.d.cts +1 -1
  1068. package/dist/pressable.d.ts +1 -1
  1069. package/dist/process-expandable-timeline.cjs +6 -6
  1070. package/dist/process-expandable-timeline.d.cts +1 -1
  1071. package/dist/process-expandable-timeline.d.ts +1 -1
  1072. package/dist/process-expandable-timeline.js +7 -7
  1073. package/dist/process-hover-cards.cjs +6 -6
  1074. package/dist/process-hover-cards.d.cts +1 -1
  1075. package/dist/process-hover-cards.d.ts +1 -1
  1076. package/dist/process-hover-cards.js +7 -7
  1077. package/dist/process-icon-timeline.cjs +10 -10
  1078. package/dist/process-icon-timeline.d.cts +1 -1
  1079. package/dist/process-icon-timeline.d.ts +1 -1
  1080. package/dist/process-icon-timeline.js +11 -11
  1081. package/dist/process-mission-principles.cjs +12 -12
  1082. package/dist/process-mission-principles.d.cts +1 -1
  1083. package/dist/process-mission-principles.d.ts +1 -1
  1084. package/dist/process-mission-principles.js +12 -12
  1085. package/dist/process-numbered-services.cjs +45 -43
  1086. package/dist/process-numbered-services.d.cts +1 -1
  1087. package/dist/process-numbered-services.d.ts +1 -1
  1088. package/dist/process-numbered-services.js +46 -44
  1089. package/dist/process-roadmap-timeline.cjs +9 -9
  1090. package/dist/process-roadmap-timeline.d.cts +1 -1
  1091. package/dist/process-roadmap-timeline.d.ts +1 -1
  1092. package/dist/process-roadmap-timeline.js +10 -10
  1093. package/dist/process-scroll-image.cjs +44 -40
  1094. package/dist/process-scroll-image.d.cts +1 -1
  1095. package/dist/process-scroll-image.d.ts +1 -1
  1096. package/dist/process-scroll-image.js +45 -41
  1097. package/dist/process-steps-grid.cjs +7 -7
  1098. package/dist/process-steps-grid.d.cts +1 -1
  1099. package/dist/process-steps-grid.d.ts +1 -1
  1100. package/dist/process-steps-grid.js +8 -8
  1101. package/dist/process-sticky-steps.cjs +41 -39
  1102. package/dist/process-sticky-steps.d.cts +1 -1
  1103. package/dist/process-sticky-steps.d.ts +1 -1
  1104. package/dist/process-sticky-steps.js +42 -40
  1105. package/dist/project-alternating-motion.cjs +4 -4
  1106. package/dist/project-alternating-motion.d.cts +1 -1
  1107. package/dist/project-alternating-motion.d.ts +1 -1
  1108. package/dist/project-alternating-motion.js +4 -4
  1109. package/dist/project-background-reveal.cjs +5 -5
  1110. package/dist/project-background-reveal.d.cts +1 -1
  1111. package/dist/project-background-reveal.d.ts +1 -1
  1112. package/dist/project-background-reveal.js +6 -6
  1113. package/dist/project-card-overlay.cjs +4 -4
  1114. package/dist/project-card-overlay.d.cts +1 -1
  1115. package/dist/project-card-overlay.d.ts +1 -1
  1116. package/dist/project-card-overlay.js +5 -5
  1117. package/dist/project-carousel-cinematic.cjs +3 -3
  1118. package/dist/project-carousel-cinematic.d.cts +1 -1
  1119. package/dist/project-carousel-cinematic.d.ts +1 -1
  1120. package/dist/project-carousel-cinematic.js +4 -4
  1121. package/dist/project-carousel-detail-cards.cjs +3 -3
  1122. package/dist/project-carousel-detail-cards.d.cts +1 -1
  1123. package/dist/project-carousel-detail-cards.d.ts +1 -1
  1124. package/dist/project-carousel-detail-cards.js +4 -4
  1125. package/dist/project-carousel-minimal.cjs +3 -3
  1126. package/dist/project-carousel-minimal.d.cts +1 -1
  1127. package/dist/project-carousel-minimal.d.ts +1 -1
  1128. package/dist/project-carousel-minimal.js +4 -4
  1129. package/dist/project-detail-architecture-carousel.cjs +5 -5
  1130. package/dist/project-detail-architecture-carousel.d.cts +1 -1
  1131. package/dist/project-detail-architecture-carousel.d.ts +1 -1
  1132. package/dist/project-detail-architecture-carousel.js +5 -5
  1133. package/dist/project-experience-quote.cjs +5 -5
  1134. package/dist/project-experience-quote.d.cts +1 -1
  1135. package/dist/project-experience-quote.d.ts +1 -1
  1136. package/dist/project-experience-quote.js +6 -6
  1137. package/dist/project-featured-carousel.cjs +4 -4
  1138. package/dist/project-featured-carousel.d.cts +1 -1
  1139. package/dist/project-featured-carousel.d.ts +1 -1
  1140. package/dist/project-featured-carousel.js +5 -5
  1141. package/dist/project-filterable-gallery.cjs +3 -3
  1142. package/dist/project-filterable-gallery.d.cts +1 -1
  1143. package/dist/project-filterable-gallery.d.ts +1 -1
  1144. package/dist/project-filterable-gallery.js +4 -4
  1145. package/dist/project-filterable-three-column.cjs +3 -3
  1146. package/dist/project-filterable-three-column.d.cts +1 -1
  1147. package/dist/project-filterable-three-column.d.ts +1 -1
  1148. package/dist/project-filterable-three-column.js +4 -4
  1149. package/dist/project-grid-gallery.cjs +4 -4
  1150. package/dist/project-grid-gallery.d.cts +1 -1
  1151. package/dist/project-grid-gallery.d.ts +1 -1
  1152. package/dist/project-grid-gallery.js +4 -4
  1153. package/dist/project-grid-motion.cjs +4 -4
  1154. package/dist/project-grid-motion.d.cts +1 -1
  1155. package/dist/project-grid-motion.d.ts +1 -1
  1156. package/dist/project-grid-motion.js +4 -4
  1157. package/dist/project-horizontal-cards.cjs +17 -7
  1158. package/dist/project-horizontal-cards.d.cts +14 -2
  1159. package/dist/project-horizontal-cards.d.ts +14 -2
  1160. package/dist/project-horizontal-cards.js +18 -8
  1161. package/dist/project-hover-reveal-grid.cjs +4 -4
  1162. package/dist/project-hover-reveal-grid.d.cts +1 -1
  1163. package/dist/project-hover-reveal-grid.d.ts +1 -1
  1164. package/dist/project-hover-reveal-grid.js +4 -4
  1165. package/dist/project-interactive-hover-reveal.cjs +8 -5
  1166. package/dist/project-interactive-hover-reveal.d.cts +14 -2
  1167. package/dist/project-interactive-hover-reveal.d.ts +14 -2
  1168. package/dist/project-interactive-hover-reveal.js +9 -6
  1169. package/dist/project-masonry-columns.cjs +4 -4
  1170. package/dist/project-masonry-columns.d.cts +1 -1
  1171. package/dist/project-masonry-columns.d.ts +1 -1
  1172. package/dist/project-masonry-columns.js +4 -4
  1173. package/dist/project-nature-mosaic.cjs +4 -4
  1174. package/dist/project-nature-mosaic.d.cts +1 -1
  1175. package/dist/project-nature-mosaic.d.ts +1 -1
  1176. package/dist/project-nature-mosaic.js +5 -5
  1177. package/dist/project-scroll-reveal.cjs +3 -3
  1178. package/dist/project-scroll-reveal.d.cts +1 -1
  1179. package/dist/project-scroll-reveal.d.ts +1 -1
  1180. package/dist/project-scroll-reveal.js +4 -4
  1181. package/dist/project-showcase-alternating.cjs +4 -4
  1182. package/dist/project-showcase-alternating.d.cts +1 -1
  1183. package/dist/project-showcase-alternating.d.ts +1 -1
  1184. package/dist/project-showcase-alternating.js +4 -4
  1185. package/dist/project-sticky-scroll.cjs +3 -3
  1186. package/dist/project-sticky-scroll.d.cts +1 -1
  1187. package/dist/project-sticky-scroll.d.ts +1 -1
  1188. package/dist/project-sticky-scroll.js +4 -4
  1189. package/dist/project-studio-hover-preview.cjs +5 -4
  1190. package/dist/project-studio-hover-preview.d.cts +6 -2
  1191. package/dist/project-studio-hover-preview.d.ts +6 -2
  1192. package/dist/project-studio-hover-preview.js +6 -5
  1193. package/dist/project-table-list.cjs +10 -7
  1194. package/dist/project-table-list.d.cts +14 -2
  1195. package/dist/project-table-list.d.ts +14 -2
  1196. package/dist/project-table-list.js +10 -7
  1197. package/dist/project-video-carousel.cjs +3 -3
  1198. package/dist/project-video-carousel.d.cts +1 -1
  1199. package/dist/project-video-carousel.d.ts +1 -1
  1200. package/dist/project-video-carousel.js +4 -4
  1201. package/dist/project-video-hover-bento.cjs +3 -3
  1202. package/dist/project-video-hover-bento.d.cts +1 -1
  1203. package/dist/project-video-hover-bento.d.ts +1 -1
  1204. package/dist/project-video-hover-bento.js +4 -4
  1205. package/dist/project-video-hover-grid.cjs +3 -3
  1206. package/dist/project-video-hover-grid.d.cts +1 -1
  1207. package/dist/project-video-hover-grid.d.ts +1 -1
  1208. package/dist/project-video-hover-grid.js +4 -4
  1209. package/dist/project-video-hover-rounded.cjs +3 -3
  1210. package/dist/project-video-hover-rounded.d.cts +1 -1
  1211. package/dist/project-video-hover-rounded.d.ts +1 -1
  1212. package/dist/project-video-hover-rounded.js +4 -4
  1213. package/dist/project-video-hover-stack.cjs +3 -3
  1214. package/dist/project-video-hover-stack.d.cts +1 -1
  1215. package/dist/project-video-hover-stack.d.ts +1 -1
  1216. package/dist/project-video-hover-stack.js +4 -4
  1217. package/dist/project-video-hover-two-by-two.cjs +3 -3
  1218. package/dist/project-video-hover-two-by-two.d.cts +1 -1
  1219. package/dist/project-video-hover-two-by-two.d.ts +1 -1
  1220. package/dist/project-video-hover-two-by-two.js +4 -4
  1221. package/dist/project-work-showcase.cjs +6 -5
  1222. package/dist/project-work-showcase.d.cts +6 -2
  1223. package/dist/project-work-showcase.d.ts +6 -2
  1224. package/dist/project-work-showcase.js +7 -6
  1225. package/dist/registry.cjs +12299 -10501
  1226. package/dist/registry.js +11991 -10193
  1227. package/dist/resource-detail-whitepaper-sidebar.cjs +38 -14
  1228. package/dist/resource-detail-whitepaper-sidebar.d.cts +14 -2
  1229. package/dist/resource-detail-whitepaper-sidebar.d.ts +14 -2
  1230. package/dist/resource-detail-whitepaper-sidebar.js +39 -15
  1231. package/dist/resource-list-course-cards.cjs +11 -9
  1232. package/dist/resource-list-course-cards.d.cts +10 -2
  1233. package/dist/resource-list-course-cards.d.ts +10 -2
  1234. package/dist/resource-list-course-cards.js +12 -10
  1235. package/dist/resource-list-featured-articles.cjs +9 -9
  1236. package/dist/resource-list-featured-articles.d.cts +1 -1
  1237. package/dist/resource-list-featured-articles.d.ts +1 -1
  1238. package/dist/resource-list-featured-articles.js +10 -10
  1239. package/dist/resource-list-featured-grid.cjs +19 -15
  1240. package/dist/resource-list-featured-grid.d.cts +6 -2
  1241. package/dist/resource-list-featured-grid.d.ts +6 -2
  1242. package/dist/resource-list-featured-grid.js +20 -16
  1243. package/dist/resource-list-hero-filter.cjs +10 -10
  1244. package/dist/resource-list-hero-filter.js +11 -11
  1245. package/dist/resource-list-news-updates.cjs +5 -5
  1246. package/dist/resource-list-news-updates.d.cts +1 -1
  1247. package/dist/resource-list-news-updates.d.ts +1 -1
  1248. package/dist/resource-list-news-updates.js +9 -9
  1249. package/dist/reviews-images-helpful.cjs +8 -7
  1250. package/dist/reviews-images-helpful.d.cts +6 -2
  1251. package/dist/reviews-images-helpful.d.ts +6 -2
  1252. package/dist/reviews-images-helpful.js +9 -8
  1253. package/dist/reviews-list-verified.cjs +10 -8
  1254. package/dist/reviews-list-verified.d.cts +6 -2
  1255. package/dist/reviews-list-verified.d.ts +6 -2
  1256. package/dist/reviews-list-verified.js +11 -9
  1257. package/dist/section.d.cts +1 -1
  1258. package/dist/section.d.ts +1 -1
  1259. package/dist/service-detail-centered-expertise.d.cts +1 -1
  1260. package/dist/service-detail-centered-expertise.d.ts +1 -1
  1261. package/dist/service-detail-compact-cards.d.cts +1 -1
  1262. package/dist/service-detail-compact-cards.d.ts +1 -1
  1263. package/dist/service-detail-image-hero.cjs +2 -2
  1264. package/dist/service-detail-image-hero.d.cts +1 -1
  1265. package/dist/service-detail-image-hero.d.ts +1 -1
  1266. package/dist/service-detail-image-hero.js +2 -2
  1267. package/dist/service-detail-prose-minimal.cjs +1 -1
  1268. package/dist/service-detail-prose-minimal.d.cts +1 -1
  1269. package/dist/service-detail-prose-minimal.d.ts +1 -1
  1270. package/dist/service-detail-prose-minimal.js +1 -1
  1271. package/dist/service-detail-sidebar-related.d.cts +1 -1
  1272. package/dist/service-detail-sidebar-related.d.ts +1 -1
  1273. package/dist/service-detail-sidebar-stats.cjs +1 -1
  1274. package/dist/service-detail-sidebar-stats.d.cts +1 -1
  1275. package/dist/service-detail-sidebar-stats.d.ts +1 -1
  1276. package/dist/service-detail-sidebar-stats.js +1 -1
  1277. package/dist/service-detail-stats-hero.cjs +3 -3
  1278. package/dist/service-detail-stats-hero.d.cts +1 -1
  1279. package/dist/service-detail-stats-hero.d.ts +1 -1
  1280. package/dist/service-detail-stats-hero.js +3 -3
  1281. package/dist/service-hover-carousel.cjs +132 -52
  1282. package/dist/service-hover-carousel.d.cts +1 -2
  1283. package/dist/service-hover-carousel.d.ts +1 -2
  1284. package/dist/service-hover-carousel.js +133 -53
  1285. package/dist/services-list-feature-spotlight.cjs +2 -2
  1286. package/dist/services-list-feature-spotlight.d.cts +1 -1
  1287. package/dist/services-list-feature-spotlight.d.ts +1 -1
  1288. package/dist/services-list-feature-spotlight.js +2 -2
  1289. package/dist/stats-animated-counter.d.cts +1 -1
  1290. package/dist/stats-animated-counter.d.ts +1 -1
  1291. package/dist/stats-bar-comparison.d.cts +1 -1
  1292. package/dist/stats-bar-comparison.d.ts +1 -1
  1293. package/dist/stats-card-group.d.cts +1 -1
  1294. package/dist/stats-card-group.d.ts +1 -1
  1295. package/dist/stats-circular-progress.d.cts +1 -1
  1296. package/dist/stats-circular-progress.d.ts +1 -1
  1297. package/dist/stats-growth-timeline.d.cts +1 -1
  1298. package/dist/stats-growth-timeline.d.ts +1 -1
  1299. package/dist/stats-icon-cards.d.cts +1 -1
  1300. package/dist/stats-icon-cards.d.ts +1 -1
  1301. package/dist/stats-impact-grid.d.cts +1 -1
  1302. package/dist/stats-impact-grid.d.ts +1 -1
  1303. package/dist/stats-milestone-sidebar.d.cts +1 -1
  1304. package/dist/stats-milestone-sidebar.d.ts +1 -1
  1305. package/dist/stats-number-ticker.d.cts +1 -1
  1306. package/dist/stats-number-ticker.d.ts +1 -1
  1307. package/dist/stats-primary-secondary.d.cts +1 -1
  1308. package/dist/stats-primary-secondary.d.ts +1 -1
  1309. package/dist/stats-simple-grid.d.cts +1 -1
  1310. package/dist/stats-simple-grid.d.ts +1 -1
  1311. package/dist/stats-timeline-tabs.d.cts +1 -1
  1312. package/dist/stats-timeline-tabs.d.ts +1 -1
  1313. package/dist/team-media-showcase.cjs +11 -11
  1314. package/dist/team-media-showcase.d.cts +1 -1
  1315. package/dist/team-media-showcase.d.ts +1 -1
  1316. package/dist/team-media-showcase.js +11 -11
  1317. package/dist/testimonial-carousel-cards.cjs +27 -8
  1318. package/dist/testimonial-carousel-cards.d.cts +1 -1
  1319. package/dist/testimonial-carousel-cards.d.ts +1 -1
  1320. package/dist/testimonial-carousel-cards.js +28 -9
  1321. package/dist/testimonials-animated-split.cjs +5 -5
  1322. package/dist/testimonials-animated-split.d.cts +1 -1
  1323. package/dist/testimonials-animated-split.d.ts +1 -1
  1324. package/dist/testimonials-animated-split.js +6 -6
  1325. package/dist/testimonials-bento-grid.cjs +7 -7
  1326. package/dist/testimonials-bento-grid.d.cts +1 -1
  1327. package/dist/testimonials-bento-grid.d.ts +1 -1
  1328. package/dist/testimonials-bento-grid.js +8 -8
  1329. package/dist/testimonials-carousel-image.cjs +9 -7
  1330. package/dist/testimonials-carousel-image.d.cts +9 -1
  1331. package/dist/testimonials-carousel-image.d.ts +9 -1
  1332. package/dist/testimonials-carousel-image.js +10 -8
  1333. package/dist/testimonials-centered-avatars.cjs +8 -8
  1334. package/dist/testimonials-centered-avatars.d.cts +1 -1
  1335. package/dist/testimonials-centered-avatars.d.ts +1 -1
  1336. package/dist/testimonials-centered-avatars.js +7 -7
  1337. package/dist/testimonials-company-logo.cjs +10 -133
  1338. package/dist/testimonials-company-logo.d.cts +1 -1
  1339. package/dist/testimonials-company-logo.d.ts +1 -1
  1340. package/dist/testimonials-company-logo.js +11 -134
  1341. package/dist/testimonials-grid-add-review.cjs +9 -9
  1342. package/dist/testimonials-grid-add-review.d.cts +1 -1
  1343. package/dist/testimonials-grid-add-review.d.ts +1 -1
  1344. package/dist/testimonials-grid-add-review.js +10 -10
  1345. package/dist/testimonials-large-quote.cjs +7 -7
  1346. package/dist/testimonials-large-quote.d.cts +1 -1
  1347. package/dist/testimonials-large-quote.d.ts +1 -1
  1348. package/dist/testimonials-large-quote.js +8 -8
  1349. package/dist/testimonials-logo-cards.cjs +8 -8
  1350. package/dist/testimonials-logo-cards.d.cts +1 -1
  1351. package/dist/testimonials-logo-cards.d.ts +1 -1
  1352. package/dist/testimonials-logo-cards.js +7 -7
  1353. package/dist/testimonials-marquee.cjs +8 -8
  1354. package/dist/testimonials-marquee.d.cts +1 -1
  1355. package/dist/testimonials-marquee.d.ts +1 -1
  1356. package/dist/testimonials-marquee.js +7 -7
  1357. package/dist/testimonials-masonry-grid.cjs +8 -8
  1358. package/dist/testimonials-masonry-grid.d.cts +1 -1
  1359. package/dist/testimonials-masonry-grid.d.ts +1 -1
  1360. package/dist/testimonials-masonry-grid.js +7 -7
  1361. package/dist/testimonials-mini-dividers.cjs +7 -7
  1362. package/dist/testimonials-mini-dividers.d.cts +1 -1
  1363. package/dist/testimonials-mini-dividers.d.ts +1 -1
  1364. package/dist/testimonials-mini-dividers.js +8 -8
  1365. package/dist/testimonials-minimal-numbered.cjs +5 -5
  1366. package/dist/testimonials-minimal-numbered.d.cts +1 -1
  1367. package/dist/testimonials-minimal-numbered.d.ts +1 -1
  1368. package/dist/testimonials-minimal-numbered.js +6 -6
  1369. package/dist/testimonials-parallax-number.cjs +11 -7
  1370. package/dist/testimonials-parallax-number.d.cts +6 -2
  1371. package/dist/testimonials-parallax-number.d.ts +6 -2
  1372. package/dist/testimonials-parallax-number.js +12 -8
  1373. package/dist/testimonials-quote-carousel.cjs +11 -11
  1374. package/dist/testimonials-quote-carousel.d.cts +1 -1
  1375. package/dist/testimonials-quote-carousel.d.ts +1 -1
  1376. package/dist/testimonials-quote-carousel.js +11 -11
  1377. package/dist/testimonials-scrolling-columns.cjs +6 -6
  1378. package/dist/testimonials-scrolling-columns.d.cts +1 -1
  1379. package/dist/testimonials-scrolling-columns.d.ts +1 -1
  1380. package/dist/testimonials-scrolling-columns.js +7 -7
  1381. package/dist/testimonials-simple-grid.cjs +8 -8
  1382. package/dist/testimonials-simple-grid.d.cts +1 -1
  1383. package/dist/testimonials-simple-grid.d.ts +1 -1
  1384. package/dist/testimonials-simple-grid.js +7 -7
  1385. package/dist/testimonials-slider-minimal.cjs +5 -5
  1386. package/dist/testimonials-slider-minimal.d.cts +1 -1
  1387. package/dist/testimonials-slider-minimal.d.ts +1 -1
  1388. package/dist/testimonials-slider-minimal.js +6 -6
  1389. package/dist/testimonials-split-image.cjs +9 -128
  1390. package/dist/testimonials-split-image.d.cts +1 -1
  1391. package/dist/testimonials-split-image.d.ts +1 -1
  1392. package/dist/testimonials-split-image.js +10 -129
  1393. package/dist/testimonials-stats-header.cjs +12 -17
  1394. package/dist/testimonials-stats-header.d.cts +1 -1
  1395. package/dist/testimonials-stats-header.d.ts +1 -1
  1396. package/dist/testimonials-stats-header.js +13 -18
  1397. package/dist/testimonials-twitter-cards.cjs +7 -7
  1398. package/dist/testimonials-twitter-cards.d.cts +1 -1
  1399. package/dist/testimonials-twitter-cards.d.ts +1 -1
  1400. package/dist/testimonials-twitter-cards.js +8 -8
  1401. package/dist/testimonials-wall-compact.cjs +8 -8
  1402. package/dist/testimonials-wall-compact.d.cts +1 -1
  1403. package/dist/testimonials-wall-compact.d.ts +1 -1
  1404. package/dist/testimonials-wall-compact.js +7 -7
  1405. package/dist/timeline-ai-workflow-cards.cjs +2 -2
  1406. package/dist/timeline-ai-workflow-cards.d.cts +1 -1
  1407. package/dist/timeline-ai-workflow-cards.d.ts +1 -1
  1408. package/dist/timeline-ai-workflow-cards.js +2 -2
  1409. package/dist/timeline-alternating-diagonal.cjs +10 -13
  1410. package/dist/timeline-alternating-diagonal.d.cts +1 -1
  1411. package/dist/timeline-alternating-diagonal.d.ts +1 -1
  1412. package/dist/timeline-alternating-diagonal.js +11 -14
  1413. package/dist/timeline-changelog-badges.cjs +3 -3
  1414. package/dist/timeline-changelog-badges.d.cts +1 -1
  1415. package/dist/timeline-changelog-badges.d.ts +1 -1
  1416. package/dist/timeline-changelog-badges.js +3 -3
  1417. package/dist/timeline-history-prose.cjs +2 -2
  1418. package/dist/timeline-history-prose.d.cts +1 -1
  1419. package/dist/timeline-history-prose.d.ts +1 -1
  1420. package/dist/timeline-history-prose.js +2 -2
  1421. package/dist/timeline-horizontal-icons.cjs +4 -4
  1422. package/dist/timeline-horizontal-icons.d.cts +1 -1
  1423. package/dist/timeline-horizontal-icons.d.ts +1 -1
  1424. package/dist/timeline-horizontal-icons.js +4 -4
  1425. package/dist/timeline-horizontal-phases.cjs +4 -4
  1426. package/dist/timeline-horizontal-phases.d.cts +1 -1
  1427. package/dist/timeline-horizontal-phases.d.ts +1 -1
  1428. package/dist/timeline-horizontal-phases.js +4 -4
  1429. package/dist/timeline-product-launch.cjs +9 -12
  1430. package/dist/timeline-product-launch.d.cts +1 -1
  1431. package/dist/timeline-product-launch.d.ts +1 -1
  1432. package/dist/timeline-product-launch.js +10 -13
  1433. package/dist/timeline-productivity-list.cjs +2 -2
  1434. package/dist/timeline-productivity-list.d.cts +1 -1
  1435. package/dist/timeline-productivity-list.d.ts +1 -1
  1436. package/dist/timeline-productivity-list.js +2 -2
  1437. package/dist/timeline-scroll-highlight.cjs +2 -2
  1438. package/dist/timeline-scroll-highlight.d.cts +1 -1
  1439. package/dist/timeline-scroll-highlight.d.ts +1 -1
  1440. package/dist/timeline-scroll-highlight.js +2 -2
  1441. package/dist/timeline-scroll-sticky-image.cjs +2 -2
  1442. package/dist/timeline-scroll-sticky-image.d.cts +1 -1
  1443. package/dist/timeline-scroll-sticky-image.d.ts +1 -1
  1444. package/dist/timeline-scroll-sticky-image.js +2 -2
  1445. package/dist/timeline-stepper-animated.cjs +30 -30
  1446. package/dist/timeline-stepper-animated.d.cts +1 -1
  1447. package/dist/timeline-stepper-animated.d.ts +1 -1
  1448. package/dist/timeline-stepper-animated.js +29 -29
  1449. package/dist/timeline-tabbed-phases.cjs +7 -10
  1450. package/dist/timeline-tabbed-phases.d.cts +1 -1
  1451. package/dist/timeline-tabbed-phases.d.ts +1 -1
  1452. package/dist/timeline-tabbed-phases.js +8 -11
  1453. package/dist/timeline-two-column-featured.cjs +7 -7
  1454. package/dist/timeline-two-column-featured.d.cts +1 -1
  1455. package/dist/timeline-two-column-featured.d.ts +1 -1
  1456. package/dist/timeline-two-column-featured.js +8 -8
  1457. package/dist/timeline-vertical-icon-dashed.cjs +2 -2
  1458. package/dist/timeline-vertical-icon-dashed.d.cts +1 -1
  1459. package/dist/timeline-vertical-icon-dashed.d.ts +1 -1
  1460. package/dist/timeline-vertical-icon-dashed.js +2 -2
  1461. package/dist/types.d.cts +3 -374
  1462. package/dist/types.d.ts +3 -374
  1463. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import * as React4 from 'react';
3
- import React4__default, { useId, useRef, useEffect, useMemo } from 'react';
3
+ import React4__default, { useId, useRef, useEffect, useMemo, useCallback } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import { AnimatePresence, motion } from 'framer-motion';
8
8
  import { useOnClickOutside } from '@opensite/hooks/core/useOnClickOutside';
9
9
  import { AnimatePresence as AnimatePresence$1, motion as motion$1 } from 'motion/react';
@@ -11,6 +11,7 @@ import { Img } from '@page-speed/img';
11
11
  import { Slot } from '@radix-ui/react-slot';
12
12
  import { cva } from 'class-variance-authority';
13
13
  import * as PopoverPrimitive from '@radix-ui/react-popover';
14
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
14
15
  import { useForm, Form, Field } from '@page-speed/forms';
15
16
  import { TextInput as TextInput$1 } from '@page-speed/forms/inputs';
16
17
  import { serializeForRails, deserializeErrors } from '@page-speed/forms/integration';
@@ -1508,14 +1509,16 @@ function AlternatingBlocks({
1508
1509
  sectionsSlot,
1509
1510
  title,
1510
1511
  subtitle,
1511
- background = "white",
1512
- spacing = "lg",
1512
+ background,
1513
+ spacing,
1513
1514
  className,
1514
1515
  contentClassName,
1515
1516
  sectionsClassName,
1516
1517
  sectionItemClassName,
1517
1518
  sectionContentClassName,
1518
- sectionMediaClassName
1519
+ sectionMediaClassName,
1520
+ pattern,
1521
+ patternOpacity
1519
1522
  }) {
1520
1523
  const sectionsContent = useMemo(() => {
1521
1524
  if (sectionsSlot) return sectionsSlot;
@@ -1549,6 +1552,8 @@ function AlternatingBlocks({
1549
1552
  subtitle: typeof subtitle === "string" ? subtitle : void 0,
1550
1553
  background,
1551
1554
  spacing,
1555
+ pattern,
1556
+ patternOpacity,
1552
1557
  className,
1553
1558
  children: [
1554
1559
  title && typeof title !== "string" || subtitle && typeof subtitle !== "string" ? /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
@@ -1560,6 +1565,771 @@ function AlternatingBlocks({
1560
1565
  }
1561
1566
  );
1562
1567
  }
1568
+ function AboutSplitHero({
1569
+ brandText,
1570
+ brandTextClassName,
1571
+ brandHighlight,
1572
+ brandHighlightClassName,
1573
+ heading,
1574
+ headingClassName,
1575
+ description,
1576
+ descriptionClassName,
1577
+ ctaAction,
1578
+ ctaSlot,
1579
+ ctaClassName,
1580
+ imageSrc,
1581
+ imageAlt,
1582
+ imageClassName,
1583
+ className,
1584
+ containerClassName,
1585
+ optixFlowConfig,
1586
+ background,
1587
+ spacing,
1588
+ pattern,
1589
+ patternOpacity
1590
+ }) {
1591
+ const ctaContent = useMemo(() => {
1592
+ if (ctaSlot) return ctaSlot;
1593
+ if (!ctaAction) return null;
1594
+ return /* @__PURE__ */ jsxs(
1595
+ Pressable,
1596
+ {
1597
+ href: ctaAction.href,
1598
+ onClick: ctaAction.onClick,
1599
+ variant: ctaAction.variant || "default",
1600
+ size: ctaAction.size || "lg",
1601
+ asButton: true,
1602
+ className: cn("mt-10 flex h-fit items-center gap-2.5 rounded-xl px-5 py-4 font-bold", ctaClassName),
1603
+ children: [
1604
+ /* @__PURE__ */ jsx("span", { children: ctaAction.label }),
1605
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 20 })
1606
+ ]
1607
+ }
1608
+ );
1609
+ }, [ctaSlot, ctaAction, ctaClassName]);
1610
+ return /* @__PURE__ */ jsxs(
1611
+ Section,
1612
+ {
1613
+ background,
1614
+ spacing,
1615
+ pattern,
1616
+ patternOpacity,
1617
+ className: cn(className),
1618
+ containerClassName,
1619
+ children: [
1620
+ /* @__PURE__ */ jsxs("div", { className: "container my-10 flex w-[500px] flex-col gap-24", children: [
1621
+ (brandText || brandHighlight) && /* @__PURE__ */ jsxs("h1", { className: cn("text-4xl text-foreground", brandTextClassName), children: [
1622
+ brandText,
1623
+ " ",
1624
+ brandHighlight && /* @__PURE__ */ jsx("span", { className: cn("bg-gradient-to-tr from-foreground to-muted bg-clip-text text-transparent", brandHighlightClassName), children: brandHighlight })
1625
+ ] }),
1626
+ /* @__PURE__ */ jsxs("div", { children: [
1627
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-4xl text-foreground lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1628
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-2.5 text-foreground lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-2.5", descriptionClassName), children: description })),
1629
+ ctaContent
1630
+ ] })
1631
+ ] }),
1632
+ imageSrc && /* @__PURE__ */ jsx(
1633
+ Img,
1634
+ {
1635
+ src: imageSrc,
1636
+ alt: imageAlt || "",
1637
+ className: cn("hidden h-screen w-1/2 object-cover lg:block", imageClassName),
1638
+ optixFlowConfig
1639
+ }
1640
+ )
1641
+ ]
1642
+ }
1643
+ );
1644
+ }
1645
+ function AboutMissionPrinciples({
1646
+ badgeText,
1647
+ badgeClassName,
1648
+ missionHeading,
1649
+ missionHeadingClassName,
1650
+ missionDescription,
1651
+ missionDescriptionClassName,
1652
+ missionAction,
1653
+ missionActionSlot,
1654
+ missionActionClassName,
1655
+ principles,
1656
+ principlesSlot,
1657
+ principlesClassName,
1658
+ visionHeading,
1659
+ visionHeadingClassName,
1660
+ visionDescription,
1661
+ visionDescriptionClassName,
1662
+ visionAction,
1663
+ visionActionSlot,
1664
+ visionClassName,
1665
+ className,
1666
+ containerClassName,
1667
+ background,
1668
+ spacing,
1669
+ pattern,
1670
+ patternOpacity
1671
+ }) {
1672
+ const missionActionContent = useMemo(() => {
1673
+ if (missionActionSlot) return missionActionSlot;
1674
+ if (!missionAction) return null;
1675
+ return /* @__PURE__ */ jsx("div", { className: cn("pt-2", missionActionClassName), children: /* @__PURE__ */ jsxs(
1676
+ Pressable,
1677
+ {
1678
+ href: missionAction.href,
1679
+ onClick: missionAction.onClick,
1680
+ variant: missionAction.variant || "default",
1681
+ asButton: true,
1682
+ className: "group inline-flex items-center",
1683
+ children: [
1684
+ missionAction.label,
1685
+ /* @__PURE__ */ jsx(
1686
+ DynamicIcon,
1687
+ {
1688
+ name: "lucide/arrow-right",
1689
+ size: 16,
1690
+ className: "ml-2 transition-transform group-hover:translate-x-1"
1691
+ }
1692
+ )
1693
+ ]
1694
+ }
1695
+ ) });
1696
+ }, [missionActionSlot, missionAction, missionActionClassName]);
1697
+ const principlesContent = useMemo(() => {
1698
+ if (principlesSlot) return principlesSlot;
1699
+ if (!principles || principles.length === 0) return null;
1700
+ return /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-1 gap-6 sm:grid-cols-2", principlesClassName), children: principles.map((principle, idx) => /* @__PURE__ */ jsxs(
1701
+ "div",
1702
+ {
1703
+ className: "relative rounded-lg border p-6 transition-colors hover:bg-accent/50",
1704
+ children: [
1705
+ principle.number && /* @__PURE__ */ jsx("div", { className: "absolute right-4 top-4 text-3xl font-bold text-primary/20", children: principle.number }),
1706
+ /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
1707
+ principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-xl font-bold", children: principle.title }) : principle.title),
1708
+ principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: principle.description }) : principle.description)
1709
+ ] })
1710
+ ]
1711
+ },
1712
+ idx
1713
+ )) });
1714
+ }, [principlesSlot, principles, principlesClassName]);
1715
+ const visionActionContent = useMemo(() => {
1716
+ if (visionActionSlot) return visionActionSlot;
1717
+ if (!visionAction) return null;
1718
+ return /* @__PURE__ */ jsxs(
1719
+ Pressable,
1720
+ {
1721
+ href: visionAction.href,
1722
+ onClick: visionAction.onClick,
1723
+ variant: visionAction.variant || "outline",
1724
+ size: visionAction.size || "lg",
1725
+ asButton: true,
1726
+ className: "group inline-flex items-center",
1727
+ children: [
1728
+ visionAction.label,
1729
+ /* @__PURE__ */ jsx(
1730
+ DynamicIcon,
1731
+ {
1732
+ name: "lucide/arrow-right",
1733
+ size: 16,
1734
+ className: "ml-2 transition-transform group-hover:translate-x-1"
1735
+ }
1736
+ )
1737
+ ]
1738
+ }
1739
+ );
1740
+ }, [visionActionSlot, visionAction]);
1741
+ return /* @__PURE__ */ jsxs(
1742
+ Section,
1743
+ {
1744
+ background,
1745
+ spacing,
1746
+ pattern,
1747
+ patternOpacity,
1748
+ className: cn(className),
1749
+ containerClassName,
1750
+ children: [
1751
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center gap-12 lg:grid-cols-2 lg:gap-24", children: [
1752
+ /* @__PURE__ */ jsxs("div", { className: "space-y-8", children: [
1753
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsx("div", { className: badgeClassName, children: badgeText })),
1754
+ missionHeading && (typeof missionHeading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-4xl font-bold leading-tight tracking-tight lg:text-5xl", missionHeadingClassName), children: missionHeading }) : /* @__PURE__ */ jsx("div", { className: missionHeadingClassName, children: missionHeading })),
1755
+ missionDescription && (typeof missionDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl text-muted-foreground", missionDescriptionClassName), children: missionDescription }) : /* @__PURE__ */ jsx("div", { className: missionDescriptionClassName, children: missionDescription })),
1756
+ missionActionContent
1757
+ ] }),
1758
+ principlesContent
1759
+ ] }),
1760
+ /* @__PURE__ */ jsx("div", { className: cn("mt-24 rounded-lg bg-accent p-8 lg:p-12", visionClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 items-center gap-8 lg:grid-cols-3", children: [
1761
+ /* @__PURE__ */ jsxs("div", { className: "lg:col-span-2", children: [
1762
+ visionHeading && (typeof visionHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-2xl font-bold", visionHeadingClassName), children: visionHeading }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", visionHeadingClassName), children: visionHeading })),
1763
+ visionDescription && (typeof visionDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-muted-foreground", visionDescriptionClassName), children: visionDescription }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", visionDescriptionClassName), children: visionDescription }))
1764
+ ] }),
1765
+ /* @__PURE__ */ jsx("div", { className: "flex justify-center lg:col-span-1 lg:justify-end", children: visionActionContent })
1766
+ ] }) })
1767
+ ]
1768
+ }
1769
+ );
1770
+ }
1771
+ function AboutExpandableValues({
1772
+ badgeText,
1773
+ heading,
1774
+ description,
1775
+ values,
1776
+ valuesSlot,
1777
+ ctaHeading,
1778
+ ctaDescription,
1779
+ actions,
1780
+ actionsSlot,
1781
+ className,
1782
+ containerClassName,
1783
+ headerClassName,
1784
+ badgeClassName,
1785
+ headingClassName,
1786
+ descriptionClassName,
1787
+ valuesClassName,
1788
+ ctaClassName,
1789
+ ctaHeadingClassName,
1790
+ ctaDescriptionClassName,
1791
+ actionsClassName,
1792
+ background,
1793
+ spacing,
1794
+ pattern,
1795
+ patternOpacity
1796
+ }) {
1797
+ const [expandedValue, setExpandedValue] = React4.useState(null);
1798
+ const toggleExpand = useCallback((id) => {
1799
+ setExpandedValue((prev) => prev === id ? null : id);
1800
+ }, []);
1801
+ const actionsContent = useMemo(() => {
1802
+ if (actionsSlot) return actionsSlot;
1803
+ if (!actions || actions.length === 0) return null;
1804
+ return /* @__PURE__ */ jsx("div", { className: actionsClassName, children: actions.map((action, idx) => /* @__PURE__ */ jsx(
1805
+ Pressable,
1806
+ {
1807
+ href: action.href,
1808
+ onClick: action.onClick,
1809
+ variant: action.variant || "default",
1810
+ size: action.size,
1811
+ asButton: true,
1812
+ children: action.label
1813
+ },
1814
+ idx
1815
+ )) });
1816
+ }, [actionsSlot, actions, actionsClassName]);
1817
+ const valuesContent = useMemo(() => {
1818
+ if (valuesSlot) return valuesSlot;
1819
+ if (!values || values.length === 0) return null;
1820
+ return /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", valuesClassName), children: values.map((value) => /* @__PURE__ */ jsxs(
1821
+ "div",
1822
+ {
1823
+ className: cn(
1824
+ "group overflow-hidden rounded-xl border bg-card text-card-foreground transition-all duration-300",
1825
+ expandedValue === value.id ? "col-span-1 shadow-lg md:col-span-2 lg:col-span-3" : ""
1826
+ ),
1827
+ children: [
1828
+ /* @__PURE__ */ jsxs(
1829
+ "button",
1830
+ {
1831
+ onClick: () => toggleExpand(value.id),
1832
+ className: "flex w-full items-start justify-between p-6 text-left",
1833
+ type: "button",
1834
+ children: [
1835
+ /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-4", children: [
1836
+ /* @__PURE__ */ jsx("div", { className: "flex-shrink-0 rounded-md bg-primary/10 p-3", children: value.icon }),
1837
+ /* @__PURE__ */ jsxs("div", { children: [
1838
+ value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold", children: value.title }) : value.title),
1839
+ value.shortDescription && (typeof value.shortDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: value.shortDescription }) : /* @__PURE__ */ jsx("div", { className: "mt-1", children: value.shortDescription }))
1840
+ ] })
1841
+ ] }),
1842
+ /* @__PURE__ */ jsx(
1843
+ DynamicIcon,
1844
+ {
1845
+ name: "lucide/chevron-down",
1846
+ size: 20,
1847
+ className: cn(
1848
+ "mt-1 flex-shrink-0 text-muted-foreground transition-transform duration-300",
1849
+ expandedValue === value.id ? "rotate-180" : ""
1850
+ )
1851
+ }
1852
+ )
1853
+ ]
1854
+ }
1855
+ ),
1856
+ expandedValue === value.id && /* @__PURE__ */ jsxs("div", { className: "space-y-6 px-6 pb-6", children: [
1857
+ value.longDescription && /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-muted/50 p-4", children: typeof value.longDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: value.longDescription }) : value.longDescription }),
1858
+ value.examples && value.examples.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
1859
+ /* @__PURE__ */ jsx("h4", { className: "mb-2 text-sm font-semibold text-muted-foreground", children: "How we put this into practice:" }),
1860
+ /* @__PURE__ */ jsx("ul", { className: "space-y-2", children: value.examples.map((example, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2", children: [
1861
+ /* @__PURE__ */ jsx("div", { className: "mt-0.5 flex-shrink-0 rounded-full bg-primary/10 p-1", children: /* @__PURE__ */ jsx(
1862
+ DynamicIcon,
1863
+ {
1864
+ name: "lucide/check",
1865
+ size: 12,
1866
+ className: "text-primary"
1867
+ }
1868
+ ) }),
1869
+ typeof example === "string" ? /* @__PURE__ */ jsx("span", { className: "text-sm", children: example }) : example
1870
+ ] }, index)) })
1871
+ ] })
1872
+ ] })
1873
+ ]
1874
+ },
1875
+ value.id
1876
+ )) });
1877
+ }, [valuesSlot, values, valuesClassName, expandedValue, toggleExpand]);
1878
+ return /* @__PURE__ */ jsxs(
1879
+ Section,
1880
+ {
1881
+ background,
1882
+ spacing,
1883
+ pattern,
1884
+ patternOpacity,
1885
+ className: cn(className),
1886
+ containerClassName,
1887
+ children: [
1888
+ /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-3xl space-y-4 text-center", headerClassName), children: [
1889
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsx("div", { className: badgeClassName, children: badgeText })),
1890
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold tracking-tight", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1891
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
1892
+ ] }),
1893
+ valuesContent,
1894
+ /* @__PURE__ */ jsx("div", { className: cn("relative mt-8 rounded-lg bg-accent/50 p-8", ctaClassName), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-3xl space-y-6 text-center", children: [
1895
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : /* @__PURE__ */ jsx("div", { className: ctaHeadingClassName, children: ctaHeading })),
1896
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }) : /* @__PURE__ */ jsx("div", { className: ctaDescriptionClassName, children: ctaDescription })),
1897
+ actionsContent
1898
+ ] }) })
1899
+ ]
1900
+ }
1901
+ );
1902
+ }
1903
+ function Tabs({
1904
+ className,
1905
+ ...props
1906
+ }) {
1907
+ return /* @__PURE__ */ jsx(
1908
+ TabsPrimitive.Root,
1909
+ {
1910
+ "data-slot": "tabs",
1911
+ className: cn("flex flex-col gap-2", className),
1912
+ ...props
1913
+ }
1914
+ );
1915
+ }
1916
+ function TabsList({
1917
+ className,
1918
+ ...props
1919
+ }) {
1920
+ return /* @__PURE__ */ jsx(
1921
+ TabsPrimitive.List,
1922
+ {
1923
+ "data-slot": "tabs-list",
1924
+ className: cn(
1925
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
1926
+ className
1927
+ ),
1928
+ ...props
1929
+ }
1930
+ );
1931
+ }
1932
+ function TabsTrigger({
1933
+ className,
1934
+ ...props
1935
+ }) {
1936
+ return /* @__PURE__ */ jsx(
1937
+ TabsPrimitive.Trigger,
1938
+ {
1939
+ "data-slot": "tabs-trigger",
1940
+ className: cn(
1941
+ "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
1942
+ className
1943
+ ),
1944
+ ...props
1945
+ }
1946
+ );
1947
+ }
1948
+ function TabsContent({
1949
+ className,
1950
+ ...props
1951
+ }) {
1952
+ return /* @__PURE__ */ jsx(
1953
+ TabsPrimitive.Content,
1954
+ {
1955
+ "data-slot": "tabs-content",
1956
+ className: cn("flex-1 outline-none", className),
1957
+ ...props
1958
+ }
1959
+ );
1960
+ }
1961
+ function CommunityInitiatives({
1962
+ badgeText,
1963
+ heading,
1964
+ description,
1965
+ categories,
1966
+ categoriesSlot,
1967
+ ctaBadgeText,
1968
+ ctaHeading,
1969
+ ctaDescription,
1970
+ actions,
1971
+ actionsSlot,
1972
+ className,
1973
+ containerClassName,
1974
+ headerClassName,
1975
+ badgeClassName,
1976
+ headingClassName,
1977
+ descriptionClassName,
1978
+ tabsClassName,
1979
+ ctaClassName,
1980
+ ctaHeadingClassName,
1981
+ ctaDescriptionClassName,
1982
+ actionsClassName,
1983
+ optixFlowConfig,
1984
+ background,
1985
+ spacing,
1986
+ pattern,
1987
+ patternOpacity
1988
+ }) {
1989
+ const [activeCategory, setActiveCategory] = React4.useState(
1990
+ categories?.[0]?.id || ""
1991
+ );
1992
+ const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
1993
+ const handleCategoryChange = useCallback((e) => {
1994
+ setActiveCategory(e.target.value);
1995
+ }, []);
1996
+ const actionsContent = useMemo(() => {
1997
+ if (actionsSlot) return actionsSlot;
1998
+ if (!actions || actions.length === 0) return null;
1999
+ return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap justify-center gap-4", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsx(
2000
+ Pressable,
2001
+ {
2002
+ href: action.href,
2003
+ onClick: action.onClick,
2004
+ variant: action.variant || "default",
2005
+ size: action.size || "lg",
2006
+ asButton: true,
2007
+ children: action.label
2008
+ },
2009
+ idx
2010
+ )) });
2011
+ }, [actionsSlot, actions, actionsClassName]);
2012
+ const categoriesContent = useMemo(() => {
2013
+ if (categoriesSlot) return categoriesSlot;
2014
+ if (!categories || categories.length === 0) return null;
2015
+ return /* @__PURE__ */ jsxs(
2016
+ Tabs,
2017
+ {
2018
+ defaultValue: categories[0]?.id,
2019
+ value: activeCategory,
2020
+ onValueChange: setActiveCategory,
2021
+ className: cn("space-y-8", tabsClassName),
2022
+ children: [
2023
+ /* @__PURE__ */ jsxs("div", { className: "flex justify-center", children: [
2024
+ /* @__PURE__ */ jsx("div", { className: "mb-6 w-full md:hidden", children: /* @__PURE__ */ jsx(
2025
+ "select",
2026
+ {
2027
+ value: activeCategory,
2028
+ onChange: handleCategoryChange,
2029
+ className: "flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
2030
+ children: categories.map((category) => /* @__PURE__ */ jsx("option", { value: category.id, children: category.title }, category.id))
2031
+ }
2032
+ ) }),
2033
+ /* @__PURE__ */ jsx(TabsList, { className: "hidden h-auto grid-cols-4 p-1 md:grid", children: categories.map((category) => /* @__PURE__ */ jsx(
2034
+ TabsTrigger,
2035
+ {
2036
+ value: category.id,
2037
+ className: "px-3 py-2.5 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
2038
+ children: category.title
2039
+ },
2040
+ category.id
2041
+ )) })
2042
+ ] }),
2043
+ /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-2xl text-center", children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: currentCategory?.description }) }),
2044
+ categories.map((category) => /* @__PURE__ */ jsx(
2045
+ TabsContent,
2046
+ {
2047
+ value: category.id,
2048
+ className: "space-y-12",
2049
+ children: category.initiatives.map((initiative, index) => {
2050
+ const isEven = index % 2 === 0;
2051
+ return /* @__PURE__ */ jsxs(
2052
+ "div",
2053
+ {
2054
+ className: "grid items-center gap-8 md:grid-cols-12",
2055
+ children: [
2056
+ /* @__PURE__ */ jsxs(
2057
+ "div",
2058
+ {
2059
+ className: cn(
2060
+ "space-y-6 md:col-span-7",
2061
+ isEven ? "md:order-1" : "md:order-2"
2062
+ ),
2063
+ children: [
2064
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
2065
+ /* @__PURE__ */ jsx("div", { className: "rounded-md bg-primary/10 p-2", children: /* @__PURE__ */ jsx(
2066
+ DynamicIcon,
2067
+ {
2068
+ name: initiative.icon,
2069
+ size: 24,
2070
+ className: "text-primary"
2071
+ }
2072
+ ) }),
2073
+ /* @__PURE__ */ jsx("h3", { className: "text-2xl font-bold", children: initiative.title })
2074
+ ] }),
2075
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: initiative.description }),
2076
+ initiative.metrics && /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-4 pt-2", children: initiative.metrics.map((metric, i) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
2077
+ /* @__PURE__ */ jsx("div", { className: "text-2xl font-bold text-primary", children: metric.value }),
2078
+ /* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-muted-foreground", children: metric.label })
2079
+ ] }, i)) })
2080
+ ]
2081
+ }
2082
+ ),
2083
+ initiative.image ? /* @__PURE__ */ jsx(
2084
+ "div",
2085
+ {
2086
+ className: cn(
2087
+ "md:col-span-5",
2088
+ isEven ? "md:order-2" : "md:order-1"
2089
+ ),
2090
+ children: /* @__PURE__ */ jsx("div", { className: "relative aspect-4/3 overflow-hidden rounded-xl", children: /* @__PURE__ */ jsx(
2091
+ Img,
2092
+ {
2093
+ src: initiative.image,
2094
+ alt: initiative.title,
2095
+ className: "h-full w-full object-cover",
2096
+ optixFlowConfig
2097
+ }
2098
+ ) })
2099
+ }
2100
+ ) : /* @__PURE__ */ jsx(
2101
+ "div",
2102
+ {
2103
+ className: cn(
2104
+ "flex h-full items-center justify-center md:col-span-5",
2105
+ isEven ? "md:order-2" : "md:order-1"
2106
+ ),
2107
+ children: /* @__PURE__ */ jsx(Card, { className: "flex h-full min-h-[280px] w-full items-center justify-center bg-muted/30", children: /* @__PURE__ */ jsxs(CardContent, { className: "p-6 text-center", children: [
2108
+ /* @__PURE__ */ jsx(
2109
+ DynamicIcon,
2110
+ {
2111
+ name: initiative.icon,
2112
+ size: 64,
2113
+ className: "mx-auto mb-4 text-muted-foreground/50"
2114
+ }
2115
+ ),
2116
+ /* @__PURE__ */ jsxs(Badge, { variant: "secondary", className: "mx-auto", children: [
2117
+ "Learn more about our",
2118
+ " ",
2119
+ initiative.title.toLowerCase(),
2120
+ " initiative"
2121
+ ] })
2122
+ ] }) })
2123
+ }
2124
+ )
2125
+ ]
2126
+ },
2127
+ initiative.id
2128
+ );
2129
+ })
2130
+ },
2131
+ category.id
2132
+ ))
2133
+ ]
2134
+ }
2135
+ );
2136
+ }, [categoriesSlot, categories, activeCategory, setActiveCategory, tabsClassName, handleCategoryChange, currentCategory, optixFlowConfig]);
2137
+ return /* @__PURE__ */ jsxs(
2138
+ Section,
2139
+ {
2140
+ background,
2141
+ spacing,
2142
+ pattern,
2143
+ patternOpacity,
2144
+ className: cn(className),
2145
+ containerClassName,
2146
+ children: [
2147
+ /* @__PURE__ */ jsxs("div", { className: cn("mx-auto mb-16 max-w-3xl space-y-4 text-center", headerClassName), children: [
2148
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsx("div", { className: badgeClassName, children: badgeText })),
2149
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold tracking-tight md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
2150
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
2151
+ ] }),
2152
+ categoriesContent,
2153
+ /* @__PURE__ */ jsxs("div", { className: cn("mt-20 text-center", ctaClassName), children: [
2154
+ ctaBadgeText && /* @__PURE__ */ jsx("div", { className: "mb-8 inline-flex items-center justify-center rounded-full bg-muted p-1", children: /* @__PURE__ */ jsx(Badge, { className: "rounded-full bg-primary px-4 py-1 text-primary-foreground", children: ctaBadgeText }) }),
2155
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", ctaHeadingClassName), children: ctaHeading })),
2156
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mx-auto mb-8 max-w-2xl text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }) : /* @__PURE__ */ jsx("div", { className: cn("mx-auto mb-8 max-w-2xl", ctaDescriptionClassName), children: ctaDescription })),
2157
+ actionsContent
2158
+ ] })
2159
+ ]
2160
+ }
2161
+ );
2162
+ }
2163
+ function AboutCultureTabs({
2164
+ badgeText,
2165
+ heading,
2166
+ description,
2167
+ aspects,
2168
+ aspectsSlot,
2169
+ ctaHeading,
2170
+ ctaDescription,
2171
+ actions,
2172
+ actionsSlot,
2173
+ ctaImages,
2174
+ ctaImagesSlot,
2175
+ className,
2176
+ containerClassName,
2177
+ headerClassName,
2178
+ badgeClassName,
2179
+ headingClassName,
2180
+ descriptionClassName,
2181
+ tabsClassName,
2182
+ ctaClassName,
2183
+ ctaHeadingClassName,
2184
+ ctaDescriptionClassName,
2185
+ actionsClassName,
2186
+ optixFlowConfig,
2187
+ background,
2188
+ spacing,
2189
+ pattern,
2190
+ patternOpacity
2191
+ }) {
2192
+ const resolvedAspects = aspects ?? [];
2193
+ const [activeTab, setActiveTab] = React4.useState(resolvedAspects[0]?.id || "");
2194
+ const actionsContent = useMemo(() => {
2195
+ if (actionsSlot) return actionsSlot;
2196
+ if (!actions || actions.length === 0) return null;
2197
+ return actions.map((action, index) => {
2198
+ const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
2199
+ return /* @__PURE__ */ jsx(
2200
+ Pressable,
2201
+ {
2202
+ asButton: true,
2203
+ className: actionClassName,
2204
+ ...pressableProps,
2205
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
2206
+ icon,
2207
+ label,
2208
+ iconAfter
2209
+ ] })
2210
+ },
2211
+ index
2212
+ );
2213
+ });
2214
+ }, [actionsSlot, actions]);
2215
+ const ctaImagesContent = useMemo(() => {
2216
+ if (ctaImagesSlot) return ctaImagesSlot;
2217
+ if (!ctaImages || ctaImages.length === 0) return null;
2218
+ return ctaImages.map((src, i) => /* @__PURE__ */ jsx("div", { className: "relative aspect-square overflow-hidden rounded-md", children: /* @__PURE__ */ jsx(
2219
+ Img,
2220
+ {
2221
+ src,
2222
+ alt: "Team culture",
2223
+ className: "h-full w-full object-cover",
2224
+ optixFlowConfig
2225
+ }
2226
+ ) }, i));
2227
+ }, [ctaImagesSlot, ctaImages, optixFlowConfig]);
2228
+ return /* @__PURE__ */ jsxs(
2229
+ Section,
2230
+ {
2231
+ background,
2232
+ spacing,
2233
+ pattern,
2234
+ patternOpacity,
2235
+ className: cn(className),
2236
+ containerClassName,
2237
+ children: [
2238
+ /* @__PURE__ */ jsxs("div", { className: cn("mx-auto mb-12 max-w-3xl space-y-4 text-center", headerClassName), children: [
2239
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsx("div", { className: badgeClassName, children: badgeText })),
2240
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold tracking-tight md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
2241
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
2242
+ ] }),
2243
+ aspectsSlot ? aspectsSlot : resolvedAspects.length > 0 ? /* @__PURE__ */ jsxs(
2244
+ Tabs,
2245
+ {
2246
+ defaultValue: resolvedAspects[0]?.id,
2247
+ value: activeTab,
2248
+ onValueChange: setActiveTab,
2249
+ className: cn("space-y-8", tabsClassName),
2250
+ children: [
2251
+ /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(TabsList, { className: "grid h-auto grid-cols-2 p-1 md:grid-cols-4", children: resolvedAspects.map((aspect) => /* @__PURE__ */ jsx(
2252
+ TabsTrigger,
2253
+ {
2254
+ value: aspect.id,
2255
+ className: "px-3 py-2.5 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
2256
+ children: aspect.title
2257
+ },
2258
+ aspect.id
2259
+ )) }) }),
2260
+ resolvedAspects.map((aspect) => /* @__PURE__ */ jsxs(TabsContent, { value: aspect.id, className: "space-y-8", children: [
2261
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-6 md:grid-cols-2", children: [
2262
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
2263
+ /* @__PURE__ */ jsx("h3", { className: "text-2xl font-bold tracking-tight", children: aspect.title }),
2264
+ /* @__PURE__ */ jsx("p", { className: "leading-relaxed text-muted-foreground", children: aspect.description })
2265
+ ] }),
2266
+ /* @__PURE__ */ jsx(Card, { className: "border-0 bg-gradient-to-br from-primary/5 to-primary/10 p-0", children: /* @__PURE__ */ jsxs(CardContent, { className: "space-y-4 p-6 pt-6", children: [
2267
+ /* @__PURE__ */ jsx(
2268
+ DynamicIcon,
2269
+ {
2270
+ name: "lucide/quote",
2271
+ size: 32,
2272
+ className: "text-primary/40"
2273
+ }
2274
+ ),
2275
+ /* @__PURE__ */ jsxs("p", { className: "italic text-muted-foreground", children: [
2276
+ '"',
2277
+ aspect.testimonial.quote,
2278
+ '"'
2279
+ ] }),
2280
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pt-2", children: [
2281
+ /* @__PURE__ */ jsx("div", { className: "relative h-10 w-10 overflow-hidden rounded-full", children: /* @__PURE__ */ jsx(
2282
+ Img,
2283
+ {
2284
+ src: aspect.testimonial.avatar,
2285
+ alt: aspect.testimonial.author,
2286
+ className: "h-full w-full object-cover",
2287
+ optixFlowConfig
2288
+ }
2289
+ ) }),
2290
+ /* @__PURE__ */ jsxs("div", { children: [
2291
+ /* @__PURE__ */ jsx("h4", { className: "text-sm font-medium", children: aspect.testimonial.author }),
2292
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: aspect.testimonial.role })
2293
+ ] })
2294
+ ] })
2295
+ ] }) })
2296
+ ] }),
2297
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-3", children: aspect.images.map((image, idx) => /* @__PURE__ */ jsx(
2298
+ "div",
2299
+ {
2300
+ className: "relative aspect-[4/3] overflow-hidden rounded-lg",
2301
+ children: /* @__PURE__ */ jsx(
2302
+ Img,
2303
+ {
2304
+ src: image,
2305
+ alt: `${aspect.title} culture`,
2306
+ className: "h-full w-full transform object-cover transition-transform duration-500 hover:scale-105",
2307
+ optixFlowConfig
2308
+ }
2309
+ )
2310
+ },
2311
+ idx
2312
+ )) })
2313
+ ] }, aspect.id))
2314
+ ]
2315
+ }
2316
+ ) : null,
2317
+ /* @__PURE__ */ jsxs("div", { className: cn("relative mt-16 rounded-xl border bg-background p-8 md:p-12", ctaClassName), children: [
2318
+ /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-8 md:grid-cols-2", children: [
2319
+ /* @__PURE__ */ jsxs("div", { children: [
2320
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : /* @__PURE__ */ jsx("div", { className: cn("mb-4", ctaHeadingClassName), children: ctaHeading })),
2321
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-6 text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }) : /* @__PURE__ */ jsx("div", { className: cn("mb-6", ctaDescriptionClassName), children: ctaDescription })),
2322
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex gap-4", actionsClassName), children: actionsContent })
2323
+ ] }),
2324
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: ctaImagesContent })
2325
+ ] }),
2326
+ /* @__PURE__ */ jsx("div", { className: "absolute -left-5 -top-5 h-10 w-10 rounded-full bg-primary/10" }),
2327
+ /* @__PURE__ */ jsx("div", { className: "absolute -bottom-5 -right-5 h-10 w-10 rounded-full bg-primary/10" })
2328
+ ] })
2329
+ ]
2330
+ }
2331
+ );
2332
+ }
1563
2333
  function MediaHoverCtas({
1564
2334
  className,
1565
2335
  sectionClassName,
@@ -1646,82 +2416,90 @@ function MediaHoverCtas({
1646
2416
  );
1647
2417
  }
1648
2418
  function FooterLinksGrid({
1649
- logo = {
1650
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1651
- alt: "Opensite AI",
1652
- title: "Opensite AI",
1653
- url: "https://opensite.ai"
1654
- },
2419
+ logo,
1655
2420
  className,
1656
2421
  tagline,
1657
2422
  menuItems,
1658
2423
  copyright,
2424
+ attributionText,
2425
+ attributionHref,
1659
2426
  bottomLinks,
2427
+ background,
2428
+ spacing,
2429
+ pattern,
2430
+ patternOpacity,
1660
2431
  optixFlowConfig
1661
2432
  }) {
1662
- return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
1663
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
1664
- /* @__PURE__ */ jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
1665
- /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 lg:justify-start", children: /* @__PURE__ */ jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
1666
- /* @__PURE__ */ jsx(
1667
- Img,
1668
- {
1669
- src: logo.src,
1670
- alt: logo.alt,
1671
- className: "h-10 dark:invert",
1672
- optixFlowConfig
1673
- }
1674
- ),
1675
- /* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
1676
- ] }) }),
1677
- /* @__PURE__ */ jsx("p", { className: "mt-4 font-bold", children: tagline })
1678
- ] }),
1679
- menuItems?.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
1680
- /* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1681
- /* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
1682
- "li",
1683
- {
1684
- className: "font-medium hover:text-primary",
1685
- children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text })
1686
- },
1687
- linkIdx
1688
- )) })
1689
- ] }, sectionIdx))
1690
- ] }),
1691
- /* @__PURE__ */ jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", children: [
1692
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
1693
- /* @__PURE__ */ jsx("p", { children: copyright }),
1694
- /* @__PURE__ */ jsx(
1695
- Pressable,
1696
- {
1697
- href: "https://opensite.ai",
1698
- className: "hover:text-primary",
1699
- children: "AI Website and Automation Platform by Opensite"
1700
- }
1701
- )
1702
- ] }),
1703
- /* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks?.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
1704
- ] })
1705
- ] }) }) });
2433
+ const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2434
+ const copyrightText = copyright ?? `\xA9 ${currentYear}`;
2435
+ return /* @__PURE__ */ jsx(
2436
+ Section,
2437
+ {
2438
+ background,
2439
+ spacing,
2440
+ pattern,
2441
+ patternOpacity,
2442
+ className: cn(className),
2443
+ children: /* @__PURE__ */ jsxs("footer", { children: [
2444
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
2445
+ (logo || tagline) && /* @__PURE__ */ jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
2446
+ logo && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 lg:justify-start", children: /* @__PURE__ */ jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
2447
+ /* @__PURE__ */ jsx(
2448
+ Img,
2449
+ {
2450
+ src: logo.src,
2451
+ alt: logo.alt,
2452
+ className: "h-10 dark:invert",
2453
+ optixFlowConfig
2454
+ }
2455
+ ),
2456
+ /* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
2457
+ ] }) }),
2458
+ tagline && /* @__PURE__ */ jsx("p", { className: "mt-4 font-bold", children: tagline })
2459
+ ] }),
2460
+ menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
2461
+ /* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
2462
+ /* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
2463
+ "li",
2464
+ {
2465
+ className: "font-medium hover:text-primary",
2466
+ children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text })
2467
+ },
2468
+ linkIdx
2469
+ )) })
2470
+ ] }, sectionIdx))
2471
+ ] }),
2472
+ /* @__PURE__ */ jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", children: [
2473
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
2474
+ /* @__PURE__ */ jsx("p", { children: copyrightText }),
2475
+ attributionText && /* @__PURE__ */ jsx(
2476
+ Pressable,
2477
+ {
2478
+ href: attributionHref || "https://opensite.ai",
2479
+ className: "hover:text-primary",
2480
+ children: attributionText
2481
+ }
2482
+ )
2483
+ ] }),
2484
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
2485
+ ] })
2486
+ ] })
2487
+ }
2488
+ );
1706
2489
  }
1707
2490
  function FooterSocialNewsletter({
1708
- logo = {
1709
- url: "https://opensite.ai",
1710
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1711
- alt: "Opensite AI",
1712
- title: "Opensite AI"
1713
- },
2491
+ logo,
1714
2492
  sections,
1715
2493
  socialLinks,
1716
2494
  newsletterLabel,
1717
- newsletterPlaceholder = "Email",
2495
+ newsletterPlaceholder,
1718
2496
  newsletterButtonText,
1719
2497
  privacyLinkText,
1720
- privacyLinkUrl = "#",
2498
+ privacyLinkUrl,
1721
2499
  privacyConsentText,
1722
2500
  copyright,
1723
2501
  attributionText,
1724
- attributionHref = "https://opensite.ai",
2502
+ attributionHref,
1725
2503
  className,
1726
2504
  contentClassName,
1727
2505
  logoWrapperClassName,
@@ -1741,13 +2519,13 @@ function FooterSocialNewsletter({
1741
2519
  privacyClassName,
1742
2520
  bottomClassName,
1743
2521
  copyrightClassName,
1744
- background = "white",
1745
- spacing = "lg",
2522
+ background,
2523
+ spacing,
1746
2524
  pattern,
1747
2525
  patternOpacity,
1748
2526
  optixFlowConfig
1749
2527
  }) {
1750
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2528
+ const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
1751
2529
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
1752
2530
  return /* @__PURE__ */ jsx(
1753
2531
  Section,
@@ -1758,7 +2536,7 @@ function FooterSocialNewsletter({
1758
2536
  patternOpacity,
1759
2537
  className: cn(className),
1760
2538
  children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
1761
- /* @__PURE__ */ jsxs(Pressable, { href: logo.url, className: cn("flex items-center gap-2", logoWrapperClassName), children: [
2539
+ logo && /* @__PURE__ */ jsxs(Pressable, { href: logo.url, className: cn("flex items-center gap-2", logoWrapperClassName), children: [
1762
2540
  /* @__PURE__ */ jsx(
1763
2541
  Img,
1764
2542
  {
@@ -1770,8 +2548,8 @@ function FooterSocialNewsletter({
1770
2548
  ),
1771
2549
  /* @__PURE__ */ jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
1772
2550
  ] }),
1773
- /* @__PURE__ */ jsxs("div", { className: cn("mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", gridClassName), children: [
1774
- sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
2551
+ (sections && sections.length > 0 || socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs("div", { className: cn("mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", gridClassName), children: [
2552
+ sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
1775
2553
  /* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
1776
2554
  /* @__PURE__ */ jsx("ul", { className: cn("space-y-4 text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
1777
2555
  "li",
@@ -1782,21 +2560,21 @@ function FooterSocialNewsletter({
1782
2560
  linkIdx
1783
2561
  )) })
1784
2562
  ] }, sectionIdx)),
1785
- /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1", socialColumnClassName), children: [
1786
- /* @__PURE__ */ jsx("ul", { className: cn("mb-10 flex items-center gap-2 text-muted-foreground", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx("span", { className: cn("flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) }),
1787
- /* @__PURE__ */ jsxs("div", { className: cn("grid w-full max-w-sm items-center gap-1.5", newsletterClassName), children: [
1788
- /* @__PURE__ */ jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
2563
+ (socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1", socialColumnClassName), children: [
2564
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: cn("mb-10 flex items-center gap-2 text-muted-foreground", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx("span", { className: cn("flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) }),
2565
+ (newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxs("div", { className: cn("grid w-full max-w-sm items-center gap-1.5", newsletterClassName), children: [
2566
+ newsletterLabel && /* @__PURE__ */ jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
1789
2567
  /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
1790
2568
  /* @__PURE__ */ jsx(
1791
2569
  "input",
1792
2570
  {
1793
2571
  type: "email",
1794
2572
  id: "newsletter-email",
1795
- placeholder: newsletterPlaceholder,
2573
+ placeholder: newsletterPlaceholder || "Email",
1796
2574
  className: cn("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", newsletterInputClassName)
1797
2575
  }
1798
2576
  ),
1799
- /* @__PURE__ */ jsx(
2577
+ newsletterButtonText && /* @__PURE__ */ jsx(
1800
2578
  Pressable,
1801
2579
  {
1802
2580
  onClick: (e) => {
@@ -1810,19 +2588,19 @@ function FooterSocialNewsletter({
1810
2588
  }
1811
2589
  )
1812
2590
  ] }),
1813
- /* @__PURE__ */ jsxs("p", { className: cn("mt-1 text-xs text-muted-foreground", privacyClassName), children: [
2591
+ (privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxs("p", { className: cn("mt-1 text-xs text-muted-foreground", privacyClassName), children: [
1814
2592
  privacyConsentText,
1815
- /* @__PURE__ */ jsx(Pressable, { href: privacyLinkUrl, className: "ml-1 text-primary hover:underline", children: privacyLinkText })
2593
+ privacyLinkText && /* @__PURE__ */ jsx(Pressable, { href: privacyLinkUrl || "#", className: "ml-1 text-primary hover:underline", children: privacyLinkText })
1816
2594
  ] })
1817
2595
  ] })
1818
2596
  ] })
1819
2597
  ] }),
1820
2598
  /* @__PURE__ */ jsx("div", { className: cn("mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground md:flex-row md:items-center", bottomClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
1821
2599
  /* @__PURE__ */ jsx("p", { children: copyrightText }),
1822
- /* @__PURE__ */ jsx(
2600
+ attributionText && /* @__PURE__ */ jsx(
1823
2601
  Pressable,
1824
2602
  {
1825
- href: attributionHref,
2603
+ href: attributionHref || "https://opensite.ai",
1826
2604
  className: "hover:text-primary",
1827
2605
  children: attributionText
1828
2606
  }
@@ -1833,12 +2611,7 @@ function FooterSocialNewsletter({
1833
2611
  );
1834
2612
  }
1835
2613
  function FooterSocialApps({
1836
- logo = {
1837
- url: "https://opensite.ai",
1838
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1839
- alt: "Opensite AI",
1840
- title: "Opensite AI"
1841
- },
2614
+ logo,
1842
2615
  className,
1843
2616
  sections,
1844
2617
  socialLinks,
@@ -1846,58 +2619,72 @@ function FooterSocialApps({
1846
2619
  socialLabel,
1847
2620
  appLabel,
1848
2621
  copyright,
2622
+ background,
2623
+ spacing,
2624
+ pattern,
2625
+ patternOpacity,
1849
2626
  optixFlowConfig
1850
2627
  }) {
1851
- return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
1852
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
1853
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
1854
- /* @__PURE__ */ jsx(
1855
- Img,
1856
- {
1857
- src: logo.src,
1858
- alt: logo.alt,
1859
- className: "h-10",
1860
- optixFlowConfig
1861
- }
1862
- ),
1863
- /* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
1864
- ] }) }),
1865
- /* @__PURE__ */ jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
1866
- /* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1867
- /* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
1868
- "li",
1869
- {
1870
- className: "font-medium hover:text-primary",
1871
- children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name })
1872
- },
1873
- linkIdx
1874
- )) })
1875
- ] }, sectionIdx)) }),
1876
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
1877
- /* @__PURE__ */ jsxs("div", { children: [
1878
- /* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
1879
- /* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) })
1880
- ] }),
1881
- /* @__PURE__ */ jsxs("div", { children: [
1882
- /* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: appLabel }),
1883
- /* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinks?.map((app, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx)) })
1884
- ] })
1885
- ] })
1886
- ] }),
1887
- /* @__PURE__ */ jsx("div", { className: "mt-24 border-t pt-8", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-4 text-center text-sm font-medium text-muted-foreground md:flex-row md:text-left", children: [
1888
- /* @__PURE__ */ jsx("p", { children: copyright }),
1889
- /* @__PURE__ */ jsx(
1890
- Pressable,
2628
+ const sectionsContent = useMemo(() => {
2629
+ if (!sections || sections.length === 0) return null;
2630
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { children: [
2631
+ /* @__PURE__ */ jsx("h3", { className: "mb-4 font-bold", children: section.title }),
2632
+ /* @__PURE__ */ jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
2633
+ "li",
1891
2634
  {
1892
- href: "https://opensite.ai",
1893
- className: "hover:text-primary",
1894
- target: "_blank",
1895
- rel: "noopener noreferrer",
1896
- children: "AI Website and Automation Platform by Opensite"
1897
- }
1898
- )
1899
- ] }) })
1900
- ] }) }) });
2635
+ className: "font-medium hover:text-primary",
2636
+ children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name })
2637
+ },
2638
+ linkIdx
2639
+ )) })
2640
+ ] }, sectionIdx));
2641
+ }, [sections]);
2642
+ const socialLinksContent = useMemo(() => {
2643
+ if (!socialLinks || socialLinks.length === 0) return null;
2644
+ return socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx));
2645
+ }, [socialLinks]);
2646
+ const appLinksContent = useMemo(() => {
2647
+ if (!appLinks || appLinks.length === 0) return null;
2648
+ return appLinks.map((app, idx) => /* @__PURE__ */ jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsx(Pressable, { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx));
2649
+ }, [appLinks]);
2650
+ return /* @__PURE__ */ jsx(
2651
+ Section,
2652
+ {
2653
+ background,
2654
+ spacing,
2655
+ pattern,
2656
+ patternOpacity,
2657
+ className: cn(className),
2658
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("footer", { children: [
2659
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
2660
+ logo && /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
2661
+ logo.src && /* @__PURE__ */ jsx(
2662
+ Img,
2663
+ {
2664
+ src: logo.src,
2665
+ alt: logo.alt,
2666
+ className: "h-10",
2667
+ optixFlowConfig
2668
+ }
2669
+ ),
2670
+ logo.title && /* @__PURE__ */ jsx("span", { className: "text-xl font-semibold", children: logo.title })
2671
+ ] }) }),
2672
+ sections && sections.length > 0 && /* @__PURE__ */ jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sectionsContent }),
2673
+ (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-6", children: [
2674
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
2675
+ socialLabel && /* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
2676
+ /* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinksContent })
2677
+ ] }),
2678
+ appLinks && appLinks.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
2679
+ appLabel && /* @__PURE__ */ jsx("p", { className: "mb-3 font-bold", children: appLabel }),
2680
+ /* @__PURE__ */ jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinksContent })
2681
+ ] })
2682
+ ] })
2683
+ ] }),
2684
+ copyright && /* @__PURE__ */ jsx("div", { className: "mt-24 border-t pt-8", children: /* @__PURE__ */ jsx("div", { className: "flex flex-col justify-between gap-4 text-center text-sm font-medium text-muted-foreground md:flex-row md:text-left", children: /* @__PURE__ */ jsx("p", { children: copyright }) }) })
2685
+ ] }) })
2686
+ }
2687
+ );
1901
2688
  }
1902
2689
  function FooterSimpleCentered({
1903
2690
  logo,
@@ -1924,12 +2711,46 @@ function FooterSimpleCentered({
1924
2711
  copyrightClassName,
1925
2712
  bottomLinksClassName,
1926
2713
  bottomLinkClassName,
1927
- background = "white",
1928
- spacing = "lg",
2714
+ background,
2715
+ spacing,
1929
2716
  pattern,
1930
2717
  patternOpacity,
1931
2718
  optixFlowConfig
1932
2719
  }) {
2720
+ const sitemapContent = useMemo(() => {
2721
+ if (!sitemap || sitemap.length === 0) return null;
2722
+ return sitemap.map((section) => /* @__PURE__ */ jsxs("div", { className: cn(sitemapSectionClassName), children: [
2723
+ /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-sm font-semibold", sitemapTitleClassName), children: section.title }),
2724
+ /* @__PURE__ */ jsx("ul", { className: cn("space-y-2", sitemapLinksClassName), children: section.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
2725
+ Pressable,
2726
+ {
2727
+ href: link.href,
2728
+ className: cn(
2729
+ "text-sm text-muted-foreground transition-colors hover:text-foreground",
2730
+ sitemapLinkClassName
2731
+ ),
2732
+ children: link.label
2733
+ }
2734
+ ) }, link.href)) })
2735
+ ] }, section.title));
2736
+ }, [sitemap, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName]);
2737
+ const bottomLinksContent = useMemo(() => {
2738
+ if (!bottomLinks || bottomLinks.length === 0) return null;
2739
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxs(React4.Fragment, { children: [
2740
+ idx > 0 && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "\u2022" }),
2741
+ /* @__PURE__ */ jsx(
2742
+ Pressable,
2743
+ {
2744
+ href: link.href,
2745
+ className: cn(
2746
+ "text-sm text-muted-foreground transition-colors hover:text-foreground",
2747
+ bottomLinkClassName
2748
+ ),
2749
+ children: link.text
2750
+ }
2751
+ )
2752
+ ] }, link.href));
2753
+ }, [bottomLinks, bottomLinkClassName]);
1933
2754
  return /* @__PURE__ */ jsx(
1934
2755
  Section,
1935
2756
  {
@@ -1948,7 +2769,7 @@ function FooterSimpleCentered({
1948
2769
  ),
1949
2770
  children: [
1950
2771
  /* @__PURE__ */ jsxs("div", { className: cn("max-w-96", brandClassName), children: [
1951
- /* @__PURE__ */ jsxs(
2772
+ (logo?.src || logo?.title) && /* @__PURE__ */ jsxs(
1952
2773
  "div",
1953
2774
  {
1954
2775
  className: cn(
@@ -1956,10 +2777,10 @@ function FooterSimpleCentered({
1956
2777
  logoWrapperClassName
1957
2778
  ),
1958
2779
  children: [
1959
- /* @__PURE__ */ jsx("div", { className: "flex size-12 items-center justify-center rounded-lg border border-border bg-accent p-2", children: /* @__PURE__ */ jsx(
2780
+ logo?.src && /* @__PURE__ */ jsx("div", { className: "flex size-12 items-center justify-center rounded-lg border border-border bg-accent p-2", children: /* @__PURE__ */ jsx(
1960
2781
  Img,
1961
2782
  {
1962
- src: logo?.src,
2783
+ src: logo.src,
1963
2784
  alt: logo?.alt,
1964
2785
  className: cn(
1965
2786
  "size-12 h-full w-full object-contain object-center",
@@ -1968,11 +2789,11 @@ function FooterSimpleCentered({
1968
2789
  optixFlowConfig
1969
2790
  }
1970
2791
  ) }),
1971
- /* @__PURE__ */ jsx("h3", { className: cn("text-xl font-bold", logoTitleClassName), children: logo?.title })
2792
+ logo?.title && /* @__PURE__ */ jsx("h3", { className: cn("text-xl font-bold", logoTitleClassName), children: logo.title })
1972
2793
  ]
1973
2794
  }
1974
2795
  ),
1975
- /* @__PURE__ */ jsx(
2796
+ tagline && /* @__PURE__ */ jsx(
1976
2797
  "p",
1977
2798
  {
1978
2799
  className: cn(
@@ -1990,45 +2811,7 @@ function FooterSimpleCentered({
1990
2811
  "flex flex-col items-start gap-x-20 gap-y-14 xl:flex-row",
1991
2812
  sitemapWrapperClassName
1992
2813
  ),
1993
- children: /* @__PURE__ */ jsx("div", { className: "inline-grid w-fit grid-cols-1 gap-x-20 gap-y-14 sm:grid-cols-2", children: sitemap?.map((section) => /* @__PURE__ */ jsxs(
1994
- "div",
1995
- {
1996
- className: cn("h-fit w-min", sitemapSectionClassName),
1997
- children: [
1998
- /* @__PURE__ */ jsx(
1999
- "h4",
2000
- {
2001
- className: cn(
2002
- "mb-6 text-base font-semibold whitespace-nowrap",
2003
- sitemapTitleClassName
2004
- ),
2005
- children: section.title
2006
- }
2007
- ),
2008
- /* @__PURE__ */ jsx(
2009
- "ul",
2010
- {
2011
- className: cn(
2012
- "space-y-3 text-base font-medium text-muted-foreground",
2013
- sitemapLinksClassName
2014
- ),
2015
- children: section.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
2016
- Pressable,
2017
- {
2018
- href: link.href,
2019
- className: cn(
2020
- "text-base whitespace-nowrap hover:text-accent-foreground",
2021
- sitemapLinkClassName
2022
- ),
2023
- children: link.label
2024
- }
2025
- ) }, String(link.label)))
2026
- }
2027
- )
2028
- ]
2029
- },
2030
- section.title
2031
- )) })
2814
+ children: /* @__PURE__ */ jsx("div", { className: "inline-grid w-fit grid-cols-1 gap-x-20 gap-y-14 sm:grid-cols-2", children: sitemapContent })
2032
2815
  }
2033
2816
  )
2034
2817
  ]
@@ -2050,8 +2833,8 @@ function FooterSimpleCentered({
2050
2833
  copyrightClassName
2051
2834
  ),
2052
2835
  children: [
2053
- /* @__PURE__ */ jsx("span", { children: copyright }),
2054
- /* @__PURE__ */ jsx(
2836
+ copyright && /* @__PURE__ */ jsx("span", { children: copyright }),
2837
+ attributionHref && attributionText && /* @__PURE__ */ jsx(
2055
2838
  Pressable,
2056
2839
  {
2057
2840
  href: attributionHref,
@@ -2071,18 +2854,7 @@ function FooterSimpleCentered({
2071
2854
  "flex flex-col items-start gap-4 text-xs text-muted-foreground sm:text-sm md:flex-row lg:items-center",
2072
2855
  bottomLinksClassName
2073
2856
  ),
2074
- children: bottomLinks?.map((link, idx) => /* @__PURE__ */ jsx(
2075
- Pressable,
2076
- {
2077
- href: link.href,
2078
- className: cn(
2079
- "hover:text-accent-foreground",
2080
- bottomLinkClassName
2081
- ),
2082
- children: link.text
2083
- },
2084
- idx
2085
- ))
2857
+ children: bottomLinksContent
2086
2858
  }
2087
2859
  )
2088
2860
  ]
@@ -2093,18 +2865,13 @@ function FooterSimpleCentered({
2093
2865
  );
2094
2866
  }
2095
2867
  function FooterBrandDescription({
2096
- logo = {
2097
- url: "https://opensite.ai",
2098
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2099
- alt: "Opensite AI",
2100
- title: "Opensite AI"
2101
- },
2868
+ logo,
2102
2869
  sections,
2103
2870
  description,
2104
2871
  socialLinks,
2105
2872
  copyright,
2106
2873
  attributionText,
2107
- attributionHref = "https://opensite.ai",
2874
+ attributionHref,
2108
2875
  legalLinks,
2109
2876
  className,
2110
2877
  contentClassName,
@@ -2125,13 +2892,13 @@ function FooterBrandDescription({
2125
2892
  copyrightClassName,
2126
2893
  legalLinksClassName,
2127
2894
  legalLinkClassName,
2128
- background = "white",
2129
- spacing = "lg",
2895
+ background,
2896
+ spacing,
2130
2897
  pattern,
2131
2898
  patternOpacity,
2132
2899
  optixFlowConfig
2133
2900
  }) {
2134
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2901
+ const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2135
2902
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
2136
2903
  return /* @__PURE__ */ jsx(
2137
2904
  Section,
@@ -2143,8 +2910,8 @@ function FooterBrandDescription({
2143
2910
  className: cn(className),
2144
2911
  children: /* @__PURE__ */ jsxs("div", { className: cn(contentClassName), children: [
2145
2912
  /* @__PURE__ */ jsxs("div", { className: cn("flex w-full flex-col justify-between gap-10 lg:flex-row lg:items-start lg:text-left", layoutClassName), children: [
2146
- /* @__PURE__ */ jsxs("div", { className: cn("flex w-full flex-col justify-between gap-6 lg:items-start", brandColumnClassName), children: [
2147
- /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 lg:justify-start", logoWrapperClassName), children: [
2913
+ (logo || description || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn("flex w-full flex-col justify-between gap-6 lg:items-start", brandColumnClassName), children: [
2914
+ logo && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2 lg:justify-start", logoWrapperClassName), children: [
2148
2915
  /* @__PURE__ */ jsx(Pressable, { href: logo.url, children: /* @__PURE__ */ jsx(
2149
2916
  Img,
2150
2917
  {
@@ -2156,10 +2923,10 @@ function FooterBrandDescription({
2156
2923
  ) }),
2157
2924
  /* @__PURE__ */ jsx("h2", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
2158
2925
  ] }),
2159
- /* @__PURE__ */ jsx("p", { className: cn("max-w-[70%] text-sm text-muted-foreground", descriptionClassName), children: description }),
2160
- /* @__PURE__ */ jsx("ul", { className: cn("flex items-center space-x-6 text-muted-foreground", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsx("li", { className: cn("font-medium hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 }) }) }, idx)) })
2926
+ description && /* @__PURE__ */ jsx("p", { className: cn("max-w-[70%] text-sm text-muted-foreground", descriptionClassName), children: description }),
2927
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: cn("flex items-center space-x-6 text-muted-foreground", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { className: cn("font-medium hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 }) }) }, idx)) })
2161
2928
  ] }),
2162
- /* @__PURE__ */ jsx("div", { className: cn("grid w-full gap-6 md:grid-cols-3 lg:gap-20", navGridClassName), children: sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
2929
+ sections && sections.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("grid w-full gap-6 md:grid-cols-3 lg:gap-20", navGridClassName), children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
2163
2930
  /* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
2164
2931
  /* @__PURE__ */ jsx("ul", { className: cn("space-y-3 text-sm text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
2165
2932
  "li",
@@ -2174,10 +2941,10 @@ function FooterBrandDescription({
2174
2941
  /* @__PURE__ */ jsxs("div", { className: cn("mt-8 flex flex-col justify-between gap-4 border-t py-8 text-xs font-medium text-muted-foreground md:flex-row md:items-center md:text-left", bottomClassName), children: [
2175
2942
  /* @__PURE__ */ jsxs("div", { className: cn("order-2 flex flex-col gap-2 lg:order-1 lg:flex-row lg:items-center lg:gap-4", copyrightClassName), children: [
2176
2943
  /* @__PURE__ */ jsx("p", { children: copyrightText }),
2177
- /* @__PURE__ */ jsx(
2944
+ attributionText && /* @__PURE__ */ jsx(
2178
2945
  Pressable,
2179
2946
  {
2180
- href: attributionHref,
2947
+ href: attributionHref || "https://opensite.ai",
2181
2948
  className: "hover:text-primary",
2182
2949
  target: "_blank",
2183
2950
  rel: "noopener noreferrer",
@@ -2185,138 +2952,135 @@ function FooterBrandDescription({
2185
2952
  }
2186
2953
  )
2187
2954
  ] }),
2188
- /* @__PURE__ */ jsx("ul", { className: cn("order-1 flex flex-col gap-2 md:order-2 md:flex-row", legalLinksClassName), children: legalLinks?.map((link, idx) => /* @__PURE__ */ jsx("li", { className: cn("hover:text-primary", legalLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name }) }, idx)) })
2955
+ legalLinks && legalLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: cn("order-1 flex flex-col gap-2 md:order-2 md:flex-row", legalLinksClassName), children: legalLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { className: cn("hover:text-primary", legalLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name }) }, idx)) })
2189
2956
  ] })
2190
2957
  ] })
2191
2958
  }
2192
2959
  );
2193
2960
  }
2194
2961
  function FooterNewsletterGrid({
2195
- logo = {
2196
- url: "https://opensite.ai",
2197
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2198
- alt: "Opensite AI",
2199
- title: "Opensite AI"
2200
- },
2962
+ logo,
2201
2963
  className,
2202
2964
  description,
2203
2965
  sections,
2204
2966
  socialLinks,
2205
2967
  newsletterTitle,
2206
- newsletterPlaceholder = "Email",
2968
+ newsletterPlaceholder,
2207
2969
  newsletterButtonText,
2208
2970
  privacyText,
2209
2971
  privacyLinkText,
2210
- privacyLinkUrl = "#",
2972
+ privacyLinkUrl,
2211
2973
  copyright,
2974
+ background,
2975
+ spacing,
2976
+ pattern,
2977
+ patternOpacity,
2212
2978
  optixFlowConfig
2213
2979
  }) {
2214
- return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsxs("footer", { children: [
2215
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-4 justify-between gap-10 lg:grid-cols-6 lg:text-left", children: [
2216
- /* @__PURE__ */ jsxs("div", { className: "col-span-4 flex w-full flex-col gap-6 lg:col-span-2", children: [
2217
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
2218
- /* @__PURE__ */ jsx(Pressable, { href: logo.url, children: /* @__PURE__ */ jsx(
2219
- Img,
2220
- {
2221
- src: logo.src,
2222
- alt: logo.alt,
2223
- className: "h-8",
2224
- optixFlowConfig
2225
- }
2226
- ) }),
2227
- /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold", children: logo.title })
2228
- ] }),
2229
- /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: description }),
2230
- /* @__PURE__ */ jsx("ul", { className: "flex items-center space-x-6", children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsx(
2231
- "li",
2232
- {
2233
- className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground",
2234
- children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) })
2235
- },
2236
- idx
2237
- )) })
2238
- ] }),
2239
- sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: "col-span-2 md:col-span-1", children: [
2240
- /* @__PURE__ */ jsx("h3", { className: "mb-5 font-medium", children: section.title }),
2241
- /* @__PURE__ */ jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
2242
- "li",
2243
- {
2244
- className: "font-medium hover:text-primary",
2245
- children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name })
2246
- },
2247
- linkIdx
2248
- )) })
2249
- ] }, sectionIdx)),
2250
- /* @__PURE__ */ jsxs("div", { className: "col-span-4 md:col-span-2", children: [
2251
- /* @__PURE__ */ jsx("h3", { className: "mb-5 font-medium", children: newsletterTitle }),
2252
- /* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center space-x-2", children: [
2253
- /* @__PURE__ */ jsx(
2254
- "input",
2255
- {
2256
- type: "email",
2257
- placeholder: newsletterPlaceholder,
2258
- className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
2259
- }
2260
- ),
2261
- /* @__PURE__ */ jsx(
2262
- "button",
2263
- {
2264
- type: "submit",
2265
- className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
2266
- children: newsletterButtonText
2267
- }
2268
- )
2269
- ] }) }),
2270
- /* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
2271
- privacyText,
2272
- /* @__PURE__ */ jsx(
2273
- Pressable,
2274
- {
2275
- href: privacyLinkUrl,
2276
- className: "ml-1 text-primary hover:underline",
2277
- children: privacyLinkText
2278
- }
2279
- )
2280
- ] })
2281
- ] })
2282
- ] }),
2283
- /* @__PURE__ */ jsxs("div", { className: "mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground lg:flex-row lg:items-center lg:text-left", children: [
2284
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:gap-4", children: /* @__PURE__ */ jsxs("p", { children: [
2285
- /* @__PURE__ */ jsx("span", { className: "mr-1 font-bold text-primary", children: "Opensite AI" }),
2286
- copyright
2287
- ] }) }),
2288
- /* @__PURE__ */ jsx(
2289
- Pressable,
2980
+ const sectionsContent = useMemo(() => {
2981
+ if (!sections || sections.length === 0) return null;
2982
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: "col-span-2 md:col-span-1", children: [
2983
+ /* @__PURE__ */ jsx("h3", { className: "mb-5 font-medium", children: section.title }),
2984
+ /* @__PURE__ */ jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx(
2985
+ "li",
2290
2986
  {
2291
- href: "https://opensite.ai",
2292
- className: "hover:text-primary",
2293
- target: "_blank",
2294
- rel: "noopener noreferrer",
2295
- children: "AI Website and Automation Platform by Opensite"
2296
- }
2297
- )
2298
- ] })
2299
- ] }) }) });
2987
+ className: "font-medium hover:text-primary",
2988
+ children: /* @__PURE__ */ jsx(Pressable, { href: link.href, children: link.name })
2989
+ },
2990
+ linkIdx
2991
+ )) })
2992
+ ] }, sectionIdx));
2993
+ }, [sections]);
2994
+ const socialLinksContent = useMemo(() => {
2995
+ if (!socialLinks || socialLinks.length === 0) return null;
2996
+ return socialLinks.map((social, idx) => /* @__PURE__ */ jsx(
2997
+ "li",
2998
+ {
2999
+ className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground",
3000
+ children: /* @__PURE__ */ jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 24 }) })
3001
+ },
3002
+ idx
3003
+ ));
3004
+ }, [socialLinks]);
3005
+ return /* @__PURE__ */ jsx(
3006
+ Section,
3007
+ {
3008
+ background,
3009
+ spacing,
3010
+ pattern,
3011
+ patternOpacity,
3012
+ className: cn(className),
3013
+ children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("footer", { children: [
3014
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-4 justify-between gap-10 lg:grid-cols-6 lg:text-left", children: [
3015
+ /* @__PURE__ */ jsxs("div", { className: "col-span-4 flex w-full flex-col gap-6 lg:col-span-2", children: [
3016
+ logo && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
3017
+ /* @__PURE__ */ jsx(Pressable, { href: logo.url, children: logo.src && /* @__PURE__ */ jsx(
3018
+ Img,
3019
+ {
3020
+ src: logo.src,
3021
+ alt: logo.alt,
3022
+ className: "h-8",
3023
+ optixFlowConfig
3024
+ }
3025
+ ) }),
3026
+ logo.title && /* @__PURE__ */ jsx("h2", { className: "text-xl font-semibold", children: logo.title })
3027
+ ] }),
3028
+ description && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground", children: description }),
3029
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: "flex items-center space-x-6", children: socialLinksContent })
3030
+ ] }),
3031
+ sectionsContent,
3032
+ (newsletterTitle || newsletterButtonText) && /* @__PURE__ */ jsxs("div", { className: "col-span-4 md:col-span-2", children: [
3033
+ newsletterTitle && /* @__PURE__ */ jsx("h3", { className: "mb-5 font-medium", children: newsletterTitle }),
3034
+ /* @__PURE__ */ jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center space-x-2", children: [
3035
+ /* @__PURE__ */ jsx(
3036
+ "input",
3037
+ {
3038
+ type: "email",
3039
+ placeholder: newsletterPlaceholder,
3040
+ className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
3041
+ }
3042
+ ),
3043
+ newsletterButtonText && /* @__PURE__ */ jsx(
3044
+ "button",
3045
+ {
3046
+ type: "submit",
3047
+ className: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2",
3048
+ children: newsletterButtonText
3049
+ }
3050
+ )
3051
+ ] }) }),
3052
+ (privacyText || privacyLinkText) && /* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
3053
+ privacyText,
3054
+ privacyLinkText && privacyLinkUrl && /* @__PURE__ */ jsx(
3055
+ Pressable,
3056
+ {
3057
+ href: privacyLinkUrl,
3058
+ className: "ml-1 text-primary hover:underline",
3059
+ children: privacyLinkText
3060
+ }
3061
+ )
3062
+ ] })
3063
+ ] })
3064
+ ] }),
3065
+ copyright && /* @__PURE__ */ jsx("div", { className: "mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium text-muted-foreground lg:flex-row lg:items-center lg:text-left", children: /* @__PURE__ */ jsx("p", { children: copyright }) })
3066
+ ] }) })
3067
+ }
3068
+ );
2300
3069
  }
2301
3070
  function FooterCtaBanner({
2302
- logo = {
2303
- url: "https://opensite.ai",
2304
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2305
- alt: "Opensite AI",
2306
- title: "Opensite AI"
2307
- },
3071
+ logo,
2308
3072
  ctaHeading,
2309
3073
  ctaDescription,
2310
3074
  ctaButtonText,
2311
- ctaButtonUrl = "#",
3075
+ ctaButtonUrl,
2312
3076
  sections,
2313
3077
  socialLinks,
2314
3078
  newsletterLabel,
2315
- newsletterPlaceholder = "Enter your email",
3079
+ newsletterPlaceholder,
2316
3080
  newsletterButtonText,
2317
3081
  copyright,
2318
3082
  attributionText,
2319
- attributionHref = "https://opensite.ai",
3083
+ attributionHref,
2320
3084
  legalLinks,
2321
3085
  className,
2322
3086
  contentClassName,
@@ -2342,13 +3106,13 @@ function FooterCtaBanner({
2342
3106
  copyrightClassName,
2343
3107
  legalLinksClassName,
2344
3108
  legalLinkClassName,
2345
- background = "dark",
2346
- spacing = "lg",
3109
+ background,
3110
+ spacing,
2347
3111
  pattern,
2348
3112
  patternOpacity,
2349
3113
  optixFlowConfig
2350
3114
  }) {
2351
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3115
+ const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2352
3116
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
2353
3117
  return /* @__PURE__ */ jsx(
2354
3118
  Section,
@@ -2373,13 +3137,13 @@ function FooterCtaBanner({
2373
3137
  ] }),
2374
3138
  /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-5", gridClassName), children: [
2375
3139
  /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-2", brandClassName), children: [
2376
- /* @__PURE__ */ jsxs(
3140
+ logo && /* @__PURE__ */ jsxs(
2377
3141
  Pressable,
2378
3142
  {
2379
3143
  href: logo.url,
2380
3144
  className: cn("mb-6 flex items-center gap-2", logoWrapperClassName),
2381
3145
  children: [
2382
- /* @__PURE__ */ jsx(
3146
+ logo.src && /* @__PURE__ */ jsx(
2383
3147
  Img,
2384
3148
  {
2385
3149
  src: logo.src,
@@ -2388,7 +3152,7 @@ function FooterCtaBanner({
2388
3152
  optixFlowConfig
2389
3153
  }
2390
3154
  ),
2391
- /* @__PURE__ */ jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
3155
+ logo.title && /* @__PURE__ */ jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
2392
3156
  ]
2393
3157
  }
2394
3158
  ),
@@ -2456,12 +3220,7 @@ function FooterCtaBanner({
2456
3220
  );
2457
3221
  }
2458
3222
  function FooterContactCard({
2459
- logo = {
2460
- url: "https://opensite.ai",
2461
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2462
- alt: "Opensite AI",
2463
- title: "Opensite AI"
2464
- },
3223
+ logo,
2465
3224
  heading,
2466
3225
  email,
2467
3226
  phone,
@@ -2473,7 +3232,7 @@ function FooterContactCard({
2473
3232
  locationLabel,
2474
3233
  copyright,
2475
3234
  attributionText,
2476
- attributionHref = "https://opensite.ai",
3235
+ attributionHref,
2477
3236
  className,
2478
3237
  contentClassName,
2479
3238
  gridClassName,
@@ -2493,13 +3252,13 @@ function FooterContactCard({
2493
3252
  bottomClassName,
2494
3253
  copyrightClassName,
2495
3254
  locationClassName,
2496
- background = "white",
2497
- spacing = "lg",
3255
+ background,
3256
+ spacing,
2498
3257
  pattern,
2499
3258
  patternOpacity,
2500
3259
  optixFlowConfig
2501
3260
  }) {
2502
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3261
+ const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2503
3262
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
2504
3263
  return /* @__PURE__ */ jsx(
2505
3264
  Section,
@@ -2512,7 +3271,7 @@ function FooterContactCard({
2512
3271
  children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
2513
3272
  /* @__PURE__ */ jsxs("div", { className: cn("grid gap-12 lg:grid-cols-2", gridClassName), children: [
2514
3273
  /* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
2515
- /* @__PURE__ */ jsxs(
3274
+ logo && /* @__PURE__ */ jsxs(
2516
3275
  Pressable,
2517
3276
  {
2518
3277
  href: logo.url,
@@ -2531,9 +3290,9 @@ function FooterContactCard({
2531
3290
  ]
2532
3291
  }
2533
3292
  ),
2534
- /* @__PURE__ */ jsx("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
2535
- /* @__PURE__ */ jsxs("div", { className: cn("space-y-4 text-muted-foreground", contactClassName), children: [
2536
- /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
3293
+ heading && /* @__PURE__ */ jsx("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
3294
+ (email || phone || address) && /* @__PURE__ */ jsxs("div", { className: cn("space-y-4 text-muted-foreground", contactClassName), children: [
3295
+ email && /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
2537
3296
  Pressable,
2538
3297
  {
2539
3298
  href: `mailto:${email}`,
@@ -2541,7 +3300,7 @@ function FooterContactCard({
2541
3300
  children: email
2542
3301
  }
2543
3302
  ) }),
2544
- /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
3303
+ phone && /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx(
2545
3304
  Pressable,
2546
3305
  {
2547
3306
  href: `tel:${phone}`,
@@ -2549,13 +3308,13 @@ function FooterContactCard({
2549
3308
  children: phone
2550
3309
  }
2551
3310
  ) }),
2552
- /* @__PURE__ */ jsx("p", { children: address })
3311
+ address && /* @__PURE__ */ jsx("p", { children: address })
2553
3312
  ] })
2554
3313
  ] }),
2555
3314
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
2556
- /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
2557
- /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
2558
- /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3315
+ (socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
3316
+ socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
3317
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
2559
3318
  Pressable,
2560
3319
  {
2561
3320
  href: social.href,
@@ -2565,7 +3324,7 @@ function FooterContactCard({
2565
3324
  }
2566
3325
  ) }, idx)) })
2567
3326
  ] }),
2568
- /* @__PURE__ */ jsx("nav", { className: cn("mt-8", navClassName), children: /* @__PURE__ */ jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks?.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3327
+ navLinks && navLinks.length > 0 && /* @__PURE__ */ jsx("nav", { className: cn("mt-8", navClassName), children: /* @__PURE__ */ jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
2569
3328
  Pressable,
2570
3329
  {
2571
3330
  href: link.href,
@@ -2578,10 +3337,10 @@ function FooterContactCard({
2578
3337
  /* @__PURE__ */ jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm text-muted-foreground md:flex-row md:items-center", bottomClassName), children: [
2579
3338
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
2580
3339
  /* @__PURE__ */ jsx("p", { children: copyrightText }),
2581
- /* @__PURE__ */ jsx(
3340
+ attributionText && /* @__PURE__ */ jsx(
2582
3341
  Pressable,
2583
3342
  {
2584
- href: attributionHref,
3343
+ href: attributionHref || "https://opensite.ai",
2585
3344
  className: "hover:text-primary",
2586
3345
  target: "_blank",
2587
3346
  rel: "noopener noreferrer",
@@ -2589,10 +3348,10 @@ function FooterContactCard({
2589
3348
  }
2590
3349
  )
2591
3350
  ] }),
2592
- /* @__PURE__ */ jsxs("p", { className: cn(locationClassName), children: [
3351
+ (locationLabel || location) && /* @__PURE__ */ jsxs("p", { className: cn(locationClassName), children: [
2593
3352
  locationLabel,
2594
3353
  " ",
2595
- /* @__PURE__ */ jsx("strong", { children: location })
3354
+ location && /* @__PURE__ */ jsx("strong", { children: location })
2596
3355
  ] })
2597
3356
  ] })
2598
3357
  ] }) })
@@ -2600,24 +3359,19 @@ function FooterContactCard({
2600
3359
  );
2601
3360
  }
2602
3361
  function FooterBackgroundCard({
2603
- logo = {
2604
- url: "https://opensite.ai",
2605
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2606
- alt: "Opensite AI",
2607
- title: "Opensite AI"
2608
- },
2609
- backgroundImage = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=80",
2610
- profileImage = "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&q=80",
3362
+ logo,
3363
+ backgroundImage,
3364
+ profileImage,
2611
3365
  tagline,
2612
3366
  personalMessage,
2613
3367
  ctaText,
2614
- ctaUrl = "#",
3368
+ ctaUrl,
2615
3369
  contactTitle,
2616
3370
  contact,
2617
3371
  menuItems,
2618
3372
  copyright,
2619
3373
  attributionText,
2620
- attributionHref = "https://opensite.ai",
3374
+ attributionHref,
2621
3375
  bottomLinks,
2622
3376
  className,
2623
3377
  cardClassName,
@@ -2636,14 +3390,18 @@ function FooterBackgroundCard({
2636
3390
  bottomClassName,
2637
3391
  copyrightClassName,
2638
3392
  bottomLinksClassName,
2639
- background = "white",
2640
- spacing = "lg",
3393
+ background,
3394
+ spacing,
2641
3395
  pattern,
2642
3396
  patternOpacity,
2643
3397
  optixFlowConfig
2644
3398
  }) {
2645
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3399
+ const currentYear = useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2646
3400
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
3401
+ const sectionStyle = useMemo(
3402
+ () => backgroundImage ? { backgroundImage: `url('${backgroundImage}')` } : void 0,
3403
+ [backgroundImage]
3404
+ );
2647
3405
  return /* @__PURE__ */ jsx(
2648
3406
  Section,
2649
3407
  {
@@ -2652,14 +3410,12 @@ function FooterBackgroundCard({
2652
3410
  pattern,
2653
3411
  patternOpacity,
2654
3412
  className: cn("bg-cover bg-center bg-no-repeat", className),
2655
- style: {
2656
- backgroundImage: `url('${backgroundImage}')`
2657
- },
3413
+ style: sectionStyle,
2658
3414
  children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg bg-background p-8 shadow-lg md:p-12", cardClassName), children: [
2659
3415
  /* @__PURE__ */ jsxs("div", { className: cn("grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12", gridClassName), children: [
2660
- /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
2661
- /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
2662
- /* @__PURE__ */ jsx(
3416
+ (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
3417
+ (profileImage || tagline) && /* @__PURE__ */ jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
3418
+ profileImage && /* @__PURE__ */ jsx(
2663
3419
  Img,
2664
3420
  {
2665
3421
  src: profileImage,
@@ -2668,19 +3424,19 @@ function FooterBackgroundCard({
2668
3424
  optixFlowConfig
2669
3425
  }
2670
3426
  ),
2671
- /* @__PURE__ */ jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
3427
+ tagline && /* @__PURE__ */ jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
2672
3428
  ] }),
2673
- /* @__PURE__ */ jsx("p", { className: cn("mb-6 text-sm leading-relaxed text-muted-foreground", messageClassName), children: personalMessage }),
2674
- /* @__PURE__ */ jsx(
3429
+ personalMessage && /* @__PURE__ */ jsx("p", { className: cn("mb-6 text-sm leading-relaxed text-muted-foreground", messageClassName), children: personalMessage }),
3430
+ ctaText && /* @__PURE__ */ jsx(
2675
3431
  Pressable,
2676
3432
  {
2677
- href: ctaUrl,
3433
+ href: ctaUrl || "#",
2678
3434
  className: cn("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2", ctaClassName),
2679
3435
  children: ctaText
2680
3436
  }
2681
3437
  )
2682
3438
  ] }),
2683
- menuItems?.map((menu, idx) => /* @__PURE__ */ jsxs("div", { className: cn(menuSectionClassName), children: [
3439
+ menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxs("div", { className: cn(menuSectionClassName), children: [
2684
3440
  /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", menuTitleClassName), children: menu.title }),
2685
3441
  /* @__PURE__ */ jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
2686
3442
  Pressable,
@@ -2691,15 +3447,15 @@ function FooterBackgroundCard({
2691
3447
  }
2692
3448
  ) }, index)) })
2693
3449
  ] }, idx)),
2694
- /* @__PURE__ */ jsxs("div", { className: cn(contactSectionClassName), children: [
2695
- /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", contactTitleClassName), children: contactTitle }),
2696
- /* @__PURE__ */ jsxs("ul", { className: "space-y-3", children: [
2697
- /* @__PURE__ */ jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact?.phone }),
2698
- /* @__PURE__ */ jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact?.email }),
2699
- /* @__PURE__ */ jsxs("li", { className: cn("text-muted-foreground", contactItemClassName), children: [
2700
- contact?.location,
2701
- " \u2022 ",
2702
- contact?.timezone
3450
+ (contactTitle || contact) && /* @__PURE__ */ jsxs("div", { className: cn(contactSectionClassName), children: [
3451
+ contactTitle && /* @__PURE__ */ jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", contactTitleClassName), children: contactTitle }),
3452
+ contact && /* @__PURE__ */ jsxs("ul", { className: "space-y-3", children: [
3453
+ contact.phone && /* @__PURE__ */ jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact.phone }),
3454
+ contact.email && /* @__PURE__ */ jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact.email }),
3455
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxs("li", { className: cn("text-muted-foreground", contactItemClassName), children: [
3456
+ contact.location,
3457
+ contact.location && contact.timezone && " \u2022 ",
3458
+ contact.timezone
2703
3459
  ] })
2704
3460
  ] })
2705
3461
  ] })
@@ -2707,10 +3463,10 @@ function FooterBackgroundCard({
2707
3463
  /* @__PURE__ */ jsxs("div", { className: cn("mt-12 flex flex-col items-center justify-between gap-4 border-t border-border pt-8 md:flex-row", bottomClassName), children: [
2708
3464
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 text-sm text-muted-foreground md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
2709
3465
  /* @__PURE__ */ jsx("p", { children: copyrightText }),
2710
- /* @__PURE__ */ jsx(
3466
+ attributionText && /* @__PURE__ */ jsx(
2711
3467
  Pressable,
2712
3468
  {
2713
- href: attributionHref,
3469
+ href: attributionHref || "https://opensite.ai",
2714
3470
  className: "hover:text-primary",
2715
3471
  target: "_blank",
2716
3472
  rel: "noopener noreferrer",
@@ -2718,7 +3474,7 @@ function FooterBackgroundCard({
2718
3474
  }
2719
3475
  )
2720
3476
  ] }),
2721
- /* @__PURE__ */ jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks?.map((link, idx) => /* @__PURE__ */ jsx(
3477
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(
2722
3478
  Pressable,
2723
3479
  {
2724
3480
  href: link.url,
@@ -2754,11 +3510,11 @@ function FooterAnimatedSocial({
2754
3510
  heading,
2755
3511
  description,
2756
3512
  ctaText,
2757
- ctaUrl = "#",
3513
+ ctaUrl,
2758
3514
  socialLinks,
2759
3515
  copyright,
2760
3516
  attributionText,
2761
- attributionHref = "https://opensite.ai",
3517
+ attributionHref,
2762
3518
  className,
2763
3519
  contentClassName,
2764
3520
  layoutClassName,
@@ -2772,13 +3528,45 @@ function FooterAnimatedSocial({
2772
3528
  bottomClassName,
2773
3529
  separatorClassName,
2774
3530
  copyrightClassName,
2775
- background = "white",
2776
- spacing = "lg",
3531
+ background,
3532
+ spacing,
2777
3533
  pattern,
2778
3534
  patternOpacity
2779
3535
  }) {
2780
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2781
- const copyrightText = copyright ?? `\xA9 Copyright ${currentYear}. All rights Reserved.`;
3536
+ const socialLinksContent = useMemo(() => {
3537
+ if (!socialLinks || socialLinks.length === 0) return null;
3538
+ return socialLinks.map((link) => /* @__PURE__ */ jsx(
3539
+ motion.div,
3540
+ {
3541
+ variants: itemVariants,
3542
+ whileHover: { x: 4 },
3543
+ transition: {
3544
+ type: "spring",
3545
+ stiffness: 300,
3546
+ damping: 20
3547
+ },
3548
+ children: /* @__PURE__ */ jsxs(
3549
+ Pressable,
3550
+ {
3551
+ href: link.href,
3552
+ className: cn("group flex items-center gap-2 py-2 text-foreground transition-colors hover:text-foreground/80", socialLinkClassName),
3553
+ children: [
3554
+ /* @__PURE__ */ jsx("span", { className: "text-xl font-medium", children: link.name }),
3555
+ /* @__PURE__ */ jsx(
3556
+ DynamicIcon,
3557
+ {
3558
+ name: "lucide/arrow-up-right",
3559
+ size: 24,
3560
+ className: "transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"
3561
+ }
3562
+ )
3563
+ ]
3564
+ }
3565
+ )
3566
+ },
3567
+ link.name
3568
+ ));
3569
+ }, [socialLinks, socialLinkClassName]);
2782
3570
  return /* @__PURE__ */ jsx(
2783
3571
  Section,
2784
3572
  {
@@ -2802,7 +3590,7 @@ function FooterAnimatedSocial({
2802
3590
  /* @__PURE__ */ jsx("h2", { className: cn("text-4xl leading-tight font-bold text-foreground lg:text-5xl", headingClassName), children: heading }),
2803
3591
  /* @__PURE__ */ jsx("p", { className: cn("max-w-md text-lg leading-relaxed text-muted-foreground", descriptionClassName), children: description })
2804
3592
  ] }),
2805
- /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
3593
+ ctaUrl && ctaText && /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
2806
3594
  Pressable,
2807
3595
  {
2808
3596
  href: ctaUrl,
@@ -2811,37 +3599,7 @@ function FooterAnimatedSocial({
2811
3599
  }
2812
3600
  ) })
2813
3601
  ] }),
2814
- /* @__PURE__ */ jsx("div", { className: cn("mt-5 space-y-8 md:mt-0", rightColumnClassName), children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: cn("space-y-6", socialLinksClassName), children: socialLinks?.map((link) => /* @__PURE__ */ jsx(
2815
- motion.div,
2816
- {
2817
- variants: itemVariants,
2818
- whileHover: { x: 4 },
2819
- transition: {
2820
- type: "spring",
2821
- stiffness: 300,
2822
- damping: 20
2823
- },
2824
- children: /* @__PURE__ */ jsxs(
2825
- Pressable,
2826
- {
2827
- href: link.href,
2828
- className: cn("group flex items-center gap-2 py-2 text-foreground transition-colors hover:text-foreground/80", socialLinkClassName),
2829
- children: [
2830
- /* @__PURE__ */ jsx("span", { className: "text-xl font-medium", children: link.name }),
2831
- /* @__PURE__ */ jsx(
2832
- DynamicIcon,
2833
- {
2834
- name: "lucide/arrow-up-right",
2835
- size: 24,
2836
- className: "transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"
2837
- }
2838
- )
2839
- ]
2840
- }
2841
- )
2842
- },
2843
- link.name
2844
- )) }) }) })
3602
+ /* @__PURE__ */ jsx("div", { className: cn("mt-5 space-y-8 md:mt-0", rightColumnClassName), children: /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx("div", { className: cn("space-y-6", socialLinksClassName), children: socialLinksContent }) }) })
2845
3603
  ]
2846
3604
  }
2847
3605
  ),
@@ -2861,7 +3619,7 @@ function FooterAnimatedSocial({
2861
3619
  variants: itemVariants,
2862
3620
  className: cn("flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center", copyrightClassName),
2863
3621
  children: [
2864
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: copyrightText }),
3622
+ copyright && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: copyright }),
2865
3623
  /* @__PURE__ */ jsx("div", { className: "flex items-center gap-6 text-sm", children: /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: /* @__PURE__ */ jsx(
2866
3624
  motion.a,
2867
3625
  {
@@ -3015,11 +3773,11 @@ function FooterNewsletterMinimal({
3015
3773
  socialLinks,
3016
3774
  footerLinks,
3017
3775
  newsletterLabel,
3018
- newsletterPlaceholder = "Email*",
3776
+ newsletterPlaceholder,
3019
3777
  brandText,
3020
3778
  copyright,
3021
3779
  attributionText,
3022
- attributionHref = "https://opensite.ai",
3780
+ attributionHref,
3023
3781
  location,
3024
3782
  className,
3025
3783
  contentClassName,
@@ -3042,8 +3800,8 @@ function FooterNewsletterMinimal({
3042
3800
  brandSectionClassName,
3043
3801
  brandTextClassName,
3044
3802
  copyrightClassName,
3045
- background = "dark",
3046
- spacing = "lg",
3803
+ background,
3804
+ spacing,
3047
3805
  pattern,
3048
3806
  patternOpacity,
3049
3807
  formConfig,
@@ -3051,6 +3809,50 @@ function FooterNewsletterMinimal({
3051
3809
  onSuccess,
3052
3810
  onError
3053
3811
  }) {
3812
+ const navLinksContent = useMemo(() => {
3813
+ if (!navLinks || navLinks.length === 0) return null;
3814
+ return navLinks.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3815
+ Pressable,
3816
+ {
3817
+ href: item.href,
3818
+ className: cn("tracking-tight text-foreground hover:text-foreground/30", navLinkClassName),
3819
+ children: item.label
3820
+ }
3821
+ ) }, idx));
3822
+ }, [navLinks, navLinkClassName]);
3823
+ const socialLinksContent = useMemo(() => {
3824
+ if (!socialLinks || socialLinks.length === 0) return null;
3825
+ return socialLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
3826
+ Pressable,
3827
+ {
3828
+ href: item.href,
3829
+ className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", socialLinkClassName),
3830
+ children: [
3831
+ item.label,
3832
+ " ",
3833
+ /* @__PURE__ */ jsx(
3834
+ DynamicIcon,
3835
+ {
3836
+ name: "lucide/arrow-up-right",
3837
+ size: 14,
3838
+ className: "text-foreground group-hover:text-muted-foreground/50"
3839
+ }
3840
+ )
3841
+ ]
3842
+ }
3843
+ ) }, item.label));
3844
+ }, [socialLinks, socialLinkClassName]);
3845
+ const footerLinksContent = useMemo(() => {
3846
+ if (!footerLinks || footerLinks.length === 0) return null;
3847
+ return footerLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3848
+ Pressable,
3849
+ {
3850
+ href: item.href,
3851
+ className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", footerLinkClassName),
3852
+ children: item.label
3853
+ }
3854
+ ) }, item.label));
3855
+ }, [footerLinks, footerLinkClassName]);
3054
3856
  const form = useForm({
3055
3857
  initialValues: {
3056
3858
  email: ""
@@ -3091,8 +3893,6 @@ function FooterNewsletterMinimal({
3091
3893
  }
3092
3894
  });
3093
3895
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
3094
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3095
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
3096
3896
  return /* @__PURE__ */ jsx(
3097
3897
  Section,
3098
3898
  {
@@ -3104,45 +3904,20 @@ function FooterNewsletterMinimal({
3104
3904
  children: /* @__PURE__ */ jsxs("div", { className: cn(contentClassName), children: [
3105
3905
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-between gap-15 lg:flex-row", topSectionClassName), children: [
3106
3906
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-10", children: [
3107
- /* @__PURE__ */ jsx("p", { className: cn("relative text-4xl font-medium tracking-tight lg:text-5xl", headingClassName), children: heading }),
3108
- /* @__PURE__ */ jsxs("div", { className: cn("space-y-1 text-sm font-light tracking-tight lg:text-base", supportClassName), children: [
3109
- /* @__PURE__ */ jsx("p", { children: supportLabel }),
3110
- /* @__PURE__ */ jsx(Pressable, { href: `mailto:${supportEmail}`, children: supportEmail })
3907
+ heading && /* @__PURE__ */ jsx("p", { className: cn("relative text-4xl font-medium tracking-tight lg:text-5xl", headingClassName), children: heading }),
3908
+ (supportLabel || supportEmail) && /* @__PURE__ */ jsxs("div", { className: cn("space-y-1 text-sm font-light tracking-tight lg:text-base", supportClassName), children: [
3909
+ supportLabel && /* @__PURE__ */ jsx("p", { children: supportLabel }),
3910
+ supportEmail && /* @__PURE__ */ jsx(Pressable, { href: `mailto:${supportEmail}`, children: supportEmail })
3111
3911
  ] })
3112
3912
  ] }),
3113
3913
  /* @__PURE__ */ jsxs("div", { className: cn("grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", navGridClassName), children: [
3114
- /* @__PURE__ */ jsx("ul", { className: cn("space-y-1", navLinksClassName), children: navLinks?.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3115
- Pressable,
3116
- {
3117
- href: item.href,
3118
- className: cn("tracking-tight text-foreground hover:text-foreground/30", navLinkClassName),
3119
- children: item.label
3120
- }
3121
- ) }, idx)) }),
3122
- /* @__PURE__ */ jsx("ul", { className: cn("space-y-1", socialLinksClassName), children: socialLinks?.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
3123
- Pressable,
3124
- {
3125
- href: item.href,
3126
- className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", socialLinkClassName),
3127
- children: [
3128
- item.label,
3129
- " ",
3130
- /* @__PURE__ */ jsx(
3131
- DynamicIcon,
3132
- {
3133
- name: "lucide/arrow-up-right",
3134
- size: 14,
3135
- className: "text-foreground group-hover:text-muted-foreground/50"
3136
- }
3137
- )
3138
- ]
3139
- }
3140
- ) }, item.label)) })
3914
+ /* @__PURE__ */ jsx("ul", { className: cn("space-y-1", navLinksClassName), children: navLinksContent }),
3915
+ /* @__PURE__ */ jsx("ul", { className: cn("space-y-1", socialLinksClassName), children: socialLinksContent })
3141
3916
  ] })
3142
3917
  ] }),
3143
3918
  /* @__PURE__ */ jsxs("div", { className: cn("mt-20 flex flex-col justify-between gap-15 lg:flex-row", newsletterSectionClassName), children: [
3144
3919
  /* @__PURE__ */ jsx("div", { className: "flex w-full max-w-md flex-col gap-10", children: /* @__PURE__ */ jsxs("div", { className: "space-y-1 text-sm font-light tracking-tight lg:text-base", children: [
3145
- /* @__PURE__ */ jsx("p", { children: newsletterLabel }),
3920
+ newsletterLabel && /* @__PURE__ */ jsx("p", { children: newsletterLabel }),
3146
3921
  /* @__PURE__ */ jsxs(
3147
3922
  Form,
3148
3923
  {
@@ -3178,18 +3953,11 @@ function FooterNewsletterMinimal({
3178
3953
  )
3179
3954
  ] }) }),
3180
3955
  /* @__PURE__ */ jsxs("div", { className: cn("grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", bottomGridClassName), children: [
3181
- /* @__PURE__ */ jsx("div", { className: cn("w-32", locationClassName), children: location }),
3182
- /* @__PURE__ */ jsx("ul", { className: cn("space-y-1", footerLinksClassName), children: footerLinks?.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3183
- Pressable,
3184
- {
3185
- href: item.href,
3186
- className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", footerLinkClassName),
3187
- children: item.label
3188
- }
3189
- ) }, item.label)) })
3956
+ location && /* @__PURE__ */ jsx("div", { className: cn("w-32", locationClassName), children: location }),
3957
+ /* @__PURE__ */ jsx("ul", { className: cn("space-y-1", footerLinksClassName), children: footerLinksContent })
3190
3958
  ] })
3191
3959
  ] }),
3192
- /* @__PURE__ */ jsx("div", { className: cn("mt-20 w-full lg:mt-32", brandSectionClassName), children: /* @__PURE__ */ jsx(
3960
+ brandText && /* @__PURE__ */ jsx("div", { className: cn("mt-20 w-full lg:mt-32", brandSectionClassName), children: /* @__PURE__ */ jsx(
3193
3961
  motion.div,
3194
3962
  {
3195
3963
  initial: { opacity: 0, y: 20 },
@@ -3200,9 +3968,9 @@ function FooterNewsletterMinimal({
3200
3968
  children: /* @__PURE__ */ jsx("span", { className: cn("text-6xl font-bold tracking-tighter md:text-8xl lg:text-9xl", brandTextClassName), children: brandText })
3201
3969
  }
3202
3970
  ) }),
3203
- /* @__PURE__ */ jsxs("div", { className: cn("mt-8 text-center text-sm text-muted-foreground", copyrightClassName), children: [
3204
- /* @__PURE__ */ jsx("p", { children: copyrightText }),
3205
- /* @__PURE__ */ jsx(
3971
+ (copyright || attributionText) && /* @__PURE__ */ jsxs("div", { className: cn("mt-8 text-center text-sm text-muted-foreground", copyrightClassName), children: [
3972
+ copyright && /* @__PURE__ */ jsx("p", { children: copyright }),
3973
+ attributionText && attributionHref && /* @__PURE__ */ jsx(
3206
3974
  Pressable,
3207
3975
  {
3208
3976
  href: attributionHref,
@@ -3227,7 +3995,7 @@ function FooterCtaSocial({
3227
3995
  socialLinks,
3228
3996
  copyright,
3229
3997
  attributionText,
3230
- attributionHref = "https://opensite.ai",
3998
+ attributionHref,
3231
3999
  className,
3232
4000
  contentClassName,
3233
4001
  containerClassName,
@@ -3242,13 +4010,27 @@ function FooterCtaSocial({
3242
4010
  emailClassName,
3243
4011
  bottomClassName,
3244
4012
  copyrightClassName,
3245
- background = "white",
3246
- spacing = "lg",
4013
+ background,
4014
+ spacing,
3247
4015
  pattern,
3248
4016
  patternOpacity
3249
4017
  }) {
3250
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3251
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
4018
+ const socialLinksContent = useMemo(() => {
4019
+ if (!socialLinks || socialLinks.length === 0) return null;
4020
+ return socialLinks.map((link) => /* @__PURE__ */ jsx(
4021
+ Pressable,
4022
+ {
4023
+ href: link.url,
4024
+ variant: "outline",
4025
+ size: "icon",
4026
+ asButton: true,
4027
+ className: cn("h-12 w-12 rounded-full", socialLinkClassName),
4028
+ "aria-label": link.label,
4029
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 20 })
4030
+ },
4031
+ link.url
4032
+ ));
4033
+ }, [socialLinks, socialLinkClassName]);
3252
4034
  return /* @__PURE__ */ jsx(
3253
4035
  Section,
3254
4036
  {
@@ -3283,19 +4065,8 @@ function FooterCtaSocial({
3283
4065
  ]
3284
4066
  }
3285
4067
  ),
3286
- /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-6 pt-8", socialLinksClassName), children: socialLinks?.map((link, idx) => /* @__PURE__ */ jsxs(React4.Fragment, { children: [
3287
- /* @__PURE__ */ jsx(
3288
- Pressable,
3289
- {
3290
- href: link.url,
3291
- className: cn("text-muted-foreground transition-colors hover:text-foreground", socialLinkClassName),
3292
- "aria-label": link.label,
3293
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: link.icon, size: 20 })
3294
- }
3295
- ),
3296
- idx < (socialLinks?.length ?? 0) - 1 && /* @__PURE__ */ jsx("div", { className: "h-4 w-px bg-border" })
3297
- ] }, idx)) }),
3298
- /* @__PURE__ */ jsx("p", { className: cn("pt-2 text-sm text-muted-foreground md:text-base", emailClassName), children: /* @__PURE__ */ jsx(
4068
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-6 pt-8", socialLinksClassName), children: socialLinksContent }),
4069
+ email && /* @__PURE__ */ jsx("p", { className: cn("pt-2 text-sm text-muted-foreground md:text-base", emailClassName), children: /* @__PURE__ */ jsx(
3299
4070
  Pressable,
3300
4071
  {
3301
4072
  href: `mailto:${email}`,
@@ -3304,8 +4075,8 @@ function FooterCtaSocial({
3304
4075
  }
3305
4076
  ) }),
3306
4077
  /* @__PURE__ */ jsxs("div", { className: cn("mt-8 border-t pt-8 text-sm text-muted-foreground", bottomClassName), children: [
3307
- /* @__PURE__ */ jsx("p", { className: cn(copyrightClassName), children: copyrightText }),
3308
- /* @__PURE__ */ jsx(
4078
+ copyright && /* @__PURE__ */ jsx("p", { className: cn(copyrightClassName), children: copyright }),
4079
+ attributionHref && attributionText && /* @__PURE__ */ jsx(
3309
4080
  Pressable,
3310
4081
  {
3311
4082
  href: attributionHref,
@@ -3321,22 +4092,17 @@ function FooterCtaSocial({
3321
4092
  );
3322
4093
  }
3323
4094
  function FooterNavSocial({
3324
- logo = {
3325
- url: "https://opensite.ai",
3326
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
3327
- alt: "Opensite AI",
3328
- title: "Opensite AI"
3329
- },
4095
+ logo,
3330
4096
  sections,
3331
4097
  socialLinks,
3332
4098
  newsletterHeading,
3333
4099
  newsletterDescription,
3334
- newsletterPlaceholder = "Enter your email",
4100
+ newsletterPlaceholder,
3335
4101
  newsletterButtonText,
3336
4102
  socialTitle,
3337
4103
  copyright,
3338
4104
  attributionText,
3339
- attributionHref = "https://opensite.ai",
4105
+ attributionHref,
3340
4106
  legalLinks,
3341
4107
  className,
3342
4108
  contentClassName,
@@ -3363,14 +4129,42 @@ function FooterNavSocial({
3363
4129
  copyrightClassName,
3364
4130
  legalLinksClassName,
3365
4131
  legalLinkClassName,
3366
- background = "white",
3367
- spacing = "lg",
4132
+ background,
4133
+ spacing,
3368
4134
  pattern,
3369
4135
  patternOpacity,
3370
4136
  optixFlowConfig
3371
4137
  }) {
3372
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3373
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
4138
+ const sectionsContent = useMemo(() => {
4139
+ if (!sections || sections.length === 0) return null;
4140
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
4141
+ /* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
4142
+ /* @__PURE__ */ jsx("ul", { className: cn("space-y-3 text-sm text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsx(
4143
+ Pressable,
4144
+ {
4145
+ href: link.href,
4146
+ className: "hover:text-primary",
4147
+ children: link.name
4148
+ }
4149
+ ) }, linkIdx)) })
4150
+ ] }, sectionIdx));
4151
+ }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
4152
+ const socialLinksContent = useMemo(() => {
4153
+ if (!socialLinks || socialLinks.length === 0) return null;
4154
+ return socialLinks.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
4155
+ Pressable,
4156
+ {
4157
+ href: social.href,
4158
+ "aria-label": social.label,
4159
+ className: cn("text-muted-foreground transition-colors hover:text-primary", socialLinkClassName),
4160
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 })
4161
+ }
4162
+ ) }, idx));
4163
+ }, [socialLinks, socialLinkClassName]);
4164
+ const legalLinksContent = useMemo(() => {
4165
+ if (!legalLinks || legalLinks.length === 0) return null;
4166
+ return legalLinks.map((link, idx) => /* @__PURE__ */ jsx("li", { className: cn(legalLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: link.href, className: "hover:text-primary", children: link.name }) }, idx));
4167
+ }, [legalLinks, legalLinkClassName]);
3374
4168
  return /* @__PURE__ */ jsx(
3375
4169
  Section,
3376
4170
  {
@@ -3382,13 +4176,13 @@ function FooterNavSocial({
3382
4176
  children: /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxs("footer", { children: [
3383
4177
  /* @__PURE__ */ jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
3384
4178
  /* @__PURE__ */ jsxs("div", { className: cn(leftColumnClassName), children: [
3385
- /* @__PURE__ */ jsxs(
4179
+ logo && /* @__PURE__ */ jsxs(
3386
4180
  Pressable,
3387
4181
  {
3388
4182
  href: logo.url,
3389
4183
  className: cn("mb-8 flex items-center gap-2", logoWrapperClassName),
3390
4184
  children: [
3391
- /* @__PURE__ */ jsx(
4185
+ logo.src && /* @__PURE__ */ jsx(
3392
4186
  Img,
3393
4187
  {
3394
4188
  src: logo.src,
@@ -3397,26 +4191,16 @@ function FooterNavSocial({
3397
4191
  optixFlowConfig
3398
4192
  }
3399
4193
  ),
3400
- /* @__PURE__ */ jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
4194
+ logo.title && /* @__PURE__ */ jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
3401
4195
  ]
3402
4196
  }
3403
4197
  ),
3404
- /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxs("div", { className: cn(navSectionClassName), children: [
3405
- /* @__PURE__ */ jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
3406
- /* @__PURE__ */ jsx("ul", { className: cn("space-y-3 text-sm text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsx(
3407
- Pressable,
3408
- {
3409
- href: link.href,
3410
- className: "hover:text-primary",
3411
- children: link.name
3412
- }
3413
- ) }, linkIdx)) })
3414
- ] }, sectionIdx)) })
4198
+ /* @__PURE__ */ jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
3415
4199
  ] }),
3416
4200
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
3417
- /* @__PURE__ */ jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
3418
- /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
3419
- /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm text-muted-foreground", newsletterDescriptionClassName), children: newsletterDescription }),
4201
+ (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
4202
+ newsletterHeading && /* @__PURE__ */ jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
4203
+ newsletterDescription && /* @__PURE__ */ jsx("p", { className: cn("mb-4 text-sm text-muted-foreground", newsletterDescriptionClassName), children: newsletterDescription }),
3420
4204
  /* @__PURE__ */ jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
3421
4205
  /* @__PURE__ */ jsx(
3422
4206
  "input",
@@ -3426,7 +4210,7 @@ function FooterNavSocial({
3426
4210
  className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
3427
4211
  }
3428
4212
  ),
3429
- /* @__PURE__ */ jsx(
4213
+ newsletterButtonText && /* @__PURE__ */ jsx(
3430
4214
  "button",
3431
4215
  {
3432
4216
  type: "submit",
@@ -3436,24 +4220,16 @@ function FooterNavSocial({
3436
4220
  )
3437
4221
  ] })
3438
4222
  ] }),
3439
- /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
3440
- /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
3441
- /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
3442
- Pressable,
3443
- {
3444
- href: social.href,
3445
- "aria-label": social.label,
3446
- className: cn("text-muted-foreground transition-colors hover:text-primary", socialLinkClassName),
3447
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: social.icon, size: 20 })
3448
- }
3449
- ) }, idx)) })
4223
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxs("div", { className: cn(socialSectionClassName), children: [
4224
+ socialTitle && /* @__PURE__ */ jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
4225
+ /* @__PURE__ */ jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
3450
4226
  ] })
3451
4227
  ] })
3452
4228
  ] }),
3453
4229
  /* @__PURE__ */ jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm text-muted-foreground md:flex-row md:items-center", bottomClassName), children: [
3454
4230
  /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
3455
- /* @__PURE__ */ jsx("p", { children: copyrightText }),
3456
- /* @__PURE__ */ jsx(
4231
+ copyright && /* @__PURE__ */ jsx("p", { children: copyright }),
4232
+ attributionText && attributionHref && /* @__PURE__ */ jsx(
3457
4233
  Pressable,
3458
4234
  {
3459
4235
  href: attributionHref,
@@ -3464,11 +4240,11 @@ function FooterNavSocial({
3464
4240
  }
3465
4241
  )
3466
4242
  ] }),
3467
- /* @__PURE__ */ jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinks?.map((link, idx) => /* @__PURE__ */ jsx("li", { className: cn(legalLinkClassName), children: /* @__PURE__ */ jsx(Pressable, { href: link.href, className: "hover:text-primary", children: link.name }) }, idx)) })
4243
+ legalLinksContent && /* @__PURE__ */ jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
3468
4244
  ] })
3469
4245
  ] }) })
3470
4246
  }
3471
4247
  );
3472
4248
  }
3473
4249
 
3474
- export { AlternatingBlocks, AnimatedDialog, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Container, DynamicIcon, FooterAnimatedSocial, FooterBackgroundCard, FooterBrandDescription, FooterContactCard, FooterCtaBanner, FooterCtaSocial, FooterLinksGrid, FooterNavSocial, FooterNewsletterGrid, FooterNewsletterMinimal, FooterSimpleCentered, FooterSocialApps, FooterSocialNewsletter, ImageSlider, MediaHoverCtas, PageHeroBanner, Popover, PopoverContent, PopoverTrigger, Pressable, Section };
4250
+ export { AboutCultureTabs, AboutExpandableValues, AboutMissionPrinciples, AboutSplitHero, AlternatingBlocks, AnimatedDialog, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CommunityInitiatives, Container, DynamicIcon, FooterAnimatedSocial, FooterBackgroundCard, FooterBrandDescription, FooterContactCard, FooterCtaBanner, FooterCtaSocial, FooterLinksGrid, FooterNavSocial, FooterNewsletterGrid, FooterNewsletterMinimal, FooterSimpleCentered, FooterSocialApps, FooterSocialNewsletter, ImageSlider, MediaHoverCtas, PageHeroBanner, Popover, PopoverContent, PopoverTrigger, Pressable, Section };