@opensite/ui 0.8.5 → 0.8.7

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 (501) hide show
  1. package/dist/about-developer-profile.cjs +1 -1
  2. package/dist/about-developer-profile.js +1 -1
  3. package/dist/about-interactive-tabs.cjs +1 -1
  4. package/dist/about-interactive-tabs.js +1 -1
  5. package/dist/about-location-info-hero.cjs +5 -5
  6. package/dist/about-location-info-hero.js +5 -5
  7. package/dist/about-mission-features.cjs +3 -3
  8. package/dist/about-mission-features.js +3 -3
  9. package/dist/about-mission-principles.cjs +1 -1
  10. package/dist/about-mission-principles.js +1 -1
  11. package/dist/about-network-spotlight.cjs +6 -6
  12. package/dist/about-network-spotlight.js +6 -6
  13. package/dist/about-split-hero.cjs +4 -4
  14. package/dist/about-split-hero.js +4 -4
  15. package/dist/about-startup-team.cjs +3 -3
  16. package/dist/about-startup-team.js +3 -3
  17. package/dist/about-story-expertise.cjs +4 -4
  18. package/dist/about-story-expertise.js +4 -4
  19. package/dist/article-breadcrumb-social.cjs +1 -1
  20. package/dist/article-breadcrumb-social.js +1 -1
  21. package/dist/article-chapters-author.cjs +1 -1
  22. package/dist/article-chapters-author.js +1 -1
  23. package/dist/article-compact-toc.cjs +1 -1
  24. package/dist/article-compact-toc.js +1 -1
  25. package/dist/article-split-animated.cjs +1 -1
  26. package/dist/article-split-animated.js +1 -1
  27. package/dist/article-toc-sidebar.cjs +1 -1
  28. package/dist/article-toc-sidebar.js +1 -1
  29. package/dist/banner-countdown-sale.cjs +1 -1
  30. package/dist/banner-countdown-sale.js +1 -1
  31. package/dist/banner-social-follow.cjs +1 -1
  32. package/dist/banner-social-follow.js +1 -1
  33. package/dist/blog-cards-tagline-cta.cjs +1 -1
  34. package/dist/blog-cards-tagline-cta.js +1 -1
  35. package/dist/blog-horizontal-timeline.cjs +2 -2
  36. package/dist/blog-horizontal-timeline.js +2 -2
  37. package/dist/blog-tech-insights.cjs +6 -6
  38. package/dist/blog-tech-insights.js +6 -6
  39. package/dist/carousel-animated-sections.cjs +7 -8
  40. package/dist/carousel-animated-sections.js +7 -8
  41. package/dist/carousel-auto-progress-slides.cjs +7 -7
  42. package/dist/carousel-auto-progress-slides.js +7 -7
  43. package/dist/carousel-autoplay-progress.cjs +3 -3
  44. package/dist/carousel-autoplay-progress.js +3 -3
  45. package/dist/carousel-fullscreen-scroll-fx.cjs +7 -7
  46. package/dist/carousel-fullscreen-scroll-fx.js +7 -7
  47. package/dist/carousel-horizontal-cards.cjs +1 -1
  48. package/dist/carousel-horizontal-cards.js +1 -1
  49. package/dist/carousel-icon-sidebar.cjs +3 -3
  50. package/dist/carousel-icon-sidebar.js +3 -3
  51. package/dist/carousel-image-hero.cjs +2 -2
  52. package/dist/carousel-image-hero.js +2 -2
  53. package/dist/carousel-multi-step-showcase.cjs +1 -1
  54. package/dist/carousel-multi-step-showcase.js +1 -1
  55. package/dist/carousel-portfolio-hero.cjs +5 -5
  56. package/dist/carousel-portfolio-hero.js +5 -5
  57. package/dist/carousel-progress-slider.cjs +1 -1
  58. package/dist/carousel-progress-slider.js +1 -1
  59. package/dist/case-studies-image-grid.cjs +2 -2
  60. package/dist/case-studies-image-grid.js +2 -2
  61. package/dist/case-studies-stats-card.cjs +1 -1
  62. package/dist/case-studies-stats-card.js +1 -1
  63. package/dist/case-study-prose-sidebar.cjs +1 -1
  64. package/dist/case-study-prose-sidebar.js +1 -1
  65. package/dist/case-study-toc-social-sidebar.cjs +1 -1
  66. package/dist/case-study-toc-social-sidebar.js +1 -1
  67. package/dist/comparison-ai-models.cjs +15 -15
  68. package/dist/comparison-ai-models.js +15 -15
  69. package/dist/comparison-feature-cards.cjs +1 -1
  70. package/dist/comparison-feature-cards.js +1 -1
  71. package/dist/comparison-feature-grid.cjs +1 -1
  72. package/dist/comparison-feature-grid.js +1 -1
  73. package/dist/comparison-metrics-rows.cjs +6 -6
  74. package/dist/comparison-metrics-rows.js +6 -6
  75. package/dist/comparison-table-tabs.cjs +5 -5
  76. package/dist/comparison-table-tabs.js +5 -5
  77. package/dist/comparison-table-tooltips.cjs +1 -1
  78. package/dist/comparison-table-tooltips.js +1 -1
  79. package/dist/comparison-table-two-column.cjs +2 -2
  80. package/dist/comparison-table-two-column.js +2 -2
  81. package/dist/components.cjs +22 -23
  82. package/dist/components.js +22 -23
  83. package/dist/contact-emergency.cjs +1 -1
  84. package/dist/contact-emergency.js +1 -1
  85. package/dist/contact-help-center.cjs +3 -3
  86. package/dist/contact-help-center.js +3 -3
  87. package/dist/cta-background-icon-badge.cjs +1 -1
  88. package/dist/cta-background-icon-badge.js +1 -1
  89. package/dist/cta-enterprise-dark-features.cjs +5 -5
  90. package/dist/cta-enterprise-dark-features.js +5 -5
  91. package/dist/cta-fullwidth-background.cjs +1 -1
  92. package/dist/cta-fullwidth-background.js +1 -1
  93. package/dist/cta-hero-feature-cards.cjs +3 -3
  94. package/dist/cta-hero-feature-cards.js +3 -3
  95. package/dist/cta-image-overlay-arrow.cjs +1 -1
  96. package/dist/cta-image-overlay-arrow.js +1 -1
  97. package/dist/cta-image-overlay-centered.cjs +2 -2
  98. package/dist/cta-image-overlay-centered.js +2 -2
  99. package/dist/cta-split-gradient-image.cjs +1 -1
  100. package/dist/cta-split-gradient-image.js +1 -1
  101. package/dist/cta-video-background-hero.cjs +3 -3
  102. package/dist/cta-video-background-hero.js +3 -3
  103. package/dist/cta-workflow-tabs.cjs +1 -1
  104. package/dist/cta-workflow-tabs.js +1 -1
  105. package/dist/faq-badge-support.cjs +26 -8
  106. package/dist/faq-badge-support.js +26 -8
  107. package/dist/faq-bordered-badge.cjs +26 -10
  108. package/dist/faq-bordered-badge.js +26 -10
  109. package/dist/faq-card-categories.cjs +21 -5
  110. package/dist/faq-card-categories.js +21 -5
  111. package/dist/faq-categorized-sections.cjs +20 -5
  112. package/dist/faq-categorized-sections.js +20 -5
  113. package/dist/faq-centered-accordion.cjs +19 -6
  114. package/dist/faq-centered-accordion.js +19 -6
  115. package/dist/faq-gradient-categories.cjs +20 -5
  116. package/dist/faq-gradient-categories.js +20 -5
  117. package/dist/faq-icon-benefits.cjs +11 -2
  118. package/dist/faq-icon-benefits.js +11 -2
  119. package/dist/faq-muted-cards.cjs +20 -7
  120. package/dist/faq-muted-cards.js +20 -7
  121. package/dist/faq-numbered-grid.cjs +11 -3
  122. package/dist/faq-numbered-grid.js +11 -3
  123. package/dist/faq-numbered-list.cjs +11 -3
  124. package/dist/faq-numbered-list.js +11 -3
  125. package/dist/faq-profile-sidebar.cjs +60 -23
  126. package/dist/faq-profile-sidebar.js +60 -23
  127. package/dist/faq-rounded-cards.cjs +24 -29
  128. package/dist/faq-rounded-cards.js +24 -29
  129. package/dist/faq-sidebar-navigation.cjs +49 -29
  130. package/dist/faq-sidebar-navigation.js +49 -29
  131. package/dist/faq-simple-accordion.cjs +18 -5
  132. package/dist/faq-simple-accordion.js +18 -5
  133. package/dist/faq-split-help.cjs +36 -21
  134. package/dist/faq-split-help.js +36 -21
  135. package/dist/faq-split-hero.cjs +86 -186
  136. package/dist/faq-split-hero.d.cts +16 -18
  137. package/dist/faq-split-hero.d.ts +16 -18
  138. package/dist/faq-split-hero.js +87 -187
  139. package/dist/faq-static-list.cjs +10 -3
  140. package/dist/faq-static-list.js +10 -3
  141. package/dist/feature-accordion-image.cjs +9 -3
  142. package/dist/feature-accordion-image.js +9 -3
  143. package/dist/feature-bento-utilities.cjs +1 -1
  144. package/dist/feature-bento-utilities.js +1 -1
  145. package/dist/feature-capabilities-grid.cjs +13 -13
  146. package/dist/feature-capabilities-grid.js +13 -13
  147. package/dist/feature-icon-grid-muted.cjs +2 -2
  148. package/dist/feature-icon-grid-muted.js +2 -2
  149. package/dist/feature-icon-tabs-content.cjs +3 -3
  150. package/dist/feature-icon-tabs-content.js +3 -3
  151. package/dist/feature-image-cards-three-column.cjs +2 -2
  152. package/dist/feature-image-cards-three-column.js +2 -2
  153. package/dist/feature-image-overlay-badge.cjs +2 -2
  154. package/dist/feature-image-overlay-badge.js +2 -2
  155. package/dist/feature-integration-cards.cjs +2 -2
  156. package/dist/feature-integration-cards.js +2 -2
  157. package/dist/feature-numbered-cards.cjs +1 -1
  158. package/dist/feature-numbered-cards.js +1 -1
  159. package/dist/feature-pattern-grid-links.cjs +1 -1
  160. package/dist/feature-pattern-grid-links.js +1 -1
  161. package/dist/feature-showcase.cjs +1 -2
  162. package/dist/feature-showcase.js +1 -2
  163. package/dist/feature-split-image-reverse.cjs +2 -8
  164. package/dist/feature-split-image-reverse.js +2 -8
  165. package/dist/feature-split-image.cjs +2 -2
  166. package/dist/feature-split-image.js +2 -2
  167. package/dist/feature-stats-highlight.cjs +50 -13
  168. package/dist/feature-stats-highlight.js +50 -13
  169. package/dist/feature-tabbed-content-image.cjs +5 -14
  170. package/dist/feature-tabbed-content-image.js +5 -14
  171. package/dist/feature-three-column-values.cjs +4 -44
  172. package/dist/feature-three-column-values.js +4 -44
  173. package/dist/feature-utility-cards-grid.cjs +83 -36
  174. package/dist/feature-utility-cards-grid.js +83 -36
  175. package/dist/footer-animated-social.cjs +3 -3
  176. package/dist/footer-animated-social.js +3 -3
  177. package/dist/footer-brand-links-contact.cjs +10 -10
  178. package/dist/footer-brand-links-contact.js +10 -10
  179. package/dist/footer-comprehensive-links.cjs +20 -20
  180. package/dist/footer-comprehensive-links.js +20 -20
  181. package/dist/footer-cta-banner.cjs +4 -4
  182. package/dist/footer-cta-banner.js +4 -4
  183. package/dist/footer-cta-social.cjs +2 -2
  184. package/dist/footer-cta-social.js +2 -2
  185. package/dist/footer-newsletter-minimal.cjs +5 -5
  186. package/dist/footer-newsletter-minimal.js +5 -5
  187. package/dist/footer-simple-centered.cjs +2 -2
  188. package/dist/footer-simple-centered.js +2 -2
  189. package/dist/hero-ad-campaign-expert.cjs +2 -2
  190. package/dist/hero-ad-campaign-expert.js +2 -2
  191. package/dist/hero-agency-animated-images.cjs +2 -2
  192. package/dist/hero-agency-animated-images.js +2 -2
  193. package/dist/hero-architecture-fullscreen.cjs +2 -2
  194. package/dist/hero-architecture-fullscreen.js +2 -2
  195. package/dist/hero-billing-platform-logos.cjs +4 -4
  196. package/dist/hero-billing-platform-logos.js +4 -4
  197. package/dist/hero-business-operations-mosaic.cjs +2 -2
  198. package/dist/hero-business-operations-mosaic.js +2 -2
  199. package/dist/hero-centered-gradient-cta.cjs +1 -1
  200. package/dist/hero-centered-gradient-cta.js +1 -1
  201. package/dist/hero-coming-soon-countdown.cjs +3 -3
  202. package/dist/hero-coming-soon-countdown.js +3 -3
  203. package/dist/hero-conversation-intelligence.cjs +1 -1
  204. package/dist/hero-conversation-intelligence.js +1 -1
  205. package/dist/hero-conversion-video-play.cjs +1 -1
  206. package/dist/hero-conversion-video-play.js +1 -1
  207. package/dist/hero-crm-streamlined.cjs +2 -2
  208. package/dist/hero-crm-streamlined.js +2 -2
  209. package/dist/hero-customer-support-layered.cjs +1 -1
  210. package/dist/hero-customer-support-layered.js +1 -1
  211. package/dist/hero-design-carousel-portfolio.cjs +3 -3
  212. package/dist/hero-design-carousel-portfolio.js +3 -3
  213. package/dist/hero-design-showcase-logos.cjs +1 -1
  214. package/dist/hero-design-showcase-logos.js +1 -1
  215. package/dist/hero-developer-tools-code.cjs +1 -1
  216. package/dist/hero-developer-tools-code.js +1 -1
  217. package/dist/hero-digital-agency-fullscreen.cjs +3 -3
  218. package/dist/hero-digital-agency-fullscreen.js +3 -3
  219. package/dist/hero-ecommerce-product-showcase.cjs +2 -2
  220. package/dist/hero-ecommerce-product-showcase.js +2 -2
  221. package/dist/hero-enterprise-security.cjs +2 -2
  222. package/dist/hero-enterprise-security.js +2 -2
  223. package/dist/hero-event-registration.cjs +3 -3
  224. package/dist/hero-event-registration.js +3 -3
  225. package/dist/hero-feature-cards-grid.cjs +2 -2
  226. package/dist/hero-feature-cards-grid.js +2 -2
  227. package/dist/hero-floating-images.cjs +6 -8
  228. package/dist/hero-floating-images.js +6 -8
  229. package/dist/hero-fullscreen-background-image.cjs +3 -3
  230. package/dist/hero-fullscreen-background-image.js +3 -3
  231. package/dist/hero-fullscreen-logo-cta.cjs +2 -2
  232. package/dist/hero-fullscreen-logo-cta.js +2 -2
  233. package/dist/hero-gradient-client-focused.cjs +1 -1
  234. package/dist/hero-gradient-client-focused.js +1 -1
  235. package/dist/hero-hiring-animated-text.cjs +2 -2
  236. package/dist/hero-hiring-animated-text.js +2 -2
  237. package/dist/hero-image-slider.cjs +1 -2
  238. package/dist/hero-image-slider.js +1 -2
  239. package/dist/hero-innovation-image-grid.cjs +3 -3
  240. package/dist/hero-innovation-image-grid.js +3 -3
  241. package/dist/hero-mental-health-team.cjs +4 -4
  242. package/dist/hero-mental-health-team.js +4 -4
  243. package/dist/hero-minimal-centered-dark.cjs +1 -1
  244. package/dist/hero-minimal-centered-dark.js +1 -1
  245. package/dist/hero-mobile-app-download.cjs +2 -2
  246. package/dist/hero-mobile-app-download.js +2 -2
  247. package/dist/hero-newsletter-minimal.cjs +1 -1
  248. package/dist/hero-newsletter-minimal.js +1 -1
  249. package/dist/hero-overlay-cta-grid.cjs +5 -5
  250. package/dist/hero-overlay-cta-grid.js +5 -5
  251. package/dist/hero-portfolio-creative.cjs +3 -3
  252. package/dist/hero-portfolio-creative.js +3 -3
  253. package/dist/hero-premium-split-avatars.cjs +4 -4
  254. package/dist/hero-premium-split-avatars.js +4 -4
  255. package/dist/hero-presentation-platform-video.cjs +4 -4
  256. package/dist/hero-presentation-platform-video.js +4 -4
  257. package/dist/hero-pricing-comparison.cjs +3 -3
  258. package/dist/hero-pricing-comparison.js +3 -3
  259. package/dist/hero-product-showcase-floating.cjs +3 -3
  260. package/dist/hero-product-showcase-floating.js +3 -3
  261. package/dist/hero-productivity-launcher-video.cjs +2 -2
  262. package/dist/hero-productivity-launcher-video.js +2 -2
  263. package/dist/hero-saas-dashboard-preview.cjs +1 -1
  264. package/dist/hero-saas-dashboard-preview.js +1 -1
  265. package/dist/hero-shared-inbox-layered.cjs +1 -1
  266. package/dist/hero-shared-inbox-layered.js +1 -1
  267. package/dist/hero-software-growth-video-dialog.cjs +2 -2
  268. package/dist/hero-software-growth-video-dialog.js +2 -2
  269. package/dist/hero-split-geometric-shapes.cjs +177 -23
  270. package/dist/hero-split-geometric-shapes.d.cts +38 -5
  271. package/dist/hero-split-geometric-shapes.d.ts +38 -5
  272. package/dist/hero-split-geometric-shapes.js +178 -24
  273. package/dist/hero-split-icon-cards.cjs +2 -2
  274. package/dist/hero-split-icon-cards.js +2 -2
  275. package/dist/hero-split-image-newsletter.cjs +1 -1
  276. package/dist/hero-split-image-newsletter.js +1 -1
  277. package/dist/hero-startup-launch-cta.cjs +2 -2
  278. package/dist/hero-startup-launch-cta.js +2 -2
  279. package/dist/hero-stats-social-proof.cjs +3 -3
  280. package/dist/hero-stats-social-proof.js +3 -3
  281. package/dist/hero-task-timer-animated.cjs +2 -2
  282. package/dist/hero-task-timer-animated.js +2 -2
  283. package/dist/hero-testimonial-image-grid.cjs +1 -1
  284. package/dist/hero-testimonial-image-grid.js +1 -1
  285. package/dist/hero-therapy-testimonial-grid.cjs +3 -3
  286. package/dist/hero-therapy-testimonial-grid.js +3 -3
  287. package/dist/hero-ui-library-showcase.cjs +1 -1
  288. package/dist/hero-ui-library-showcase.js +1 -1
  289. package/dist/hero-video-background-dark.cjs +1 -1
  290. package/dist/hero-video-background-dark.js +1 -1
  291. package/dist/hero-video-dialog-gradient.cjs +1 -1
  292. package/dist/hero-video-dialog-gradient.js +1 -1
  293. package/dist/hero-welcome-asymmetric-images.cjs +38 -2
  294. package/dist/hero-welcome-asymmetric-images.js +38 -2
  295. package/dist/image-slider.cjs +1 -2
  296. package/dist/image-slider.d.cts +0 -4
  297. package/dist/image-slider.d.ts +0 -4
  298. package/dist/image-slider.js +1 -2
  299. package/dist/index.cjs +22 -23
  300. package/dist/index.js +22 -23
  301. package/dist/industries-badge-list-bordered.cjs +12 -6
  302. package/dist/industries-badge-list-bordered.js +12 -6
  303. package/dist/industries-expandable-showcase.cjs +15 -7
  304. package/dist/industries-expandable-showcase.js +15 -7
  305. package/dist/industries-hover-reveal-grid.cjs +13 -6
  306. package/dist/industries-hover-reveal-grid.js +13 -6
  307. package/dist/industries-timeline-table.cjs +11 -5
  308. package/dist/industries-timeline-table.js +11 -5
  309. package/dist/interior-carousel.cjs +2 -2
  310. package/dist/interior-carousel.js +2 -2
  311. package/dist/link-page-bento-layout.cjs +11 -14
  312. package/dist/link-page-bento-layout.js +11 -14
  313. package/dist/link-page-grid-cards.cjs +8 -12
  314. package/dist/link-page-grid-cards.js +8 -12
  315. package/dist/link-page-minimal-profile.cjs +6 -8
  316. package/dist/link-page-minimal-profile.js +6 -8
  317. package/dist/link-page-newsletter-social.cjs +10 -14
  318. package/dist/link-page-newsletter-social.js +10 -14
  319. package/dist/link-tree-block.cjs +10 -13
  320. package/dist/link-tree-block.js +10 -13
  321. package/dist/list-searchable-grid.cjs +3 -3
  322. package/dist/list-searchable-grid.js +3 -3
  323. package/dist/navbar-animated-preview.cjs +13 -7
  324. package/dist/navbar-animated-preview.js +13 -7
  325. package/dist/navbar-centered-menu.cjs +9 -3
  326. package/dist/navbar-centered-menu.js +9 -3
  327. package/dist/navbar-dark-icons.cjs +14 -8
  328. package/dist/navbar-dark-icons.js +14 -8
  329. package/dist/navbar-dropdown-menu.cjs +11 -5
  330. package/dist/navbar-dropdown-menu.js +11 -5
  331. package/dist/navbar-education-platform.cjs +9 -3
  332. package/dist/navbar-education-platform.js +9 -3
  333. package/dist/navbar-enterprise-mega.cjs +20 -14
  334. package/dist/navbar-enterprise-mega.js +20 -14
  335. package/dist/navbar-feature-grid.cjs +11 -5
  336. package/dist/navbar-feature-grid.js +11 -5
  337. package/dist/navbar-image-preview.cjs +4 -4
  338. package/dist/navbar-image-preview.js +4 -4
  339. package/dist/navbar-mega-menu.cjs +3 -3
  340. package/dist/navbar-mega-menu.js +3 -3
  341. package/dist/navbar-multi-column-groups.cjs +9 -3
  342. package/dist/navbar-multi-column-groups.js +9 -3
  343. package/dist/navbar-platform-resources.cjs +10 -4
  344. package/dist/navbar-platform-resources.js +10 -4
  345. package/dist/navbar-sidebar-mobile.cjs +9 -3
  346. package/dist/navbar-sidebar-mobile.js +9 -3
  347. package/dist/navbar-transparent-overlay.cjs +3 -3
  348. package/dist/navbar-transparent-overlay.js +3 -3
  349. package/dist/process-expandable-timeline.cjs +3 -3
  350. package/dist/process-expandable-timeline.js +3 -3
  351. package/dist/process-hover-cards.cjs +2 -2
  352. package/dist/process-hover-cards.js +2 -2
  353. package/dist/process-icon-timeline.cjs +3 -3
  354. package/dist/process-icon-timeline.js +3 -3
  355. package/dist/process-mission-principles.cjs +2 -2
  356. package/dist/process-mission-principles.js +2 -2
  357. package/dist/process-numbered-services.cjs +2 -2
  358. package/dist/process-numbered-services.js +2 -2
  359. package/dist/process-roadmap-timeline.cjs +6 -6
  360. package/dist/process-roadmap-timeline.js +6 -6
  361. package/dist/process-scroll-image.cjs +2 -2
  362. package/dist/process-scroll-image.js +2 -2
  363. package/dist/process-steps-grid.cjs +2 -2
  364. package/dist/process-steps-grid.js +2 -2
  365. package/dist/process-sticky-steps.cjs +2 -2
  366. package/dist/process-sticky-steps.js +2 -2
  367. package/dist/project-alternating-motion.cjs +1 -1
  368. package/dist/project-alternating-motion.js +1 -1
  369. package/dist/project-background-reveal.cjs +2 -2
  370. package/dist/project-background-reveal.js +2 -2
  371. package/dist/project-card-overlay.cjs +7 -7
  372. package/dist/project-card-overlay.js +7 -7
  373. package/dist/project-carousel-cinematic.cjs +2 -2
  374. package/dist/project-carousel-cinematic.js +2 -2
  375. package/dist/project-carousel-detail-cards.cjs +2 -2
  376. package/dist/project-carousel-detail-cards.js +2 -2
  377. package/dist/project-carousel-minimal.cjs +2 -2
  378. package/dist/project-carousel-minimal.js +2 -2
  379. package/dist/project-detail-architecture-carousel.cjs +4 -4
  380. package/dist/project-detail-architecture-carousel.js +4 -4
  381. package/dist/project-featured-carousel.cjs +1 -1
  382. package/dist/project-featured-carousel.js +1 -1
  383. package/dist/project-filterable-gallery.cjs +5 -5
  384. package/dist/project-filterable-gallery.js +5 -5
  385. package/dist/project-filterable-three-column.cjs +5 -5
  386. package/dist/project-filterable-three-column.js +5 -5
  387. package/dist/project-interactive-hover-reveal.cjs +7 -7
  388. package/dist/project-interactive-hover-reveal.js +7 -7
  389. package/dist/project-masonry-columns.cjs +1 -1
  390. package/dist/project-masonry-columns.js +1 -1
  391. package/dist/project-scroll-reveal.cjs +4 -4
  392. package/dist/project-scroll-reveal.js +4 -4
  393. package/dist/project-showcase-alternating.cjs +1 -1
  394. package/dist/project-showcase-alternating.js +1 -1
  395. package/dist/project-sticky-scroll.cjs +3 -3
  396. package/dist/project-sticky-scroll.js +3 -3
  397. package/dist/project-studio-hover-preview.cjs +7 -7
  398. package/dist/project-studio-hover-preview.js +7 -7
  399. package/dist/project-video-carousel.cjs +2 -2
  400. package/dist/project-video-carousel.js +2 -2
  401. package/dist/project-video-hover-bento.cjs +2 -2
  402. package/dist/project-video-hover-bento.js +2 -2
  403. package/dist/project-video-hover-grid.cjs +2 -2
  404. package/dist/project-video-hover-grid.js +2 -2
  405. package/dist/project-video-hover-rounded.cjs +3 -3
  406. package/dist/project-video-hover-rounded.js +3 -3
  407. package/dist/project-video-hover-stack.cjs +3 -3
  408. package/dist/project-video-hover-stack.js +3 -3
  409. package/dist/project-video-hover-two-by-two.cjs +3 -3
  410. package/dist/project-video-hover-two-by-two.js +3 -3
  411. package/dist/project-zigzag-layout.cjs +1 -1
  412. package/dist/project-zigzag-layout.js +1 -1
  413. package/dist/registry.cjs +1825 -2131
  414. package/dist/registry.js +1825 -2131
  415. package/dist/resource-detail-whitepaper-sidebar.cjs +6 -4
  416. package/dist/resource-detail-whitepaper-sidebar.js +6 -4
  417. package/dist/resource-list-course-cards.cjs +1 -1
  418. package/dist/resource-list-course-cards.js +1 -1
  419. package/dist/resource-list-featured-articles.cjs +6 -6
  420. package/dist/resource-list-featured-articles.js +6 -6
  421. package/dist/resource-list-hero-filter.cjs +2 -2
  422. package/dist/resource-list-hero-filter.js +2 -2
  423. package/dist/resource-list-news-updates.cjs +1 -1
  424. package/dist/resource-list-news-updates.js +1 -1
  425. package/dist/reviews-images-helpful.cjs +27 -197
  426. package/dist/reviews-images-helpful.js +28 -198
  427. package/dist/reviews-list-verified.cjs +11 -62
  428. package/dist/reviews-list-verified.js +12 -63
  429. package/dist/service-detail-image-hero.cjs +2 -2
  430. package/dist/service-detail-image-hero.js +2 -2
  431. package/dist/service-detail-stats-hero.cjs +2 -2
  432. package/dist/service-detail-stats-hero.js +2 -2
  433. package/dist/service-hover-carousel.cjs +2 -2
  434. package/dist/service-hover-carousel.js +2 -2
  435. package/dist/services-list-feature-spotlight.cjs +3 -3
  436. package/dist/services-list-feature-spotlight.js +3 -3
  437. package/dist/stats-circular-progress.cjs +1 -1
  438. package/dist/stats-circular-progress.js +1 -1
  439. package/dist/stats-icon-cards.cjs +1 -1
  440. package/dist/stats-icon-cards.js +1 -1
  441. package/dist/stats-timeline-tabs.cjs +1 -1
  442. package/dist/stats-timeline-tabs.js +1 -1
  443. package/dist/team-media-showcase.cjs +4 -4
  444. package/dist/team-media-showcase.js +4 -4
  445. package/dist/testimonial-carousel-cards.cjs +2 -2
  446. package/dist/testimonial-carousel-cards.js +2 -2
  447. package/dist/testimonials-animated-split.cjs +19 -166
  448. package/dist/testimonials-animated-split.js +19 -166
  449. package/dist/testimonials-bento-grid.cjs +11 -56
  450. package/dist/testimonials-bento-grid.js +12 -57
  451. package/dist/testimonials-carousel-image.cjs +15 -153
  452. package/dist/testimonials-carousel-image.js +15 -153
  453. package/dist/testimonials-centered-avatars.cjs +9 -37
  454. package/dist/testimonials-centered-avatars.js +10 -38
  455. package/dist/testimonials-company-logo.cjs +4 -8
  456. package/dist/testimonials-company-logo.js +4 -8
  457. package/dist/testimonials-grid-add-review.cjs +7 -47
  458. package/dist/testimonials-grid-add-review.js +8 -48
  459. package/dist/testimonials-large-quote.cjs +11 -21
  460. package/dist/testimonials-large-quote.js +12 -22
  461. package/dist/testimonials-logo-cards.cjs +9 -53
  462. package/dist/testimonials-logo-cards.js +10 -54
  463. package/dist/testimonials-marquee.cjs +15 -60
  464. package/dist/testimonials-marquee.js +16 -61
  465. package/dist/testimonials-masonry-grid.cjs +11 -71
  466. package/dist/testimonials-masonry-grid.js +12 -72
  467. package/dist/testimonials-mini-dividers.cjs +9 -61
  468. package/dist/testimonials-mini-dividers.js +10 -62
  469. package/dist/testimonials-minimal-numbered.cjs +48 -57
  470. package/dist/testimonials-minimal-numbered.js +48 -57
  471. package/dist/testimonials-parallax-number.cjs +29 -44
  472. package/dist/testimonials-parallax-number.js +29 -44
  473. package/dist/testimonials-quote-carousel.cjs +9 -48
  474. package/dist/testimonials-quote-carousel.js +10 -49
  475. package/dist/testimonials-scrolling-columns.cjs +9 -165
  476. package/dist/testimonials-scrolling-columns.js +10 -166
  477. package/dist/testimonials-simple-grid.cjs +12 -63
  478. package/dist/testimonials-simple-grid.js +13 -64
  479. package/dist/testimonials-slider-minimal.cjs +18 -41
  480. package/dist/testimonials-slider-minimal.js +18 -41
  481. package/dist/testimonials-split-image.cjs +15 -24
  482. package/dist/testimonials-split-image.js +16 -25
  483. package/dist/testimonials-stats-header.cjs +10 -35
  484. package/dist/testimonials-stats-header.js +11 -36
  485. package/dist/testimonials-twitter-cards.cjs +7 -59
  486. package/dist/testimonials-twitter-cards.js +8 -60
  487. package/dist/testimonials-wall-compact.cjs +9 -94
  488. package/dist/testimonials-wall-compact.js +10 -95
  489. package/dist/timeline-changelog-badges.cjs +4 -4
  490. package/dist/timeline-changelog-badges.js +4 -4
  491. package/dist/timeline-history-prose.cjs +4 -4
  492. package/dist/timeline-history-prose.js +4 -4
  493. package/dist/timeline-horizontal-icons.cjs +3 -3
  494. package/dist/timeline-horizontal-icons.js +3 -3
  495. package/dist/timeline-horizontal-phases.cjs +3 -3
  496. package/dist/timeline-horizontal-phases.js +3 -3
  497. package/dist/timeline-stepper-animated.cjs +3 -3
  498. package/dist/timeline-stepper-animated.js +3 -3
  499. package/dist/timeline-tabbed-phases.cjs +4 -4
  500. package/dist/timeline-tabbed-phases.js +4 -4
  501. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import * as React from 'react';
