@opensite/ui 2.8.8 → 2.8.9

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 (1309) 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.cjs +174 -174
  4. package/dist/about-culture-tabs.d.cts +3 -3
  5. package/dist/about-culture-tabs.d.ts +3 -3
  6. package/dist/about-culture-tabs.js +174 -174
  7. package/dist/about-developer-profile.cjs +200 -200
  8. package/dist/about-developer-profile.d.cts +3 -3
  9. package/dist/about-developer-profile.d.ts +3 -3
  10. package/dist/about-developer-profile.js +198 -198
  11. package/dist/about-developer-story.cjs +142 -142
  12. package/dist/about-developer-story.d.cts +3 -3
  13. package/dist/about-developer-story.d.ts +3 -3
  14. package/dist/about-developer-story.js +142 -142
  15. package/dist/about-expandable-values.d.cts +3 -3
  16. package/dist/about-expandable-values.d.ts +3 -3
  17. package/dist/about-interactive-tabs.d.cts +3 -3
  18. package/dist/about-interactive-tabs.d.ts +3 -3
  19. package/dist/about-location-info-hero.d.cts +3 -3
  20. package/dist/about-location-info-hero.d.ts +3 -3
  21. package/dist/about-minimal-story.d.cts +3 -3
  22. package/dist/about-minimal-story.d.ts +3 -3
  23. package/dist/about-mission-dual-image.cjs +142 -142
  24. package/dist/about-mission-dual-image.d.cts +3 -3
  25. package/dist/about-mission-dual-image.d.ts +3 -3
  26. package/dist/about-mission-dual-image.js +142 -142
  27. package/dist/about-mission-features.cjs +142 -142
  28. package/dist/about-mission-features.d.cts +3 -3
  29. package/dist/about-mission-features.d.ts +3 -3
  30. package/dist/about-mission-features.js +142 -142
  31. package/dist/about-mission-principles.d.cts +3 -3
  32. package/dist/about-mission-principles.d.ts +3 -3
  33. package/dist/about-network-spotlight.cjs +142 -142
  34. package/dist/about-network-spotlight.d.cts +3 -3
  35. package/dist/about-network-spotlight.d.ts +3 -3
  36. package/dist/about-network-spotlight.js +142 -142
  37. package/dist/about-split-hero.d.cts +3 -3
  38. package/dist/about-split-hero.d.ts +3 -3
  39. package/dist/about-startup-team.d.cts +3 -3
  40. package/dist/about-startup-team.d.ts +3 -3
  41. package/dist/about-stats-showcase.d.cts +3 -3
  42. package/dist/about-stats-showcase.d.ts +3 -3
  43. package/dist/about-stats-sidebar.d.cts +3 -3
  44. package/dist/about-stats-sidebar.d.ts +3 -3
  45. package/dist/about-story-expertise.cjs +142 -142
  46. package/dist/about-story-expertise.d.cts +3 -3
  47. package/dist/about-story-expertise.d.ts +3 -3
  48. package/dist/about-story-expertise.js +142 -142
  49. package/dist/about-story-gallery.d.cts +3 -3
  50. package/dist/about-story-gallery.d.ts +3 -3
  51. package/dist/about-story-hero.d.cts +3 -3
  52. package/dist/about-story-hero.d.ts +3 -3
  53. package/dist/about-streamline-team.cjs +142 -142
  54. package/dist/about-streamline-team.d.cts +3 -3
  55. package/dist/about-streamline-team.d.ts +3 -3
  56. package/dist/about-streamline-team.js +142 -142
  57. package/dist/about-vision-gallery.d.cts +3 -3
  58. package/dist/about-vision-gallery.d.ts +3 -3
  59. package/dist/alternating-blocks.d.cts +3 -3
  60. package/dist/alternating-blocks.d.ts +3 -3
  61. package/dist/animated-dialog.d.cts +3 -3
  62. package/dist/animated-dialog.d.ts +3 -3
  63. package/dist/article-breadcrumb-social.d.cts +3 -3
  64. package/dist/article-breadcrumb-social.d.ts +3 -3
  65. package/dist/article-chapters-author.d.cts +3 -3
  66. package/dist/article-chapters-author.d.ts +3 -3
  67. package/dist/article-compact-toc.d.cts +3 -3
  68. package/dist/article-compact-toc.d.ts +3 -3
  69. package/dist/article-hero-prose.d.cts +3 -3
  70. package/dist/article-hero-prose.d.ts +3 -3
  71. package/dist/article-sidebar-sticky.d.cts +3 -3
  72. package/dist/article-sidebar-sticky.d.ts +3 -3
  73. package/dist/article-split-animated.d.cts +3 -3
  74. package/dist/article-split-animated.d.ts +3 -3
  75. package/dist/article-toc-sidebar.d.cts +3 -3
  76. package/dist/article-toc-sidebar.d.ts +3 -3
  77. package/dist/auto-scroll-carousel.d.cts +3 -3
  78. package/dist/auto-scroll-carousel.d.ts +3 -3
  79. package/dist/badge.d.cts +1 -1
  80. package/dist/badge.d.ts +1 -1
  81. package/dist/banner-announcement-dismissible.d.cts +3 -3
  82. package/dist/banner-announcement-dismissible.d.ts +3 -3
  83. package/dist/banner-countdown-sale.d.cts +3 -3
  84. package/dist/banner-countdown-sale.d.ts +3 -3
  85. package/dist/banner-delivery-countdown.d.cts +3 -3
  86. package/dist/banner-delivery-countdown.d.ts +3 -3
  87. package/dist/banner-event-promo.d.cts +3 -3
  88. package/dist/banner-event-promo.d.ts +3 -3
  89. package/dist/banner-floating-offer.d.cts +3 -3
  90. package/dist/banner-floating-offer.d.ts +3 -3
  91. package/dist/banner-gdpr-rights.d.cts +3 -3
  92. package/dist/banner-gdpr-rights.d.ts +3 -3
  93. package/dist/banner-privacy-notice.d.cts +3 -3
  94. package/dist/banner-privacy-notice.d.ts +3 -3
  95. package/dist/banner-promo-cta.d.cts +3 -3
  96. package/dist/banner-promo-cta.d.ts +3 -3
  97. package/dist/banner-social-follow.d.cts +3 -3
  98. package/dist/banner-social-follow.d.ts +3 -3
  99. package/dist/banner-survey-incentive.d.cts +3 -3
  100. package/dist/banner-survey-incentive.d.ts +3 -3
  101. package/dist/{blocks-BtDAbw8d.d.cts → blocks-D1hqLk46.d.cts} +1 -1
  102. package/dist/{blocks-BlWXj9GI.d.ts → blocks-kcru1Ogu.d.ts} +1 -1
  103. package/dist/blog-cards-read-time.d.cts +3 -3
  104. package/dist/blog-cards-read-time.d.ts +3 -3
  105. package/dist/blog-cards-tagline-cta.d.cts +3 -3
  106. package/dist/blog-cards-tagline-cta.d.ts +3 -3
  107. package/dist/blog-carousel-apple.d.cts +3 -3
  108. package/dist/blog-carousel-apple.d.ts +3 -3
  109. package/dist/blog-category-overlay.d.cts +3 -3
  110. package/dist/blog-category-overlay.d.ts +3 -3
  111. package/dist/blog-featured-popular.d.cts +3 -3
  112. package/dist/blog-featured-popular.d.ts +3 -3
  113. package/dist/blog-filtered-results.d.cts +3 -3
  114. package/dist/blog-filtered-results.d.ts +3 -3
  115. package/dist/blog-grid-author-cards.d.cts +3 -3
  116. package/dist/blog-grid-author-cards.d.ts +3 -3
  117. package/dist/blog-grid-nine-posts.d.cts +3 -3
  118. package/dist/blog-grid-nine-posts.d.ts +3 -3
  119. package/dist/blog-horizontal-cards.d.cts +3 -3
  120. package/dist/blog-horizontal-cards.d.ts +3 -3
  121. package/dist/blog-horizontal-timeline.d.cts +3 -3
  122. package/dist/blog-horizontal-timeline.d.ts +3 -3
  123. package/dist/blog-masonry-featured.d.cts +3 -3
  124. package/dist/blog-masonry-featured.d.ts +3 -3
  125. package/dist/blog-related-articles.d.cts +3 -3
  126. package/dist/blog-related-articles.d.ts +3 -3
  127. package/dist/blog-tech-insights.d.cts +3 -3
  128. package/dist/blog-tech-insights.d.ts +3 -3
  129. package/dist/blur-vignette-grid.d.cts +3 -3
  130. package/dist/blur-vignette-grid.d.ts +3 -3
  131. package/dist/{button-variants-8mtEHxev.d.cts → button-variants-lRElsmTc.d.cts} +1 -1
  132. package/dist/{button-variants-8mtEHxev.d.ts → button-variants-lRElsmTc.d.ts} +1 -1
  133. package/dist/button.d.cts +1 -1
  134. package/dist/button.d.ts +1 -1
  135. package/dist/carousel-animated-sections.d.cts +3 -3
  136. package/dist/carousel-animated-sections.d.ts +3 -3
  137. package/dist/carousel-auto-progress-slides.d.cts +3 -3
  138. package/dist/carousel-auto-progress-slides.d.ts +3 -3
  139. package/dist/carousel-autoplay-progress.d.cts +3 -3
  140. package/dist/carousel-autoplay-progress.d.ts +3 -3
  141. package/dist/carousel-badge-cards.d.cts +3 -3
  142. package/dist/carousel-badge-cards.d.ts +3 -3
  143. package/dist/carousel-demo-link.d.cts +3 -3
  144. package/dist/carousel-demo-link.d.ts +3 -3
  145. package/dist/carousel-feature-badge.d.cts +3 -3
  146. package/dist/carousel-feature-badge.d.ts +3 -3
  147. package/dist/carousel-fullscreen-scroll-fx.d.cts +3 -3
  148. package/dist/carousel-fullscreen-scroll-fx.d.ts +3 -3
  149. package/dist/carousel-gallery-thumbnails.d.cts +3 -3
  150. package/dist/carousel-gallery-thumbnails.d.ts +3 -3
  151. package/dist/carousel-gradient-overlay.d.cts +3 -3
  152. package/dist/carousel-gradient-overlay.d.ts +3 -3
  153. package/dist/carousel-gradient-text.d.cts +3 -3
  154. package/dist/carousel-gradient-text.d.ts +3 -3
  155. package/dist/carousel-horizontal-cards.d.cts +3 -3
  156. package/dist/carousel-horizontal-cards.d.ts +3 -3
  157. package/dist/carousel-icon-sidebar.d.cts +3 -3
  158. package/dist/carousel-icon-sidebar.d.ts +3 -3
  159. package/dist/carousel-icon-tabs.d.cts +3 -3
  160. package/dist/carousel-icon-tabs.d.ts +3 -3
  161. package/dist/carousel-image-hero.d.cts +3 -3
  162. package/dist/carousel-image-hero.d.ts +3 -3
  163. package/dist/carousel-multi-step-showcase.d.cts +3 -3
  164. package/dist/carousel-multi-step-showcase.d.ts +3 -3
  165. package/dist/carousel-portfolio-hero.d.cts +3 -3
  166. package/dist/carousel-portfolio-hero.d.ts +3 -3
  167. package/dist/carousel-product-feature-showcase.d.cts +3 -3
  168. package/dist/carousel-product-feature-showcase.d.ts +3 -3
  169. package/dist/carousel-progress-slider.d.cts +3 -3
  170. package/dist/carousel-progress-slider.d.ts +3 -3
  171. package/dist/carousel-scale-focus.d.cts +3 -3
  172. package/dist/carousel-scale-focus.d.ts +3 -3
  173. package/dist/carousel-scrolling-feature-showcase.d.cts +3 -3
  174. package/dist/carousel-scrolling-feature-showcase.d.ts +3 -3
  175. package/dist/carousel-sidebar-resources.d.cts +3 -3
  176. package/dist/carousel-sidebar-resources.d.ts +3 -3
  177. package/dist/carousel-tabs-content.d.cts +3 -3
  178. package/dist/carousel-tabs-content.d.ts +3 -3
  179. package/dist/case-studies-featured-border.d.cts +3 -3
  180. package/dist/case-studies-featured-border.d.ts +3 -3
  181. package/dist/case-studies-image-grid.d.cts +3 -3
  182. package/dist/case-studies-image-grid.d.ts +3 -3
  183. package/dist/case-studies-stats-card.d.cts +3 -3
  184. package/dist/case-studies-stats-card.d.ts +3 -3
  185. package/dist/case-studies-testimonial-stats.d.cts +3 -3
  186. package/dist/case-studies-testimonial-stats.d.ts +3 -3
  187. package/dist/case-study-prose-sidebar.d.cts +3 -3
  188. package/dist/case-study-prose-sidebar.d.ts +3 -3
  189. package/dist/case-study-stats-metrics.d.cts +3 -3
  190. package/dist/case-study-stats-metrics.d.ts +3 -3
  191. package/dist/case-study-toc-social-sidebar.d.cts +3 -3
  192. package/dist/case-study-toc-social-sidebar.d.ts +3 -3
  193. package/dist/{community-initiatives-B8KCpwXH.d.cts → community-initiatives-C3xYbyms.d.cts} +1 -1
  194. package/dist/{community-initiatives-rTRuDt0r.d.ts → community-initiatives-o1TkNw2C.d.ts} +1 -1
  195. package/dist/community-initiatives.cjs +142 -142
  196. package/dist/community-initiatives.d.cts +3 -3
  197. package/dist/community-initiatives.d.ts +3 -3
  198. package/dist/community-initiatives.js +142 -142
  199. package/dist/comparison-ai-models.d.cts +3 -3
  200. package/dist/comparison-ai-models.d.ts +3 -3
  201. package/dist/comparison-feature-cards.d.cts +3 -3
  202. package/dist/comparison-feature-cards.d.ts +3 -3
  203. package/dist/comparison-feature-grid.d.cts +3 -3
  204. package/dist/comparison-feature-grid.d.ts +3 -3
  205. package/dist/comparison-grid-badges.d.cts +3 -3
  206. package/dist/comparison-grid-badges.d.ts +3 -3
  207. package/dist/comparison-image-cards.d.cts +3 -3
  208. package/dist/comparison-image-cards.d.ts +3 -3
  209. package/dist/comparison-legacy-modern.d.cts +3 -3
  210. package/dist/comparison-legacy-modern.d.ts +3 -3
  211. package/dist/comparison-metrics-rows.d.cts +3 -3
  212. package/dist/comparison-metrics-rows.d.ts +3 -3
  213. package/dist/comparison-table-tabs.d.cts +3 -3
  214. package/dist/comparison-table-tabs.d.ts +3 -3
  215. package/dist/comparison-table-tooltips.d.cts +3 -3
  216. package/dist/comparison-table-tooltips.d.ts +3 -3
  217. package/dist/comparison-table-two-column.d.cts +3 -3
  218. package/dist/comparison-table-two-column.d.ts +3 -3
  219. package/dist/components.cjs +723 -1378
  220. package/dist/components.d.cts +3 -5
  221. package/dist/components.d.ts +3 -5
  222. package/dist/components.js +633 -1287
  223. package/dist/contact-callback.d.cts +3 -3
  224. package/dist/contact-callback.d.ts +3 -3
  225. package/dist/contact-card.d.cts +4 -4
  226. package/dist/contact-card.d.ts +4 -4
  227. package/dist/contact-careers.d.cts +3 -3
  228. package/dist/contact-careers.d.ts +3 -3
  229. package/dist/contact-catering.d.cts +3 -3
  230. package/dist/contact-catering.d.ts +3 -3
  231. package/dist/contact-consultation.d.cts +3 -3
  232. package/dist/contact-consultation.d.ts +3 -3
  233. package/dist/{contact-dark-CnLbZs_O.d.cts → contact-dark-BT8IUXg1.d.cts} +1 -1
  234. package/dist/{contact-dark-DEd0P5JW.d.ts → contact-dark-DmOtBZ7t.d.ts} +1 -1
  235. package/dist/contact-dark.d.cts +4 -4
  236. package/dist/contact-dark.d.ts +4 -4
  237. package/dist/contact-demo.d.cts +3 -3
  238. package/dist/contact-demo.d.ts +3 -3
  239. package/dist/contact-emergency.d.cts +3 -3
  240. package/dist/contact-emergency.d.ts +3 -3
  241. package/dist/contact-event.d.cts +3 -3
  242. package/dist/contact-event.d.ts +3 -3
  243. package/dist/contact-faq.d.cts +3 -3
  244. package/dist/contact-faq.d.ts +3 -3
  245. package/dist/contact-feedback.d.cts +3 -3
  246. package/dist/contact-feedback.d.ts +3 -3
  247. package/dist/contact-fitness.d.cts +3 -3
  248. package/dist/contact-fitness.d.ts +3 -3
  249. package/dist/contact-floating-banner.d.cts +3 -3
  250. package/dist/contact-floating-banner.d.ts +3 -3
  251. package/dist/contact-guest.d.cts +3 -3
  252. package/dist/contact-guest.d.ts +3 -3
  253. package/dist/contact-help-center.d.cts +3 -3
  254. package/dist/contact-help-center.d.ts +3 -3
  255. package/dist/contact-image.d.cts +3 -3
  256. package/dist/contact-image.d.ts +3 -3
  257. package/dist/contact-insurance.d.cts +3 -3
  258. package/dist/contact-insurance.d.ts +3 -3
  259. package/dist/contact-interview.d.cts +3 -3
  260. package/dist/contact-interview.d.ts +3 -3
  261. package/dist/contact-locations.d.cts +3 -3
  262. package/dist/contact-locations.d.ts +3 -3
  263. package/dist/contact-maintenance.d.cts +3 -3
  264. package/dist/contact-maintenance.d.ts +3 -3
  265. package/dist/contact-map.cjs +14 -1083
  266. package/dist/contact-map.d.cts +16 -6
  267. package/dist/contact-map.d.ts +16 -6
  268. package/dist/contact-map.js +14 -1083
  269. package/dist/contact-minimal.d.cts +3 -3
  270. package/dist/contact-minimal.d.ts +3 -3
  271. package/dist/contact-moving.d.cts +3 -3
  272. package/dist/contact-moving.d.ts +3 -3
  273. package/dist/contact-multistep.d.cts +3 -3
  274. package/dist/contact-multistep.d.ts +3 -3
  275. package/dist/contact-partnership.d.cts +3 -3
  276. package/dist/contact-partnership.d.ts +3 -3
  277. package/dist/contact-photography.d.cts +3 -3
  278. package/dist/contact-photography.d.ts +3 -3
  279. package/dist/contact-press.d.cts +3 -3
  280. package/dist/contact-press.d.ts +3 -3
  281. package/dist/contact-quote.d.cts +3 -3
  282. package/dist/contact-quote.d.ts +3 -3
  283. package/dist/contact-referral.d.cts +3 -3
  284. package/dist/contact-referral.d.ts +3 -3
  285. package/dist/contact-report.d.cts +3 -3
  286. package/dist/contact-report.d.ts +3 -3
  287. package/dist/contact-reservation.d.cts +3 -3
  288. package/dist/contact-reservation.d.ts +3 -3
  289. package/dist/contact-retreat.d.cts +3 -3
  290. package/dist/contact-retreat.d.ts +3 -3
  291. package/dist/contact-rsvp.d.cts +3 -3
  292. package/dist/contact-rsvp.d.ts +3 -3
  293. package/dist/contact-sales.d.cts +3 -3
  294. package/dist/contact-sales.d.ts +3 -3
  295. package/dist/contact-schedule.d.cts +3 -3
  296. package/dist/contact-schedule.d.ts +3 -3
  297. package/dist/contact-sponsorship.d.cts +3 -3
  298. package/dist/contact-sponsorship.d.ts +3 -3
  299. package/dist/contact-support.d.cts +3 -3
  300. package/dist/contact-support.d.ts +3 -3
  301. package/dist/contact-tenant.d.cts +3 -3
  302. package/dist/contact-tenant.d.ts +3 -3
  303. package/dist/contact-vendor.d.cts +3 -3
  304. package/dist/contact-vendor.d.ts +3 -3
  305. package/dist/contact-volunteer.d.cts +3 -3
  306. package/dist/contact-volunteer.d.ts +3 -3
  307. package/dist/contact-warranty.d.cts +3 -3
  308. package/dist/contact-warranty.d.ts +3 -3
  309. package/dist/contact-wedding.d.cts +3 -3
  310. package/dist/contact-wedding.d.ts +3 -3
  311. package/dist/container.d.cts +3 -3
  312. package/dist/container.d.ts +3 -3
  313. package/dist/cta-accent-background.d.cts +3 -3
  314. package/dist/cta-accent-background.d.ts +3 -3
  315. package/dist/cta-app-download-newsletter.d.cts +3 -3
  316. package/dist/cta-app-download-newsletter.d.ts +3 -3
  317. package/dist/cta-background-icon-badge.d.cts +3 -3
  318. package/dist/cta-background-icon-badge.d.ts +3 -3
  319. package/dist/cta-case-study-testimonial.d.cts +3 -3
  320. package/dist/cta-case-study-testimonial.d.ts +3 -3
  321. package/dist/cta-documentation-links.d.cts +3 -3
  322. package/dist/cta-documentation-links.d.ts +3 -3
  323. package/dist/cta-enterprise-dark-features.d.cts +3 -3
  324. package/dist/cta-enterprise-dark-features.d.ts +3 -3
  325. package/dist/cta-enterprise-split.d.cts +3 -3
  326. package/dist/cta-enterprise-split.d.ts +3 -3
  327. package/dist/cta-feature-cards-grid.d.cts +3 -3
  328. package/dist/cta-feature-cards-grid.d.ts +3 -3
  329. package/dist/cta-feature-checklist.cjs +142 -142
  330. package/dist/cta-feature-checklist.d.cts +3 -3
  331. package/dist/cta-feature-checklist.d.ts +3 -3
  332. package/dist/cta-feature-checklist.js +142 -142
  333. package/dist/cta-feature-list.d.cts +3 -3
  334. package/dist/cta-feature-list.d.ts +3 -3
  335. package/dist/cta-fullwidth-background.d.cts +3 -3
  336. package/dist/cta-fullwidth-background.d.ts +3 -3
  337. package/dist/cta-gradient-logos-floating.d.cts +3 -3
  338. package/dist/cta-gradient-logos-floating.d.ts +3 -3
  339. package/dist/cta-gradient-stats-hero.d.cts +3 -3
  340. package/dist/cta-gradient-stats-hero.d.ts +3 -3
  341. package/dist/cta-hero-feature-cards.d.cts +3 -3
  342. package/dist/cta-hero-feature-cards.d.ts +3 -3
  343. package/dist/cta-image-overlay-arrow.d.cts +3 -3
  344. package/dist/cta-image-overlay-arrow.d.ts +3 -3
  345. package/dist/cta-image-overlay-centered.d.cts +3 -3
  346. package/dist/cta-image-overlay-centered.d.ts +3 -3
  347. package/dist/cta-minimal-separator.d.cts +3 -3
  348. package/dist/cta-minimal-separator.d.ts +3 -3
  349. package/dist/cta-newsletter-features.d.cts +3 -3
  350. package/dist/cta-newsletter-features.d.ts +3 -3
  351. package/dist/cta-pattern-background.d.cts +3 -3
  352. package/dist/cta-pattern-background.d.ts +3 -3
  353. package/dist/cta-platform-demo.d.cts +3 -3
  354. package/dist/cta-platform-demo.d.ts +3 -3
  355. package/dist/cta-simple-centered.d.cts +3 -3
  356. package/dist/cta-simple-centered.d.ts +3 -3
  357. package/dist/cta-split-gradient-image.d.cts +3 -3
  358. package/dist/cta-split-gradient-image.d.ts +3 -3
  359. package/dist/cta-split-image-logos.d.cts +3 -3
  360. package/dist/cta-split-image-logos.d.ts +3 -3
  361. package/dist/cta-split-image.d.cts +3 -3
  362. package/dist/cta-split-image.d.ts +3 -3
  363. package/dist/cta-stacked-cards.d.cts +3 -3
  364. package/dist/cta-stacked-cards.d.ts +3 -3
  365. package/dist/cta-video-background-hero.d.cts +3 -3
  366. package/dist/cta-video-background-hero.d.ts +3 -3
  367. package/dist/cta-workflow-tabs.d.cts +3 -3
  368. package/dist/cta-workflow-tabs.d.ts +3 -3
  369. package/dist/expandable-case-study-cards.d.cts +3 -3
  370. package/dist/expandable-case-study-cards.d.ts +3 -3
  371. package/dist/faq-badge-support.d.cts +3 -3
  372. package/dist/faq-badge-support.d.ts +3 -3
  373. package/dist/faq-bordered-badge.d.cts +3 -3
  374. package/dist/faq-bordered-badge.d.ts +3 -3
  375. package/dist/faq-card-categories.d.cts +3 -3
  376. package/dist/faq-card-categories.d.ts +3 -3
  377. package/dist/faq-categorized-sections.d.cts +3 -3
  378. package/dist/faq-categorized-sections.d.ts +3 -3
  379. package/dist/faq-centered-accordion.d.cts +3 -3
  380. package/dist/faq-centered-accordion.d.ts +3 -3
  381. package/dist/faq-gradient-categories.d.cts +3 -3
  382. package/dist/faq-gradient-categories.d.ts +3 -3
  383. package/dist/faq-icon-benefits.d.cts +3 -3
  384. package/dist/faq-icon-benefits.d.ts +3 -3
  385. package/dist/faq-muted-cards.d.cts +3 -3
  386. package/dist/faq-muted-cards.d.ts +3 -3
  387. package/dist/faq-numbered-grid.cjs +142 -142
  388. package/dist/faq-numbered-grid.d.cts +3 -3
  389. package/dist/faq-numbered-grid.d.ts +3 -3
  390. package/dist/faq-numbered-grid.js +142 -142
  391. package/dist/faq-numbered-list.d.cts +3 -3
  392. package/dist/faq-numbered-list.d.ts +3 -3
  393. package/dist/faq-profile-sidebar.d.cts +3 -3
  394. package/dist/faq-profile-sidebar.d.ts +3 -3
  395. package/dist/faq-rounded-cards.d.cts +3 -3
  396. package/dist/faq-rounded-cards.d.ts +3 -3
  397. package/dist/faq-sidebar-navigation.d.cts +3 -3
  398. package/dist/faq-sidebar-navigation.d.ts +3 -3
  399. package/dist/faq-simple-accordion.d.cts +3 -3
  400. package/dist/faq-simple-accordion.d.ts +3 -3
  401. package/dist/faq-split-help.d.cts +3 -3
  402. package/dist/faq-split-help.d.ts +3 -3
  403. package/dist/faq-split-hero.d.cts +3 -3
  404. package/dist/faq-split-hero.d.ts +3 -3
  405. package/dist/faq-static-list.d.cts +3 -3
  406. package/dist/faq-static-list.d.ts +3 -3
  407. package/dist/feature-accordion-image.d.cts +3 -3
  408. package/dist/feature-accordion-image.d.ts +3 -3
  409. package/dist/feature-animated-carousel.cjs +142 -142
  410. package/dist/feature-animated-carousel.d.cts +3 -3
  411. package/dist/feature-animated-carousel.d.ts +3 -3
  412. package/dist/feature-animated-carousel.js +142 -142
  413. package/dist/feature-badge-grid-six.d.cts +3 -3
  414. package/dist/feature-badge-grid-six.d.ts +3 -3
  415. package/dist/feature-bento-image-grid.d.cts +3 -3
  416. package/dist/feature-bento-image-grid.d.ts +3 -3
  417. package/dist/feature-bento-utilities.cjs +142 -142
  418. package/dist/feature-bento-utilities.d.cts +3 -3
  419. package/dist/feature-bento-utilities.d.ts +3 -3
  420. package/dist/feature-bento-utilities.js +142 -142
  421. package/dist/feature-capabilities-grid.cjs +142 -142
  422. package/dist/feature-capabilities-grid.d.cts +3 -3
  423. package/dist/feature-capabilities-grid.d.ts +3 -3
  424. package/dist/feature-capabilities-grid.js +142 -142
  425. package/dist/feature-card-grid-linked.d.cts +3 -3
  426. package/dist/feature-card-grid-linked.d.ts +3 -3
  427. package/dist/feature-carousel-progress.d.cts +3 -3
  428. package/dist/feature-carousel-progress.d.ts +3 -3
  429. package/dist/feature-category-image-cards.cjs +142 -142
  430. package/dist/feature-category-image-cards.d.cts +3 -3
  431. package/dist/feature-category-image-cards.d.ts +3 -3
  432. package/dist/feature-category-image-cards.js +142 -142
  433. package/dist/feature-checklist-image.d.cts +3 -3
  434. package/dist/feature-checklist-image.d.ts +3 -3
  435. package/dist/feature-checklist-three-column.d.cts +3 -3
  436. package/dist/feature-checklist-three-column.d.ts +3 -3
  437. package/dist/feature-icon-grid-accent.d.cts +3 -3
  438. package/dist/feature-icon-grid-accent.d.ts +3 -3
  439. package/dist/feature-icon-grid-bordered.cjs +142 -142
  440. package/dist/feature-icon-grid-bordered.d.cts +3 -3
  441. package/dist/feature-icon-grid-bordered.d.ts +3 -3
  442. package/dist/feature-icon-grid-bordered.js +142 -142
  443. package/dist/feature-icon-grid-muted.cjs +142 -142
  444. package/dist/feature-icon-grid-muted.d.cts +3 -3
  445. package/dist/feature-icon-grid-muted.d.ts +3 -3
  446. package/dist/feature-icon-grid-muted.js +142 -142
  447. package/dist/feature-icon-tabs-content.d.cts +3 -3
  448. package/dist/feature-icon-tabs-content.d.ts +3 -3
  449. package/dist/feature-image-cards-three-column.d.cts +3 -3
  450. package/dist/feature-image-cards-three-column.d.ts +3 -3
  451. package/dist/feature-image-overlay-badge.d.cts +3 -3
  452. package/dist/feature-image-overlay-badge.d.ts +3 -3
  453. package/dist/feature-integration-cards.d.cts +3 -3
  454. package/dist/feature-integration-cards.d.ts +3 -3
  455. package/dist/feature-numbered-cards.cjs +142 -142
  456. package/dist/feature-numbered-cards.d.cts +3 -3
  457. package/dist/feature-numbered-cards.d.ts +3 -3
  458. package/dist/feature-numbered-cards.js +142 -142
  459. package/dist/feature-pattern-grid-links.d.cts +3 -3
  460. package/dist/feature-pattern-grid-links.d.ts +3 -3
  461. package/dist/feature-showcase.d.cts +4 -4
  462. package/dist/feature-showcase.d.ts +4 -4
  463. package/dist/feature-split-image-reverse.d.cts +3 -3
  464. package/dist/feature-split-image-reverse.d.ts +3 -3
  465. package/dist/feature-split-image.d.cts +3 -3
  466. package/dist/feature-split-image.d.ts +3 -3
  467. package/dist/feature-stats-highlight.d.cts +3 -3
  468. package/dist/feature-stats-highlight.d.ts +3 -3
  469. package/dist/feature-tabbed-content-image.d.cts +3 -3
  470. package/dist/feature-tabbed-content-image.d.ts +3 -3
  471. package/dist/feature-three-column-values.cjs +142 -142
  472. package/dist/feature-three-column-values.d.cts +3 -3
  473. package/dist/feature-three-column-values.d.ts +3 -3
  474. package/dist/feature-three-column-values.js +142 -142
  475. package/dist/feature-utility-cards-grid.d.cts +3 -3
  476. package/dist/feature-utility-cards-grid.d.ts +3 -3
  477. package/dist/footer-accordion-social.d.cts +3 -3
  478. package/dist/footer-accordion-social.d.ts +3 -3
  479. package/dist/footer-animated-social.d.cts +3 -3
  480. package/dist/footer-animated-social.d.ts +3 -3
  481. package/dist/footer-background-card.d.cts +3 -3
  482. package/dist/footer-background-card.d.ts +3 -3
  483. package/dist/footer-brand-description.d.cts +3 -3
  484. package/dist/footer-brand-description.d.ts +3 -3
  485. package/dist/footer-brand-links-contact.d.cts +3 -3
  486. package/dist/footer-brand-links-contact.d.ts +3 -3
  487. package/dist/footer-comprehensive-links.d.cts +3 -3
  488. package/dist/footer-comprehensive-links.d.ts +3 -3
  489. package/dist/footer-contact-card.d.cts +3 -3
  490. package/dist/footer-contact-card.d.ts +3 -3
  491. package/dist/footer-cta-banner.d.cts +3 -3
  492. package/dist/footer-cta-banner.d.ts +3 -3
  493. package/dist/footer-cta-social.d.cts +3 -3
  494. package/dist/footer-cta-social.d.ts +3 -3
  495. package/dist/footer-info-cards-accordion.d.cts +3 -3
  496. package/dist/footer-info-cards-accordion.d.ts +3 -3
  497. package/dist/footer-links-grid.d.cts +3 -3
  498. package/dist/footer-links-grid.d.ts +3 -3
  499. package/dist/footer-nav-social.d.cts +3 -3
  500. package/dist/footer-nav-social.d.ts +3 -3
  501. package/dist/footer-newsletter-contact.d.cts +3 -3
  502. package/dist/footer-newsletter-contact.d.ts +3 -3
  503. package/dist/footer-newsletter-grid.d.cts +3 -3
  504. package/dist/footer-newsletter-grid.d.ts +3 -3
  505. package/dist/footer-newsletter-minimal.d.cts +3 -3
  506. package/dist/footer-newsletter-minimal.d.ts +3 -3
  507. package/dist/footer-simple-centered.d.cts +3 -3
  508. package/dist/footer-simple-centered.d.ts +3 -3
  509. package/dist/footer-social-apps.d.cts +3 -3
  510. package/dist/footer-social-apps.d.ts +3 -3
  511. package/dist/footer-social-newsletter.d.cts +3 -3
  512. package/dist/footer-social-newsletter.d.ts +3 -3
  513. package/dist/footer-split-image-accordion.d.cts +3 -3
  514. package/dist/footer-split-image-accordion.d.ts +3 -3
  515. package/dist/hero-ad-campaign-expert.cjs +142 -142
  516. package/dist/hero-ad-campaign-expert.d.cts +3 -3
  517. package/dist/hero-ad-campaign-expert.d.ts +3 -3
  518. package/dist/hero-ad-campaign-expert.js +142 -142
  519. package/dist/hero-adaptable-product-grid.cjs +142 -142
  520. package/dist/hero-adaptable-product-grid.d.cts +3 -3
  521. package/dist/hero-adaptable-product-grid.d.ts +3 -3
  522. package/dist/hero-adaptable-product-grid.js +142 -142
  523. package/dist/hero-agency-animated-images.cjs +142 -142
  524. package/dist/hero-agency-animated-images.d.cts +3 -3
  525. package/dist/hero-agency-animated-images.d.ts +3 -3
  526. package/dist/hero-agency-animated-images.js +142 -142
  527. package/dist/hero-ai-powered-carousel.d.cts +3 -3
  528. package/dist/hero-ai-powered-carousel.d.ts +3 -3
  529. package/dist/hero-announcement-badge.cjs +142 -142
  530. package/dist/hero-announcement-badge.d.cts +3 -3
  531. package/dist/hero-announcement-badge.d.ts +3 -3
  532. package/dist/hero-announcement-badge.js +142 -142
  533. package/dist/hero-architecture-fullscreen.d.cts +3 -3
  534. package/dist/hero-architecture-fullscreen.d.ts +3 -3
  535. package/dist/hero-badge-image-split.cjs +142 -142
  536. package/dist/hero-badge-image-split.d.cts +3 -3
  537. package/dist/hero-badge-image-split.d.ts +3 -3
  538. package/dist/hero-badge-image-split.js +142 -142
  539. package/dist/hero-badge-shadow-overlay.d.cts +3 -3
  540. package/dist/hero-badge-shadow-overlay.d.ts +3 -3
  541. package/dist/hero-billing-platform-logos.d.cts +3 -3
  542. package/dist/hero-billing-platform-logos.d.ts +3 -3
  543. package/dist/hero-business-carousel-dots.cjs +142 -142
  544. package/dist/hero-business-carousel-dots.d.cts +3 -3
  545. package/dist/hero-business-carousel-dots.d.ts +3 -3
  546. package/dist/hero-business-carousel-dots.js +142 -142
  547. package/dist/hero-business-operations-mosaic.cjs +142 -142
  548. package/dist/hero-business-operations-mosaic.d.cts +3 -3
  549. package/dist/hero-business-operations-mosaic.d.ts +3 -3
  550. package/dist/hero-business-operations-mosaic.js +142 -142
  551. package/dist/hero-centered-gradient-cta.d.cts +3 -3
  552. package/dist/hero-centered-gradient-cta.d.ts +3 -3
  553. package/dist/hero-centered-image-grid.d.cts +3 -3
  554. package/dist/hero-centered-image-grid.d.ts +3 -3
  555. package/dist/hero-centered-screenshot.d.cts +3 -3
  556. package/dist/hero-centered-screenshot.d.ts +3 -3
  557. package/dist/hero-coming-soon-countdown.d.cts +3 -3
  558. package/dist/hero-coming-soon-countdown.d.ts +3 -3
  559. package/dist/hero-community-survey-cta.d.cts +3 -3
  560. package/dist/hero-community-survey-cta.d.ts +3 -3
  561. package/dist/hero-conversation-intelligence.cjs +142 -142
  562. package/dist/hero-conversation-intelligence.d.cts +3 -3
  563. package/dist/hero-conversation-intelligence.d.ts +3 -3
  564. package/dist/hero-conversation-intelligence.js +142 -142
  565. package/dist/hero-conversion-video-play.d.cts +3 -3
  566. package/dist/hero-conversion-video-play.d.ts +3 -3
  567. package/dist/hero-creative-studio-stacked.cjs +142 -142
  568. package/dist/hero-creative-studio-stacked.d.cts +4 -4
  569. package/dist/hero-creative-studio-stacked.d.ts +4 -4
  570. package/dist/hero-creative-studio-stacked.js +142 -142
  571. package/dist/hero-crm-streamlined.cjs +142 -142
  572. package/dist/hero-crm-streamlined.d.cts +3 -3
  573. package/dist/hero-crm-streamlined.d.ts +3 -3
  574. package/dist/hero-crm-streamlined.js +142 -142
  575. package/dist/hero-customer-support-layered.cjs +142 -142
  576. package/dist/hero-customer-support-layered.d.cts +3 -3
  577. package/dist/hero-customer-support-layered.d.ts +3 -3
  578. package/dist/hero-customer-support-layered.js +142 -142
  579. package/dist/hero-dashed-border-features.d.cts +3 -3
  580. package/dist/hero-dashed-border-features.d.ts +3 -3
  581. package/dist/hero-design-carousel-portfolio.d.cts +3 -3
  582. package/dist/hero-design-carousel-portfolio.d.ts +3 -3
  583. package/dist/hero-design-showcase-logos.cjs +142 -142
  584. package/dist/hero-design-showcase-logos.d.cts +3 -3
  585. package/dist/hero-design-showcase-logos.d.ts +3 -3
  586. package/dist/hero-design-showcase-logos.js +142 -142
  587. package/dist/hero-design-system-3d.cjs +142 -142
  588. package/dist/hero-design-system-3d.d.cts +3 -3
  589. package/dist/hero-design-system-3d.d.ts +3 -3
  590. package/dist/hero-design-system-3d.js +142 -142
  591. package/dist/hero-developer-tools-code.cjs +142 -142
  592. package/dist/hero-developer-tools-code.d.cts +3 -3
  593. package/dist/hero-developer-tools-code.d.ts +3 -3
  594. package/dist/hero-developer-tools-code.js +142 -142
  595. package/dist/hero-digital-agency-fullscreen.cjs +142 -142
  596. package/dist/hero-digital-agency-fullscreen.d.cts +3 -3
  597. package/dist/hero-digital-agency-fullscreen.d.ts +3 -3
  598. package/dist/hero-digital-agency-fullscreen.js +142 -142
  599. package/dist/hero-ecommerce-product-showcase.cjs +174 -174
  600. package/dist/hero-ecommerce-product-showcase.d.cts +3 -3
  601. package/dist/hero-ecommerce-product-showcase.d.ts +3 -3
  602. package/dist/hero-ecommerce-product-showcase.js +174 -174
  603. package/dist/hero-enterprise-security.d.cts +3 -3
  604. package/dist/hero-enterprise-security.d.ts +3 -3
  605. package/dist/hero-event-registration.cjs +142 -142
  606. package/dist/hero-event-registration.d.cts +3 -3
  607. package/dist/hero-event-registration.d.ts +3 -3
  608. package/dist/hero-event-registration.js +142 -142
  609. package/dist/hero-feature-cards-grid.d.cts +3 -3
  610. package/dist/hero-feature-cards-grid.d.ts +3 -3
  611. package/dist/hero-floating-images.d.cts +3 -3
  612. package/dist/hero-floating-images.d.ts +3 -3
  613. package/dist/hero-fullscreen-background-image.cjs +142 -142
  614. package/dist/hero-fullscreen-background-image.d.cts +3 -3
  615. package/dist/hero-fullscreen-background-image.d.ts +3 -3
  616. package/dist/hero-fullscreen-background-image.js +142 -142
  617. package/dist/hero-fullscreen-logo-cta.d.cts +3 -3
  618. package/dist/hero-fullscreen-logo-cta.d.ts +3 -3
  619. package/dist/hero-gradient-avatars-rating.cjs +142 -142
  620. package/dist/hero-gradient-avatars-rating.d.cts +3 -3
  621. package/dist/hero-gradient-avatars-rating.d.ts +3 -3
  622. package/dist/hero-gradient-avatars-rating.js +142 -142
  623. package/dist/hero-gradient-client-focused.cjs +142 -142
  624. package/dist/hero-gradient-client-focused.d.cts +3 -3
  625. package/dist/hero-gradient-client-focused.d.ts +3 -3
  626. package/dist/hero-gradient-client-focused.js +142 -142
  627. package/dist/hero-grid-pattern-efficiency.d.cts +3 -3
  628. package/dist/hero-grid-pattern-efficiency.d.ts +3 -3
  629. package/dist/hero-grid-pattern-solutions.d.cts +3 -3
  630. package/dist/hero-grid-pattern-solutions.d.ts +3 -3
  631. package/dist/hero-hiring-animated-text.cjs +142 -142
  632. package/dist/hero-hiring-animated-text.d.cts +3 -3
  633. package/dist/hero-hiring-animated-text.d.ts +3 -3
  634. package/dist/hero-hiring-animated-text.js +142 -142
  635. package/dist/hero-image-left-content.cjs +142 -142
  636. package/dist/hero-image-left-content.d.cts +3 -3
  637. package/dist/hero-image-left-content.d.ts +3 -3
  638. package/dist/hero-image-left-content.js +142 -142
  639. package/dist/hero-image-slider.d.cts +3 -3
  640. package/dist/hero-image-slider.d.ts +3 -3
  641. package/dist/hero-innovation-image-grid.cjs +142 -142
  642. package/dist/hero-innovation-image-grid.d.cts +3 -3
  643. package/dist/hero-innovation-image-grid.d.ts +3 -3
  644. package/dist/hero-innovation-image-grid.js +142 -142
  645. package/dist/hero-logo-centered-screenshot.d.cts +3 -3
  646. package/dist/hero-logo-centered-screenshot.d.ts +3 -3
  647. package/dist/hero-marketplace-scattered-images.d.cts +3 -3
  648. package/dist/hero-marketplace-scattered-images.d.ts +3 -3
  649. package/dist/hero-mental-health-team.cjs +142 -142
  650. package/dist/hero-mental-health-team.d.cts +3 -3
  651. package/dist/hero-mental-health-team.d.ts +3 -3
  652. package/dist/hero-mental-health-team.js +142 -142
  653. package/dist/hero-mentorship-video-split.d.cts +3 -3
  654. package/dist/hero-mentorship-video-split.d.ts +3 -3
  655. package/dist/hero-minimal-centered-dark.cjs +174 -174
  656. package/dist/hero-minimal-centered-dark.d.cts +3 -3
  657. package/dist/hero-minimal-centered-dark.d.ts +3 -3
  658. package/dist/hero-minimal-centered-dark.js +174 -174
  659. package/dist/hero-mobile-app-download.d.cts +3 -3
  660. package/dist/hero-mobile-app-download.d.ts +3 -3
  661. package/dist/hero-newsletter-minimal.d.cts +3 -3
  662. package/dist/hero-newsletter-minimal.d.ts +3 -3
  663. package/dist/hero-overlay-cta-grid.d.cts +3 -3
  664. package/dist/hero-overlay-cta-grid.d.ts +3 -3
  665. package/dist/hero-pattern-badge-logos.d.cts +3 -3
  666. package/dist/hero-pattern-badge-logos.d.ts +3 -3
  667. package/dist/hero-pattern-logo-tech-stack.d.cts +3 -3
  668. package/dist/hero-pattern-logo-tech-stack.d.ts +3 -3
  669. package/dist/hero-platform-features-grid.d.cts +3 -3
  670. package/dist/hero-platform-features-grid.d.ts +3 -3
  671. package/dist/hero-portfolio-creative.d.cts +3 -3
  672. package/dist/hero-portfolio-creative.d.ts +3 -3
  673. package/dist/hero-premium-split-avatars.d.cts +3 -3
  674. package/dist/hero-premium-split-avatars.d.ts +3 -3
  675. package/dist/hero-presentation-platform-video.cjs +142 -142
  676. package/dist/hero-presentation-platform-video.d.cts +3 -3
  677. package/dist/hero-presentation-platform-video.d.ts +3 -3
  678. package/dist/hero-presentation-platform-video.js +142 -142
  679. package/dist/hero-pricing-comparison.d.cts +3 -3
  680. package/dist/hero-pricing-comparison.d.ts +3 -3
  681. package/dist/hero-product-showcase-floating.cjs +174 -174
  682. package/dist/hero-product-showcase-floating.d.cts +3 -3
  683. package/dist/hero-product-showcase-floating.d.ts +3 -3
  684. package/dist/hero-product-showcase-floating.js +174 -174
  685. package/dist/hero-productivity-launcher-video.d.cts +3 -3
  686. package/dist/hero-productivity-launcher-video.d.ts +3 -3
  687. package/dist/hero-saas-dashboard-preview.d.cts +3 -3
  688. package/dist/hero-saas-dashboard-preview.d.ts +3 -3
  689. package/dist/hero-shared-inbox-layered.cjs +142 -142
  690. package/dist/hero-shared-inbox-layered.d.cts +3 -3
  691. package/dist/hero-shared-inbox-layered.d.ts +3 -3
  692. package/dist/hero-shared-inbox-layered.js +142 -142
  693. package/dist/hero-simple-centered-image.d.cts +3 -3
  694. package/dist/hero-simple-centered-image.d.ts +3 -3
  695. package/dist/hero-software-growth-video-dialog.cjs +142 -142
  696. package/dist/hero-software-growth-video-dialog.d.cts +3 -3
  697. package/dist/hero-software-growth-video-dialog.d.ts +3 -3
  698. package/dist/hero-software-growth-video-dialog.js +142 -142
  699. package/dist/hero-spiral-pattern-cards.cjs +174 -174
  700. package/dist/hero-spiral-pattern-cards.d.cts +3 -3
  701. package/dist/hero-spiral-pattern-cards.d.ts +3 -3
  702. package/dist/hero-spiral-pattern-cards.js +174 -174
  703. package/dist/hero-split-geometric-shapes.cjs +142 -142
  704. package/dist/hero-split-geometric-shapes.d.cts +3 -3
  705. package/dist/hero-split-geometric-shapes.d.ts +3 -3
  706. package/dist/hero-split-geometric-shapes.js +142 -142
  707. package/dist/hero-split-icon-cards.d.cts +3 -3
  708. package/dist/hero-split-icon-cards.d.ts +3 -3
  709. package/dist/hero-split-image-newsletter.d.cts +3 -3
  710. package/dist/hero-split-image-newsletter.d.ts +3 -3
  711. package/dist/hero-split-spiral-shapes.d.cts +3 -3
  712. package/dist/hero-split-spiral-shapes.d.ts +3 -3
  713. package/dist/hero-startup-launch-cta.cjs +174 -174
  714. package/dist/hero-startup-launch-cta.d.cts +3 -3
  715. package/dist/hero-startup-launch-cta.d.ts +3 -3
  716. package/dist/hero-startup-launch-cta.js +174 -174
  717. package/dist/hero-stats-social-proof.cjs +174 -174
  718. package/dist/hero-stats-social-proof.d.cts +3 -3
  719. package/dist/hero-stats-social-proof.d.ts +3 -3
  720. package/dist/hero-stats-social-proof.js +174 -174
  721. package/dist/hero-task-timer-animated.cjs +142 -142
  722. package/dist/hero-task-timer-animated.d.cts +3 -3
  723. package/dist/hero-task-timer-animated.d.ts +3 -3
  724. package/dist/hero-task-timer-animated.js +142 -142
  725. package/dist/hero-tech-carousel.d.cts +3 -3
  726. package/dist/hero-tech-carousel.d.ts +3 -3
  727. package/dist/hero-testimonial-image-grid.cjs +142 -142
  728. package/dist/hero-testimonial-image-grid.d.cts +3 -3
  729. package/dist/hero-testimonial-image-grid.d.ts +3 -3
  730. package/dist/hero-testimonial-image-grid.js +142 -142
  731. package/dist/hero-therapy-testimonial-grid.cjs +142 -142
  732. package/dist/hero-therapy-testimonial-grid.d.cts +3 -3
  733. package/dist/hero-therapy-testimonial-grid.d.ts +3 -3
  734. package/dist/hero-therapy-testimonial-grid.js +142 -142
  735. package/dist/hero-ui-library-showcase.cjs +142 -142
  736. package/dist/hero-ui-library-showcase.d.cts +3 -3
  737. package/dist/hero-ui-library-showcase.d.ts +3 -3
  738. package/dist/hero-ui-library-showcase.js +142 -142
  739. package/dist/hero-video-background-dark.cjs +174 -174
  740. package/dist/hero-video-background-dark.d.cts +3 -3
  741. package/dist/hero-video-background-dark.d.ts +3 -3
  742. package/dist/hero-video-background-dark.js +174 -174
  743. package/dist/{hero-video-dialog-gradient-BBE21gqm.d.ts → hero-video-dialog-gradient-BASu_oou.d.ts} +2 -2
  744. package/dist/{hero-video-dialog-gradient-Dx_H_njN.d.cts → hero-video-dialog-gradient-BG-Nc7fz.d.cts} +2 -2
  745. package/dist/hero-video-dialog-gradient.cjs +142 -142
  746. package/dist/hero-video-dialog-gradient.d.cts +4 -4
  747. package/dist/hero-video-dialog-gradient.d.ts +4 -4
  748. package/dist/hero-video-dialog-gradient.js +142 -142
  749. package/dist/hero-video-overlay-stars.cjs +142 -142
  750. package/dist/hero-video-overlay-stars.d.cts +3 -3
  751. package/dist/hero-video-overlay-stars.d.ts +3 -3
  752. package/dist/hero-video-overlay-stars.js +142 -142
  753. package/dist/hero-welcome-asymmetric-images.cjs +142 -142
  754. package/dist/hero-welcome-asymmetric-images.d.cts +3 -3
  755. package/dist/hero-welcome-asymmetric-images.d.ts +3 -3
  756. package/dist/hero-welcome-asymmetric-images.js +142 -142
  757. package/dist/hooks.d.cts +2 -2
  758. package/dist/hooks.d.ts +2 -2
  759. package/dist/image-slider.d.cts +2 -2
  760. package/dist/image-slider.d.ts +2 -2
  761. package/dist/index.cjs +725 -1380
  762. package/dist/index.d.cts +3 -5
  763. package/dist/index.d.ts +3 -5
  764. package/dist/index.js +634 -1288
  765. package/dist/industries-badge-list-bordered.d.cts +3 -3
  766. package/dist/industries-badge-list-bordered.d.ts +3 -3
  767. package/dist/industries-expandable-showcase.d.cts +3 -3
  768. package/dist/industries-expandable-showcase.d.ts +3 -3
  769. package/dist/industries-hover-reveal-grid.d.cts +3 -3
  770. package/dist/industries-hover-reveal-grid.d.ts +3 -3
  771. package/dist/industries-timeline-table.d.cts +3 -3
  772. package/dist/industries-timeline-table.d.ts +3 -3
  773. package/dist/interior-carousel.d.cts +3 -3
  774. package/dist/interior-carousel.d.ts +3 -3
  775. package/dist/link-page-bento-layout.d.cts +3 -3
  776. package/dist/link-page-bento-layout.d.ts +3 -3
  777. package/dist/link-page-grid-cards.d.cts +3 -3
  778. package/dist/link-page-grid-cards.d.ts +3 -3
  779. package/dist/link-page-minimal-profile.d.cts +3 -3
  780. package/dist/link-page-minimal-profile.d.ts +3 -3
  781. package/dist/link-page-newsletter-social.d.cts +3 -3
  782. package/dist/link-page-newsletter-social.d.ts +3 -3
  783. package/dist/link-tree-block.d.cts +3 -3
  784. package/dist/link-tree-block.d.ts +3 -3
  785. package/dist/list-achievements-showcase.d.cts +3 -3
  786. package/dist/list-achievements-showcase.d.ts +3 -3
  787. package/dist/list-career-timeline.d.cts +3 -3
  788. package/dist/list-career-timeline.d.ts +3 -3
  789. package/dist/list-feature-comparison.d.cts +3 -3
  790. package/dist/list-feature-comparison.d.ts +3 -3
  791. package/dist/list-metrics-dashboard.d.cts +3 -3
  792. package/dist/list-metrics-dashboard.d.ts +3 -3
  793. package/dist/list-searchable-grid.d.cts +3 -3
  794. package/dist/list-searchable-grid.d.ts +3 -3
  795. package/dist/list-service-category-table.d.cts +3 -3
  796. package/dist/list-service-category-table.d.ts +3 -3
  797. package/dist/logos-carousel-heading.d.cts +3 -3
  798. package/dist/logos-carousel-heading.d.ts +3 -3
  799. package/dist/logos-centered-simple.d.cts +3 -3
  800. package/dist/logos-centered-simple.d.ts +3 -3
  801. package/dist/logos-certifications-grid.d.cts +3 -3
  802. package/dist/logos-certifications-grid.d.ts +3 -3
  803. package/dist/logos-double-carousel-pattern.d.cts +3 -3
  804. package/dist/logos-double-carousel-pattern.d.ts +3 -3
  805. package/dist/logos-inline-tagline.d.cts +3 -3
  806. package/dist/logos-inline-tagline.d.ts +3 -3
  807. package/dist/logos-marquee-muted.d.cts +3 -3
  808. package/dist/logos-marquee-muted.d.ts +3 -3
  809. package/dist/logos-minimal-carousel.d.cts +3 -3
  810. package/dist/logos-minimal-carousel.d.ts +3 -3
  811. package/dist/logos-numbered-carousel.d.cts +3 -3
  812. package/dist/logos-numbered-carousel.d.ts +3 -3
  813. package/dist/logos-partner-grid-sidebar.d.cts +3 -3
  814. package/dist/logos-partner-grid-sidebar.d.ts +3 -3
  815. package/dist/logos-partner-network.d.cts +3 -3
  816. package/dist/logos-partner-network.d.ts +3 -3
  817. package/dist/logos-two-row-grid.d.cts +3 -3
  818. package/dist/logos-two-row-grid.d.ts +3 -3
  819. package/dist/masonry-motion-grid.d.cts +3 -3
  820. package/dist/masonry-motion-grid.d.ts +3 -3
  821. package/dist/media-hover-ctas.d.cts +3 -3
  822. package/dist/media-hover-ctas.d.ts +3 -3
  823. package/dist/navbar-animated-preview.d.cts +3 -3
  824. package/dist/navbar-animated-preview.d.ts +3 -3
  825. package/dist/navbar-centered-menu.d.cts +3 -3
  826. package/dist/navbar-centered-menu.d.ts +3 -3
  827. package/dist/navbar-dark-icons.d.cts +3 -3
  828. package/dist/navbar-dark-icons.d.ts +3 -3
  829. package/dist/navbar-dropdown-menu.d.cts +3 -3
  830. package/dist/navbar-dropdown-menu.d.ts +3 -3
  831. package/dist/navbar-education-platform.d.cts +3 -3
  832. package/dist/navbar-education-platform.d.ts +3 -3
  833. package/dist/navbar-enterprise-mega.d.cts +3 -3
  834. package/dist/navbar-enterprise-mega.d.ts +3 -3
  835. package/dist/navbar-feature-grid.d.cts +3 -3
  836. package/dist/navbar-feature-grid.d.ts +3 -3
  837. package/dist/navbar-floating-pill.d.cts +3 -3
  838. package/dist/navbar-floating-pill.d.ts +3 -3
  839. package/dist/navbar-fullscreen-menu.d.cts +3 -3
  840. package/dist/navbar-fullscreen-menu.d.ts +3 -3
  841. package/dist/navbar-icon-links.d.cts +3 -3
  842. package/dist/navbar-icon-links.d.ts +3 -3
  843. package/dist/navbar-image-preview.d.cts +3 -3
  844. package/dist/navbar-image-preview.d.ts +3 -3
  845. package/dist/navbar-mega-menu.d.cts +3 -3
  846. package/dist/navbar-mega-menu.d.ts +3 -3
  847. package/dist/navbar-multi-column-groups.d.cts +3 -3
  848. package/dist/navbar-multi-column-groups.d.ts +3 -3
  849. package/dist/navbar-platform-resources.d.cts +3 -3
  850. package/dist/navbar-platform-resources.d.ts +3 -3
  851. package/dist/navbar-search-focused.d.cts +3 -3
  852. package/dist/navbar-search-focused.d.ts +3 -3
  853. package/dist/navbar-sidebar-mobile.d.cts +3 -3
  854. package/dist/navbar-sidebar-mobile.d.ts +3 -3
  855. package/dist/navbar-simple-links.d.cts +3 -3
  856. package/dist/navbar-simple-links.d.ts +3 -3
  857. package/dist/navbar-split-cta.d.cts +3 -3
  858. package/dist/navbar-split-cta.d.ts +3 -3
  859. package/dist/navbar-sticky-compact.d.cts +3 -3
  860. package/dist/navbar-sticky-compact.d.ts +3 -3
  861. package/dist/navbar-tabbed-sections.d.cts +3 -3
  862. package/dist/navbar-tabbed-sections.d.ts +3 -3
  863. package/dist/navbar-transparent-overlay.d.cts +3 -3
  864. package/dist/navbar-transparent-overlay.d.ts +3 -3
  865. package/dist/offer-modal-membership-image.d.cts +3 -3
  866. package/dist/offer-modal-membership-image.d.ts +3 -3
  867. package/dist/offer-modal-newsletter-discount.d.cts +3 -3
  868. package/dist/offer-modal-newsletter-discount.d.ts +3 -3
  869. package/dist/offer-modal-sheet-newsletter.d.cts +3 -3
  870. package/dist/offer-modal-sheet-newsletter.d.ts +3 -3
  871. package/dist/page-hero-banner.d.cts +3 -3
  872. package/dist/page-hero-banner.d.ts +3 -3
  873. package/dist/pressable.d.cts +2 -2
  874. package/dist/pressable.d.ts +2 -2
  875. package/dist/pricing-addons-cards.d.cts +3 -3
  876. package/dist/pricing-addons-cards.d.ts +3 -3
  877. package/dist/pricing-addons-featured.d.cts +3 -3
  878. package/dist/pricing-addons-featured.d.ts +3 -3
  879. package/dist/pricing-collapsible-plans.d.cts +3 -3
  880. package/dist/pricing-collapsible-plans.d.ts +3 -3
  881. package/dist/pricing-columns-toggle.d.cts +3 -3
  882. package/dist/pricing-columns-toggle.d.ts +3 -3
  883. package/dist/pricing-comparison-headers.d.cts +3 -3
  884. package/dist/pricing-comparison-headers.d.ts +3 -3
  885. package/dist/pricing-comparison-table.d.cts +3 -3
  886. package/dist/pricing-comparison-table.d.ts +3 -3
  887. package/dist/pricing-discount-card.d.cts +3 -3
  888. package/dist/pricing-discount-card.d.ts +3 -3
  889. package/dist/pricing-enterprise-contact.d.cts +3 -3
  890. package/dist/pricing-enterprise-contact.d.ts +3 -3
  891. package/dist/pricing-feature-matrix.d.cts +3 -3
  892. package/dist/pricing-feature-matrix.d.ts +3 -3
  893. package/dist/pricing-four-tier-toggle.d.cts +3 -3
  894. package/dist/pricing-four-tier-toggle.d.ts +3 -3
  895. package/dist/pricing-full-comparison.d.cts +3 -3
  896. package/dist/pricing-full-comparison.d.ts +3 -3
  897. package/dist/pricing-gradient-cards.d.cts +3 -3
  898. package/dist/pricing-gradient-cards.d.ts +3 -3
  899. package/dist/pricing-icon-headers.d.cts +3 -3
  900. package/dist/pricing-icon-headers.d.ts +3 -3
  901. package/dist/pricing-minimal-cards.d.cts +3 -3
  902. package/dist/pricing-minimal-cards.d.ts +3 -3
  903. package/dist/pricing-packages-radio.d.cts +3 -3
  904. package/dist/pricing-packages-radio.d.ts +3 -3
  905. package/dist/pricing-popular-highlight.d.cts +3 -3
  906. package/dist/pricing-popular-highlight.d.ts +3 -3
  907. package/dist/pricing-radio-toggle.d.cts +3 -3
  908. package/dist/pricing-radio-toggle.d.ts +3 -3
  909. package/dist/pricing-responsive-table.d.cts +3 -3
  910. package/dist/pricing-responsive-table.d.ts +3 -3
  911. package/dist/pricing-services-cards.d.cts +3 -3
  912. package/dist/pricing-services-cards.d.ts +3 -3
  913. package/dist/pricing-simple-card.d.cts +3 -3
  914. package/dist/pricing-simple-card.d.ts +3 -3
  915. package/dist/pricing-single-card.d.cts +3 -3
  916. package/dist/pricing-single-card.d.ts +3 -3
  917. package/dist/pricing-split-layout.d.cts +3 -3
  918. package/dist/pricing-split-layout.d.ts +3 -3
  919. package/dist/pricing-spotlight-card.d.cts +3 -3
  920. package/dist/pricing-spotlight-card.d.ts +3 -3
  921. package/dist/pricing-switch-cards.d.cts +3 -3
  922. package/dist/pricing-switch-cards.d.ts +3 -3
  923. package/dist/pricing-tabs-toggle.d.cts +3 -3
  924. package/dist/pricing-tabs-toggle.d.ts +3 -3
  925. package/dist/pricing-tier-grid.d.cts +3 -3
  926. package/dist/pricing-tier-grid.d.ts +3 -3
  927. package/dist/pricing-toggle-cards.d.cts +3 -3
  928. package/dist/pricing-toggle-cards.d.ts +3 -3
  929. package/dist/pricing-toggle-period.d.cts +3 -3
  930. package/dist/pricing-toggle-period.d.ts +3 -3
  931. package/dist/pricing-two-column-basic.d.cts +3 -3
  932. package/dist/pricing-two-column-basic.d.ts +3 -3
  933. package/dist/process-expandable-timeline.d.cts +3 -3
  934. package/dist/process-expandable-timeline.d.ts +3 -3
  935. package/dist/process-hover-cards.d.cts +3 -3
  936. package/dist/process-hover-cards.d.ts +3 -3
  937. package/dist/process-icon-timeline.d.cts +3 -3
  938. package/dist/process-icon-timeline.d.ts +3 -3
  939. package/dist/process-mission-principles.d.cts +3 -3
  940. package/dist/process-mission-principles.d.ts +3 -3
  941. package/dist/process-numbered-services.d.cts +3 -3
  942. package/dist/process-numbered-services.d.ts +3 -3
  943. package/dist/process-roadmap-timeline.d.cts +3 -3
  944. package/dist/process-roadmap-timeline.d.ts +3 -3
  945. package/dist/process-scroll-image.d.cts +3 -3
  946. package/dist/process-scroll-image.d.ts +3 -3
  947. package/dist/process-steps-grid.d.cts +3 -3
  948. package/dist/process-steps-grid.d.ts +3 -3
  949. package/dist/process-sticky-steps.d.cts +3 -3
  950. package/dist/process-sticky-steps.d.ts +3 -3
  951. package/dist/project-alternating-motion.d.cts +3 -3
  952. package/dist/project-alternating-motion.d.ts +3 -3
  953. package/dist/project-background-reveal.d.cts +3 -3
  954. package/dist/project-background-reveal.d.ts +3 -3
  955. package/dist/project-card-overlay.d.cts +3 -3
  956. package/dist/project-card-overlay.d.ts +3 -3
  957. package/dist/project-carousel-cinematic.d.cts +3 -3
  958. package/dist/project-carousel-cinematic.d.ts +3 -3
  959. package/dist/project-carousel-detail-cards.d.cts +3 -3
  960. package/dist/project-carousel-detail-cards.d.ts +3 -3
  961. package/dist/project-carousel-minimal.d.cts +3 -3
  962. package/dist/project-carousel-minimal.d.ts +3 -3
  963. package/dist/project-detail-architecture-carousel.d.cts +3 -3
  964. package/dist/project-detail-architecture-carousel.d.ts +3 -3
  965. package/dist/project-detail-card-header.d.cts +3 -3
  966. package/dist/project-detail-card-header.d.ts +3 -3
  967. package/dist/project-detail-case-study-prose.d.cts +3 -3
  968. package/dist/project-detail-case-study-prose.d.ts +3 -3
  969. package/dist/project-detail-compact-metadata.d.cts +3 -3
  970. package/dist/project-detail-compact-metadata.d.ts +3 -3
  971. package/dist/project-detail-exhibition-sidebar.d.cts +3 -3
  972. package/dist/project-detail-exhibition-sidebar.d.ts +3 -3
  973. package/dist/project-detail-fashion-editorial.d.cts +3 -3
  974. package/dist/project-detail-fashion-editorial.d.ts +3 -3
  975. package/dist/project-detail-fullscreen-hero.d.cts +3 -3
  976. package/dist/project-detail-fullscreen-hero.d.ts +3 -3
  977. package/dist/project-detail-grid-gallery.d.cts +3 -3
  978. package/dist/project-detail-grid-gallery.d.ts +3 -3
  979. package/dist/project-detail-hero-metadata.d.cts +3 -3
  980. package/dist/project-detail-hero-metadata.d.ts +3 -3
  981. package/dist/project-detail-hover-gallery.d.cts +3 -3
  982. package/dist/project-detail-hover-gallery.d.ts +3 -3
  983. package/dist/project-detail-large-hero-featured.d.cts +3 -3
  984. package/dist/project-detail-large-hero-featured.d.ts +3 -3
  985. package/dist/project-detail-list-related.d.cts +3 -3
  986. package/dist/project-detail-list-related.d.ts +3 -3
  987. package/dist/project-detail-mask-reveal.d.cts +3 -3
  988. package/dist/project-detail-mask-reveal.d.ts +3 -3
  989. package/dist/project-detail-minimal-centered.d.cts +3 -3
  990. package/dist/project-detail-minimal-centered.d.ts +3 -3
  991. package/dist/project-detail-numbered-sections.d.cts +3 -3
  992. package/dist/project-detail-numbered-sections.d.ts +3 -3
  993. package/dist/project-detail-parallax-scroll.d.cts +3 -3
  994. package/dist/project-detail-parallax-scroll.d.ts +3 -3
  995. package/dist/project-detail-photography-breadcrumb.d.cts +3 -3
  996. package/dist/project-detail-photography-breadcrumb.d.ts +3 -3
  997. package/dist/project-detail-sculpture-showcase.d.cts +3 -3
  998. package/dist/project-detail-sculpture-showcase.d.ts +3 -3
  999. package/dist/project-detail-sidebar-navigation.d.cts +3 -3
  1000. package/dist/project-detail-sidebar-navigation.d.ts +3 -3
  1001. package/dist/project-detail-sidebar-sticky.d.cts +3 -3
  1002. package/dist/project-detail-sidebar-sticky.d.ts +3 -3
  1003. package/dist/project-detail-split-materials.d.cts +3 -3
  1004. package/dist/project-detail-split-materials.d.ts +3 -3
  1005. package/dist/project-detail-tabbed-case-study.d.cts +3 -3
  1006. package/dist/project-detail-tabbed-case-study.d.ts +3 -3
  1007. package/dist/project-experience-quote.d.cts +3 -3
  1008. package/dist/project-experience-quote.d.ts +3 -3
  1009. package/dist/project-featured-carousel.d.cts +3 -3
  1010. package/dist/project-featured-carousel.d.ts +3 -3
  1011. package/dist/project-filterable-gallery.d.cts +3 -3
  1012. package/dist/project-filterable-gallery.d.ts +3 -3
  1013. package/dist/project-filterable-three-column.d.cts +3 -3
  1014. package/dist/project-filterable-three-column.d.ts +3 -3
  1015. package/dist/project-grid-gallery.d.cts +3 -3
  1016. package/dist/project-grid-gallery.d.ts +3 -3
  1017. package/dist/project-grid-motion.d.cts +3 -3
  1018. package/dist/project-grid-motion.d.ts +3 -3
  1019. package/dist/project-horizontal-cards.d.cts +3 -3
  1020. package/dist/project-horizontal-cards.d.ts +3 -3
  1021. package/dist/project-hover-reveal-grid.d.cts +3 -3
  1022. package/dist/project-hover-reveal-grid.d.ts +3 -3
  1023. package/dist/project-interactive-hover-reveal.d.cts +3 -3
  1024. package/dist/project-interactive-hover-reveal.d.ts +3 -3
  1025. package/dist/project-masonry-columns.d.cts +3 -3
  1026. package/dist/project-masonry-columns.d.ts +3 -3
  1027. package/dist/project-nature-mosaic.d.cts +3 -3
  1028. package/dist/project-nature-mosaic.d.ts +3 -3
  1029. package/dist/project-scroll-reveal.d.cts +3 -3
  1030. package/dist/project-scroll-reveal.d.ts +3 -3
  1031. package/dist/project-showcase-alternating.d.cts +3 -3
  1032. package/dist/project-showcase-alternating.d.ts +3 -3
  1033. package/dist/project-sticky-scroll.d.cts +3 -3
  1034. package/dist/project-sticky-scroll.d.ts +3 -3
  1035. package/dist/project-studio-hover-preview.d.cts +3 -3
  1036. package/dist/project-studio-hover-preview.d.ts +3 -3
  1037. package/dist/project-table-list.d.cts +3 -3
  1038. package/dist/project-table-list.d.ts +3 -3
  1039. package/dist/project-video-carousel.d.cts +3 -3
  1040. package/dist/project-video-carousel.d.ts +3 -3
  1041. package/dist/project-video-hover-bento.d.cts +3 -3
  1042. package/dist/project-video-hover-bento.d.ts +3 -3
  1043. package/dist/project-video-hover-grid.d.cts +3 -3
  1044. package/dist/project-video-hover-grid.d.ts +3 -3
  1045. package/dist/project-video-hover-rounded.d.cts +3 -3
  1046. package/dist/project-video-hover-rounded.d.ts +3 -3
  1047. package/dist/project-video-hover-stack.d.cts +3 -3
  1048. package/dist/project-video-hover-stack.d.ts +3 -3
  1049. package/dist/project-video-hover-two-by-two.d.cts +3 -3
  1050. package/dist/project-video-hover-two-by-two.d.ts +3 -3
  1051. package/dist/project-work-showcase.d.cts +3 -3
  1052. package/dist/project-work-showcase.d.ts +3 -3
  1053. package/dist/project-zigzag-layout.d.cts +3 -3
  1054. package/dist/project-zigzag-layout.d.ts +3 -3
  1055. package/dist/registry.cjs +2125 -2775
  1056. package/dist/registry.js +872 -1522
  1057. package/dist/resource-detail-article-hero.d.cts +3 -3
  1058. package/dist/resource-detail-article-hero.d.ts +3 -3
  1059. package/dist/resource-detail-document-sidebar.d.cts +3 -3
  1060. package/dist/resource-detail-document-sidebar.d.ts +3 -3
  1061. package/dist/resource-detail-whitepaper-sidebar.d.cts +3 -3
  1062. package/dist/resource-detail-whitepaper-sidebar.d.ts +3 -3
  1063. package/dist/resource-list-course-cards.d.cts +3 -3
  1064. package/dist/resource-list-course-cards.d.ts +3 -3
  1065. package/dist/resource-list-featured-articles.d.cts +3 -3
  1066. package/dist/resource-list-featured-articles.d.ts +3 -3
  1067. package/dist/resource-list-featured-grid.d.cts +3 -3
  1068. package/dist/resource-list-featured-grid.d.ts +3 -3
  1069. package/dist/resource-list-hero-filter.d.cts +2 -2
  1070. package/dist/resource-list-hero-filter.d.ts +2 -2
  1071. package/dist/resource-list-news-updates.d.cts +3 -3
  1072. package/dist/resource-list-news-updates.d.ts +3 -3
  1073. package/dist/section.d.cts +3 -3
  1074. package/dist/section.d.ts +3 -3
  1075. package/dist/service-detail-centered-expertise.d.cts +3 -3
  1076. package/dist/service-detail-centered-expertise.d.ts +3 -3
  1077. package/dist/service-detail-compact-cards.d.cts +3 -3
  1078. package/dist/service-detail-compact-cards.d.ts +3 -3
  1079. package/dist/service-detail-image-hero.d.cts +3 -3
  1080. package/dist/service-detail-image-hero.d.ts +3 -3
  1081. package/dist/service-detail-prose-minimal.d.cts +3 -3
  1082. package/dist/service-detail-prose-minimal.d.ts +3 -3
  1083. package/dist/service-detail-sidebar-related.d.cts +3 -3
  1084. package/dist/service-detail-sidebar-related.d.ts +3 -3
  1085. package/dist/service-detail-sidebar-stats.d.cts +3 -3
  1086. package/dist/service-detail-sidebar-stats.d.ts +3 -3
  1087. package/dist/service-detail-stats-hero.d.cts +3 -3
  1088. package/dist/service-detail-stats-hero.d.ts +3 -3
  1089. package/dist/service-hover-carousel.d.cts +3 -3
  1090. package/dist/service-hover-carousel.d.ts +3 -3
  1091. package/dist/services-list-accordion-benefits.d.cts +3 -3
  1092. package/dist/services-list-accordion-benefits.d.ts +3 -3
  1093. package/dist/services-list-accordion.d.cts +3 -3
  1094. package/dist/services-list-accordion.d.ts +3 -3
  1095. package/dist/services-list-cards-hover.d.cts +3 -3
  1096. package/dist/services-list-cards-hover.d.ts +3 -3
  1097. package/dist/services-list-category-accordion.d.cts +3 -3
  1098. package/dist/services-list-category-accordion.d.ts +3 -3
  1099. package/dist/services-list-centered-icons.d.cts +3 -3
  1100. package/dist/services-list-centered-icons.d.ts +3 -3
  1101. package/dist/services-list-culture-tabs.d.cts +3 -3
  1102. package/dist/services-list-culture-tabs.d.ts +3 -3
  1103. package/dist/services-list-expandable-cards.d.cts +3 -3
  1104. package/dist/services-list-expandable-cards.d.ts +3 -3
  1105. package/dist/services-list-feature-spotlight.d.cts +3 -3
  1106. package/dist/services-list-feature-spotlight.d.ts +3 -3
  1107. package/dist/services-list-featured-highlight.d.cts +3 -3
  1108. package/dist/services-list-featured-highlight.d.ts +3 -3
  1109. package/dist/services-list-hero-cards.d.cts +3 -3
  1110. package/dist/services-list-hero-cards.d.ts +3 -3
  1111. package/dist/services-list-icon-grid.d.cts +3 -3
  1112. package/dist/services-list-icon-grid.d.ts +3 -3
  1113. package/dist/services-list-image-cards.d.cts +3 -3
  1114. package/dist/services-list-image-cards.d.ts +3 -3
  1115. package/dist/services-list-image-overlay-grid.d.cts +3 -3
  1116. package/dist/services-list-image-overlay-grid.d.ts +3 -3
  1117. package/dist/services-list-masonry.d.cts +3 -3
  1118. package/dist/services-list-masonry.d.ts +3 -3
  1119. package/dist/services-list-methodology-steps.d.cts +3 -3
  1120. package/dist/services-list-methodology-steps.d.ts +3 -3
  1121. package/dist/services-list-minimal-grid.d.cts +3 -3
  1122. package/dist/services-list-minimal-grid.d.ts +3 -3
  1123. package/dist/services-list-muted-cards.d.cts +3 -3
  1124. package/dist/services-list-muted-cards.d.ts +3 -3
  1125. package/dist/services-list-numbered-steps.d.cts +3 -3
  1126. package/dist/services-list-numbered-steps.d.ts +3 -3
  1127. package/dist/services-list-pricing-grid.d.cts +3 -3
  1128. package/dist/services-list-pricing-grid.d.ts +3 -3
  1129. package/dist/services-list-progress-sidebar.d.cts +3 -3
  1130. package/dist/services-list-progress-sidebar.d.ts +3 -3
  1131. package/dist/services-list-split-checklist.d.cts +3 -3
  1132. package/dist/services-list-split-checklist.d.ts +3 -3
  1133. package/dist/services-list-sticky-image.d.cts +3 -3
  1134. package/dist/services-list-sticky-image.d.ts +3 -3
  1135. package/dist/services-list-table-hover.d.cts +3 -3
  1136. package/dist/services-list-table-hover.d.ts +3 -3
  1137. package/dist/services-list-tabs-features.d.cts +3 -3
  1138. package/dist/services-list-tabs-features.d.ts +3 -3
  1139. package/dist/services-list-timeline.d.cts +3 -3
  1140. package/dist/services-list-timeline.d.ts +3 -3
  1141. package/dist/services-list-two-column-grid.d.cts +3 -3
  1142. package/dist/services-list-two-column-grid.d.ts +3 -3
  1143. package/dist/services-list-vertical-tags.d.cts +3 -3
  1144. package/dist/services-list-vertical-tags.d.ts +3 -3
  1145. package/dist/services-list-video-showcase.d.cts +3 -3
  1146. package/dist/services-list-video-showcase.d.ts +3 -3
  1147. package/dist/social-link-icon.d.cts +2 -2
  1148. package/dist/social-link-icon.d.ts +2 -2
  1149. package/dist/stats-animated-counter.d.cts +3 -3
  1150. package/dist/stats-animated-counter.d.ts +3 -3
  1151. package/dist/stats-bar-comparison.d.cts +3 -3
  1152. package/dist/stats-bar-comparison.d.ts +3 -3
  1153. package/dist/stats-card-group.d.cts +3 -3
  1154. package/dist/stats-card-group.d.ts +3 -3
  1155. package/dist/stats-circular-progress.d.cts +3 -3
  1156. package/dist/stats-circular-progress.d.ts +3 -3
  1157. package/dist/stats-growth-timeline.d.cts +3 -3
  1158. package/dist/stats-growth-timeline.d.ts +3 -3
  1159. package/dist/stats-icon-cards.d.cts +3 -3
  1160. package/dist/stats-icon-cards.d.ts +3 -3
  1161. package/dist/stats-impact-grid.d.cts +3 -3
  1162. package/dist/stats-impact-grid.d.ts +3 -3
  1163. package/dist/stats-milestone-sidebar.d.cts +3 -3
  1164. package/dist/stats-milestone-sidebar.d.ts +3 -3
  1165. package/dist/stats-number-ticker.d.cts +3 -3
  1166. package/dist/stats-number-ticker.d.ts +3 -3
  1167. package/dist/stats-primary-secondary.d.cts +3 -3
  1168. package/dist/stats-primary-secondary.d.ts +3 -3
  1169. package/dist/stats-simple-grid.d.cts +3 -3
  1170. package/dist/stats-simple-grid.d.ts +3 -3
  1171. package/dist/stats-timeline-tabs.d.cts +3 -3
  1172. package/dist/stats-timeline-tabs.d.ts +3 -3
  1173. package/dist/team-alternating-bios.d.cts +3 -3
  1174. package/dist/team-alternating-bios.d.ts +3 -3
  1175. package/dist/team-avatar-social.d.cts +3 -3
  1176. package/dist/team-avatar-social.d.ts +3 -3
  1177. package/dist/team-bio-badges.d.cts +3 -3
  1178. package/dist/team-bio-badges.d.ts +3 -3
  1179. package/dist/team-carousel-experience.d.cts +3 -3
  1180. package/dist/team-carousel-experience.d.ts +3 -3
  1181. package/dist/team-compact-cta.d.cts +3 -3
  1182. package/dist/team-compact-cta.d.ts +3 -3
  1183. package/dist/team-compact-grid.d.cts +3 -3
  1184. package/dist/team-compact-grid.d.ts +3 -3
  1185. package/dist/team-contact-cards.d.cts +3 -3
  1186. package/dist/team-contact-cards.d.ts +3 -3
  1187. package/dist/team-department-sections.d.cts +3 -3
  1188. package/dist/team-department-sections.d.ts +3 -3
  1189. package/dist/team-expertise-cards.d.cts +3 -3
  1190. package/dist/team-expertise-cards.d.ts +3 -3
  1191. package/dist/team-filterable-search.d.cts +3 -3
  1192. package/dist/team-filterable-search.d.ts +3 -3
  1193. package/dist/team-gradient-cards.d.cts +3 -3
  1194. package/dist/team-gradient-cards.d.ts +3 -3
  1195. package/dist/team-grid-animated.d.cts +3 -3
  1196. package/dist/team-grid-animated.d.ts +3 -3
  1197. package/dist/team-hover-highlight.d.cts +3 -3
  1198. package/dist/team-hover-highlight.d.ts +3 -3
  1199. package/dist/team-hover-overlay.d.cts +3 -3
  1200. package/dist/team-hover-overlay.d.ts +3 -3
  1201. package/dist/team-investor-showcase.d.cts +3 -3
  1202. package/dist/team-investor-showcase.d.ts +3 -3
  1203. package/dist/team-large-images.d.cts +3 -3
  1204. package/dist/team-large-images.d.ts +3 -3
  1205. package/dist/team-media-showcase.d.cts +3 -3
  1206. package/dist/team-media-showcase.d.ts +3 -3
  1207. package/dist/team-role-filter.d.cts +3 -3
  1208. package/dist/team-role-filter.d.ts +3 -3
  1209. package/dist/team-simple-grid.d.cts +3 -3
  1210. package/dist/team-simple-grid.d.ts +3 -3
  1211. package/dist/team-skill-badges.d.cts +3 -3
  1212. package/dist/team-skill-badges.d.ts +3 -3
  1213. package/dist/team-social-cards.d.cts +3 -3
  1214. package/dist/team-social-cards.d.ts +3 -3
  1215. package/dist/team-social-grid.d.cts +3 -3
  1216. package/dist/team-social-grid.d.ts +3 -3
  1217. package/dist/team-testimonial-stats.d.cts +3 -3
  1218. package/dist/team-testimonial-stats.d.ts +3 -3
  1219. package/dist/testimonial-carousel-cards.d.cts +3 -3
  1220. package/dist/testimonial-carousel-cards.d.ts +3 -3
  1221. package/dist/testimonials-animated-split.d.cts +3 -3
  1222. package/dist/testimonials-animated-split.d.ts +3 -3
  1223. package/dist/testimonials-bento-grid.d.cts +3 -3
  1224. package/dist/testimonials-bento-grid.d.ts +3 -3
  1225. package/dist/testimonials-carousel-image.d.cts +3 -3
  1226. package/dist/testimonials-carousel-image.d.ts +3 -3
  1227. package/dist/testimonials-centered-avatars.d.cts +3 -3
  1228. package/dist/testimonials-centered-avatars.d.ts +3 -3
  1229. package/dist/testimonials-company-logo.d.cts +3 -3
  1230. package/dist/testimonials-company-logo.d.ts +3 -3
  1231. package/dist/testimonials-grid-add-review.d.cts +3 -3
  1232. package/dist/testimonials-grid-add-review.d.ts +3 -3
  1233. package/dist/testimonials-images-helpful.d.cts +3 -3
  1234. package/dist/testimonials-images-helpful.d.ts +3 -3
  1235. package/dist/testimonials-large-quote.d.cts +3 -3
  1236. package/dist/testimonials-large-quote.d.ts +3 -3
  1237. package/dist/testimonials-list-verified.d.cts +3 -3
  1238. package/dist/testimonials-list-verified.d.ts +3 -3
  1239. package/dist/testimonials-logo-cards.d.cts +3 -3
  1240. package/dist/testimonials-logo-cards.d.ts +3 -3
  1241. package/dist/testimonials-marquee.d.cts +3 -3
  1242. package/dist/testimonials-marquee.d.ts +3 -3
  1243. package/dist/testimonials-masonry-grid.cjs +142 -142
  1244. package/dist/testimonials-masonry-grid.d.cts +3 -3
  1245. package/dist/testimonials-masonry-grid.d.ts +3 -3
  1246. package/dist/testimonials-masonry-grid.js +142 -142
  1247. package/dist/testimonials-mini-dividers.d.cts +3 -3
  1248. package/dist/testimonials-mini-dividers.d.ts +3 -3
  1249. package/dist/testimonials-minimal-numbered.d.cts +3 -3
  1250. package/dist/testimonials-minimal-numbered.d.ts +3 -3
  1251. package/dist/testimonials-parallax-number.d.cts +3 -3
  1252. package/dist/testimonials-parallax-number.d.ts +3 -3
  1253. package/dist/testimonials-quote-carousel.d.cts +3 -3
  1254. package/dist/testimonials-quote-carousel.d.ts +3 -3
  1255. package/dist/testimonials-scrolling-columns.d.cts +3 -3
  1256. package/dist/testimonials-scrolling-columns.d.ts +3 -3
  1257. package/dist/testimonials-simple-grid.d.cts +3 -3
  1258. package/dist/testimonials-simple-grid.d.ts +3 -3
  1259. package/dist/testimonials-slider-minimal.d.cts +3 -3
  1260. package/dist/testimonials-slider-minimal.d.ts +3 -3
  1261. package/dist/testimonials-split-image.d.cts +3 -3
  1262. package/dist/testimonials-split-image.d.ts +3 -3
  1263. package/dist/testimonials-stats-header.cjs +159 -159
  1264. package/dist/testimonials-stats-header.d.cts +3 -3
  1265. package/dist/testimonials-stats-header.d.ts +3 -3
  1266. package/dist/testimonials-stats-header.js +159 -159
  1267. package/dist/testimonials-twitter-cards.d.cts +3 -3
  1268. package/dist/testimonials-twitter-cards.d.ts +3 -3
  1269. package/dist/testimonials-wall-compact.d.cts +3 -3
  1270. package/dist/testimonials-wall-compact.d.ts +3 -3
  1271. package/dist/timeline-ai-workflow-cards.d.cts +3 -3
  1272. package/dist/timeline-ai-workflow-cards.d.ts +3 -3
  1273. package/dist/timeline-alternating-diagonal.d.cts +3 -3
  1274. package/dist/timeline-alternating-diagonal.d.ts +3 -3
  1275. package/dist/timeline-changelog-badges.d.cts +3 -3
  1276. package/dist/timeline-changelog-badges.d.ts +3 -3
  1277. package/dist/timeline-history-prose.d.cts +3 -3
  1278. package/dist/timeline-history-prose.d.ts +3 -3
  1279. package/dist/timeline-horizontal-icons.d.cts +3 -3
  1280. package/dist/timeline-horizontal-icons.d.ts +3 -3
  1281. package/dist/timeline-horizontal-phases.d.cts +3 -3
  1282. package/dist/timeline-horizontal-phases.d.ts +3 -3
  1283. package/dist/timeline-product-launch.d.cts +3 -3
  1284. package/dist/timeline-product-launch.d.ts +3 -3
  1285. package/dist/timeline-productivity-list.d.cts +3 -3
  1286. package/dist/timeline-productivity-list.d.ts +3 -3
  1287. package/dist/timeline-scroll-highlight.d.cts +3 -3
  1288. package/dist/timeline-scroll-highlight.d.ts +3 -3
  1289. package/dist/timeline-scroll-sticky-image.d.cts +3 -3
  1290. package/dist/timeline-scroll-sticky-image.d.ts +3 -3
  1291. package/dist/timeline-stepper-animated.d.cts +3 -3
  1292. package/dist/timeline-stepper-animated.d.ts +3 -3
  1293. package/dist/timeline-tabbed-phases.d.cts +3 -3
  1294. package/dist/timeline-tabbed-phases.d.ts +3 -3
  1295. package/dist/timeline-two-column-featured.d.cts +3 -3
  1296. package/dist/timeline-two-column-featured.d.ts +3 -3
  1297. package/dist/timeline-vertical-icon-dashed.d.cts +3 -3
  1298. package/dist/timeline-vertical-icon-dashed.d.ts +3 -3
  1299. package/dist/types.d.cts +3 -3
  1300. package/dist/types.d.ts +3 -3
  1301. package/dist/use-responsive-layout.d.cts +2 -2
  1302. package/dist/use-responsive-layout.d.ts +2 -2
  1303. package/dist/utils.d.cts +3 -3
  1304. package/dist/utils.d.ts +3 -3
  1305. package/package.json +4 -7
  1306. package/dist/geo-map.cjs +0 -1117
  1307. package/dist/geo-map.d.cts +0 -92
  1308. package/dist/geo-map.d.ts +0 -92
  1309. package/dist/geo-map.js +0 -1095
