@opensite/ui 2.8.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) 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-software-growth-video-dialog.cjs +19 -15
  340. package/dist/hero-software-growth-video-dialog.js +16 -12
  341. package/dist/hero-split-icon-cards.cjs +18 -14
  342. package/dist/hero-split-icon-cards.js +16 -12
  343. package/dist/hero-video-dialog-gradient.cjs +19 -15
  344. package/dist/hero-video-dialog-gradient.js +16 -12
  345. package/dist/hero-video-overlay-stars.cjs +18 -14
  346. package/dist/hero-video-overlay-stars.js +16 -12
  347. package/dist/index.cjs +200 -180
  348. package/dist/index.js +104 -84
  349. package/dist/industries-expandable-showcase.cjs +6 -2
  350. package/dist/industries-expandable-showcase.js +6 -2
  351. package/dist/industries-hover-reveal-grid.cjs +6 -2
  352. package/dist/industries-hover-reveal-grid.js +6 -2
  353. package/dist/industries-timeline-table.cjs +6 -2
  354. package/dist/industries-timeline-table.js +6 -2
  355. package/dist/interior-carousel.cjs +33 -29
  356. package/dist/interior-carousel.js +26 -22
  357. package/dist/link-page-bento-layout.cjs +6 -2
  358. package/dist/link-page-bento-layout.js +6 -2
  359. package/dist/link-page-grid-cards.cjs +6 -2
  360. package/dist/link-page-grid-cards.js +6 -2
  361. package/dist/link-page-minimal-profile.cjs +6 -2
  362. package/dist/link-page-minimal-profile.js +6 -2
  363. package/dist/link-page-newsletter-social.cjs +6 -2
  364. package/dist/link-page-newsletter-social.js +6 -2
  365. package/dist/link-tree-block.cjs +30 -26
  366. package/dist/link-tree-block.js +30 -26
  367. package/dist/list-achievements-showcase.cjs +6 -2
  368. package/dist/list-achievements-showcase.js +6 -2
  369. package/dist/list-feature-comparison.cjs +6 -2
  370. package/dist/list-feature-comparison.js +6 -2
  371. package/dist/list-metrics-dashboard.cjs +6 -2
  372. package/dist/list-metrics-dashboard.js +6 -2
  373. package/dist/list-searchable-grid.cjs +19 -15
  374. package/dist/list-searchable-grid.js +18 -14
  375. package/dist/list-service-category-table.cjs +26 -6
  376. package/dist/list-service-category-table.js +10 -5
  377. package/dist/navbar-animated-preview.cjs +6 -2
  378. package/dist/navbar-animated-preview.js +6 -2
  379. package/dist/navbar-centered-menu.cjs +6 -2
  380. package/dist/navbar-centered-menu.js +6 -2
  381. package/dist/navbar-dark-icons.cjs +6 -2
  382. package/dist/navbar-dark-icons.js +6 -2
  383. package/dist/navbar-dropdown-menu.cjs +6 -2
  384. package/dist/navbar-dropdown-menu.js +6 -2
  385. package/dist/navbar-education-platform.cjs +6 -2
  386. package/dist/navbar-education-platform.js +6 -2
  387. package/dist/navbar-enterprise-mega.cjs +6 -2
  388. package/dist/navbar-enterprise-mega.js +6 -2
  389. package/dist/navbar-feature-grid.cjs +6 -2
  390. package/dist/navbar-feature-grid.js +6 -2
  391. package/dist/navbar-floating-pill.cjs +6 -2
  392. package/dist/navbar-floating-pill.js +6 -2
  393. package/dist/navbar-fullscreen-menu.cjs +6 -2
  394. package/dist/navbar-fullscreen-menu.js +6 -2
  395. package/dist/navbar-icon-links.cjs +6 -2
  396. package/dist/navbar-icon-links.js +6 -2
  397. package/dist/navbar-image-preview.cjs +6 -2
  398. package/dist/navbar-image-preview.js +6 -2
  399. package/dist/navbar-mega-menu.cjs +6 -2
  400. package/dist/navbar-mega-menu.js +6 -2
  401. package/dist/navbar-multi-column-groups.cjs +6 -2
  402. package/dist/navbar-multi-column-groups.js +6 -2
  403. package/dist/navbar-platform-resources.cjs +6 -2
  404. package/dist/navbar-platform-resources.js +6 -2
  405. package/dist/navbar-search-focused.cjs +6 -2
  406. package/dist/navbar-search-focused.js +6 -2
  407. package/dist/navbar-sidebar-mobile.cjs +6 -2
  408. package/dist/navbar-sidebar-mobile.js +6 -2
  409. package/dist/navbar-simple-links.cjs +6 -2
  410. package/dist/navbar-simple-links.js +6 -2
  411. package/dist/navbar-split-cta.cjs +6 -2
  412. package/dist/navbar-split-cta.js +6 -2
  413. package/dist/navbar-sticky-compact.cjs +6 -2
  414. package/dist/navbar-sticky-compact.js +6 -2
  415. package/dist/navbar-tabbed-sections.cjs +6 -2
  416. package/dist/navbar-tabbed-sections.js +6 -2
  417. package/dist/navbar-transparent-overlay.cjs +6 -2
  418. package/dist/navbar-transparent-overlay.js +6 -2
  419. package/dist/offer-modal-membership-image.cjs +6 -2
  420. package/dist/offer-modal-membership-image.js +6 -2
  421. package/dist/offer-modal-newsletter-discount.cjs +6 -2
  422. package/dist/offer-modal-newsletter-discount.js +6 -2
  423. package/dist/offer-modal-sheet-newsletter.cjs +6 -2
  424. package/dist/offer-modal-sheet-newsletter.js +6 -2
  425. package/dist/payment-platform-icon.cjs +27 -2
  426. package/dist/payment-platform-icon.js +7 -2
  427. package/dist/pricing-addons-cards.cjs +19 -15
  428. package/dist/pricing-addons-cards.js +16 -12
  429. package/dist/pricing-addons-featured.cjs +20 -16
  430. package/dist/pricing-addons-featured.js +16 -12
  431. package/dist/pricing-collapsible-plans.cjs +19 -15
  432. package/dist/pricing-collapsible-plans.js +16 -12
  433. package/dist/pricing-columns-toggle.cjs +20 -16
  434. package/dist/pricing-columns-toggle.js +16 -12
  435. package/dist/pricing-comparison-headers.cjs +21 -17
  436. package/dist/pricing-comparison-headers.js +16 -12
  437. package/dist/pricing-comparison-table.cjs +21 -17
  438. package/dist/pricing-comparison-table.js +16 -12
  439. package/dist/pricing-discount-card.cjs +18 -14
  440. package/dist/pricing-discount-card.js +16 -12
  441. package/dist/pricing-enterprise-contact.cjs +18 -14
  442. package/dist/pricing-enterprise-contact.js +16 -12
  443. package/dist/pricing-feature-matrix.cjs +19 -15
  444. package/dist/pricing-feature-matrix.js +16 -12
  445. package/dist/pricing-four-tier-toggle.cjs +20 -16
  446. package/dist/pricing-four-tier-toggle.js +16 -12
  447. package/dist/pricing-full-comparison.cjs +19 -15
  448. package/dist/pricing-full-comparison.js +17 -13
  449. package/dist/pricing-gradient-cards.cjs +20 -16
  450. package/dist/pricing-gradient-cards.js +16 -12
  451. package/dist/pricing-icon-headers.cjs +19 -15
  452. package/dist/pricing-icon-headers.js +16 -12
  453. package/dist/pricing-minimal-cards.cjs +19 -15
  454. package/dist/pricing-minimal-cards.js +16 -12
  455. package/dist/pricing-packages-radio.cjs +18 -14
  456. package/dist/pricing-packages-radio.js +16 -12
  457. package/dist/pricing-popular-highlight.cjs +20 -16
  458. package/dist/pricing-popular-highlight.js +16 -12
  459. package/dist/pricing-radio-toggle.cjs +20 -16
  460. package/dist/pricing-radio-toggle.js +16 -12
  461. package/dist/pricing-responsive-table.cjs +18 -14
  462. package/dist/pricing-responsive-table.js +16 -12
  463. package/dist/pricing-services-cards.cjs +19 -15
  464. package/dist/pricing-services-cards.js +16 -12
  465. package/dist/pricing-simple-card.cjs +18 -14
  466. package/dist/pricing-simple-card.js +16 -12
  467. package/dist/pricing-single-card.cjs +19 -15
  468. package/dist/pricing-single-card.js +16 -12
  469. package/dist/pricing-split-layout.cjs +16 -12
  470. package/dist/pricing-split-layout.js +16 -12
  471. package/dist/pricing-spotlight-card.cjs +18 -14
  472. package/dist/pricing-spotlight-card.js +16 -12
  473. package/dist/pricing-switch-cards.cjs +20 -16
  474. package/dist/pricing-switch-cards.js +16 -12
  475. package/dist/pricing-tabs-toggle.cjs +20 -16
  476. package/dist/pricing-tabs-toggle.js +16 -12
  477. package/dist/pricing-tier-grid.cjs +19 -15
  478. package/dist/pricing-tier-grid.js +16 -12
  479. package/dist/pricing-toggle-cards.cjs +20 -16
  480. package/dist/pricing-toggle-cards.js +16 -12
  481. package/dist/pricing-toggle-period.cjs +18 -14
  482. package/dist/pricing-toggle-period.js +16 -12
  483. package/dist/pricing-two-column-basic.cjs +20 -16
  484. package/dist/pricing-two-column-basic.js +16 -12
  485. package/dist/process-expandable-timeline.cjs +6 -2
  486. package/dist/process-expandable-timeline.js +6 -2
  487. package/dist/process-icon-timeline.cjs +26 -6
  488. package/dist/process-icon-timeline.js +10 -5
  489. package/dist/process-numbered-services.cjs +6 -2
  490. package/dist/process-numbered-services.js +6 -2
  491. package/dist/process-roadmap-timeline.cjs +26 -6
  492. package/dist/process-roadmap-timeline.js +10 -5
  493. package/dist/process-scroll-image.cjs +24 -20
  494. package/dist/process-scroll-image.js +22 -18
  495. package/dist/process-steps-grid.cjs +26 -6
  496. package/dist/process-steps-grid.js +10 -5
  497. package/dist/process-sticky-steps.cjs +6 -2
  498. package/dist/process-sticky-steps.js +6 -2
  499. package/dist/project-background-reveal.cjs +17 -13
  500. package/dist/project-background-reveal.js +16 -12
  501. package/dist/project-card-overlay.cjs +26 -6
  502. package/dist/project-card-overlay.js +10 -5
  503. package/dist/project-carousel-cinematic.cjs +31 -27
  504. package/dist/project-carousel-cinematic.js +26 -22
  505. package/dist/project-carousel-detail-cards.cjs +31 -27
  506. package/dist/project-carousel-detail-cards.js +26 -22
  507. package/dist/project-carousel-minimal.cjs +31 -27
  508. package/dist/project-carousel-minimal.js +26 -22
  509. package/dist/project-detail-architecture-carousel.cjs +6 -2
  510. package/dist/project-detail-architecture-carousel.js +6 -2
  511. package/dist/project-detail-list-related.cjs +6 -2
  512. package/dist/project-detail-list-related.js +6 -2
  513. package/dist/project-detail-photography-breadcrumb.cjs +6 -2
  514. package/dist/project-detail-photography-breadcrumb.js +6 -2
  515. package/dist/project-detail-tabbed-case-study.cjs +6 -2
  516. package/dist/project-detail-tabbed-case-study.js +6 -2
  517. package/dist/project-experience-quote.cjs +17 -13
  518. package/dist/project-experience-quote.js +16 -12
  519. package/dist/project-featured-carousel.cjs +27 -23
  520. package/dist/project-featured-carousel.js +26 -22
  521. package/dist/project-horizontal-cards.cjs +17 -13
  522. package/dist/project-horizontal-cards.js +16 -12
  523. package/dist/project-interactive-hover-reveal.cjs +18 -14
  524. package/dist/project-interactive-hover-reveal.js +16 -12
  525. package/dist/project-scroll-reveal.cjs +26 -6
  526. package/dist/project-scroll-reveal.js +10 -5
  527. package/dist/project-video-carousel.cjs +31 -27
  528. package/dist/project-video-carousel.js +26 -22
  529. package/dist/project-video-hover-bento.cjs +26 -6
  530. package/dist/project-video-hover-bento.js +10 -5
  531. package/dist/project-video-hover-grid.cjs +26 -6
  532. package/dist/project-video-hover-grid.js +10 -5
  533. package/dist/project-video-hover-rounded.cjs +26 -6
  534. package/dist/project-video-hover-rounded.js +10 -5
  535. package/dist/project-video-hover-stack.cjs +26 -6
  536. package/dist/project-video-hover-stack.js +10 -5
  537. package/dist/project-video-hover-two-by-two.cjs +26 -6
  538. package/dist/project-video-hover-two-by-two.js +10 -5
  539. package/dist/project-work-showcase.cjs +17 -13
  540. package/dist/project-work-showcase.js +16 -12
  541. package/dist/project-zigzag-layout.cjs +16 -12
  542. package/dist/project-zigzag-layout.js +16 -12
  543. package/dist/registry.cjs +1737 -1717
  544. package/dist/registry.js +507 -487
  545. package/dist/resource-detail-document-sidebar.cjs +6 -2
  546. package/dist/resource-detail-document-sidebar.js +6 -2
  547. package/dist/resource-detail-whitepaper-sidebar.cjs +6 -2
  548. package/dist/resource-detail-whitepaper-sidebar.js +6 -2
  549. package/dist/resource-list-course-cards.cjs +6 -2
  550. package/dist/resource-list-course-cards.js +6 -2
  551. package/dist/resource-list-featured-articles.cjs +6 -2
  552. package/dist/resource-list-featured-articles.js +6 -2
  553. package/dist/resource-list-featured-grid.cjs +6 -2
  554. package/dist/resource-list-featured-grid.js +6 -2
  555. package/dist/resource-list-hero-filter.cjs +6 -2
  556. package/dist/resource-list-hero-filter.js +6 -2
  557. package/dist/resource-list-news-updates.cjs +6 -2
  558. package/dist/resource-list-news-updates.js +6 -2
  559. package/dist/service-detail-centered-expertise.cjs +16 -12
  560. package/dist/service-detail-centered-expertise.js +16 -12
  561. package/dist/service-detail-compact-cards.cjs +16 -12
  562. package/dist/service-detail-compact-cards.js +16 -12
  563. package/dist/service-detail-sidebar-related.cjs +16 -12
  564. package/dist/service-detail-sidebar-related.js +16 -12
  565. package/dist/service-detail-sidebar-stats.cjs +27 -7
  566. package/dist/service-detail-sidebar-stats.js +10 -5
  567. package/dist/service-hover-carousel.cjs +38 -34
  568. package/dist/service-hover-carousel.js +26 -22
  569. package/dist/services-list-accordion-benefits.cjs +16 -12
  570. package/dist/services-list-accordion-benefits.js +16 -12
  571. package/dist/services-list-accordion.cjs +10 -8
  572. package/dist/services-list-accordion.js +10 -5
  573. package/dist/services-list-cards-hover.cjs +16 -12
  574. package/dist/services-list-cards-hover.js +16 -12
  575. package/dist/services-list-category-accordion.cjs +10 -8
  576. package/dist/services-list-category-accordion.js +10 -5
  577. package/dist/services-list-centered-icons.cjs +27 -7
  578. package/dist/services-list-centered-icons.js +10 -5
  579. package/dist/services-list-culture-tabs.cjs +16 -12
  580. package/dist/services-list-culture-tabs.js +16 -12
  581. package/dist/services-list-feature-spotlight.cjs +27 -7
  582. package/dist/services-list-feature-spotlight.js +10 -5
  583. package/dist/services-list-featured-highlight.cjs +16 -12
  584. package/dist/services-list-featured-highlight.js +16 -12
  585. package/dist/services-list-hero-cards.cjs +6 -2
  586. package/dist/services-list-hero-cards.js +6 -2
  587. package/dist/services-list-icon-grid.cjs +27 -7
  588. package/dist/services-list-icon-grid.js +10 -5
  589. package/dist/services-list-image-cards.cjs +6 -2
  590. package/dist/services-list-image-cards.js +6 -2
  591. package/dist/services-list-image-overlay-grid.cjs +6 -2
  592. package/dist/services-list-image-overlay-grid.js +6 -2
  593. package/dist/services-list-masonry.cjs +16 -12
  594. package/dist/services-list-masonry.js +16 -12
  595. package/dist/services-list-methodology-steps.cjs +16 -12
  596. package/dist/services-list-methodology-steps.js +16 -12
  597. package/dist/services-list-minimal-grid.cjs +16 -12
  598. package/dist/services-list-minimal-grid.js +16 -12
  599. package/dist/services-list-muted-cards.cjs +27 -7
  600. package/dist/services-list-muted-cards.js +10 -5
  601. package/dist/services-list-numbered-steps.cjs +16 -12
  602. package/dist/services-list-numbered-steps.js +16 -12
  603. package/dist/services-list-pricing-grid.cjs +16 -12
  604. package/dist/services-list-pricing-grid.js +16 -12
  605. package/dist/services-list-progress-sidebar.cjs +16 -12
  606. package/dist/services-list-progress-sidebar.js +16 -12
  607. package/dist/services-list-split-checklist.cjs +16 -12
  608. package/dist/services-list-split-checklist.js +16 -12
  609. package/dist/services-list-sticky-image.cjs +6 -2
  610. package/dist/services-list-sticky-image.js +6 -2
  611. package/dist/services-list-table-hover.cjs +6 -2
  612. package/dist/services-list-table-hover.js +6 -2
  613. package/dist/services-list-tabs-features.cjs +10 -8
  614. package/dist/services-list-tabs-features.js +10 -5
  615. package/dist/services-list-timeline.cjs +16 -12
  616. package/dist/services-list-timeline.js +16 -12
  617. package/dist/services-list-two-column-grid.cjs +16 -12
  618. package/dist/services-list-two-column-grid.js +16 -12
  619. package/dist/services-list-vertical-tags.cjs +27 -7
  620. package/dist/services-list-vertical-tags.js +10 -5
  621. package/dist/services-list-video-showcase.cjs +18 -14
  622. package/dist/services-list-video-showcase.js +18 -14
  623. package/dist/social-link-icon.cjs +6 -2
  624. package/dist/social-link-icon.js +6 -2
  625. package/dist/stats-animated-counter.cjs +17 -13
  626. package/dist/stats-animated-counter.js +15 -11
  627. package/dist/stats-card-group.cjs +26 -6
  628. package/dist/stats-card-group.js +10 -5
  629. package/dist/stats-growth-timeline.cjs +22 -18
  630. package/dist/stats-growth-timeline.js +16 -12
  631. package/dist/stats-icon-cards.cjs +26 -6
  632. package/dist/stats-icon-cards.js +10 -5
  633. package/dist/stats-impact-grid.cjs +23 -19
  634. package/dist/stats-impact-grid.js +16 -12
  635. package/dist/stats-primary-secondary.cjs +26 -6
  636. package/dist/stats-primary-secondary.js +10 -5
  637. package/dist/stats-timeline-tabs.cjs +9 -7
  638. package/dist/stats-timeline-tabs.js +10 -5
  639. package/dist/team-alternating-bios.cjs +17 -13
  640. package/dist/team-alternating-bios.js +17 -13
  641. package/dist/team-avatar-social.cjs +17 -13
  642. package/dist/team-avatar-social.js +17 -13
  643. package/dist/team-bio-badges.cjs +17 -13
  644. package/dist/team-bio-badges.js +17 -13
  645. package/dist/team-carousel-experience.cjs +27 -23
  646. package/dist/team-carousel-experience.js +27 -23
  647. package/dist/team-contact-cards.cjs +18 -14
  648. package/dist/team-contact-cards.js +18 -14
  649. package/dist/team-filterable-search.cjs +22 -18
  650. package/dist/team-filterable-search.js +22 -18
  651. package/dist/team-gradient-cards.cjs +17 -13
  652. package/dist/team-gradient-cards.js +17 -13
  653. package/dist/team-grid-animated.cjs +18 -14
  654. package/dist/team-grid-animated.js +18 -14
  655. package/dist/team-hover-highlight.cjs +17 -13
  656. package/dist/team-hover-highlight.js +17 -13
  657. package/dist/team-hover-overlay.cjs +17 -13
  658. package/dist/team-hover-overlay.js +17 -13
  659. package/dist/team-large-images.cjs +17 -13
  660. package/dist/team-large-images.js +17 -13
  661. package/dist/team-role-filter.cjs +20 -16
  662. package/dist/team-role-filter.js +20 -16
  663. package/dist/team-skill-badges.cjs +17 -13
  664. package/dist/team-skill-badges.js +17 -13
  665. package/dist/team-social-cards.cjs +17 -13
  666. package/dist/team-social-cards.js +17 -13
  667. package/dist/team-social-grid.cjs +17 -13
  668. package/dist/team-social-grid.js +17 -13
  669. package/dist/team-testimonial-stats.cjs +17 -13
  670. package/dist/team-testimonial-stats.js +17 -13
  671. package/dist/testimonial-carousel-cards.cjs +33 -29
  672. package/dist/testimonial-carousel-cards.js +26 -22
  673. package/dist/testimonials-animated-split.cjs +9 -7
  674. package/dist/testimonials-animated-split.js +10 -5
  675. package/dist/testimonials-bento-grid.cjs +9 -7
  676. package/dist/testimonials-bento-grid.js +10 -5
  677. package/dist/testimonials-carousel-image.cjs +18 -14
  678. package/dist/testimonials-carousel-image.js +13 -9
  679. package/dist/testimonials-company-logo.cjs +26 -6
  680. package/dist/testimonials-company-logo.js +10 -5
  681. package/dist/testimonials-grid-add-review.cjs +9 -7
  682. package/dist/testimonials-grid-add-review.js +10 -5
  683. package/dist/testimonials-images-helpful.cjs +21 -17
  684. package/dist/testimonials-images-helpful.js +16 -12
  685. package/dist/testimonials-large-quote.cjs +9 -7
  686. package/dist/testimonials-large-quote.js +10 -5
  687. package/dist/testimonials-list-verified.cjs +9 -7
  688. package/dist/testimonials-list-verified.js +10 -5
  689. package/dist/testimonials-mini-dividers.cjs +9 -7
  690. package/dist/testimonials-mini-dividers.js +10 -5
  691. package/dist/testimonials-minimal-numbered.cjs +9 -7
  692. package/dist/testimonials-minimal-numbered.js +10 -5
  693. package/dist/testimonials-quote-carousel.cjs +31 -27
  694. package/dist/testimonials-quote-carousel.js +26 -22
  695. package/dist/testimonials-scrolling-columns.cjs +26 -6
  696. package/dist/testimonials-scrolling-columns.js +10 -5
  697. package/dist/testimonials-split-image.cjs +9 -7
  698. package/dist/testimonials-split-image.js +10 -5
  699. package/dist/testimonials-stats-header.cjs +9 -7
  700. package/dist/testimonials-stats-header.js +10 -5
  701. package/dist/testimonials-twitter-cards.cjs +19 -15
  702. package/dist/testimonials-twitter-cards.js +16 -12
  703. package/dist/timeline-ai-workflow-cards.cjs +27 -7
  704. package/dist/timeline-ai-workflow-cards.js +10 -5
  705. package/dist/timeline-alternating-diagonal.cjs +12 -8
  706. package/dist/timeline-alternating-diagonal.js +12 -8
  707. package/dist/timeline-horizontal-icons.cjs +10 -8
  708. package/dist/timeline-horizontal-icons.js +10 -5
  709. package/dist/timeline-productivity-list.cjs +27 -7
  710. package/dist/timeline-productivity-list.js +10 -5
  711. package/dist/timeline-stepper-animated.cjs +22 -18
  712. package/dist/timeline-stepper-animated.js +21 -17
  713. package/dist/timeline-tabbed-phases.cjs +6 -2
  714. package/dist/timeline-tabbed-phases.js +6 -2
  715. package/dist/timeline-vertical-icon-dashed.cjs +6 -2
  716. package/dist/timeline-vertical-icon-dashed.js +6 -2
  717. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React3 = require('react');
