@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,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
 
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
28
28
 
29
29
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
30
 
31
- // lib/utils.ts
31
+ // components/blocks/comparison/comparison-image-cards.tsx
32
32
  function cn(...inputs) {
33
33
  return tailwindMerge.twMerge(clsx.clsx(inputs));
34
34
  }
@@ -450,12 +450,385 @@ var Pressable = React__namespace.forwardRef(
450
450
  }
451
451
  );
452
452
  Pressable.displayName = "Pressable";
453
+ var maxWidthStyles = {
454
+ sm: "max-w-screen-sm",
455
+ md: "max-w-screen-md",
456
+ lg: "max-w-screen-lg",
457
+ xl: "max-w-7xl",
458
+ "2xl": "max-w-screen-2xl",
459
+ "4xl": "max-w-[1536px]",
460
+ full: "max-w-full"
461
+ };
462
+ var Container = React__namespace.default.forwardRef(
463
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
464
+ const Component = as;
465
+ return /* @__PURE__ */ jsxRuntime.jsx(
466
+ Component,
467
+ {
468
+ ref,
469
+ className: cn(
470
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
471
+ maxWidthStyles[maxWidth],
472
+ className
473
+ ),
474
+ ...props,
475
+ children
476
+ }
477
+ );
478
+ }
479
+ );
480
+ Container.displayName = "Container";
481
+
482
+ // lib/patternSvgs.ts
483
+ var patternSvgs = {
484
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
485
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
486
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
487
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
488
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
489
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
490
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
491
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
492
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
493
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
494
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
495
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
496
+ };
497
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
498
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
499
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
500
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
501
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
502
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
503
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
504
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
505
+ "svg",
506
+ {
507
+ className: "h-full w-full",
508
+ xmlns: "http://www.w3.org/2000/svg",
509
+ style: mask ? {
510
+ maskImage: mask,
511
+ WebkitMaskImage: mask
512
+ } : void 0,
513
+ children: [
514
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
515
+ "pattern",
516
+ {
517
+ id,
518
+ x: "0",
519
+ y: "0",
520
+ width: "100",
521
+ height: "100",
522
+ patternUnits: "userSpaceOnUse",
523
+ children: [
524
+ /* @__PURE__ */ jsxRuntime.jsx(
525
+ "path",
526
+ {
527
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
528
+ stroke: "hsl(var(--muted))",
529
+ strokeWidth: "1",
530
+ fill: "none"
531
+ }
532
+ ),
533
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
534
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
535
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
536
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
537
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
538
+ ]
539
+ }
540
+ ) }),
541
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
542
+ ]
543
+ }
544
+ );
545
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
546
+ "svg",
547
+ {
548
+ className: "h-full w-full",
549
+ xmlns: "http://www.w3.org/2000/svg",
550
+ style: mask ? {
551
+ maskImage: mask,
552
+ WebkitMaskImage: mask
553
+ } : void 0,
554
+ children: [
555
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
556
+ "pattern",
557
+ {
558
+ id,
559
+ x: "0",
560
+ y: "0",
561
+ width: "40",
562
+ height: "40",
563
+ patternUnits: "userSpaceOnUse",
564
+ children: [
565
+ /* @__PURE__ */ jsxRuntime.jsx(
566
+ "path",
567
+ {
568
+ d: "M0 20h40M20 0v40",
569
+ stroke: "hsl(var(--muted))",
570
+ strokeWidth: "0.5",
571
+ fill: "none"
572
+ }
573
+ ),
574
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
575
+ ]
576
+ }
577
+ ) }),
578
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
579
+ ]
580
+ }
581
+ );
582
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsxRuntime.jsx(
583
+ "div",
584
+ {
585
+ 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)]",
586
+ style: {
587
+ backgroundSize: `${size}px ${size}px`,
588
+ ...mask ? {
589
+ maskImage: mask,
590
+ WebkitMaskImage: mask
591
+ } : {}
592
+ }
593
+ }
594
+ );
595
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsxRuntime.jsx(
596
+ "div",
597
+ {
598
+ className: "h-full w-full",
599
+ style: {
600
+ 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)",
601
+ ...mask ? {
602
+ maskImage: mask,
603
+ WebkitMaskImage: mask
604
+ } : {}
605
+ }
606
+ }
607
+ );
608
+ 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)";
609
+ var dashedGridPattern = (fadeMask) => {
610
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
611
+ return /* @__PURE__ */ jsxRuntime.jsx(
612
+ "div",
613
+ {
614
+ className: "h-full w-full",
615
+ style: {
616
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
617
+ backgroundSize: "20px 20px",
618
+ backgroundPosition: "0 0, 0 0",
619
+ maskImage: mask,
620
+ WebkitMaskImage: mask,
621
+ maskComposite: "intersect",
622
+ WebkitMaskComposite: "source-in"
623
+ }
624
+ }
625
+ );
626
+ };
627
+ var gradientGlow = (position) => /* @__PURE__ */ jsxRuntime.jsx(
628
+ "div",
629
+ {
630
+ className: cn(
631
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
632
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
633
+ ),
634
+ style: {
635
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
636
+ }
637
+ }
638
+ );
639
+ var spotlight = (position) => /* @__PURE__ */ jsxRuntime.jsx(
640
+ "div",
641
+ {
642
+ className: cn(
643
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
644
+ position === "left" ? "-left-1/4" : "-right-1/4"
645
+ ),
646
+ style: {
647
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
648
+ }
649
+ }
650
+ );
651
+ var patternOverlays = {
652
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
653
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
654
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
655
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
656
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
657
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
658
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
659
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
660
+ dashedGridBasic: () => dashedGridPattern(),
661
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
662
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
663
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
664
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
665
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
666
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
667
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
668
+ diagonalCrossBasic: () => diagonalCrossPattern(),
669
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
670
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
671
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
672
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
673
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
674
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
675
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
676
+ gridBasic: () => gridPattern(40),
677
+ gridFadeTop: () => gridPattern(32, maskTop),
678
+ gridFadeBottom: () => gridPattern(32, maskBottom),
679
+ gridFadeCenter: () => gridPattern(40, maskCenter),
680
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
681
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
682
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
683
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
684
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
685
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
686
+ gradientGlowTop: () => gradientGlow("top"),
687
+ gradientGlowBottom: () => gradientGlow("bottom"),
688
+ spotlightLeft: () => spotlight("left"),
689
+ spotlightRight: () => spotlight("right")
690
+ };
691
+ var inlinePatternStyles = {
692
+ radialGradientTop: {
693
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
694
+ },
695
+ radialGradientBottom: {
696
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
697
+ }
698
+ };
699
+ function PatternBackground({
700
+ pattern,
701
+ opacity = 0.08,
702
+ className,
703
+ style
704
+ }) {
705
+ if (!pattern) {
706
+ return null;
707
+ }
708
+ if (pattern in inlinePatternStyles) {
709
+ const inlineStyle = inlinePatternStyles[pattern];
710
+ return /* @__PURE__ */ jsxRuntime.jsx(
711
+ "div",
712
+ {
713
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
714
+ style: { ...inlineStyle, opacity, ...style },
715
+ "aria-hidden": "true"
716
+ }
717
+ );
718
+ }
719
+ if (pattern in patternOverlays) {
720
+ const Overlay = patternOverlays[pattern];
721
+ return /* @__PURE__ */ jsxRuntime.jsx(
722
+ "div",
723
+ {
724
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
725
+ style: { opacity, ...style },
726
+ "aria-hidden": "true",
727
+ children: Overlay()
728
+ }
729
+ );
730
+ }
731
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
732
+ return /* @__PURE__ */ jsxRuntime.jsx(
733
+ "div",
734
+ {
735
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
736
+ style: {
737
+ backgroundImage: `url(${patternUrl})`,
738
+ backgroundRepeat: "repeat",
739
+ backgroundSize: "auto",
740
+ opacity,
741
+ ...style
742
+ },
743
+ "aria-hidden": "true"
744
+ }
745
+ );
746
+ }
747
+ var backgroundStyles = {
748
+ default: "bg-background text-foreground",
749
+ white: "bg-white text-dark",
750
+ gray: "bg-muted/30 text-foreground",
751
+ dark: "bg-foreground text-background",
752
+ transparent: "bg-transparent text-foreground",
753
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
754
+ primary: "bg-primary text-primary-foreground",
755
+ secondary: "bg-secondary text-secondary-foreground",
756
+ muted: "bg-muted text-muted-foreground"
757
+ };
758
+ var spacingStyles = {
759
+ none: "py-0 md:py-0",
760
+ sm: "py-12 md:py-16",
761
+ md: "py-16 md:py-24",
762
+ lg: "py-20 md:py-32",
763
+ xl: "py-24 md:py-40"
764
+ };
765
+ var Section = React__namespace.default.forwardRef(
766
+ ({
767
+ id,
768
+ title,
769
+ subtitle,
770
+ children,
771
+ className,
772
+ style,
773
+ background = "default",
774
+ spacing = "lg",
775
+ pattern,
776
+ patternOpacity,
777
+ patternClassName,
778
+ containerClassName,
779
+ containerMaxWidth = "xl",
780
+ ...props
781
+ }, ref) => {
782
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
783
+ return /* @__PURE__ */ jsxRuntime.jsxs(
784
+ "section",
785
+ {
786
+ ref,
787
+ id,
788
+ className: cn(
789
+ "relative",
790
+ pattern ? "overflow-hidden" : null,
791
+ backgroundStyles[background],
792
+ spacingStyles[spacing],
793
+ className
794
+ ),
795
+ style,
796
+ ...props,
797
+ children: [
798
+ /* @__PURE__ */ jsxRuntime.jsx(
799
+ PatternBackground,
800
+ {
801
+ pattern,
802
+ opacity: effectivePatternOpacity,
803
+ className: patternClassName
804
+ }
805
+ ),
806
+ /* @__PURE__ */ jsxRuntime.jsxs(
807
+ Container,
808
+ {
809
+ maxWidth: containerMaxWidth,
810
+ className: cn("relative z-10", containerClassName),
811
+ children: [
812
+ (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
813
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
814
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
815
+ ] }),
816
+ children
817
+ ]
818
+ }
819
+ )
820
+ ]
821
+ }
822
+ );
823
+ }
824
+ );
825
+ Section.displayName = "Section";
453
826
  function ComparisonImageCards({
454
827
  heading,
455
828
  description,
456
829
  optionA,
457
830
  optionB,
458
- dividerText = "OR",
831
+ dividerText,
459
832
  cardsSlot,
460
833
  className,
461
834
  containerClassName,
@@ -464,49 +837,90 @@ function ComparisonImageCards({
464
837
  cardsGridClassName,
465
838
  cardClassName,
466
839
  dividerClassName,
840
+ background = "white",
841
+ spacing = "xl",
842
+ pattern,
843
+ patternOpacity,
467
844
  optixFlowConfig
468
845
  }) {
469
- const renderCard = (option) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative h-full", cardClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative aspect-4/5 min-h-[400px] overflow-hidden rounded-2xl bg-accent sm:aspect-[0.9] sm:min-h-[480px] sm:rounded-3xl md:min-h-[520px]", children: [
470
- /* @__PURE__ */ jsxRuntime.jsx(
471
- img.Img,
472
- {
473
- src: option.image,
474
- alt: option.imageAlt || option.title,
475
- className: "h-full w-full object-cover",
476
- optixFlowConfig
477
- }
478
- ),
479
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 bottom-0 h-[40%] bg-linear-to-t from-black via-black/50 to-transparent backdrop-blur-[2px] sm:h-[45%] md:h-[50%]" }),
480
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute bottom-0 w-full space-y-4 p-4 sm:p-6 lg:p-8 xl:p-10", children: [
481
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-semibold text-white sm:text-2xl lg:text-3xl", children: option.title }),
482
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-white/80 sm:text-base", children: option.description }),
483
- option.ctaText && option.ctaHref && /* @__PURE__ */ jsxRuntime.jsx(
484
- Pressable,
846
+ const renderCard = React__namespace.useCallback(
847
+ (option) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative h-full", cardClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative aspect-4/5 min-h-[400px] overflow-hidden rounded-2xl bg-accent sm:aspect-[0.9] sm:min-h-[480px] sm:rounded-3xl md:min-h-[520px]", children: [
848
+ /* @__PURE__ */ jsxRuntime.jsx(
849
+ img.Img,
485
850
  {
486
- href: option.ctaHref,
487
- variant: "outline",
488
- asButton: true,
489
- children: option.ctaText
851
+ src: option.image,
852
+ alt: option.imageAlt || option.title,
853
+ className: "h-full w-full object-cover",
854
+ optixFlowConfig
490
855
  }
491
- )
492
- ] })
493
- ] }) });
494
- const renderCards = () => {
856
+ ),
857
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 bottom-0 h-[40%] bg-linear-to-t from-black via-black/50 to-transparent backdrop-blur-[2px] sm:h-[45%] md:h-[50%]" }),
858
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute bottom-0 w-full space-y-4 p-4 sm:p-6 lg:p-8 xl:p-10", children: [
859
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-semibold text-white sm:text-2xl lg:text-3xl", children: option.title }),
860
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-white/80 sm:text-base", children: option.description }),
861
+ option.ctaText && option.ctaHref && /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: option.ctaHref, variant: "outline", asButton: true, children: option.ctaText })
862
+ ] })
863
+ ] }) }),
864
+ [cardClassName, optixFlowConfig]
865
+ );
866
+ const cardsContent = React__namespace.useMemo(() => {
495
867
  if (cardsSlot) return cardsSlot;
496
868
  if (!optionA || !optionB) return null;
497
869
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
498
870
  renderCard(optionA),
499
871
  renderCard(optionB),
500
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-background px-4 py-2 text-sm font-bold shadow-lg sm:px-6 sm:py-4 sm:text-base lg:px-8 lg:py-6", dividerClassName), children: dividerText })
872
+ dividerText && /* @__PURE__ */ jsxRuntime.jsx(
873
+ "span",
874
+ {
875
+ className: cn(
876
+ "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-background px-4 py-2 text-sm font-bold shadow-lg sm:px-6 sm:py-4 sm:text-base lg:px-8 lg:py-6",
877
+ dividerClassName
878
+ ),
879
+ children: dividerText
880
+ }
881
+ )
501
882
  ] });