package/dist/index.js CHANGED
@@ -1,18 +1,17 @@
1
1
  "use client";
2
- import * as React6 from 'react';
3
- import React6__default, { useId, useRef, useEffect, useMemo, useCallback, useState } from 'react';
2
+ import * as React4 from 'react';
3
+ import React4__default, { useId, useRef, useEffect, useMemo, useCallback, useState } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
- import { MapLibre } from '@page-speed/maps';
8
- import { cva } from 'class-variance-authority';
9
- import { Icon } from '@page-speed/icon';
10
- import { Img } from '@page-speed/img';
11
7
  import { AnimatePresence, motion } from 'framer-motion';
12
8
  import { useOnClickOutside } from '@opensite/hooks/useOnClickOutside';
13
9
  import { AnimatePresence as AnimatePresence$1, motion as motion$1 } from 'motion/react';
10
+ import { Img } from '@page-speed/img';
14
11
  import { Slot } from '@radix-ui/react-slot';
12
+ import { cva } from 'class-variance-authority';
15
13
  import * as PopoverPrimitive from '@radix-ui/react-popover';
14
+ import { Icon } from '@page-speed/icon';
16
15
  import { usePlatformFromUrl } from '@opensite/hooks/usePlatformFromUrl';
17
16
  import * as TabsPrimitive from '@radix-ui/react-tabs';
