@opensite/ui 1.3.9 → 1.4.1

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 (1215) hide show
  1. package/dist/about-company-profile.d.cts +3 -3
  2. package/dist/about-company-profile.d.ts +3 -3
  3. package/dist/about-culture-tabs.d.cts +3 -3
  4. package/dist/about-culture-tabs.d.ts +3 -3
  5. package/dist/about-developer-profile.d.cts +3 -3
  6. package/dist/about-developer-profile.d.ts +3 -3
  7. package/dist/about-developer-story.d.cts +3 -3
  8. package/dist/about-developer-story.d.ts +3 -3
  9. package/dist/about-expandable-values.d.cts +3 -3
  10. package/dist/about-expandable-values.d.ts +3 -3
  11. package/dist/about-interactive-tabs.d.cts +3 -3
  12. package/dist/about-interactive-tabs.d.ts +3 -3
  13. package/dist/about-location-info-hero.d.cts +3 -3
  14. package/dist/about-location-info-hero.d.ts +3 -3
  15. package/dist/about-minimal-story.d.cts +3 -3
  16. package/dist/about-minimal-story.d.ts +3 -3
  17. package/dist/about-mission-dual-image.d.cts +3 -3
  18. package/dist/about-mission-dual-image.d.ts +3 -3
  19. package/dist/about-mission-features.d.cts +3 -3
  20. package/dist/about-mission-features.d.ts +3 -3
  21. package/dist/about-mission-principles.d.cts +3 -3
  22. package/dist/about-mission-principles.d.ts +3 -3
  23. package/dist/about-network-spotlight.d.cts +3 -3
  24. package/dist/about-network-spotlight.d.ts +3 -3
  25. package/dist/about-split-hero.d.cts +3 -3
  26. package/dist/about-split-hero.d.ts +3 -3
  27. package/dist/about-startup-team.d.cts +3 -3
  28. package/dist/about-startup-team.d.ts +3 -3
  29. package/dist/about-stats-showcase.d.cts +3 -3
  30. package/dist/about-stats-showcase.d.ts +3 -3
  31. package/dist/about-stats-sidebar.d.cts +3 -3
  32. package/dist/about-stats-sidebar.d.ts +3 -3
  33. package/dist/about-story-expertise.d.cts +3 -3
  34. package/dist/about-story-expertise.d.ts +3 -3
  35. package/dist/about-story-gallery.d.cts +3 -3
  36. package/dist/about-story-gallery.d.ts +3 -3
  37. package/dist/about-story-hero.d.cts +3 -3
  38. package/dist/about-story-hero.d.ts +3 -3
  39. package/dist/about-streamline-team.d.cts +3 -3
  40. package/dist/about-streamline-team.d.ts +3 -3
  41. package/dist/about-vision-gallery.d.cts +3 -3
  42. package/dist/about-vision-gallery.d.ts +3 -3
  43. package/dist/alternating-blocks.d.cts +3 -3
  44. package/dist/alternating-blocks.d.ts +3 -3
  45. package/dist/animated-dialog.d.cts +3 -3
  46. package/dist/animated-dialog.d.ts +3 -3
  47. package/dist/article-breadcrumb-social.d.cts +3 -3
  48. package/dist/article-breadcrumb-social.d.ts +3 -3
  49. package/dist/article-chapters-author.d.cts +3 -3
  50. package/dist/article-chapters-author.d.ts +3 -3
  51. package/dist/article-compact-toc.d.cts +3 -3
  52. package/dist/article-compact-toc.d.ts +3 -3
  53. package/dist/article-hero-prose.d.cts +3 -3
  54. package/dist/article-hero-prose.d.ts +3 -3
  55. package/dist/article-sidebar-sticky.d.cts +3 -3
  56. package/dist/article-sidebar-sticky.d.ts +3 -3
  57. package/dist/article-split-animated.d.cts +3 -3
  58. package/dist/article-split-animated.d.ts +3 -3
  59. package/dist/article-toc-sidebar.d.cts +3 -3
  60. package/dist/article-toc-sidebar.d.ts +3 -3
  61. package/dist/auto-scroll-carousel.d.cts +3 -3
  62. package/dist/auto-scroll-carousel.d.ts +3 -3
  63. package/dist/badge.d.cts +1 -1
  64. package/dist/badge.d.ts +1 -1
  65. package/dist/banner-announcement-dismissible.d.cts +3 -3
  66. package/dist/banner-announcement-dismissible.d.ts +3 -3
  67. package/dist/banner-countdown-sale.d.cts +3 -3
  68. package/dist/banner-countdown-sale.d.ts +3 -3
  69. package/dist/banner-delivery-countdown.d.cts +3 -3
  70. package/dist/banner-delivery-countdown.d.ts +3 -3
  71. package/dist/banner-event-promo.d.cts +3 -3
  72. package/dist/banner-event-promo.d.ts +3 -3
  73. package/dist/banner-floating-offer.d.cts +3 -3
  74. package/dist/banner-floating-offer.d.ts +3 -3
  75. package/dist/banner-gdpr-rights.d.cts +3 -3
  76. package/dist/banner-gdpr-rights.d.ts +3 -3
  77. package/dist/banner-privacy-notice.d.cts +3 -3
  78. package/dist/banner-privacy-notice.d.ts +3 -3
  79. package/dist/banner-promo-cta.d.cts +3 -3
  80. package/dist/banner-promo-cta.d.ts +3 -3
  81. package/dist/banner-social-follow.d.cts +3 -3
  82. package/dist/banner-social-follow.d.ts +3 -3
  83. package/dist/banner-survey-incentive.d.cts +3 -3
  84. package/dist/banner-survey-incentive.d.ts +3 -3
  85. package/dist/{blocks-tmd_MRJv.d.cts → blocks-DP3Vofl4.d.cts} +1 -1
  86. package/dist/{blocks-DRE-f6cS.d.ts → blocks-XLPGq8A5.d.ts} +1 -1
  87. package/dist/blog-cards-read-time.d.cts +3 -3
  88. package/dist/blog-cards-read-time.d.ts +3 -3
  89. package/dist/blog-cards-tagline-cta.d.cts +3 -3
  90. package/dist/blog-cards-tagline-cta.d.ts +3 -3
  91. package/dist/blog-carousel-apple.d.cts +3 -3
  92. package/dist/blog-carousel-apple.d.ts +3 -3
  93. package/dist/blog-category-overlay.d.cts +3 -3
  94. package/dist/blog-category-overlay.d.ts +3 -3
  95. package/dist/blog-featured-popular.d.cts +3 -3
  96. package/dist/blog-featured-popular.d.ts +3 -3
  97. package/dist/blog-filtered-results.d.cts +3 -3
  98. package/dist/blog-filtered-results.d.ts +3 -3
  99. package/dist/blog-grid-author-cards.d.cts +3 -3
  100. package/dist/blog-grid-author-cards.d.ts +3 -3
  101. package/dist/blog-grid-nine-posts.d.cts +3 -3
  102. package/dist/blog-grid-nine-posts.d.ts +3 -3
  103. package/dist/blog-horizontal-cards.d.cts +3 -3
  104. package/dist/blog-horizontal-cards.d.ts +3 -3
  105. package/dist/blog-horizontal-timeline.d.cts +3 -3
  106. package/dist/blog-horizontal-timeline.d.ts +3 -3
  107. package/dist/blog-masonry-featured.d.cts +3 -3
  108. package/dist/blog-masonry-featured.d.ts +3 -3
  109. package/dist/blog-related-articles.d.cts +3 -3
  110. package/dist/blog-related-articles.d.ts +3 -3
  111. package/dist/blog-tech-insights.d.cts +3 -3
  112. package/dist/blog-tech-insights.d.ts +3 -3
  113. package/dist/blur-vignette-grid.d.cts +3 -3
  114. package/dist/blur-vignette-grid.d.ts +3 -3
  115. package/dist/{button-variants-8mtEHxev.d.cts → button-variants-CdNtNOuP.d.cts} +1 -1
  116. package/dist/{button-variants-8mtEHxev.d.ts → button-variants-CdNtNOuP.d.ts} +1 -1
  117. package/dist/button.d.cts +1 -1
  118. package/dist/button.d.ts +1 -1
  119. package/dist/carousel-animated-sections.d.cts +3 -3
  120. package/dist/carousel-animated-sections.d.ts +3 -3
  121. package/dist/carousel-auto-progress-slides.d.cts +3 -3
  122. package/dist/carousel-auto-progress-slides.d.ts +3 -3
  123. package/dist/carousel-autoplay-progress.d.cts +3 -3
  124. package/dist/carousel-autoplay-progress.d.ts +3 -3
  125. package/dist/carousel-badge-cards.d.cts +3 -3
  126. package/dist/carousel-badge-cards.d.ts +3 -3
  127. package/dist/carousel-demo-link.d.cts +3 -3
  128. package/dist/carousel-demo-link.d.ts +3 -3
  129. package/dist/carousel-feature-badge.d.cts +3 -3
  130. package/dist/carousel-feature-badge.d.ts +3 -3
  131. package/dist/carousel-fullscreen-scroll-fx.d.cts +3 -3
  132. package/dist/carousel-fullscreen-scroll-fx.d.ts +3 -3
  133. package/dist/carousel-gallery-thumbnails.d.cts +3 -3
  134. package/dist/carousel-gallery-thumbnails.d.ts +3 -3
  135. package/dist/carousel-gradient-overlay.d.cts +3 -3
  136. package/dist/carousel-gradient-overlay.d.ts +3 -3
  137. package/dist/carousel-gradient-text.d.cts +3 -3
  138. package/dist/carousel-gradient-text.d.ts +3 -3
  139. package/dist/carousel-horizontal-cards.d.cts +3 -3
  140. package/dist/carousel-horizontal-cards.d.ts +3 -3
  141. package/dist/carousel-icon-sidebar.d.cts +3 -3
  142. package/dist/carousel-icon-sidebar.d.ts +3 -3
  143. package/dist/carousel-icon-tabs.d.cts +3 -3
  144. package/dist/carousel-icon-tabs.d.ts +3 -3
  145. package/dist/carousel-image-hero.d.cts +3 -3
  146. package/dist/carousel-image-hero.d.ts +3 -3
  147. package/dist/carousel-multi-step-showcase.d.cts +3 -3
  148. package/dist/carousel-multi-step-showcase.d.ts +3 -3
  149. package/dist/carousel-portfolio-hero.d.cts +3 -3
  150. package/dist/carousel-portfolio-hero.d.ts +3 -3
  151. package/dist/carousel-product-feature-showcase.d.cts +3 -3
  152. package/dist/carousel-product-feature-showcase.d.ts +3 -3
  153. package/dist/carousel-progress-slider.d.cts +3 -3
  154. package/dist/carousel-progress-slider.d.ts +3 -3
  155. package/dist/carousel-scale-focus.d.cts +3 -3
  156. package/dist/carousel-scale-focus.d.ts +3 -3
  157. package/dist/carousel-scrolling-feature-showcase.d.cts +3 -3
  158. package/dist/carousel-scrolling-feature-showcase.d.ts +3 -3
  159. package/dist/carousel-sidebar-resources.d.cts +3 -3
  160. package/dist/carousel-sidebar-resources.d.ts +3 -3
  161. package/dist/carousel-tabs-content.d.cts +3 -3
  162. package/dist/carousel-tabs-content.d.ts +3 -3
  163. package/dist/case-studies-featured-border.d.cts +3 -3
  164. package/dist/case-studies-featured-border.d.ts +3 -3
  165. package/dist/case-studies-image-grid.d.cts +3 -3
  166. package/dist/case-studies-image-grid.d.ts +3 -3
  167. package/dist/case-studies-stats-card.d.cts +3 -3
  168. package/dist/case-studies-stats-card.d.ts +3 -3
  169. package/dist/case-studies-testimonial-stats.d.cts +3 -3
  170. package/dist/case-studies-testimonial-stats.d.ts +3 -3
  171. package/dist/case-study-prose-sidebar.d.cts +3 -3
  172. package/dist/case-study-prose-sidebar.d.ts +3 -3
  173. package/dist/case-study-stats-metrics.d.cts +3 -3
  174. package/dist/case-study-stats-metrics.d.ts +3 -3
  175. package/dist/case-study-toc-social-sidebar.d.cts +3 -3
  176. package/dist/case-study-toc-social-sidebar.d.ts +3 -3
  177. package/dist/{community-initiatives-hxnFe3w6.d.ts → community-initiatives-DmVsuoHE.d.ts} +1 -1
  178. package/dist/{community-initiatives-CPyEa7IX.d.cts → community-initiatives-r_NhxVet.d.cts} +1 -1
  179. package/dist/community-initiatives.d.cts +3 -3
  180. package/dist/community-initiatives.d.ts +3 -3
  181. package/dist/comparison-ai-models.d.cts +3 -3
  182. package/dist/comparison-ai-models.d.ts +3 -3
  183. package/dist/comparison-feature-cards.d.cts +3 -3
  184. package/dist/comparison-feature-cards.d.ts +3 -3
  185. package/dist/comparison-feature-grid.d.cts +3 -3
  186. package/dist/comparison-feature-grid.d.ts +3 -3
  187. package/dist/comparison-grid-badges.d.cts +3 -3
  188. package/dist/comparison-grid-badges.d.ts +3 -3
  189. package/dist/comparison-image-cards.d.cts +3 -3
  190. package/dist/comparison-image-cards.d.ts +3 -3
  191. package/dist/comparison-legacy-modern.d.cts +3 -3
  192. package/dist/comparison-legacy-modern.d.ts +3 -3
  193. package/dist/comparison-metrics-rows.d.cts +3 -3
  194. package/dist/comparison-metrics-rows.d.ts +3 -3
  195. package/dist/comparison-table-tabs.d.cts +3 -3
  196. package/dist/comparison-table-tabs.d.ts +3 -3
  197. package/dist/comparison-table-tooltips.d.cts +3 -3
  198. package/dist/comparison-table-tooltips.d.ts +3 -3
  199. package/dist/comparison-table-two-column.d.cts +3 -3
  200. package/dist/comparison-table-two-column.d.ts +3 -3
  201. package/dist/components.cjs +735 -232
  202. package/dist/components.d.cts +3 -3
  203. package/dist/components.d.ts +3 -3
  204. package/dist/components.js +735 -232
  205. package/dist/contact-callback.d.cts +3 -3
  206. package/dist/contact-callback.d.ts +3 -3
  207. package/dist/contact-card.d.cts +3 -3
  208. package/dist/contact-card.d.ts +3 -3
  209. package/dist/contact-careers.d.cts +3 -3
  210. package/dist/contact-careers.d.ts +3 -3
  211. package/dist/contact-catering.d.cts +3 -3
  212. package/dist/contact-catering.d.ts +3 -3
  213. package/dist/contact-consultation.d.cts +3 -3
  214. package/dist/contact-consultation.d.ts +3 -3
  215. package/dist/contact-dark.d.cts +3 -3
  216. package/dist/contact-dark.d.ts +3 -3
  217. package/dist/contact-demo.d.cts +3 -3
  218. package/dist/contact-demo.d.ts +3 -3
  219. package/dist/contact-emergency.d.cts +3 -3
  220. package/dist/contact-emergency.d.ts +3 -3
  221. package/dist/contact-event.d.cts +3 -3
  222. package/dist/contact-event.d.ts +3 -3
  223. package/dist/contact-faq.d.cts +3 -3
  224. package/dist/contact-faq.d.ts +3 -3
  225. package/dist/contact-feedback.d.cts +3 -3
  226. package/dist/contact-feedback.d.ts +3 -3
  227. package/dist/contact-fitness.d.cts +3 -3
  228. package/dist/contact-fitness.d.ts +3 -3
  229. package/dist/contact-floating-banner.d.cts +3 -3
  230. package/dist/contact-floating-banner.d.ts +3 -3
  231. package/dist/contact-guest.d.cts +3 -3
  232. package/dist/contact-guest.d.ts +3 -3
  233. package/dist/contact-help-center.d.cts +3 -3
  234. package/dist/contact-help-center.d.ts +3 -3
  235. package/dist/contact-image.d.cts +3 -3
  236. package/dist/contact-image.d.ts +3 -3
  237. package/dist/contact-insurance.d.cts +3 -3
  238. package/dist/contact-insurance.d.ts +3 -3
  239. package/dist/contact-interview.d.cts +3 -3
  240. package/dist/contact-interview.d.ts +3 -3
  241. package/dist/contact-locations.d.cts +3 -3
  242. package/dist/contact-locations.d.ts +3 -3
  243. package/dist/contact-maintenance.d.cts +3 -3
  244. package/dist/contact-maintenance.d.ts +3 -3
  245. package/dist/contact-map.d.cts +3 -3
  246. package/dist/contact-map.d.ts +3 -3
  247. package/dist/contact-minimal.d.cts +3 -3
  248. package/dist/contact-minimal.d.ts +3 -3
  249. package/dist/contact-moving.d.cts +3 -3
  250. package/dist/contact-moving.d.ts +3 -3
  251. package/dist/contact-multistep.d.cts +3 -3
  252. package/dist/contact-multistep.d.ts +3 -3
  253. package/dist/contact-partnership.d.cts +3 -3
  254. package/dist/contact-partnership.d.ts +3 -3
  255. package/dist/contact-photography.d.cts +3 -3
  256. package/dist/contact-photography.d.ts +3 -3
  257. package/dist/contact-press.d.cts +3 -3
  258. package/dist/contact-press.d.ts +3 -3
  259. package/dist/contact-quote.d.cts +3 -3
  260. package/dist/contact-quote.d.ts +3 -3
  261. package/dist/contact-referral.d.cts +3 -3
  262. package/dist/contact-referral.d.ts +3 -3
  263. package/dist/contact-report.d.cts +3 -3
  264. package/dist/contact-report.d.ts +3 -3
  265. package/dist/contact-reservation.d.cts +3 -3
  266. package/dist/contact-reservation.d.ts +3 -3
  267. package/dist/contact-retreat.d.cts +3 -3
  268. package/dist/contact-retreat.d.ts +3 -3
  269. package/dist/contact-rsvp.d.cts +3 -3
  270. package/dist/contact-rsvp.d.ts +3 -3
  271. package/dist/contact-sales.d.cts +3 -3
  272. package/dist/contact-sales.d.ts +3 -3
  273. package/dist/contact-schedule.d.cts +3 -3
  274. package/dist/contact-schedule.d.ts +3 -3
  275. package/dist/contact-sponsorship.d.cts +3 -3
  276. package/dist/contact-sponsorship.d.ts +3 -3
  277. package/dist/contact-support.d.cts +3 -3
  278. package/dist/contact-support.d.ts +3 -3
  279. package/dist/contact-tenant.d.cts +3 -3
  280. package/dist/contact-tenant.d.ts +3 -3
  281. package/dist/contact-vendor.d.cts +3 -3
  282. package/dist/contact-vendor.d.ts +3 -3
  283. package/dist/contact-volunteer.d.cts +3 -3
  284. package/dist/contact-volunteer.d.ts +3 -3
  285. package/dist/contact-warranty.d.cts +3 -3
  286. package/dist/contact-warranty.d.ts +3 -3
  287. package/dist/contact-wedding.d.cts +3 -3
  288. package/dist/contact-wedding.d.ts +3 -3
  289. package/dist/container.d.cts +3 -3
  290. package/dist/container.d.ts +3 -3
  291. package/dist/cta-accent-background.d.cts +3 -3
  292. package/dist/cta-accent-background.d.ts +3 -3
  293. package/dist/cta-app-download-newsletter.d.cts +3 -3
  294. package/dist/cta-app-download-newsletter.d.ts +3 -3
  295. package/dist/cta-background-icon-badge.d.cts +3 -3
  296. package/dist/cta-background-icon-badge.d.ts +3 -3
  297. package/dist/cta-case-study-testimonial.d.cts +3 -3
  298. package/dist/cta-case-study-testimonial.d.ts +3 -3
  299. package/dist/cta-documentation-links.d.cts +3 -3
  300. package/dist/cta-documentation-links.d.ts +3 -3
  301. package/dist/cta-enterprise-dark-features.d.cts +3 -3
  302. package/dist/cta-enterprise-dark-features.d.ts +3 -3
  303. package/dist/cta-enterprise-split.d.cts +3 -3
  304. package/dist/cta-enterprise-split.d.ts +3 -3
  305. package/dist/cta-feature-cards-grid.d.cts +3 -3
  306. package/dist/cta-feature-cards-grid.d.ts +3 -3
  307. package/dist/cta-feature-checklist.d.cts +3 -3
  308. package/dist/cta-feature-checklist.d.ts +3 -3
  309. package/dist/cta-feature-list.d.cts +3 -3
  310. package/dist/cta-feature-list.d.ts +3 -3
  311. package/dist/cta-fullwidth-background.d.cts +3 -3
  312. package/dist/cta-fullwidth-background.d.ts +3 -3
  313. package/dist/cta-gradient-logos-floating.d.cts +3 -3
  314. package/dist/cta-gradient-logos-floating.d.ts +3 -3
  315. package/dist/cta-gradient-stats-hero.d.cts +3 -3
  316. package/dist/cta-gradient-stats-hero.d.ts +3 -3
  317. package/dist/cta-hero-feature-cards.d.cts +3 -3
  318. package/dist/cta-hero-feature-cards.d.ts +3 -3
  319. package/dist/cta-image-overlay-arrow.d.cts +3 -3
  320. package/dist/cta-image-overlay-arrow.d.ts +3 -3
  321. package/dist/cta-image-overlay-centered.d.cts +3 -3
  322. package/dist/cta-image-overlay-centered.d.ts +3 -3
  323. package/dist/cta-minimal-separator.d.cts +3 -3
  324. package/dist/cta-minimal-separator.d.ts +3 -3
  325. package/dist/cta-newsletter-features.d.cts +3 -3
  326. package/dist/cta-newsletter-features.d.ts +3 -3
  327. package/dist/cta-pattern-background.d.cts +3 -3
  328. package/dist/cta-pattern-background.d.ts +3 -3
  329. package/dist/cta-platform-demo.d.cts +3 -3
  330. package/dist/cta-platform-demo.d.ts +3 -3
  331. package/dist/cta-simple-centered.d.cts +3 -3
  332. package/dist/cta-simple-centered.d.ts +3 -3
  333. package/dist/cta-split-gradient-image.d.cts +3 -3
  334. package/dist/cta-split-gradient-image.d.ts +3 -3
  335. package/dist/cta-split-image-logos.d.cts +3 -3
  336. package/dist/cta-split-image-logos.d.ts +3 -3
  337. package/dist/cta-split-image.d.cts +3 -3
  338. package/dist/cta-split-image.d.ts +3 -3
  339. package/dist/cta-stacked-cards.d.cts +3 -3
  340. package/dist/cta-stacked-cards.d.ts +3 -3
  341. package/dist/cta-video-background-hero.d.cts +3 -3
  342. package/dist/cta-video-background-hero.d.ts +3 -3
  343. package/dist/cta-workflow-tabs.d.cts +3 -3
  344. package/dist/cta-workflow-tabs.d.ts +3 -3
  345. package/dist/expandable-case-study-cards.d.cts +3 -3
  346. package/dist/expandable-case-study-cards.d.ts +3 -3
  347. package/dist/faq-badge-support.d.cts +3 -3
  348. package/dist/faq-badge-support.d.ts +3 -3
  349. package/dist/faq-bordered-badge.d.cts +3 -3
  350. package/dist/faq-bordered-badge.d.ts +3 -3
  351. package/dist/faq-card-categories.d.cts +3 -3
  352. package/dist/faq-card-categories.d.ts +3 -3
  353. package/dist/faq-categorized-sections.d.cts +3 -3
  354. package/dist/faq-categorized-sections.d.ts +3 -3
  355. package/dist/faq-centered-accordion.d.cts +3 -3
  356. package/dist/faq-centered-accordion.d.ts +3 -3
  357. package/dist/faq-gradient-categories.d.cts +3 -3
  358. package/dist/faq-gradient-categories.d.ts +3 -3
  359. package/dist/faq-icon-benefits.d.cts +3 -3
  360. package/dist/faq-icon-benefits.d.ts +3 -3
  361. package/dist/faq-muted-cards.d.cts +3 -3
  362. package/dist/faq-muted-cards.d.ts +3 -3
  363. package/dist/faq-numbered-grid.d.cts +3 -3
  364. package/dist/faq-numbered-grid.d.ts +3 -3
  365. package/dist/faq-numbered-list.d.cts +3 -3
  366. package/dist/faq-numbered-list.d.ts +3 -3
  367. package/dist/faq-profile-sidebar.d.cts +3 -3
  368. package/dist/faq-profile-sidebar.d.ts +3 -3
  369. package/dist/faq-rounded-cards.d.cts +3 -3
  370. package/dist/faq-rounded-cards.d.ts +3 -3
  371. package/dist/faq-sidebar-navigation.d.cts +3 -3
  372. package/dist/faq-sidebar-navigation.d.ts +3 -3
  373. package/dist/faq-simple-accordion.d.cts +3 -3
  374. package/dist/faq-simple-accordion.d.ts +3 -3
  375. package/dist/faq-split-help.d.cts +3 -3
  376. package/dist/faq-split-help.d.ts +3 -3
  377. package/dist/faq-split-hero.d.cts +3 -3
  378. package/dist/faq-split-hero.d.ts +3 -3
  379. package/dist/faq-static-list.d.cts +3 -3
  380. package/dist/faq-static-list.d.ts +3 -3
  381. package/dist/feature-accordion-image.d.cts +3 -3
  382. package/dist/feature-accordion-image.d.ts +3 -3
  383. package/dist/feature-animated-carousel.d.cts +3 -3
  384. package/dist/feature-animated-carousel.d.ts +3 -3
  385. package/dist/feature-badge-grid-six.d.cts +3 -3
  386. package/dist/feature-badge-grid-six.d.ts +3 -3
  387. package/dist/feature-bento-image-grid.cjs +219 -114
  388. package/dist/feature-bento-image-grid.d.cts +3 -3
  389. package/dist/feature-bento-image-grid.d.ts +3 -3
  390. package/dist/feature-bento-image-grid.js +219 -114
  391. package/dist/feature-bento-utilities.d.cts +3 -3
  392. package/dist/feature-bento-utilities.d.ts +3 -3
  393. package/dist/feature-capabilities-grid.d.cts +3 -3
  394. package/dist/feature-capabilities-grid.d.ts +3 -3
  395. package/dist/feature-card-grid-linked.d.cts +3 -3
  396. package/dist/feature-card-grid-linked.d.ts +3 -3
  397. package/dist/feature-carousel-progress.d.cts +3 -3
  398. package/dist/feature-carousel-progress.d.ts +3 -3
  399. package/dist/feature-category-image-cards.d.cts +3 -3
  400. package/dist/feature-category-image-cards.d.ts +3 -3
  401. package/dist/feature-checklist-image.d.cts +3 -3
  402. package/dist/feature-checklist-image.d.ts +3 -3
  403. package/dist/feature-checklist-three-column.d.cts +3 -3
  404. package/dist/feature-checklist-three-column.d.ts +3 -3
  405. package/dist/feature-icon-grid-accent.d.cts +3 -3
  406. package/dist/feature-icon-grid-accent.d.ts +3 -3
  407. package/dist/feature-icon-grid-bordered.cjs +1 -1
  408. package/dist/feature-icon-grid-bordered.d.cts +3 -3
  409. package/dist/feature-icon-grid-bordered.d.ts +3 -3
  410. package/dist/feature-icon-grid-bordered.js +1 -1
  411. package/dist/feature-icon-grid-muted.d.cts +3 -3
  412. package/dist/feature-icon-grid-muted.d.ts +3 -3
  413. package/dist/feature-icon-tabs-content.d.cts +3 -3
  414. package/dist/feature-icon-tabs-content.d.ts +3 -3
  415. package/dist/feature-image-cards-three-column.d.cts +3 -3
  416. package/dist/feature-image-cards-three-column.d.ts +3 -3
  417. package/dist/feature-image-overlay-badge.d.cts +3 -3
  418. package/dist/feature-image-overlay-badge.d.ts +3 -3
  419. package/dist/feature-integration-cards.d.cts +3 -3
  420. package/dist/feature-integration-cards.d.ts +3 -3
  421. package/dist/feature-numbered-cards.d.cts +3 -3
  422. package/dist/feature-numbered-cards.d.ts +3 -3
  423. package/dist/feature-pattern-grid-links.d.cts +3 -3
  424. package/dist/feature-pattern-grid-links.d.ts +3 -3
  425. package/dist/feature-showcase.cjs +87 -210
  426. package/dist/feature-showcase.d.cts +4 -4
  427. package/dist/feature-showcase.d.ts +4 -4
  428. package/dist/feature-showcase.js +82 -202
  429. package/dist/feature-split-image-reverse.d.cts +3 -3
  430. package/dist/feature-split-image-reverse.d.ts +3 -3
  431. package/dist/feature-split-image.d.cts +3 -3
  432. package/dist/feature-split-image.d.ts +3 -3
  433. package/dist/feature-stats-highlight.d.cts +3 -3
  434. package/dist/feature-stats-highlight.d.ts +3 -3
  435. package/dist/feature-tabbed-content-image.d.cts +3 -3
  436. package/dist/feature-tabbed-content-image.d.ts +3 -3
  437. package/dist/feature-three-column-values.d.cts +3 -3
  438. package/dist/feature-three-column-values.d.ts +3 -3
  439. package/dist/feature-utility-cards-grid.d.cts +3 -3
  440. package/dist/feature-utility-cards-grid.d.ts +3 -3
  441. package/dist/footer-accordion-social.cjs +548 -5
  442. package/dist/footer-accordion-social.d.cts +4 -4
  443. package/dist/footer-accordion-social.d.ts +4 -4
  444. package/dist/footer-accordion-social.js +549 -6
  445. package/dist/footer-animated-social.cjs +544 -20
  446. package/dist/footer-animated-social.d.cts +6 -10
  447. package/dist/footer-animated-social.d.ts +6 -10
  448. package/dist/footer-animated-social.js +544 -20
  449. package/dist/footer-background-card.cjs +551 -24
  450. package/dist/footer-background-card.d.cts +6 -10
  451. package/dist/footer-background-card.d.ts +6 -10
  452. package/dist/footer-background-card.js +551 -24
  453. package/dist/footer-brand-description.cjs +552 -23
  454. package/dist/footer-brand-description.d.cts +10 -10
  455. package/dist/footer-brand-description.d.ts +10 -10
  456. package/dist/footer-brand-description.js +553 -24
  457. package/dist/footer-brand-links-contact.cjs +613 -42
  458. package/dist/footer-brand-links-contact.d.cts +6 -10
  459. package/dist/footer-brand-links-contact.d.ts +6 -10
  460. package/dist/footer-brand-links-contact.js +613 -42
  461. package/dist/footer-comprehensive-links.cjs +580 -70
  462. package/dist/footer-comprehensive-links.d.cts +11 -9
  463. package/dist/footer-comprehensive-links.d.ts +11 -9
  464. package/dist/footer-comprehensive-links.js +581 -71
  465. package/dist/footer-contact-card.cjs +547 -52
  466. package/dist/footer-contact-card.d.cts +6 -10
  467. package/dist/footer-contact-card.d.ts +6 -10
  468. package/dist/footer-contact-card.js +548 -53
  469. package/dist/footer-cta-banner.cjs +549 -22
  470. package/dist/footer-cta-banner.d.cts +6 -10
  471. package/dist/footer-cta-banner.d.ts +6 -10
  472. package/dist/footer-cta-banner.js +550 -23
  473. package/dist/footer-cta-social.cjs +546 -17
  474. package/dist/footer-cta-social.d.cts +6 -10
  475. package/dist/footer-cta-social.d.ts +6 -10
  476. package/dist/footer-cta-social.js +546 -17
  477. package/dist/footer-info-cards-accordion.cjs +551 -8
  478. package/dist/footer-info-cards-accordion.d.cts +5 -5
  479. package/dist/footer-info-cards-accordion.d.ts +5 -5
  480. package/dist/footer-info-cards-accordion.js +552 -9
  481. package/dist/footer-links-grid.cjs +541 -12
  482. package/dist/footer-links-grid.d.cts +5 -9
  483. package/dist/footer-links-grid.d.ts +5 -9
  484. package/dist/footer-links-grid.js +542 -13
  485. package/dist/footer-nav-social.cjs +546 -17
  486. package/dist/footer-nav-social.d.cts +6 -10
  487. package/dist/footer-nav-social.d.ts +6 -10
  488. package/dist/footer-nav-social.js +546 -17
  489. package/dist/footer-newsletter-contact.cjs +546 -5
  490. package/dist/footer-newsletter-contact.d.cts +3 -3
  491. package/dist/footer-newsletter-contact.d.ts +3 -3
  492. package/dist/footer-newsletter-contact.js +546 -5
  493. package/dist/footer-newsletter-grid.cjs +551 -8
  494. package/dist/footer-newsletter-grid.d.cts +4 -6
  495. package/dist/footer-newsletter-grid.d.ts +4 -6
  496. package/dist/footer-newsletter-grid.js +551 -8
  497. package/dist/footer-newsletter-minimal.cjs +545 -15
  498. package/dist/footer-newsletter-minimal.d.cts +6 -10
  499. package/dist/footer-newsletter-minimal.d.ts +6 -10
  500. package/dist/footer-newsletter-minimal.js +545 -15
  501. package/dist/footer-simple-centered.cjs +558 -30
  502. package/dist/footer-simple-centered.d.cts +10 -10
  503. package/dist/footer-simple-centered.d.ts +10 -10
  504. package/dist/footer-simple-centered.js +558 -30
  505. package/dist/footer-social-apps.cjs +557 -49
  506. package/dist/footer-social-apps.d.cts +3 -3
  507. package/dist/footer-social-apps.d.ts +3 -3
  508. package/dist/footer-social-apps.js +557 -49
  509. package/dist/footer-social-newsletter.cjs +542 -13
  510. package/dist/footer-social-newsletter.d.cts +6 -10
  511. package/dist/footer-social-newsletter.d.ts +6 -10
  512. package/dist/footer-social-newsletter.js +543 -14
  513. package/dist/footer-split-image-accordion.cjs +551 -8
  514. package/dist/footer-split-image-accordion.d.cts +5 -5
  515. package/dist/footer-split-image-accordion.d.ts +5 -5
  516. package/dist/footer-split-image-accordion.js +552 -9
  517. package/dist/hero-ad-campaign-expert.d.cts +3 -3
  518. package/dist/hero-ad-campaign-expert.d.ts +3 -3
  519. package/dist/hero-adaptable-product-grid.d.cts +3 -3
  520. package/dist/hero-adaptable-product-grid.d.ts +3 -3
  521. package/dist/hero-agency-animated-images.d.cts +3 -3
  522. package/dist/hero-agency-animated-images.d.ts +3 -3
  523. package/dist/hero-ai-powered-carousel.d.cts +3 -3
  524. package/dist/hero-ai-powered-carousel.d.ts +3 -3
  525. package/dist/hero-announcement-badge.d.cts +3 -3
  526. package/dist/hero-announcement-badge.d.ts +3 -3
  527. package/dist/hero-architecture-fullscreen.d.cts +3 -3
  528. package/dist/hero-architecture-fullscreen.d.ts +3 -3
  529. package/dist/hero-badge-image-split.d.cts +3 -3
  530. package/dist/hero-badge-image-split.d.ts +3 -3
  531. package/dist/hero-badge-shadow-overlay.d.cts +3 -3
  532. package/dist/hero-badge-shadow-overlay.d.ts +3 -3
  533. package/dist/hero-billing-platform-logos.d.cts +3 -3
  534. package/dist/hero-billing-platform-logos.d.ts +3 -3
  535. package/dist/hero-business-carousel-dots.d.cts +3 -3
  536. package/dist/hero-business-carousel-dots.d.ts +3 -3
  537. package/dist/hero-business-operations-mosaic.d.cts +3 -3
  538. package/dist/hero-business-operations-mosaic.d.ts +3 -3
  539. package/dist/hero-centered-gradient-cta.d.cts +3 -3
  540. package/dist/hero-centered-gradient-cta.d.ts +3 -3
  541. package/dist/hero-centered-image-grid.d.cts +3 -3
  542. package/dist/hero-centered-image-grid.d.ts +3 -3
  543. package/dist/hero-centered-screenshot.d.cts +3 -3
  544. package/dist/hero-centered-screenshot.d.ts +3 -3
  545. package/dist/hero-coming-soon-countdown.d.cts +3 -3
  546. package/dist/hero-coming-soon-countdown.d.ts +3 -3
  547. package/dist/hero-community-survey-cta.d.cts +3 -3
  548. package/dist/hero-community-survey-cta.d.ts +3 -3
  549. package/dist/hero-conversation-intelligence.d.cts +3 -3
  550. package/dist/hero-conversation-intelligence.d.ts +3 -3
  551. package/dist/hero-conversion-video-play.d.cts +3 -3
  552. package/dist/hero-conversion-video-play.d.ts +3 -3
  553. package/dist/hero-creative-studio-stacked.d.cts +3 -3
  554. package/dist/hero-creative-studio-stacked.d.ts +3 -3
  555. package/dist/hero-crm-streamlined.d.cts +3 -3
  556. package/dist/hero-crm-streamlined.d.ts +3 -3
  557. package/dist/hero-customer-support-layered.d.cts +3 -3
  558. package/dist/hero-customer-support-layered.d.ts +3 -3
  559. package/dist/hero-dashed-border-features.d.cts +3 -3
  560. package/dist/hero-dashed-border-features.d.ts +3 -3
  561. package/dist/hero-design-carousel-portfolio.d.cts +3 -3
  562. package/dist/hero-design-carousel-portfolio.d.ts +3 -3
  563. package/dist/hero-design-showcase-logos.d.cts +3 -3
  564. package/dist/hero-design-showcase-logos.d.ts +3 -3
  565. package/dist/hero-design-system-3d.d.cts +3 -3
  566. package/dist/hero-design-system-3d.d.ts +3 -3
  567. package/dist/hero-developer-tools-code.d.cts +3 -3
  568. package/dist/hero-developer-tools-code.d.ts +3 -3
  569. package/dist/hero-digital-agency-fullscreen.d.cts +3 -3
  570. package/dist/hero-digital-agency-fullscreen.d.ts +3 -3
  571. package/dist/hero-ecommerce-product-showcase.d.cts +3 -3
  572. package/dist/hero-ecommerce-product-showcase.d.ts +3 -3
  573. package/dist/hero-enterprise-security.d.cts +3 -3
  574. package/dist/hero-enterprise-security.d.ts +3 -3
  575. package/dist/hero-event-registration.d.cts +3 -3
  576. package/dist/hero-event-registration.d.ts +3 -3
  577. package/dist/hero-feature-cards-grid.d.cts +3 -3
  578. package/dist/hero-feature-cards-grid.d.ts +3 -3
  579. package/dist/hero-floating-images.d.cts +3 -3
  580. package/dist/hero-floating-images.d.ts +3 -3
  581. package/dist/hero-fullscreen-background-image.d.cts +3 -3
  582. package/dist/hero-fullscreen-background-image.d.ts +3 -3
  583. package/dist/hero-fullscreen-logo-cta.d.cts +3 -3
  584. package/dist/hero-fullscreen-logo-cta.d.ts +3 -3
  585. package/dist/hero-gradient-avatars-rating.d.cts +3 -3
  586. package/dist/hero-gradient-avatars-rating.d.ts +3 -3
  587. package/dist/hero-gradient-client-focused.d.cts +3 -3
  588. package/dist/hero-gradient-client-focused.d.ts +3 -3
  589. package/dist/hero-grid-pattern-efficiency.d.cts +3 -3
  590. package/dist/hero-grid-pattern-efficiency.d.ts +3 -3
  591. package/dist/hero-grid-pattern-solutions.d.cts +3 -3
  592. package/dist/hero-grid-pattern-solutions.d.ts +3 -3
  593. package/dist/hero-hiring-animated-text.d.cts +3 -3
  594. package/dist/hero-hiring-animated-text.d.ts +3 -3
  595. package/dist/hero-image-left-content.d.cts +3 -3
  596. package/dist/hero-image-left-content.d.ts +3 -3
  597. package/dist/hero-image-slider.d.cts +3 -3
  598. package/dist/hero-image-slider.d.ts +3 -3
  599. package/dist/hero-innovation-image-grid.d.cts +3 -3
  600. package/dist/hero-innovation-image-grid.d.ts +3 -3
  601. package/dist/hero-logo-centered-screenshot.d.cts +3 -3
  602. package/dist/hero-logo-centered-screenshot.d.ts +3 -3
  603. package/dist/hero-marketplace-scattered-images.d.cts +3 -3
  604. package/dist/hero-marketplace-scattered-images.d.ts +3 -3
  605. package/dist/hero-mental-health-team.d.cts +3 -3
  606. package/dist/hero-mental-health-team.d.ts +3 -3
  607. package/dist/hero-mentorship-video-split.d.cts +3 -3
  608. package/dist/hero-mentorship-video-split.d.ts +3 -3
  609. package/dist/hero-minimal-centered-dark.d.cts +3 -3
  610. package/dist/hero-minimal-centered-dark.d.ts +3 -3
  611. package/dist/hero-mobile-app-download.d.cts +3 -3
  612. package/dist/hero-mobile-app-download.d.ts +3 -3
  613. package/dist/hero-newsletter-minimal.d.cts +3 -3
  614. package/dist/hero-newsletter-minimal.d.ts +3 -3
  615. package/dist/hero-overlay-cta-grid.d.cts +3 -3
  616. package/dist/hero-overlay-cta-grid.d.ts +3 -3
  617. package/dist/hero-pattern-badge-logos.d.cts +3 -3
  618. package/dist/hero-pattern-badge-logos.d.ts +3 -3
  619. package/dist/hero-pattern-logo-tech-stack.d.cts +3 -3
  620. package/dist/hero-pattern-logo-tech-stack.d.ts +3 -3
  621. package/dist/hero-platform-features-grid.d.cts +3 -3
  622. package/dist/hero-platform-features-grid.d.ts +3 -3
  623. package/dist/hero-portfolio-creative.d.cts +3 -3
  624. package/dist/hero-portfolio-creative.d.ts +3 -3
  625. package/dist/hero-premium-split-avatars.d.cts +3 -3
  626. package/dist/hero-premium-split-avatars.d.ts +3 -3
  627. package/dist/hero-presentation-platform-video.d.cts +3 -3
  628. package/dist/hero-presentation-platform-video.d.ts +3 -3
  629. package/dist/hero-pricing-comparison.d.cts +3 -3
  630. package/dist/hero-pricing-comparison.d.ts +3 -3
  631. package/dist/hero-product-showcase-floating.d.cts +3 -3
  632. package/dist/hero-product-showcase-floating.d.ts +3 -3
  633. package/dist/hero-productivity-launcher-video.d.cts +3 -3
  634. package/dist/hero-productivity-launcher-video.d.ts +3 -3
  635. package/dist/hero-saas-dashboard-preview.d.cts +3 -3
  636. package/dist/hero-saas-dashboard-preview.d.ts +3 -3
  637. package/dist/hero-shared-inbox-layered.d.cts +3 -3
  638. package/dist/hero-shared-inbox-layered.d.ts +3 -3
  639. package/dist/hero-simple-centered-image.d.cts +3 -3
  640. package/dist/hero-simple-centered-image.d.ts +3 -3
  641. package/dist/hero-software-growth-video-dialog.d.cts +3 -3
  642. package/dist/hero-software-growth-video-dialog.d.ts +3 -3
  643. package/dist/hero-spiral-pattern-cards.d.cts +3 -3
  644. package/dist/hero-spiral-pattern-cards.d.ts +3 -3
  645. package/dist/hero-split-geometric-shapes.d.cts +3 -3
  646. package/dist/hero-split-geometric-shapes.d.ts +3 -3
  647. package/dist/hero-split-icon-cards.d.cts +3 -3
  648. package/dist/hero-split-icon-cards.d.ts +3 -3
  649. package/dist/hero-split-image-newsletter.d.cts +3 -3
  650. package/dist/hero-split-image-newsletter.d.ts +3 -3
  651. package/dist/hero-split-spiral-shapes.d.cts +3 -3
  652. package/dist/hero-split-spiral-shapes.d.ts +3 -3
  653. package/dist/hero-startup-launch-cta.d.cts +3 -3
  654. package/dist/hero-startup-launch-cta.d.ts +3 -3
  655. package/dist/hero-stats-social-proof.d.cts +3 -3
  656. package/dist/hero-stats-social-proof.d.ts +3 -3
  657. package/dist/hero-task-timer-animated.d.cts +3 -3
  658. package/dist/hero-task-timer-animated.d.ts +3 -3
  659. package/dist/hero-tech-carousel.d.cts +3 -3
  660. package/dist/hero-tech-carousel.d.ts +3 -3
  661. package/dist/hero-testimonial-image-grid.d.cts +3 -3
  662. package/dist/hero-testimonial-image-grid.d.ts +3 -3
  663. package/dist/hero-therapy-testimonial-grid.d.cts +3 -3
  664. package/dist/hero-therapy-testimonial-grid.d.ts +3 -3
  665. package/dist/hero-ui-library-showcase.d.cts +3 -3
  666. package/dist/hero-ui-library-showcase.d.ts +3 -3
  667. package/dist/hero-video-background-dark.d.cts +3 -3
  668. package/dist/hero-video-background-dark.d.ts +3 -3
  669. package/dist/hero-video-dialog-gradient.d.cts +3 -3
  670. package/dist/hero-video-dialog-gradient.d.ts +3 -3
  671. package/dist/hero-video-overlay-stars.d.cts +3 -3
  672. package/dist/hero-video-overlay-stars.d.ts +3 -3
  673. package/dist/hero-welcome-asymmetric-images.d.cts +3 -3
  674. package/dist/hero-welcome-asymmetric-images.d.ts +3 -3
  675. package/dist/image-slider.d.cts +2 -2
  676. package/dist/image-slider.d.ts +2 -2
  677. package/dist/index.cjs +735 -232
  678. package/dist/index.d.cts +3 -3
  679. package/dist/index.d.ts +3 -3
  680. package/dist/index.js +735 -232
  681. package/dist/industries-badge-list-bordered.d.cts +3 -3
  682. package/dist/industries-badge-list-bordered.d.ts +3 -3
  683. package/dist/industries-expandable-showcase.d.cts +3 -3
  684. package/dist/industries-expandable-showcase.d.ts +3 -3
  685. package/dist/industries-hover-reveal-grid.d.cts +3 -3
  686. package/dist/industries-hover-reveal-grid.d.ts +3 -3
  687. package/dist/industries-timeline-table.d.cts +3 -3
  688. package/dist/industries-timeline-table.d.ts +3 -3
  689. package/dist/interior-carousel.d.cts +3 -3
  690. package/dist/interior-carousel.d.ts +3 -3
  691. package/dist/link-page-bento-layout.d.cts +3 -3
  692. package/dist/link-page-bento-layout.d.ts +3 -3
  693. package/dist/link-page-grid-cards.d.cts +3 -3
  694. package/dist/link-page-grid-cards.d.ts +3 -3
  695. package/dist/link-page-minimal-profile.d.cts +3 -3
  696. package/dist/link-page-minimal-profile.d.ts +3 -3
  697. package/dist/link-page-newsletter-social.d.cts +3 -3
  698. package/dist/link-page-newsletter-social.d.ts +3 -3
  699. package/dist/link-tree-block.d.cts +3 -3
  700. package/dist/link-tree-block.d.ts +3 -3
  701. package/dist/list-achievements-showcase.d.cts +3 -3
  702. package/dist/list-achievements-showcase.d.ts +3 -3
  703. package/dist/list-career-timeline.d.cts +3 -3
  704. package/dist/list-career-timeline.d.ts +3 -3
  705. package/dist/list-feature-comparison.d.cts +3 -3
  706. package/dist/list-feature-comparison.d.ts +3 -3
  707. package/dist/list-metrics-dashboard.d.cts +3 -3
  708. package/dist/list-metrics-dashboard.d.ts +3 -3
  709. package/dist/list-searchable-grid.d.cts +3 -3
  710. package/dist/list-searchable-grid.d.ts +3 -3
  711. package/dist/list-service-category-table.d.cts +3 -3
  712. package/dist/list-service-category-table.d.ts +3 -3
  713. package/dist/logos-carousel-heading.d.cts +3 -3
  714. package/dist/logos-carousel-heading.d.ts +3 -3
  715. package/dist/logos-centered-simple.d.cts +3 -3
  716. package/dist/logos-centered-simple.d.ts +3 -3
  717. package/dist/logos-certifications-grid.d.cts +3 -3
  718. package/dist/logos-certifications-grid.d.ts +3 -3
  719. package/dist/logos-double-carousel-pattern.d.cts +3 -3
  720. package/dist/logos-double-carousel-pattern.d.ts +3 -3
  721. package/dist/logos-inline-tagline.d.cts +3 -3
  722. package/dist/logos-inline-tagline.d.ts +3 -3
  723. package/dist/logos-marquee-muted.d.cts +3 -3
  724. package/dist/logos-marquee-muted.d.ts +3 -3
  725. package/dist/logos-minimal-carousel.d.cts +3 -3
  726. package/dist/logos-minimal-carousel.d.ts +3 -3
  727. package/dist/logos-numbered-carousel.d.cts +3 -3
  728. package/dist/logos-numbered-carousel.d.ts +3 -3
  729. package/dist/logos-partner-grid-sidebar.d.cts +3 -3
  730. package/dist/logos-partner-grid-sidebar.d.ts +3 -3
  731. package/dist/logos-partner-network.d.cts +3 -3
  732. package/dist/logos-partner-network.d.ts +3 -3
  733. package/dist/logos-two-row-grid.d.cts +3 -3
  734. package/dist/logos-two-row-grid.d.ts +3 -3
  735. package/dist/masonry-motion-grid.d.cts +3 -3
  736. package/dist/masonry-motion-grid.d.ts +3 -3
  737. package/dist/media-hover-ctas.d.cts +3 -3
  738. package/dist/media-hover-ctas.d.ts +3 -3
  739. package/dist/navbar-animated-preview.d.cts +3 -3
  740. package/dist/navbar-animated-preview.d.ts +3 -3
  741. package/dist/navbar-centered-menu.d.cts +3 -3
  742. package/dist/navbar-centered-menu.d.ts +3 -3
  743. package/dist/navbar-dark-icons.d.cts +3 -3
  744. package/dist/navbar-dark-icons.d.ts +3 -3
  745. package/dist/navbar-dropdown-menu.d.cts +3 -3
  746. package/dist/navbar-dropdown-menu.d.ts +3 -3
  747. package/dist/navbar-education-platform.d.cts +3 -3
  748. package/dist/navbar-education-platform.d.ts +3 -3
  749. package/dist/navbar-enterprise-mega.d.cts +3 -3
  750. package/dist/navbar-enterprise-mega.d.ts +3 -3
  751. package/dist/navbar-feature-grid.d.cts +3 -3
  752. package/dist/navbar-feature-grid.d.ts +3 -3
  753. package/dist/navbar-floating-pill.d.cts +3 -3
  754. package/dist/navbar-floating-pill.d.ts +3 -3
  755. package/dist/navbar-fullscreen-menu.d.cts +3 -3
  756. package/dist/navbar-fullscreen-menu.d.ts +3 -3
  757. package/dist/navbar-icon-links.d.cts +3 -3
  758. package/dist/navbar-icon-links.d.ts +3 -3
  759. package/dist/navbar-image-preview.d.cts +3 -3
  760. package/dist/navbar-image-preview.d.ts +3 -3
  761. package/dist/navbar-mega-menu.d.cts +3 -3
  762. package/dist/navbar-mega-menu.d.ts +3 -3
  763. package/dist/navbar-multi-column-groups.d.cts +3 -3
  764. package/dist/navbar-multi-column-groups.d.ts +3 -3
  765. package/dist/navbar-platform-resources.d.cts +3 -3
  766. package/dist/navbar-platform-resources.d.ts +3 -3
  767. package/dist/navbar-search-focused.d.cts +3 -3
  768. package/dist/navbar-search-focused.d.ts +3 -3
  769. package/dist/navbar-sidebar-mobile.d.cts +3 -3
  770. package/dist/navbar-sidebar-mobile.d.ts +3 -3
  771. package/dist/navbar-simple-links.d.cts +3 -3
  772. package/dist/navbar-simple-links.d.ts +3 -3
  773. package/dist/navbar-split-cta.d.cts +3 -3
  774. package/dist/navbar-split-cta.d.ts +3 -3
  775. package/dist/navbar-sticky-compact.d.cts +3 -3
  776. package/dist/navbar-sticky-compact.d.ts +3 -3
  777. package/dist/navbar-tabbed-sections.d.cts +3 -3
  778. package/dist/navbar-tabbed-sections.d.ts +3 -3
  779. package/dist/navbar-transparent-overlay.d.cts +3 -3
  780. package/dist/navbar-transparent-overlay.d.ts +3 -3
  781. package/dist/offer-modal-membership-image.d.cts +3 -3
  782. package/dist/offer-modal-membership-image.d.ts +3 -3
  783. package/dist/offer-modal-newsletter-discount.d.cts +3 -3
  784. package/dist/offer-modal-newsletter-discount.d.ts +3 -3
  785. package/dist/offer-modal-sheet-newsletter.d.cts +3 -3
  786. package/dist/offer-modal-sheet-newsletter.d.ts +3 -3
  787. package/dist/page-hero-banner.d.cts +3 -3
  788. package/dist/page-hero-banner.d.ts +3 -3
  789. package/dist/pressable.d.cts +2 -2
  790. package/dist/pressable.d.ts +2 -2
  791. package/dist/pricing-addons-cards.d.cts +3 -3
  792. package/dist/pricing-addons-cards.d.ts +3 -3
  793. package/dist/pricing-addons-featured.d.cts +3 -3
  794. package/dist/pricing-addons-featured.d.ts +3 -3
  795. package/dist/pricing-collapsible-plans.d.cts +3 -3
  796. package/dist/pricing-collapsible-plans.d.ts +3 -3
  797. package/dist/pricing-columns-toggle.d.cts +3 -3
  798. package/dist/pricing-columns-toggle.d.ts +3 -3
  799. package/dist/pricing-comparison-headers.d.cts +3 -3
  800. package/dist/pricing-comparison-headers.d.ts +3 -3
  801. package/dist/pricing-comparison-table.d.cts +3 -3
  802. package/dist/pricing-comparison-table.d.ts +3 -3
  803. package/dist/pricing-discount-card.d.cts +3 -3
  804. package/dist/pricing-discount-card.d.ts +3 -3
  805. package/dist/pricing-enterprise-contact.d.cts +3 -3
  806. package/dist/pricing-enterprise-contact.d.ts +3 -3
  807. package/dist/pricing-feature-matrix.d.cts +3 -3
  808. package/dist/pricing-feature-matrix.d.ts +3 -3
  809. package/dist/pricing-four-tier-toggle.d.cts +3 -3
  810. package/dist/pricing-four-tier-toggle.d.ts +3 -3
  811. package/dist/pricing-full-comparison.d.cts +3 -3
  812. package/dist/pricing-full-comparison.d.ts +3 -3
  813. package/dist/pricing-gradient-cards.d.cts +3 -3
  814. package/dist/pricing-gradient-cards.d.ts +3 -3
  815. package/dist/pricing-icon-headers.d.cts +3 -3
  816. package/dist/pricing-icon-headers.d.ts +3 -3
  817. package/dist/pricing-minimal-cards.d.cts +3 -3
  818. package/dist/pricing-minimal-cards.d.ts +3 -3
  819. package/dist/pricing-packages-radio.d.cts +3 -3
  820. package/dist/pricing-packages-radio.d.ts +3 -3
  821. package/dist/pricing-popular-highlight.d.cts +3 -3
  822. package/dist/pricing-popular-highlight.d.ts +3 -3
  823. package/dist/pricing-radio-toggle.d.cts +3 -3
  824. package/dist/pricing-radio-toggle.d.ts +3 -3
  825. package/dist/pricing-responsive-table.d.cts +3 -3
  826. package/dist/pricing-responsive-table.d.ts +3 -3
  827. package/dist/pricing-services-cards.d.cts +3 -3
  828. package/dist/pricing-services-cards.d.ts +3 -3
  829. package/dist/pricing-simple-card.d.cts +3 -3
  830. package/dist/pricing-simple-card.d.ts +3 -3
  831. package/dist/pricing-single-card.d.cts +3 -3
  832. package/dist/pricing-single-card.d.ts +3 -3
  833. package/dist/pricing-split-layout.d.cts +3 -3
  834. package/dist/pricing-split-layout.d.ts +3 -3
  835. package/dist/pricing-spotlight-card.d.cts +3 -3
  836. package/dist/pricing-spotlight-card.d.ts +3 -3
  837. package/dist/pricing-switch-cards.d.cts +3 -3
  838. package/dist/pricing-switch-cards.d.ts +3 -3
  839. package/dist/pricing-tabs-toggle.d.cts +3 -3
  840. package/dist/pricing-tabs-toggle.d.ts +3 -3
  841. package/dist/pricing-tier-grid.d.cts +3 -3
  842. package/dist/pricing-tier-grid.d.ts +3 -3
  843. package/dist/pricing-toggle-cards.d.cts +3 -3
  844. package/dist/pricing-toggle-cards.d.ts +3 -3
  845. package/dist/pricing-toggle-period.d.cts +3 -3
  846. package/dist/pricing-toggle-period.d.ts +3 -3
  847. package/dist/pricing-two-column-basic.d.cts +3 -3
  848. package/dist/pricing-two-column-basic.d.ts +3 -3
  849. package/dist/process-expandable-timeline.d.cts +3 -3
  850. package/dist/process-expandable-timeline.d.ts +3 -3
  851. package/dist/process-hover-cards.d.cts +3 -3
  852. package/dist/process-hover-cards.d.ts +3 -3
  853. package/dist/process-icon-timeline.d.cts +3 -3
  854. package/dist/process-icon-timeline.d.ts +3 -3
  855. package/dist/process-mission-principles.d.cts +3 -3
  856. package/dist/process-mission-principles.d.ts +3 -3
  857. package/dist/process-numbered-services.d.cts +3 -3
  858. package/dist/process-numbered-services.d.ts +3 -3
  859. package/dist/process-roadmap-timeline.d.cts +3 -3
  860. package/dist/process-roadmap-timeline.d.ts +3 -3
  861. package/dist/process-scroll-image.d.cts +3 -3
  862. package/dist/process-scroll-image.d.ts +3 -3
  863. package/dist/process-steps-grid.d.cts +3 -3
  864. package/dist/process-steps-grid.d.ts +3 -3
  865. package/dist/process-sticky-steps.d.cts +3 -3
  866. package/dist/process-sticky-steps.d.ts +3 -3
  867. package/dist/project-alternating-motion.d.cts +3 -3
  868. package/dist/project-alternating-motion.d.ts +3 -3
  869. package/dist/project-background-reveal.d.cts +3 -3
  870. package/dist/project-background-reveal.d.ts +3 -3
  871. package/dist/project-card-overlay.d.cts +3 -3
  872. package/dist/project-card-overlay.d.ts +3 -3
  873. package/dist/project-carousel-cinematic.d.cts +3 -3
  874. package/dist/project-carousel-cinematic.d.ts +3 -3
  875. package/dist/project-carousel-detail-cards.d.cts +3 -3
  876. package/dist/project-carousel-detail-cards.d.ts +3 -3
  877. package/dist/project-carousel-minimal.d.cts +3 -3
  878. package/dist/project-carousel-minimal.d.ts +3 -3
  879. package/dist/project-detail-architecture-carousel.d.cts +3 -3
  880. package/dist/project-detail-architecture-carousel.d.ts +3 -3
  881. package/dist/project-detail-card-header.d.cts +3 -3
  882. package/dist/project-detail-card-header.d.ts +3 -3
  883. package/dist/project-detail-case-study-prose.d.cts +3 -3
  884. package/dist/project-detail-case-study-prose.d.ts +3 -3
  885. package/dist/project-detail-compact-metadata.d.cts +3 -3
  886. package/dist/project-detail-compact-metadata.d.ts +3 -3
  887. package/dist/project-detail-exhibition-sidebar.d.cts +3 -3
  888. package/dist/project-detail-exhibition-sidebar.d.ts +3 -3
  889. package/dist/project-detail-fashion-editorial.d.cts +3 -3
  890. package/dist/project-detail-fashion-editorial.d.ts +3 -3
  891. package/dist/project-detail-fullscreen-hero.d.cts +3 -3
  892. package/dist/project-detail-fullscreen-hero.d.ts +3 -3
  893. package/dist/project-detail-grid-gallery.d.cts +3 -3
  894. package/dist/project-detail-grid-gallery.d.ts +3 -3
  895. package/dist/project-detail-hero-metadata.d.cts +3 -3
  896. package/dist/project-detail-hero-metadata.d.ts +3 -3
  897. package/dist/project-detail-hover-gallery.d.cts +3 -3
  898. package/dist/project-detail-hover-gallery.d.ts +3 -3
  899. package/dist/project-detail-large-hero-featured.d.cts +3 -3
  900. package/dist/project-detail-large-hero-featured.d.ts +3 -3
  901. package/dist/project-detail-list-related.d.cts +3 -3
  902. package/dist/project-detail-list-related.d.ts +3 -3
  903. package/dist/project-detail-mask-reveal.d.cts +3 -3
  904. package/dist/project-detail-mask-reveal.d.ts +3 -3
  905. package/dist/project-detail-minimal-centered.d.cts +3 -3
  906. package/dist/project-detail-minimal-centered.d.ts +3 -3
  907. package/dist/project-detail-numbered-sections.d.cts +3 -3
  908. package/dist/project-detail-numbered-sections.d.ts +3 -3
  909. package/dist/project-detail-parallax-scroll.d.cts +3 -3
  910. package/dist/project-detail-parallax-scroll.d.ts +3 -3
  911. package/dist/project-detail-photography-breadcrumb.d.cts +3 -3
  912. package/dist/project-detail-photography-breadcrumb.d.ts +3 -3
  913. package/dist/project-detail-sculpture-showcase.d.cts +3 -3
  914. package/dist/project-detail-sculpture-showcase.d.ts +3 -3
  915. package/dist/project-detail-sidebar-navigation.d.cts +3 -3
  916. package/dist/project-detail-sidebar-navigation.d.ts +3 -3
  917. package/dist/project-detail-sidebar-sticky.d.cts +3 -3
  918. package/dist/project-detail-sidebar-sticky.d.ts +3 -3
  919. package/dist/project-detail-split-materials.d.cts +3 -3
  920. package/dist/project-detail-split-materials.d.ts +3 -3
  921. package/dist/project-detail-tabbed-case-study.d.cts +3 -3
  922. package/dist/project-detail-tabbed-case-study.d.ts +3 -3
  923. package/dist/project-experience-quote.d.cts +3 -3
  924. package/dist/project-experience-quote.d.ts +3 -3
  925. package/dist/project-featured-carousel.d.cts +3 -3
  926. package/dist/project-featured-carousel.d.ts +3 -3
  927. package/dist/project-filterable-gallery.d.cts +3 -3
  928. package/dist/project-filterable-gallery.d.ts +3 -3
  929. package/dist/project-filterable-three-column.d.cts +3 -3
  930. package/dist/project-filterable-three-column.d.ts +3 -3
  931. package/dist/project-grid-gallery.d.cts +3 -3
  932. package/dist/project-grid-gallery.d.ts +3 -3
  933. package/dist/project-grid-motion.d.cts +3 -3
  934. package/dist/project-grid-motion.d.ts +3 -3
  935. package/dist/project-horizontal-cards.d.cts +3 -3
  936. package/dist/project-horizontal-cards.d.ts +3 -3
  937. package/dist/project-hover-reveal-grid.d.cts +3 -3
  938. package/dist/project-hover-reveal-grid.d.ts +3 -3
  939. package/dist/project-interactive-hover-reveal.d.cts +3 -3
  940. package/dist/project-interactive-hover-reveal.d.ts +3 -3
  941. package/dist/project-masonry-columns.d.cts +3 -3
  942. package/dist/project-masonry-columns.d.ts +3 -3
  943. package/dist/project-nature-mosaic.d.cts +3 -3
  944. package/dist/project-nature-mosaic.d.ts +3 -3
  945. package/dist/project-scroll-reveal.d.cts +3 -3
  946. package/dist/project-scroll-reveal.d.ts +3 -3
  947. package/dist/project-showcase-alternating.d.cts +3 -3
  948. package/dist/project-showcase-alternating.d.ts +3 -3
  949. package/dist/project-sticky-scroll.d.cts +3 -3
  950. package/dist/project-sticky-scroll.d.ts +3 -3
  951. package/dist/project-studio-hover-preview.d.cts +3 -3
  952. package/dist/project-studio-hover-preview.d.ts +3 -3
  953. package/dist/project-table-list.d.cts +3 -3
  954. package/dist/project-table-list.d.ts +3 -3
  955. package/dist/project-video-carousel.d.cts +3 -3
  956. package/dist/project-video-carousel.d.ts +3 -3
  957. package/dist/project-video-hover-bento.d.cts +3 -3
  958. package/dist/project-video-hover-bento.d.ts +3 -3
  959. package/dist/project-video-hover-grid.d.cts +3 -3
  960. package/dist/project-video-hover-grid.d.ts +3 -3
  961. package/dist/project-video-hover-rounded.d.cts +3 -3
  962. package/dist/project-video-hover-rounded.d.ts +3 -3
  963. package/dist/project-video-hover-stack.d.cts +3 -3
  964. package/dist/project-video-hover-stack.d.ts +3 -3
  965. package/dist/project-video-hover-two-by-two.d.cts +3 -3
  966. package/dist/project-video-hover-two-by-two.d.ts +3 -3
  967. package/dist/project-work-showcase.d.cts +3 -3
  968. package/dist/project-work-showcase.d.ts +3 -3
  969. package/dist/project-zigzag-layout.d.cts +3 -3
  970. package/dist/project-zigzag-layout.d.ts +3 -3
  971. package/dist/registry.cjs +1418 -686
  972. package/dist/registry.js +1418 -686
  973. package/dist/resource-detail-article-hero.d.cts +3 -3
  974. package/dist/resource-detail-article-hero.d.ts +3 -3
  975. package/dist/resource-detail-document-sidebar.d.cts +3 -3
  976. package/dist/resource-detail-document-sidebar.d.ts +3 -3
  977. package/dist/resource-detail-whitepaper-sidebar.d.cts +3 -3
  978. package/dist/resource-detail-whitepaper-sidebar.d.ts +3 -3
  979. package/dist/resource-list-course-cards.d.cts +3 -3
  980. package/dist/resource-list-course-cards.d.ts +3 -3
  981. package/dist/resource-list-featured-articles.d.cts +3 -3
  982. package/dist/resource-list-featured-articles.d.ts +3 -3
  983. package/dist/resource-list-featured-grid.d.cts +3 -3
  984. package/dist/resource-list-featured-grid.d.ts +3 -3
  985. package/dist/resource-list-hero-filter.d.cts +2 -2
  986. package/dist/resource-list-hero-filter.d.ts +2 -2
  987. package/dist/resource-list-news-updates.d.cts +3 -3
  988. package/dist/resource-list-news-updates.d.ts +3 -3
  989. package/dist/section.d.cts +3 -3
  990. package/dist/section.d.ts +3 -3
  991. package/dist/service-detail-centered-expertise.d.cts +3 -3
  992. package/dist/service-detail-centered-expertise.d.ts +3 -3
  993. package/dist/service-detail-compact-cards.d.cts +3 -3
  994. package/dist/service-detail-compact-cards.d.ts +3 -3
  995. package/dist/service-detail-image-hero.d.cts +3 -3
  996. package/dist/service-detail-image-hero.d.ts +3 -3
  997. package/dist/service-detail-prose-minimal.d.cts +3 -3
  998. package/dist/service-detail-prose-minimal.d.ts +3 -3
  999. package/dist/service-detail-sidebar-related.d.cts +3 -3
  1000. package/dist/service-detail-sidebar-related.d.ts +3 -3
  1001. package/dist/service-detail-sidebar-stats.d.cts +3 -3
  1002. package/dist/service-detail-sidebar-stats.d.ts +3 -3
  1003. package/dist/service-detail-stats-hero.d.cts +3 -3
  1004. package/dist/service-detail-stats-hero.d.ts +3 -3
  1005. package/dist/service-hover-carousel.d.cts +3 -3
  1006. package/dist/service-hover-carousel.d.ts +3 -3
  1007. package/dist/services-list-accordion-benefits.d.cts +3 -3
  1008. package/dist/services-list-accordion-benefits.d.ts +3 -3
  1009. package/dist/services-list-accordion.d.cts +3 -3
  1010. package/dist/services-list-accordion.d.ts +3 -3
  1011. package/dist/services-list-cards-hover.d.cts +3 -3
  1012. package/dist/services-list-cards-hover.d.ts +3 -3
  1013. package/dist/services-list-category-accordion.d.cts +3 -3
  1014. package/dist/services-list-category-accordion.d.ts +3 -3
  1015. package/dist/services-list-centered-icons.d.cts +3 -3
  1016. package/dist/services-list-centered-icons.d.ts +3 -3
  1017. package/dist/services-list-culture-tabs.d.cts +3 -3
  1018. package/dist/services-list-culture-tabs.d.ts +3 -3
  1019. package/dist/services-list-expandable-cards.d.cts +3 -3
  1020. package/dist/services-list-expandable-cards.d.ts +3 -3
  1021. package/dist/services-list-feature-spotlight.d.cts +3 -3
  1022. package/dist/services-list-feature-spotlight.d.ts +3 -3
  1023. package/dist/services-list-featured-highlight.d.cts +3 -3
  1024. package/dist/services-list-featured-highlight.d.ts +3 -3
  1025. package/dist/services-list-hero-cards.d.cts +3 -3
  1026. package/dist/services-list-hero-cards.d.ts +3 -3
  1027. package/dist/services-list-icon-grid.d.cts +3 -3
  1028. package/dist/services-list-icon-grid.d.ts +3 -3
  1029. package/dist/services-list-image-cards.d.cts +3 -3
  1030. package/dist/services-list-image-cards.d.ts +3 -3
  1031. package/dist/services-list-image-overlay-grid.d.cts +3 -3
  1032. package/dist/services-list-image-overlay-grid.d.ts +3 -3
  1033. package/dist/services-list-masonry.d.cts +3 -3
  1034. package/dist/services-list-masonry.d.ts +3 -3
  1035. package/dist/services-list-methodology-steps.d.cts +3 -3
  1036. package/dist/services-list-methodology-steps.d.ts +3 -3
  1037. package/dist/services-list-minimal-grid.d.cts +3 -3
  1038. package/dist/services-list-minimal-grid.d.ts +3 -3
  1039. package/dist/services-list-muted-cards.d.cts +3 -3
  1040. package/dist/services-list-muted-cards.d.ts +3 -3
  1041. package/dist/services-list-numbered-steps.d.cts +3 -3
  1042. package/dist/services-list-numbered-steps.d.ts +3 -3
  1043. package/dist/services-list-pricing-grid.d.cts +3 -3
  1044. package/dist/services-list-pricing-grid.d.ts +3 -3
  1045. package/dist/services-list-progress-sidebar.d.cts +3 -3
  1046. package/dist/services-list-progress-sidebar.d.ts +3 -3
  1047. package/dist/services-list-split-checklist.d.cts +3 -3
  1048. package/dist/services-list-split-checklist.d.ts +3 -3
  1049. package/dist/services-list-sticky-image.d.cts +3 -3
  1050. package/dist/services-list-sticky-image.d.ts +3 -3
  1051. package/dist/services-list-table-hover.d.cts +3 -3
  1052. package/dist/services-list-table-hover.d.ts +3 -3
  1053. package/dist/services-list-tabs-features.d.cts +3 -3
  1054. package/dist/services-list-tabs-features.d.ts +3 -3
  1055. package/dist/services-list-timeline.d.cts +3 -3
  1056. package/dist/services-list-timeline.d.ts +3 -3
  1057. package/dist/services-list-two-column-grid.d.cts +3 -3
  1058. package/dist/services-list-two-column-grid.d.ts +3 -3
  1059. package/dist/services-list-vertical-tags.d.cts +3 -3
  1060. package/dist/services-list-vertical-tags.d.ts +3 -3
  1061. package/dist/services-list-video-showcase.d.cts +3 -3
  1062. package/dist/services-list-video-showcase.d.ts +3 -3
  1063. package/dist/social-link-icon.d.cts +2 -2
  1064. package/dist/social-link-icon.d.ts +2 -2
  1065. package/dist/stats-animated-counter.d.cts +3 -3
  1066. package/dist/stats-animated-counter.d.ts +3 -3
  1067. package/dist/stats-bar-comparison.d.cts +3 -3
  1068. package/dist/stats-bar-comparison.d.ts +3 -3
  1069. package/dist/stats-card-group.d.cts +3 -3
  1070. package/dist/stats-card-group.d.ts +3 -3
  1071. package/dist/stats-circular-progress.d.cts +3 -3
  1072. package/dist/stats-circular-progress.d.ts +3 -3
  1073. package/dist/stats-growth-timeline.d.cts +3 -3
  1074. package/dist/stats-growth-timeline.d.ts +3 -3
  1075. package/dist/stats-icon-cards.d.cts +3 -3
  1076. package/dist/stats-icon-cards.d.ts +3 -3
  1077. package/dist/stats-impact-grid.d.cts +3 -3
  1078. package/dist/stats-impact-grid.d.ts +3 -3
  1079. package/dist/stats-milestone-sidebar.d.cts +3 -3
  1080. package/dist/stats-milestone-sidebar.d.ts +3 -3
  1081. package/dist/stats-number-ticker.d.cts +3 -3
  1082. package/dist/stats-number-ticker.d.ts +3 -3
  1083. package/dist/stats-primary-secondary.d.cts +3 -3
  1084. package/dist/stats-primary-secondary.d.ts +3 -3
  1085. package/dist/stats-simple-grid.d.cts +3 -3
  1086. package/dist/stats-simple-grid.d.ts +3 -3
  1087. package/dist/stats-timeline-tabs.d.cts +3 -3
  1088. package/dist/stats-timeline-tabs.d.ts +3 -3
  1089. package/dist/team-alternating-bios.d.cts +3 -3
  1090. package/dist/team-alternating-bios.d.ts +3 -3
  1091. package/dist/team-avatar-social.d.cts +3 -3
  1092. package/dist/team-avatar-social.d.ts +3 -3
  1093. package/dist/team-bio-badges.d.cts +3 -3
  1094. package/dist/team-bio-badges.d.ts +3 -3
  1095. package/dist/team-carousel-experience.d.cts +3 -3
  1096. package/dist/team-carousel-experience.d.ts +3 -3
  1097. package/dist/team-compact-cta.d.cts +3 -3
  1098. package/dist/team-compact-cta.d.ts +3 -3
  1099. package/dist/team-compact-grid.d.cts +3 -3
  1100. package/dist/team-compact-grid.d.ts +3 -3
  1101. package/dist/team-contact-cards.d.cts +3 -3
  1102. package/dist/team-contact-cards.d.ts +3 -3
  1103. package/dist/team-department-sections.d.cts +3 -3
  1104. package/dist/team-department-sections.d.ts +3 -3
  1105. package/dist/team-expertise-cards.d.cts +3 -3
  1106. package/dist/team-expertise-cards.d.ts +3 -3
  1107. package/dist/team-filterable-search.d.cts +3 -3
  1108. package/dist/team-filterable-search.d.ts +3 -3
  1109. package/dist/team-gradient-cards.d.cts +3 -3
  1110. package/dist/team-gradient-cards.d.ts +3 -3
  1111. package/dist/team-grid-animated.d.cts +3 -3
  1112. package/dist/team-grid-animated.d.ts +3 -3
  1113. package/dist/team-hover-highlight.d.cts +3 -3
  1114. package/dist/team-hover-highlight.d.ts +3 -3
  1115. package/dist/team-hover-overlay.d.cts +3 -3
  1116. package/dist/team-hover-overlay.d.ts +3 -3
  1117. package/dist/team-investor-showcase.d.cts +3 -3
  1118. package/dist/team-investor-showcase.d.ts +3 -3
  1119. package/dist/team-large-images.d.cts +3 -3
  1120. package/dist/team-large-images.d.ts +3 -3
  1121. package/dist/team-media-showcase.d.cts +3 -3
  1122. package/dist/team-media-showcase.d.ts +3 -3
  1123. package/dist/team-role-filter.d.cts +3 -3
  1124. package/dist/team-role-filter.d.ts +3 -3
  1125. package/dist/team-simple-grid.d.cts +3 -3
  1126. package/dist/team-simple-grid.d.ts +3 -3
  1127. package/dist/team-skill-badges.d.cts +3 -3
  1128. package/dist/team-skill-badges.d.ts +3 -3
  1129. package/dist/team-social-cards.d.cts +3 -3
  1130. package/dist/team-social-cards.d.ts +3 -3
  1131. package/dist/team-social-grid.d.cts +3 -3
  1132. package/dist/team-social-grid.d.ts +3 -3
  1133. package/dist/team-testimonial-stats.d.cts +3 -3
  1134. package/dist/team-testimonial-stats.d.ts +3 -3
  1135. package/dist/testimonial-carousel-cards.d.cts +3 -3
  1136. package/dist/testimonial-carousel-cards.d.ts +3 -3
  1137. package/dist/testimonials-animated-split.d.cts +3 -3
  1138. package/dist/testimonials-animated-split.d.ts +3 -3
  1139. package/dist/testimonials-bento-grid.d.cts +3 -3
  1140. package/dist/testimonials-bento-grid.d.ts +3 -3
  1141. package/dist/testimonials-carousel-image.d.cts +3 -3
  1142. package/dist/testimonials-carousel-image.d.ts +3 -3
  1143. package/dist/testimonials-centered-avatars.d.cts +3 -3
  1144. package/dist/testimonials-centered-avatars.d.ts +3 -3
  1145. package/dist/testimonials-company-logo.d.cts +3 -3
  1146. package/dist/testimonials-company-logo.d.ts +3 -3
  1147. package/dist/testimonials-grid-add-review.d.cts +3 -3
  1148. package/dist/testimonials-grid-add-review.d.ts +3 -3
  1149. package/dist/testimonials-images-helpful.d.cts +3 -3
  1150. package/dist/testimonials-images-helpful.d.ts +3 -3
  1151. package/dist/testimonials-large-quote.d.cts +3 -3
  1152. package/dist/testimonials-large-quote.d.ts +3 -3
  1153. package/dist/testimonials-list-verified.d.cts +3 -3
  1154. package/dist/testimonials-list-verified.d.ts +3 -3
  1155. package/dist/testimonials-logo-cards.d.cts +3 -3
  1156. package/dist/testimonials-logo-cards.d.ts +3 -3
  1157. package/dist/testimonials-marquee.d.cts +3 -3
  1158. package/dist/testimonials-marquee.d.ts +3 -3
  1159. package/dist/testimonials-masonry-grid.d.cts +3 -3
  1160. package/dist/testimonials-masonry-grid.d.ts +3 -3
  1161. package/dist/testimonials-mini-dividers.d.cts +3 -3
  1162. package/dist/testimonials-mini-dividers.d.ts +3 -3
  1163. package/dist/testimonials-minimal-numbered.d.cts +3 -3
  1164. package/dist/testimonials-minimal-numbered.d.ts +3 -3
  1165. package/dist/testimonials-parallax-number.d.cts +3 -3
  1166. package/dist/testimonials-parallax-number.d.ts +3 -3
  1167. package/dist/testimonials-quote-carousel.d.cts +3 -3
  1168. package/dist/testimonials-quote-carousel.d.ts +3 -3
  1169. package/dist/testimonials-scrolling-columns.d.cts +3 -3
  1170. package/dist/testimonials-scrolling-columns.d.ts +3 -3
  1171. package/dist/testimonials-simple-grid.d.cts +3 -3
  1172. package/dist/testimonials-simple-grid.d.ts +3 -3
  1173. package/dist/testimonials-slider-minimal.d.cts +3 -3
  1174. package/dist/testimonials-slider-minimal.d.ts +3 -3
  1175. package/dist/testimonials-split-image.d.cts +3 -3
  1176. package/dist/testimonials-split-image.d.ts +3 -3
  1177. package/dist/testimonials-stats-header.d.cts +3 -3
  1178. package/dist/testimonials-stats-header.d.ts +3 -3
  1179. package/dist/testimonials-twitter-cards.d.cts +3 -3
  1180. package/dist/testimonials-twitter-cards.d.ts +3 -3
  1181. package/dist/testimonials-wall-compact.d.cts +3 -3
  1182. package/dist/testimonials-wall-compact.d.ts +3 -3
  1183. package/dist/timeline-ai-workflow-cards.d.cts +3 -3
  1184. package/dist/timeline-ai-workflow-cards.d.ts +3 -3
  1185. package/dist/timeline-alternating-diagonal.d.cts +3 -3
  1186. package/dist/timeline-alternating-diagonal.d.ts +3 -3
  1187. package/dist/timeline-changelog-badges.d.cts +3 -3
  1188. package/dist/timeline-changelog-badges.d.ts +3 -3
  1189. package/dist/timeline-history-prose.d.cts +3 -3
  1190. package/dist/timeline-history-prose.d.ts +3 -3
  1191. package/dist/timeline-horizontal-icons.d.cts +3 -3
  1192. package/dist/timeline-horizontal-icons.d.ts +3 -3
  1193. package/dist/timeline-horizontal-phases.d.cts +3 -3
  1194. package/dist/timeline-horizontal-phases.d.ts +3 -3
  1195. package/dist/timeline-product-launch.d.cts +3 -3
  1196. package/dist/timeline-product-launch.d.ts +3 -3
  1197. package/dist/timeline-productivity-list.d.cts +3 -3
  1198. package/dist/timeline-productivity-list.d.ts +3 -3
  1199. package/dist/timeline-scroll-highlight.d.cts +3 -3
  1200. package/dist/timeline-scroll-highlight.d.ts +3 -3
  1201. package/dist/timeline-scroll-sticky-image.d.cts +3 -3
  1202. package/dist/timeline-scroll-sticky-image.d.ts +3 -3
  1203. package/dist/timeline-stepper-animated.d.cts +3 -3
  1204. package/dist/timeline-stepper-animated.d.ts +3 -3
  1205. package/dist/timeline-tabbed-phases.d.cts +3 -3
  1206. package/dist/timeline-tabbed-phases.d.ts +3 -3
  1207. package/dist/timeline-two-column-featured.d.cts +3 -3
  1208. package/dist/timeline-two-column-featured.d.ts +3 -3
  1209. package/dist/timeline-vertical-icon-dashed.d.cts +3 -3
  1210. package/dist/timeline-vertical-icon-dashed.d.ts +3 -3
  1211. package/dist/types.d.cts +3 -3
  1212. package/dist/types.d.ts +3 -3
  1213. package/dist/utils.d.cts +3 -3
  1214. package/dist/utils.d.ts +3 -3
  1215. package/package.json +11 -1
