@opensite/ui 2.0.2 → 2.0.4

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 (75) hide show
  1. package/dist/hero-ai-powered-carousel.cjs +152 -77
  2. package/dist/hero-ai-powered-carousel.d.cts +5 -13
  3. package/dist/hero-ai-powered-carousel.d.ts +5 -13
  4. package/dist/hero-ai-powered-carousel.js +152 -77
  5. package/dist/hero-announcement-badge.cjs +679 -665
  6. package/dist/hero-announcement-badge.d.cts +1 -1
  7. package/dist/hero-announcement-badge.d.ts +1 -1
  8. package/dist/hero-announcement-badge.js +689 -675
  9. package/dist/hero-badge-shadow-overlay.cjs +79 -32
  10. package/dist/hero-badge-shadow-overlay.js +80 -33
  11. package/dist/hero-centered-image-grid.cjs +106 -95
  12. package/dist/hero-centered-image-grid.d.cts +2 -14
  13. package/dist/hero-centered-image-grid.d.ts +2 -14
  14. package/dist/hero-centered-image-grid.js +106 -95
  15. package/dist/hero-community-survey-cta.cjs +149 -58
  16. package/dist/hero-community-survey-cta.d.cts +1 -1
  17. package/dist/hero-community-survey-cta.d.ts +1 -1
  18. package/dist/hero-community-survey-cta.js +149 -58
  19. package/dist/hero-design-carousel-portfolio.cjs +158 -66
  20. package/dist/hero-design-carousel-portfolio.d.cts +7 -11
  21. package/dist/hero-design-carousel-portfolio.d.ts +7 -11
  22. package/dist/hero-design-carousel-portfolio.js +158 -66
  23. package/dist/hero-event-registration.cjs +765 -718
  24. package/dist/hero-event-registration.js +761 -714
  25. package/dist/hero-fullscreen-background-image.cjs +746 -649
  26. package/dist/hero-fullscreen-background-image.d.cts +12 -4
  27. package/dist/hero-fullscreen-background-image.d.ts +12 -4
  28. package/dist/hero-fullscreen-background-image.js +746 -649
  29. package/dist/hero-fullscreen-logo-cta.cjs +89 -31
  30. package/dist/hero-fullscreen-logo-cta.js +89 -31
  31. package/dist/hero-gradient-avatars-rating.cjs +847 -816
  32. package/dist/hero-gradient-avatars-rating.d.cts +1 -13
  33. package/dist/hero-gradient-avatars-rating.d.ts +1 -13
  34. package/dist/hero-gradient-avatars-rating.js +844 -813
  35. package/dist/hero-gradient-client-focused.cjs +690 -629
  36. package/dist/hero-gradient-client-focused.d.cts +1 -1
  37. package/dist/hero-gradient-client-focused.d.ts +1 -1
  38. package/dist/hero-gradient-client-focused.js +689 -628
  39. package/dist/hero-grid-pattern-efficiency.cjs +59 -47
  40. package/dist/hero-grid-pattern-efficiency.d.cts +1 -8
  41. package/dist/hero-grid-pattern-efficiency.d.ts +1 -8
  42. package/dist/hero-grid-pattern-efficiency.js +59 -47
  43. package/dist/hero-logo-centered-screenshot.cjs +1 -1
  44. package/dist/hero-logo-centered-screenshot.js +1 -1
  45. package/dist/hero-marketplace-scattered-images.cjs +2 -6
  46. package/dist/hero-marketplace-scattered-images.d.cts +1 -4
  47. package/dist/hero-marketplace-scattered-images.d.ts +1 -4
  48. package/dist/hero-marketplace-scattered-images.js +2 -6
  49. package/dist/hero-pattern-logo-tech-stack.cjs +1 -1
  50. package/dist/hero-pattern-logo-tech-stack.js +1 -1
  51. package/dist/hero-platform-features-grid.cjs +5 -5
  52. package/dist/hero-platform-features-grid.js +5 -5
  53. package/dist/hero-simple-centered-image.cjs +140 -44
  54. package/dist/hero-simple-centered-image.d.cts +1 -1
  55. package/dist/hero-simple-centered-image.d.ts +1 -1
  56. package/dist/hero-simple-centered-image.js +140 -44
  57. package/dist/hero-spiral-pattern-cards.cjs +857 -809
  58. package/dist/hero-spiral-pattern-cards.d.cts +5 -1
  59. package/dist/hero-spiral-pattern-cards.d.ts +5 -1
  60. package/dist/hero-spiral-pattern-cards.js +856 -808
  61. package/dist/hero-split-geometric-shapes.cjs +754 -723
  62. package/dist/hero-split-geometric-shapes.d.cts +5 -1
  63. package/dist/hero-split-geometric-shapes.d.ts +5 -1
  64. package/dist/hero-split-geometric-shapes.js +748 -717
  65. package/dist/hero-task-timer-animated.cjs +698 -650
  66. package/dist/hero-task-timer-animated.d.cts +5 -1
  67. package/dist/hero-task-timer-animated.d.ts +5 -1
  68. package/dist/hero-task-timer-animated.js +697 -649
  69. package/dist/hero-ui-library-showcase.cjs +734 -719
  70. package/dist/hero-ui-library-showcase.d.cts +5 -1
  71. package/dist/hero-ui-library-showcase.d.ts +5 -1
  72. package/dist/hero-ui-library-showcase.js +732 -717
  73. package/dist/registry.cjs +1035 -788
  74. package/dist/registry.js +1035 -788
  75. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -50463,27 +50463,31 @@ function HeroCenteredImageGrid({
50463
50463
  gridImages,
50464
50464
  gridImagesSlot,
50465
50465
  imageOverlayAction,
50466
- logos,
50467
- logosSlot,
50468
50466
  background,
50469
- spacing,
50470
50467
  pattern,
50471
50468
  patternOpacity,
50472
50469
  className,
50473
- containerClassName,
50470
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50471
+ spacing = "xl",
50474
50472
  contentClassName,
50475
50473
  headingClassName,
50476
50474
  descriptionClassName,
50477
50475
  actionsClassName,
50478
50476
  imageGridClassName,
50479
- logosClassName,
50480
50477
  optixFlowConfig
50481
50478
  }) {
50482
50479
  const renderActions = React23.useMemo(() => {
50483
50480
  if (actionsSlot) return actionsSlot;
50484
50481
  if (!actions || actions.length === 0) return null;
50485
50482
  return actions.map((action, index) => {
50486
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
50483
+ const {
50484
+ label,
50485
+ icon,
50486
+ iconAfter,
50487
+ children,
50488
+ className: actionClassName,
50489
+ ...pressableProps
50490
+ } = action;
50487
50491
  return /* @__PURE__ */ jsxRuntime.jsx(
50488
50492
  Pressable,
50489
50493
  {
@@ -50502,38 +50506,20 @@ function HeroCenteredImageGrid({
50502
50506
  }, [actionsSlot, actions]);
50503
50507
  const renderImageOverlayAction = React23.useMemo(() => {
50504
50508
  if (!imageOverlayAction) return null;
50505
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = imageOverlayAction;
50506
- return /* @__PURE__ */ jsxRuntime.jsx(
50507
- Pressable,
50508
- {
50509
- asButton: true,
50510
- className: actionClassName,
50511
- ...pressableProps,
50512
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
50513
- icon,
50514
- label,
50515
- iconAfter
50516
- ] })
50517
- }
50518
- );
50509
+ const {
50510
+ label,
50511
+ icon,
50512
+ iconAfter,
50513
+ children,
50514
+ className: actionClassName,
50515
+ ...pressableProps
50516
+ } = imageOverlayAction;
50517
+ return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
50518
+ icon,
50519
+ label,
50520
+ iconAfter
50521
+ ] }) });
50519
50522
  }, [imageOverlayAction]);
50520
- const renderLogos = React23.useMemo(() => {
50521
- if (logosSlot) return logosSlot;
50522
- if (!logos || logos.length === 0) return null;
50523
- return logos.map((logo, index) => {
50524
- const src = typeof logo.src === "string" ? logo.src : logo.src.light;
50525
- typeof logo.src === "string" ? logo.src : logo.src.dark;
50526
- return /* @__PURE__ */ jsxRuntime.jsx(React23__namespace.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
50527
- img.Img,
50528
- {
50529
- src,
50530
- alt: logo.alt,
50531
- className: cn(logo.className, "dark:invert"),
50532
- optixFlowConfig
50533
- }
50534
- ) }, index);
50535
- });
50536
- }, [logosSlot, logos, optixFlowConfig]);
50537
50523
  return /* @__PURE__ */ jsxRuntime.jsx(
50538
50524
  Section,
50539
50525
  {
@@ -50541,39 +50527,90 @@ function HeroCenteredImageGrid({
50541
50527
  spacing,
50542
50528
  pattern,
50543
50529
  patternOpacity,
50544
- className: cn(className),
50545
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
50546
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto flex max-w-5xl flex-col items-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("z-10 flex flex-col items-center gap-8 text-center", contentClassName), children: [
50547
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
50548
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-4 text-4xl font-semibold text-pretty lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
50549
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
50550
- ] }),
50551
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row", actionsClassName), children: renderActions })
50552
- ] }) }),
50553
- gridImagesSlot ? gridImagesSlot : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto mt-20 grid max-w-7xl gap-px bg-border p-px md:grid-cols-5", imageGridClassName), children: [
50554
- gridImages?.[0] && /* @__PURE__ */ jsxRuntime.jsx(
50555
- img.Img,
50556
- {
50557
- src: gridImages[0].src,
50558
- alt: gridImages[0].alt,
50559
- className: cn("h-full max-h-[500px] w-full object-cover md:col-span-3 dark:invert", gridImages[0].className),
50560
- optixFlowConfig
50561
- }
50562
- ),
50563
- gridImages?.[1] && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative md:col-span-2", children: [
50564
- /* @__PURE__ */ jsxRuntime.jsx(
50565
- img.Img,
50566
- {
50567
- src: gridImages[1].src,
50568
- alt: gridImages[1].alt,
50569
- className: cn("h-full max-h-[500px] w-full object-cover dark:invert", gridImages[1].className),
50570
- optixFlowConfig
50571
- }
50530
+ className,
50531
+ containerClassName,
50532
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
50533
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto flex max-w-5xl flex-col items-center", children: /* @__PURE__ */ jsxRuntime.jsxs(
50534
+ "div",
50535
+ {
50536
+ className: cn(
50537
+ "z-10 flex flex-col items-center gap-8 text-center",
50538
+ contentClassName
50572
50539
  ),
50573
- renderImageOverlayAction
50574
- ] })
50575
- ] }),
50576
- (logosSlot || logos && logos.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mt-12 grid max-w-7xl grid-cols-2 place-items-center gap-6 md:grid-cols-4", logosClassName), children: renderLogos })
50540
+ children: [
50541
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-3xl", children: [
50542
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
50543
+ "h1",
50544
+ {
50545
+ className: cn(
50546
+ "mb-4 text-4xl font-semibold text-balance lg:text-6xl",
50547
+ headingClassName
50548
+ ),
50549
+ children: heading
50550
+ }
50551
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
50552
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
50553
+ "p",
50554
+ {
50555
+ className: cn(
50556
+ "lg:text-xl text-balance",
50557
+ descriptionClassName
50558
+ ),
50559
+ children: description
50560
+ }
50561
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
50562
+ ] }),
50563
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx(
50564
+ "div",
50565
+ {
50566
+ className: cn(
50567
+ "flex w-full flex-col justify-center gap-2 sm:flex-row",
50568
+ actionsClassName
50569
+ ),
50570
+ children: renderActions
50571
+ }
50572
+ )
50573
+ ]
50574
+ }
50575
+ ) }),
50576
+ gridImagesSlot ? gridImagesSlot : /* @__PURE__ */ jsxRuntime.jsxs(
50577
+ "div",
50578
+ {
50579
+ className: cn(
50580
+ "mx-auto mt-20 grid max-w-7xl gap-px bg-border p-px md:grid-cols-5",
50581
+ imageGridClassName
50582
+ ),
50583
+ children: [
50584
+ gridImages?.[0] && /* @__PURE__ */ jsxRuntime.jsx(
50585
+ img.Img,
50586
+ {
50587
+ src: gridImages[0].src,
50588
+ alt: gridImages[0].alt,
50589
+ className: cn(
50590
+ "h-full max-h-[500px] w-full object-cover md:col-span-3 dark:invert",
50591
+ gridImages[0].className
50592
+ ),
50593
+ optixFlowConfig
50594
+ }
50595
+ ),
50596
+ gridImages?.[1] && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative md:col-span-2", children: [
50597
+ /* @__PURE__ */ jsxRuntime.jsx(
50598
+ img.Img,
50599
+ {
50600
+ src: gridImages[1].src,
50601
+ alt: gridImages[1].alt,
50602
+ className: cn(
50603
+ "h-full max-h-[500px] w-full object-cover dark:invert",
50604
+ gridImages[1].className
50605
+ ),
50606
+ optixFlowConfig
50607
+ }
50608
+ ),
50609
+ renderImageOverlayAction
50610
+ ] })
50611
+ ]
50612
+ }
50613
+ )
50577
50614
  ] })
50578
50615
  }
50579
50616
  );
