@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,11 +1,11 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var React = require('react');
4
5
  var dateFns = require('date-fns');
5
6
  var clsx = require('clsx');
6
7
  var tailwindMerge = require('tailwind-merge');
7
8
  var img = require('@page-speed/img');
8
- var React = require('react');
9
9
  var classVarianceAuthority = require('class-variance-authority');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
  var AvatarPrimitive = require('@radix-ui/react-avatar');
@@ -855,12 +855,12 @@ function ArticleHeroProseComponent({
855
855
  optixFlowConfig
856
856
  }) {
857
857
  const { title, authorName, authorHref, image, pubDate, description, authorImage } = post ?? {};
858
- const renderAuthor = () => {
858
+ const authorContent = React__namespace.useMemo(() => {
859
859
  if (authorSlot) return authorSlot;
860
860
  if (!authorName) return null;
861
861
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-3 text-sm md:text-base", authorClassName), children: [
862
862
  /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "h-8 w-8 border", children: [
863
- /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: authorImage }),
863
+ authorImage && /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: authorImage }),
864
864
  /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: authorName.charAt(0) })
865
865
  ] }),
866
866
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
@@ -871,26 +871,26 @@ function ArticleHeroProseComponent({
871
871
  ] })
872
872
  ] })
873
873
  ] });
874
- };
875
- const renderHeroMedia = () => {
874
+ }, [authorSlot, authorName, authorImage, authorHref, pubDate, dateFormat, authorClassName]);
875
+ const heroMediaContent = React__namespace.useMemo(() => {
876
876
  if (heroMediaSlot) return heroMediaSlot;
877
877
  if (!image) return null;
878
878
  return /* @__PURE__ */ jsxRuntime.jsx(
879
879
  img.Img,
880
880
  {
881
881
  src: image,
882
- alt: "Article hero image",
882
+ alt: "Hero media",
883
883
  className: cn("mt-4 mb-8 aspect-video w-full rounded-lg border object-cover", heroImageClassName),
884
884
  optixFlowConfig
885
885
  }
886
886
  );
887
- };
887
+ }, [heroMediaSlot, image, heroImageClassName, optixFlowConfig]);
888
888
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cn("py-32", className), children: [
889
889
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto flex max-w-5xl flex-col items-center gap-4 text-center", headerClassName), children: [
890
890
  title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-3xl text-5xl font-semibold text-pretty md:text-6xl", titleClassName), children: title }),
891
891
  description && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("max-w-3xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }),
892
- renderAuthor(),
893
- renderHeroMedia()
892
+ authorContent,
893
+ heroMediaContent
894
894
  ] }) }),
895
895
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto prose max-w-3xl dark:prose-invert", proseClassName), children: children || defaultArticleContent(optixFlowConfig) }) })
896
896
  ] });
