@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
- import * as React from 'react';
3
- import { useState, useCallback, useMemo, Fragment as Fragment$1 } from 'react';
2
+ import * as React6 from 'react';
3
+ import React6__default, { Fragment, useState, useCallback, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { Img } from '@page-speed/img';
7
7
  import { cva } from 'class-variance-authority';
8
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
8
+ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
9
9
  import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
10
10
  import { Slot } from '@radix-ui/react-slot';
11
11
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
@@ -90,7 +90,7 @@ function useNavigation({
90
90
  href,
91
91
  onClick
92
92
  } = {}) {
93
- const linkType = React.useMemo(() => {
93
+ const linkType = React6.useMemo(() => {
94
94
  if (!href || href.trim() === "") {
95
95
  return onClick ? "none" : "none";
96
96
  }
@@ -111,7 +111,7 @@ function useNavigation({
111
111
  return "internal";
112
112
  }
113
113
  }, [href, onClick]);
114
- const normalizedHref = React.useMemo(() => {
114
+ const normalizedHref = React6.useMemo(() => {
115
115
  if (!href || href.trim() === "") {
116
116
  return void 0;
117
117
  }
@@ -129,7 +129,7 @@ function useNavigation({
129
129
  return trimmed;
130
130
  }
131
131
  }, [href, linkType]);
132
- const target = React.useMemo(() => {
132
+ const target = React6.useMemo(() => {
133
133
  switch (linkType) {
134
134
  case "external":
135
135
  return "_blank";
@@ -142,7 +142,7 @@ function useNavigation({
142
142
  return void 0;
143
143
  }
144
144
  }, [linkType]);
145
- const rel = React.useMemo(() => {
145
+ const rel = React6.useMemo(() => {
146
146
  if (linkType === "external") {
147
147
  return "noopener noreferrer";
148
148
  }
@@ -151,7 +151,7 @@ function useNavigation({
151
151
  const isExternal = linkType === "external";
152
152
  const isInternal = linkType === "internal";
153
153
  const shouldUseRouter = isInternal && typeof normalizedHref === "string" && normalizedHref.startsWith("/");
154
- const handleClick = React.useCallback(
154
+ const handleClick = React6.useCallback(
155
155
  (event) => {
156
156
  if (onClick) {
157
157
  try {
@@ -335,7 +335,7 @@ var buttonVariants = cva(baseStyles, {
335
335
  size: "default"
336
336
  }
337
337
  });
338
- var Pressable = React.forwardRef(
338
+ var Pressable = React6.forwardRef(
339
339
  ({
340
340
  children,
341
341
  className,
@@ -446,10 +446,10 @@ function DynamicIcon({
446
446
  className,
447
447
  alt
448
448
  }) {
449
- const [svgContent, setSvgContent] = React.useState(null);
450
- const [isLoading, setIsLoading] = React.useState(true);
451
- const [error, setError] = React.useState(null);
452
- const { url, iconName } = React.useMemo(() => {
449
+ const [svgContent, setSvgContent] = React6.useState(null);
450
+ const [isLoading, setIsLoading] = React6.useState(true);
451
+ const [error, setError] = React6.useState(null);
452
+ const { url, iconName } = React6.useMemo(() => {
453
453
  const separator = name.includes("/") ? "/" : ":";
454
454
  const [prefix, iconName2] = name.split(separator);
455
455
  const baseUrl = `https://icons.opensite.ai/api/icon/${prefix}/${iconName2}?format=svg&width=${size}&height=${size}`;
@@ -458,7 +458,7 @@ function DynamicIcon({
458
458
  iconName: iconName2
459
459
  };
460
460
  }, [name, size]);
461
- React.useEffect(() => {
461
+ React6.useEffect(() => {
462
462
  let isMounted = true;
463
463
  const fetchSvg = async () => {
464
464
  const cached = svgCache.get(url);
@@ -664,11 +664,384 @@ function Label({
664
664
  }
665
665
  );
666
666
  }
667
+ var maxWidthStyles = {
668
+ sm: "max-w-screen-sm",
669
+ md: "max-w-screen-md",
670
+ lg: "max-w-screen-lg",
671
+ xl: "max-w-7xl",
672
+ "2xl": "max-w-screen-2xl",
673
+ "4xl": "max-w-[1536px]",
674
+ full: "max-w-full"
675
+ };
676
+ var Container = React6__default.forwardRef(
677
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
678
+ const Component = as;
679
+ return /* @__PURE__ */ jsx(
680
+ Component,
681
+ {
682
+ ref,
683
+ className: cn(
684
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
685
+ maxWidthStyles[maxWidth],
686
+ className
687
+ ),
688
+ ...props,
689
+ children
690
+ }
691
+ );
692
+ }
693
+ );
694
+ Container.displayName = "Container";
695
+
696
+ // lib/patternSvgs.ts
697
+ var patternSvgs = {
698
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
699
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
700
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
701
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
702
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
703
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
704
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
705
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
706
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
707
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
708
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
709
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
710
+ };
711
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
712
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
713
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
714
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
715
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
716
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
717
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
718
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxs(
719
+ "svg",
720
+ {
721
+ className: "h-full w-full",
722
+ xmlns: "http://www.w3.org/2000/svg",
723
+ style: mask ? {
724
+ maskImage: mask,
725
+ WebkitMaskImage: mask
726
+ } : void 0,
727
+ children: [
728
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
729
+ "pattern",
730
+ {
731
+ id,
732
+ x: "0",
733
+ y: "0",
734
+ width: "100",
735
+ height: "100",
736
+ patternUnits: "userSpaceOnUse",
737
+ children: [
738
+ /* @__PURE__ */ jsx(
739
+ "path",
740
+ {
741
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
742
+ stroke: "hsl(var(--muted))",
743
+ strokeWidth: "1",
744
+ fill: "none"
745
+ }
746
+ ),
747
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
748
+ /* @__PURE__ */ jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
749
+ /* @__PURE__ */ jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
750
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
751
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
752
+ ]
753
+ }
754
+ ) }),
755
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
756
+ ]
757
+ }
758
+ );
759
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxs(
760
+ "svg",
761
+ {
762
+ className: "h-full w-full",
763
+ xmlns: "http://www.w3.org/2000/svg",
764
+ style: mask ? {
765
+ maskImage: mask,
766
+ WebkitMaskImage: mask
767
+ } : void 0,
768
+ children: [
769
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
770
+ "pattern",
771
+ {
772
+ id,
773
+ x: "0",
774
+ y: "0",
775
+ width: "40",
776
+ height: "40",
777
+ patternUnits: "userSpaceOnUse",
778
+ children: [
779
+ /* @__PURE__ */ jsx(
780
+ "path",
781
+ {
782
+ d: "M0 20h40M20 0v40",
783
+ stroke: "hsl(var(--muted))",
784
+ strokeWidth: "0.5",
785
+ fill: "none"
786
+ }
787
+ ),
788
+ /* @__PURE__ */ jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
789
+ ]
790
+ }
791
+ ) }),
792
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
793
+ ]
794
+ }
795
+ );
796
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsx(
797
+ "div",
798
+ {
799
+ className: "h-full w-full bg-[linear-gradient(to_right,_hsl(var(--muted))_1px,_transparent_1px),linear-gradient(to_bottom,_hsl(var(--muted))_1px,_transparent_1px)]",
800
+ style: {
801
+ backgroundSize: `${size}px ${size}px`,
802
+ ...mask ? {
803
+ maskImage: mask,
804
+ WebkitMaskImage: mask
805
+ } : {}
806
+ }
807
+ }
808
+ );
809
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsx(
810
+ "div",
811
+ {
812
+ className: "h-full w-full",
813
+ style: {
814
+ backgroundImage: "repeating-linear-gradient(45deg, transparent, transparent 32px, hsl(var(--muted)) 32px, hsl(var(--muted)) 33px), repeating-linear-gradient(135deg, transparent, transparent 32px, hsl(var(--muted)) 32px, hsl(var(--muted)) 33px)",
815
+ ...mask ? {
816
+ maskImage: mask,
817
+ WebkitMaskImage: mask
818
+ } : {}
819
+ }
820
+ }
821
+ );
822
+ var dashedGridMaskBase = "repeating-linear-gradient(to right, black 0px, black 3px, transparent 3px, transparent 8px), repeating-linear-gradient(to bottom, black 0px, black 3px, transparent 3px, transparent 8px)";
823
+ var dashedGridPattern = (fadeMask) => {
824
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
825
+ return /* @__PURE__ */ jsx(
826
+ "div",
827
+ {
828
+ className: "h-full w-full",
829
+ style: {
830
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
831
+ backgroundSize: "20px 20px",
832
+ backgroundPosition: "0 0, 0 0",
833
+ maskImage: mask,
834
+ WebkitMaskImage: mask,
835
+ maskComposite: "intersect",
836
+ WebkitMaskComposite: "source-in"
837
+ }
838
+ }
839
+ );
840
+ };
841
+ var gradientGlow = (position) => /* @__PURE__ */ jsx(
842
+ "div",
843
+ {
844
+ className: cn(
845
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
846
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
847
+ ),
848
+ style: {
849
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
850
+ }
851
+ }
852
+ );
853
+ var spotlight = (position) => /* @__PURE__ */ jsx(
854
+ "div",
855
+ {
856
+ className: cn(
857
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
858
+ position === "left" ? "-left-1/4" : "-right-1/4"
859
+ ),
860
+ style: {
861
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
862
+ }
863
+ }
864
+ );
865
+ var patternOverlays = {
866
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
867
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
868
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
869
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
870
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
871
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
872
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
873
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
874
+ dashedGridBasic: () => dashedGridPattern(),
875
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
876
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
877
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
878
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
879
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
880
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
881
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
882
+ diagonalCrossBasic: () => diagonalCrossPattern(),
883
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
884
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
885
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
886
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
887
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
888
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
889
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
890
+ gridBasic: () => gridPattern(40),
891
+ gridFadeTop: () => gridPattern(32, maskTop),
892
+ gridFadeBottom: () => gridPattern(32, maskBottom),
893
+ gridFadeCenter: () => gridPattern(40, maskCenter),
894
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
895
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
896
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
897
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
898
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
899
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
900
+ gradientGlowTop: () => gradientGlow("top"),
901
+ gradientGlowBottom: () => gradientGlow("bottom"),
902
+ spotlightLeft: () => spotlight("left"),
903
+ spotlightRight: () => spotlight("right")
904
+ };
905
+ var inlinePatternStyles = {
906
+ radialGradientTop: {
907
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
908
+ },
909
+ radialGradientBottom: {
910
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
911
+ }
912
+ };
913
+ function PatternBackground({
914
+ pattern,
915
+ opacity = 0.08,
916
+ className,
917
+ style
918
+ }) {
919
+ if (!pattern) {
920
+ return null;
921
+ }
922
+ if (pattern in inlinePatternStyles) {
923
+ const inlineStyle = inlinePatternStyles[pattern];
924
+ return /* @__PURE__ */ jsx(
925
+ "div",
926
+ {
927
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
928
+ style: { ...inlineStyle, opacity, ...style },
929
+ "aria-hidden": "true"
930
+ }
931
+ );
932
+ }
933
+ if (pattern in patternOverlays) {
934
+ const Overlay = patternOverlays[pattern];
935
+ return /* @__PURE__ */ jsx(
936
+ "div",
937
+ {
938
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
939
+ style: { opacity, ...style },
940
+ "aria-hidden": "true",
941
+ children: Overlay()
942
+ }
943
+ );
944
+ }
945
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
946
+ return /* @__PURE__ */ jsx(
947
+ "div",
948
+ {
949
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
950
+ style: {
951
+ backgroundImage: `url(${patternUrl})`,
952
+ backgroundRepeat: "repeat",
953
+ backgroundSize: "auto",
954
+ opacity,
955
+ ...style
956
+ },
957
+ "aria-hidden": "true"
958
+ }
959
+ );
960
+ }
961
+ var backgroundStyles = {
962
+ default: "bg-background text-foreground",
963
+ white: "bg-white text-dark",
964
+ gray: "bg-muted/30 text-foreground",
965
+ dark: "bg-foreground text-background",
966
+ transparent: "bg-transparent text-foreground",
967
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
968
+ primary: "bg-primary text-primary-foreground",
969
+ secondary: "bg-secondary text-secondary-foreground",
970
+ muted: "bg-muted text-muted-foreground"
971
+ };
972
+ var spacingStyles = {
973
+ none: "py-0 md:py-0",
974
+ sm: "py-12 md:py-16",
975
+ md: "py-16 md:py-24",
976
+ lg: "py-20 md:py-32",
977
+ xl: "py-24 md:py-40"
978
+ };
979
+ var Section = React6__default.forwardRef(
980
+ ({
981
+ id,
982
+ title,
983
+ subtitle,
984
+ children,
985
+ className,
986
+ style,
987
+ background = "default",
988
+ spacing = "lg",
989
+ pattern,
990
+ patternOpacity,
991
+ patternClassName,
992
+ containerClassName,
993
+ containerMaxWidth = "xl",
994
+ ...props
995
+ }, ref) => {
996
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
997
+ return /* @__PURE__ */ jsxs(
998
+ "section",
999
+ {
1000
+ ref,
1001
+ id,
1002
+ className: cn(
1003
+ "relative",
1004
+ pattern ? "overflow-hidden" : null,
1005
+ backgroundStyles[background],
1006
+ spacingStyles[spacing],
1007
+ className
1008
+ ),
1009
+ style,
1010
+ ...props,
1011
+ children: [
1012
+ /* @__PURE__ */ jsx(
1013
+ PatternBackground,
1014
+ {
1015
+ pattern,
1016
+ opacity: effectivePatternOpacity,
1017
+ className: patternClassName
1018
+ }
1019
+ ),
1020
+ /* @__PURE__ */ jsxs(
1021
+ Container,
1022
+ {
1023
+ maxWidth: containerMaxWidth,
1024
+ className: cn("relative z-10", containerClassName),
1025
+ children: [
1026
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
1027
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
1028
+ title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
1029
+ ] }),
1030
+ children
1031
+ ]
1032
+ }
1033
+ )
1034
+ ]
1035
+ }
1036
+ );
1037
+ }
1038
+ );
1039
+ Section.displayName = "Section";
667
1040
  var POSTS_PER_PAGE = 6;
668
- function BlogCard({ post, optixFlowConfig, className }) {
1041
+ var BlogCard = React6.memo(function BlogCard2({ post, optixFlowConfig, className }) {
669
1042
  const postHref = post.href || post.url || post.link || "#";
670
1043
  const postImage = post.thumbnail || post.image;
671
- const postTitle = typeof post.title === "string" ? post.title : "Blog post";
1044
+ const postTitle = typeof post.title === "string" ? post.title : "Content item";
672
1045
  const postCategory = post.category || post.label;
673
1046
  const postSummary = post.summary || post.description;
674
1047
  const postCta = post.cta || "Read more";
@@ -692,8 +1065,8 @@ function BlogCard({ post, optixFlowConfig, className }) {
692
1065
  ] }) })
693
1066
  ] })
694
1067
  ] }) }) });
695
- }
696
- function FilterForm({
1068
+ });
1069
+ var FilterForm = React6.memo(function FilterForm2({
697
1070
  categories,
698
1071
  selectedCategories,
699
1072
  onCategoryChange,
@@ -719,20 +1092,20 @@ function FilterForm({
719
1092
  category.value
720
1093
  );
721
1094
  }) });
722
- }
723
- function BreadcrumbBlog({ breadcrumb }) {
1095
+ });
1096
+ var BreadcrumbBlog = React6.memo(function BreadcrumbBlog2({ breadcrumb }) {
724
1097
  return /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, { children: breadcrumb.map((item, i) => {
725
1098
  const labelKey = typeof item.label === "string" ? item.label : `breadcrumb-${i}`;
726
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1099
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
727
1100
  /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, { href: item.link, children: item.label }) }),
728
1101
  i < breadcrumb.length - 1 && /* @__PURE__ */ jsx(BreadcrumbSeparator, { children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/slash", size: 14 }) })
729
1102
  ] }, labelKey);
730
1103
  }) }) });
731
- }
732
- function BlogFilteredResults({
1104
+ });
1105
+ function BlogFilteredResultsComponent({
733
1106
  heading,
734
1107
  description,
735
- allBlogsHeading = "All Blogs",
1108
+ allContentHeading,
736
1109
  breadcrumb,
737
1110
  breadcrumbSlot,
738
1111
  primaryPost,
@@ -741,7 +1114,7 @@ function BlogFilteredResults({
741
1114
  postsSlot,
742
1115
  categories,
743
1116
  categoriesSlot,
744
- postsPerPage = POSTS_PER_PAGE,
1117
+ postsPerPage,
745
1118
  loadMoreAction,
746
1119
  loadMoreSlot,
747
1120
  className,
@@ -749,17 +1122,20 @@ function BlogFilteredResults({
749
1122
  headingClassName,
750
1123
  descriptionClassName,
751
1124
  primaryPostClassName,
752
- allBlogsClassName,
753
- allBlogsHeadingClassName,
1125
+ allContentClassName,
1126
+ allContentHeadingClassName,
754
1127
  categoriesClassName,
755
1128
  postsClassName,
756
1129
  postCardClassName,
757
1130
  loadMoreClassName,
758
- optixFlowConfig
1131
+ optixFlowConfig,
1132
+ background = "white",
1133
+ spacing = "xl",
1134
+ pattern,
1135
+ patternOpacity
759
1136
  }) {
760
- const [visibleCount, setVisibleCount] = useState(
761
- postsPerPage || POSTS_PER_PAGE
762
- );
1137
+ const effectivePostsPerPage = postsPerPage || POSTS_PER_PAGE;
1138
+ const [visibleCount, setVisibleCount] = useState(effectivePostsPerPage);
763
1139
  const [selectedCategories, setSelectedCategories] = useState([
764
1140
  "all"
765
1141
  ]);
@@ -781,13 +1157,13 @@ function BlogFilteredResults({
781
1157
  }
782
1158
  return updated;
783
1159
  });
784
- setVisibleCount(postsPerPage || POSTS_PER_PAGE);
1160
+ setVisibleCount(effectivePostsPerPage);
785
1161
  },
786
- [postsPerPage]
1162
+ [effectivePostsPerPage]
787
1163
  );
788
1164
  const handleLoadMore = useCallback(() => {
789
- setVisibleCount((prev) => prev + (postsPerPage || POSTS_PER_PAGE));
790
- }, [postsPerPage]);
1165
+ setVisibleCount((prev) => prev + effectivePostsPerPage);
1166
+ }, [effectivePostsPerPage]);
791
1167
  const filteredPosts = useMemo(() => {
792
1168
  if (!posts) return [];
793
1169
  return posts.filter((post) => {
@@ -797,17 +1173,17 @@ function BlogFilteredResults({
797
1173
  }, [posts, selectedCategories]);
798
1174
  const postsToDisplay = filteredPosts.length > 0 ? filteredPosts : posts || [];
799
1175
  const hasMore = visibleCount < postsToDisplay.length;
800
- const renderBreadcrumb = () => {
1176
+ const breadcrumbContent = React6.useMemo(() => {
801
1177
  if (breadcrumbSlot) return breadcrumbSlot;
802
1178
  if (!breadcrumb || breadcrumb.length === 0) return null;
803
1179
  return /* @__PURE__ */ jsx(BreadcrumbBlog, { breadcrumb });
804
- };
805
- const renderPrimaryPost = () => {
1180
+ }, [breadcrumbSlot, breadcrumb]);
1181
+ const primaryPostContent = React6.useMemo(() => {
806
1182
  if (primaryPostSlot) return primaryPostSlot;
807
1183
  if (!primaryPost) return null;
808
1184
  return /* @__PURE__ */ jsx(BlogCard, { post: primaryPost, optixFlowConfig, className: postCardClassName });
809
- };
810
- const renderCategories = () => {
1185
+ }, [primaryPostSlot, primaryPost, optixFlowConfig, postCardClassName]);
1186
+ const categoriesContent = React6.useMemo(() => {
811
1187
  if (categoriesSlot) return categoriesSlot;
812
1188
  if (!categories || categories.length === 0) return null;
813
1189
  return /* @__PURE__ */ jsx(
@@ -819,8 +1195,8 @@ function BlogFilteredResults({
819
1195
  className: categoriesClassName
820
1196
  }
821
1197
  );
822
- };
823
- const renderPosts = () => {
1198
+ }, [categoriesSlot, categories, selectedCategories, handleCategoryChange, categoriesClassName]);
1199
+ const postsContent = React6.useMemo(() => {
824
1200
  if (postsSlot) return postsSlot;
825
1201
  return postsToDisplay.slice(0, visibleCount).map((post) => {
826
1202
  const postKey = post.id || String(post.title) || Math.random().toString();
@@ -834,8 +1210,8 @@ function BlogFilteredResults({
834
1210
  postKey
835
1211
  );
836
1212
  });
837
- };
838
- const renderLoadMoreAction = () => {
1213
+ }, [postsSlot, postsToDisplay, visibleCount, optixFlowConfig, postCardClassName]);
1214
+ const loadMoreContent = React6.useMemo(() => {
839
1215
  if (loadMoreSlot) return loadMoreSlot;
840
1216
  if (!loadMoreAction || !hasMore) return null;
841
1217
  const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = loadMoreAction;
@@ -846,36 +1222,46 @@ function BlogFilteredResults({
846
1222
  onClick: handleLoadMore,
847
1223
  className: actionClassName,
848
1224
  ...pressableProps,
849
- children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
1225
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
850
1226
  icon,
851
1227
  label,
852
1228
  iconAfter
853
1229
  ] })
854
1230
  }
855
1231
  );
856
- };
857
- return /* @__PURE__ */ jsxs("section", { className: cn("pb-32", className), children: [
858
- /* @__PURE__ */ jsx("div", { className: cn("bg-muted bg-size-[3.125rem_3.125rem] bg-repeat", heroClassName), children: /* @__PURE__ */ jsxs("div", { className: "container flex flex-col items-start justify-start gap-16 py-20 lg:flex-row lg:items-center lg:justify-between", children: [
859
- /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col justify-between gap-12", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-xl flex-col gap-8", children: [
860
- renderBreadcrumb(),
861
- /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-5", children: [
862
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-[2.5rem] leading-[1.2] font-semibold md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
863
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl leading-[1.4] text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
864
- ] })
865
- ] }) }),
866
- (primaryPostSlot || primaryPost) && /* @__PURE__ */ jsx("div", { className: cn("w-full max-w-110", primaryPostClassName), children: renderPrimaryPost() })
867
- ] }) }),
868
- /* @__PURE__ */ jsx("div", { className: cn("py-20", allBlogsClassName), children: /* @__PURE__ */ jsxs("div", { className: "container flex flex-col gap-8", children: [
869
- allBlogsHeading && (typeof allBlogsHeading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-[1.75rem] leading-none font-medium md:text-[2.25rem] lg:text-[2rem]", allBlogsHeadingClassName), children: allBlogsHeading }) : /* @__PURE__ */ jsx("div", { className: allBlogsHeadingClassName, children: allBlogsHeading })),
870
- /* @__PURE__ */ jsxs("div", { children: [
871
- renderCategories(),
872
- /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-4 py-8 lg:gap-8", children: [
873
- /* @__PURE__ */ jsx("div", { className: cn("grid gap-10 md:grid-cols-2 lg:grid-cols-3", postsClassName), children: renderPosts() }),
874
- /* @__PURE__ */ jsx("div", { className: cn("flex justify-center", loadMoreClassName), children: renderLoadMoreAction() })
875
- ] })
876
- ] })
877
- ] }) })
878
- ] });
1232
+ }, [loadMoreSlot, loadMoreAction, hasMore, handleLoadMore]);
1233
+ return /* @__PURE__ */ jsxs(
1234
+ Section,
1235
+ {
1236
+ background,
1237
+ spacing,
1238
+ className: cn(className),
1239
+ pattern,
1240
+ patternOpacity,
1241
+ children: [
1242
+ /* @__PURE__ */ jsx("div", { className: cn("bg-muted bg-size-[3.125rem_3.125rem] bg-repeat", heroClassName), children: /* @__PURE__ */ jsxs("div", { className: "container flex flex-col items-start justify-start gap-16 py-20 lg:flex-row lg:items-center lg:justify-between", children: [
1243
+ /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col justify-between gap-12", children: /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-xl flex-col gap-8", children: [
1244
+ breadcrumbContent,
1245
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-5", children: [
1246
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-[2.5rem] leading-[1.2] font-semibold md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1247
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl leading-[1.4] text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
1248
+ ] })
1249
+ ] }) }),
1250
+ (primaryPostSlot || primaryPost) && /* @__PURE__ */ jsx("div", { className: cn("w-full max-w-110", primaryPostClassName), children: primaryPostContent })
1251
+ ] }) }),
1252
+ /* @__PURE__ */ jsx("div", { className: cn("py-20", allContentClassName), children: /* @__PURE__ */ jsxs("div", { className: "container flex flex-col gap-8", children: [
1253
+ allContentHeading && (typeof allContentHeading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-[1.75rem] leading-none font-medium md:text-[2.25rem] lg:text-[2rem]", allContentHeadingClassName), children: allContentHeading }) : /* @__PURE__ */ jsx("div", { className: allContentHeadingClassName, children: allContentHeading })),
1254
+ /* @__PURE__ */ jsxs("div", { children: [
1255
+ categoriesContent,
1256
+ /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col gap-4 py-8 lg:gap-8", children: [
1257
+ /* @__PURE__ */ jsx("div", { className: cn("grid gap-10 md:grid-cols-2 lg:grid-cols-3", postsClassName), children: postsContent }),
1258
+ /* @__PURE__ */ jsx("div", { className: cn("flex justify-center", loadMoreClassName), children: loadMoreContent })
1259
+ ] })
1260
+ ] })
1261
+ ] }) })
1262
+ ]
1263
+ }
1264
+ );
879
1265
  }
880
1266
 
881
- export { BlogFilteredResults };
1267
+ export { BlogFilteredResultsComponent as BlogFilteredResults };