@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
@@ -534,150 +534,8 @@ var Pressable = React.forwardRef(
534
534
  }
535
535
  );
536
536
  Pressable.displayName = "Pressable";
537
-
538
- // lib/mediaPlaceholders.ts
539
- var imagePlaceholders = [
540
- "https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
541
- "https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
542
- "https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
543
- "https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
544
- "https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
545
- "https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
546
- "https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
547
- "https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
548
- "https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
549
- "https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
550
- "https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
551
- "https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
552
- "https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
553
- "https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
554
- "https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
555
- "https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
556
- "https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
557
- "https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
558
- "https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
559
- "https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
560
- "https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
561
- "https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
562
- "https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
563
- "https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
564
- "https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
565
- "https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
566
- "https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
567
- "https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
568
- "https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
569
- "https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
570
- "https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
571
- "https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
572
- "https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
573
- "https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
574
- "https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
575
- "https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
576
- "https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
577
- "https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
578
- "https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
579
- "https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
580
- "https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
581
- "https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
582
- "https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
583
- "https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
584
- "https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
585
- "https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
586
- "https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
587
- "https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
588
- "https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
589
- "https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
590
- "https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
591
- "https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
592
- "https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
593
- "https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
594
- "https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
595
- "https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
596
- "https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
597
- "https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
598
- "https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
599
- "https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
600
- "https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
601
- "https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
602
- "https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
603
- "https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
604
- "https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
605
- "https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
606
- "https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
607
- "https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
608
- "https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
609
- "https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
610
- "https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
611
- "https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
612
- "https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
613
- "https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
614
- "https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
615
- "https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
616
- "https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
617
- "https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
618
- "https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
619
- "https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
620
- "https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
621
- "https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
622
- "https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
623
- "https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
624
- "https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
625
- "https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
626
- "https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
627
- "https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
628
- "https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
629
- "https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
630
- "https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
631
- "https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
632
- "https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
633
- "https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
634
- "https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
635
- "https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
636
- "https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
637
- "https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
638
- "https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
639
- "https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
640
- "https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
641
- "https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
642
- "https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
643
- "https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
644
- "https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
645
- "https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
646
- "https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
647
- "https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
648
- "https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
649
- "https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
650
- "https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
651
- "https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
652
- "https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
653
- "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
654
- "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
655
- ];
656
- var DEFAULT_TESTIMONIALS = [
657
- {
658
- quote: "Working with this team has been an absolute game-changer for our business. Their expertise and dedication exceeded all our expectations.",
659
- author: "Sarah Chen",
660
- role: "CEO",
661
- company: "TechVentures",
662
- backgroundImage: imagePlaceholders[10]
663
- },
664
- {
665
- quote: "The level of professionalism and attention to detail is unmatched. They delivered exactly what we needed, on time and on budget.",
666
- author: "Michael Torres",
667
- role: "Founder",
668
- company: "StartupLab",
669
- backgroundImage: imagePlaceholders[11]
670
- },
671
- {
672
- quote: "I've worked with many agencies, but none have matched the quality and creativity that this team brings to every project.",
673
- author: "Emily Watson",
674
- role: "Marketing Director",
675
- company: "GrowthCo",
676
- backgroundImage: imagePlaceholders[12]
677
- }
678
- ];
679
537
  function TestimonialsCarouselImage({
680
- testimonials = DEFAULT_TESTIMONIALS,
538
+ testimonials,
681
539
  testimonialsSlot,
682
540
  height,
683
541
  overlayOpacity,
@@ -694,20 +552,24 @@ function TestimonialsCarouselImage({
694
552
  optixFlowConfig
695
553
  }) {
696
554
  const [currentIndex, setCurrentIndex] = useState(0);
555
+ const totalTestimonials = testimonials?.length ?? 0;
697
556
  const goToPrevious = useCallback(() => {
557
+ if (totalTestimonials === 0) return;
698
558
  setCurrentIndex(
699
- (prev) => prev === 0 ? testimonials.length - 1 : prev - 1
559
+ (prev) => prev === 0 ? totalTestimonials - 1 : prev - 1
700
560
  );
701
- }, [testimonials.length]);
561
+ }, [totalTestimonials]);
702
562
  const goToNext = useCallback(() => {
563
+ if (totalTestimonials === 0) return;
703
564
  setCurrentIndex(
704
- (prev) => prev === testimonials.length - 1 ? 0 : prev + 1
565
+ (prev) => prev === totalTestimonials - 1 ? 0 : prev + 1
705
566
  );
706
- }, [testimonials.length]);
707
- const current = testimonials[currentIndex];
567
+ }, [totalTestimonials]);
568
+ const current = testimonials?.[currentIndex];
708
569
  const renderedTestimonialContent = useMemo(() => {
709
570
  if (testimonialsSlot) return testimonialsSlot;
710
- return /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center text-white", contentClassName), children: [
571
+ if (!current) return null;
572
+ return /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl text-center text-background", contentClassName), children: [
711
573
  /* @__PURE__ */ jsx(
712
574
  DynamicIcon,
713
575
  {
@@ -729,10 +591,10 @@ function TestimonialsCarouselImage({
729
591
  ] })
730
592
  ] })
