@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
@@ -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';
@@ -60,7 +59,7 @@ var maxWidthStyles = {
60
59
  "4xl": "max-w-[1536px]",
61
60
  full: "max-w-full"
62
61
  };
63
- var Container = React6__default.forwardRef(
62
+ var Container = React4__default.forwardRef(
64
63
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
65
64
  const Component = as;
66
65
  return /* @__PURE__ */ jsx(
@@ -366,7 +365,7 @@ var spacingStyles = {
366
365
  };
367
366
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
368
367
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
369
- var Section = React6__default.forwardRef(
368
+ var Section = React4__default.forwardRef(
370
369
  ({
371
370
  id,
372
371
  title,
@@ -427,1144 +426,65 @@ var Section = React6__default.forwardRef(
427
426
  }
428
427
  );
429
428
  Section.displayName = "Section";
430
- function normalizePhoneNumber(input) {
431
- const trimmed = input.trim();
432
- if (trimmed.toLowerCase().startsWith("tel:")) {
433
- return trimmed;
434
- }
435
- const match = trimmed.match(/^[\s\+\-\(\)]*(\d[\d\s\-\(\)\.]*\d)[\s\-]*(x|ext\.?|extension)?[\s\-]*(\d+)?$/i);
436
- if (match) {
437
- const mainNumber = match[1].replace(/[\s\-\(\)\.]/g, "");
438
- const extension = match[3];
439
- const normalized = mainNumber.length >= 10 && !trimmed.startsWith("+") ? `+${mainNumber}` : mainNumber;
440
- const withExtension = extension ? `${normalized};ext=${extension}` : normalized;
441
- return `tel:${withExtension}`;
442
- }
443
- const cleaned = trimmed.replace(/[\s\-\(\)\.]/g, "");
444
- return `tel:${cleaned}`;
445
- }
446
- function normalizeEmail(input) {
447
- const trimmed = input.trim();
448
- if (trimmed.toLowerCase().startsWith("mailto:")) {
449
- return trimmed;
450
- }
451
- return `mailto:${trimmed}`;
452
- }
453
- function isEmail(input) {
454
- const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
455
- return emailRegex.test(input.trim());
456
- }
457
- function isPhoneNumber(input) {
458
- const trimmed = input.trim();
459
- if (trimmed.toLowerCase().startsWith("tel:")) {
460
- return true;
461
- }
462
- const phoneRegex = /^[\s\+\-\(\)]*\d[\d\s\-\(\)\.]*\d[\s\-]*(x|ext\.?|extension)?[\s\-]*\d*$/i;
463
- return phoneRegex.test(trimmed);
464
- }
465
- function isInternalUrl(href) {
466
- if (typeof window === "undefined") {
467
- return href.startsWith("/") && !href.startsWith("//");
468
- }
469
- const trimmed = href.trim();
470
- if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
471
- return true;
472
- }
473
- try {
474
- const url = new URL(trimmed, window.location.href);
475
- const currentOrigin = window.location.origin;
476
- const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
477
- return normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin);
478
- } catch {
479
- return false;
480
- }
481
- }
482
- function toRelativePath(href) {
483
- if (typeof window === "undefined") {
484
- return href;
485
- }
486
- const trimmed = href.trim();
487
- if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
488
- return trimmed;
489
- }
490
- try {
491
- const url = new URL(trimmed, window.location.href);
492
- const currentOrigin = window.location.origin;
493
- const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
494
- if (normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin)) {
495
- return url.pathname + url.search + url.hash;
496
- }
497
- } catch {
498
- }
499
- return trimmed;
500
- }
501
- function useNavigation({
502
- href,
503
- onClick
504
- } = {}) {
505
- const linkType = React6.useMemo(() => {
506
- if (!href || href.trim() === "") {
507
- return onClick ? "none" : "none";
508
- }
509
- const trimmed = href.trim();
510
- if (trimmed.toLowerCase().startsWith("mailto:") || isEmail(trimmed)) {
511
- return "mailto";
512
- }
513
- if (trimmed.toLowerCase().startsWith("tel:") || isPhoneNumber(trimmed)) {
514
- return "tel";
515
- }
516
- if (isInternalUrl(trimmed)) {
517
- return "internal";
518
- }
519
- try {
520
- new URL(trimmed, typeof window !== "undefined" ? window.location.href : "http://localhost");
521
- return "external";
522
- } catch {
523
- return "internal";
524
- }
525
- }, [href, onClick]);
526
- const normalizedHref = React6.useMemo(() => {
527
- if (!href || href.trim() === "") {
528
- return void 0;
529
- }
530
- const trimmed = href.trim();
531
- switch (linkType) {
532
- case "tel":
533
- return normalizePhoneNumber(trimmed);
534
- case "mailto":
535
- return normalizeEmail(trimmed);
536
- case "internal":
537
- return toRelativePath(trimmed);
538
- case "external":
539
- return trimmed;
540
- default:
541
- return trimmed;
542
- }
543
- }, [href, linkType]);
544
- const target = React6.useMemo(() => {
545
- switch (linkType) {
546
- case "external":
547
- return "_blank";
548
- case "internal":
549
- return "_self";
550
- case "mailto":
551
- case "tel":
552
- return void 0;
553
- default:
554
- return void 0;
429
+ var sizeStyles = {
430
+ sm: "max-w-md",
431
+ md: "max-w-2xl",
432
+ lg: "max-w-4xl",
433
+ xl: "max-w-5xl",
434
+ full: "max-w-7xl",
435
+ compact: "max-w-[700px]"
436
+ };
437
+ var dialogTransition = {
438
+ duration: 0.35,
439
+ ease: [0.16, 1, 0.3, 1]
440
+ };
441
+ function AnimatedDialog({
442
+ open,
443
+ onOpenChange,
444
+ title,
445
+ eyebrow,
446
+ description,
447
+ children,
448
+ header,
449
+ footer,
450
+ size = "lg",
451
+ className,
452
+ contentClassName,
453
+ featuredMediaHeader
454
+ }) {
455
+ const titleId = useId();
456
+ const descriptionId = useId();
457
+ const containerRef = useRef(null);
458
+ useOnClickOutside(containerRef, () => {
459
+ if (open) {
460
+ onOpenChange(false);
555
461
  }
556
- }, [linkType]);
557
- const rel = React6.useMemo(() => {
558
- if (linkType === "external") {
559
- return "noopener noreferrer";
462
+ });
463
+ useEffect(() => {
464
+ if (!open) {
465
+ return;
560
466
  }
561
- return void 0;
562
- }, [linkType]);
563
- const isExternal = linkType === "external";
564
- const isInternal = linkType === "internal";
565
- const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
566
- const handleClick = React6.useCallback(
567
- (event) => {
568
- if (onClick) {
569
- try {
570
- onClick(event);
571
- } catch (error) {
572
- console.error("Error in user onClick handler:", error);
573
- }
574
- }
575
- if (event.defaultPrevented) {
576
- return;
467
+ const onKeyDown = (event) => {
468
+ if (event.key === "Escape") {
469
+ onOpenChange(false);
577
470
  }
578
- if (shouldUseRouter && normalizedHref && event.button === 0 && // left-click only
579
- !event.metaKey && !event.altKey && !event.ctrlKey && !event.shiftKey) {
580
- if (typeof window !== "undefined") {
581
- const handler = window.__opensiteNavigationHandler;
582
- if (typeof handler === "function") {
583
- try {
584
- const handled = handler(normalizedHref, event.nativeEvent || event);
585
- if (handled !== false) {
586
- event.preventDefault();
587
- }
588
- } catch (error) {
589
- console.error("Error in navigation handler:", error);
590
- }
591
- }
592
- }
593
- }
594
- },
595
- [onClick, shouldUseRouter, normalizedHref]
596
- );
597
- return {
598
- linkType,
599
- normalizedHref,
600
- target,
601
- rel,
602
- isExternal,
603
- isInternal,
604
- shouldUseRouter,
605
- handleClick
606
- };
607
- }
608
- var baseStyles = [
609
- // Layout
610
- "inline-flex items-center justify-center gap-2 whitespace-nowrap shrink-0",
611
- // Typography - using CSS variables with sensible defaults
612
- "font-[var(--button-font-family,inherit)]",
613
- "font-[var(--button-font-weight,500)]",
614
- "tracking-[var(--button-letter-spacing,0)]",
615
- "leading-[var(--button-line-height,1.25)]",
616
- "[text-transform:var(--button-text-transform,none)]",
617
- "text-sm",
618
- // Border radius
619
- "rounded-[var(--button-radius,var(--radius,0.375rem))]",
620
- // Smooth transition - using [transition:...] to set full shorthand property (not just transition-property)
621
- "[transition:var(--button-transition,all_250ms_cubic-bezier(0.4,0,0.2,1))]",
622
- // Box shadow (master level) - using [box-shadow:...] for complex multi-value shadows
623
- "[box-shadow:var(--button-shadow,none)]",
624
- "hover:[box-shadow:var(--button-shadow-hover,var(--button-shadow,none))]",
625
- // Disabled state
626
- "disabled:pointer-events-none disabled:opacity-50",
627
- // SVG handling
628
- "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
629
- // Focus styles
630
- "outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
631
- // Invalid state
632
- "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
633
- ].join(" ");
634
- var buttonVariants = cva(baseStyles, {
635
- variants: {
636
- variant: {
637
- // Default (Primary) variant - full customization
638
- default: [
639
- "bg-[var(--button-default-bg,hsl(var(--primary)))]",
640
- "text-[var(--button-default-fg,hsl(var(--primary-foreground)))]",
641
- "border-[length:var(--button-default-border-width,0px)]",
642
- "border-[color:var(--button-default-border,transparent)]",
643
- "[box-shadow:var(--button-default-shadow,var(--button-shadow,none))]",
644
- "hover:bg-[var(--button-default-hover-bg,hsl(var(--primary)/0.9))]",
645
- "hover:text-[var(--button-default-hover-fg,var(--button-default-fg,hsl(var(--primary-foreground))))]",
646
- "hover:border-[color:var(--button-default-hover-border,var(--button-default-border,transparent))]",
647
- "hover:[box-shadow:var(--button-default-shadow-hover,var(--button-shadow-hover,var(--button-default-shadow,var(--button-shadow,none))))]"
648
- ].join(" "),
649
- // Destructive variant - full customization
650
- destructive: [
651
- "bg-[var(--button-destructive-bg,hsl(var(--destructive)))]",
652
- "text-[var(--button-destructive-fg,white)]",
653
- "border-[length:var(--button-destructive-border-width,0px)]",
654
- "border-[color:var(--button-destructive-border,transparent)]",
655
- "[box-shadow:var(--button-destructive-shadow,var(--button-shadow,none))]",
656
- "hover:bg-[var(--button-destructive-hover-bg,hsl(var(--destructive)/0.9))]",
657
- "hover:text-[var(--button-destructive-hover-fg,var(--button-destructive-fg,white))]",
658
- "hover:border-[color:var(--button-destructive-hover-border,var(--button-destructive-border,transparent))]",
659
- "hover:[box-shadow:var(--button-destructive-shadow-hover,var(--button-shadow-hover,var(--button-destructive-shadow,var(--button-shadow,none))))]",
660
- "focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
661
- "dark:bg-destructive/60"
662
- ].join(" "),
663
- // Outline variant - full customization with proper border handling
664
- outline: [
665
- "bg-[var(--button-outline-bg,hsl(var(--background)))]",
666
- "text-[var(--button-outline-fg,inherit)]",
667
- "border-[length:var(--button-outline-border-width,1px)]",
668
- "border-[color:var(--button-outline-border,hsl(var(--border)))]",
669
- "[box-shadow:var(--button-outline-shadow,var(--button-shadow,0_1px_2px_0_rgb(0_0_0/0.05)))]",
670
- "hover:bg-[var(--button-outline-hover-bg,hsl(var(--accent)))]",
671
- "hover:text-[var(--button-outline-hover-fg,hsl(var(--accent-foreground)))]",
672
- "hover:border-[color:var(--button-outline-hover-border,var(--button-outline-border,hsl(var(--border))))]",
673
- "hover:[box-shadow:var(--button-outline-shadow-hover,var(--button-shadow-hover,var(--button-outline-shadow,var(--button-shadow,none))))]",
674
- "dark:bg-input/30 dark:border-input dark:hover:bg-input/50"
675
- ].join(" "),
676
- // Secondary variant - full customization
677
- secondary: [
678
- "bg-[var(--button-secondary-bg,hsl(var(--secondary)))]",
679
- "text-[var(--button-secondary-fg,hsl(var(--secondary-foreground)))]",
680
- "border-[length:var(--button-secondary-border-width,0px)]",
681
- "border-[color:var(--button-secondary-border,transparent)]",
682
- "[box-shadow:var(--button-secondary-shadow,var(--button-shadow,none))]",
683
- "hover:bg-[var(--button-secondary-hover-bg,hsl(var(--secondary)/0.8))]",
684
- "hover:text-[var(--button-secondary-hover-fg,var(--button-secondary-fg,hsl(var(--secondary-foreground))))]",
685
- "hover:border-[color:var(--button-secondary-hover-border,var(--button-secondary-border,transparent))]",
686
- "hover:[box-shadow:var(--button-secondary-shadow-hover,var(--button-shadow-hover,var(--button-secondary-shadow,var(--button-shadow,none))))]"
687
- ].join(" "),
688
- // Ghost variant - full customization
689
- ghost: [
690
- "bg-[var(--button-ghost-bg,transparent)]",
691
- "text-[var(--button-ghost-fg,inherit)]",
692
- "border-[length:var(--button-ghost-border-width,0px)]",
693
- "border-[color:var(--button-ghost-border,transparent)]",
694
- "[box-shadow:var(--button-ghost-shadow,var(--button-shadow,none))]",
695
- "hover:bg-[var(--button-ghost-hover-bg,hsl(var(--accent)))]",
696
- "hover:text-[var(--button-ghost-hover-fg,hsl(var(--accent-foreground)))]",
697
- "hover:border-[color:var(--button-ghost-hover-border,var(--button-ghost-border,transparent))]",
698
- "hover:[box-shadow:var(--button-ghost-shadow-hover,var(--button-shadow-hover,var(--button-ghost-shadow,var(--button-shadow,none))))]",
699
- "dark:hover:bg-accent/50"
700
- ].join(" "),
701
- // Link variant - full customization
702
- link: [
703
- "bg-[var(--button-link-bg,transparent)]",
704
- "text-[var(--button-link-fg,hsl(var(--primary)))]",
705
- "border-[length:var(--button-link-border-width,0px)]",
706
- "border-[color:var(--button-link-border,transparent)]",
707
- "[box-shadow:var(--button-link-shadow,none)]",
708
- "hover:bg-[var(--button-link-hover-bg,transparent)]",
709
- "hover:text-[var(--button-link-hover-fg,var(--button-link-fg,hsl(var(--primary))))]",
710
- "hover:[box-shadow:var(--button-link-shadow-hover,none)]",
711
- "underline-offset-4 hover:underline"
712
- ].join(" ")
713
- },
714
- size: {
715
- default: [
716
- "h-[var(--button-height-md,2.25rem)]",
717
- "px-[var(--button-padding-x-md,1rem)]",
718
- "py-[var(--button-padding-y-md,0.5rem)]",
719
- "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
720
- ].join(" "),
721
- sm: [
722
- "h-[var(--button-height-sm,2rem)]",
723
- "px-[var(--button-padding-x-sm,0.75rem)]",
724
- "py-[var(--button-padding-y-sm,0.25rem)]",
725
- "gap-1.5",
726
- "has-[>svg]:px-[calc(var(--button-padding-x-sm,0.75rem)*0.83)]"
727
- ].join(" "),
728
- md: [
729
- "h-[var(--button-height-md,2.25rem)]",
730
- "px-[var(--button-padding-x-md,1rem)]",
731
- "py-[var(--button-padding-y-md,0.5rem)]",
732
- "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
733
- ].join(" "),
734
- lg: [
735
- "h-[var(--button-height-lg,2.5rem)]",
736
- "px-[var(--button-padding-x-lg,1.5rem)]",
737
- "py-[var(--button-padding-y-lg,0.5rem)]",
738
- "has-[>svg]:px-[calc(var(--button-padding-x-lg,1.5rem)*0.67)]"
739
- ].join(" "),
740
- icon: "size-[var(--button-height-md,2.25rem)]",
741
- "icon-sm": "size-[var(--button-height-sm,2rem)]",
742
- "icon-lg": "size-[var(--button-height-lg,2.5rem)]"
743
- }
744
- },
745
- defaultVariants: {
746
- variant: "default",
747
- size: "default"
748
- }
749
- });
750
- var Pressable = React6.forwardRef(
751
- ({
752
- children,
753
- className,
754
- href,
755
- onClick,
756
- variant,
757
- size,
758
- asButton = false,
759
- fallbackComponentType = "span",
760
- componentType,
761
- "aria-label": ariaLabel,
762
- "aria-describedby": ariaDescribedby,
763
- id,
764
- ...props
765
- }, ref) => {
766
- const navigation = useNavigation({ href, onClick });
767
- const {
768
- normalizedHref,
769
- target,
770
- rel,
771
- linkType,
772
- isInternal,
773
- handleClick
774
- } = navigation;
775
- const shouldRenderLink = normalizedHref && linkType !== "none";
776
- const shouldRenderButton = !shouldRenderLink && onClick;
777
- const effectiveComponentType = componentType || (shouldRenderLink ? "a" : shouldRenderButton ? "button" : fallbackComponentType);
778
- const finalComponentType = isInternal && shouldRenderLink ? "a" : effectiveComponentType;
779
- const shouldApplyButtonStyles = asButton || variant || size;
780
- const combinedClassName = cn(
781
- shouldApplyButtonStyles && buttonVariants({ variant, size }),
782
- className
783
- );
784
- const dataProps = Object.fromEntries(
785
- Object.entries(props).filter(([key]) => key.startsWith("data-"))
786
- );
787
- const buttonDataAttributes = shouldApplyButtonStyles ? {
788
- "data-slot": "button",
789
- "data-variant": variant ?? "default",
790
- "data-size": size ?? "default"
791
- } : {};
792
- const commonProps = {
793
- className: combinedClassName,
794
- onClick: handleClick,
795
- "aria-label": ariaLabel,
796
- "aria-describedby": ariaDescribedby,
797
- id,
798
- ...dataProps,
799
- ...buttonDataAttributes
800
- };
801
- if (finalComponentType === "a" && shouldRenderLink) {
802
- return /* @__PURE__ */ jsx(
803
- "a",
804
- {
805
- ref,
806
- href: normalizedHref,
807
- target,
808
- rel,
809
- ...commonProps,
810
- ...props,
811
- children
812
- }
813
- );
814
- }
815
- if (finalComponentType === "button") {
816
- return /* @__PURE__ */ jsx(
817
- "button",
818
- {
819
- ref,
820
- type: props.type || "button",
821
- ...commonProps,
822
- ...props,
823
- children
824
- }
825
- );
826
- }
827
- if (finalComponentType === "div") {
828
- return /* @__PURE__ */ jsx(
829
- "div",
830
- {
831
- ref,
832
- ...commonProps,
833
- children
834
- }
835
- );
836
- }
837
- return /* @__PURE__ */ jsx(
838
- "span",
839
- {
840
- ref,
841
- ...commonProps,
842
- children
843
- }
844
- );
845
- }
846
- );
847
- Pressable.displayName = "Pressable";
848
- var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
849
- var DynamicIcon = React6.memo(function DynamicIcon2({
850
- apiKey,
851
- ...props
852
- }) {
853
- return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
854
- });
855
- DynamicIcon.displayName = "DynamicIcon";
856
- var PANEL_POSITION_CLASS = {
857
- "top-left": "left-4 top-4",
858
- "top-right": "right-4 top-4",
859
- "bottom-left": "bottom-4 left-4",
860
- "bottom-right": "bottom-4 right-4"
861
- };
862
- var DEFAULT_VIEW_STATE = {
863
- latitude: 39.5,
864
- longitude: -98.35,
865
- zoom: 3
866
- };
867
- var VIDEO_FILE_EXTENSION_REGEX = /\.(mp4|webm|ogg|mov|m4v|m3u8)(\?.*)?$/i;
868
- function resolveMediaType(item) {
869
- if (item.type) {
870
- return item.type;
871
- }
872
- return VIDEO_FILE_EXTENSION_REGEX.test(item.src) ? "video" : "image";
873
- }
874
- function normalizeId(value, fallback) {
875
- if (value === null || value === void 0 || value === "") {
876
- return fallback;
877
- }
878
- return String(value);
879
- }
880
- function buildClusterCenter(markers) {
881
- if (!markers.length) {
882
- return null;
883
- }
884
- const total = markers.reduce(
885
- (accumulator, marker) => ({
886
- latitude: accumulator.latitude + marker.latitude,
887
- longitude: accumulator.longitude + marker.longitude
888
- }),
889
- { latitude: 0, longitude: 0 }
890
- );
891
- return {
892
- latitude: total.latitude / markers.length,
893
- longitude: total.longitude / markers.length
894
- };
895
- }
896
- function resolveActionKey(action, index) {
897
- if (typeof action.label === "string" && action.label.trim().length > 0) {
898
- return `label:${action.label}:${index}`;
899
- }
900
- if (action.href) {
901
- return `href:${action.href}:${index}`;
902
- }
903
- return `action:${index}`;
904
- }
905
- function MarkerActions({ actions }) {
906
- if (!actions || actions.length === 0) {
907
- return null;
908
- }
909
- return /* @__PURE__ */ jsx("div", { className: "mt-4 flex flex-wrap gap-2", children: actions.map((action, index) => {
910
- const {
911
- label,
912
- icon,
913
- iconAfter,
914
- children,
915
- href,
916
- onClick,
917
- className: actionClassName,
918
- variant,
919
- size,
920
- asButton,
921
- ...rest
922
- } = action;
923
- return /* @__PURE__ */ jsx(
924
- Pressable,
925
- {
926
- href,
927
- onClick,
928
- variant: variant ?? (index === 0 ? "default" : "outline"),
929
- size: size ?? "sm",
930
- asButton: asButton ?? true,
931
- className: cn("inline-flex items-center gap-2", actionClassName),
932
- ...rest,
933
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
934
- icon,
935
- label,
936
- iconAfter
937
- ] })
938
- },
939
- resolveActionKey(action, index)
940
- );
941
- }) });
942
- }
943
- function MarkerMediaCarousel({
944
- mediaItems,
945
- optixFlowConfig
946
- }) {
947
- const [activeIndex, setActiveIndex] = React6.useState(0);
948
- const totalItems = mediaItems.length;
949
- const mediaResetKey = React6.useMemo(
950
- () => mediaItems.map((item, index) => {
951
- const itemId = normalizeId(item.id, `media-${index}`);
952
- return `${itemId}:${item.src}:${item.type ?? ""}:${item.poster ?? ""}`;
953
- }).join("|"),
954
- [mediaItems]
955
- );
956
- const activeItemIndex = Math.min(activeIndex, Math.max(0, totalItems - 1));
957
- React6.useEffect(() => {
958
- setActiveIndex(0);
959
- }, [mediaResetKey]);
960
- return /* @__PURE__ */ jsxs("div", { className: "relative border-b border-border/60 bg-muted/40", children: [
961
- /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden", children: mediaItems.map((item, index) => {
962
- const isActive = index === activeItemIndex;
963
- const mediaType = resolveMediaType(item);
964
- return /* @__PURE__ */ jsx(
965
- "div",
966
- {
967
- "aria-hidden": !isActive,
968
- className: cn(
969
- "absolute inset-0 transition-opacity duration-500 ease-in-out",
970
- isActive ? "opacity-100 z-[1]" : "opacity-0 z-0 pointer-events-none"
971
- ),
972
- children: mediaType === "video" ? /* @__PURE__ */ jsx(
973
- "video",
974
- {
975
- className: "h-full w-full object-cover",
976
- controls: isActive,
977
- preload: "metadata",
978
- poster: item.poster,
979
- tabIndex: isActive ? 0 : -1,
980
- children: /* @__PURE__ */ jsx("source", { src: item.src })
981
- }
982
- ) : /* @__PURE__ */ jsx(
983
- Img,
984
- {
985
- src: item.src,
986
- alt: item.alt ?? "Map marker media",
987
- className: "h-full w-full object-cover",
988
- loading: "eager",
989
- optixFlowConfig
990
- }
991
- )
992
- },
993
- normalizeId(item.id, `media-slide-${index}`)
994
- );
995
- }) }),
996
- totalItems > 1 ? /* @__PURE__ */ jsxs(Fragment, { children: [
997
- /* @__PURE__ */ jsx(
998
- "button",
999
- {
1000
- type: "button",
1001
- "aria-label": "Show previous media",
1002
- 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]",
1003
- onClick: () => {
1004
- setActiveIndex(
1005
- (current) => (current - 1 + totalItems) % totalItems
1006
- );
1007
- },
1008
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-left", size: 18 })
1009
- }
1010
- ),
1011
- /* @__PURE__ */ jsx(
1012
- "button",
1013
- {
1014
- type: "button",
1015
- "aria-label": "Show next media",
1016
- 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]",
1017
- onClick: () => {
1018
- setActiveIndex((current) => (current + 1) % totalItems);
1019
- },
1020
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right", size: 18 })
1021
- }
1022
- ),
1023
- /* @__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(
1024
- "button",
1025
- {
1026
- type: "button",
1027
- "aria-label": `Show media item ${index + 1}`,
1028
- className: cn(
1029
- "h-2 rounded-full transition-all duration-300",
1030
- index === activeItemIndex ? "w-6 bg-card" : "w-2 bg-card opacity-50 hover:opacity-100"
1031
- ),
1032
- onClick: () => setActiveIndex(index)
1033
- },
1034
- normalizeId(item.id, `media-dot-${index}`)
1035
- )) })
1036
- ] }) : null
1037
- ] });
1038
- }
1039
- function getMarkerTitle(marker, markerIndex) {
1040
- if (marker.title !== void 0 && marker.title !== null) {
1041
- return marker.title;
1042
- }
1043
- if (marker.label !== void 0 && marker.label !== null) {
1044
- return marker.label;
1045
- }
1046
- return `Location ${markerIndex + 1}`;
1047
- }
1048
- function GeoMap({
1049
- className,
1050
- mapWrapperClassName,
1051
- mapClassName,
1052
- panelClassName,
1053
- panelPosition = "top-left",
1054
- stadiaApiKey = "",
1055
- mapStyle = "osm-bright",
1056
- styleUrl,
1057
- mapLibreCssHref,
1058
- markers = [],
1059
- clusters = [],
1060
- viewState,
1061
- defaultViewState,
1062
- onViewStateChange,
1063
- onMapClick,
1064
- onMarkerDrag,
1065
- showNavigationControl = true,
1066
- showGeolocateControl = false,
1067
- navigationControlPosition = "top-right",
1068
- geolocateControlPosition = "top-left",
1069
- flyToOptions,
1070
- markerFocusZoom = 14,
1071
- clusterFocusZoom = 5,
1072
- selectedMarkerId,
1073
- initialSelectedMarkerId,
1074
- onSelectionChange,
1075
- clearSelectionOnMapClick = true,
1076
- mapChildren,
1077
- optixFlowConfig
1078
- }) {
1079
- const normalizedStandaloneMarkers = React6.useMemo(
1080
- () => markers.map((marker, index) => ({
1081
- ...marker,
1082
- id: normalizeId(marker.id, `marker-${index}`)
1083
- })),
1084
- [markers]
1085
- );
1086
- const normalizedClusters = React6.useMemo(() => {
1087
- const results = [];
1088
- clusters.forEach((cluster, clusterIndex) => {
1089
- const clusterId = normalizeId(cluster.id, `cluster-${clusterIndex}`);
1090
- const normalizedClusterMarkers = cluster.markers.map(
1091
- (marker, markerIndex) => ({
1092
- ...marker,
1093
- id: normalizeId(marker.id, `${clusterId}-marker-${markerIndex}`),
1094
- clusterId
1095
- })
1096
- );
1097
- const clusterCenter = cluster.latitude !== void 0 && cluster.longitude !== void 0 ? { latitude: cluster.latitude, longitude: cluster.longitude } : buildClusterCenter(normalizedClusterMarkers);
1098
- if (!clusterCenter) {
1099
- return;
1100
- }
1101
- results.push({
1102
- ...cluster,
1103
- id: clusterId,
1104
- latitude: clusterCenter.latitude,
1105
- longitude: clusterCenter.longitude,
1106
- markers: normalizedClusterMarkers
1107
- });
1108
- });
1109
- return results;
1110
- }, [clusters]);
1111
- const markerLookup = React6.useMemo(() => {
1112
- const lookup = /* @__PURE__ */ new Map();
1113
- normalizedStandaloneMarkers.forEach((marker) => {
1114
- lookup.set(marker.id, marker);
1115
- });
1116
- normalizedClusters.forEach((cluster) => {
1117
- cluster.markers.forEach((marker) => {
1118
- lookup.set(marker.id, marker);
1119
- });
1120
- });
1121
- return lookup;
1122
- }, [normalizedClusters, normalizedStandaloneMarkers]);
1123
- const clusterLookup = React6.useMemo(() => {
1124
- const lookup = /* @__PURE__ */ new Map();
1125
- normalizedClusters.forEach((cluster) => {
1126
- lookup.set(cluster.id, cluster);
1127
- });
1128
- return lookup;
1129
- }, [normalizedClusters]);
1130
- const firstCoordinate = React6.useMemo(() => {
1131
- if (normalizedStandaloneMarkers.length > 0) {
1132
- const firstStandaloneMarker = normalizedStandaloneMarkers[0];
1133
- return {
1134
- latitude: firstStandaloneMarker.latitude,
1135
- longitude: firstStandaloneMarker.longitude
1136
- };
1137
- }
1138
- if (normalizedClusters.length > 0) {
1139
- const firstCluster = normalizedClusters[0];
1140
- return {
1141
- latitude: firstCluster.latitude,
1142
- longitude: firstCluster.longitude
1143
- };
1144
- }
1145
- return {
1146
- latitude: DEFAULT_VIEW_STATE.latitude,
1147
- longitude: DEFAULT_VIEW_STATE.longitude
1148
- };
1149
- }, [normalizedClusters, normalizedStandaloneMarkers]);
1150
- const [uncontrolledViewState, setUncontrolledViewState] = React6.useState({
1151
- latitude: defaultViewState?.latitude ?? firstCoordinate.latitude,
1152
- longitude: defaultViewState?.longitude ?? firstCoordinate.longitude,
1153
- zoom: defaultViewState?.zoom ?? DEFAULT_VIEW_STATE.zoom
1154
- });
1155
- const isControlledViewState = viewState !== void 0;
1156
- const resolvedViewState = isControlledViewState ? viewState : uncontrolledViewState;
1157
- const applyViewState = React6.useCallback(
1158
- (nextState) => {
1159
- if (!isControlledViewState) {
1160
- setUncontrolledViewState((current) => {
1161
- const next = { ...current, ...nextState };
1162
- const hasChanged = current.latitude !== next.latitude || current.longitude !== next.longitude || current.zoom !== next.zoom;
1163
- return hasChanged ? next : current;
1164
- });
1165
- }
1166
- onViewStateChange?.(nextState);
1167
- },
1168
- [isControlledViewState, onViewStateChange]
1169
- );
1170
- const [selection, setSelection] = React6.useState(() => {
1171
- if (initialSelectedMarkerId !== void 0 && initialSelectedMarkerId !== null) {
1172
- return {
1173
- type: "marker",
1174
- markerId: String(initialSelectedMarkerId)
1175
- };
1176
- }
1177
- return { type: "none" };
1178
- });
1179
- React6.useEffect(() => {
1180
- if (selectedMarkerId === void 0 || selectedMarkerId === null) {
1181
- return;
1182
- }
1183
- setSelection({
1184
- type: "marker",
1185
- markerId: String(selectedMarkerId)
1186
- });
1187
- }, [selectedMarkerId]);
1188
- const selectedMarker = selection.markerId ? markerLookup.get(selection.markerId) : void 0;
1189
- const selectedCluster = selection.clusterId ? clusterLookup.get(selection.clusterId) : void 0;
1190
- React6.useEffect(() => {
1191
- if (selection.type === "marker" && selection.markerId && !selectedMarker) {
1192
- setSelection({ type: "none" });
1193
- onSelectionChange?.({ type: "none" });
1194
- }
1195
- }, [onSelectionChange, selectedMarker, selection]);
1196
- const emitSelectionChange = React6.useCallback(
1197
- (nextSelection) => {
1198
- if (nextSelection.type === "none") {
1199
- onSelectionChange?.({ type: "none" });
1200
- return;
1201
- }
1202
- if (nextSelection.type === "marker") {
1203
- const parentCluster = nextSelection.marker.clusterId ? clusterLookup.get(nextSelection.marker.clusterId) : void 0;
1204
- onSelectionChange?.({
1205
- type: "marker",
1206
- marker: nextSelection.marker,
1207
- cluster: parentCluster
1208
- });
1209
- return;
1210
- }
1211
- onSelectionChange?.({
1212
- type: "cluster",
1213
- cluster: nextSelection.cluster
1214
- });
1215
- },
1216
- [clusterLookup, onSelectionChange]
1217
- );
1218
- const selectMarker = React6.useCallback(
1219
- (marker) => {
1220
- setSelection({
1221
- type: "marker",
1222
- markerId: marker.id,
1223
- clusterId: marker.clusterId
1224
- });
1225
- applyViewState({
1226
- latitude: marker.latitude,
1227
- longitude: marker.longitude,
1228
- zoom: markerFocusZoom
1229
- });
1230
- emitSelectionChange({ type: "marker", marker });
1231
- },
1232
- [applyViewState, emitSelectionChange, markerFocusZoom]
1233
- );
1234
- const selectCluster = React6.useCallback(
1235
- (cluster) => {
1236
- setSelection({
1237
- type: "cluster",
1238
- clusterId: cluster.id
1239
- });
1240
- applyViewState({
1241
- latitude: cluster.latitude,
1242
- longitude: cluster.longitude,
1243
- zoom: clusterFocusZoom
1244
- });
1245
- emitSelectionChange({ type: "cluster", cluster });
1246
- },
1247
- [applyViewState, clusterFocusZoom, emitSelectionChange]
1248
- );
1249
- const clearSelection = React6.useCallback(() => {
1250
- setSelection({ type: "none" });
1251
- emitSelectionChange({ type: "none" });
1252
- }, [emitSelectionChange]);
1253
- const mapMarkers = React6.useMemo(() => {
1254
- const resolvedMarkers = [];
1255
- normalizedClusters.forEach((cluster) => {
1256
- const isSelected = selection.type === "cluster" && selection.clusterId === cluster.id;
1257
- resolvedMarkers.push({
1258
- id: `cluster-pin:${cluster.id}`,
1259
- latitude: cluster.latitude,
1260
- longitude: cluster.longitude,
1261
- element: () => {
1262
- const customMarkerElement = cluster.markerElement;
1263
- const markerBody = typeof customMarkerElement === "function" ? customMarkerElement({
1264
- isSelected,
1265
- count: cluster.markers.length
1266
- }) : customMarkerElement;
1267
- return /* @__PURE__ */ jsx(
1268
- "button",
1269
- {
1270
- type: "button",
1271
- className: "group cursor-pointer",
1272
- onClick: (event) => {
1273
- event.preventDefault();
1274
- event.stopPropagation();
1275
- selectCluster(cluster);
1276
- },
1277
- "aria-label": `View ${cluster.markers.length} clustered locations`,
1278
- children: markerBody ?? /* @__PURE__ */ jsx(
1279
- "span",
1280
- {
1281
- className: cn(
1282
- "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",
1283
- isSelected && "ring-4 ring-primary/30",
1284
- cluster.pinClassName
1285
- ),
1286
- style: {
1287
- backgroundColor: cluster.pinColor ?? "var(--foreground)"
1288
- },
1289
- children: cluster.markers.length
1290
- }
1291
- )
1292
- }
1293
- );
1294
- }
1295
- });
1296
- });
1297
- normalizedStandaloneMarkers.forEach((marker) => {
1298
- const isSelected = selection.type === "marker" && selection.markerId === marker.id;
1299
- const customMarkerElement = marker.markerElement;
1300
- resolvedMarkers.push({
1301
- id: marker.id,
1302
- latitude: marker.latitude,
1303
- longitude: marker.longitude,
1304
- draggable: marker.draggable,
1305
- element: () => {
1306
- const markerBody = typeof customMarkerElement === "function" ? customMarkerElement({ isSelected }) : customMarkerElement;
1307
- return /* @__PURE__ */ jsx(
1308
- "button",
1309
- {
1310
- type: "button",
1311
- className: "group cursor-pointer",
1312
- onClick: (event) => {
1313
- event.preventDefault();
1314
- event.stopPropagation();
1315
- selectMarker(marker);
1316
- },
1317
- "aria-label": typeof marker.title === "string" ? `View ${marker.title}` : "View location details",
1318
- children: markerBody ?? /* @__PURE__ */ jsx(
1319
- "span",
1320
- {
1321
- className: cn(
1322
- "inline-flex h-4 w-4 rounded-full border-2 border-white shadow-md transition-transform duration-200 group-hover:scale-110",
1323
- isSelected && "h-5 w-5 ring-4 ring-primary/30",
1324
- marker.pinClassName
1325
- ),
1326
- style: {
1327
- backgroundColor: marker.pinColor ?? "#f43f5e"
1328
- }
1329
- }
1330
- )
1331
- }
1332
- );
1333
- }
1334
- });
1335
- });
1336
- return resolvedMarkers;
1337
- }, [
1338
- normalizedClusters,
1339
- normalizedStandaloneMarkers,
1340
- selectCluster,
1341
- selectMarker,
1342
- selection
1343
- ]);
1344
- const renderMarkerPanel = () => {
1345
- if (selectedMarker) {
1346
- const markerMediaItems = selectedMarker.mediaItems ?? [];
1347
- return /* @__PURE__ */ jsxs(
1348
- "div",
1349
- {
1350
- className: cn(
1351
- "relative w-[min(24rem,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-card text-card-foreground shadow-2xl",
1352
- panelClassName
1353
- ),
1354
- children: [
1355
- /* @__PURE__ */ jsx(
1356
- "button",
1357
- {
1358
- type: "button",
1359
- "aria-label": "Close marker details",
1360
- 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",
1361
- onClick: clearSelection,
1362
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
1363
- }
1364
- ),
1365
- markerMediaItems.length > 0 ? /* @__PURE__ */ jsx(
1366
- MarkerMediaCarousel,
1367
- {
1368
- mediaItems: markerMediaItems,
1369
- optixFlowConfig
1370
- }
1371
- ) : null,
1372
- /* @__PURE__ */ jsxs("div", { className: "space-y-2 p-4", children: [
1373
- /* @__PURE__ */ jsx("div", { className: "flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxs("div", { className: "min-w-0 space-y-1", children: [
1374
- selectedMarker.eyebrow ? /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide", children: selectedMarker.eyebrow }) : null,
1375
- /* @__PURE__ */ jsx("div", { className: "text-base font-semibold leading-tight", children: selectedMarker.title ?? selectedMarker.label ?? "Location" })
1376
- ] }) }),
1377
- selectedMarker.summary ? /* @__PURE__ */ jsx("div", { className: "text-sm leading-relaxed", children: selectedMarker.summary }) : null,
1378
- selectedMarker.locationLine ? /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
1379
- /* @__PURE__ */ jsx(
1380
- DynamicIcon,
1381
- {
1382
- name: "lucide:map-pin",
1383
- className: "opacity-50",
1384
- size: 18
1385
- }
1386
- ),
1387
- typeof selectedMarker.locationLine === "string" ? /* @__PURE__ */ jsx(
1388
- Pressable,
1389
- {
1390
- href: selectedMarker.locationUrl,
1391
- className: cn(
1392
- "transition-all duration-500",
1393
- "font-medium opacity-75 hover:opacity-100",
1394
- selectedMarker.locationUrl ? "underline underline-offset-4" : ""
1395
- ),
1396
- children: selectedMarker.locationLine
1397
- }
1398
- ) : selectedMarker.locationLine
1399
- ] }) : null,
1400
- selectedMarker.hoursLine ? /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center justify-start text-sm gap-2", children: [
1401
- /* @__PURE__ */ jsx(
1402
- DynamicIcon,
1403
- {
1404
- name: "lucide:clock",
1405
- className: "opacity-50",
1406
- size: 18
1407
- }
1408
- ),
1409
- typeof selectedMarker.hoursLine === "string" ? /* @__PURE__ */ jsx("div", { className: "font-medium", children: selectedMarker.hoursLine }) : selectedMarker.hoursLine
1410
- ] }) : null,
1411
- selectedMarker.markerContentComponent ? /* @__PURE__ */ jsx("div", { className: "relative", children: selectedMarker.markerContentComponent }) : null,
1412
- /* @__PURE__ */ jsx(MarkerActions, { actions: selectedMarker.actions })
1413
- ] })
1414
- ]
1415
- }
1416
- );
1417
- }
1418
- if (selectedCluster) {
1419
- return /* @__PURE__ */ jsxs(
1420
- "div",
1421
- {
1422
- className: cn(
1423
- "relative w-[min(24rem,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-card text-card-foreground p-4 shadow-2xl",
1424
- panelClassName
1425
- ),
1426
- children: [
1427
- /* @__PURE__ */ jsx(
1428
- "button",
1429
- {
1430
- type: "button",
1431
- "aria-label": "Close cluster details",
1432
- 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",
1433
- onClick: clearSelection,
1434
- children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/x", size: 20 })
1435
- }
1436
- ),
1437
- /* @__PURE__ */ jsx("div", { className: "mb-3 flex items-start justify-between gap-3", children: /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
1438
- selectedCluster.label ? /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: selectedCluster.label }) : null,
1439
- /* @__PURE__ */ jsx("div", { className: "text-base font-semibold leading-tight text-foreground", children: selectedCluster.title ?? "Clustered Locations" }),
1440
- /* @__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.` })
1441
- ] }) }),
1442
- /* @__PURE__ */ jsx("div", { className: "max-h-56 space-y-2 overflow-y-auto pr-1", children: selectedCluster.markers.map((marker, markerIndex) => /* @__PURE__ */ jsxs(
1443
- "button",
1444
- {
1445
- type: "button",
1446
- className: "w-full rounded-lg border border-border/60 p-3 text-left transition hover:border-border hover:bg-muted/50",
1447
- onClick: () => selectMarker(marker),
1448
- children: [
1449
- /* @__PURE__ */ jsx("div", { className: "line-clamp-1 text-sm font-semibold text-foreground", children: getMarkerTitle(marker, markerIndex) }),
1450
- marker.summary ? /* @__PURE__ */ jsx("div", { className: "mt-1 line-clamp-2 text-xs text-muted-foreground", children: marker.summary }) : null
1451
- ]
1452
- },
1453
- marker.id
1454
- )) })
1455
- ]
1456
- }
1457
- );
1458
- }
1459
- return null;
1460
- };
1461
- return /* @__PURE__ */ jsxs(
1462
- "div",
1463
- {
1464
- className: cn(
1465
- "relative overflow-hidden rounded-2xl border border-border bg-background",
1466
- className
1467
- ),
1468
- children: [
1469
- /* @__PURE__ */ jsx("div", { className: cn("h-[520px] w-full", mapWrapperClassName), children: /* @__PURE__ */ jsx(
1470
- MapLibre,
1471
- {
1472
- stadiaApiKey,
1473
- mapStyle,
1474
- styleUrl,
1475
- mapLibreCssHref,
1476
- viewState: resolvedViewState,
1477
- onViewStateChange: applyViewState,
1478
- markers: mapMarkers,
1479
- onClick: (coord) => {
1480
- onMapClick?.(coord);
1481
- if (clearSelectionOnMapClick) {
1482
- clearSelection();
1483
- }
1484
- },
1485
- onMarkerDrag,
1486
- showNavigationControl,
1487
- showGeolocateControl,
1488
- navigationControlPosition,
1489
- geolocateControlPosition,
1490
- flyToOptions,
1491
- className: cn("h-full w-full", mapClassName),
1492
- children: mapChildren
1493
- }
1494
- ) }),
1495
- selection.type !== "none" ? /* @__PURE__ */ jsx(
1496
- "div",
1497
- {
1498
- className: cn(
1499
- "pointer-events-none absolute z-20",
1500
- PANEL_POSITION_CLASS[panelPosition]
1501
- ),
1502
- children: /* @__PURE__ */ jsx("div", { className: "pointer-events-auto", children: renderMarkerPanel() })
1503
- }
1504
- ) : null
1505
- ]
1506
- }
1507
- );
1508
- }
1509
- var sizeStyles = {
1510
- sm: "max-w-md",
1511
- md: "max-w-2xl",
1512
- lg: "max-w-4xl",
1513
- xl: "max-w-5xl",
1514
- full: "max-w-7xl",
1515
- compact: "max-w-[700px]"
1516
- };
1517
- var dialogTransition = {
1518
- duration: 0.35,
1519
- ease: [0.16, 1, 0.3, 1]
1520
- };
1521
- function AnimatedDialog({
1522
- open,
1523
- onOpenChange,
1524
- title,
1525
- eyebrow,
1526
- description,
1527
- children,
1528
- header,
1529
- footer,
1530
- size = "lg",
1531
- className,
1532
- contentClassName,
1533
- featuredMediaHeader
1534
- }) {
1535
- const titleId = useId();
1536
- const descriptionId = useId();
1537
- const containerRef = useRef(null);
1538
- useOnClickOutside(containerRef, () => {
1539
- if (open) {
1540
- onOpenChange(false);
1541
- }
1542
- });
1543
- useEffect(() => {
1544
- if (!open) {
1545
- return;
1546
- }
1547
- const onKeyDown = (event) => {
1548
- if (event.key === "Escape") {
1549
- onOpenChange(false);
1550
- }
1551
- };
1552
- const previousOverflow = document.body.style.overflow;
1553
- document.body.style.overflow = "hidden";
1554
- window.addEventListener("keydown", onKeyDown);
1555
- return () => {
1556
- document.body.style.overflow = previousOverflow;
1557
- window.removeEventListener("keydown", onKeyDown);
1558
- };
1559
- }, [open, onOpenChange]);
1560
- return /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50 h-screen overflow-y-auto", children: [
1561
- /* @__PURE__ */ jsx(
1562
- motion.div,
1563
- {
1564
- initial: { opacity: 0 },
1565
- animate: { opacity: 1, transition: dialogTransition },
1566
- exit: { opacity: 0, transition: dialogTransition },
1567
- className: "fixed inset-0 h-full w-full bg-foreground/80 backdrop-blur-lg"
471
+ };
472
+ const previousOverflow = document.body.style.overflow;
473
+ document.body.style.overflow = "hidden";
474
+ window.addEventListener("keydown", onKeyDown);
475
+ return () => {
476
+ document.body.style.overflow = previousOverflow;
477
+ window.removeEventListener("keydown", onKeyDown);
478
+ };
479
+ }, [open, onOpenChange]);
480
+ return /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50 h-screen overflow-y-auto", children: [
481
+ /* @__PURE__ */ jsx(
482
+ motion.div,
483
+ {
484
+ initial: { opacity: 0 },
485
+ animate: { opacity: 1, transition: dialogTransition },
486
+ exit: { opacity: 0, transition: dialogTransition },
487
+ className: "fixed inset-0 h-full w-full bg-foreground/80 backdrop-blur-lg"
1568
488
  }
1569
489
  ),
