@opensite/ui 2.8.0 → 2.8.2

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 (719) hide show
  1. package/dist/about-culture-tabs.cjs +25 -21
  2. package/dist/about-culture-tabs.js +23 -19
  3. package/dist/about-developer-profile.cjs +6 -2
  4. package/dist/about-developer-profile.js +6 -2
  5. package/dist/about-expandable-values.cjs +6 -2
  6. package/dist/about-expandable-values.js +6 -2
  7. package/dist/about-location-info-hero.cjs +6 -2
  8. package/dist/about-location-info-hero.js +6 -2
  9. package/dist/about-mission-principles.cjs +6 -2
  10. package/dist/about-mission-principles.js +6 -2
  11. package/dist/about-network-spotlight.cjs +18 -14
  12. package/dist/about-network-spotlight.js +16 -12
  13. package/dist/about-split-hero.cjs +6 -2
  14. package/dist/about-split-hero.js +6 -2
  15. package/dist/about-startup-team.cjs +6 -2
  16. package/dist/about-startup-team.js +6 -2
  17. package/dist/article-breadcrumb-social.cjs +27 -23
  18. package/dist/article-breadcrumb-social.js +27 -23
  19. package/dist/article-chapters-author.cjs +29 -25
  20. package/dist/article-chapters-author.js +29 -25
  21. package/dist/article-compact-toc.cjs +26 -22
  22. package/dist/article-compact-toc.js +26 -22
  23. package/dist/article-sidebar-sticky.cjs +6 -2
  24. package/dist/article-sidebar-sticky.js +6 -2
  25. package/dist/auto-scroll-carousel.cjs +28 -24
  26. package/dist/auto-scroll-carousel.js +26 -22
  27. package/dist/banner-announcement-dismissible.cjs +6 -2
  28. package/dist/banner-announcement-dismissible.js +6 -2
  29. package/dist/banner-delivery-countdown.cjs +6 -2
  30. package/dist/banner-delivery-countdown.js +6 -2
  31. package/dist/banner-floating-offer.cjs +6 -2
  32. package/dist/banner-floating-offer.js +6 -2
  33. package/dist/banner-gdpr-rights.cjs +6 -2
  34. package/dist/banner-gdpr-rights.js +6 -2
  35. package/dist/banner-privacy-notice.cjs +6 -2
  36. package/dist/banner-privacy-notice.js +6 -2
  37. package/dist/banner-social-follow.cjs +6 -2
  38. package/dist/banner-social-follow.js +6 -2
  39. package/dist/banner-survey-incentive.cjs +6 -2
  40. package/dist/banner-survey-incentive.js +6 -2
  41. package/dist/blog-cards-read-time.cjs +6 -2
  42. package/dist/blog-cards-read-time.js +6 -2
  43. package/dist/blog-cards-tagline-cta.cjs +6 -2
  44. package/dist/blog-cards-tagline-cta.js +6 -2
  45. package/dist/blog-carousel-apple.cjs +25 -21
  46. package/dist/blog-carousel-apple.js +21 -17
  47. package/dist/blog-category-overlay.cjs +6 -2
  48. package/dist/blog-category-overlay.js +6 -2
  49. package/dist/blog-filtered-results.cjs +30 -26
  50. package/dist/blog-filtered-results.js +24 -20
  51. package/dist/blog-horizontal-cards.cjs +6 -2
  52. package/dist/blog-horizontal-cards.js +6 -2
  53. package/dist/blog-horizontal-timeline.cjs +6 -2
  54. package/dist/blog-horizontal-timeline.js +6 -2
  55. package/dist/carousel-animated-sections.cjs +23 -19
  56. package/dist/carousel-animated-sections.js +23 -19
  57. package/dist/carousel-auto-progress-slides.cjs +6 -2
  58. package/dist/carousel-auto-progress-slides.js +6 -2
  59. package/dist/carousel-autoplay-progress.cjs +34 -30
  60. package/dist/carousel-autoplay-progress.js +34 -30
  61. package/dist/carousel-badge-cards.cjs +31 -27
  62. package/dist/carousel-badge-cards.js +26 -22
  63. package/dist/carousel-demo-link.cjs +32 -28
  64. package/dist/carousel-demo-link.js +26 -22
  65. package/dist/carousel-feature-badge.cjs +22 -18
  66. package/dist/carousel-feature-badge.js +22 -18
  67. package/dist/carousel-gallery-thumbnails.cjs +6 -2
  68. package/dist/carousel-gallery-thumbnails.js +6 -2
  69. package/dist/carousel-gradient-overlay.cjs +32 -28
  70. package/dist/carousel-gradient-overlay.js +26 -22
  71. package/dist/carousel-gradient-text.cjs +32 -28
  72. package/dist/carousel-gradient-text.js +26 -22
  73. package/dist/carousel-horizontal-cards.cjs +20 -16
  74. package/dist/carousel-horizontal-cards.js +20 -16
  75. package/dist/carousel-icon-sidebar.cjs +38 -34
  76. package/dist/carousel-icon-sidebar.js +26 -22
  77. package/dist/carousel-icon-tabs.cjs +39 -35
  78. package/dist/carousel-icon-tabs.js +26 -22
  79. package/dist/carousel-image-hero.cjs +22 -18
  80. package/dist/carousel-image-hero.js +22 -18
  81. package/dist/carousel-multi-step-showcase.cjs +6 -2
  82. package/dist/carousel-multi-step-showcase.js +6 -2
  83. package/dist/carousel-pagination.cjs +6 -2
  84. package/dist/carousel-pagination.js +6 -2
  85. package/dist/carousel-portfolio-hero.cjs +22 -18
  86. package/dist/carousel-portfolio-hero.js +22 -18
  87. package/dist/carousel-product-feature-showcase.cjs +6 -2
  88. package/dist/carousel-product-feature-showcase.js +6 -2
  89. package/dist/carousel-progress-slider.cjs +28 -24
  90. package/dist/carousel-progress-slider.js +28 -24
  91. package/dist/carousel-scale-focus.cjs +41 -37
  92. package/dist/carousel-scale-focus.js +26 -22
  93. package/dist/carousel-sidebar-resources.cjs +34 -30
  94. package/dist/carousel-sidebar-resources.js +26 -22
  95. package/dist/carousel-tabs-content.cjs +39 -35
  96. package/dist/carousel-tabs-content.js +26 -22
  97. package/dist/case-studies-featured-border.cjs +6 -2
  98. package/dist/case-studies-featured-border.js +6 -2
  99. package/dist/case-study-stats-metrics.cjs +6 -2
  100. package/dist/case-study-stats-metrics.js +6 -2
  101. package/dist/case-study-toc-social-sidebar.cjs +6 -2
  102. package/dist/case-study-toc-social-sidebar.js +6 -2
  103. package/dist/community-initiatives.cjs +19 -15
  104. package/dist/community-initiatives.js +17 -13
  105. package/dist/comparison-ai-models.cjs +18 -14
  106. package/dist/comparison-ai-models.js +17 -13
  107. package/dist/comparison-feature-cards.cjs +16 -12
  108. package/dist/comparison-feature-cards.js +16 -12
  109. package/dist/comparison-feature-grid.cjs +14 -10
  110. package/dist/comparison-feature-grid.js +14 -10
  111. package/dist/comparison-grid-badges.cjs +13 -9
  112. package/dist/comparison-grid-badges.js +13 -9
  113. package/dist/comparison-legacy-modern.cjs +15 -11
  114. package/dist/comparison-legacy-modern.js +15 -11
  115. package/dist/comparison-table-tabs.cjs +15 -11
  116. package/dist/comparison-table-tabs.js +14 -10
  117. package/dist/comparison-table-two-column.cjs +14 -10
  118. package/dist/comparison-table-two-column.js +14 -10
  119. package/dist/components.cjs +199 -179
  120. package/dist/components.js +104 -84
  121. package/dist/contact-callback.cjs +27 -7
  122. package/dist/contact-callback.js +10 -5
  123. package/dist/contact-card.cjs +6 -2
  124. package/dist/contact-card.js +6 -2
  125. package/dist/contact-careers.cjs +18 -14
  126. package/dist/contact-careers.js +16 -12
  127. package/dist/contact-dark.cjs +6 -2
  128. package/dist/contact-dark.js +6 -2
  129. package/dist/contact-emergency.cjs +6 -2
  130. package/dist/contact-emergency.js +6 -2
  131. package/dist/contact-faq.cjs +9 -7
  132. package/dist/contact-faq.js +10 -5
  133. package/dist/contact-floating-banner.cjs +6 -2
  134. package/dist/contact-floating-banner.js +6 -2
  135. package/dist/contact-help-center.cjs +16 -12
  136. package/dist/contact-help-center.js +16 -12
  137. package/dist/contact-image.cjs +18 -14
  138. package/dist/contact-image.js +17 -13
  139. package/dist/contact-map.cjs +78 -58
  140. package/dist/contact-map.js +78 -58
  141. package/dist/cta-app-download-newsletter.cjs +6 -2
  142. package/dist/cta-app-download-newsletter.js +6 -2
  143. package/dist/cta-background-icon-badge.cjs +6 -2
  144. package/dist/cta-background-icon-badge.js +6 -2
  145. package/dist/cta-case-study-testimonial.cjs +6 -2
  146. package/dist/cta-case-study-testimonial.js +6 -2
  147. package/dist/cta-documentation-links.cjs +6 -2
  148. package/dist/cta-documentation-links.js +6 -2
  149. package/dist/cta-enterprise-dark-features.cjs +6 -2
  150. package/dist/cta-enterprise-dark-features.js +6 -2
  151. package/dist/cta-enterprise-split.cjs +6 -2
  152. package/dist/cta-enterprise-split.js +6 -2
  153. package/dist/cta-feature-cards-grid.cjs +6 -2
  154. package/dist/cta-feature-cards-grid.js +6 -2
  155. package/dist/cta-feature-checklist.cjs +17 -13
  156. package/dist/cta-feature-checklist.js +16 -12
  157. package/dist/cta-feature-list.cjs +6 -2
  158. package/dist/cta-feature-list.js +6 -2
  159. package/dist/cta-gradient-logos-floating.cjs +6 -2
  160. package/dist/cta-gradient-logos-floating.js +6 -2
  161. package/dist/cta-gradient-stats-hero.cjs +6 -2
  162. package/dist/cta-gradient-stats-hero.js +6 -2
  163. package/dist/cta-hero-feature-cards.cjs +6 -2
  164. package/dist/cta-hero-feature-cards.js +6 -2
  165. package/dist/cta-image-overlay-arrow.cjs +6 -2
  166. package/dist/cta-image-overlay-arrow.js +6 -2
  167. package/dist/cta-newsletter-features.cjs +12 -8
  168. package/dist/cta-newsletter-features.js +12 -8
  169. package/dist/cta-platform-demo.cjs +6 -2
  170. package/dist/cta-platform-demo.js +6 -2
  171. package/dist/cta-simple-centered.cjs +6 -2
  172. package/dist/cta-simple-centered.js +6 -2
  173. package/dist/cta-split-image-logos.cjs +6 -2
  174. package/dist/cta-split-image-logos.js +6 -2
  175. package/dist/cta-video-background-hero.cjs +6 -2
  176. package/dist/cta-video-background-hero.js +6 -2
  177. package/dist/cta-workflow-tabs.cjs +6 -2
  178. package/dist/cta-workflow-tabs.js +6 -2
  179. package/dist/dynamic-icon.cjs +27 -2
  180. package/dist/dynamic-icon.d.cts +2 -2
  181. package/dist/dynamic-icon.d.ts +2 -2
  182. package/dist/dynamic-icon.js +7 -2
  183. package/dist/expandable-case-study-cards.cjs +26 -6
  184. package/dist/expandable-case-study-cards.js +10 -5
  185. package/dist/faq-badge-support.cjs +25 -21
  186. package/dist/faq-badge-support.js +22 -18
  187. package/dist/faq-bordered-badge.cjs +9 -7
  188. package/dist/faq-bordered-badge.js +10 -5
  189. package/dist/faq-card-categories.cjs +18 -14
  190. package/dist/faq-card-categories.js +16 -12
  191. package/dist/faq-categorized-sections.cjs +9 -7
  192. package/dist/faq-categorized-sections.js +10 -5
  193. package/dist/faq-centered-accordion.cjs +9 -7
  194. package/dist/faq-centered-accordion.js +10 -5
  195. package/dist/faq-gradient-categories.cjs +18 -14
  196. package/dist/faq-gradient-categories.js +16 -12
  197. package/dist/faq-icon-benefits.cjs +18 -14
  198. package/dist/faq-icon-benefits.js +16 -12
  199. package/dist/faq-muted-cards.cjs +18 -14
  200. package/dist/faq-muted-cards.js +16 -12
  201. package/dist/faq-profile-sidebar.cjs +25 -21
  202. package/dist/faq-profile-sidebar.js +22 -18
  203. package/dist/faq-rounded-cards.cjs +18 -14
  204. package/dist/faq-rounded-cards.js +16 -12
  205. package/dist/faq-sidebar-navigation.cjs +20 -16
  206. package/dist/faq-sidebar-navigation.js +17 -13
  207. package/dist/faq-simple-accordion.cjs +18 -14
  208. package/dist/faq-simple-accordion.js +16 -12
  209. package/dist/faq-split-help.cjs +25 -21
  210. package/dist/faq-split-help.js +22 -18
  211. package/dist/faq-split-hero.cjs +9 -7
  212. package/dist/faq-split-hero.js +10 -5
  213. package/dist/feature-accordion-image.cjs +20 -16
  214. package/dist/feature-accordion-image.js +17 -13
  215. package/dist/feature-animated-carousel.cjs +35 -31
  216. package/dist/feature-animated-carousel.js +28 -24
  217. package/dist/feature-badge-grid-six.cjs +20 -16
  218. package/dist/feature-badge-grid-six.js +16 -12
  219. package/dist/feature-bento-image-grid.cjs +21 -17
  220. package/dist/feature-bento-image-grid.js +20 -16
  221. package/dist/feature-bento-utilities.cjs +19 -15
  222. package/dist/feature-bento-utilities.js +18 -14
  223. package/dist/feature-capabilities-grid.cjs +18 -14
  224. package/dist/feature-capabilities-grid.js +17 -13
  225. package/dist/feature-carousel-progress.cjs +31 -27
  226. package/dist/feature-carousel-progress.js +26 -22
  227. package/dist/feature-checklist-image.cjs +6 -2
  228. package/dist/feature-checklist-image.js +6 -2
  229. package/dist/feature-checklist-three-column.cjs +22 -18
  230. package/dist/feature-checklist-three-column.js +16 -12
  231. package/dist/feature-icon-grid-accent.cjs +26 -6
  232. package/dist/feature-icon-grid-accent.js +10 -5
  233. package/dist/feature-icon-grid-bordered.cjs +18 -14
  234. package/dist/feature-icon-grid-bordered.js +16 -12
  235. package/dist/feature-icon-grid-muted.cjs +18 -14
  236. package/dist/feature-icon-grid-muted.js +16 -12
  237. package/dist/feature-icon-tabs-content.cjs +20 -16
  238. package/dist/feature-icon-tabs-content.js +16 -12
  239. package/dist/feature-image-cards-three-column.cjs +29 -25
  240. package/dist/feature-image-cards-three-column.js +22 -18
  241. package/dist/feature-image-overlay-badge.cjs +18 -14
  242. package/dist/feature-image-overlay-badge.js +16 -12
  243. package/dist/feature-numbered-cards.cjs +20 -16
  244. package/dist/feature-numbered-cards.js +16 -12
  245. package/dist/feature-pattern-grid-links.cjs +19 -15
  246. package/dist/feature-pattern-grid-links.js +16 -12
  247. package/dist/feature-showcase.cjs +6 -2
  248. package/dist/feature-showcase.js +6 -2
  249. package/dist/feature-tabbed-content-image.cjs +21 -17
  250. package/dist/feature-tabbed-content-image.js +19 -15
  251. package/dist/feature-three-column-values.cjs +18 -14
  252. package/dist/feature-three-column-values.js +17 -13
  253. package/dist/feature-utility-cards-grid.cjs +20 -16
  254. package/dist/feature-utility-cards-grid.js +17 -13
  255. package/dist/footer-accordion-social.cjs +6 -2
  256. package/dist/footer-accordion-social.js +6 -2
  257. package/dist/footer-animated-social.cjs +6 -2
  258. package/dist/footer-animated-social.js +6 -2
  259. package/dist/footer-background-card.cjs +6 -2
  260. package/dist/footer-background-card.js +6 -2
  261. package/dist/footer-brand-description.cjs +6 -2
  262. package/dist/footer-brand-description.js +6 -2
  263. package/dist/footer-brand-links-contact.cjs +6 -2
  264. package/dist/footer-brand-links-contact.js +6 -2
  265. package/dist/footer-comprehensive-links.cjs +6 -2
  266. package/dist/footer-comprehensive-links.js +6 -2
  267. package/dist/footer-contact-card.cjs +6 -2
  268. package/dist/footer-contact-card.js +6 -2
  269. package/dist/footer-cta-banner.cjs +6 -2
  270. package/dist/footer-cta-banner.js +6 -2
  271. package/dist/footer-cta-social.cjs +24 -20
  272. package/dist/footer-cta-social.js +22 -18
  273. package/dist/footer-info-cards-accordion.cjs +24 -20
  274. package/dist/footer-info-cards-accordion.js +23 -19
  275. package/dist/footer-nav-social.cjs +6 -2
  276. package/dist/footer-nav-social.js +6 -2
  277. package/dist/footer-newsletter-contact.cjs +6 -2
  278. package/dist/footer-newsletter-contact.js +6 -2
  279. package/dist/footer-newsletter-grid.cjs +6 -2
  280. package/dist/footer-newsletter-grid.js +6 -2
  281. package/dist/footer-newsletter-minimal.cjs +27 -23
  282. package/dist/footer-newsletter-minimal.js +26 -22
  283. package/dist/footer-social-apps.cjs +26 -22
  284. package/dist/footer-social-apps.js +22 -18
  285. package/dist/footer-social-newsletter.cjs +6 -2
  286. package/dist/footer-social-newsletter.js +6 -2
  287. package/dist/footer-split-image-accordion.cjs +24 -20
  288. package/dist/footer-split-image-accordion.js +23 -19
  289. package/dist/geo-map.cjs +74 -54
  290. package/dist/geo-map.js +73 -53
  291. package/dist/hero-badge-shadow-overlay.cjs +6 -2
  292. package/dist/hero-badge-shadow-overlay.js +6 -2
  293. package/dist/hero-coming-soon-countdown.cjs +6 -2
  294. package/dist/hero-coming-soon-countdown.js +6 -2
  295. package/dist/hero-conversion-video-play.cjs +29 -25
  296. package/dist/hero-conversion-video-play.js +26 -22
  297. package/dist/hero-creative-studio-stacked.cjs +19 -15
  298. package/dist/hero-creative-studio-stacked.js +16 -12
  299. package/dist/hero-dashed-border-features.cjs +6 -2
  300. package/dist/hero-dashed-border-features.js +6 -2
  301. package/dist/hero-design-carousel-portfolio.cjs +29 -25
  302. package/dist/hero-design-carousel-portfolio.js +26 -22
  303. package/dist/hero-design-system-3d.cjs +18 -14
  304. package/dist/hero-design-system-3d.js +16 -12
  305. package/dist/hero-developer-tools-code.cjs +18 -14
  306. package/dist/hero-developer-tools-code.js +16 -12
  307. package/dist/hero-ecommerce-product-showcase.cjs +20 -16
  308. package/dist/hero-ecommerce-product-showcase.js +17 -13
  309. package/dist/hero-enterprise-security.cjs +6 -2
  310. package/dist/hero-enterprise-security.js +6 -2
  311. package/dist/hero-event-registration.cjs +21 -17
  312. package/dist/hero-event-registration.js +17 -13
  313. package/dist/hero-feature-cards-grid.cjs +6 -2
  314. package/dist/hero-feature-cards-grid.js +6 -2
  315. package/dist/hero-floating-images.cjs +26 -6
  316. package/dist/hero-floating-images.js +10 -5
  317. package/dist/hero-gradient-avatars-rating.cjs +19 -15
  318. package/dist/hero-gradient-avatars-rating.js +16 -12
  319. package/dist/hero-grid-pattern-solutions.cjs +6 -2
  320. package/dist/hero-grid-pattern-solutions.js +6 -2
  321. package/dist/hero-marketplace-scattered-images.cjs +6 -2
  322. package/dist/hero-marketplace-scattered-images.js +6 -2
  323. package/dist/hero-mentorship-video-split.cjs +6 -2
  324. package/dist/hero-mentorship-video-split.js +6 -2
  325. package/dist/hero-mobile-app-download.cjs +6 -2
  326. package/dist/hero-mobile-app-download.js +6 -2
  327. package/dist/hero-overlay-cta-grid.cjs +20 -16
  328. package/dist/hero-overlay-cta-grid.js +16 -12
  329. package/dist/hero-platform-features-grid.cjs +6 -2
  330. package/dist/hero-platform-features-grid.js +6 -2
  331. package/dist/hero-portfolio-creative.cjs +6 -2
  332. package/dist/hero-portfolio-creative.js +6 -2
  333. package/dist/hero-pricing-comparison.cjs +6 -2
  334. package/dist/hero-pricing-comparison.js +6 -2
  335. package/dist/hero-product-showcase-floating.cjs +27 -23
  336. package/dist/hero-product-showcase-floating.js +22 -18
  337. package/dist/hero-saas-dashboard-preview.cjs +6 -2
  338. package/dist/hero-saas-dashboard-preview.js +6 -2
  339. package/dist/hero-simple-centered-image.cjs +5 -5
  340. package/dist/hero-simple-centered-image.js +5 -5
  341. package/dist/hero-software-growth-video-dialog.cjs +19 -15
  342. package/dist/hero-software-growth-video-dialog.js +16 -12
  343. package/dist/hero-split-icon-cards.cjs +18 -14
  344. package/dist/hero-split-icon-cards.js +16 -12
  345. package/dist/hero-video-dialog-gradient.cjs +19 -15
  346. package/dist/hero-video-dialog-gradient.js +16 -12
  347. package/dist/hero-video-overlay-stars.cjs +18 -14
  348. package/dist/hero-video-overlay-stars.js +16 -12
  349. package/dist/index.cjs +200 -180
  350. package/dist/index.js +104 -84
  351. package/dist/industries-expandable-showcase.cjs +6 -2
  352. package/dist/industries-expandable-showcase.js +6 -2
  353. package/dist/industries-hover-reveal-grid.cjs +6 -2
  354. package/dist/industries-hover-reveal-grid.js +6 -2
  355. package/dist/industries-timeline-table.cjs +6 -2
  356. package/dist/industries-timeline-table.js +6 -2
  357. package/dist/interior-carousel.cjs +33 -29
  358. package/dist/interior-carousel.js +26 -22
  359. package/dist/link-page-bento-layout.cjs +6 -2
  360. package/dist/link-page-bento-layout.js +6 -2
  361. package/dist/link-page-grid-cards.cjs +6 -2
  362. package/dist/link-page-grid-cards.js +6 -2
  363. package/dist/link-page-minimal-profile.cjs +6 -2
  364. package/dist/link-page-minimal-profile.js +6 -2
  365. package/dist/link-page-newsletter-social.cjs +6 -2
  366. package/dist/link-page-newsletter-social.js +6 -2
  367. package/dist/link-tree-block.cjs +30 -26
  368. package/dist/link-tree-block.js +30 -26
  369. package/dist/list-achievements-showcase.cjs +6 -2
  370. package/dist/list-achievements-showcase.js +6 -2
  371. package/dist/list-feature-comparison.cjs +6 -2
  372. package/dist/list-feature-comparison.js +6 -2
  373. package/dist/list-metrics-dashboard.cjs +6 -2
  374. package/dist/list-metrics-dashboard.js +6 -2
  375. package/dist/list-searchable-grid.cjs +19 -15
  376. package/dist/list-searchable-grid.js +18 -14
  377. package/dist/list-service-category-table.cjs +26 -6
  378. package/dist/list-service-category-table.js +10 -5
  379. package/dist/navbar-animated-preview.cjs +6 -2
  380. package/dist/navbar-animated-preview.js +6 -2
  381. package/dist/navbar-centered-menu.cjs +6 -2
  382. package/dist/navbar-centered-menu.js +6 -2
  383. package/dist/navbar-dark-icons.cjs +6 -2
  384. package/dist/navbar-dark-icons.js +6 -2
  385. package/dist/navbar-dropdown-menu.cjs +6 -2
  386. package/dist/navbar-dropdown-menu.js +6 -2
  387. package/dist/navbar-education-platform.cjs +6 -2
  388. package/dist/navbar-education-platform.js +6 -2
  389. package/dist/navbar-enterprise-mega.cjs +6 -2
  390. package/dist/navbar-enterprise-mega.js +6 -2
  391. package/dist/navbar-feature-grid.cjs +6 -2
  392. package/dist/navbar-feature-grid.js +6 -2
  393. package/dist/navbar-floating-pill.cjs +6 -2
  394. package/dist/navbar-floating-pill.js +6 -2
  395. package/dist/navbar-fullscreen-menu.cjs +6 -2
  396. package/dist/navbar-fullscreen-menu.js +6 -2
  397. package/dist/navbar-icon-links.cjs +6 -2
  398. package/dist/navbar-icon-links.js +6 -2
  399. package/dist/navbar-image-preview.cjs +6 -2
  400. package/dist/navbar-image-preview.js +6 -2
  401. package/dist/navbar-mega-menu.cjs +6 -2
  402. package/dist/navbar-mega-menu.js +6 -2
  403. package/dist/navbar-multi-column-groups.cjs +6 -2
  404. package/dist/navbar-multi-column-groups.js +6 -2
  405. package/dist/navbar-platform-resources.cjs +6 -2
  406. package/dist/navbar-platform-resources.js +6 -2
  407. package/dist/navbar-search-focused.cjs +6 -2
  408. package/dist/navbar-search-focused.js +6 -2
  409. package/dist/navbar-sidebar-mobile.cjs +6 -2
  410. package/dist/navbar-sidebar-mobile.js +6 -2
  411. package/dist/navbar-simple-links.cjs +6 -2
  412. package/dist/navbar-simple-links.js +6 -2
  413. package/dist/navbar-split-cta.cjs +6 -2
  414. package/dist/navbar-split-cta.js +6 -2
  415. package/dist/navbar-sticky-compact.cjs +6 -2
  416. package/dist/navbar-sticky-compact.js +6 -2
  417. package/dist/navbar-tabbed-sections.cjs +6 -2
  418. package/dist/navbar-tabbed-sections.js +6 -2
  419. package/dist/navbar-transparent-overlay.cjs +6 -2
  420. package/dist/navbar-transparent-overlay.js +6 -2
  421. package/dist/offer-modal-membership-image.cjs +6 -2
  422. package/dist/offer-modal-membership-image.js +6 -2
  423. package/dist/offer-modal-newsletter-discount.cjs +6 -2
  424. package/dist/offer-modal-newsletter-discount.js +6 -2
  425. package/dist/offer-modal-sheet-newsletter.cjs +6 -2
  426. package/dist/offer-modal-sheet-newsletter.js +6 -2
  427. package/dist/payment-platform-icon.cjs +27 -2
  428. package/dist/payment-platform-icon.js +7 -2
  429. package/dist/pricing-addons-cards.cjs +19 -15
  430. package/dist/pricing-addons-cards.js +16 -12
  431. package/dist/pricing-addons-featured.cjs +20 -16
  432. package/dist/pricing-addons-featured.js +16 -12
  433. package/dist/pricing-collapsible-plans.cjs +19 -15
  434. package/dist/pricing-collapsible-plans.js +16 -12
  435. package/dist/pricing-columns-toggle.cjs +20 -16
  436. package/dist/pricing-columns-toggle.js +16 -12
  437. package/dist/pricing-comparison-headers.cjs +21 -17
  438. package/dist/pricing-comparison-headers.js +16 -12
  439. package/dist/pricing-comparison-table.cjs +21 -17
  440. package/dist/pricing-comparison-table.js +16 -12
  441. package/dist/pricing-discount-card.cjs +18 -14
  442. package/dist/pricing-discount-card.js +16 -12
  443. package/dist/pricing-enterprise-contact.cjs +18 -14
  444. package/dist/pricing-enterprise-contact.js +16 -12
  445. package/dist/pricing-feature-matrix.cjs +19 -15
  446. package/dist/pricing-feature-matrix.js +16 -12
  447. package/dist/pricing-four-tier-toggle.cjs +20 -16
  448. package/dist/pricing-four-tier-toggle.js +16 -12
  449. package/dist/pricing-full-comparison.cjs +19 -15
  450. package/dist/pricing-full-comparison.js +17 -13
  451. package/dist/pricing-gradient-cards.cjs +20 -16
  452. package/dist/pricing-gradient-cards.js +16 -12
  453. package/dist/pricing-icon-headers.cjs +19 -15
  454. package/dist/pricing-icon-headers.js +16 -12
  455. package/dist/pricing-minimal-cards.cjs +19 -15
  456. package/dist/pricing-minimal-cards.js +16 -12
  457. package/dist/pricing-packages-radio.cjs +18 -14
  458. package/dist/pricing-packages-radio.js +16 -12
  459. package/dist/pricing-popular-highlight.cjs +20 -16
  460. package/dist/pricing-popular-highlight.js +16 -12
  461. package/dist/pricing-radio-toggle.cjs +20 -16
  462. package/dist/pricing-radio-toggle.js +16 -12
  463. package/dist/pricing-responsive-table.cjs +18 -14
  464. package/dist/pricing-responsive-table.js +16 -12
  465. package/dist/pricing-services-cards.cjs +19 -15
  466. package/dist/pricing-services-cards.js +16 -12
  467. package/dist/pricing-simple-card.cjs +18 -14
  468. package/dist/pricing-simple-card.js +16 -12
  469. package/dist/pricing-single-card.cjs +19 -15
  470. package/dist/pricing-single-card.js +16 -12
  471. package/dist/pricing-split-layout.cjs +16 -12
  472. package/dist/pricing-split-layout.js +16 -12
  473. package/dist/pricing-spotlight-card.cjs +18 -14
  474. package/dist/pricing-spotlight-card.js +16 -12
  475. package/dist/pricing-switch-cards.cjs +20 -16
  476. package/dist/pricing-switch-cards.js +16 -12
  477. package/dist/pricing-tabs-toggle.cjs +20 -16
  478. package/dist/pricing-tabs-toggle.js +16 -12
  479. package/dist/pricing-tier-grid.cjs +19 -15
  480. package/dist/pricing-tier-grid.js +16 -12
  481. package/dist/pricing-toggle-cards.cjs +20 -16
  482. package/dist/pricing-toggle-cards.js +16 -12
  483. package/dist/pricing-toggle-period.cjs +18 -14
  484. package/dist/pricing-toggle-period.js +16 -12
  485. package/dist/pricing-two-column-basic.cjs +20 -16
  486. package/dist/pricing-two-column-basic.js +16 -12
  487. package/dist/process-expandable-timeline.cjs +6 -2
  488. package/dist/process-expandable-timeline.js +6 -2
  489. package/dist/process-icon-timeline.cjs +26 -6
  490. package/dist/process-icon-timeline.js +10 -5
  491. package/dist/process-numbered-services.cjs +6 -2
  492. package/dist/process-numbered-services.js +6 -2
  493. package/dist/process-roadmap-timeline.cjs +26 -6
  494. package/dist/process-roadmap-timeline.js +10 -5
  495. package/dist/process-scroll-image.cjs +24 -20
  496. package/dist/process-scroll-image.js +22 -18
  497. package/dist/process-steps-grid.cjs +26 -6
  498. package/dist/process-steps-grid.js +10 -5
  499. package/dist/process-sticky-steps.cjs +6 -2
  500. package/dist/process-sticky-steps.js +6 -2
  501. package/dist/project-background-reveal.cjs +17 -13
  502. package/dist/project-background-reveal.js +16 -12
  503. package/dist/project-card-overlay.cjs +26 -6
  504. package/dist/project-card-overlay.js +10 -5
  505. package/dist/project-carousel-cinematic.cjs +31 -27
  506. package/dist/project-carousel-cinematic.js +26 -22
  507. package/dist/project-carousel-detail-cards.cjs +31 -27
  508. package/dist/project-carousel-detail-cards.js +26 -22
  509. package/dist/project-carousel-minimal.cjs +31 -27
  510. package/dist/project-carousel-minimal.js +26 -22
  511. package/dist/project-detail-architecture-carousel.cjs +6 -2
  512. package/dist/project-detail-architecture-carousel.js +6 -2
  513. package/dist/project-detail-list-related.cjs +6 -2
  514. package/dist/project-detail-list-related.js +6 -2
  515. package/dist/project-detail-photography-breadcrumb.cjs +6 -2
  516. package/dist/project-detail-photography-breadcrumb.js +6 -2
  517. package/dist/project-detail-tabbed-case-study.cjs +6 -2
  518. package/dist/project-detail-tabbed-case-study.js +6 -2
  519. package/dist/project-experience-quote.cjs +17 -13
  520. package/dist/project-experience-quote.js +16 -12
  521. package/dist/project-featured-carousel.cjs +27 -23
  522. package/dist/project-featured-carousel.js +26 -22
  523. package/dist/project-horizontal-cards.cjs +17 -13
  524. package/dist/project-horizontal-cards.js +16 -12
  525. package/dist/project-interactive-hover-reveal.cjs +18 -14
  526. package/dist/project-interactive-hover-reveal.js +16 -12
  527. package/dist/project-scroll-reveal.cjs +26 -6
  528. package/dist/project-scroll-reveal.js +10 -5
  529. package/dist/project-video-carousel.cjs +31 -27
  530. package/dist/project-video-carousel.js +26 -22
  531. package/dist/project-video-hover-bento.cjs +26 -6
  532. package/dist/project-video-hover-bento.js +10 -5
  533. package/dist/project-video-hover-grid.cjs +26 -6
  534. package/dist/project-video-hover-grid.js +10 -5
  535. package/dist/project-video-hover-rounded.cjs +26 -6
  536. package/dist/project-video-hover-rounded.js +10 -5
  537. package/dist/project-video-hover-stack.cjs +26 -6
  538. package/dist/project-video-hover-stack.js +10 -5
  539. package/dist/project-video-hover-two-by-two.cjs +26 -6
  540. package/dist/project-video-hover-two-by-two.js +10 -5
  541. package/dist/project-work-showcase.cjs +17 -13
  542. package/dist/project-work-showcase.js +16 -12
  543. package/dist/project-zigzag-layout.cjs +16 -12
  544. package/dist/project-zigzag-layout.js +16 -12
  545. package/dist/registry.cjs +1742 -1722
  546. package/dist/registry.js +512 -492
  547. package/dist/resource-detail-document-sidebar.cjs +6 -2
  548. package/dist/resource-detail-document-sidebar.js +6 -2
  549. package/dist/resource-detail-whitepaper-sidebar.cjs +6 -2
  550. package/dist/resource-detail-whitepaper-sidebar.js +6 -2
  551. package/dist/resource-list-course-cards.cjs +6 -2
  552. package/dist/resource-list-course-cards.js +6 -2
  553. package/dist/resource-list-featured-articles.cjs +6 -2
  554. package/dist/resource-list-featured-articles.js +6 -2
  555. package/dist/resource-list-featured-grid.cjs +6 -2
  556. package/dist/resource-list-featured-grid.js +6 -2
  557. package/dist/resource-list-hero-filter.cjs +6 -2
  558. package/dist/resource-list-hero-filter.js +6 -2
  559. package/dist/resource-list-news-updates.cjs +6 -2
  560. package/dist/resource-list-news-updates.js +6 -2
  561. package/dist/service-detail-centered-expertise.cjs +16 -12
  562. package/dist/service-detail-centered-expertise.js +16 -12
  563. package/dist/service-detail-compact-cards.cjs +16 -12
  564. package/dist/service-detail-compact-cards.js +16 -12
  565. package/dist/service-detail-sidebar-related.cjs +16 -12
  566. package/dist/service-detail-sidebar-related.js +16 -12
  567. package/dist/service-detail-sidebar-stats.cjs +27 -7
  568. package/dist/service-detail-sidebar-stats.js +10 -5
  569. package/dist/service-hover-carousel.cjs +38 -34
  570. package/dist/service-hover-carousel.js +26 -22
  571. package/dist/services-list-accordion-benefits.cjs +16 -12
  572. package/dist/services-list-accordion-benefits.js +16 -12
  573. package/dist/services-list-accordion.cjs +10 -8
  574. package/dist/services-list-accordion.js +10 -5
  575. package/dist/services-list-cards-hover.cjs +16 -12
  576. package/dist/services-list-cards-hover.js +16 -12
  577. package/dist/services-list-category-accordion.cjs +10 -8
  578. package/dist/services-list-category-accordion.js +10 -5
  579. package/dist/services-list-centered-icons.cjs +27 -7
  580. package/dist/services-list-centered-icons.js +10 -5
  581. package/dist/services-list-culture-tabs.cjs +16 -12
  582. package/dist/services-list-culture-tabs.js +16 -12
  583. package/dist/services-list-feature-spotlight.cjs +27 -7
  584. package/dist/services-list-feature-spotlight.js +10 -5
  585. package/dist/services-list-featured-highlight.cjs +16 -12
  586. package/dist/services-list-featured-highlight.js +16 -12
  587. package/dist/services-list-hero-cards.cjs +6 -2
  588. package/dist/services-list-hero-cards.js +6 -2
  589. package/dist/services-list-icon-grid.cjs +27 -7
  590. package/dist/services-list-icon-grid.js +10 -5
  591. package/dist/services-list-image-cards.cjs +6 -2
  592. package/dist/services-list-image-cards.js +6 -2
  593. package/dist/services-list-image-overlay-grid.cjs +6 -2
  594. package/dist/services-list-image-overlay-grid.js +6 -2
  595. package/dist/services-list-masonry.cjs +16 -12
  596. package/dist/services-list-masonry.js +16 -12
  597. package/dist/services-list-methodology-steps.cjs +16 -12
  598. package/dist/services-list-methodology-steps.js +16 -12
  599. package/dist/services-list-minimal-grid.cjs +16 -12
  600. package/dist/services-list-minimal-grid.js +16 -12
  601. package/dist/services-list-muted-cards.cjs +27 -7
  602. package/dist/services-list-muted-cards.js +10 -5
  603. package/dist/services-list-numbered-steps.cjs +16 -12
  604. package/dist/services-list-numbered-steps.js +16 -12
  605. package/dist/services-list-pricing-grid.cjs +16 -12
  606. package/dist/services-list-pricing-grid.js +16 -12
  607. package/dist/services-list-progress-sidebar.cjs +16 -12
  608. package/dist/services-list-progress-sidebar.js +16 -12
  609. package/dist/services-list-split-checklist.cjs +16 -12
  610. package/dist/services-list-split-checklist.js +16 -12
  611. package/dist/services-list-sticky-image.cjs +6 -2
  612. package/dist/services-list-sticky-image.js +6 -2
  613. package/dist/services-list-table-hover.cjs +6 -2
  614. package/dist/services-list-table-hover.js +6 -2
  615. package/dist/services-list-tabs-features.cjs +10 -8
  616. package/dist/services-list-tabs-features.js +10 -5
  617. package/dist/services-list-timeline.cjs +16 -12
  618. package/dist/services-list-timeline.js +16 -12
  619. package/dist/services-list-two-column-grid.cjs +16 -12
  620. package/dist/services-list-two-column-grid.js +16 -12
  621. package/dist/services-list-vertical-tags.cjs +27 -7
  622. package/dist/services-list-vertical-tags.js +10 -5
  623. package/dist/services-list-video-showcase.cjs +18 -14
  624. package/dist/services-list-video-showcase.js +18 -14
  625. package/dist/social-link-icon.cjs +6 -2
  626. package/dist/social-link-icon.js +6 -2
  627. package/dist/stats-animated-counter.cjs +17 -13
  628. package/dist/stats-animated-counter.js +15 -11
  629. package/dist/stats-card-group.cjs +26 -6
  630. package/dist/stats-card-group.js +10 -5
  631. package/dist/stats-growth-timeline.cjs +22 -18
  632. package/dist/stats-growth-timeline.js +16 -12
  633. package/dist/stats-icon-cards.cjs +26 -6
  634. package/dist/stats-icon-cards.js +10 -5
  635. package/dist/stats-impact-grid.cjs +23 -19
  636. package/dist/stats-impact-grid.js +16 -12
  637. package/dist/stats-primary-secondary.cjs +26 -6
  638. package/dist/stats-primary-secondary.js +10 -5
  639. package/dist/stats-timeline-tabs.cjs +9 -7
  640. package/dist/stats-timeline-tabs.js +10 -5
  641. package/dist/team-alternating-bios.cjs +17 -13
  642. package/dist/team-alternating-bios.js +17 -13
  643. package/dist/team-avatar-social.cjs +17 -13
  644. package/dist/team-avatar-social.js +17 -13
  645. package/dist/team-bio-badges.cjs +17 -13
  646. package/dist/team-bio-badges.js +17 -13
  647. package/dist/team-carousel-experience.cjs +27 -23
  648. package/dist/team-carousel-experience.js +27 -23
  649. package/dist/team-contact-cards.cjs +18 -14
  650. package/dist/team-contact-cards.js +18 -14
  651. package/dist/team-filterable-search.cjs +22 -18
  652. package/dist/team-filterable-search.js +22 -18
  653. package/dist/team-gradient-cards.cjs +17 -13
  654. package/dist/team-gradient-cards.js +17 -13
  655. package/dist/team-grid-animated.cjs +18 -14
  656. package/dist/team-grid-animated.js +18 -14
  657. package/dist/team-hover-highlight.cjs +17 -13
  658. package/dist/team-hover-highlight.js +17 -13
  659. package/dist/team-hover-overlay.cjs +17 -13
  660. package/dist/team-hover-overlay.js +17 -13
  661. package/dist/team-large-images.cjs +17 -13
  662. package/dist/team-large-images.js +17 -13
  663. package/dist/team-role-filter.cjs +20 -16
  664. package/dist/team-role-filter.js +20 -16
  665. package/dist/team-skill-badges.cjs +17 -13
  666. package/dist/team-skill-badges.js +17 -13
  667. package/dist/team-social-cards.cjs +17 -13
  668. package/dist/team-social-cards.js +17 -13
  669. package/dist/team-social-grid.cjs +17 -13
  670. package/dist/team-social-grid.js +17 -13
  671. package/dist/team-testimonial-stats.cjs +17 -13
  672. package/dist/team-testimonial-stats.js +17 -13
  673. package/dist/testimonial-carousel-cards.cjs +33 -29
  674. package/dist/testimonial-carousel-cards.js +26 -22
  675. package/dist/testimonials-animated-split.cjs +9 -7
  676. package/dist/testimonials-animated-split.js +10 -5
  677. package/dist/testimonials-bento-grid.cjs +9 -7
  678. package/dist/testimonials-bento-grid.js +10 -5
  679. package/dist/testimonials-carousel-image.cjs +18 -14
  680. package/dist/testimonials-carousel-image.js +13 -9
  681. package/dist/testimonials-company-logo.cjs +26 -6
  682. package/dist/testimonials-company-logo.js +10 -5
  683. package/dist/testimonials-grid-add-review.cjs +9 -7
  684. package/dist/testimonials-grid-add-review.js +10 -5
  685. package/dist/testimonials-images-helpful.cjs +21 -17
  686. package/dist/testimonials-images-helpful.js +16 -12
  687. package/dist/testimonials-large-quote.cjs +9 -7
  688. package/dist/testimonials-large-quote.js +10 -5
  689. package/dist/testimonials-list-verified.cjs +9 -7
  690. package/dist/testimonials-list-verified.js +10 -5
  691. package/dist/testimonials-mini-dividers.cjs +9 -7
  692. package/dist/testimonials-mini-dividers.js +10 -5
  693. package/dist/testimonials-minimal-numbered.cjs +9 -7
  694. package/dist/testimonials-minimal-numbered.js +10 -5
  695. package/dist/testimonials-quote-carousel.cjs +31 -27
  696. package/dist/testimonials-quote-carousel.js +26 -22
  697. package/dist/testimonials-scrolling-columns.cjs +26 -6
  698. package/dist/testimonials-scrolling-columns.js +10 -5
  699. package/dist/testimonials-split-image.cjs +9 -7
  700. package/dist/testimonials-split-image.js +10 -5
  701. package/dist/testimonials-stats-header.cjs +9 -7
  702. package/dist/testimonials-stats-header.js +10 -5
  703. package/dist/testimonials-twitter-cards.cjs +19 -15
  704. package/dist/testimonials-twitter-cards.js +16 -12
  705. package/dist/timeline-ai-workflow-cards.cjs +27 -7
  706. package/dist/timeline-ai-workflow-cards.js +10 -5
  707. package/dist/timeline-alternating-diagonal.cjs +12 -8
  708. package/dist/timeline-alternating-diagonal.js +12 -8
  709. package/dist/timeline-horizontal-icons.cjs +10 -8
  710. package/dist/timeline-horizontal-icons.js +10 -5
  711. package/dist/timeline-productivity-list.cjs +27 -7
  712. package/dist/timeline-productivity-list.js +10 -5
  713. package/dist/timeline-stepper-animated.cjs +22 -18
  714. package/dist/timeline-stepper-animated.js +21 -17
  715. package/dist/timeline-tabbed-phases.cjs +6 -2
  716. package/dist/timeline-tabbed-phases.js +6 -2
  717. package/dist/timeline-vertical-icon-dashed.cjs +6 -2
  718. package/dist/timeline-vertical-icon-dashed.js +6 -2
  719. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React = require('react');