package/dist/registry.cjs CHANGED
@@ -20345,193 +20345,6 @@ function CarouselScrollingFeatureShowcase({
20345
20345
  }
20346
20346
  );
20347
20347
  }
20348
- var CarouselContext = React52__namespace.createContext(null);
20349
- function useCarousel() {
20350
- const context = React52__namespace.useContext(CarouselContext);
20351
- if (!context) {
20352
- throw new Error("useCarousel must be used within a <Carousel />");
20353
- }
20354
- return context;
20355
- }
20356
- function Carousel({
20357
- orientation = "horizontal",
20358
- opts,
20359
- setApi,
20360
- plugins,
20361
- className,
20362
- children,
20363
- ...props
20364
- }) {
20365
- const [carouselRef, api] = useEmblaCarousel__default.default(
20366
- {
20367
- ...opts,
20368
- axis: orientation === "horizontal" ? "x" : "y"
20369
- },
20370
- plugins
20371
- );
20372
- const [canScrollPrev, setCanScrollPrev] = React52__namespace.useState(false);
20373
- const [canScrollNext, setCanScrollNext] = React52__namespace.useState(false);
20374
- const onSelect = React52__namespace.useCallback((api2) => {
20375
- if (!api2) return;
20376
- setCanScrollPrev(api2.canScrollPrev());
20377
- setCanScrollNext(api2.canScrollNext());
20378
- }, []);
20379
- const scrollPrev = React52__namespace.useCallback(() => {
20380
- api?.scrollPrev();
20381
- }, [api]);
20382
- const scrollNext = React52__namespace.useCallback(() => {
20383
- api?.scrollNext();
20384
- }, [api]);
20385
- const handleKeyDown = React52__namespace.useCallback(
20386
- (event) => {
20387
- if (event.key === "ArrowLeft") {
20388
- event.preventDefault();
20389
- scrollPrev();
20390
- } else if (event.key === "ArrowRight") {
20391
- event.preventDefault();
20392
- scrollNext();
20393
- }
20394
- },
20395
- [scrollPrev, scrollNext]
20396
- );
20397
- React52__namespace.useEffect(() => {
20398
- if (!api || !setApi) return;
20399
- setApi(api);
20400
- }, [api, setApi]);
20401
- React52__namespace.useEffect(() => {
20402
- if (!api) return;
20403
- onSelect(api);
20404
- api.on("reInit", onSelect);
20405
- api.on("select", onSelect);
20406
- return () => {
20407
- api?.off("select", onSelect);
20408
- };
20409
- }, [api, onSelect]);
20410
- return /* @__PURE__ */ jsxRuntime.jsx(
20411
- CarouselContext.Provider,
20412
- {
20413
- value: {
20414
- carouselRef,
20415
- api,
20416
- opts,
20417
- orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
20418
- scrollPrev,
20419
- scrollNext,
20420
- canScrollPrev,
20421
- canScrollNext
20422
- },
20423
- children: /* @__PURE__ */ jsxRuntime.jsx(
20424
- "div",
20425
- {
20426
- onKeyDownCapture: handleKeyDown,
20427
- className: cn("relative", className),
20428
- role: "region",
20429
- "aria-roledescription": "carousel",
20430
- "data-slot": "carousel",
20431
- ...props,
20432
- children
20433
- }
20434
- )
20435
- }
20436
- );
20437
- }
20438
- function CarouselContent({ className, ...props }) {
20439
- const { carouselRef, orientation } = useCarousel();
20440
- return /* @__PURE__ */ jsxRuntime.jsx(
20441
- "div",
20442
- {
20443
- ref: carouselRef,
20444
- className: "overflow-hidden",
20445
- "data-slot": "carousel-content",
20446
- children: /* @__PURE__ */ jsxRuntime.jsx(
20447
- "div",
20448
- {
20449
- className: cn(
20450
- "flex",
20451
- orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
20452
- className
20453
- ),
20454
- ...props
20455
- }
20456
- )
20457
- }
20458
- );
20459
- }
20460
- function CarouselItem({ className, ...props }) {
20461
- const { orientation } = useCarousel();
20462
- return /* @__PURE__ */ jsxRuntime.jsx(
20463
- "div",
20464
- {
20465
- role: "group",
20466
- "aria-roledescription": "slide",
20467
- "data-slot": "carousel-item",
20468
- className: cn(
20469
- "min-w-0 shrink-0 grow-0 basis-full",
20470
- orientation === "horizontal" ? "pl-4" : "pt-4",
20471
- className
20472
- ),
20473
- ...props
20474
- }
20475
- );
20476
- }
20477
- function CarouselPrevious({
20478
- className,
20479
- variant = "outline",
20480
- size = "icon",
20481
- ...props
20482
- }) {
20483
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
20484
- return /* @__PURE__ */ jsxRuntime.jsxs(
20485
- Pressable,
20486
- {
20487
- "data-slot": "carousel-previous",
20488
- variant,
20489
- size,
20490
- className: cn(
20491
- "absolute size-8 rounded-full",
20492
- orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
20493
- className
20494
- ),
20495
- disabled: !canScrollPrev,
20496
- onClick: scrollPrev,
20497
- asButton: true,
20498
- ...props,
20499
- children: [
20500
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left" }),
20501
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
20502
- ]
20503
- }
20504
- );
20505
- }
20506
- function CarouselNext({
20507
- className,
20508
- variant = "default",
20509
- size = "icon",
20510
- ...props
20511
- }) {
20512
- const { orientation, scrollNext, canScrollNext } = useCarousel();
20513
- return /* @__PURE__ */ jsxRuntime.jsxs(
20514
- Pressable,
20515
- {
20516
- "data-slot": "carousel-next",
20517
- variant,
20518
- size,
20519
- className: cn(
20520
- "absolute size-8 rounded-full",
20521
- orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
20522
- className
20523
- ),
20524
- disabled: !canScrollNext,
20525
- onClick: scrollNext,
20526
- asButton: true,
20527
- ...props,
20528
- children: [
20529
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right" }),
20530
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
20531
- ]
20532
- }
20533
- );
20534
- }
20535
20348
  function FeatureShowcase({
20536
20349
  items,
20537
20350
  children,
@@ -20549,21 +20362,16 @@ function FeatureShowcase({
20549
20362
  patternOpacity,
20550
20363
  patternClassName
20551
20364
  }) {
20552
- const [api, setApi] = React52__namespace.useState();
20553
- const [canScrollPrevious, setCanScrollPrevious] = React52__namespace.useState(false);
20554
- const [canScrollNext, setCanScrollNext] = React52__namespace.useState(false);
20555
- React52__namespace.useEffect(() => {
20556
- if (!api) return;
20557
- const updateScrollState = () => {
20558
- setCanScrollPrevious(api.canScrollPrev());
20559
- setCanScrollNext(api.canScrollNext());
20560
- };
20561
- updateScrollState();
20562
- api.on("select", updateScrollState);
20563
- return () => {
20564
- api.off("select", updateScrollState);
20565
- };
20566
- }, [api]);
20365
+ const [activeIndex, setActiveIndex] = React52.useState(0);
20366
+ const itemCount = items?.length ?? 0;
20367
+ const canScrollPrevious = activeIndex > 0;
20368
+ const canScrollNext = activeIndex < itemCount - 1;
20369
+ const scrollPrev = React52.useCallback(() => {
20370
+ setActiveIndex((prev) => Math.max(0, prev - 1));
20371
+ }, []);
20372
+ const scrollNext = React52.useCallback(() => {
20373
+ setActiveIndex((prev) => Math.min(itemCount - 1, prev + 1));
20374
+ }, [itemCount]);
20567
20375
  const [mobileSlideHeight, setMobileSlideHeight] = React52.useState(
20568
20376
  null
20569
20377
  );
@@ -20604,53 +20412,64 @@ function FeatureShowcase({
20604
20412
  resizeObserver?.disconnect();
20605
20413
  };
20606
20414
  }, [equalizeOnMobile, items]);
20415
+ const activeItem = items?.[activeIndex];
20607
20416
  const carouselContent = React52.useMemo(() => {
20608
20417
  if (!items || items.length === 0) return null;
20609
- return /* @__PURE__ */ jsxRuntime.jsxs(Carousel, { className: carouselClassName, setApi, children: [
20610
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "ease-in", children: items.map((item, itemIndex) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(
20611
- "div",
20418
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", carouselClassName), children: [
20419
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-18 md:pb-24", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsxRuntime.jsx(
20420
+ framerMotion.motion.div,
20612
20421
  {
20613
- ref: (node) => {
20614
- slideRefs.current[itemIndex] = node;
20615
- },
20616
- style: equalizeOnMobile && mobileSlideHeight ? { minHeight: mobileSlideHeight } : void 0,
20617
- className: cn(
20618
- "flex flex-col-reverse gap-8 md:gap-14 md:flex-row md:items-center md:justify-between",
20619
- slideClassName
20620
- ),
20621
- children: [
20622
- item.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full", contentClassName), children: item.content }),
20623
- item.mediaComponent && /* @__PURE__ */ jsxRuntime.jsxs(
20624
- "div",
20625
- {
20626
- className: cn(
20627
- "relative w-full min-h-[25dvh] h-[25dvh] max-h-[35dvh] md:min-h-[300px] md:h-[400px] md:max-h-[500px] [&>*]:h-full [&>*]:object-cover",
20628
- mediaWrapperClassName,
20629
- mediaClassName
20630
- ),
20631
- children: [
20632
- item.mediaComponent,
20633
- /* @__PURE__ */ jsxRuntime.jsx(
20634
- CarouselPagination,
20635
- {
20636
- onPrevious: () => api?.scrollPrev(),
20637
- onNext: () => api?.scrollNext(),
20638
- canScrollPrevious,
20639
- canScrollNext,
20640
- className: "absolute bottom-2 right-2 md:hidden"
20641
- }
20642
- )
20643
- ]
20644
- }
20645
- )
20646
- ]
20647
- }
20648
- ) }, `slide-${itemIndex}`)) }) }),
20422
+ initial: { opacity: 0 },
20423
+ animate: { opacity: 1 },
20424
+ exit: { opacity: 0 },
20425
+ transition: { duration: 0.3, ease: "easeInOut" },
20426
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
20427
+ "div",
20428
+ {
20429
+ ref: (node) => {
20430
+ slideRefs.current[activeIndex] = node;
20431
+ },
20432
+ style: equalizeOnMobile && mobileSlideHeight ? { minHeight: mobileSlideHeight } : void 0,
20433
+ className: cn(
20434
+ "flex flex-col-reverse gap-8 md:gap-14 md:flex-row md:items-center md:justify-between",
20435
+ slideClassName
20436
+ ),
20437
+ children: [
20438
+ activeItem?.content && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full", contentClassName), children: activeItem.content }),
20439
+ activeItem?.mediaComponent && /* @__PURE__ */ jsxRuntime.jsxs(
20440
+ "div",
20441
+ {
20442
+ className: cn(
20443
+ "relative w-full min-h-[25dvh] h-[25dvh] max-h-[35dvh] md:min-h-[300px] md:h-[400px] md:max-h-[500px] *:h-full *:object-cover",
20444
+ mediaWrapperClassName,
20445
+ mediaClassName
20446
+ ),
20447
+ children: [
20448
+ activeItem.mediaComponent,
20449
+ /* @__PURE__ */ jsxRuntime.jsx(
20450
+ CarouselPagination,
20451
+ {
20452
+ onPrevious: scrollPrev,
20453
+ onNext: scrollNext,
20454
+ canScrollPrevious,
20455
+ canScrollNext,
20456
+ className: "flex items-end justify-end gap-2 absolute bottom-2 right-2 md:hidden"
20457
+ }
20458
+ )
20459
+ ]
20460
+ }
20461
+ )
20462
+ ]
20463
+ }
20464
+ )
20465
+ },
20466
+ activeIndex
20467
+ ) }) }),
20649
20468
  /* @__PURE__ */ jsxRuntime.jsx(
20650
20469
  CarouselPagination,
20651
20470
  {
20652
- onPrevious: () => api?.scrollPrev(),
20653
- onNext: () => api?.scrollNext(),
20471
+ onPrevious: scrollPrev,
20472
+ onNext: scrollNext,
20654
20473
  canScrollPrevious,
20655
20474
  canScrollNext,
20656
20475
  className: "absolute bottom-6 right-0 hidden md:flex"
@@ -20659,6 +20478,8 @@ function FeatureShowcase({
20659
20478
  ] });
20660
20479
  }, [
20661
20480
  items,
20481
+ activeIndex,
20482
+ activeItem,
20662
20483
  carouselClassName,
20663
20484
  equalizeOnMobile,
20664
20485
  mobileSlideHeight,
@@ -20666,7 +20487,8 @@ function FeatureShowcase({
20666
20487
  contentClassName,
20667
20488
  mediaWrapperClassName,
20668
20489
  mediaClassName,
20669
- api,
20490
+ scrollPrev,
20491
+ scrollNext,
20670
20492
  canScrollPrevious,
20671
20493
  canScrollNext
20672
20494
  ]);
@@ -22336,14 +22158,544 @@ var FooterLogo = ({
22336
22158
  }
22337
22159
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center", logoClassName), children: logoContent });
22338
22160
  };
22161
+ function FooterCopyright({
22162
+ copyright,
22163
+ className
22164
+ }) {
22165
+ const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
22166
+ if (!copyright) {
22167
+ return null;
22168
+ }
22169
+ return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn(className), children: [
22170
+ "\xA9 ",
22171
+ currentYear,
22172
+ " ",
22173
+ copyright,
22174
+ ". All Rights Reserved."
22175
+ ] });
22176
+ }
22177
+ var brandAttributionOptions = [
22178
+ {
22179
+ brand: "open_site_ai",
22180
+ options: [
22181
+ {
22182
+ prefix: "Powered by ",
22183
+ anchorText: "AI Website Builder",
22184
+ href: "https://opensite.ai",
22185
+ suffix: ""
22186
+ },
22187
+ {
22188
+ prefix: "",
22189
+ anchorText: "AI-Powered Web Design",
22190
+ href: "https://opensite.ai",
22191
+ suffix: " by OpenSite"
22192
+ },
22193
+ {
22194
+ prefix: "Built with ",
22195
+ anchorText: "OpenSite AI",
22196
+ href: "https://opensite.ai"
22197
+ },
22198
+ {
22199
+ prefix: "Website by ",
22200
+ anchorText: "Intelligent Site Builder",
22201
+ href: "https://opensite.ai"
22202
+ },
22203
+ {
22204
+ prefix: "Designed using ",
22205
+ anchorText: "AI Website Platform",
22206
+ href: "https://opensite.ai"
22207
+ },
22208
+ {
22209
+ prefix: "",
22210
+ anchorText: "Automated Website Design",
22211
+ href: "https://opensite.ai",
22212
+ suffix: " \u2013 OpenSite"
22213
+ },
22214
+ {
22215
+ prefix: "Created with ",
22216
+ anchorText: "AI Digital Presence Solutions",
22217
+ href: "https://opensite.ai"
22218
+ },
22219
+ {
22220
+ prefix: "",
22221
+ anchorText: "Smart Website Builder",
22222
+ href: "https://opensite.ai",
22223
+ suffix: " by OpenSite AI"
22224
+ },
22225
+ {
22226
+ prefix: "Powered by ",
22227
+ anchorText: "Industry-Specific AI Web Platform",
22228
+ href: "https://opensite.ai"
22229
+ },
22230
+ {
22231
+ prefix: "",
22232
+ anchorText: "AI Site Generator",
22233
+ href: "https://opensite.ai",
22234
+ suffix: " \u2013 OpenSite"
22235
+ }
22236
+ ]
22237
+ },
22238
+ {
22239
+ brand: "dashtrack",
22240
+ options: [
22241
+ {
22242
+ prefix: "",
22243
+ anchorText: "Restaurant Website Builder",
22244
+ href: "https://dashtrack.com",
22245
+ suffix: " by DashTrack"
22246
+ },
22247
+ {
22248
+ prefix: "Powered by ",
22249
+ anchorText: "DashTrack",
22250
+ href: "https://dashtrack.com",
22251
+ suffix: " Restaurant Platform"
22252
+ },
22253
+ {
22254
+ prefix: "",
22255
+ anchorText: "Bar & Restaurant Marketing Platform",
22256
+ href: "https://dashtrack.com"
22257
+ },
22258
+ {
22259
+ prefix: "Menu & Website by ",
22260
+ anchorText: "Restaurant Digital Solutions",
22261
+ href: "https://dashtrack.com"
22262
+ },
22263
+ {
22264
+ prefix: "",
22265
+ anchorText: "Hospitality Website Design",
22266
+ href: "https://dashtrack.com",
22267
+ suffix: " \u2013 DashTrack"
22268
+ },
22269
+ {
22270
+ prefix: "Online Ordering by ",
22271
+ anchorText: "DashTrack Restaurant Technology",
22272
+ href: "https://dashtrack.com"
22273
+ },
22274
+ {
22275
+ prefix: "",
22276
+ anchorText: "Restaurant Review Management",
22277
+ href: "https://dashtrack.com",
22278
+ suffix: " Platform"
22279
+ },
22280
+ {
22281
+ prefix: "Built with ",
22282
+ anchorText: "AI-Powered Restaurant Website Builder",
22283
+ href: "https://dashtrack.com"
22284
+ },
22285
+ {
22286
+ prefix: "",
22287
+ anchorText: "Menu Automation & Restaurant SEO",
22288
+ href: "https://dashtrack.com"
22289
+ },
22290
+ {
22291
+ prefix: "Designed by ",
22292
+ anchorText: "DashTrack Hospitality Solutions",
22293
+ href: "https://dashtrack.com"
22294
+ }
22295
+ ]
22296
+ },
22297
+ {
22298
+ brand: "insurance_site_ai",
22299
+ options: [
22300
+ {
22301
+ prefix: "",
22302
+ anchorText: "Insurance Agency Website Design",
22303
+ href: "https://insurancesite.ai"
22304
+ },
22305
+ {
22306
+ prefix: "Powered by ",
22307
+ anchorText: "InsuranceSite AI",
22308
+ href: "https://insurancesite.ai"
22309
+ },
22310
+ {
22311
+ prefix: "",
22312
+ anchorText: "Insurance Agent Website Builder",
22313
+ href: "https://insurancesite.ai"
22314
+ },
22315
+ {
22316
+ prefix: "Built with ",
22317
+ anchorText: "AI Insurance CRM Platform",
22318
+ href: "https://insurancesite.ai"
22319
+ },
22320
+ {
22321
+ prefix: "",
22322
+ anchorText: "Insurance Agency Marketing Automation",
22323
+ href: "https://insurancesite.ai"
22324
+ },
22325
+ {
22326
+ prefix: "Website by ",
22327
+ anchorText: "Insurance Digital Solutions",
22328
+ href: "https://insurancesite.ai"
22329
+ },
22330
+ {
22331
+ prefix: "",
22332
+ anchorText: "Insurance Lead Generation Platform",
22333
+ href: "https://insurancesite.ai",
22334
+ suffix: " \u2013 InsuranceSite"
22335
+ },
22336
+ {
22337
+ prefix: "Designed with ",
22338
+ anchorText: "AI-Powered Insurance Website Builder",
22339
+ href: "https://insurancesite.ai"
22340
+ },
22341
+ {
22342
+ prefix: "",
22343
+ anchorText: "Insurance Broker Web Platform",
22344
+ href: "https://insurancesite.ai"
22345
+ },
22346
+ {
22347
+ prefix: "Powered by ",
22348
+ anchorText: "InsuranceSite Agency Solutions",
22349
+ href: "https://insurancesite.ai"
22350
+ }
22351
+ ]
22352
+ },
22353
+ {
22354
+ brand: "realtor_site_ai",
22355
+ options: [
22356
+ {
22357
+ prefix: "",
22358
+ anchorText: "Real Estate Agent Website Builder",
22359
+ href: "https://realtorsite.ai"
22360
+ },
22361
+ {
22362
+ prefix: "Powered by ",
22363
+ anchorText: "RealtorSite AI",
22364
+ href: "https://realtorsite.ai"
22365
+ },
22366
+ {
22367
+ prefix: "",
22368
+ anchorText: "Realtor Website with MLS Integration",
22369
+ href: "https://realtorsite.ai"
22370
+ },
22371
+ {
22372
+ prefix: "Built with ",
22373
+ anchorText: "AI Real Estate Marketing Platform",
22374
+ href: "https://realtorsite.ai"
22375
+ },
22376
+ {
22377
+ prefix: "",
22378
+ anchorText: "IDX Website Builder for Realtors",
22379
+ href: "https://realtorsite.ai"
22380
+ },
22381
+ {
22382
+ prefix: "Website by ",
22383
+ anchorText: "Real Estate Digital Solutions",
22384
+ href: "https://realtorsite.ai"
22385
+ },
22386
+ {
22387
+ prefix: "",
22388
+ anchorText: "Property Listing Website Platform",
22389
+ href: "https://realtorsite.ai",
22390
+ suffix: " \u2013 RealtorSite"
22391
+ },
22392
+ {
22393
+ prefix: "Designed with ",
22394
+ anchorText: "AI-Powered Realtor Website Builder",
22395
+ href: "https://realtorsite.ai"
22396
+ },
22397
+ {
22398
+ prefix: "",
22399
+ anchorText: "Real Estate Lead Generation Platform",
22400
+ href: "https://realtorsite.ai"
22401
+ },
22402
+ {
22403
+ prefix: "Powered by ",
22404
+ anchorText: "RealtorSite Agent Solutions",
22405
+ href: "https://realtorsite.ai"
22406
+ }
22407
+ ]
22408
+ },
22409
+ {
22410
+ brand: "ortho_site_ai",
22411
+ options: [
22412
+ {
22413
+ prefix: "",
22414
+ anchorText: "Orthodontist Website Design",
22415
+ href: "https://orthosite.ai"
22416
+ },
22417
+ {
22418
+ prefix: "Powered by ",
22419
+ anchorText: "OrthoSite AI",
22420
+ href: "https://orthosite.ai"
22421
+ },
22422
+ {
22423
+ prefix: "",
22424
+ anchorText: "Orthodontic Practice Website Builder",
22425
+ href: "https://orthosite.ai"
22426
+ },
22427
+ {
22428
+ prefix: "Built with ",
22429
+ anchorText: "AI Orthodontic Marketing Platform",
22430
+ href: "https://orthosite.ai"
22431
+ },
22432
+ {
22433
+ prefix: "",
22434
+ anchorText: "Braces & Invisalign Practice Website",
22435
+ href: "https://orthosite.ai"
22436
+ },
22437
+ {
22438
+ prefix: "Website by ",
22439
+ anchorText: "Orthodontic Digital Solutions",
22440
+ href: "https://orthosite.ai"
22441
+ },
22442
+ {
22443
+ prefix: "",
22444
+ anchorText: "Orthodontist SEO & Patient Acquisition",
22445
+ href: "https://orthosite.ai",
22446
+ suffix: " \u2013 OrthoSite"
22447
+ },
22448
+ {
22449
+ prefix: "Designed with ",
22450
+ anchorText: "AI-Powered Orthodontic Website Builder",
22451
+ href: "https://orthosite.ai"
22452
+ },
22453
+ {
22454
+ prefix: "",
22455
+ anchorText: "Orthodontic Practice Marketing Platform",
22456
+ href: "https://orthosite.ai"
22457
+ },
22458
+ {
22459
+ prefix: "Powered by ",
22460
+ anchorText: "OrthoSite Practice Solutions",
22461
+ href: "https://orthosite.ai"
22462
+ }
22463
+ ]
22464
+ },
22465
+ {
22466
+ brand: "dental_site_ai",
22467
+ options: [
22468
+ {
22469
+ prefix: "",
22470
+ anchorText: "Dental Practice Website Design",
22471
+ href: "https://dentalsite.ai"
22472
+ },
22473
+ {
22474
+ prefix: "Powered by ",
22475
+ anchorText: "DentalSite AI",
22476
+ href: "https://dentalsite.ai"
22477
+ },
22478
+ {
22479
+ prefix: "",
22480
+ anchorText: "Dentist Website Builder",
22481
+ href: "https://dentalsite.ai"
22482
+ },
22483
+ {
22484
+ prefix: "Built with ",
22485
+ anchorText: "AI Dental Marketing Platform",
22486
+ href: "https://dentalsite.ai"
22487
+ },
22488
+ {
22489
+ prefix: "",
22490
+ anchorText: "Dental Clinic SEO & Patient Growth",
22491
+ href: "https://dentalsite.ai"
22492
+ },
22493
+ {
22494
+ prefix: "Website by ",
22495
+ anchorText: "Dental Digital Solutions",
22496
+ href: "https://dentalsite.ai"
22497
+ },
22498
+ {
22499
+ prefix: "",
22500
+ anchorText: "Dental Patient Acquisition Platform",
22501
+ href: "https://dentalsite.ai"
22502
+ },
22503
+ {
22504
+ prefix: "Designed with ",
22505
+ anchorText: "AI-Powered Dental Website Builder",
22506
+ href: "https://dentalsite.ai"
22507
+ },
22508
+ {
22509
+ prefix: "",
22510
+ anchorText: "Dental Practice Marketing Automation",
22511
+ href: "https://dentalsite.ai"
22512
+ },
22513
+ {
22514
+ prefix: "Powered by ",
22515
+ anchorText: "DentalSite Practice Solutions",
22516
+ href: "https://dentalsite.ai"
22517
+ }
22518
+ ]
22519
+ },
22520
+ {
22521
+ brand: "fit_site_ai",
22522
+ options: [
22523
+ {
22524
+ prefix: "",
22525
+ anchorText: "Personal Trainer Website Builder",
22526
+ href: "https://fitsite.ai"
22527
+ },
22528
+ {
22529
+ prefix: "Powered by ",
22530
+ anchorText: "FitSite AI",
22531
+ href: "https://fitsite.ai"
22532
+ },
22533
+ {
22534
+ prefix: "",
22535
+ anchorText: "Gym Website Design",
22536
+ href: "https://fitsite.ai"
22537
+ },
22538
+ {
22539
+ prefix: "Built with ",
22540
+ anchorText: "AI Fitness Marketing Platform",
22541
+ href: "https://fitsite.ai"
22542
+ },
22543
+ {
22544
+ prefix: "",
22545
+ anchorText: "Fitness Studio Website Builder",
22546
+ href: "https://fitsite.ai"
22547
+ },
22548
+ {
22549
+ prefix: "Website by ",
22550
+ anchorText: "Personal Training Digital Solutions",
22551
+ href: "https://fitsite.ai"
22552
+ },
22553
+ {
22554
+ prefix: "",
22555
+ anchorText: "Gym CRM & Member Management Platform",
22556
+ href: "https://fitsite.ai",
22557
+ suffix: " \u2013 FitSite"
22558
+ },
22559
+ {
22560
+ prefix: "Designed with ",
22561
+ anchorText: "AI-Powered Fitness Website Builder",
22562
+ href: "https://fitsite.ai"
22563
+ },
22564
+ {
22565
+ prefix: "",
22566
+ anchorText: "Fitness Business Marketing Automation",
22567
+ href: "https://fitsite.ai"
22568
+ },
22569
+ {
22570
+ prefix: "Powered by ",
22571
+ anchorText: "FitSite Gym Solutions",
22572
+ href: "https://fitsite.ai"
22573
+ }
22574
+ ]
22575
+ },
22576
+ {
22577
+ brand: "cast_kit",
22578
+ options: [
22579
+ {
22580
+ prefix: "",
22581
+ anchorText: "Podcast Website Builder",
22582
+ href: "https://castkit.com"
22583
+ },
22584
+ {
22585
+ prefix: "Powered by ",
22586
+ anchorText: "CastKit",
22587
+ href: "https://castkit.com"
22588
+ },
22589
+ {
22590
+ prefix: "",
22591
+ anchorText: "Podcaster Website & Hosting Platform",
22592
+ href: "https://castkit.com"
22593
+ },
22594
+ {
22595
+ prefix: "Built with ",
22596
+ anchorText: "AI Podcast Marketing Tools",
22597
+ href: "https://castkit.com"
22598
+ },
22599
+ {
22600
+ prefix: "",
22601
+ anchorText: "Podcast SEO & Content Repurposing",
22602
+ href: "https://castkit.com"
22603
+ },
22604
+ {
22605
+ prefix: "Website by ",
22606
+ anchorText: "Podcast Digital Solutions",
22607
+ href: "https://castkit.com"
22608
+ },
22609
+ {
22610
+ prefix: "",
22611
+ anchorText: "Podcast Distribution Platform",
22612
+ href: "https://castkit.com",
22613
+ suffix: " \u2013 CastKit"
22614
+ },
22615
+ {
22616
+ prefix: "Designed with ",
22617
+ anchorText: "AI-Powered Podcast Website Builder",
22618
+ href: "https://castkit.com"
22619
+ },
22620
+ {
22621
+ prefix: "",
22622
+ anchorText: "Podcast Show Notes & Transcript Platform",
22623
+ href: "https://castkit.com"
22624
+ },
22625
+ {
22626
+ prefix: "Powered by ",
22627
+ anchorText: "CastKit Podcasting Solutions",
22628
+ href: "https://castkit.com"
22629
+ }
22630
+ ]
22631
+ }
22632
+ ];
22633
+ var brandAttributionMap = brandAttributionOptions.reduce(
22634
+ (acc, entry) => {
22635
+ acc[entry.brand] = entry.options;
22636
+ return acc;
22637
+ },
22638
+ {}
22639
+ );
22640
+ function buildTrackedHref(baseHref) {
22641
+ if (typeof window === "undefined") {
22642
+ return baseHref;
22643
+ }
22644
+ try {
22645
+ const url = new URL(baseHref);
22646
+ const source = window.location.host;
22647
+ const sourceRef = window.location.href;
22648
+ url.searchParams.set("source", source);
22649
+ url.searchParams.set("sourceRef", sourceRef);
22650
+ return url.toString();
22651
+ } catch {
22652
+ try {
22653
+ const url = new URL(baseHref, window.location.origin);
22654
+ const source = window.location.host;
22655
+ const sourceRef = window.location.href;
22656
+ url.searchParams.set("source", source);
22657
+ url.searchParams.set("sourceRef", sourceRef);
22658
+ return url.toString();
22659
+ } catch {
22660
+ return baseHref;
22661
+ }
22662
+ }
22663
+ }
22664
+ var BrandAttribution = ({
22665
+ variant = "span",
22666
+ containerClassName,
22667
+ linkClassName,
22668
+ internalBrandSlug,
22669
+ optionIndex
22670
+ }) => {
22671
+ const options = brandAttributionMap[internalBrandSlug];
22672
+ if (!options || optionIndex < 0 || optionIndex >= options.length) {
22673
+ return null;
22674
+ }
22675
+ const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
22676
+ const ContainerEl = variant;
22677
+ const trackedHref = buildTrackedHref(href);
22678
+ return /* @__PURE__ */ jsxRuntime.jsxs(ContainerEl, { className: containerClassName, children: [
22679
+ prefix,
22680
+ /* @__PURE__ */ jsxRuntime.jsx(
22681
+ "a",
22682
+ {
22683
+ href: trackedHref,
22684
+ target: "_blank",
22685
+ rel: "noreferrer noopener",
22686
+ className: linkClassName,
22687
+ children: anchorText
22688
+ }
22689
+ ),
22690
+ suffix
22691
+ ] });
22692
+ };
22339
22693
  function FooterLinksGrid({
22340
22694
  logo,
22341
22695
  className,
22342
22696
  tagline,
22343
22697
  menuItems,
22344
22698
  copyright,
22345
- attributionText,
22346
- attributionHref,
22347
22699
  bottomLinks,
22348
22700
  background,
22349
22701
  pattern,
@@ -22352,8 +22704,6 @@ function FooterLinksGrid({
22352
22704
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
22353
22705
  spacing = "py-6 md:py-32"
22354
22706
  }) {
22355
- const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
22356
- const copyrightText = copyright ?? `\xA9 ${currentYear}`;
22357
22707
  return /* @__PURE__ */ jsxRuntime.jsx(
22358
22708
  Section,
22359
22709
  {
@@ -22383,13 +22733,14 @@ function FooterLinksGrid({
22383
22733
  ] }),
22384
22734
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-24 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium md:flex-row md:items-center", children: [
22385
22735
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:flex-row md:items-center md:gap-4", children: [
22386
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
22387
- attributionText && /* @__PURE__ */ jsxRuntime.jsx(
22388
- Pressable,
22736
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
22737
+ /* @__PURE__ */ jsxRuntime.jsx(
22738
+ BrandAttribution,
22389
22739
  {
22390
- href: attributionHref || "https://opensite.ai",
22391
- className: "hover:text-primary",
22392
- children: attributionText
22740
+ internalBrandSlug: "open_site_ai",
22741
+ optionIndex: 0,
22742
+ variant: "span",
22743
+ linkClassName: "hover:opacity-100"
22393
22744
  }
22394
22745
  )
22395
22746
  ] }),
@@ -22410,8 +22761,6 @@ function FooterSocialNewsletter({
22410
22761
  privacyLinkUrl,
22411
22762
  privacyConsentText,
22412
22763
  copyright,
22413
- attributionText,
22414
- attributionHref,
22415
22764
  className,
22416
22765
  contentClassName,
22417
22766
  logoWrapperClassName,
@@ -22437,8 +22786,6 @@ function FooterSocialNewsletter({
22437
22786
  patternOpacity,
22438
22787
  optixFlowConfig
22439
22788
  }) {
22440
- const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
22441
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
22442
22789
  return /* @__PURE__ */ jsxRuntime.jsx(
22443
22790
  Section,
22444
22791
  {
@@ -22573,17 +22920,18 @@ function FooterSocialNewsletter({
22573
22920
  "div",
22574
22921
  {
22575
22922
  className: cn(
22576
- "flex flex-col gap-2 md:flex-row md:items-center md:gap-4",
22923
+ "flex flex-col gap-2 opacity-80 md:flex-row md:items-center md:gap-4",
22577
22924
  copyrightClassName
22578
22925
  ),
22579
22926
  children: [
22580
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
22581
- attributionText && /* @__PURE__ */ jsxRuntime.jsx(
22582
- Pressable,
22927
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
22928
+ /* @__PURE__ */ jsxRuntime.jsx(
22929
+ BrandAttribution,
22583
22930
  {
22584
- href: attributionHref || "https://opensite.ai",
22585
- className: "hover:text-primary",
22586
- children: attributionText
22931
+ internalBrandSlug: "open_site_ai",
22932
+ optionIndex: 7,
22933
+ variant: "span",
22934
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
22587
22935
  }
22588
22936
  )
22589
22937
  ]
@@ -22614,14 +22962,7 @@ function FooterSocialApps({
22614
22962
  if (!sections || sections.length === 0) return null;
22615
22963
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22616
22964
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 font-bold", children: section.title }),
22617
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
22618
- "li",
22619
- {
22620
- className: "font-medium hover:text-primary",
22621
- children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
22622
- },
22623
- linkIdx
22624
- )) })
22965
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "font-medium ", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name }) }, linkIdx)) })
22625
22966
  ] }, sectionIdx));
