@opensite/ui 0.8.9 → 0.9.1

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 (367) hide show
  1. package/dist/about-company-profile.cjs +32 -4
  2. package/dist/about-company-profile.js +32 -4
  3. package/dist/about-culture-tabs.cjs +38 -8
  4. package/dist/about-culture-tabs.js +38 -8
  5. package/dist/about-developer-profile.cjs +37 -5
  6. package/dist/about-developer-profile.js +37 -5
  7. package/dist/about-developer-story.cjs +31 -3
  8. package/dist/about-developer-story.js +31 -3
  9. package/dist/about-expandable-values.cjs +43 -9
  10. package/dist/about-expandable-values.js +43 -9
  11. package/dist/about-interactive-tabs.cjs +63 -4
  12. package/dist/about-interactive-tabs.js +63 -4
  13. package/dist/about-location-info-hero.cjs +28 -2
  14. package/dist/about-location-info-hero.js +28 -2
  15. package/dist/about-minimal-story.cjs +35 -4
  16. package/dist/about-minimal-story.js +35 -4
  17. package/dist/about-mission-dual-image.cjs +30 -2
  18. package/dist/about-mission-dual-image.js +30 -2
  19. package/dist/about-mission-features.cjs +36 -4
  20. package/dist/about-mission-features.js +36 -4
  21. package/dist/about-mission-principles.cjs +39 -6
  22. package/dist/about-mission-principles.js +39 -6
  23. package/dist/about-network-spotlight.cjs +33 -5
  24. package/dist/about-network-spotlight.js +33 -5
  25. package/dist/about-startup-team.cjs +47 -6
  26. package/dist/about-startup-team.js +47 -6
  27. package/dist/about-stats-showcase.cjs +31 -4
  28. package/dist/about-stats-showcase.js +31 -4
  29. package/dist/about-stats-sidebar.cjs +29 -3
  30. package/dist/about-stats-sidebar.js +29 -3
  31. package/dist/about-story-expertise.cjs +44 -8
  32. package/dist/about-story-expertise.js +44 -8
  33. package/dist/about-story-gallery.cjs +28 -1
  34. package/dist/about-story-gallery.js +28 -1
  35. package/dist/about-story-hero.cjs +36 -4
  36. package/dist/about-story-hero.js +36 -4
  37. package/dist/about-streamline-team.cjs +32 -4
  38. package/dist/about-streamline-team.js +32 -4
  39. package/dist/about-vision-gallery.cjs +32 -3
  40. package/dist/about-vision-gallery.js +32 -3
  41. package/dist/alternating-blocks.cjs +5 -1
  42. package/dist/alternating-blocks.js +5 -1
  43. package/dist/banner-announcement-dismissible.cjs +377 -1
  44. package/dist/banner-announcement-dismissible.d.cts +7 -1
  45. package/dist/banner-announcement-dismissible.d.ts +7 -1
  46. package/dist/banner-announcement-dismissible.js +378 -2
  47. package/dist/banner-countdown-sale.cjs +388 -8
  48. package/dist/banner-countdown-sale.d.cts +11 -1
  49. package/dist/banner-countdown-sale.d.ts +11 -1
  50. package/dist/banner-countdown-sale.js +379 -3
  51. package/dist/banner-delivery-countdown.cjs +377 -1
  52. package/dist/banner-delivery-countdown.d.cts +11 -1
  53. package/dist/banner-delivery-countdown.d.ts +11 -1
  54. package/dist/banner-delivery-countdown.js +378 -2
  55. package/dist/banner-event-promo.cjs +377 -1
  56. package/dist/banner-event-promo.d.cts +7 -1
  57. package/dist/banner-event-promo.d.ts +7 -1
  58. package/dist/banner-event-promo.js +378 -2
  59. package/dist/banner-floating-offer.cjs +379 -3
  60. package/dist/banner-floating-offer.d.cts +7 -1
  61. package/dist/banner-floating-offer.d.ts +7 -1
  62. package/dist/banner-floating-offer.js +380 -4
  63. package/dist/banner-gdpr-rights.cjs +398 -31
  64. package/dist/banner-gdpr-rights.d.cts +7 -1
  65. package/dist/banner-gdpr-rights.d.ts +7 -1
  66. package/dist/banner-gdpr-rights.js +399 -32
  67. package/dist/banner-privacy-notice.cjs +399 -32
  68. package/dist/banner-privacy-notice.d.cts +7 -1
  69. package/dist/banner-privacy-notice.d.ts +7 -1
  70. package/dist/banner-privacy-notice.js +400 -33
  71. package/dist/banner-promo-cta.cjs +382 -12
  72. package/dist/banner-promo-cta.d.cts +7 -1
  73. package/dist/banner-promo-cta.d.ts +7 -1
  74. package/dist/banner-promo-cta.js +383 -13
  75. package/dist/banner-social-follow.cjs +395 -28
  76. package/dist/banner-social-follow.d.cts +7 -1
  77. package/dist/banner-social-follow.d.ts +7 -1
  78. package/dist/banner-social-follow.js +396 -29
  79. package/dist/banner-survey-incentive.cjs +377 -1
  80. package/dist/banner-survey-incentive.d.cts +7 -1
  81. package/dist/banner-survey-incentive.d.ts +7 -1
  82. package/dist/banner-survey-incentive.js +378 -2
  83. package/dist/community-initiatives.cjs +43 -10
  84. package/dist/community-initiatives.js +43 -10
  85. package/dist/components.cjs +76 -36
  86. package/dist/components.js +76 -36
  87. package/dist/contact-floating-banner.cjs +378 -2
  88. package/dist/contact-floating-banner.d.cts +7 -1
  89. package/dist/contact-floating-banner.d.ts +7 -1
  90. package/dist/contact-floating-banner.js +379 -2
  91. package/dist/cta-accent-background.cjs +28 -1
  92. package/dist/cta-accent-background.js +28 -1
  93. package/dist/cta-app-download-newsletter.cjs +30 -2
  94. package/dist/cta-app-download-newsletter.js +30 -2
  95. package/dist/cta-documentation-links.cjs +28 -2
  96. package/dist/cta-documentation-links.js +28 -2
  97. package/dist/cta-feature-cards-grid.cjs +34 -3
  98. package/dist/cta-feature-cards-grid.js +34 -3
  99. package/dist/cta-feature-checklist.cjs +27 -1
  100. package/dist/cta-feature-checklist.js +27 -1
  101. package/dist/cta-feature-list.cjs +33 -2
  102. package/dist/cta-feature-list.js +33 -2
  103. package/dist/cta-gradient-logos-floating.cjs +28 -1
  104. package/dist/cta-gradient-logos-floating.js +28 -1
  105. package/dist/cta-minimal-separator.cjs +27 -1
  106. package/dist/cta-minimal-separator.js +27 -1
  107. package/dist/cta-platform-demo.cjs +28 -1
  108. package/dist/cta-platform-demo.js +28 -1
  109. package/dist/cta-simple-centered.cjs +28 -1
  110. package/dist/cta-simple-centered.js +28 -1
  111. package/dist/cta-split-gradient-image.cjs +28 -1
  112. package/dist/cta-split-gradient-image.js +28 -1
  113. package/dist/cta-split-image-logos.cjs +29 -2
  114. package/dist/cta-split-image-logos.js +29 -2
  115. package/dist/cta-split-image.cjs +29 -2
  116. package/dist/cta-split-image.js +29 -2
  117. package/dist/cta-stacked-cards.cjs +28 -1
  118. package/dist/cta-stacked-cards.js +28 -1
  119. package/dist/faq-badge-support.cjs +33 -5
  120. package/dist/faq-badge-support.js +33 -5
  121. package/dist/faq-bordered-badge.cjs +31 -3
  122. package/dist/faq-bordered-badge.js +31 -3
  123. package/dist/faq-card-categories.cjs +60 -4
  124. package/dist/faq-card-categories.js +60 -4
  125. package/dist/faq-categorized-sections.cjs +31 -3
  126. package/dist/faq-categorized-sections.js +31 -3
  127. package/dist/faq-centered-accordion.cjs +31 -3
  128. package/dist/faq-centered-accordion.js +31 -3
  129. package/dist/faq-gradient-categories.cjs +31 -3
  130. package/dist/faq-gradient-categories.js +31 -3
  131. package/dist/faq-icon-benefits.cjs +40 -5
  132. package/dist/faq-icon-benefits.js +40 -5
  133. package/dist/faq-muted-cards.cjs +29 -2
  134. package/dist/faq-muted-cards.js +29 -2
  135. package/dist/faq-numbered-grid.cjs +32 -3
  136. package/dist/faq-numbered-grid.js +32 -3
  137. package/dist/faq-numbered-list.cjs +32 -3
  138. package/dist/faq-numbered-list.js +32 -3
  139. package/dist/faq-profile-sidebar.cjs +36 -6
  140. package/dist/faq-profile-sidebar.js +36 -6
  141. package/dist/faq-sidebar-navigation.cjs +30 -3
  142. package/dist/faq-sidebar-navigation.js +30 -3
  143. package/dist/faq-simple-accordion.cjs +29 -2
  144. package/dist/faq-simple-accordion.js +29 -2
  145. package/dist/feature-accordion-image.cjs +28 -2
  146. package/dist/feature-accordion-image.js +28 -2
  147. package/dist/feature-badge-grid-six.cjs +27 -1
  148. package/dist/feature-badge-grid-six.js +27 -1
  149. package/dist/feature-bento-image-grid.cjs +27 -1
  150. package/dist/feature-bento-image-grid.js +27 -1
  151. package/dist/feature-bento-utilities.cjs +56 -4
  152. package/dist/feature-bento-utilities.js +56 -4
  153. package/dist/feature-capabilities-grid.cjs +29 -3
  154. package/dist/feature-capabilities-grid.js +29 -3
  155. package/dist/feature-card-grid-linked.cjs +29 -2
  156. package/dist/feature-card-grid-linked.js +29 -2
  157. package/dist/feature-carousel-progress.cjs +28 -2
  158. package/dist/feature-carousel-progress.js +28 -2
  159. package/dist/feature-category-image-cards.cjs +28 -2
  160. package/dist/feature-category-image-cards.js +28 -2
  161. package/dist/feature-checklist-image.cjs +30 -2
  162. package/dist/feature-checklist-image.js +30 -2
  163. package/dist/feature-checklist-three-column.cjs +35 -5
  164. package/dist/feature-checklist-three-column.js +35 -5
  165. package/dist/feature-icon-grid-accent.cjs +28 -2
  166. package/dist/feature-icon-grid-accent.js +28 -2
  167. package/dist/feature-icon-grid-bordered.cjs +9 -4
  168. package/dist/feature-icon-grid-bordered.js +9 -4
  169. package/dist/feature-icon-grid-muted.cjs +28 -2
  170. package/dist/feature-icon-grid-muted.js +28 -2
  171. package/dist/feature-icon-tabs-content.cjs +56 -5
  172. package/dist/feature-icon-tabs-content.js +56 -5
  173. package/dist/feature-image-cards-three-column.cjs +27 -1
  174. package/dist/feature-image-cards-three-column.js +27 -1
  175. package/dist/feature-integration-cards.cjs +28 -2
  176. package/dist/feature-integration-cards.js +28 -2
  177. package/dist/feature-pattern-grid-links.cjs +28 -2
  178. package/dist/feature-pattern-grid-links.js +28 -2
  179. package/dist/feature-utility-cards-grid.cjs +9 -4
  180. package/dist/feature-utility-cards-grid.js +9 -4
  181. package/dist/footer-comprehensive-links.cjs +231 -151
  182. package/dist/footer-comprehensive-links.js +231 -151
  183. package/dist/hero-ad-campaign-expert.cjs +24 -2
  184. package/dist/hero-ad-campaign-expert.js +24 -2
  185. package/dist/hero-adaptable-product-grid.cjs +27 -1
  186. package/dist/hero-adaptable-product-grid.js +27 -1
  187. package/dist/hero-ai-powered-carousel.cjs +27 -1
  188. package/dist/hero-ai-powered-carousel.js +27 -1
  189. package/dist/hero-announcement-badge.cjs +27 -1
  190. package/dist/hero-announcement-badge.js +27 -1
  191. package/dist/hero-architecture-fullscreen.cjs +50 -2
  192. package/dist/hero-architecture-fullscreen.js +50 -2
  193. package/dist/hero-badge-image-split.cjs +27 -1
  194. package/dist/hero-badge-image-split.js +27 -1
  195. package/dist/hero-business-carousel-dots.cjs +27 -1
  196. package/dist/hero-business-carousel-dots.js +27 -1
  197. package/dist/hero-centered-gradient-cta.cjs +28 -2
  198. package/dist/hero-centered-gradient-cta.js +28 -2
  199. package/dist/hero-centered-image-grid.cjs +27 -1
  200. package/dist/hero-centered-image-grid.js +27 -1
  201. package/dist/hero-centered-screenshot.cjs +50 -2
  202. package/dist/hero-centered-screenshot.js +50 -2
  203. package/dist/hero-coming-soon-countdown.cjs +37 -7
  204. package/dist/hero-coming-soon-countdown.js +37 -7
  205. package/dist/hero-community-survey-cta.cjs +27 -1
  206. package/dist/hero-community-survey-cta.js +27 -1
  207. package/dist/hero-conversation-intelligence.cjs +50 -2
  208. package/dist/hero-conversation-intelligence.js +50 -2
  209. package/dist/hero-conversion-video-play.cjs +55 -3
  210. package/dist/hero-conversion-video-play.js +55 -3
  211. package/dist/hero-creative-studio-stacked.cjs +28 -2
  212. package/dist/hero-creative-studio-stacked.js +28 -2
  213. package/dist/hero-crm-streamlined.cjs +27 -1
  214. package/dist/hero-crm-streamlined.js +27 -1
  215. package/dist/hero-customer-support-layered.cjs +51 -3
  216. package/dist/hero-customer-support-layered.js +51 -3
  217. package/dist/hero-dashed-border-features.cjs +27 -1
  218. package/dist/hero-dashed-border-features.js +27 -1
  219. package/dist/hero-design-showcase-logos.cjs +27 -1
  220. package/dist/hero-design-showcase-logos.js +27 -1
  221. package/dist/hero-design-system-3d.cjs +32 -2
  222. package/dist/hero-design-system-3d.js +32 -2
  223. package/dist/hero-developer-tools-code.cjs +27 -1
  224. package/dist/hero-developer-tools-code.js +27 -1
  225. package/dist/hero-digital-agency-fullscreen.cjs +33 -3
  226. package/dist/hero-digital-agency-fullscreen.js +33 -3
  227. package/dist/hero-ecommerce-product-showcase.cjs +32 -6
  228. package/dist/hero-ecommerce-product-showcase.js +32 -6
  229. package/dist/hero-enterprise-security.cjs +34 -4
  230. package/dist/hero-enterprise-security.js +34 -4
  231. package/dist/hero-event-registration.cjs +35 -5
  232. package/dist/hero-event-registration.js +35 -5
  233. package/dist/hero-feature-cards-grid.cjs +82 -4
  234. package/dist/hero-feature-cards-grid.js +82 -4
  235. package/dist/hero-gradient-avatars-rating.cjs +30 -4
  236. package/dist/hero-gradient-avatars-rating.js +30 -4
  237. package/dist/hero-gradient-client-focused.cjs +27 -1
  238. package/dist/hero-gradient-client-focused.js +27 -1
  239. package/dist/hero-grid-pattern-efficiency.cjs +28 -2
  240. package/dist/hero-grid-pattern-efficiency.js +28 -2
  241. package/dist/hero-grid-pattern-solutions.cjs +27 -1
  242. package/dist/hero-grid-pattern-solutions.js +27 -1
  243. package/dist/hero-image-left-content.cjs +27 -1
  244. package/dist/hero-image-left-content.js +27 -1
  245. package/dist/hero-innovation-image-grid.cjs +27 -1
  246. package/dist/hero-innovation-image-grid.js +27 -1
  247. package/dist/hero-logo-centered-screenshot.cjs +27 -1
  248. package/dist/hero-logo-centered-screenshot.js +27 -1
  249. package/dist/hero-marketplace-scattered-images.cjs +27 -1
  250. package/dist/hero-marketplace-scattered-images.js +27 -1
  251. package/dist/hero-mentorship-video-split.cjs +7 -3
  252. package/dist/hero-mentorship-video-split.js +7 -3
  253. package/dist/hero-minimal-centered-dark.cjs +55 -3
  254. package/dist/hero-minimal-centered-dark.js +55 -3
  255. package/dist/hero-mobile-app-download.cjs +34 -4
  256. package/dist/hero-mobile-app-download.js +34 -4
  257. package/dist/hero-newsletter-minimal.cjs +29 -3
  258. package/dist/hero-newsletter-minimal.js +29 -3
  259. package/dist/hero-overlay-cta-grid.cjs +33 -3
  260. package/dist/hero-overlay-cta-grid.js +33 -3
  261. package/dist/hero-pattern-badge-logos.cjs +28 -2
  262. package/dist/hero-pattern-badge-logos.js +28 -2
  263. package/dist/hero-pattern-logo-tech-stack.cjs +33 -3
  264. package/dist/hero-pattern-logo-tech-stack.js +33 -3
  265. package/dist/hero-platform-features-grid.cjs +28 -2
  266. package/dist/hero-platform-features-grid.js +28 -2
  267. package/dist/hero-portfolio-creative.cjs +29 -3
  268. package/dist/hero-portfolio-creative.js +29 -3
  269. package/dist/hero-pricing-comparison.cjs +52 -4
  270. package/dist/hero-pricing-comparison.js +52 -4
  271. package/dist/hero-product-showcase-floating.cjs +34 -4
  272. package/dist/hero-product-showcase-floating.js +34 -4
  273. package/dist/hero-productivity-launcher-video.cjs +29 -3
  274. package/dist/hero-productivity-launcher-video.js +29 -3
  275. package/dist/hero-saas-dashboard-preview.cjs +34 -4
  276. package/dist/hero-saas-dashboard-preview.js +34 -4
  277. package/dist/hero-shared-inbox-layered.cjs +51 -3
  278. package/dist/hero-shared-inbox-layered.js +51 -3
  279. package/dist/hero-simple-centered-image.cjs +27 -1
  280. package/dist/hero-simple-centered-image.js +27 -1
  281. package/dist/hero-software-growth-video-dialog.cjs +50 -2
  282. package/dist/hero-software-growth-video-dialog.js +50 -2
  283. package/dist/hero-spiral-pattern-cards.cjs +28 -2
  284. package/dist/hero-spiral-pattern-cards.js +28 -2
  285. package/dist/hero-split-icon-cards.cjs +34 -4
  286. package/dist/hero-split-icon-cards.js +34 -4
  287. package/dist/hero-split-image-newsletter.cjs +28 -2
  288. package/dist/hero-split-image-newsletter.js +28 -2
  289. package/dist/hero-split-spiral-shapes.cjs +28 -2
  290. package/dist/hero-split-spiral-shapes.js +28 -2
  291. package/dist/hero-startup-launch-cta.cjs +28 -2
  292. package/dist/hero-startup-launch-cta.js +28 -2
  293. package/dist/hero-stats-social-proof.cjs +34 -4
  294. package/dist/hero-stats-social-proof.js +34 -4
  295. package/dist/hero-tech-carousel.cjs +27 -1
  296. package/dist/hero-tech-carousel.js +27 -1
  297. package/dist/hero-ui-library-showcase.cjs +27 -1
  298. package/dist/hero-ui-library-showcase.js +27 -1
  299. package/dist/hero-video-background-dark.cjs +28 -2
  300. package/dist/hero-video-background-dark.js +28 -2
  301. package/dist/hero-video-dialog-gradient.cjs +27 -1
  302. package/dist/hero-video-dialog-gradient.js +27 -1
  303. package/dist/hero-welcome-asymmetric-images.cjs +30 -2
  304. package/dist/hero-welcome-asymmetric-images.js +30 -2
  305. package/dist/index.cjs +104 -36
  306. package/dist/index.d.cts +1 -1
  307. package/dist/index.d.ts +1 -1
  308. package/dist/index.js +102 -37
  309. package/dist/link-page-bento-layout.cjs +57 -28
  310. package/dist/link-page-bento-layout.d.cts +1 -5
  311. package/dist/link-page-bento-layout.d.ts +1 -5
  312. package/dist/link-page-bento-layout.js +57 -28
  313. package/dist/link-page-grid-cards.cjs +52 -23
  314. package/dist/link-page-grid-cards.d.cts +1 -5
  315. package/dist/link-page-grid-cards.d.ts +1 -5
  316. package/dist/link-page-grid-cards.js +52 -23
  317. package/dist/link-page-minimal-profile.cjs +46 -18
  318. package/dist/link-page-minimal-profile.d.cts +1 -5
  319. package/dist/link-page-minimal-profile.d.ts +1 -5
  320. package/dist/link-page-minimal-profile.js +46 -18
  321. package/dist/link-page-newsletter-social.cjs +53 -28
  322. package/dist/link-page-newsletter-social.d.cts +1 -5
  323. package/dist/link-page-newsletter-social.d.ts +1 -5
  324. package/dist/link-page-newsletter-social.js +53 -28
  325. package/dist/link-tree-block.cjs +122 -34
  326. package/dist/link-tree-block.d.cts +1 -8
  327. package/dist/link-tree-block.d.ts +1 -8
  328. package/dist/link-tree-block.js +122 -34
  329. package/dist/media-hover-ctas.cjs +28 -2
  330. package/dist/media-hover-ctas.js +28 -2
  331. package/dist/process-expandable-timeline.cjs +66 -10
  332. package/dist/process-expandable-timeline.js +66 -10
  333. package/dist/process-hover-cards.cjs +39 -6
  334. package/dist/process-hover-cards.js +39 -6
  335. package/dist/process-icon-timeline.cjs +53 -3
  336. package/dist/process-icon-timeline.js +53 -3
  337. package/dist/process-mission-principles.cjs +44 -6
  338. package/dist/process-mission-principles.js +44 -6
  339. package/dist/process-numbered-services.cjs +76 -22
  340. package/dist/process-numbered-services.js +76 -22
  341. package/dist/process-roadmap-timeline.cjs +63 -9
  342. package/dist/process-roadmap-timeline.js +63 -9
  343. package/dist/process-scroll-image.cjs +71 -32
  344. package/dist/process-scroll-image.js +71 -32
  345. package/dist/process-steps-grid.cjs +61 -5
  346. package/dist/process-steps-grid.js +61 -5
  347. package/dist/process-sticky-steps.cjs +49 -69
  348. package/dist/process-sticky-steps.d.cts +1 -13
  349. package/dist/process-sticky-steps.d.ts +1 -13
  350. package/dist/process-sticky-steps.js +49 -69
  351. package/dist/project-zigzag-layout.cjs +379 -3
  352. package/dist/project-zigzag-layout.d.cts +8 -1
  353. package/dist/project-zigzag-layout.d.ts +8 -1
  354. package/dist/project-zigzag-layout.js +380 -3
  355. package/dist/registry.cjs +2759 -2476
  356. package/dist/registry.js +2759 -2476
  357. package/dist/team-media-showcase.cjs +59 -4
  358. package/dist/team-media-showcase.d.cts +4 -0
  359. package/dist/team-media-showcase.d.ts +4 -0
  360. package/dist/team-media-showcase.js +59 -4
  361. package/dist/testimonials-carousel-image.d.cts +6 -0
  362. package/dist/testimonials-carousel-image.d.ts +6 -0
  363. package/dist/utils.cjs +58 -0
  364. package/dist/utils.d.cts +113 -1
  365. package/dist/utils.d.ts +113 -1
  366. package/dist/utils.js +56 -1
  367. package/package.json +1 -1