3
- import React__default, { useState, useMemo } from 'react';
3
+ import React__default, { useState, useCallback, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -1005,190 +1005,6 @@ var Section = React__default.forwardRef(
1005
1005
  }
1006
1006
  );
1007
1007
  Section.displayName = "Section";
1008
-
1009
- // lib/blockBrandedIconsAndPlaceholders.ts
1010
- var blockBrandedIconsAndPlaceholders = {
1011
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
1012
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
1013
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
1014
- avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
1015
-
1016
- // lib/mediaPlaceholders.ts
1017
- var imagePlaceholders = [
1018
- "https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
1019
- "https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
1020
- "https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
1021
- "https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
1022
- "https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
1023
- "https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
1024
- "https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
1025
- "https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
1026
- "https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
1027
- "https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
1028
- "https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
1029
- "https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
1030
- "https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
1031
- "https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
1032
- "https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
1033
- "https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
1034
- "https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
1035
- "https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
1036
- "https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
1037
- "https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
1038
- "https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
1039
- "https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
1040
- "https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
1041
- "https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
1042
- "https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
1043
- "https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
1044
- "https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
1045
- "https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
1046
- "https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
1047
- "https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
1048
- "https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
1049
- "https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
1050
- "https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
1051
- "https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
1052
- "https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
1053
- "https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
1054
- "https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
1055
- "https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
1056
- "https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
1057
- "https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
1058
- "https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
1059
- "https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
1060
- "https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
1061
- "https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
1062
- "https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
1063
- "https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
1064
- "https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
1065
- "https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
1066
- "https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
1067
- "https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
1068
- "https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
1069
- "https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
1070
- "https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
1071
- "https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
1072
- "https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
1073
- "https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
1074
- "https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
1075
- "https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
1076
- "https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
1077
- "https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
1078
- "https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
1079
- "https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
1080
- "https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
1081
- "https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
1082
- "https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
1083
- "https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
1084
- "https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
1085
- "https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
1086
- "https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
1087
- "https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
1088
- "https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
1089
- "https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
1090
- "https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
1091
- "https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
1092
- "https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
1093
- "https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
1094
- "https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
1095
- "https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
1096
- "https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
1097
- "https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
1098
- "https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
1099
- "https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
1100
- "https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
1101
- "https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
1102
- "https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
1103
- "https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
1104
- "https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
1105
- "https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
1106
- "https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
1107
- "https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
1108
- "https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
1109
- "https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
1110
- "https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
1111
- "https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
1112
- "https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
1113
- "https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
1114
- "https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
1115
- "https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
1116
- "https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
1117
- "https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
1118
- "https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
1119
- "https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
1120
- "https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
1121
- "https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
1122
- "https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
1123
- "https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
1124
- "https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
1125
- "https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
1126
- "https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
1127
- "https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
1128
- "https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
1129
- "https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
1130
- "https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
1131
- "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
1132
- "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
1133
- ];
1134
- var DEFAULT_REVIEWS = [
1135
- {
1136
- rating: 5,
1137
- title: "Absolutely stunning quality",
1138
- content: "The craftsmanship on this is incredible. Photos don't do it justice - it looks even better in person. The material feels premium and the fit is perfect. I've already gotten so many compliments!",
1139
- author: "Sarah M.",
1140
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
1141
- date: "Dec 10, 2024",
1142
- verified: true,
1143
- images: [imagePlaceholders[0], imagePlaceholders[1]],
1144
- helpful: 24,
1145
- variant: "Size M, Navy Blue"
1146
- },
1147
- {
1148
- rating: 4,
1149
- title: "Great product, minor sizing issue",
1150
- content: "Love the quality and design. Runs slightly small so I'd recommend sizing up. Other than that, it's exactly what I was looking for. Fast shipping too!",
1151
- author: "James R.",
1152
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
1153
- date: "Dec 8, 2024",
1154
- verified: true,
1155
- helpful: 18,
1156
- variant: "Size L, Black"
1157
- },
1158
- {
1159
- rating: 5,
1160
- title: "My new favorite!",
1161
- content: "I've been searching for something like this for months. The attention to detail is amazing - from the stitching to the hardware, everything is top notch. Worth every penny.",
1162
- author: "Emily K.",
1163
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
1164
- date: "Dec 5, 2024",
1165
- verified: true,
1166
- images: [imagePlaceholders[2]],
1167
- helpful: 31,
1168
- variant: "One Size, Cream"
1169
- },
1170
- {
1171
- rating: 5,
1172
- title: "Exceeded expectations",
1173
- content: "Was hesitant to order online but so glad I did. The color is exactly as shown and the quality is exceptional. Customer service was also very responsive when I had questions about care instructions.",
1174
- author: "Michael T.",
1175
- date: "Dec 2, 2024",
1176
- verified: false,
1177
- helpful: 12
1178
- },
1179
- {
1180
- rating: 4,
1181
- title: "Beautiful but pricey",
1182
- content: "The product is gorgeous and well-made. I debated for a while because of the price, but ultimately happy with my purchase. Would love to see more color options in the future.",
1183
- author: "Lisa P.",
1184
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
1185
- date: "Nov 28, 2024",
1186
- verified: true,
1187
- images: [imagePlaceholders[3]],
1188
- helpful: 8,
1189
- variant: "Gold"
1190
- }
1191
- ];
1192
1008
  function StarRating({ rating, size = 16 }) {
1193
1009
  return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
1194
1010
  DynamicIcon,
@@ -1203,7 +1019,7 @@ function StarRating({ rating, size = 16 }) {
1203
1019
  )) });