22626
22967
  }, [sections]);
22627
22968
  const socialLinksContent = React52.useMemo(() => {
@@ -22634,20 +22975,22 @@ function FooterSocialApps({
22634
22975
  iconNameOverride: social.iconNameOverride,
22635
22976
  iconSize: 24,
22636
22977
  className: cn(
22637
- "flex size-12 items-center justify-center rounded-full transition-colors hover:text-primary",
22638
- getNestedCardBg(background),
22639
- getNestedCardTextColor(background)
22978
+ "flex size-12 items-center justify-center rounded-full transition-colors"
22640
22979
  )
22641
22980
  }
22642
22981
  ) }, idx));
22643
22982
  }, [socialLinks, background]);
22644
22983
  const appLinksContent = React52.useMemo(() => {
22645
22984
  if (!appLinks || appLinks.length === 0) return null;
22646
- 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: cn(
22647
- "flex size-12 items-center justify-center rounded-full transition-colors hover:text-primary",
22648
- getNestedCardBg(background),
22649
- getNestedCardTextColor(background)
22650
- ), children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: app.icon, size: 24 }) }) }) }, idx));
22985
+ 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(
22986
+ "span",
22987
+ {
22988
+ className: cn(
22989
+ "flex size-12 items-center justify-center rounded-full transition-colors"
22990
+ ),
22991
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: app.icon, size: 24 })
22992
+ }
22993
+ ) }) }, idx));
22651
22994
  }, [appLinks]);