@@ -3,6 +3,7 @@ import { Img } from '@page-speed/img';
3
3
  import { clsx } from 'clsx';
4
4
  import { twMerge } from 'tailwind-merge';
5
5
  import * as React from 'react';
6
+ import React__default from 'react';
6
7
  import { jsx, jsxs } from 'react/jsx-runtime';
7
8
  import { cva } from 'class-variance-authority';
8
9
  import { Slot } from '@radix-ui/react-slot';
@@ -589,14 +590,390 @@ function CardContent({ className, ...props }) {
589
590
  }
590
591
  );
591
592
  }
593
+ var maxWidthStyles = {
594
+ sm: "max-w-screen-sm",
595
+ md: "max-w-screen-md",
596
+ lg: "max-w-screen-lg",
597
+ xl: "max-w-7xl",
598
+ "2xl": "max-w-screen-2xl",
599
+ "4xl": "max-w-[1536px]",
600
+ full: "max-w-full"
601
+ };
602
+ var Container = React__default.forwardRef(
603
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
604
+ const Component = as;
605
+ return /* @__PURE__ */ jsx(
606
+ Component,
607
+ {
608
+ ref,
609
+ className: cn(
610
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
611
+ maxWidthStyles[maxWidth],
612
+ className
613
+ ),
614
+ ...props,
615
+ children
616
+ }
617
+ );
618
+ }
619
+ );
620
+ Container.displayName = "Container";
621
+
622
+ // lib/patternSvgs.ts
623
+ var patternSvgs = {
624
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
625
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
626
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
627
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
628
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
629
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
630
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
631
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
632
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
633
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
634
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
635
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
636
+ };
637
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
638
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
639
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
640
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
641
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
642
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
643
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
644
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxs(
645
+ "svg",
646
+ {
647
+ className: "h-full w-full",
648
+ xmlns: "http://www.w3.org/2000/svg",
649
+ style: mask ? {
650
+ maskImage: mask,
651
+ WebkitMaskImage: mask
652
+ } : void 0,
653
+ children: [
654
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
655
+ "pattern",
656
+ {
657
+ id,
658
+ x: "0",
659
+ y: "0",
660
+ width: "100",
661
+ height: "100",
662
+ patternUnits: "userSpaceOnUse",
663
+ children: [
664
+ /* @__PURE__ */ jsx(
665
+ "path",
666
+ {
667
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
668
+ stroke: "hsl(var(--muted))",
669
+ strokeWidth: "1",
670
+ fill: "none"
671
+ }
672
+ ),
673
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
674
+ /* @__PURE__ */ jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
675
+ /* @__PURE__ */ jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
676
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
677
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
678
+ ]
679
+ }
680
+ ) }),
681
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
682
+ ]
683
+ }
684
+ );
685
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxs(
686
+ "svg",
687
+ {
688
+ className: "h-full w-full",
689
+ xmlns: "http://www.w3.org/2000/svg",
690
+ style: mask ? {
691
+ maskImage: mask,
692
+ WebkitMaskImage: mask
693
+ } : void 0,
694
+ children: [
695
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
696
+ "pattern",
697
+ {
698
+ id,
699
+ x: "0",
700
+ y: "0",
701
+ width: "40",
702
+ height: "40",
703
+ patternUnits: "userSpaceOnUse",
704
+ children: [
705
+ /* @__PURE__ */ jsx(
706
+ "path",
707
+ {
708
+ d: "M0 20h40M20 0v40",
709
+ stroke: "hsl(var(--muted))",
710
+ strokeWidth: "0.5",
711
+ fill: "none"
712
+ }
713
+ ),
714
+ /* @__PURE__ */ jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
715
+ ]
716
+ }
717
+ ) }),
718
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
719
+ ]
720
+ }
721
+ );
722
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsx(
723
+ "div",
724
+ {
725
+ 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)]",
726
+ style: {
727
+ backgroundSize: `${size}px ${size}px`,
728
+ ...mask ? {
729
+ maskImage: mask,
730
+ WebkitMaskImage: mask
731
+ } : {}
732
+ }
733
+ }
734
+ );
735
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsx(
736
+ "div",
737
+ {
738
+ className: "h-full w-full",
739
+ style: {
740
+ 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)",
741
+ ...mask ? {
742
+ maskImage: mask,
743
+ WebkitMaskImage: mask
744
+ } : {}
745
+ }
746
+ }
747
+ );
748
+ 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)";
749
+ var dashedGridPattern = (fadeMask) => {
750
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
751
+ return /* @__PURE__ */ jsx(
752
+ "div",
753
+ {
754
+ className: "h-full w-full",
755
+ style: {
756
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
757
+ backgroundSize: "20px 20px",
758
+ backgroundPosition: "0 0, 0 0",
759
+ maskImage: mask,
760
+ WebkitMaskImage: mask,
761
+ maskComposite: "intersect",
762
+ WebkitMaskComposite: "source-in"
763
+ }
764
+ }
765
+ );
766
+ };
767
+ var gradientGlow = (position) => /* @__PURE__ */ jsx(
768
+ "div",
769
+ {
770
+ className: cn(
771
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
772
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
773
+ ),
774
+ style: {
775
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
776
+ }
777
+ }
778
+ );
779
+ var spotlight = (position) => /* @__PURE__ */ jsx(
780
+ "div",
781
+ {
782
+ className: cn(
783
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
784
+ position === "left" ? "-left-1/4" : "-right-1/4"
785
+ ),
786
+ style: {
787
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
788
+ }
789
+ }
790
+ );
791
+ var patternOverlays = {
792
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
793
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
794
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
795
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
796
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
797
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
798
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
799
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
800
+ dashedGridBasic: () => dashedGridPattern(),
801
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
802
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
803
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
804
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
805
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
806
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
807
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
808
+ diagonalCrossBasic: () => diagonalCrossPattern(),
809
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
810
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
811
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
812
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
813
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
814
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
815
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
816
+ gridBasic: () => gridPattern(40),
817
+ gridFadeTop: () => gridPattern(32, maskTop),
818
+ gridFadeBottom: () => gridPattern(32, maskBottom),
819
+ gridFadeCenter: () => gridPattern(40, maskCenter),
820
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
821
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
822
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
823
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
824
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
825
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
826
+ gradientGlowTop: () => gradientGlow("top"),
827
+ gradientGlowBottom: () => gradientGlow("bottom"),
828
+ spotlightLeft: () => spotlight("left"),
829
+ spotlightRight: () => spotlight("right")
830
+ };
831
+ var inlinePatternStyles = {
832
+ radialGradientTop: {
833
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
834
+ },
835
+ radialGradientBottom: {
836
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
837
+ }
838
+ };
839
+ function PatternBackground({
840
+ pattern,
841
+ opacity = 0.08,
842
+ className,
843
+ style
844
+ }) {
845
+ if (!pattern) {
846
+ return null;
847
+ }
848
+ if (pattern in inlinePatternStyles) {
849
+ const inlineStyle = inlinePatternStyles[pattern];
850
+ return /* @__PURE__ */ jsx(
851
+ "div",
852
+ {
853
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
854
+ style: { ...inlineStyle, opacity, ...style },
855
+ "aria-hidden": "true"
856
+ }
857
+ );
858
+ }
859
+ if (pattern in patternOverlays) {
860
+ const Overlay = patternOverlays[pattern];
861
+ return /* @__PURE__ */ jsx(
862
+ "div",
863
+ {
864
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
865
+ style: { opacity, ...style },
866
+ "aria-hidden": "true",
867
+ children: Overlay()
868
+ }
869
+ );
870
+ }
871
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
872
+ return /* @__PURE__ */ jsx(
873
+ "div",
874
+ {
875
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
876
+ style: {
877
+ backgroundImage: `url(${patternUrl})`,
878
+ backgroundRepeat: "repeat",
879
+ backgroundSize: "auto",
880
+ opacity,
881
+ ...style
882
+ },
883
+ "aria-hidden": "true"
884
+ }
885
+ );
886
+ }
887
+ var backgroundStyles = {
888
+ default: "bg-background text-foreground",
889
+ white: "bg-white text-dark",
890
+ gray: "bg-muted/30 text-foreground",
891
+ dark: "bg-foreground text-background",
892
+ transparent: "bg-transparent text-foreground",
893
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
894
+ primary: "bg-primary text-primary-foreground",
895
+ secondary: "bg-secondary text-secondary-foreground",
896
+ muted: "bg-muted text-muted-foreground"
897
+ };
898
+ var spacingStyles = {
899
+ none: "py-0 md:py-0",
900
+ sm: "py-12 md:py-16",
901
+ md: "py-16 md:py-24",
902
+ lg: "py-20 md:py-32",
903
+ xl: "py-24 md:py-40"
904
+ };
905
+ var predefinedSpacings = ["none", "sm", "md", "lg", "xl"];
906
+ var isPredefinedSpacing = (spacing) => predefinedSpacings.includes(spacing);
907
+ var Section = React__default.forwardRef(
908
+ ({
909
+ id,
910
+ title,
911
+ subtitle,
912
+ children,
913
+ className,
914
+ style,
915
+ background = "default",
916
+ spacing = "lg",
917
+ pattern,
918
+ patternOpacity,
919
+ patternClassName,
920
+ containerClassName,
921
+ containerMaxWidth = "xl",
922
+ ...props
923
+ }, ref) => {
924
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
925
+ return /* @__PURE__ */ jsxs(
926
+ "section",
927
+ {
928
+ ref,
929
+ id,
930
+ className: cn(
931
+ "relative",
932
+ pattern ? "overflow-hidden" : null,
933
+ backgroundStyles[background],
934
+ isPredefinedSpacing(spacing) ? spacingStyles[spacing] : spacing,
935
+ className
936
+ ),
937
+ style,
938
+ ...props,
939
+ children: [
940
+ /* @__PURE__ */ jsx(
941
+ PatternBackground,
942
+ {
943
+ pattern,
944
+ opacity: effectivePatternOpacity,
945
+ className: patternClassName
946
+ }
947
+ ),
948
+ /* @__PURE__ */ jsxs(
949
+ Container,
950
+ {
951
+ maxWidth: containerMaxWidth,
952
+ className: cn("relative z-10", containerClassName),
953
+ children: [
954
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-6 text-center md:mb-16", children: [
955
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
956
+ title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
957
+ ] }),
958
+ children
959
+ ]
960
+ }
961
+ )
962
+ ]
963
+ }
964
+ );
965
+ }
966
+ );
967
+ Section.displayName = "Section";
592
968
  function ProjectZigzagLayout({
593
969
  className,
594
970
  heading,
595
971
  subheading,
596
972
  projects,
597
- optixFlowConfig
973
+ optixFlowConfig,
974
+ background = "default"
598
975
  }) {
599
- return /* @__PURE__ */ jsx("div", { className: cn("bg-background py-16 md:py-24", className), children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4 2xl:max-w-[1400px]", children: [
976
+ return /* @__PURE__ */ jsxs(Section, { background, spacing: "lg", className, children: [
600
977
  /* @__PURE__ */ jsxs("div", { className: "mb-16 text-center md:mb-24", children: [
601
978
  /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight sm:text-4xl md:text-5xl", children: heading }),
602
979
  /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mx-auto mt-4 max-w-2xl", children: subheading })
@@ -655,7 +1032,7 @@ function ProjectZigzagLayout({
655
1032
  },
656
1033
  project.id
657
1034
  )) })
658
- ] }) });
1035
+ ] });
659
1036
  }
660
1037
 
661
1038
  export { ProjectZigzagLayout };