@@ -50877,7 +50914,7 @@ function HeroLogoCenteredScreenshot({
50877
50914
  imageSlot,
50878
50915
  background,
50879
50916
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50880
- spacing = "py-6 md:py-32",
50917
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
50881
50918
  pattern,
50882
50919
  patternOpacity,
50883
50920
  className,
@@ -51006,7 +51043,7 @@ function HeroPatternLogoTechStack({
51006
51043
  techLogosSlot,
51007
51044
  background,
51008
51045
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51009
- spacing = "py-12 md:py-32",
51046
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
51010
51047
  pattern,
51011
51048
  patternOpacity,
51012
51049
  className,
@@ -51185,37 +51222,16 @@ function HeroAnnouncementBadge({
51185
51222
  actions,
51186
51223
  actionsSlot,
51187
51224
  background,
51188
- spacing,
51189
51225
  pattern,
51190
51226
  patternOpacity,
51191
51227
  className,
51192
- containerClassName,
51228
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51229
+ spacing = "pt-32 pb-16 md:pt-32 md:pb-32",
51193
51230
  badgeClassName,
51194
51231
  headingClassName,
51195
51232
  descriptionClassName,
51196
51233
  actionsClassName
51197
51234
  }) {
51198
- const renderActions = React23.useMemo(() => {
51199
- if (actionsSlot) return actionsSlot;
51200
- if (!actions || actions.length === 0) return null;
51201
- return actions.map((action, index) => {
51202
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
51203
- return /* @__PURE__ */ jsxRuntime.jsx(
51204
- Pressable,
51205
- {
51206
- asButton: true,
51207
- className: actionClassName,
51208
- ...pressableProps,
51209
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
51210
- icon,
51211
- label,
51212
- iconAfter
51213
- ] })
51214
- },
51215
- index
51216
- );
51217
- });
51218
- }, [actionsSlot, actions]);
51219
51235
  return /* @__PURE__ */ jsxRuntime.jsx(
51220
51236
  Section,
51221
51237
  {
@@ -51224,25 +51240,48 @@ function HeroAnnouncementBadge({
51224
51240
  pattern,
51225
51241
  patternOpacity,
51226
51242
  className,
51227
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
51228
- badge && /* @__PURE__ */ jsxRuntime.jsxs(
51229
- Badge,
51243
+ containerClassName,
51244
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col gap-4 md:gap-6 lg:gap-8", children: [
51245
+ badge && /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: cn("gap-2", badgeClassName), children: [
51246
+ badgeIcon && /* @__PURE__ */ jsxRuntime.jsx(
51247
+ "span",
51248
+ {
51249
+ className: cn(
51250
+ "flex size-8 shrink-0 items-center justify-center rounded-full"
51251
+ ),
51252
+ children: badgeIcon
51253
+ }
51254
+ ),
51255
+ typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate whitespace-nowrap pr-2", children: badge }) : badge
51256
+ ] }),
51257
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51258
+ "h1",
51230
51259
  {
51231
- variant: "outline",
51232
- className: cn("mb-4 max-w-full text-sm font-normal lg:mb-10 lg:py-2 lg:pr-5 lg:pl-2", badgeClassName),
51233
- children: [
51234
- badgeIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
51235
- "mr-2 flex size-8 shrink-0 items-center justify-center rounded-full",
51236
- getNestedCardBg(background, "accent"),
51237
- getNestedCardTextColor(background)
51238
- ), children: badgeIcon }),
51239
- typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate whitespace-nowrap", children: badge }) : badge
51240
- ]
51260
+ className: cn(
51261
+ "text-4xl leading-none font-bold tracking-tighter md:text-[7vw] lg:text-8xl",
51262
+ headingClassName
51263
+ ),
51264
+ children: heading
51241
51265
  }
51242
- ),
51243
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-6 text-4xl leading-none font-bold tracking-tighter md:text-[7vw] lg:text-8xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
51244
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl md:text-[2vw] lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51245
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6 flex flex-col gap-4 sm:flex-row lg:mt-10", actionsClassName), children: renderActions })
51266
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
51267
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51268
+ "p",
51269
+ {
51270
+ className: cn(
51271
+ "max-w-2xl md:text-[2vw] lg:text-xl text-balance",
51272
+ descriptionClassName
51273
+ ),
51274
+ children: description
51275
+ }
51276
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51277
+ /* @__PURE__ */ jsxRuntime.jsx(
51278
+ BlockActions,
51279
+ {
51280
+ actions,
51281
+ actionsSlot,
51282
+ actionsClassName
51283
+ }
51284
+ )
51246
51285
  ] })
51247
51286
  }
51248
51287
  );
