@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
package/dist/index.cjs CHANGED
@@ -12,6 +12,7 @@ var img = require('@page-speed/img');
12
12
  var reactSlot = require('@radix-ui/react-slot');
13
13
  var classVarianceAuthority = require('class-variance-authority');
14
14
  var PopoverPrimitive = require('@radix-ui/react-popover');
15
+ var TabsPrimitive = require('@radix-ui/react-tabs');
15
16
  var forms = require('@page-speed/forms');
16
17
  var inputs = require('@page-speed/forms/inputs');
17
18
  var integration = require('@page-speed/forms/integration');
@@ -36,6 +37,7 @@ function _interopNamespace(e) {
36
37
 
37
38
  var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
38
39
  var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
40
+ var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
39
41
 
40
42
  // components/ui/container.tsx
41
43
  function cn(...inputs) {
@@ -1531,14 +1533,16 @@ function AlternatingBlocks({
1531
1533
  sectionsSlot,
1532
1534
  title,
1533
1535
  subtitle,
1534
- background = "white",
1535
- spacing = "lg",
1536
+ background,
1537
+ spacing,
1536
1538
  className,
1537
1539
  contentClassName,
1538
1540
  sectionsClassName,
1539
1541
  sectionItemClassName,
1540
1542
  sectionContentClassName,
1541
- sectionMediaClassName
1543
+ sectionMediaClassName,
1544
+ pattern,
1545
+ patternOpacity
1542
1546
  }) {
1543
1547
  const sectionsContent = React4.useMemo(() => {
1544
1548
  if (sectionsSlot) return sectionsSlot;
@@ -1572,6 +1576,8 @@ function AlternatingBlocks({
1572
1576
  subtitle: typeof subtitle === "string" ? subtitle : void 0,
1573
1577
  background,
1574
1578
  spacing,
1579
+ pattern,
1580
+ patternOpacity,
1575
1581
  className,
1576
1582
  children: [
1577
1583
  title && typeof title !== "string" || subtitle && typeof subtitle !== "string" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
@@ -1583,6 +1589,771 @@ function AlternatingBlocks({
1583
1589
  }
1584
1590
  );
1585
1591
  }
1592
+ function AboutSplitHero({
1593
+ brandText,
1594
+ brandTextClassName,
1595
+ brandHighlight,
1596
+ brandHighlightClassName,
1597
+ heading,
1598
+ headingClassName,
1599
+ description,
1600
+ descriptionClassName,
1601
+ ctaAction,
1602
+ ctaSlot,
1603
+ ctaClassName,
1604
+ imageSrc,
1605
+ imageAlt,
1606
+ imageClassName,
1607
+ className,
1608
+ containerClassName,
1609
+ optixFlowConfig,
1610
+ background,
1611
+ spacing,
1612
+ pattern,
1613
+ patternOpacity
1614
+ }) {
1615
+ const ctaContent = React4.useMemo(() => {
1616
+ if (ctaSlot) return ctaSlot;
1617
+ if (!ctaAction) return null;
1618
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1619
+ Pressable,
1620
+ {
1621
+ href: ctaAction.href,
1622
+ onClick: ctaAction.onClick,
1623
+ variant: ctaAction.variant || "default",
1624
+ size: ctaAction.size || "lg",
1625
+ asButton: true,
1626
+ className: cn("mt-10 flex h-fit items-center gap-2.5 rounded-xl px-5 py-4 font-bold", ctaClassName),
1627
+ children: [
1628
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: ctaAction.label }),
1629
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 20 })
1630
+ ]
1631
+ }
1632
+ );
1633
+ }, [ctaSlot, ctaAction, ctaClassName]);
1634
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1635
+ Section,
1636
+ {
1637
+ background,
1638
+ spacing,
1639
+ pattern,
1640
+ patternOpacity,
1641
+ className: cn(className),
1642
+ containerClassName,
1643
+ children: [
1644
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container my-10 flex w-[500px] flex-col gap-24", children: [
1645
+ (brandText || brandHighlight) && /* @__PURE__ */ jsxRuntime.jsxs("h1", { className: cn("text-4xl text-foreground", brandTextClassName), children: [
1646
+ brandText,
1647
+ " ",
1648
+ brandHighlight && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("bg-gradient-to-tr from-foreground to-muted bg-clip-text text-transparent", brandHighlightClassName), children: brandHighlight })
1649
+ ] }),
1650
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1651
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl text-foreground lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1652
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-2.5 text-foreground lg:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-2.5", descriptionClassName), children: description })),
1653
+ ctaContent
1654
+ ] })
1655
+ ] }),
1656
+ imageSrc && /* @__PURE__ */ jsxRuntime.jsx(
1657
+ img.Img,
1658
+ {
1659
+ src: imageSrc,
1660
+ alt: imageAlt || "",
1661
+ className: cn("hidden h-screen w-1/2 object-cover lg:block", imageClassName),
1662
+ optixFlowConfig
1663
+ }
1664
+ )
1665
+ ]
1666
+ }
1667
+ );
1668
+ }
1669
+ function AboutMissionPrinciples({
1670
+ badgeText,
1671
+ badgeClassName,
1672
+ missionHeading,
1673
+ missionHeadingClassName,
1674
+ missionDescription,
1675
+ missionDescriptionClassName,
1676
+ missionAction,
1677
+ missionActionSlot,
1678
+ missionActionClassName,
1679
+ principles,
1680
+ principlesSlot,
1681
+ principlesClassName,
1682
+ visionHeading,
1683
+ visionHeadingClassName,
1684
+ visionDescription,
1685
+ visionDescriptionClassName,
1686
+ visionAction,
1687
+ visionActionSlot,
1688
+ visionClassName,
1689
+ className,
1690
+ containerClassName,
1691
+ background,
1692
+ spacing,
1693
+ pattern,
1694
+ patternOpacity
1695
+ }) {
1696
+ const missionActionContent = React4.useMemo(() => {
1697
+ if (missionActionSlot) return missionActionSlot;
1698
+ if (!missionAction) return null;
1699
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pt-2", missionActionClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
1700
+ Pressable,
1701
+ {
1702
+ href: missionAction.href,
1703
+ onClick: missionAction.onClick,
1704
+ variant: missionAction.variant || "default",
1705
+ asButton: true,
1706
+ className: "group inline-flex items-center",
1707
+ children: [
1708
+ missionAction.label,
1709
+ /* @__PURE__ */ jsxRuntime.jsx(
1710
+ DynamicIcon,
1711
+ {
1712
+ name: "lucide/arrow-right",
1713
+ size: 16,
1714
+ className: "ml-2 transition-transform group-hover:translate-x-1"
1715
+ }
1716
+ )
1717
+ ]
1718
+ }
1719
+ ) });
1720
+ }, [missionActionSlot, missionAction, missionActionClassName]);
1721
+ const principlesContent = React4.useMemo(() => {
1722
+ if (principlesSlot) return principlesSlot;
1723
+ if (!principles || principles.length === 0) return null;
1724
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-1 gap-6 sm:grid-cols-2", principlesClassName), children: principles.map((principle, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
1725
+ "div",
1726
+ {
1727
+ className: "relative rounded-lg border p-6 transition-colors hover:bg-accent/50",
1728
+ children: [
1729
+ principle.number && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-4 top-4 text-3xl font-bold text-primary/20", children: principle.number }),
1730
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1731
+ principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-bold", children: principle.title }) : principle.title),
1732
+ principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: principle.description }) : principle.description)
1733
+ ] })
1734
+ ]
1735
+ },
1736
+ idx
1737
+ )) });
1738
+ }, [principlesSlot, principles, principlesClassName]);
1739
+ const visionActionContent = React4.useMemo(() => {
1740
+ if (visionActionSlot) return visionActionSlot;
1741
+ if (!visionAction) return null;
1742
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1743
+ Pressable,
1744
+ {
1745
+ href: visionAction.href,
1746
+ onClick: visionAction.onClick,
1747
+ variant: visionAction.variant || "outline",
1748
+ size: visionAction.size || "lg",
1749
+ asButton: true,
1750
+ className: "group inline-flex items-center",
1751
+ children: [
1752
+ visionAction.label,
1753
+ /* @__PURE__ */ jsxRuntime.jsx(
1754
+ DynamicIcon,
1755
+ {
1756
+ name: "lucide/arrow-right",
1757
+ size: 16,
1758
+ className: "ml-2 transition-transform group-hover:translate-x-1"
1759
+ }
1760
+ )
1761
+ ]
1762
+ }
1763
+ );
1764
+ }, [visionActionSlot, visionAction]);
1765
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1766
+ Section,
1767
+ {
1768
+ background,
1769
+ spacing,
1770
+ pattern,
1771
+ patternOpacity,
1772
+ className: cn(className),
1773
+ containerClassName,
1774
+ children: [
1775
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-12 lg:grid-cols-2 lg:gap-24", children: [
1776
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-8", children: [
1777
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badgeText })),
1778
+ missionHeading && (typeof missionHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl font-bold leading-tight tracking-tight lg:text-5xl", missionHeadingClassName), children: missionHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionHeadingClassName, children: missionHeading })),
1779
+ missionDescription && (typeof missionDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl text-muted-foreground", missionDescriptionClassName), children: missionDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionDescriptionClassName, children: missionDescription })),
1780
+ missionActionContent
1781
+ ] }),
1782
+ principlesContent
1783
+ ] }),
1784
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-24 rounded-lg bg-accent p-8 lg:p-12", visionClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-8 lg:grid-cols-3", children: [
1785
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-2", children: [
1786
+ visionHeading && (typeof visionHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-2xl font-bold", visionHeadingClassName), children: visionHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", visionHeadingClassName), children: visionHeading })),
1787
+ visionDescription && (typeof visionDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-muted-foreground", visionDescriptionClassName), children: visionDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", visionDescriptionClassName), children: visionDescription }))
1788
+ ] }),
1789
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center lg:col-span-1 lg:justify-end", children: visionActionContent })
1790
+ ] }) })
1791
+ ]
1792
+ }
1793
+ );
1794
+ }
1795
+ function AboutExpandableValues({
1796
+ badgeText,
1797
+ heading,
1798
+ description,
1799
+ values,
1800
+ valuesSlot,
1801
+ ctaHeading,
1802
+ ctaDescription,
1803
+ actions,
1804
+ actionsSlot,
1805
+ className,
1806
+ containerClassName,
1807
+ headerClassName,
1808
+ badgeClassName,
1809
+ headingClassName,
1810
+ descriptionClassName,
1811
+ valuesClassName,
1812
+ ctaClassName,
1813
+ ctaHeadingClassName,
1814
+ ctaDescriptionClassName,
1815
+ actionsClassName,
1816
+ background,
1817
+ spacing,
1818
+ pattern,
1819
+ patternOpacity
1820
+ }) {
1821
+ const [expandedValue, setExpandedValue] = React4__namespace.useState(null);
1822
+ const toggleExpand = React4.useCallback((id) => {
1823
+ setExpandedValue((prev) => prev === id ? null : id);
1824
+ }, []);
1825
+ const actionsContent = React4.useMemo(() => {
1826
+ if (actionsSlot) return actionsSlot;
1827
+ if (!actions || actions.length === 0) return null;
1828
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsx(
1829
+ Pressable,
1830
+ {
1831
+ href: action.href,
1832
+ onClick: action.onClick,
1833
+ variant: action.variant || "default",
1834
+ size: action.size,
1835
+ asButton: true,
1836
+ children: action.label
1837
+ },
1838
+ idx
1839
+ )) });
1840
+ }, [actionsSlot, actions, actionsClassName]);
1841
+ const valuesContent = React4.useMemo(() => {
1842
+ if (valuesSlot) return valuesSlot;
1843
+ if (!values || values.length === 0) return null;
1844
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3", valuesClassName), children: values.map((value) => /* @__PURE__ */ jsxRuntime.jsxs(
1845
+ "div",
1846
+ {
1847
+ className: cn(
1848
+ "group overflow-hidden rounded-xl border bg-card text-card-foreground transition-all duration-300",
1849
+ expandedValue === value.id ? "col-span-1 shadow-lg md:col-span-2 lg:col-span-3" : ""
1850
+ ),
1851
+ children: [
1852
+ /* @__PURE__ */ jsxRuntime.jsxs(
1853
+ "button",
1854
+ {
1855
+ onClick: () => toggleExpand(value.id),
1856
+ className: "flex w-full items-start justify-between p-6 text-left",
1857
+ type: "button",
1858
+ children: [
1859
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-4", children: [
1860
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 rounded-md bg-primary/10 p-3", children: value.icon }),
1861
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1862
+ value.title && (typeof value.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold", children: value.title }) : value.title),
1863
+ value.shortDescription && (typeof value.shortDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: value.shortDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: value.shortDescription }))
1864
+ ] })
1865
+ ] }),
1866
+ /* @__PURE__ */ jsxRuntime.jsx(
1867
+ DynamicIcon,
1868
+ {
1869
+ name: "lucide/chevron-down",
1870
+ size: 20,
1871
+ className: cn(
1872
+ "mt-1 flex-shrink-0 text-muted-foreground transition-transform duration-300",
1873
+ expandedValue === value.id ? "rotate-180" : ""
1874
+ )
1875
+ }
1876
+ )
1877
+ ]
1878
+ }
1879
+ ),
1880
+ expandedValue === value.id && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6 px-6 pb-6", children: [
1881
+ value.longDescription && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg bg-muted/50 p-4", children: typeof value.longDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: value.longDescription }) : value.longDescription }),
1882
+ value.examples && value.examples.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1883
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "mb-2 text-sm font-semibold text-muted-foreground", children: "How we put this into practice:" }),
1884
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2", children: value.examples.map((example, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2", children: [
1885
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 flex-shrink-0 rounded-full bg-primary/10 p-1", children: /* @__PURE__ */ jsxRuntime.jsx(
1886
+ DynamicIcon,
1887
+ {
1888
+ name: "lucide/check",
1889
+ size: 12,
1890
+ className: "text-primary"
1891
+ }
1892
+ ) }),
1893
+ typeof example === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: example }) : example
1894
+ ] }, index)) })
1895
+ ] })
1896
+ ] })
1897
+ ]
1898
+ },
1899
+ value.id
1900
+ )) });
1901
+ }, [valuesSlot, values, valuesClassName, expandedValue, toggleExpand]);
1902
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1903
+ Section,
1904
+ {
1905
+ background,
1906
+ spacing,
1907
+ pattern,
1908
+ patternOpacity,
1909
+ className: cn(className),
1910
+ containerClassName,
1911
+ children: [
1912
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl space-y-4 text-center", headerClassName), children: [
1913
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badgeText })),
1914
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold tracking-tight", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
1915
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
1916
+ ] }),
1917
+ valuesContent,
1918
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative mt-8 rounded-lg bg-accent/50 p-8", ctaClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-3xl space-y-6 text-center", children: [
1919
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: ctaHeadingClassName, children: ctaHeading })),
1920
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: ctaDescriptionClassName, children: ctaDescription })),
1921
+ actionsContent
1922
+ ] }) })
1923
+ ]
1924
+ }
1925
+ );
1926
+ }
1927
+ function Tabs({
1928
+ className,
1929
+ ...props
1930
+ }) {
1931
+ return /* @__PURE__ */ jsxRuntime.jsx(
1932
+ TabsPrimitive__namespace.Root,
1933
+ {
1934
+ "data-slot": "tabs",
1935
+ className: cn("flex flex-col gap-2", className),
1936
+ ...props
1937
+ }
1938
+ );
1939
+ }
1940
+ function TabsList({
1941
+ className,
1942
+ ...props
1943
+ }) {
1944
+ return /* @__PURE__ */ jsxRuntime.jsx(
1945
+ TabsPrimitive__namespace.List,
1946
+ {
1947
+ "data-slot": "tabs-list",
1948
+ className: cn(
1949
+ "bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
1950
+ className
1951
+ ),
1952
+ ...props
1953
+ }
1954
+ );
1955
+ }
1956
+ function TabsTrigger({
1957
+ className,
1958
+ ...props
1959
+ }) {
1960
+ return /* @__PURE__ */ jsxRuntime.jsx(
1961
+ TabsPrimitive__namespace.Trigger,
1962
+ {
1963
+ "data-slot": "tabs-trigger",
1964
+ className: cn(
1965
+ "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",
1966
+ className
1967
+ ),
1968
+ ...props
1969
+ }
1970
+ );
1971
+ }
1972
+ function TabsContent({
1973
+ className,
1974
+ ...props
1975
+ }) {
1976
+ return /* @__PURE__ */ jsxRuntime.jsx(
1977
+ TabsPrimitive__namespace.Content,
1978
+ {
1979
+ "data-slot": "tabs-content",
1980
+ className: cn("flex-1 outline-none", className),
1981
+ ...props
1982
+ }
1983
+ );
1984
+ }
1985
+ function CommunityInitiatives({
1986
+ badgeText,
1987
+ heading,
1988
+ description,
1989
+ categories,
1990
+ categoriesSlot,
1991
+ ctaBadgeText,
1992
+ ctaHeading,
1993
+ ctaDescription,
1994
+ actions,
1995
+ actionsSlot,
1996
+ className,
1997
+ containerClassName,
1998
+ headerClassName,
1999
+ badgeClassName,
2000
+ headingClassName,
2001
+ descriptionClassName,
2002
+ tabsClassName,
2003
+ ctaClassName,
2004
+ ctaHeadingClassName,
2005
+ ctaDescriptionClassName,
2006
+ actionsClassName,
2007
+ optixFlowConfig,
2008
+ background,
2009
+ spacing,
2010
+ pattern,
2011
+ patternOpacity
2012
+ }) {
2013
+ const [activeCategory, setActiveCategory] = React4__namespace.useState(
2014
+ categories?.[0]?.id || ""
2015
+ );
2016
+ const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
2017
+ const handleCategoryChange = React4.useCallback((e) => {
2018
+ setActiveCategory(e.target.value);
2019
+ }, []);
2020
+ const actionsContent = React4.useMemo(() => {
2021
+ if (actionsSlot) return actionsSlot;
2022
+ if (!actions || actions.length === 0) return null;
2023
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap justify-center gap-4", actionsClassName), children: actions.map((action, idx) => /* @__PURE__ */ jsxRuntime.jsx(
2024
+ Pressable,
2025
+ {
2026
+ href: action.href,
2027
+ onClick: action.onClick,
2028
+ variant: action.variant || "default",
2029
+ size: action.size || "lg",
2030
+ asButton: true,
2031
+ children: action.label
2032
+ },
2033
+ idx
2034
+ )) });
2035
+ }, [actionsSlot, actions, actionsClassName]);
2036
+ const categoriesContent = React4.useMemo(() => {
2037
+ if (categoriesSlot) return categoriesSlot;
2038
+ if (!categories || categories.length === 0) return null;
2039
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2040
+ Tabs,
2041
+ {
2042
+ defaultValue: categories[0]?.id,
2043
+ value: activeCategory,
2044
+ onValueChange: setActiveCategory,
2045
+ className: cn("space-y-8", tabsClassName),
2046
+ children: [
2047
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-center", children: [
2048
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-6 w-full md:hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
2049
+ "select",
2050
+ {
2051
+ value: activeCategory,
2052
+ onChange: handleCategoryChange,
2053
+ 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",
2054
+ children: categories.map((category) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: category.id, children: category.title }, category.id))
2055
+ }
2056
+ ) }),
2057
+ /* @__PURE__ */ jsxRuntime.jsx(TabsList, { className: "hidden h-auto grid-cols-4 p-1 md:grid", children: categories.map((category) => /* @__PURE__ */ jsxRuntime.jsx(
2058
+ TabsTrigger,
2059
+ {
2060
+ value: category.id,
2061
+ className: "px-3 py-2.5 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
2062
+ children: category.title
2063
+ },
2064
+ category.id
2065
+ )) })
2066
+ ] }),
2067
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto max-w-2xl text-center", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: currentCategory?.description }) }),
2068
+ categories.map((category) => /* @__PURE__ */ jsxRuntime.jsx(
2069
+ TabsContent,
2070
+ {
2071
+ value: category.id,
2072
+ className: "space-y-12",
2073
+ children: category.initiatives.map((initiative, index) => {
2074
+ const isEven = index % 2 === 0;
2075
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2076
+ "div",
2077
+ {
2078
+ className: "grid items-center gap-8 md:grid-cols-12",
2079
+ children: [
2080
+ /* @__PURE__ */ jsxRuntime.jsxs(
2081
+ "div",
2082
+ {
2083
+ className: cn(
2084
+ "space-y-6 md:col-span-7",
2085
+ isEven ? "md:order-1" : "md:order-2"
2086
+ ),
2087
+ children: [
2088
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
2089
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md bg-primary/10 p-2", children: /* @__PURE__ */ jsxRuntime.jsx(
2090
+ DynamicIcon,
2091
+ {
2092
+ name: initiative.icon,
2093
+ size: 24,
2094
+ className: "text-primary"
2095
+ }
2096
+ ) }),
2097
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-bold", children: initiative.title })
2098
+ ] }),
2099
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: initiative.description }),
2100
+ initiative.metrics && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-4 pt-2", children: initiative.metrics.map((metric, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
2101
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold text-primary", children: metric.value }),
2102
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1 text-xs text-muted-foreground", children: metric.label })
2103
+ ] }, i)) })
2104
+ ]
2105
+ }
2106
+ ),
2107
+ initiative.image ? /* @__PURE__ */ jsxRuntime.jsx(
2108
+ "div",
2109
+ {
2110
+ className: cn(
2111
+ "md:col-span-5",
2112
+ isEven ? "md:order-2" : "md:order-1"
2113
+ ),
2114
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-4/3 overflow-hidden rounded-xl", children: /* @__PURE__ */ jsxRuntime.jsx(
2115
+ img.Img,
2116
+ {
2117
+ src: initiative.image,
2118
+ alt: initiative.title,
2119
+ className: "h-full w-full object-cover",
2120
+ optixFlowConfig
2121
+ }
2122
+ ) })
2123
+ }
2124
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
2125
+ "div",
2126
+ {
2127
+ className: cn(
2128
+ "flex h-full items-center justify-center md:col-span-5",
2129
+ isEven ? "md:order-2" : "md:order-1"
2130
+ ),
2131
+ children: /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "flex h-full min-h-[280px] w-full items-center justify-center bg-muted/30", children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "p-6 text-center", children: [
2132
+ /* @__PURE__ */ jsxRuntime.jsx(
2133
+ DynamicIcon,
2134
+ {
2135
+ name: initiative.icon,
2136
+ size: 64,
2137
+ className: "mx-auto mb-4 text-muted-foreground/50"
2138
+ }
2139
+ ),
2140
+ /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "secondary", className: "mx-auto", children: [
2141
+ "Learn more about our",
2142
+ " ",
2143
+ initiative.title.toLowerCase(),
2144
+ " initiative"
2145
+ ] })
2146
+ ] }) })
2147
+ }
2148
+ )
2149
+ ]
2150
+ },
2151
+ initiative.id
2152
+ );
2153
+ })
2154
+ },
2155
+ category.id
2156
+ ))
2157
+ ]
2158
+ }
2159
+ );
2160
+ }, [categoriesSlot, categories, activeCategory, setActiveCategory, tabsClassName, handleCategoryChange, currentCategory, optixFlowConfig]);
2161
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2162
+ Section,
2163
+ {
2164
+ background,
2165
+ spacing,
2166
+ pattern,
2167
+ patternOpacity,
2168
+ className: cn(className),
2169
+ containerClassName,
2170
+ children: [
2171
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto mb-16 max-w-3xl space-y-4 text-center", headerClassName), children: [
2172
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badgeText })),
2173
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold tracking-tight md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
2174
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
2175
+ ] }),
2176
+ categoriesContent,
2177
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-20 text-center", ctaClassName), children: [
2178
+ ctaBadgeText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 inline-flex items-center justify-center rounded-full bg-muted p-1", children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: "rounded-full bg-primary px-4 py-1 text-primary-foreground", children: ctaBadgeText }) }),
2179
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", ctaHeadingClassName), children: ctaHeading })),
2180
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mb-8 max-w-2xl text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mb-8 max-w-2xl", ctaDescriptionClassName), children: ctaDescription })),
2181
+ actionsContent
2182
+ ] })
2183
+ ]
2184
+ }
2185
+ );
2186
+ }
2187
+ function AboutCultureTabs({
2188
+ badgeText,
2189
+ heading,
2190
+ description,
2191
+ aspects,
2192
+ aspectsSlot,
2193
+ ctaHeading,
2194
+ ctaDescription,
2195
+ actions,
2196
+ actionsSlot,
2197
+ ctaImages,
2198
+ ctaImagesSlot,
2199
+ className,
2200
+ containerClassName,
2201
+ headerClassName,
2202
+ badgeClassName,
2203
+ headingClassName,
2204
+ descriptionClassName,
2205
+ tabsClassName,
2206
+ ctaClassName,
2207
+ ctaHeadingClassName,
2208
+ ctaDescriptionClassName,
2209
+ actionsClassName,
2210
+ optixFlowConfig,
2211
+ background,
2212
+ spacing,
2213
+ pattern,
2214
+ patternOpacity
2215
+ }) {
2216
+ const resolvedAspects = aspects ?? [];
2217
+ const [activeTab, setActiveTab] = React4__namespace.useState(resolvedAspects[0]?.id || "");
2218
+ const actionsContent = React4.useMemo(() => {
2219
+ if (actionsSlot) return actionsSlot;
2220
+ if (!actions || actions.length === 0) return null;
2221
+ return actions.map((action, index) => {
2222
+ const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
2223
+ return /* @__PURE__ */ jsxRuntime.jsx(
2224
+ Pressable,
2225
+ {
2226
+ asButton: true,
2227
+ className: actionClassName,
2228
+ ...pressableProps,
2229
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2230
+ icon,
2231
+ label,
2232
+ iconAfter
2233
+ ] })
2234
+ },
2235
+ index
2236
+ );
2237
+ });
2238
+ }, [actionsSlot, actions]);
2239
+ const ctaImagesContent = React4.useMemo(() => {
2240
+ if (ctaImagesSlot) return ctaImagesSlot;
2241
+ if (!ctaImages || ctaImages.length === 0) return null;
2242
+ return ctaImages.map((src, i) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-square overflow-hidden rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx(
2243
+ img.Img,
2244
+ {
2245
+ src,
2246
+ alt: "Team culture",
2247
+ className: "h-full w-full object-cover",
2248
+ optixFlowConfig
2249
+ }
2250
+ ) }, i));
2251
+ }, [ctaImagesSlot, ctaImages, optixFlowConfig]);
2252
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2253
+ Section,
2254
+ {
2255
+ background,
2256
+ spacing,
2257
+ pattern,
2258
+ patternOpacity,
2259
+ className: cn(className),
2260
+ containerClassName,
2261
+ children: [
2262
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto mb-12 max-w-3xl space-y-4 text-center", headerClassName), children: [
2263
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary", badgeClassName), children: badgeText }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badgeText })),
2264
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold tracking-tight md:text-4xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
2265
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
2266
+ ] }),
2267
+ aspectsSlot ? aspectsSlot : resolvedAspects.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
2268
+ Tabs,
2269
+ {
2270
+ defaultValue: resolvedAspects[0]?.id,
2271
+ value: activeTab,
2272
+ onValueChange: setActiveTab,
2273
+ className: cn("space-y-8", tabsClassName),
2274
+ children: [
2275
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(TabsList, { className: "grid h-auto grid-cols-2 p-1 md:grid-cols-4", children: resolvedAspects.map((aspect) => /* @__PURE__ */ jsxRuntime.jsx(
2276
+ TabsTrigger,
2277
+ {
2278
+ value: aspect.id,
2279
+ className: "px-3 py-2.5 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
2280
+ children: aspect.title
2281
+ },
2282
+ aspect.id
2283
+ )) }) }),
2284
+ resolvedAspects.map((aspect) => /* @__PURE__ */ jsxRuntime.jsxs(TabsContent, { value: aspect.id, className: "space-y-8", children: [
2285
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-6 md:grid-cols-2", children: [
2286
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2287
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-bold tracking-tight", children: aspect.title }),
2288
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-relaxed text-muted-foreground", children: aspect.description })
2289
+ ] }),
2290
+ /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "border-0 bg-gradient-to-br from-primary/5 to-primary/10 p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-4 p-6 pt-6", children: [
2291
+ /* @__PURE__ */ jsxRuntime.jsx(
2292
+ DynamicIcon,
2293
+ {
2294
+ name: "lucide/quote",
2295
+ size: 32,
2296
+ className: "text-primary/40"
2297
+ }
2298
+ ),
2299
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "italic text-muted-foreground", children: [
2300
+ '"',
2301
+ aspect.testimonial.quote,
2302
+ '"'
2303
+ ] }),
2304
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 pt-2", children: [
2305
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative h-10 w-10 overflow-hidden rounded-full", children: /* @__PURE__ */ jsxRuntime.jsx(
2306
+ img.Img,
2307
+ {
2308
+ src: aspect.testimonial.avatar,
2309
+ alt: aspect.testimonial.author,
2310
+ className: "h-full w-full object-cover",
2311
+ optixFlowConfig
2312
+ }
2313
+ ) }),
2314
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2315
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-medium", children: aspect.testimonial.author }),
2316
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: aspect.testimonial.role })
2317
+ ] })
2318
+ ] })
2319
+ ] }) })
2320
+ ] }),
2321
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-3", children: aspect.images.map((image, idx) => /* @__PURE__ */ jsxRuntime.jsx(
2322
+ "div",
2323
+ {
2324
+ className: "relative aspect-[4/3] overflow-hidden rounded-lg",
2325
+ children: /* @__PURE__ */ jsxRuntime.jsx(
2326
+ img.Img,
2327
+ {
2328
+ src: image,
2329
+ alt: `${aspect.title} culture`,
2330
+ className: "h-full w-full transform object-cover transition-transform duration-500 hover:scale-105",
2331
+ optixFlowConfig
2332
+ }
2333
+ )
2334
+ },
2335
+ idx
2336
+ )) })
2337
+ ] }, aspect.id))
2338
+ ]
2339
+ }
2340
+ ) : null,
2341
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mt-16 rounded-xl border bg-background p-8 md:p-12", ctaClassName), children: [
2342
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-8 md:grid-cols-2", children: [
2343
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2344
+ ctaHeading && (typeof ctaHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-2xl font-bold", ctaHeadingClassName), children: ctaHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", ctaHeadingClassName), children: ctaHeading })),
2345
+ ctaDescription && (typeof ctaDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-6", ctaDescriptionClassName), children: ctaDescription })),
2346
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", actionsClassName), children: actionsContent })
2347
+ ] }),
2348
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2", children: ctaImagesContent })
2349
+ ] }),
2350
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -left-5 -top-5 h-10 w-10 rounded-full bg-primary/10" }),
2351
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-5 -right-5 h-10 w-10 rounded-full bg-primary/10" })
2352
+ ] })
2353
+ ]
2354
+ }
2355
+ );
2356
+ }
1586
2357
  function MediaHoverCtas({
1587
2358
  className,
1588
2359
  sectionClassName,
@@ -1669,82 +2440,90 @@ function MediaHoverCtas({
1669
2440
  );
1670
2441
  }
1671
2442
  function FooterLinksGrid({
1672
- logo = {
1673
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1674
- alt: "Opensite AI",
1675
- title: "Opensite AI",
1676
- url: "https://opensite.ai"
1677
- },
2443
+ logo,
1678
2444
  className,
1679
2445
  tagline,
1680
2446
  menuItems,
1681
2447
  copyright,
2448
+ attributionText,
2449
+ attributionHref,
1682
2450
  bottomLinks,
2451
+ background,
2452
+ spacing,
2453
+ pattern,
2454
+ patternOpacity,
1683
2455
  optixFlowConfig
1684
2456
  }) {
1685
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1686
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
1687
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
1688
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 lg:justify-start", children: /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
1689
- /* @__PURE__ */ jsxRuntime.jsx(
1690
- img.Img,
1691
- {
1692
- src: logo.src,
1693
- alt: logo.alt,
1694
- className: "h-10 dark:invert",
1695
- optixFlowConfig
1696
- }
1697
- ),
1698
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1699
- ] }) }),
1700
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 font-bold", children: tagline })
1701
- ] }),
1702
- menuItems?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1703
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1704
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1705
- "li",
1706
- {
1707
- className: "font-medium hover:text-primary",
1708
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text })
1709
- },
1710
- linkIdx
1711
- )) })
1712
- ] }, sectionIdx))
1713
- ] }),
1714
- /* @__PURE__ */ jsxRuntime.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: [
1715
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
1716
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1717
- /* @__PURE__ */ jsxRuntime.jsx(
1718
- Pressable,
1719
- {
1720
- href: "https://opensite.ai",
1721
- className: "hover:text-primary",
1722
- children: "AI Website and Automation Platform by Opensite"
1723
- }
1724
- )
1725
- ] }),
1726
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks?.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
1727
- ] })
1728
- ] }) }) });
2457
+ const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2458
+ const copyrightText = copyright ?? `\xA9 ${currentYear}`;
2459
+ return /* @__PURE__ */ jsxRuntime.jsx(
2460
+ Section,
2461
+ {
2462
+ background,
2463
+ spacing,
2464
+ pattern,
2465
+ patternOpacity,
2466
+ className: cn(className),
2467
+ children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
2468
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 lg:grid-cols-6", children: [
2469
+ (logo || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 mb-8 lg:mb-0", children: [
2470
+ logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 lg:justify-start", children: /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
2471
+ /* @__PURE__ */ jsxRuntime.jsx(
2472
+ img.Img,
2473
+ {
2474
+ src: logo.src,
2475
+ alt: logo.alt,
2476
+ className: "h-10 dark:invert",
2477
+ optixFlowConfig
2478
+ }
2479
+ ),
2480
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
2481
+ ] }) }),
2482
+ tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 font-bold", children: tagline })
2483
+ ] }),
2484
+ menuItems && menuItems.length > 0 && menuItems.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2485
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
2486
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
2487
+ "li",
2488
+ {
2489
+ className: "font-medium hover:text-primary",
2490
+ children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text })
2491
+ },
2492
+ linkIdx
2493
+ )) })
2494
+ ] }, sectionIdx))
2495
+ ] }),
2496
+ /* @__PURE__ */ jsxRuntime.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: [
2497
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
2498
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
2499
+ attributionText && /* @__PURE__ */ jsxRuntime.jsx(
2500
+ Pressable,
2501
+ {
2502
+ href: attributionHref || "https://opensite.ai",
2503
+ className: "hover:text-primary",
2504
+ children: attributionText
2505
+ }
2506
+ )
2507
+ ] }),
2508
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex gap-4", children: bottomLinks.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "underline hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.url, children: link.text }) }, linkIdx)) })
2509
+ ] })
2510
+ ] })
2511
+ }
2512
+ );
1729
2513
  }