@@ -36,11 +36,11 @@ interface ArticleHeroProseProps {
36
36
  */
37
37
  descriptionClassName?: string;
38
38
  /**
39
- * Additional CSS classes for the author info
39
+ * Additional CSS classes for the author information
40
40
  */
41
41
  authorClassName?: string;
42
42
  /**
43
- * Additional CSS classes for the hero image
43
+ * Additional CSS classes for the hero media
44
44
  */
45
45
  heroImageClassName?: string;
46
46
  /**
@@ -48,7 +48,7 @@ interface ArticleHeroProseProps {
48
48
  */
49
49
  proseClassName?: string;
50
50
  /**
51
- * Post metadata (title, author, image, etc.)
51
+ * Content metadata (title, author, media, etc.)
52
52
  */
53
53
  post?: ArticleHeroProsePost;
54
54
  /**
@@ -56,11 +56,11 @@ interface ArticleHeroProseProps {
56
56
  */
57
57
  heroMediaSlot?: React.ReactNode;
58
58
  /**
59
- * Custom slot for author info (overrides post author fields)
59
+ * Custom slot for author information (overrides post author fields)
60
60
  */
61
61
  authorSlot?: React.ReactNode;
62
62
  /**
63
- * Article body content (replaces hardcoded prose)
63
+ * Main body content
64
64
  */
65
65
  children?: React.ReactNode;
66
66
  /**
@@ -36,11 +36,11 @@ interface ArticleHeroProseProps {
36
36
  */
37
37
  descriptionClassName?: string;
38
38
  /**
39
- * Additional CSS classes for the author info
39
+ * Additional CSS classes for the author information
40
40
  */
41
41
  authorClassName?: string;
42
42
  /**
43
- * Additional CSS classes for the hero image
43
+ * Additional CSS classes for the hero media
44
44
  */
45
45
  heroImageClassName?: string;
46
46
  /**
@@ -48,7 +48,7 @@ interface ArticleHeroProseProps {
48
48
  */
49
49
  proseClassName?: string;
50
50
  /**
51
- * Post metadata (title, author, image, etc.)
51
+ * Content metadata (title, author, media, etc.)
52
52
  */
53
53
  post?: ArticleHeroProsePost;
54
54
  /**
@@ -56,11 +56,11 @@ interface ArticleHeroProseProps {
56
56
  */
57
57
  heroMediaSlot?: React.ReactNode;
58
58
  /**
59
- * Custom slot for author info (overrides post author fields)
59
+ * Custom slot for author information (overrides post author fields)
60
60
  */
61
61
  authorSlot?: React.ReactNode;
62
62
  /**
63
- * Article body content (replaces hardcoded prose)
63
+ * Main body content
64
64
  */
65
65
  children?: React.ReactNode;
66
66
  /**
@@ -1,9 +1,9 @@
1
1
  "use client";
2
+ import * as React from 'react';
2
3
  import { format } from 'date-fns';
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';
@@ -832,12 +832,12 @@ function ArticleHeroProseComponent({
832
832
  optixFlowConfig
833
833
  }) {
834
834
  const { title, authorName, authorHref, image, pubDate, description, authorImage } = post ?? {};
835
- const renderAuthor = () => {
835
+ const authorContent = React.useMemo(() => {
836
836
  if (authorSlot) return authorSlot;
837
837
  if (!authorName) return null;
838
838
  return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-3 text-sm md:text-base", authorClassName), children: [
839
839
  /* @__PURE__ */ jsxs(Avatar, { className: "h-8 w-8 border", children: [
840
- /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
840
+ authorImage && /* @__PURE__ */ jsx(AvatarImage, { src: authorImage }),
841
841
  /* @__PURE__ */ jsx(AvatarFallback, { children: authorName.charAt(0) })
842
842
  ] }),
843
843
  /* @__PURE__ */ jsxs("span", { children: [
@@ -848,26 +848,26 @@ function ArticleHeroProseComponent({
848
848
  ] })
849
849
  ] })
850
850
  ] });
851
- };
852
- const renderHeroMedia = () => {
851
+ }, [authorSlot, authorName, authorImage, authorHref, pubDate, dateFormat, authorClassName]);
852
+ const heroMediaContent = React.useMemo(() => {
853
853
  if (heroMediaSlot) return heroMediaSlot;
854
854
  if (!image) return null;
855
855
  return /* @__PURE__ */ jsx(
856
856
  Img,
857
857
  {
858
858
  src: image,
859
- alt: "Article hero image",
859
+ alt: "Hero media",
860
860
  className: cn("mt-4 mb-8 aspect-video w-full rounded-lg border object-cover", heroImageClassName),
861
861
  optixFlowConfig
862
862
  }
863
863
  );
864
- };
864
+ }, [heroMediaSlot, image, heroImageClassName, optixFlowConfig]);
865
865
  return /* @__PURE__ */ jsxs("section", { className: cn("py-32", className), children: [
866
866
  /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto flex max-w-5xl flex-col items-center gap-4 text-center", headerClassName), children: [
867
867
  title && /* @__PURE__ */ jsx("h1", { className: cn("max-w-3xl text-5xl font-semibold text-pretty md:text-6xl", titleClassName), children: title }),
868
868
  description && /* @__PURE__ */ jsx("h3", { className: cn("max-w-3xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }),
869
- renderAuthor(),
870
- renderHeroMedia()
869
+ authorContent,
870
+ heroMediaContent
871
871
  ] }) }),
872
872
  /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsx("div", { className: cn("mx-auto prose max-w-3xl dark:prose-invert", proseClassName), children: children || defaultArticleContent(optixFlowConfig) }) })
