@opensite/ui 0.5.3 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/dist/about-company-profile.cjs +11 -11
  2. package/dist/about-company-profile.js +12 -11
  3. package/dist/about-developer-profile.cjs +11 -11
  4. package/dist/about-developer-profile.js +12 -11
  5. package/dist/about-developer-story.cjs +11 -11
  6. package/dist/about-developer-story.js +12 -11
  7. package/dist/about-interactive-tabs.cjs +10 -5
  8. package/dist/about-interactive-tabs.js +12 -6
  9. package/dist/about-location-info-hero.cjs +14 -14
  10. package/dist/about-location-info-hero.js +15 -15
  11. package/dist/about-minimal-story.cjs +5 -4
  12. package/dist/about-minimal-story.js +6 -5
  13. package/dist/about-mission-dual-image.cjs +5 -5
  14. package/dist/about-mission-dual-image.js +6 -5
  15. package/dist/about-mission-features.cjs +5 -4
  16. package/dist/about-mission-features.js +6 -5
  17. package/dist/about-network-spotlight.cjs +12 -134
  18. package/dist/about-network-spotlight.js +13 -135
  19. package/dist/about-startup-team.cjs +10 -12
  20. package/dist/about-startup-team.js +11 -12
  21. package/dist/about-stats-showcase.cjs +17 -16
  22. package/dist/about-stats-showcase.js +17 -16
  23. package/dist/about-stats-sidebar.cjs +8 -7
  24. package/dist/about-stats-sidebar.js +8 -7
  25. package/dist/about-story-expertise.cjs +17 -139
  26. package/dist/about-story-expertise.js +18 -140
  27. package/dist/about-story-gallery.cjs +6 -9
  28. package/dist/about-story-gallery.js +6 -9
  29. package/dist/about-story-hero.cjs +6 -9
  30. package/dist/about-story-hero.js +7 -10
  31. package/dist/about-streamline-team.cjs +10 -10
  32. package/dist/about-streamline-team.js +11 -10
  33. package/dist/about-vision-gallery.cjs +33 -40
  34. package/dist/about-vision-gallery.d.cts +44 -24
  35. package/dist/about-vision-gallery.d.ts +44 -24
  36. package/dist/about-vision-gallery.js +34 -40
  37. package/dist/alternating-blocks.cjs +5 -5
  38. package/dist/alternating-blocks.js +5 -5
  39. package/dist/article-breadcrumb-social.cjs +35 -41
  40. package/dist/article-breadcrumb-social.d.cts +0 -2
  41. package/dist/article-breadcrumb-social.d.ts +0 -2
  42. package/dist/article-breadcrumb-social.js +35 -41
  43. package/dist/article-chapters-author.cjs +80 -80
  44. package/dist/article-chapters-author.js +79 -79
  45. package/dist/article-compact-toc.cjs +31 -30
  46. package/dist/article-compact-toc.js +30 -29
  47. package/dist/article-hero-prose.cjs +9 -9
  48. package/dist/article-hero-prose.d.cts +5 -5
  49. package/dist/article-hero-prose.d.ts +5 -5
  50. package/dist/article-hero-prose.js +9 -9
  51. package/dist/article-sidebar-sticky.cjs +12 -11
  52. package/dist/article-sidebar-sticky.js +12 -11
  53. package/dist/article-split-animated.cjs +23 -142
  54. package/dist/article-split-animated.js +23 -142
  55. package/dist/article-toc-sidebar.cjs +31 -31
  56. package/dist/article-toc-sidebar.js +30 -30
  57. package/dist/banner-announcement-dismissible.cjs +37 -17
  58. package/dist/banner-announcement-dismissible.d.cts +0 -2
  59. package/dist/banner-announcement-dismissible.d.ts +0 -2
  60. package/dist/banner-announcement-dismissible.js +38 -18
  61. package/dist/banner-countdown-sale.cjs +19 -11
  62. package/dist/banner-countdown-sale.d.cts +0 -1
  63. package/dist/banner-countdown-sale.d.ts +0 -1
  64. package/dist/banner-countdown-sale.js +21 -13
  65. package/dist/banner-delivery-countdown.cjs +29 -24
  66. package/dist/banner-delivery-countdown.d.cts +0 -2
  67. package/dist/banner-delivery-countdown.d.ts +0 -2
  68. package/dist/banner-delivery-countdown.js +30 -25
  69. package/dist/banner-event-promo.cjs +28 -13
  70. package/dist/banner-event-promo.js +29 -13
  71. package/dist/banner-floating-offer.cjs +42 -24
  72. package/dist/banner-floating-offer.d.cts +0 -3
  73. package/dist/banner-floating-offer.d.ts +0 -3
  74. package/dist/banner-floating-offer.js +43 -25
  75. package/dist/banner-gdpr-rights.cjs +36 -19
  76. package/dist/banner-gdpr-rights.d.cts +3 -5
  77. package/dist/banner-gdpr-rights.d.ts +3 -5
  78. package/dist/banner-gdpr-rights.js +37 -20
  79. package/dist/banner-privacy-notice.cjs +34 -17
  80. package/dist/banner-privacy-notice.d.cts +0 -2
  81. package/dist/banner-privacy-notice.d.ts +0 -2
  82. package/dist/banner-privacy-notice.js +35 -18
  83. package/dist/banner-promo-cta.cjs +27 -12
  84. package/dist/banner-promo-cta.js +28 -12
  85. package/dist/banner-social-follow.cjs +37 -17
  86. package/dist/banner-social-follow.d.cts +0 -2
  87. package/dist/banner-social-follow.d.ts +0 -2
  88. package/dist/banner-social-follow.js +38 -18
  89. package/dist/banner-survey-incentive.cjs +34 -17
  90. package/dist/banner-survey-incentive.d.cts +0 -2
  91. package/dist/banner-survey-incentive.d.ts +0 -2
  92. package/dist/banner-survey-incentive.js +35 -18
  93. package/dist/blog-cards-read-time.cjs +408 -24
  94. package/dist/blog-cards-read-time.d.cts +20 -1
  95. package/dist/blog-cards-read-time.d.ts +20 -1
  96. package/dist/blog-cards-read-time.js +409 -24
  97. package/dist/blog-cards-tagline-cta.cjs +406 -19
  98. package/dist/blog-cards-tagline-cta.d.cts +20 -1
  99. package/dist/blog-cards-tagline-cta.d.ts +20 -1
  100. package/dist/blog-cards-tagline-cta.js +407 -19
  101. package/dist/blog-category-overlay.cjs +407 -20
  102. package/dist/blog-category-overlay.d.cts +27 -8
  103. package/dist/blog-category-overlay.d.ts +27 -8
  104. package/dist/blog-category-overlay.js +408 -20
  105. package/dist/blog-featured-popular.cjs +406 -19
  106. package/dist/blog-featured-popular.d.cts +20 -1
  107. package/dist/blog-featured-popular.d.ts +20 -1
  108. package/dist/blog-featured-popular.js +407 -19
  109. package/dist/blog-filtered-results.cjs +457 -71
  110. package/dist/blog-filtered-results.d.cts +38 -19
  111. package/dist/blog-filtered-results.d.ts +38 -19
  112. package/dist/blog-filtered-results.js +455 -69
  113. package/dist/blog-grid-author-cards.cjs +408 -20
  114. package/dist/blog-grid-author-cards.d.cts +28 -9
  115. package/dist/blog-grid-author-cards.d.ts +28 -9
  116. package/dist/blog-grid-author-cards.js +409 -20
  117. package/dist/blog-grid-nine-posts.cjs +403 -16
  118. package/dist/blog-grid-nine-posts.d.cts +24 -5
  119. package/dist/blog-grid-nine-posts.d.ts +24 -5
  120. package/dist/blog-grid-nine-posts.js +404 -16
  121. package/dist/blog-horizontal-cards.cjs +407 -20
  122. package/dist/blog-horizontal-cards.d.cts +21 -2
  123. package/dist/blog-horizontal-cards.d.ts +21 -2
  124. package/dist/blog-horizontal-cards.js +408 -20
  125. package/dist/blog-horizontal-timeline.cjs +401 -14
  126. package/dist/blog-horizontal-timeline.d.cts +28 -9
  127. package/dist/blog-horizontal-timeline.d.ts +28 -9
  128. package/dist/blog-horizontal-timeline.js +402 -14
  129. package/dist/blog-masonry-featured.cjs +405 -18
  130. package/dist/blog-masonry-featured.d.cts +28 -9
  131. package/dist/blog-masonry-featured.d.ts +28 -9
  132. package/dist/blog-masonry-featured.js +406 -18
  133. package/dist/blog-related-articles.cjs +401 -14
  134. package/dist/blog-related-articles.d.cts +20 -1
  135. package/dist/blog-related-articles.d.ts +20 -1
  136. package/dist/blog-related-articles.js +402 -14
  137. package/dist/blog-tech-insights.cjs +410 -23
  138. package/dist/blog-tech-insights.d.cts +31 -12
  139. package/dist/blog-tech-insights.d.ts +31 -12
  140. package/dist/blog-tech-insights.js +411 -23
  141. package/dist/case-studies-featured-border.cjs +423 -14
  142. package/dist/case-studies-featured-border.d.cts +20 -1
  143. package/dist/case-studies-featured-border.d.ts +20 -1
  144. package/dist/case-studies-featured-border.js +424 -14
  145. package/dist/case-studies-image-grid.cjs +404 -7
  146. package/dist/case-studies-image-grid.d.cts +20 -1
  147. package/dist/case-studies-image-grid.d.ts +20 -1
  148. package/dist/case-studies-image-grid.js +405 -7
  149. package/dist/case-studies-stats-card.cjs +416 -29
  150. package/dist/case-studies-stats-card.d.cts +20 -1
  151. package/dist/case-studies-stats-card.d.ts +20 -1
  152. package/dist/case-studies-stats-card.js +417 -29
  153. package/dist/case-studies-testimonial-stats.cjs +409 -10
  154. package/dist/case-studies-testimonial-stats.d.cts +20 -1
  155. package/dist/case-studies-testimonial-stats.d.ts +20 -1
  156. package/dist/case-studies-testimonial-stats.js +409 -10
  157. package/dist/case-study-prose-sidebar.cjs +414 -23
  158. package/dist/case-study-prose-sidebar.d.cts +34 -15
  159. package/dist/case-study-prose-sidebar.d.ts +34 -15
  160. package/dist/case-study-prose-sidebar.js +415 -23
  161. package/dist/case-study-stats-metrics.cjs +443 -43
  162. package/dist/case-study-stats-metrics.d.cts +39 -20
  163. package/dist/case-study-stats-metrics.d.ts +39 -20
  164. package/dist/case-study-stats-metrics.js +444 -43
  165. package/dist/case-study-toc-social-sidebar.cjs +436 -46
  166. package/dist/case-study-toc-social-sidebar.d.cts +36 -17
  167. package/dist/case-study-toc-social-sidebar.d.ts +36 -17
  168. package/dist/case-study-toc-social-sidebar.js +437 -47
  169. package/dist/comparison-ai-models.cjs +498 -77
  170. package/dist/comparison-ai-models.d.cts +25 -7
  171. package/dist/comparison-ai-models.d.ts +25 -7
  172. package/dist/comparison-ai-models.js +497 -76
  173. package/dist/comparison-feature-cards.cjs +492 -80
  174. package/dist/comparison-feature-cards.d.cts +25 -6
  175. package/dist/comparison-feature-cards.d.ts +25 -6
  176. package/dist/comparison-feature-cards.js +492 -79
  177. package/dist/comparison-feature-grid.cjs +475 -47
  178. package/dist/comparison-feature-grid.d.cts +24 -1
  179. package/dist/comparison-feature-grid.d.ts +24 -1
  180. package/dist/comparison-feature-grid.js +476 -47
  181. package/dist/comparison-grid-badges.cjs +422 -25
  182. package/dist/comparison-grid-badges.d.cts +26 -3
  183. package/dist/comparison-grid-badges.d.ts +26 -3
  184. package/dist/comparison-grid-badges.js +423 -25
  185. package/dist/comparison-image-cards.cjs +450 -36
  186. package/dist/comparison-image-cards.d.cts +23 -4
  187. package/dist/comparison-image-cards.d.ts +23 -4
  188. package/dist/comparison-image-cards.js +451 -36
  189. package/dist/comparison-legacy-modern.cjs +442 -41
  190. package/dist/comparison-legacy-modern.d.cts +29 -6
  191. package/dist/comparison-legacy-modern.d.ts +29 -6
  192. package/dist/comparison-legacy-modern.js +443 -41
  193. package/dist/comparison-metrics-rows.cjs +478 -47
  194. package/dist/comparison-metrics-rows.d.cts +20 -1
  195. package/dist/comparison-metrics-rows.d.ts +20 -1
  196. package/dist/comparison-metrics-rows.js +479 -47
  197. package/dist/comparison-table-tabs.cjs +423 -13
  198. package/dist/comparison-table-tabs.d.cts +25 -2
  199. package/dist/comparison-table-tabs.d.ts +25 -2
  200. package/dist/comparison-table-tabs.js +424 -14
  201. package/dist/comparison-table-tooltips.cjs +443 -37
  202. package/dist/comparison-table-tooltips.d.cts +24 -1
  203. package/dist/comparison-table-tooltips.d.ts +24 -1
  204. package/dist/comparison-table-tooltips.js +443 -37
  205. package/dist/comparison-table-two-column.cjs +463 -53
  206. package/dist/comparison-table-two-column.d.cts +24 -6
  207. package/dist/comparison-table-two-column.d.ts +24 -6
  208. package/dist/comparison-table-two-column.js +464 -53
  209. package/dist/components.cjs +8 -8
  210. package/dist/components.js +9 -9
  211. package/dist/contact-callback.cjs +577 -190
  212. package/dist/contact-callback.d.cts +35 -1
  213. package/dist/contact-callback.d.ts +35 -1
  214. package/dist/contact-callback.js +578 -190
  215. package/dist/contact-card.cjs +502 -115
  216. package/dist/contact-card.d.cts +20 -1
  217. package/dist/contact-card.d.ts +20 -1
  218. package/dist/contact-card.js +503 -115
  219. package/dist/contact-careers.cjs +628 -241
  220. package/dist/contact-careers.d.cts +20 -2
  221. package/dist/contact-careers.d.ts +20 -2
  222. package/dist/contact-careers.js +629 -242
  223. package/dist/contact-catering.cjs +664 -277
  224. package/dist/contact-catering.d.cts +20 -1
  225. package/dist/contact-catering.d.ts +20 -1
  226. package/dist/contact-catering.js +665 -277
  227. package/dist/contact-consultation.cjs +567 -180
  228. package/dist/contact-consultation.d.cts +20 -2
  229. package/dist/contact-consultation.d.ts +20 -2
  230. package/dist/contact-consultation.js +568 -180
  231. package/dist/contact-dark.cjs +486 -99
  232. package/dist/contact-dark.d.cts +20 -2
  233. package/dist/contact-dark.d.ts +20 -2
  234. package/dist/contact-dark.js +487 -99
  235. package/dist/contact-demo.cjs +558 -171
  236. package/dist/contact-demo.d.cts +20 -2
  237. package/dist/contact-demo.d.ts +20 -2
  238. package/dist/contact-demo.js +559 -171
  239. package/dist/contact-emergency.cjs +571 -184
  240. package/dist/contact-emergency.d.cts +20 -2
  241. package/dist/contact-emergency.d.ts +20 -2
  242. package/dist/contact-emergency.js +572 -184
  243. package/dist/contact-event.cjs +489 -102
  244. package/dist/contact-event.d.cts +20 -2
  245. package/dist/contact-event.d.ts +20 -2
  246. package/dist/contact-event.js +490 -102
  247. package/dist/contact-faq.cjs +478 -91
  248. package/dist/contact-faq.d.cts +20 -2
  249. package/dist/contact-faq.d.ts +20 -2
  250. package/dist/contact-faq.js +479 -91
  251. package/dist/contact-feedback.cjs +450 -63
  252. package/dist/contact-feedback.d.cts +20 -2
  253. package/dist/contact-feedback.d.ts +20 -2
  254. package/dist/contact-feedback.js +451 -63
  255. package/dist/contact-fitness.cjs +489 -102
  256. package/dist/contact-fitness.d.cts +20 -2
  257. package/dist/contact-fitness.d.ts +20 -2
  258. package/dist/contact-fitness.js +490 -102
  259. package/dist/contact-floating-banner.cjs +5 -5
  260. package/dist/contact-floating-banner.js +5 -5
  261. package/dist/contact-guest.cjs +489 -102
  262. package/dist/contact-guest.d.cts +20 -2
  263. package/dist/contact-guest.d.ts +20 -2
  264. package/dist/contact-guest.js +490 -102
  265. package/dist/contact-image.cjs +489 -102
  266. package/dist/contact-image.d.cts +20 -2
  267. package/dist/contact-image.d.ts +20 -2
  268. package/dist/contact-image.js +490 -102
  269. package/dist/contact-insurance.cjs +489 -102
  270. package/dist/contact-insurance.d.cts +20 -2
  271. package/dist/contact-insurance.d.ts +20 -2
  272. package/dist/contact-insurance.js +490 -102
  273. package/dist/contact-interview.cjs +489 -102
  274. package/dist/contact-interview.d.cts +20 -2
  275. package/dist/contact-interview.d.ts +20 -2
  276. package/dist/contact-interview.js +490 -102
  277. package/dist/contact-locations.cjs +489 -102
  278. package/dist/contact-locations.d.cts +20 -2
  279. package/dist/contact-locations.d.ts +20 -2
  280. package/dist/contact-locations.js +490 -102
  281. package/dist/contact-maintenance.cjs +489 -102
  282. package/dist/contact-maintenance.d.cts +20 -2
  283. package/dist/contact-maintenance.d.ts +20 -2
  284. package/dist/contact-maintenance.js +490 -102
  285. package/dist/contact-map.cjs +489 -102
  286. package/dist/contact-map.d.cts +20 -2
  287. package/dist/contact-map.d.ts +20 -2
  288. package/dist/contact-map.js +490 -102
  289. package/dist/contact-minimal.cjs +466 -79
  290. package/dist/contact-minimal.d.cts +32 -1
  291. package/dist/contact-minimal.d.ts +32 -1
  292. package/dist/contact-minimal.js +467 -79
  293. package/dist/contact-moving.cjs +489 -102
  294. package/dist/contact-moving.d.cts +20 -2
  295. package/dist/contact-moving.d.ts +20 -2
  296. package/dist/contact-moving.js +490 -102
  297. package/dist/contact-multistep.cjs +489 -102
  298. package/dist/contact-multistep.d.cts +20 -2
  299. package/dist/contact-multistep.d.ts +20 -2
  300. package/dist/contact-multistep.js +490 -102
  301. package/dist/contact-partnership.cjs +489 -102
  302. package/dist/contact-partnership.d.cts +20 -2
  303. package/dist/contact-partnership.d.ts +20 -2
  304. package/dist/contact-partnership.js +490 -102
  305. package/dist/contact-photography.cjs +489 -102
  306. package/dist/contact-photography.d.cts +20 -2
  307. package/dist/contact-photography.d.ts +20 -2
  308. package/dist/contact-photography.js +490 -102
  309. package/dist/contact-press.cjs +489 -102
  310. package/dist/contact-press.d.cts +20 -2
  311. package/dist/contact-press.d.ts +20 -2
  312. package/dist/contact-press.js +490 -102
  313. package/dist/contact-quote.cjs +489 -102
  314. package/dist/contact-quote.d.cts +20 -2
  315. package/dist/contact-quote.d.ts +20 -2
  316. package/dist/contact-quote.js +490 -102
  317. package/dist/contact-referral.cjs +489 -102
  318. package/dist/contact-referral.d.cts +20 -2
  319. package/dist/contact-referral.d.ts +20 -2
  320. package/dist/contact-referral.js +490 -102
  321. package/dist/contact-report.cjs +489 -102
  322. package/dist/contact-report.d.cts +20 -2
  323. package/dist/contact-report.d.ts +20 -2
  324. package/dist/contact-report.js +490 -102
  325. package/dist/contact-reservation.cjs +489 -102
  326. package/dist/contact-reservation.d.cts +20 -2
  327. package/dist/contact-reservation.d.ts +20 -2
  328. package/dist/contact-reservation.js +490 -102
  329. package/dist/contact-retreat.cjs +489 -102
  330. package/dist/contact-retreat.d.cts +20 -2
  331. package/dist/contact-retreat.d.ts +20 -2
  332. package/dist/contact-retreat.js +490 -102
  333. package/dist/contact-rsvp.cjs +489 -102
  334. package/dist/contact-rsvp.d.cts +20 -2
  335. package/dist/contact-rsvp.d.ts +20 -2
  336. package/dist/contact-rsvp.js +490 -102
  337. package/dist/contact-sales.cjs +489 -102
  338. package/dist/contact-sales.d.cts +20 -1
  339. package/dist/contact-sales.d.ts +20 -1
  340. package/dist/contact-sales.js +490 -102
  341. package/dist/contact-schedule.cjs +489 -102
  342. package/dist/contact-schedule.d.cts +20 -2
  343. package/dist/contact-schedule.d.ts +20 -2
  344. package/dist/contact-schedule.js +490 -102
  345. package/dist/contact-sponsorship.cjs +489 -102
  346. package/dist/contact-sponsorship.d.cts +20 -2
  347. package/dist/contact-sponsorship.d.ts +20 -2
  348. package/dist/contact-sponsorship.js +490 -102
  349. package/dist/contact-support.cjs +463 -76
  350. package/dist/contact-support.d.cts +20 -2
  351. package/dist/contact-support.d.ts +20 -2
  352. package/dist/contact-support.js +464 -76
  353. package/dist/contact-tenant.cjs +489 -102
  354. package/dist/contact-tenant.d.cts +20 -2
  355. package/dist/contact-tenant.d.ts +20 -2
  356. package/dist/contact-tenant.js +490 -102
  357. package/dist/contact-vendor.cjs +489 -102
  358. package/dist/contact-vendor.d.cts +20 -2
  359. package/dist/contact-vendor.d.ts +20 -2
  360. package/dist/contact-vendor.js +490 -102
  361. package/dist/contact-volunteer.cjs +489 -102
  362. package/dist/contact-volunteer.d.cts +20 -2
  363. package/dist/contact-volunteer.d.ts +20 -2
  364. package/dist/contact-volunteer.js +490 -102
  365. package/dist/contact-warranty.cjs +489 -102
  366. package/dist/contact-warranty.d.cts +20 -2
  367. package/dist/contact-warranty.d.ts +20 -2
  368. package/dist/contact-warranty.js +490 -102
  369. package/dist/contact-wedding.cjs +489 -102
  370. package/dist/contact-wedding.d.cts +20 -2
  371. package/dist/contact-wedding.d.ts +20 -2
  372. package/dist/contact-wedding.js +490 -102
  373. package/dist/cta-accent-background.cjs +11 -11
  374. package/dist/cta-accent-background.js +12 -12
  375. package/dist/cta-app-download-newsletter.cjs +16 -135
  376. package/dist/cta-app-download-newsletter.js +17 -136
  377. package/dist/cta-background-icon-badge.cjs +12 -131
  378. package/dist/cta-background-icon-badge.js +13 -132
  379. package/dist/cta-case-study-testimonial.cjs +31 -154
  380. package/dist/cta-case-study-testimonial.js +32 -155
  381. package/dist/cta-documentation-links.cjs +15 -15
  382. package/dist/cta-documentation-links.js +16 -16
  383. package/dist/cta-enterprise-dark-features.cjs +21 -21
  384. package/dist/cta-enterprise-dark-features.js +22 -22
  385. package/dist/cta-enterprise-split.cjs +14 -14
  386. package/dist/cta-enterprise-split.js +15 -15
  387. package/dist/cta-feature-cards-grid.cjs +16 -16
  388. package/dist/cta-feature-cards-grid.js +17 -17
  389. package/dist/cta-feature-checklist.cjs +14 -14
  390. package/dist/cta-feature-checklist.js +15 -15
  391. package/dist/cta-feature-list.cjs +16 -135
  392. package/dist/cta-feature-list.js +17 -136
  393. package/dist/cta-fullwidth-background.cjs +14 -133
  394. package/dist/cta-fullwidth-background.js +15 -134
  395. package/dist/cta-gradient-logos-floating.cjs +17 -17
  396. package/dist/cta-gradient-logos-floating.js +18 -18
  397. package/dist/cta-gradient-stats-hero.cjs +16 -16
  398. package/dist/cta-gradient-stats-hero.js +17 -17
  399. package/dist/cta-hero-feature-cards.cjs +36 -136
  400. package/dist/cta-hero-feature-cards.js +37 -137
  401. package/dist/cta-image-overlay-arrow.cjs +12 -131
  402. package/dist/cta-image-overlay-arrow.js +13 -132
  403. package/dist/cta-image-overlay-centered.cjs +12 -131
  404. package/dist/cta-image-overlay-centered.js +13 -132
  405. package/dist/cta-minimal-separator.cjs +8 -8
  406. package/dist/cta-minimal-separator.js +9 -9
  407. package/dist/cta-newsletter-features.cjs +14 -14
  408. package/dist/cta-newsletter-features.js +15 -15
  409. package/dist/cta-pattern-background.cjs +11 -11
  410. package/dist/cta-pattern-background.js +12 -12
  411. package/dist/cta-platform-demo.cjs +16 -139
  412. package/dist/cta-platform-demo.js +17 -140
  413. package/dist/cta-simple-centered.cjs +11 -11
  414. package/dist/cta-simple-centered.js +12 -12
  415. package/dist/cta-split-gradient-image.cjs +14 -133
  416. package/dist/cta-split-gradient-image.js +15 -134
  417. package/dist/cta-split-image-logos.cjs +17 -136
  418. package/dist/cta-split-image-logos.js +18 -137
  419. package/dist/cta-split-image.cjs +60 -174
  420. package/dist/cta-split-image.js +61 -175
  421. package/dist/cta-stacked-cards.cjs +11 -11
  422. package/dist/cta-stacked-cards.js +12 -12
  423. package/dist/cta-video-background-hero.cjs +16 -100
  424. package/dist/cta-video-background-hero.js +17 -101
  425. package/dist/cta-workflow-tabs.cjs +18 -137
  426. package/dist/cta-workflow-tabs.js +19 -138
  427. package/dist/hero-ad-campaign-expert.cjs +2 -2
  428. package/dist/hero-ad-campaign-expert.js +2 -2
  429. package/dist/hero-adaptable-product-grid.cjs +2 -2
  430. package/dist/hero-adaptable-product-grid.js +2 -2
  431. package/dist/hero-agency-animated-images.cjs +2 -2
  432. package/dist/hero-agency-animated-images.js +2 -2
  433. package/dist/hero-ai-powered-carousel.cjs +2 -2
  434. package/dist/hero-ai-powered-carousel.js +2 -2
  435. package/dist/hero-announcement-badge.cjs +2 -2
  436. package/dist/hero-announcement-badge.js +2 -2
  437. package/dist/hero-architecture-fullscreen.cjs +2 -2
  438. package/dist/hero-architecture-fullscreen.js +2 -2
  439. package/dist/hero-badge-image-split.cjs +2 -2
  440. package/dist/hero-badge-image-split.js +2 -2
  441. package/dist/hero-badge-shadow-overlay.cjs +2 -2
  442. package/dist/hero-badge-shadow-overlay.js +2 -2
  443. package/dist/hero-billing-platform-logos.cjs +2 -2
  444. package/dist/hero-billing-platform-logos.js +2 -2
  445. package/dist/hero-business-carousel-dots.cjs +2 -2
  446. package/dist/hero-business-carousel-dots.js +2 -2
  447. package/dist/hero-business-operations-mosaic.cjs +2 -2
  448. package/dist/hero-business-operations-mosaic.js +2 -2
  449. package/dist/hero-centered-gradient-cta.cjs +2 -2
  450. package/dist/hero-centered-gradient-cta.js +2 -2
  451. package/dist/hero-centered-image-grid.cjs +2 -2
  452. package/dist/hero-centered-image-grid.js +2 -2
  453. package/dist/hero-centered-screenshot.cjs +2 -2
  454. package/dist/hero-centered-screenshot.js +2 -2
  455. package/dist/hero-coming-soon-countdown.cjs +2 -2
  456. package/dist/hero-coming-soon-countdown.js +2 -2
  457. package/dist/hero-community-survey-cta.cjs +2 -2
  458. package/dist/hero-community-survey-cta.js +2 -2
  459. package/dist/hero-conversation-intelligence.cjs +2 -2
  460. package/dist/hero-conversation-intelligence.js +2 -2
  461. package/dist/hero-conversion-video-play.cjs +2 -2
  462. package/dist/hero-conversion-video-play.js +2 -2
  463. package/dist/hero-creative-studio-stacked.cjs +2 -2
  464. package/dist/hero-creative-studio-stacked.js +2 -2
  465. package/dist/hero-crm-streamlined.cjs +2 -2
  466. package/dist/hero-crm-streamlined.js +2 -2
  467. package/dist/hero-customer-support-layered.cjs +2 -2
  468. package/dist/hero-customer-support-layered.js +2 -2
  469. package/dist/hero-dashed-border-features.cjs +2 -2
  470. package/dist/hero-dashed-border-features.js +2 -2
  471. package/dist/hero-design-carousel-portfolio.cjs +2 -2
  472. package/dist/hero-design-carousel-portfolio.js +2 -2
  473. package/dist/hero-design-showcase-logos.cjs +2 -2
  474. package/dist/hero-design-showcase-logos.js +2 -2
  475. package/dist/hero-design-system-3d.cjs +2 -2
  476. package/dist/hero-design-system-3d.js +2 -2
  477. package/dist/hero-developer-tools-code.cjs +2 -2
  478. package/dist/hero-developer-tools-code.js +2 -2
  479. package/dist/hero-digital-agency-fullscreen.cjs +2 -2
  480. package/dist/hero-digital-agency-fullscreen.js +2 -2
  481. package/dist/hero-ecommerce-product-showcase.cjs +2 -2
  482. package/dist/hero-ecommerce-product-showcase.js +2 -2
  483. package/dist/hero-enterprise-security.cjs +2 -2
  484. package/dist/hero-enterprise-security.js +2 -2
  485. package/dist/hero-event-registration.cjs +2 -2
  486. package/dist/hero-event-registration.js +2 -2
  487. package/dist/hero-feature-cards-grid.cjs +2 -2
  488. package/dist/hero-feature-cards-grid.js +2 -2
  489. package/dist/hero-fullscreen-background-image.cjs +2 -2
  490. package/dist/hero-fullscreen-background-image.js +2 -2
  491. package/dist/hero-fullscreen-logo-cta.cjs +2 -2
  492. package/dist/hero-fullscreen-logo-cta.js +2 -2
  493. package/dist/hero-gradient-avatars-rating.cjs +2 -2
  494. package/dist/hero-gradient-avatars-rating.js +2 -2
  495. package/dist/hero-gradient-client-focused.cjs +2 -2
  496. package/dist/hero-gradient-client-focused.js +2 -2
  497. package/dist/hero-grid-pattern-efficiency.cjs +2 -2
  498. package/dist/hero-grid-pattern-efficiency.js +2 -2
  499. package/dist/hero-grid-pattern-solutions.cjs +2 -2
  500. package/dist/hero-grid-pattern-solutions.js +2 -2
  501. package/dist/hero-hiring-animated-text.cjs +2 -2
  502. package/dist/hero-hiring-animated-text.js +2 -2
  503. package/dist/hero-image-left-content.cjs +2 -2
  504. package/dist/hero-image-left-content.js +2 -2
  505. package/dist/hero-image-slider.cjs +2 -2
  506. package/dist/hero-image-slider.js +2 -2
  507. package/dist/hero-innovation-image-grid.cjs +2 -2
  508. package/dist/hero-innovation-image-grid.js +2 -2
  509. package/dist/hero-logo-centered-screenshot.cjs +2 -2
  510. package/dist/hero-logo-centered-screenshot.js +2 -2
  511. package/dist/hero-marketplace-scattered-images.cjs +2 -2
  512. package/dist/hero-marketplace-scattered-images.js +2 -2
  513. package/dist/hero-mental-health-team.cjs +2 -2
  514. package/dist/hero-mental-health-team.js +2 -2
  515. package/dist/hero-mentorship-video-split.cjs +2 -2
  516. package/dist/hero-mentorship-video-split.js +2 -2
  517. package/dist/hero-minimal-centered-dark.cjs +2 -2
  518. package/dist/hero-minimal-centered-dark.js +2 -2
  519. package/dist/hero-mobile-app-download.cjs +2 -2
  520. package/dist/hero-mobile-app-download.js +2 -2
  521. package/dist/hero-newsletter-minimal.cjs +2 -2
  522. package/dist/hero-newsletter-minimal.js +2 -2
  523. package/dist/hero-pattern-badge-logos.cjs +2 -2
  524. package/dist/hero-pattern-badge-logos.js +2 -2
  525. package/dist/hero-pattern-logo-tech-stack.cjs +2 -2
  526. package/dist/hero-pattern-logo-tech-stack.js +2 -2
  527. package/dist/hero-platform-features-grid.cjs +2 -2
  528. package/dist/hero-platform-features-grid.js +2 -2
  529. package/dist/hero-portfolio-creative.cjs +2 -2
  530. package/dist/hero-portfolio-creative.js +2 -2
  531. package/dist/hero-premium-split-avatars.cjs +2 -2
  532. package/dist/hero-premium-split-avatars.js +2 -2
  533. package/dist/hero-presentation-platform-video.cjs +2 -2
  534. package/dist/hero-presentation-platform-video.js +2 -2
  535. package/dist/hero-pricing-comparison.cjs +2 -2
  536. package/dist/hero-pricing-comparison.js +2 -2
  537. package/dist/hero-product-showcase-floating.cjs +2 -2
  538. package/dist/hero-product-showcase-floating.js +2 -2
  539. package/dist/hero-productivity-launcher-video.cjs +2 -2
  540. package/dist/hero-productivity-launcher-video.js +2 -2
  541. package/dist/hero-saas-dashboard-preview.cjs +2 -2
  542. package/dist/hero-saas-dashboard-preview.js +2 -2
  543. package/dist/hero-shared-inbox-layered.cjs +2 -2
  544. package/dist/hero-shared-inbox-layered.js +2 -2
  545. package/dist/hero-simple-centered-image.cjs +2 -2
  546. package/dist/hero-simple-centered-image.js +2 -2
  547. package/dist/hero-software-growth-video-dialog.cjs +2 -2
  548. package/dist/hero-software-growth-video-dialog.js +2 -2
  549. package/dist/hero-spiral-pattern-cards.cjs +2 -2
  550. package/dist/hero-spiral-pattern-cards.js +2 -2
  551. package/dist/hero-split-geometric-shapes.cjs +2 -2
  552. package/dist/hero-split-geometric-shapes.js +2 -2
  553. package/dist/hero-split-icon-cards.cjs +1 -1
  554. package/dist/hero-split-icon-cards.js +1 -1
  555. package/dist/hero-split-image-newsletter.cjs +2 -2
  556. package/dist/hero-split-image-newsletter.js +2 -2
  557. package/dist/hero-split-spiral-shapes.cjs +2 -2
  558. package/dist/hero-split-spiral-shapes.js +2 -2
  559. package/dist/hero-startup-launch-cta.cjs +2 -2
  560. package/dist/hero-startup-launch-cta.js +2 -2
  561. package/dist/hero-stats-social-proof.cjs +2 -2
  562. package/dist/hero-stats-social-proof.js +2 -2
  563. package/dist/hero-task-timer-animated.cjs +2 -2
  564. package/dist/hero-task-timer-animated.js +2 -2
  565. package/dist/hero-tech-carousel.cjs +2 -2
  566. package/dist/hero-tech-carousel.js +2 -2
  567. package/dist/hero-therapy-testimonial-grid.cjs +2 -2
  568. package/dist/hero-therapy-testimonial-grid.js +2 -2
  569. package/dist/hero-ui-library-showcase.cjs +2 -2
  570. package/dist/hero-ui-library-showcase.js +2 -2
  571. package/dist/hero-video-background-dark.cjs +2 -2
  572. package/dist/hero-video-background-dark.js +2 -2
  573. package/dist/hero-video-dialog-gradient.cjs +2 -2
  574. package/dist/hero-video-dialog-gradient.js +2 -2
  575. package/dist/hero-video-overlay-stars.cjs +2 -2
  576. package/dist/hero-video-overlay-stars.js +2 -2
  577. package/dist/hero-welcome-asymmetric-images.cjs +2 -2
  578. package/dist/hero-welcome-asymmetric-images.js +2 -2
  579. package/dist/index.cjs +8 -8
  580. package/dist/index.js +9 -9
  581. package/dist/media-hover-ctas.cjs +7 -7
  582. package/dist/media-hover-ctas.js +7 -7
  583. package/dist/registry.cjs +10071 -8111
  584. package/dist/registry.js +10033 -8073
  585. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var React = require('react');