1730
2514
  function FooterSocialNewsletter({
1731
- logo = {
1732
- url: "https://opensite.ai",
1733
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1734
- alt: "Opensite AI",
1735
- title: "Opensite AI"
1736
- },
2515
+ logo,
1737
2516
  sections,
1738
2517
  socialLinks,
1739
2518
  newsletterLabel,
1740
- newsletterPlaceholder = "Email",
2519
+ newsletterPlaceholder,
1741
2520
  newsletterButtonText,
1742
2521
  privacyLinkText,
1743
- privacyLinkUrl = "#",
2522
+ privacyLinkUrl,
1744
2523
  privacyConsentText,
1745
2524
  copyright,
1746
2525
  attributionText,
1747
- attributionHref = "https://opensite.ai",
2526
+ attributionHref,
1748
2527
  className,
1749
2528
  contentClassName,
1750
2529
  logoWrapperClassName,
@@ -1764,13 +2543,13 @@ function FooterSocialNewsletter({
1764
2543
  privacyClassName,
1765
2544
  bottomClassName,
1766
2545
  copyrightClassName,
1767
- background = "white",
1768
- spacing = "lg",
2546
+ background,
2547
+ spacing,
1769
2548
  pattern,
1770
2549
  patternOpacity,
1771
2550
  optixFlowConfig
1772
2551
  }) {
1773
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2552
+ const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
1774
2553
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
1775
2554
  return /* @__PURE__ */ jsxRuntime.jsx(
1776
2555
  Section,
@@ -1781,7 +2560,7 @@ function FooterSocialNewsletter({
1781
2560
  patternOpacity,
1782
2561
  className: cn(className),
1783
2562
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1784
- /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: logo.url, className: cn("flex items-center gap-2", logoWrapperClassName), children: [
2563
+ logo && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: logo.url, className: cn("flex items-center gap-2", logoWrapperClassName), children: [
1785
2564
  /* @__PURE__ */ jsxRuntime.jsx(
1786
2565
  img.Img,
1787
2566
  {
@@ -1793,8 +2572,8 @@ function FooterSocialNewsletter({
1793
2572
  ),
1794
2573
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
1795
2574
  ] }),
1796
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", gridClassName), children: [
1797
- sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
2575
+ (sections && sections.length > 0 || socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-14 grid gap-8 md:grid-cols-2 lg:grid-cols-5 xl:grid-cols-4", gridClassName), children: [
2576
+ sections && sections.length > 0 && sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
1798
2577
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
1799
2578
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-4 text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1800
2579
  "li",
@@ -1805,21 +2584,21 @@ function FooterSocialNewsletter({
1805
2584
  linkIdx
1806
2585
  )) })
1807
2586
  ] }, sectionIdx)),
1808
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1", socialColumnClassName), children: [
1809
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-10 flex items-center gap-2 text-muted-foreground", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) }),
1810
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid w-full max-w-sm items-center gap-1.5", newsletterClassName), children: [
1811
- /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
2587
+ (socialLinks && socialLinks.length > 0 || newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2 xl:col-span-1", socialColumnClassName), children: [
2588
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mb-10 flex items-center gap-2 text-muted-foreground", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) }),
2589
+ (newsletterLabel || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid w-full max-w-sm items-center gap-1.5", newsletterClassName), children: [
2590
+ newsletterLabel && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: "newsletter-email", className: "text-sm font-medium", children: newsletterLabel }),
1812
2591
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-sm items-center space-x-2", children: [
1813
2592
  /* @__PURE__ */ jsxRuntime.jsx(
1814
2593
  "input",
1815
2594
  {
1816
2595
  type: "email",
1817
2596
  id: "newsletter-email",
1818
- placeholder: newsletterPlaceholder,
2597
+ placeholder: newsletterPlaceholder || "Email",
1819
2598
  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)
1820
2599
  }
1821
2600
  ),
1822
- /* @__PURE__ */ jsxRuntime.jsx(
2601
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
1823
2602
  Pressable,
1824
2603
  {
1825
2604
  onClick: (e) => {
@@ -1833,19 +2612,19 @@ function FooterSocialNewsletter({
1833
2612
  }
1834
2613
  )
1835
2614
  ] }),
1836
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("mt-1 text-xs text-muted-foreground", privacyClassName), children: [
2615
+ (privacyConsentText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("mt-1 text-xs text-muted-foreground", privacyClassName), children: [
1837
2616
  privacyConsentText,
1838
- /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: privacyLinkUrl, className: "ml-1 text-primary hover:underline", children: privacyLinkText })
2617
+ privacyLinkText && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: privacyLinkUrl || "#", className: "ml-1 text-primary hover:underline", children: privacyLinkText })
1839
2618
  ] })