873
873
  ] });
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var React = require('react');
4
5
  var clsx = require('clsx');
5
6
  var tailwindMerge = require('tailwind-merge');
6
7
  var img = require('@page-speed/img');
7
- var React = require('react');
8
8
  var classVarianceAuthority = require('class-variance-authority');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
  var AvatarPrimitive = require('@radix-ui/react-avatar');
@@ -30,7 +30,7 @@ function _interopNamespace(e) {
30
30
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
31
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
32
32
 
33
- // lib/utils.ts
33
+ // components/blocks/article/article-sidebar-sticky.tsx
34
34
  function cn(...inputs) {
35
35
  return tailwindMerge.twMerge(clsx.clsx(inputs));
36
36
  }
@@ -768,8 +768,9 @@ function ArticleSidebarStickyComponent({
768
768
  children,
769
769
  optixFlowConfig
770
770
  }) {
771
- const renderBackLink = () => {
771
+ const backLinkContent = React__namespace.useMemo(() => {
772
772
  if (backLinkSlot) return backLinkSlot;
773
+ if (!backHref && !backText) return null;
773
774
  return /* @__PURE__ */ jsxRuntime.jsxs(
774
775
  Pressable,
775
776
  {
@@ -781,8 +782,8 @@ function ArticleSidebarStickyComponent({
781
782
  ]
782
783
  }
783
784
  );
784
- };
785
- const renderAuthor = (isMobile = false) => {
785
+ }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
786
+ const renderAuthor = React__namespace.useCallback((isMobile = false) => {
786
787
  if (authorSlot) return authorSlot;
787
788
  if (!authorName) return null;
788
789
  const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
@@ -796,8 +797,8 @@ function ArticleSidebarStickyComponent({
796
797
  publishDate && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
797
798
  ] })
798
799
  ] });
799
- };
800
- const renderHeroMedia = () => {
800
+ }, [authorSlot, authorName, authorImage, authorHref, publishDate, authorClassName]);
801
+ const heroMediaContent = React__namespace.useMemo(() => {
801
802
  if (heroMediaSlot) return heroMediaSlot;
802
803
  if (!heroImageSrc) return null;
803
804
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -809,17 +810,17 @@ function ArticleSidebarStickyComponent({
809
810
  optixFlowConfig
810
811
  }
811
812
  );
812
- };
813
+ }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
813
814
  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-[1fr_minmax(0,2fr)]", children: [
814
815
  /* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
815
- renderBackLink(),
816
+ backLinkContent,
816
817
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
817
818
  ] }) }),
818
819
  /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
819
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: renderBackLink() }),
820
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
820
821
  title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
821
822
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
822
- renderHeroMedia(),
823
+ heroMediaContent,
823
824
  children || defaultArticleContent(optixFlowConfig)
824
825
  ] })
825
826
  ] }) }) });
@@ -1,13 +1,13 @@
1
1
  "use client";
2
+ import * as React from 'react';
2
3
  import { clsx } from 'clsx';
3
4
  import { twMerge } from 'tailwind-merge';
4
5
  import { Img } from '@page-speed/img';
5
- import * as React from 'react';
6
6
  import { cva } from 'class-variance-authority';
7
7
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
8
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
9
9
 
10
- // lib/utils.ts
10
+ // components/blocks/article/article-sidebar-sticky.tsx
11
11
  function cn(...inputs) {
12
12
  return twMerge(clsx(inputs));
13
13
  }
@@ -745,8 +745,9 @@ function ArticleSidebarStickyComponent({
745
745
  children,
746
746
  optixFlowConfig
747
747
  }) {
748
- const renderBackLink = () => {
748
+ const backLinkContent = React.useMemo(() => {
749
749
  if (backLinkSlot) return backLinkSlot;
750
+ if (!backHref && !backText) return null;
750
751
  return /* @__PURE__ */ jsxs(
751
752
  Pressable,
752
753
  {
@@ -758,8 +759,8 @@ function ArticleSidebarStickyComponent({
758
759
  ]
759
760
  }
760
761
  );
761
- };
762
- const renderAuthor = (isMobile = false) => {
762
+ }, [backLinkSlot, backHref, backText, backIcon, backLinkClassName]);
763
+ const renderAuthor = React.useCallback((isMobile = false) => {
763
764
  if (authorSlot) return authorSlot;
764
765
  if (!authorName) return null;
765
766
  const avatarSize = isMobile ? "h-8 w-8" : "h-10 w-10";
@@ -773,8 +774,8 @@ function ArticleSidebarStickyComponent({
773
774
  publishDate && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: publishDate })
774
775
  ] })