4
5
  var clsx = require('clsx');
5
6
  var tailwindMerge = require('tailwind-merge');
6
- var React = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
9
  function _interopNamespace(e) {
@@ -26,7 +26,7 @@ function _interopNamespace(e) {
26
26
 
27
27
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
28
 
29
- // lib/utils.ts
29
+ // components/blocks/comparison/comparison-feature-grid.tsx
30
30
  function cn(...inputs) {
31
31
  return tailwindMerge.twMerge(clsx.clsx(inputs));
32
32
  }
@@ -135,11 +135,384 @@ function processSvgForCurrentColor(svg) {
135
135
  );
136
136
  return processed;
137
137
  }
138
+ var maxWidthStyles = {
139
+ sm: "max-w-screen-sm",
140
+ md: "max-w-screen-md",
141
+ lg: "max-w-screen-lg",
142
+ xl: "max-w-7xl",
143
+ "2xl": "max-w-screen-2xl",
144
+ "4xl": "max-w-[1536px]",
145
+ full: "max-w-full"
146
+ };
147
+ var Container = React__namespace.default.forwardRef(
148
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
149
+ const Component = as;
150
+ return /* @__PURE__ */ jsxRuntime.jsx(
151
+ Component,
152
+ {
153
+ ref,
154
+ className: cn(
155
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
156
+ maxWidthStyles[maxWidth],
157
+ className
158
+ ),
159
+ ...props,
160
+ children
161
+ }
162
+ );
163
+ }
164
+ );
165
+ Container.displayName = "Container";
166
+
167
+ // lib/patternSvgs.ts
168
+ var patternSvgs = {
169
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
170
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
171
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
172
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
173
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
174
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
175
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
176
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
177
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
178
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
179
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
180
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
181
+ };
182
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
183
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
184
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
185
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
186
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
187
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
188
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
189
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
190
+ "svg",
191
+ {
192
+ className: "h-full w-full",
193
+ xmlns: "http://www.w3.org/2000/svg",
194
+ style: mask ? {
195
+ maskImage: mask,
196
+ WebkitMaskImage: mask
197
+ } : void 0,
198
+ children: [
199
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
200
+ "pattern",
201
+ {
202
+ id,
203
+ x: "0",
204
+ y: "0",
205
+ width: "100",
206
+ height: "100",
207
+ patternUnits: "userSpaceOnUse",
208
+ children: [
209
+ /* @__PURE__ */ jsxRuntime.jsx(
210
+ "path",
211
+ {
212
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
213
+ stroke: "hsl(var(--muted))",
214
+ strokeWidth: "1",
215
+ fill: "none"
216
+ }
217
+ ),
218
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
219
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
220
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
221
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
222
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
223
+ ]
224
+ }
225
+ ) }),
226
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
227
+ ]
228
+ }
229
+ );
230
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxRuntime.jsxs(
231
+ "svg",
232
+ {
233
+ className: "h-full w-full",
234
+ xmlns: "http://www.w3.org/2000/svg",
235
+ style: mask ? {
236
+ maskImage: mask,
237
+ WebkitMaskImage: mask
238
+ } : void 0,
239
+ children: [
240
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs(
241
+ "pattern",
242
+ {
243
+ id,
244
+ x: "0",
245
+ y: "0",
246
+ width: "40",
247
+ height: "40",
248
+ patternUnits: "userSpaceOnUse",
249
+ children: [
250
+ /* @__PURE__ */ jsxRuntime.jsx(
251
+ "path",
252
+ {
253
+ d: "M0 20h40M20 0v40",
254
+ stroke: "hsl(var(--muted))",
255
+ strokeWidth: "0.5",
256
+ fill: "none"
257
+ }
258
+ ),
259
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
260
+ ]
261
+ }
262
+ ) }),
263
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
264
+ ]
265
+ }
266
+ );
267
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsxRuntime.jsx(
268
+ "div",
269
+ {
270
+ 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)]",
271
+ style: {
272
+ backgroundSize: `${size}px ${size}px`,
273
+ ...mask ? {
274
+ maskImage: mask,
275
+ WebkitMaskImage: mask
276
+ } : {}
277
+ }
278
+ }
279
+ );
280
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsxRuntime.jsx(
281
+ "div",
282
+ {
283
+ className: "h-full w-full",
284
+ style: {
285
+ 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)",
286
+ ...mask ? {
287
+ maskImage: mask,
288
+ WebkitMaskImage: mask
289
+ } : {}
290
+ }
291
+ }
292
+ );
293
+ 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)";
294
+ var dashedGridPattern = (fadeMask) => {
295
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
296
+ return /* @__PURE__ */ jsxRuntime.jsx(
297
+ "div",
298
+ {
299
+ className: "h-full w-full",
300
+ style: {
301
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
302
+ backgroundSize: "20px 20px",
303
+ backgroundPosition: "0 0, 0 0",
304
+ maskImage: mask,
305
+ WebkitMaskImage: mask,
306
+ maskComposite: "intersect",
307
+ WebkitMaskComposite: "source-in"
308
+ }
309
+ }
310
+ );
311
+ };
312
+ var gradientGlow = (position) => /* @__PURE__ */ jsxRuntime.jsx(
313
+ "div",
314
+ {
315
+ className: cn(
316
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
317
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
318
+ ),
319
+ style: {
320
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
321
+ }
322
+ }
323
+ );
324
+ var spotlight = (position) => /* @__PURE__ */ jsxRuntime.jsx(
325
+ "div",
326
+ {
327
+ className: cn(
328
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
329
+ position === "left" ? "-left-1/4" : "-right-1/4"
330
+ ),
331
+ style: {
332
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
333
+ }
334
+ }
335
+ );
336
+ var patternOverlays = {
337
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
338
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
339
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
340
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
341
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
342
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
343
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
344
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
345
+ dashedGridBasic: () => dashedGridPattern(),
346
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
347
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
348
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
349
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
350
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
351
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
352
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
353
+ diagonalCrossBasic: () => diagonalCrossPattern(),
354
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
355
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
356
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
357
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
358
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
359
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
360
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
361
+ gridBasic: () => gridPattern(40),
362
+ gridFadeTop: () => gridPattern(32, maskTop),
363
+ gridFadeBottom: () => gridPattern(32, maskBottom),
364
+ gridFadeCenter: () => gridPattern(40, maskCenter),
365
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
366
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
367
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
368
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
369
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
370
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
371
+ gradientGlowTop: () => gradientGlow("top"),
372
+ gradientGlowBottom: () => gradientGlow("bottom"),
373
+ spotlightLeft: () => spotlight("left"),
374
+ spotlightRight: () => spotlight("right")
375
+ };
376
+ var inlinePatternStyles = {
377
+ radialGradientTop: {
378
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
379
+ },
380
+ radialGradientBottom: {
381
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
382
+ }
383
+ };
384
+ function PatternBackground({
385
+ pattern,
386
+ opacity = 0.08,
387
+ className,
388
+ style
389
+ }) {
390
+ if (!pattern) {
391
+ return null;
392
+ }
393
+ if (pattern in inlinePatternStyles) {
394
+ const inlineStyle = inlinePatternStyles[pattern];
395
+ return /* @__PURE__ */ jsxRuntime.jsx(
396
+ "div",
397
+ {
398
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
399
+ style: { ...inlineStyle, opacity, ...style },
400
+ "aria-hidden": "true"
401
+ }
402
+ );
403
+ }
404
+ if (pattern in patternOverlays) {
405
+ const Overlay = patternOverlays[pattern];
406
+ return /* @__PURE__ */ jsxRuntime.jsx(
407
+ "div",
408
+ {
409
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
410
+ style: { opacity, ...style },
411
+ "aria-hidden": "true",
412
+ children: Overlay()
413
+ }
414
+ );
415
+ }
416
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
417
+ return /* @__PURE__ */ jsxRuntime.jsx(
418
+ "div",
419
+ {
420
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
421
+ style: {
422
+ backgroundImage: `url(${patternUrl})`,
423
+ backgroundRepeat: "repeat",
424
+ backgroundSize: "auto",
425
+ opacity,
426
+ ...style
427
+ },
428
+ "aria-hidden": "true"
429
+ }
430
+ );
431
+ }
432
+ var backgroundStyles = {
433
+ default: "bg-background text-foreground",
434
+ white: "bg-white text-dark",
435
+ gray: "bg-muted/30 text-foreground",
436
+ dark: "bg-foreground text-background",
437
+ transparent: "bg-transparent text-foreground",
438
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
439
+ primary: "bg-primary text-primary-foreground",
440
+ secondary: "bg-secondary text-secondary-foreground",
441
+ muted: "bg-muted text-muted-foreground"
442
+ };
443
+ var spacingStyles = {
444
+ none: "py-0 md:py-0",
445
+ sm: "py-12 md:py-16",
446
+ md: "py-16 md:py-24",
447
+ lg: "py-20 md:py-32",
448
+ xl: "py-24 md:py-40"
449
+ };
450
+ var Section = React__namespace.default.forwardRef(
451
+ ({
452
+ id,
453
+ title,
454
+ subtitle,
455
+ children,
456
+ className,
457
+ style,
458
+ background = "default",
459
+ spacing = "lg",
460
+ pattern,
461
+ patternOpacity,
462
+ patternClassName,
463
+ containerClassName,
464
+ containerMaxWidth = "xl",
465
+ ...props
466
+ }, ref) => {
467
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
468
+ return /* @__PURE__ */ jsxRuntime.jsxs(
469
+ "section",
470
+ {
471
+ ref,
472
+ id,
473
+ className: cn(
474
+ "relative",
475
+ pattern ? "overflow-hidden" : null,
476
+ backgroundStyles[background],
477
+ spacingStyles[spacing],
478
+ className
479
+ ),
480
+ style,
481
+ ...props,
482
+ children: [
483
+ /* @__PURE__ */ jsxRuntime.jsx(
484
+ PatternBackground,
485
+ {
486
+ pattern,
487
+ opacity: effectivePatternOpacity,
488
+ className: patternClassName
489
+ }
490
+ ),
491
+ /* @__PURE__ */ jsxRuntime.jsxs(
492
+ Container,
493
+ {
494
+ maxWidth: containerMaxWidth,
495
+ className: cn("relative z-10", containerClassName),
496
+ children: [
497
+ (title || subtitle) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
498
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
499
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
500
+ ] }),
501
+ children
502
+ ]
503
+ }
504
+ )
505
+ ]
506
+ }
507
+ );
508
+ }
509
+ );
510
+ Section.displayName = "Section";
138
511
  function ComparisonFeatureGrid({
139
512
  heading,
140
513
  description,
141
- optionALabel = "Our Solution",
142
- optionBLabel = "Alternative",
514
+ optionALabel,
515
+ optionBLabel,
143
516
  features,
144
517
  gridSlot,
145
518
  className,
@@ -148,9 +521,13 @@ function ComparisonFeatureGrid({
148
521
  descriptionClassName,
149
522
  gridWrapperClassName,
150
523
  gridHeaderClassName,
151
- gridRowClassName
524
+ gridRowClassName,
525
+ background = "white",
526
+ spacing = "xl",
527
+ pattern,
528
+ patternOpacity
152
529
  }) {
153
- const renderStatusIcon = (status) => {
530
+ const renderStatusIcon = React__namespace.useCallback((status) => {
154
531
  if (status === true) {
155
532
  return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 20, className: "text-success" });
156
533
  }
@@ -158,49 +535,100 @@ function ComparisonFeatureGrid({
158
535
  return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 20, className: "text-accent" });
159
536
  }
160
537
  return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", size: 20, className: "text-destructive" });
161
- };
162
- const renderGrid = () => {
538
+ }, []);
539
+ const gridContent = React__namespace.useMemo(() => {
163
540
  if (gridSlot) return gridSlot;
164
541
  if (!features || features.length === 0) return null;
165
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl divide-y divide-border overflow-x-auto rounded-lg border-border bg-background shadow", gridWrapperClassName), children: [
166
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("hidden rounded-t-lg bg-muted text-left text-base font-semibold text-foreground sm:flex", gridHeaderClassName), children: [
167
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-16 px-6 py-4" }),
168
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 px-6 py-4", children: "Feature" }),
169
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-40 px-6 py-4", children: optionALabel }),
170
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-40 px-6 py-4", children: optionBLabel })
171
- ] }),
172
- features.map((row, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
173
- "div",
174
- {
175
- className: cn("flex flex-col items-start text-left sm:flex-row sm:items-center", gridRowClassName),
176
- children: [
177
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-start px-6 pt-4 sm:w-16 sm:justify-center sm:py-4", children: [
178
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: row.icon, size: 20, className: "text-gray-500" }),
179
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-3 text-base font-medium sm:hidden", children: row.label })
180
- ] }),
181
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex-1 px-6 pb-2 sm:py-4", children: [
182
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden font-medium sm:block", children: row.label }),
183
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 mb-2 text-sm text-muted-foreground sm:mb-0", children: row.description })
184
- ] }),
185
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-start px-6 pb-2 sm:w-40 sm:justify-center sm:py-4", children: [
186
- renderStatusIcon(row.optionA),
187
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-xs font-medium text-muted-foreground sm:hidden", children: optionALabel })
188
- ] }),
189
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-start border-border px-6 pb-4 sm:w-40 sm:justify-center sm:border-0 sm:py-4", children: [
190
- renderStatusIcon(row.optionB),
191
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-xs font-medium text-muted-foreground sm:hidden", children: optionBLabel })
192
- ] })
193
- ]
194
- },
195
- idx
196
- ))
197
- ] });
198
- };
199
- return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
200
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
201
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
202
- renderGrid()
203
- ] }) });
542
+ return /* @__PURE__ */ jsxRuntime.jsxs(
543
+ "div",
544
+ {
545
+ className: cn(
546
+ "mx-auto max-w-4xl divide-y divide-border overflow-x-auto rounded-lg border-border bg-background shadow",
547
+ gridWrapperClassName
548
+ ),
549
+ children: [
550
+ (optionALabel || optionBLabel) && /* @__PURE__ */ jsxRuntime.jsxs(
551
+ "div",
552
+ {
553
+ className: cn(
554
+ "hidden rounded-t-lg bg-muted text-left text-base font-semibold text-foreground sm:flex",
555
+ gridHeaderClassName
556
+ ),
557
+ children: [
558
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-16 px-6 py-4" }),
559
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 px-6 py-4", children: "Feature" }),
560
+ optionALabel && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-40 px-6 py-4", children: optionALabel }),
561
+ optionBLabel && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-40 px-6 py-4", children: optionBLabel })
562
+ ]
563
+ }
564
+ ),
565
+ features.map((row, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
566
+ "div",
567
+ {
568
+ className: cn("flex flex-col items-start text-left sm:flex-row sm:items-center", gridRowClassName),
569
+ children: [
570
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-start px-6 pt-4 sm:w-16 sm:justify-center sm:py-4", children: [
571
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: row.icon, size: 20, className: "text-gray-500" }),
572
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-3 text-base font-medium sm:hidden", children: row.label })
573
+ ] }),
574
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex-1 px-6 pb-2 sm:py-4", children: [
575
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden font-medium sm:block", children: row.label }),
576
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 mb-2 text-sm text-muted-foreground sm:mb-0", children: row.description })
577
+ ] }),
578
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-start px-6 pb-2 sm:w-40 sm:justify-center sm:py-4", children: [
579
+ renderStatusIcon(row.optionA),
580
+ optionALabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-xs font-medium text-muted-foreground sm:hidden", children: optionALabel })
581
+ ] }),
582
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-start border-border px-6 pb-4 sm:w-40 sm:justify-center sm:border-0 sm:py-4", children: [
583
+ renderStatusIcon(row.optionB),
584
+ optionBLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-2 text-xs font-medium text-muted-foreground sm:hidden", children: optionBLabel })
585
+ ] })
586
+ ]
587
+ },
588
+ idx
589
+ ))
590
+ ]
591
+ }
592
+ );
593
+ }, [
594
+ gridSlot,
595
+ features,
596
+ gridWrapperClassName,
597
+ gridHeaderClassName,
598
+ gridRowClassName,
599
+ optionALabel,
600
+ optionBLabel,
601
+ renderStatusIcon
602
+ ]);
603
+ const headingContent = React__namespace.useMemo(() => {
604
+ if (!heading) return null;
605
+ if (typeof heading === "string") {
606
+ return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mb-4 text-center text-4xl font-semibold", headingClassName), children: heading });
607
+ }
608
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading });
609
+ }, [heading, headingClassName]);
610
+ const descriptionContent = React__namespace.useMemo(() => {
611
+ if (!description) return null;
612
+ if (typeof description === "string") {
613
+ return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-8 text-center text-muted-foreground", descriptionClassName), children: description });
614
+ }
615
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description });
616
+ }, [description, descriptionClassName]);
617
+ return /* @__PURE__ */ jsxRuntime.jsx(
618
+ Section,
619
+ {
620
+ background,
621
+ spacing,
622
+ className: cn(className),
623
+ pattern,
624
+ patternOpacity,
625
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
626
+ headingContent,
627
+ descriptionContent,
628
+ gridContent
629
+ ] })
630
+ }
631
+ );
204
632
  }
