@opensite/ui 0.5.3 → 0.5.5

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 (585) hide show
  1. package/dist/about-company-profile.cjs +11 -11
  2. package/dist/about-company-profile.js +12 -11
  3. package/dist/about-developer-profile.cjs +11 -11
  4. package/dist/about-developer-profile.js +12 -11
  5. package/dist/about-developer-story.cjs +11 -11
  6. package/dist/about-developer-story.js +12 -11
  7. package/dist/about-interactive-tabs.cjs +10 -5
  8. package/dist/about-interactive-tabs.js +12 -6
  9. package/dist/about-location-info-hero.cjs +14 -14
  10. package/dist/about-location-info-hero.js +15 -15
  11. package/dist/about-minimal-story.cjs +5 -4
  12. package/dist/about-minimal-story.js +6 -5
  13. package/dist/about-mission-dual-image.cjs +5 -5
  14. package/dist/about-mission-dual-image.js +6 -5
  15. package/dist/about-mission-features.cjs +5 -4
  16. package/dist/about-mission-features.js +6 -5
  17. package/dist/about-network-spotlight.cjs +12 -134
  18. package/dist/about-network-spotlight.js +13 -135
  19. package/dist/about-startup-team.cjs +10 -12
  20. package/dist/about-startup-team.js +11 -12
  21. package/dist/about-stats-showcase.cjs +17 -16
  22. package/dist/about-stats-showcase.js +17 -16
  23. package/dist/about-stats-sidebar.cjs +8 -7
  24. package/dist/about-stats-sidebar.js +8 -7
  25. package/dist/about-story-expertise.cjs +17 -139
  26. package/dist/about-story-expertise.js +18 -140
  27. package/dist/about-story-gallery.cjs +6 -9
  28. package/dist/about-story-gallery.js +6 -9
  29. package/dist/about-story-hero.cjs +6 -9
  30. package/dist/about-story-hero.js +7 -10
  31. package/dist/about-streamline-team.cjs +10 -10
  32. package/dist/about-streamline-team.js +11 -10
  33. package/dist/about-vision-gallery.cjs +33 -40
  34. package/dist/about-vision-gallery.d.cts +44 -24
  35. package/dist/about-vision-gallery.d.ts +44 -24
  36. package/dist/about-vision-gallery.js +34 -40
  37. package/dist/alternating-blocks.cjs +5 -5
  38. package/dist/alternating-blocks.js +5 -5
  39. package/dist/article-breadcrumb-social.cjs +35 -41
  40. package/dist/article-breadcrumb-social.d.cts +0 -2
  41. package/dist/article-breadcrumb-social.d.ts +0 -2
  42. package/dist/article-breadcrumb-social.js +35 -41
  43. package/dist/article-chapters-author.cjs +80 -80
  44. package/dist/article-chapters-author.js +79 -79
  45. package/dist/article-compact-toc.cjs +31 -30
  46. package/dist/article-compact-toc.js +30 -29
  47. package/dist/article-hero-prose.cjs +9 -9
  48. package/dist/article-hero-prose.d.cts +5 -5
  49. package/dist/article-hero-prose.d.ts +5 -5
  50. package/dist/article-hero-prose.js +9 -9
  51. package/dist/article-sidebar-sticky.cjs +12 -11
  52. package/dist/article-sidebar-sticky.js +12 -11
  53. package/dist/article-split-animated.cjs +23 -142
  54. package/dist/article-split-animated.js +23 -142
  55. package/dist/article-toc-sidebar.cjs +31 -31
  56. package/dist/article-toc-sidebar.js +30 -30
  57. package/dist/banner-announcement-dismissible.cjs +37 -17
  58. package/dist/banner-announcement-dismissible.d.cts +0 -2
  59. package/dist/banner-announcement-dismissible.d.ts +0 -2
  60. package/dist/banner-announcement-dismissible.js +38 -18
  61. package/dist/banner-countdown-sale.cjs +19 -11
  62. package/dist/banner-countdown-sale.d.cts +0 -1
  63. package/dist/banner-countdown-sale.d.ts +0 -1
  64. package/dist/banner-countdown-sale.js +21 -13
  65. package/dist/banner-delivery-countdown.cjs +29 -24
  66. package/dist/banner-delivery-countdown.d.cts +0 -2
  67. package/dist/banner-delivery-countdown.d.ts +0 -2
  68. package/dist/banner-delivery-countdown.js +30 -25
  69. package/dist/banner-event-promo.cjs +28 -13
  70. package/dist/banner-event-promo.js +29 -13
  71. package/dist/banner-floating-offer.cjs +42 -24
  72. package/dist/banner-floating-offer.d.cts +0 -3
  73. package/dist/banner-floating-offer.d.ts +0 -3
  74. package/dist/banner-floating-offer.js +43 -25
  75. package/dist/banner-gdpr-rights.cjs +36 -19
  76. package/dist/banner-gdpr-rights.d.cts +3 -5
  77. package/dist/banner-gdpr-rights.d.ts +3 -5
  78. package/dist/banner-gdpr-rights.js +37 -20
  79. package/dist/banner-privacy-notice.cjs +34 -17
  80. package/dist/banner-privacy-notice.d.cts +0 -2
  81. package/dist/banner-privacy-notice.d.ts +0 -2
  82. package/dist/banner-privacy-notice.js +35 -18
  83. package/dist/banner-promo-cta.cjs +27 -12
  84. package/dist/banner-promo-cta.js +28 -12
  85. package/dist/banner-social-follow.cjs +37 -17
  86. package/dist/banner-social-follow.d.cts +0 -2
  87. package/dist/banner-social-follow.d.ts +0 -2
  88. package/dist/banner-social-follow.js +38 -18
  89. package/dist/banner-survey-incentive.cjs +34 -17
  90. package/dist/banner-survey-incentive.d.cts +0 -2
  91. package/dist/banner-survey-incentive.d.ts +0 -2
  92. package/dist/banner-survey-incentive.js +35 -18
  93. package/dist/blog-cards-read-time.cjs +408 -24
  94. package/dist/blog-cards-read-time.d.cts +20 -1
  95. package/dist/blog-cards-read-time.d.ts +20 -1
  96. package/dist/blog-cards-read-time.js +409 -24
  97. package/dist/blog-cards-tagline-cta.cjs +406 -19
  98. package/dist/blog-cards-tagline-cta.d.cts +20 -1
  99. package/dist/blog-cards-tagline-cta.d.ts +20 -1
  100. package/dist/blog-cards-tagline-cta.js +407 -19
  101. package/dist/blog-category-overlay.cjs +407 -20
  102. package/dist/blog-category-overlay.d.cts +27 -8
  103. package/dist/blog-category-overlay.d.ts +27 -8
  104. package/dist/blog-category-overlay.js +408 -20
  105. package/dist/blog-featured-popular.cjs +406 -19
  106. package/dist/blog-featured-popular.d.cts +20 -1
  107. package/dist/blog-featured-popular.d.ts +20 -1
  108. package/dist/blog-featured-popular.js +407 -19
  109. package/dist/blog-filtered-results.cjs +457 -71
  110. package/dist/blog-filtered-results.d.cts +38 -19
  111. package/dist/blog-filtered-results.d.ts +38 -19
  112. package/dist/blog-filtered-results.js +455 -69
  113. package/dist/blog-grid-author-cards.cjs +408 -20
  114. package/dist/blog-grid-author-cards.d.cts +28 -9
  115. package/dist/blog-grid-author-cards.d.ts +28 -9
  116. package/dist/blog-grid-author-cards.js +409 -20
  117. package/dist/blog-grid-nine-posts.cjs +403 -16
  118. package/dist/blog-grid-nine-posts.d.cts +24 -5
  119. package/dist/blog-grid-nine-posts.d.ts +24 -5
  120. package/dist/blog-grid-nine-posts.js +404 -16
  121. package/dist/blog-horizontal-cards.cjs +407 -20
  122. package/dist/blog-horizontal-cards.d.cts +21 -2
  123. package/dist/blog-horizontal-cards.d.ts +21 -2
  124. package/dist/blog-horizontal-cards.js +408 -20
  125. package/dist/blog-horizontal-timeline.cjs +401 -14
  126. package/dist/blog-horizontal-timeline.d.cts +28 -9
  127. package/dist/blog-horizontal-timeline.d.ts +28 -9
  128. package/dist/blog-horizontal-timeline.js +402 -14
  129. package/dist/blog-masonry-featured.cjs +405 -18
  130. package/dist/blog-masonry-featured.d.cts +28 -9
  131. package/dist/blog-masonry-featured.d.ts +28 -9
  132. package/dist/blog-masonry-featured.js +406 -18
  133. package/dist/blog-related-articles.cjs +401 -14
  134. package/dist/blog-related-articles.d.cts +20 -1
  135. package/dist/blog-related-articles.d.ts +20 -1
  136. package/dist/blog-related-articles.js +402 -14
  137. package/dist/blog-tech-insights.cjs +410 -23
  138. package/dist/blog-tech-insights.d.cts +31 -12
  139. package/dist/blog-tech-insights.d.ts +31 -12
  140. package/dist/blog-tech-insights.js +411 -23
  141. package/dist/case-studies-featured-border.cjs +423 -14
  142. package/dist/case-studies-featured-border.d.cts +20 -1
  143. package/dist/case-studies-featured-border.d.ts +20 -1
  144. package/dist/case-studies-featured-border.js +424 -14
  145. package/dist/case-studies-image-grid.cjs +404 -7
  146. package/dist/case-studies-image-grid.d.cts +20 -1
  147. package/dist/case-studies-image-grid.d.ts +20 -1
  148. package/dist/case-studies-image-grid.js +405 -7
  149. package/dist/case-studies-stats-card.cjs +416 -29
  150. package/dist/case-studies-stats-card.d.cts +20 -1
  151. package/dist/case-studies-stats-card.d.ts +20 -1
  152. package/dist/case-studies-stats-card.js +417 -29
  153. package/dist/case-studies-testimonial-stats.cjs +409 -10
  154. package/dist/case-studies-testimonial-stats.d.cts +20 -1
  155. package/dist/case-studies-testimonial-stats.d.ts +20 -1
  156. package/dist/case-studies-testimonial-stats.js +409 -10
  157. package/dist/case-study-prose-sidebar.cjs +414 -23
  158. package/dist/case-study-prose-sidebar.d.cts +34 -15
  159. package/dist/case-study-prose-sidebar.d.ts +34 -15
  160. package/dist/case-study-prose-sidebar.js +415 -23
  161. package/dist/case-study-stats-metrics.cjs +443 -43
  162. package/dist/case-study-stats-metrics.d.cts +39 -20
  163. package/dist/case-study-stats-metrics.d.ts +39 -20
  164. package/dist/case-study-stats-metrics.js +444 -43
  165. package/dist/case-study-toc-social-sidebar.cjs +436 -46
  166. package/dist/case-study-toc-social-sidebar.d.cts +36 -17
  167. package/dist/case-study-toc-social-sidebar.d.ts +36 -17
  168. package/dist/case-study-toc-social-sidebar.js +437 -47
  169. package/dist/comparison-ai-models.cjs +498 -77
  170. package/dist/comparison-ai-models.d.cts +25 -7
  171. package/dist/comparison-ai-models.d.ts +25 -7
  172. package/dist/comparison-ai-models.js +497 -76
  173. package/dist/comparison-feature-cards.cjs +492 -80
  174. package/dist/comparison-feature-cards.d.cts +25 -6
  175. package/dist/comparison-feature-cards.d.ts +25 -6
  176. package/dist/comparison-feature-cards.js +492 -79
  177. package/dist/comparison-feature-grid.cjs +475 -47
  178. package/dist/comparison-feature-grid.d.cts +24 -1
  179. package/dist/comparison-feature-grid.d.ts +24 -1
  180. package/dist/comparison-feature-grid.js +476 -47
  181. package/dist/comparison-grid-badges.cjs +422 -25
  182. package/dist/comparison-grid-badges.d.cts +26 -3
  183. package/dist/comparison-grid-badges.d.ts +26 -3
  184. package/dist/comparison-grid-badges.js +423 -25
  185. package/dist/comparison-image-cards.cjs +450 -36
  186. package/dist/comparison-image-cards.d.cts +23 -4
  187. package/dist/comparison-image-cards.d.ts +23 -4
  188. package/dist/comparison-image-cards.js +451 -36
  189. package/dist/comparison-legacy-modern.cjs +442 -41
  190. package/dist/comparison-legacy-modern.d.cts +29 -6
  191. package/dist/comparison-legacy-modern.d.ts +29 -6
  192. package/dist/comparison-legacy-modern.js +443 -41
  193. package/dist/comparison-metrics-rows.cjs +478 -47
  194. package/dist/comparison-metrics-rows.d.cts +20 -1
  195. package/dist/comparison-metrics-rows.d.ts +20 -1
  196. package/dist/comparison-metrics-rows.js +479 -47
  197. package/dist/comparison-table-tabs.cjs +423 -13
  198. package/dist/comparison-table-tabs.d.cts +25 -2
  199. package/dist/comparison-table-tabs.d.ts +25 -2
  200. package/dist/comparison-table-tabs.js +424 -14
  201. package/dist/comparison-table-tooltips.cjs +443 -37
  202. package/dist/comparison-table-tooltips.d.cts +24 -1
  203. package/dist/comparison-table-tooltips.d.ts +24 -1
  204. package/dist/comparison-table-tooltips.js +443 -37
  205. package/dist/comparison-table-two-column.cjs +463 -53
  206. package/dist/comparison-table-two-column.d.cts +24 -6
  207. package/dist/comparison-table-two-column.d.ts +24 -6
  208. package/dist/comparison-table-two-column.js +464 -53
  209. package/dist/components.cjs +8 -8
  210. package/dist/components.js +9 -9
  211. package/dist/contact-callback.cjs +577 -190
  212. package/dist/contact-callback.d.cts +35 -1
  213. package/dist/contact-callback.d.ts +35 -1
  214. package/dist/contact-callback.js +578 -190
  215. package/dist/contact-card.cjs +502 -115
  216. package/dist/contact-card.d.cts +20 -1
  217. package/dist/contact-card.d.ts +20 -1
  218. package/dist/contact-card.js +503 -115
  219. package/dist/contact-careers.cjs +628 -241
  220. package/dist/contact-careers.d.cts +20 -2
  221. package/dist/contact-careers.d.ts +20 -2
  222. package/dist/contact-careers.js +629 -242
  223. package/dist/contact-catering.cjs +664 -277
  224. package/dist/contact-catering.d.cts +20 -1
  225. package/dist/contact-catering.d.ts +20 -1
  226. package/dist/contact-catering.js +665 -277
  227. package/dist/contact-consultation.cjs +567 -180
  228. package/dist/contact-consultation.d.cts +20 -2
  229. package/dist/contact-consultation.d.ts +20 -2
  230. package/dist/contact-consultation.js +568 -180
  231. package/dist/contact-dark.cjs +486 -99
  232. package/dist/contact-dark.d.cts +20 -2
  233. package/dist/contact-dark.d.ts +20 -2
  234. package/dist/contact-dark.js +487 -99
  235. package/dist/contact-demo.cjs +558 -171
  236. package/dist/contact-demo.d.cts +20 -2
  237. package/dist/contact-demo.d.ts +20 -2
  238. package/dist/contact-demo.js +559 -171
  239. package/dist/contact-emergency.cjs +571 -184
  240. package/dist/contact-emergency.d.cts +20 -2
  241. package/dist/contact-emergency.d.ts +20 -2
  242. package/dist/contact-emergency.js +572 -184
  243. package/dist/contact-event.cjs +489 -102
  244. package/dist/contact-event.d.cts +20 -2
  245. package/dist/contact-event.d.ts +20 -2
  246. package/dist/contact-event.js +490 -102
  247. package/dist/contact-faq.cjs +478 -91
  248. package/dist/contact-faq.d.cts +20 -2
  249. package/dist/contact-faq.d.ts +20 -2
  250. package/dist/contact-faq.js +479 -91
  251. package/dist/contact-feedback.cjs +450 -63
  252. package/dist/contact-feedback.d.cts +20 -2
  253. package/dist/contact-feedback.d.ts +20 -2
  254. package/dist/contact-feedback.js +451 -63
  255. package/dist/contact-fitness.cjs +489 -102
  256. package/dist/contact-fitness.d.cts +20 -2
  257. package/dist/contact-fitness.d.ts +20 -2
  258. package/dist/contact-fitness.js +490 -102
  259. package/dist/contact-floating-banner.cjs +5 -5
  260. package/dist/contact-floating-banner.js +5 -5
  261. package/dist/contact-guest.cjs +489 -102
  262. package/dist/contact-guest.d.cts +20 -2
  263. package/dist/contact-guest.d.ts +20 -2
  264. package/dist/contact-guest.js +490 -102
  265. package/dist/contact-image.cjs +489 -102
  266. package/dist/contact-image.d.cts +20 -2
  267. package/dist/contact-image.d.ts +20 -2
  268. package/dist/contact-image.js +490 -102
  269. package/dist/contact-insurance.cjs +489 -102
  270. package/dist/contact-insurance.d.cts +20 -2
  271. package/dist/contact-insurance.d.ts +20 -2
  272. package/dist/contact-insurance.js +490 -102
  273. package/dist/contact-interview.cjs +489 -102
  274. package/dist/contact-interview.d.cts +20 -2
  275. package/dist/contact-interview.d.ts +20 -2
  276. package/dist/contact-interview.js +490 -102
  277. package/dist/contact-locations.cjs +489 -102
  278. package/dist/contact-locations.d.cts +20 -2
  279. package/dist/contact-locations.d.ts +20 -2
  280. package/dist/contact-locations.js +490 -102
  281. package/dist/contact-maintenance.cjs +489 -102
  282. package/dist/contact-maintenance.d.cts +20 -2
  283. package/dist/contact-maintenance.d.ts +20 -2
  284. package/dist/contact-maintenance.js +490 -102
  285. package/dist/contact-map.cjs +489 -102
  286. package/dist/contact-map.d.cts +20 -2
  287. package/dist/contact-map.d.ts +20 -2
  288. package/dist/contact-map.js +490 -102
  289. package/dist/contact-minimal.cjs +466 -79
  290. package/dist/contact-minimal.d.cts +32 -1
  291. package/dist/contact-minimal.d.ts +32 -1
  292. package/dist/contact-minimal.js +467 -79
  293. package/dist/contact-moving.cjs +489 -102
  294. package/dist/contact-moving.d.cts +20 -2
  295. package/dist/contact-moving.d.ts +20 -2
  296. package/dist/contact-moving.js +490 -102
  297. package/dist/contact-multistep.cjs +489 -102
  298. package/dist/contact-multistep.d.cts +20 -2
  299. package/dist/contact-multistep.d.ts +20 -2
  300. package/dist/contact-multistep.js +490 -102
  301. package/dist/contact-partnership.cjs +489 -102
  302. package/dist/contact-partnership.d.cts +20 -2
  303. package/dist/contact-partnership.d.ts +20 -2
  304. package/dist/contact-partnership.js +490 -102
  305. package/dist/contact-photography.cjs +489 -102
  306. package/dist/contact-photography.d.cts +20 -2
  307. package/dist/contact-photography.d.ts +20 -2
  308. package/dist/contact-photography.js +490 -102
  309. package/dist/contact-press.cjs +489 -102
  310. package/dist/contact-press.d.cts +20 -2
  311. package/dist/contact-press.d.ts +20 -2
  312. package/dist/contact-press.js +490 -102
  313. package/dist/contact-quote.cjs +489 -102
  314. package/dist/contact-quote.d.cts +20 -2
  315. package/dist/contact-quote.d.ts +20 -2
  316. package/dist/contact-quote.js +490 -102
  317. package/dist/contact-referral.cjs +489 -102
  318. package/dist/contact-referral.d.cts +20 -2
  319. package/dist/contact-referral.d.ts +20 -2
  320. package/dist/contact-referral.js +490 -102
  321. package/dist/contact-report.cjs +489 -102
  322. package/dist/contact-report.d.cts +20 -2
  323. package/dist/contact-report.d.ts +20 -2
  324. package/dist/contact-report.js +490 -102
  325. package/dist/contact-reservation.cjs +489 -102
  326. package/dist/contact-reservation.d.cts +20 -2
  327. package/dist/contact-reservation.d.ts +20 -2
  328. package/dist/contact-reservation.js +490 -102
  329. package/dist/contact-retreat.cjs +489 -102
  330. package/dist/contact-retreat.d.cts +20 -2
  331. package/dist/contact-retreat.d.ts +20 -2
  332. package/dist/contact-retreat.js +490 -102
  333. package/dist/contact-rsvp.cjs +489 -102
  334. package/dist/contact-rsvp.d.cts +20 -2
  335. package/dist/contact-rsvp.d.ts +20 -2
  336. package/dist/contact-rsvp.js +490 -102
  337. package/dist/contact-sales.cjs +489 -102
  338. package/dist/contact-sales.d.cts +20 -1
  339. package/dist/contact-sales.d.ts +20 -1
  340. package/dist/contact-sales.js +490 -102
  341. package/dist/contact-schedule.cjs +489 -102
  342. package/dist/contact-schedule.d.cts +20 -2
  343. package/dist/contact-schedule.d.ts +20 -2
  344. package/dist/contact-schedule.js +490 -102
  345. package/dist/contact-sponsorship.cjs +489 -102
  346. package/dist/contact-sponsorship.d.cts +20 -2
  347. package/dist/contact-sponsorship.d.ts +20 -2
  348. package/dist/contact-sponsorship.js +490 -102
  349. package/dist/contact-support.cjs +463 -76
  350. package/dist/contact-support.d.cts +20 -2
  351. package/dist/contact-support.d.ts +20 -2
  352. package/dist/contact-support.js +464 -76
  353. package/dist/contact-tenant.cjs +489 -102
  354. package/dist/contact-tenant.d.cts +20 -2
  355. package/dist/contact-tenant.d.ts +20 -2
  356. package/dist/contact-tenant.js +490 -102
  357. package/dist/contact-vendor.cjs +489 -102
  358. package/dist/contact-vendor.d.cts +20 -2
  359. package/dist/contact-vendor.d.ts +20 -2
  360. package/dist/contact-vendor.js +490 -102
  361. package/dist/contact-volunteer.cjs +489 -102
  362. package/dist/contact-volunteer.d.cts +20 -2
  363. package/dist/contact-volunteer.d.ts +20 -2
  364. package/dist/contact-volunteer.js +490 -102
  365. package/dist/contact-warranty.cjs +489 -102
  366. package/dist/contact-warranty.d.cts +20 -2
  367. package/dist/contact-warranty.d.ts +20 -2
  368. package/dist/contact-warranty.js +490 -102
  369. package/dist/contact-wedding.cjs +489 -102
  370. package/dist/contact-wedding.d.cts +20 -2
  371. package/dist/contact-wedding.d.ts +20 -2
  372. package/dist/contact-wedding.js +490 -102
  373. package/dist/cta-accent-background.cjs +11 -11
  374. package/dist/cta-accent-background.js +12 -12
  375. package/dist/cta-app-download-newsletter.cjs +16 -135
  376. package/dist/cta-app-download-newsletter.js +17 -136
  377. package/dist/cta-background-icon-badge.cjs +12 -131
  378. package/dist/cta-background-icon-badge.js +13 -132
  379. package/dist/cta-case-study-testimonial.cjs +31 -154
  380. package/dist/cta-case-study-testimonial.js +32 -155
  381. package/dist/cta-documentation-links.cjs +15 -15
  382. package/dist/cta-documentation-links.js +16 -16
  383. package/dist/cta-enterprise-dark-features.cjs +21 -21
  384. package/dist/cta-enterprise-dark-features.js +22 -22
  385. package/dist/cta-enterprise-split.cjs +14 -14
  386. package/dist/cta-enterprise-split.js +15 -15
  387. package/dist/cta-feature-cards-grid.cjs +16 -16
  388. package/dist/cta-feature-cards-grid.js +17 -17
  389. package/dist/cta-feature-checklist.cjs +14 -14
  390. package/dist/cta-feature-checklist.js +15 -15
  391. package/dist/cta-feature-list.cjs +16 -135
  392. package/dist/cta-feature-list.js +17 -136
  393. package/dist/cta-fullwidth-background.cjs +14 -133
  394. package/dist/cta-fullwidth-background.js +15 -134
  395. package/dist/cta-gradient-logos-floating.cjs +17 -17
  396. package/dist/cta-gradient-logos-floating.js +18 -18
  397. package/dist/cta-gradient-stats-hero.cjs +16 -16
  398. package/dist/cta-gradient-stats-hero.js +17 -17
  399. package/dist/cta-hero-feature-cards.cjs +36 -136
  400. package/dist/cta-hero-feature-cards.js +37 -137
  401. package/dist/cta-image-overlay-arrow.cjs +12 -131
  402. package/dist/cta-image-overlay-arrow.js +13 -132
  403. package/dist/cta-image-overlay-centered.cjs +12 -131
  404. package/dist/cta-image-overlay-centered.js +13 -132
  405. package/dist/cta-minimal-separator.cjs +8 -8
  406. package/dist/cta-minimal-separator.js +9 -9
  407. package/dist/cta-newsletter-features.cjs +14 -14
  408. package/dist/cta-newsletter-features.js +15 -15
  409. package/dist/cta-pattern-background.cjs +11 -11
  410. package/dist/cta-pattern-background.js +12 -12
  411. package/dist/cta-platform-demo.cjs +16 -139
  412. package/dist/cta-platform-demo.js +17 -140
  413. package/dist/cta-simple-centered.cjs +11 -11
  414. package/dist/cta-simple-centered.js +12 -12
  415. package/dist/cta-split-gradient-image.cjs +14 -133
  416. package/dist/cta-split-gradient-image.js +15 -134
  417. package/dist/cta-split-image-logos.cjs +17 -136
  418. package/dist/cta-split-image-logos.js +18 -137
  419. package/dist/cta-split-image.cjs +60 -174
  420. package/dist/cta-split-image.js +61 -175
  421. package/dist/cta-stacked-cards.cjs +11 -11
  422. package/dist/cta-stacked-cards.js +12 -12
  423. package/dist/cta-video-background-hero.cjs +16 -100
  424. package/dist/cta-video-background-hero.js +17 -101
  425. package/dist/cta-workflow-tabs.cjs +18 -137
  426. package/dist/cta-workflow-tabs.js +19 -138
  427. package/dist/hero-ad-campaign-expert.cjs +2 -2
  428. package/dist/hero-ad-campaign-expert.js +2 -2
  429. package/dist/hero-adaptable-product-grid.cjs +2 -2
  430. package/dist/hero-adaptable-product-grid.js +2 -2
  431. package/dist/hero-agency-animated-images.cjs +2 -2
  432. package/dist/hero-agency-animated-images.js +2 -2
  433. package/dist/hero-ai-powered-carousel.cjs +2 -2
  434. package/dist/hero-ai-powered-carousel.js +2 -2
  435. package/dist/hero-announcement-badge.cjs +2 -2
  436. package/dist/hero-announcement-badge.js +2 -2
  437. package/dist/hero-architecture-fullscreen.cjs +2 -2
  438. package/dist/hero-architecture-fullscreen.js +2 -2
  439. package/dist/hero-badge-image-split.cjs +2 -2
  440. package/dist/hero-badge-image-split.js +2 -2
  441. package/dist/hero-badge-shadow-overlay.cjs +2 -2
  442. package/dist/hero-badge-shadow-overlay.js +2 -2
  443. package/dist/hero-billing-platform-logos.cjs +2 -2
  444. package/dist/hero-billing-platform-logos.js +2 -2
  445. package/dist/hero-business-carousel-dots.cjs +2 -2
  446. package/dist/hero-business-carousel-dots.js +2 -2
  447. package/dist/hero-business-operations-mosaic.cjs +2 -2
  448. package/dist/hero-business-operations-mosaic.js +2 -2
  449. package/dist/hero-centered-gradient-cta.cjs +2 -2
  450. package/dist/hero-centered-gradient-cta.js +2 -2
  451. package/dist/hero-centered-image-grid.cjs +2 -2
  452. package/dist/hero-centered-image-grid.js +2 -2
  453. package/dist/hero-centered-screenshot.cjs +2 -2
  454. package/dist/hero-centered-screenshot.js +2 -2
  455. package/dist/hero-coming-soon-countdown.cjs +2 -2
  456. package/dist/hero-coming-soon-countdown.js +2 -2
  457. package/dist/hero-community-survey-cta.cjs +2 -2
  458. package/dist/hero-community-survey-cta.js +2 -2
  459. package/dist/hero-conversation-intelligence.cjs +2 -2
  460. package/dist/hero-conversation-intelligence.js +2 -2
  461. package/dist/hero-conversion-video-play.cjs +2 -2
  462. package/dist/hero-conversion-video-play.js +2 -2
  463. package/dist/hero-creative-studio-stacked.cjs +2 -2
  464. package/dist/hero-creative-studio-stacked.js +2 -2
  465. package/dist/hero-crm-streamlined.cjs +2 -2
  466. package/dist/hero-crm-streamlined.js +2 -2
  467. package/dist/hero-customer-support-layered.cjs +2 -2
  468. package/dist/hero-customer-support-layered.js +2 -2
  469. package/dist/hero-dashed-border-features.cjs +2 -2
  470. package/dist/hero-dashed-border-features.js +2 -2
  471. package/dist/hero-design-carousel-portfolio.cjs +2 -2
  472. package/dist/hero-design-carousel-portfolio.js +2 -2
  473. package/dist/hero-design-showcase-logos.cjs +2 -2
  474. package/dist/hero-design-showcase-logos.js +2 -2
  475. package/dist/hero-design-system-3d.cjs +2 -2
  476. package/dist/hero-design-system-3d.js +2 -2
  477. package/dist/hero-developer-tools-code.cjs +2 -2
  478. package/dist/hero-developer-tools-code.js +2 -2
  479. package/dist/hero-digital-agency-fullscreen.cjs +2 -2
  480. package/dist/hero-digital-agency-fullscreen.js +2 -2
  481. package/dist/hero-ecommerce-product-showcase.cjs +2 -2
  482. package/dist/hero-ecommerce-product-showcase.js +2 -2
  483. package/dist/hero-enterprise-security.cjs +2 -2
  484. package/dist/hero-enterprise-security.js +2 -2
  485. package/dist/hero-event-registration.cjs +2 -2
  486. package/dist/hero-event-registration.js +2 -2
  487. package/dist/hero-feature-cards-grid.cjs +2 -2
  488. package/dist/hero-feature-cards-grid.js +2 -2
  489. package/dist/hero-fullscreen-background-image.cjs +2 -2
  490. package/dist/hero-fullscreen-background-image.js +2 -2
  491. package/dist/hero-fullscreen-logo-cta.cjs +2 -2
  492. package/dist/hero-fullscreen-logo-cta.js +2 -2
  493. package/dist/hero-gradient-avatars-rating.cjs +2 -2
  494. package/dist/hero-gradient-avatars-rating.js +2 -2
  495. package/dist/hero-gradient-client-focused.cjs +2 -2
  496. package/dist/hero-gradient-client-focused.js +2 -2
  497. package/dist/hero-grid-pattern-efficiency.cjs +2 -2
  498. package/dist/hero-grid-pattern-efficiency.js +2 -2
  499. package/dist/hero-grid-pattern-solutions.cjs +2 -2
  500. package/dist/hero-grid-pattern-solutions.js +2 -2
  501. package/dist/hero-hiring-animated-text.cjs +2 -2
  502. package/dist/hero-hiring-animated-text.js +2 -2
  503. package/dist/hero-image-left-content.cjs +2 -2
  504. package/dist/hero-image-left-content.js +2 -2
  505. package/dist/hero-image-slider.cjs +2 -2
  506. package/dist/hero-image-slider.js +2 -2
  507. package/dist/hero-innovation-image-grid.cjs +2 -2
  508. package/dist/hero-innovation-image-grid.js +2 -2
  509. package/dist/hero-logo-centered-screenshot.cjs +2 -2
  510. package/dist/hero-logo-centered-screenshot.js +2 -2
  511. package/dist/hero-marketplace-scattered-images.cjs +2 -2
  512. package/dist/hero-marketplace-scattered-images.js +2 -2
  513. package/dist/hero-mental-health-team.cjs +2 -2
  514. package/dist/hero-mental-health-team.js +2 -2
  515. package/dist/hero-mentorship-video-split.cjs +2 -2
  516. package/dist/hero-mentorship-video-split.js +2 -2
  517. package/dist/hero-minimal-centered-dark.cjs +2 -2
  518. package/dist/hero-minimal-centered-dark.js +2 -2
  519. package/dist/hero-mobile-app-download.cjs +2 -2
  520. package/dist/hero-mobile-app-download.js +2 -2
  521. package/dist/hero-newsletter-minimal.cjs +2 -2
  522. package/dist/hero-newsletter-minimal.js +2 -2
  523. package/dist/hero-pattern-badge-logos.cjs +2 -2
  524. package/dist/hero-pattern-badge-logos.js +2 -2
  525. package/dist/hero-pattern-logo-tech-stack.cjs +2 -2
  526. package/dist/hero-pattern-logo-tech-stack.js +2 -2
  527. package/dist/hero-platform-features-grid.cjs +2 -2
  528. package/dist/hero-platform-features-grid.js +2 -2
  529. package/dist/hero-portfolio-creative.cjs +2 -2
  530. package/dist/hero-portfolio-creative.js +2 -2
  531. package/dist/hero-premium-split-avatars.cjs +2 -2
  532. package/dist/hero-premium-split-avatars.js +2 -2
  533. package/dist/hero-presentation-platform-video.cjs +2 -2
  534. package/dist/hero-presentation-platform-video.js +2 -2
  535. package/dist/hero-pricing-comparison.cjs +2 -2
  536. package/dist/hero-pricing-comparison.js +2 -2
  537. package/dist/hero-product-showcase-floating.cjs +2 -2
  538. package/dist/hero-product-showcase-floating.js +2 -2
  539. package/dist/hero-productivity-launcher-video.cjs +2 -2
  540. package/dist/hero-productivity-launcher-video.js +2 -2
  541. package/dist/hero-saas-dashboard-preview.cjs +2 -2
  542. package/dist/hero-saas-dashboard-preview.js +2 -2
  543. package/dist/hero-shared-inbox-layered.cjs +2 -2
  544. package/dist/hero-shared-inbox-layered.js +2 -2
  545. package/dist/hero-simple-centered-image.cjs +2 -2
  546. package/dist/hero-simple-centered-image.js +2 -2
  547. package/dist/hero-software-growth-video-dialog.cjs +2 -2
  548. package/dist/hero-software-growth-video-dialog.js +2 -2
  549. package/dist/hero-spiral-pattern-cards.cjs +2 -2
  550. package/dist/hero-spiral-pattern-cards.js +2 -2
  551. package/dist/hero-split-geometric-shapes.cjs +2 -2
  552. package/dist/hero-split-geometric-shapes.js +2 -2
  553. package/dist/hero-split-icon-cards.cjs +1 -1
  554. package/dist/hero-split-icon-cards.js +1 -1
  555. package/dist/hero-split-image-newsletter.cjs +2 -2
  556. package/dist/hero-split-image-newsletter.js +2 -2
  557. package/dist/hero-split-spiral-shapes.cjs +2 -2
  558. package/dist/hero-split-spiral-shapes.js +2 -2
  559. package/dist/hero-startup-launch-cta.cjs +2 -2
  560. package/dist/hero-startup-launch-cta.js +2 -2
  561. package/dist/hero-stats-social-proof.cjs +2 -2
  562. package/dist/hero-stats-social-proof.js +2 -2
  563. package/dist/hero-task-timer-animated.cjs +2 -2
  564. package/dist/hero-task-timer-animated.js +2 -2
  565. package/dist/hero-tech-carousel.cjs +2 -2
  566. package/dist/hero-tech-carousel.js +2 -2
  567. package/dist/hero-therapy-testimonial-grid.cjs +2 -2
  568. package/dist/hero-therapy-testimonial-grid.js +2 -2
  569. package/dist/hero-ui-library-showcase.cjs +2 -2
  570. package/dist/hero-ui-library-showcase.js +2 -2
  571. package/dist/hero-video-background-dark.cjs +2 -2
  572. package/dist/hero-video-background-dark.js +2 -2
  573. package/dist/hero-video-dialog-gradient.cjs +2 -2
  574. package/dist/hero-video-dialog-gradient.js +2 -2
  575. package/dist/hero-video-overlay-stars.cjs +2 -2
  576. package/dist/hero-video-overlay-stars.js +2 -2
  577. package/dist/hero-welcome-asymmetric-images.cjs +2 -2
  578. package/dist/hero-welcome-asymmetric-images.js +2 -2
  579. package/dist/index.cjs +8 -8
  580. package/dist/index.js +9 -9
  581. package/dist/media-hover-ctas.cjs +7 -7
  582. package/dist/media-hover-ctas.js +7 -7
  583. package/dist/registry.cjs +10071 -8111
  584. package/dist/registry.js +10033 -8073
  585. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  "use client";