@@ -51435,13 +51474,13 @@ function HeroSimpleCenteredImage({
51435
51474
  actions,
51436
51475
  actionsSlot,
51437
51476
  imageSrc,
51438
- imageAlt = "placeholder hero",
51477
+ imageAlt,
51439
51478
  background,
51440
- spacing,
51441
51479
  pattern,
51442
51480
  patternOpacity,
51443
51481
  className,
51444
- containerClassName,
51482
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51483
+ spacing = "xl",
51445
51484
  contentClassName,
51446
51485
  headingClassName,
51447
51486
  descriptionClassName,
@@ -51450,11 +51489,18 @@ function HeroSimpleCenteredImage({
51450
51489
  imageClassName,
51451
51490
  optixFlowConfig
51452
51491
  }) {
51453
- const renderActions = React23.useMemo(() => {
51492
+ React23.useMemo(() => {
51454
51493
  if (actionsSlot) return actionsSlot;
51455
51494
  if (!actions || actions.length === 0) return null;
51456
51495
  return actions.map((action, index) => {
51457
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
51496
+ const {
51497
+ label,
51498
+ icon,
51499
+ iconAfter,
51500
+ children,
51501
+ className: actionClassName,
51502
+ ...pressableProps
51503
+ } = action;
51458
51504
  return /* @__PURE__ */ jsxRuntime.jsx(
51459
51505
  Pressable,
51460
51506
  {
@@ -51478,22 +51524,69 @@ function HeroSimpleCenteredImage({
51478
51524
  spacing,
51479
51525
  pattern,
51480
51526
  patternOpacity,
51481
- className: cn(className),
51527
+ className,
51528
+ containerClassName,
51482
51529
  children: [
51483
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container flex flex-col items-center text-center", containerClassName, contentClassName), children: [
51484
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("my-3 text-3xl font-bold text-pretty sm:text-4xl md:my-6 lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
51485
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 max-w-xl lg:mb-12 lg:text-2xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51486
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-6 flex gap-2 lg:mb-12", actionsClassName), children: renderActions })
51487
- ] }),
51488
- imageSrc && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("aspect-video mask-[linear-gradient(#000_80%,transparent_100%)]", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
51489
- img.Img,
51530
+ /* @__PURE__ */ jsxRuntime.jsxs(
51531
+ "div",
51490
51532
  {
51491
- src: imageSrc,
51492
- alt: imageAlt,
51493
- className: cn("h-full w-full rounded-md object-cover", imageClassName),
51494
- optixFlowConfig
51533
+ className: cn(
51534
+ "flex flex-col items-center text-center",
51535
+ contentClassName
51536
+ ),
51537
+ children: [
51538
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51539
+ "h1",
51540
+ {
51541
+ className: cn(
51542
+ "my-3 text-3xl font-bold text-balance sm:text-4xl md:my-6 lg:text-6xl",
51543
+ headingClassName
51544
+ ),
51545
+ children: heading
51546
+ }
51547
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
51548
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51549
+ "p",
51550
+ {
51551
+ className: cn(
51552
+ "max-w-xl md:max-w-md lg:text-2xl text-balance",
51553
+ descriptionClassName
51554
+ ),
51555
+ children: description
51556
+ }
51557
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51558
+ /* @__PURE__ */ jsxRuntime.jsx(
51559
+ BlockActions,
51560
+ {
51561
+ actions,
51562
+ actionsSlot,
51563
+ actionsClassName
51564
+ }
51565
+ )
51566
+ ]
51495
51567
  }
51496
- ) }) })
51568
+ ),
51569
+ imageSrc && /* @__PURE__ */ jsxRuntime.jsx(
51570
+ "div",
51571
+ {
51572
+ className: cn(
51573
+ "aspect-video mask-[linear-gradient(#000_80%,transparent_100%)] mt-8 md:mt-16",
51574
+ imageWrapperClassName
51575
+ ),
51576
+ children: /* @__PURE__ */ jsxRuntime.jsx(
51577
+ img.Img,
51578
+ {
51579
+ src: imageSrc,
51580
+ alt: imageAlt,
51581
+ className: cn(
51582
+ "h-full w-full rounded-t-2xl object-cover",
51583
+ imageClassName
51584
+ ),
51585
+ optixFlowConfig
51586
+ }
51587
+ )
51588
+ }
51589
+ )
51497
51590
  ]
51498
51591
  }
51499
51592
  );
@@ -51510,7 +51603,7 @@ function HeroPlatformFeaturesGrid({
51510
51603
  featuresSlot,
51511
51604
  background,
51512
51605
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51513
- spacing = "py-32",
51606
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
51514
51607
  pattern,
51515
51608
  patternOpacity,
51516
51609
  className,
@@ -51529,7 +51622,7 @@ function HeroPlatformFeaturesGrid({
51529
51622
  src: logoSrc,
51530
51623
  alt: logo.alt,
51531
51624
  className: cn(
51532
- "mx-auto mb-5 w-16 md:mb-6 md:w-24 lg:mb-7 lg:w-28",
51625
+ "mx-auto mb-5 w-24 md:mb-6 md:w-28 lg:mb-7 lg:w-32",
51533
51626
  logo.imgClassName
51534
51627
  ),
51535
51628
  optixFlowConfig
@@ -51560,7 +51653,7 @@ function HeroPlatformFeaturesGrid({
51560
51653
  "div",
51561
51654
  {
51562
51655
  className: cn(
51563
- "mt-16 grid gap-px overflow-hidden rounded-lg border bg-input md:grid-cols-2 lg:grid-cols-4 w-full",
51656
+ "mt-12 md:mt-16 grid gap-px overflow-hidden rounded-lg border bg-input md:grid-cols-2 lg:grid-cols-4 w-full",
51564
51657
  featuresClassName
51565
51658
  ),
51566
51659
  children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -51595,7 +51688,7 @@ function HeroPlatformFeaturesGrid({
51595
51688
  "div",
51596
51689
  {
51597
51690
  className: cn(
51598
- "flex flex-col items-center w-full gap-6 text-center",
51691
+ "flex flex-col items-center w-full gap-4 md:gap-6 text-center",
51599
51692
  headerClassName
51600
51693
  ),
51601
51694
  children: [
@@ -51620,7 +51713,7 @@ function HeroPlatformFeaturesGrid({
51620
51713
  children: heading
51621
51714
  }
51622
51715
  )),
51623
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl md:text-lg text-balance"), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-w-2xl md:text-lg text-balance"), children: description })),
51716
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-6 max-w-2xl md:text-lg text-balance"), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-w-2xl md:text-lg text-balance"), children: description })),
51624
51717
  renderAction
51625
51718
  ]
51626
51719
  }
@@ -51636,11 +51729,12 @@ function HeroSpiralPatternCards({
51636
51729
  description,
51637
51730
  actions,
51638
51731
  actionsSlot,
51732
+ actionsClassName,
51639
51733
  images,
51640
51734
  imagesSlot,
51641
51735
  optixFlowConfig,
51642
51736
  background,
51643
- spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
51737
+ spacing = "xl",
51644
51738
  pattern,
51645
51739
  patternOpacity,
51646
51740
  className,
@@ -51649,34 +51743,6 @@ function HeroSpiralPatternCards({
51649
51743
  descriptionClassName,
51650
51744
  imagesClassName
51651
51745
  }) {
51652
- const renderActions = React23.useMemo(() => {
51653
- if (actionsSlot) return actionsSlot;
51654
- if (!actions || actions.length === 0) return null;
51655
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full flex-col justify-center gap-2 sm:flex-row", children: actions.map((action, index) => {
51656
- const {
51657
- label,
51658
- icon,
51659
- iconAfter,
51660
- children,
51661
- className: actionClassName,
51662
- ...pressableProps
51663
- } = action;
51664
- return /* @__PURE__ */ jsxRuntime.jsx(
51665
- Pressable,
51666
- {
51667
- asButton: true,
51668
- className: actionClassName,
51669
- ...pressableProps,
51670
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
51671
- icon,
51672
- label,
51673
- iconAfter
51674
- ] })
51675
- },
51676
- index
51677
- );
51678
- }) });
51679
- }, [actionsSlot, actions]);
51680
51746
  const renderImages = React23.useMemo(() => {
51681
51747
  if (imagesSlot) return imagesSlot;
51682
51748
  if (!images || images.length === 0) return null;
@@ -51684,7 +51750,7 @@ function HeroSpiralPatternCards({
51684
51750
  "div",
51685
51751
  {
51686
51752
  className: cn(
51687
- "mt-16 flex flex-col items-center justify-center lg:mt-32",
51753
+ "mt-16 flex flex-col items-center justify-center lg:mt-20",
51688
51754
  imagesClassName
51689
51755
  ),
51690
51756
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative mx-auto aspect-square w-[95%] max-w-125 sm:w-full", children: [
@@ -51769,7 +51835,14 @@ function HeroSpiralPatternCards({
51769
51835
  children: description
51770
51836
  }
51771
51837
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51772
- renderActions
51838
+ /* @__PURE__ */ jsxRuntime.jsx(
51839
+ BlockActions,
51840
+ {
51841
+ actions,
51842
+ actionsSlot,
51843
+ actionsClassName
51844
+ }
51845
+ )
51773
51846
  ] }),
51774
51847
  renderImages
51775
51848
  ] })
@@ -51941,11 +52014,12 @@ function HeroSplitGeometricShapes({
51941
52014
  images,
51942
52015
  imagesSlot,
51943
52016
  background,
51944
- spacing = "py-6 md:py-32",
52017
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
52018
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
51945
52019
  pattern,
52020
+ actionsClassName,
51946
52021
  patternOpacity,
51947
52022
  className,
51948
- containerClassName,
51949
52023
  contentClassName,
51950
52024
  headingClassName,
51951
52025
  descriptionClassName,
@@ -51975,34 +52049,6 @@ function HeroSplitGeometricShapes({
51975
52049
  const handleLightboxClose = React23.useCallback(() => {
51976
52050
  setLightboxOpen(false);
51977
52051
  }, []);
51978
- const renderActions = React23.useMemo(() => {
51979
- if (actionsSlot) return actionsSlot;
51980
- if (!actions || actions.length === 0) return null;
51981
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", children: actions.map((action, index) => {
51982
- const {
51983
- label,
51984
- icon,
51985
- iconAfter,
51986
- children,
51987
- className: actionClassName,
51988
- ...pressableProps
51989
- } = action;
51990
- return /* @__PURE__ */ jsxRuntime.jsx(
51991
- Pressable,
51992
- {
51993
- asButton: true,
51994
- className: actionClassName,
51995
- ...pressableProps,
51996
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
51997
- icon,
51998
- label,
51999
- iconAfter
52000
- ] })
52001
- },
52002
- index
52003
- );
52004
- }) });
52005
- }, [actionsSlot, actions]);
52006
52052
  const renderImages = React23.useMemo(() => {
52007
52053
  if (imagesSlot) return imagesSlot;
52008
52054
  if (!images || images.length === 0) return null;
@@ -52078,54 +52124,70 @@ function HeroSplitGeometricShapes({
52078
52124
  spacing,
52079
52125
  pattern,
52080
52126
  patternOpacity,
52081
- className: cn(className),
52127
+ className,
52082
52128
  containerClassName,
52083
52129
  children: [
52084
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col items-center"), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("2xl:w-[calc(min(100vw-2*theme(container.padding),100%+8rem))] w-full overflow-clip rounded-lg", getNestedCardBg(background)), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-0 md:gap-8 lg:grid-cols-2", children: [
52085
- /* @__PURE__ */ jsxRuntime.jsxs(
52086
- "div",
52087
- {
52088
- className: cn(
52089
- "container flex flex-col items-center px-10 py-8 text-center lg:mx-auto lg:items-start lg:px-16 lg:py-32 lg:text-left",
52090
- contentClassName
52130
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col items-center"), children: /* @__PURE__ */ jsxRuntime.jsx(
52131
+ "div",
52132
+ {
52133
+ className: cn(
52134
+ "2xl:w-[calc(min(100vw-2*theme(container.padding),100%+8rem))] w-full overflow-clip rounded-lg bg-muted"
52135
+ ),
52136
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-0 md:gap-8 lg:grid-cols-2", children: [
52137
+ /* @__PURE__ */ jsxRuntime.jsxs(
52138
+ "div",
52139
+ {
52140
+ className: cn(
52141
+ "flex flex-col items-center pr-6 pl-6 py-8 text-center lg:mx-auto lg:items-start lg:pr-6 lg:pl-20 lg:py-32 lg:text-left",
52142
+ contentClassName
52143
+ ),
52144
+ children: [
52145
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: badgeText }) : badgeText),
52146
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52147
+ "h1",
52148
+ {
52149
+ className: cn(
52150
+ "my-6 text-4xl font-bold text-balance lg:text-6xl",
52151
+ headingClassName
52152
+ ),
52153
+ children: heading
52154
+ }
52155
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
52156
+ "h1",
52157
+ {
52158
+ className: cn(
52159
+ "my-6 text-4xl font-bold text-balance lg:text-6xl",
52160
+ headingClassName
52161
+ ),
52162
+ children: heading
52163
+ }
52164
+ )),
52165
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52166
+ "p",
52167
+ {
52168
+ className: cn(
52169
+ "mb-4 md:mb-6 max-w-xl lg:text-xl text-balance",
52170
+ descriptionClassName
52171
+ ),
52172
+ children: description
52173
+ }
52174
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52175
+ /* @__PURE__ */ jsxRuntime.jsx(
52176
+ BlockActions,
52177
+ {
52178
+ actions,
52179
+ actionsSlot,
52180
+ actionsClassName,
52181
+ mobileConfig: { width: "full", position: "center" }
52182
+ }
52183
+ )
52184
+ ]
52185
+ }
52091
52186
  ),
52092
- children: [
52093
- badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: badgeText }) : badgeText),
52094
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52095
- "h1",
52096
- {
52097
- className: cn(
52098
- "my-6 text-4xl font-bold text-pretty lg:text-6xl",
52099
- headingClassName
52100
- ),
52101
- children: heading
52102
- }
52103
- ) : /* @__PURE__ */ jsxRuntime.jsx(
52104
- "h1",
52105
- {
52106
- className: cn(
52107
- "my-6 text-4xl font-bold text-pretty lg:text-6xl",
52108
- headingClassName
52109
- ),
52110
- children: heading
52111
- }
52112
- )),
52113
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52114
- "p",
52115
- {
52116
- className: cn(
52117
- "mb-8 max-w-xl lg:text-xl",
52118
- descriptionClassName
52119
- ),
52120
- children: description
52121
- }
52122
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52123
- renderActions
52124
- ]
52125
- }
52126
- ),
52127
- renderImages
52128
- ] }) }) }),
52187
+ renderImages
52188
+ ] })
52189
+ }
52190
+ ) }),
52129
52191
  lightboxOpen && /* @__PURE__ */ jsxRuntime.jsx(
52130
52192
  lightbox.Lightbox,
52131
52193
  {
@@ -52166,11 +52228,11 @@ function HeroCommunitySurveyCta({
52166
52228
  rightOverlayImage,
52167
52229
  imagesSlot,
52168
52230
  background,
52169
- spacing,
52231
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
52232
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
52170
52233
  pattern,
52171
52234
  patternOpacity,
52172
52235
  className,
52173
- containerClassName,
52174
52236
  announcementClassName,
52175
52237
  headingClassName,
52176
52238
  descriptionClassName,
@@ -52180,29 +52242,22 @@ function HeroCommunitySurveyCta({
52180
52242
  }) {
52181
52243
  const renderAnnouncement = React23.useMemo(() => {
52182
52244
  if (announcementSlot) return announcementSlot;
52183
- return /* @__PURE__ */ jsxRuntime.jsxs(
52184
- Pressable,
52245
+ return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: announcementHref, children: /* @__PURE__ */ jsxRuntime.jsxs(
52246
+ Badge,
52185
52247
  {
52186
- href: announcementHref,
52187
52248
  className: cn(
52188
- "group mx-auto mb-3 w-fit gap-3 rounded-full border px-5 py-2 text-sm",
52249
+ "group mx-auto w-fit gap-3 px-5 py-2 text-sm h-fit",
52189
52250
  announcementClassName
52190
52251
  ),
52191
52252
  children: [
52192
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mr-1 font-medium", children: announcementPrimary }),
52193
- announcementSecondary,
52194
- /* @__PURE__ */ jsxRuntime.jsx(
52195
- DynamicIcon,
52196
- {
52197
- name: "lucide/minus",
52198
- size: 16,
52199
- className: "mx-1 inline-block"
52200
- }
52201
- ),
52202
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold group-hover:underline", children: announcementLinkText })
52253
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
52254
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium", children: announcementPrimary }),
52255
+ announcementSecondary
52256
+ ] }),
52257
+ announcementLinkText ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold pl-4 ml-4 border-l", children: announcementLinkText }) : null
52203
52258
  ]
52204
52259
  }
52205
- );
52260
+ ) });
52206
52261
  }, [
52207
52262
  announcementSlot,
52208
52263
  announcementHref,
@@ -52211,46 +52266,119 @@ function HeroCommunitySurveyCta({
52211
52266
  announcementSecondary,
52212
52267
  announcementLinkText
52213
52268
  ]);
52269
+ const imageCount = React23.useMemo(() => {
52270
+ let count = 0;
52271
+ if (mainImage) count++;
52272
+ if (leftOverlayImage) count++;
52273
+ if (rightOverlayImage) count++;
52274
+ return count;
52275
+ }, [mainImage, leftOverlayImage, rightOverlayImage]);
52214
52276
  const renderImages = React23.useMemo(() => {
52215
52277
  if (imagesSlot) return imagesSlot;
52216
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mx-auto max-w-5xl", imagesClassName), children: [
52217
- mainImage && /* @__PURE__ */ jsxRuntime.jsx(
52218
- img.Img,
52219
- {
52220
- src: mainImage.src,
52221
- alt: mainImage.alt,
52222
- className: mainImage.className,
52223
- optixFlowConfig
52224
- }
52225
- ),
52226
- leftOverlayImage && /* @__PURE__ */ jsxRuntime.jsx(
52227
- img.Img,
52278
+ if (imageCount === 0) return null;
52279
+ if (imageCount === 1) {
52280
+ const img$1 = mainImage || leftOverlayImage || rightOverlayImage;
52281
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
52282
+ "div",
52228
52283
  {
52229
- src: leftOverlayImage.src,
52230
- alt: leftOverlayImage.alt,
52231
- className: leftOverlayImage.className,
52232
- optixFlowConfig
52284
+ className: cn(
52285
+ "relative aspect-4/3 w-full max-w-lg overflow-hidden rounded-lg shadow-2xl",
52286
+ imagesClassName
52287
+ ),
52288
+ children: /* @__PURE__ */ jsxRuntime.jsx(
52289
+ img.Img,
52290
+ {
52291
+ src: img$1.src,
52292
+ alt: img$1.alt,
52293
+ className: "h-full w-full object-cover",
52294
+ optixFlowConfig
52295
+ }
52296
+ )
52233
52297
  }
52234
- ),
52235
- rightOverlayImage && /* @__PURE__ */ jsxRuntime.jsx(
52236
- img.Img,
52298
+ ) });
52299
+ }
52300
+ if (imageCount === 2) {
52301
+ const imgs = [mainImage, leftOverlayImage, rightOverlayImage].filter(
52302
+ Boolean
52303
+ );
52304
+ return /* @__PURE__ */ jsxRuntime.jsxs(
52305
+ "div",
52237
52306
  {
52238
- src: rightOverlayImage.src,
52239
- alt: rightOverlayImage.alt,
52240
- className: rightOverlayImage.className,
52241
- optixFlowConfig
52307
+ className: cn(
52308
+ "relative min-h-[350px] md:min-h-[400px] lg:min-h-[450px]",
52309
+ imagesClassName
52310
+ ),
52311
+ children: [
52312
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute left-0 top-0 z-10 aspect-4/3 w-[70%] overflow-hidden rounded-lg shadow-2xl md:w-[65%]", children: /* @__PURE__ */ jsxRuntime.jsx(
52313
+ img.Img,
52314
+ {
52315
+ src: imgs[0].src,
52316
+ alt: imgs[0].alt,
52317
+ className: "h-full w-full object-cover",
52318
+ optixFlowConfig
52319
+ }
52320
+ ) }),
52321
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 right-0 z-20 aspect-3/4 w-[55%] overflow-hidden rounded-lg shadow-2xl md:w-[50%]", children: /* @__PURE__ */ jsxRuntime.jsx(
52322
+ img.Img,
52323
+ {
52324
+ src: imgs[1].src,
52325
+ alt: imgs[1].alt,
52326
+ className: "h-full w-full object-cover",
52327
+ optixFlowConfig
52328
+ }
52329
+ ) })
52330
+ ]
52242
52331
  }
52243
- )
52244
- ] });
52332
+ );
52333
+ }
52334
+ return /* @__PURE__ */ jsxRuntime.jsxs(
52335
+ "div",
52336
+ {
52337
+ className: cn(
52338
+ "relative min-h-[380px] md:min-h-[430px] lg:min-h-[480px]",
52339
+ imagesClassName
52340
+ ),
52341
+ children: [
52342
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute left-0 top-0 z-10 aspect-4/3 w-[65%] overflow-hidden rounded-lg shadow-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
52343
+ img.Img,
52344
+ {
52345
+ src: mainImage.src,
52346
+ alt: mainImage.alt,
52347
+ className: "h-full w-full object-cover",
52348
+ optixFlowConfig
52349
+ }
52350
+ ) }),
52351
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 right-0 z-20 aspect-3/4 w-[50%] overflow-hidden rounded-lg shadow-2xl", children: /* @__PURE__ */ jsxRuntime.jsx(
52352
+ img.Img,
52353
+ {
52354
+ src: rightOverlayImage.src,
52355
+ alt: rightOverlayImage.alt,
52356
+ className: "h-full w-full object-cover",
52357
+ optixFlowConfig
52358
+ }
52359
+ ) }),
52360
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-4 left-[10%] z-30 aspect-square w-[35%] overflow-hidden rounded-lg shadow-2xl md:bottom-6 md:left-[15%]", children: /* @__PURE__ */ jsxRuntime.jsx(
52361
+ img.Img,
52362
+ {
52363
+ src: leftOverlayImage.src,
52364
+ alt: leftOverlayImage.alt,
52365
+ className: "h-full w-full object-cover",
52366
+ optixFlowConfig
52367
+ }
52368
+ ) })
52369
+ ]
52370
+ }
52371
+ );
52245
52372
  }, [
52246
52373
  imagesSlot,
52247
52374
  imagesClassName,
52375
+ imageCount,
52248
52376
  mainImage,
52249
52377
  leftOverlayImage,
52250
52378
  rightOverlayImage,
52251
52379
  optixFlowConfig
52252
52380
  ]);