731
593
  ] });
732
- }, [testimonialsSlot, contentClassName, quoteIconClassName, current.quote, quoteClassName, authorClassName, current.author, current.role, current.company]);
594
+ }, [testimonialsSlot, contentClassName, quoteIconClassName, current, quoteClassName, authorClassName]);
733
595
  return /* @__PURE__ */ jsxs("section", { className: cn("relative", height, className), children: [
734
596
  /* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
735
- current.backgroundImage && /* @__PURE__ */ jsx(
597
+ current?.backgroundImage && /* @__PURE__ */ jsx(
736
598
  Img,
737
599
  {
738
600
  src: current.backgroundImage,
@@ -744,7 +606,7 @@ function TestimonialsCarouselImage({
744
606
  /* @__PURE__ */ jsx(
745
607
  "div",
746
608
  {
747
- className: "absolute inset-0 bg-black",
609
+ className: "absolute inset-0 bg-foreground",
748
610
  style: { opacity: overlayOpacity }
749
611
  }
750
612
  )
@@ -764,7 +626,7 @@ function TestimonialsCarouselImage({
764
626
  children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-left", size: 24 })
765
627
  }
766
628
  ),
767
- /* @__PURE__ */ jsx("div", { className: cn("flex gap-2", dotsClassName), children: testimonials.map((_, index) => /* @__PURE__ */ jsx(
629
+ /* @__PURE__ */ jsx("div", { className: cn("flex gap-2", dotsClassName), children: testimonials?.map((_, index) => /* @__PURE__ */ jsx(
768
630
  "button",
769
631
  {
770
632
  onClick: () => setCurrentIndex(index),
@@ -488,37 +488,8 @@ var Section = React__default.default.forwardRef(
488
488
  }
489
489
  );
490
490
  Section.displayName = "Section";
491
-
492
- // lib/blockBrandedIconsAndPlaceholders.ts
493
- var blockBrandedIconsAndPlaceholders = {
494
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
495
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
496
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp"};
497
- var DEFAULT_TESTIMONIALS = [
498
- {
499
- quote: "The platform has revolutionized how we handle our daily operations. It's intuitive, powerful, and the support team is always there when we need them.",
500
- author: "Sarah Chen",
501
- role: "Product Manager",
502
- company: "TechCorp",
503
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
504
- },
505
- {
506
- quote: "We've seen a 40% increase in productivity since implementing this solution. It's become an essential part of our workflow.",
507
- author: "Michael Torres",
508
- role: "Operations Director",
509
- company: "GrowthCo",
510
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
511
- },
512
- {
513
- quote: "The best investment we've made this year. The ROI was visible within the first month of implementation.",
514
- author: "Emily Watson",
515
- role: "CEO",
516
- company: "StartupXYZ",
517
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
518
- }
519
- ];
520
491
  function TestimonialsCenteredAvatars({
521
- testimonials = DEFAULT_TESTIMONIALS,
492
+ testimonials,
522
493
  testimonialsSlot,
523
494
  badge,
524
495
  heading,
@@ -536,18 +507,19 @@ function TestimonialsCenteredAvatars({
536
507
  pattern,
537
508
  patternOpacity
538
509
  }) {
539
- const getAuthorName = (testimonial) => {
510
+ const getAuthorName = React.useCallback((testimonial) => {
540
511
  if (typeof testimonial.author === "string") return testimonial.author;
541
512
  return "";
542
- };
543
- const getAvatarSrc = (testimonial) => {
513
+ }, []);
514
+ const getAvatarSrc = React.useCallback((testimonial) => {
544
515
  return testimonial.avatarSrc || testimonial.avatar?.src;
545
- };
546
- const getInitials = (name) => {
516
+ }, []);
517
+ const getInitials = React.useCallback((name) => {
547
518
  return name.split(" ").map((n) => n[0]).join("");
548
- };
519
+ }, []);
549
520
  const renderedTestimonials = React.useMemo(() => {
550
521
  if (testimonialsSlot) return testimonialsSlot;
522
+ if (!testimonials || testimonials.length === 0) return null;
551
523
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-12 space-y-8", testimonialsClassName), children: testimonials.map((testimonial, index) => /* @__PURE__ */ jsxRuntime.jsxs(
552
524
  "div",
553
525
  {
@@ -599,7 +571,7 @@ function TestimonialsCenteredAvatars({
599
571
  children: heading
600
572
  }
601
573
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
602
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
574
+ testimonials && testimonials.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
603
575
  const authorName = getAuthorName(testimonial);
604
576
  const avatarSrc = getAvatarSrc(testimonial);
605
577
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import React, { useMemo } from 'react';
2
+ import React, { useCallback, useMemo } from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
@@ -463,37 +463,8 @@ var Section = React.forwardRef(
463
463
  }
464
464
  );
465
465
  Section.displayName = "Section";
466
-
467
- // lib/blockBrandedIconsAndPlaceholders.ts
468
- var blockBrandedIconsAndPlaceholders = {
469
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
470
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
471
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp"};
472
- var DEFAULT_TESTIMONIALS = [
473
- {
474
- quote: "The platform has revolutionized how we handle our daily operations. It's intuitive, powerful, and the support team is always there when we need them.",
475
- author: "Sarah Chen",
476
- role: "Product Manager",
477
- company: "TechCorp",
478
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
479
- },
480
- {
481
- quote: "We've seen a 40% increase in productivity since implementing this solution. It's become an essential part of our workflow.",
482
- author: "Michael Torres",
483
- role: "Operations Director",
484
- company: "GrowthCo",
485
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
486
- },
487
- {
488
- quote: "The best investment we've made this year. The ROI was visible within the first month of implementation.",
489
- author: "Emily Watson",
490
- role: "CEO",
491
- company: "StartupXYZ",
492
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
493
- }
494
- ];
495
466
  function TestimonialsCenteredAvatars({
496
- testimonials = DEFAULT_TESTIMONIALS,
467
+ testimonials,
497
468
  testimonialsSlot,
498
469
  badge,
499
470
  heading,
@@ -511,18 +482,19 @@ function TestimonialsCenteredAvatars({
511
482
  pattern,
512
483
  patternOpacity
513
484
  }) {
514
- const getAuthorName = (testimonial) => {
485
+ const getAuthorName = useCallback((testimonial) => {
515
486
  if (typeof testimonial.author === "string") return testimonial.author;
516
487
  return "";
517
- };
518
- const getAvatarSrc = (testimonial) => {
488
+ }, []);
489
+ const getAvatarSrc = useCallback((testimonial) => {
519
490
  return testimonial.avatarSrc || testimonial.avatar?.src;
520
- };
521
- const getInitials = (name) => {
491
+ }, []);
492
+ const getInitials = useCallback((name) => {
522
493
  return name.split(" ").map((n) => n[0]).join("");
523
- };
494
+ }, []);
524
495
  const renderedTestimonials = useMemo(() => {
525
496
  if (testimonialsSlot) return testimonialsSlot;
497
+ if (!testimonials || testimonials.length === 0) return null;
526
498
  return /* @__PURE__ */ jsx("div", { className: cn("mt-12 space-y-8", testimonialsClassName), children: testimonials.map((testimonial, index) => /* @__PURE__ */ jsxs(
527
499
  "div",
528
500
  {
@@ -574,7 +546,7 @@ function TestimonialsCenteredAvatars({
574
546
  children: heading
575
547
  }
576
548
  ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
577
- /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
549
+ testimonials && testimonials.length > 0 && /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex justify-center", avatarsClassName), children: /* @__PURE__ */ jsx("div", { className: "flex -space-x-4", children: testimonials.map((testimonial, index) => {
578
550
  const authorName = getAuthorName(testimonial);
579
551
  const avatarSrc = getAvatarSrc(testimonial);
580
552
  return /* @__PURE__ */ jsxs(
@@ -511,18 +511,13 @@ var Section = React__namespace.default.forwardRef(
511
511
  }
512
512
  );
513
513
  Section.displayName = "Section";
514
- var DEFAULT_TESTIMONIAL = {
515
- quote: "Implementing this solution was the best decision we made this year. Our team productivity increased by 40% and customer satisfaction scores have never been higher. The support team is exceptional - they're always available and incredibly knowledgeable.",
516
- author: "Jennifer Martinez",
517
- role: "Chief Technology Officer"
518
- };
519
514
  function TestimonialsCompanyLogo({
520
- testimonial = DEFAULT_TESTIMONIAL,
515
+ testimonial,
521
516
  testimonialSlot,
522
517
  companyLogo,
523
518
  companyLogoAlt,
524
519
  imageSrc,
525
- imageAlt = "Testimonial",
520
+ imageAlt,
526
521
  className,
527
522
  gridClassName,
528
523
  contentClassName,
@@ -538,6 +533,7 @@ function TestimonialsCompanyLogo({
538
533
  }) {
539
534
  const renderedTestimonial = React.useMemo(() => {
540
535
  if (testimonialSlot) return testimonialSlot;
536
+ if (!testimonial) return null;
541
537
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-8", contentClassName), children: [
542
538
  companyLogo && /* @__PURE__ */ jsxRuntime.jsx(
543
539
  img.Img,
@@ -576,7 +572,7 @@ function TestimonialsCompanyLogo({
576
572
  ] })
577
573
  ] })
578
574
  ] });
579
- }, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial.quote, quoteClassName, authorClassName, testimonial.author, testimonial.role]);
575
+ }, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial, quoteClassName, authorClassName]);
580
576
  return /* @__PURE__ */ jsxRuntime.jsx(
581
577
  Section,
582
578
  {
@@ -490,18 +490,13 @@ var Section = React__default.forwardRef(
490
490
  }
491
491
  );
492
492
  Section.displayName = "Section";
493
- var DEFAULT_TESTIMONIAL = {
494
- quote: "Implementing this solution was the best decision we made this year. Our team productivity increased by 40% and customer satisfaction scores have never been higher. The support team is exceptional - they're always available and incredibly knowledgeable.",
495
- author: "Jennifer Martinez",
496
- role: "Chief Technology Officer"
497
- };
498
493
  function TestimonialsCompanyLogo({
499
- testimonial = DEFAULT_TESTIMONIAL,
494
+ testimonial,
500
495
  testimonialSlot,
501
496
  companyLogo,
502
497
  companyLogoAlt,
503
498
  imageSrc,
504
- imageAlt = "Testimonial",
499
+ imageAlt,
505
500
  className,
506
501
  gridClassName,
507
502
  contentClassName,
@@ -517,6 +512,7 @@ function TestimonialsCompanyLogo({
517
512
  }) {
518
513
  const renderedTestimonial = useMemo(() => {
519
514
  if (testimonialSlot) return testimonialSlot;
515
+ if (!testimonial) return null;
520
516
  return /* @__PURE__ */ jsxs("div", { className: cn("space-y-8", contentClassName), children: [
521
517
  companyLogo && /* @__PURE__ */ jsx(
522
518
  Img,
@@ -555,7 +551,7 @@ function TestimonialsCompanyLogo({
555
551
  ] })
556
552
  ] })
557
553
  ] });
558
- }, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial.quote, quoteClassName, authorClassName, testimonial.author, testimonial.role]);
554
+ }, [testimonialSlot, contentClassName, companyLogo, companyLogoAlt, logoClassName, optixFlowConfig, testimonial, quoteClassName, authorClassName]);
559
555
  return /* @__PURE__ */ jsx(
560
556
  Section,
561
557
  {
@@ -580,46 +580,6 @@ var Section = React__namespace.default.forwardRef(
580
580
  }
581
581
  );
582
582
  Section.displayName = "Section";
583
-
584
- // lib/blockBrandedIconsAndPlaceholders.ts
585
- var blockBrandedIconsAndPlaceholders = {
586
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
587
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
588
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
589
- avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
590
- avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
591
- var DEFAULT_REVIEWS = [
592
- {
593
- rating: 5,
594
- content: "Absolutely love this product! It has made my daily routine so much easier. Highly recommend to anyone looking for quality.",
595
- author: "Sarah M.",
596
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
597
- },
598
- {
599
- rating: 5,
600
- content: "Best purchase I've made in a long time. The quality exceeded my expectations and the customer service was top-notch.",
601
- author: "James R.",
602
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
603
- },
604
- {
605
- rating: 4,
606
- content: "Great product overall. Does exactly what it promises. Would buy again.",
607
- author: "Emily K.",
608
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
609
- },
610
- {
611
- rating: 5,
612
- content: "This has become an essential part of my workflow. Can't imagine going back to my old solution.",
613
- author: "Michael T.",
614
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
615
- },
616
- {
617
- rating: 5,
618
- content: "Impressed by the attention to detail. You can tell a lot of thought went into designing this.",
619
- author: "Lisa P.",
620
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
621
- }
622
- ];
623
583
  function StarRating({ rating, size = 16 }) {
624
584
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsxRuntime.jsx(
625
585
  DynamicIcon,
@@ -634,7 +594,7 @@ function StarRating({ rating, size = 16 }) {
634
594
  )) });
635
595
  }
636
596
  function TestimonialsGridAddReview({
637
- reviews = DEFAULT_REVIEWS,
597
+ reviews,
638
598
  reviewsSlot,
639
599
  heading,
640
600
  description,
@@ -654,13 +614,13 @@ function TestimonialsGridAddReview({
654
614
  pattern,
655
615
  patternOpacity
656
616
  }) {
657
- const getAuthorName = (review) => {
617
+ const getAuthorName = React.useCallback((review) => {
658
618
  if (typeof review.author === "string") return review.author;
659
619
  return "";
660
- };
661
- const getInitials = (name) => {
620
+ }, []);
621
+ const getInitials = React.useCallback((name) => {
662
622
  return name.split(" ").map((n) => n[0]).join("");
663
- };
623
+ }, []);
664
624
  const renderedReviews = React.useMemo(() => {
665
625
  if (reviewsSlot) return reviewsSlot;
666
626
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -693,7 +653,7 @@ function TestimonialsGridAddReview({
693
653
  ] })
694
654
  }
695
655
  ),
696
- reviews.map((review, index) => {
656
+ reviews?.map((review, index) => {
697
657
  const authorName = getAuthorName(review);
698
658
  return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-4 p-6", children: [
699
659
  /* @__PURE__ */ jsxRuntime.jsx(StarRating, { rating: review.rating }),
@@ -710,7 +670,7 @@ function TestimonialsGridAddReview({
710
670
  ]
711
671
  }
712
672
  );
713
- }, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName]);
673
+ }, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName, getAuthorName, getInitials]);
714
674
  return /* @__PURE__ */ jsxRuntime.jsxs(
715
675
  Section,
716
676
  {
@@ -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 } from 'react/jsx-runtime';
@@ -558,46 +558,6 @@ var Section = React__default.forwardRef(
558
558
  }
559
559
  );
560
560
  Section.displayName = "Section";
561
-
562
- // lib/blockBrandedIconsAndPlaceholders.ts
563
- var blockBrandedIconsAndPlaceholders = {
564
- avatar1: "https://cdn.ing/assets/i/r/286239/ebm7o3j2kx48vw98emnwjaf5qvl6/avatar-1.webp",
565
- avatar2: "https://cdn.ing/assets/i/r/286240/vgf3rrkwn0769pfdtpal60uo5vpw/avatar-2.webp",
566
- avatar3: "https://cdn.ing/assets/i/r/286241/05vbqt3lls0q974r8fv4zn0njllq/avatar-3.webp",
567
- avatar4: "https://cdn.ing/assets/i/r/286242/y0zkazxawxrl3twwkw63twf04pdt/avatar-4.webp",
568
- avatar5: "https://cdn.ing/assets/i/r/286243/alziyfoo570m3vade3usufzlzj6x/avatar-5.webp"};
569
- var DEFAULT_REVIEWS = [
570
- {
571
- rating: 5,
572
- content: "Absolutely love this product! It has made my daily routine so much easier. Highly recommend to anyone looking for quality.",
573
- author: "Sarah M.",
574
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar1
575
- },
576
- {
577
- rating: 5,
578
- content: "Best purchase I've made in a long time. The quality exceeded my expectations and the customer service was top-notch.",
579
- author: "James R.",
580
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar2
581
- },
582
- {
583
- rating: 4,
584
- content: "Great product overall. Does exactly what it promises. Would buy again.",
585
- author: "Emily K.",
586
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar3
587
- },
588
- {
589
- rating: 5,
590
- content: "This has become an essential part of my workflow. Can't imagine going back to my old solution.",
591
- author: "Michael T.",
592
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar4
593
- },
594
- {
595
- rating: 5,
596
- content: "Impressed by the attention to detail. You can tell a lot of thought went into designing this.",
597
- author: "Lisa P.",
598
- avatarSrc: blockBrandedIconsAndPlaceholders.avatar5
599
- }
600
- ];
601
561
  function StarRating({ rating, size = 16 }) {
602
562
  return /* @__PURE__ */ jsx("div", { className: "flex items-center gap-0.5", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ jsx(
603
563
  DynamicIcon,
@@ -612,7 +572,7 @@ function StarRating({ rating, size = 16 }) {
612
572
  )) });
613
573
  }
614
574
  function TestimonialsGridAddReview({
615
- reviews = DEFAULT_REVIEWS,
575
+ reviews,
616
576
  reviewsSlot,
617
577
  heading,
618
578
  description,
@@ -632,13 +592,13 @@ function TestimonialsGridAddReview({
632
592
  pattern,
633
593
  patternOpacity
634
594
  }) {
635
- const getAuthorName = (review) => {
595
+ const getAuthorName = useCallback((review) => {
636
596
  if (typeof review.author === "string") return review.author;
637
597
  return "";
638
- };
639
- const getInitials = (name) => {
598
+ }, []);
599
+ const getInitials = useCallback((name) => {
640
600
  return name.split(" ").map((n) => n[0]).join("");
641
- };
601
+ }, []);
642
602
  const renderedReviews = useMemo(() => {
643
603
  if (reviewsSlot) return reviewsSlot;
644
604
  return /* @__PURE__ */ jsxs(
@@ -671,7 +631,7 @@ function TestimonialsGridAddReview({
671
631
  ] })
672
632
  }
673
633
  ),
674
- reviews.map((review, index) => {
634
+ reviews?.map((review, index) => {
675
635
  const authorName = getAuthorName(review);
676
636
  return /* @__PURE__ */ jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsxs(CardContent, { className: "space-y-4 p-6", children: [
677
637
  /* @__PURE__ */ jsx(StarRating, { rating: review.rating }),
@@ -688,7 +648,7 @@ function TestimonialsGridAddReview({
688
648
  ]
689
649
  }
690
650
  );
691
- }, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName]);
651
+ }, [reviewsSlot, gridClassName, addReviewCardClassName, onAddReview, addReviewText, addReviewSubtext, reviews, cardClassName, authorClassName, getAuthorName, getInitials]);
692
652
  return /* @__PURE__ */ jsxs(
693
653
  Section,
694
654
  {