1840
2619
  ] })
1841
2620
  ] })
1842
2621
  ] }),
1843
2622
  /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
1844
2623
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
1845
- /* @__PURE__ */ jsxRuntime.jsx(
2624
+ attributionText && /* @__PURE__ */ jsxRuntime.jsx(
1846
2625
  Pressable,
1847
2626
  {
1848
- href: attributionHref,
2627
+ href: attributionHref || "https://opensite.ai",
1849
2628
  className: "hover:text-primary",
1850
2629
  children: attributionText
1851
2630
  }
@@ -1856,12 +2635,7 @@ function FooterSocialNewsletter({
1856
2635
  );
1857
2636
  }
1858
2637
  function FooterSocialApps({
1859
- logo = {
1860
- url: "https://opensite.ai",
1861
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
1862
- alt: "Opensite AI",
1863
- title: "Opensite AI"
1864
- },
2638
+ logo,
1865
2639
  className,
1866
2640
  sections,
1867
2641
  socialLinks,
@@ -1869,58 +2643,72 @@ function FooterSocialApps({
1869
2643
  socialLabel,
1870
2644
  appLabel,
1871
2645
  copyright,
2646
+ background,
2647
+ spacing,
2648
+ pattern,
2649
+ patternOpacity,
1872
2650
  optixFlowConfig
1873
2651
  }) {
1874
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
1875
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
1876
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
1877
- /* @__PURE__ */ jsxRuntime.jsx(
1878
- img.Img,
1879
- {
1880
- src: logo.src,
1881
- alt: logo.alt,
1882
- className: "h-10",
1883
- optixFlowConfig
1884
- }
1885
- ),
1886
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
1887
- ] }) }),
1888
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1889
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
1890
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
1891
- "li",
1892
- {
1893
- className: "font-medium hover:text-primary",
1894
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
1895
- },
1896
- linkIdx
1897
- )) })
1898
- ] }, sectionIdx)) }),
1899
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
1900
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1901
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
1902
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx)) })
1903
- ] }),
1904
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1905
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: appLabel }),
1906
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinks?.map((app, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx)) })
1907
- ] })
1908
- ] })
1909
- ] }),
1910
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-24 border-t pt-8", children: /* @__PURE__ */ jsxRuntime.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: [
1911
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
1912
- /* @__PURE__ */ jsxRuntime.jsx(
1913
- Pressable,
2652
+ const sectionsContent = React4.useMemo(() => {
2653
+ if (!sections || sections.length === 0) return null;
2654
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2655
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
2656
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
2657
+ "li",
1914
2658
  {
1915
- href: "https://opensite.ai",
1916
- className: "hover:text-primary",
1917
- target: "_blank",
1918
- rel: "noopener noreferrer",
1919
- children: "AI Website and Automation Platform by Opensite"
1920
- }
1921
- )
1922
- ] }) })
1923
- ] }) }) });
2659
+ className: "font-medium hover:text-primary",
2660
+ children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
2661
+ },
2662
+ linkIdx
2663
+ )) })
2664
+ ] }, sectionIdx));
2665
+ }, [sections]);
2666
+ const socialLinksContent = React4.useMemo(() => {
2667
+ if (!socialLinks || socialLinks.length === 0) return null;
2668
+ return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) }) }) }, idx));
2669
+ }, [socialLinks]);
2670
+ const appLinksContent = React4.useMemo(() => {
2671
+ if (!appLinks || appLinks.length === 0) return null;
2672
+ return appLinks.map((app, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: app.href, "aria-label": app.label, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex size-12 items-center justify-center rounded-full bg-muted transition-colors hover:text-primary", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx));
2673
+ }, [appLinks]);
2674
+ return /* @__PURE__ */ jsxRuntime.jsx(
2675
+ Section,
2676
+ {
2677
+ background,
2678
+ spacing,
2679
+ pattern,
2680
+ patternOpacity,
2681
+ className: cn(className),
2682
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
2683
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-10 lg:flex-row lg:gap-20", children: [
2684
+ logo && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-6", children: /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: logo.url, className: "flex items-center gap-2", children: [
2685
+ logo.src && /* @__PURE__ */ jsxRuntime.jsx(
2686
+ img.Img,
2687
+ {
2688
+ src: logo.src,
2689
+ alt: logo.alt,
2690
+ className: "h-10",
2691
+ optixFlowConfig
2692
+ }
2693
+ ),
2694
+ logo.title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-semibold", children: logo.title })
2695
+ ] }) }),
2696
+ sections && sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid flex-1 gap-8 sm:grid-cols-2 md:grid-cols-3", children: sectionsContent }),
2697
+ (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
2698
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2699
+ socialLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
2700
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinksContent })
2701
+ ] }),
2702
+ appLinks && appLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2703
+ appLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: appLabel }),
2704
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinksContent })
2705
+ ] })
2706
+ ] })
2707
+ ] }),
2708
+ copyright && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-24 border-t pt-8", children: /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx("p", { children: copyright }) }) })
2709
+ ] }) })
2710
+ }
2711
+ );
1924
2712
  }