502
- };
503
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
504
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
505
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium sm:text-4xl md:text-5xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
506
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mt-4 max-w-3xl text-lg text-muted-foreground sm:mt-6 sm:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
507
- ] }),
508
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative mt-8 grid gap-6 sm:mt-10 md:mt-12 lg:grid-cols-2 lg:gap-10 xl:gap-14", cardsGridClassName), children: renderCards() })
509
- ] }) });
883
+ }, [cardsSlot, optionA, optionB, dividerText, dividerClassName, renderCard]);
884
+ const headingContent = React__namespace.useMemo(() => {
885
+ if (!heading) return null;
886
+ if (typeof heading === "string") {
887
+ return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium sm:text-4xl md:text-5xl lg:text-6xl", headingClassName), children: heading });
888
+ }
889
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading });
890
+ }, [heading, headingClassName]);
891
+ const descriptionContent = React__namespace.useMemo(() => {
892
+ if (!description) return null;
893
+ if (typeof description === "string") {
894
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mt-4 max-w-3xl text-lg text-muted-foreground sm:mt-6 sm:text-xl", descriptionClassName), children: description });
895
+ }
896
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description });
897
+ }, [description, descriptionClassName]);
898
+ return /* @__PURE__ */ jsxRuntime.jsx(
899
+ Section,
900
+ {
901
+ background,
902
+ spacing,
903
+ className: cn(className),
904
+ pattern,
905
+ patternOpacity,
906
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
907
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
908
+ headingContent,
909
+ descriptionContent
910
+ ] }),
911
+ /* @__PURE__ */ jsxRuntime.jsx(
912
+ "div",
913
+ {
914
+ className: cn(
915
+ "relative mt-8 grid gap-6 sm:mt-10 md:mt-12 lg:grid-cols-2 lg:gap-10 xl:gap-14",
916
+ cardsGridClassName
917
+ ),
918
+ children: cardsContent
919
+ }
920
+ )
921
+ ] })
922
+ }
923
+ );
510
924
  }