22652
22995
  return /* @__PURE__ */ jsxRuntime.jsx(
22653
22996
  Section,
@@ -22672,15 +23015,26 @@ function FooterSocialApps({
22672
23015
  (socialLinks && socialLinks.length > 0 || appLinks && appLinks.length > 0) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6", children: [
22673
23016
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22674
23017
  socialLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: socialLabel }),
22675
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: socialLinksContent })
23018
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2", children: socialLinksContent })
22676
23019
  ] }),
22677
23020
  appLinks && appLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
22678
23021
  appLabel && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-3 font-bold", children: appLabel }),
22679
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2 text-muted-foreground", children: appLinksContent })
23022
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center gap-2", children: appLinksContent })
22680
23023
  ] })
22681
23024
  ] })
22682
23025
  ] }),
22683
- 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 }) }) })
23026
+ /* @__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 opacity-80 md:flex-row md:text-left", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-4", children: [
23027
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23028
+ /* @__PURE__ */ jsxRuntime.jsx(
23029
+ BrandAttribution,
23030
+ {
23031
+ internalBrandSlug: "open_site_ai",
23032
+ optionIndex: 6,
23033
+ variant: "span",
23034
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23035
+ }
23036
+ )
23037
+ ] }) }) })
22684
23038
  ] }) })