1925
2713
  function FooterSimpleCentered({
1926
2714
  logo,
@@ -1947,12 +2735,46 @@ function FooterSimpleCentered({
1947
2735
  copyrightClassName,
1948
2736
  bottomLinksClassName,
1949
2737
  bottomLinkClassName,
1950
- background = "white",
1951
- spacing = "lg",
2738
+ background,
2739
+ spacing,
1952
2740
  pattern,
1953
2741
  patternOpacity,
1954
2742
  optixFlowConfig
1955
2743
  }) {
2744
+ const sitemapContent = React4.useMemo(() => {
2745
+ if (!sitemap || sitemap.length === 0) return null;
2746
+ return sitemap.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(sitemapSectionClassName), children: [
2747
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-semibold", sitemapTitleClassName), children: section.title }),
2748
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-2", sitemapLinksClassName), children: section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2749
+ Pressable,
2750
+ {
2751
+ href: link.href,
2752
+ className: cn(
2753
+ "text-sm text-muted-foreground transition-colors hover:text-foreground",
2754
+ sitemapLinkClassName
2755
+ ),
2756
+ children: link.label
2757
+ }
2758
+ ) }, link.href)) })
2759
+ ] }, section.title));
2760
+ }, [sitemap, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName]);
2761
+ const bottomLinksContent = React4.useMemo(() => {
2762
+ if (!bottomLinks || bottomLinks.length === 0) return null;
2763
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React4__namespace.Fragment, { children: [
2764
+ idx > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "\u2022" }),
2765
+ /* @__PURE__ */ jsxRuntime.jsx(
2766
+ Pressable,
2767
+ {
2768
+ href: link.href,
2769
+ className: cn(
2770
+ "text-sm text-muted-foreground transition-colors hover:text-foreground",
2771
+ bottomLinkClassName
2772
+ ),
2773
+ children: link.text
2774
+ }
2775
+ )
2776
+ ] }, link.href));
2777
+ }, [bottomLinks, bottomLinkClassName]);
1956
2778
  return /* @__PURE__ */ jsxRuntime.jsx(
1957
2779
  Section,
1958
2780
  {
@@ -1971,7 +2793,7 @@ function FooterSimpleCentered({
1971
2793
  ),
1972
2794
  children: [
1973
2795
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("max-w-96", brandClassName), children: [
1974
- /* @__PURE__ */ jsxRuntime.jsxs(
2796
+ (logo?.src || logo?.title) && /* @__PURE__ */ jsxRuntime.jsxs(
1975
2797
  "div",
1976
2798
  {
1977
2799
  className: cn(
@@ -1979,10 +2801,10 @@ function FooterSimpleCentered({
1979
2801
  logoWrapperClassName
1980
2802
  ),
1981
2803
  children: [
1982
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-12 items-center justify-center rounded-lg border border-border bg-accent p-2", children: /* @__PURE__ */ jsxRuntime.jsx(
2804
+ logo?.src && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-12 items-center justify-center rounded-lg border border-border bg-accent p-2", children: /* @__PURE__ */ jsxRuntime.jsx(
1983
2805
  img.Img,
1984
2806
  {
1985
- src: logo?.src,
2807
+ src: logo.src,
1986
2808
  alt: logo?.alt,
1987
2809
  className: cn(
1988
2810
  "size-12 h-full w-full object-contain object-center",
@@ -1991,11 +2813,11 @@ function FooterSimpleCentered({
1991
2813
  optixFlowConfig
1992
2814
  }
1993
2815
  ) }),
1994
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-xl font-bold", logoTitleClassName), children: logo?.title })
2816
+ logo?.title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-xl font-bold", logoTitleClassName), children: logo.title })
1995
2817
  ]
1996
2818
  }
1997
2819
  ),
1998
- /* @__PURE__ */ jsxRuntime.jsx(
2820
+ tagline && /* @__PURE__ */ jsxRuntime.jsx(
1999
2821
  "p",
2000
2822
  {
2001
2823
  className: cn(
@@ -2013,45 +2835,7 @@ function FooterSimpleCentered({
2013
2835
  "flex flex-col items-start gap-x-20 gap-y-14 xl:flex-row",
2014
2836
  sitemapWrapperClassName
2015
2837
  ),
2016
- children: /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsxs(
2017
- "div",
2018
- {
2019
- className: cn("h-fit w-min", sitemapSectionClassName),
2020
- children: [
2021
- /* @__PURE__ */ jsxRuntime.jsx(
2022
- "h4",
2023
- {
2024
- className: cn(
2025
- "mb-6 text-base font-semibold whitespace-nowrap",
2026
- sitemapTitleClassName
2027
- ),
2028
- children: section.title
2029
- }
2030
- ),
2031
- /* @__PURE__ */ jsxRuntime.jsx(
2032
- "ul",
2033
- {
2034
- className: cn(
2035
- "space-y-3 text-base font-medium text-muted-foreground",
2036
- sitemapLinksClassName
2037
- ),
2038
- children: section.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2039
- Pressable,
2040
- {
2041
- href: link.href,
2042
- className: cn(
2043
- "text-base whitespace-nowrap hover:text-accent-foreground",
2044
- sitemapLinkClassName
2045
- ),
2046
- children: link.label
2047
- }
2048
- ) }, String(link.label)))
2049
- }
2050
- )
2051
- ]
2052
- },
2053
- section.title
2054
- )) })
2838
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "inline-grid w-fit grid-cols-1 gap-x-20 gap-y-14 sm:grid-cols-2", children: sitemapContent })
2055
2839
  }
2056
2840
  )
2057
2841
  ]
@@ -2073,8 +2857,8 @@ function FooterSimpleCentered({
2073
2857
  copyrightClassName
2074
2858
  ),
2075
2859
  children: [
2076
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: copyright }),
2077
- /* @__PURE__ */ jsxRuntime.jsx(
2860
+ copyright && /* @__PURE__ */ jsxRuntime.jsx("span", { children: copyright }),
2861
+ attributionHref && attributionText && /* @__PURE__ */ jsxRuntime.jsx(
2078
2862
  Pressable,
2079
2863
  {
2080
2864
  href: attributionHref,
@@ -2094,18 +2878,7 @@ function FooterSimpleCentered({
2094
2878
  "flex flex-col items-start gap-4 text-xs text-muted-foreground sm:text-sm md:flex-row lg:items-center",
2095
2879
  bottomLinksClassName
2096
2880
  ),
2097
- children: bottomLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
2098
- Pressable,
2099
- {
2100
- href: link.href,
2101
- className: cn(
2102
- "hover:text-accent-foreground",
2103
- bottomLinkClassName
2104
- ),
2105
- children: link.text
2106
- },
2107
- idx
2108
- ))
2881
+ children: bottomLinksContent
2109
2882
  }
2110
2883
  )
2111
2884
  ]