18
17
  import { FormEngine } from '@page-speed/forms/integration';
@@ -121,7 +120,7 @@ var maxWidthStyles = {
121
120
  "4xl": "max-w-[1536px]",
122
121
  full: "max-w-full"
123
122
  };
124
- var Container = React6__default.forwardRef(
123
+ var Container = React4__default.forwardRef(
125
124
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
126
125
  const Component = as;
127
126
  return /* @__PURE__ */ jsx(
@@ -427,7 +426,7 @@ var spacingStyles = {
427
426
  };
428
427
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
429
428
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
430
- var Section = React6__default.forwardRef(
429
+ var Section = React4__default.forwardRef(
431
430
  ({
432
431
  id,
433
432
  title,
@@ -488,1145 +487,65 @@ var Section = React6__default.forwardRef(
488
487
  }
489
488
  );
490
489
  Section.displayName = "Section";
491
- function normalizePhoneNumber(input) {
492
- const trimmed = input.trim();
493
- if (trimmed.toLowerCase().startsWith("tel:")) {
494
- return trimmed;
495
- }
496
- const match = trimmed.match(/^[\s\+\-\(\)]*(\d[\d\s\-\(\)\.]*\d)[\s\-]*(x|ext\.?|extension)?[\s\-]*(\d+)?$/i);
497
- if (match) {
498
- const mainNumber = match[1].replace(/[\s\-\(\)\.]/g, "");
499
- const extension = match[3];
500
- const normalized = mainNumber.length >= 10 && !trimmed.startsWith("+") ? `+${mainNumber}` : mainNumber;
501
- const withExtension = extension ? `${normalized};ext=${extension}` : normalized;
502
- return `tel:${withExtension}`;
503
- }
504
- const cleaned = trimmed.replace(/[\s\-\(\)\.]/g, "");
505
- return `tel:${cleaned}`;
506
- }
507
- function normalizeEmail(input) {
508
- const trimmed = input.trim();
509
- if (trimmed.toLowerCase().startsWith("mailto:")) {
510
- return trimmed;
511
- }
512
- return `mailto:${trimmed}`;
513
- }
514
- function isEmail(input) {
515
- const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
516
- return emailRegex.test(input.trim());
517
- }
518
- function isPhoneNumber(input) {
519
- const trimmed = input.trim();
520
- if (trimmed.toLowerCase().startsWith("tel:")) {
521
- return true;
522
- }
523
- const phoneRegex = /^[\s\+\-\(\)]*\d[\d\s\-\(\)\.]*\d[\s\-]*(x|ext\.?|extension)?[\s\-]*\d*$/i;
524
- return phoneRegex.test(trimmed);
525
- }
526
- function isInternalUrl(href) {
527
- if (typeof window === "undefined") {
528
- return href.startsWith("/") && !href.startsWith("//");
529
- }
530
- const trimmed = href.trim();
531
- if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
532
- return true;
533
- }
534
- try {
535
- const url = new URL(trimmed, window.location.href);
536
- const currentOrigin = window.location.origin;
537
- const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
538
- return normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin);
539
- } catch {
540
- return false;
541
- }
542
- }
543
- function toRelativePath(href) {
544
- if (typeof window === "undefined") {
545
- return href;
546
- }
547
- const trimmed = href.trim();
548
- if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
549
- return trimmed;
550
- }
551
- try {
552
- const url = new URL(trimmed, window.location.href);
553
- const currentOrigin = window.location.origin;
554
- const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
555
- if (normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin)) {
556
- return url.pathname + url.search + url.hash;
557
- }
558
- } catch {
559
- }
560
- return trimmed;
561
- }
562
- function useNavigation({
563
- href,
564
- onClick
565
- } = {}) {
566
- const linkType = React6.useMemo(() => {
567
- if (!href || href.trim() === "") {
568
- return onClick ? "none" : "none";
569
- }
570
- const trimmed = href.trim();
571
- if (trimmed.toLowerCase().startsWith("mailto:") || isEmail(trimmed)) {
572
- return "mailto";
573
- }
574
- if (trimmed.toLowerCase().startsWith("tel:") || isPhoneNumber(trimmed)) {
575
- return "tel";
576
- }
577
- if (isInternalUrl(trimmed)) {
578
- return "internal";
579
- }
580
- try {
581
- new URL(trimmed, typeof window !== "undefined" ? window.location.href : "http://localhost");
582
- return "external";
583
- } catch {
584
- return "internal";
585
- }
586
- }, [href, onClick]);
587
- const normalizedHref = React6.useMemo(() => {
588
- if (!href || href.trim() === "") {
589
- return void 0;
590
- }
591
- const trimmed = href.trim();
592
- switch (linkType) {
593
- case "tel":
594
- return normalizePhoneNumber(trimmed);
595
- case "mailto":
596
- return normalizeEmail(trimmed);
597
- case "internal":
598
- return toRelativePath(trimmed);
599
- case "external":
600
- return trimmed;
601
- default:
602
- return trimmed;
603
- }
604
- }, [href, linkType]);
605
- const target = React6.useMemo(() => {
606
- switch (linkType) {
607
- case "external":
608
- return "_blank";
609
- case "internal":
610
- return "_self";
611
- case "mailto":
612
- case "tel":
613
- return void 0;
614
- default:
615
- return void 0;
490
+ var sizeStyles = {
491
+ sm: "max-w-md",
492
+ md: "max-w-2xl",
493
+ lg: "max-w-4xl",
494
+ xl: "max-w-5xl",
495
+ full: "max-w-7xl",
496
+ compact: "max-w-[700px]"
497
+ };
498
+ var dialogTransition = {
499
+ duration: 0.35,
500
+ ease: [0.16, 1, 0.3, 1]
501
+ };
502
+ function AnimatedDialog({
503
+ open,
504
+ onOpenChange,
505
+ title,
506
+ eyebrow,
507
+ description,
508
+ children,
509
+ header,
510
+ footer,
511
+ size = "lg",
512
+ className,
513
+ contentClassName,
514
+ featuredMediaHeader
515
+ }) {
516
+ const titleId = useId();
517
+ const descriptionId = useId();
518
+ const containerRef = useRef(null);
519
+ useOnClickOutside(containerRef, () => {
520
+ if (open) {
521
+ onOpenChange(false);
616
522
  }
617
- }, [linkType]);
618
- const rel = React6.useMemo(() => {
619
- if (linkType === "external") {
620
- return "noopener noreferrer";
523
+ });
524
+ useEffect(() => {
525
+ if (!open) {
526
+ return;
621
527
  }
622
- return void 0;
623
- }, [linkType]);
624
- const isExternal = linkType === "external";
625
- const isInternal = linkType === "internal";
626
- const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
627
- const handleClick = React6.useCallback(
628
- (event) => {
629
- if (onClick) {
630
- try {
631
- onClick(event);
632
- } catch (error) {
633
- console.error("Error in user onClick handler:", error);
634
- }
635
- }
636
- if (event.defaultPrevented) {
637
- return;
528
+ const onKeyDown = (event) => {
529
+ if (event.key === "Escape") {
530
+ onOpenChange(false);
638
531
  }
639
- if (shouldUseRouter && normalizedHref && event.button === 0 && // left-click only
640
- !event.metaKey && !event.altKey && !event.ctrlKey && !event.shiftKey) {
641
- if (typeof window !== "undefined") {
642
- const handler = window.__opensiteNavigationHandler;
643
- if (typeof handler === "function") {
644
- try {
645
- const handled = handler(normalizedHref, event.nativeEvent || event);
646
- if (handled !== false) {
647
- event.preventDefault();
648
- }
649
- } catch (error) {
650
- console.error("Error in navigation handler:", error);
651
- }
652
- }
653
- }
654
- }
655
- },
656
- [onClick, shouldUseRouter, normalizedHref]
657
- );
658
- return {
659
- linkType,
660
- normalizedHref,
661
- target,
662
- rel,
663
- isExternal,
664
- isInternal,
665
- shouldUseRouter,
666
- handleClick
667
- };
668
- }
669
- var baseStyles = [
670
- // Layout
671
- "inline-flex items-center justify-center gap-2 whitespace-nowrap shrink-0",
672
- // Typography - using CSS variables with sensible defaults
673
- "font-[var(--button-font-family,inherit)]",
674
- "font-[var(--button-font-weight,500)]",
675
- "tracking-[var(--button-letter-spacing,0)]",
676
- "leading-[var(--button-line-height,1.25)]",
677
- "[text-transform:var(--button-text-transform,none)]",
678
- "text-sm",
679
- // Border radius
680
- "rounded-[var(--button-radius,var(--radius,0.375rem))]",
681
- // Smooth transition - using [transition:...] to set full shorthand property (not just transition-property)
682
- "[transition:var(--button-transition,all_250ms_cubic-bezier(0.4,0,0.2,1))]",
683
- // Box shadow (master level) - using [box-shadow:...] for complex multi-value shadows
684
- "[box-shadow:var(--button-shadow,none)]",
685
- "hover:[box-shadow:var(--button-shadow-hover,var(--button-shadow,none))]",
686
- // Disabled state
687
- "disabled:pointer-events-none disabled:opacity-50",
688
- // SVG handling
689
- "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
690
- // Focus styles
691
- "outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
692
- // Invalid state
693
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
694
- ].join(" ");
695
- var buttonVariants = cva(baseStyles, {
696
- variants: {
697
- variant: {
698
- // Default (Primary) variant - full customization
699
- default: [
700
- "bg-[var(--button-default-bg,hsl(var(--primary)))]",
701
- "text-[var(--button-default-fg,hsl(var(--primary-foreground)))]",
702
- "border-[length:var(--button-default-border-width,0px)]",
703
- "border-[color:var(--button-default-border,transparent)]",
704
- "[box-shadow:var(--button-default-shadow,var(--button-shadow,none))]",
705
- "hover:bg-[var(--button-default-hover-bg,hsl(var(--primary)/0.9))]",
706
- "hover:text-[var(--button-default-hover-fg,var(--button-default-fg,hsl(var(--primary-foreground))))]",
707
- "hover:border-[color:var(--button-default-hover-border,var(--button-default-border,transparent))]",
708
- "hover:[box-shadow:var(--button-default-shadow-hover,var(--button-shadow-hover,var(--button-default-shadow,var(--button-shadow,none))))]"
709
- ].join(" "),
710
- // Destructive variant - full customization
711
- destructive: [
712
- "bg-[var(--button-destructive-bg,hsl(var(--destructive)))]",
713
- "text-[var(--button-destructive-fg,white)]",
714
- "border-[length:var(--button-destructive-border-width,0px)]",
715
- "border-[color:var(--button-destructive-border,transparent)]",
716
- "[box-shadow:var(--button-destructive-shadow,var(--button-shadow,none))]",
717
- "hover:bg-[var(--button-destructive-hover-bg,hsl(var(--destructive)/0.9))]",
718
- "hover:text-[var(--button-destructive-hover-fg,var(--button-destructive-fg,white))]",
719
- "hover:border-[color:var(--button-destructive-hover-border,var(--button-destructive-border,transparent))]",
720
- "hover:[box-shadow:var(--button-destructive-shadow-hover,var(--button-shadow-hover,var(--button-destructive-shadow,var(--button-shadow,none))))]",
721
- "focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
722
- "dark:bg-destructive/60"
723
- ].join(" "),
724
- // Outline variant - full customization with proper border handling
725
- outline: [
726
- "bg-[var(--button-outline-bg,hsl(var(--background)))]",
727
- "text-[var(--button-outline-fg,inherit)]",
728
- "border-[length:var(--button-outline-border-width,1px)]",
729
- "border-[color:var(--button-outline-border,hsl(var(--border)))]",
730
- "[box-shadow:var(--button-outline-shadow,var(--button-shadow,0_1px_2px_0_rgb(0_0_0/0.05)))]",
731
- "hover:bg-[var(--button-outline-hover-bg,hsl(var(--accent)))]",
732
- "hover:text-[var(--button-outline-hover-fg,hsl(var(--accent-foreground)))]",
733
- "hover:border-[color:var(--button-outline-hover-border,var(--button-outline-border,hsl(var(--border))))]",
734
- "hover:[box-shadow:var(--button-outline-shadow-hover,var(--button-shadow-hover,var(--button-outline-shadow,var(--button-shadow,none))))]",
735
- "dark:bg-input/30 dark:border-input dark:hover:bg-input/50"
736
- ].join(" "),
737
- // Secondary variant - full customization
738
- secondary: [
739
- "bg-[var(--button-secondary-bg,hsl(var(--secondary)))]",
740
- "text-[var(--button-secondary-fg,hsl(var(--secondary-foreground)))]",
741
- "border-[length:var(--button-secondary-border-width,0px)]",
742
- "border-[color:var(--button-secondary-border,transparent)]",
743
- "[box-shadow:var(--button-secondary-shadow,var(--button-shadow,none))]",
744
- "hover:bg-[var(--button-secondary-hover-bg,hsl(var(--secondary)/0.8))]",
745
- "hover:text-[var(--button-secondary-hover-fg,var(--button-secondary-fg,hsl(var(--secondary-foreground))))]",
746
- "hover:border-[color:var(--button-secondary-hover-border,var(--button-secondary-border,transparent))]",
747
- "hover:[box-shadow:var(--button-secondary-shadow-hover,var(--button-shadow-hover,var(--button-secondary-shadow,var(--button-shadow,none))))]"
748
- ].join(" "),
749
- // Ghost variant - full customization
750
- ghost: [
751
- "bg-[var(--button-ghost-bg,transparent)]",
752
- "text-[var(--button-ghost-fg,inherit)]",
753
- "border-[length:var(--button-ghost-border-width,0px)]",
754
- "border-[color:var(--button-ghost-border,transparent)]",
755
- "[box-shadow:var(--button-ghost-shadow,var(--button-shadow,none))]",
756
- "hover:bg-[var(--button-ghost-hover-bg,hsl(var(--accent)))]",
757
- "hover:text-[var(--button-ghost-hover-fg,hsl(var(--accent-foreground)))]",
758
- "hover:border-[color:var(--button-ghost-hover-border,var(--button-ghost-border,transparent))]",
759
- "hover:[box-shadow:var(--button-ghost-shadow-hover,var(--button-shadow-hover,var(--button-ghost-shadow,var(--button-shadow,none))))]",
760
- "dark:hover:bg-accent/50"
761
- ].join(" "),
762
- // Link variant - full customization
763
- link: [
764
- "bg-[var(--button-link-bg,transparent)]",
765
- "text-[var(--button-link-fg,hsl(var(--primary)))]",
766
- "border-[length:var(--button-link-border-width,0px)]",
767
- "border-[color:var(--button-link-border,transparent)]",
768
- "[box-shadow:var(--button-link-shadow,none)]",
769
- "hover:bg-[var(--button-link-hover-bg,transparent)]",
770
- "hover:text-[var(--button-link-hover-fg,var(--button-link-fg,hsl(var(--primary))))]",
771
- "hover:[box-shadow:var(--button-link-shadow-hover,none)]",
772
- "underline-offset-4 hover:underline"
773
- ].join(" ")
774
- },
775
- size: {
776
- default: [
777
- "h-[var(--button-height-md,2.25rem)]",
778
- "px-[var(--button-padding-x-md,1rem)]",
779
- "py-[var(--button-padding-y-md,0.5rem)]",
780
- "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
781
- ].join(" "),
782
- sm: [
783
- "h-[var(--button-height-sm,2rem)]",
784
- "px-[var(--button-padding-x-sm,0.75rem)]",
785
- "py-[var(--button-padding-y-sm,0.25rem)]",
786
- "gap-1.5",
787
- "has-[>svg]:px-[calc(var(--button-padding-x-sm,0.75rem)*0.83)]"
788
- ].join(" "),
789
- md: [
790
- "h-[var(--button-height-md,2.25rem)]",
791
- "px-[var(--button-padding-x-md,1rem)]",
792
- "py-[var(--button-padding-y-md,0.5rem)]",
793
- "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
794
- ].join(" "),
795
- lg: [
796
- "h-[var(--button-height-lg,2.5rem)]",
797
- "px-[var(--button-padding-x-lg,1.5rem)]",
798
- "py-[var(--button-padding-y-lg,0.5rem)]",
799
- "has-[>svg]:px-[calc(var(--button-padding-x-lg,1.5rem)*0.67)]"
800
- ].join(" "),
801
- icon: "size-[var(--button-height-md,2.25rem)]",
802
- "icon-sm": "size-[var(--button-height-sm,2rem)]",
803
- "icon-lg": "size-[var(--button-height-lg,2.5rem)]"
804
- }
805
- },
806
- defaultVariants: {
807
- variant: "default",
808
- size: "default"
809
- }
810
- });
811
- var Pressable = React6.forwardRef(
812
- ({
813
- children,
814
- className,
815
- href,
816
- onClick,
817
- variant,
818
- size,
819
- asButton = false,
820
- fallbackComponentType = "span",
821
- componentType,
822
- "aria-label": ariaLabel,
823
- "aria-describedby": ariaDescribedby,
824
- id,
825
- ...props
826
- }, ref) => {
827
- const navigation = useNavigation({ href, onClick });
828
- const {
829
- normalizedHref,
830
- target,
831
- rel,
832
- linkType,
833
- isInternal,
834
- isExternal,
835
- handleClick
836
- } = navigation;
837
- const shouldRenderLink = normalizedHref && linkType !== "none";
838
- const shouldRenderButton = !shouldRenderLink && onClick;
839
- const effectiveComponentType = componentType || (shouldRenderLink ? "a" : shouldRenderButton ? "button" : fallbackComponentType);
840
- const finalComponentType = isInternal && shouldRenderLink ? "a" : effectiveComponentType;
841
- const shouldApplyButtonStyles = asButton || variant || size;
842
- const combinedClassName = cn(
843
- shouldApplyButtonStyles && buttonVariants({ variant, size }),
844
- className
845
- );
846
- const dataProps = Object.fromEntries(
847
- Object.entries(props).filter(([key]) => key.startsWith("data-"))
848
- );
849
- const buttonDataAttributes = shouldApplyButtonStyles ? {
850
- "data-slot": "button",
851
- "data-variant": variant ?? "default",
852
- "data-size": size ?? "default"
853
- } : {};
854
- const commonProps = {
855
- className: combinedClassName,
856
- onClick: handleClick,
857
- "aria-label": ariaLabel,
858
- "aria-describedby": ariaDescribedby,
859
- id,
860
- ...dataProps,
861
- ...buttonDataAttributes
862
- };
863
- if (finalComponentType === "a" && shouldRenderLink) {
864
- return /* @__PURE__ */ jsx(
865
- "a",
866
- {
867
- ref,
868
- href: normalizedHref,
869
- target,
870
- rel,
871
- ...commonProps,
872
- ...props,
873
- children
874
- }
875
- );
876
- }
877
- if (finalComponentType === "button") {
878
- return /* @__PURE__ */ jsx(
879
- "button",
880
- {
881
- ref,
882
- type: props.type || "button",
883
- ...commonProps,
884
- ...props,
885
- children
886
- }
887
- );
888
- }
889
- if (finalComponentType === "div") {
890
- return /* @__PURE__ */ jsx(
891
- "div",
892
- {
893
- ref,
894
- ...commonProps,
895
- children
896
- }
897
- );
898
- }
899
- return /* @__PURE__ */ jsx(
900
- "span",
901
- {
902
- ref,
903
- ...commonProps,
904
- children
905
- }
906
- );
907
- }
908
- );
909
- Pressable.displayName = "Pressable";
910
- var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
911
- var DynamicIcon = React6.memo(function DynamicIcon2({
912
- apiKey,
913
- ...props
914
- }) {
915
- return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
916
- });
917
- DynamicIcon.displayName = "DynamicIcon";
918
- var PANEL_POSITION_CLASS = {
919
- "top-left": "left-4 top-4",
920
- "top-right": "right-4 top-4",
921
- "bottom-left": "bottom-4 left-4",
922
- "bottom-right": "bottom-4 right-4"
923
- };
924
- var DEFAULT_VIEW_STATE = {
925
- latitude: 39.5,
926
- longitude: -98.35,
927
- zoom: 3
928
- };
929
- var VIDEO_FILE_EXTENSION_REGEX = /\.(mp4|webm|ogg|mov|m4v|m3u8)(\?.*)?$/i;
930
- function resolveMediaType(item) {
931
- if (item.type) {
932
- return item.type;
933
- }
934
- return VIDEO_FILE_EXTENSION_REGEX.test(item.src) ? "video" : "image";
935
- }
936
- function normalizeId(value, fallback) {
937
- if (value === null || value === void 0 || value === "") {
938
- return fallback;
939
- }
940
- return String(value);
941
- }
942
- function buildClusterCenter(markers) {
943
- if (!markers.length) {
944
- return null;
945
- }
946
- const total = markers.reduce(
947
- (accumulator, marker) => ({
948
- latitude: accumulator.latitude + marker.latitude,
949
- longitude: accumulator.longitude + marker.longitude
950
- }),
951
- { latitude: 0, longitude: 0 }
952
- );
953
- return {
954
- latitude: total.latitude / markers.length,
955
- longitude: total.longitude / markers.length
956
- };
957
- }
958
- function resolveActionKey(action, index) {
959
- if (typeof action.label === "string" && action.label.trim().length > 0) {
960
- return `label:${action.label}:${index}`;
961
- }
962
- if (action.href) {
963
- return `href:${action.href}:${index}`;
964
- }
965
- return `action:${index}`;
966
- }
967
- function MarkerActions({ actions }) {
968
- if (!actions || actions.length === 0) {
969
- return null;
970
- }
971
- return /* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-2", children: actions.map((action, index) => {
972
- const {
973
- label,
974
- icon,
975
- iconAfter,
976
- children,
977
- href,
978
- onClick,
979
- className: actionClassName,
980
- variant,
981
- size,
982
- asButton,
983
- ...rest
984
- } = action;
985
- return /* @__PURE__ */ jsx(
986
- Pressable,
987
- {
988
- href,
989
- onClick,
990
- variant: variant ?? (index === 0 ? "default" : "outline"),
991
- size: size ?? "sm",
992
- asButton: asButton ?? true,
993
- className: cn("inline-flex items-center gap-2", actionClassName),
994
- ...rest,
995
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
996
- icon,
997
- label,
998
- iconAfter
999
- ] })
1000
- },
1001
- resolveActionKey(action, index)
1002
- );
1003
- }) });
1004
- }
1005
- function MarkerMediaCarousel({
1006
- mediaItems,
1007
- optixFlowConfig
1008
- }) {
1009
- const [activeIndex, setActiveIndex] = React6.useState(0);
1010
- const totalItems = mediaItems.length;
1011
- const mediaResetKey = React6.useMemo(
1012
- () => mediaItems.map((item, index) => {
1013
- const itemId = normalizeId(item.id, `media-${index}`);
1014
- return `${itemId}:${item.src}:${item.type ?? ""}:${item.poster ?? ""}`;
1015
- }).join("|"),
1016
- [mediaItems]
1017
- );
1018
- const activeItemIndex = Math.min(activeIndex, Math.max(0, totalItems - 1));
1019
- React6.useEffect(() => {
1020
- setActiveIndex(0);
1021
- }, [mediaResetKey]);
1022
- return /* @__PURE__ */ jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
1023
- /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: mediaItems.map((item, index) => {
1024
- const isActive = index === activeItemIndex;
1025
- const mediaType = resolveMediaType(item);
1026
- return /* @__PURE__ */ jsx(
1027
- "div",
1028
- {
1029
- "aria-hidden": !isActive,
1030
- className: cn(
1031
- "absolute inset-0 transition-opacity duration-500 ease-in-out",
1032
- isActive ? "opacity-100 z-[1]" : "opacity-0 z-0 pointer-events-none"
1033
- ),
1034
- children: mediaType === "video" ? /* @__PURE__ */ jsx(
1035
- "video",
1036
- {
1037
- className: "h-full w-full object-cover",
1038
- controls: isActive,
1039
- preload: "metadata",
1040
- poster: item.poster,
1041
- tabIndex: isActive ? 0 : -1,
1042
- children: /* @__PURE__ */ jsx("source", { src: item.src })
1043
- }
1044
- ) : /* @__PURE__ */ jsx(
1045
- Img,
1046
- {
1047
- src: item.src,
1048
- alt: item.alt ?? "Map marker media",
1049
- className: "h-full w-full object-cover",
1050
- loading: "eager",
1051
- optixFlowConfig
1052
- }
1053
- )
1054
- },
1055
- normalizeId(item.id, `media-slide-${index}`)
1056
- );
1057
- }) }),
1058
- totalItems > 1 ? /* @__PURE__ */ jsxs(Fragment, { children: [
1059
- /* @__PURE__ */ jsx(
1060
- "button",
1061
- {
1062
- type: "button",
1063
- "aria-label": "Show previous media",
1064
- className: "absolute left-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
1065
- onClick: () => {
1066
- setActiveIndex(
1067
- (current) => (current - 1 + totalItems) % totalItems
1068
- );
1069
- },
1070
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-left", size: 18 })
1071
- }
1072
- ),
1073
- /* @__PURE__ */ jsx(
1074
- "button",
1075
- {
1076
- type: "button",
1077
- "aria-label": "Show next media",
1078
- className: "absolute right-4 top-1/2 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-2xl bg-card text-card-foreground shadow-lg border-4 border-black hover:border-white hover:bg-black hover:text-white transition-all duration-500 z-[2]",
1079
- onClick: () => {
1080
- setActiveIndex((current) => (current + 1) % totalItems);
1081
- },
1082
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 18 })
1083
- }
1084
- ),
1085
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-2 left-1/2 flex -translate-x-1/2 items-center gap-1.5 z-[2]", children: mediaItems.map((item, index) => /* @__PURE__ */ jsx(
1086
- "button",
1087
- {
1088
- type: "button",
1089
- "aria-label": `Show media item ${index + 1}`,
1090
- className: cn(
1091
- "h-2 rounded-full transition-all duration-300",
1092
- index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
1093
- ),
1094
- onClick: () => setActiveIndex(index)
1095
- },
1096
- normalizeId(item.id, `media-dot-${index}`)
1097
- )) })
1098
- ] }) : null
1099
- ] });
1100
- }
1101
- function getMarkerTitle(marker, markerIndex) {
1102
- if (marker.title !== void 0 && marker.title !== null) {
1103
- return marker.title;
1104
- }
1105
- if (marker.label !== void 0 && marker.label !== null) {
1106
- return marker.label;
1107
- }
1108
- return `Location ${markerIndex + 1}`;
1109
- }
1110
- function GeoMap({
1111
- className,
1112
- mapWrapperClassName,
1113
- mapClassName,
1114
- panelClassName,
1115
- panelPosition = "top-left",
1116
- stadiaApiKey = "",
1117
- mapStyle = "osm-bright",
1118
- styleUrl,
1119
- mapLibreCssHref,
1120
- markers = [],
1121
- clusters = [],
1122
- viewState,
1123
- defaultViewState,
1124
- onViewStateChange,
1125
- onMapClick,
1126
- onMarkerDrag,
1127
- showNavigationControl = true,
1128
- showGeolocateControl = false,
1129
- navigationControlPosition = "top-right",
1130
- geolocateControlPosition = "top-left",
1131
- flyToOptions,
1132
- markerFocusZoom = 14,
1133
- clusterFocusZoom = 5,
1134
- selectedMarkerId,
1135
- initialSelectedMarkerId,
1136
- onSelectionChange,
1137
- clearSelectionOnMapClick = true,
1138
- mapChildren,
1139
- optixFlowConfig
1140
- }) {
1141
- const normalizedStandaloneMarkers = React6.useMemo(
1142
- () => markers.map((marker, index) => ({
1143
- ...marker,
1144
- id: normalizeId(marker.id, `marker-${index}`)
1145
- })),
1146
- [markers]
1147
- );
1148
- const normalizedClusters = React6.useMemo(() => {
1149
- const results = [];
1150
- clusters.forEach((cluster, clusterIndex) => {
1151
- const clusterId = normalizeId(cluster.id, `cluster-${clusterIndex}`);
1152
- const normalizedClusterMarkers = cluster.markers.map(
1153
- (marker, markerIndex) => ({
1154
- ...marker,
1155
- id: normalizeId(marker.id, `${clusterId}-marker-${markerIndex}`),
1156
- clusterId
1157
- })
1158
- );
1159
- const clusterCenter = cluster.latitude !== void 0 && cluster.longitude !== void 0 ? { latitude: cluster.latitude, longitude: cluster.longitude } : buildClusterCenter(normalizedClusterMarkers);
1160
- if (!clusterCenter) {
1161
- return;
1162
- }
1163
- results.push({
1164
- ...cluster,
1165
- id: clusterId,
1166
- latitude: clusterCenter.latitude,
1167
- longitude: clusterCenter.longitude,
1168
- markers: normalizedClusterMarkers
1169
- });
1170
- });
1171
- return results;
1172
- }, [clusters]);
1173
- const markerLookup = React6.useMemo(() => {
1174
- const lookup = /* @__PURE__ */ new Map();
1175
- normalizedStandaloneMarkers.forEach((marker) => {
1176
- lookup.set(marker.id, marker);
1177
- });
1178
- normalizedClusters.forEach((cluster) => {
1179
- cluster.markers.forEach((marker) => {
1180
- lookup.set(marker.id, marker);
1181
- });
1182
- });
1183
- return lookup;
1184
- }, [normalizedClusters, normalizedStandaloneMarkers]);
1185
- const clusterLookup = React6.useMemo(() => {
1186
- const lookup = /* @__PURE__ */ new Map();
1187
- normalizedClusters.forEach((cluster) => {
1188
- lookup.set(cluster.id, cluster);
1189
- });
1190
- return lookup;
1191
- }, [normalizedClusters]);
1192
- const firstCoordinate = React6.useMemo(() => {
1193
- if (normalizedStandaloneMarkers.length > 0) {
1194
- const firstStandaloneMarker = normalizedStandaloneMarkers[0];
1195
- return {
1196
- latitude: firstStandaloneMarker.latitude,
1197
- longitude: firstStandaloneMarker.longitude
1198
- };
1199
- }
1200
- if (normalizedClusters.length > 0) {
1201
- const firstCluster = normalizedClusters[0];
1202
- return {
1203
- latitude: firstCluster.latitude,
1204
- longitude: firstCluster.longitude
1205
- };
1206
- }
1207
- return {
1208
- latitude: DEFAULT_VIEW_STATE.latitude,
1209
- longitude: DEFAULT_VIEW_STATE.longitude
1210
- };
1211
- }, [normalizedClusters, normalizedStandaloneMarkers]);
1212
- const [uncontrolledViewState, setUncontrolledViewState] = React6.useState({
1213
- latitude: defaultViewState?.latitude ?? firstCoordinate.latitude,
1214
- longitude: defaultViewState?.longitude ?? firstCoordinate.longitude,
1215
- zoom: defaultViewState?.zoom ?? DEFAULT_VIEW_STATE.zoom
1216
- });
1217
- const isControlledViewState = viewState !== void 0;
1218
- const resolvedViewState = isControlledViewState ? viewState : uncontrolledViewState;
1219
- const applyViewState = React6.useCallback(
1220
- (nextState) => {
1221
- if (!isControlledViewState) {
1222
- setUncontrolledViewState((current) => {
1223
- const next = { ...current, ...nextState };
1224
- const hasChanged = current.latitude !== next.latitude || current.longitude !== next.longitude || current.zoom !== next.zoom;
1225
- return hasChanged ? next : current;
1226
- });
1227
- }
1228
- onViewStateChange?.(nextState);
1229
- },
1230
- [isControlledViewState, onViewStateChange]
1231
- );
1232
- const [selection, setSelection] = React6.useState(() => {
1233
- if (initialSelectedMarkerId !== void 0 && initialSelectedMarkerId !== null) {
1234
- return {
1235
- type: "marker",
1236
- markerId: String(initialSelectedMarkerId)
1237
- };
1238
- }
1239
- return { type: "none" };
1240
- });
1241
- React6.useEffect(() => {
1242
- if (selectedMarkerId === void 0 || selectedMarkerId === null) {
1243
- return;
1244
- }
1245
- setSelection({
1246
- type: "marker",
1247
- markerId: String(selectedMarkerId)
1248
- });
1249
- }, [selectedMarkerId]);
1250
- const selectedMarker = selection.markerId ? markerLookup.get(selection.markerId) : void 0;
1251
- const selectedCluster = selection.clusterId ? clusterLookup.get(selection.clusterId) : void 0;
1252
- React6.useEffect(() => {
1253
- if (selection.type === "marker" && selection.markerId && !selectedMarker) {
1254
- setSelection({ type: "none" });
1255
- onSelectionChange?.({ type: "none" });
1256
- }
1257
- }, [onSelectionChange, selectedMarker, selection]);
1258
- const emitSelectionChange = React6.useCallback(
1259
- (nextSelection) => {
1260
- if (nextSelection.type === "none") {
1261
- onSelectionChange?.({ type: "none" });
1262
- return;
1263
- }
1264
- if (nextSelection.type === "marker") {
1265
- const parentCluster = nextSelection.marker.clusterId ? clusterLookup.get(nextSelection.marker.clusterId) : void 0;
1266
- onSelectionChange?.({
1267
- type: "marker",
1268
- marker: nextSelection.marker,
1269
- cluster: parentCluster
1270
- });
1271
- return;
1272
- }
1273
- onSelectionChange?.({
1274
- type: "cluster",
1275
- cluster: nextSelection.cluster
1276
- });
1277
- },
1278
- [clusterLookup, onSelectionChange]
1279
- );
1280
- const selectMarker = React6.useCallback(
1281
- (marker) => {
1282
- setSelection({
1283
- type: "marker",
1284
- markerId: marker.id,
1285
- clusterId: marker.clusterId
1286
- });
1287
- applyViewState({
1288
- latitude: marker.latitude,
1289
- longitude: marker.longitude,
1290
- zoom: markerFocusZoom
1291
- });
1292
- emitSelectionChange({ type: "marker", marker });
1293
- },
1294
- [applyViewState, emitSelectionChange, markerFocusZoom]
1295
- );
1296
- const selectCluster = React6.useCallback(
1297
- (cluster) => {
1298
- setSelection({
1299
- type: "cluster",
1300
- clusterId: cluster.id
1301
- });
1302
- applyViewState({
1303
- latitude: cluster.latitude,
1304
- longitude: cluster.longitude,
1305
- zoom: clusterFocusZoom
1306
- });
1307
- emitSelectionChange({ type: "cluster", cluster });
1308
- },
1309
- [applyViewState, clusterFocusZoom, emitSelectionChange]
1310
- );
1311
- const clearSelection = React6.useCallback(() => {
1312
- setSelection({ type: "none" });
1313
- emitSelectionChange({ type: "none" });
1314
- }, [emitSelectionChange]);
1315
- const mapMarkers = React6.useMemo(() => {
1316
- const resolvedMarkers = [];
1317
- normalizedClusters.forEach((cluster) => {
1318
- const isSelected = selection.type === "cluster" && selection.clusterId === cluster.id;
1319
- resolvedMarkers.push({
1320
- id: `cluster-pin:${cluster.id}`,
1321
- latitude: cluster.latitude,
1322
- longitude: cluster.longitude,
1323
- element: () => {
1324
- const customMarkerElement = cluster.markerElement;
1325
- const markerBody = typeof customMarkerElement === "function" ? customMarkerElement({
1326
- isSelected,
1327
- count: cluster.markers.length
1328
- }) : customMarkerElement;
1329
- return /* @__PURE__ */ jsx(
1330
- "button",
1331
- {
1332
- type: "button",
1333
- className: "group cursor-pointer",
1334
- onClick: (event) => {
1335
- event.preventDefault();
1336
- event.stopPropagation();
1337
- selectCluster(cluster);
1338
- },
1339
- "aria-label": `View ${cluster.markers.length} clustered locations`,
1340
- children: markerBody ?? /* @__PURE__ */ jsx(
1341
- "span",
1342
- {
1343
- className: cn(
1344
- "inline-flex min-h-10 min-w-10 items-center justify-center rounded-full border-2 border-white px-2 text-xs font-semibold text-white shadow-lg transition-transform duration-200 group-hover:scale-105",
1345
- isSelected && "ring-4 ring-primary/30",
1346
- cluster.pinClassName
1347
- ),
1348
- style: {
1349
- backgroundColor: cluster.pinColor ?? "var(--foreground)"
1350
- },
1351
- children: cluster.markers.length
1352
- }
1353
- )
1354
- }
1355
- );
1356
- }
1357
- });
1358
- });
1359
- normalizedStandaloneMarkers.forEach((marker) => {
1360
- const isSelected = selection.type === "marker" && selection.markerId === marker.id;
1361
- const customMarkerElement = marker.markerElement;
1362
- resolvedMarkers.push({
1363
- id: marker.id,
1364
- latitude: marker.latitude,
1365
- longitude: marker.longitude,
1366
- draggable: marker.draggable,
1367
- element: () => {
1368
- const markerBody = typeof customMarkerElement === "function" ? customMarkerElement({ isSelected }) : customMarkerElement;
1369
- return /* @__PURE__ */ jsx(
1370
- "button",
1371
- {
1372
- type: "button",
1373
- className: "group cursor-pointer",
1374
- onClick: (event) => {
1375
- event.preventDefault();
1376
- event.stopPropagation();
1377
- selectMarker(marker);
1378
- },
1379
- "aria-label": typeof marker.title === "string" ? `View ${marker.title}` : "View location details",
1380
- children: markerBody ?? /* @__PURE__ */ jsx(
1381
- "span",
1382
- {
1383
- className: cn(
1384
- "inline-flex h-4 w-4 rounded-full border-2 border-white shadow-md transition-transform duration-200 group-hover:scale-110",
1385
- isSelected && "h-5 w-5 ring-4 ring-primary/30",
1386
- marker.pinClassName
1387
- ),
1388
- style: {
1389
- backgroundColor: marker.pinColor ?? "#f43f5e"
1390
- }
1391
- }
1392
- )
1393
- }
1394
- );
1395
- }
1396
- });
1397
- });
1398
- return resolvedMarkers;
1399
- }, [
1400
- normalizedClusters,
1401
- normalizedStandaloneMarkers,
1402
- selectCluster,
1403
- selectMarker,
1404
- selection
1405
- ]);
1406
- const renderMarkerPanel = () => {
1407
- if (selectedMarker) {
1408
- const markerMediaItems = selectedMarker.mediaItems ?? [];
1409
- return /* @__PURE__ */ jsxs(
1410
- "div",
1411
- {
1412
- className: cn(
1413
- "relative w-[min(24rem,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-card text-card-foreground shadow-2xl",
1414
- panelClassName
1415
- ),
1416
- children: [
1417
- /* @__PURE__ */ jsx(
1418
- "button",
1419
- {
1420
- type: "button",
1421
- "aria-label": "Close marker details",
1422
- className: "\n flex size-12 items-center justify-center rounded-bl-lg rounded-br-0 rounded-t-0 bg-black text-white transition-all duration-500 absolute top-0 right-0 z-10 cursor-pointer ring-4 ring-white\n",
1423
- onClick: clearSelection,
1424
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
1425
- }
1426
- ),
1427
- markerMediaItems.length > 0 ? /* @__PURE__ */ jsx(
1428
- MarkerMediaCarousel,
1429
- {
1430
- mediaItems: markerMediaItems,
1431
- optixFlowConfig
1432
- }
1433
- ) : null,
1434
- /* @__PURE__ */ jsxs("div", { className: "space-y-2 p-4", children: [
1435
- /* @__PURE__ */ jsx("div", { className: "flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxs("div", { className: "min-w-0 space-y-1", children: [
1436
- selectedMarker.eyebrow ? /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide", children: selectedMarker.eyebrow }) : null,
1437
- /* @__PURE__ */ jsx("div", { className: "text-base font-semibold leading-tight", children: selectedMarker.title ?? selectedMarker.label ?? "Location" })
1438
- ] }) }),
1439
- selectedMarker.summary ? /* @__PURE__ */ jsx("div", { className: "text-sm leading-relaxed", children: selectedMarker.summary }) : null,
1440
- selectedMarker.locationLine ? /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
1441
- /* @__PURE__ */ jsx(
1442
- DynamicIcon,
1443
- {
1444
- name: "lucide:map-pin",
1445
- className: "opacity-50",
1446
- size: 18
1447
- }
1448
- ),
1449
- typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsx(
1450
- Pressable,
1451
- {
1452
- href: selectedMarker.locationUrl,
1453
- className: cn(
1454
- "transition-all duration-500",
1455
- "font-medium opacity-75 hover:opacity-100",
1456
- selectedMarker.locationUrl ? "underline underline-offset-4" : ""
1457
- ),
1458
- children: selectedMarker.locationLine
1459
- }
1460
- ) : selectedMarker.locationLine
1461
- ] }) : null,
1462
- selectedMarker.hoursLine ? /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
1463
- /* @__PURE__ */ jsx(
1464
- DynamicIcon,
1465
- {
1466
- name: "lucide:clock",
1467
- className: "opacity-50",
1468
- size: 18
1469
- }
1470
- ),
1471
- typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
1472
- ] }) : null,
1473
- selectedMarker.markerContentComponent ? /* @__PURE__ */ jsx("div", { className: "relative", children: selectedMarker.markerContentComponent }) : null,
1474
- /* @__PURE__ */ jsx(MarkerActions, { actions: selectedMarker.actions })
1475
- ] })
1476
- ]
1477
- }
1478
- );
1479
- }
1480
- if (selectedCluster) {
1481
- return /* @__PURE__ */ jsxs(
1482
- "div",
1483
- {
1484
- className: cn(
1485
- "relative w-[min(24rem,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-card text-card-foreground p-4 shadow-2xl",
1486
- panelClassName
1487
- ),
1488
- children: [
1489
- /* @__PURE__ */ jsx(
1490
- "button",
1491
- {
1492
- type: "button",
1493
- "aria-label": "Close cluster details",
1494
- className: "flex size-8 items-center justify-center rounded-full border border-border bg-card text-card-foreground transition hover:bg-muted hover:text-foreground absolute top-2 right-2 z-10",
1495
- onClick: clearSelection,
1496
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
1497
- }
1498
- ),
1499
- /* @__PURE__ */ jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
1500
- selectedCluster.label ? /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: selectedCluster.label }) : null,
1501
- /* @__PURE__ */ jsx("div", { className: "text-base font-semibold leading-tight text-foreground", children: selectedCluster.title ?? "Clustered Locations" }),
1502
- /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: selectedCluster.summary ?? `${selectedCluster.markers.length} location${selectedCluster.markers.length === 1 ? "" : "s"} in this cluster.` })
1503
- ] }) }),
1504
- /* @__PURE__ */ jsx("div", { className: "max-h-56 space-y-2 overflow-y-auto pr-1", children: selectedCluster.markers.map((marker, markerIndex) => /* @__PURE__ */ jsxs(
1505
- "button",
1506
- {
1507
- type: "button",
1508
- className: "w-full rounded-lg border border-border/60 p-3 text-left transition hover:border-border hover:bg-muted/50",
1509
- onClick: () => selectMarker(marker),
1510
- children: [
1511
- /* @__PURE__ */ jsx("div", { className: "line-clamp-1 text-sm font-semibold text-foreground", children: getMarkerTitle(marker, markerIndex) }),
1512
- marker.summary ? /* @__PURE__ */ jsx("div", { className: "mt-1 line-clamp-2 text-xs text-muted-foreground", children: marker.summary }) : null
1513
- ]
1514
- },
1515
- marker.id
1516
- )) })
1517
- ]
1518
- }
1519
- );
1520
- }
1521
- return null;
1522
- };
1523
- return /* @__PURE__ */ jsxs(
1524
- "div",
1525
- {
1526
- className: cn(
1527
- "relative overflow-hidden rounded-2xl border border-border bg-background",
1528
- className
1529
- ),
1530
- children: [
1531
- /* @__PURE__ */ jsx("div", { className: cn("h-[520px] w-full", mapWrapperClassName), children: /* @__PURE__ */ jsx(
1532
- MapLibre,
1533
- {
1534
- stadiaApiKey,
1535
- mapStyle,
1536
- styleUrl,
1537
- mapLibreCssHref,
1538
- viewState: resolvedViewState,
1539
- onViewStateChange: applyViewState,
1540
- markers: mapMarkers,
1541
- onClick: (coord) => {
1542
- onMapClick?.(coord);
1543
- if (clearSelectionOnMapClick) {
1544
- clearSelection();
1545
- }
1546
- },
1547
- onMarkerDrag,
1548
- showNavigationControl,
1549
- showGeolocateControl,
1550
- navigationControlPosition,
1551
- geolocateControlPosition,
1552
- flyToOptions,
1553
- className: cn("h-full w-full", mapClassName),
1554
- children: mapChildren
1555
- }
1556
- ) }),
1557
- selection.type !== "none" ? /* @__PURE__ */ jsx(
1558
- "div",
1559
- {
1560
- className: cn(
1561
- "pointer-events-none absolute z-20",
1562
- PANEL_POSITION_CLASS[panelPosition]
1563
- ),
1564
- children: /* @__PURE__ */ jsx("div", { className: "pointer-events-auto", children: renderMarkerPanel() })
1565
- }
1566
- ) : null
1567
- ]
1568
- }
1569
- );
1570
- }
1571
- var sizeStyles = {
1572
- sm: "max-w-md",
1573
- md: "max-w-2xl",
1574
- lg: "max-w-4xl",
1575
- xl: "max-w-5xl",
1576
- full: "max-w-7xl",
1577
- compact: "max-w-[700px]"
1578
- };
1579
- var dialogTransition = {
1580
- duration: 0.35,
1581
- ease: [0.16, 1, 0.3, 1]
1582
- };
1583
- function AnimatedDialog({
1584
- open,
1585
- onOpenChange,
1586
- title,
1587
- eyebrow,
1588
- description,
1589
- children,
1590
- header,
1591
- footer,
1592
- size = "lg",
1593
- className,
1594
- contentClassName,
1595
- featuredMediaHeader
1596
- }) {
1597
- const titleId = useId();
1598
- const descriptionId = useId();
1599
- const containerRef = useRef(null);
1600
- useOnClickOutside(containerRef, () => {
1601
- if (open) {
1602
- onOpenChange(false);
1603
- }
1604
- });
1605
- useEffect(() => {
1606
- if (!open) {
1607
- return;
1608
- }
1609
- const onKeyDown = (event) => {
1610
- if (event.key === "Escape") {
1611
- onOpenChange(false);
1612
- }
1613
- };
1614
- const previousOverflow = document.body.style.overflow;
1615
- document.body.style.overflow = "hidden";
1616
- window.addEventListener("keydown", onKeyDown);
1617
- return () => {
1618
- document.body.style.overflow = previousOverflow;
1619
- window.removeEventListener("keydown", onKeyDown);
1620
- };
1621
- }, [open, onOpenChange]);
1622
- return /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50 h-screen overflow-y-auto", children: [
1623
- /* @__PURE__ */ jsx(
1624
- motion.div,
1625
- {
1626
- initial: { opacity: 0 },
1627
- animate: { opacity: 1, transition: dialogTransition },
1628
- exit: { opacity: 0, transition: dialogTransition },
1629
- className: "fixed inset-0 h-full w-full bg-foreground/80 backdrop-blur-lg"
532
+ };
533
+ const previousOverflow = document.body.style.overflow;
534
+ document.body.style.overflow = "hidden";
535
+ window.addEventListener("keydown", onKeyDown);
536
+ return () => {
537
+ document.body.style.overflow = previousOverflow;
538
+ window.removeEventListener("keydown", onKeyDown);
539
+ };
540
+ }, [open, onOpenChange]);
541
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50 h-screen overflow-y-auto", children: [
542
+ /* @__PURE__ */ jsx(
543
+ motion.div,
544
+ {
545
+ initial: { opacity: 0 },
546
+ animate: { opacity: 1, transition: dialogTransition },
547
+ exit: { opacity: 0, transition: dialogTransition },
548
+ className: "fixed inset-0 h-full w-full bg-foreground/80 backdrop-blur-lg"
1630
549
  }
1631
550
  ),