22685
23039
  }
22686
23040
  );
@@ -22691,11 +23045,11 @@ function FooterSimpleCentered({
22691
23045
  sitemap,
22692
23046
  copyright,
22693
23047
  bottomLinks,
22694
- attributionText,
22695
- attributionHref = "https://opensite.ai",
22696
23048
  className,
22697
23049
  footerClassName,
23050
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
22698
23051
  contentClassName,
23052
+ spacing = "py-12 md:py-32",
22699
23053
  brandClassName,
22700
23054
  logoWrapperClassName,
22701
23055
  logoClassName,
@@ -22710,7 +23064,6 @@ function FooterSimpleCentered({
22710
23064
  bottomLinksClassName,
22711
23065
  bottomLinkClassName,
22712
23066
  background,
22713
- spacing,
22714
23067
  pattern,
22715
23068
  patternOpacity,
22716
23069
  optixFlowConfig
@@ -22724,24 +23077,30 @@ function FooterSimpleCentered({
22724
23077
  {
22725
23078
  href: link.href,
22726
23079
  className: cn(
22727
- "text-sm text-muted-foreground transition-colors hover:text-primary",
23080
+ "text-sm opacity-80 transition-colors hover:opacity-100",
22728
23081
  sitemapLinkClassName
22729
23082
  ),
22730
23083
  children: link.label
22731
23084
  }
22732
23085
  ) }, link.href)) })
22733
23086
  ] }, section.title));
22734
- }, [sitemap, sitemapSectionClassName, sitemapTitleClassName, sitemapLinksClassName, sitemapLinkClassName]);
23087
+ }, [
23088
+ sitemap,
23089
+ sitemapSectionClassName,
23090
+ sitemapTitleClassName,
23091
+ sitemapLinksClassName,
23092
+ sitemapLinkClassName
23093
+ ]);
22735
23094
  const bottomLinksContent = React52.useMemo(() => {
22736
23095
  if (!bottomLinks || bottomLinks.length === 0) return null;
22737
23096
  return bottomLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React52__namespace.Fragment, { children: [
22738
- idx > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: "\u2022" }),
23097
+ idx > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-70", children: "\u2022" }),
22739
23098
  /* @__PURE__ */ jsxRuntime.jsx(
22740
23099
  Pressable,
22741
23100
  {
22742
23101
  href: link.href,
22743
23102
  className: cn(
22744
- "text-sm text-muted-foreground transition-colors hover:text-primary",
23103
+ "text-sm opacity-80 transition-colors hover:opacity-100",
22745
23104
  bottomLinkClassName
22746
23105
  ),
22747
23106
  children: link.text
@@ -22757,6 +23116,7 @@ function FooterSimpleCentered({
22757
23116
  pattern,
22758
23117
  patternOpacity,
22759
23118
  className: cn(className),
23119
+ containerClassName,
22760
23120
  children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { className: cn(footerClassName), children: [
22761
23121
  /* @__PURE__ */ jsxRuntime.jsxs(
22762
23122
  "div",
@@ -22784,25 +23144,16 @@ function FooterSimpleCentered({
22784
23144
  )
22785
23145
  }
22786
23146
  ),
22787
- tagline && /* @__PURE__ */ jsxRuntime.jsx(
22788
- "p",
22789
- {
22790
- className: cn(
22791
- "text-base font-medium text-muted-foreground",
22792
- taglineClassName
22793
- ),
22794
- children: tagline
22795
- }
22796
- )
23147
+ tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-base font-mediumd", taglineClassName), children: tagline })
22797
23148
  ] }),
22798
23149
  /* @__PURE__ */ jsxRuntime.jsx(
22799
23150
  "div",
22800
23151
  {
22801
23152
  className: cn(
22802
- "flex flex-col items-start gap-x-20 gap-y-14 xl:flex-row",
23153
+ "flex flex-col items-start gap-x-20 gap-y-14 xl:flex-row w-full",
22803
23154
  sitemapWrapperClassName
22804
23155
  ),
22805
- 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 })
23156
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid md:flex w-full gap-8 md:gap-6 lg:gap-12 md:flex-wrap md:justify-between grid-cols-2", children: sitemapContent })
22806
23157
  }
22807
23158
  )
22808
23159
  ]
@@ -22812,7 +23163,7 @@ function FooterSimpleCentered({
22812
23163
  "div",
22813
23164
  {
22814
23165
  className: cn(
22815
- "flex flex-col items-baseline justify-between gap-8 border-t border-border pt-8 md:flex-row md:gap-16",
23166
+ "flex flex-col items-baseline justify-between gap-8 border-t pt-8 md:flex-row md:gap-16",
22816
23167
  bottomBarClassName
22817
23168
  ),
22818
23169
  children: [
@@ -22820,19 +23171,18 @@ function FooterSimpleCentered({
22820
23171
  "div",
22821
23172
  {
22822
23173
  className: cn(
22823
- "flex flex-col gap-2 text-xs text-muted-foreground sm:flex-row sm:items-center sm:gap-4 sm:text-sm",
23174
+ "flex flex-col gap-2 text-xs opacity-80 sm:flex-row sm:items-center sm:gap-4 sm:text-sm",
22824
23175
  copyrightClassName
22825
23176
  ),
22826
23177
  children: [
22827
- copyright && /* @__PURE__ */ jsxRuntime.jsx("span", { children: copyright }),
22828
- attributionHref && attributionText && /* @__PURE__ */ jsxRuntime.jsx(
22829
- Pressable,
23178
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23179
+ /* @__PURE__ */ jsxRuntime.jsx(
23180
+ BrandAttribution,
22830
23181
  {
22831
- href: attributionHref,
22832
- className: "hover:text-accent-foreground",
22833
- target: "_blank",
22834
- rel: "noopener noreferrer",
22835
- children: attributionText
23182
+ internalBrandSlug: "open_site_ai",
23183
+ optionIndex: 5,
23184
+ variant: "span",
23185
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
22836
23186
  }
22837
23187
  )
22838
23188
  ]
@@ -22842,7 +23192,7 @@ function FooterSimpleCentered({
22842
23192
  "div",
22843
23193
  {
22844
23194
  className: cn(
22845
- "flex flex-col items-start gap-4 text-xs text-muted-foreground sm:text-sm md:flex-row lg:items-center",
23195
+ "flex flex-col items-start gap-4 text-xs sm:text-sm md:flex-row lg:items-center",
22846
23196
  bottomLinksClassName
22847
23197
  ),
22848
23198
  children: bottomLinksContent
@@ -22861,8 +23211,6 @@ function FooterBrandDescription({
22861
23211
  description,
22862
23212
  socialLinks,
22863
23213
  copyright,
22864
- attributionText,
22865
- attributionHref,
22866
23214
  legalLinks,
22867
23215
  className,
22868
23216
  contentClassName,
@@ -22883,13 +23231,12 @@ function FooterBrandDescription({
22883
23231
  legalLinksClassName,
22884
23232
  legalLinkClassName,
22885
23233
  background,
22886
- spacing,
22887
23234
  pattern,
22888
23235
  patternOpacity,
22889
- optixFlowConfig
23236
+ optixFlowConfig,
23237
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
23238
+ spacing = "py-6 md:py-32"
22890
23239
  }) {
22891
- const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
22892
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
22893
23240
  return /* @__PURE__ */ jsxRuntime.jsx(
22894
23241
  Section,
22895
23242
  {
@@ -22898,6 +23245,7 @@ function FooterBrandDescription({
22898
23245
  pattern,
22899
23246
  patternOpacity,
22900
23247
  className: cn(className),
23248
+ containerClassName,
22901
23249
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contentClassName), children: [
22902
23250
  /* @__PURE__ */ jsxRuntime.jsxs(
22903
23251
  "div",
@@ -22936,7 +23284,7 @@ function FooterBrandDescription({
22936
23284
  "p",
22937
23285
  {
22938
23286
  className: cn(
22939
- "max-w-[70%] text-sm text-muted-foreground",
23287
+ "max-w-[70%] text-sm opacity-80",
22940
23288
  descriptionClassName
22941
23289
  ),
22942
23290
  children: description
@@ -22946,7 +23294,7 @@ function FooterBrandDescription({
22946
23294
  "ul",
22947
23295
  {
22948
23296
  className: cn(
22949
- "flex items-center space-x-6 text-muted-foreground",
23297
+ "flex items-center space-x-6 opacity-80",
22950
23298
  socialLinksClassName
22951
23299
  ),
22952
23300
  children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -22956,7 +23304,7 @@ function FooterBrandDescription({
22956
23304
  label: social.label,
22957
23305
  iconNameOverride: social.iconNameOverride,
22958
23306
  className: cn(
22959
- "font-medium hover:text-primary",
23307
+ "font-medium hover:opacity-100",
22960
23308
  socialLinkClassName
22961
23309
  )
22962
23310
  }
@@ -22979,14 +23327,14 @@ function FooterBrandDescription({
22979
23327
  "ul",
22980
23328
  {
22981
23329
  className: cn(
22982
- "space-y-3 text-sm text-muted-foreground",
23330
+ "space-y-3 text-sm opacity-80",
22983
23331
  navLinksClassName
22984
23332
  ),
22985
23333
  children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
22986
23334
  "li",
22987
23335
  {
22988
23336
  className: cn(
22989
- "font-medium hover:text-primary",
23337
+ "font-medium hover:opacity-100",
22990
23338
  navLinkClassName
22991
23339
  ),
22992
23340
  children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
@@ -23005,7 +23353,7 @@ function FooterBrandDescription({
23005
23353
  "div",
23006
23354
  {
23007
23355
  className: cn(
23008
- "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",
23356
+ "mt-8 flex flex-col justify-between gap-4 border-t py-8 text-xs font-medium opacity-70 md:flex-row md:items-center md:text-left",
23009
23357
  bottomClassName
23010
23358
  ),
23011
23359
  children: [
@@ -23017,15 +23365,14 @@ function FooterBrandDescription({
23017
23365
  copyrightClassName
23018
23366
  ),
23019
23367
  children: [
23020
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
23021
- attributionText && /* @__PURE__ */ jsxRuntime.jsx(
23022
- Pressable,
23368
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23369
+ /* @__PURE__ */ jsxRuntime.jsx(
23370
+ BrandAttribution,
23023
23371
  {
23024
- href: attributionHref || "https://opensite.ai",
23025
- className: "hover:text-primary",
23026
- target: "_blank",
23027
- rel: "noopener noreferrer",
23028
- children: attributionText
23372
+ internalBrandSlug: "open_site_ai",
23373
+ optionIndex: 4,
23374
+ variant: "span",
23375
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23029
23376
  }
23030
23377
  )
23031
23378
  ]
@@ -23041,7 +23388,7 @@ function FooterBrandDescription({
23041
23388
  children: legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
23042
23389
  "li",
23043
23390
  {
23044
- className: cn("hover:text-primary", legalLinkClassName),
23391
+ className: cn("hover:opacity-100", legalLinkClassName),
23045
23392
  children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
23046
23393
  },
23047
23394
  idx
@@ -23078,10 +23425,10 @@ function FooterNewsletterGrid({
23078
23425
  if (!sections || sections.length === 0) return null;
23079
23426
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-2 md:col-span-1", children: [
23080
23427
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-5 font-medium", children: section.title }),
23081
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-sm text-muted-foreground", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
23428
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-4 text-sm opacity-80", children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx(
23082
23429
  "li",
23083
23430
  {
23084
- className: "font-medium hover:text-primary",
23431
+ className: "font-medium hover:opacity-100",
23085
23432
  children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, children: link.name })
23086
23433
  },
23087
23434
  linkIdx
@@ -23097,7 +23444,7 @@ function FooterNewsletterGrid({
23097
23444
  label: social.label,
23098
23445
  iconNameOverride: social.iconNameOverride,
23099
23446
  iconSize: 24,
23100
- className: "font-medium duration-200 hover:scale-110 hover:text-muted-foreground"
23447
+ className: "font-medium duration-200 hover:scale-110 hover:opacity-70"
23101
23448
  }
23102
23449
  ) }, idx));
23103
23450
  }, [socialLinks]);
@@ -23120,7 +23467,7 @@ function FooterNewsletterGrid({
23120
23467
  optixFlowConfig
23121
23468
  }
23122
23469
  ) }),
23123
- description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: description }),
23470
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80", children: description }),
23124
23471
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex items-center space-x-6", children: socialLinksContent })
23125
23472
  ] }),
23126
23473
  sectionsContent,
@@ -23132,7 +23479,7 @@ function FooterNewsletterGrid({
23132
23479
  {
23133
23480
  type: "email",
23134
23481
  placeholder: newsletterPlaceholder,
23135
- 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"
23482
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
23136
23483
  }
23137
23484
  ),
23138
23485
  newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
@@ -23144,20 +23491,31 @@ function FooterNewsletterGrid({
23144
23491
  }
23145
23492
  )
23146
23493
  ] }) }),
23147
- (privacyText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-xs font-medium text-muted-foreground", children: [
23494
+ (privacyText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-xs font-medium opacity-80", children: [
23148
23495
  privacyText,
23149
23496
  privacyLinkText && privacyLinkUrl && /* @__PURE__ */ jsxRuntime.jsx(
23150
23497
  Pressable,
23151
23498
  {
23152
23499
  href: privacyLinkUrl,
23153
- className: "ml-1 text-primary hover:underline",
23500
+ className: "ml-1 hover:underline hover:opacity-100",
23154
23501
  children: privacyLinkText
23155
23502
  }
23156
23503
  )
23157
23504
  ] })
23158
23505
  ] })
23159
23506
  ] }),
23160
- 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 }) })
23507
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-20 flex flex-col justify-between gap-4 border-t pt-8 text-sm font-medium opacity-80 lg:flex-row lg:items-center lg:text-left", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-4", children: [
23508
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23509
+ /* @__PURE__ */ jsxRuntime.jsx(
23510
+ BrandAttribution,
23511
+ {
23512
+ internalBrandSlug: "open_site_ai",
23513
+ optionIndex: 3,
23514
+ variant: "span",
23515
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23516
+ }
23517
+ )
23518
+ ] }) })
23161
23519
  ] }) })
23162
23520
  }
23163
23521
  );
@@ -23174,8 +23532,6 @@ function FooterCtaBanner({
23174
23532
  newsletterPlaceholder,
23175
23533
  newsletterButtonText,
23176
23534
  copyright,
23177
- attributionText,
23178
- attributionHref,
23179
23535
  legalLinks,
23180
23536
  className,
23181
23537
  contentClassName,
@@ -23206,8 +23562,6 @@ function FooterCtaBanner({
23206
23562
  patternOpacity,
23207
23563
  optixFlowConfig
23208
23564
  }) {
23209
- const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
23210
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
23211
23565
  return /* @__PURE__ */ jsxRuntime.jsx(
23212
23566
  Section,
23213
23567
  {
@@ -23217,14 +23571,14 @@ function FooterCtaBanner({
23217
23571
  patternOpacity,
23218
23572
  className: cn("dark", className),
23219
23573
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("footer", { children: [
23220
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 rounded-lg bg-primary/10 p-8 text-center md:p-12", ctaBannerClassName), children: [
23574
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 rounded-lg border p-8 text-center md:p-12", ctaBannerClassName), children: [
23221
23575
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-4 text-3xl font-bold md:text-4xl", ctaHeadingClassName), children: ctaHeading }),
23222
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mb-6 max-w-2xl text-muted-foreground", ctaDescriptionClassName), children: ctaDescription }),
23576
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mb-6 max-w-2xl opacity-80", ctaDescriptionClassName), children: ctaDescription }),
23223
23577
  /* @__PURE__ */ jsxRuntime.jsx(
23224
23578
  Pressable,
23225
23579
  {
23226
23580
  href: ctaButtonUrl,
23227
- 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-11 px-8", ctaButtonClassName),
23581
+ className: cn("inline-flex items-center justify-center whitespace-nowrap rounded-md border 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 hover:opacity-80 h-11 px-8", ctaButtonClassName),
23228
23582
  children: ctaButtonText
23229
23583
  }
23230
23584
  )
@@ -23248,7 +23602,7 @@ function FooterCtaBanner({
23248
23602
  {
23249
23603
  type: "email",
23250
23604
  placeholder: newsletterPlaceholder,
23251
- 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)
23605
+ className: cn("flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", newsletterInputClassName)
23252
23606
  }
23253
23607
  ),
23254
23608
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -23267,37 +23621,36 @@ function FooterCtaBanner({
23267
23621
  href: social.href,
23268
23622
  label: social.label,
23269
23623
  iconNameOverride: social.iconNameOverride,
23270
- className: cn("text-muted-foreground transition-colors hover:text-primary", socialLinkClassName)
23624
+ className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
23271
23625
  }
23272
23626
  ) }, idx)) })
23273
23627
  ] }),
23274
23628
  sections?.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
23275
23629
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
23276
- /* @__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", { children: /* @__PURE__ */ jsxRuntime.jsx(
23630
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm opacity-80", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
23277
23631
  Pressable,
23278
23632
  {
23279
23633
  href: link.href,
23280
- className: cn("hover:text-primary", navLinkClassName),
23634
+ className: cn("hover:opacity-100", navLinkClassName),
23281
23635
  children: link.name
23282
23636
  }
23283
23637
  ) }, linkIdx)) })