1204
1020
  }
1205
1021
  function ReviewsImagesHelpful({
1206
- reviews = DEFAULT_REVIEWS,
1022
+ reviews,
1207
1023
  reviewsSlot,
1208
1024
  heading,
1209
1025
  writeReviewLabel,
@@ -1217,15 +1033,15 @@ function ReviewsImagesHelpful({
1217
1033
  imagesClassName,
1218
1034
  onWriteReview,
1219
1035
  background,
1220
- spacing,
1036
+ spacing = "py-6 md:py-32",
1221
1037
  pattern,
1222
1038
  patternOpacity,
1223
1039
  optixFlowConfig
1224
1040
  }) {
1225
1041
  const [helpfulClicked, setHelpfulClicked] = useState(/* @__PURE__ */ new Set());
1226
- const totalReviews = reviews.length;
1227
- const averageRating = reviews.reduce((sum, review) => sum + review.rating, 0) / totalReviews;
1228
- const handleHelpful = (reviewIndex) => {
1042
+ const totalReviews = reviews?.length ?? 0;
1043
+ const averageRating = totalReviews > 0 ? (reviews?.reduce((sum, review) => sum + review.rating, 0) ?? 0) / totalReviews : 0;
1044
+ const handleHelpful = useCallback((reviewIndex) => {
1229
1045
  setHelpfulClicked((prev) => {
1230
1046
  const newSet = new Set(prev);
1231
1047
  if (newSet.has(reviewIndex)) {
@@ -1235,16 +1051,17 @@ function ReviewsImagesHelpful({
1235
1051
  }
1236
1052
  return newSet;
1237
1053
  });
1238
- };
1239
- const getAuthorName = (review) => {
1054
+ }, []);
1055
+ const getAuthorName = useCallback((review) => {
1240
1056
  if (typeof review.author === "string") return review.author;
1241
1057
  return "";
1242
- };
1243
- const getInitials = (name) => {
1058
+ }, []);
1059
+ const getInitials = useCallback((name) => {
1244
1060
  return name.split(" ").map((n) => n[0]).join("");
1245
- };
1061
+ }, []);
1246
1062
  const renderedReviews = useMemo(() => {
1247
1063
  if (reviewsSlot) return reviewsSlot;
1064
+ if (!reviews || reviews.length === 0) return null;
1248
1065
  return /* @__PURE__ */ jsx("div", { className: "space-y-0", children: reviews.map((review, index) => {
1249
1066
  const authorName = getAuthorName(review);
1250
1067
  return /* @__PURE__ */ jsxs("div", { className: reviewClassName, children: [
@@ -1353,7 +1170,20 @@ function ReviewsImagesHelpful({
1353
1170
  ] }) })
1354
1171
  ] }, index);
1355
1172
  }) });
1356
- }, [reviewsSlot, reviews, reviewClassName, contentClassName, authorClassName, imagesClassName, helpfulClicked, optixFlowConfig, reportButtonLabel]);
1173
+ }, [
1174
+ reviewsSlot,
1175
+ reviews,
1176
+ reviewClassName,
1177
+ contentClassName,
1178
+ authorClassName,
1179
+ imagesClassName,
1180
+ helpfulClicked,
1181
+ optixFlowConfig,
1182
+ reportButtonLabel,
1183
+ getAuthorName,
1184
+ getInitials,
1185
+ handleHelpful
1186
+ ]);
1357
1187
  return /* @__PURE__ */ jsx(
1358
1188
  Section,
1359
1189
  {
@@ -1382,7 +1212,7 @@ function ReviewsImagesHelpful({
1382
1212
  children: heading
1383
1213
  }
1384
1214
  ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1385
- /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-2", children: [
1215
+ totalReviews > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-2", children: [
1386
1216
  /* @__PURE__ */ jsx(StarRating, { rating: Math.round(averageRating), size: 20 }),
1387
1217
  /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold", children: averageRating.toFixed(1) }),
1388
1218
  /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
@@ -1392,7 +1222,7 @@ function ReviewsImagesHelpful({
1392
1222
  ] })
1393
1223
  ] })