52253
- return /* @__PURE__ */ jsxRuntime.jsxs(
52381
+ return /* @__PURE__ */ jsxRuntime.jsx(
52254
52382
  Section,
52255
52383
  {
52256
52384
  background,
@@ -52259,14 +52387,14 @@ function HeroCommunitySurveyCta({
52259
52387
  patternOpacity,
52260
52388
  className,
52261
52389
  containerClassName,
52262
- children: [
52263
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
52390
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative grid grid-cols-1 items-center gap-8 lg:grid-cols-2 lg:gap-12", children: [
52391
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
52264
52392
  renderAnnouncement,
52265
52393
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52266
52394
  "h1",
52267
52395
  {
52268
52396
  className: cn(
52269
- "mx-auto max-w-4xl text-4xl font-semibold text-balance lg:text-6xl",
52397
+ "max-w-4xl text-4xl font-semibold text-balance lg:text-6xl",
52270
52398
  headingClassName
52271
52399
  ),
52272
52400
  children: heading
@@ -52276,7 +52404,7 @@ function HeroCommunitySurveyCta({
52276
52404
  "p",
52277
52405
  {
52278
52406
  className: cn(
52279
- "mx-auto max-w-4xl lg:text-xl",
52407
+ "max-w-4xl lg:text-xl text-balance",
52280
52408
  descriptionClassName
52281
52409
  ),
52282
52410
  children: description
@@ -52291,11 +52419,8 @@ function HeroCommunitySurveyCta({
52291
52419
  }
52292
52420
  )
52293
52421
  ] }),
52294
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative px-8", children: [
52295
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 top-1/2 h-full w-full bg-linear-to-b from-muted to-transparent to-50%" }),
52296
- renderImages
52297
- ] })
52298
- ]
52422
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: renderImages })
52423
+ ] })
52299
52424
  }
52300
52425
  );
52301
52426
  }
@@ -52309,7 +52434,6 @@ function HeroMarketplaceScatteredImages({
52309
52434
  taglineSlot,
52310
52435
  images,
52311
52436
  imagesSlot,
52312
- showGridPattern = true,
52313
52437
  background,
52314
52438
  spacing = "py-32 md:py-32",
52315
52439
  pattern,
@@ -52376,10 +52500,7 @@ function HeroMarketplaceScatteredImages({
52376
52500
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-3 md:grid-cols-3", children: columns.map((colImages, colIndex) => /* @__PURE__ */ jsxRuntime.jsx(
52377
52501
  "div",
52378
52502
  {
52379
- className: cn(
52380
- "grid gap-3",
52381
- colIndex === 2 && "hidden md:grid"
52382
- ),
52503
+ className: cn("grid gap-3", colIndex === 2 && "hidden md:grid"),
52383
52504
  children: colImages.map((image, imgIndex) => {
52384
52505
  const height = heightPatterns[colIndex][imgIndex % heightPatterns[colIndex].length];
52385
52506
  const direction = colIndex % 2 === 0 ? "up" : "down";
@@ -52448,7 +52569,7 @@ function HeroMarketplaceScatteredImages({
52448
52569
  "div",
52449
52570
  {
52450
52571
  className: cn(
52451
- "relative mx-auto max-w-xl py-10 text-center flex flex-col gap-6 items-center",
52572
+ "relative mx-auto max-w-xl py-0 md:py-10 text-center flex flex-col gap-6 items-center",
52452
52573
  contentClassName
52453
52574
  ),
52454
52575
  children: [
@@ -52512,34 +52633,6 @@ function HeroBadgeShadowOverlay({
52512
52633
  headingClassName,
52513
52634
  actionsClassName
52514
52635
  }) {
52515
- const renderActions = React23.useMemo(() => {
52516
- if (actionsSlot) return actionsSlot;
52517
- if (!actions || actions.length === 0) return null;
52518
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
52519
- const {
52520
- label,
52521
- icon,
52522
- iconAfter,
52523
- children,
52524
- className: actionClassName,
52525
- ...pressableProps
52526
- } = action;
52527
- return /* @__PURE__ */ jsxRuntime.jsx(
52528
- Pressable,
52529
- {
52530
- asButton: true,
52531
- className: actionClassName,
52532
- ...pressableProps,
52533
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
52534
- icon,
52535
- label,
52536
- iconAfter
52537
- ] })
52538
- },
52539
- index
52540
- );
52541
- }) });
52542
- }, [actionsSlot, actions, actionsClassName]);
52543
52636
  return /* @__PURE__ */ jsxRuntime.jsxs(
52544
52637
  Section,
52545
52638
  {
@@ -52550,7 +52643,7 @@ function HeroBadgeShadowOverlay({
52550
52643
  className: cn("relative flex items-center justify-center", className),
52551
52644
  containerClassName,
52552
52645
  children: [
52553
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col min-h-screen h-full justify-center items-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-10 text-center px-6 max-full md:max-w-lg", children: [
52646
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col min-h-screen h-full justify-center items-center", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4 text-center px-6 max-full md:max-w-lg", children: [
52554
52647
  (announcementBadge || announcementText) && /* @__PURE__ */ jsxRuntime.jsxs(
52555
52648
  Pressable,
52556
52649
  {
@@ -52570,7 +52663,7 @@ function HeroBadgeShadowOverlay({
52570
52663
  "h1",
52571
52664
  {
52572
52665
  className: cn(
52573
- "text-4xl font-semibold lg:text-8xl text-white text-balance text-shadow-xl text-center",
52666
+ "text-4xl font-semibold lg:text-8xl text-white text-balance text-shadow-2xl text-center",
52574
52667
  headingClassName
52575
52668
  ),
52576
52669
  children: heading
@@ -52586,7 +52679,14 @@ function HeroBadgeShadowOverlay({
52586
52679
  children: description
52587
52680
  }
52588
52681
  ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52589
- renderActions
52682
+ /* @__PURE__ */ jsxRuntime.jsx(
52683
+ BlockActions,
52684
+ {
52685
+ actions,
52686
+ actionsSlot,
52687
+ actionsClassName
52688
+ }
52689
+ )
52590
52690
  ] }) }),
52591
52691
  backgroundImageUrl && /* @__PURE__ */ jsxRuntime.jsx(
52592
52692
  img.Img,
@@ -52720,18 +52820,16 @@ function HeroVideoBackgroundDark({
52720
52820
  }
52721
52821
  function HeroGridPatternEfficiency({
52722
52822
  heading,
52723
- highlightedWord = "efficiency.",
52724
52823
  description,
52725
52824
  action,
52726
52825
  actionSlot,
52727
- actionSubtext = "No credit card required.",
52728
- showGridPattern = true,
52826
+ actionSubtext,
52729
52827
  background,
52730
- spacing,
52828
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
52829
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
52731
52830
  pattern,
52732
52831
  patternOpacity,
52733
52832
  className,
52734
- containerClassName,
52735
52833
  contentClassName,
52736
52834
  headingClassName,
52737
52835
  descriptionClassName,
@@ -52740,7 +52838,14 @@ function HeroGridPatternEfficiency({
52740
52838
  const renderAction = React23.useMemo(() => {
52741
52839
  if (actionSlot) return actionSlot;
52742
52840
  if (!action) return null;
52743
- const { label, icon, iconAfter, children, className: btnClassName, ...pressableProps } = action;
52841
+ const {
52842
+ label,
52843
+ icon,
52844
+ iconAfter,
52845
+ children,
52846
+ className: btnClassName,
52847
+ ...pressableProps
52848
+ } = action;
52744
52849
  return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: btnClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
52745
52850
  icon,
52746
52851
  label,
@@ -52749,14 +52854,29 @@ function HeroGridPatternEfficiency({
52749
52854
  }, [actionSlot, action]);
52750
52855
  const renderHeading = React23.useMemo(() => {
52751
52856
  if (heading) {
52752
- return typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug", headingClassName), children: heading });
52857
+ return typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52858
+ "h1",
52859
+ {
52860
+ className: cn(
52861
+ "text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug text-balance",
52862
+ headingClassName
52863
+ ),
52864
+ children: heading
52865
+ }
52866
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
52867
+ "h1",
52868
+ {
52869
+ className: cn(
52870
+ "text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug text-balance",
52871
+ headingClassName
52872
+ ),
52873
+ children: heading
52874
+ }
52875
+ );
52876
+ } else {
52877
+ return null;
52753
52878
  }
52754
- return /* @__PURE__ */ jsxRuntime.jsxs("h1", { className: cn("text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug", headingClassName), children: [
52755
- "Less complexity. ",
52756
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mr-6", children: "More" }),
52757
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("relative inline-block before:absolute before:top-0 before:-right-2 before:-bottom-2 before:-left-4 before:-z-10 before:rounded-lg", `before:${getTextColor(background, "muted")}/15`), children: highlightedWord })
52758
- ] });
52759
- }, [heading, highlightedWord, headingClassName]);
52879
+ }, [heading, headingClassName]);
52760
52880
  return /* @__PURE__ */ jsxRuntime.jsx(
52761
52881
  Section,
52762
52882
  {
@@ -52764,15 +52884,33 @@ function HeroGridPatternEfficiency({
52764
52884
  spacing,
52765
52885
  pattern,
52766
52886
  patternOpacity,
52767
- className: cn(className),
52768
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative max-w-5xl", contentClassName), children: [
52769
- showGridPattern && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 -z-10 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)] mask-[radial-gradient(ellipse_50%_100%_at_50%_50%,#000_60%,transparent_100%)] bg-size-[64px_64px]" }),
52887
+ className,
52888
+ containerClassName,
52889
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative max-w-5xl", contentClassName), children: [
52770
52890
  renderHeading,
52771
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-7 text-xl font-light lg:text-3xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52772
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-12 flex w-fit flex-col gap-2.5 text-center", actionClassName), children: [
52773
- renderAction,
52774
- actionSubtext && (typeof actionSubtext === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: actionSubtext }) : actionSubtext)
52775
- ] })
52891
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52892
+ "p",
52893
+ {
52894
+ className: cn(
52895
+ "mt-7 text-xl font-light lg:text-3xl text-balance",
52896
+ descriptionClassName
52897
+ ),
52898
+ children: description
52899
+ }
52900
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52901
+ /* @__PURE__ */ jsxRuntime.jsxs(
52902
+ "div",
52903
+ {
52904
+ className: cn(
52905
+ "mt-12 flex w-fit flex-col gap-2.5 text-center",
52906
+ actionClassName
52907
+ ),
52908
+ children: [
52909
+ renderAction,
52910
+ actionSubtext && (typeof actionSubtext === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: actionSubtext }) : actionSubtext)
52911
+ ]
52912
+ }
52913
+ )
52776
52914
  ] }) })
52777
52915
  }
52778
52916
  );
@@ -52957,18 +53095,17 @@ function HeroDesignCarouselPortfolio({
52957
53095
  featuresSlot,
52958
53096
  heading,
52959
53097
  description,
52960
- primaryAction,
52961
- primaryActionAvatar,
52962
- secondaryAction,
53098
+ actions,
52963
53099
  actionsSlot,
53100
+ actionsClassName,
52964
53101
  carouselImages,
52965
53102
  carouselSlot,
52966
53103
  background,
52967
- spacing,
53104
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53105
+ spacing = "xl",
52968
53106
  pattern,
52969
53107
  patternOpacity,
52970
53108
  className,
52971
- containerClassName,
52972
53109
  contentClassName,
52973
53110
  headingClassName,
52974
53111
  descriptionClassName,
@@ -52984,7 +53121,7 @@ function HeroDesignCarouselPortfolio({
52984
53121
  img.Img,
52985
53122
  {
52986
53123
  src: logoSrc,
52987
- className: cn("h-12 lg:h-16", logo.className),
53124
+ className: cn("object-contain w-auto h-12 lg:h-16", logo.className),
52988
53125
  alt: logo.alt,
52989
53126
  optixFlowConfig
52990
53127
  }
@@ -52993,53 +53130,23 @@ function HeroDesignCarouselPortfolio({
52993
53130
  const renderFeatures = React23.useMemo(() => {
52994
53131
  if (featuresSlot) return featuresSlot;
52995
53132
  if (!features || features.length === 0) return null;
52996
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("hidden items-center gap-6 lg:flex", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 ", children: [
52997
- feature.icon ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName || "lucide/check-circle", size: 24 }),
52998
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: feature.title })
52999
- ] }, index)) });
53000
- }, [featuresSlot, features, featuresClassName]);
53001
- const renderPrimaryAction = React23.useMemo(() => {
53002
- if (actionsSlot) return null;
53003
- if (!primaryAction) return null;
53004
- const { label, className: actionClassName, ...pressableProps } = primaryAction;
53005
- return /* @__PURE__ */ jsxRuntime.jsxs(
53006
- Pressable,
53133
+ return /* @__PURE__ */ jsxRuntime.jsx(
53134
+ "div",
53007
53135
  {
53008
- asButton: true,
53009
- className: actionClassName,
53010
- ...pressableProps,
53011
- children: [
53012
- /* @__PURE__ */ jsxRuntime.jsx(
53013
- img.Img,
53136
+ className: cn("hidden items-center gap-6 lg:flex", featuresClassName),
53137
+ children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 ", children: [
53138
+ feature.icon ?? /* @__PURE__ */ jsxRuntime.jsx(
53139
+ DynamicIcon,
53014
53140
  {
53015
- src: primaryActionAvatar,
53016
- alt: "",
53017
- className: "size-9 rounded-full object-cover lg:size-11",
53018
- optixFlowConfig
53141
+ name: feature.iconName || "lucide/check-circle",
53142
+ size: 24
53019
53143
  }
53020
53144
  ),
53021
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
53022
- ]
53023
- }
53024
- );
53025
- }, [actionsSlot, primaryAction, primaryActionAvatar, optixFlowConfig]);
53026
- const renderSecondaryAction = React23.useMemo(() => {
53027
- if (actionsSlot) return null;
53028
- if (!secondaryAction) return null;
53029
- const { label, iconAfter, className: actionClassName, ...pressableProps } = secondaryAction;
53030
- return /* @__PURE__ */ jsxRuntime.jsxs(
53031
- Pressable,
53032
- {
53033
- asButton: true,
53034
- className: actionClassName,
53035
- ...pressableProps,
53036
- children: [
53037
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
53038
- iconAfter
53039
- ]
53145
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: feature.title })
53146
+ ] }, index))
53040
53147
  }
53041
53148
  );