23284
23638
  ] }, sectionIdx))
23285
23639
  ] }),
23286
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t border-border pt-8 text-sm text-muted-foreground md:flex-row md:items-center", bottomClassName), children: [
23640
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center", bottomClassName), children: [
23287
23641
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
23288
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
23642
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23289
23643
  /* @__PURE__ */ jsxRuntime.jsx(
23290
- Pressable,
23644
+ BrandAttribution,
23291
23645
  {
23292
- href: attributionHref,
23293
- className: "hover:text-primary",
23294
- target: "_blank",
23295
- rel: "noopener noreferrer",
23296
- children: attributionText
23646
+ internalBrandSlug: "open_site_ai",
23647
+ optionIndex: 8,
23648
+ variant: "span",
23649
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23297
23650
  }
23298
23651
  )
23299
23652
  ] }),
23300
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: cn("hover:text-primary", legalLinkClassName), children: link.name }) }, idx)) })
23653
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex gap-4", legalLinksClassName), children: legalLinks?.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: cn("hover:opacity-100", legalLinkClassName), children: link.name }) }, idx)) })
23301
23654
  ] })
23302
23655
  ] }) })
23303
23656
  }
@@ -23315,8 +23668,6 @@ function FooterContactCard({
23315
23668
  location,
23316
23669
  locationLabel,
23317
23670
  copyright,
23318
- attributionText,
23319
- attributionHref,
23320
23671
  className,
23321
23672
  contentClassName,
23322
23673
  gridClassName,
@@ -23341,8 +23692,6 @@ function FooterContactCard({
23341
23692
  patternOpacity,
23342
23693
  optixFlowConfig
23343
23694
  }) {
23344
- const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
23345
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
23346
23695
  return /* @__PURE__ */ jsxRuntime.jsx(
23347
23696
  Section,
23348
23697
  {
@@ -23364,12 +23713,12 @@ function FooterContactCard({
23364
23713
  }
23365
23714
  ),
23366
23715
  heading && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-8 text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", headingClassName), children: heading }),
23367
- (email || phone || address) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4 text-muted-foreground", contactClassName), children: [
23716
+ (email || phone || address) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-4 opacity-80", contactClassName), children: [
23368
23717
  email && /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx(
23369
23718
  Pressable,
23370
23719
  {
23371
23720
  href: `mailto:${email}`,
23372
- className: "hover:text-primary",
23721
+ className: "hover:opacity-100",
23373
23722
  children: email
23374
23723
  }
23375
23724
  ) }),
@@ -23377,7 +23726,7 @@ function FooterContactCard({
23377
23726
  Pressable,
23378
23727
  {
23379
23728
  href: `tel:${phone}`,
23380
- className: "hover:text-primary",
23729
+ className: "hover:opacity-100",
23381
23730
  children: phone
23382
23731
  }
23383
23732
  ) }),
@@ -23394,9 +23743,7 @@ function FooterContactCard({
23394
23743
  label: social.label,
23395
23744
  iconNameOverride: social.iconNameOverride,
23396
23745
  className: cn(
23397
- "flex size-12 items-center justify-center rounded-full transition-colors hover:bg-primary hover:text-primary-foreground",
23398
- getNestedCardBg(background),
23399
- getNestedCardTextColor(background),
23746
+ "flex size-12 items-center justify-center rounded-full border transition-colors hover:opacity-80",
23400
23747
  socialLinkClassName
23401
23748
  )
23402
23749
  }
@@ -23406,23 +23753,22 @@ function FooterContactCard({
23406
23753
  Pressable,
23407
23754
  {
23408
23755
  href: link.href,
23409
- className: cn("text-muted-foreground hover:text-primary", navLinkClassName),
23756
+ className: cn("opacity-80 hover:opacity-100", navLinkClassName),
23410
23757
  children: link.name
23411
23758
  }
23412
23759
  ) }, idx)) }) })
23413
23760
  ] })
23414
23761
  ] }),
23415
- /* @__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: [
23762
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center", bottomClassName), children: [
23416
23763
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
23417
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
23418
- attributionText && /* @__PURE__ */ jsxRuntime.jsx(
23419
- Pressable,
23764
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23765
+ /* @__PURE__ */ jsxRuntime.jsx(
23766
+ BrandAttribution,
23420
23767
  {
23421
- href: attributionHref || "https://opensite.ai",
23422
- className: "hover:text-primary",
23423
- target: "_blank",
23424
- rel: "noopener noreferrer",
23425
- children: attributionText
23768
+ internalBrandSlug: "open_site_ai",
23769
+ optionIndex: 7,
23770
+ variant: "span",
23771
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23426
23772
  }
23427
23773
  )
23428
23774
  ] }),
@@ -23448,8 +23794,6 @@ function FooterBackgroundCard({
23448
23794
  contact,
23449
23795
  menuItems,
23450
23796
  copyright,
23451
- attributionText,
23452
- attributionHref,
23453
23797
  bottomLinks,
23454
23798
  className,
23455
23799
  cardClassName,
@@ -23474,8 +23818,6 @@ function FooterBackgroundCard({
23474
23818
  patternOpacity,
23475
23819
  optixFlowConfig
23476
23820
  }) {
23477
- const currentYear = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
23478
- const copyrightText = copyright ?? `\xA9 ${currentYear} Opensite AI. All rights reserved.`;
23479
23821
  const sectionStyle = React52.useMemo(
23480
23822
  () => backgroundImage ? { backgroundImage: `url('${backgroundImage}')` } : void 0,
23481
23823
  [backgroundImage]
@@ -23489,7 +23831,7 @@ function FooterBackgroundCard({
23489
23831
  patternOpacity,
23490
23832
  className: cn("bg-cover bg-center bg-no-repeat", className),
23491
23833
  style: sectionStyle,
23492
- 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: [
23834
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-7xl rounded-lg p-8 shadow-lg md:p-12", cardClassName), children: [
23493
23835
  /* @__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: [
23494
23836
  (profileImage || tagline || personalMessage || ctaText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("lg:col-span-1", profileSectionClassName), children: [
23495
23837
  (profileImage || tagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4 flex items-center gap-4", children: [
@@ -23504,33 +23846,33 @@ function FooterBackgroundCard({
23504
23846
  ),
23505
23847
  tagline && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("text-2xl font-medium", taglineClassName), children: tagline })
23506
23848
  ] }),
23507
- personalMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed text-muted-foreground", messageClassName), children: personalMessage }),
23849
+ personalMessage && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 text-sm leading-relaxed opacity-80", messageClassName), children: personalMessage }),
23508
23850
  ctaText && /* @__PURE__ */ jsxRuntime.jsx(
23509
23851
  Pressable,
23510
23852
  {
23511
23853
  href: ctaUrl || "#",
23512
- 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),
23854
+ className: cn("inline-flex items-center justify-center whitespace-nowrap rounded-md border 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 hover:opacity-80 h-10 px-4 py-2", ctaClassName),
23513
23855
  children: ctaText
23514
23856
  }
23515
23857
  )
23516
23858
  ] }),
23517
23859
  menuItems && menuItems.length > 0 && menuItems.map((menu, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(menuSectionClassName), children: [
23518
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", menuTitleClassName), children: menu.title }),
23860
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", menuTitleClassName), children: menu.title }),
23519
23861
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: menu.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
23520
23862
  Pressable,
23521
23863
  {
23522
23864
  href: link.url,
23523
- className: cn("border-b border-transparent text-muted-foreground transition-all duration-300 ease-in-out hover:border-primary hover:text-primary", menuLinkClassName),
23865
+ className: cn("border-b border-transparent opacity-80 transition-all duration-300 ease-in-out hover:opacity-100", menuLinkClassName),
23524
23866
  children: link.text
23525
23867
  }
23526
23868
  ) }, index)) })
23527
23869
  ] }, idx)),
23528
23870
  (contactTitle || contact) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactSectionClassName), children: [
23529
- contactTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider text-primary uppercase", contactTitleClassName), children: contactTitle }),
23871
+ contactTitle && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 text-sm font-medium tracking-wider uppercase", contactTitleClassName), children: contactTitle }),
23530
23872
  contact && /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "space-y-3", children: [
23531
- contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact.phone }),
23532
- contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("text-muted-foreground", contactItemClassName), children: contact.email }),
23533
- (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("text-muted-foreground", contactItemClassName), children: [
23873
+ contact.phone && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.phone }),
23874
+ contact.email && /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn("opacity-80", contactItemClassName), children: contact.email }),
23875
+ (contact.location || contact.timezone) && /* @__PURE__ */ jsxRuntime.jsxs("li", { className: cn("opacity-80", contactItemClassName), children: [
23534
23876
  contact.location,
23535
23877
  contact.location && contact.timezone && " \u2022 ",
23536
23878
  contact.timezone
@@ -23538,17 +23880,16 @@ function FooterBackgroundCard({
23538
23880
  ] })
23539
23881
  ] })
23540
23882
  ] }),
23541
- /* @__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: [
23542
- /* @__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: [
23543
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyrightText }),
23544
- attributionText && /* @__PURE__ */ jsxRuntime.jsx(
23545
- Pressable,
23883
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-12 flex flex-col items-center justify-between gap-4 border-t pt-8 md:flex-row", bottomClassName), children: [
23884
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
23885
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
23886
+ /* @__PURE__ */ jsxRuntime.jsx(
23887
+ BrandAttribution,
23546
23888
  {
23547
- href: attributionHref || "https://opensite.ai",
23548
- className: "hover:text-primary",
23549
- target: "_blank",
23550
- rel: "noopener noreferrer",
23551
- children: attributionText
23889
+ internalBrandSlug: "open_site_ai",
23890
+ optionIndex: 3,
23891
+ variant: "span",
23892
+ linkClassName: "hover:opacity-100"
23552
23893
  }
23553
23894
  )
23554
23895
  ] }),
@@ -23556,7 +23897,7 @@ function FooterBackgroundCard({
23556
23897
  Pressable,
23557
23898
  {
23558
23899
  href: link.url,
23559
- className: "text-sm text-muted-foreground transition-colors hover:text-primary",
23900
+ className: "text-sm opacity-80 transition-colors hover:opacity-100",
23560
23901
  children: link.text
23561
23902
  },
23562
23903
  idx
@@ -23591,8 +23932,6 @@ function FooterAnimatedSocial({
23591
23932
  ctaUrl,
23592
23933
  socialLinks,
23593
23934
  copyright,
23594
- attributionText,
23595
- attributionHref,
23596
23935
  className,
23597
23936
  contentClassName,
23598
23937
  layoutClassName,
@@ -23630,7 +23969,7 @@ function FooterAnimatedSocial({
23630
23969
  label: link.label,
23631
23970
  iconNameOverride: link.iconNameOverride,
23632
23971
  iconSize: 24,
23633
- className: cn("group flex items-center gap-2 py-2 transition-colors hover:text-muted-foreground", socialLinkClassName)
23972
+ className: cn("group flex items-center gap-2 py-2 transition-colors hover:opacity-70", socialLinkClassName)
23634
23973
  }
23635
23974
  )
23636
23975
  },
@@ -23658,13 +23997,13 @@ function FooterAnimatedSocial({
23658
23997
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-8", leftColumnClassName), children: [
23659
23998
  /* @__PURE__ */ jsxRuntime.jsxs(framerMotion.motion.div, { variants: itemVariants, className: "space-y-6", children: [
23660
23999
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-4xl leading-tight font-bold lg:text-5xl", headingClassName), children: heading }),
23661
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-md text-lg leading-relaxed text-muted-foreground", descriptionClassName), children: description })
24000
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-md text-lg leading-relaxed opacity-80", descriptionClassName), children: description })
23662
24001
  ] }),
23663
24002
  ctaUrl && ctaText && /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx(
23664
24003
  Pressable,
23665
24004
  {
23666
24005
  href: ctaUrl,
23667
- 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-11 px-8", ctaClassName),
24006
+ 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 border h-11 px-8 hover:opacity-80", ctaClassName),
23668
24007
  children: ctaText
23669
24008
  }
23670
24009
  ) })
@@ -23682,29 +24021,23 @@ function FooterAnimatedSocial({
23682
24021
  viewport: { once: true },
23683
24022
  className: cn("mt-16", bottomClassName),
23684
24023
  children: [
23685
- /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8 h-px w-full bg-border", separatorClassName) }) }),
24024
+ /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-8 h-px w-full opacity-20", separatorClassName), style: { backgroundColor: "currentColor" } }) }),
23686
24025
  /* @__PURE__ */ jsxRuntime.jsxs(
23687
24026
  framerMotion.motion.div,
23688
24027
  {
23689
24028
  variants: itemVariants,
23690
24029
  className: cn("flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center", copyrightClassName),
23691
24030
  children: [
23692
- copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: copyright }),
23693
- /* @__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(
23694
- framerMotion.motion.a,
24031
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright, className: "text-sm opacity-70" }),
24032
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-6 text-sm opacity-70", children: /* @__PURE__ */ jsxRuntime.jsx(
24033
+ BrandAttribution,
23695
24034
  {
23696
- href: attributionHref,
23697
- className: "underline underline-offset-4 transition-colors hover:text-primary",
23698
- whileHover: { scale: 1.05 },
23699
- transition: {
23700
- type: "spring",
23701
- stiffness: 300,
23702
- damping: 20
23703
- },
23704
- target: "_blank",
23705
- children: attributionText
24035
+ internalBrandSlug: "open_site_ai",
24036
+ optionIndex: 2,
24037
+ variant: "span",
24038
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23706
24039
  }
23707
- ) }) })
24040
+ ) })
23708
24041
  ]
23709
24042
  }
23710
24043
  )
@@ -23726,8 +24059,6 @@ function FooterNewsletterMinimal({
23726
24059
  newsletterPlaceholder,
23727
24060
  brandText,
23728
24061
  copyright,
23729
- attributionText,
23730
- attributionHref,
23731
24062
  location,
23732
24063
  className,
23733
24064
  contentClassName,
@@ -23765,7 +24096,7 @@ function FooterNewsletterMinimal({
23765
24096
  Pressable,
23766
24097
  {
23767
24098
  href: item.href,
23768
- className: cn("tracking-tight hover:text-muted-foreground", navLinkClassName),
24099
+ className: cn("tracking-tight hover:opacity-70", navLinkClassName),
23769
24100
  children: item.label
23770
24101
  }
23771
24102
  ) }, idx));
@@ -23779,7 +24110,7 @@ function FooterNewsletterMinimal({
23779
24110
  label: item.label,
23780
24111
  iconNameOverride: item.iconNameOverride,
23781
24112
  iconSize: 14,
23782
- className: cn("group flex items-center gap-1 tracking-tight hover:text-muted-foreground", socialLinkClassName)
24113
+ className: cn("group flex items-center gap-1 tracking-tight hover:opacity-70", socialLinkClassName)
23783
24114
  }
23784
24115
  ) }, idx));
23785
24116
  }, [socialLinks, socialLinkClassName]);
@@ -23789,7 +24120,7 @@ function FooterNewsletterMinimal({
23789
24120
  Pressable,
23790
24121
  {
23791
24122
  href: item.href,
23792
- className: cn("group flex items-center gap-1 tracking-tight hover:text-muted-foreground", footerLinkClassName),
24123
+ className: cn("group flex items-center gap-1 tracking-tight hover:opacity-70", footerLinkClassName),
23793
24124
  children: item.label
23794
24125
  }
23795
24126
  ) }, item.label));
@@ -23883,7 +24214,7 @@ function FooterNewsletterMinimal({
23883
24214
  {
23884
24215
  componentType: "button",
23885
24216
  type: "submit",
23886
- className: cn("p-2 hover:bg-muted/20", newsletterButtonClassName),
24217
+ className: cn("p-2 hover:opacity-80", newsletterButtonClassName),
23887
24218
  asButton: false,
23888
24219
  disabled: form.isSubmitting,
23889
24220
  children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 20 })
@@ -23909,16 +24240,16 @@ function FooterNewsletterMinimal({
23909
24240
  children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-6xl font-bold tracking-tighter md:text-8xl lg:text-9xl", brandTextClassName), children: brandText })
23910
24241
  }
23911
24242
  ) }),
23912
- (copyright || attributionText) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 text-center text-sm text-muted-foreground", copyrightClassName), children: [
23913
- copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
23914
- attributionText && attributionHref && /* @__PURE__ */ jsxRuntime.jsx(
23915
- Pressable,
24243
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 text-center text-sm opacity-80", copyrightClassName), children: [
24244
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
24245
+ /* @__PURE__ */ jsxRuntime.jsx(
24246
+ BrandAttribution,
23916
24247
  {
23917
- href: attributionHref,
23918
- className: "mt-2 inline-block hover:text-primary",
23919
- target: "_blank",
23920
- rel: "noopener noreferrer",
23921
- children: attributionText
24248
+ internalBrandSlug: "open_site_ai",
24249
+ optionIndex: 4,
24250
+ variant: "div",
24251
+ containerClassName: "mt-2",
24252
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
23922
24253
  }
23923
24254
  )
23924
24255
  ] })
@@ -23935,8 +24266,6 @@ function FooterCtaSocial({
23935
24266
  email,
23936
24267
  socialLinks,
23937
24268
  copyright,
23938
- attributionText,
23939
- attributionHref,
23940
24269
  className,
23941
24270
  contentClassName,
23942
24271
  containerClassName,
@@ -23983,16 +24312,16 @@ function FooterCtaSocial({
23983
24312
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative z-10", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto flex max-w-3xl flex-col items-center gap-2 text-center", containerClassName), children: [
23984
24313
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full items-center gap-4", preHeadingWrapperClassName), children: [
23985
24314
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-px flex-1 bg-[linear-gradient(270deg,hsl(var(--primary,0_0%_100%))_0%,hsl(var(--secondary,0_0%_0%))_100%)] opacity-50", decorativeLineClassName) }),
23986
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground italic md:text-base", preHeadingClassName), children: preHeading }),
24315
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm opacity-70 italic md:text-base", preHeadingClassName), children: preHeading }),
23987
24316
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-px flex-1 bg-[linear-gradient(270deg,hsl(var(--secondary,0_0%_0%))_0%,hsl(var(--primary,0_0%_100%))_100%)] opacity-50", decorativeLineClassName) })
23988
24317
  ] }),
23989
24318
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("py-6 text-5xl font-bold md:text-6xl", headingClassName), children: heading }),
23990
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl text-base text-muted-foreground md:text-lg", descriptionClassName), children: description }),
24319
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl text-base opacity-80 md:text-lg", descriptionClassName), children: description }),
23991
24320
  /* @__PURE__ */ jsxRuntime.jsxs(
23992
24321
  Pressable,
23993
24322
  {
23994
24323
  href: buttonUrl,
23995
- className: cn("group relative mt-4 inline-flex items-center gap-2 rounded-lg border bg-background px-8 py-4 text-base font-medium transition-all hover:bg-muted", buttonClassName),
24324
+ className: cn("group relative mt-4 inline-flex items-center gap-2 rounded-lg border px-8 py-4 text-base font-medium transition-all hover:opacity-80", buttonClassName),
23996
24325
  children: [
23997
24326
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: buttonText }),
23998
24327
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -24007,27 +24336,26 @@ function FooterCtaSocial({
24007
24336
  }
24008
24337
  ),
24009
24338
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-6 pt-8", socialLinksClassName), children: socialLinksContent }),
24010
- email && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-sm text-muted-foreground md:text-base", emailClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
24339
+ email && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("pt-2 text-sm opacity-80 md:text-base", emailClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
24011
24340
  Pressable,
24012
24341
  {
24013
24342
  href: `mailto:${email}`,
24014
- className: "transition-colors hover:text-primary",
24343
+ className: "transition-colors hover:opacity-100",
24015
24344
  children: email
24016
24345
  }
24017
24346
  ) }),
24018
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 border-t pt-8 text-sm text-muted-foreground", bottomClassName), children: [
24019
- copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn(copyrightClassName), children: copyright }),
24020
- attributionHref && attributionText && /* @__PURE__ */ jsxRuntime.jsx(
24021
- Pressable,
24347
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 border-t pt-8 text-sm opacity-70", bottomClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2", copyrightClassName), children: [
24348
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
24349
+ /* @__PURE__ */ jsxRuntime.jsx(
24350
+ BrandAttribution,
24022
24351
  {
24023
- href: attributionHref,
24024
- className: "mt-2 inline-block hover:text-primary",
24025
- target: "_blank",
24026
- rel: "noopener noreferrer",
24027
- children: attributionText
24352
+ internalBrandSlug: "open_site_ai",
24353
+ optionIndex: 9,
24354
+ variant: "span",
24355
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
24028
24356
  }
24029
24357
  )
24030
- ] })
24358
+ ] }) })
24031
24359
  ] }) })
24032
24360
  }
24033
24361
  );