1394
1224
  ] }),
1395
- /* @__PURE__ */ jsx(Pressable, { asButton: true, variant: "outline", onClick: onWriteReview, children: writeReviewLabel })
1225
+ (writeReviewLabel || onWriteReview) && /* @__PURE__ */ jsx(Pressable, { asButton: true, variant: "outline", onClick: onWriteReview, children: writeReviewLabel })
1396
1226
  ]
1397
1227
  }
1398
1228
  ),
@@ -579,59 +579,6 @@ var Section = React__namespace.default.forwardRef(
579
579
  }
580
580
  );
581
581
  Section.displayName = "Section";
582
-
583
- // lib/blockBrandedIconsAndPlaceholders.ts
584
- var blockBrandedIconsAndPlaceholders = {
585
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
586
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
587
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
588
- avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
589
- var DEFAULT_REVIEWS = [
590
- {
591
- rating: 5,
592
- title: "Exceeded my expectations",
593
- content: "I was a bit skeptical at first, but this product really delivered. The quality is outstanding and it arrived faster than expected. Would definitely recommend to anyone on the fence.",
594
- author: "Sarah M.",
595
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
596
- date: "Dec 10, 2024",
597
- verified: true
598
- },
599
- {
600
- rating: 4,
601
- title: "Great value for money",
602
- content: "Solid product overall. Does exactly what it's supposed to do. Took off one star because the packaging could be better, but the product itself is great.",
603
- author: "James R.",
604
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
605
- date: "Dec 8, 2024",
606
- verified: true
607
- },
608
- {
609
- rating: 5,
610
- title: "Perfect for everyday use",
611
- content: "I've been using this daily for a month now and it still looks and works like new. The build quality is impressive at this price point. Already bought one for my sister.",
612
- author: "Emily K.",
613
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
614
- date: "Dec 5, 2024",
615
- verified: true
616
- },
617
- {
618
- rating: 4,
619
- title: "Good but not perfect",
620
- content: "The product is nice and works well. My only minor complaint is that the color is slightly different from the photos, but it's still a great purchase overall.",
621
- author: "Michael T.",
622
- date: "Dec 2, 2024",
623
- verified: false
624
- },
625
- {
626
- rating: 5,
627
- title: "Best purchase I've made this year",
628
- content: "Absolutely love it! The attention to detail is remarkable. Customer service was also very helpful when I had questions. Five stars all around.",
629
- author: "Lisa P.",
630
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
631
- date: "Nov 28, 2024",
632
- verified: true
633
- }
634
- ];
635
582
  function StarRating({ rating, size = 16 }) {
636
583
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsxRuntime.jsx(
637
584
  DynamicIcon,
@@ -646,7 +593,7 @@ function StarRating({ rating, size = 16 }) {
646
593
  )) });