205
633
 
206
634
  exports.ComparisonFeatureGrid = ComparisonFeatureGrid;
@@ -1,4 +1,11 @@
1
1
  import * as React from 'react';
2
+ import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
3
+ import { SectionBackground, SectionSpacing } from './types.cjs';
4
+ import 'react/jsx-runtime';
5
+ import './blocks-Cohq4eio.cjs';
6
+ import 'class-variance-authority';
7
+ import './button-variants-lRElsmTc.cjs';
8
+ import 'class-variance-authority/types';
2
9
 
3
10
  /**
4
11
  * Feature status type
@@ -67,6 +74,22 @@ interface ComparisonFeatureGridProps {
67
74
  * Additional CSS classes for grid rows
68
75
  */
69
76
  gridRowClassName?: string;
77
+ /**
78
+ * Background style for the section
79
+ */
80
+ background?: SectionBackground;
81
+ /**
82
+ * Vertical spacing for the section
83
+ */
84
+ spacing?: SectionSpacing;
85
+ /**
86
+ * Optional background pattern name or URL
87
+ */
88
+ pattern?: PatternName | undefined;
89
+ /**
90
+ * Pattern overlay opacity (0-1)
91
+ */
92
+ patternOpacity?: number;
70
93
  }
71
94
  /**
72
95
  * ComparisonFeatureGrid - Feature grid with icons and status indicators
@@ -79,6 +102,6 @@ interface ComparisonFeatureGridProps {
79
102
  * Best for: Framework comparisons, library comparisons, detailed feature
80
103
  * matrices, technology stack evaluations.
81
104
  */