@@ -24042,8 +24370,6 @@ function FooterNavSocial({
24042
24370
  newsletterButtonText,
24043
24371
  socialTitle,
24044
24372
  copyright,
24045
- attributionText,
24046
- attributionHref,
24047
24373
  legalLinks,
24048
24374
  className,
24049
24375
  contentClassName,
@@ -24079,11 +24405,11 @@ function FooterNavSocial({
24079
24405
  if (!sections || sections.length === 0) return null;
24080
24406
  return sections.map((section, sectionIdx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(navSectionClassName), children: [
24081
24407
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-4 font-semibold", navTitleClassName), children: section.title }),
24082
- /* @__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(
24408
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3 text-sm opacity-80", navLinksClassName), children: section.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(navLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
24083
24409
  Pressable,
24084
24410
  {
24085
24411
  href: link.href,
24086
- className: "hover:text-primary",
24412
+ className: "hover:opacity-100",
24087
24413
  children: link.name
24088
24414
  }
24089
24415
  ) }, linkIdx)) })
@@ -24097,13 +24423,13 @@ function FooterNavSocial({
24097
24423
  href: social.href,
24098
24424
  label: social.label,
24099
24425
  iconNameOverride: social.iconNameOverride,
24100
- className: cn("text-muted-foreground transition-colors hover:text-primary", socialLinkClassName)
24426
+ className: cn("opacity-80 transition-colors hover:opacity-100", socialLinkClassName)
24101
24427
  }
24102
24428
  ) }, idx));
24103
24429
  }, [socialLinks, socialLinkClassName]);
24104
24430
  const legalLinksContent = React52.useMemo(() => {
24105
24431
  if (!legalLinks || legalLinks.length === 0) return null;
24106
- 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));
24432
+ return legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: cn(legalLinkClassName), children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: link.href, className: "hover:opacity-100", children: link.name }) }, idx));
24107
24433
  }, [legalLinks, legalLinkClassName]);
24108
24434
  return /* @__PURE__ */ jsxRuntime.jsx(
24109
24435
  Section,
@@ -24130,14 +24456,14 @@ function FooterNavSocial({
24130
24456
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col justify-between", rightColumnClassName), children: [
24131
24457
  (newsletterHeading || newsletterDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", newsletterClassName), children: [
24132
24458
  newsletterHeading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-2 text-lg font-semibold", newsletterHeadingClassName), children: newsletterHeading }),
24133
- newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm text-muted-foreground", newsletterDescriptionClassName), children: newsletterDescription }),
24459
+ newsletterDescription && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-sm opacity-80", newsletterDescriptionClassName), children: newsletterDescription }),
24134
24460
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-md gap-2", newsletterFormClassName), children: [
24135
24461
  /* @__PURE__ */ jsxRuntime.jsx(
24136
24462
  "input",
24137
24463
  {
24138
24464
  type: "email",
24139
24465
  placeholder: newsletterPlaceholder,
24140
- 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"
24466
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
24141
24467
  }
24142
24468
  ),
24143
24469
  newsletterButtonText && /* @__PURE__ */ jsxRuntime.jsx(
@@ -24156,17 +24482,16 @@ function FooterNavSocial({
24156
24482
  ] })
24157
24483
  ] })
24158
24484
  ] }),
24159
- /* @__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: [
24485
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 flex flex-col justify-between gap-4 border-t pt-8 text-sm opacity-80 md:flex-row md:items-center", bottomClassName), children: [
24160
24486
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-2 md:flex-row md:items-center md:gap-4", copyrightClassName), children: [
24161
- copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { children: copyright }),
24162
- attributionText && attributionHref && /* @__PURE__ */ jsxRuntime.jsx(
24163
- Pressable,
24487
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
24488
+ /* @__PURE__ */ jsxRuntime.jsx(
24489
+ BrandAttribution,
24164
24490
  {
24165
- href: attributionHref,
24166
- className: "hover:text-primary",
24167
- target: "_blank",
24168
- rel: "noopener noreferrer",
24169
- children: attributionText
24491
+ internalBrandSlug: "open_site_ai",
24492
+ optionIndex: 1,
24493
+ variant: "span",
24494
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
24170
24495
  }
24171
24496
  )
24172
24497
  ] }),
@@ -24216,7 +24541,7 @@ function FeatureIconGridBordered({
24216
24541
  "div",
24217
24542
  {
24218
24543
  className: cn(
24219
- "flex size-10 shrink-0 items-center justify-center rounded-lg md:size-12 text-accent-foreground bg-primary shadow-xl",
24544
+ "flex size-10 shrink-0 items-center justify-center rounded-lg md:size-12 text-primary-foreground bg-primary shadow-xl",
24220
24545
  feature.iconClassName
24221
24546
  ),
24222
24547
  children: renderIcon(feature)
@@ -24488,6 +24813,193 @@ function FeatureChecklistImage({
24488
24813
  }
24489
24814
  );
24490
24815
  }
24816
+ var CarouselContext = React52__namespace.createContext(null);
24817
+ function useCarousel() {
24818
+ const context = React52__namespace.useContext(CarouselContext);
24819
+ if (!context) {
24820
+ throw new Error("useCarousel must be used within a <Carousel />");
24821
+ }
24822
+ return context;
24823
+ }
24824
+ function Carousel({
24825
+ orientation = "horizontal",
24826
+ opts,
24827
+ setApi,
24828
+ plugins,
24829
+ className,
24830
+ children,
24831
+ ...props
24832
+ }) {
24833
+ const [carouselRef, api] = useEmblaCarousel__default.default(
24834
+ {
24835
+ ...opts,
24836
+ axis: orientation === "horizontal" ? "x" : "y"
24837
+ },
24838
+ plugins
24839
+ );
24840
+ const [canScrollPrev, setCanScrollPrev] = React52__namespace.useState(false);
24841
+ const [canScrollNext, setCanScrollNext] = React52__namespace.useState(false);
24842
+ const onSelect = React52__namespace.useCallback((api2) => {
24843
+ if (!api2) return;
24844
+ setCanScrollPrev(api2.canScrollPrev());
24845
+ setCanScrollNext(api2.canScrollNext());
24846
+ }, []);
24847
+ const scrollPrev = React52__namespace.useCallback(() => {
24848
+ api?.scrollPrev();
24849
+ }, [api]);
24850
+ const scrollNext = React52__namespace.useCallback(() => {
24851
+ api?.scrollNext();
24852
+ }, [api]);
24853
+ const handleKeyDown = React52__namespace.useCallback(
24854
+ (event) => {
24855
+ if (event.key === "ArrowLeft") {
24856
+ event.preventDefault();
24857
+ scrollPrev();
24858
+ } else if (event.key === "ArrowRight") {
24859
+ event.preventDefault();
24860
+ scrollNext();
24861
+ }
24862
+ },
24863
+ [scrollPrev, scrollNext]
24864
+ );
24865
+ React52__namespace.useEffect(() => {
24866
+ if (!api || !setApi) return;
24867
+ setApi(api);
24868
+ }, [api, setApi]);
24869
+ React52__namespace.useEffect(() => {
24870
+ if (!api) return;
24871
+ onSelect(api);
24872
+ api.on("reInit", onSelect);
24873
+ api.on("select", onSelect);
24874
+ return () => {
24875
+ api?.off("select", onSelect);
24876
+ };
24877
+ }, [api, onSelect]);
24878
+ return /* @__PURE__ */ jsxRuntime.jsx(
24879
+ CarouselContext.Provider,
24880
+ {
24881
+ value: {
24882
+ carouselRef,
24883
+ api,
24884
+ opts,
24885
+ orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
24886
+ scrollPrev,
24887
+ scrollNext,
24888
+ canScrollPrev,
24889
+ canScrollNext
24890
+ },
24891
+ children: /* @__PURE__ */ jsxRuntime.jsx(
24892
+ "div",
24893
+ {
24894
+ onKeyDownCapture: handleKeyDown,
24895
+ className: cn("relative", className),
24896
+ role: "region",
24897
+ "aria-roledescription": "carousel",
24898
+ "data-slot": "carousel",
24899
+ ...props,
24900
+ children
24901
+ }
24902
+ )
24903
+ }
24904
+ );
24905
+ }
24906
+ function CarouselContent({ className, ...props }) {
24907
+ const { carouselRef, orientation } = useCarousel();
24908
+ return /* @__PURE__ */ jsxRuntime.jsx(
24909
+ "div",
24910
+ {
24911
+ ref: carouselRef,
24912
+ className: "overflow-hidden",
24913
+ "data-slot": "carousel-content",
24914
+ children: /* @__PURE__ */ jsxRuntime.jsx(
24915
+ "div",
24916
+ {
24917
+ className: cn(
24918
+ "flex",
24919
+ orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
24920
+ className
24921
+ ),
24922
+ ...props
24923
+ }
24924
+ )
24925
+ }
24926
+ );
24927
+ }
24928
+ function CarouselItem({ className, ...props }) {
24929
+ const { orientation } = useCarousel();
24930
+ return /* @__PURE__ */ jsxRuntime.jsx(
24931
+ "div",
24932
+ {
24933
+ role: "group",
24934
+ "aria-roledescription": "slide",
24935
+ "data-slot": "carousel-item",
24936
+ className: cn(
24937
+ "min-w-0 shrink-0 grow-0 basis-full",
24938
+ orientation === "horizontal" ? "pl-4" : "pt-4",
24939
+ className
24940
+ ),
24941
+ ...props
24942
+ }
24943
+ );
24944
+ }
24945
+ function CarouselPrevious({
24946
+ className,
24947
+ variant = "outline",
24948
+ size = "icon",
24949
+ ...props
24950
+ }) {
24951
+ const { orientation, scrollPrev, canScrollPrev } = useCarousel();
24952
+ return /* @__PURE__ */ jsxRuntime.jsxs(
24953
+ Pressable,
24954
+ {
24955
+ "data-slot": "carousel-previous",
24956
+ variant,
24957
+ size,
24958
+ className: cn(
24959
+ "absolute size-8 rounded-full",
24960
+ orientation === "horizontal" ? "top-1/2 -left-12 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
24961
+ className
24962
+ ),
24963
+ disabled: !canScrollPrev,
24964
+ onClick: scrollPrev,
24965
+ asButton: true,
24966
+ ...props,
24967
+ children: [
24968
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-left" }),
24969
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Previous slide" })
24970
+ ]
24971
+ }
24972
+ );
24973
+ }
24974
+ function CarouselNext({
24975
+ className,
24976
+ variant = "default",
24977
+ size = "icon",
24978
+ ...props
24979
+ }) {
24980
+ const { orientation, scrollNext, canScrollNext } = useCarousel();
24981
+ return /* @__PURE__ */ jsxRuntime.jsxs(
24982
+ Pressable,
24983
+ {
24984
+ "data-slot": "carousel-next",
24985
+ variant,
24986
+ size,
24987
+ className: cn(
24988
+ "absolute size-8 rounded-full",
24989
+ orientation === "horizontal" ? "top-1/2 -right-12 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
24990
+ className
24991
+ ),
24992
+ disabled: !canScrollNext,
24993
+ onClick: scrollNext,
24994
+ asButton: true,
24995
+ ...props,
24996
+ children: [
24997
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right" }),
24998
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Next slide" })
24999
+ ]
25000
+ }
25001
+ );
25002
+ }
24491
25003
  function Progress({
24492
25004
  className,
24493
25005
  value,
@@ -27212,87 +27724,203 @@ function FeatureBentoImageGrid({
27212
27724
  patternOpacity,
27213
27725
  patternClassName
27214
27726
  }) {
27215
- const renderItemIcon = React52__namespace.useCallback((item) => {
27216
- if (item.icon) return item.icon;
27217
- if (item.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 24 });
27218
- return null;
27219
- }, []);
27220
- const renderItemImage = React52__namespace.useCallback((item, imageClassName) => {
27221
- if (item.imageSlot) return item.imageSlot;
27222
- if (item.imageSrc) {
27223
- return /* @__PURE__ */ jsxRuntime.jsx(
27224
- img.Img,
27225
- {
27226
- src: item.imageSrc,
27227
- alt: item.imageAlt || (typeof item.title === "string" ? item.title : "Feature image"),
27228
- className: cn(imageClassName, item.imageClassName),
27229
- loading: "lazy",
27230
- optixFlowConfig
27231
- }
27232
- );
27233
- }
27234
- return null;
27235
- }, [optixFlowConfig]);
27236
- const renderLargeCard = React52__namespace.useCallback((item) => {
27237
- const iconContent = renderItemIcon(item);
27238
- const hasIconBadgeContent = iconContent || item.iconBadge;
27239
- const cardContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
27240
- renderItemImage(item, "h-full max-h-[580px] w-full rounded-xl object-cover object-center"),
27241
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-20 rounded-xl bg-linear-to-t from-primary to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
27242
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
27243
- hasIconBadgeContent && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold text-background", item.iconBadgeClassName), children: [
27244
- iconContent,
27245
- item.iconBadge
27246
- ] }),
27247
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
27248
- item.title && (typeof item.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h4", { className: cn("text-2xl font-semibold lg:text-3xl", item.titleClassName), children: item.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-2xl font-semibold lg:text-3xl", item.titleClassName), children: item.title })),
27249
- item.linkText && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("flex items-center gap-1 font-medium", item.linkTextClassName), children: [
27250
- item.linkText,
27251
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
27727
+ const renderItemIcon = React52__namespace.useCallback(
27728
+ (item) => {
27729
+ if (item.icon) return item.icon;
27730
+ if (item.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.iconName, size: 24 });
27731
+ return null;
27732
+ },
27733
+ []
27734
+ );
27735
+ const renderItemImage = React52__namespace.useCallback(
27736
+ (item, imageClassName) => {
27737
+ if (item.imageSlot) return item.imageSlot;
27738
+ if (item.imageSrc) {
27739
+ return /* @__PURE__ */ jsxRuntime.jsx(
27740
+ img.Img,
27741
+ {
27742
+ src: item.imageSrc,
27743
+ alt: item.imageAlt || (typeof item.title === "string" ? item.title : "Feature image"),
27744
+ className: cn(imageClassName, item.imageClassName),
27745
+ loading: "lazy",
27746
+ optixFlowConfig
27747
+ }
27748
+ );
27749
+ }
27750
+ return null;
27751
+ },
27752
+ [optixFlowConfig]
27753
+ );
27754
+ const renderLargeCard = React52__namespace.useCallback(
27755
+ (item) => {
27756
+ const iconContent = renderItemIcon(item);
27757
+ const hasIconBadgeContent = iconContent || item.iconBadge;
27758
+ const cardContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
27759
+ renderItemImage(
27760
+ item,
27761
+ "h-full max-h-[580px] w-full rounded-xl object-cover object-center"
27762
+ ),
27763
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
27764
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between px-5 md:px-8 py-6 md:py-6", children: [
27765
+ hasIconBadgeContent && /* @__PURE__ */ jsxRuntime.jsxs(
27766
+ "span",
27767
+ {
27768
+ className: cn(
27769
+ "ml-auto flex w-fit items-center gap-2 p-0 text-sm font-semibold text-white",
27770
+ item.iconBadgeClassName
27771
+ ),
27772
+ children: [
27773
+ iconContent,
27774
+ item.iconBadge
27775
+ ]
27776
+ }
27777
+ ),
27778
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 md:gap-5 text-white", children: [
27779
+ item.title && (typeof item.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
27780
+ "h4",
27781
+ {
27782
+ className: cn(
27783
+ "text-2xl font-medium lg:text-3xl",
27784
+ item.titleClassName
27785
+ ),
27786
+ children: item.title
27787
+ }
27788
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
27789
+ "div",
27790
+ {
27791
+ className: cn(
27792
+ "text-2xl font-medium lg:text-3xl",
27793
+ item.titleClassName
27794
+ ),
27795
+ children: item.title
27796
+ }
27797
+ )),
27798
+ item.linkText && /* @__PURE__ */ jsxRuntime.jsxs(
27799
+ "p",
27800
+ {
27801
+ className: cn(
27802
+ "flex items-center gap-1 font-bold text-sm uppercase",
27803
+ item.linkTextClassName
27804
+ ),
27805
+ children: [
27806
+ item.linkText,
27807
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
27808
+ ]
27809
+ }
27810
+ )
27252
27811
  ] })
27253
27812
  ] })
27254
- ] })
27255
- ] });
27256
- if (item.link) {
27813
+ ] });
27814
+ if (item.link) {
27815
+ return /* @__PURE__ */ jsxRuntime.jsx(
27816
+ Pressable,
27817
+ {
27818
+ href: item.link,
27819
+ className: cn(
27820
+ "group relative col-span-2 row-span-3 overflow-hidden rounded-xl",
27821
+ largeCardClassName,
27822
+ item.className
27823
+ ),
27824
+ children: cardContent
27825
+ }
27826
+ );
27827
+ }
27257
27828
  return /* @__PURE__ */ jsxRuntime.jsx(
27258
- Pressable,
27829
+ "div",
27259
27830
  {
27260
- href: item.link,
27261
- className: cn("group relative col-span-2 row-span-3 overflow-hidden rounded-xl", largeCardClassName, item.className),
27831
+ className: cn(
27832
+ "group relative col-span-2 row-span-3 overflow-hidden rounded-xl",
27833
+ largeCardClassName,
27834
+ item.className
27835
+ ),
27262
27836
  children: cardContent
27263
27837
  }
27264
27838
  );
27265
- }
27266
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("group relative col-span-2 row-span-3 overflow-hidden rounded-xl", largeCardClassName, item.className), children: cardContent });
27267
- }, [largeCardClassName, renderItemImage, renderItemIcon]);
27268
- const renderSmallCard = React52__namespace.useCallback((item, index) => {
27269
- const iconContent = renderItemIcon(item);
27270
- const hasIconBadgeContent = iconContent || item.iconBadge;
27271
- const cardContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
27272
- renderItemImage(item, cn(
27273
- "h-full w-full rounded-xl object-cover object-center",
27274
- index === 0 ? "max-h-44" : "max-h-96"
27275
- )),
27276
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 rounded-xl bg-linear-to-t from-primary to-transparent opacity-80 transition-transform duration-300 group-hover:translate-y-0" }),
27277
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
27278
- hasIconBadgeContent && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold text-background", item.iconBadgeClassName), children: [
27279
- iconContent,
27280
- item.iconBadge
27281
- ] }),
27282
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5 text-background", children: [
27283
- item.title && (typeof item.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h4", { className: cn("text-2xl font-semibold lg:text-3xl", item.titleClassName), children: item.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-2xl font-semibold lg:text-3xl", item.titleClassName), children: item.title })),
27284
- item.linkText && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("flex items-center gap-1 font-medium", item.linkTextClassName), children: [
27285
- item.linkText,
27286
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
27839
+ },
27840
+ [largeCardClassName, renderItemImage, renderItemIcon]
27841
+ );
27842
+ const renderSmallCard = React52__namespace.useCallback(
27843
+ (item, index) => {
27844
+ const iconContent = renderItemIcon(item);
27845
+ const hasIconBadgeContent = iconContent || item.iconBadge;
27846
+ const cardContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
27847
+ renderItemImage(
27848
+ item,
27849
+ cn(
27850
+ "h-full w-full rounded-xl object-cover object-center",
27851
+ index === 0 ? "max-h-44" : "max-h-96"
27852
+ )
27853
+ ),
27854
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 rounded-xl bg-linear-to-t from-black to-transparent opacity-80 transition-transform duration-300 group-hover:translate-y-0" }),
27855
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-7", children: [
27856
+ hasIconBadgeContent && /* @__PURE__ */ jsxRuntime.jsxs(
27857
+ "span",
27858
+ {
27859
+ className: cn(
27860
+ "ml-auto flex w-fit items-center gap-1 p-2.5 text-sm font-semibold ",
27861
+ item.iconBadgeClassName
27862
+ ),
27863
+ children: [
27864
+ iconContent,
27865
+ item.iconBadge
27866
+ ]
27867
+ }
27868
+ ),
27869
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5 ", children: [
27870
+ item.title && (typeof item.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
27871
+ "h4",
27872
+ {
27873
+ className: cn(
27874
+ "text-2xl font-semibold lg:text-3xl",
27875
+ item.titleClassName
27876
+ ),
27877
+ children: item.title
27878
+ }
27879
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
27880
+ "div",
27881
+ {
27882
+ className: cn(
27883
+ "text-2xl font-semibold lg:text-3xl",
27884
+ item.titleClassName
27885
+ ),
27886
+ children: item.title
27887
+ }
27888
+ )),
27889
+ item.linkText && /* @__PURE__ */ jsxRuntime.jsxs(
27890
+ "p",
27891
+ {
27892
+ className: cn(
27893
+ "flex items-center gap-1 font-medium",
27894
+ item.linkTextClassName
27895
+ ),
27896
+ children: [
27897
+ item.linkText,
27898
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
27899
+ ]
27900
+ }
27901
+ )
27287
27902
  ] })
27288
27903
  ] })
27289
- ] })
27290
- ] });
27291
- if (item.link) {
27904
+ ] });
27905
+ if (item.link) {
27906
+ return /* @__PURE__ */ jsxRuntime.jsx(
27907
+ Pressable,
27908
+ {
27909
+ href: item.link,
27910
+ className: cn(
27911
+ "group relative overflow-hidden rounded-xl",
27912
+ index === 1 && "row-span-2",
27913
+ smallCardClassName,
27914
+ item.className
27915
+ ),
27916
+ children: cardContent
27917
+ },
27918
+ index
27919
+ );
27920
+ }
27292
27921
  return /* @__PURE__ */ jsxRuntime.jsx(
27293
- Pressable,
27922
+ "div",
27294
27923
  {
27295
- href: item.link,
27296
27924
  className: cn(
27297
27925
  "group relative overflow-hidden rounded-xl",
27298
27926
  index === 1 && "row-span-2",
@@ -27303,21 +27931,9 @@ function FeatureBentoImageGrid({
27303
27931
  },
27304
27932
  index
27305
27933
  );
27306
- }
27307
- return /* @__PURE__ */ jsxRuntime.jsx(
27308
- "div",
27309
- {
27310
- className: cn(
27311
- "group relative overflow-hidden rounded-xl",
27312
- index === 1 && "row-span-2",
27313
- smallCardClassName,
27314
- item.className
27315
- ),
27316
- children: cardContent
27317
- },
27318
- index
27319
- );
27320
- }, [smallCardClassName, renderItemImage, renderItemIcon]);
27934
+ },
27935
+ [smallCardClassName, renderItemImage, renderItemIcon]
27936
+ );
27321
27937
  const itemsContent = React52.useMemo(() => {
27322
27938
  if (itemsSlot) return itemsSlot;
27323
27939
  if (!items || items.length === 0) return null;
@@ -27339,9 +27955,36 @@ function FeatureBentoImageGrid({
27339
27955
  className,
27340
27956
  containerClassName,
27341
27957
  children: [
27342
- title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-4 text-center text-4xl font-semibold", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4 text-center text-4xl font-semibold", titleClassName), children: title })),
27343
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-center", getTextColor(background, "muted"), descriptionClassName), children: description })),
27344
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-1 gap-y-5 pt-14 xl:grid-cols-3 xl:grid-rows-2 xl:gap-x-5 xl:gap-y-0", gridClassName), children: itemsContent })
27958
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
27959
+ "h2",
27960
+ {
27961
+ className: cn(
27962
+ "mb-4 text-center text-4xl font-semibold text-balance",
27963
+ titleClassName
27964
+ ),
27965
+ children: title
27966
+ }
27967
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
27968
+ "div",
27969
+ {
27970
+ className: cn(
27971
+ "mb-4 text-center text-4xl font-semibold text-balance",
27972
+ titleClassName
27973
+ ),
27974
+ children: title
27975
+ }
27976
+ )),
27977
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-center text-balance", descriptionClassName), children: description })),
27978
+ /* @__PURE__ */ jsxRuntime.jsx(
27979
+ "div",
27980
+ {
27981
+ className: cn(
27982
+ "grid grid-cols-1 gap-y-5 pt-14 xl:grid-cols-3 xl:grid-rows-2 xl:gap-x-5 xl:gap-y-0",
27983
+ gridClassName
27984
+ ),
27985
+ children: itemsContent
27986
+ }
27987
+ )
27345
27988
  ]
27346
27989
  }
27347
27990
  );
@@ -28420,8 +29063,6 @@ function FooterBrandLinksContact({
28420
29063
  contactItems,
28421
29064
  socialLinks,
28422
29065
  legalLinks,
28423
- attributionText,
28424
- attributionHref,
28425
29066
  copyright,
28426
29067
  contactTitle,
28427
29068
  socialTitle,
@@ -28452,30 +29093,55 @@ function FooterBrandLinksContact({
28452
29093
  const linkGroupsContent = React52.useMemo(() => {
28453
29094
  if (!linkGroups || linkGroups.length === 0) return null;
28454
29095
  return linkGroups.map((group) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(linkGroupClassName), children: [
28455
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mb-6 text-sm font-semibold uppercase tracking-wider", linkGroupTitleClassName), children: group.title }),
29096
+ /* @__PURE__ */ jsxRuntime.jsx(
29097
+ "h3",
29098
+ {
29099
+ className: cn(
29100
+ "mb-6 text-sm font-semibold uppercase tracking-wider",
29101
+ linkGroupTitleClassName
29102
+ ),
29103
+ children: group.title
29104
+ }
29105
+ ),
28456
29106
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("space-y-3", linkListClassName), children: group.links.map((link, linkIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
28457
29107
  Pressable,
28458
29108
  {
28459
29109
  href: link.href,
28460
- className: cn("text-sm text-muted-foreground transition-colors hover:text-primary", linkItemClassName),
29110
+ className: cn(
29111
+ "text-sm opacity-80 transition-colors hover:opacity-100",
29112
+ linkItemClassName
29113
+ ),
28461
29114
  children: link.label
28462
29115
  }
28463
29116
  ) }, linkIdx)) })
28464
29117
  ] }, group.title));
28465
- }, [linkGroups, linkGroupClassName, linkGroupTitleClassName, linkListClassName, linkItemClassName]);
28466
- const contactItemsContent = React52.useMemo(() => {
29118
+ }, [
29119
+ linkGroups,
29120
+ linkGroupClassName,
29121
+ linkGroupTitleClassName,
29122
+ linkListClassName,
29123
+ linkItemClassName
29124
+ ]);
29125
+ const contactItemsContent = React52__namespace.useMemo(() => {
28467
29126
  if (!contactItems || contactItems.length === 0) return null;
28468
- return contactItems.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-start gap-4", contactItemClassName), children: [
28469
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.icon, size: 20, className: "text-primary" }) }),
28470
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: item.href ? /* @__PURE__ */ jsxRuntime.jsx(
28471
- Pressable,
28472
- {
28473
- href: item.href,
28474
- className: "text-sm font-medium transition-colors hover:text-muted-foreground",
28475
- children: item.label
28476
- }
28477
- ) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: item.label }) })
28478
- ] }, idx));
29127
+ return contactItems.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
29128
+ "div",
29129
+ {
29130
+ className: cn("flex items-start gap-4", contactItemClassName),
29131
+ children: [
29132
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: item.icon, size: 20 }) }),
29133
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: item.href ? /* @__PURE__ */ jsxRuntime.jsx(
29134
+ Pressable,
29135
+ {
29136
+ href: item.href,
29137
+ className: "text-sm font-medium transition-colors hover:opacity-70",
29138
+ children: item.label
29139
+ }
29140
+ ) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: item.label }) })
29141
+ ]
29142
+ },
29143
+ idx
29144
+ ));
28479
29145
  }, [contactItems, contactItemClassName]);
28480
29146
  const socialLinksContent = React52.useMemo(() => {
28481
29147
  if (!socialLinks || socialLinks.length === 0) return null;
@@ -28523,17 +29189,23 @@ function FooterBrandLinksContact({
28523
29189
  }
28524
29190
  ),
28525
29191
  tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-4 text-base", taglineClassName), children: tagline }),
28526
- description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm text-muted-foreground", descriptionClassName), children: description })
29192
+ description && /* @__PURE__ */ jsxRuntime.jsx(
29193
+ "p",
29194
+ {
29195
+ className: cn(
29196
+ "text-sm opacity-80",
29197
+ descriptionClassName
29198
+ ),
29199
+ children: description
29200
+ }
29201
+ )
28527
29202
  ] }),
28528
29203
  linkGroupsContent,
28529
29204
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(contactColumnClassName), children: [
28530
29205
  contactTitle && /* @__PURE__ */ jsxRuntime.jsx(
28531
29206
  "h3",
28532
29207
  {
28533
- className: cn(
28534
- "text-lg font-semibold",
28535
- linkGroupTitleClassName
28536
- ),
29208
+ className: cn("text-lg font-semibold", linkGroupTitleClassName),
28537
29209
  children: contactTitle
28538
29210
  }
28539
29211
  ),
@@ -28541,14 +29213,14 @@ function FooterBrandLinksContact({
28541
29213
  "ul",
28542
29214
  {
28543
29215
  className: cn(
28544
- "mt-4 space-y-3 text-sm text-muted-foreground",
29216
+ "mt-4 space-y-3 text-sm opacity-80",
28545
29217
  linkListClassName
28546
29218
  ),
28547
29219
  children: contactItemsContent
28548
29220
  }
28549
29221
  ),
28550
29222
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8", socialSectionClassName), children: [
28551
- socialTitle && /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold uppercase tracking-[0.2em] text-muted-foreground", children: socialTitle }),
29223
+ socialTitle && /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-semibold uppercase tracking-[0.2em] opacity-70", children: socialTitle }),
28552
29224
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 flex gap-4", children: socialLinksContent })
28553
29225
  ] })
28554
29226
  ] })