53042
- }, [actionsSlot, secondaryAction]);
53149
+ }, [featuresSlot, features, featuresClassName]);
53043
53150
  const renderCarousel = React23.useMemo(() => {
53044
53151
  if (carouselSlot) return carouselSlot;
53045
53152
  if (!carouselImages || carouselImages.length === 0) return null;
@@ -53059,7 +53166,10 @@ function HeroDesignCarouselPortfolio({
53059
53166
  delay: 1e3
53060
53167
  })
53061
53168
  ],
53062
- className: cn("relative mx-auto w-full max-w-full overflow-hidden from-white to-transparent before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[20%] before:bg-linear-to-r before:content-[''] after:absolute after:top-0 after:right-0 after:z-10 after:h-full after:w-[20%] after:bg-linear-to-l after:from-white after:to-transparent after:content-['']", carouselClassName),
53169
+ className: cn(
53170
+ "relative mx-auto w-full max-w-full overflow-hidden from-white to-transparent before:absolute before:top-0 before:left-0 before:z-10 before:h-full before:w-[20%] before:bg-linear-to-r before:content-[''] after:absolute after:top-0 after:right-0 after:z-10 after:h-full after:w-[20%] after:bg-linear-to-l after:from-white after:to-transparent after:content-['']",
53171
+ carouselClassName
53172
+ ),
53063
53173
  children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "ml-5 flex gap-5 pl-4", children: carouselImages.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "basis-[496px] bg-background", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[380px] basis-[480px] overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(
53064
53174
  img.Img,
53065
53175
  {
@@ -53080,20 +53190,72 @@ function HeroDesignCarouselPortfolio({
53080
53190
  pattern,
53081
53191
  patternOpacity,
53082
53192
  className: cn("relative", className),
53193
+ containerClassName,
53083
53194
  children: [
53084
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative z-10 container mx-auto", containerClassName), children: [
53085
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-8", children: renderLogo }),
53086
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-10 py-10 lg:py-28", contentClassName), children: [
53087
- renderFeatures,
53088
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 flex-col gap-4", children: [
53089
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl", headingClassName), children: heading })),
53090
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg lg:text-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg lg:text-2xl", descriptionClassName), children: description }))
53091
- ] }) }),
53092
- actionsSlot || renderPrimaryAction
53093
- ] })
53195
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
53196
+ renderLogo ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-8", children: renderLogo }) : null,
53197
+ /* @__PURE__ */ jsxRuntime.jsxs(
53198
+ "div",
53199
+ {
53200
+ className: cn(
53201
+ "flex flex-col gap-10 pt-12 pb-8 lg:pt-24 lg:pb-12",
53202
+ contentClassName
53203
+ ),
53204
+ children: [
53205
+ renderFeatures,
53206
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 flex-col gap-4", children: [
53207
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53208
+ "h1",
53209
+ {
53210
+ className: cn(
53211
+ "max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl font-semibold",
53212
+ headingClassName
53213
+ ),
53214
+ children: heading
53215
+ }
53216
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
53217
+ "h1",
53218
+ {
53219
+ className: cn(
53220
+ "max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl font-semibold",
53221
+ headingClassName
53222
+ ),
53223
+ children: heading
53224
+ }
53225
+ )),
53226
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53227
+ "p",
53228
+ {
53229
+ className: cn(
53230
+ "text-lg lg:text-2xl text-balance",
53231
+ descriptionClassName
53232
+ ),
53233
+ children: description
53234
+ }
53235
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
53236
+ "p",
53237
+ {
53238
+ className: cn(
53239
+ "text-lg lg:text-2xl text-balance",
53240
+ descriptionClassName
53241
+ ),
53242
+ children: description
53243
+ }
53244
+ ))
53245
+ ] }) }),
53246
+ /* @__PURE__ */ jsxRuntime.jsx(
53247
+ BlockActions,
53248
+ {
53249
+ actions,
53250
+ actionsSlot,
53251
+ actionsClassName
53252
+ }
53253
+ )
53254
+ ]
53255
+ }
53256
+ )
53094
53257
  ] }),
53095
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex flex-col", children: renderCarousel }),
53096
- actionsSlot || renderSecondaryAction
53258
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex flex-col", children: renderCarousel })
53097
53259
  ]
53098
53260
  }
53099
53261
  );
@@ -53106,45 +53268,28 @@ function HeroGradientClientFocused({
53106
53268
  image,
53107
53269
  imageSlot,
53108
53270
  background,
53109
- spacing,
53271
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53272
+ spacing = "xl",
53110
53273
  pattern,
53111
53274
  patternOpacity,
53112
53275
  className,
53113
- containerClassName,
53114
53276
  headingClassName,
53115
53277
  descriptionClassName,
53116
53278
  actionsClassName,
53117
53279
  imageClassName,
53118
53280
  optixFlowConfig
53119
53281
  }) {
53120
- const renderActions = React23.useMemo(() => {
53121
- if (actionsSlot) return actionsSlot;
53122
- if (!actions || actions.length === 0) return null;
53123
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center gap-2.5 text-lg max-lg:flex-col max-lg:text-base", actionsClassName), children: actions.map((action, index) => {
53124
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53125
- return /* @__PURE__ */ jsxRuntime.jsx(
53126
- Pressable,
53127
- {
53128
- asButton: true,
53129
- className: actionClassName,
53130
- ...pressableProps,
53131
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53132
- icon,
53133
- label,
53134
- iconAfter
53135
- ] })
53136
- },
53137
- index
53138
- );
53139
- }) });
53140
- }, [actionsSlot, actions, actionsClassName]);
53141
53282
  const renderImage = React23.useMemo(() => {
53142
53283
  if (imageSlot) return imageSlot;
53143
53284
  if (!image) return null;
53144
53285
  return /* @__PURE__ */ jsxRuntime.jsx(
53145
53286
  img.Img,
53146
53287
  {
53147
- className: cn("mt-10 w-[50%] rounded-xl shadow-[rgba(50,50,105,0.15)_0px_2px_5px_0px,rgba(0,0,0,0.05)_0px_1px_1px_0px] max-lg:w-full", imageClassName, image.className),
53288
+ className: cn(
53289
+ "rounded-2xl aspect-video shadow-xl w-full h-auto object-cover",
53290
+ imageClassName,
53291
+ image.className
53292
+ ),
53148
53293
  src: image.src,
53149
53294
  alt: image.alt,
53150
53295
  optixFlowConfig
@@ -53154,14 +53299,50 @@ function HeroGradientClientFocused({
53154
53299
  return /* @__PURE__ */ jsxRuntime.jsx(
53155
53300
  Section,
53156
53301
  {
53157
- className: cn(
53158
- "bg-gradient-to-b from-accent/5 to-primary/5 py-20 text-center",
53159
- className
53160
- ),
53161
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container flex flex-col items-center gap-5", containerClassName), children: [
53162
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-2xl text-7xl font-medium max-lg:text-5xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-2xl text-7xl font-medium max-lg:text-5xl", headingClassName), children: heading })),
53163
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl max-lg:text-sm", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53164
- renderActions,
53302
+ className: cn("text-center", className),
53303
+ background,
53304
+ spacing,
53305
+ pattern,
53306
+ patternOpacity,
53307
+ containerClassName,
53308
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col items-center gap-8 md:gap-12", children: [
53309
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53310
+ "h1",
53311
+ {
53312
+ className: cn(
53313
+ "max-w-2xl text-7xl font-semibold max-lg:text-5xl text-balance",
53314
+ headingClassName
53315
+ ),
53316
+ children: heading
53317
+ }
53318
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
53319
+ "h1",
53320
+ {
53321
+ className: cn(
53322
+ "max-w-2xl text-7xl font-semibold max-lg:text-5xl text-balance",
53323
+ headingClassName
53324
+ ),
53325
+ children: heading
53326
+ }
53327
+ )),
53328
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53329
+ "p",
53330
+ {
53331
+ className: cn(
53332
+ "max-w-2xl max-lg:text-sm text-balance",
53333
+ descriptionClassName
53334
+ ),
53335
+ children: description
53336
+ }
53337
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53338
+ /* @__PURE__ */ jsxRuntime.jsx(
53339
+ BlockActions,
53340
+ {
53341
+ actions,
53342
+ actionsSlot,
53343
+ actionsClassName
53344
+ }
53345
+ ),
53165
53346
  renderImage
53166
53347
  ] })
53167
53348
  }
@@ -53292,48 +53473,21 @@ function HeroUiLibraryShowcase({
53292
53473
  description,
53293
53474
  actions,
53294
53475
  actionsSlot,
53476
+ actionsClassName,
53295
53477
  image,
53296
53478
  imageSlot,
53297
53479
  background,
53298
- spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
53299
53480
  pattern,
53300
53481
  patternOpacity,
53301
53482
  className,
53302
53483
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53484
+ spacing = "xl",
53303
53485
  headerClassName,
53304
53486
  headingClassName,
53305
53487
  descriptionClassName,
53306
53488
  imageClassName,
53307
53489
  optixFlowConfig
53308
53490
  }) {
53309
- const renderActions = React23.useMemo(() => {
53310
- if (actionsSlot) return actionsSlot;
53311
- if (!actions || actions.length === 0) return null;
53312
- return actions.map((action, index) => {
53313
- const {
53314
- label,
53315
- icon,
53316
- iconAfter,
53317
- children,
53318
- className: actionClassName,
53319
- ...pressableProps
53320
- } = action;
53321
- return /* @__PURE__ */ jsxRuntime.jsx(
53322
- Pressable,
53323
- {
53324
- asButton: true,
53325
- className: actionClassName,
53326
- ...pressableProps,
53327
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53328
- icon,
53329
- label,
53330
- iconAfter
53331
- ] })
53332
- },
53333
- index
53334
- );
53335
- });
53336
- }, [actionsSlot, actions]);
53337
53491
  const renderLogo = React23.useMemo(() => {
53338
53492
  if (logoSlot) return logoSlot;
53339
53493
  if (!logo) return null;
@@ -53350,7 +53504,7 @@ function HeroUiLibraryShowcase({
53350
53504
  const renderImage = React23.useMemo(() => {
53351
53505
  if (imageSlot) return imageSlot;
53352
53506
  if (!image) return null;
53353
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
53507
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full overflow-hidden rounded-2xl shadow-xl mt-8 md:mt-12", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
53354
53508
  img.Img,
53355
53509
  {
53356
53510
  src: image.src,
@@ -53374,48 +53528,48 @@ function HeroUiLibraryShowcase({
53374
53528
  className,
53375
53529
  containerClassName,
53376
53530
  children: [
53377
- /* @__PURE__ */ jsxRuntime.jsxs(
53378
- "div",
53379
- {
53380
- className: cn("flex flex-col gap-10 md:items-center", headerClassName),
53381
- children: [
53382
- renderLogo,
53383
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-[880px] flex-col items-center gap-6", children: [
53384
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53385
- "h1",
53386
- {
53387
- className: cn(
53388
- "text-4xl tracking-tighter capitalize md:text-5xl lg:text-6xl",
53389
- headingClassName
53390
- ),
53391
- children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: heading })
53392
- }
53393
- ) : /* @__PURE__ */ jsxRuntime.jsx(
53394
- "h1",
53395
- {
53396
- className: cn(
53397
- "text-4xl tracking-tighter capitalize md:text-5xl lg:text-6xl",
53398
- headingClassName
53399
- ),
53400
- children: heading
53401
- }
53402
- )),
53403
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53404
- "p",
53405
- {
53406
- className: cn(
53407
- "text-xl",
53408
- getTextColor(background, "muted"),
53409
- descriptionClassName
53410
- ),
53411
- children: description
53412
- }
53413
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
53414
- ] }),
53415
- renderActions
53416
- ]
53417
- }
53418
- ),
53531
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-10 items-start", headerClassName), children: [
53532
+ renderLogo,
53533
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-[880px] flex-col items-center gap-6", children: [
53534
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53535
+ "h1",
53536
+ {
53537
+ className: cn(
53538
+ "text-4xl tracking-tighter font-semibold md:text-5xl lg:text-6xl",
53539
+ headingClassName
53540
+ ),
53541
+ children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: heading })
53542
+ }
53543
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
53544
+ "h1",
53545
+ {
53546
+ className: cn(
53547
+ "text-4xl tracking-tighter font-semibold md:text-5xl lg:text-6xl",
53548
+ headingClassName
53549
+ ),
53550
+ children: heading
53551
+ }
53552
+ )),
53553
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53554
+ "p",
53555
+ {
53556
+ className: cn(
53557
+ "text-xl text-balance font-medium",
53558
+ descriptionClassName
53559
+ ),
53560
+ children: description
53561
+ }
53562
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
53563
+ ] }),
53564
+ /* @__PURE__ */ jsxRuntime.jsx(
53565
+ BlockActions,
53566
+ {
53567
+ actions,
53568
+ actionsSlot,
53569
+ actionsClassName
53570
+ }
53571
+ )
53572
+ ] }),
53419
53573
  renderImage