1632
551
  /* @__PURE__ */ jsxs(
@@ -1925,10 +844,10 @@ var ImageSlider = ({
1925
844
  optixFlowConfig
1926
845
  }) => {
1927
846
  const hasImages = images.length > 0;
1928
- const [currentIndex, setCurrentIndex] = React6.useState(
847
+ const [currentIndex, setCurrentIndex] = React4.useState(
1929
848
  () => normalizeIndex(startIndex, images.length)
1930
849
  );
1931
- const handleNext = React6.useCallback(() => {
850
+ const handleNext = React4.useCallback(() => {
1932
851
  if (!hasImages) return;
1933
852
  setCurrentIndex((prevIndex) => {
1934
853
  const nextIndex = prevIndex + 1 >= images.length ? 0 : prevIndex + 1;
@@ -1936,7 +855,7 @@ var ImageSlider = ({
1936
855
  return nextIndex;
1937
856
  });
1938
857
  }, [hasImages, images.length, onSlideChange]);
1939
- const handlePrevious = React6.useCallback(() => {
858
+ const handlePrevious = React4.useCallback(() => {
1940
859
  if (!hasImages) return;
1941
860
  setCurrentIndex((prevIndex) => {
1942
861
  const nextIndex = prevIndex - 1 < 0 ? images.length - 1 : prevIndex - 1;
@@ -1944,11 +863,11 @@ var ImageSlider = ({
1944
863
  return nextIndex;
1945
864
  });
1946
865
  }, [hasImages, images.length, onSlideChange]);
1947
- React6.useEffect(() => {
866
+ React4.useEffect(() => {
1948
867
  if (!hasImages) return;
1949
868
  setCurrentIndex(normalizeIndex(startIndex, images.length));
1950
869
  }, [startIndex, images.length, hasImages]);
1951
- React6.useEffect(() => {
870
+ React4.useEffect(() => {
1952
871
  if (!enableKeyboard || !hasImages) return;
1953
872
  const handleKeyDown = (event) => {
1954
873
  if (event.key === "ArrowRight") {
@@ -1962,7 +881,7 @@ var ImageSlider = ({
1962
881
  window.removeEventListener("keydown", handleKeyDown);
1963
882
  };
1964
883
  }, [enableKeyboard, handleNext, handlePrevious, hasImages]);
1965
- React6.useEffect(() => {
884
+ React4.useEffect(() => {
1966
885
  if (!autoplay || images.length < 2) return;
1967
886
  const interval = window.setInterval(handleNext, autoplayIntervalMs);
1968
887
  return () => window.clearInterval(interval);
@@ -2033,8 +952,150 @@ var ImageSlider = ({
2033
952
  ) : null
2034
953
  ]
2035
954
  }
2036
- );
2037
- };
955
+ );
956
+ };
957
+ var baseStyles = [
958
+ // Layout
959
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap shrink-0",
960
+ // Typography - using CSS variables with sensible defaults
961
+ "font-[var(--button-font-family,inherit)]",
962
+ "font-[var(--button-font-weight,500)]",
963
+ "tracking-[var(--button-letter-spacing,0)]",
964
+ "leading-[var(--button-line-height,1.25)]",
965
+ "[text-transform:var(--button-text-transform,none)]",
966
+ "text-sm",
967
+ // Border radius
968
+ "rounded-[var(--button-radius,var(--radius,0.375rem))]",
969
+ // Smooth transition - using [transition:...] to set full shorthand property (not just transition-property)
970
+ "[transition:var(--button-transition,all_250ms_cubic-bezier(0.4,0,0.2,1))]",
971
+ // Box shadow (master level) - using [box-shadow:...] for complex multi-value shadows
972
+ "[box-shadow:var(--button-shadow,none)]",
973
+ "hover:[box-shadow:var(--button-shadow-hover,var(--button-shadow,none))]",
974
+ // Disabled state
975
+ "disabled:pointer-events-none disabled:opacity-50",
976
+ // SVG handling
977
+ "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
978
+ // Focus styles
979
+ "outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
980
+ // Invalid state
981
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
982
+ ].join(" ");
983
+ var buttonVariants = cva(baseStyles, {
984
+ variants: {
985
+ variant: {
986
+ // Default (Primary) variant - full customization
987
+ default: [
988
+ "bg-[var(--button-default-bg,hsl(var(--primary)))]",
989
+ "text-[var(--button-default-fg,hsl(var(--primary-foreground)))]",
990
+ "border-[length:var(--button-default-border-width,0px)]",
991
+ "border-[color:var(--button-default-border,transparent)]",
992
+ "[box-shadow:var(--button-default-shadow,var(--button-shadow,none))]",
993
+ "hover:bg-[var(--button-default-hover-bg,hsl(var(--primary)/0.9))]",
994
+ "hover:text-[var(--button-default-hover-fg,var(--button-default-fg,hsl(var(--primary-foreground))))]",
995
+ "hover:border-[color:var(--button-default-hover-border,var(--button-default-border,transparent))]",
996
+ "hover:[box-shadow:var(--button-default-shadow-hover,var(--button-shadow-hover,var(--button-default-shadow,var(--button-shadow,none))))]"
997
+ ].join(" "),
998
+ // Destructive variant - full customization
999
+ destructive: [
1000
+ "bg-[var(--button-destructive-bg,hsl(var(--destructive)))]",
1001
+ "text-[var(--button-destructive-fg,white)]",
1002
+ "border-[length:var(--button-destructive-border-width,0px)]",
1003
+ "border-[color:var(--button-destructive-border,transparent)]",
1004
+ "[box-shadow:var(--button-destructive-shadow,var(--button-shadow,none))]",
1005
+ "hover:bg-[var(--button-destructive-hover-bg,hsl(var(--destructive)/0.9))]",
1006
+ "hover:text-[var(--button-destructive-hover-fg,var(--button-destructive-fg,white))]",
1007
+ "hover:border-[color:var(--button-destructive-hover-border,var(--button-destructive-border,transparent))]",
1008
+ "hover:[box-shadow:var(--button-destructive-shadow-hover,var(--button-shadow-hover,var(--button-destructive-shadow,var(--button-shadow,none))))]",
1009
+ "focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
1010
+ "dark:bg-destructive/60"
1011
+ ].join(" "),
1012
+ // Outline variant - full customization with proper border handling
1013
+ outline: [
1014
+ "bg-[var(--button-outline-bg,hsl(var(--background)))]",
1015
+ "text-[var(--button-outline-fg,inherit)]",
1016
+ "border-[length:var(--button-outline-border-width,1px)]",
1017
+ "border-[color:var(--button-outline-border,hsl(var(--border)))]",
1018
+ "[box-shadow:var(--button-outline-shadow,var(--button-shadow,0_1px_2px_0_rgb(0_0_0/0.05)))]",
1019
+ "hover:bg-[var(--button-outline-hover-bg,hsl(var(--accent)))]",
1020
+ "hover:text-[var(--button-outline-hover-fg,hsl(var(--accent-foreground)))]",
1021
+ "hover:border-[color:var(--button-outline-hover-border,var(--button-outline-border,hsl(var(--border))))]",
1022
+ "hover:[box-shadow:var(--button-outline-shadow-hover,var(--button-shadow-hover,var(--button-outline-shadow,var(--button-shadow,none))))]",
1023
+ "dark:bg-input/30 dark:border-input dark:hover:bg-input/50"
1024
+ ].join(" "),
1025
+ // Secondary variant - full customization
1026
+ secondary: [
1027
+ "bg-[var(--button-secondary-bg,hsl(var(--secondary)))]",
1028
+ "text-[var(--button-secondary-fg,hsl(var(--secondary-foreground)))]",
1029
+ "border-[length:var(--button-secondary-border-width,0px)]",
1030
+ "border-[color:var(--button-secondary-border,transparent)]",
1031
+ "[box-shadow:var(--button-secondary-shadow,var(--button-shadow,none))]",
1032
+ "hover:bg-[var(--button-secondary-hover-bg,hsl(var(--secondary)/0.8))]",
1033
+ "hover:text-[var(--button-secondary-hover-fg,var(--button-secondary-fg,hsl(var(--secondary-foreground))))]",
1034
+ "hover:border-[color:var(--button-secondary-hover-border,var(--button-secondary-border,transparent))]",
1035
+ "hover:[box-shadow:var(--button-secondary-shadow-hover,var(--button-shadow-hover,var(--button-secondary-shadow,var(--button-shadow,none))))]"
1036
+ ].join(" "),
1037
+ // Ghost variant - full customization
1038
+ ghost: [
1039
+ "bg-[var(--button-ghost-bg,transparent)]",
1040
+ "text-[var(--button-ghost-fg,inherit)]",
1041
+ "border-[length:var(--button-ghost-border-width,0px)]",
1042
+ "border-[color:var(--button-ghost-border,transparent)]",
1043
+ "[box-shadow:var(--button-ghost-shadow,var(--button-shadow,none))]",
1044
+ "hover:bg-[var(--button-ghost-hover-bg,hsl(var(--accent)))]",
1045
+ "hover:text-[var(--button-ghost-hover-fg,hsl(var(--accent-foreground)))]",
1046
+ "hover:border-[color:var(--button-ghost-hover-border,var(--button-ghost-border,transparent))]",
1047
+ "hover:[box-shadow:var(--button-ghost-shadow-hover,var(--button-shadow-hover,var(--button-ghost-shadow,var(--button-shadow,none))))]",
1048
+ "dark:hover:bg-accent/50"
1049
+ ].join(" "),
1050
+ // Link variant - full customization
1051
+ link: [
1052
+ "bg-[var(--button-link-bg,transparent)]",
1053
+ "text-[var(--button-link-fg,hsl(var(--primary)))]",
1054
+ "border-[length:var(--button-link-border-width,0px)]",
1055
+ "border-[color:var(--button-link-border,transparent)]",
1056
+ "[box-shadow:var(--button-link-shadow,none)]",
1057
+ "hover:bg-[var(--button-link-hover-bg,transparent)]",
1058
+ "hover:text-[var(--button-link-hover-fg,var(--button-link-fg,hsl(var(--primary))))]",
1059
+ "hover:[box-shadow:var(--button-link-shadow-hover,none)]",
1060
+ "underline-offset-4 hover:underline"
1061
+ ].join(" ")
1062
+ },
1063
+ size: {
1064
+ default: [
1065
+ "h-[var(--button-height-md,2.25rem)]",
1066
+ "px-[var(--button-padding-x-md,1rem)]",
1067
+ "py-[var(--button-padding-y-md,0.5rem)]",
1068
+ "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
1069
+ ].join(" "),
1070
+ sm: [
1071
+ "h-[var(--button-height-sm,2rem)]",
1072
+ "px-[var(--button-padding-x-sm,0.75rem)]",
1073
+ "py-[var(--button-padding-y-sm,0.25rem)]",
1074
+ "gap-1.5",
1075
+ "has-[>svg]:px-[calc(var(--button-padding-x-sm,0.75rem)*0.83)]"
1076
+ ].join(" "),
1077
+ md: [
1078
+ "h-[var(--button-height-md,2.25rem)]",
1079
+ "px-[var(--button-padding-x-md,1rem)]",
1080
+ "py-[var(--button-padding-y-md,0.5rem)]",
1081
+ "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
1082
+ ].join(" "),
1083
+ lg: [
1084
+ "h-[var(--button-height-lg,2.5rem)]",
1085
+ "px-[var(--button-padding-x-lg,1.5rem)]",
1086
+ "py-[var(--button-padding-y-lg,0.5rem)]",
1087
+ "has-[>svg]:px-[calc(var(--button-padding-x-lg,1.5rem)*0.67)]"
1088
+ ].join(" "),
1089
+ icon: "size-[var(--button-height-md,2.25rem)]",
1090
+ "icon-sm": "size-[var(--button-height-sm,2rem)]",
1091
+ "icon-lg": "size-[var(--button-height-lg,2.5rem)]"
1092
+ }
1093
+ },
1094
+ defaultVariants: {
1095
+ variant: "default",
1096
+ size: "default"
1097
+ }
1098
+ });
2038
1099
  function Button({
2039
1100
  className,
2040
1101
  variant = "default",
@@ -2078,127 +1139,412 @@ function CardHeader({ className, ...props }) {
2078
1139
  ),
2079
1140
  ...props
2080
1141
  }
2081
- );
2082
- }
2083
- function CardTitle({ className, ...props }) {
2084
- return /* @__PURE__ */ jsx(
2085
- "div",
2086
- {
2087
- "data-slot": "card-title",
2088
- className: cn("leading-none font-semibold", className),
2089
- ...props
1142
+ );
1143
+ }
1144
+ function CardTitle({ className, ...props }) {
1145
+ return /* @__PURE__ */ jsx(
1146
+ "div",
1147
+ {
1148
+ "data-slot": "card-title",
1149
+ className: cn("leading-none font-semibold", className),
1150
+ ...props
1151
+ }
1152
+ );
1153
+ }
1154
+ function CardDescription({ className, ...props }) {
1155
+ return /* @__PURE__ */ jsx(
1156
+ "div",
1157
+ {
1158
+ "data-slot": "card-description",
1159
+ className: cn("text-muted-foreground text-sm", className),
1160
+ ...props
1161
+ }
1162
+ );
1163
+ }
1164
+ function CardContent({ className, ...props }) {
1165
+ return /* @__PURE__ */ jsx(
1166
+ "div",
1167
+ {
1168
+ "data-slot": "card-content",
1169
+ className: cn("px-6", className),
1170
+ ...props
1171
+ }
1172
+ );
1173
+ }
1174
+ function CardFooter({ className, ...props }) {
1175
+ return /* @__PURE__ */ jsx(
1176
+ "div",
1177
+ {
1178
+ "data-slot": "card-footer",
1179
+ className: cn("flex items-center px-6 [.border-t]:pt-6", className),
1180
+ ...props
1181
+ }
1182
+ );
1183
+ }
1184
+ var badgeVariants = cva(
1185
+ "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
1186
+ {
1187
+ variants: {
1188
+ variant: {
1189
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
1190
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
1191
+ destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
1192
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
1193
+ }
1194
+ },
1195
+ defaultVariants: {
1196
+ variant: "default"
1197
+ }
1198
+ }
1199
+ );
1200
+ function Badge({
1201
+ className,
1202
+ variant,
1203
+ asChild = false,
1204
+ ...props
1205
+ }) {
1206
+ const Comp = asChild ? Slot : "span";
1207
+ return /* @__PURE__ */ jsx(
1208
+ Comp,
1209
+ {
1210
+ "data-slot": "badge",
1211
+ className: cn(badgeVariants({ variant }), className),
1212
+ ...props
1213
+ }
1214
+ );
1215
+ }
1216
+ function Popover({
1217
+ ...props
1218
+ }) {
1219
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
1220
+ }
1221
+ function PopoverTrigger({
1222
+ ...props
1223
+ }) {
1224
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
1225
+ }
1226
+ function PopoverContent({
1227
+ className,
1228
+ align = "center",
1229
+ sideOffset = 4,
1230
+ ...props
1231
+ }) {
1232
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1233
+ PopoverPrimitive.Content,
1234
+ {
1235
+ "data-slot": "popover-content",
1236
+ align,
1237
+ sideOffset,
1238
+ className: cn(
1239
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
1240
+ className
1241
+ ),
1242
+ ...props
1243
+ }
1244
+ ) });
1245
+ }
1246
+ var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
1247
+ var DynamicIcon = React4.memo(function DynamicIcon2({
1248
+ apiKey,
1249
+ ...props
1250
+ }) {
1251
+ return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
1252
+ });
1253
+ DynamicIcon.displayName = "DynamicIcon";
1254
+ function StarRating({
1255
+ rating,
1256
+ size = 18,
1257
+ className
1258
+ }) {
1259
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-0.5", className), children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
1260
+ DynamicIcon,
1261
+ {
1262
+ name: "icon-park-solid/star",
1263
+ size,
1264
+ className: cn(
1265
+ star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
1266
+ )
1267
+ },
1268
+ star
1269
+ )) });
1270
+ }
1271
+ function normalizePhoneNumber(input) {
1272
+ const trimmed = input.trim();
1273
+ if (trimmed.toLowerCase().startsWith("tel:")) {
1274
+ return trimmed;
1275
+ }
1276
+ const match = trimmed.match(/^[\s\+\-\(\)]*(\d[\d\s\-\(\)\.]*\d)[\s\-]*(x|ext\.?|extension)?[\s\-]*(\d+)?$/i);
1277
+ if (match) {
1278
+ const mainNumber = match[1].replace(/[\s\-\(\)\.]/g, "");
1279
+ const extension = match[3];
1280
+ const normalized = mainNumber.length >= 10 && !trimmed.startsWith("+") ? `+${mainNumber}` : mainNumber;
1281
+ const withExtension = extension ? `${normalized};ext=${extension}` : normalized;
1282
+ return `tel:${withExtension}`;
1283
+ }
1284
+ const cleaned = trimmed.replace(/[\s\-\(\)\.]/g, "");
1285
+ return `tel:${cleaned}`;
1286
+ }
1287
+ function normalizeEmail(input) {
1288
+ const trimmed = input.trim();
1289
+ if (trimmed.toLowerCase().startsWith("mailto:")) {
1290
+ return trimmed;
1291
+ }
1292
+ return `mailto:${trimmed}`;
1293
+ }
1294
+ function isEmail(input) {
1295
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
1296
+ return emailRegex.test(input.trim());
1297
+ }
1298
+ function isPhoneNumber(input) {
1299
+ const trimmed = input.trim();
1300
+ if (trimmed.toLowerCase().startsWith("tel:")) {
1301
+ return true;
1302
+ }
1303
+ const phoneRegex = /^[\s\+\-\(\)]*\d[\d\s\-\(\)\.]*\d[\s\-]*(x|ext\.?|extension)?[\s\-]*\d*$/i;
1304
+ return phoneRegex.test(trimmed);
1305
+ }
1306
+ function isInternalUrl(href) {
1307
+ if (typeof window === "undefined") {
1308
+ return href.startsWith("/") && !href.startsWith("//");
1309
+ }
1310
+ const trimmed = href.trim();
1311
+ if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
1312
+ return true;
1313
+ }
1314
+ try {
1315
+ const url = new URL(trimmed, window.location.href);
1316
+ const currentOrigin = window.location.origin;
1317
+ const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
1318
+ return normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin);
1319
+ } catch {
1320
+ return false;
1321
+ }
1322
+ }
1323
+ function toRelativePath(href) {
1324
+ if (typeof window === "undefined") {
1325
+ return href;
1326
+ }
1327
+ const trimmed = href.trim();
1328
+ if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
1329
+ return trimmed;
1330
+ }
1331
+ try {
1332
+ const url = new URL(trimmed, window.location.href);
1333
+ const currentOrigin = window.location.origin;
1334
+ const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
1335
+ if (normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin)) {
1336
+ return url.pathname + url.search + url.hash;
1337
+ }
1338
+ } catch {
1339
+ }
1340
+ return trimmed;
1341
+ }
1342
+ function useNavigation({
1343
+ href,
1344
+ onClick
1345
+ } = {}) {
1346
+ const linkType = React4.useMemo(() => {
1347
+ if (!href || href.trim() === "") {
1348
+ return onClick ? "none" : "none";
1349
+ }
1350
+ const trimmed = href.trim();
1351
+ if (trimmed.toLowerCase().startsWith("mailto:") || isEmail(trimmed)) {
1352
+ return "mailto";
1353
+ }
1354
+ if (trimmed.toLowerCase().startsWith("tel:") || isPhoneNumber(trimmed)) {
1355
+ return "tel";
1356
+ }
1357
+ if (isInternalUrl(trimmed)) {
1358
+ return "internal";
1359
+ }
1360
+ try {
1361
+ new URL(trimmed, typeof window !== "undefined" ? window.location.href : "http://localhost");
1362
+ return "external";
1363
+ } catch {
1364
+ return "internal";
1365
+ }
1366
+ }, [href, onClick]);
1367
+ const normalizedHref = React4.useMemo(() => {
1368
+ if (!href || href.trim() === "") {
1369
+ return void 0;
1370
+ }
1371
+ const trimmed = href.trim();
1372
+ switch (linkType) {
1373
+ case "tel":
1374
+ return normalizePhoneNumber(trimmed);
1375
+ case "mailto":
1376
+ return normalizeEmail(trimmed);
1377
+ case "internal":
1378
+ return toRelativePath(trimmed);
1379
+ case "external":
1380
+ return trimmed;
1381
+ default:
1382
+ return trimmed;
1383
+ }
1384
+ }, [href, linkType]);
1385
+ const target = React4.useMemo(() => {
1386
+ switch (linkType) {
1387
+ case "external":
1388
+ return "_blank";
1389
+ case "internal":
1390
+ return "_self";
1391
+ case "mailto":
1392
+ case "tel":
1393
+ return void 0;
1394
+ default:
1395
+ return void 0;
1396
+ }
1397
+ }, [linkType]);
1398
+ const rel = React4.useMemo(() => {
1399
+ if (linkType === "external") {
1400
+ return "noopener noreferrer";
2090
1401
  }
1402
+ return void 0;
1403
+ }, [linkType]);
1404
+ const isExternal = linkType === "external";
1405
+ const isInternal = linkType === "internal";
1406
+ const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
1407
+ const handleClick = React4.useCallback(
1408
+ (event) => {
1409
+ if (onClick) {
1410
+ try {
1411
+ onClick(event);
1412
+ } catch (error) {
1413
+ console.error("Error in user onClick handler:", error);
1414
+ }
1415
+ }
1416
+ if (event.defaultPrevented) {
1417
+ return;
1418
+ }
1419
+ if (shouldUseRouter && normalizedHref && event.button === 0 && // left-click only
1420
+ !event.metaKey && !event.altKey && !event.ctrlKey && !event.shiftKey) {
1421
+ if (typeof window !== "undefined") {
1422
+ const handler = window.__opensiteNavigationHandler;
1423
+ if (typeof handler === "function") {
1424
+ try {
1425
+ const handled = handler(normalizedHref, event.nativeEvent || event);
1426
+ if (handled !== false) {
1427
+ event.preventDefault();
1428
+ }
1429
+ } catch (error) {
1430
+ console.error("Error in navigation handler:", error);
1431
+ }
1432
+ }
1433
+ }
1434
+ }
1435
+ },
1436
+ [onClick, shouldUseRouter, normalizedHref]
2091
1437
  );
1438
+ return {
1439
+ linkType,
1440
+ normalizedHref,
1441
+ target,
1442
+ rel,
1443
+ isExternal,
1444
+ isInternal,
1445
+ shouldUseRouter,
1446
+ handleClick
1447
+ };
2092
1448
  }
2093
- function CardDescription({ className, ...props }) {
2094
- return /* @__PURE__ */ jsx(
2095
- "div",
2096
- {
2097
- "data-slot": "card-description",
2098
- className: cn("text-muted-foreground text-sm", className),
2099
- ...props
1449
+ var Pressable = React4.forwardRef(
1450
+ ({
1451
+ children,
1452
+ className,
1453
+ href,
1454
+ onClick,
1455
+ variant,
1456
+ size,
1457
+ asButton = false,
1458
+ fallbackComponentType = "span",
1459
+ componentType,
1460
+ "aria-label": ariaLabel,
1461
+ "aria-describedby": ariaDescribedby,
1462
+ id,
1463
+ ...props
1464
+ }, ref) => {
1465
+ const navigation = useNavigation({ href, onClick });
1466
+ const {
1467
+ normalizedHref,
1468
+ target,
1469
+ rel,
1470
+ linkType,
1471
+ isInternal,
1472
+ isExternal,
1473
+ handleClick
1474
+ } = navigation;
1475
+ const shouldRenderLink = normalizedHref && linkType !== "none";
1476
+ const shouldRenderButton = !shouldRenderLink && onClick;
1477
+ const effectiveComponentType = componentType || (shouldRenderLink ? "a" : shouldRenderButton ? "button" : fallbackComponentType);
1478
+ const finalComponentType = isInternal && shouldRenderLink ? "a" : effectiveComponentType;
1479
+ const shouldApplyButtonStyles = asButton || variant || size;
1480
+ const combinedClassName = cn(
1481
+ shouldApplyButtonStyles && buttonVariants({ variant, size }),
1482
+ className
1483
+ );
1484
+ const dataProps = Object.fromEntries(
1485
+ Object.entries(props).filter(([key]) => key.startsWith("data-"))
1486
+ );
1487
+ const buttonDataAttributes = shouldApplyButtonStyles ? {
1488
+ "data-slot": "button",
1489
+ "data-variant": variant ?? "default",
1490
+ "data-size": size ?? "default"
1491
+ } : {};
1492
+ const commonProps = {
1493
+ className: combinedClassName,
1494
+ onClick: handleClick,
1495
+ "aria-label": ariaLabel,
1496
+ "aria-describedby": ariaDescribedby,
1497
+ id,
1498
+ ...dataProps,
1499
+ ...buttonDataAttributes
1500
+ };
1501
+ if (finalComponentType === "a" && shouldRenderLink) {
1502
+ return /* @__PURE__ */ jsx(
1503
+ "a",
1504
+ {
1505
+ ref,
1506
+ href: normalizedHref,
1507
+ target,
1508
+ rel,
1509
+ ...commonProps,
1510
+ ...props,
1511
+ children
1512
+ }
1513
+ );
2100
1514
  }
2101
- );
2102
- }
2103
- function CardContent({ className, ...props }) {
2104
- return /* @__PURE__ */ jsx(
2105
- "div",
2106
- {
2107
- "data-slot": "card-content",
2108
- className: cn("px-6", className),
2109
- ...props
1515
+ if (finalComponentType === "button") {
1516
+ return /* @__PURE__ */ jsx(
1517
+ "button",
1518
+ {
1519
+ ref,
1520
+ type: props.type || "button",
1521
+ ...commonProps,
1522
+ ...props,
1523
+ children
1524
+ }
1525
+ );
2110
1526
  }
2111
- );
2112
- }
2113
- function CardFooter({ className, ...props }) {
2114
- return /* @__PURE__ */ jsx(
2115
- "div",
2116
- {
2117
- "data-slot": "card-footer",
2118
- className: cn("flex items-center px-6 [.border-t]:pt-6", className),
2119
- ...props
1527
+ if (finalComponentType === "div") {
1528
+ return /* @__PURE__ */ jsx(
1529
+ "div",
1530
+ {
1531
+ ref,
1532
+ ...commonProps,
1533
+ children
1534
+ }
1535
+ );
2120
1536
  }
2121
- );
2122
- }
2123
- var badgeVariants = cva(
2124
- "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
2125
- {
2126
- variants: {
2127
- variant: {
2128
- default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
2129
- secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
2130
- destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
2131
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
1537
+ return /* @__PURE__ */ jsx(
1538
+ "span",
1539
+ {
1540
+ ref,
1541
+ ...commonProps,
1542
+ children
2132
1543
  }
2133
- },
2134
- defaultVariants: {
2135
- variant: "default"
2136
- }
1544
+ );
2137
1545
  }
2138
1546
  );
2139
- function Badge({
2140
- className,
2141
- variant,
2142
- asChild = false,
2143
- ...props
2144
- }) {
2145
- const Comp = asChild ? Slot : "span";
2146
- return /* @__PURE__ */ jsx(
2147
- Comp,
2148
- {
2149
- "data-slot": "badge",
2150
- className: cn(badgeVariants({ variant }), className),
2151
- ...props
2152
- }
2153
- );
2154
- }
2155
- function Popover({
2156
- ...props
2157
- }) {
2158
- return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
2159
- }
2160
- function PopoverTrigger({
2161
- ...props
2162
- }) {
2163
- return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
2164
- }
2165
- function PopoverContent({
2166
- className,
2167
- align = "center",
2168
- sideOffset = 4,
2169
- ...props
2170
- }) {
2171
- return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
2172
- PopoverPrimitive.Content,
2173
- {
2174
- "data-slot": "popover-content",
2175
- align,
2176
- sideOffset,
2177
- className: cn(
2178
- "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
2179
- className
2180
- ),
2181
- ...props
2182
- }
2183
- ) });
2184
- }
2185
- function StarRating({
2186
- rating,
2187
- size = 18,
2188
- className
2189
- }) {
2190
- return /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-0.5", className), children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
2191
- DynamicIcon,
2192
- {
2193
- name: "icon-park-solid/star",
2194
- size,
2195
- className: cn(
2196
- star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
2197
- )
2198
- },
2199
- star
2200
- )) });
2201
- }
1547
+ Pressable.displayName = "Pressable";
2202
1548
  var BUTTON_SIZES = {
2203
1549
  sm: { buttonSize: "size-8", iconSize: 16 },
2204
1550
  md: { buttonSize: "size-10", iconSize: 20 },
@@ -2290,7 +1636,7 @@ var platformIconMap = {
2290
1636
  dribbble: "cib/dribbble",
2291
1637
  unknown: "icon-park-solid/circular-connection"
2292
1638
  };
2293
- var SocialLinkIcon = React6.forwardRef(
1639
+ var SocialLinkIcon = React4.forwardRef(
2294
1640
  ({
2295
1641
  platformName,
2296
1642
  label,
@@ -2304,16 +1650,16 @@ var SocialLinkIcon = React6.forwardRef(
2304
1650
  ...pressableProps
2305
1651
  }, ref) => {
2306
1652
  const platform = usePlatformFromUrl(href);
2307
- const smartPlatformName = React6.useMemo(() => {
1653
+ const smartPlatformName = React4.useMemo(() => {
2308
1654
  return platform || platformName;
2309
1655
  }, [platform, platformName]);
2310
- const iconName = React6.useMemo(() => {
1656
+ const iconName = React4.useMemo(() => {
2311
1657
  return iconNameOverride || platformIconMap[smartPlatformName];
2312
1658
  }, [iconNameOverride, smartPlatformName]);
2313
- const accessibleLabel = React6.useMemo(() => {
1659
+ const accessibleLabel = React4.useMemo(() => {
2314
1660
  return label || platformName;
2315
1661
  }, [label, platformName]);
2316
- const icon = React6.useMemo(() => {
1662
+ const icon = React4.useMemo(() => {
2317
1663
  return /* @__PURE__ */ jsx(
2318
1664
  DynamicIcon,
2319
1665
  {
@@ -2393,12 +1739,12 @@ function TextInner({ as, className, children, ...props }, ref) {
2393
1739
  const Component = as || "span";
2394
1740
  return /* @__PURE__ */ jsx(Component, { ref, className: cn(className), ...props, children });
2395
1741
  }
2396
- var Text = React6.forwardRef(TextInner);
1742
+ var Text = React4.forwardRef(TextInner);
2397
1743
  Text.displayName = "Text";
2398
1744
  function isContentTextItem(item) {
2399
- return item !== null && typeof item === "object" && !React6.isValidElement(item) && "_type" in item && item._type === "text";
1745
+ return item !== null && typeof item === "object" && !React4.isValidElement(item) && "_type" in item && item._type === "text";
2400
1746
  }
2401
- var ContentGroup = React6.forwardRef(
1747
+ var ContentGroup = React4.forwardRef(
2402
1748
  ({ items, className, children, ...props }, ref) => {
2403
1749
  const hasContent = items && items.length > 0;
2404
1750
  if (!hasContent) {
@@ -2411,10 +1757,10 @@ var ContentGroup = React6.forwardRef(
2411
1757
  return /* @__PURE__ */ jsx(Text, { ...textProps }, idx);
2412
1758
  }
2413
1759
  const reactNode = item;
2414
- if (React6.isValidElement(reactNode)) {
2415
- return React6.cloneElement(reactNode, { key: reactNode.key ?? idx });
1760
+ if (React4.isValidElement(reactNode)) {
1761
+ return React4.cloneElement(reactNode, { key: reactNode.key ?? idx });
2416
1762
  }
2417
- return /* @__PURE__ */ jsx(React6.Fragment, { children: reactNode }, idx);
1763
+ return /* @__PURE__ */ jsx(React4.Fragment, { children: reactNode }, idx);
2418
1764
  }),
2419
1765
  children
2420
1766
  ] });
@@ -2939,7 +2285,7 @@ function AboutExpandableValues({
2939
2285
  pattern,
2940
2286
  patternOpacity
2941
2287
  }) {
2942
- const [expandedValue, setExpandedValue] = React6.useState(null);
2288
+ const [expandedValue, setExpandedValue] = React4.useState(null);
2943
2289
  const toggleExpand = useCallback((id) => {
2944
2290
  setExpandedValue((prev) => prev === id ? null : id);
2945
2291
  }, []);
@@ -3175,7 +2521,7 @@ function CommunityInitiatives({
3175
2521
  pattern,
3176
2522
  patternOpacity
3177
2523
  }) {
3178
- const [activeCategory, setActiveCategory] = React6.useState(
2524
+ const [activeCategory, setActiveCategory] = React4.useState(
3179
2525
  categories?.[0]?.id || ""
3180
2526
  );
3181
2527
  const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
@@ -3439,7 +2785,7 @@ function AboutCultureTabs({
3439
2785
  patternOpacity
3440
2786
  }) {
3441
2787
  const resolvedAspects = aspects ?? [];
3442
- const [activeTab, setActiveTab] = React6.useState(
2788
+ const [activeTab, setActiveTab] = React4.useState(
3443
2789
  resolvedAspects[0]?.id || ""
3444
2790
  );
3445
2791
  const headerItems = useMemo(() => {
@@ -3972,7 +3318,7 @@ function BannerDeliveryCountdown({
3972
3318
  }, [prefixText, timerContent, middleText, deliveryDateContent]);
3973
3319
  return /* @__PURE__ */ jsx(Section, { background, spacing: "none", className: cn("bg-accent text-accent-foreground", className), children: /* @__PURE__ */ jsx("div", { className: cn("container py-2.5", containerClassName), children: /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-3 text-sm", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", messageClassName), children: [
3974
3320
  iconContent,
3975
- messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React6.Fragment, { children: [
3321
+ messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React4.Fragment, { children: [
3976
3322
  index > 0 ? " " : null,
3977
3323
  part
3978
3324
  ] }, index)) })
@@ -5243,8 +4589,8 @@ var BrandAttribution = ({
5243
4589
  }
5244
4590
  const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
5245
4591
  const ContainerEl = variant;
5246
- const [trackedHref, setTrackedHref] = React6.useState(href);
5247
- React6.useEffect(() => {
4592
+ const [trackedHref, setTrackedHref] = React4.useState(href);
4593
+ React4.useEffect(() => {
5248
4594
  setTrackedHref(buildTrackedHref(href));
5249
4595
  }, [href]);
5250
4596
  return /* @__PURE__ */ jsxs(ContainerEl, { className: containerClassName, children: [
@@ -5364,7 +4710,7 @@ function FooterSocialNewsletter({
5364
4710
  patternOpacity,
5365
4711
  optixFlowConfig
5366
4712
  }) {
5367
- const renderForm = React6.useMemo(() => {
4713
+ const renderForm = React4.useMemo(() => {
5368
4714
  if (!formEngineSetup) return null;
5369
4715
  const action = {
5370
4716
  variant: "default",
@@ -5653,7 +4999,7 @@ function FooterSimpleCentered({
5653
4999
  ]);
5654
5000
  const bottomLinksContent = useMemo(() => {
5655
5001
  if (!bottomLinks || bottomLinks.length === 0) return null;
5656
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React6.Fragment, { children: /* @__PURE__ */ jsx(
5002
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React4.Fragment, { children: /* @__PURE__ */ jsx(
5657
5003
  Pressable,
5658
5004
  {
5659
5005
  href: link.href,
@@ -7000,7 +6346,7 @@ function FooterNewsletterMinimal({
7000
6346
  buttonAction,
7001
6347
  formSlot
7002
6348
  }) {
7003
- const navLinksContent = React6.useMemo(() => {
6349
+ const navLinksContent = React4.useMemo(() => {
7004
6350
  if (!navLinks || navLinks.length === 0) return null;
7005
6351
  return navLinks.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
7006
6352
  Pressable,
@@ -7011,7 +6357,7 @@ function FooterNewsletterMinimal({
7011
6357
  }
7012
6358
  ) }, idx));
7013
6359
  }, [navLinks, navLinkClassName]);
7014
- const socialLinksContent = React6.useMemo(() => {
6360
+ const socialLinksContent = React4.useMemo(() => {
7015
6361
  if (!socialLinks || socialLinks.length === 0) return null;
7016
6362
  return socialLinks.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
7017
6363
  SocialLinkIcon,
@@ -7027,7 +6373,7 @@ function FooterNewsletterMinimal({
7027
6373
  }
7028
6374
  ) }, idx));
7029
6375
  }, [socialLinks, socialLinkClassName]);
7030
- const footerLinksContent = React6.useMemo(() => {
6376
+ const footerLinksContent = React4.useMemo(() => {
7031
6377
  if (!footerLinks || footerLinks.length === 0) return null;
7032
6378
  return footerLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
7033
6379
  Pressable,
@@ -7041,7 +6387,7 @@ function FooterNewsletterMinimal({
7041
6387
  }
7042
6388
  ) }, item.label));
7043
6389
  }, [footerLinks, footerLinkClassName]);
7044
- const renderForm = React6.useMemo(() => {
6390
+ const renderForm = React4.useMemo(() => {
7045
6391
  if (formSlot) return formSlot;
7046
6392
  if (!formEngineSetup) return null;
7047
6393
  const defaultButtonAction = {
@@ -7598,4 +6944,4 @@ var useResponsiveLayout = ({
7598
6944
  return { responsiveClassName };
7599
6945
  };
7600
6946
 
7601
- export { AboutCultureTabs, AboutExpandableValues, AboutMissionPrinciples, AboutSplitHero, AlternatingBlocks, AnimatedDialog, Badge, BannerAnnouncementDismissible, BannerCountdownSale, BannerDeliveryCountdown, BannerEventPromo, BannerFloatingOffer, BannerGdprRights, BannerPrivacyNotice, BannerPromoCta, BannerSocialFollow, BannerSurveyIncentive, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CarouselPagination, CommunityInitiatives, Container, DynamicIcon, FooterAnimatedSocial, FooterBackgroundCard, FooterBrandDescription, FooterContactCard, FooterCtaBanner, FooterCtaSocial, FooterLinksGrid, FooterNavSocial, FooterNewsletterGrid, FooterNewsletterMinimal, FooterSimpleCentered, FooterSocialApps, FooterSocialNewsletter, GeoMap, ImageSlider, MediaHoverCtas, PageHeroBanner, PaymentPlatformIcon, Popover, PopoverContent, PopoverTrigger, Pressable, Section, SocialLinkIcon, StarRating, cn, getAccentColor, getBorderColor, getNestedCardBg, getNestedCardTextColor, getTextColor, useNavigation, useResponsiveLayout };
6947
+ export { AboutCultureTabs, AboutExpandableValues, AboutMissionPrinciples, AboutSplitHero, AlternatingBlocks, AnimatedDialog, Badge, BannerAnnouncementDismissible, BannerCountdownSale, BannerDeliveryCountdown, BannerEventPromo, BannerFloatingOffer, BannerGdprRights, BannerPrivacyNotice, BannerPromoCta, BannerSocialFollow, BannerSurveyIncentive, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CarouselPagination, CommunityInitiatives, Container, DynamicIcon, FooterAnimatedSocial, FooterBackgroundCard, FooterBrandDescription, FooterContactCard, FooterCtaBanner, FooterCtaSocial, FooterLinksGrid, FooterNavSocial, FooterNewsletterGrid, FooterNewsletterMinimal, FooterSimpleCentered, FooterSocialApps, FooterSocialNewsletter, ImageSlider, MediaHoverCtas, PageHeroBanner, PaymentPlatformIcon, Popover, PopoverContent, PopoverTrigger, Pressable, Section, SocialLinkIcon, StarRating, cn, getAccentColor, getBorderColor, getNestedCardBg, getNestedCardTextColor, getTextColor, useNavigation, useResponsiveLayout };