2
+ import * as React from 'react';
2
3
  import { motion } from 'framer-motion';
3
4
  import { clsx } from 'clsx';
4
5
  import { twMerge } from 'tailwind-merge';
5
6
  import { Img } from '@page-speed/img';
6
- import * as React from 'react';
7
7
  import { cva } from 'class-variance-authority';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
@@ -496,125 +496,6 @@ function Separator({
496
496
  }
497
497
  );
498
498
  }
499
-
500
- // lib/mediaPlaceholders.ts
501
- var imagePlaceholders = [
502
- "https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
503
- "https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
504
- "https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
505
- "https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
506
- "https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
507
- "https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
508
- "https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
509
- "https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
510
- "https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
511
- "https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
512
- "https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
513
- "https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
514
- "https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
515
- "https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
516
- "https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
517
- "https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
518
- "https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
519
- "https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
520
- "https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
521
- "https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
522
- "https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
523
- "https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
524
- "https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
525
- "https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
526
- "https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
527
- "https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
528
- "https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
529
- "https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
530
- "https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
531
- "https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
532
- "https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
533
- "https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
534
- "https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
535
- "https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
536
- "https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
537
- "https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
538
- "https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
539
- "https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
540
- "https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
541
- "https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
542
- "https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
543
- "https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
544
- "https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
545
- "https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
546
- "https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
547
- "https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
548
- "https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
549
- "https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
550
- "https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
551
- "https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
552
- "https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
553
- "https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
554
- "https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
555
- "https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
556
- "https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
557
- "https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
558
- "https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
559
- "https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
560
- "https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
561
- "https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
562
- "https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
563
- "https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
564
- "https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
565
- "https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
566
- "https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
567
- "https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
568
- "https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
569
- "https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
570
- "https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
571
- "https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
572
- "https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
573
- "https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
574
- "https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
575
- "https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
576
- "https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
577
- "https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
578
- "https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
579
- "https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
580
- "https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
581
- "https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
582
- "https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
583
- "https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
584
- "https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
585
- "https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
586
- "https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
587
- "https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
588
- "https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
589
- "https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
590
- "https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
591
- "https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
592
- "https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
593
- "https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
594
- "https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
595
- "https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
596
- "https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
597
- "https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
598
- "https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
599
- "https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
600
- "https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
601
- "https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
602
- "https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
603
- "https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
604
- "https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
605
- "https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
606
- "https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
607
- "https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
608
- "https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
609
- "https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
610
- "https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
611
- "https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
612
- "https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
613
- "https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
614
- "https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
615
- "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
616
- "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
617
- ];
618
499
  function ArticleSplitAnimatedComponent({
619
500
  className,
620
501
  containerClassName,
@@ -626,20 +507,20 @@ function ArticleSplitAnimatedComponent({
626
507
  categoryClassName,
627
508
  metaClassName,
628
509
  ctaClassName,
629
- title = "The Evolution of Design Systems in Modern Product Development",
630
- description = "Explore how design systems have transformed from simple style guides into comprehensive ecosystems that power the world's most successful digital products. Learn the principles, patterns, and practices that make design systems effective.",
631
- image = imagePlaceholders[2],
510
+ title,
511
+ description,
512
+ image,
632
513
  imageAlt,
633
514
  heroMediaSlot,
634
- authorName = "David Park",
635
- authorImage = imagePlaceholders[10],
636
- authorRole = "Design Lead",
515
+ authorName,
516
+ authorImage,
517
+ authorRole,
637
518
  authorHref,
638
519
  authorSlot,
639
- publishDate = "January 15, 2025",
640
- readTime = "8 min read",
641
- category = "Design",
642
- categoryHref = "#",
520
+ publishDate,
521
+ readTime,
522
+ category,
523
+ categoryHref,
643
524
  categorySlot,
644
525
  ctaActions: ctaActionsProp,
645
526
  ctaText,
@@ -650,7 +531,7 @@ function ArticleSplitAnimatedComponent({
650
531
  }) {
651
532
  const ctaActions = ctaActionsProp ?? (ctaText ? [{ label: ctaText, href: ctaHref || "#", variant: "default", size: "lg" }] : []);
652
533
  const MotionWrapper = enableAnimations ? motion.div : "div";
653
- const renderCategory = () => {
534
+ const categoryContent = React.useMemo(() => {
654
535
  if (categorySlot) return categorySlot;
655
536
  if (!category) return null;
656
537
  return /* @__PURE__ */ jsx(
@@ -664,8 +545,8 @@ function ArticleSplitAnimatedComponent({
664
545
  children: category
665
546
  }
666
547
  );
667
- };
668
- const renderHeroMedia = () => {
548
+ }, [categorySlot, category, categoryHref, categoryClassName]);
549
+ const heroMediaContent = React.useMemo(() => {
669
550
  if (heroMediaSlot) return heroMediaSlot;
670
551
  if (!image) return null;
671
552
  return /* @__PURE__ */ jsx(
@@ -677,8 +558,8 @@ function ArticleSplitAnimatedComponent({
677
558
  optixFlowConfig
678
559
  }
679
560
  );
680
- };
681
- const renderAuthor = () => {
561
+ }, [heroMediaSlot, image, imageAlt, title, optixFlowConfig]);
562
+ const authorContent = React.useMemo(() => {
682
563
  if (authorSlot) return authorSlot;
683
564
  if (!authorName) return null;
684
565
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-8 flex items-center gap-4", authorClassName), children: [
@@ -691,8 +572,8 @@ function ArticleSplitAnimatedComponent({
691
572
  authorRole && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: authorRole })
692
573
  ] })
693
574
  ] });
694
- };
695
- const renderCta = () => {
575
+ }, [authorSlot, authorName, authorImage, authorHref, authorRole, authorClassName]);
576
+ const ctaContent = React.useMemo(() => {
696
577
  if (ctaSlot) return ctaSlot;
697
578
  if (!ctaActions || ctaActions.length === 0) return null;
698
579
  return /* @__PURE__ */ jsx("div", { className: cn("mt-8 flex flex-wrap gap-3", ctaClassName), children: ctaActions.map((action, index) => {
@@ -712,7 +593,7 @@ function ArticleSplitAnimatedComponent({
712
593
  index
713
594
  );
714
595
  }) });
715
- };
596
+ }, [ctaSlot, ctaActions, ctaClassName]);
716
597
  const imageAnimationProps = enableAnimations ? {
717
598
  initial: { opacity: 0, x: -20 },
718
599
  whileInView: { opacity: 1, x: 0 },
@@ -735,9 +616,9 @@ function ArticleSplitAnimatedComponent({
735
616
  imageContainerClassName
736
617
  ),
737
618
  children: [
738
- renderHeroMedia(),
619
+ heroMediaContent,
739
620
  /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/60 via-transparent to-transparent" }),
740
- /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 p-6", children: renderCategory() })
621
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 p-6", children: categoryContent })
741
622
  ]
742
623
  }
743
624
  ),
@@ -754,8 +635,8 @@ function ArticleSplitAnimatedComponent({
754
635
  ] }),
755
636
  title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mt-4 text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", titleClassName), children: title })),
756
637
  description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
757
- renderAuthor(),
758
- renderCta()
638
+ authorContent,
639
+ ctaContent
759
640
  ]