53420
53574
  ]
53421
53575
  }
@@ -53427,57 +53581,85 @@ function HeroFullscreenBackgroundImage({
53427
53581
  actions,
53428
53582
  actionsSlot,
53429
53583
  backgroundImage,
53430
- noiseOverlayUrl = "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
53431
53584
  background,
53432
- spacing,
53585
+ spacing = "none",
53433
53586
  pattern,
53434
53587
  patternOpacity,
53435
53588
  className,
53436
- contentClassName,
53589
+ containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
53590
+ contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
53437
53591
  headingClassName,
53438
53592
  descriptionClassName,
53439
- actionsClassName
53593
+ actionsClassName,
53594
+ optixFlowConfig
53440
53595
  }) {
53441
- const renderActions = React23.useMemo(() => {
53442
- if (actionsSlot) return actionsSlot;
53443
- if (!actions || actions.length === 0) return null;
53444
- return actions.map((action, index) => {
53445
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53446
- return /* @__PURE__ */ jsxRuntime.jsx(
53447
- Pressable,
53596
+ const renderBackground = React23.useMemo(() => {
53597
+ if (!backgroundImage) return null;
53598
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0", children: [
53599
+ /* @__PURE__ */ jsxRuntime.jsx(
53600
+ img.Img,
53448
53601
  {
53449
- asButton: true,
53450
- className: actionClassName,
53451
- ...pressableProps,
53452
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53453
- icon,
53454
- label,
53455
- iconAfter
53456
- ] })
53457
- },
53458
- index
53459
- );
53460
- });
53461
- }, [actionsSlot, actions]);
53602
+ src: backgroundImage,
53603
+ alt: "Full screen background image",
53604
+ className: "h-full w-full object-cover",
53605
+ loading: "eager",
53606
+ optixFlowConfig
53607
+ }
53608
+ ),
53609
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-b from-black/80 via-black/65 to-black/20" })
53610
+ ] });
53611
+ }, [backgroundImage, optixFlowConfig]);
53462
53612
  return /* @__PURE__ */ jsxRuntime.jsxs(
53463
53613
  Section,
53464
53614
  {
53615
+ background,
53616
+ spacing,
53617
+ pattern,
53618
+ patternOpacity,
53465
53619
  className: cn(
53466
- "dark relative flex h-svh max-h-[1400px] w-svw overflow-hidden bg-cover bg-center bg-no-repeat font-sans after:absolute after:top-0 after:left-0 after:z-10 after:h-full after:w-full after:bg-foreground/20 after:content-[''] md:h-svh",
53620
+ "relative flex h-full min-h-screen w-screen items-center justify-center overflow-hidden bg-black pb-0 pt-0 md:pt-0 px-0",
53467
53621
  className
53468
53622
  ),
53469
- style: { backgroundImage: `url('${backgroundImage}')` },
53623
+ containerClassName,
53470
53624
  children: [
53471
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative z-30 m-auto flex max-w-185 flex-col items-center justify-center gap-6 px-5", contentClassName), children: [
53472
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-center font-serif text-4xl leading-tight md:text-6xl xl:text-[4.4rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
53473
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53474
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: actionsClassName, children: renderActions })
53475
- ] }),
53476
- noiseOverlayUrl && /* @__PURE__ */ jsxRuntime.jsx(
53625
+ renderBackground,
53626
+ /* @__PURE__ */ jsxRuntime.jsxs(
53477
53627
  "div",
53478
53628
  {
53479
- className: "pointer-events-none absolute inset-0 z-20 h-full w-full bg-repeat opacity-15",
53480
- style: { backgroundImage: `url('${noiseOverlayUrl}')` }
53629
+ className: cn(
53630
+ "relative z-30 m-auto flex max-w-185 flex-col items-center justify-center gap-6 px-5",
53631
+ contentClassName
53632
+ ),
53633
+ children: [
53634
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53635
+ "h1",
53636
+ {
53637
+ className: cn(
53638
+ "text-center text-4xl leading-tight md:text-6xl xl:text-[4.4rem] text-balance text-white text-shadow-2xl",
53639
+ headingClassName
53640
+ ),
53641
+ children: heading
53642
+ }
53643
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
53644
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53645
+ "p",
53646
+ {
53647
+ className: cn(
53648
+ "text-center text-base text-balance text-shadow-2xl",
53649
+ descriptionClassName
53650
+ ),
53651
+ children: description
53652
+ }
53653
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53654
+ /* @__PURE__ */ jsxRuntime.jsx(
53655
+ BlockActions,
53656
+ {
53657
+ actions,
53658
+ actionsSlot,
53659
+ actionsClassName
53660
+ }
53661
+ )
53662
+ ]
53481
53663
  }
53482
53664
  )
53483
53665
  ]
@@ -53493,16 +53675,32 @@ function HeroFullscreenLogoCta({
53493
53675
  actionSlot,
53494
53676
  backgroundImage,
53495
53677
  background,
53496
- spacing,
53678
+ spacing = "none",
53497
53679
  pattern,
53498
53680
  patternOpacity,
53499
53681
  className,
53500
- containerClassName,
53501
- contentClassName,
53682
+ containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
53683
+ contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
53502
53684
  headingClassName,
53503
53685
  descriptionClassName,
53504
53686
  optixFlowConfig
53505
53687
  }) {
53688
+ const renderBackground = React23.useMemo(() => {
53689
+ if (!backgroundImage) return null;
53690
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0", children: [
53691
+ /* @__PURE__ */ jsxRuntime.jsx(
53692
+ img.Img,
53693
+ {
53694
+ src: backgroundImage,
53695
+ alt: "Full screen background image",
53696
+ className: "h-full w-full object-cover",
53697
+ loading: "eager",
53698
+ optixFlowConfig
53699
+ }
53700
+ ),
53701
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-b from-black/80 via-black/65 to-black/20" })
53702
+ ] });
53703
+ }, [backgroundImage, optixFlowConfig]);
53506
53704
  const renderLogo = React23.useMemo(() => {
53507
53705
  if (logoSlot) return logoSlot;
53508
53706
  if (!logo) return null;
@@ -53512,7 +53710,7 @@ function HeroFullscreenLogoCta({
53512
53710
  {
53513
53711
  src: logoSrc,
53514
53712
  alt: logo.alt,
53515
- className: cn("size-20", logo.className),
53713
+ className: cn("h-24 w-auto object-contain", logo.className),
53516
53714
  optixFlowConfig
53517
53715
  }
53518
53716
  );
@@ -53520,46 +53718,85 @@ function HeroFullscreenLogoCta({
53520
53718
  const renderAction = React23.useMemo(() => {
53521
53719
  if (actionSlot) return actionSlot;
53522
53720
  if (!action) return null;
53523
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53524
- return /* @__PURE__ */ jsxRuntime.jsx(
53525
- Pressable,
53526
- {
53527
- asButton: true,
53528
- className: actionClassName,
53529
- ...pressableProps,
53530
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53531
- icon,
53532
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-2xl", children: label }),
53533
- iconAfter
53534
- ] })
53535
- }
53536
- );
53721
+ const {
53722
+ label,
53723
+ icon,
53724
+ iconAfter,
53725
+ children,
53726
+ className: actionClassName,
53727
+ ...pressableProps
53728
+ } = action;
53729
+ return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53730
+ icon,
53731
+ label,
53732
+ iconAfter
53733
+ ] }) });
53537
53734
  }, [actionSlot, action]);
53538
- return /* @__PURE__ */ jsxRuntime.jsx(
53735
+ return /* @__PURE__ */ jsxRuntime.jsxs(
53539
53736
  Section,
53540
53737
  {
53738
+ background,
53739
+ spacing,
53740
+ pattern,
53741
+ patternOpacity,
53541
53742
  className: cn(
53542
- "dark h-screen w-screen bg-background bg-cover bg-center bg-no-repeat pt-12 pb-24",
53743
+ "relative flex h-full min-h-screen w-screen items-center justify-center overflow-hidden bg-black pb-0 pt-0 md:pt-0 px-0",
53543
53744
  className
53544
53745
  ),
53545
- style: { backgroundImage: `url('${backgroundImage}')` },
53546
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container flex h-full flex-col justify-between px-5 xl:px-20", containerClassName), children: [
53547
- renderLogo,
53548
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end justify-between", children: [
53549
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col gap-8 md:w-2/3", contentClassName), children: [
53550
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-6xl font-medium md:text-[5.8rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-6xl font-medium md:text-[5.8rem]", headingClassName), children: heading })),
53551
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xl md:text-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
53552
- ] }),
53553
- renderAction
53554
- ] })
53555
- ] })
53746
+ containerClassName,
53747
+ children: [
53748
+ renderBackground,
53749
+ /* @__PURE__ */ jsxRuntime.jsxs(
53750
+ "div",
53751
+ {
53752
+ className: cn(
53753
+ "relative z-30 m-auto flex max-w-185 flex-col items-start justify-center gap-6 px-5",
53754
+ contentClassName
53755
+ ),
53756
+ children: [
53757
+ renderLogo,
53758
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-end justify-between", children: [
53759
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full flex-col gap-8 md:w-2/3"), children: [
53760
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53761
+ "h1",
53762
+ {
53763
+ className: cn(
53764
+ "text-6xl font-font-semibold md:text-[5.8rem]",
53765
+ headingClassName
53766
+ ),
53767
+ children: heading
53768
+ }
53769
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
53770
+ "h1",
53771
+ {
53772
+ className: cn(
53773
+ "text-6xl font-semibold md:text-[5.8rem]",
53774
+ headingClassName
53775
+ ),
53776
+ children: heading
53777
+ }
53778
+ )),
53779
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53780
+ "p",
53781
+ {
53782
+ className: cn(
53783
+ "text-xl md:text-2xl text-balance",
53784
+ descriptionClassName
53785
+ ),
53786
+ children: description
53787
+ }
53788
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
53789
+ ] }),
53790
+ renderAction
53791
+ ] })
53792
+ ]
53793
+ }
53794
+ )
53795
+ ]
53556
53796
  }
53557
53797
  );
53558
53798
  }
53559
53799
  function HeroGradientAvatarsRating({
53560
- topLinkText,
53561
- topLinkHref,
53562
- topLinkSlot,
53563
53800
  heading,
53564
53801
  headingSubtitle,
53565
53802
  description,
@@ -53573,11 +53810,11 @@ function HeroGradientAvatarsRating({
53573
53810
  images,
53574
53811
  imagesSlot,
53575
53812
  background,
53576
- spacing,
53577
53813
  pattern,
53578
53814
  patternOpacity,
53579
53815
  className,
53580
- containerClassName,
53816
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53817
+ spacing = "xl",
53581
53818
  contentClassName,
53582
53819
  headingClassName,
53583
53820
  descriptionClassName,
@@ -53585,39 +53822,6 @@ function HeroGradientAvatarsRating({
53585
53822
  imagesClassName,
53586
53823
  optixFlowConfig
53587
53824
  }) {
53588
- const renderTopLink = React23.useMemo(() => {
53589
- if (topLinkSlot) return topLinkSlot;
53590
- if (!topLinkText || !topLinkHref) return null;
53591
- return /* @__PURE__ */ jsxRuntime.jsx(
53592
- Pressable,
53593
- {
53594
- href: topLinkHref,
53595
- className: cn("my-6 text-xs font-bold tracking-[0.3em] uppercase hover:underline", getTextColor(background, "muted")),
53596
- children: topLinkText
53597
- }
53598
- );
53599
- }, [topLinkSlot, topLinkText, topLinkHref]);
53600
- const renderActions = React23.useMemo(() => {
53601
- if (actionsSlot) return actionsSlot;
53602
- if (!actions || actions.length === 0) return null;
53603
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex w-full flex-col justify-center gap-3 sm:flex-row lg:justify-start", actionsClassName), children: actions.map((action, index) => {
53604
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53605
- return /* @__PURE__ */ jsxRuntime.jsx(
53606
- Pressable,
53607
- {
53608
- asButton: true,
53609
- className: actionClassName,
53610
- ...pressableProps,
53611
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53612
- icon,
53613
- label,
53614
- iconAfter
53615
- ] })
53616
- },
53617
- index
53618
- );
53619
- }) });
53620
- }, [actionsSlot, actions, actionsClassName]);
53621
53825
  const renderAvatars = React23.useMemo(() => {
53622
53826
  if (avatarsSlot) return avatarsSlot;
53623
53827
  if (!avatars || avatars.length === 0) return null;
@@ -53645,65 +53849,116 @@ function HeroGradientAvatarsRating({
53645
53849
  )),
53646
53850
  ratingValue && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: ratingValue })