647
594
  }
648
595
  function ReviewsListVerified({
649
- reviews = DEFAULT_REVIEWS,
596
+ reviews,
650
597
  reviewsSlot,
651
598
  heading,
652
599
  verifiedPurchaseLabel,
@@ -661,16 +608,18 @@ function ReviewsListVerified({
661
608
  pattern,
662
609
  patternOpacity
663
610
  }) {
664
- const averageRating = reviews.reduce((sum, review) => sum + review.rating, 0) / reviews.length;
665
- const getAuthorName = (review) => {
611
+ const totalReviews = reviews?.length ?? 0;
612
+ const averageRating = totalReviews > 0 ? (reviews?.reduce((sum, review) => sum + review.rating, 0) ?? 0) / totalReviews : 0;
613
+ const getAuthorName = React.useCallback((review) => {
666
614
  if (typeof review.author === "string") return review.author;
667
615
  return "";
668
- };
669
- const getInitials = (name) => {
616
+ }, []);
617
+ const getInitials = React.useCallback((name) => {
670
618
  return name.split(" ").map((n) => n[0]).join("");
671
- };
619
+ }, []);
672
620
  const renderedReviews = React.useMemo(() => {
673
621
  if (reviewsSlot) return reviewsSlot;
622
+ if (!reviews || reviews.length === 0) return null;
674
623
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0", children: reviews.map((review, index) => {
675
624
  const authorName = getAuthorName(review);
676
625
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: reviewClassName, children: [
@@ -702,7 +651,7 @@ function ReviewsListVerified({
702
651
  ] })
703
652
  ] }, index);
704
653
  }) });