775
776
  ] });
776
- };
777
- const renderHeroMedia = () => {
777
+ }, [authorSlot, authorName, authorImage, authorHref, publishDate, authorClassName]);
778
+ const heroMediaContent = React.useMemo(() => {
778
779
  if (heroMediaSlot) return heroMediaSlot;
779
780
  if (!heroImageSrc) return null;
780
781
  return /* @__PURE__ */ jsx(
@@ -786,17 +787,17 @@ function ArticleSidebarStickyComponent({
786
787
  optixFlowConfig
787
788
  }
788
789
  );
789
- };
790
+ }, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
790
791
  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-[1fr_minmax(0,2fr)]", children: [
791
792
  /* @__PURE__ */ jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxs("div", { className: "sticky top-8 space-y-6", children: [
792
- renderBackLink(),
793
+ backLinkContent,
793
794
  /* @__PURE__ */ jsx("div", { className: "space-y-4", children: renderAuthor(false) })
794
795
  ] }) }),
795
796
  /* @__PURE__ */ jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
796
- /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: renderBackLink() }),
797
+ /* @__PURE__ */ jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
797
798
  title && (typeof title === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
798
799
  /* @__PURE__ */ jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
799
- renderHeroMedia(),
800
+ heroMediaContent,
800
801
  children || defaultArticleContent(optixFlowConfig)
801
802
  ] })
802
803
  ] }) }) });
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var React = require('react');
4
5
  var framerMotion = require('framer-motion');
5
6
  var clsx = require('clsx');
6
7
  var tailwindMerge = require('tailwind-merge');
7
8
  var img = require('@page-speed/img');
8
- var React = require('react');
9
9
  var classVarianceAuthority = require('class-variance-authority');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
  var AvatarPrimitive = require('@radix-ui/react-avatar');
@@ -520,125 +520,6 @@ function Separator({
520
520
  }
521
521
  );
522
522
  }