53647
53851
  ] }),
53648
- ratingLabel && (typeof ratingLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: ratingLabel }) : ratingLabel)
53852
+ ratingLabel && (typeof ratingLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm font-medium"), children: ratingLabel }) : ratingLabel)
53649
53853
  ] });
53650
53854
  }, [ratingValue, ratingLabel, starCount]);
53651
53855
  const renderImages = React23.useMemo(() => {
53652
53856
  if (imagesSlot) return imagesSlot;
53653
53857
  if (!images || images.length === 0) return null;
53654
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative grid gap-4 lg:grid-cols-2", imagesClassName), children: [
53655
- images[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative aspect-3/4 w-full overflow-hidden rounded-lg", getNestedCardBg(background)), children: /* @__PURE__ */ jsxRuntime.jsx(
53656
- img.Img,
53657
- {
53658
- src: images[0].src,
53659
- alt: images[0].alt,
53660
- className: cn("h-full w-full object-cover transition-transform duration-300 hover:scale-105", images[0].className),
53661
- optixFlowConfig
53662
- }
53663
- ) }),
53664
- images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative aspect-3/4 w-full overflow-hidden rounded-lg lg:mt-8", getNestedCardBg(background)), children: /* @__PURE__ */ jsxRuntime.jsx(
53665
- img.Img,
53666
- {
53667
- src: images[1].src,
53668
- alt: images[1].alt,
53669
- className: cn("h-full w-full object-cover transition-transform duration-300 hover:scale-105", images[1].className),
53670
- optixFlowConfig
53671
- }
53672
- ) })
53673
- ] });
53858
+ return /* @__PURE__ */ jsxRuntime.jsxs(
53859
+ "div",
53860
+ {
53861
+ className: cn("relative grid gap-4 lg:grid-cols-2", imagesClassName),
53862
+ children: [
53863
+ images[0] && /* @__PURE__ */ jsxRuntime.jsx(
53864
+ "div",
53865
+ {
53866
+ className: cn(
53867
+ "relative aspect-3/4 w-full overflow-hidden rounded-xl shadow-xl"
53868
+ ),
53869
+ children: /* @__PURE__ */ jsxRuntime.jsx(
53870
+ img.Img,
53871
+ {
53872
+ src: images[0].src,
53873
+ alt: images[0].alt,
53874
+ className: cn(
53875
+ "h-full w-full object-cover transition-transform duration-300 hover:scale-105",
53876
+ images[0].className
53877
+ ),
53878
+ optixFlowConfig
53879
+ }
53880
+ )
53881
+ }
53882
+ ),
53883
+ images[1] && /* @__PURE__ */ jsxRuntime.jsx(
53884
+ "div",
53885
+ {
53886
+ className: cn(
53887
+ "relative aspect-3/4 w-full overflow-hidden rounded-lg lg:mt-8"
53888
+ ),
53889
+ children: /* @__PURE__ */ jsxRuntime.jsx(
53890
+ img.Img,
53891
+ {
53892
+ src: images[1].src,
53893
+ alt: images[1].alt,
53894
+ className: cn(
53895
+ "h-full w-full object-cover transition-transform duration-300 hover:scale-105",
53896
+ images[1].className
53897
+ ),
53898
+ optixFlowConfig
53899
+ }
53900
+ )
53901
+ }
53902
+ )
53903
+ ]
53904
+ }
53905
+ );
53674
53906
  }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
53675
- return /* @__PURE__ */ jsxRuntime.jsxs(
53907
+ return /* @__PURE__ */ jsxRuntime.jsx(
53676
53908
  Section,
53677
53909
  {
53678
53910
  background,
53679
53911
  spacing,
53680
53912
  pattern,
53681
53913
  patternOpacity,
53682
- className: cn(className),
53683
- children: [
53684
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-x-0 -top-20 -bottom-20 bg-[radial-gradient(ellipse_35%_15%_at_40%_55%,hsl(var(--accent))_0%,transparent_100%)] lg:bg-[radial-gradient(ellipse_12%_20%_at_60%_45%,hsl(var(--accent))_0%,transparent_100%)]" }),
53685
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-x-0 -top-20 -bottom-20 bg-[radial-gradient(ellipse_35%_20%_at_70%_75%,hsl(var(--accent))_0%,transparent_80%)] lg:bg-[radial-gradient(ellipse_15%_30%_at_70%_65%,hsl(var(--accent))_0%,transparent_80%)]" }),
53686
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-x-0 -top-20 -bottom-20 bg-[radial-gradient(hsl(var(--accent-foreground)/0.1)_1px,transparent_1px)] mask-[radial-gradient(ellipse_60%_60%_at_65%_50%,#000_0%,transparent_80%)] bg-size-[8px_8px]" }),
53687
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative z-10 container mx-auto px-4", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-8 lg:grid-cols-2", children: [
53688
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
53689
- renderTopLink,
53690
- heading && /* @__PURE__ */ jsxRuntime.jsxs("h1", { className: cn("text-4xl font-semibold sm:text-5xl", headingClassName), children: [
53691
- typeof heading === "string" ? heading : heading,
53692
- headingSubtitle && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53693
- /* @__PURE__ */ jsxRuntime.jsx("br", {}),
53694
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: getTextColor(background, "muted"), children: headingSubtitle })
53914
+ className,
53915
+ containerClassName,
53916
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-8 lg:grid-cols-2", children: [
53917
+ /* @__PURE__ */ jsxRuntime.jsxs(
53918
+ "div",
53919
+ {
53920
+ className: cn(
53921
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
53922
+ contentClassName
53923
+ ),
53924
+ children: [
53925
+ heading && /* @__PURE__ */ jsxRuntime.jsx(
53926
+ "h1",
53927
+ {
53928
+ className: cn(
53929
+ "text-4xl font-semibold sm:text-5xl",
53930
+ headingClassName
53931
+ ),
53932
+ children: typeof heading === "string" ? heading : heading
53933
+ }
53934
+ ),
53935
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53936
+ "p",
53937
+ {
53938
+ className: cn(
53939
+ "my-8 max-w-xl lg:text-lg",
53940
+ descriptionClassName
53941
+ ),
53942
+ children: description
53943
+ }
53944
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53945
+ /* @__PURE__ */ jsxRuntime.jsx(
53946
+ BlockActions,
53947
+ {
53948
+ actions,
53949
+ actionsSlot,
53950
+ actionsClassName
53951
+ }
53952
+ ),
53953
+ (avatars || avatarsSlot || ratingValue || ratingLabel) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 flex flex-col items-center gap-4 sm:flex-row sm:items-center", children: [
53954
+ renderAvatars,
53955
+ renderRating
53695
53956
  ] })
53696
- ] }),
53697
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("my-8 max-w-xl lg:text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53698
- renderActions,
53699
- (avatars || avatarsSlot || ratingValue || ratingLabel) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 flex flex-col items-center gap-4 sm:flex-row sm:items-center", children: [
53700
- renderAvatars,
53701
- renderRating
53702
- ] })
53703
- ] }),
53704
- renderImages
53705
- ] }) })
53706
- ]
53957
+ ]
53958
+ }
53959
+ ),
53960
+ renderImages
53961
+ ] }) })
53707
53962
  }
53708
53963
  );
53709
53964
  }
@@ -53713,47 +53968,20 @@ function HeroTaskTimerAnimated({
53713
53968
  descriptionClassName,
53714
53969
  actions,
53715
53970
  actionsSlot,
53971
+ actionsClassName,
53716
53972
  images,
53717
53973
  imagesSlot,
53718
53974
  background,
53719
- spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
53720
53975
  pattern,
53721
53976
  patternOpacity,
53722
53977
  className,
53978
+ spacing = "xl",
53723
53979
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53724
53980
  headerClassName,
53725
53981
  headingClassName,
53726
53982
  imagesClassName,
53727
53983
  optixFlowConfig
53728
53984
  }) {
53729
- const renderActions = React23.useMemo(() => {
53730
- if (actionsSlot) return actionsSlot;
53731
- if (!actions || actions.length === 0) return null;
53732
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start mt-6 md:mt-8 gap-4 sm:flex-row sm:items-center", children: actions.map((action, index) => {
53733
- const {
53734
- label,
53735
- icon,
53736
- iconAfter,
53737
- children,
53738
- className: actionClassName,
53739
- ...pressableProps
53740
- } = action;
53741
- return /* @__PURE__ */ jsxRuntime.jsx(
53742
- Pressable,
53743
- {
53744
- asButton: true,
53745
- className: actionClassName,
53746
- ...pressableProps,
53747
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53748
- icon,
53749
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
53750
- iconAfter
53751
- ] })
53752
- },
53753
- index
53754
- );
53755
- }) });
53756
- }, [actionsSlot, actions]);
53757
53985
  const renderImages = React23.useMemo(() => {
53758
53986
  if (imagesSlot) return imagesSlot;
53759
53987
  if (!images || images.length < 2) return null;
@@ -53824,7 +54052,14 @@ function HeroTaskTimerAnimated({
53824
54052
  }
53825
54053
  )),
53826
54054
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53827
- renderActions
54055
+ /* @__PURE__ */ jsxRuntime.jsx(
54056
+ BlockActions,
54057
+ {
54058
+ actions,
54059
+ actionsSlot,
54060
+ actionsClassName
54061
+ }
54062
+ )
53828
54063
  ] }),
53829
54064
  renderImages
53830
54065
  ] })
@@ -53838,17 +54073,15 @@ function HeroAiPoweredCarousel({
53838
54073
  description,
53839
54074
  actions,
53840
54075
  actionsSlot,
53841
- mobileCarouselImages1,
53842
- mobileCarouselImages2,
53843
- desktopCarouselImages1,
53844
- desktopCarouselImages2,
54076
+ carouselImages1,
54077
+ carouselImages2,
53845
54078
  carouselSlot,
53846
54079
  background,
53847
- spacing,
54080
+ spacing = "xl",
54081
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53848
54082
  pattern,
53849
54083
  patternOpacity,
53850
54084
  className,
53851
- containerClassName,
53852
54085
  contentClassName,
53853
54086
  badgeClassName,
53854
54087
  headingClassName,
@@ -53856,27 +54089,6 @@ function HeroAiPoweredCarousel({
53856
54089
  actionsClassName,
53857
54090
  optixFlowConfig
53858
54091
  }) {
53859
- const renderActions = React23.useMemo(() => {
53860
- if (actionsSlot) return actionsSlot;
53861
- if (!actions || actions.length === 0) return null;
53862
- return actions.map((action, index) => {
53863
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53864
- return /* @__PURE__ */ jsxRuntime.jsx(
53865
- Pressable,
53866
- {
53867
- asButton: true,
53868
- className: actionClassName,
53869
- ...pressableProps,
53870
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53871
- icon,
53872
- label,
53873
- iconAfter
53874
- ] })
53875
- },
53876
- index
53877
- );
53878
- });
53879
- }, [actionsSlot, actions]);
53880
54092
  return /* @__PURE__ */ jsxRuntime.jsx(
53881
54093
  Section,
53882
54094
  {
@@ -53885,19 +54097,63 @@ function HeroAiPoweredCarousel({
53885
54097
  pattern,
53886
54098
  patternOpacity,
53887
54099
  className,
53888
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-16 lg:grid-cols-2", children: [
53889
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto", contentClassName), children: [
53890
- (badge || badgeTagline) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-fit items-center gap-2 rounded-full border px-2.5 py-1.5 text-xs font-medium", badgeClassName), children: [
53891
- badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badge }),
53892
- badgeTagline
53893
- ] }),
53894
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-10 mb-4 text-3xl font-semibold lg:text-5xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
53895
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto lg:text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53896
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-10 flex flex-col gap-2 sm:flex-row", actionsClassName), children: renderActions })
53897
- ] }),
54100
+ containerClassName,
54101
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid items-center gap-16 lg:grid-cols-2", children: [
54102
+ /* @__PURE__ */ jsxRuntime.jsxs(
54103
+ "div",
54104
+ {
54105
+ className: cn(
54106
+ "mx-auto flex flex-col gap-4 md:gap-8",
54107
+ contentClassName
54108
+ ),
54109
+ children: [
54110
+ (badge || badgeTagline) && /* @__PURE__ */ jsxRuntime.jsxs(
54111
+ "div",
54112
+ {
54113
+ className: cn(
54114
+ "flex w-fit items-center gap-2 rounded-full border pl-2.5 pr-4 py-1.5 text-xs font-medium",
54115
+ badgeClassName
54116
+ ),
54117
+ children: [
54118
+ badge && /* @__PURE__ */ jsxRuntime.jsx(Badge, { children: badge }),
54119
+ badgeTagline
54120
+ ]
54121
+ }
54122
+ ),
54123
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
54124
+ "h1",
54125
+ {
54126
+ className: cn(
54127
+ "mt-10 mb-4 text-3xl font-semibold lg:text-5xl text-balance",
54128
+ headingClassName
54129
+ ),
54130
+ children: heading
54131
+ }
54132
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
54133
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
54134
+ "p",
54135
+ {
54136
+ className: cn(
54137
+ "mx-auto lg:text-lg text-balance",
54138
+ descriptionClassName
54139
+ ),
54140
+ children: description
54141
+ }
54142
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
54143
+ /* @__PURE__ */ jsxRuntime.jsx(
54144
+ BlockActions,
54145
+ {
54146
+ actions,
54147
+ actionsSlot,
54148
+ actionsClassName
54149
+ }
54150
+ )
54151
+ ]
54152
+ }
54153
+ ),
53898
54154
  carouselSlot ? carouselSlot : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
