@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,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 { 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
  var maxWidthStyles = {
20
24
  sm: "max-w-screen-sm",
21
25
  md: "max-w-screen-md",
@@ -25,7 +29,7 @@ var maxWidthStyles = {
25
29
  "4xl": "max-w-[1536px]",
26
30
  full: "max-w-full"
27
31
  };
28
- var Container = React3__default.forwardRef(
32
+ var Container = React4__default.forwardRef(
29
33
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
30
34
  const Component = as;
31
35
  return /* @__PURE__ */ jsx(
@@ -331,7 +335,7 @@ var spacingStyles = {
331
335
  };
332
336
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
333
337
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
334
- var Section = React3__default.forwardRef(
338
+ var Section = React4__default.forwardRef(
335
339
  ({
336
340
  id,
337
341
  title,
@@ -467,7 +471,7 @@ function useNavigation({
467
471
  href,
468
472
  onClick
469
473
  } = {}) {
470
- const linkType = React3.useMemo(() => {
474
+ const linkType = React4.useMemo(() => {
471
475
  if (!href || href.trim() === "") {
472
476
  return onClick ? "none" : "none";
473
477
  }
@@ -488,7 +492,7 @@ function useNavigation({
488
492
  return "internal";
489
493
  }
490
494
  }, [href, onClick]);
491
- const normalizedHref = React3.useMemo(() => {
495
+ const normalizedHref = React4.useMemo(() => {
492
496
  if (!href || href.trim() === "") {
493
497
  return void 0;
494
498
  }
@@ -506,7 +510,7 @@ function useNavigation({
506
510
  return trimmed;
507
511
  }
508
512
  }, [href, linkType]);
509
- const target = React3.useMemo(() => {
513
+ const target = React4.useMemo(() => {
510
514
  switch (linkType) {
511
515
  case "external":
512
516
  return "_blank";
@@ -519,7 +523,7 @@ function useNavigation({
519
523
  return void 0;
520
524
  }
521
525
  }, [linkType]);
522
- const rel = React3.useMemo(() => {
526
+ const rel = React4.useMemo(() => {
523
527
  if (linkType === "external") {
524
528
  return "noopener noreferrer";
525
529
  }
@@ -528,7 +532,7 @@ function useNavigation({
528
532
  const isExternal = linkType === "external";
529
533
  const isInternal = linkType === "internal";
530
534
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
531
- const handleClick = React3.useCallback(
535
+ const handleClick = React4.useCallback(
532
536
  (event) => {
533
537
  if (onClick) {
534
538
  try {
@@ -712,7 +716,7 @@ var buttonVariants = cva(baseStyles, {
712
716
  size: "default"
713
717
  }
714
718
  });
715
- var Pressable = React3.forwardRef(
719
+ var Pressable = React4.forwardRef(
716
720
  ({
717
721
  children,
718
722
  className,
@@ -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/features/feature-pattern-grid-links.tsx
32
32
  function cn(...inputs) {
@@ -59,9 +59,13 @@ function getTextColor(parentBg, variant = "default", options) {
59
59
  }
60
60
  }
61
61
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
62
- function DynamicIcon({ apiKey, ...props }) {
62
+ var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
63
+ apiKey,
64
+ ...props
65
+ }) {
63
66
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
64
- }
67
+ });
68
+ DynamicIcon.displayName = "DynamicIcon";
65
69
  function normalizePhoneNumber(input) {
66
70
  const trimmed = input.trim();
67
71
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -137,7 +141,7 @@ function useNavigation({
137
141
  href,
138
142
  onClick
139
143
  } = {}) {
140
- const linkType = React__namespace.useMemo(() => {
144
+ const linkType = React2__namespace.useMemo(() => {
141
145
  if (!href || href.trim() === "") {
142
146
  return onClick ? "none" : "none";
143
147
  }
@@ -158,7 +162,7 @@ function useNavigation({
158
162
  return "internal";
159
163
  }
160
164
  }, [href, onClick]);
161
- const normalizedHref = React__namespace.useMemo(() => {
165
+ const normalizedHref = React2__namespace.useMemo(() => {
162
166
  if (!href || href.trim() === "") {
163
167
  return void 0;
164
168
  }
@@ -176,7 +180,7 @@ function useNavigation({
176
180
  return trimmed;
177
181
  }
178
182
  }, [href, linkType]);
179
- const target = React__namespace.useMemo(() => {
183
+ const target = React2__namespace.useMemo(() => {
180
184
  switch (linkType) {
181
185
  case "external":
182
186
  return "_blank";
@@ -189,7 +193,7 @@ function useNavigation({
189
193
  return void 0;
190
194
  }
191
195
  }, [linkType]);
192
- const rel = React__namespace.useMemo(() => {
196
+ const rel = React2__namespace.useMemo(() => {
193
197
  if (linkType === "external") {
194
198
  return "noopener noreferrer";
195
199
  }
@@ -198,7 +202,7 @@ function useNavigation({
198
202
  const isExternal = linkType === "external";
199
203
  const isInternal = linkType === "internal";
200
204
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
201
- const handleClick = React__namespace.useCallback(
205
+ const handleClick = React2__namespace.useCallback(
202
206
  (event) => {
203
207
  if (onClick) {
204
208
  try {
@@ -382,7 +386,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
382
386
  size: "default"
383
387
  }
384
388
  });
385
- var Pressable = React__namespace.forwardRef(
389
+ var Pressable = React2__namespace.forwardRef(
386
390
  ({
387
391
  children,
388
392
  className,
@@ -489,7 +493,7 @@ var maxWidthStyles = {
489
493
  "4xl": "max-w-[1536px]",
490
494
  full: "max-w-full"
491
495
  };
492
- var Container = React__namespace.default.forwardRef(
496
+ var Container = React2__namespace.default.forwardRef(
493
497
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
494
498
  const Component = as;
495
499
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -795,7 +799,7 @@ var spacingStyles = {
795
799
  };
796
800
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
797
801
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
798
- var Section = React__namespace.default.forwardRef(
802
+ var Section = React2__namespace.default.forwardRef(
799
803
  ({
800
804
  id,
801
805
  title,
@@ -874,7 +878,7 @@ function FeaturePatternGridLinks({
874
878
  patternOpacity,
875
879
  patternClassName
876
880
  }) {
877
- const renderFeatureIcon = React.useCallback(
881
+ const renderFeatureIcon = React2.useCallback(
878
882
  (feature) => {
879
883
  if (feature.icon) return feature.icon;
880
884
  if (feature.iconName)
@@ -890,7 +894,7 @@ function FeaturePatternGridLinks({
890
894
  },
891
895
  []
892
896
  );
893
- const renderFeatureLink = React.useCallback(
897
+ const renderFeatureLink = React2.useCallback(
894
898
  (feature) => {
895
899
  if (feature.linkSlot) return feature.linkSlot;
896
900
  if (!feature.link && !feature.linkLabel) return null;
@@ -913,7 +917,7 @@ function FeaturePatternGridLinks({
913
917
  },
914
918
  []
915
919
  );
916
- const featuresContent = React.useMemo(() => {
920
+ const featuresContent = React2.useMemo(() => {
917
921
  if (featuresSlot) return featuresSlot;
918
922
  if (!features || features.length === 0) return null;
919
923
  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, { useCallback, useMemo } from 'react';
2
+ import * as React2 from 'react';
3
+ import React2__default, { useCallback, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
@@ -38,9 +38,13 @@ function getTextColor(parentBg, variant = "default", options) {
38
38
  }
39
39
  }
40
40
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
41
- function DynamicIcon({ apiKey, ...props }) {
41
+ var DynamicIcon = React2.memo(function DynamicIcon2({
42
+ apiKey,
43
+ ...props
44
+ }) {
42
45
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
43
- }
46
+ });
47
+ DynamicIcon.displayName = "DynamicIcon";
44
48
  function normalizePhoneNumber(input) {
45
49
  const trimmed = input.trim();
46
50
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -116,7 +120,7 @@ function useNavigation({
116
120
  href,
117
121
  onClick
118
122
  } = {}) {
119
- const linkType = React.useMemo(() => {
123
+ const linkType = React2.useMemo(() => {
120
124
  if (!href || href.trim() === "") {
121
125
  return onClick ? "none" : "none";
122
126
  }
@@ -137,7 +141,7 @@ function useNavigation({
137
141
  return "internal";
138
142
  }
139
143
  }, [href, onClick]);
140
- const normalizedHref = React.useMemo(() => {
144
+ const normalizedHref = React2.useMemo(() => {
141
145
  if (!href || href.trim() === "") {
142
146
  return void 0;
143
147
  }
@@ -155,7 +159,7 @@ function useNavigation({
155
159
  return trimmed;
156
160
  }
157
161
  }, [href, linkType]);
158
- const target = React.useMemo(() => {
162
+ const target = React2.useMemo(() => {
159
163
  switch (linkType) {
160
164
  case "external":
161
165
  return "_blank";
@@ -168,7 +172,7 @@ function useNavigation({
168
172
  return void 0;
169
173
  }
170
174
  }, [linkType]);
171
- const rel = React.useMemo(() => {
175
+ const rel = React2.useMemo(() => {
172
176
  if (linkType === "external") {
173
177
  return "noopener noreferrer";
174
178
  }
@@ -177,7 +181,7 @@ function useNavigation({
177
181
  const isExternal = linkType === "external";
178
182
  const isInternal = linkType === "internal";
179
183
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
180
- const handleClick = React.useCallback(
184
+ const handleClick = React2.useCallback(
181
185
  (event) => {
182
186
  if (onClick) {
183
187
  try {
@@ -361,7 +365,7 @@ var buttonVariants = cva(baseStyles, {
361
365
  size: "default"
362
366
  }
363
367
  });
364
- var Pressable = React.forwardRef(
368
+ var Pressable = React2.forwardRef(
365
369
  ({
366
370
  children,
367
371
  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,
@@ -828,9 +828,13 @@ var Pressable = React3__namespace.forwardRef(
828
828
  );
829
829
  Pressable.displayName = "Pressable";
830
830
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
831
- function DynamicIcon({ apiKey, ...props }) {
831
+ var DynamicIcon = React3__namespace.memo(function DynamicIcon2({
832
+ apiKey,
833
+ ...props
834
+ }) {
832
835
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
833
- }
836
+ });
837
+ DynamicIcon.displayName = "DynamicIcon";
834
838
  var BUTTON_SIZES = {
835
839
  sm: { buttonSize: "size-8", iconSize: 16 },
836
840
  md: { buttonSize: "size-10", iconSize: 20 },
@@ -807,9 +807,13 @@ var Pressable = React3.forwardRef(
807
807
  );
808
808
  Pressable.displayName = "Pressable";
809
809
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
810
- function DynamicIcon({ apiKey, ...props }) {
810
+ var DynamicIcon = React3.memo(function DynamicIcon2({
811
+ apiKey,
812
+ ...props
813
+ }) {
811
814
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
812
- }
815
+ });
816
+ DynamicIcon.displayName = "DynamicIcon";
813
817
  var BUTTON_SIZES = {
814
818
  sm: { buttonSize: "size-8", iconSize: 16 },
815
819
  md: { buttonSize: "size-10", iconSize: 20 },
@@ -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');
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
28
28
  return Object.freeze(n);
29
29
  }
30
30
 
31
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
+ var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
32
32
  var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
33
33
 
34
34
  // components/blocks/features/feature-tabbed-content-image.tsx
@@ -36,9 +36,13 @@ function cn(...inputs) {
36
36
  return tailwindMerge.twMerge(clsx.clsx(inputs));
37
37
  }
38
38
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
39
- function DynamicIcon({ apiKey, ...props }) {
39
+ var DynamicIcon = React2__namespace.memo(function DynamicIcon2({
40
+ apiKey,
41
+ ...props
42
+ }) {
40
43
  return /* @__PURE__ */ jsxRuntime.jsx(icon.Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
41
- }
44
+ });
45
+ DynamicIcon.displayName = "DynamicIcon";
42
46
  function normalizePhoneNumber(input) {
43
47
  const trimmed = input.trim();
44
48
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -114,7 +118,7 @@ function useNavigation({
114
118
  href,
115
119
  onClick
116
120
  } = {}) {
117
- const linkType = React__namespace.useMemo(() => {
121
+ const linkType = React2__namespace.useMemo(() => {
118
122
  if (!href || href.trim() === "") {
119
123
  return onClick ? "none" : "none";
120
124
  }
@@ -135,7 +139,7 @@ function useNavigation({
135
139
  return "internal";
136
140
  }
137
141
  }, [href, onClick]);
138
- const normalizedHref = React__namespace.useMemo(() => {
142
+ const normalizedHref = React2__namespace.useMemo(() => {
139
143
  if (!href || href.trim() === "") {
140
144
  return void 0;
141
145
  }
@@ -153,7 +157,7 @@ function useNavigation({
153
157
  return trimmed;
154
158
  }
155
159
  }, [href, linkType]);
156
- const target = React__namespace.useMemo(() => {
160
+ const target = React2__namespace.useMemo(() => {
157
161
  switch (linkType) {
158
162
  case "external":
159
163
  return "_blank";
@@ -166,7 +170,7 @@ function useNavigation({
166
170
  return void 0;
167
171
  }
168
172
  }, [linkType]);
169
- const rel = React__namespace.useMemo(() => {
173
+ const rel = React2__namespace.useMemo(() => {
170
174
  if (linkType === "external") {
171
175
  return "noopener noreferrer";
172
176
  }
@@ -175,7 +179,7 @@ function useNavigation({
175
179
  const isExternal = linkType === "external";
176
180
  const isInternal = linkType === "internal";
177
181
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
178
- const handleClick = React__namespace.useCallback(
182
+ const handleClick = React2__namespace.useCallback(
179
183
  (event) => {
180
184
  if (onClick) {
181
185
  try {
@@ -359,7 +363,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
359
363
  size: "default"
360
364
  }
361
365
  });
362
- var Pressable = React__namespace.forwardRef(
366
+ var Pressable = React2__namespace.forwardRef(
363
367
  ({
364
368
  children,
365
369
  className,
@@ -524,7 +528,7 @@ var maxWidthStyles = {
524
528
  "4xl": "max-w-[1536px]",
525
529
  full: "max-w-full"
526
530
  };
527
- var Container = React__namespace.default.forwardRef(
531
+ var Container = React2__namespace.default.forwardRef(
528
532
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
529
533
  const Component = as;
530
534
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -830,7 +834,7 @@ var spacingStyles = {
830
834
  };
831
835
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
832
836
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
833
- var Section = React__namespace.default.forwardRef(
837
+ var Section = React2__namespace.default.forwardRef(
834
838
  ({
835
839
  id,
836
840
  title,
@@ -915,7 +919,7 @@ function FeatureTabbedContentImage({
915
919
  patternOpacity,
916
920
  patternClassName
917
921
  }) {
918
- const renderFeatures = React__namespace.useCallback(
922
+ const renderFeatures = React2__namespace.useCallback(
919
923
  (slide) => {
920
924
  if (slide.featuresSlot) return slide.featuresSlot;
921
925
  if (!slide.features || slide.features.length === 0) return null;
@@ -939,7 +943,7 @@ function FeatureTabbedContentImage({
939
943
  },
940
944
  []
941
945
  );
942
- const renderActions = React__namespace.useCallback(
946
+ const renderActions = React2__namespace.useCallback(
943
947
  (slide) => {
944
948
  if (slide.actionsSlot) return slide.actionsSlot;
945
949
  if (!slide.actions || slide.actions.length === 0) return null;
@@ -982,7 +986,7 @@ function FeatureTabbedContentImage({
982
986
  },
983
987
  []
984
988
  );
985
- const renderImage = React__namespace.useCallback(
989
+ const renderImage = React2__namespace.useCallback(
986
990
  (slide) => {
987
991
  if (slide.imageSlot) return slide.imageSlot;
988
992
  if (!slide.image) return null;
@@ -1003,7 +1007,7 @@ function FeatureTabbedContentImage({
1003
1007
  },
1004
1008
  [optixFlowConfig]
1005
1009
  );
1006
- const slidesContent = React.useMemo(() => {
1010
+ const slidesContent = React2.useMemo(() => {
1007
1011
  if (slidesSlot) return slidesSlot;
1008
1012
  if (!slides || slides.length === 0) return null;
1009
1013
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -1082,7 +1086,7 @@ function FeatureTabbedContentImage({
1082
1086
  renderActions,
1083
1087
  renderImage
1084
1088
  ]);
1085
- const effectiveDefaultTab = React.useMemo(() => {
1089
+ const effectiveDefaultTab = React2.useMemo(() => {
1086
1090
  if (defaultTab) return defaultTab;
1087
1091
  if (slides && slides.length > 0) return slides[0].id.toString();
1088
1092
  return "1";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import * as React from 'react';
3
- import React__default, { useMemo } from 'react';
2
+ import * as React2 from 'react';
3
+ import React2__default, { useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Icon } from '@page-speed/icon';
@@ -14,9 +14,13 @@ function cn(...inputs) {
14
14
  return twMerge(clsx(inputs));
15
15
  }
16
16
  var DEFAULT_ICON_API_KEY = "au382bi7fsh96w9h9xlrnat2jglx";
17
- function DynamicIcon({ apiKey, ...props }) {
17
+ var DynamicIcon = React2.memo(function DynamicIcon2({
18
+ apiKey,
19
+ ...props
20
+ }) {
18
21
  return /* @__PURE__ */ jsx(Icon, { ...props, apiKey: apiKey ?? DEFAULT_ICON_API_KEY });
19
- }
22
+ });
23
+ DynamicIcon.displayName = "DynamicIcon";
20
24
  function normalizePhoneNumber(input) {
21
25
  const trimmed = input.trim();
22
26
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -92,7 +96,7 @@ function useNavigation({
92
96
  href,
93
97
  onClick
94
98
  } = {}) {
95
- const linkType = React.useMemo(() => {
99
+ const linkType = React2.useMemo(() => {
96
100
  if (!href || href.trim() === "") {
97
101
  return onClick ? "none" : "none";
98
102
  }
@@ -113,7 +117,7 @@ function useNavigation({
113
117
  return "internal";
114
118
  }
115
119
  }, [href, onClick]);
116
- const normalizedHref = React.useMemo(() => {
120
+ const normalizedHref = React2.useMemo(() => {
117
121
  if (!href || href.trim() === "") {
118
122
  return void 0;
119
123
  }
@@ -131,7 +135,7 @@ function useNavigation({
131
135
  return trimmed;
132
136
  }
133
137
  }, [href, linkType]);
134
- const target = React.useMemo(() => {
138
+ const target = React2.useMemo(() => {
135
139
  switch (linkType) {
136
140
  case "external":
137
141
  return "_blank";
@@ -144,7 +148,7 @@ function useNavigation({
144
148
  return void 0;
145
149
  }
146
150
  }, [linkType]);
147
- const rel = React.useMemo(() => {
151
+ const rel = React2.useMemo(() => {
148
152
  if (linkType === "external") {
149
153
  return "noopener noreferrer";
150
154
  }
@@ -153,7 +157,7 @@ function useNavigation({
153
157
  const isExternal = linkType === "external";
154
158
  const isInternal = linkType === "internal";
155
159
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
156
- const handleClick = React.useCallback(
160
+ const handleClick = React2.useCallback(
157
161
  (event) => {
158
162
  if (onClick) {
159
163
  try {
@@ -337,7 +341,7 @@ var buttonVariants = cva(baseStyles, {
337
341
  size: "default"
338
342
  }
339
343
  });
340
- var Pressable = React.forwardRef(
344
+ var Pressable = React2.forwardRef(
341
345
  ({
342
346
  children,
343
347
  className,
@@ -502,7 +506,7 @@ var maxWidthStyles = {
502
506
  "4xl": "max-w-[1536px]",
503
507
  full: "max-w-full"
504
508
  };
505
- var Container = React__default.forwardRef(
509
+ var Container = React2__default.forwardRef(
506
510
  ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
507
511
  const Component = as;
508
512
  return /* @__PURE__ */ jsx(
@@ -808,7 +812,7 @@ var spacingStyles = {
808
812
  };
809
813
  var predefinedSpacings = ["none", "sm", "md", "lg", "xl", "hero"];
810
814
  var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
811
- var Section = React__default.forwardRef(
815
+ var Section = React2__default.forwardRef(
812
816
  ({
813
817
  id,
814
818
  title,
@@ -893,7 +897,7 @@ function FeatureTabbedContentImage({
893
897
  patternOpacity,
894
898
  patternClassName
895
899
  }) {
896
- const renderFeatures = React.useCallback(
900
+ const renderFeatures = React2.useCallback(
897
901
  (slide) => {
898
902
  if (slide.featuresSlot) return slide.featuresSlot;
899
903
  if (!slide.features || slide.features.length === 0) return null;
@@ -917,7 +921,7 @@ function FeatureTabbedContentImage({
917
921
  },
918
922
  []
919
923
  );
920
- const renderActions = React.useCallback(
924
+ const renderActions = React2.useCallback(
921
925
  (slide) => {
922
926
  if (slide.actionsSlot) return slide.actionsSlot;
923
927
  if (!slide.actions || slide.actions.length === 0) return null;
@@ -960,7 +964,7 @@ function FeatureTabbedContentImage({
960
964
  },
961
965
  []
962
966
  );
963
- const renderImage = React.useCallback(
967
+ const renderImage = React2.useCallback(
964
968
  (slide) => {
965
969
  if (slide.imageSlot) return slide.imageSlot;
966
970
  if (!slide.image) return null;