@@ -28559,38 +29231,48 @@ function FooterBrandLinksContact({
28559
29231
  "div",
28560
29232
  {
28561
29233
  className: cn(
28562
- "mt-12 border-t pt-8 text-sm text-muted-foreground",
29234
+ "mt-12 border-t pt-8 text-sm opacity-80",
28563
29235
  bottomBarClassName
28564
29236
  ),
28565
29237
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-between gap-4 md:flex-row", children: [
28566
- copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn(copyrightClassName), children: copyright }),
28567
29238
  /* @__PURE__ */ jsxRuntime.jsxs(
28568
29239
  "div",
28569
29240
  {
28570
29241
  className: cn(
28571
29242
  "flex flex-wrap items-center gap-4",
28572
- legalLinksClassName
29243
+ copyrightClassName
28573
29244
  ),
28574
29245
  children: [
28575
- attributionHref && attributionText && /* @__PURE__ */ jsxRuntime.jsx(
28576
- Pressable,
29246
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
29247
+ /* @__PURE__ */ jsxRuntime.jsx(
29248
+ BrandAttribution,
28577
29249
  {
28578
- href: attributionHref,
28579
- className: "underline transition-colors hover:text-primary",
28580
- children: attributionText
29250
+ internalBrandSlug: "open_site_ai",
29251
+ optionIndex: 5,
29252
+ variant: "span",
29253
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
28581
29254
  }
28582
- ),
28583
- legalLinks && legalLinks.length > 0 && legalLinks.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
28584
- Pressable,
28585
- {
28586
- href: link.href,
28587
- className: "underline transition-colors hover:text-primary",
28588
- children: link.label
28589
- },
28590
- link.href
28591
- ))
29255
+ )
28592
29256
  ]
28593
29257
  }
29258
+ ),
29259
+ /* @__PURE__ */ jsxRuntime.jsx(
29260
+ "div",
29261
+ {
29262
+ className: cn(
29263
+ "flex flex-wrap items-center gap-4",
29264
+ legalLinksClassName
29265
+ ),
29266
+ children: legalLinks && legalLinks.length > 0 && legalLinks.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
29267
+ Pressable,
29268
+ {
29269
+ href: link.href,
29270
+ className: "underline transition-colors hover:opacity-100",
29271
+ children: link.label
29272
+ },
29273
+ idx
29274
+ ))
29275
+ }
28594
29276
  )
28595
29277
  ] })
28596
29278
  }
@@ -28611,54 +29293,53 @@ function FooterComprehensiveLinks({
28611
29293
  contact,
28612
29294
  socialLinks,
28613
29295
  copyright,
28614
- companyName,
28615
29296
  bottomLinks,
28616
29297
  pattern,
28617
29298
  patternOpacity,
28618
29299
  className,
28619
29300
  optixFlowConfig,
28620
- background = "white"
29301
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
29302
+ spacing = "py-6 md:py-32",
29303
+ background
28621
29304
  }) {
28622
- const year = React52.useMemo(() => (/* @__PURE__ */ new Date()).getFullYear(), []);
28623
- const copyrightText = copyright || `\xA9 ${year} ${companyName || ""}. All rights reserved.`;
28624
29305
  return /* @__PURE__ */ jsxRuntime.jsxs(
28625
29306
  Section,
28626
29307
  {
28627
29308
  background,
28628
- spacing: "lg",
29309
+ spacing,
28629
29310
  pattern,
28630
29311
  patternOpacity,
28631
29312
  className,
28632
- containerClassName: "relative z-10",
29313
+ containerClassName,
28633
29314
  children: [
29315
+ (logoSrc || tagline || summary) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center flex-col mb-20", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-full md:max-w-md flex flex-col gap-4 items-center text-center text-balance", children: [
29316
+ logoSrc && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: logoHref || "/", className: "flex w-fit", children: /* @__PURE__ */ jsxRuntime.jsx(
29317
+ img.Img,
29318
+ {
29319
+ src: logoSrc,
29320
+ alt: logoAlt || "Logo",
29321
+ className: "h-auto md:h-24 w-40 max-w-lg md:w-auto object-contain",
29322
+ loading: "lazy",
29323
+ optixFlowConfig
29324
+ }
29325
+ ) }),
29326
+ tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl font-medium", children: tagline }),
29327
+ summary && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-relaxed", children: summary })
29328
+ ] }) }),
28634
29329
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-10 lg:gap-12", children: [
28635
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-12", children: [
28636
- (logoSrc || tagline || summary) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sm:col-span-2 lg:col-span-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
28637
- logoSrc && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: logoHref || "/", className: "inline-flex w-fit", children: /* @__PURE__ */ jsxRuntime.jsx(
28638
- img.Img,
28639
- {
28640
- src: logoSrc,
28641
- alt: logoAlt || "Logo",
28642
- className: "h-9 w-auto",
28643
- loading: "eager",
28644
- optixFlowConfig
28645
- }
28646
- ) }),
28647
- tagline && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: tagline }),
28648
- summary && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-relaxed text-muted-foreground", children: summary })
28649
- ] }) }),
29330
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8 sm:grid-cols-2 lg:grid-cols-12", children: [
28650
29331
  linkColumns && linkColumns.length > 0 && linkColumns.map((column) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "lg:col-span-2", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
28651
29332
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold", children: column.title }),
28652
29333
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-2.5", children: column.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
28653
29334
  Pressable,
28654
29335
  {
28655
29336
  href: link.href,
28656
- className: "text-sm text-muted-foreground transition-colors hover:text-primary",
29337
+ className: "text-sm transition-colors ",
28657
29338
  children: link.label
28658
29339
  }
28659
29340
  ) }, link.href)) })
28660
29341
  ] }) }, column.title)),
28661
- contact || (socialLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 lg:col-span-3", children: [
29342
+ contact || (socialLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-12 col-span-2 lg:col-span-12 w-full", children: [
28662
29343
  contact ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
28663
29344
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold", children: "Contact" }),
28664
29345
  /* @__PURE__ */ jsxRuntime.jsxs("ul", { className: "flex flex-col gap-3", children: [
@@ -28666,14 +29347,14 @@ function FooterComprehensiveLinks({
28666
29347
  Pressable,
28667
29348
  {
28668
29349
  href: contact.email,
28669
- className: "group flex items-center gap-2.5 text-sm text-muted-foreground transition-colors hover:text-primary",
29350
+ className: "group flex items-center gap-2.5 text-sm transition-colors ",
28670
29351
  children: [
28671
29352
  /* @__PURE__ */ jsxRuntime.jsx(
28672
29353
  DynamicIcon,
28673
29354
  {
28674
29355
  name: "lucide/mail",
28675
29356
  size: 16,
28676
- className: "text-muted-foreground transition-colors group-hover:text-primary"
29357
+ className: " "
28677
29358
  }
28678
29359
  ),
28679
29360
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "underline underline-offset-2", children: contact.email })
@@ -28684,14 +29365,14 @@ function FooterComprehensiveLinks({
28684
29365
  Pressable,
28685
29366
  {
28686
29367
  href: contact.phone,
28687
- className: "group flex items-center gap-2.5 text-sm text-muted-foreground transition-colors hover:text-primary",
29368
+ className: "group flex items-center gap-2.5 text-sm ",
28688
29369
  children: [
28689
29370
  /* @__PURE__ */ jsxRuntime.jsx(
28690
29371
  DynamicIcon,
28691
29372
  {
28692
29373
  name: "lucide/phone",
28693
29374
  size: 16,
28694
- className: "text-muted-foreground transition-colors group-hover:text-primary"
29375
+ className: ""
28695
29376
  }
28696
29377
  ),
28697
29378
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "underline underline-offset-2", children: contact.phone })
@@ -28704,14 +29385,14 @@ function FooterComprehensiveLinks({
28704
29385
  href: `https://maps.google.com/?q=${encodeURIComponent(
28705
29386
  contact.address
28706
29387
  )}`,
28707
- className: "group flex items-start gap-2.5 text-sm text-muted-foreground transition-colors hover:text-primary",
29388
+ className: "group flex items-start gap-2.5 text-sm ",
28708
29389
  children: [
28709
29390
  /* @__PURE__ */ jsxRuntime.jsx(
28710
29391
  DynamicIcon,
28711
29392
  {
28712
29393
  name: "lucide/map-pin",
28713
29394
  size: 16,
28714
- className: "mt-0.5 text-muted-foreground transition-colors group-hover:text-primary"
29395
+ className: "mt-0.5 "
28715
29396
  }
28716
29397
  ),
28717
29398
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "underline underline-offset-2", children: contact.address })
@@ -28728,11 +29409,9 @@ function FooterComprehensiveLinks({
28728
29409
  href: link.href,
28729
29410
  label: link.label,
28730
29411
  iconNameOverride: link.iconNameOverride,
28731
- iconSize: 16,
29412
+ iconSize: 18,
28732
29413
  className: cn(
28733
- "flex h-9 w-9 items-center justify-center rounded-full transition-colors hover:bg-muted/80 hover:text-primary",
28734
- getNestedCardBg(background),
28735
- getNestedCardTextColor(background)
29414
+ "flex size-fit p-2 items-center justify-center rounded-lg transition-shadow border shadow-sm hover:shadow-lg"
28736
29415
  )
28737
29416
  },
28738
29417
  idx
@@ -28740,13 +29419,13 @@ function FooterComprehensiveLinks({
28740
29419
  ] }) : null
28741
29420
  ] }) : null
28742
29421
  ] }),
28743
- (articleLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t pt-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
29422
+ (articleLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t pt-14 pb-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
28744
29423
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold", children: articleSectionTitle }),
28745
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-x-8 gap-y-2.5 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4", children: articleLinks?.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
29424
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-x-8 gap-y-6 md:gap-y-2.5 sm:grid-cols-2 lg:grid-cols-3", children: articleLinks?.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
28746
29425
  Pressable,
28747
29426
  {
28748
29427
  href: link.href,
28749
- className: "truncate text-sm text-muted-foreground transition-colors hover:text-primary",
29428
+ className: "truncate text-sm ",
28750
29429
  children: link.label
28751
29430
  },
28752
29431
  link.href
@@ -28754,12 +29433,23 @@ function FooterComprehensiveLinks({
28754
29433
  ] }) }) : null
28755
29434
  ] }),
28756
29435
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-10 border-t pt-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-between gap-4 sm:flex-row", children: [
28757
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: copyrightText }),
29436
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-4 text-sm", children: [
29437
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
29438
+ /* @__PURE__ */ jsxRuntime.jsx(
29439
+ BrandAttribution,
29440
+ {
29441
+ internalBrandSlug: "open_site_ai",
29442
+ optionIndex: 6,
29443
+ variant: "span",
29444
+ linkClassName: "underline underline-offset-4 "
29445
+ }
29446
+ )
29447
+ ] }),
28758
29448
  (bottomLinks?.length ?? 0) > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-4 sm:gap-6", children: bottomLinks?.map((link) => /* @__PURE__ */ jsxRuntime.jsx(
28759
29449
  Pressable,
28760
29450
  {
28761
29451
  href: link.href,
28762
- className: "text-sm text-muted-foreground underline underline-offset-2 transition-colors hover:text-primary",
29452
+ className: "text-sm underline underline-offset-2 ",
28763
29453
  children: link.label
28764
29454
  },
28765
29455
  link.href
@@ -42732,7 +43422,7 @@ function FooterNewsletterContact({
42732
43422
  const linkSectionsContent = React52.useMemo(() => {
42733
43423
  if (!footerLinks || footerLinks.length === 0) return null;
42734
43424
  return footerLinks.map((section, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
42735
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-6 text-sm font-medium uppercase leading-tight text-muted-foreground", children: section.title }),
43425
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-6 text-sm font-medium uppercase leading-tight opacity-70", children: section.title }),
42736
43426
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: section.items.map((item, itemIdx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
42737
43427
  Pressable,
42738
43428
  {
@@ -42839,7 +43529,7 @@ function FooterNewsletterContact({
42839
43529
  type: "email",
42840
43530
  placeholder: newsletterPlaceholder,
42841
43531
  error: meta.touched && !!meta.error,
42842
- className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
43532
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
42843
43533
  "aria-label": newsletterPlaceholder || "Email address"
42844
43534
  }
42845
43535
  ) }),
@@ -42861,7 +43551,7 @@ function FooterNewsletterContact({
42861
43551
  ] }),
42862
43552
  linkSectionsContent,
42863
43553
  (contactDetailsContent || socialLinksContent) && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
42864
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-6 text-sm font-medium uppercase leading-tight text-muted-foreground", children: "Contact" }),
43554
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-6 text-sm font-medium uppercase leading-tight opacity-70", children: "Contact" }),
42865
43555
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
42866
43556
  contactDetailsContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3", children: contactDetailsContent }),
42867
43557
  socialLinksContent && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-3", children: socialLinksContent })
@@ -42879,8 +43569,17 @@ function FooterNewsletterContact({
42879
43569
  ) }),
42880
43570
  /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "flex-1" })
42881
43571
  ] }) }),
42882
- copyright && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-center gap-3", children: [
42883
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground max-md:text-xs", children: copyright }),
43572
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-center gap-3 opacity-80 max-md:text-xs", children: [
43573
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
43574
+ /* @__PURE__ */ jsxRuntime.jsx(
43575
+ BrandAttribution,
43576
+ {
43577
+ internalBrandSlug: "open_site_ai",
43578
+ optionIndex: 2,
43579
+ variant: "span",
43580
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
43581
+ }
43582
+ ),
42884
43583
  /* @__PURE__ */ jsxRuntime.jsx(
42885
43584
  Pressable,
42886
43585
  {
@@ -43028,7 +43727,7 @@ function FooterSplitImageAccordion({
43028
43727
  type: "email",
43029
43728
  placeholder: emailPlaceholder,
43030
43729
  error: meta.touched && !!meta.error,
43031
- className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
43730
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
43032
43731
  "aria-label": emailPlaceholder
43033
43732
  }
43034
43733
  ) }),
@@ -43086,7 +43785,7 @@ function FooterSplitImageAccordion({
43086
43785
  "p",
43087
43786
  {
43088
43787
  className: cn(
43089
- "text-muted-foreground",
43788
+ "opacity-80",
43090
43789
  brandDescriptionClassName
43091
43790
  ),
43092
43791
  children: footerData.description
@@ -43102,11 +43801,11 @@ function FooterSplitImageAccordion({
43102
43801
  ),
43103
43802
  children: footerLinks.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
43104
43803
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-base font-bold", children: section.title }),
43105
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
43804
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm opacity-80", children: section.items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
43106
43805
  Pressable,
43107
43806
  {
43108
43807
  href: item.link,
43109
- className: "hover:text-primary",
43808
+ className: "hover:opacity-100",
43110
43809
  children: item.text
43111
43810
  }
43112
43811
  ) }, idx)) })
@@ -43140,14 +43839,25 @@ function FooterSplitImageAccordion({
43140
43839
  bottomClassName
43141
43840
  ),
43142
43841
  children: [
43143
- copyright && /* @__PURE__ */ jsxRuntime.jsx(
43144
- "p",
43842
+ /* @__PURE__ */ jsxRuntime.jsxs(
43843
+ "div",
43145
43844
  {
43146
43845
  className: cn(
43147
- "text-sm text-muted-foreground",
43846
+ "flex flex-wrap items-center gap-4 text-sm opacity-80",
43148
43847
  copyrightClassName
43149
43848
  ),
43150
- children: copyright
43849
+ children: [
43850
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
43851
+ /* @__PURE__ */ jsxRuntime.jsx(
43852
+ BrandAttribution,
43853
+ {
43854
+ internalBrandSlug: "open_site_ai",
43855
+ optionIndex: 8,
43856
+ variant: "span",
43857
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
43858
+ }
43859
+ )
43860
+ ]
43151
43861
  }
43152
43862
  ),
43153
43863
  submenuLinks && submenuLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
@@ -43256,7 +43966,7 @@ function FooterAccordionSocial({
43256
43966
  ),
43257
43967
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
43258
43968
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-2xl font-semibold", children: newsletterTitle }),
43259
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: newsletterDescription })
43969
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80", children: newsletterDescription })
43260
43970
  ] }),
43261
43971
  /* @__PURE__ */ jsxRuntime.jsxs(
43262
43972
  forms.Form,
@@ -43273,7 +43983,7 @@ function FooterAccordionSocial({
43273
43983
  type: "email",
43274
43984
  placeholder: "Email Address",
43275
43985
  error: meta.touched && !!meta.error,
43276
- className: "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
43986
+ className: "flex h-10 w-full rounded-md border border-input px-3 py-2 text-sm ring-offset-background placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
43277
43987
  "aria-label": "Email Address"
43278
43988
  }
43279
43989
  ) }),
@@ -43294,18 +44004,29 @@ function FooterAccordionSocial({
43294
44004
  ] }),
43295
44005
  footerLinks && footerLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-x-16 gap-y-8 lg:grid-cols-3", children: footerLinks.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
43296
44006
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-lg font-bold", children: section.title }),
43297
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2 text-sm text-muted-foreground", children: section.items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
44007
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-2 text-sm opacity-80", children: section.items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
43298
44008
  Pressable,
43299
44009
  {
43300
44010
  href: item.href,
43301
- className: "hover:text-primary",
44011
+ className: "hover:opacity-100",
43302
44012
  children: item.text
43303
44013
  }
43304
44014
  ) }, idx)) })
43305
44015
  ] }, section.id)) })
43306
44016
  ] }),
43307
44017
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-6 border-t pt-8", children: [
43308
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: copyright }),
44018
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 text-sm opacity-80 md:flex-row md:items-center md:gap-4", children: [
44019
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
44020
+ /* @__PURE__ */ jsxRuntime.jsx(
44021
+ BrandAttribution,
44022
+ {
44023
+ internalBrandSlug: "open_site_ai",
44024
+ optionIndex: 1,
44025
+ variant: "span",
44026
+ linkClassName: "hover:opacity-100"
44027
+ }
44028
+ )
44029
+ ] }),
43309
44030
  socialLinks && socialLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-wrap gap-4", children: socialLinks.map((social, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
43310
44031
  SocialLinkIcon,
43311
44032
  {
@@ -43433,7 +44154,7 @@ function FooterInfoCardsAccordion({
43433
44154
  value: email,
43434
44155
  onChange: (e) => setEmail(e.target.value),
43435
44156
  placeholder: emailPlaceholder || "Email Address",
43436
- className: "flex h-10 flex-1 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
44157
+ className: "flex h-10 flex-1 rounded-md border border-input px-3 py-2 text-sm ring-offset-background placeholder:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
43437
44158
  }
43438
44159
  ),
43439
44160
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -43449,7 +44170,7 @@ function FooterInfoCardsAccordion({
43449
44170
  ]
43450
44171
  }
43451
44172
  ),
43452
- (termsText || termsLinkText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm text-muted-foreground", children: [
44173
+ (termsText || termsLinkText || privacyLinkText) && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm opacity-80", children: [
43453
44174
  termsText,
43454
44175
  " ",
43455
44176
  termsLinkText && /* @__PURE__ */ jsxRuntime.jsx(
@@ -43496,10 +44217,10 @@ function FooterInfoCardsAccordion({
43496
44217
  Pressable,
43497
44218
  {
43498
44219
  href: item.link,
43499
- className: "break-all text-muted-foreground underline",
44220
+ className: "break-all opacity-80 underline",
43500
44221
  children: item.text
43501
44222
  }
43502
- ) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: item.text })
44223
+ ) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "opacity-80", children: item.text })
43503
44224
  ] }) })
43504
44225
  ] })
43505
44226
  },
@@ -43535,7 +44256,7 @@ function FooterInfoCardsAccordion({
43535
44256
  "p",
43536
44257
  {
43537
44258
  className: cn(
43538
- "max-w-md text-sm leading-relaxed text-muted-foreground",
44259
+ "max-w-md text-sm leading-relaxed opacity-80",
43539
44260
  brandDescriptionClassName
43540
44261
  ),
43541
44262
  children: footerDetails.description
@@ -43553,11 +44274,11 @@ function FooterInfoCardsAccordion({
43553
44274
  ),
43554
44275
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-8 sm:grid-cols-2 lg:grid-cols-3", children: footerLinks.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
43555
44276
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-base font-bold", children: section.title }),
43556
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm text-muted-foreground", children: section.items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
44277
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-3 text-sm opacity-80", children: section.items.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
43557
44278
  Pressable,
43558
44279
  {
43559
44280
  href: item.link,
43560
- className: "hover:text-primary",
44281
+ className: "hover:opacity-100",
43561
44282
  children: item.text
43562
44283
  }
43563
44284
  ) }, idx)) })
@@ -43616,7 +44337,18 @@ function FooterInfoCardsAccordion({
43616
44337
  bottomClassName
43617
44338
  ),
43618
44339
  children: [
43619
- copyright && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", copyrightClassName), children: copyright }),
44340
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-wrap items-center gap-4 text-sm opacity-80", copyrightClassName), children: [
44341
+ /* @__PURE__ */ jsxRuntime.jsx(FooterCopyright, { copyright }),
44342
+ /* @__PURE__ */ jsxRuntime.jsx(
44343
+ BrandAttribution,
44344
+ {
44345
+ internalBrandSlug: "open_site_ai",
44346
+ optionIndex: 0,
44347
+ variant: "span",
44348
+ linkClassName: "underline underline-offset-4 transition-colors hover:opacity-100"
44349
+ }
44350
+ )
44351
+ ] }),
43620
44352
  submenuLinks && submenuLinks.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
43621
44353
  "ul",
43622
44354
  {
@@ -79636,7 +80368,7 @@ function ListSearchableGrid({
79636
80368
  }
79637
80369
  );
79638
80370
  }
79639
- var { useMemo: useMemo442 } = React52__namespace;
80371
+ var { useMemo: useMemo438 } = React52__namespace;
79640
80372
  function OfferModalNewsletterDiscount({
79641
80373
  title,
79642
80374
  emailPlaceholder,
@@ -79704,7 +80436,7 @@ function OfferModalNewsletterDiscount({
79704
80436
  });
79705
80437
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
79706
80438
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
79707
- const renderCloseButton = useMemo442(() => {
80439
+ const renderCloseButton = useMemo438(() => {
79708
80440
  if (closeButtonSlot) return closeButtonSlot;
79709
80441
  if (!closeButtonText) return null;
79710
80442
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -79718,12 +80450,12 @@ function OfferModalNewsletterDiscount({
79718
80450
  }
79719
80451
  ) }) });
79720
80452
  }, [closeButtonSlot, closeButtonText, closeClassName]);
79721
- const renderHeader = useMemo442(() => {
80453
+ const renderHeader = useMemo438(() => {
79722
80454
  if (headerSlot) return headerSlot;
79723
80455
  if (!title) return null;
79724
80456
  return /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
79725
80457
  }, [headerSlot, title, headerClassName, titleClassName]);
79726
- const renderForm = useMemo442(() => {
80458
+ const renderForm = useMemo438(() => {
79727
80459
  if (formSlot) return formSlot;
79728
80460
  return /* @__PURE__ */ jsxRuntime.jsxs(
79729
80461
  forms.Form,
@@ -79785,7 +80517,7 @@ function OfferModalNewsletterDiscount({
79785
80517
  }
79786
80518
  ) });
79787
80519
  }
79788
- var { useMemo: useMemo443 } = React52__namespace;
80520
+ var { useMemo: useMemo439 } = React52__namespace;
79789
80521
  function OfferModalMembershipImage({
79790
80522
  overline,
79791
80523
  title,
@@ -79862,7 +80594,7 @@ function OfferModalMembershipImage({
79862
80594
  });
79863
80595
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
79864
80596
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
79865
- const renderImage = useMemo443(() => {
80597
+ const renderImage = useMemo439(() => {
79866
80598
  if (imageSlot) return imageSlot;
79867
80599
  if (!image) return null;
79868
80600
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -79875,7 +80607,7 @@ function OfferModalMembershipImage({
79875
80607
  }
79876
80608
  ) });
79877
80609
  }, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
79878
- const renderCloseButton = useMemo443(() => {
80610
+ const renderCloseButton = useMemo439(() => {
79879
80611
  if (closeButtonSlot) return closeButtonSlot;
79880
80612
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
79881
80613
  Pressable,
@@ -79891,7 +80623,7 @@ function OfferModalMembershipImage({
79891
80623
  }
79892
80624
  ) }) });
79893
80625
  }, [closeButtonSlot, closeClassName]);
79894
- const renderForm = useMemo443(() => {
80626
+ const renderForm = useMemo439(() => {
79895
80627
  if (formSlot) return formSlot;
79896
80628
  return /* @__PURE__ */ jsxRuntime.jsxs(
79897
80629
  forms.Form,
@@ -79954,7 +80686,7 @@ function OfferModalMembershipImage({
79954
80686
  }
79955
80687
  );
79956
80688
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
79957
- const renderFooter = useMemo443(() => {
80689
+ const renderFooter = useMemo439(() => {
79958
80690
  if (footerSlot) return footerSlot;
79959
80691
  if (!description) return null;
79960
80692
  return /* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
@@ -80074,7 +80806,7 @@ function SheetDescription({
80074
80806
  }
80075
80807
  );
80076
80808
  }
80077
- var { useMemo: useMemo444 } = React52__namespace;
80809
+ var { useMemo: useMemo440 } = React52__namespace;
80078
80810
  function OfferModalSheetNewsletter({
80079
80811
  logo,
80080
80812
  logoSlot,
@@ -80157,7 +80889,7 @@ function OfferModalSheetNewsletter({
80157
80889
  });
80158
80890
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
80159
80891
  const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
80160
- const renderLogo = useMemo444(() => {
80892
+ const renderLogo = useMemo440(() => {
80161
80893
  if (logoSlot) return logoSlot;
80162
80894
  if (!logo) return null;
80163
80895
  const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
@@ -80171,7 +80903,7 @@ function OfferModalSheetNewsletter({
80171
80903
  }
80172
80904
  );
80173
80905
  }, [logoSlot, logo, logoClassName, optixFlowConfig]);
80174
- const renderHeader = useMemo444(() => {
80906
+ const renderHeader = useMemo440(() => {
80175
80907
  if (headerSlot) return headerSlot;
80176
80908
  return /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
80177
80909
  renderLogo,
@@ -80181,7 +80913,7 @@ function OfferModalSheetNewsletter({
80181
80913
  ] })
80182
80914
  ] });
80183
80915
  }, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
80184
- const renderForm = useMemo444(() => {
80916
+ const renderForm = useMemo440(() => {
80185
80917
  if (formSlot) return formSlot;
80186
80918
  return /* @__PURE__ */ jsxRuntime.jsx(
80187
80919
  forms.Form,
@@ -80229,7 +80961,7 @@ function OfferModalSheetNewsletter({
80229
80961
  }
80230
80962
  );
80231
80963
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
80232
- const renderLegal = useMemo444(() => {
80964
+ const renderLegal = useMemo440(() => {
80233
80965
  if (legalSlot) return legalSlot;
80234
80966
  if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
80235
80967
  return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
@@ -80243,7 +80975,7 @@ function OfferModalSheetNewsletter({
80243
80975
  "."
80244
80976
  ] });
80245
80977
  }, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
80246
- const renderImage = useMemo444(() => {
80978
+ const renderImage = useMemo440(() => {
80247
80979
  if (imageSlot) return imageSlot;
80248
80980
  if (!image) return null;
80249
80981
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(