53899
54155
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-8 lg:hidden", children: [
53900
- mobileCarouselImages1 && mobileCarouselImages1.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
54156
+ carouselImages1 && carouselImages1.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
53901
54157
  Carousel,
53902
54158
  {
53903
54159
  opts: {
@@ -53909,18 +54165,21 @@ function HeroAiPoweredCarousel({
53909
54165
  })
53910
54166
  ],
53911
54167
  className: "-mx-7",
53912
- children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[350px]", children: mobileCarouselImages1.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsxRuntime.jsx(
54168
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[350px]", children: carouselImages1.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsxRuntime.jsx(
53913
54169
  img.Img,
53914
54170
  {
53915
54171
  src: image.src,
53916
54172
  alt: image.alt,
53917
- className: image.className,
54173
+ className: cn(
54174
+ "rounded-lg shadow-lg",
54175
+ image.className
54176
+ ),
53918
54177
  optixFlowConfig
53919
54178
  }
53920
54179
  ) }, index)) })
53921
54180
  }
53922
54181
  ),
53923
- mobileCarouselImages2 && mobileCarouselImages2.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
54182
+ carouselImages2 && carouselImages2.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
53924
54183
  Carousel,
53925
54184
  {
53926
54185
  opts: {
@@ -53933,12 +54192,15 @@ function HeroAiPoweredCarousel({
53933
54192
  })
53934
54193
  ],
53935
54194
  className: "-mx-7",
53936
- children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[350px]", children: mobileCarouselImages2.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsxRuntime.jsx(
54195
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[350px]", children: carouselImages2.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsxRuntime.jsx(
53937
54196
  img.Img,
53938
54197
  {
53939
54198
  src: image.src,
53940
54199
  alt: image.alt,
53941
- className: image.className,
54200
+ className: cn(
54201
+ "rounded-lg shadow-lg",
54202
+ image.className
54203
+ ),
53942
54204
  optixFlowConfig
53943
54205
  }
53944
54206
  ) }, index)) })
@@ -53946,7 +54208,7 @@ function HeroAiPoweredCarousel({
53946
54208
  )
53947
54209
  ] }),
53948
54210
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden grid-cols-2 gap-8 lg:grid", children: [
53949
- desktopCarouselImages1 && desktopCarouselImages1.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
54211
+ carouselImages1 && carouselImages1.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
53950
54212
  Carousel,
53951
54213
  {
53952
54214
  opts: {
@@ -53958,18 +54220,21 @@ function HeroAiPoweredCarousel({
53958
54220
  })
53959
54221
  ],
53960
54222
  orientation: "vertical",
53961
- children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[600px]", children: desktopCarouselImages1.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
54223
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[600px]", children: carouselImages1.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
53962
54224
  img.Img,
53963
54225
  {
53964
54226
  src: image.src,
53965
54227
  alt: image.alt,
53966
- className: image.className,
54228
+ className: cn(
54229
+ "rounded-lg shadow-lg",
54230
+ image.className
54231
+ ),
53967
54232
  optixFlowConfig
53968
54233
  }
53969
54234
  ) }, index)) })
53970
54235
  }
53971
54236
  ),
53972
- desktopCarouselImages2 && desktopCarouselImages2.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
54237
+ carouselImages2 && carouselImages2.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
53973
54238
  Carousel,
53974
54239
  {
53975
54240
  opts: {
@@ -53982,12 +54247,15 @@ function HeroAiPoweredCarousel({
53982
54247
  })
53983
54248
  ],
53984
54249
  orientation: "vertical",
53985
- children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[600px]", children: desktopCarouselImages2.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
54250
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "max-h-[600px]", children: carouselImages2.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
53986
54251
  img.Img,
53987
54252
  {
53988
54253
  src: image.src,
53989
54254
  alt: image.alt,
53990
- className: image.className,
54255
+ className: cn(
54256
+ "rounded-lg shadow-lg",
54257
+ image.className
54258
+ ),
53991
54259
  optixFlowConfig
53992
54260
  }
53993
54261
  ) }, index)) })
@@ -59686,7 +59954,7 @@ function HeroEventRegistration({
59686
59954
  locationSlot,
59687
59955
  background,
59688
59956
  containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
59689
- spacing = "py-20 md:py-32",
59957
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
59690
59958
  pattern,
59691
59959
  patternOpacity,
59692
59960
  className,
@@ -59705,34 +59973,6 @@ function HeroEventRegistration({
59705
59973
  badgeText
59706
59974
  ] });
59707
59975
  }, [badgeSlot, badgeIcon, badgeText]);
59708
- const renderActions = React23.useMemo(() => {
59709
- if (actionsSlot) return actionsSlot;
59710
- if (!actions || actions.length === 0) return null;
59711
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col gap-4 sm:flex-row", actionsClassName), children: actions.map((action, index) => {
59712
- const {
59713
- label,
59714
- icon,
59715
- iconAfter,
59716
- children,
59717
- className: actionClassName,
59718
- ...pressableProps
59719
- } = action;
59720
- return /* @__PURE__ */ jsxRuntime.jsx(
59721
- Pressable,
59722
- {
59723
- asButton: true,
59724
- className: actionClassName,
59725
- ...pressableProps,
59726
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
59727
- icon,
59728
- label,
59729
- iconAfter
59730
- ] })
59731
- },
59732
- index
59733
- );
59734
- }) });
59735
- }, [actionsSlot, actions, actionsClassName]);
59736
59976
  const renderStats = React23.useMemo(() => {
59737
59977
  if (statsSlot) return statsSlot;
59738
59978
  if (!stats || stats.length === 0) return null;
@@ -59808,7 +60048,14 @@ function HeroEventRegistration({
59808
60048
  }
59809
60049
  )),
59810
60050
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
59811
- renderActions,
60051
+ /* @__PURE__ */ jsxRuntime.jsx(
60052
+ BlockActions,
60053
+ {
60054
+ actions,
60055
+ actionsSlot,
60056
+ actionsClassName
60057
+ }
60058
+ ),
59812
60059
  renderStats
59813
60060
  ] }),
59814
60061
  renderImage
@@ -83255,7 +83502,7 @@ function ListSearchableGrid({
83255
83502
  }
83256
83503
  );
83257
83504
  }
83258
- var { useMemo: useMemo438 } = React23__namespace;
83505
+ var { useMemo: useMemo435 } = React23__namespace;
83259
83506
  function OfferModalNewsletterDiscount({
83260
83507
  title,
83261
83508
  emailPlaceholder,
@@ -83323,7 +83570,7 @@ function OfferModalNewsletterDiscount({
83323
83570
  });
83324
83571
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
83325
83572
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
83326
- const renderCloseButton = useMemo438(() => {
83573
+ const renderCloseButton = useMemo435(() => {
83327
83574
  if (closeButtonSlot) return closeButtonSlot;
83328
83575
  if (!closeButtonText) return null;
83329
83576
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -83337,12 +83584,12 @@ function OfferModalNewsletterDiscount({
83337
83584
  }
83338
83585
  ) }) });
83339
83586
  }, [closeButtonSlot, closeButtonText, closeClassName]);
83340
- const renderHeader = useMemo438(() => {
83587
+ const renderHeader = useMemo435(() => {
83341
83588
  if (headerSlot) return headerSlot;
83342
83589
  if (!title) return null;
83343
83590
  return /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
83344
83591
  }, [headerSlot, title, headerClassName, titleClassName]);
83345
- const renderForm = useMemo438(() => {
83592
+ const renderForm = useMemo435(() => {
83346
83593
  if (formSlot) return formSlot;
83347
83594
  return /* @__PURE__ */ jsxRuntime.jsxs(
83348
83595
  forms.Form,
@@ -83404,7 +83651,7 @@ function OfferModalNewsletterDiscount({
83404
83651
  }
83405
83652
  ) });
83406
83653
  }
83407
- var { useMemo: useMemo439 } = React23__namespace;
83654
+ var { useMemo: useMemo436 } = React23__namespace;
83408
83655
  function OfferModalMembershipImage({
83409
83656
  overline,
83410
83657
  title,
@@ -83481,7 +83728,7 @@ function OfferModalMembershipImage({
83481
83728
  });
83482
83729
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
83483
83730
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
83484
- const renderImage = useMemo439(() => {
83731
+ const renderImage = useMemo436(() => {
83485
83732
  if (imageSlot) return imageSlot;
83486
83733
  if (!image) return null;
83487
83734
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -83494,7 +83741,7 @@ function OfferModalMembershipImage({
83494
83741
  }
83495
83742
  ) });
83496
83743
  }, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
83497
- const renderCloseButton = useMemo439(() => {
83744
+ const renderCloseButton = useMemo436(() => {
83498
83745
  if (closeButtonSlot) return closeButtonSlot;
83499
83746
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
83500
83747
  Pressable,
@@ -83510,7 +83757,7 @@ function OfferModalMembershipImage({
83510
83757
  }
83511
83758
  ) }) });
83512
83759
  }, [closeButtonSlot, closeClassName]);
83513
- const renderForm = useMemo439(() => {
83760
+ const renderForm = useMemo436(() => {
83514
83761
  if (formSlot) return formSlot;
83515
83762
  return /* @__PURE__ */ jsxRuntime.jsxs(
83516
83763
  forms.Form,
@@ -83573,7 +83820,7 @@ function OfferModalMembershipImage({
83573
83820
  }
83574
83821
  );
83575
83822
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
83576
- const renderFooter = useMemo439(() => {
83823
+ const renderFooter = useMemo436(() => {
83577
83824
  if (footerSlot) return footerSlot;
83578
83825
  if (!description) return null;
83579
83826
  return /* @__PURE__ */ jsxRuntime.jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsxRuntime.jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
@@ -83693,7 +83940,7 @@ function SheetDescription({
83693
83940
  }
83694
83941
  );
83695
83942
  }
83696
- var { useMemo: useMemo440 } = React23__namespace;
83943
+ var { useMemo: useMemo437 } = React23__namespace;
83697
83944
  function OfferModalSheetNewsletter({
83698
83945
  logo,
83699
83946
  logoSlot,
@@ -83776,7 +84023,7 @@ function OfferModalSheetNewsletter({
83776
84023
  });
83777
84024
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
83778
84025
  const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
83779
- const renderLogo = useMemo440(() => {
84026
+ const renderLogo = useMemo437(() => {
83780
84027
  if (logoSlot) return logoSlot;
83781
84028
  if (!logo) return null;
83782
84029
  const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
@@ -83790,7 +84037,7 @@ function OfferModalSheetNewsletter({
83790
84037
  }
83791
84038
  );
83792
84039
  }, [logoSlot, logo, logoClassName, optixFlowConfig]);
83793
- const renderHeader = useMemo440(() => {
84040
+ const renderHeader = useMemo437(() => {
83794
84041
  if (headerSlot) return headerSlot;
83795
84042
  return /* @__PURE__ */ jsxRuntime.jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
83796
84043
  renderLogo,
@@ -83800,7 +84047,7 @@ function OfferModalSheetNewsletter({
83800
84047
  ] })
83801
84048
  ] });
83802
84049
  }, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
83803
- const renderForm = useMemo440(() => {
84050
+ const renderForm = useMemo437(() => {
83804
84051
  if (formSlot) return formSlot;
83805
84052
  return /* @__PURE__ */ jsxRuntime.jsx(
83806
84053
  forms.Form,
@@ -83848,7 +84095,7 @@ function OfferModalSheetNewsletter({
83848
84095
  }
83849
84096
  );
83850
84097
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
83851
- const renderLegal = useMemo440(() => {
84098
+ const renderLegal = useMemo437(() => {
83852
84099
  if (legalSlot) return legalSlot;
83853
84100
  if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
83854
84101
  return /* @__PURE__ */ jsxRuntime.jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
@@ -83862,7 +84109,7 @@ function OfferModalSheetNewsletter({
83862
84109
  "."
83863
84110
  ] });
83864
84111
  }, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
83865
- const renderImage = useMemo440(() => {
84112
+ const renderImage = useMemo437(() => {
83866
84113
  if (imageSlot) return imageSlot;
83867
84114
  if (!image) return null;
83868
84115
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(