705
- }, [reviewsSlot, reviews, reviewClassName, contentClassName, authorClassName, verifiedPurchaseLabel]);
654
+ }, [reviewsSlot, reviews, reviewClassName, contentClassName, authorClassName, verifiedPurchaseLabel, getAuthorName, getInitials]);
706
655
  return /* @__PURE__ */ jsxRuntime.jsx(
707
656
  Section,
708
657
  {
@@ -723,12 +672,12 @@ function ReviewsListVerified({
723
672
  children: heading
724
673
  }
725
674
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
726
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center gap-3", children: [
675
+ totalReviews > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center gap-3", children: [
727
676
  /* @__PURE__ */ jsxRuntime.jsx(StarRating, { rating: Math.round(averageRating), size: 20 }),
728
677
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
729
678
  averageRating.toFixed(1),
730
679
  " out of 5 \xB7 ",
731
- reviews.length,
680
+ totalReviews,
732
681
  " reviews"
733
682
  ] })
734
683
  ] })
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import * as React from 'react';
3
- import React__default, { useMemo } from 'react';
3
+ import React__default, { useCallback, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -556,59 +556,6 @@ var Section = React__default.forwardRef(
556
556
  }
557
557
  );
558
558
  Section.displayName = "Section";
559
-
560
- // lib/blockBrandedIconsAndPlaceholders.ts
561
- var blockBrandedIconsAndPlaceholders = {
562
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
563
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
564
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
565
- avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
566
- var DEFAULT_REVIEWS = [
567
- {
568
- rating: 5,
569
- title: "Exceeded my expectations",
570
- content: "I was a bit skeptical at first, but this product really delivered. The quality is outstanding and it arrived faster than expected. Would definitely recommend to anyone on the fence.",
571
- author: "Sarah M.",
572
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1,
573
- date: "Dec 10, 2024",
574
- verified: true
575
- },
576
- {
577
- rating: 4,
578
- title: "Great value for money",
579
- content: "Solid product overall. Does exactly what it's supposed to do. Took off one star because the packaging could be better, but the product itself is great.",
580
- author: "James R.",
581
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2,
582
- date: "Dec 8, 2024",
583
- verified: true
584
- },
585
- {
586
- rating: 5,
587
- title: "Perfect for everyday use",
588
- content: "I've been using this daily for a month now and it still looks and works like new. The build quality is impressive at this price point. Already bought one for my sister.",
589
- author: "Emily K.",
590
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3,
591
- date: "Dec 5, 2024",
592
- verified: true
593
- },
594
- {
595
- rating: 4,
596
- title: "Good but not perfect",
597
- content: "The product is nice and works well. My only minor complaint is that the color is slightly different from the photos, but it's still a great purchase overall.",
598
- author: "Michael T.",
599
- date: "Dec 2, 2024",
600
- verified: false
601
- },
602
- {
603
- rating: 5,
604
- title: "Best purchase I've made this year",
605
- content: "Absolutely love it! The attention to detail is remarkable. Customer service was also very helpful when I had questions. Five stars all around.",
606
- author: "Lisa P.",
607
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar5,
608
- date: "Nov 28, 2024",
609
- verified: true
610
- }
611
- ];
612
559
  function StarRating({ rating, size = 16 }) {
613
560
  return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
614
561
  DynamicIcon,
@@ -623,7 +570,7 @@ function StarRating({ rating, size = 16 }) {
623
570
  )) });