@@ -2116,18 +2889,13 @@ function FooterSimpleCentered({
2116
2889
  );
2117
2890
  }
2118
2891
  function FooterBrandDescription({
2119
- logo = {
2120
- url: "https://opensite.ai",
2121
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2122
- alt: "Opensite AI",
2123
- title: "Opensite AI"
2124
- },
2892
+ logo,
2125
2893
  sections,
2126
2894
  description,
2127
2895
  socialLinks,
2128
2896
  copyright,
2129
2897
  attributionText,
2130
- attributionHref = "https://opensite.ai",
2898
+ attributionHref,
2131
2899
  legalLinks,
2132
2900
  className,
2133
2901
  contentClassName,
@@ -2148,13 +2916,13 @@ function FooterBrandDescription({
2148
2916
  copyrightClassName,
2149
2917
  legalLinksClassName,
2150
2918
  legalLinkClassName,
2151
- background = "white",
2152
- spacing = "lg",
2919
+ background,
2920
+ spacing,
2153
2921
  pattern,
2154
2922
  patternOpacity,
2155
2923
  optixFlowConfig
2156
2924
  }) {
2157
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2925
+ const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2158
2926
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
2159
2927
  return /* @__PURE__ */ jsxRuntime.jsx(
2160
2928
  Section,
@@ -2166,8 +2934,8 @@ function FooterBrandDescription({
2166
2934
  className: cn(className),
2167
2935
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contentClassName), children: [
2168
2936
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col justify-between gap-10 lg:flex-row lg:items-start lg:text-left", layoutClassName), children: [
2169
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col justify-between gap-6 lg:items-start", brandColumnClassName), children: [
2170
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2 lg:justify-start", logoWrapperClassName), children: [
2937
+ (logo || description || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col justify-between gap-6 lg:items-start", brandColumnClassName), children: [
2938
+ logo && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2 lg:justify-start", logoWrapperClassName), children: [
2171
2939
  /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: logo.url, children: /* @__PURE__ */ jsxRuntime.jsx(
2172
2940
  img.Img,
2173
2941
  {
@@ -2179,10 +2947,10 @@ function FooterBrandDescription({
2179
2947
  ) }),
2180
2948
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
2181
2949
  ] }),
2182
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-[70%] text-sm text-muted-foreground", descriptionClassName), children: description }),
2183
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center space-x-6 text-muted-foreground", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("font-medium hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 }) }) }, idx)) })
2950
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-[70%] text-sm text-muted-foreground", descriptionClassName), children: description }),
2951
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center space-x-6 text-muted-foreground", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("font-medium hover:text-primary", socialLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 }) }) }, idx)) })
2184
2952
  ] }),
2185
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid w-full gap-6 md:grid-cols-3 lg:gap-20", navGridClassName), children: sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
2953
+ sections && sections.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid w-full gap-6 md:grid-cols-3 lg:gap-20", navGridClassName), children: sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
2186
2954
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-bold", navTitleClassName), children: section.title }),
2187
2955
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
2188
2956
  "li",
@@ -2197,10 +2965,10 @@ function FooterBrandDescription({
2197
2965
  /* @__PURE__ */ jsxRuntime.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: [
2198
2966
  /* @__PURE__ */ jsxRuntime.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: [
2199
2967
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
2200
- /* @__PURE__ */ jsxRuntime.jsx(
2968
+ attributionText && /* @__PURE__ */ jsxRuntime.jsx(
2201
2969
  Pressable,
2202
2970
  {
2203
- href: attributionHref,
2971
+ href: attributionHref || "https://opensite.ai",
2204
2972
  className: "hover:text-primary",
2205
2973
  target: "_blank",
2206
2974
  rel: "noopener noreferrer",
@@ -2208,138 +2976,135 @@ function FooterBrandDescription({
2208
2976
  }
2209
2977
  )
2210
2978
  ] }),
2211
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("order-1 flex flex-col gap-2 md:order-2 md:flex-row", legalLinksClassName), children: legalLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("hover:text-primary", legalLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name }) }, idx)) })
2979
+ legalLinks && legalLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("order-1 flex flex-col gap-2 md:order-2 md:flex-row", legalLinksClassName), children: legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("hover:text-primary", legalLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name }) }, idx)) })
2212
2980
  ] })
2213
2981
  ] })
2214
2982
  }
2215
2983
  );
2216
2984
  }
2217
2985
  function FooterNewsletterGrid({
2218
- logo = {
2219
- url: "https://opensite.ai",
2220
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2221
- alt: "Opensite AI",
2222
- title: "Opensite AI"
2223
- },
2986
+ logo,
2224
2987
  className,
2225
2988
  description,
2226
2989
  sections,
2227
2990
  socialLinks,
2228
2991
  newsletterTitle,
2229
- newsletterPlaceholder = "Email",
2992
+ newsletterPlaceholder,
2230
2993
  newsletterButtonText,
2231
2994
  privacyText,
2232
2995
  privacyLinkText,
2233
- privacyLinkUrl = "#",
2996
+ privacyLinkUrl,
2234
2997
  copyright,
2998
+ background,
2999
+ spacing,
3000
+ pattern,
3001
+ patternOpacity,
2235
3002
  optixFlowConfig
2236
3003
  }) {
2237
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
2238
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 justify-between gap-10 lg:grid-cols-6 lg:text-left", children: [
2239
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-4 flex w-full flex-col gap-6 lg:col-span-2", children: [
2240
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
2241
- /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: logo.url, children: /* @__PURE__ */ jsxRuntime.jsx(
2242
- img.Img,
2243
- {
2244
- src: logo.src,
2245
- alt: logo.alt,
2246
- className: "h-8",
2247
- optixFlowConfig
2248
- }
2249
- ) }),
2250
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold", children: logo.title })
2251
- ] }),
2252
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: description }),
2253
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center space-x-6", children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx(
2254
- "li",
2255
- {
2256
- className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground",
2257
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) })
2258
- },
2259
- idx
2260
- )) })
2261
- ] }),
2262
- sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 md:col-span-1", children: [
2263
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: section.title }),
2264
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
2265
- "li",
2266
- {
2267
- className: "font-medium hover:text-primary",
2268
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
2269
- },
2270
- linkIdx
2271
- )) })
2272
- ] }, sectionIdx)),
2273
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-4 md:col-span-2", children: [
2274
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: newsletterTitle }),
2275
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center space-x-2", children: [
2276
- /* @__PURE__ */ jsxRuntime.jsx(
2277
- "input",
2278
- {
2279
- type: "email",
2280
- placeholder: newsletterPlaceholder,
2281
- 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"
2282
- }
2283
- ),
2284
- /* @__PURE__ */ jsxRuntime.jsx(
2285
- "button",
2286
- {
2287
- type: "submit",
2288
- 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",
2289
- children: newsletterButtonText
2290
- }
2291
- )
2292
- ] }) }),
2293
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
2294
- privacyText,
2295
- /* @__PURE__ */ jsxRuntime.jsx(
2296
- Pressable,
2297
- {
2298
- href: privacyLinkUrl,
2299
- className: "ml-1 text-primary hover:underline",
2300
- children: privacyLinkText
2301
- }
2302
- )
2303
- ] })
2304
- ] })
2305
- ] }),
2306
- /* @__PURE__ */ jsxRuntime.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: [
2307
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2 lg:flex-row lg:items-center lg:gap-4", children: /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
2308
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mr-1 font-bold text-primary", children: "Opensite AI" }),
2309
- copyright
2310
- ] }) }),
2311
- /* @__PURE__ */ jsxRuntime.jsx(
2312
- Pressable,
3004
+ const sectionsContent = React4.useMemo(() => {
3005
+ if (!sections || sections.length === 0) return null;
3006
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 md:col-span-1", children: [
3007
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: section.title }),
3008
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
3009
+ "li",
2313
3010
  {
2314
- href: "https://opensite.ai",
2315
- className: "hover:text-primary",
2316
- target: "_blank",
2317
- rel: "noopener noreferrer",
2318
- children: "AI Website and Automation Platform by Opensite"
2319
- }
2320
- )
2321
- ] })
2322
- ] }) }) });
3011
+ className: "font-medium hover:text-primary",
3012
+ children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
3013
+ },
3014
+ linkIdx
3015
+ )) })
3016
+ ] }, sectionIdx));
3017
+ }, [sections]);
3018
+ const socialLinksContent = React4.useMemo(() => {
3019
+ if (!socialLinks || socialLinks.length === 0) return null;
3020
+ return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx(
3021
+ "li",
3022
+ {
3023
+ className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground",
3024
+ children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: social.href, "aria-label": social.label, children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 24 }) })
3025
+ },
3026
+ idx
3027
+ ));
3028
+ }, [socialLinks]);
3029
+ return /* @__PURE__ */ jsxRuntime.jsx(
3030
+ Section,
3031
+ {
3032
+ background,
3033
+ spacing,
3034
+ pattern,
3035
+ patternOpacity,
3036
+ className: cn(className),
3037
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
3038
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-4 justify-between gap-10 lg:grid-cols-6 lg:text-left", children: [
3039
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-4 flex w-full flex-col gap-6 lg:col-span-2", children: [
3040
+ logo && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 lg:justify-start", children: [
3041
+ /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: logo.url, children: logo.src && /* @__PURE__ */ jsxRuntime.jsx(
3042
+ img.Img,
3043
+ {
3044
+ src: logo.src,
3045
+ alt: logo.alt,
3046
+ className: "h-8",
3047
+ optixFlowConfig
3048
+ }
3049
+ ) }),
3050
+ logo.title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-semibold", children: logo.title })
3051
+ ] }),
3052
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: description }),
3053
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center space-x-6", children: socialLinksContent })
3054
+ ] }),
3055
+ sectionsContent,
3056
+ (newsletterTitle || newsletterButtonText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-4 md:col-span-2", children: [
3057
+ newsletterTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: newsletterTitle }),
3058
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center space-x-2", children: [
3059
+ /* @__PURE__ */ jsxRuntime.jsx(
3060
+ "input",
3061
+ {
3062
+ type: "email",
3063
+ placeholder: newsletterPlaceholder,
3064
+ 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"
3065
+ }
3066
+ ),
3067
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
3068
+ "button",
3069
+ {
3070
+ type: "submit",
3071
+ 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",
3072
+ children: newsletterButtonText
3073
+ }
3074
+ )
3075
+ ] }) }),
3076
+ (privacyText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
3077
+ privacyText,
3078
+ privacyLinkText && privacyLinkUrl && /* @__PURE__ */ jsxRuntime.jsx(
3079
+ Pressable,
3080
+ {
3081
+ href: privacyLinkUrl,
3082
+ className: "ml-1 text-primary hover:underline",
3083
+ children: privacyLinkText
3084
+ }
3085
+ )
3086
+ ] })
3087
+ ] })
3088
+ ] }),
3089
+ copyright && /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx("p", { children: copyright }) })
3090
+ ] }) })
3091
+ }
3092
+ );
2323
3093
  }