4
+ var React4 = require('react');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var img = require('@page-speed/img');
@@ -29,7 +29,7 @@ function _interopNamespace(e) {
29
29
  return Object.freeze(n);
30
30
  }
31
31
 
32
- var React3__namespace = /*#__PURE__*/_interopNamespace(React3);
32
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
33
33
  var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
34
34
 
35
35
  // components/blocks/about/community-initiatives.tsx
@@ -37,9 +37,13 @@ function cn(...inputs) {
37
37
  return tailwindMerge.twMerge(clsx.clsx(inputs));
38
38
  }
39
39
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
40
- function DynamicIcon({ apiKey, ...props }) {
40
+ var DynamicIcon = React4__namespace.memo(function DynamicIcon2({
41
+ apiKey,
42
+ ...props
43
+ }) {
41
44
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
42
- }
45
+ });
46
+ DynamicIcon.displayName = "DynamicIcon";
43
47
  function Tabs({
44
48
  className,
45
49
  ...props
@@ -162,7 +166,7 @@ var maxWidthStyles = {
162
166
  "4xl": "max-w-[1536px]",
163
167
  full: "max-w-full"
164
168
  };
165
- var Container = React3__namespace.default.forwardRef(
169
+ var Container = React4__namespace.default.forwardRef(
166
170
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
167
171
  const Component = as;
168
172
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -468,7 +472,7 @@ var spacingStyles = {
468
472
  };
469
473
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
470
474
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
471
- var Section = React3__namespace.default.forwardRef(
475
+ var Section = React4__namespace.default.forwardRef(
472
476
  ({
473
477
  id,
474
478
  title,
@@ -604,7 +608,7 @@ function useNavigation({
604
608
  href,
605
609
  onClick
606
610
  } = {}) {
607
- const linkType = React3__namespace.useMemo(() => {
611
+ const linkType = React4__namespace.useMemo(() => {
608
612
  if (!href || href.trim() === "") {
609
613
  return onClick ? "none" : "none";
610
614
  }
@@ -625,7 +629,7 @@ function useNavigation({
625
629
  return "internal";
626
630
  }
627
631
  }, [href, onClick]);
628
- const normalizedHref = React3__namespace.useMemo(() => {
632
+ const normalizedHref = React4__namespace.useMemo(() => {
629
633
  if (!href || href.trim() === "") {
630
634
  return void 0;
631
635
  }
@@ -643,7 +647,7 @@ function useNavigation({
643
647
  return trimmed;
644
648
  }
645
649
  }, [href, linkType]);
646
- const target = React3__namespace.useMemo(() => {
650
+ const target = React4__namespace.useMemo(() => {
647
651
  switch (linkType) {
648
652
  case "external":
649
653
  return "_blank";
@@ -656,7 +660,7 @@ function useNavigation({
656
660
  return void 0;
657
661
  }
658
662
  }, [linkType]);
659
- const rel = React3__namespace.useMemo(() => {
663
+ const rel = React4__namespace.useMemo(() => {
660
664
  if (linkType === "external") {
661
665
  return "noopener noreferrer";
662
666
  }
@@ -665,7 +669,7 @@ function useNavigation({
665
669
  const isExternal = linkType === "external";
666
670
  const isInternal = linkType === "internal";
667
671
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
668
- const handleClick = React3__namespace.useCallback(
672
+ const handleClick = React4__namespace.useCallback(
669
673
  (event) => {
670
674
  if (onClick) {
671
675
  try {
@@ -849,7 +853,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
849
853
  size: "default"
850
854
  }
851
855
  });
852
- var Pressable = React3__namespace.forwardRef(
856
+ var Pressable = React4__namespace.forwardRef(
853
857
  ({
854
858
  children,
855
859
  className,
@@ -1039,17 +1043,17 @@ function CommunityInitiatives({
1039
1043
  pattern,
1040
1044
  patternOpacity
1041
1045
  }) {
1042
- const [activeCategory, setActiveCategory] = React3__namespace.useState(
1046
+ const [activeCategory, setActiveCategory] = React4__namespace.useState(
1043
1047
  categories?.[0]?.id || ""
1044
1048
  );
1045
1049
  const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
1046
- const handleCategoryChange = React3.useCallback(
1050
+ const handleCategoryChange = React4.useCallback(
1047
1051
  (e) => {
1048
1052
  setActiveCategory(e.target.value);
1049
1053
  },
1050
1054
  []
1051
1055
  );
1052
- const categoriesContent = React3.useMemo(() => {
1056
+ const categoriesContent = React4.useMemo(() => {
1053
1057
  if (categoriesSlot) return categoriesSlot;
1054
1058
  if (!categories || categories.length === 0) return null;
1055
1059
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React3 from 'react';
3
- import React3__default, { useCallback, useMemo } from 'react';
2
+ import * as React4 from 'react';
3
+ import React4__default, { useCallback, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Img } from '@page-speed/img';
@@ -15,9 +15,13 @@ function cn(...inputs) {
15
15
  return twMerge(clsx(inputs));
16
16
  }
17
17
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
18
- function DynamicIcon({ apiKey, ...props }) {
18
+ var DynamicIcon = React4.memo(function DynamicIcon2({
19
+ apiKey,
20
+ ...props
21
+ }) {
19
22
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
20
- }
23
+ });
24
+ DynamicIcon.displayName = "DynamicIcon";
21
25
  function Tabs({
22
26
  className,
23
27
  ...props
@@ -140,7 +144,7 @@ var maxWidthStyles = {
140
144
  "4xl": "max-w-[1536px]",
141
145
  full: "max-w-full"
142
146
  };
143
- var Container = React3__default.forwardRef(
147
+ var Container = React4__default.forwardRef(
144
148
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
145
149
  const Component = as;
146
150
  return /* @__PURE__ */ jsx(
@@ -446,7 +450,7 @@ var spacingStyles = {
446
450
  };
447
451
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
448
452
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
449
- var Section = React3__default.forwardRef(
453
+ var Section = React4__default.forwardRef(
450
454
  ({
451
455
  id,
452
456
  title,
@@ -582,7 +586,7 @@ function useNavigation({
582
586
  href,
583
587
  onClick
584
588
  } = {}) {
585
- const linkType = React3.useMemo(() => {
589
+ const linkType = React4.useMemo(() => {
586
590
  if (!href || href.trim() === "") {
587
591
  return onClick ? "none" : "none";
588
592
  }
@@ -603,7 +607,7 @@ function useNavigation({
603
607
  return "internal";
604
608
  }
605
609
  }, [href, onClick]);
606
- const normalizedHref = React3.useMemo(() => {
610
+ const normalizedHref = React4.useMemo(() => {
607
611
  if (!href || href.trim() === "") {
608
612
  return void 0;
609
613
  }
@@ -621,7 +625,7 @@ function useNavigation({
621
625
  return trimmed;
622
626
  }
623
627
  }, [href, linkType]);
624
- const target = React3.useMemo(() => {
628
+ const target = React4.useMemo(() => {
625
629
  switch (linkType) {
626
630
  case "external":
627
631
  return "_blank";
@@ -634,7 +638,7 @@ function useNavigation({
634
638
  return void 0;
635
639
  }
636
640
  }, [linkType]);
637
- const rel = React3.useMemo(() => {
641
+ const rel = React4.useMemo(() => {
638
642
  if (linkType === "external") {
639
643
  return "noopener noreferrer";
640
644
  }
@@ -643,7 +647,7 @@ function useNavigation({
643
647
  const isExternal = linkType === "external";
644
648
  const isInternal = linkType === "internal";
645
649
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
646
- const handleClick = React3.useCallback(
650
+ const handleClick = React4.useCallback(
647
651
  (event) => {
648
652
  if (onClick) {
649
653
  try {
@@ -827,7 +831,7 @@ var buttonVariants = cva(baseStyles, {
827
831
  size: "default"
828
832
  }
829
833
  });
830
- var Pressable = React3.forwardRef(
834
+ var Pressable = React4.forwardRef(
831
835
  ({
832
836
  children,
833
837
  className,
@@ -1017,7 +1021,7 @@ function CommunityInitiatives({
1017
1021
  pattern,
1018
1022
  patternOpacity
1019
1023
  }) {
1020
- const [activeCategory, setActiveCategory] = React3.useState(
1024
+ const [activeCategory, setActiveCategory] = React4.useState(
1021
1025
  categories?.[0]?.id || ""
1022
1026
  );
1023
1027
  const currentCategory = categories?.find((category) => category.id === activeCategory) || categories?.[0];
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React3 = require('react');
4
+ var React4 = 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 React3__namespace = /*#__PURE__*/_interopNamespace(React3);
29
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
30
30
 
31
31
  // components/blocks/comparison/comparison-ai-models.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 = React4__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 Table({ className, ...props }) {
70
74
  return /* @__PURE__ */ jsxRuntime.jsx(
71
75
  "div",
@@ -151,7 +155,7 @@ var maxWidthStyles = {
151
155
  "4xl": "max-w-[1536px]",
152
156
  full: "max-w-full"
153
157
  };
154
- var Container = React3__namespace.default.forwardRef(
158
+ var Container = React4__namespace.default.forwardRef(
155
159
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
156
160
  const Component = as;
157
161
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -457,7 +461,7 @@ var spacingStyles = {
457
461
  };
458
462
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
459
463
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
460
- var Section = React3__namespace.default.forwardRef(
464
+ var Section = React4__namespace.default.forwardRef(
461
465
  ({
462
466
  id,
463
467
  title,
@@ -538,8 +542,8 @@ function ComparisonAiModels({
538
542
  patternOpacity,
539
543
  optixFlowConfig
540
544
  }) {
541
- const [hoveredModel, setHoveredModel] = React3.useState(null);
542
- const renderStatusIcon = React3__namespace.useCallback((status) => {
545
+ const [hoveredModel, setHoveredModel] = React4.useState(null);
546
+ const renderStatusIcon = React4__namespace.useCallback((status) => {
543
547
  if (status === "best") {
544
548
  return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" });
545
549
  }
@@ -548,7 +552,7 @@ function ComparisonAiModels({
548
552
  }
549
553
  return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/minus", size: 16, className: "text-muted-foreground" });
550
554
  }, []);
551
- const getCellClassName = React3__namespace.useCallback(
555
+ const getCellClassName = React4__namespace.useCallback(
552
556
  (status, modelKey) => {
553
557
  const baseClass = "cursor-pointer py-4 text-center font-medium transition-all duration-300";
554
558
  let statusClass = "";
@@ -569,7 +573,7 @@ function ComparisonAiModels({
569
573
  },
570
574
  [hoveredModel]
571
575
  );
572
- const getSummaryCardClassName = React3__namespace.useCallback(
576
+ const getSummaryCardClassName = React4__namespace.useCallback(
573
577
  (modelKey) => {
574
578
  const baseClass = "rounded border border-border/30 bg-background/50 p-3 transition-all duration-300";
575
579
  if (hoveredModel === modelKey) {
@@ -584,7 +588,7 @@ function ComparisonAiModels({
584
588
  },
585
589
  [hoveredModel]
586
590
  );
587
- const tableContent = React3__namespace.useMemo(() => {
591
+ const tableContent = React4__namespace.useMemo(() => {
588
592
  if (tableSlot) return tableSlot;
589
593
  if (!models || !comparisonData || comparisonData.length === 0) return null;
590
594
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -662,7 +666,7 @@ function ComparisonAiModels({
662
666
  getCellClassName,
663
667
  renderStatusIcon
664
668
  ]);
665
- const analysisContent = React3__namespace.useMemo(() => {
669
+ const analysisContent = React4__namespace.useMemo(() => {
666
670
  if (analysisSlot) return analysisSlot;
667
671
  if (!models) return null;
668
672
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
@@ -703,14 +707,14 @@ function ComparisonAiModels({
703
707
  ] })
704
708
  ] }) });
705
709
  }, [analysisSlot, models, analysisClassName, getSummaryCardClassName]);
706
- const headingContent = React3__namespace.useMemo(() => {
710
+ const headingContent = React4__namespace.useMemo(() => {
707
711
  if (!heading) return null;
708
712
  if (typeof heading === "string") {
709
713
  return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
710
714
  }
711
715
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading });
712
716
  }, [heading, headingClassName]);
713
- const descriptionContent = React3__namespace.useMemo(() => {
717
+ const descriptionContent = React4__namespace.useMemo(() => {
714
718
  if (!description) return null;
715
719
  if (typeof description === "string") {
716
720
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React3 from 'react';
3
- import React3__default, { useState } from 'react';
2
+ import * as React4 from 'react';
3
+ import React4__default, { 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 = React4.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 Table({ className, ...props }) {
49
53
  return /* @__PURE__ */ jsx(
50
54
  "div",
@@ -130,7 +134,7 @@ var maxWidthStyles = {
130
134
  "4xl": "max-w-[1536px]",
131
135
  full: "max-w-full"
132
136
  };
133
- var Container = React3__default.forwardRef(
137
+ var Container = React4__default.forwardRef(
134
138
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
135
139
  const Component = as;
136
140
  return /* @__PURE__ */ jsx(
@@ -436,7 +440,7 @@ var spacingStyles = {
436
440
  };
437
441
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
438
442
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
439
- var Section = React3__default.forwardRef(
443
+ var Section = React4__default.forwardRef(
440
444
  ({
441
445
  id,
442
446
  title,
@@ -518,7 +522,7 @@ function ComparisonAiModels({
518
522
  optixFlowConfig
519
523
  }) {
520
524
  const [hoveredModel, setHoveredModel] = useState(null);
521
- const renderStatusIcon = React3.useCallback((status) => {
525
+ const renderStatusIcon = React4.useCallback((status) => {
522
526
  if (status === "best") {
523
527
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check", size: 16, className: "text-success" });
524
528
  }
@@ -527,7 +531,7 @@ function ComparisonAiModels({
527
531
  }
528
532
  return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/minus", size: 16, className: "text-muted-foreground" });
529
533
  }, []);
530
- const getCellClassName = React3.useCallback(
534
+ const getCellClassName = React4.useCallback(
531
535
  (status, modelKey) => {
532
536
  const baseClass = "cursor-pointer py-4 text-center font-medium transition-all duration-300";
533
537
  let statusClass = "";
@@ -548,7 +552,7 @@ function ComparisonAiModels({
548
552
  },
549
553
  [hoveredModel]
550
554
  );
551
- const getSummaryCardClassName = React3.useCallback(
555
+ const getSummaryCardClassName = React4.useCallback(
552
556
  (modelKey) => {
553
557
  const baseClass = "rounded border border-border/30 bg-background/50 p-3 transition-all duration-300";
554
558
  if (hoveredModel === modelKey) {
@@ -563,7 +567,7 @@ function ComparisonAiModels({
563
567
  },
564
568
  [hoveredModel]
565
569
  );
566
- const tableContent = React3.useMemo(() => {
570
+ const tableContent = React4.useMemo(() => {
567
571
  if (tableSlot) return tableSlot;
568
572
  if (!models || !comparisonData || comparisonData.length === 0) return null;
569
573
  return /* @__PURE__ */ jsx(
@@ -641,7 +645,7 @@ function ComparisonAiModels({
641
645
  getCellClassName,
642
646
  renderStatusIcon
643
647
  ]);
644
- const analysisContent = React3.useMemo(() => {
648
+ const analysisContent = React4.useMemo(() => {
645
649
  if (analysisSlot) return analysisSlot;
646
650
  if (!models) return null;
647
651
  return /* @__PURE__ */ jsx("div", { className: cn(
@@ -682,14 +686,14 @@ function ComparisonAiModels({
682
686
  ] })
683
687
  ] }) });
684
688
  }, [analysisSlot, models, analysisClassName, getSummaryCardClassName]);
685
- const headingContent = React3.useMemo(() => {
689
+ const headingContent = React4.useMemo(() => {
686
690
  if (!heading) return null;
687
691
  if (typeof heading === "string") {
688
692
  return /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-bold md:text-4xl lg:text-5xl", headingClassName), children: heading });
689
693
  }
690
694
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
691
695
  }, [heading, headingClassName]);
692
- const descriptionContent = React3.useMemo(() => {
696
+ const descriptionContent = React4.useMemo(() => {
693
697
  if (!description) return null;
694
698
  if (typeof description === "string") {
695
699
  return /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-muted-foreground md:text-lg", descriptionClassName), children: description });
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React3 = require('react');
4
+ var React4 = 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 React3__namespace = /*#__PURE__*/_interopNamespace(React3);
30
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
31
31
  var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
32
32
 
33
33
  // components/blocks/comparison/comparison-feature-cards.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 = React4__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 Separator({
42
46
  className,
43
47
  orientation = "horizontal",
@@ -67,7 +71,7 @@ var maxWidthStyles = {
67
71
  "4xl": "max-w-[1536px]",
68
72
  full: "max-w-full"
69
73
  };
70
- var Container = React3__namespace.default.forwardRef(
74
+ var Container = React4__namespace.default.forwardRef(
71
75
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
72
76
  const Component = as;
73
77
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -373,7 +377,7 @@ var spacingStyles = {
373
377
  };
374
378
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
375
379
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
376
- var Section = React3__namespace.default.forwardRef(
380
+ var Section = React4__namespace.default.forwardRef(
377
381
  ({
378
382
  id,
379
383
  title,
@@ -458,7 +462,7 @@ function ComparisonFeatureCards({
458
462
  patternOpacity,
459
463
  optixFlowConfig
460
464
  }) {
461
- const renderCard = React3__namespace.useCallback(
465
+ const renderCard = React4__namespace.useCallback(
462
466
  (product, isHighlighted) => /* @__PURE__ */ jsxRuntime.jsxs(
463
467
  "div",
464
468
  {
@@ -514,7 +518,7 @@ function ComparisonFeatureCards({
514
518
  ),
515
519
  [cardClassName, optixFlowConfig]
516
520
  );
517
- const cardsContent = React3__namespace.useMemo(() => {
521
+ const cardsContent = React4__namespace.useMemo(() => {
518
522
  if (cardsSlot) return cardsSlot;
519
523
  if (!productA || !productB) return null;
520
524
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -522,28 +526,28 @@ function ComparisonFeatureCards({
522
526
  renderCard(productB, productB.highlighted ?? false)
523
527
  ] });
524
528
  }, [cardsSlot, productA, productB, renderCard]);
525
- const headingContent = React3__namespace.useMemo(() => {
529
+ const headingContent = React4__namespace.useMemo(() => {
526
530
  if (!heading) return null;
527
531
  if (typeof heading === "string") {
528
532
  return /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-6 text-4xl font-semibold md:text-7xl", headingClassName), children: heading });
529
533
  }
530
534
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading });
531
535
  }, [heading, headingClassName]);
532
- const descriptionContent = React3__namespace.useMemo(() => {
536
+ const descriptionContent = React4__namespace.useMemo(() => {
533
537
  if (!description) return null;
534
538
  if (typeof description === "string") {
535
539
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto max-w-4xl text-muted-foreground md:text-xl", descriptionClassName), children: description });
536
540
  }
537
541
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description });
538
542
  }, [description, descriptionClassName]);
539
- const suitabilityContent = React3__namespace.useMemo(() => {
543
+ const suitabilityContent = React4__namespace.useMemo(() => {
540
544
  if (!suitabilityTitle && !suitabilityDescription) return null;
541
545
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: suitabilityClassName, children: [
542
546
  suitabilityTitle && (typeof suitabilityTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-4 text-3xl font-semibold", children: suitabilityTitle }) : suitabilityTitle),
543
547
  suitabilityDescription && (typeof suitabilityDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-6 text-muted-foreground md:text-lg", children: suitabilityDescription }) : suitabilityDescription)
544
548
  ] });
545
549
  }, [suitabilityTitle, suitabilityDescription, suitabilityClassName]);
546
- const differencesContent = React3__namespace.useMemo(() => {
550
+ const differencesContent = React4__namespace.useMemo(() => {
547
551
  if (!differencesTitle && !differencesDescription) return null;
548
552
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16", differencesClassName), children: [
549
553
  differencesTitle && (typeof differencesTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-4 text-3xl font-semibold", children: differencesTitle }) : differencesTitle),
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React3 from 'react';
3
- import React3__default from 'react';
2
+ import * as React4 from 'react';
3
+ import React4__default 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 = React4.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 Separator({
20
24
  className,
21
25
  orientation = "horizontal",
@@ -45,7 +49,7 @@ var maxWidthStyles = {
45
49
  "4xl": "max-w-[1536px]",
46
50
  full: "max-w-full"
47
51
  };
48
- var Container = React3__default.forwardRef(
52
+ var Container = React4__default.forwardRef(
49
53
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
50
54
  const Component = as;
51
55
  return /* @__PURE__ */ jsx(
@@ -351,7 +355,7 @@ var spacingStyles = {
351
355
  };
352
356
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
353
357
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
354
- var Section = React3__default.forwardRef(
358
+ var Section = React4__default.forwardRef(
355
359
  ({
356
360
  id,
357
361
  title,
@@ -436,7 +440,7 @@ function ComparisonFeatureCards({
436
440
  patternOpacity,
437
441
  optixFlowConfig
438
442
  }) {
439
- const renderCard = React3.useCallback(
443
+ const renderCard = React4.useCallback(
440
444
  (product, isHighlighted) => /* @__PURE__ */ jsxs(
441
445
  "div",
442
446
  {
@@ -492,7 +496,7 @@ function ComparisonFeatureCards({
492
496
  ),
493
497
  [cardClassName, optixFlowConfig]
494
498
  );
495
- const cardsContent = React3.useMemo(() => {
499
+ const cardsContent = React4.useMemo(() => {
496
500
  if (cardsSlot) return cardsSlot;
497
501
  if (!productA || !productB) return null;
498
502
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -500,28 +504,28 @@ function ComparisonFeatureCards({
500
504
  renderCard(productB, productB.highlighted ?? false)
501
505
  ] });
502
506
  }, [cardsSlot, productA, productB, renderCard]);
503
- const headingContent = React3.useMemo(() => {
507
+ const headingContent = React4.useMemo(() => {
504
508
  if (!heading) return null;
505
509
  if (typeof heading === "string") {
506
510
  return /* @__PURE__ */ jsx("h1", { className: cn("mb-6 text-4xl font-semibold md:text-7xl", headingClassName), children: heading });
507
511
  }
508
512
  return /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading });
509
513
  }, [heading, headingClassName]);
510
- const descriptionContent = React3.useMemo(() => {
514
+ const descriptionContent = React4.useMemo(() => {
511
515
  if (!description) return null;
512
516
  if (typeof description === "string") {
513
517
  return /* @__PURE__ */ jsx("p", { className: cn("mx-auto max-w-4xl text-muted-foreground md:text-xl", descriptionClassName), children: description });
514
518
  }
515
519
  return /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description });
516
520
  }, [description, descriptionClassName]);
517
- const suitabilityContent = React3.useMemo(() => {
521
+ const suitabilityContent = React4.useMemo(() => {
518
522
  if (!suitabilityTitle && !suitabilityDescription) return null;
519
523
  return /* @__PURE__ */ jsxs("div", { className: suitabilityClassName, children: [
520
524
  suitabilityTitle && (typeof suitabilityTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: suitabilityTitle }) : suitabilityTitle),
521
525
  suitabilityDescription && (typeof suitabilityDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "leading-6 text-muted-foreground md:text-lg", children: suitabilityDescription }) : suitabilityDescription)
522
526
  ] });
523
527
  }, [suitabilityTitle, suitabilityDescription, suitabilityClassName]);
524
- const differencesContent = React3.useMemo(() => {
528
+ const differencesContent = React4.useMemo(() => {
525
529
  if (!differencesTitle && !differencesDescription) return null;
526
530
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-16", differencesClassName), children: [
527
531
  differencesTitle && (typeof differencesTitle === "string" ? /* @__PURE__ */ jsx("h2", { className: "mb-4 text-3xl font-semibold", children: differencesTitle }) : differencesTitle),