1570
490
  /* @__PURE__ */ jsxs(
@@ -1863,10 +783,10 @@ var ImageSlider = ({
1863
783
  optixFlowConfig
1864
784
  }) => {
1865
785
  const hasImages = images.length > 0;
1866
- const [currentIndex, setCurrentIndex] = React6.useState(
786
+ const [currentIndex, setCurrentIndex] = React4.useState(
1867
787
  () => normalizeIndex(startIndex, images.length)
1868
788
  );
1869
- const handleNext = React6.useCallback(() => {
789
+ const handleNext = React4.useCallback(() => {
1870
790
  if (!hasImages) return;
1871
791
  setCurrentIndex((prevIndex) => {
1872
792
  const nextIndex = prevIndex + 1 >= images.length ? 0 : prevIndex + 1;
@@ -1874,7 +794,7 @@ var ImageSlider = ({
1874
794
  return nextIndex;
1875
795
  });
1876
796
  }, [hasImages, images.length, onSlideChange]);
1877
- const handlePrevious = React6.useCallback(() => {
797
+ const handlePrevious = React4.useCallback(() => {
1878
798
  if (!hasImages) return;
1879
799
  setCurrentIndex((prevIndex) => {
1880
800
  const nextIndex = prevIndex - 1 < 0 ? images.length - 1 : prevIndex - 1;
@@ -1882,11 +802,11 @@ var ImageSlider = ({
1882
802
  return nextIndex;
1883
803
  });
1884
804
  }, [hasImages, images.length, onSlideChange]);
1885
- React6.useEffect(() => {
805
+ React4.useEffect(() => {
1886
806
  if (!hasImages) return;
1887
807
  setCurrentIndex(normalizeIndex(startIndex, images.length));
1888
808
  }, [startIndex, images.length, hasImages]);
1889
- React6.useEffect(() => {
809
+ React4.useEffect(() => {
1890
810
  if (!enableKeyboard || !hasImages) return;
1891
811
  const handleKeyDown = (event) => {
1892
812
  if (event.key === "ArrowRight") {
@@ -1900,7 +820,7 @@ var ImageSlider = ({
1900
820
  window.removeEventListener("keydown", handleKeyDown);
1901
821
  };
1902
822
  }, [enableKeyboard, handleNext, handlePrevious, hasImages]);
1903
- React6.useEffect(() => {
823
+ React4.useEffect(() => {
1904
824
  if (!autoplay || images.length < 2) return;
1905
825
  const interval = window.setInterval(handleNext, autoplayIntervalMs);
1906
826
  return () => window.clearInterval(interval);
@@ -1971,8 +891,150 @@ var ImageSlider = ({
1971
891
  ) : null
1972
892
  ]
1973
893
  }
1974
- );
1975
- };
894
+ );
895
+ };
896
+ var baseStyles = [
897
+ // Layout
898
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap shrink-0",
899
+ // Typography - using CSS variables with sensible defaults
900
+ "font-[var(--button-font-family,inherit)]",
901
+ "font-[var(--button-font-weight,500)]",
902
+ "tracking-[var(--button-letter-spacing,0)]",
903
+ "leading-[var(--button-line-height,1.25)]",
904
+ "[text-transform:var(--button-text-transform,none)]",
905
+ "text-sm",
906
+ // Border radius
907
+ "rounded-[var(--button-radius,var(--radius,0.375rem))]",
908
+ // Smooth transition - using [transition:...] to set full shorthand property (not just transition-property)
909
+ "[transition:var(--button-transition,all_250ms_cubic-bezier(0.4,0,0.2,1))]",
910
+ // Box shadow (master level) - using [box-shadow:...] for complex multi-value shadows
911
+ "[box-shadow:var(--button-shadow,none)]",
912
+ "hover:[box-shadow:var(--button-shadow-hover,var(--button-shadow,none))]",
913
+ // Disabled state
914
+ "disabled:pointer-events-none disabled:opacity-50",
915
+ // SVG handling
916
+ "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",
917
+ // Focus styles
918
+ "outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
919
+ // Invalid state
920
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive"
921
+ ].join(" ");
922
+ var buttonVariants = cva(baseStyles, {
923
+ variants: {
924
+ variant: {
925
+ // Default (Primary) variant - full customization
926
+ default: [
927
+ "bg-[var(--button-default-bg,hsl(var(--primary)))]",
928
+ "text-[var(--button-default-fg,hsl(var(--primary-foreground)))]",
929
+ "border-[length:var(--button-default-border-width,0px)]",
930
+ "border-[color:var(--button-default-border,transparent)]",
931
+ "[box-shadow:var(--button-default-shadow,var(--button-shadow,none))]",
932
+ "hover:bg-[var(--button-default-hover-bg,hsl(var(--primary)/0.9))]",
933
+ "hover:text-[var(--button-default-hover-fg,var(--button-default-fg,hsl(var(--primary-foreground))))]",
934
+ "hover:border-[color:var(--button-default-hover-border,var(--button-default-border,transparent))]",
935
+ "hover:[box-shadow:var(--button-default-shadow-hover,var(--button-shadow-hover,var(--button-default-shadow,var(--button-shadow,none))))]"
936
+ ].join(" "),
937
+ // Destructive variant - full customization
938
+ destructive: [
939
+ "bg-[var(--button-destructive-bg,hsl(var(--destructive)))]",
940
+ "text-[var(--button-destructive-fg,white)]",
941
+ "border-[length:var(--button-destructive-border-width,0px)]",
942
+ "border-[color:var(--button-destructive-border,transparent)]",
943
+ "[box-shadow:var(--button-destructive-shadow,var(--button-shadow,none))]",
944
+ "hover:bg-[var(--button-destructive-hover-bg,hsl(var(--destructive)/0.9))]",
945
+ "hover:text-[var(--button-destructive-hover-fg,var(--button-destructive-fg,white))]",
946
+ "hover:border-[color:var(--button-destructive-hover-border,var(--button-destructive-border,transparent))]",
947
+ "hover:[box-shadow:var(--button-destructive-shadow-hover,var(--button-shadow-hover,var(--button-destructive-shadow,var(--button-shadow,none))))]",
948
+ "focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
949
+ "dark:bg-destructive/60"
950
+ ].join(" "),
951
+ // Outline variant - full customization with proper border handling
952
+ outline: [
953
+ "bg-[var(--button-outline-bg,hsl(var(--background)))]",
954
+ "text-[var(--button-outline-fg,inherit)]",
955
+ "border-[length:var(--button-outline-border-width,1px)]",
956
+ "border-[color:var(--button-outline-border,hsl(var(--border)))]",
957
+ "[box-shadow:var(--button-outline-shadow,var(--button-shadow,0_1px_2px_0_rgb(0_0_0/0.05)))]",
958
+ "hover:bg-[var(--button-outline-hover-bg,hsl(var(--accent)))]",
959
+ "hover:text-[var(--button-outline-hover-fg,hsl(var(--accent-foreground)))]",
960
+ "hover:border-[color:var(--button-outline-hover-border,var(--button-outline-border,hsl(var(--border))))]",
961
+ "hover:[box-shadow:var(--button-outline-shadow-hover,var(--button-shadow-hover,var(--button-outline-shadow,var(--button-shadow,none))))]",
962
+ "dark:bg-input/30 dark:border-input dark:hover:bg-input/50"
963
+ ].join(" "),
964
+ // Secondary variant - full customization
965
+ secondary: [
966
+ "bg-[var(--button-secondary-bg,hsl(var(--secondary)))]",
967
+ "text-[var(--button-secondary-fg,hsl(var(--secondary-foreground)))]",
968
+ "border-[length:var(--button-secondary-border-width,0px)]",
969
+ "border-[color:var(--button-secondary-border,transparent)]",
970
+ "[box-shadow:var(--button-secondary-shadow,var(--button-shadow,none))]",
971
+ "hover:bg-[var(--button-secondary-hover-bg,hsl(var(--secondary)/0.8))]",
972
+ "hover:text-[var(--button-secondary-hover-fg,var(--button-secondary-fg,hsl(var(--secondary-foreground))))]",
973
+ "hover:border-[color:var(--button-secondary-hover-border,var(--button-secondary-border,transparent))]",
974
+ "hover:[box-shadow:var(--button-secondary-shadow-hover,var(--button-shadow-hover,var(--button-secondary-shadow,var(--button-shadow,none))))]"
975
+ ].join(" "),
976
+ // Ghost variant - full customization
977
+ ghost: [
978
+ "bg-[var(--button-ghost-bg,transparent)]",
979
+ "text-[var(--button-ghost-fg,inherit)]",
980
+ "border-[length:var(--button-ghost-border-width,0px)]",
981
+ "border-[color:var(--button-ghost-border,transparent)]",
982
+ "[box-shadow:var(--button-ghost-shadow,var(--button-shadow,none))]",
983
+ "hover:bg-[var(--button-ghost-hover-bg,hsl(var(--accent)))]",
984
+ "hover:text-[var(--button-ghost-hover-fg,hsl(var(--accent-foreground)))]",
985
+ "hover:border-[color:var(--button-ghost-hover-border,var(--button-ghost-border,transparent))]",
986
+ "hover:[box-shadow:var(--button-ghost-shadow-hover,var(--button-shadow-hover,var(--button-ghost-shadow,var(--button-shadow,none))))]",
987
+ "dark:hover:bg-accent/50"
988
+ ].join(" "),
989
+ // Link variant - full customization
990
+ link: [
991
+ "bg-[var(--button-link-bg,transparent)]",
992
+ "text-[var(--button-link-fg,hsl(var(--primary)))]",
993
+ "border-[length:var(--button-link-border-width,0px)]",
994
+ "border-[color:var(--button-link-border,transparent)]",
995
+ "[box-shadow:var(--button-link-shadow,none)]",
996
+ "hover:bg-[var(--button-link-hover-bg,transparent)]",
997
+ "hover:text-[var(--button-link-hover-fg,var(--button-link-fg,hsl(var(--primary))))]",
998
+ "hover:[box-shadow:var(--button-link-shadow-hover,none)]",
999
+ "underline-offset-4 hover:underline"
1000
+ ].join(" ")
1001
+ },
1002
+ size: {
1003
+ default: [
1004
+ "h-[var(--button-height-md,2.25rem)]",
1005
+ "px-[var(--button-padding-x-md,1rem)]",
1006
+ "py-[var(--button-padding-y-md,0.5rem)]",
1007
+ "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
1008
+ ].join(" "),
1009
+ sm: [
1010
+ "h-[var(--button-height-sm,2rem)]",
1011
+ "px-[var(--button-padding-x-sm,0.75rem)]",
1012
+ "py-[var(--button-padding-y-sm,0.25rem)]",
1013
+ "gap-1.5",
1014
+ "has-[>svg]:px-[calc(var(--button-padding-x-sm,0.75rem)*0.83)]"
1015
+ ].join(" "),
1016
+ md: [
1017
+ "h-[var(--button-height-md,2.25rem)]",
1018
+ "px-[var(--button-padding-x-md,1rem)]",
1019
+ "py-[var(--button-padding-y-md,0.5rem)]",
1020
+ "has-[>svg]:px-[calc(var(--button-padding-x-md,1rem)*0.75)]"
1021
+ ].join(" "),
1022
+ lg: [
1023
+ "h-[var(--button-height-lg,2.5rem)]",
1024
+ "px-[var(--button-padding-x-lg,1.5rem)]",
1025
+ "py-[var(--button-padding-y-lg,0.5rem)]",
1026
+ "has-[>svg]:px-[calc(var(--button-padding-x-lg,1.5rem)*0.67)]"
1027
+ ].join(" "),
1028
+ icon: "size-[var(--button-height-md,2.25rem)]",
1029
+ "icon-sm": "size-[var(--button-height-sm,2rem)]",
1030
+ "icon-lg": "size-[var(--button-height-lg,2.5rem)]"
1031
+ }
1032
+ },
1033
+ defaultVariants: {
1034
+ variant: "default",
1035
+ size: "default"
1036
+ }
1037
+ });
1976
1038
  function Button({
1977
1039
  className,
1978
1040
  variant = "default",
@@ -2016,127 +1078,411 @@ function CardHeader({ className, ...props }) {
2016
1078
  ),
2017
1079
  ...props
2018
1080
  }
2019
- );
2020
- }
2021
- function CardTitle({ className, ...props }) {
2022
- return /* @__PURE__ */ jsx(
2023
- "div",
2024
- {
2025
- "data-slot": "card-title",
2026
- className: cn("leading-none font-semibold", className),
2027
- ...props
1081
+ );
1082
+ }
1083
+ function CardTitle({ className, ...props }) {
1084
+ return /* @__PURE__ */ jsx(
1085
+ "div",
1086
+ {
1087
+ "data-slot": "card-title",
1088
+ className: cn("leading-none font-semibold", className),
1089
+ ...props
1090
+ }
1091
+ );
1092
+ }
1093
+ function CardDescription({ className, ...props }) {
1094
+ return /* @__PURE__ */ jsx(
1095
+ "div",
1096
+ {
1097
+ "data-slot": "card-description",
1098
+ className: cn("text-muted-foreground text-sm", className),
1099
+ ...props
1100
+ }
1101
+ );
1102
+ }
1103
+ function CardContent({ className, ...props }) {
1104
+ return /* @__PURE__ */ jsx(
1105
+ "div",
1106
+ {
1107
+ "data-slot": "card-content",
1108
+ className: cn("px-6", className),
1109
+ ...props
1110
+ }
1111
+ );
1112
+ }
1113
+ function CardFooter({ className, ...props }) {
1114
+ return /* @__PURE__ */ jsx(
1115
+ "div",
1116
+ {
1117
+ "data-slot": "card-footer",
1118
+ className: cn("flex items-center px-6 [.border-t]:pt-6", className),
1119
+ ...props
1120
+ }
1121
+ );
1122
+ }
1123
+ var badgeVariants = cva(
1124
+ "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",
1125
+ {
1126
+ variants: {
1127
+ variant: {
1128
+ default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
1129
+ secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
1130
+ 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",
1131
+ outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
1132
+ }
1133
+ },
1134
+ defaultVariants: {
1135
+ variant: "default"
1136
+ }
1137
+ }
1138
+ );
1139
+ function Badge({
1140
+ className,
1141
+ variant,
1142
+ asChild = false,
1143
+ ...props
1144
+ }) {
1145
+ const Comp = asChild ? Slot : "span";
1146
+ return /* @__PURE__ */ jsx(
1147
+ Comp,
1148
+ {
1149
+ "data-slot": "badge",
1150
+ className: cn(badgeVariants({ variant }), className),
1151
+ ...props
1152
+ }
1153
+ );
1154
+ }
1155
+ function Popover({
1156
+ ...props
1157
+ }) {
1158
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
1159
+ }
1160
+ function PopoverTrigger({
1161
+ ...props
1162
+ }) {
1163
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
1164
+ }
1165
+ function PopoverContent({
1166
+ className,
1167
+ align = "center",
1168
+ sideOffset = 4,
1169
+ ...props
1170
+ }) {
1171
+ return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
1172
+ PopoverPrimitive.Content,
1173
+ {
1174
+ "data-slot": "popover-content",
1175
+ align,
1176
+ sideOffset,
1177
+ className: cn(
1178
+ "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",
1179
+ className
1180
+ ),
1181
+ ...props
1182
+ }
1183
+ ) });
1184
+ }
1185
+ var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
1186
+ var DynamicIcon = React4.memo(function DynamicIcon2({
1187
+ apiKey,
1188
+ ...props
1189
+ }) {
1190
+ return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
1191
+ });
1192
+ DynamicIcon.displayName = "DynamicIcon";
1193
+ function StarRating({
1194
+ rating,
1195
+ size = 18,
1196
+ className
1197
+ }) {
1198
+ return /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-0.5", className), children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
1199
+ DynamicIcon,
1200
+ {
1201
+ name: "icon-park-solid/star",
1202
+ size,
1203
+ className: cn(
1204
+ star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
1205
+ )
1206
+ },
1207
+ star
1208
+ )) });
1209
+ }
1210
+ function normalizePhoneNumber(input) {
1211
+ const trimmed = input.trim();
1212
+ if (trimmed.toLowerCase().startsWith("tel:")) {
1213
+ return trimmed;
1214
+ }
1215
+ const match = trimmed.match(/^[\s\+\-\(\)]*(\d[\d\s\-\(\)\.]*\d)[\s\-]*(x|ext\.?|extension)?[\s\-]*(\d+)?$/i);
1216
+ if (match) {
1217
+ const mainNumber = match[1].replace(/[\s\-\(\)\.]/g, "");
1218
+ const extension = match[3];
1219
+ const normalized = mainNumber.length >= 10 && !trimmed.startsWith("+") ? `+${mainNumber}` : mainNumber;
1220
+ const withExtension = extension ? `${normalized};ext=${extension}` : normalized;
1221
+ return `tel:${withExtension}`;
1222
+ }
1223
+ const cleaned = trimmed.replace(/[\s\-\(\)\.]/g, "");
1224
+ return `tel:${cleaned}`;
1225
+ }
1226
+ function normalizeEmail(input) {
1227
+ const trimmed = input.trim();
1228
+ if (trimmed.toLowerCase().startsWith("mailto:")) {
1229
+ return trimmed;
1230
+ }
1231
+ return `mailto:${trimmed}`;
1232
+ }
1233
+ function isEmail(input) {
1234
+ const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
1235
+ return emailRegex.test(input.trim());
1236
+ }
1237
+ function isPhoneNumber(input) {
1238
+ const trimmed = input.trim();
1239
+ if (trimmed.toLowerCase().startsWith("tel:")) {
1240
+ return true;
1241
+ }
1242
+ const phoneRegex = /^[\s\+\-\(\)]*\d[\d\s\-\(\)\.]*\d[\s\-]*(x|ext\.?|extension)?[\s\-]*\d*$/i;
1243
+ return phoneRegex.test(trimmed);
1244
+ }
1245
+ function isInternalUrl(href) {
1246
+ if (typeof window === "undefined") {
1247
+ return href.startsWith("/") && !href.startsWith("//");
1248
+ }
1249
+ const trimmed = href.trim();
1250
+ if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
1251
+ return true;
1252
+ }
1253
+ try {
1254
+ const url = new URL(trimmed, window.location.href);
1255
+ const currentOrigin = window.location.origin;
1256
+ const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
1257
+ return normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin);
1258
+ } catch {
1259
+ return false;
1260
+ }
1261
+ }
1262
+ function toRelativePath(href) {
1263
+ if (typeof window === "undefined") {
1264
+ return href;
1265
+ }
1266
+ const trimmed = href.trim();
1267
+ if (trimmed.startsWith("/") && !trimmed.startsWith("//")) {
1268
+ return trimmed;
1269
+ }
1270
+ try {
1271
+ const url = new URL(trimmed, window.location.href);
1272
+ const currentOrigin = window.location.origin;
1273
+ const normalizeOrigin = (origin) => origin.replace(/^(https?:\/\/)(www\.)?/, "$1");
1274
+ if (normalizeOrigin(url.origin) === normalizeOrigin(currentOrigin)) {
1275
+ return url.pathname + url.search + url.hash;
1276
+ }
1277
+ } catch {
1278
+ }
1279
+ return trimmed;
1280
+ }
1281
+ function useNavigation({
1282
+ href,
1283
+ onClick
1284
+ } = {}) {
1285
+ const linkType = React4.useMemo(() => {
1286
+ if (!href || href.trim() === "") {
1287
+ return onClick ? "none" : "none";
1288
+ }
1289
+ const trimmed = href.trim();
1290
+ if (trimmed.toLowerCase().startsWith("mailto:") || isEmail(trimmed)) {
1291
+ return "mailto";
1292
+ }
1293
+ if (trimmed.toLowerCase().startsWith("tel:") || isPhoneNumber(trimmed)) {
1294
+ return "tel";
1295
+ }
1296
+ if (isInternalUrl(trimmed)) {
1297
+ return "internal";
1298
+ }
1299
+ try {
1300
+ new URL(trimmed, typeof window !== "undefined" ? window.location.href : "http://localhost");
1301
+ return "external";
1302
+ } catch {
1303
+ return "internal";
1304
+ }
1305
+ }, [href, onClick]);
1306
+ const normalizedHref = React4.useMemo(() => {
1307
+ if (!href || href.trim() === "") {
1308
+ return void 0;
1309
+ }
1310
+ const trimmed = href.trim();
1311
+ switch (linkType) {
1312
+ case "tel":
1313
+ return normalizePhoneNumber(trimmed);
1314
+ case "mailto":
1315
+ return normalizeEmail(trimmed);
1316
+ case "internal":
1317
+ return toRelativePath(trimmed);
1318
+ case "external":
1319
+ return trimmed;
1320
+ default:
1321
+ return trimmed;
1322
+ }
1323
+ }, [href, linkType]);
1324
+ const target = React4.useMemo(() => {
1325
+ switch (linkType) {
1326
+ case "external":
1327
+ return "_blank";
1328
+ case "internal":
1329
+ return "_self";
1330
+ case "mailto":
1331
+ case "tel":
1332
+ return void 0;
1333
+ default:
1334
+ return void 0;
1335
+ }
1336
+ }, [linkType]);
1337
+ const rel = React4.useMemo(() => {
1338
+ if (linkType === "external") {
1339
+ return "noopener noreferrer";
2028
1340
  }
1341
+ return void 0;
1342
+ }, [linkType]);
1343
+ const isExternal = linkType === "external";
1344
+ const isInternal = linkType === "internal";
1345
+ const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
1346
+ const handleClick = React4.useCallback(
1347
+ (event) => {
1348
+ if (onClick) {
1349
+ try {
1350
+ onClick(event);
1351
+ } catch (error) {
1352
+ console.error("Error in user onClick handler:", error);
1353
+ }
1354
+ }
1355
+ if (event.defaultPrevented) {
1356
+ return;
1357
+ }
1358
+ if (shouldUseRouter && normalizedHref && event.button === 0 && // left-click only
1359
+ !event.metaKey && !event.altKey && !event.ctrlKey && !event.shiftKey) {
1360
+ if (typeof window !== "undefined") {
1361
+ const handler = window.__opensiteNavigationHandler;
1362
+ if (typeof handler === "function") {
1363
+ try {
1364
+ const handled = handler(normalizedHref, event.nativeEvent || event);
1365
+ if (handled !== false) {
1366
+ event.preventDefault();
1367
+ }
1368
+ } catch (error) {
1369
+ console.error("Error in navigation handler:", error);
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+ },
1375
+ [onClick, shouldUseRouter, normalizedHref]
2029
1376
  );
1377
+ return {
1378
+ linkType,
1379
+ normalizedHref,
1380
+ target,
1381
+ rel,
1382
+ isExternal,
1383
+ isInternal,
1384
+ shouldUseRouter,
1385
+ handleClick
1386
+ };
2030
1387
  }
2031
- function CardDescription({ className, ...props }) {
2032
- return /* @__PURE__ */ jsx(
2033
- "div",
2034
- {
2035
- "data-slot": "card-description",
2036
- className: cn("text-muted-foreground text-sm", className),
2037
- ...props
1388
+ var Pressable = React4.forwardRef(
1389
+ ({
1390
+ children,
1391
+ className,
1392
+ href,
1393
+ onClick,
1394
+ variant,
1395
+ size,
1396
+ asButton = false,
1397
+ fallbackComponentType = "span",
1398
+ componentType,
1399
+ "aria-label": ariaLabel,
1400
+ "aria-describedby": ariaDescribedby,
1401
+ id,
1402
+ ...props
1403
+ }, ref) => {
1404
+ const navigation = useNavigation({ href, onClick });
1405
+ const {
1406
+ normalizedHref,
1407
+ target,
1408
+ rel,
1409
+ linkType,
1410
+ isInternal,
1411
+ handleClick
1412
+ } = navigation;
1413
+ const shouldRenderLink = normalizedHref && linkType !== "none";
1414
+ const shouldRenderButton = !shouldRenderLink && onClick;
1415
+ const effectiveComponentType = componentType || (shouldRenderLink ? "a" : shouldRenderButton ? "button" : fallbackComponentType);
1416
+ const finalComponentType = isInternal && shouldRenderLink ? "a" : effectiveComponentType;
1417
+ const shouldApplyButtonStyles = asButton || variant || size;
1418
+ const combinedClassName = cn(
1419
+ shouldApplyButtonStyles && buttonVariants({ variant, size }),
1420
+ className
1421
+ );
1422
+ const dataProps = Object.fromEntries(
1423
+ Object.entries(props).filter(([key]) => key.startsWith("data-"))
1424
+ );
1425
+ const buttonDataAttributes = shouldApplyButtonStyles ? {
1426
+ "data-slot": "button",
1427
+ "data-variant": variant ?? "default",
1428
+ "data-size": size ?? "default"
1429
+ } : {};
1430
+ const commonProps = {
1431
+ className: combinedClassName,
1432
+ onClick: handleClick,
1433
+ "aria-label": ariaLabel,
1434
+ "aria-describedby": ariaDescribedby,
1435
+ id,
1436
+ ...dataProps,
1437
+ ...buttonDataAttributes
1438
+ };
1439
+ if (finalComponentType === "a" && shouldRenderLink) {
1440
+ return /* @__PURE__ */ jsx(
1441
+ "a",
1442
+ {
1443
+ ref,
1444
+ href: normalizedHref,
1445
+ target,
1446
+ rel,
1447
+ ...commonProps,
1448
+ ...props,
1449
+ children
1450
+ }
1451
+ );
2038
1452
  }
2039
- );
2040
- }
2041
- function CardContent({ className, ...props }) {
2042
- return /* @__PURE__ */ jsx(
2043
- "div",
2044
- {
2045
- "data-slot": "card-content",
2046
- className: cn("px-6", className),
2047
- ...props
1453
+ if (finalComponentType === "button") {
1454
+ return /* @__PURE__ */ jsx(
1455
+ "button",
1456
+ {
1457
+ ref,
1458
+ type: props.type || "button",
1459
+ ...commonProps,
1460
+ ...props,
1461
+ children
1462
+ }
1463
+ );
2048
1464
  }
2049
- );
2050
- }
2051
- function CardFooter({ className, ...props }) {
2052
- return /* @__PURE__ */ jsx(
2053
- "div",
2054
- {
2055
- "data-slot": "card-footer",
2056
- className: cn("flex items-center px-6 [.border-t]:pt-6", className),
2057
- ...props
1465
+ if (finalComponentType === "div") {
1466
+ return /* @__PURE__ */ jsx(
1467
+ "div",
1468
+ {
1469
+ ref,
1470
+ ...commonProps,
1471
+ children
1472
+ }
1473
+ );
2058
1474
  }
2059
- );
2060
- }
2061
- var badgeVariants = cva(
2062
- "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",
2063
- {
2064
- variants: {
2065
- variant: {
2066
- default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
2067
- secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
2068
- 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",
2069
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
1475
+ return /* @__PURE__ */ jsx(
1476
+ "span",
1477
+ {
1478
+ ref,
1479
+ ...commonProps,
1480
+ children
2070
1481
  }
2071
- },
2072
- defaultVariants: {
2073
- variant: "default"
2074
- }
1482
+ );
2075
1483
  }
2076
1484
  );
2077
- function Badge({
2078
- className,
2079
- variant,
2080
- asChild = false,
2081
- ...props
2082
- }) {
2083
- const Comp = asChild ? Slot : "span";
2084
- return /* @__PURE__ */ jsx(
2085
- Comp,
2086
- {
2087
- "data-slot": "badge",
2088
- className: cn(badgeVariants({ variant }), className),
2089
- ...props
2090
- }
2091
- );
2092
- }
2093
- function Popover({
2094
- ...props
2095
- }) {
2096
- return /* @__PURE__ */ jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
2097
- }
2098
- function PopoverTrigger({
2099
- ...props
2100
- }) {
2101
- return /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
2102
- }
2103
- function PopoverContent({
2104
- className,
2105
- align = "center",
2106
- sideOffset = 4,
2107
- ...props
2108
- }) {
2109
- return /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
2110
- PopoverPrimitive.Content,
2111
- {
2112
- "data-slot": "popover-content",
2113
- align,
2114
- sideOffset,
2115
- className: cn(
2116
- "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",
2117
- className
2118
- ),
2119
- ...props
2120
- }
2121
- ) });
2122
- }
2123
- function StarRating({
2124
- rating,
2125
- size = 18,
2126
- className
2127
- }) {
2128
- return /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-0.5", className), children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
2129
- DynamicIcon,
2130
- {
2131
- name: "icon-park-solid/star",
2132
- size,
2133
- className: cn(
2134
- star <= rating ? "fill-primary text-primary" : "fill-muted text-muted"
2135
- )
2136
- },
2137
- star
2138
- )) });
2139
- }
1485
+ Pressable.displayName = "Pressable";
2140
1486
  var BUTTON_SIZES = {
2141
1487
  sm: { buttonSize: "size-8", iconSize: 16 },
2142
1488
  md: { buttonSize: "size-10", iconSize: 20 },
@@ -2228,7 +1574,7 @@ var platformIconMap = {
2228
1574
  dribbble: "cib/dribbble",
2229
1575
  unknown: "icon-park-solid/circular-connection"
2230
1576
  };
2231
- var SocialLinkIcon = React6.forwardRef(
1577
+ var SocialLinkIcon = React4.forwardRef(
2232
1578
  ({
2233
1579
  platformName,
2234
1580
  label,
@@ -2242,16 +1588,16 @@ var SocialLinkIcon = React6.forwardRef(
2242
1588
  ...pressableProps
2243
1589
  }, ref) => {
2244
1590
  const platform = usePlatformFromUrl(href);
2245
- const smartPlatformName = React6.useMemo(() => {
1591
+ const smartPlatformName = React4.useMemo(() => {
2246
1592
  return platform || platformName;
2247
1593
  }, [platform, platformName]);
2248
- const iconName = React6.useMemo(() => {
1594
+ const iconName = React4.useMemo(() => {
2249
1595
  return iconNameOverride || platformIconMap[smartPlatformName];
2250
1596
  }, [iconNameOverride, smartPlatformName]);
2251
- const accessibleLabel = React6.useMemo(() => {
1597
+ const accessibleLabel = React4.useMemo(() => {
2252
1598
  return label || platformName;
2253
1599
  }, [label, platformName]);
2254
- const icon = React6.useMemo(() => {
1600
+ const icon = React4.useMemo(() => {
2255
1601
  return /* @__PURE__ */ jsx(
2256
1602
  DynamicIcon,
2257
1603
  {
@@ -2331,12 +1677,12 @@ function TextInner({ as, className, children, ...props }, ref) {
2331
1677
  const Component = as || "span";
2332
1678
  return /* @__PURE__ */ jsx(Component, { ref, className: cn(className), ...props, children });
2333
1679
  }
2334
- var Text = React6.forwardRef(TextInner);
1680
+ var Text = React4.forwardRef(TextInner);
2335
1681
  Text.displayName = "Text";
2336
1682
  function isContentTextItem(item) {
2337
- return item !== null && typeof item === "object" && !React6.isValidElement(item) && "_type" in item && item._type === "text";
1683
+ return item !== null && typeof item === "object" && !React4.isValidElement(item) && "_type" in item && item._type === "text";
2338
1684
  }
2339
- var ContentGroup = React6.forwardRef(
1685
+ var ContentGroup = React4.forwardRef(
2340
1686
  ({ items, className, children, ...props }, ref) => {
2341
1687
  const hasContent = items && items.length > 0;
2342
1688
  if (!hasContent) {
@@ -2349,10 +1695,10 @@ var ContentGroup = React6.forwardRef(
2349
1695
  return /* @__PURE__ */ jsx(Text, { ...textProps }, idx);
2350
1696
  }
2351
1697
  const reactNode = item;
2352
- if (React6.isValidElement(reactNode)) {
2353
- return React6.cloneElement(reactNode, { key: reactNode.key ?? idx });
1698
+ if (React4.isValidElement(reactNode)) {
1699
+ return React4.cloneElement(reactNode, { key: reactNode.key ?? idx });
2354
1700
  }
2355
- return /* @__PURE__ */ jsx(React6.Fragment, { children: reactNode }, idx);
1701
+ return /* @__PURE__ */ jsx(React4.Fragment, { children: reactNode }, idx);
2356
1702
  }),
2357
1703
  children
2358
1704
  ] });
@@ -2877,7 +2223,7 @@ function AboutExpandableValues({
2877
2223
  pattern,
2878
2224
  patternOpacity
2879
2225
  }) {
2880
- const [expandedValue, setExpandedValue] = React6.useState(null);
2226
+ const [expandedValue, setExpandedValue] = React4.useState(null);
2881
2227
  const toggleExpand = useCallback((id) => {
2882
2228
  setExpandedValue((prev) => prev === id ? null : id);
2883
2229
  }, []);
@@ -3113,7 +2459,7 @@ function CommunityInitiatives({
3113
2459
  pattern,
3114
2460
  patternOpacity
3115
2461
  }) {
3116
- const [activeCategory, setActiveCategory] = React6.useState(
2462
+ const [activeCategory, setActiveCategory] = React4.useState(
3117
2463
  categories?.[0]?.id || ""
3118
2464
  );
3119
2465
  const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
@@ -3377,7 +2723,7 @@ function AboutCultureTabs({
3377
2723
  patternOpacity
3378
2724
  }) {
3379
2725
  const resolvedAspects = aspects ?? [];
3380
- const [activeTab, setActiveTab] = React6.useState(
2726
+ const [activeTab, setActiveTab] = React4.useState(
3381
2727
  resolvedAspects[0]?.id || ""
3382
2728
  );
3383
2729
  const headerItems = useMemo(() => {
@@ -3910,7 +3256,7 @@ function BannerDeliveryCountdown({
3910
3256
  }, [prefixText, timerContent, middleText, deliveryDateContent]);
3911
3257
  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: [
3912
3258
  iconContent,
3913
- messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React6.Fragment, { children: [
3259
+ messageParts.length > 0 && /* @__PURE__ */ jsx("span", { children: messageParts.map((part, index) => /* @__PURE__ */ jsxs(React4.Fragment, { children: [
3914
3260
  index > 0 ? " " : null,
3915
3261
  part
3916
3262
  ] }, index)) })
@@ -5181,8 +4527,8 @@ var BrandAttribution = ({
5181
4527
  }
5182
4528
  const { prefix = "", anchorText, href, suffix = "" } = options[optionIndex];
5183
4529
  const ContainerEl = variant;
5184
- const [trackedHref, setTrackedHref] = React6.useState(href);
5185
- React6.useEffect(() => {
4530
+ const [trackedHref, setTrackedHref] = React4.useState(href);
4531
+ React4.useEffect(() => {
5186
4532
  setTrackedHref(buildTrackedHref(href));
5187
4533
  }, [href]);
5188
4534
  return /* @__PURE__ */ jsxs(ContainerEl, { className: containerClassName, children: [
@@ -5302,7 +4648,7 @@ function FooterSocialNewsletter({
5302
4648
  patternOpacity,
5303
4649
  optixFlowConfig
5304
4650
  }) {
5305
- const renderForm = React6.useMemo(() => {
4651
+ const renderForm = React4.useMemo(() => {
5306
4652
  if (!formEngineSetup) return null;
5307
4653
  const action = {
5308
4654
  variant: "default",
@@ -5591,7 +4937,7 @@ function FooterSimpleCentered({
5591
4937
  ]);
5592
4938
  const bottomLinksContent = useMemo(() => {
5593
4939
  if (!bottomLinks || bottomLinks.length === 0) return null;
5594
- return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React6.Fragment, { children: /* @__PURE__ */ jsx(
4940
+ return bottomLinks.map((link, idx) => /* @__PURE__ */ jsx(React4.Fragment, { children: /* @__PURE__ */ jsx(
5595
4941
  Pressable,
5596
4942
  {
5597
4943
  href: link.href,
@@ -6938,7 +6284,7 @@ function FooterNewsletterMinimal({
6938
6284
  buttonAction,
6939
6285
  formSlot
6940
6286
  }) {
6941
- const navLinksContent = React6.useMemo(() => {
6287
+ const navLinksContent = React4.useMemo(() => {
6942
6288
  if (!navLinks || navLinks.length === 0) return null;
6943
6289
  return navLinks.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
6944
6290
  Pressable,
@@ -6949,7 +6295,7 @@ function FooterNewsletterMinimal({
6949
6295
  }
6950
6296
  ) }, idx));
6951
6297
  }, [navLinks, navLinkClassName]);
6952
- const socialLinksContent = React6.useMemo(() => {
6298
+ const socialLinksContent = React4.useMemo(() => {
6953
6299
  if (!socialLinks || socialLinks.length === 0) return null;
6954
6300
  return socialLinks.map((item, idx) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
6955
6301
  SocialLinkIcon,
@@ -6965,7 +6311,7 @@ function FooterNewsletterMinimal({
6965
6311
  }
6966
6312
  ) }, idx));
6967
6313
  }, [socialLinks, socialLinkClassName]);
6968
- const footerLinksContent = React6.useMemo(() => {
6314
+ const footerLinksContent = React4.useMemo(() => {
6969
6315
  if (!footerLinks || footerLinks.length === 0) return null;
6970
6316
  return footerLinks.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
6971
6317
  Pressable,
@@ -6979,7 +6325,7 @@ function FooterNewsletterMinimal({
6979
6325
  }
6980
6326
  ) }, item.label));
6981
6327
  }, [footerLinks, footerLinkClassName]);
6982
- const renderForm = React6.useMemo(() => {
6328
+ const renderForm = React4.useMemo(() => {
6983
6329
  if (formSlot) return formSlot;
6984
6330
  if (!formEngineSetup) return null;
6985
6331
  const defaultButtonAction = {
@@ -7526,4 +6872,4 @@ function FooterNavSocial({
7526
6872
  );
7527
6873
  }
7528
6874
 
7529
- 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 };
6875
+ 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 };