2324
3094
  function FooterCtaBanner({
2325
- logo = {
2326
- url: "https://opensite.ai",
2327
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2328
- alt: "Opensite AI",
2329
- title: "Opensite AI"
2330
- },
3095
+ logo,
2331
3096
  ctaHeading,
2332
3097
  ctaDescription,
2333
3098
  ctaButtonText,
2334
- ctaButtonUrl = "#",
3099
+ ctaButtonUrl,
2335
3100
  sections,
2336
3101
  socialLinks,
2337
3102
  newsletterLabel,
2338
- newsletterPlaceholder = "Enter your email",
3103
+ newsletterPlaceholder,
2339
3104
  newsletterButtonText,
2340
3105
  copyright,
2341
3106
  attributionText,
2342
- attributionHref = "https://opensite.ai",
3107
+ attributionHref,
2343
3108
  legalLinks,
2344
3109
  className,
2345
3110
  contentClassName,
@@ -2365,13 +3130,13 @@ function FooterCtaBanner({
2365
3130
  copyrightClassName,
2366
3131
  legalLinksClassName,
2367
3132
  legalLinkClassName,
2368
- background = "dark",
2369
- spacing = "lg",
3133
+ background,
3134
+ spacing,
2370
3135
  pattern,
2371
3136
  patternOpacity,
2372
3137
  optixFlowConfig
2373
3138
  }) {
2374
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3139
+ const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2375
3140
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
2376
3141
  return /* @__PURE__ */ jsxRuntime.jsx(
2377
3142
  Section,
@@ -2396,13 +3161,13 @@ function FooterCtaBanner({
2396
3161
  ] }),
2397
3162
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-5", gridClassName), children: [
2398
3163
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-2", brandClassName), children: [
2399
- /* @__PURE__ */ jsxRuntime.jsxs(
3164
+ logo && /* @__PURE__ */ jsxRuntime.jsxs(
2400
3165
  Pressable,
2401
3166
  {
2402
3167
  href: logo.url,
2403
3168
  className: cn("mb-6 flex items-center gap-2", logoWrapperClassName),
2404
3169
  children: [
2405
- /* @__PURE__ */ jsxRuntime.jsx(
3170
+ logo.src && /* @__PURE__ */ jsxRuntime.jsx(
2406
3171
  img.Img,
2407
3172
  {
2408
3173
  src: logo.src,
@@ -2411,7 +3176,7 @@ function FooterCtaBanner({
2411
3176
  optixFlowConfig
2412
3177
  }
2413
3178
  ),
2414
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
3179
+ logo.title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
2415
3180
  ]
2416
3181
  }
2417
3182
  ),
@@ -2479,12 +3244,7 @@ function FooterCtaBanner({
2479
3244
  );
2480
3245
  }
2481
3246
  function FooterContactCard({
2482
- logo = {
2483
- url: "https://opensite.ai",
2484
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2485
- alt: "Opensite AI",
2486
- title: "Opensite AI"
2487
- },
3247
+ logo,
2488
3248
  heading,
2489
3249
  email,
2490
3250
  phone,
@@ -2496,7 +3256,7 @@ function FooterContactCard({
2496
3256
  locationLabel,
2497
3257
  copyright,
2498
3258
  attributionText,
2499
- attributionHref = "https://opensite.ai",
3259
+ attributionHref,
2500
3260
  className,
2501
3261
  contentClassName,
2502
3262
  gridClassName,
@@ -2516,13 +3276,13 @@ function FooterContactCard({
2516
3276
  bottomClassName,
2517
3277
  copyrightClassName,
2518
3278
  locationClassName,
2519
- background = "white",
2520
- spacing = "lg",
3279
+ background,
3280
+ spacing,
2521
3281
  pattern,
2522
3282
  patternOpacity,
2523
3283
  optixFlowConfig
2524
3284
  }) {
2525
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3285
+ const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2526
3286
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
2527
3287
  return /* @__PURE__ */ jsxRuntime.jsx(
2528
3288
  Section,
@@ -2535,7 +3295,7 @@ function FooterContactCard({
2535
3295
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
2536
3296
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-12 lg:grid-cols-2", gridClassName), children: [
2537
3297
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
2538
- /* @__PURE__ */ jsxRuntime.jsxs(
3298
+ logo && /* @__PURE__ */ jsxRuntime.jsxs(
2539
3299
  Pressable,
2540
3300
  {
2541
3301
  href: logo.url,
@@ -2554,9 +3314,9 @@ function FooterContactCard({
2554
3314
  ]
2555
3315
  }
2556
3316
  ),
2557
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
2558
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4 text-muted-foreground", contactClassName), children: [
2559
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx(
3317
+ heading && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
3318
+ (email || phone || address) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4 text-muted-foreground", contactClassName), children: [
3319
+ email && /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx(
2560
3320
  Pressable,
2561
3321
  {
2562
3322
  href: `mailto:${email}`,
@@ -2564,7 +3324,7 @@ function FooterContactCard({
2564
3324
  children: email
2565
3325
  }
2566
3326
  ) }),
2567
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx(
3327
+ phone && /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx(
2568
3328
  Pressable,
2569
3329
  {
2570
3330
  href: `tel:${phone}`,
@@ -2572,13 +3332,13 @@ function FooterContactCard({
2572
3332
  children: phone
2573
3333
  }
2574
3334
  ) }),
2575
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: address })
3335
+ address && /* @__PURE__ */ jsxRuntime.jsx("p", { children: address })
2576
3336
  ] })
2577
3337
  ] }),
2578
3338
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
2579
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
2580
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
2581
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3339
+ (socialTitle || socialLinks && socialLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
3340
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
3341
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2582
3342
  Pressable,
2583
3343
  {
2584
3344
  href: social.href,
@@ -2588,7 +3348,7 @@ function FooterContactCard({
2588
3348
  }
2589
3349
  ) }, idx)) })
2590
3350
  ] }),
2591
- /* @__PURE__ */ jsxRuntime.jsx("nav", { className: cn("mt-8", navClassName), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3351
+ navLinks && navLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("nav", { className: cn("mt-8", navClassName), children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-6", children: navLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2592
3352
  Pressable,
2593
3353
  {
2594
3354
  href: link.href,
@@ -2601,10 +3361,10 @@ function FooterContactCard({
2601
3361
  /* @__PURE__ */ jsxRuntime.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: [
2602
3362
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
2603
3363
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
2604
- /* @__PURE__ */ jsxRuntime.jsx(
3364
+ attributionText && /* @__PURE__ */ jsxRuntime.jsx(
2605
3365
  Pressable,
2606
3366
  {
2607
- href: attributionHref,
3367
+ href: attributionHref || "https://opensite.ai",
2608
3368
  className: "hover:text-primary",
2609
3369
  target: "_blank",
2610
3370
  rel: "noopener noreferrer",
@@ -2612,10 +3372,10 @@ function FooterContactCard({
2612
3372
  }
2613
3373
  )
2614
3374
  ] }),
2615
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn(locationClassName), children: [
3375
+ (locationLabel || location) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn(locationClassName), children: [
2616
3376
  locationLabel,
2617
3377
  " ",
2618
- /* @__PURE__ */ jsxRuntime.jsx("strong", { children: location })
3378
+ location && /* @__PURE__ */ jsxRuntime.jsx("strong", { children: location })
2619
3379
  ] })
2620
3380
  ] })
2621
3381
  ] }) })
@@ -2623,24 +3383,19 @@ function FooterContactCard({
2623
3383
  );
2624
3384
  }
2625
3385
  function FooterBackgroundCard({
2626
- logo = {
2627
- url: "https://opensite.ai",
2628
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
2629
- alt: "Opensite AI",
2630
- title: "Opensite AI"
2631
- },
2632
- backgroundImage = "https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1920&q=80",
2633
- profileImage = "https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&q=80",
3386
+ logo,
3387
+ backgroundImage,
3388
+ profileImage,
2634
3389
  tagline,
2635
3390
  personalMessage,
2636
3391
  ctaText,
2637
- ctaUrl = "#",
3392
+ ctaUrl,
2638
3393
  contactTitle,
2639
3394
  contact,
2640
3395
  menuItems,
2641
3396
  copyright,
2642
3397
  attributionText,
2643
- attributionHref = "https://opensite.ai",
3398
+ attributionHref,
2644
3399
  bottomLinks,
2645
3400
  className,
2646
3401
  cardClassName,
@@ -2659,14 +3414,18 @@ function FooterBackgroundCard({
2659
3414
  bottomClassName,
2660
3415
  copyrightClassName,
2661
3416
  bottomLinksClassName,
2662
- background = "white",
2663
- spacing = "lg",
3417
+ background,
3418
+ spacing,
2664
3419
  pattern,
2665
3420
  patternOpacity,
2666
3421
  optixFlowConfig
2667
3422
  }) {
2668
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3423
+ const currentYear = React4.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
2669
3424
  const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
3425
+ const sectionStyle = React4.useMemo(
3426
+ () => backgroundImage ? { backgroundImage: `url('${backgroundImage}')` } : void 0,
3427
+ [backgroundImage]
3428
+ );
2670
3429
  return /* @__PURE__ */ jsxRuntime.jsx(
2671
3430
  Section,
2672
3431
  {
@@ -2675,14 +3434,12 @@ function FooterBackgroundCard({
2675
3434
  pattern,
2676
3435
  patternOpacity,
2677
3436
  className: cn("bg-cover bg-center bg-no-repeat", className),
2678
- style: {
2679
- backgroundImage: `url('${backgroundImage}')`
2680
- },
3437
+ style: sectionStyle,
2681
3438
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg bg-background p-8 shadow-lg md:p-12", cardClassName), children: [
2682
3439
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-4 lg:gap-12", gridClassName), children: [
2683
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
2684
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
2685
- /* @__PURE__ */ jsxRuntime.jsx(
3440
+ (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
3441
+ (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
3442
+ profileImage && /* @__PURE__ */ jsxRuntime.jsx(
2686
3443
  img.Img,
2687
3444
  {
2688
3445
  src: profileImage,
@@ -2691,19 +3448,19 @@ function FooterBackgroundCard({
2691
3448
  optixFlowConfig
2692
3449
  }
2693
3450
  ),
2694
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
3451
+ tagline && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
2695
3452
  ] }),
2696
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed text-muted-foreground", messageClassName), children: personalMessage }),
2697
- /* @__PURE__ */ jsxRuntime.jsx(
3453
+ personalMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed text-muted-foreground", messageClassName), children: personalMessage }),
3454
+ ctaText && /* @__PURE__ */ jsxRuntime.jsx(
2698
3455
  Pressable,
2699
3456
  {
2700
- href: ctaUrl,
3457
+ href: ctaUrl || "#",
2701
3458
  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),
2702
3459
  children: ctaText
2703
3460
  }
2704
3461
  )
2705
3462
  ] }),
2706
- menuItems?.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(menuSectionClassName), children: [
3463
+ menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(menuSectionClassName), children: [
2707
3464
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", menuTitleClassName), children: menu.title }),
2708
3465
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
2709
3466
  Pressable,
@@ -2714,15 +3471,15 @@ function FooterBackgroundCard({
2714
3471
  }
2715
3472
  ) }, index)) })
2716
3473
  ] }, idx)),
2717
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactSectionClassName), children: [
2718
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", contactTitleClassName), children: contactTitle }),
2719
- /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
2720
- /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact?.phone }),
2721
- /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact?.email }),
2722
- /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("text-muted-foreground", contactItemClassName), children: [
2723
- contact?.location,
2724
- " \u2022 ",
2725
- contact?.timezone
3474
+ (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactSectionClassName), children: [
3475
+ contactTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", contactTitleClassName), children: contactTitle }),
3476
+ contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
3477
+ contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact.phone }),
3478
+ contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact.email }),
3479
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("text-muted-foreground", contactItemClassName), children: [
3480
+ contact.location,
3481
+ contact.location && contact.timezone && " \u2022 ",
3482
+ contact.timezone
2726
3483
  ] })