760
641
  }
761
642
  )
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var React = require('react');
4
+ var React4 = require('react');
5
5
  var clsx = require('clsx');
6
6
  var tailwindMerge = require('tailwind-merge');
7
7
  var img = require('@page-speed/img');
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
28
28
  return Object.freeze(n);
29
29
  }
30
30
 
31
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
+ var React4__namespace = /*#__PURE__*/_interopNamespace(React4);
32
32
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
33
33
 
34
34
  // components/blocks/article/article-toc-sidebar.tsx
@@ -110,7 +110,7 @@ function useNavigation({
110
110
  href,
111
111
  onClick
112
112
  } = {}) {
113
- const linkType = React__namespace.useMemo(() => {
113
+ const linkType = React4__namespace.useMemo(() => {
114
114
  if (!href || href.trim() === "") {
115
115
  return onClick ? "none" : "none";
116
116
  }
@@ -131,7 +131,7 @@ function useNavigation({
131
131
  return "internal";
132
132
  }
133
133
  }, [href, onClick]);
134
- const normalizedHref = React__namespace.useMemo(() => {
134
+ const normalizedHref = React4__namespace.useMemo(() => {
135
135
  if (!href || href.trim() === "") {
136
136
  return void 0;
137
137
  }
@@ -149,7 +149,7 @@ function useNavigation({
149
149
  return trimmed;
150
150
  }
151
151
  }, [href, linkType]);
152
- const target = React__namespace.useMemo(() => {
152
+ const target = React4__namespace.useMemo(() => {
153
153
  switch (linkType) {
154
154
  case "external":
155
155
  return "_blank";
@@ -162,7 +162,7 @@ function useNavigation({
162
162
  return void 0;
163
163
  }
164
164
  }, [linkType]);
165
- const rel = React__namespace.useMemo(() => {
165
+ const rel = React4__namespace.useMemo(() => {
166
166
  if (linkType === "external") {
167
167
  return "noopener noreferrer";
168
168
  }
@@ -171,7 +171,7 @@ function useNavigation({
171
171
  const isExternal = linkType === "external";
172
172
  const isInternal = linkType === "internal";
173
173
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
174
- const handleClick = React__namespace.useCallback(
174
+ const handleClick = React4__namespace.useCallback(
175
175
  (event) => {
176
176
  if (onClick) {
177
177
  try {
@@ -355,7 +355,7 @@ var buttonVariants = classVarianceAuthority.cva(baseStyles, {
355
355
  size: "default"
356
356
  }
357
357
  });
358
- var Pressable = React__namespace.forwardRef(
358
+ var Pressable = React4__namespace.forwardRef(
359
359
  ({
360
360
  children,
361
361
  className,
@@ -461,10 +461,10 @@ function DynamicIcon({
461
461
  className,
462
462
  alt
463
463
  }) {
464
- const [svgContent, setSvgContent] = React__namespace.useState(null);
465
- const [isLoading, setIsLoading] = React__namespace.useState(true);
466
- const [error, setError] = React__namespace.useState(null);
467
- const { url, iconName } = React__namespace.useMemo(() => {
464
+ const [svgContent, setSvgContent] = React4__namespace.useState(null);
465
+ const [isLoading, setIsLoading] = React4__namespace.useState(true);
466
+ const [error, setError] = React4__namespace.useState(null);
467
+ const { url, iconName } = React4__namespace.useMemo(() => {
468
468
  const separator = name.includes("/") ? "/" : ":";
469
469
  const [prefix, iconName2] = name.split(separator);
470
470
  const baseUrl = `https://icons.opensite.ai/api/icon/${prefix}/${iconName2}?format=svg&width=${size}&height=${size}`;
@@ -473,7 +473,7 @@ function DynamicIcon({
473
473
  iconName: iconName2
474
474
  };
475
475
  }, [name, size]);
476
- React__namespace.useEffect(() => {
476
+ React4__namespace.useEffect(() => {
477
477
  let isMounted = true;
478
478
  const fetchSvg = async () => {
479
479
  const cached = svgCache.get(url);
@@ -895,10 +895,10 @@ function ArticleTocSidebarComponent({
895
895
  optixFlowConfig
896
896
  }) {
897
897
  const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
898
- const [activeSection, setActiveSection] = React__namespace.useState(
898
+ const [activeSection, setActiveSection] = React4__namespace.useState(
899
899
  sections?.[0]?.id || ""
900
900
  );
901
- React__namespace.useEffect(() => {
901
+ React4__namespace.useEffect(() => {
902
902
  if (!enableTocTracking || !sections || sections.length === 0) return;
903
903
  const observer = new IntersectionObserver(
904
904
  (entries) => {
@@ -916,12 +916,12 @@ function ArticleTocSidebarComponent({
916
916
  });
917
917
  return () => observer.disconnect();
918
918
  }, [sections, enableTocTracking]);
919
- const renderCategory = () => {
919
+ const categoryContent = React4__namespace.useMemo(() => {
920
920
  if (categorySlot) return categorySlot;
921
921
  if (!category) return null;
922
922
  return /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", children: category });
923
- };
924
- const renderAuthor = () => {
923
+ }, [categorySlot, category]);
924
+ const authorContent = React4__namespace.useMemo(() => {
925
925
  if (authorSlot) return authorSlot;
926
926
  if (!authorName) return null;
927
927
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-6 flex items-center gap-4", authorClassName), children: [
@@ -940,8 +940,8 @@ function ArticleTocSidebarComponent({
940
940
  ] })
941
941
  ] })
942
942
  ] });
943
- };
944
- const renderHeroMedia = () => {
943
+ }, [authorSlot, authorName, authorImage, authorHref, publishDate, readTime, authorClassName]);
944
+ const heroMediaContent = React4__namespace.useMemo(() => {
945
945
  if (heroMediaSlot) return heroMediaSlot;
946
946
  if (!heroImageSrc) return null;
947
947
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -953,8 +953,8 @@ function ArticleTocSidebarComponent({
953
953
  optixFlowConfig
954
954
  }
955
955
  );
956
- };
957
- const renderToc = () => {
956
+ }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
957
+ const tocContent = React4__namespace.useMemo(() => {
958
958
  if (tocSlot) return tocSlot;
959
959
  if (!sections || sections.length === 0) return null;
960
960
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -962,7 +962,7 @@ function ArticleTocSidebarComponent({
962
962
  /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "space-y-2", children: sections.map((section) => {
963
963
  const isActive = activeSection === section.id;
964
964
  if (renderSectionLink) {
965
- return /* @__PURE__ */ jsxRuntime.jsx(React__namespace.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
965
+ return /* @__PURE__ */ jsxRuntime.jsx(React4__namespace.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
966
966
  }
967
967
  return /* @__PURE__ */ jsxRuntime.jsx(
968
968
  Pressable,
@@ -978,8 +978,8 @@ function ArticleTocSidebarComponent({
978
978
  );
979
979
  }) })
980
980
  ] });
981
- };
982
- const renderCta = () => {
981
+ }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
982
+ const ctaContent = React4__namespace.useMemo(() => {
983
983
  if (ctaSlot) return ctaSlot;
984
984
  if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0)) return null;
985
985
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-lg border bg-muted/50 p-4", ctaClassName), children: [
@@ -1003,21 +1003,21 @@ function ArticleTocSidebarComponent({
1003
1003
  );
1004
1004
  }) })
1005
1005
  ] });
1006
- };
1006
+ }, [ctaSlot, ctaTitle, ctaDescription, ctaActions, ctaClassName]);
1007
1007
  return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_300px]", children: [
1008
1008
  /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
1009
1009
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 not-prose", headerClassName), children: [
1010
- renderCategory(),
1010
+ categoryContent,
1011
1011
  title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-4 text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
1012
1012
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
1013
- renderAuthor()
1013
+ authorContent
1014
1014
  ] }),
1015
- renderHeroMedia(),
1015
+ heroMediaContent,
1016
1016
  children || defaultArticleContent(optixFlowConfig)
1017
1017
  ] }),
1018
1018
  /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
1019
- renderToc(),
1020
- renderCta()
1019
+ tocContent,
1020
+ ctaContent
1021
1021
  ] }) })
1022
1022
  ] }) }) });
1023
1023
  }
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import * as React from 'react';
2
+ import * as React4 from 'react';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import { Img } from '@page-speed/img';
@@ -87,7 +87,7 @@ function useNavigation({
87
87
  href,
88
88
  onClick
89
89
  } = {}) {
90
- const linkType = React.useMemo(() => {
90
+ const linkType = React4.useMemo(() => {
91
91
  if (!href || href.trim() === "") {
92
92
  return onClick ? "none" : "none";
93
93
  }
@@ -108,7 +108,7 @@ function useNavigation({
108
108
  return "internal";
109
109
  }
110
110
  }, [href, onClick]);
111
- const normalizedHref = React.useMemo(() => {
111
+ const normalizedHref = React4.useMemo(() => {
112
112
  if (!href || href.trim() === "") {
113
113
  return void 0;
114
114
  }
@@ -126,7 +126,7 @@ function useNavigation({
126
126
  return trimmed;
127
127
  }
128
128
  }, [href, linkType]);
129
- const target = React.useMemo(() => {
129
+ const target = React4.useMemo(() => {
130
130
  switch (linkType) {
131
131
  case "external":
132
132
  return "_blank";
@@ -139,7 +139,7 @@ function useNavigation({
139
139
  return void 0;
140
140
  }
141
141
  }, [linkType]);
142
- const rel = React.useMemo(() => {
142
+ const rel = React4.useMemo(() => {
143
143
  if (linkType === "external") {
144
144
  return "noopener noreferrer";
145
145
  }
@@ -148,7 +148,7 @@ function useNavigation({
148
148
  const isExternal = linkType === "external";
149
149
  const isInternal = linkType === "internal";
150
150
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
151
- const handleClick = React.useCallback(
151
+ const handleClick = React4.useCallback(
152
152
  (event) => {
153
153
  if (onClick) {
154
154
  try {
@@ -332,7 +332,7 @@ var buttonVariants = cva(baseStyles, {
332
332
  size: "default"
333
333
  }
334
334
  });
335
- var Pressable = React.forwardRef(
335
+ var Pressable = React4.forwardRef(
336
336
  ({
337
337
  children,
338
338
  className,
@@ -438,10 +438,10 @@ function DynamicIcon({
438
438
  className,
439
439
  alt
440
440
  }) {
441
- const [svgContent, setSvgContent] = React.useState(null);
442
- const [isLoading, setIsLoading] = React.useState(true);
443
- const [error, setError] = React.useState(null);
444
- const { url, iconName } = React.useMemo(() => {
441
+ const [svgContent, setSvgContent] = React4.useState(null);
442
+ const [isLoading, setIsLoading] = React4.useState(true);
443
+ const [error, setError] = React4.useState(null);
444
+ const { url, iconName } = React4.useMemo(() => {
445
445
  const separator = name.includes("/") ? "/" : ":";
446
446
  const [prefix, iconName2] = name.split(separator);
447
447
  const baseUrl = `https://icons.opensite.ai/api/icon/${prefix}/${iconName2}?format=svg&width=${size}&height=${size}`;
@@ -450,7 +450,7 @@ function DynamicIcon({
450
450
  iconName: iconName2
451
451
  };
452
452
  }, [name, size]);
453
- React.useEffect(() => {
453
+ React4.useEffect(() => {
454
454
  let isMounted = true;
455
455
  const fetchSvg = async () => {
456
456
  const cached = svgCache.get(url);
@@ -872,10 +872,10 @@ function ArticleTocSidebarComponent({
872
872
  optixFlowConfig
873
873
  }) {
874
874
  const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
875
- const [activeSection, setActiveSection] = React.useState(
875
+ const [activeSection, setActiveSection] = React4.useState(
876
876
  sections?.[0]?.id || ""
877
877
  );
878
- React.useEffect(() => {
878
+ React4.useEffect(() => {
879
879
  if (!enableTocTracking || !sections || sections.length === 0) return;
880
880
  const observer = new IntersectionObserver(
881
881
  (entries) => {
@@ -893,12 +893,12 @@ function ArticleTocSidebarComponent({
893
893
  });
894
894
  return () => observer.disconnect();
895
895
  }, [sections, enableTocTracking]);
896
- const renderCategory = () => {
896
+ const categoryContent = React4.useMemo(() => {
897
897
  if (categorySlot) return categorySlot;
898
898
  if (!category) return null;
899
899
  return /* @__PURE__ */ jsx(Badge, { variant: "secondary", children: category });
900
- };
901
- const renderAuthor = () => {
900
+ }, [categorySlot, category]);
901
+ const authorContent = React4.useMemo(() => {
902
902
  if (authorSlot) return authorSlot;
903
903
  if (!authorName) return null;
904
904
  return /* @__PURE__ */ jsxs("div", { className: cn("mt-6 flex items-center gap-4", authorClassName), children: [
@@ -917,8 +917,8 @@ function ArticleTocSidebarComponent({
917
917
  ] })
918
918
  ] })
919
919
  ] });
920
- };
921
- const renderHeroMedia = () => {
920
+ }, [authorSlot, authorName, authorImage, authorHref, publishDate, readTime, authorClassName]);
921
+ const heroMediaContent = React4.useMemo(() => {
922
922
  if (heroMediaSlot) return heroMediaSlot;
923
923
  if (!heroImageSrc) return null;
924
924
  return /* @__PURE__ */ jsx(
@@ -930,8 +930,8 @@ function ArticleTocSidebarComponent({
930
930
  optixFlowConfig
931
931
  }
932
932
  );
933
- };
934
- const renderToc = () => {
933
+ }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
934
+ const tocContent = React4.useMemo(() => {
935
935
  if (tocSlot) return tocSlot;
936
936
  if (!sections || sections.length === 0) return null;
937
937
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border p-4", tocClassName), children: [
@@ -939,7 +939,7 @@ function ArticleTocSidebarComponent({
939
939
  /* @__PURE__ */ jsx("nav", { className: "space-y-2", children: sections.map((section) => {
940
940
  const isActive = activeSection === section.id;
941
941
  if (renderSectionLink) {
942
- return /* @__PURE__ */ jsx(React.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
942
+ return /* @__PURE__ */ jsx(React4.Fragment, { children: renderSectionLink(section, isActive) }, section.id);
943
943
  }
944
944
  return /* @__PURE__ */ jsx(
945
945
  Pressable,
@@ -955,8 +955,8 @@ function ArticleTocSidebarComponent({
955
955
  );
956
956
  }) })
957
957
  ] });
958
- };
959
- const renderCta = () => {
958
+ }, [tocSlot, sections, activeSection, renderSectionLink, tocClassName]);
959
+ const ctaContent = React4.useMemo(() => {
960
960
  if (ctaSlot) return ctaSlot;
961
961
  if (!ctaTitle && !ctaDescription && (!ctaActions || ctaActions.length === 0)) return null;
962
962
  return /* @__PURE__ */ jsxs("div", { className: cn("rounded-lg border bg-muted/50 p-4", ctaClassName), children: [
@@ -980,21 +980,21 @@ function ArticleTocSidebarComponent({
980
980
  );
981
981
  }) })
982
982
  ] });
983
- };
983
+ }, [ctaSlot, ctaTitle, ctaDescription, ctaActions, ctaClassName]);
984
984
  return /* @__PURE__ */ jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_300px]", children: [
985
985
  /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
986
986
  /* @__PURE__ */ jsxs("div", { className: cn("mb-8 not-prose", headerClassName), children: [
987
- renderCategory(),
987
+ categoryContent,
988
988
  title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mt-4 text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", titleClassName), children: title })),
989
989
  description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
990
- renderAuthor()
990
+ authorContent
991
991
  ] }),
992
- renderHeroMedia(),
992
+ heroMediaContent,
993
993
  children || defaultArticleContent(optixFlowConfig)
994
994
  ] }),
995
995
  /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
996
- renderToc(),
997
- renderCta()
996
+ tocContent,
997
+ ctaContent
998
998
  ] }) })
999
999
  ] }) }) });
1000
1000
  }