624
571
  }
625
572
  function ReviewsListVerified({
626
- reviews = DEFAULT_REVIEWS,
573
+ reviews,
627
574
  reviewsSlot,
628
575
  heading,
629
576
  verifiedPurchaseLabel,
@@ -638,16 +585,18 @@ function ReviewsListVerified({
638
585
  pattern,
639
586
  patternOpacity
640
587
  }) {
641
- const averageRating = reviews.reduce((sum, review) => sum + review.rating, 0) / reviews.length;
642
- const getAuthorName = (review) => {
588
+ const totalReviews = reviews?.length ?? 0;
589
+ const averageRating = totalReviews > 0 ? (reviews?.reduce((sum, review) => sum + review.rating, 0) ?? 0) / totalReviews : 0;
590
+ const getAuthorName = useCallback((review) => {
643
591
  if (typeof review.author === "string") return review.author;
644
592
  return "";
645
- };
646
- const getInitials = (name) => {
593
+ }, []);
594
+ const getInitials = useCallback((name) => {
647
595
  return name.split(" ").map((n) => n[0]).join("");
648
- };
596
+ }, []);
649
597
  const renderedReviews = useMemo(() => {
650
598
  if (reviewsSlot) return reviewsSlot;
599
+ if (!reviews || reviews.length === 0) return null;
651
600
  return /* @__PURE__ */ jsx("div", { className: "space-y-0", children: reviews.map((review, index) => {
652
601
  const authorName = getAuthorName(review);
653
602
  return /* @__PURE__ */ jsxs("div", { className: reviewClassName, children: [
@@ -679,7 +628,7 @@ function ReviewsListVerified({
679
628
  ] })
680
629
  ] }, index);
681
630
  }) });
682
- }, [reviewsSlot, reviews, reviewClassName, contentClassName, authorClassName, verifiedPurchaseLabel]);
631
+ }, [reviewsSlot, reviews, reviewClassName, contentClassName, authorClassName, verifiedPurchaseLabel, getAuthorName, getInitials]);
683
632
  return /* @__PURE__ */ jsx(
684
633
  Section,
685
634
  {
@@ -700,12 +649,12 @@ function ReviewsListVerified({
700
649
  children: heading
701
650
  }
702
651
  ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
703
- /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-3", children: [
652
+ totalReviews > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 flex items-center gap-3", children: [
704
653
  /* @__PURE__ */ jsx(StarRating, { rating: Math.round(averageRating), size: 20 }),
705
654
  /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
706
655
  averageRating.toFixed(1),
707
656
  " out of 5 \xB7 ",
708
- reviews.length,
657
+ totalReviews,
709
658
  " reviews"
710
659
  ] })