511
925
 
512
926
  exports.ComparisonImageCards = ComparisonImageCards;
@@ -1,5 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
3
+ import { SectionBackground, SectionSpacing } from './types.cjs';
2
4
  import { O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
5
+ import 'react/jsx-runtime';
3
6
  import 'class-variance-authority';
4
7
  import './button-variants-lRElsmTc.cjs';
5
8
  import 'class-variance-authority/types';
@@ -86,22 +89,38 @@ interface ComparisonImageCardsProps {
86
89
  * Additional CSS classes for the divider
87
90
  */
88
91
  dividerClassName?: string;
92
+ /**
93
+ * Background style for the section
94
+ */
95
+ background?: SectionBackground;
96
+ /**
97
+ * Vertical spacing for the section
98
+ */
99
+ spacing?: SectionSpacing;
100
+ /**
101
+ * Optional background pattern name or URL
102
+ */
103
+ pattern?: PatternName | undefined;
104
+ /**
105
+ * Pattern overlay opacity (0-1)
106
+ */
107
+ patternOpacity?: number;
89
108
  /**
90
109
  * OptixFlow image optimization configuration
91
110
  */
92
111
  optixFlowConfig?: OptixFlowConfig;
93
112
  }
94
113
  /**
95
- * ComparisonImageCards - Two image cards with "OR" divider
114
+ * ComparisonImageCards - Two image cards with divider
96
115
  *
97
- * Displays two large image cards side by side with a centered "OR" badge
116
+ * Displays two large image cards side by side with a centered badge
98
117
  * divider. Each card features a full-bleed background image with a gradient
99
118
  * overlay at the bottom containing the title, description, and CTA button.
100
119
  * The layout creates a visual choice between two distinct options.
101
120
  *
102
- * Best for: Service tier selection, build vs buy decisions, path selection,
121
+ * Best for: Tier selection, path selection,
103
122
  * two-option comparisons with strong visual differentiation.
104
123
  */
105
- declare function ComparisonImageCards({ heading, description, optionA, optionB, dividerText, cardsSlot, className, containerClassName, headingClassName, descriptionClassName, cardsGridClassName, cardClassName, dividerClassName, optixFlowConfig, }: ComparisonImageCardsProps): React.JSX.Element;
124
+ declare function ComparisonImageCards({ heading, description, optionA, optionB, dividerText, cardsSlot, className, containerClassName, headingClassName, descriptionClassName, cardsGridClassName, cardClassName, dividerClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: ComparisonImageCardsProps): React.JSX.Element;
106
125
 
107
126
  export { ComparisonImageCards, type ComparisonImageCardsProps };
@@ -1,5 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { P as PatternName } from './pattern-background-a7gKHzHy.js';
3
+ import { SectionBackground, SectionSpacing } from './types.js';
2
4
  import { O as OptixFlowConfig } from './blocks-k17uluAz.js';
5
+ import 'react/jsx-runtime';
3
6
  import 'class-variance-authority';
4
7
  import './button-variants-lRElsmTc.js';
5
8
  import 'class-variance-authority/types';
@@ -86,22 +89,38 @@ interface ComparisonImageCardsProps {
86
89
  * Additional CSS classes for the divider
87
90
  */
88
91
  dividerClassName?: string;
92
+ /**
93
+ * Background style for the section
94
+ */
95
+ background?: SectionBackground;
96
+ /**
97
+ * Vertical spacing for the section
98
+ */
99
+ spacing?: SectionSpacing;
100
+ /**
101
+ * Optional background pattern name or URL
102
+ */
103
+ pattern?: PatternName | undefined;
104
+ /**
105
+ * Pattern overlay opacity (0-1)
106
+ */
107
+ patternOpacity?: number;
89
108
  /**
90
109
  * OptixFlow image optimization configuration
91
110
  */
92
111
  optixFlowConfig?: OptixFlowConfig;
93
112
  }
94
113
  /**
95
- * ComparisonImageCards - Two image cards with "OR" divider
114
+ * ComparisonImageCards - Two image cards with divider
96
115
  *
97
- * Displays two large image cards side by side with a centered "OR" badge
116
+ * Displays two large image cards side by side with a centered badge
98
117
  * divider. Each card features a full-bleed background image with a gradient
99
118
  * overlay at the bottom containing the title, description, and CTA button.
100
119
  * The layout creates a visual choice between two distinct options.
101
120
  *
102
- * Best for: Service tier selection, build vs buy decisions, path selection,
121
+ * Best for: Tier selection, path selection,
103
122
  * two-option comparisons with strong visual differentiation.
104
123
  */
105
- declare function ComparisonImageCards({ heading, description, optionA, optionB, dividerText, cardsSlot, className, containerClassName, headingClassName, descriptionClassName, cardsGridClassName, cardClassName, dividerClassName, optixFlowConfig, }: ComparisonImageCardsProps): React.JSX.Element;
124
+ declare function ComparisonImageCards({ heading, description, optionA, optionB, dividerText, cardsSlot, className, containerClassName, headingClassName, descriptionClassName, cardsGridClassName, cardClassName, dividerClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: ComparisonImageCardsProps): React.JSX.Element;
106
125
 
107
126
  export { ComparisonImageCards, type ComparisonImageCardsProps };