4
+ var React2 = require('react');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var icon = require('@page-speed/icon');
@@ -26,7 +26,7 @@ function _interopNamespace(e) {
26
26
  return Object.freeze(n);
27
27
  }
28
28
 
29
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
30
30
 
31
31
  // components/blocks/pricing/pricing-collapsible-plans.tsx
32
32
  function cn(...inputs) {
@@ -63,9 +63,13 @@ function getNestedCardTextColor(parentBg, options) {
63
63
  return isDark ? "text-foreground" : "";
64
64
  }
65
65
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
66
- function DynamicIcon({ apiKey, ...props }) {
66
+ var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
67
+ apiKey,
68
+ ...props
69
+ }) {
67
70
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
68
- }
71
+ });
72
+ DynamicIcon.displayName = "DynamicIcon";
69
73
  function normalizePhoneNumber(input) {
70
74
  const trimmed = input.trim();
71
75
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -141,7 +145,7 @@ function useNavigation({
141
145
  href,
142
146
  onClick
143
147
  } = {}) {
144
- const linkType = React__namespace.useMemo(() => {
148
+ const linkType = React2__namespace.useMemo(() => {
145
149
  if (!href || href.trim() === "") {
146
150
  return onClick ? "none" : "none";
147
151
  }
@@ -162,7 +166,7 @@ function useNavigation({
162
166
  return "internal";
163
167
  }
164
168
  }, [href, onClick]);
165
- const normalizedHref = React__namespace.useMemo(() => {
169
+ const normalizedHref = React2__namespace.useMemo(() => {
166
170
  if (!href || href.trim() === "") {
167
171
  return void 0;
168
172
  }
@@ -180,7 +184,7 @@ function useNavigation({
180
184
  return trimmed;
181
185
  }
182
186
  }, [href, linkType]);
183
- const target = React__namespace.useMemo(() => {
187
+ const target = React2__namespace.useMemo(() => {
184
188
  switch (linkType) {
185
189
  case "external":
186
190
  return "_blank";
@@ -193,7 +197,7 @@ function useNavigation({
193
197
  return void 0;
194
198
  }
195
199
  }, [linkType]);
196
- const rel = React__namespace.useMemo(() => {
200
+ const rel = React2__namespace.useMemo(() => {
197
201
  if (linkType === "external") {
198
202
  return "noopener noreferrer";
199
203
  }
@@ -202,7 +206,7 @@ function useNavigation({
202
206
  const isExternal = linkType === "external";
203
207
  const isInternal = linkType === "internal";
204
208
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
205
- const handleClick = React__namespace.useCallback(
209
+ const handleClick = React2__namespace.useCallback(
206
210
  (event) => {
207
211
  if (onClick) {
208
212
  try {
@@ -386,7 +390,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
386
390
  size: "default"
387
391
  }
388
392
  });
389
- var Pressable = React__namespace.forwardRef(
393
+ var Pressable = React2__namespace.forwardRef(
390
394
  ({
391
395
  children,
392
396
  className,
@@ -493,7 +497,7 @@ var maxWidthStyles = {
493
497
  "4xl": "max-w-[1536px]",
494
498
  full: "max-w-full"
495
499
  };
496
- var Container = React__namespace.default.forwardRef(
500
+ var Container = React2__namespace.default.forwardRef(
497
501
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
498
502
  const Component = as;
499
503
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -799,7 +803,7 @@ var spacingStyles = {
799
803
  };
800
804
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
801
805
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
802
- var Section = React__namespace.default.forwardRef(
806
+ var Section = React2__namespace.default.forwardRef(
803
807
  ({
804
808
  id,
805
809
  title,
@@ -901,13 +905,13 @@ function PricingCollapsiblePlans({
901
905
  featureTextClassName,
902
906
  actionClassName
903
907
  }) {
904
- const defaultIndex = React.useMemo(() => {
908
+ const defaultIndex = React2.useMemo(() => {
905
909
  if (typeof defaultSelectedIndex === "number") return defaultSelectedIndex;
906
910
  const popularIndex = plans.findIndex((plan) => plan.isPopular);
907
911
  return popularIndex >= 0 ? popularIndex : 0;
908
912
  }, [defaultSelectedIndex, plans]);
909
- const [internalSelected, setInternalSelected] = React.useState(defaultIndex);
910
- const [isMenuOpen, setIsMenuOpen] = React.useState(false);
913
+ const [internalSelected, setInternalSelected] = React2.useState(defaultIndex);
914
+ const [isMenuOpen, setIsMenuOpen] = React2.useState(false);
911
915
  const activeIndex = typeof selectedIndex === "number" ? selectedIndex : internalSelected;
912
916
  const activePlan = plans[activeIndex] ?? plans[0];
913
917
  const updateSelection = (index) => {
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React from 'react';
3
- import React__default, { useMemo, useState } from 'react';
2
+ import * as React2 from 'react';
3
+ import React2__default, { useMemo, useState } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
@@ -42,9 +42,13 @@ function getNestedCardTextColor(parentBg, options) {
42
42
  return isDark ? "text-foreground" : "";
43
43
  }
44
44
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
45
- function DynamicIcon({ apiKey, ...props }) {
45
+ var DynamicIcon = React2.memo(function DynamicIcon2({
46
+ apiKey,
47
+ ...props
48
+ }) {
46
49
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
47
- }
50
+ });
51
+ DynamicIcon.displayName = "DynamicIcon";
48
52
  function normalizePhoneNumber(input) {
49
53
  const trimmed = input.trim();
50
54
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -120,7 +124,7 @@ function useNavigation({
120
124
  href,
121
125
  onClick
122
126
  } = {}) {
123
- const linkType = React.useMemo(() => {
127
+ const linkType = React2.useMemo(() => {
124
128
  if (!href || href.trim() === "") {
125
129
  return onClick ? "none" : "none";
126
130
  }
@@ -141,7 +145,7 @@ function useNavigation({
141
145
  return "internal";
142
146
  }
143
147
  }, [href, onClick]);
144
- const normalizedHref = React.useMemo(() => {
148
+ const normalizedHref = React2.useMemo(() => {
145
149
  if (!href || href.trim() === "") {
146
150
  return void 0;
147
151
  }
@@ -159,7 +163,7 @@ function useNavigation({
159
163
  return trimmed;
160
164
  }
161
165
  }, [href, linkType]);
162
- const target = React.useMemo(() => {
166
+ const target = React2.useMemo(() => {
163
167
  switch (linkType) {
164
168
  case "external":
165
169
  return "_blank";
@@ -172,7 +176,7 @@ function useNavigation({
172
176
  return void 0;
173
177
  }
174
178
  }, [linkType]);
175
- const rel = React.useMemo(() => {
179
+ const rel = React2.useMemo(() => {
176
180
  if (linkType === "external") {
177
181
  return "noopener noreferrer";
178
182
  }
@@ -181,7 +185,7 @@ function useNavigation({
181
185
  const isExternal = linkType === "external";
182
186
  const isInternal = linkType === "internal";
183
187
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
184
- const handleClick = React.useCallback(
188
+ const handleClick = React2.useCallback(
185
189
  (event) => {
186
190
  if (onClick) {
187
191
  try {
@@ -365,7 +369,7 @@ var buttonVariants = cva(baseStyles, {
365
369
  size: "default"
366
370
  }
367
371
  });
368
- var Pressable = React.forwardRef(
372
+ var Pressable = React2.forwardRef(
369
373
  ({
370
374
  children,
371
375
  className,
@@ -472,7 +476,7 @@ var maxWidthStyles = {
472
476
  "4xl": "max-w-[1536px]",
473
477
  full: "max-w-full"
474
478
  };
475
- var Container = React__default.forwardRef(
479
+ var Container = React2__default.forwardRef(
476
480
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
477
481
  const Component = as;
478
482
  return /* @__PURE__ */ jsx(
@@ -778,7 +782,7 @@ var spacingStyles = {
778
782
  };
779
783
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
780
784
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
781
- var Section = React__default.forwardRef(
785
+ var Section = React2__default.forwardRef(
782
786
  ({
783
787
  id,
784
788
  title,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React = require('react');
4
+ var React2 = require('react');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var icon = require('@page-speed/icon');
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
27
27
  return Object.freeze(n);
28
28
  }
29
29
 
30
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
31
31
  var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
32
32
 
33
33
  // components/blocks/pricing/pricing-columns-toggle.tsx
@@ -35,9 +35,13 @@ function cn(...inputs) {
35
35
  return tailwindMerge.twMerge(clsx.clsx(inputs));
36
36
  }
37
37
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
38
- function DynamicIcon({ apiKey, ...props }) {
38
+ var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
39
+ apiKey,
40
+ ...props
41
+ }) {
39
42
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
40
- }
43
+ });
44
+ DynamicIcon.displayName = "DynamicIcon";
41
45
  function normalizePhoneNumber(input) {
42
46
  const trimmed = input.trim();
43
47
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -113,7 +117,7 @@ function useNavigation({
113
117
  href,
114
118
  onClick
115
119
  } = {}) {
116
- const linkType = React__namespace.useMemo(() => {
120
+ const linkType = React2__namespace.useMemo(() => {
117
121
  if (!href || href.trim() === "") {
118
122
  return onClick ? "none" : "none";
119
123
  }
@@ -134,7 +138,7 @@ function useNavigation({
134
138
  return "internal";
135
139
  }
136
140
  }, [href, onClick]);
137
- const normalizedHref = React__namespace.useMemo(() => {
141
+ const normalizedHref = React2__namespace.useMemo(() => {
138
142
  if (!href || href.trim() === "") {
139
143
  return void 0;
140
144
  }
@@ -152,7 +156,7 @@ function useNavigation({
152
156
  return trimmed;
153
157
  }
154
158
  }, [href, linkType]);
155
- const target = React__namespace.useMemo(() => {
159
+ const target = React2__namespace.useMemo(() => {
156
160
  switch (linkType) {
157
161
  case "external":
158
162
  return "_blank";
@@ -165,7 +169,7 @@ function useNavigation({
165
169
  return void 0;
166
170
  }
167
171
  }, [linkType]);
168
- const rel = React__namespace.useMemo(() => {
172
+ const rel = React2__namespace.useMemo(() => {
169
173
  if (linkType === "external") {
170
174
  return "noopener noreferrer";
171
175
  }
@@ -174,7 +178,7 @@ function useNavigation({
174
178
  const isExternal = linkType === "external";
175
179
  const isInternal = linkType === "internal";
176
180
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
177
- const handleClick = React__namespace.useCallback(
181
+ const handleClick = React2__namespace.useCallback(
178
182
  (event) => {
179
183
  if (onClick) {
180
184
  try {
@@ -358,7 +362,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
358
362
  size: "default"
359
363
  }
360
364
  });
361
- var Pressable = React__namespace.forwardRef(
365
+ var Pressable = React2__namespace.forwardRef(
362
366
  ({
363
367
  children,
364
368
  className,
@@ -485,7 +489,7 @@ var maxWidthStyles = {
485
489
  "4xl": "max-w-[1536px]",
486
490
  full: "max-w-full"
487
491
  };
488
- var Container = React__namespace.default.forwardRef(
492
+ var Container = React2__namespace.default.forwardRef(
489
493
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
490
494
  const Component = as;
491
495
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -791,7 +795,7 @@ var spacingStyles = {
791
795
  };
792
796
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
793
797
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
794
- var Section = React__namespace.default.forwardRef(
798
+ var Section = React2__namespace.default.forwardRef(
795
799
  ({
796
800
  id,
797
801
  title,
@@ -892,8 +896,8 @@ function PricingColumnsToggle({
892
896
  featureTextClassName,
893
897
  actionClassName
894
898
  }) {
895
- const [isAnnual, setIsAnnual] = React.useState(false);
896
- const renderFeatures = React.useMemo(() => {
899
+ const [isAnnual, setIsAnnual] = React2.useState(false);
900
+ const renderFeatures = React2.useMemo(() => {
897
901
  return (plan) => {
898
902
  if (plan.featuresSlot) return plan.featuresSlot;
899
903
  if (!plan.features || plan.features.length === 0) return null;
@@ -949,7 +953,7 @@ function PricingColumnsToggle({
949
953
  }) });
950
954
  };
951
955
  }, [featuresClassName, featureIcon, featureIconName, featureIconClassName, featureItemClassName, featureTextClassName]);
952
- const renderAction = React.useMemo(() => {
956
+ const renderAction = React2.useMemo(() => {
953
957
  return (plan) => {
954
958
  if (plan.actionSlot) return plan.actionSlot;
955
959
  if (!plan.action) return null;
@@ -980,7 +984,7 @@ function PricingColumnsToggle({
980
984
  );
981
985
  };
982
986
  }, [actionClassName]);
983
- const renderPlans = React.useMemo(() => {
987
+ const renderPlans = React2.useMemo(() => {
984
988
  if (plansSlot) return plansSlot;
985
989
  if (!plans || plans.length === 0) return null;
986
990
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-8 md:grid-cols-3", gridClassName), children: plans.map((plan, index) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React from 'react';
3
- import React__default, { useState, useMemo } from 'react';
2
+ import * as React2 from 'react';
3
+ import React2__default, { useState, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
@@ -13,9 +13,13 @@ function cn(...inputs) {
13
13
  return twMerge(clsx(inputs));
14
14
  }
15
15
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
16
- function DynamicIcon({ apiKey, ...props }) {
16
+ var DynamicIcon = React2.memo(function DynamicIcon2({
17
+ apiKey,
18
+ ...props
19
+ }) {
17
20
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
18
- }
21
+ });
22
+ DynamicIcon.displayName = "DynamicIcon";
19
23
  function normalizePhoneNumber(input) {
20
24
  const trimmed = input.trim();
21
25
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -91,7 +95,7 @@ function useNavigation({
91
95
  href,
92
96
  onClick
93
97
  } = {}) {
94
- const linkType = React.useMemo(() => {
98
+ const linkType = React2.useMemo(() => {
95
99
  if (!href || href.trim() === "") {
96
100
  return onClick ? "none" : "none";
97
101
  }
@@ -112,7 +116,7 @@ function useNavigation({
112
116
  return "internal";
113
117
  }
114
118
  }, [href, onClick]);
115
- const normalizedHref = React.useMemo(() => {
119
+ const normalizedHref = React2.useMemo(() => {
116
120
  if (!href || href.trim() === "") {
117
121
  return void 0;
118
122
  }
@@ -130,7 +134,7 @@ function useNavigation({
130
134
  return trimmed;
131
135
  }
132
136
  }, [href, linkType]);
133
- const target = React.useMemo(() => {
137
+ const target = React2.useMemo(() => {
134
138
  switch (linkType) {
135
139
  case "external":
136
140
  return "_blank";
@@ -143,7 +147,7 @@ function useNavigation({
143
147
  return void 0;
144
148
  }
145
149
  }, [linkType]);
146
- const rel = React.useMemo(() => {
150
+ const rel = React2.useMemo(() => {
147
151
  if (linkType === "external") {
148
152
  return "noopener noreferrer";
149
153
  }
@@ -152,7 +156,7 @@ function useNavigation({
152
156
  const isExternal = linkType === "external";
153
157
  const isInternal = linkType === "internal";
154
158
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
155
- const handleClick = React.useCallback(
159
+ const handleClick = React2.useCallback(
156
160
  (event) => {
157
161
  if (onClick) {
158
162
  try {
@@ -336,7 +340,7 @@ var buttonVariants = cva(baseStyles, {
336
340
  size: "default"
337
341
  }
338
342
  });
339
- var Pressable = React.forwardRef(
343
+ var Pressable = React2.forwardRef(
340
344
  ({
341
345
  children,
342
346
  className,
@@ -463,7 +467,7 @@ var maxWidthStyles = {
463
467
  "4xl": "max-w-[1536px]",
464
468
  full: "max-w-full"
465
469
  };
466
- var Container = React__default.forwardRef(
470
+ var Container = React2__default.forwardRef(
467
471
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
468
472
  const Component = as;
469
473
  return /* @__PURE__ */ jsx(
@@ -769,7 +773,7 @@ var spacingStyles = {
769
773
  };
770
774
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
771
775
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
772
- var Section = React__default.forwardRef(
776
+ var Section = React2__default.forwardRef(
773
777
  ({
774
778
  id,
775
779
  title,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React = require('react');
4
+ var React2 = require('react');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var icon = require('@page-speed/icon');
@@ -27,7 +27,7 @@ function _interopNamespace(e) {
27
27
  return Object.freeze(n);
28
28
  }
29
29
 
30
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
31
31
  var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
32
32
 
33
33
  // components/blocks/pricing/pricing-comparison-headers.tsx
@@ -35,9 +35,13 @@ function cn(...inputs) {
35
35
  return tailwindMerge.twMerge(clsx.clsx(inputs));
36
36
  }
37
37
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
38
- function DynamicIcon({ apiKey, ...props }) {
38
+ var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
39
+ apiKey,
40
+ ...props
41
+ }) {
39
42
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
40
- }
43
+ });
44
+ DynamicIcon.displayName = "DynamicIcon";
41
45
  function normalizePhoneNumber(input) {
42
46
  const trimmed = input.trim();
43
47
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -113,7 +117,7 @@ function useNavigation({
113
117
  href,
114
118
  onClick
115
119
  } = {}) {
116
- const linkType = React__namespace.useMemo(() => {
120
+ const linkType = React2__namespace.useMemo(() => {
117
121
  if (!href || href.trim() === "") {
118
122
  return onClick ? "none" : "none";
119
123
  }
@@ -134,7 +138,7 @@ function useNavigation({
134
138
  return "internal";
135
139
  }
136
140
  }, [href, onClick]);
137
- const normalizedHref = React__namespace.useMemo(() => {
141
+ const normalizedHref = React2__namespace.useMemo(() => {
138
142
  if (!href || href.trim() === "") {
139
143
  return void 0;
140
144
  }
@@ -152,7 +156,7 @@ function useNavigation({
152
156
  return trimmed;
153
157
  }
154
158
  }, [href, linkType]);
155
- const target = React__namespace.useMemo(() => {
159
+ const target = React2__namespace.useMemo(() => {
156
160
  switch (linkType) {
157
161
  case "external":
158
162
  return "_blank";
@@ -165,7 +169,7 @@ function useNavigation({
165
169
  return void 0;
166
170
  }
167
171
  }, [linkType]);
168
- const rel = React__namespace.useMemo(() => {
172
+ const rel = React2__namespace.useMemo(() => {
169
173
  if (linkType === "external") {
170
174
  return "noopener noreferrer";
171
175
  }
@@ -174,7 +178,7 @@ function useNavigation({
174
178
  const isExternal = linkType === "external";
175
179
  const isInternal = linkType === "internal";
176
180
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
177
- const handleClick = React__namespace.useCallback(
181
+ const handleClick = React2__namespace.useCallback(
178
182
  (event) => {
179
183
  if (onClick) {
180
184
  try {
@@ -358,7 +362,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
358
362
  size: "default"
359
363
  }
360
364
  });
361
- var Pressable = React__namespace.forwardRef(
365
+ var Pressable = React2__namespace.forwardRef(
362
366
  ({
363
367
  children,
364
368
  className,
@@ -490,7 +494,7 @@ var maxWidthStyles = {
490
494
  "4xl": "max-w-[1536px]",
491
495
  full: "max-w-full"
492
496
  };
493
- var Container = React__namespace.default.forwardRef(
497
+ var Container = React2__namespace.default.forwardRef(
494
498
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
495
499
  const Component = as;
496
500
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -796,7 +800,7 @@ var spacingStyles = {
796
800
  };
797
801
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
798
802
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
799
- var Section = React__namespace.default.forwardRef(
803
+ var Section = React2__namespace.default.forwardRef(
800
804
  ({
801
805
  id,
802
806
  title,
@@ -899,11 +903,11 @@ function PricingComparisonHeaders({
899
903
  featureNameClassName,
900
904
  featureValueClassName
901
905
  }) {
902
- const [isYearly, setIsYearly] = React.useState(false);
906
+ const [isYearly, setIsYearly] = React2.useState(false);
903
907
  const resolvedPlanIds = plans?.map(
904
908
  (plan, index) => plan.id ?? `plan-${index}`
905
909
  ) ?? [];
906
- const renderFeatureValue = React.useMemo(() => {
910
+ const renderFeatureValue = React2.useMemo(() => {
907
911
  return (value) => {
908
912
  if (typeof value === "boolean") {
909
913
  return value ? availableIcon ?? /* @__PURE__ */ jsxRuntime.jsx(
@@ -925,7 +929,7 @@ function PricingComparisonHeaders({
925
929
  return value ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: value }) : null;
926
930
  };
927
931
  }, [availableIcon, availableIconName, unavailableIcon, unavailableIconName]);
928
- const renderAction = React.useMemo(() => {
932
+ const renderAction = React2.useMemo(() => {
929
933
  return (plan) => {
930
934
  if (plan.actionSlot) return plan.actionSlot;
931
935
  if (!plan.action) return null;
@@ -956,7 +960,7 @@ function PricingComparisonHeaders({
956
960
  );
957
961
  };
958
962
  }, [actionClassName]);
959
- const renderPlans = React.useMemo(() => {
963
+ const renderPlans = React2.useMemo(() => {
960
964
  if (plansSlot) return plansSlot;
961
965
  return plans.map((plan, index) => {
962
966
  const badgeContent = plan.badge ?? (plan.isPopular ? "Popular" : null);
@@ -1015,7 +1019,7 @@ function PricingComparisonHeaders({
1015
1019
  );
1016
1020
  });
1017
1021
  }, [plansSlot, plans, resolvedPlanIds, planHeaderClassName, planBadgeClassName, planTitleClassName, planDescriptionClassName, planPriceClassName, planPriceIntervalClassName, isYearly, yearlyInterval, monthlyInterval, renderAction]);
1018
- const renderFeatureRows = React.useMemo(() => {
1022
+ const renderFeatureRows = React2.useMemo(() => {
1019
1023
  if (featuresSlot) return featuresSlot;
1020
1024
  if (!features || features.length === 0) return null;
1021
1025
  return features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React from 'react';
3
- import React__default, { useState, useMemo } from 'react';
2
+ import * as React2 from 'react';
3
+ import React2__default, { useState, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
@@ -13,9 +13,13 @@ function cn(...inputs) {
13
13
  return twMerge(clsx(inputs));
14
14
  }
15
15
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
16
- function DynamicIcon({ apiKey, ...props }) {
16
+ var DynamicIcon = React2.memo(function DynamicIcon2({
17
+ apiKey,
18
+ ...props
19
+ }) {
17
20
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
18
- }
21
+ });
22
+ DynamicIcon.displayName = "DynamicIcon";
19
23
  function normalizePhoneNumber(input) {
20
24
  const trimmed = input.trim();
21
25
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -91,7 +95,7 @@ function useNavigation({
91
95
  href,
92
96
  onClick
93
97
  } = {}) {
94
- const linkType = React.useMemo(() => {
98
+ const linkType = React2.useMemo(() => {
95
99
  if (!href || href.trim() === "") {
96
100
  return onClick ? "none" : "none";
97
101
  }
@@ -112,7 +116,7 @@ function useNavigation({
112
116
  return "internal";
113
117
  }
114
118
  }, [href, onClick]);
115
- const normalizedHref = React.useMemo(() => {
119
+ const normalizedHref = React2.useMemo(() => {
116
120
  if (!href || href.trim() === "") {
117
121
  return void 0;
118
122
  }
@@ -130,7 +134,7 @@ function useNavigation({
130
134
  return trimmed;
131
135
  }
132
136
  }, [href, linkType]);
133
- const target = React.useMemo(() => {
137
+ const target = React2.useMemo(() => {
134
138
  switch (linkType) {
135
139
  case "external":
136
140
  return "_blank";
@@ -143,7 +147,7 @@ function useNavigation({
143
147
  return void 0;
144
148
  }
145
149
  }, [linkType]);
146
- const rel = React.useMemo(() => {
150
+ const rel = React2.useMemo(() => {
147
151
  if (linkType === "external") {
148
152
  return "noopener noreferrer";
149
153
  }
@@ -152,7 +156,7 @@ function useNavigation({
152
156
  const isExternal = linkType === "external";
153
157
  const isInternal = linkType === "internal";
154
158
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
155
- const handleClick = React.useCallback(
159
+ const handleClick = React2.useCallback(
156
160
  (event) => {
157
161
  if (onClick) {
158
162
  try {
@@ -336,7 +340,7 @@ var buttonVariants = cva(baseStyles, {
336
340
  size: "default"
337
341
  }
338
342
  });
339
- var Pressable = React.forwardRef(
343
+ var Pressable = React2.forwardRef(
340
344
  ({
341
345
  children,
342
346
  className,
@@ -468,7 +472,7 @@ var maxWidthStyles = {
468
472
  "4xl": "max-w-[1536px]",
469
473
  full: "max-w-full"
470
474
  };
471
- var Container = React__default.forwardRef(
475
+ var Container = React2__default.forwardRef(
472
476
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
473
477
  const Component = as;
474
478
  return /* @__PURE__ */ jsx(
@@ -774,7 +778,7 @@ var spacingStyles = {
774
778
  };
775
779
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
776
780
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
777
- var Section = React__default.forwardRef(
781
+ var Section = React2__default.forwardRef(
778
782
  ({
779
783
  id,
780
784
  title,