82
- declare function ComparisonFeatureGrid({ heading, description, optionALabel, optionBLabel, features, gridSlot, className, containerClassName, headingClassName, descriptionClassName, gridWrapperClassName, gridHeaderClassName, gridRowClassName, }: ComparisonFeatureGridProps): React.JSX.Element;
105
+ declare function ComparisonFeatureGrid({ heading, description, optionALabel, optionBLabel, features, gridSlot, className, containerClassName, headingClassName, descriptionClassName, gridWrapperClassName, gridHeaderClassName, gridRowClassName, background, spacing, pattern, patternOpacity, }: ComparisonFeatureGridProps): React.JSX.Element;
83
106
 
84
107
  export { ComparisonFeatureGrid, type ComparisonFeatureGridProps };
@@ -1,4 +1,11 @@
1
1
  import * as React from 'react';
2
+ import { P as PatternName } from './pattern-background-a7gKHzHy.js';
3
+ import { SectionBackground, SectionSpacing } from './types.js';
4
+ import 'react/jsx-runtime';
5
+ import './blocks-k17uluAz.js';
6
+ import 'class-variance-authority';
7
+ import './button-variants-lRElsmTc.js';
8
+ import 'class-variance-authority/types';
2
9
 
3
10
  /**
4
11
  * Feature status type
@@ -67,6 +74,22 @@ interface ComparisonFeatureGridProps {
67
74
  * Additional CSS classes for grid rows
68
75
  */