523
-
524
- // lib/mediaPlaceholders.ts
525
- var imagePlaceholders = [
526
- "https://toastability-production.s3.amazonaws.com/xlp46pzk3a4d73jgjx4s7xdafwpn",
527
- "https://toastability-production.s3.amazonaws.com/g1iuifb3yzoofo9c7a00koyn6q1t",
528
- "https://toastability-production.s3.amazonaws.com/z9u4sdrj2oq3eds0qyui0nxsus3j",
529
- "https://toastability-production.s3.amazonaws.com/63aotyt2pb4gqpccej2kkw8reson",
530
- "https://toastability-production.s3.amazonaws.com/pjgb223h1bjywdk15i3zi7pjhutg",
531
- "https://toastability-production.s3.amazonaws.com/we9r4e711an6d0bd3dwbl9tb9z7q",
532
- "https://toastability-production.s3.amazonaws.com/f8rfrurzo743ym1s7m5xtbombunz",
533
- "https://toastability-production.s3.amazonaws.com/oe0y4bgiylx81fbfvsw31mhdgjzs",
534
- "https://toastability-production.s3.amazonaws.com/sr370c2cnf7uk5k4f6znyshualv0",
535
- "https://toastability-production.s3.amazonaws.com/cen5x90p3kbdafb80liq1a5j222x",
536
- "https://toastability-production.s3.amazonaws.com/ygob90kp07hxmi5jj4sned76dnmc",
537
- "https://toastability-production.s3.amazonaws.com/qhz2kawawq3bbh7nusz3bvahln3v",
538
- "https://toastability-production.s3.amazonaws.com/zykfhuapdqzu94ee1535gsgnvyac",
539
- "https://toastability-production.s3.amazonaws.com/kh1p8y15v55ctp5ulobm4pd77etm",
540
- "https://toastability-production.s3.amazonaws.com/8x62o6350p1ejm3pjrp1jwvcbh4v",
541
- "https://toastability-production.s3.amazonaws.com/vvixyoo7ybq3h04q2q0kact0s5wc",
542
- "https://toastability-production.s3.amazonaws.com/t502cfynqso7ntkdvmcmfc87yjkt",
543
- "https://toastability-production.s3.amazonaws.com/ihgx63s5nfzp2e93e3ccljjnnrov",
544
- "https://toastability-production.s3.amazonaws.com/b555hwjt7ltr81et05v5254q1ak6",
545
- "https://toastability-production.s3.amazonaws.com/c4sgsy0g7o2rrjmvm9x7evxems82",
546
- "https://toastability-production.s3.amazonaws.com/a3m42usevv0iet0fpfwa1fsytxmv",
547
- "https://toastability-production.s3.amazonaws.com/qghzqu1i99vaubyew9s5dxcbel9l",
548
- "https://toastability-production.s3.amazonaws.com/9covpitzpuuobkg1m4mfokpi0enw",
549
- "https://toastability-production.s3.amazonaws.com/2d4k8d5shwg82276hzj2ztbj7mxq",
550
- "https://toastability-production.s3.amazonaws.com/op92dycs7w856e2jsvx20st0nyz9",
551
- "https://toastability-production.s3.amazonaws.com/f921uoblxbv8f9bmr4s2ik7xxugl",
552
- "https://toastability-production.s3.amazonaws.com/gl7n7p6atndufbsm6q2ac5jeqttp",
553
- "https://toastability-production.s3.amazonaws.com/sj8cs2gpbanaowqwxar1uhhwd23z",
554
- "https://toastability-production.s3.amazonaws.com/hu4gmd93sp95wdyr9qijze0rgim9",
555
- "https://toastability-production.s3.amazonaws.com/uh2vd59np82h8sevbmfnsha89sf1",
556
- "https://toastability-production.s3.amazonaws.com/gxs6zevccphti0hdq5l9fwytprpr",
557
- "https://toastability-production.s3.amazonaws.com/s4vho0wfbjhf758oife8qfuekou8",
558
- "https://toastability-production.s3.amazonaws.com/1b0gd8ul22q799d62dvm3sgyll85",
559
- "https://toastability-production.s3.amazonaws.com/102grjqg8aigxkj585s9x3xbxfv7",
560
- "https://toastability-production.s3.amazonaws.com/dvz0441h9fxjhh88lzqbwdoyxv52",
561
- "https://toastability-production.s3.amazonaws.com/50y066ms7rb5sw62u9u08jzkk8rj",
562
- "https://toastability-production.s3.amazonaws.com/9uxe0jw1zl1tujy0m5yalo7m2ht8",
563
- "https://toastability-production.s3.amazonaws.com/cyhcpla6me8vs936i3fw6wbhypi2",
564
- "https://toastability-production.s3.amazonaws.com/6ntdz6xwid3fswjz8y0otdxmzs40",
565
- "https://toastability-production.s3.amazonaws.com/y1aezpa78m2fhfvj8whcx337y9cb",
566
- "https://toastability-production.s3.amazonaws.com/eoa76d31ynbg34urr6e4619la1f7",
567
- "https://toastability-production.s3.amazonaws.com/0mh8a1dg7ftcqnyzgv303u501c8y",
568
- "https://toastability-production.s3.amazonaws.com/vvucxqs128w2d0z3n4s2z131rq7p",
569
- "https://toastability-production.s3.amazonaws.com/2rbqbw9778770i8izdeabx8v2w2k",
570
- "https://toastability-production.s3.amazonaws.com/90rcw2mljzpeuxlac8q77mor15xz",
571
- "https://toastability-production.s3.amazonaws.com/vh1aowwr93yz4qrzct2s4je0cxdo",
572
- "https://toastability-production.s3.amazonaws.com/ssgb7unxdwdqokfvhkp7cok2v79s",
573
- "https://toastability-production.s3.amazonaws.com/vvkma6b8whdkiq5nq8z4eyfe00vo",
574
- "https://toastability-production.s3.amazonaws.com/9797jh6slgbf9oq6lzlimcdiuziv",
575
- "https://toastability-production.s3.amazonaws.com/betxbx61fkijt0aygineplf489ze",
576
- "https://toastability-production.s3.amazonaws.com/0o6d7z4mm9nzeufhv9kefrhihbip",
577
- "https://toastability-production.s3.amazonaws.com/1xdx70c7gp9l883soyh5d3exesvt",
578
- "https://toastability-production.s3.amazonaws.com/jhjfvkmdzktacyijd9fh6acc7o2c",
579
- "https://toastability-production.s3.amazonaws.com/n001o4pfpszmyw03ubctig7kvf0e",
580
- "https://toastability-production.s3.amazonaws.com/l080sx0lcx51x44dqrb8006nqf08",
581
- "https://toastability-production.s3.amazonaws.com/2t36c7l0ywchaz4nys8yj2l5amae",
582
- "https://toastability-production.s3.amazonaws.com/gg5qnvb4nsl2k3g4dw4ls8bsllwh",
583
- "https://toastability-production.s3.amazonaws.com/3nqc7xvjy3e8d7jo1gdvbzty0oqg",
584
- "https://toastability-production.s3.amazonaws.com/0kx9umbfmv881wt9dfqnohv8efgi",
585
- "https://toastability-production.s3.amazonaws.com/9z0sbfnskx70vse99e3dfhper7i1",
586
- "https://toastability-production.s3.amazonaws.com/9keidwrag6g7jtqr7rdwb1ryt6ht",
587
- "https://toastability-production.s3.amazonaws.com/zm88vf14geh1gh0frd3yrdlb6pl8",
588
- "https://toastability-production.s3.amazonaws.com/0x7ktdk01jfaoysst0emzvqevu19",
589
- "https://toastability-production.s3.amazonaws.com/e83zsyvl0an0owzdmpwjnnty641x",
590
- "https://toastability-production.s3.amazonaws.com/t3k42fbzq7r7j93feldqm5cj1o1n",
591
- "https://toastability-production.s3.amazonaws.com/5sm6wc4no8fyzxfki5njmnv6gql5",
592
- "https://toastability-production.s3.amazonaws.com/w41h7890eivogu3sr78vlwkpzz8g",
593
- "https://toastability-production.s3.amazonaws.com/vrezhtksoqbw1nyo4hwnoqizrus5",
594
- "https://toastability-production.s3.amazonaws.com/8qkikcd43paeqgvw9gc1032j3yup",
595
- "https://toastability-production.s3.amazonaws.com/ihhq8unynafk4aikmys3rhbfibaz",
596
- "https://toastability-production.s3.amazonaws.com/rews5enr9ynu6izioj66s8ec90nc",
597
- "https://toastability-production.s3.amazonaws.com/6ku135fhv528eei3agnoc3zd7y75",
598
- "https://toastability-production.s3.amazonaws.com/x4scuzhsozrwrg703df5wbhygkgo",
599
- "https://toastability-production.s3.amazonaws.com/73e0s79u4crdu7cmjfp99j1l2v55",
600
- "https://toastability-production.s3.amazonaws.com/rddfyzvfpdlbzwhgep2myppwxn05",
601
- "https://toastability-production.s3.amazonaws.com/mat88x8zzdek7wpgtocjrehfivsh",
602
- "https://toastability-production.s3.amazonaws.com/3vwfdbekbkskxj2mvlvu85fz787u",
603
- "https://toastability-production.s3.amazonaws.com/ms4s4zyqpmboh0slez1cwat9qhw4",
604
- "https://toastability-production.s3.amazonaws.com/5jsc0b4e3gxnjs81iotw2c3e6da3",
605
- "https://toastability-production.s3.amazonaws.com/0g6t701zqr2r7najmdgftpeqnxmz",
606
- "https://toastability-production.s3.amazonaws.com/u3p1hlbm2c1vvkwlm8h668pe132z",
607
- "https://toastability-production.s3.amazonaws.com/ehgbcugs782765ke1l2dtbtzd918",
608
- "https://toastability-production.s3.amazonaws.com/kka8f550on7acx1lf82xleu6zhzo",
609
- "https://toastability-production.s3.amazonaws.com/67fnapqepn7f8vwt0x4nqho70hbz",
610
- "https://toastability-production.s3.amazonaws.com/t4cidbsfz3z468bn45yqdrkbx7ou",
611
- "https://toastability-production.s3.amazonaws.com/gq3c9qalkiomu0rzdzxymkdaazdu",
612
- "https://toastability-production.s3.amazonaws.com/9ujya2tfhxja7y5s9wb7d2u8crhd",
613
- "https://toastability-production.s3.amazonaws.com/hotlo54tsvl2k3eht9gg0460l9zw",
614
- "https://toastability-production.s3.amazonaws.com/ytbyjrcvrghc7wl6w1g7g8fwka22",
615
- "https://toastability-production.s3.amazonaws.com/uv0g605yf5mz106nrm1uspt9l0rr",
616
- "https://toastability-production.s3.amazonaws.com/yrp5k5xszwpe26fquupey6a6g0uu",
617
- "https://toastability-production.s3.amazonaws.com/97gctpna2hdozl1f8u5xq4ew8h0o",
618
- "https://toastability-production.s3.amazonaws.com/xjtepune0scj9yjkkqgaiwlq9hls",
619
- "https://toastability-production.s3.amazonaws.com/g607vblaarqctl1cvgxffhx4pw6g",
620
- "https://toastability-production.s3.amazonaws.com/4xpu1ljr9c8g6qzmfum5ygjzbzpb",
621
- "https://toastability-production.s3.amazonaws.com/yw5f7iwyypf4kctpr5ye5e495swt",
622
- "https://toastability-production.s3.amazonaws.com/z37cidvud212bzqhhalrhvk7ipaa",
623
- "https://toastability-production.s3.amazonaws.com/pfllskt7q7144l288lrnpc6gx606",
624
- "https://toastability-production.s3.amazonaws.com/fokd3hxzvdtsomagbfhqooyvndyv",
625
- "https://toastability-production.s3.amazonaws.com/6fffnb4phovtqkjhtzifs4rhb84u",
626
- "https://toastability-production.s3.amazonaws.com/mt87xjr79wxdhjy7496v3r6m2m9t",
627
- "https://toastability-production.s3.amazonaws.com/3dy9ge962uarlaf2xl7imdcviqgx",
628
- "https://toastability-production.s3.amazonaws.com/okf6fg4n9yv59up8ivgcdjy3w030",
629
- "https://toastability-production.s3.amazonaws.com/t7iteqw4xhtppkiws88bsoia25hv",
630
- "https://toastability-production.s3.amazonaws.com/klr5tuvulkyqfb721txtu4hgzxdm",
631
- "https://toastability-production.s3.amazonaws.com/9eddibiq5ovc9cvs3ekijkrjpahg",
632
- "https://toastability-production.s3.amazonaws.com/3ghn8dz3g9qtt4pf4nwbriaydvzb",
633
- "https://toastability-production.s3.amazonaws.com/82ykd8s8boiqaxypkulb0v0s2qiw",
634
- "https://toastability-production.s3.amazonaws.com/4eqmdeanxfk6jzvigo42y5ryv2c8",
635
- "https://toastability-production.s3.amazonaws.com/9ughnl9wnko2vdboib8n3wl3cxsy",
636
- "https://toastability-production.s3.amazonaws.com/4xjcgtlwseruezhoh3o1ga4umhj4",
637
- "https://toastability-production.s3.amazonaws.com/xwh1zzxgyd887thfm1j9lu9qnd6c",
638
- "https://toastability-production.s3.amazonaws.com/ri0dqx79spe6771np76mkmno5xfd",
639
- "https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
640
- "https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
641
- ];
642
523
  function ArticleSplitAnimatedComponent({
643
524
  className,
644
525
  containerClassName,
@@ -650,20 +531,20 @@ function ArticleSplitAnimatedComponent({
650
531
  categoryClassName,
651
532
  metaClassName,
652
533
  ctaClassName,
653
- title = "The Evolution of Design Systems in Modern Product Development",
654
- 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.",
655
- image = imagePlaceholders[2],
534
+ title,
535
+ description,
536
+ image,
656
537
  imageAlt,
657
538
  heroMediaSlot,
658
- authorName = "David Park",
659
- authorImage = imagePlaceholders[10],
660
- authorRole = "Design Lead",
539
+ authorName,
540
+ authorImage,
541
+ authorRole,
661
542
  authorHref,
662
543
  authorSlot,
663
- publishDate = "January 15, 2025",
664
- readTime = "8 min read",
665
- category = "Design",
666
- categoryHref = "#",
544
+ publishDate,
545
+ readTime,
546
+ category,
547
+ categoryHref,
667
548
  categorySlot,
668
549
  ctaActions: ctaActionsProp,
669
550
  ctaText,
@@ -674,7 +555,7 @@ function ArticleSplitAnimatedComponent({
674
555
  }) {
675
556
  const ctaActions = ctaActionsProp ?? (ctaText ? [{ label: ctaText, href: ctaHref || "#", variant: "default", size: "lg" }] : []);
676
557
  const MotionWrapper = enableAnimations ? framerMotion.motion.div : "div";
677
- const renderCategory = () => {
558
+ const categoryContent = React__namespace.useMemo(() => {
678
559
  if (categorySlot) return categorySlot;
679
560
  if (!category) return null;
680
561
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -688,8 +569,8 @@ function ArticleSplitAnimatedComponent({
688
569
  children: category
689
570
  }
690
571
  );
691
- };
692
- const renderHeroMedia = () => {
572
+ }, [categorySlot, category, categoryHref, categoryClassName]);
573
+ const heroMediaContent = React__namespace.useMemo(() => {
693
574
  if (heroMediaSlot) return heroMediaSlot;
694
575
  if (!image) return null;
695
576
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -701,8 +582,8 @@ function ArticleSplitAnimatedComponent({
701
582
  optixFlowConfig
702
583
  }
703
584
  );
704
- };
705
- const renderAuthor = () => {
585
+ }, [heroMediaSlot, image, imageAlt, title, optixFlowConfig]);
586
+ const authorContent = React__namespace.useMemo(() => {
706
587
  if (authorSlot) return authorSlot;
707
588
  if (!authorName) return null;
708
589
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-8 flex items-center gap-4", authorClassName), children: [
@@ -715,8 +596,8 @@ function ArticleSplitAnimatedComponent({
715
596
  authorRole && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: authorRole })
716
597
  ] })
717
598
  ] });
718
- };
719
- const renderCta = () => {
599
+ }, [authorSlot, authorName, authorImage, authorHref, authorRole, authorClassName]);
600
+ const ctaContent = React__namespace.useMemo(() => {
720
601
  if (ctaSlot) return ctaSlot;
721
602
  if (!ctaActions || ctaActions.length === 0) return null;
722
603
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex flex-wrap gap-3", ctaClassName), children: ctaActions.map((action, index) => {
@@ -736,7 +617,7 @@ function ArticleSplitAnimatedComponent({
736
617
  index
737
618
  );
738
619
  }) });
739
- };
620
+ }, [ctaSlot, ctaActions, ctaClassName]);
740
621
  const imageAnimationProps = enableAnimations ? {
741
622
  initial: { opacity: 0, x: -20 },
742
623
  whileInView: { opacity: 1, x: 0 },
@@ -759,9 +640,9 @@ function ArticleSplitAnimatedComponent({
759
640
  imageContainerClassName
760
641
  ),
761
642
  children: [
762
- renderHeroMedia(),
643
+ heroMediaContent,
763
644
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/60 via-transparent to-transparent" }),
764
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-0 p-6", children: renderCategory() })
645
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-0 p-6", children: categoryContent })
765
646
  ]
766
647
  }
767
648
  ),
@@ -778,8 +659,8 @@ function ArticleSplitAnimatedComponent({
778
659
  ] }),
779
660
  title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mt-4 text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
780
661
  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 })),
781
- renderAuthor(),
782
- renderCta()
662
+ authorContent,
663
+ ctaContent
783
664
  ]
784
665
  }
785
666
  )