711
660
  ] })
@@ -495,14 +495,14 @@ function ServiceDetailImageHero({
495
495
  /* @__PURE__ */ jsxRuntime.jsx(
496
496
  "div",
497
497
  {
498
- className: cn("absolute inset-0 bg-black/50", heroOverlayClassName)
498
+ className: cn("absolute inset-0 bg-primary/90", heroOverlayClassName)
499
499
  }
500
500
  ),
501
501
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 container text-center", children: title && /* @__PURE__ */ jsxRuntime.jsx(
502
502
  "h1",
503
503
  {
504
504
  className: cn(
505
- "text-4xl font-medium tracking-tight text-white md:text-5xl lg:text-6xl",
505
+ "text-4xl font-medium tracking-tight text-primary-foreground md:text-5xl lg:text-6xl",
506
506
  titleClassName
507
507
  ),
508
508
  children: typeof title === "string" ? title : title
@@ -489,14 +489,14 @@ function ServiceDetailImageHero({
489
489
  /* @__PURE__ */ jsx(
490
490
  "div",
491
491
  {
492
- className: cn("absolute inset-0 bg-black/50", heroOverlayClassName)
492
+ className: cn("absolute inset-0 bg-primary/90", heroOverlayClassName)
493
493
  }
494
494
  ),
495
495
  /* @__PURE__ */ jsx("div", { className: "relative z-10 container text-center", children: title && /* @__PURE__ */ jsx(
496
496
  "h1",
497
497
  {
498
498
  className: cn(
499
- "text-4xl font-medium tracking-tight text-white md:text-5xl lg:text-6xl",
499
+ "text-4xl font-medium tracking-tight text-primary-foreground md:text-5xl lg:text-6xl",
500
500
  titleClassName
501
501
  ),
502
502
  children: typeof title === "string" ? title : title
@@ -508,7 +508,7 @@ function ServiceDetailStatsHero({
508
508
  /* @__PURE__ */ jsxRuntime.jsx(
509
509
  "div",
510
510
  {
511
- className: cn("absolute inset-0 bg-black/50", heroOverlayClassName)
511
+ className: cn("absolute inset-0 bg-primary/90", heroOverlayClassName)
512
512
  }
513
513
  ),
514
514
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 container text-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto flex flex-col items-center space-y-6", children: [
@@ -517,7 +517,7 @@ function ServiceDetailStatsHero({
517
517
  "h1",
518
518
  {
519
519
  className: cn(
520
- "text-4xl font-medium tracking-tight text-white md:text-5xl lg:text-6xl",
520
+ "text-4xl font-medium tracking-tight text-primary-foreground md:text-5xl lg:text-6xl",
521
521
  titleClassName
522
522
  ),
523
523
  children: typeof title === "string" ? title : title
@@ -502,7 +502,7 @@ function ServiceDetailStatsHero({
502
502
  /* @__PURE__ */ jsx(
503
503
  "div",
504
504
  {
505
- className: cn("absolute inset-0 bg-black/50", heroOverlayClassName)
505
+ className: cn("absolute inset-0 bg-primary/90", heroOverlayClassName)
506
506
  }
507
507
  ),
508
508
  /* @__PURE__ */ jsx("div", { className: "relative z-10 container text-center", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto flex flex-col items-center space-y-6", children: [
@@ -511,7 +511,7 @@ function ServiceDetailStatsHero({
511
511
  "h1",
512
512
  {
513
513
  className: cn(
514
- "text-4xl font-medium tracking-tight text-white md:text-5xl lg:text-6xl",
514
+ "text-4xl font-medium tracking-tight text-primary-foreground md:text-5xl lg:text-6xl",
515
515
  titleClassName
516
516
  ),
517
517
  children: typeof title === "string" ? title : title
@@ -1352,13 +1352,13 @@ function ServiceHoverCarousel({
1352
1352
  "div",
1353
1353
  {
1354
1354
  className: cn(
1355
- "absolute bottom-0 left-1/2 h-0.5 w-60 -translate-x-1/2 rounded bg-gray-200",
1355
+ "absolute bottom-0 left-1/2 h-0.5 w-60 -translate-x-1/2 rounded bg-muted",
1356
1356
  progressClassName
1357
1357
  ),
1358
1358
  children: /* @__PURE__ */ jsxRuntime.jsx(
1359
1359
  "div",
1360
1360
  {
1361
- className: "h-0.5 rounded bg-black transition-transform duration-300 ease-out",
1361
+ className: "h-0.5 rounded bg-foreground transition-transform duration-300 ease-out",
1362
1362
  style: {
1363
1363
  width: `${progressIndicatorWidth}px`,
1364
1364
  transform: `translateX(${progressOffset}px)`
@@ -1328,13 +1328,13 @@ function ServiceHoverCarousel({
1328
1328
  "div",
1329
1329
  {
1330
1330
  className: cn(
1331
- "absolute bottom-0 left-1/2 h-0.5 w-60 -translate-x-1/2 rounded bg-gray-200",
1331
+ "absolute bottom-0 left-1/2 h-0.5 w-60 -translate-x-1/2 rounded bg-muted",
1332
1332
  progressClassName
1333
1333
  ),
1334
1334
  children: /* @__PURE__ */ jsx(
1335
1335
  "div",
1336
1336
  {
1337
- className: "h-0.5 rounded bg-black transition-transform duration-300 ease-out",
1337
+ className: "h-0.5 rounded bg-foreground transition-transform duration-300 ease-out",
1338
1338
  style: {
1339
1339
  width: `${progressIndicatorWidth}px`,
1340
1340
  transform: `translateX(${progressOffset}px)`