69
76
  gridRowClassName?: string;
77
+ /**
78
+ * Background style for the section
79
+ */
80
+ background?: SectionBackground;
81
+ /**
82
+ * Vertical spacing for the section
83
+ */
84
+ spacing?: SectionSpacing;
85
+ /**
86
+ * Optional background pattern name or URL
87
+ */
88
+ pattern?: PatternName | undefined;
89
+ /**
90
+ * Pattern overlay opacity (0-1)
91
+ */
92
+ patternOpacity?: number;
70
93
  }
71
94
  /**
72
95
  * ComparisonFeatureGrid - Feature grid with icons and status indicators
@@ -79,6 +102,6 @@ interface ComparisonFeatureGridProps {
79
102
  * Best for: Framework comparisons, library comparisons, detailed feature
80
103
  * matrices, technology stack evaluations.
81
104
  */
82
- declare function ComparisonFeatureGrid({ heading, description, optionALabel, optionBLabel, features, gridSlot, className, containerClassName, headingClassName, descriptionClassName, gridWrapperClassName, gridHeaderClassName, gridRowClassName, }: ComparisonFeatureGridProps): React.JSX.Element;
105
+ declare function ComparisonFeatureGrid({ heading, description, optionALabel, optionBLabel, features, gridSlot, className, containerClassName, headingClassName, descriptionClassName, gridWrapperClassName, gridHeaderClassName, gridRowClassName, background, spacing, pattern, patternOpacity, }: ComparisonFeatureGridProps): React.JSX.Element;
83
106
 
84
107
  export { ComparisonFeatureGrid, type ComparisonFeatureGridProps };