@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,10 @@
1
1
  "use client";
2
+ import * as React from 'react';
3
+ import React__default from 'react';
2
4
  import { useForm, Form, Field } from '@page-speed/forms';
3
5
  import { Select, TextInput as TextInput$1, Radio, TextArea as TextArea$1 } from '@page-speed/forms/inputs';
4
6
  import { clsx } from 'clsx';
5
7
  import { twMerge } from 'tailwind-merge';
6
- import * as React from 'react';
7
8
  import { cva } from 'class-variance-authority';
8
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
10
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
@@ -738,6 +739,379 @@ async function submitPageSpeedForm(values, config) {
738
739
  }
739
740
  return data;
740
741
  }
742
+ var maxWidthStyles = {
743
+ sm: "max-w-screen-sm",
744
+ md: "max-w-screen-md",
745
+ lg: "max-w-screen-lg",
746
+ xl: "max-w-7xl",
747
+ "2xl": "max-w-screen-2xl",
748
+ "4xl": "max-w-[1536px]",
749
+ full: "max-w-full"
750
+ };
751
+ var Container = React__default.forwardRef(
752
+ ({ children, maxWidth = "xl", className, as = "div", ...props }, ref) => {
753
+ const Component = as;
754
+ return /* @__PURE__ */ jsx(
755
+ Component,
756
+ {
757
+ ref,
758
+ className: cn(
759
+ "mx-auto w-full px-2 sm:px-4 lg:px-8",
760
+ maxWidthStyles[maxWidth],
761
+ className
762
+ ),
763
+ ...props,
764
+ children
765
+ }
766
+ );
767
+ }
768
+ );
769
+ Container.displayName = "Container";
770
+
771
+ // lib/patternSvgs.ts
772
+ var patternSvgs = {
773
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
774
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
775
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
776
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
777
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
778
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
779
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
780
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
781
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
782
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
783
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
784
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
785
+ };
786
+ var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
787
+ var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
788
+ var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
789
+ var maskTopLeft = "radial-gradient(ellipse 80% 80% at 0% 0%, #000 50%, transparent 90%)";
790
+ var maskTopRight = "radial-gradient(ellipse 80% 80% at 100% 0%, #000 50%, transparent 90%)";
791
+ var maskBottomLeft = "radial-gradient(ellipse 80% 80% at 0% 100%, #000 50%, transparent 90%)";
792
+ var maskBottomRight = "radial-gradient(ellipse 80% 80% at 100% 100%, #000 50%, transparent 90%)";
793
+ var circuitBoardPattern = (id, mask) => /* @__PURE__ */ jsxs(
794
+ "svg",
795
+ {
796
+ className: "h-full w-full",
797
+ xmlns: "http://www.w3.org/2000/svg",
798
+ style: mask ? {
799
+ maskImage: mask,
800
+ WebkitMaskImage: mask
801
+ } : void 0,
802
+ children: [
803
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
804
+ "pattern",
805
+ {
806
+ id,
807
+ x: "0",
808
+ y: "0",
809
+ width: "100",
810
+ height: "100",
811
+ patternUnits: "userSpaceOnUse",
812
+ children: [
813
+ /* @__PURE__ */ jsx(
814
+ "path",
815
+ {
816
+ d: "M0 50h40M60 50h40M50 0v40M50 60v40",
817
+ stroke: "hsl(var(--muted))",
818
+ strokeWidth: "1",
819
+ fill: "none"
820
+ }
821
+ ),
822
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "50", r: "3", fill: "hsl(var(--muted))" }),
823
+ /* @__PURE__ */ jsx("circle", { cx: "0", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
824
+ /* @__PURE__ */ jsx("circle", { cx: "100", cy: "50", r: "2", fill: "hsl(var(--muted))" }),
825
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "0", r: "2", fill: "hsl(var(--muted))" }),
826
+ /* @__PURE__ */ jsx("circle", { cx: "50", cy: "100", r: "2", fill: "hsl(var(--muted))" })
827
+ ]
828
+ }
829
+ ) }),
830
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
831
+ ]
832
+ }
833
+ );
834
+ var gridDotsPattern = (id, mask) => /* @__PURE__ */ jsxs(
835
+ "svg",
836
+ {
837
+ className: "h-full w-full",
838
+ xmlns: "http://www.w3.org/2000/svg",
839
+ style: mask ? {
840
+ maskImage: mask,
841
+ WebkitMaskImage: mask
842
+ } : void 0,
843
+ children: [
844
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
845
+ "pattern",
846
+ {
847
+ id,
848
+ x: "0",
849
+ y: "0",
850
+ width: "40",
851
+ height: "40",
852
+ patternUnits: "userSpaceOnUse",
853
+ children: [
854
+ /* @__PURE__ */ jsx(
855
+ "path",
856
+ {
857
+ d: "M0 20h40M20 0v40",
858
+ stroke: "hsl(var(--muted))",
859
+ strokeWidth: "0.5",
860
+ fill: "none"
861
+ }
862
+ ),
863
+ /* @__PURE__ */ jsx("circle", { cx: "20", cy: "20", r: "2", fill: "hsl(var(--muted))" })
864
+ ]
865
+ }
866
+ ) }),
867
+ /* @__PURE__ */ jsx("rect", { width: "100%", height: "100%", fill: `url(#${id})` })
868
+ ]
869
+ }
870
+ );
871
+ var gridPattern = (size, mask) => /* @__PURE__ */ jsx(
872
+ "div",
873
+ {
874
+ 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)]",
875
+ style: {
876
+ backgroundSize: `${size}px ${size}px`,
877
+ ...mask ? {
878
+ maskImage: mask,
879
+ WebkitMaskImage: mask
880
+ } : {}
881
+ }
882
+ }
883
+ );
884
+ var diagonalCrossPattern = (mask) => /* @__PURE__ */ jsx(
885
+ "div",
886
+ {
887
+ className: "h-full w-full",
888
+ style: {
889
+ 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)",
890
+ ...mask ? {
891
+ maskImage: mask,
892
+ WebkitMaskImage: mask
893
+ } : {}
894
+ }
895
+ }
896
+ );
897
+ 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)";
898
+ var dashedGridPattern = (fadeMask) => {
899
+ const mask = fadeMask ? `${dashedGridMaskBase}, ${fadeMask}` : dashedGridMaskBase;
900
+ return /* @__PURE__ */ jsx(
901
+ "div",
902
+ {
903
+ className: "h-full w-full",
904
+ style: {
905
+ backgroundImage: "linear-gradient(to right, hsl(var(--muted)) 1px, transparent 1px), linear-gradient(to bottom, hsl(var(--muted)) 1px, transparent 1px)",
906
+ backgroundSize: "20px 20px",
907
+ backgroundPosition: "0 0, 0 0",
908
+ maskImage: mask,
909
+ WebkitMaskImage: mask,
910
+ maskComposite: "intersect",
911
+ WebkitMaskComposite: "source-in"
912
+ }
913
+ }
914
+ );
915
+ };
916
+ var gradientGlow = (position) => /* @__PURE__ */ jsx(
917
+ "div",
918
+ {
919
+ className: cn(
920
+ "pointer-events-none absolute left-1/2 z-0 aspect-square w-3/4 -translate-x-1/2 rounded-full opacity-50 blur-3xl",
921
+ position === "top" ? "-top-1/4" : "-bottom-1/4"
922
+ ),
923
+ style: {
924
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
925
+ }
926
+ }
927
+ );
928
+ var spotlight = (position) => /* @__PURE__ */ jsx(
929
+ "div",
930
+ {
931
+ className: cn(
932
+ "pointer-events-none absolute top-1/2 z-0 aspect-square w-3/4 -translate-y-1/2 rounded-full opacity-40 blur-3xl",
933
+ position === "left" ? "-left-1/4" : "-right-1/4"
934
+ ),
935
+ style: {
936
+ background: "radial-gradient(circle, hsl(var(--primary)) 0%, transparent 70%)"
937
+ }
938
+ }
939
+ );
940
+ var patternOverlays = {
941
+ circuitBoardBasic: () => circuitBoardPattern("circuit-board-basic"),
942
+ circuitBoardFadeTop: () => circuitBoardPattern("circuit-board-fade-top", maskTop),
943
+ circuitBoardFadeBottom: () => circuitBoardPattern("circuit-board-fade-bottom", maskBottom),
944
+ circuitBoardFadeCenter: () => circuitBoardPattern("circuit-board-fade-center", maskCenter),
945
+ circuitBoardFadeTopLeft: () => circuitBoardPattern("circuit-board-fade-top-left", maskTopLeft),
946
+ circuitBoardFadeTopRight: () => circuitBoardPattern("circuit-board-fade-top-right", maskTopRight),
947
+ circuitBoardFadeBottomLeft: () => circuitBoardPattern("circuit-board-fade-bottom-left", maskBottomLeft),
948
+ circuitBoardFadeBottomRight: () => circuitBoardPattern("circuit-board-fade-bottom-right", maskBottomRight),
949
+ dashedGridBasic: () => dashedGridPattern(),
950
+ dashedGridFadeTop: () => dashedGridPattern(maskTop),
951
+ dashedGridFadeBottom: () => dashedGridPattern(maskBottom),
952
+ dashedGridFadeCenter: () => dashedGridPattern(maskCenter),
953
+ dashedGridFadeTopLeft: () => dashedGridPattern(maskTopLeft),
954
+ dashedGridFadeTopRight: () => dashedGridPattern(maskTopRight),
955
+ dashedGridFadeBottomLeft: () => dashedGridPattern(maskBottomLeft),
956
+ dashedGridFadeBottomRight: () => dashedGridPattern(maskBottomRight),
957
+ diagonalCrossBasic: () => diagonalCrossPattern(),
958
+ diagonalCrossFadeTop: () => diagonalCrossPattern(maskTop),
959
+ diagonalCrossFadeBottom: () => diagonalCrossPattern(maskBottom),
960
+ diagonalCrossFadeCenter: () => diagonalCrossPattern(maskCenter),
961
+ diagonalCrossFadeTopLeft: () => diagonalCrossPattern(maskTopLeft),
962
+ diagonalCrossFadeTopRight: () => diagonalCrossPattern(maskTopRight),
963
+ diagonalCrossFadeBottomLeft: () => diagonalCrossPattern(maskBottomLeft),
964
+ diagonalCrossFadeBottomRight: () => diagonalCrossPattern(maskBottomRight),
965
+ gridBasic: () => gridPattern(40),
966
+ gridFadeTop: () => gridPattern(32, maskTop),
967
+ gridFadeBottom: () => gridPattern(32, maskBottom),
968
+ gridFadeCenter: () => gridPattern(40, maskCenter),
969
+ gridFadeTopLeft: () => gridPattern(32, maskTopLeft),
970
+ gridFadeTopRight: () => gridPattern(32, maskTopRight),
971
+ gridFadeBottomLeft: () => gridPattern(32, maskBottomLeft),
972
+ gridFadeBottomRight: () => gridPattern(32, maskBottomRight),
973
+ gridDotsBasic: () => gridDotsPattern("grid-dots-basic"),
974
+ gridDotsFadeCenter: () => gridDotsPattern("grid-dots-fade-center", maskCenter),
975
+ gradientGlowTop: () => gradientGlow("top"),
976
+ gradientGlowBottom: () => gradientGlow("bottom"),
977
+ spotlightLeft: () => spotlight("left"),
978
+ spotlightRight: () => spotlight("right")
979
+ };
980
+ var inlinePatternStyles = {
981
+ radialGradientTop: {
982
+ background: "radial-gradient(125% 125% at 50% 10%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
983
+ },
984
+ radialGradientBottom: {
985
+ background: "radial-gradient(125% 125% at 50% 90%, hsl(var(--background)) 40%, hsl(var(--primary)) 100%)"
986
+ }
987
+ };
988
+ function PatternBackground({
989
+ pattern,
990
+ opacity = 0.08,
991
+ className,
992
+ style
993
+ }) {
994
+ if (!pattern) {
995
+ return null;
996
+ }
997
+ if (pattern in inlinePatternStyles) {
998
+ const inlineStyle = inlinePatternStyles[pattern];
999
+ return /* @__PURE__ */ jsx(
1000
+ "div",
1001
+ {
1002
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
1003
+ style: { ...inlineStyle, opacity, ...style },
1004
+ "aria-hidden": "true"
1005
+ }
1006
+ );
1007
+ }
1008
+ if (pattern in patternOverlays) {
1009
+ const Overlay = patternOverlays[pattern];
1010
+ return /* @__PURE__ */ jsx(
1011
+ "div",
1012
+ {
1013
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
1014
+ style: { opacity, ...style },
1015
+ "aria-hidden": "true",
1016
+ children: Overlay()
1017
+ }
1018
+ );
1019
+ }
1020
+ const patternUrl = pattern in patternSvgs ? patternSvgs[pattern] : pattern;
1021
+ return /* @__PURE__ */ jsx(
1022
+ "div",
1023
+ {
1024
+ className: cn("pointer-events-none absolute inset-0 z-0", className),
1025
+ style: {
1026
+ backgroundImage: `url(${patternUrl})`,
1027
+ backgroundRepeat: "repeat",
1028
+ backgroundSize: "auto",
1029
+ opacity,
1030
+ ...style
1031
+ },
1032
+ "aria-hidden": "true"
1033
+ }
1034
+ );
1035
+ }
1036
+ var backgroundStyles = {
1037
+ default: "bg-background text-foreground",
1038
+ white: "bg-white text-dark",
1039
+ gray: "bg-muted/30 text-foreground",
1040
+ dark: "bg-foreground text-background",
1041
+ transparent: "bg-transparent text-foreground",
1042
+ gradient: "bg-linear-to-br from-primary via-primary/90 to-foreground text-primary-foreground",
1043
+ primary: "bg-primary text-primary-foreground",
1044
+ secondary: "bg-secondary text-secondary-foreground",
1045
+ muted: "bg-muted text-muted-foreground"
1046
+ };
1047
+ var spacingStyles = {
1048
+ none: "py-0 md:py-0",
1049
+ sm: "py-12 md:py-16",
1050
+ md: "py-16 md:py-24",
1051
+ lg: "py-20 md:py-32",
1052
+ xl: "py-24 md:py-40"
1053
+ };
1054
+ var Section = React__default.forwardRef(
1055
+ ({
1056
+ id,
1057
+ title,
1058
+ subtitle,
1059
+ children,
1060
+ className,
1061
+ style,
1062
+ background = "default",
1063
+ spacing = "lg",
1064
+ pattern,
1065
+ patternOpacity,
1066
+ patternClassName,
1067
+ containerClassName,
1068
+ containerMaxWidth = "xl",
1069
+ ...props
1070
+ }, ref) => {
1071
+ const effectivePatternOpacity = patternOpacity !== void 0 ? patternOpacity : pattern ? 1 : 0;
1072
+ return /* @__PURE__ */ jsxs(
1073
+ "section",
1074
+ {
1075
+ ref,
1076
+ id,
1077
+ className: cn(
1078
+ "relative",
1079
+ pattern ? "overflow-hidden" : null,
1080
+ backgroundStyles[background],
1081
+ spacingStyles[spacing],
1082
+ className
1083
+ ),
1084
+ style,
1085
+ ...props,
1086
+ children: [
1087
+ /* @__PURE__ */ jsx(
1088
+ PatternBackground,
1089
+ {
1090
+ pattern,
1091
+ opacity: effectivePatternOpacity,
1092
+ className: patternClassName
1093
+ }
1094
+ ),
1095
+ /* @__PURE__ */ jsxs(
1096
+ Container,
1097
+ {
1098
+ maxWidth: containerMaxWidth,
1099
+ className: cn("relative z-10", containerClassName),
1100
+ children: [
1101
+ (title || subtitle) && /* @__PURE__ */ jsxs("div", { className: "mb-12 text-center md:mb-16", children: [
1102
+ subtitle && /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm font-semibold uppercase tracking-wider text-primary", children: subtitle }),
1103
+ title && /* @__PURE__ */ jsx("h2", { className: "text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", children: title })
1104
+ ] }),
1105
+ children
1106
+ ]
1107
+ }
1108
+ )
1109
+ ]
1110
+ }
1111
+ );
1112
+ }
1113
+ );
1114
+ Section.displayName = "Section";
741
1115
  var EVENT_TYPES = [
742
1116
  { value: "wedding", label: "Wedding" },
743
1117
  { value: "corporate", label: "Corporate Event" },
@@ -807,6 +1181,10 @@ function ContactCatering({
807
1181
  cardContentClassName,
808
1182
  formClassName,
809
1183
  submitClassName,
1184
+ background = "white",
1185
+ spacing = "xl",
1186
+ pattern,
1187
+ patternOpacity = 0.1,
810
1188
  formConfig,
811
1189
  onSubmit,
812
1190
  onSuccess,
@@ -882,7 +1260,7 @@ function ContactCatering({
882
1260
  const updated = current.includes(value) ? current.filter((v) => v !== value) : [...current, value];
883
1261
  form.setFieldValue("dietaryAccommodations", updated);
884
1262
  };
885
- const renderActions = () => {
1263
+ const actionsContent = React.useMemo(() => {
886
1264
  if (actionsSlot) return actionsSlot;
887
1265
  if (actions && actions.length > 0) {
888
1266
  return actions.map((action, index) => {
@@ -904,293 +1282,303 @@ function ContactCatering({
904
1282
  });
905
1283
  }
906
1284
  return null;
907
- };
908
- return /* @__PURE__ */ jsx("section", { className: cn("py-12", className), children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto w-full max-w-4xl px-4", containerClassName), children: [
909
- /* @__PURE__ */ jsxs("div", { className: cn("mb-10 text-center", headerClassName), children: [
910
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-3 text-3xl font-bold tracking-tight", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
911
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
912
- ] }),
913
- /* @__PURE__ */ jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsx(CardContent, { className: cn("p-6 lg:p-8", cardContentClassName), children: /* @__PURE__ */ jsxs(
914
- Form,
915
- {
916
- form,
917
- action: formConfig?.endpoint,
918
- method: formMethod,
919
- className: cn("space-y-8", formClassName),
920
- children: [
921
- /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
922
- /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: "Event Details" }),
923
- /* @__PURE__ */ jsx(Field, { name: "eventType", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
924
- /* @__PURE__ */ jsx(Label, { htmlFor: "event-type", children: "Event Type" }),
925
- /* @__PURE__ */ jsxs(
926
- Select,
927
- {
928
- ...field,
929
- id: "event-type",
930
- error: meta.touched && !!meta.error,
931
- "aria-label": "Event Type",
932
- children: [
933
- /* @__PURE__ */ jsx("option", { value: "", children: "Select event type" }),
934
- EVENT_TYPES.map((type) => /* @__PURE__ */ jsx("option", { value: type.value, children: type.label }, type.value))
935
- ]
936
- }
937
- )
938
- ] }) }),
939
- /* @__PURE__ */ jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [
940
- /* @__PURE__ */ jsx(Field, { name: "guestCount", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
941
- /* @__PURE__ */ jsx(Label, { htmlFor: "guest-count", children: "Number of Guests" }),
942
- /* @__PURE__ */ jsxs(
943
- Select,
944
- {
945
- ...field,
946
- id: "guest-count",
947
- error: meta.touched && !!meta.error,
948
- "aria-label": "Number of Guests",
949
- children: [
950
- /* @__PURE__ */ jsx("option", { value: "", children: "Select guest count" }),
951
- GUEST_COUNTS.map((count) => /* @__PURE__ */ jsx("option", { value: count.value, children: count.label }, count.value))
952
- ]
953
- }
954
- )
955
- ] }) }),
956
- /* @__PURE__ */ jsx(Field, { name: "eventDate", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
957
- /* @__PURE__ */ jsx(Label, { htmlFor: "event-date", children: "Event Date" }),
958
- /* @__PURE__ */ jsx(
959
- TextInput,
960
- {
961
- ...field,
962
- id: "event-date",
963
- type: "date",
964
- error: meta.touched && !!meta.error,
965
- "aria-label": "Event Date"
966
- }
967
- )
968
- ] }) })
969
- ] }),
970
- /* @__PURE__ */ jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [
971
- /* @__PURE__ */ jsx(Field, { name: "startTime", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
972
- /* @__PURE__ */ jsx(Label, { htmlFor: "start-time", children: "Start Time" }),
973
- /* @__PURE__ */ jsx(
974
- TextInput,
975
- {
976
- ...field,
977
- id: "start-time",
978
- type: "time",
979
- error: meta.touched && !!meta.error,
980
- "aria-label": "Start Time"
981
- }
982
- )
983
- ] }) }),
984
- /* @__PURE__ */ jsx(Field, { name: "endTime", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
985
- /* @__PURE__ */ jsx(Label, { htmlFor: "end-time", children: "End Time (Optional)" }),
986
- /* @__PURE__ */ jsx(
987
- TextInput,
1285
+ }, [actionsSlot, actions]);
1286
+ return /* @__PURE__ */ jsx(
1287
+ Section,
1288
+ {
1289
+ background,
1290
+ spacing,
1291
+ pattern,
1292
+ patternOpacity,
1293
+ className: cn("py-12", className),
1294
+ children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto w-full max-w-4xl px-4", containerClassName), children: [
1295
+ /* @__PURE__ */ jsxs("div", { className: cn("mb-10 text-center", headerClassName), children: [
1296
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("mb-3 text-3xl font-bold tracking-tight", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
1297
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("leading-relaxed text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
1298
+ ] }),
1299
+ /* @__PURE__ */ jsx(Card, { className: cardClassName, children: /* @__PURE__ */ jsx(CardContent, { className: cn("p-6 lg:p-8", cardContentClassName), children: /* @__PURE__ */ jsxs(
1300
+ Form,
1301
+ {
1302
+ form,
1303
+ action: formConfig?.endpoint,
1304
+ method: formMethod,
1305
+ className: cn("space-y-8", formClassName),
1306
+ children: [
1307
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
1308
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: "Event Details" }),
1309
+ /* @__PURE__ */ jsx(Field, { name: "eventType", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1310
+ /* @__PURE__ */ jsx(Label, { htmlFor: "event-type", children: "Event Type" }),
1311
+ /* @__PURE__ */ jsxs(
1312
+ Select,
1313
+ {
1314
+ ...field,
1315
+ id: "event-type",
1316
+ error: meta.touched && !!meta.error,
1317
+ "aria-label": "Event Type",
1318
+ children: [
1319
+ /* @__PURE__ */ jsx("option", { value: "", children: "Select event type" }),
1320
+ EVENT_TYPES.map((type) => /* @__PURE__ */ jsx("option", { value: type.value, children: type.label }, type.value))
1321
+ ]
1322
+ }
1323
+ )
1324
+ ] }) }),
1325
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [
1326
+ /* @__PURE__ */ jsx(Field, { name: "guestCount", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1327
+ /* @__PURE__ */ jsx(Label, { htmlFor: "guest-count", children: "Number of Guests" }),
1328
+ /* @__PURE__ */ jsxs(
1329
+ Select,
1330
+ {
1331
+ ...field,
1332
+ id: "guest-count",
1333
+ error: meta.touched && !!meta.error,
1334
+ "aria-label": "Number of Guests",
1335
+ children: [
1336
+ /* @__PURE__ */ jsx("option", { value: "", children: "Select guest count" }),
1337
+ GUEST_COUNTS.map((count) => /* @__PURE__ */ jsx("option", { value: count.value, children: count.label }, count.value))
1338
+ ]
1339
+ }
1340
+ )
1341
+ ] }) }),
1342
+ /* @__PURE__ */ jsx(Field, { name: "eventDate", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1343
+ /* @__PURE__ */ jsx(Label, { htmlFor: "event-date", children: "Event Date" }),
1344
+ /* @__PURE__ */ jsx(
1345
+ TextInput,
1346
+ {
1347
+ ...field,
1348
+ id: "event-date",
1349
+ type: "date",
1350
+ error: meta.touched && !!meta.error,
1351
+ "aria-label": "Event Date"
1352
+ }
1353
+ )
1354
+ ] }) })
1355
+ ] }),
1356
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [
1357
+ /* @__PURE__ */ jsx(Field, { name: "startTime", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1358
+ /* @__PURE__ */ jsx(Label, { htmlFor: "start-time", children: "Start Time" }),
1359
+ /* @__PURE__ */ jsx(
1360
+ TextInput,
1361
+ {
1362
+ ...field,
1363
+ id: "start-time",
1364
+ type: "time",
1365
+ error: meta.touched && !!meta.error,
1366
+ "aria-label": "Start Time"
1367
+ }
1368
+ )
1369
+ ] }) }),
1370
+ /* @__PURE__ */ jsx(Field, { name: "endTime", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1371
+ /* @__PURE__ */ jsx(Label, { htmlFor: "end-time", children: "End Time (Optional)" }),
1372
+ /* @__PURE__ */ jsx(
1373
+ TextInput,
1374
+ {
1375
+ ...field,
1376
+ id: "end-time",
1377
+ type: "time",
1378
+ error: meta.touched && !!meta.error,
1379
+ "aria-label": "End Time"
1380
+ }
1381
+ )
1382
+ ] }) })
1383
+ ] }),
1384
+ /* @__PURE__ */ jsx(Field, { name: "venue", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1385
+ /* @__PURE__ */ jsx(Label, { htmlFor: "venue", children: "Venue / Location" }),
1386
+ /* @__PURE__ */ jsx(
1387
+ TextInput,
1388
+ {
1389
+ ...field,
1390
+ id: "venue",
1391
+ placeholder: "Event venue or location",
1392
+ error: meta.touched && !!meta.error,
1393
+ "aria-label": "Venue"
1394
+ }
1395
+ )
1396
+ ] }) })
1397
+ ] }),
1398
+ /* @__PURE__ */ jsx(Separator, {}),
1399
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
1400
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: "Service Preferences" }),
1401
+ /* @__PURE__ */ jsx(Field, { name: "serviceStyle", children: ({ field }) => /* @__PURE__ */ jsx(
1402
+ Radio,
988
1403
  {
989
- ...field,
990
- id: "end-time",
991
- type: "time",
992
- error: meta.touched && !!meta.error,
993
- "aria-label": "End Time"
1404
+ name: "serviceStyle",
1405
+ label: "Service Style",
1406
+ value: field.value,
1407
+ onChange: field.onChange,
1408
+ options: SERVICE_STYLES,
1409
+ layout: "stacked",
1410
+ className: "space-y-2"
994
1411
  }
995
- )
996
- ] }) })
997
- ] }),
998
- /* @__PURE__ */ jsx(Field, { name: "venue", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
999
- /* @__PURE__ */ jsx(Label, { htmlFor: "venue", children: "Venue / Location" }),
1000
- /* @__PURE__ */ jsx(
1001
- TextInput,
1002
- {
1003
- ...field,
1004
- id: "venue",
1005
- placeholder: "Event venue or location",
1006
- error: meta.touched && !!meta.error,
1007
- "aria-label": "Venue"
1008
- }
1009
- )
1010
- ] }) })
1011
- ] }),
1012
- /* @__PURE__ */ jsx(Separator, {}),
1013
- /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
1014
- /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: "Service Preferences" }),
1015
- /* @__PURE__ */ jsx(Field, { name: "serviceStyle", children: ({ field }) => /* @__PURE__ */ jsx(
1016
- Radio,
1017
- {
1018
- name: "serviceStyle",
1019
- label: "Service Style",
1020
- value: field.value,
1021
- onChange: field.onChange,
1022
- options: SERVICE_STYLES,
1023
- layout: "stacked",
1024
- className: "space-y-2"
1025
- }
1026
- ) }),
1027
- /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
1028
- /* @__PURE__ */ jsx(Label, { children: "Cuisine Preferences (Optional)" }),
1029
- /* @__PURE__ */ jsx("div", { className: "grid gap-3 sm:grid-cols-2 md:grid-cols-3", children: CUISINES.map((cuisine) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1030
- /* @__PURE__ */ jsx(
1031
- Checkbox,
1032
- {
1033
- id: cuisine.id,
1034
- checked: form.values.cuisinePreferences.includes(
1035
- cuisine.id
1412
+ ) }),
1413
+ /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
1414
+ /* @__PURE__ */ jsx(Label, { children: "Cuisine Preferences (Optional)" }),
1415
+ /* @__PURE__ */ jsx("div", { className: "grid gap-3 sm:grid-cols-2 md:grid-cols-3", children: CUISINES.map((cuisine) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1416
+ /* @__PURE__ */ jsx(
1417
+ Checkbox,
1418
+ {
1419
+ id: cuisine.id,
1420
+ checked: form.values.cuisinePreferences.includes(
1421
+ cuisine.id
1422
+ ),
1423
+ onCheckedChange: () => toggleCuisinePreference(cuisine.id)
1424
+ }
1036
1425
  ),
1037
- onCheckedChange: () => toggleCuisinePreference(cuisine.id)
1038
- }
1039
- ),
1040
- /* @__PURE__ */ jsx(
1041
- Label,
1042
- {
1043
- htmlFor: cuisine.id,
1044
- className: "cursor-pointer font-normal",
1045
- children: cuisine.label
1046
- }
1047
- )
1048
- ] }, cuisine.id)) })
1049
- ] }),
1050
- /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
1051
- /* @__PURE__ */ jsx(Label, { children: "Dietary Accommodations (Optional)" }),
1052
- /* @__PURE__ */ jsx("div", { className: "grid gap-3 sm:grid-cols-2", children: DIETARY_OPTIONS.map((option) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1053
- /* @__PURE__ */ jsx(
1054
- Checkbox,
1055
- {
1056
- id: option.id,
1057
- checked: form.values.dietaryAccommodations.includes(
1058
- option.id
1426
+ /* @__PURE__ */ jsx(
1427
+ Label,
1428
+ {
1429
+ htmlFor: cuisine.id,
1430
+ className: "cursor-pointer font-normal",
1431
+ children: cuisine.label
1432
+ }
1433
+ )
1434
+ ] }, cuisine.id)) })
1435
+ ] }),
1436
+ /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
1437
+ /* @__PURE__ */ jsx(Label, { children: "Dietary Accommodations (Optional)" }),
1438
+ /* @__PURE__ */ jsx("div", { className: "grid gap-3 sm:grid-cols-2", children: DIETARY_OPTIONS.map((option) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1439
+ /* @__PURE__ */ jsx(
1440
+ Checkbox,
1441
+ {
1442
+ id: option.id,
1443
+ checked: form.values.dietaryAccommodations.includes(
1444
+ option.id
1445
+ ),
1446
+ onCheckedChange: () => toggleDietaryAccommodation(option.id)
1447
+ }
1059
1448
  ),
1060
- onCheckedChange: () => toggleDietaryAccommodation(option.id)
1061
- }
1062
- ),
1449
+ /* @__PURE__ */ jsx(
1450
+ Label,
1451
+ {
1452
+ htmlFor: option.id,
1453
+ className: "cursor-pointer font-normal",
1454
+ children: option.label
1455
+ }
1456
+ )
1457
+ ] }, option.id)) })
1458
+ ] }),
1459
+ /* @__PURE__ */ jsx(Field, { name: "budget", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1460
+ /* @__PURE__ */ jsx(Label, { htmlFor: "budget", children: "Budget Per Person (Optional)" }),
1461
+ /* @__PURE__ */ jsxs(
1462
+ Select,
1463
+ {
1464
+ ...field,
1465
+ id: "budget",
1466
+ error: meta.touched && !!meta.error,
1467
+ "aria-label": "Budget Per Person",
1468
+ children: [
1469
+ /* @__PURE__ */ jsx("option", { value: "", children: "Select budget range" }),
1470
+ BUDGET_RANGES.map((range) => /* @__PURE__ */ jsx("option", { value: range.value, children: range.label }, range.value))
1471
+ ]
1472
+ }
1473
+ )
1474
+ ] }) })
1475
+ ] }),
1476
+ /* @__PURE__ */ jsx(Separator, {}),
1477
+ /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
1478
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: "Your Information" }),
1479
+ /* @__PURE__ */ jsx(Field, { name: "name", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1480
+ /* @__PURE__ */ jsx(Label, { htmlFor: "name", children: "Full Name" }),
1481
+ /* @__PURE__ */ jsx(
1482
+ TextInput,
1483
+ {
1484
+ ...field,
1485
+ id: "name",
1486
+ placeholder: "John Doe",
1487
+ error: meta.touched && !!meta.error,
1488
+ "aria-label": "Full Name"
1489
+ }
1490
+ )
1491
+ ] }) }),
1492
+ /* @__PURE__ */ jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [
1493
+ /* @__PURE__ */ jsx(Field, { name: "email", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1494
+ /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email" }),
1495
+ /* @__PURE__ */ jsx(
1496
+ TextInput,
1497
+ {
1498
+ ...field,
1499
+ id: "email",
1500
+ type: "email",
1501
+ placeholder: "john@example.com",
1502
+ error: meta.touched && !!meta.error,
1503
+ "aria-label": "Email"
1504
+ }
1505
+ )
1506
+ ] }) }),
1507
+ /* @__PURE__ */ jsx(Field, { name: "phone", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1508
+ /* @__PURE__ */ jsx(Label, { htmlFor: "phone", children: "Phone" }),
1509
+ /* @__PURE__ */ jsx(
1510
+ TextInput,
1511
+ {
1512
+ ...field,
1513
+ id: "phone",
1514
+ type: "tel",
1515
+ placeholder: "+1 (555) 000-0000",
1516
+ error: meta.touched && !!meta.error,
1517
+ "aria-label": "Phone"
1518
+ }
1519
+ )
1520
+ ] }) })
1521
+ ] }),
1522
+ /* @__PURE__ */ jsx(Field, { name: "details", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1523
+ /* @__PURE__ */ jsx(Label, { htmlFor: "details", children: "Additional Details (Optional)" }),
1524
+ /* @__PURE__ */ jsx(
1525
+ TextArea,
1526
+ {
1527
+ ...field,
1528
+ id: "details",
1529
+ placeholder: "Tell us about your menu preferences, budget, or any special requirements...",
1530
+ rows: 4,
1531
+ error: meta.touched && !!meta.error,
1532
+ "aria-label": "Additional Details"
1533
+ }
1534
+ )
1535
+ ] }) }),
1536
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1537
+ /* @__PURE__ */ jsx(
1538
+ Checkbox,
1539
+ {
1540
+ id: "tasting",
1541
+ checked: form.values.tasting,
1542
+ onCheckedChange: (checked) => form.setFieldValue("tasting", checked === true)
1543
+ }
1544
+ ),
1545
+ /* @__PURE__ */ jsx(Label, { htmlFor: "tasting", className: "cursor-pointer font-normal", children: "I'm interested in scheduling a tasting" })
1546
+ ] })
1547
+ ] }),
1548
+ /* @__PURE__ */ jsx("div", { className: "rounded-lg border bg-muted/50 p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
1063
1549
  /* @__PURE__ */ jsx(
1064
- Label,
1550
+ DynamicIcon,
1065
1551
  {
1066
- htmlFor: option.id,
1067
- className: "cursor-pointer font-normal",
1068
- children: option.label
1552
+ name: "lucide/chef-hat",
1553
+ size: 20,
1554
+ className: "mt-0.5 text-muted-foreground"
1069
1555
  }
1070
- )
1071
- ] }, option.id)) })
1072
- ] }),
1073
- /* @__PURE__ */ jsx(Field, { name: "budget", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1074
- /* @__PURE__ */ jsx(Label, { htmlFor: "budget", children: "Budget Per Person (Optional)" }),
1075
- /* @__PURE__ */ jsxs(
1076
- Select,
1556
+ ),
1557
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
1558
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: "Custom Menus Available" }),
1559
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "We'll work with you to create a custom menu that perfectly fits your event and budget. Our team will contact you within 24 hours to discuss options." })
1560
+ ] })
1561
+ ] }) }),
1562
+ actionsSlot || actions && actions.length > 0 ? actionsContent : /* @__PURE__ */ jsxs(
1563
+ Pressable,
1077
1564
  {
1078
- ...field,
1079
- id: "budget",
1080
- error: meta.touched && !!meta.error,
1081
- "aria-label": "Budget Per Person",
1565
+ componentType: "button",
1566
+ type: "submit",
1567
+ className: cn("w-full", submitClassName),
1568
+ asButton: true,
1569
+ disabled: form.isSubmitting,
1082
1570
  children: [
1083
- /* @__PURE__ */ jsx("option", { value: "", children: "Select budget range" }),
1084
- BUDGET_RANGES.map((range) => /* @__PURE__ */ jsx("option", { value: range.value, children: range.label }, range.value))
1571
+ buttonIcon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/utensils", size: 16, className: "mr-2" }),
1572
+ buttonText
1085
1573
  ]
1086
1574
  }
1087
1575
  )