2727
3484
  ] })
2728
3485
  ] })
@@ -2730,10 +3487,10 @@ function FooterBackgroundCard({
2730
3487
  /* @__PURE__ */ jsxRuntime.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: [
2731
3488
  /* @__PURE__ */ jsxRuntime.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: [
2732
3489
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
2733
- /* @__PURE__ */ jsxRuntime.jsx(
3490
+ attributionText && /* @__PURE__ */ jsxRuntime.jsx(
2734
3491
  Pressable,
2735
3492
  {
2736
- href: attributionHref,
3493
+ href: attributionHref || "https://opensite.ai",
2737
3494
  className: "hover:text-primary",
2738
3495
  target: "_blank",
2739
3496
  rel: "noopener noreferrer",
@@ -2741,7 +3498,7 @@ function FooterBackgroundCard({
2741
3498
  }
2742
3499
  )
2743
3500
  ] }),
2744
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
3501
+ bottomLinks && bottomLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex gap-4", bottomLinksClassName), children: bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
2745
3502
  Pressable,
2746
3503
  {
2747
3504
  href: link.url,
@@ -2777,11 +3534,11 @@ function FooterAnimatedSocial({
2777
3534
  heading,
2778
3535
  description,
2779
3536
  ctaText,
2780
- ctaUrl = "#",
3537
+ ctaUrl,
2781
3538
  socialLinks,
2782
3539
  copyright,
2783
3540
  attributionText,
2784
- attributionHref = "https://opensite.ai",
3541
+ attributionHref,
2785
3542
  className,
2786
3543
  contentClassName,
2787
3544
  layoutClassName,
@@ -2795,13 +3552,45 @@ function FooterAnimatedSocial({
2795
3552
  bottomClassName,
2796
3553
  separatorClassName,
2797
3554
  copyrightClassName,
2798
- background = "white",
2799
- spacing = "lg",
3555
+ background,
3556
+ spacing,
2800
3557
  pattern,
2801
3558
  patternOpacity
2802
3559
  }) {
2803
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
2804
- const copyrightText = copyright ?? `\xA9 Copyright ${currentYear}. All rights Reserved.`;
3560
+ const socialLinksContent = React4.useMemo(() => {
3561
+ if (!socialLinks || socialLinks.length === 0) return null;
3562
+ return socialLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
3563
+ framerMotion.motion.div,
3564
+ {
3565
+ variants: itemVariants,
3566
+ whileHover: { x: 4 },
3567
+ transition: {
3568
+ type: "spring",
3569
+ stiffness: 300,
3570
+ damping: 20
3571
+ },
3572
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
3573
+ Pressable,
3574
+ {
3575
+ href: link.href,
3576
+ className: cn("group flex items-center gap-2 py-2 text-foreground transition-colors hover:text-foreground/80", socialLinkClassName),
3577
+ children: [
3578
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-medium", children: link.name }),
3579
+ /* @__PURE__ */ jsxRuntime.jsx(
3580
+ DynamicIcon,
3581
+ {
3582
+ name: "lucide/arrow-up-right",
3583
+ size: 24,
3584
+ className: "transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"
3585
+ }
3586
+ )
3587
+ ]
3588
+ }
3589
+ )
3590
+ },
3591
+ link.name
3592
+ ));
3593
+ }, [socialLinks, socialLinkClassName]);
2805
3594
  return /* @__PURE__ */ jsxRuntime.jsx(
2806
3595
  Section,
2807
3596
  {
@@ -2825,7 +3614,7 @@ function FooterAnimatedSocial({
2825
3614
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl leading-tight font-bold text-foreground lg:text-5xl", headingClassName), children: heading }),
2826
3615
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-md text-lg leading-relaxed text-muted-foreground", descriptionClassName), children: description })
2827
3616
  ] }),
2828
- /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
3617
+ ctaUrl && ctaText && /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
2829
3618
  Pressable,
2830
3619
  {
2831
3620
  href: ctaUrl,
@@ -2834,37 +3623,7 @@ function FooterAnimatedSocial({
2834
3623
  }
2835
3624
  ) })
2836
3625
  ] }),
2837
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-5 space-y-8 md:mt-0", rightColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-6", socialLinksClassName), children: socialLinks?.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
2838
- framerMotion.motion.div,
2839
- {
2840
- variants: itemVariants,
2841
- whileHover: { x: 4 },
2842
- transition: {
2843
- type: "spring",
2844
- stiffness: 300,
2845
- damping: 20
2846
- },
2847
- children: /* @__PURE__ */ jsxRuntime.jsxs(
2848
- Pressable,
2849
- {
2850
- href: link.href,
2851
- className: cn("group flex items-center gap-2 py-2 text-foreground transition-colors hover:text-foreground/80", socialLinkClassName),
2852
- children: [
2853
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-medium", children: link.name }),
2854
- /* @__PURE__ */ jsxRuntime.jsx(
2855
- DynamicIcon,
2856
- {
2857
- name: "lucide/arrow-up-right",
2858
- size: 24,
2859
- className: "transition-transform group-hover:translate-x-0.5 group-hover:-translate-y-0.5"
2860
- }
2861
- )
2862
- ]
2863
- }
2864
- )
2865
- },
2866
- link.name
2867
- )) }) }) })
3626
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-5 space-y-8 md:mt-0", rightColumnClassName), children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("space-y-6", socialLinksClassName), children: socialLinksContent }) }) })
2868
3627
  ]
2869
3628
  }
2870
3629
  ),
@@ -2884,7 +3643,7 @@ function FooterAnimatedSocial({
2884
3643
  variants: itemVariants,
2885
3644
  className: cn("flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center", copyrightClassName),
2886
3645
  children: [
2887
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: copyrightText }),
3646
+ copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: copyright }),
2888
3647
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6 text-sm", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(
2889
3648
  framerMotion.motion.a,
2890
3649
  {
@@ -3038,11 +3797,11 @@ function FooterNewsletterMinimal({
3038
3797
  socialLinks,
3039
3798
  footerLinks,
3040
3799
  newsletterLabel,
3041
- newsletterPlaceholder = "Email*",
3800
+ newsletterPlaceholder,
3042
3801
  brandText,
3043
3802
  copyright,
3044
3803
  attributionText,
3045
- attributionHref = "https://opensite.ai",
3804
+ attributionHref,
3046
3805
  location,
3047
3806
  className,
3048
3807
  contentClassName,
@@ -3065,8 +3824,8 @@ function FooterNewsletterMinimal({
3065
3824
  brandSectionClassName,
3066
3825
  brandTextClassName,
3067
3826
  copyrightClassName,
3068
- background = "dark",
3069
- spacing = "lg",
3827
+ background,
3828
+ spacing,
3070
3829
  pattern,
3071
3830
  patternOpacity,
3072
3831
  formConfig,
@@ -3074,6 +3833,50 @@ function FooterNewsletterMinimal({
3074
3833
  onSuccess,
3075
3834
  onError
3076
3835
  }) {
3836
+ const navLinksContent = React4.useMemo(() => {
3837
+ if (!navLinks || navLinks.length === 0) return null;
3838
+ return navLinks.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3839
+ Pressable,
3840
+ {
3841
+ href: item.href,
3842
+ className: cn("tracking-tight text-foreground hover:text-foreground/30", navLinkClassName),
3843
+ children: item.label
3844
+ }
3845
+ ) }, idx));
3846
+ }, [navLinks, navLinkClassName]);
3847
+ const socialLinksContent = React4.useMemo(() => {
3848
+ if (!socialLinks || socialLinks.length === 0) return null;
3849
+ return socialLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsxs(
3850
+ Pressable,
3851
+ {
3852
+ href: item.href,
3853
+ className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", socialLinkClassName),
3854
+ children: [
3855
+ item.label,
3856
+ " ",
3857
+ /* @__PURE__ */ jsxRuntime.jsx(
3858
+ DynamicIcon,
3859
+ {
3860
+ name: "lucide/arrow-up-right",
3861
+ size: 14,
3862
+ className: "text-foreground group-hover:text-muted-foreground/50"
3863
+ }
3864
+ )
3865
+ ]
3866
+ }
3867
+ ) }, item.label));
3868
+ }, [socialLinks, socialLinkClassName]);
3869
+ const footerLinksContent = React4.useMemo(() => {
3870
+ if (!footerLinks || footerLinks.length === 0) return null;
3871
+ return footerLinks.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3872
+ Pressable,
3873
+ {
3874
+ href: item.href,
3875
+ className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", footerLinkClassName),
3876
+ children: item.label
3877
+ }
3878
+ ) }, item.label));
3879
+ }, [footerLinks, footerLinkClassName]);
3077
3880
  const form = forms.useForm({
3078
3881
  initialValues: {
3079
3882
  email: ""
@@ -3114,8 +3917,6 @@ function FooterNewsletterMinimal({
3114
3917
  }
3115
3918
  });
3116
3919
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
3117
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3118
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
3119
3920
  return /* @__PURE__ */ jsxRuntime.jsx(
3120
3921
  Section,
3121
3922
  {
@@ -3127,45 +3928,20 @@ function FooterNewsletterMinimal({
3127
3928
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contentClassName), children: [
3128
3929
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between gap-15 lg:flex-row", topSectionClassName), children: [
3129
3930
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-10", children: [
3130
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("relative text-4xl font-medium tracking-tight lg:text-5xl", headingClassName), children: heading }),
3131
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-1 text-sm font-light tracking-tight lg:text-base", supportClassName), children: [
3132
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: supportLabel }),
3133
- /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: `mailto:${supportEmail}`, children: supportEmail })
3931
+ heading && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("relative text-4xl font-medium tracking-tight lg:text-5xl", headingClassName), children: heading }),
3932
+ (supportLabel || supportEmail) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-1 text-sm font-light tracking-tight lg:text-base", supportClassName), children: [
3933
+ supportLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { children: supportLabel }),
3934
+ supportEmail && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: `mailto:${supportEmail}`, children: supportEmail })
3134
3935
  ] })
3135
3936
  ] }),
3136
3937
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", navGridClassName), children: [
3137
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-1", navLinksClassName), children: navLinks?.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3138
- Pressable,
3139
- {
3140
- href: item.href,
3141
- className: cn("tracking-tight text-foreground hover:text-foreground/30", navLinkClassName),
3142
- children: item.label
3143
- }
3144
- ) }, idx)) }),
3145
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-1", socialLinksClassName), children: socialLinks?.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsxs(
3146
- Pressable,
3147
- {
3148
- href: item.href,
3149
- className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", socialLinkClassName),
3150
- children: [
3151
- item.label,
3152
- " ",
3153
- /* @__PURE__ */ jsxRuntime.jsx(
3154
- DynamicIcon,
3155
- {
3156
- name: "lucide/arrow-up-right",
3157
- size: 14,
3158
- className: "text-foreground group-hover:text-muted-foreground/50"
3159
- }
3160
- )
3161
- ]
3162
- }
3163
- ) }, item.label)) })
3938
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-1", navLinksClassName), children: navLinksContent }),
3939
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-1", socialLinksClassName), children: socialLinksContent })
3164
3940
  ] })
3165
3941
  ] }),
3166
3942
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-20 flex flex-col justify-between gap-15 lg:flex-row", newsletterSectionClassName), children: [
3167
3943
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full max-w-md flex-col gap-10", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 text-sm font-light tracking-tight lg:text-base", children: [
3168
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: newsletterLabel }),
3944
+ newsletterLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { children: newsletterLabel }),
3169
3945
  /* @__PURE__ */ jsxRuntime.jsxs(
3170
3946
  forms.Form,
3171
3947
  {
@@ -3201,18 +3977,11 @@ function FooterNewsletterMinimal({
3201
3977
  )
3202
3978
  ] }) }),
3203
3979
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid w-full max-w-xs grid-cols-2 gap-10 text-sm font-light lg:text-base", bottomGridClassName), children: [
3204
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-32", locationClassName), children: location }),
3205
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-1", footerLinksClassName), children: footerLinks?.map((item) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3206
- Pressable,
3207
- {
3208
- href: item.href,
3209
- className: cn("group flex items-center gap-1 tracking-tight text-foreground hover:text-foreground/30", footerLinkClassName),
3210
- children: item.label
3211
- }
3212
- ) }, item.label)) })
3980
+ location && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-32", locationClassName), children: location }),
3981
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-1", footerLinksClassName), children: footerLinksContent })
3213
3982
  ] })
3214
3983
  ] }),
3215
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 w-full lg:mt-32", brandSectionClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
3984
+ brandText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 w-full lg:mt-32", brandSectionClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
3216
3985
  framerMotion.motion.div,
3217
3986
  {
3218
3987
  initial: { opacity: 0, y: 20 },
@@ -3223,9 +3992,9 @@ function FooterNewsletterMinimal({
3223
3992
  children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-6xl font-bold tracking-tighter md:text-8xl lg:text-9xl", brandTextClassName), children: brandText })
3224
3993
  }
3225
3994
  ) }),
3226
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 text-center text-sm text-muted-foreground", copyrightClassName), children: [
3227
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
3228
- /* @__PURE__ */ jsxRuntime.jsx(
3995
+ (copyright || attributionText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 text-center text-sm text-muted-foreground", copyrightClassName), children: [
3996
+ copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
3997
+ attributionText && attributionHref && /* @__PURE__ */ jsxRuntime.jsx(
3229
3998
  Pressable,
3230
3999
  {
3231
4000
  href: attributionHref,
@@ -3250,7 +4019,7 @@ function FooterCtaSocial({
3250
4019
  socialLinks,
3251
4020
  copyright,
3252
4021
  attributionText,
3253
- attributionHref = "https://opensite.ai",
4022
+ attributionHref,
3254
4023
  className,
3255
4024
  contentClassName,
3256
4025
  containerClassName,
@@ -3265,13 +4034,27 @@ function FooterCtaSocial({
3265
4034
  emailClassName,
3266
4035
  bottomClassName,
3267
4036
  copyrightClassName,
3268
- background = "white",
3269
- spacing = "lg",
4037
+ background,
4038
+ spacing,
3270
4039
  pattern,
3271
4040
  patternOpacity
3272
4041
  }) {
3273
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3274
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
4042
+ const socialLinksContent = React4.useMemo(() => {
4043
+ if (!socialLinks || socialLinks.length === 0) return null;
4044
+ return socialLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
4045
+ Pressable,
4046
+ {
4047
+ href: link.url,
4048
+ variant: "outline",
4049
+ size: "icon",
4050
+ asButton: true,
4051
+ className: cn("h-12 w-12 rounded-full", socialLinkClassName),
4052
+ "aria-label": link.label,
4053
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: link.icon, size: 20 })
4054
+ },
4055
+ link.url
4056
+ ));
4057
+ }, [socialLinks, socialLinkClassName]);
3275
4058
  return /* @__PURE__ */ jsxRuntime.jsx(
3276
4059
  Section,
3277
4060
  {
@@ -3306,19 +4089,8 @@ function FooterCtaSocial({
3306
4089
  ]
3307
4090
  }
3308
4091
  ),
3309
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-6 pt-8", socialLinksClassName), children: socialLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React4__namespace.Fragment, { children: [
3310
- /* @__PURE__ */ jsxRuntime.jsx(
3311
- Pressable,
3312
- {
3313
- href: link.url,
3314
- className: cn("text-muted-foreground transition-colors hover:text-foreground", socialLinkClassName),
3315
- "aria-label": link.label,
3316
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: link.icon, size: 20 })
3317
- }
3318
- ),
3319
- idx < (socialLinks?.length ?? 0) - 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px bg-border" })
3320
- ] }, idx)) }),
3321
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-sm text-muted-foreground md:text-base", emailClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
4092
+ socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-6 pt-8", socialLinksClassName), children: socialLinksContent }),
4093
+ email && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-sm text-muted-foreground md:text-base", emailClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
3322
4094
  Pressable,
3323
4095
  {
3324
4096
  href: `mailto:${email}`,
@@ -3327,8 +4099,8 @@ function FooterCtaSocial({
3327
4099
  }
3328
4100
  ) }),
3329
4101
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 border-t pt-8 text-sm text-muted-foreground", bottomClassName), children: [
3330
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn(copyrightClassName), children: copyrightText }),
3331
- /* @__PURE__ */ jsxRuntime.jsx(
4102
+ copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn(copyrightClassName), children: copyright }),
4103
+ attributionHref && attributionText && /* @__PURE__ */ jsxRuntime.jsx(
3332
4104
  Pressable,
3333
4105
  {
3334
4106
  href: attributionHref,
@@ -3344,22 +4116,17 @@ function FooterCtaSocial({
3344
4116
  );
3345
4117
  }
3346
4118
  function FooterNavSocial({
3347
- logo = {
3348
- url: "https://opensite.ai",
3349
- src: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/os-suircle-black-white.png",
3350
- alt: "Opensite AI",
3351
- title: "Opensite AI"
3352
- },
4119
+ logo,
3353
4120
  sections,
3354
4121
  socialLinks,
3355
4122
  newsletterHeading,
3356
4123
  newsletterDescription,
3357
- newsletterPlaceholder = "Enter your email",
4124
+ newsletterPlaceholder,
3358
4125
  newsletterButtonText,
3359
4126
  socialTitle,
3360
4127
  copyright,
3361
4128
  attributionText,
3362
- attributionHref = "https://opensite.ai",
4129
+ attributionHref,
3363
4130
  legalLinks,
3364
4131
  className,
3365
4132
  contentClassName,
@@ -3386,14 +4153,42 @@ function FooterNavSocial({
3386
4153
  copyrightClassName,
3387
4154
  legalLinksClassName,
3388
4155
  legalLinkClassName,
3389
- background = "white",
3390
- spacing = "lg",
4156
+ background,
4157
+ spacing,
3391
4158
  pattern,
3392
4159
  patternOpacity,
3393
4160
  optixFlowConfig
3394
4161
  }) {
3395
- const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
3396
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
4162
+ const sectionsContent = React4.useMemo(() => {
4163
+ if (!sections || sections.length === 0) return null;
4164
+ return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
4165
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
4166
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
4167
+ Pressable,
4168
+ {
4169
+ href: link.href,
4170
+ className: "hover:text-primary",
4171
+ children: link.name
4172
+ }
4173
+ ) }, linkIdx)) })
4174
+ ] }, sectionIdx));
4175
+ }, [sections, navSectionClassName, navTitleClassName, navLinksClassName, navLinkClassName]);
4176
+ const socialLinksContent = React4.useMemo(() => {
4177
+ if (!socialLinks || socialLinks.length === 0) return null;
4178
+ return socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
4179
+ Pressable,
4180
+ {
4181
+ href: social.href,
4182
+ "aria-label": social.label,
4183
+ className: cn("text-muted-foreground transition-colors hover:text-primary", socialLinkClassName),
4184
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 })
4185
+ }
4186
+ ) }, idx));
4187
+ }, [socialLinks, socialLinkClassName]);
4188
+ const legalLinksContent = React4.useMemo(() => {
4189
+ if (!legalLinks || legalLinks.length === 0) return null;
4190
+ return legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(legalLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: "hover:text-primary", children: link.name }) }, idx));
4191
+ }, [legalLinks, legalLinkClassName]);
3397
4192
  return /* @__PURE__ */ jsxRuntime.jsx(
3398
4193
  Section,
3399
4194
  {
@@ -3405,13 +4200,13 @@ function FooterNavSocial({
3405
4200
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
3406
4201
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-10 lg:grid-cols-2", gridClassName), children: [
3407
4202
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(leftColumnClassName), children: [
3408
- /* @__PURE__ */ jsxRuntime.jsxs(
4203
+ logo && /* @__PURE__ */ jsxRuntime.jsxs(
3409
4204
  Pressable,
3410
4205
  {
3411
4206
  href: logo.url,
3412
4207
  className: cn("mb-8 flex items-center gap-2", logoWrapperClassName),
3413
4208
  children: [
3414
- /* @__PURE__ */ jsxRuntime.jsx(
4209
+ logo.src && /* @__PURE__ */ jsxRuntime.jsx(
3415
4210
  img.Img,
3416
4211
  {
3417
4212
  src: logo.src,
@@ -3420,26 +4215,16 @@ function FooterNavSocial({
3420
4215
  optixFlowConfig
3421
4216
  }
3422
4217
  ),
3423
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
4218
+ logo.title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-xl font-semibold", logoTitleClassName), children: logo.title })
3424
4219
  ]
3425
4220
  }
3426
4221
  ),
3427
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
3428
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
3429
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm text-muted-foreground", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
3430
- Pressable,
3431
- {
3432
- href: link.href,
3433
- className: "hover:text-primary",
3434
- children: link.name
3435
- }
3436
- ) }, linkIdx)) })
3437
- ] }, sectionIdx)) })
4222
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 sm:grid-cols-3", navGridClassName), children: sectionsContent })
3438
4223
  ] }),
3439
4224
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
3440
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
3441
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
3442
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm text-muted-foreground", newsletterDescriptionClassName), children: newsletterDescription }),
4225
+ (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
4226
+ newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
4227
+ newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm text-muted-foreground", newsletterDescriptionClassName), children: newsletterDescription }),
3443
4228
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
3444
4229
  /* @__PURE__ */ jsxRuntime.jsx(
3445
4230
  "input",
@@ -3449,7 +4234,7 @@ function FooterNavSocial({
3449
4234
  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"
3450
4235
  }
3451
4236
  ),
3452
- /* @__PURE__ */ jsxRuntime.jsx(
4237
+ newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
3453
4238
  "button",
3454
4239
  {
3455
4240
  type: "submit",
@@ -3459,24 +4244,16 @@ function FooterNavSocial({
3459
4244
  )
3460
4245
  ] })
3461
4246
  ] }),
3462
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
3463
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
3464
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinks?.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
3465
- Pressable,
3466
- {
3467
- href: social.href,
3468
- "aria-label": social.label,
3469
- className: cn("text-muted-foreground transition-colors hover:text-primary", socialLinkClassName),
3470
- children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: social.icon, size: 20 })
3471
- }
3472
- ) }, idx)) })
4247
+ (socialTitle || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(socialSectionClassName), children: [
4248
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 font-medium", socialTitleClassName), children: socialTitle }),
4249
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex items-center gap-4", socialLinksClassName), children: socialLinksContent })
3473
4250
  ] })
3474
4251
  ] })
3475
4252
  ] }),
3476
4253
  /* @__PURE__ */ jsxRuntime.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: [
3477
4254
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
3478
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
3479
- /* @__PURE__ */ jsxRuntime.jsx(
4255
+ copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
4256
+ attributionText && attributionHref && /* @__PURE__ */ jsxRuntime.jsx(
3480
4257
  Pressable,
3481
4258
  {
3482
4259
  href: attributionHref,
@@ -3487,13 +4264,17 @@ function FooterNavSocial({
3487
4264
  }
3488
4265
  )
3489
4266
  ] }),
3490
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(legalLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: "hover:text-primary", children: link.name }) }, idx)) })
4267
+ legalLinksContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinksContent })
3491
4268
  ] })
3492
4269
  ] }) })
3493
4270
  }
3494
4271
  );
3495
4272
  }
3496
4273
 
4274
+ exports.AboutCultureTabs = AboutCultureTabs;
4275
+ exports.AboutExpandableValues = AboutExpandableValues;
4276
+ exports.AboutMissionPrinciples = AboutMissionPrinciples;
4277
+ exports.AboutSplitHero = AboutSplitHero;
3497
4278
  exports.AlternatingBlocks = AlternatingBlocks;
3498
4279
  exports.AnimatedDialog = AnimatedDialog;
3499
4280
  exports.Badge = Badge;
@@ -3504,6 +4285,7 @@ exports.CardDescription = CardDescription;
3504
4285
  exports.CardFooter = CardFooter;
3505
4286
  exports.CardHeader = CardHeader;
3506
4287
  exports.CardTitle = CardTitle;
4288
+ exports.CommunityInitiatives = CommunityInitiatives;
3507
4289
  exports.Container = Container;
3508
4290
  exports.DynamicIcon = DynamicIcon;
3509
4291
  exports.FooterAnimatedSocial = FooterAnimatedSocial;