1088
- ] }) })
1089
- ] }),
1090
- /* @__PURE__ */ jsx(Separator, {}),
1091
- /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
1092
- /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: "Your Information" }),
1093
- /* @__PURE__ */ jsx(Field, { name: "name", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1094
- /* @__PURE__ */ jsx(Label, { htmlFor: "name", children: "Full Name" }),
1095
- /* @__PURE__ */ jsx(
1096
- TextInput,
1097
- {
1098
- ...field,
1099
- id: "name",
1100
- placeholder: "John Doe",
1101
- error: meta.touched && !!meta.error,
1102
- "aria-label": "Full Name"
1103
- }
1104
- )
1105
- ] }) }),
1106
- /* @__PURE__ */ jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [
1107
- /* @__PURE__ */ jsx(Field, { name: "email", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1108
- /* @__PURE__ */ jsx(Label, { htmlFor: "email", children: "Email" }),
1109
- /* @__PURE__ */ jsx(
1110
- TextInput,
1111
- {
1112
- ...field,
1113
- id: "email",
1114
- type: "email",
1115
- placeholder: "john@example.com",
1116
- error: meta.touched && !!meta.error,
1117
- "aria-label": "Email"
1118
- }
1119
- )
1120
- ] }) }),
1121
- /* @__PURE__ */ jsx(Field, { name: "phone", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1122
- /* @__PURE__ */ jsx(Label, { htmlFor: "phone", children: "Phone" }),
1123
- /* @__PURE__ */ jsx(
1124
- TextInput,
1125
- {
1126
- ...field,
1127
- id: "phone",
1128
- type: "tel",
1129
- placeholder: "+1 (555) 000-0000",
1130
- error: meta.touched && !!meta.error,
1131
- "aria-label": "Phone"
1132
- }
1133
- )
1134
- ] }) })
1135
- ] }),
1136
- /* @__PURE__ */ jsx(Field, { name: "details", children: ({ field, meta }) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
1137
- /* @__PURE__ */ jsx(Label, { htmlFor: "details", children: "Additional Details (Optional)" }),
1138
- /* @__PURE__ */ jsx(
1139
- TextArea,
1140
- {
1141
- ...field,
1142
- id: "details",
1143
- placeholder: "Tell us about your menu preferences, budget, or any special requirements...",
1144
- rows: 4,
1145
- error: meta.touched && !!meta.error,
1146
- "aria-label": "Additional Details"
1147
- }
1148
- )
1149
- ] }) }),
1150
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1151
- /* @__PURE__ */ jsx(
1152
- Checkbox,
1153
- {
1154
- id: "tasting",
1155
- checked: form.values.tasting,
1156
- onCheckedChange: (checked) => form.setFieldValue("tasting", checked === true)
1157
- }
1158
- ),
1159
- /* @__PURE__ */ jsx(Label, { htmlFor: "tasting", className: "cursor-pointer font-normal", children: "I'm interested in scheduling a tasting" })
1160
- ] })
1161
- ] }),
1162
- /* @__PURE__ */ jsx("div", { className: "rounded-lg border bg-muted/50 p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
1163
- /* @__PURE__ */ jsx(
1164
- DynamicIcon,
1165
- {
1166
- name: "lucide/chef-hat",
1167
- size: 20,
1168
- className: "mt-0.5 text-muted-foreground"
1169
- }
1170
- ),
1171
- /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
1172
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: "Custom Menus Available" }),
1173
- /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: "We'll work with you to create a custom menu that perfectly fits your event and budget. Our team will contact you within 24 hours to discuss options." })
1174
- ] })
1175
- ] }) }),
1176
- actionsSlot || actions && actions.length > 0 ? renderActions() : /* @__PURE__ */ jsxs(
1177
- Pressable,
1178
- {
1179
- componentType: "button",
1180
- type: "submit",
1181
- className: cn("w-full", submitClassName),
1182
- asButton: true,
1183
- disabled: form.isSubmitting,
1184
- children: [
1185
- buttonIcon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/utensils", size: 16, className: "mr-2" }),
1186
- buttonText
1187
- ]
1188
- }
1189
- )
1190
- ]
1191
- }
1192
- ) }) })
1193
- ] }) });
1576
+ ]
1577
+ }
1578
+ ) }) })
1579
+ ] })
1580
+ }
1581
+ );
1194
1582
  }
1195
1583
 
1196
1584
  export { ContactCatering };