@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.js CHANGED
@@ -50423,27 +50423,31 @@ function HeroCenteredImageGrid({
50423
50423
  gridImages,
50424
50424
  gridImagesSlot,
50425
50425
  imageOverlayAction,
50426
- logos,
50427
- logosSlot,
50428
50426
  background,
50429
- spacing,
50430
50427
  pattern,
50431
50428
  patternOpacity,
50432
50429
  className,
50433
- containerClassName,
50430
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50431
+ spacing = "xl",
50434
50432
  contentClassName,
50435
50433
  headingClassName,
50436
50434
  descriptionClassName,
50437
50435
  actionsClassName,
50438
50436
  imageGridClassName,
50439
- logosClassName,
50440
50437
  optixFlowConfig
50441
50438
  }) {
50442
50439
  const renderActions = useMemo(() => {
50443
50440
  if (actionsSlot) return actionsSlot;
50444
50441
  if (!actions || actions.length === 0) return null;
50445
50442
  return actions.map((action, index) => {
50446
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
50443
+ const {
50444
+ label,
50445
+ icon,
50446
+ iconAfter,
50447
+ children,
50448
+ className: actionClassName,
50449
+ ...pressableProps
50450
+ } = action;
50447
50451
  return /* @__PURE__ */ jsx(
50448
50452
  Pressable,
50449
50453
  {
@@ -50462,38 +50466,20 @@ function HeroCenteredImageGrid({
50462
50466
  }, [actionsSlot, actions]);
50463
50467
  const renderImageOverlayAction = useMemo(() => {
50464
50468
  if (!imageOverlayAction) return null;
50465
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = imageOverlayAction;
50466
- return /* @__PURE__ */ jsx(
50467
- Pressable,
50468
- {
50469
- asButton: true,
50470
- className: actionClassName,
50471
- ...pressableProps,
50472
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
50473
- icon,
50474
- label,
50475
- iconAfter
50476
- ] })
50477
- }
50478
- );
50469
+ const {
50470
+ label,
50471
+ icon,
50472
+ iconAfter,
50473
+ children,
50474
+ className: actionClassName,
50475
+ ...pressableProps
50476
+ } = imageOverlayAction;
50477
+ return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
50478
+ icon,
50479
+ label,
50480
+ iconAfter
50481
+ ] }) });
50479
50482
  }, [imageOverlayAction]);
50480
- const renderLogos = useMemo(() => {
50481
- if (logosSlot) return logosSlot;
50482
- if (!logos || logos.length === 0) return null;
50483
- return logos.map((logo, index) => {
50484
- const src = typeof logo.src === "string" ? logo.src : logo.src.light;
50485
- typeof logo.src === "string" ? logo.src : logo.src.dark;
50486
- return /* @__PURE__ */ jsx(React23.Fragment, { children: /* @__PURE__ */ jsx(
50487
- Img,
50488
- {
50489
- src,
50490
- alt: logo.alt,
50491
- className: cn(logo.className, "dark:invert"),
50492
- optixFlowConfig
50493
- }
50494
- ) }, index);
50495
- });
50496
- }, [logosSlot, logos, optixFlowConfig]);
50497
50483
  return /* @__PURE__ */ jsx(
50498
50484
  Section,
50499
50485
  {
@@ -50501,39 +50487,90 @@ function HeroCenteredImageGrid({
50501
50487
  spacing,
50502
50488
  pattern,
50503
50489
  patternOpacity,
50504
- className: cn(className),
50505
- children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
50506
- /* @__PURE__ */ jsx("div", { className: "mx-auto flex max-w-5xl flex-col items-center", children: /* @__PURE__ */ jsxs("div", { className: cn("z-10 flex flex-col items-center gap-8 text-center", contentClassName), children: [
50507
- /* @__PURE__ */ jsxs("div", { className: "max-w-3xl", children: [
50508
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mb-4 text-4xl font-semibold text-pretty lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
50509
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
50510
- ] }),
50511
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("flex w-full flex-col justify-center gap-2 sm:flex-row", actionsClassName), children: renderActions })
50512
- ] }) }),
50513
- gridImagesSlot ? gridImagesSlot : /* @__PURE__ */ jsxs("div", { className: cn("mx-auto mt-20 grid max-w-7xl gap-px bg-border p-px md:grid-cols-5", imageGridClassName), children: [
50514
- gridImages?.[0] && /* @__PURE__ */ jsx(
50515
- Img,
50516
- {
50517
- src: gridImages[0].src,
50518
- alt: gridImages[0].alt,
50519
- className: cn("h-full max-h-[500px] w-full object-cover md:col-span-3 dark:invert", gridImages[0].className),
50520
- optixFlowConfig
50521
- }
50522
- ),
50523
- gridImages?.[1] && /* @__PURE__ */ jsxs("div", { className: "relative md:col-span-2", children: [
50524
- /* @__PURE__ */ jsx(
50525
- Img,
50526
- {
50527
- src: gridImages[1].src,
50528
- alt: gridImages[1].alt,
50529
- className: cn("h-full max-h-[500px] w-full object-cover dark:invert", gridImages[1].className),
50530
- optixFlowConfig
50531
- }
50490
+ className,
50491
+ containerClassName,
50492
+ children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
50493
+ /* @__PURE__ */ jsx("div", { className: "mx-auto flex max-w-5xl flex-col items-center", children: /* @__PURE__ */ jsxs(
50494
+ "div",
50495
+ {
50496
+ className: cn(
50497
+ "z-10 flex flex-col items-center gap-8 text-center",
50498
+ contentClassName
50532
50499
  ),
50533
- renderImageOverlayAction
50534
- ] })
50535
- ] }),
50536
- (logosSlot || logos && logos.length > 0) && /* @__PURE__ */ 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 })
50500
+ children: [
50501
+ /* @__PURE__ */ jsxs("div", { className: "max-w-3xl", children: [
50502
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
50503
+ "h1",
50504
+ {
50505
+ className: cn(
50506
+ "mb-4 text-4xl font-semibold text-balance lg:text-6xl",
50507
+ headingClassName
50508
+ ),
50509
+ children: heading
50510
+ }
50511
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
50512
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
50513
+ "p",
50514
+ {
50515
+ className: cn(
50516
+ "lg:text-xl text-balance",
50517
+ descriptionClassName
50518
+ ),
50519
+ children: description
50520
+ }
50521
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
50522
+ ] }),
50523
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
50524
+ "div",
50525
+ {
50526
+ className: cn(
50527
+ "flex w-full flex-col justify-center gap-2 sm:flex-row",
50528
+ actionsClassName
50529
+ ),
50530
+ children: renderActions
50531
+ }
50532
+ )
50533
+ ]
50534
+ }
50535
+ ) }),
50536
+ gridImagesSlot ? gridImagesSlot : /* @__PURE__ */ jsxs(
50537
+ "div",
50538
+ {
50539
+ className: cn(
50540
+ "mx-auto mt-20 grid max-w-7xl gap-px bg-border p-px md:grid-cols-5",
50541
+ imageGridClassName
50542
+ ),
50543
+ children: [
50544
+ gridImages?.[0] && /* @__PURE__ */ jsx(
50545
+ Img,
50546
+ {
50547
+ src: gridImages[0].src,
50548
+ alt: gridImages[0].alt,
50549
+ className: cn(
50550
+ "h-full max-h-[500px] w-full object-cover md:col-span-3 dark:invert",
50551
+ gridImages[0].className
50552
+ ),
50553
+ optixFlowConfig
50554
+ }
50555
+ ),
50556
+ gridImages?.[1] && /* @__PURE__ */ jsxs("div", { className: "relative md:col-span-2", children: [
50557
+ /* @__PURE__ */ jsx(
50558
+ Img,
50559
+ {
50560
+ src: gridImages[1].src,
50561
+ alt: gridImages[1].alt,
50562
+ className: cn(
50563
+ "h-full max-h-[500px] w-full object-cover dark:invert",
50564
+ gridImages[1].className
50565
+ ),
50566
+ optixFlowConfig
50567
+ }
50568
+ ),
50569
+ renderImageOverlayAction
50570
+ ] })
50571
+ ]
50572
+ }
50573
+ )
50537
50574
  ] })
50538
50575
  }
50539
50576
  );
@@ -50837,7 +50874,7 @@ function HeroLogoCenteredScreenshot({
50837
50874
  imageSlot,
50838
50875
  background,
50839
50876
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50840
- spacing = "py-6 md:py-32",
50877
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
50841
50878
  pattern,
50842
50879
  patternOpacity,
50843
50880
  className,
@@ -50966,7 +51003,7 @@ function HeroPatternLogoTechStack({
50966
51003
  techLogosSlot,
50967
51004
  background,
50968
51005
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
50969
- spacing = "py-12 md:py-32",
51006
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
50970
51007
  pattern,
50971
51008
  patternOpacity,
50972
51009
  className,
@@ -51145,37 +51182,16 @@ function HeroAnnouncementBadge({
51145
51182
  actions,
51146
51183
  actionsSlot,
51147
51184
  background,
51148
- spacing,
51149
51185
  pattern,
51150
51186
  patternOpacity,
51151
51187
  className,
51152
- containerClassName,
51188
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51189
+ spacing = "pt-32 pb-16 md:pt-32 md:pb-32",
51153
51190
  badgeClassName,
51154
51191
  headingClassName,
51155
51192
  descriptionClassName,
51156
51193
  actionsClassName
51157
51194
  }) {
51158
- const renderActions = useMemo(() => {
51159
- if (actionsSlot) return actionsSlot;
51160
- if (!actions || actions.length === 0) return null;
51161
- return actions.map((action, index) => {
51162
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
51163
- return /* @__PURE__ */ jsx(
51164
- Pressable,
51165
- {
51166
- asButton: true,
51167
- className: actionClassName,
51168
- ...pressableProps,
51169
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
51170
- icon,
51171
- label,
51172
- iconAfter
51173
- ] })
51174
- },
51175
- index
51176
- );
51177
- });
51178
- }, [actionsSlot, actions]);
51179
51195
  return /* @__PURE__ */ jsx(
51180
51196
  Section,
51181
51197
  {
@@ -51184,25 +51200,48 @@ function HeroAnnouncementBadge({
51184
51200
  pattern,
51185
51201
  patternOpacity,
51186
51202
  className,
51187
- children: /* @__PURE__ */ jsxs("div", { className: cn("container", containerClassName), children: [
51188
- badge && /* @__PURE__ */ jsxs(
51189
- Badge,
51203
+ containerClassName,
51204
+ children: /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col gap-4 md:gap-6 lg:gap-8", children: [
51205
+ badge && /* @__PURE__ */ jsxs(Badge, { className: cn("gap-2", badgeClassName), children: [
51206
+ badgeIcon && /* @__PURE__ */ jsx(
51207
+ "span",
51208
+ {
51209
+ className: cn(
51210
+ "flex size-8 shrink-0 items-center justify-center rounded-full"
51211
+ ),
51212
+ children: badgeIcon
51213
+ }
51214
+ ),
51215
+ typeof badge === "string" ? /* @__PURE__ */ jsx("p", { className: "truncate whitespace-nowrap pr-2", children: badge }) : badge
51216
+ ] }),
51217
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
51218
+ "h1",
51190
51219
  {
51191
- variant: "outline",
51192
- className: cn("mb-4 max-w-full text-sm font-normal lg:mb-10 lg:py-2 lg:pr-5 lg:pl-2", badgeClassName),
51193
- children: [
51194
- badgeIcon && /* @__PURE__ */ jsx("span", { className: cn(
51195
- "mr-2 flex size-8 shrink-0 items-center justify-center rounded-full",
51196
- getNestedCardBg(background, "accent"),
51197
- getNestedCardTextColor(background)
51198
- ), children: badgeIcon }),
51199
- typeof badge === "string" ? /* @__PURE__ */ jsx("p", { className: "truncate whitespace-nowrap", children: badge }) : badge
51200
- ]
51220
+ className: cn(
51221
+ "text-4xl leading-none font-bold tracking-tighter md:text-[7vw] lg:text-8xl",
51222
+ headingClassName
51223
+ ),
51224
+ children: heading
51201
51225
  }
51202
- ),
51203
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mb-6 text-4xl leading-none font-bold tracking-tighter md:text-[7vw] lg:text-8xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
51204
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-2xl md:text-[2vw] lg:text-xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
51205
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-6 flex flex-col gap-4 sm:flex-row lg:mt-10", actionsClassName), children: renderActions })
51226
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
51227
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
51228
+ "p",
51229
+ {
51230
+ className: cn(
51231
+ "max-w-2xl md:text-[2vw] lg:text-xl text-balance",
51232
+ descriptionClassName
51233
+ ),
51234
+ children: description
51235
+ }
51236
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
51237
+ /* @__PURE__ */ jsx(
51238
+ BlockActions,
51239
+ {
51240
+ actions,
51241
+ actionsSlot,
51242
+ actionsClassName
51243
+ }
51244
+ )
51206
51245
  ] })
51207
51246
  }
51208
51247
  );
@@ -51395,13 +51434,13 @@ function HeroSimpleCenteredImage({
51395
51434
  actions,
51396
51435
  actionsSlot,
51397
51436
  imageSrc,
51398
- imageAlt = "placeholder hero",
51437
+ imageAlt,
51399
51438
  background,
51400
- spacing,
51401
51439
  pattern,
51402
51440
  patternOpacity,
51403
51441
  className,
51404
- containerClassName,
51442
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51443
+ spacing = "xl",
51405
51444
  contentClassName,
51406
51445
  headingClassName,
51407
51446
  descriptionClassName,
@@ -51410,11 +51449,18 @@ function HeroSimpleCenteredImage({
51410
51449
  imageClassName,
51411
51450
  optixFlowConfig
51412
51451
  }) {
51413
- const renderActions = useMemo(() => {
51452
+ useMemo(() => {
51414
51453
  if (actionsSlot) return actionsSlot;
51415
51454
  if (!actions || actions.length === 0) return null;
51416
51455
  return actions.map((action, index) => {
51417
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
51456
+ const {
51457
+ label,
51458
+ icon,
51459
+ iconAfter,
51460
+ children,
51461
+ className: actionClassName,
51462
+ ...pressableProps
51463
+ } = action;
51418
51464
  return /* @__PURE__ */ jsx(
51419
51465
  Pressable,
51420
51466
  {
@@ -51438,22 +51484,69 @@ function HeroSimpleCenteredImage({
51438
51484
  spacing,
51439
51485
  pattern,
51440
51486
  patternOpacity,
51441
- className: cn(className),
51487
+ className,
51488
+ containerClassName,
51442
51489
  children: [
51443
- /* @__PURE__ */ jsxs("div", { className: cn("container flex flex-col items-center text-center", containerClassName, contentClassName), children: [
51444
- heading && (typeof heading === "string" ? /* @__PURE__ */ 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__ */ jsx("div", { className: headingClassName, children: heading })),
51445
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-6 max-w-xl lg:mb-12 lg:text-2xl", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
51446
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mb-6 flex gap-2 lg:mb-12", actionsClassName), children: renderActions })
51447
- ] }),
51448
- imageSrc && /* @__PURE__ */ jsx("div", { className: "container", children: /* @__PURE__ */ jsx("div", { className: cn("aspect-video mask-[linear-gradient(#000_80%,transparent_100%)]", imageWrapperClassName), children: /* @__PURE__ */ jsx(
51449
- Img,
51490
+ /* @__PURE__ */ jsxs(
51491
+ "div",
51450
51492
  {
51451
- src: imageSrc,
51452
- alt: imageAlt,
51453
- className: cn("h-full w-full rounded-md object-cover", imageClassName),
51454
- optixFlowConfig
51493
+ className: cn(
51494
+ "flex flex-col items-center text-center",
51495
+ contentClassName
51496
+ ),
51497
+ children: [
51498
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
51499
+ "h1",
51500
+ {
51501
+ className: cn(
51502
+ "my-3 text-3xl font-bold text-balance sm:text-4xl md:my-6 lg:text-6xl",
51503
+ headingClassName
51504
+ ),
51505
+ children: heading
51506
+ }
51507
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
51508
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
51509
+ "p",
51510
+ {
51511
+ className: cn(
51512
+ "max-w-xl md:max-w-md lg:text-2xl text-balance",
51513
+ descriptionClassName
51514
+ ),
51515
+ children: description
51516
+ }
51517
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
51518
+ /* @__PURE__ */ jsx(
51519
+ BlockActions,
51520
+ {
51521
+ actions,
51522
+ actionsSlot,
51523
+ actionsClassName
51524
+ }
51525
+ )
51526
+ ]
51455
51527
  }
51456
- ) }) })
51528
+ ),
51529
+ imageSrc && /* @__PURE__ */ jsx(
51530
+ "div",
51531
+ {
51532
+ className: cn(
51533
+ "aspect-video mask-[linear-gradient(#000_80%,transparent_100%)] mt-8 md:mt-16",
51534
+ imageWrapperClassName
51535
+ ),
51536
+ children: /* @__PURE__ */ jsx(
51537
+ Img,
51538
+ {
51539
+ src: imageSrc,
51540
+ alt: imageAlt,
51541
+ className: cn(
51542
+ "h-full w-full rounded-t-2xl object-cover",
51543
+ imageClassName
51544
+ ),
51545
+ optixFlowConfig
51546
+ }
51547
+ )
51548
+ }
51549
+ )
51457
51550
  ]
51458
51551
  }
51459
51552
  );
@@ -51470,7 +51563,7 @@ function HeroPlatformFeaturesGrid({
51470
51563
  featuresSlot,
51471
51564
  background,
51472
51565
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51473
- spacing = "py-32",
51566
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
51474
51567
  pattern,
51475
51568
  patternOpacity,
51476
51569
  className,
@@ -51489,7 +51582,7 @@ function HeroPlatformFeaturesGrid({
51489
51582
  src: logoSrc,
51490
51583
  alt: logo.alt,
51491
51584
  className: cn(
51492
- "mx-auto mb-5 w-16 md:mb-6 md:w-24 lg:mb-7 lg:w-28",
51585
+ "mx-auto mb-5 w-24 md:mb-6 md:w-28 lg:mb-7 lg:w-32",
51493
51586
  logo.imgClassName
51494
51587
  ),
51495
51588
  optixFlowConfig
@@ -51520,7 +51613,7 @@ function HeroPlatformFeaturesGrid({
51520
51613
  "div",
51521
51614
  {
51522
51615
  className: cn(
51523
- "mt-16 grid gap-px overflow-hidden rounded-lg border bg-input md:grid-cols-2 lg:grid-cols-4 w-full",
51616
+ "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",
51524
51617
  featuresClassName
51525
51618
  ),
51526
51619
  children: features.map((feature, index) => /* @__PURE__ */ jsxs(
@@ -51555,7 +51648,7 @@ function HeroPlatformFeaturesGrid({
51555
51648
  "div",
51556
51649
  {
51557
51650
  className: cn(
51558
- "flex flex-col items-center w-full gap-6 text-center",
51651
+ "flex flex-col items-center w-full gap-4 md:gap-6 text-center",
51559
51652
  headerClassName
51560
51653
  ),
51561
51654
  children: [
@@ -51580,7 +51673,7 @@ function HeroPlatformFeaturesGrid({
51580
51673
  children: heading
51581
51674
  }
51582
51675
  )),
51583
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-2xl md:text-lg text-balance"), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("max-w-2xl md:text-lg text-balance"), children: description })),
51676
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mb-6 max-w-2xl md:text-lg text-balance"), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("max-w-2xl md:text-lg text-balance"), children: description })),
51584
51677
  renderAction
51585
51678
  ]
51586
51679
  }
@@ -51596,11 +51689,12 @@ function HeroSpiralPatternCards({
51596
51689
  description,
51597
51690
  actions,
51598
51691
  actionsSlot,
51692
+ actionsClassName,
51599
51693
  images,
51600
51694
  imagesSlot,
51601
51695
  optixFlowConfig,
51602
51696
  background,
51603
- spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
51697
+ spacing = "xl",
51604
51698
  pattern,
51605
51699
  patternOpacity,
51606
51700
  className,
@@ -51609,34 +51703,6 @@ function HeroSpiralPatternCards({
51609
51703
  descriptionClassName,
51610
51704
  imagesClassName
51611
51705
  }) {
51612
- const renderActions = useMemo(() => {
51613
- if (actionsSlot) return actionsSlot;
51614
- if (!actions || actions.length === 0) return null;
51615
- return /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col justify-center gap-2 sm:flex-row", children: actions.map((action, index) => {
51616
- const {
51617
- label,
51618
- icon,
51619
- iconAfter,
51620
- children,
51621
- className: actionClassName,
51622
- ...pressableProps
51623
- } = action;
51624
- return /* @__PURE__ */ jsx(
51625
- Pressable,
51626
- {
51627
- asButton: true,
51628
- className: actionClassName,
51629
- ...pressableProps,
51630
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
51631
- icon,
51632
- label,
51633
- iconAfter
51634
- ] })
51635
- },
51636
- index
51637
- );
51638
- }) });
51639
- }, [actionsSlot, actions]);
51640
51706
  const renderImages = useMemo(() => {
51641
51707
  if (imagesSlot) return imagesSlot;
51642
51708
  if (!images || images.length === 0) return null;
@@ -51644,7 +51710,7 @@ function HeroSpiralPatternCards({
51644
51710
  "div",
51645
51711
  {
51646
51712
  className: cn(
51647
- "mt-16 flex flex-col items-center justify-center lg:mt-32",
51713
+ "mt-16 flex flex-col items-center justify-center lg:mt-20",
51648
51714
  imagesClassName
51649
51715
  ),
51650
51716
  children: /* @__PURE__ */ jsxs("div", { className: "relative mx-auto aspect-square w-[95%] max-w-125 sm:w-full", children: [
@@ -51729,7 +51795,14 @@ function HeroSpiralPatternCards({
51729
51795
  children: description
51730
51796
  }
51731
51797
  ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
51732
- renderActions
51798
+ /* @__PURE__ */ jsx(
51799
+ BlockActions,
51800
+ {
51801
+ actions,
51802
+ actionsSlot,
51803
+ actionsClassName
51804
+ }
51805
+ )
51733
51806
  ] }),
51734
51807
  renderImages
51735
51808
  ] })
@@ -51901,11 +51974,12 @@ function HeroSplitGeometricShapes({
51901
51974
  images,
51902
51975
  imagesSlot,
51903
51976
  background,
51904
- spacing = "py-6 md:py-32",
51977
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51978
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
51905
51979
  pattern,
51980
+ actionsClassName,
51906
51981
  patternOpacity,
51907
51982
  className,
51908
- containerClassName,
51909
51983
  contentClassName,
51910
51984
  headingClassName,
51911
51985
  descriptionClassName,
@@ -51935,34 +52009,6 @@ function HeroSplitGeometricShapes({
51935
52009
  const handleLightboxClose = useCallback(() => {
51936
52010
  setLightboxOpen(false);
51937
52011
  }, []);
51938
- const renderActions = useMemo(() => {
51939
- if (actionsSlot) return actionsSlot;
51940
- if (!actions || actions.length === 0) return null;
51941
- return /* @__PURE__ */ jsx("div", { className: "flex w-full flex-col justify-center gap-2 sm:flex-row lg:justify-start", children: actions.map((action, index) => {
51942
- const {
51943
- label,
51944
- icon,
51945
- iconAfter,
51946
- children,
51947
- className: actionClassName,
51948
- ...pressableProps
51949
- } = action;
51950
- return /* @__PURE__ */ jsx(
51951
- Pressable,
51952
- {
51953
- asButton: true,
51954
- className: actionClassName,
51955
- ...pressableProps,
51956
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
51957
- icon,
51958
- label,
51959
- iconAfter
51960
- ] })
51961
- },
51962
- index
51963
- );
51964
- }) });
51965
- }, [actionsSlot, actions]);
51966
52012
  const renderImages = useMemo(() => {
51967
52013
  if (imagesSlot) return imagesSlot;
51968
52014
  if (!images || images.length === 0) return null;
@@ -52038,54 +52084,70 @@ function HeroSplitGeometricShapes({
52038
52084
  spacing,
52039
52085
  pattern,
52040
52086
  patternOpacity,
52041
- className: cn(className),
52087
+ className,
52042
52088
  containerClassName,
52043
52089
  children: [
52044
- /* @__PURE__ */ jsx("div", { className: cn("flex flex-col items-center"), children: /* @__PURE__ */ 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__ */ jsxs("div", { className: "grid items-center gap-0 md:gap-8 lg:grid-cols-2", children: [
52045
- /* @__PURE__ */ jsxs(
52046
- "div",
52047
- {
52048
- className: cn(
52049
- "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",
52050
- contentClassName
52090
+ /* @__PURE__ */ jsx("div", { className: cn("flex flex-col items-center"), children: /* @__PURE__ */ jsx(
52091
+ "div",
52092
+ {
52093
+ className: cn(
52094
+ "2xl:w-[calc(min(100vw-2*theme(container.padding),100%+8rem))] w-full overflow-clip rounded-lg bg-muted"
52095
+ ),
52096
+ children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-0 md:gap-8 lg:grid-cols-2", children: [
52097
+ /* @__PURE__ */ jsxs(
52098
+ "div",
52099
+ {
52100
+ className: cn(
52101
+ "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",
52102
+ contentClassName
52103
+ ),
52104
+ children: [
52105
+ badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("p", { children: badgeText }) : badgeText),
52106
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
52107
+ "h1",
52108
+ {
52109
+ className: cn(
52110
+ "my-6 text-4xl font-bold text-balance lg:text-6xl",
52111
+ headingClassName
52112
+ ),
52113
+ children: heading
52114
+ }
52115
+ ) : /* @__PURE__ */ jsx(
52116
+ "h1",
52117
+ {
52118
+ className: cn(
52119
+ "my-6 text-4xl font-bold text-balance lg:text-6xl",
52120
+ headingClassName
52121
+ ),
52122
+ children: heading
52123
+ }
52124
+ )),
52125
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
52126
+ "p",
52127
+ {
52128
+ className: cn(
52129
+ "mb-4 md:mb-6 max-w-xl lg:text-xl text-balance",
52130
+ descriptionClassName
52131
+ ),
52132
+ children: description
52133
+ }
52134
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
52135
+ /* @__PURE__ */ jsx(
52136
+ BlockActions,
52137
+ {
52138
+ actions,
52139
+ actionsSlot,
52140
+ actionsClassName,
52141
+ mobileConfig: { width: "full", position: "center" }
52142
+ }
52143
+ )
52144
+ ]
52145
+ }
52051
52146
  ),
52052
- children: [
52053
- badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsx("p", { children: badgeText }) : badgeText),
52054
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
52055
- "h1",
52056
- {
52057
- className: cn(
52058
- "my-6 text-4xl font-bold text-pretty lg:text-6xl",
52059
- headingClassName
52060
- ),
52061
- children: heading
52062
- }
52063
- ) : /* @__PURE__ */ jsx(
52064
- "h1",
52065
- {
52066
- className: cn(
52067
- "my-6 text-4xl font-bold text-pretty lg:text-6xl",
52068
- headingClassName
52069
- ),
52070
- children: heading
52071
- }
52072
- )),
52073
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
52074
- "p",
52075
- {
52076
- className: cn(
52077
- "mb-8 max-w-xl lg:text-xl",
52078
- descriptionClassName
52079
- ),
52080
- children: description
52081
- }
52082
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
52083
- renderActions
52084
- ]
52085
- }
52086
- ),
52087
- renderImages
52088
- ] }) }) }),
52147
+ renderImages
52148
+ ] })
52149
+ }
52150
+ ) }),
52089
52151
  lightboxOpen && /* @__PURE__ */ jsx(
52090
52152
  Lightbox,
52091
52153
  {
@@ -52126,11 +52188,11 @@ function HeroCommunitySurveyCta({
52126
52188
  rightOverlayImage,
52127
52189
  imagesSlot,
52128
52190
  background,
52129
- spacing,
52191
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
52192
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
52130
52193
  pattern,
52131
52194
  patternOpacity,
52132
52195
  className,
52133
- containerClassName,
52134
52196
  announcementClassName,
52135
52197
  headingClassName,
52136
52198
  descriptionClassName,
@@ -52140,29 +52202,22 @@ function HeroCommunitySurveyCta({
52140
52202
  }) {
52141
52203
  const renderAnnouncement = useMemo(() => {
52142
52204
  if (announcementSlot) return announcementSlot;
52143
- return /* @__PURE__ */ jsxs(
52144
- Pressable,
52205
+ return /* @__PURE__ */ jsx(Pressable, { href: announcementHref, children: /* @__PURE__ */ jsxs(
52206
+ Badge,
52145
52207
  {
52146
- href: announcementHref,
52147
52208
  className: cn(
52148
- "group mx-auto mb-3 w-fit gap-3 rounded-full border px-5 py-2 text-sm",
52209
+ "group mx-auto w-fit gap-3 px-5 py-2 text-sm h-fit",
52149
52210
  announcementClassName
52150
52211
  ),
52151
52212
  children: [
52152
- /* @__PURE__ */ jsx("span", { className: "mr-1 font-medium", children: announcementPrimary }),
52153
- announcementSecondary,
52154
- /* @__PURE__ */ jsx(
52155
- DynamicIcon,
52156
- {
52157
- name: "lucide/minus",
52158
- size: 16,
52159
- className: "mx-1 inline-block"
52160
- }
52161
- ),
52162
- /* @__PURE__ */ jsx("span", { className: "font-semibold group-hover:underline", children: announcementLinkText })
52213
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
52214
+ /* @__PURE__ */ jsx("div", { className: "font-medium", children: announcementPrimary }),
52215
+ announcementSecondary
52216
+ ] }),
52217
+ announcementLinkText ? /* @__PURE__ */ jsx("span", { className: "font-semibold pl-4 ml-4 border-l", children: announcementLinkText }) : null
52163
52218
  ]
52164
52219
  }
52165
- );
52220
+ ) });
52166
52221
  }, [
52167
52222
  announcementSlot,
52168
52223
  announcementHref,
@@ -52171,46 +52226,119 @@ function HeroCommunitySurveyCta({
52171
52226
  announcementSecondary,
52172
52227
  announcementLinkText
52173
52228
  ]);
52229
+ const imageCount = useMemo(() => {
52230
+ let count = 0;
52231
+ if (mainImage) count++;
52232
+ if (leftOverlayImage) count++;
52233
+ if (rightOverlayImage) count++;
52234
+ return count;
52235
+ }, [mainImage, leftOverlayImage, rightOverlayImage]);
52174
52236
  const renderImages = useMemo(() => {
52175
52237
  if (imagesSlot) return imagesSlot;
52176
- return /* @__PURE__ */ jsxs("div", { className: cn("relative mx-auto max-w-5xl", imagesClassName), children: [
52177
- mainImage && /* @__PURE__ */ jsx(
52178
- Img,
52179
- {
52180
- src: mainImage.src,
52181
- alt: mainImage.alt,
52182
- className: mainImage.className,
52183
- optixFlowConfig
52184
- }
52185
- ),
52186
- leftOverlayImage && /* @__PURE__ */ jsx(
52187
- Img,
52238
+ if (imageCount === 0) return null;
52239
+ if (imageCount === 1) {
52240
+ const img = mainImage || leftOverlayImage || rightOverlayImage;
52241
+ return /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(
52242
+ "div",
52188
52243
  {
52189
- src: leftOverlayImage.src,
52190
- alt: leftOverlayImage.alt,
52191
- className: leftOverlayImage.className,
52192
- optixFlowConfig
52244
+ className: cn(
52245
+ "relative aspect-4/3 w-full max-w-lg overflow-hidden rounded-lg shadow-2xl",
52246
+ imagesClassName
52247
+ ),
52248
+ children: /* @__PURE__ */ jsx(
52249
+ Img,
52250
+ {
52251
+ src: img.src,
52252
+ alt: img.alt,
52253
+ className: "h-full w-full object-cover",
52254
+ optixFlowConfig
52255
+ }
52256
+ )
52193
52257
  }
52194
- ),
52195
- rightOverlayImage && /* @__PURE__ */ jsx(
52196
- Img,
52258
+ ) });
52259
+ }
52260
+ if (imageCount === 2) {
52261
+ const imgs = [mainImage, leftOverlayImage, rightOverlayImage].filter(
52262
+ Boolean
52263
+ );
52264
+ return /* @__PURE__ */ jsxs(
52265
+ "div",
52197
52266
  {
52198
- src: rightOverlayImage.src,
52199
- alt: rightOverlayImage.alt,
52200
- className: rightOverlayImage.className,
52201
- optixFlowConfig
52267
+ className: cn(
52268
+ "relative min-h-[350px] md:min-h-[400px] lg:min-h-[450px]",
52269
+ imagesClassName
52270
+ ),
52271
+ children: [
52272
+ /* @__PURE__ */ 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__ */ jsx(
52273
+ Img,
52274
+ {
52275
+ src: imgs[0].src,
52276
+ alt: imgs[0].alt,
52277
+ className: "h-full w-full object-cover",
52278
+ optixFlowConfig
52279
+ }
52280
+ ) }),
52281
+ /* @__PURE__ */ 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__ */ jsx(
52282
+ Img,
52283
+ {
52284
+ src: imgs[1].src,
52285
+ alt: imgs[1].alt,
52286
+ className: "h-full w-full object-cover",
52287
+ optixFlowConfig
52288
+ }
52289
+ ) })
52290
+ ]
52202
52291
  }
52203
- )
52204
- ] });
52292
+ );
52293
+ }
52294
+ return /* @__PURE__ */ jsxs(
52295
+ "div",
52296
+ {
52297
+ className: cn(
52298
+ "relative min-h-[380px] md:min-h-[430px] lg:min-h-[480px]",
52299
+ imagesClassName
52300
+ ),
52301
+ children: [
52302
+ /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-0 z-10 aspect-4/3 w-[65%] overflow-hidden rounded-lg shadow-2xl", children: /* @__PURE__ */ jsx(
52303
+ Img,
52304
+ {
52305
+ src: mainImage.src,
52306
+ alt: mainImage.alt,
52307
+ className: "h-full w-full object-cover",
52308
+ optixFlowConfig
52309
+ }
52310
+ ) }),
52311
+ /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 right-0 z-20 aspect-3/4 w-[50%] overflow-hidden rounded-lg shadow-2xl", children: /* @__PURE__ */ jsx(
52312
+ Img,
52313
+ {
52314
+ src: rightOverlayImage.src,
52315
+ alt: rightOverlayImage.alt,
52316
+ className: "h-full w-full object-cover",
52317
+ optixFlowConfig
52318
+ }
52319
+ ) }),
52320
+ /* @__PURE__ */ 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__ */ jsx(
52321
+ Img,
52322
+ {
52323
+ src: leftOverlayImage.src,
52324
+ alt: leftOverlayImage.alt,
52325
+ className: "h-full w-full object-cover",
52326
+ optixFlowConfig
52327
+ }
52328
+ ) })
52329
+ ]
52330
+ }
52331
+ );
52205
52332
  }, [
52206
52333
  imagesSlot,
52207
52334
  imagesClassName,
52335
+ imageCount,
52208
52336
  mainImage,
52209
52337
  leftOverlayImage,
52210
52338
  rightOverlayImage,
52211
52339
  optixFlowConfig
52212
52340
  ]);
52213
- return /* @__PURE__ */ jsxs(
52341
+ return /* @__PURE__ */ jsx(
52214
52342
  Section,
52215
52343
  {
52216
52344
  background,
@@ -52219,14 +52347,14 @@ function HeroCommunitySurveyCta({
52219
52347
  patternOpacity,
52220
52348
  className,
52221
52349
  containerClassName,
52222
- children: [
52223
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
52350
+ children: /* @__PURE__ */ jsxs("div", { className: "relative grid grid-cols-1 items-center gap-8 lg:grid-cols-2 lg:gap-12", children: [
52351
+ /* @__PURE__ */ jsxs("div", { children: [
52224
52352
  renderAnnouncement,
52225
52353
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
52226
52354
  "h1",
52227
52355
  {
52228
52356
  className: cn(
52229
- "mx-auto max-w-4xl text-4xl font-semibold text-balance lg:text-6xl",
52357
+ "max-w-4xl text-4xl font-semibold text-balance lg:text-6xl",
52230
52358
  headingClassName
52231
52359
  ),
52232
52360
  children: heading
@@ -52236,7 +52364,7 @@ function HeroCommunitySurveyCta({
52236
52364
  "p",
52237
52365
  {
52238
52366
  className: cn(
52239
- "mx-auto max-w-4xl lg:text-xl",
52367
+ "max-w-4xl lg:text-xl text-balance",
52240
52368
  descriptionClassName
52241
52369
  ),
52242
52370
  children: description
@@ -52251,11 +52379,8 @@ function HeroCommunitySurveyCta({
52251
52379
  }
52252
52380
  )
52253
52381
  ] }),
52254
- /* @__PURE__ */ jsxs("div", { className: "relative px-8", children: [
52255
- /* @__PURE__ */ jsx("div", { className: "absolute inset-0 top-1/2 h-full w-full bg-linear-to-b from-muted to-transparent to-50%" }),
52256
- renderImages
52257
- ] })
52258
- ]
52382
+ /* @__PURE__ */ jsx("div", { className: "relative", children: renderImages })
52383
+ ] })
52259
52384
  }
52260
52385
  );
52261
52386
  }
@@ -52269,7 +52394,6 @@ function HeroMarketplaceScatteredImages({
52269
52394
  taglineSlot,
52270
52395
  images,
52271
52396
  imagesSlot,
52272
- showGridPattern = true,
52273
52397
  background,
52274
52398
  spacing = "py-32 md:py-32",
52275
52399
  pattern,
@@ -52336,10 +52460,7 @@ function HeroMarketplaceScatteredImages({
52336
52460
  children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-3 md:grid-cols-3", children: columns.map((colImages, colIndex) => /* @__PURE__ */ jsx(
52337
52461
  "div",
52338
52462
  {
52339
- className: cn(
52340
- "grid gap-3",
52341
- colIndex === 2 && "hidden md:grid"
52342
- ),
52463
+ className: cn("grid gap-3", colIndex === 2 && "hidden md:grid"),
52343
52464
  children: colImages.map((image, imgIndex) => {
52344
52465
  const height = heightPatterns[colIndex][imgIndex % heightPatterns[colIndex].length];
52345
52466
  const direction = colIndex % 2 === 0 ? "up" : "down";
@@ -52408,7 +52529,7 @@ function HeroMarketplaceScatteredImages({
52408
52529
  "div",
52409
52530
  {
52410
52531
  className: cn(
52411
- "relative mx-auto max-w-xl py-10 text-center flex flex-col gap-6 items-center",
52532
+ "relative mx-auto max-w-xl py-0 md:py-10 text-center flex flex-col gap-6 items-center",
52412
52533
  contentClassName
52413
52534
  ),
52414
52535
  children: [
@@ -52472,34 +52593,6 @@ function HeroBadgeShadowOverlay({
52472
52593
  headingClassName,
52473
52594
  actionsClassName
52474
52595
  }) {
52475
- const renderActions = useMemo(() => {
52476
- if (actionsSlot) return actionsSlot;
52477
- if (!actions || actions.length === 0) return null;
52478
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
52479
- const {
52480
- label,
52481
- icon,
52482
- iconAfter,
52483
- children,
52484
- className: actionClassName,
52485
- ...pressableProps
52486
- } = action;
52487
- return /* @__PURE__ */ jsx(
52488
- Pressable,
52489
- {
52490
- asButton: true,
52491
- className: actionClassName,
52492
- ...pressableProps,
52493
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
52494
- icon,
52495
- label,
52496
- iconAfter
52497
- ] })
52498
- },
52499
- index
52500
- );
52501
- }) });
52502
- }, [actionsSlot, actions, actionsClassName]);
52503
52596
  return /* @__PURE__ */ jsxs(
52504
52597
  Section,
52505
52598
  {
@@ -52510,7 +52603,7 @@ function HeroBadgeShadowOverlay({
52510
52603
  className: cn("relative flex items-center justify-center", className),
52511
52604
  containerClassName,
52512
52605
  children: [
52513
- /* @__PURE__ */ jsx("div", { className: "flex flex-col min-h-screen h-full justify-center items-center", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-10 text-center px-6 max-full md:max-w-lg", children: [
52606
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col min-h-screen h-full justify-center items-center", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4 text-center px-6 max-full md:max-w-lg", children: [
52514
52607
  (announcementBadge || announcementText) && /* @__PURE__ */ jsxs(
52515
52608
  Pressable,
52516
52609
  {
@@ -52530,7 +52623,7 @@ function HeroBadgeShadowOverlay({
52530
52623
  "h1",
52531
52624
  {
52532
52625
  className: cn(
52533
- "text-4xl font-semibold lg:text-8xl text-white text-balance text-shadow-xl text-center",
52626
+ "text-4xl font-semibold lg:text-8xl text-white text-balance text-shadow-2xl text-center",
52534
52627
  headingClassName
52535
52628
  ),
52536
52629
  children: heading
@@ -52546,7 +52639,14 @@ function HeroBadgeShadowOverlay({
52546
52639
  children: description
52547
52640
  }
52548
52641
  ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
52549
- renderActions
52642
+ /* @__PURE__ */ jsx(
52643
+ BlockActions,
52644
+ {
52645
+ actions,
52646
+ actionsSlot,
52647
+ actionsClassName
52648
+ }
52649
+ )
52550
52650
  ] }) }),
52551
52651
  backgroundImageUrl && /* @__PURE__ */ jsx(
52552
52652
  Img,
@@ -52680,18 +52780,16 @@ function HeroVideoBackgroundDark({
52680
52780
  }
52681
52781
  function HeroGridPatternEfficiency({
52682
52782
  heading,
52683
- highlightedWord = "efficiency.",
52684
52783
  description,
52685
52784
  action,
52686
52785
  actionSlot,
52687
- actionSubtext = "No credit card required.",
52688
- showGridPattern = true,
52786
+ actionSubtext,
52689
52787
  background,
52690
- spacing,
52788
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
52789
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
52691
52790
  pattern,
52692
52791
  patternOpacity,
52693
52792
  className,
52694
- containerClassName,
52695
52793
  contentClassName,
52696
52794
  headingClassName,
52697
52795
  descriptionClassName,
@@ -52700,7 +52798,14 @@ function HeroGridPatternEfficiency({
52700
52798
  const renderAction = useMemo(() => {
52701
52799
  if (actionSlot) return actionSlot;
52702
52800
  if (!action) return null;
52703
- const { label, icon, iconAfter, children, className: btnClassName, ...pressableProps } = action;
52801
+ const {
52802
+ label,
52803
+ icon,
52804
+ iconAfter,
52805
+ children,
52806
+ className: btnClassName,
52807
+ ...pressableProps
52808
+ } = action;
52704
52809
  return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: btnClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
52705
52810
  icon,
52706
52811
  label,
@@ -52709,14 +52814,29 @@ function HeroGridPatternEfficiency({
52709
52814
  }, [actionSlot, action]);
52710
52815
  const renderHeading = useMemo(() => {
52711
52816
  if (heading) {
52712
- return typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug", headingClassName), children: heading });
52817
+ return typeof heading === "string" ? /* @__PURE__ */ jsx(
52818
+ "h1",
52819
+ {
52820
+ className: cn(
52821
+ "text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug text-balance",
52822
+ headingClassName
52823
+ ),
52824
+ children: heading
52825
+ }
52826
+ ) : /* @__PURE__ */ jsx(
52827
+ "h1",
52828
+ {
52829
+ className: cn(
52830
+ "text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug text-balance",
52831
+ headingClassName
52832
+ ),
52833
+ children: heading
52834
+ }
52835
+ );
52836
+ } else {
52837
+ return null;
52713
52838
  }
52714
- return /* @__PURE__ */ jsxs("h1", { className: cn("text-5xl leading-tight font-extrabold lg:text-8xl lg:leading-snug", headingClassName), children: [
52715
- "Less complexity. ",
52716
- /* @__PURE__ */ jsx("span", { className: "mr-6", children: "More" }),
52717
- /* @__PURE__ */ 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 })
52718
- ] });
52719
- }, [heading, highlightedWord, headingClassName]);
52839
+ }, [heading, headingClassName]);
52720
52840
  return /* @__PURE__ */ jsx(
52721
52841
  Section,
52722
52842
  {
@@ -52724,15 +52844,33 @@ function HeroGridPatternEfficiency({
52724
52844
  spacing,
52725
52845
  pattern,
52726
52846
  patternOpacity,
52727
- className: cn(className),
52728
- children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: cn("relative max-w-5xl", contentClassName), children: [
52729
- showGridPattern && /* @__PURE__ */ 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]" }),
52847
+ className,
52848
+ containerClassName,
52849
+ children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: cn("relative max-w-5xl", contentClassName), children: [
52730
52850
  renderHeading,
52731
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-7 text-xl font-light lg:text-3xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
52732
- /* @__PURE__ */ jsxs("div", { className: cn("mt-12 flex w-fit flex-col gap-2.5 text-center", actionClassName), children: [
52733
- renderAction,
52734
- actionSubtext && (typeof actionSubtext === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm", getTextColor(background, "muted")), children: actionSubtext }) : actionSubtext)
52735
- ] })
52851
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
52852
+ "p",
52853
+ {
52854
+ className: cn(
52855
+ "mt-7 text-xl font-light lg:text-3xl text-balance",
52856
+ descriptionClassName
52857
+ ),
52858
+ children: description
52859
+ }
52860
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
52861
+ /* @__PURE__ */ jsxs(
52862
+ "div",
52863
+ {
52864
+ className: cn(
52865
+ "mt-12 flex w-fit flex-col gap-2.5 text-center",
52866
+ actionClassName
52867
+ ),
52868
+ children: [
52869
+ renderAction,
52870
+ actionSubtext && (typeof actionSubtext === "string" ? /* @__PURE__ */ jsx("p", { className: "text-sm", children: actionSubtext }) : actionSubtext)
52871
+ ]
52872
+ }
52873
+ )
52736
52874
  ] }) })
52737
52875
  }
52738
52876
  );
@@ -52917,18 +53055,17 @@ function HeroDesignCarouselPortfolio({
52917
53055
  featuresSlot,
52918
53056
  heading,
52919
53057
  description,
52920
- primaryAction,
52921
- primaryActionAvatar,
52922
- secondaryAction,
53058
+ actions,
52923
53059
  actionsSlot,
53060
+ actionsClassName,
52924
53061
  carouselImages,
52925
53062
  carouselSlot,
52926
53063
  background,
52927
- spacing,
53064
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53065
+ spacing = "xl",
52928
53066
  pattern,
52929
53067
  patternOpacity,
52930
53068
  className,
52931
- containerClassName,
52932
53069
  contentClassName,
52933
53070
  headingClassName,
52934
53071
  descriptionClassName,
@@ -52944,7 +53081,7 @@ function HeroDesignCarouselPortfolio({
52944
53081
  Img,
52945
53082
  {
52946
53083
  src: logoSrc,
52947
- className: cn("h-12 lg:h-16", logo.className),
53084
+ className: cn("object-contain w-auto h-12 lg:h-16", logo.className),
52948
53085
  alt: logo.alt,
52949
53086
  optixFlowConfig
52950
53087
  }
@@ -52953,53 +53090,23 @@ function HeroDesignCarouselPortfolio({
52953
53090
  const renderFeatures = useMemo(() => {
52954
53091
  if (featuresSlot) return featuresSlot;
52955
53092
  if (!features || features.length === 0) return null;
52956
- return /* @__PURE__ */ jsx("div", { className: cn("hidden items-center gap-6 lg:flex", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 ", children: [
52957
- feature.icon ?? /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName || "lucide/check-circle", size: 24 }),
52958
- /* @__PURE__ */ jsx("span", { children: feature.title })
52959
- ] }, index)) });
52960
- }, [featuresSlot, features, featuresClassName]);
52961
- const renderPrimaryAction = useMemo(() => {
52962
- if (actionsSlot) return null;
52963
- if (!primaryAction) return null;
52964
- const { label, className: actionClassName, ...pressableProps } = primaryAction;
52965
- return /* @__PURE__ */ jsxs(
52966
- Pressable,
53093
+ return /* @__PURE__ */ jsx(
53094
+ "div",
52967
53095
  {
52968
- asButton: true,
52969
- className: actionClassName,
52970
- ...pressableProps,
52971
- children: [
52972
- /* @__PURE__ */ jsx(
52973
- Img,
53096
+ className: cn("hidden items-center gap-6 lg:flex", featuresClassName),
53097
+ children: features.map((feature, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 ", children: [
53098
+ feature.icon ?? /* @__PURE__ */ jsx(
53099
+ DynamicIcon,
52974
53100
  {
52975
- src: primaryActionAvatar,
52976
- alt: "",
52977
- className: "size-9 rounded-full object-cover lg:size-11",
52978
- optixFlowConfig
53101
+ name: feature.iconName || "lucide/check-circle",
53102
+ size: 24
52979
53103
  }
52980
53104
  ),
52981
- /* @__PURE__ */ jsx("span", { children: label })
52982
- ]
52983
- }
52984
- );
52985
- }, [actionsSlot, primaryAction, primaryActionAvatar, optixFlowConfig]);
52986
- const renderSecondaryAction = useMemo(() => {
52987
- if (actionsSlot) return null;
52988
- if (!secondaryAction) return null;
52989
- const { label, iconAfter, className: actionClassName, ...pressableProps } = secondaryAction;
52990
- return /* @__PURE__ */ jsxs(
52991
- Pressable,
52992
- {
52993
- asButton: true,
52994
- className: actionClassName,
52995
- ...pressableProps,
52996
- children: [
52997
- /* @__PURE__ */ jsx("span", { children: label }),
52998
- iconAfter
52999
- ]
53105
+ /* @__PURE__ */ jsx("span", { children: feature.title })
53106
+ ] }, index))
53000
53107
  }
53001
53108
  );
53002
- }, [actionsSlot, secondaryAction]);
53109
+ }, [featuresSlot, features, featuresClassName]);
53003
53110
  const renderCarousel = useMemo(() => {
53004
53111
  if (carouselSlot) return carouselSlot;
53005
53112
  if (!carouselImages || carouselImages.length === 0) return null;
@@ -53019,7 +53126,10 @@ function HeroDesignCarouselPortfolio({
53019
53126
  delay: 1e3
53020
53127
  })
53021
53128
  ],
53022
- 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),
53129
+ className: cn(
53130
+ "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-['']",
53131
+ carouselClassName
53132
+ ),
53023
53133
  children: /* @__PURE__ */ jsx(CarouselContent, { className: "ml-5 flex gap-5 pl-4", children: carouselImages.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { className: "basis-[496px] bg-background", children: /* @__PURE__ */ jsx("div", { className: "h-[380px] basis-[480px] overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(
53024
53134
  Img,
53025
53135
  {
@@ -53040,20 +53150,72 @@ function HeroDesignCarouselPortfolio({
53040
53150
  pattern,
53041
53151
  patternOpacity,
53042
53152
  className: cn("relative", className),
53153
+ containerClassName,
53043
53154
  children: [
53044
- /* @__PURE__ */ jsxs("div", { className: cn("relative z-10 container mx-auto", containerClassName), children: [
53045
- /* @__PURE__ */ jsx("div", { className: "py-8", children: renderLogo }),
53046
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-10 py-10 lg:py-28", contentClassName), children: [
53047
- renderFeatures,
53048
- /* @__PURE__ */ jsx("div", { className: "flex", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-4", children: [
53049
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl", headingClassName), children: heading })),
53050
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg lg:text-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("p", { className: cn("text-lg lg:text-2xl", descriptionClassName), children: description }))
53051
- ] }) }),
53052
- actionsSlot || renderPrimaryAction
53053
- ] })
53155
+ /* @__PURE__ */ jsxs("div", { className: "relative", children: [
53156
+ renderLogo ? /* @__PURE__ */ jsx("div", { className: "pb-8", children: renderLogo }) : null,
53157
+ /* @__PURE__ */ jsxs(
53158
+ "div",
53159
+ {
53160
+ className: cn(
53161
+ "flex flex-col gap-10 pt-12 pb-8 lg:pt-24 lg:pb-12",
53162
+ contentClassName
53163
+ ),
53164
+ children: [
53165
+ renderFeatures,
53166
+ /* @__PURE__ */ jsx("div", { className: "flex", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col gap-4", children: [
53167
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
53168
+ "h1",
53169
+ {
53170
+ className: cn(
53171
+ "max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl font-semibold",
53172
+ headingClassName
53173
+ ),
53174
+ children: heading
53175
+ }
53176
+ ) : /* @__PURE__ */ jsx(
53177
+ "h1",
53178
+ {
53179
+ className: cn(
53180
+ "max-w-6xl text-4xl tracking-tighter lg:text-7xl xl:text-9xl font-semibold",
53181
+ headingClassName
53182
+ ),
53183
+ children: heading
53184
+ }
53185
+ )),
53186
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53187
+ "p",
53188
+ {
53189
+ className: cn(
53190
+ "text-lg lg:text-2xl text-balance",
53191
+ descriptionClassName
53192
+ ),
53193
+ children: description
53194
+ }
53195
+ ) : /* @__PURE__ */ jsx(
53196
+ "p",
53197
+ {
53198
+ className: cn(
53199
+ "text-lg lg:text-2xl text-balance",
53200
+ descriptionClassName
53201
+ ),
53202
+ children: description
53203
+ }
53204
+ ))
53205
+ ] }) }),
53206
+ /* @__PURE__ */ jsx(
53207
+ BlockActions,
53208
+ {
53209
+ actions,
53210
+ actionsSlot,
53211
+ actionsClassName
53212
+ }
53213
+ )
53214
+ ]
53215
+ }
53216
+ )
53054
53217
  ] }),
53055
- /* @__PURE__ */ jsx("div", { className: "relative flex flex-col", children: renderCarousel }),
53056
- actionsSlot || renderSecondaryAction
53218
+ /* @__PURE__ */ jsx("div", { className: "relative flex flex-col", children: renderCarousel })
53057
53219
  ]
53058
53220
  }
53059
53221
  );
@@ -53066,45 +53228,28 @@ function HeroGradientClientFocused({
53066
53228
  image,
53067
53229
  imageSlot,
53068
53230
  background,
53069
- spacing,
53231
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53232
+ spacing = "xl",
53070
53233
  pattern,
53071
53234
  patternOpacity,
53072
53235
  className,
53073
- containerClassName,
53074
53236
  headingClassName,
53075
53237
  descriptionClassName,
53076
53238
  actionsClassName,
53077
53239
  imageClassName,
53078
53240
  optixFlowConfig
53079
53241
  }) {
53080
- const renderActions = useMemo(() => {
53081
- if (actionsSlot) return actionsSlot;
53082
- if (!actions || actions.length === 0) return null;
53083
- return /* @__PURE__ */ 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) => {
53084
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53085
- return /* @__PURE__ */ jsx(
53086
- Pressable,
53087
- {
53088
- asButton: true,
53089
- className: actionClassName,
53090
- ...pressableProps,
53091
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53092
- icon,
53093
- label,
53094
- iconAfter
53095
- ] })
53096
- },
53097
- index
53098
- );
53099
- }) });
53100
- }, [actionsSlot, actions, actionsClassName]);
53101
53242
  const renderImage = useMemo(() => {
53102
53243
  if (imageSlot) return imageSlot;
53103
53244
  if (!image) return null;
53104
53245
  return /* @__PURE__ */ jsx(
53105
53246
  Img,
53106
53247
  {
53107
- 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),
53248
+ className: cn(
53249
+ "rounded-2xl aspect-video shadow-xl w-full h-auto object-cover",
53250
+ imageClassName,
53251
+ image.className
53252
+ ),
53108
53253
  src: image.src,
53109
53254
  alt: image.alt,
53110
53255
  optixFlowConfig
@@ -53114,14 +53259,50 @@ function HeroGradientClientFocused({
53114
53259
  return /* @__PURE__ */ jsx(
53115
53260
  Section,
53116
53261
  {
53117
- className: cn(
53118
- "bg-gradient-to-b from-accent/5 to-primary/5 py-20 text-center",
53119
- className
53120
- ),
53121
- children: /* @__PURE__ */ jsxs("div", { className: cn("container flex flex-col items-center gap-5", containerClassName), children: [
53122
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("max-w-2xl text-7xl font-medium max-lg:text-5xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("max-w-2xl text-7xl font-medium max-lg:text-5xl", headingClassName), children: heading })),
53123
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-2xl max-lg:text-sm", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53124
- renderActions,
53262
+ className: cn("text-center", className),
53263
+ background,
53264
+ spacing,
53265
+ pattern,
53266
+ patternOpacity,
53267
+ containerClassName,
53268
+ children: /* @__PURE__ */ jsxs("div", { className: "relative flex flex-col items-center gap-8 md:gap-12", children: [
53269
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
53270
+ "h1",
53271
+ {
53272
+ className: cn(
53273
+ "max-w-2xl text-7xl font-semibold max-lg:text-5xl text-balance",
53274
+ headingClassName
53275
+ ),
53276
+ children: heading
53277
+ }
53278
+ ) : /* @__PURE__ */ jsx(
53279
+ "h1",
53280
+ {
53281
+ className: cn(
53282
+ "max-w-2xl text-7xl font-semibold max-lg:text-5xl text-balance",
53283
+ headingClassName
53284
+ ),
53285
+ children: heading
53286
+ }
53287
+ )),
53288
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53289
+ "p",
53290
+ {
53291
+ className: cn(
53292
+ "max-w-2xl max-lg:text-sm text-balance",
53293
+ descriptionClassName
53294
+ ),
53295
+ children: description
53296
+ }
53297
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53298
+ /* @__PURE__ */ jsx(
53299
+ BlockActions,
53300
+ {
53301
+ actions,
53302
+ actionsSlot,
53303
+ actionsClassName
53304
+ }
53305
+ ),
53125
53306
  renderImage
53126
53307
  ] })
53127
53308
  }
@@ -53252,48 +53433,21 @@ function HeroUiLibraryShowcase({
53252
53433
  description,
53253
53434
  actions,
53254
53435
  actionsSlot,
53436
+ actionsClassName,
53255
53437
  image,
53256
53438
  imageSlot,
53257
53439
  background,
53258
- spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
53259
53440
  pattern,
53260
53441
  patternOpacity,
53261
53442
  className,
53262
53443
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53444
+ spacing = "xl",
53263
53445
  headerClassName,
53264
53446
  headingClassName,
53265
53447
  descriptionClassName,
53266
53448
  imageClassName,
53267
53449
  optixFlowConfig
53268
53450
  }) {
53269
- const renderActions = useMemo(() => {
53270
- if (actionsSlot) return actionsSlot;
53271
- if (!actions || actions.length === 0) return null;
53272
- return actions.map((action, index) => {
53273
- const {
53274
- label,
53275
- icon,
53276
- iconAfter,
53277
- children,
53278
- className: actionClassName,
53279
- ...pressableProps
53280
- } = action;
53281
- return /* @__PURE__ */ jsx(
53282
- Pressable,
53283
- {
53284
- asButton: true,
53285
- className: actionClassName,
53286
- ...pressableProps,
53287
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53288
- icon,
53289
- label,
53290
- iconAfter
53291
- ] })
53292
- },
53293
- index
53294
- );
53295
- });
53296
- }, [actionsSlot, actions]);
53297
53451
  const renderLogo = useMemo(() => {
53298
53452
  if (logoSlot) return logoSlot;
53299
53453
  if (!logo) return null;
@@ -53310,7 +53464,7 @@ function HeroUiLibraryShowcase({
53310
53464
  const renderImage = useMemo(() => {
53311
53465
  if (imageSlot) return imageSlot;
53312
53466
  if (!image) return null;
53313
- return /* @__PURE__ */ jsx("div", { className: "w-full overflow-hidden rounded-lg", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsx(
53467
+ return /* @__PURE__ */ jsx("div", { className: "w-full overflow-hidden rounded-2xl shadow-xl mt-8 md:mt-12", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsx(
53314
53468
  Img,
53315
53469
  {
53316
53470
  src: image.src,
@@ -53334,48 +53488,48 @@ function HeroUiLibraryShowcase({
53334
53488
  className,
53335
53489
  containerClassName,
53336
53490
  children: [
53337
- /* @__PURE__ */ jsxs(
53338
- "div",
53339
- {
53340
- className: cn("flex flex-col gap-10 md:items-center", headerClassName),
53341
- children: [
53342
- renderLogo,
53343
- /* @__PURE__ */ jsxs("div", { className: "flex max-w-[880px] flex-col items-center gap-6", children: [
53344
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
53345
- "h1",
53346
- {
53347
- className: cn(
53348
- "text-4xl tracking-tighter capitalize md:text-5xl lg:text-6xl",
53349
- headingClassName
53350
- ),
53351
- children: /* @__PURE__ */ jsx("p", { children: heading })
53352
- }
53353
- ) : /* @__PURE__ */ jsx(
53354
- "h1",
53355
- {
53356
- className: cn(
53357
- "text-4xl tracking-tighter capitalize md:text-5xl lg:text-6xl",
53358
- headingClassName
53359
- ),
53360
- children: heading
53361
- }
53362
- )),
53363
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53364
- "p",
53365
- {
53366
- className: cn(
53367
- "text-xl",
53368
- getTextColor(background, "muted"),
53369
- descriptionClassName
53370
- ),
53371
- children: description
53372
- }
53373
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
53374
- ] }),
53375
- renderActions
53376
- ]
53377
- }
53378
- ),
53491
+ /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-10 items-start", headerClassName), children: [
53492
+ renderLogo,
53493
+ /* @__PURE__ */ jsxs("div", { className: "flex max-w-[880px] flex-col items-center gap-6", children: [
53494
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
53495
+ "h1",
53496
+ {
53497
+ className: cn(
53498
+ "text-4xl tracking-tighter font-semibold md:text-5xl lg:text-6xl",
53499
+ headingClassName
53500
+ ),
53501
+ children: /* @__PURE__ */ jsx("p", { children: heading })
53502
+ }
53503
+ ) : /* @__PURE__ */ jsx(
53504
+ "h1",
53505
+ {
53506
+ className: cn(
53507
+ "text-4xl tracking-tighter font-semibold md:text-5xl lg:text-6xl",
53508
+ headingClassName
53509
+ ),
53510
+ children: heading
53511
+ }
53512
+ )),
53513
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53514
+ "p",
53515
+ {
53516
+ className: cn(
53517
+ "text-xl text-balance font-medium",
53518
+ descriptionClassName
53519
+ ),
53520
+ children: description
53521
+ }
53522
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
53523
+ ] }),
53524
+ /* @__PURE__ */ jsx(
53525
+ BlockActions,
53526
+ {
53527
+ actions,
53528
+ actionsSlot,
53529
+ actionsClassName
53530
+ }
53531
+ )
53532
+ ] }),
53379
53533
  renderImage
53380
53534
  ]
53381
53535
  }
@@ -53387,57 +53541,85 @@ function HeroFullscreenBackgroundImage({
53387
53541
  actions,
53388
53542
  actionsSlot,
53389
53543
  backgroundImage,
53390
- noiseOverlayUrl = "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
53391
53544
  background,
53392
- spacing,
53545
+ spacing = "none",
53393
53546
  pattern,
53394
53547
  patternOpacity,
53395
53548
  className,
53396
- contentClassName,
53549
+ containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
53550
+ contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
53397
53551
  headingClassName,
53398
53552
  descriptionClassName,
53399
- actionsClassName
53553
+ actionsClassName,
53554
+ optixFlowConfig
53400
53555
  }) {
53401
- const renderActions = useMemo(() => {
53402
- if (actionsSlot) return actionsSlot;
53403
- if (!actions || actions.length === 0) return null;
53404
- return actions.map((action, index) => {
53405
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53406
- return /* @__PURE__ */ jsx(
53407
- Pressable,
53556
+ const renderBackground = useMemo(() => {
53557
+ if (!backgroundImage) return null;
53558
+ return /* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
53559
+ /* @__PURE__ */ jsx(
53560
+ Img,
53408
53561
  {
53409
- asButton: true,
53410
- className: actionClassName,
53411
- ...pressableProps,
53412
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53413
- icon,
53414
- label,
53415
- iconAfter
53416
- ] })
53417
- },
53418
- index
53419
- );
53420
- });
53421
- }, [actionsSlot, actions]);
53562
+ src: backgroundImage,
53563
+ alt: "Full screen background image",
53564
+ className: "h-full w-full object-cover",
53565
+ loading: "eager",
53566
+ optixFlowConfig
53567
+ }
53568
+ ),
53569
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-linear-to-b from-black/80 via-black/65 to-black/20" })
53570
+ ] });
53571
+ }, [backgroundImage, optixFlowConfig]);
53422
53572
  return /* @__PURE__ */ jsxs(
53423
53573
  Section,
53424
53574
  {
53575
+ background,
53576
+ spacing,
53577
+ pattern,
53578
+ patternOpacity,
53425
53579
  className: cn(
53426
- "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",
53580
+ "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",
53427
53581
  className
53428
53582
  ),
53429
- style: { backgroundImage: `url('${backgroundImage}')` },
53583
+ containerClassName,
53430
53584
  children: [
53431
- /* @__PURE__ */ 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: [
53432
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-center font-serif text-4xl leading-tight md:text-6xl xl:text-[4.4rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
53433
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-base ", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53434
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: actionsClassName, children: renderActions })
53435
- ] }),
53436
- noiseOverlayUrl && /* @__PURE__ */ jsx(
53585
+ renderBackground,
53586
+ /* @__PURE__ */ jsxs(
53437
53587
  "div",
53438
53588
  {
53439
- className: "pointer-events-none absolute inset-0 z-20 h-full w-full bg-repeat opacity-15",
53440
- style: { backgroundImage: `url('${noiseOverlayUrl}')` }
53589
+ className: cn(
53590
+ "relative z-30 m-auto flex max-w-185 flex-col items-center justify-center gap-6 px-5",
53591
+ contentClassName
53592
+ ),
53593
+ children: [
53594
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
53595
+ "h1",
53596
+ {
53597
+ className: cn(
53598
+ "text-center text-4xl leading-tight md:text-6xl xl:text-[4.4rem] text-balance text-white text-shadow-2xl",
53599
+ headingClassName
53600
+ ),
53601
+ children: heading
53602
+ }
53603
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
53604
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53605
+ "p",
53606
+ {
53607
+ className: cn(
53608
+ "text-center text-base text-balance text-shadow-2xl",
53609
+ descriptionClassName
53610
+ ),
53611
+ children: description
53612
+ }
53613
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53614
+ /* @__PURE__ */ jsx(
53615
+ BlockActions,
53616
+ {
53617
+ actions,
53618
+ actionsSlot,
53619
+ actionsClassName
53620
+ }
53621
+ )
53622
+ ]
53441
53623
  }
53442
53624
  )
53443
53625
  ]
@@ -53453,16 +53635,32 @@ function HeroFullscreenLogoCta({
53453
53635
  actionSlot,
53454
53636
  backgroundImage,
53455
53637
  background,
53456
- spacing,
53638
+ spacing = "none",
53457
53639
  pattern,
53458
53640
  patternOpacity,
53459
53641
  className,
53460
- containerClassName,
53461
- contentClassName,
53642
+ containerClassName = "px-0 sm:px-0 lg:px-0 max-w-full relative z-10 h-screen w-screen flex justify-center items-center",
53643
+ contentClassName = "relative flex flex-col gap-12 px-6 pt-28 pb-6 md:pt-0 md:pb-0",
53462
53644
  headingClassName,
53463
53645
  descriptionClassName,
53464
53646
  optixFlowConfig
53465
53647
  }) {
53648
+ const renderBackground = useMemo(() => {
53649
+ if (!backgroundImage) return null;
53650
+ return /* @__PURE__ */ jsxs("div", { className: "absolute inset-0", children: [
53651
+ /* @__PURE__ */ jsx(
53652
+ Img,
53653
+ {
53654
+ src: backgroundImage,
53655
+ alt: "Full screen background image",
53656
+ className: "h-full w-full object-cover",
53657
+ loading: "eager",
53658
+ optixFlowConfig
53659
+ }
53660
+ ),
53661
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-linear-to-b from-black/80 via-black/65 to-black/20" })
53662
+ ] });
53663
+ }, [backgroundImage, optixFlowConfig]);
53466
53664
  const renderLogo = useMemo(() => {
53467
53665
  if (logoSlot) return logoSlot;
53468
53666
  if (!logo) return null;
@@ -53472,7 +53670,7 @@ function HeroFullscreenLogoCta({
53472
53670
  {
53473
53671
  src: logoSrc,
53474
53672
  alt: logo.alt,
53475
- className: cn("size-20", logo.className),
53673
+ className: cn("h-24 w-auto object-contain", logo.className),
53476
53674
  optixFlowConfig
53477
53675
  }
53478
53676
  );
@@ -53480,46 +53678,85 @@ function HeroFullscreenLogoCta({
53480
53678
  const renderAction = useMemo(() => {
53481
53679
  if (actionSlot) return actionSlot;
53482
53680
  if (!action) return null;
53483
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53484
- return /* @__PURE__ */ jsx(
53485
- Pressable,
53486
- {
53487
- asButton: true,
53488
- className: actionClassName,
53489
- ...pressableProps,
53490
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53491
- icon,
53492
- /* @__PURE__ */ jsx("span", { className: "text-2xl", children: label }),
53493
- iconAfter
53494
- ] })
53495
- }
53496
- );
53681
+ const {
53682
+ label,
53683
+ icon,
53684
+ iconAfter,
53685
+ children,
53686
+ className: actionClassName,
53687
+ ...pressableProps
53688
+ } = action;
53689
+ return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53690
+ icon,
53691
+ label,
53692
+ iconAfter
53693
+ ] }) });
53497
53694
  }, [actionSlot, action]);
53498
- return /* @__PURE__ */ jsx(
53695
+ return /* @__PURE__ */ jsxs(
53499
53696
  Section,
53500
53697
  {
53698
+ background,
53699
+ spacing,
53700
+ pattern,
53701
+ patternOpacity,
53501
53702
  className: cn(
53502
- "dark h-screen w-screen bg-background bg-cover bg-center bg-no-repeat pt-12 pb-24",
53703
+ "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",
53503
53704
  className
53504
53705
  ),
53505
- style: { backgroundImage: `url('${backgroundImage}')` },
53506
- children: /* @__PURE__ */ jsxs("div", { className: cn("container flex h-full flex-col justify-between px-5 xl:px-20", containerClassName), children: [
53507
- renderLogo,
53508
- /* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between", children: [
53509
- /* @__PURE__ */ jsxs("div", { className: cn("flex w-full flex-col gap-8 md:w-2/3", contentClassName), children: [
53510
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-6xl font-medium md:text-[5.8rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("text-6xl font-medium md:text-[5.8rem]", headingClassName), children: heading })),
53511
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xl md:text-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
53512
- ] }),
53513
- renderAction
53514
- ] })
53515
- ] })
53706
+ containerClassName,
53707
+ children: [
53708
+ renderBackground,
53709
+ /* @__PURE__ */ jsxs(
53710
+ "div",
53711
+ {
53712
+ className: cn(
53713
+ "relative z-30 m-auto flex max-w-185 flex-col items-start justify-center gap-6 px-5",
53714
+ contentClassName
53715
+ ),
53716
+ children: [
53717
+ renderLogo,
53718
+ /* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between", children: [
53719
+ /* @__PURE__ */ jsxs("div", { className: cn("flex w-full flex-col gap-8 md:w-2/3"), children: [
53720
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
53721
+ "h1",
53722
+ {
53723
+ className: cn(
53724
+ "text-6xl font-font-semibold md:text-[5.8rem]",
53725
+ headingClassName
53726
+ ),
53727
+ children: heading
53728
+ }
53729
+ ) : /* @__PURE__ */ jsx(
53730
+ "h1",
53731
+ {
53732
+ className: cn(
53733
+ "text-6xl font-semibold md:text-[5.8rem]",
53734
+ headingClassName
53735
+ ),
53736
+ children: heading
53737
+ }
53738
+ )),
53739
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53740
+ "p",
53741
+ {
53742
+ className: cn(
53743
+ "text-xl md:text-2xl text-balance",
53744
+ descriptionClassName
53745
+ ),
53746
+ children: description
53747
+ }
53748
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description }))
53749
+ ] }),
53750
+ renderAction
53751
+ ] })
53752
+ ]
53753
+ }
53754
+ )
53755
+ ]
53516
53756
  }
53517
53757
  );
53518
53758
  }
53519
53759
  function HeroGradientAvatarsRating({
53520
- topLinkText,
53521
- topLinkHref,
53522
- topLinkSlot,
53523
53760
  heading,
53524
53761
  headingSubtitle,
53525
53762
  description,
@@ -53533,11 +53770,11 @@ function HeroGradientAvatarsRating({
53533
53770
  images,
53534
53771
  imagesSlot,
53535
53772
  background,
53536
- spacing,
53537
53773
  pattern,
53538
53774
  patternOpacity,
53539
53775
  className,
53540
- containerClassName,
53776
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53777
+ spacing = "xl",
53541
53778
  contentClassName,
53542
53779
  headingClassName,
53543
53780
  descriptionClassName,
@@ -53545,39 +53782,6 @@ function HeroGradientAvatarsRating({
53545
53782
  imagesClassName,
53546
53783
  optixFlowConfig
53547
53784
  }) {
53548
- const renderTopLink = useMemo(() => {
53549
- if (topLinkSlot) return topLinkSlot;
53550
- if (!topLinkText || !topLinkHref) return null;
53551
- return /* @__PURE__ */ jsx(
53552
- Pressable,
53553
- {
53554
- href: topLinkHref,
53555
- className: cn("my-6 text-xs font-bold tracking-[0.3em] uppercase hover:underline", getTextColor(background, "muted")),
53556
- children: topLinkText
53557
- }
53558
- );
53559
- }, [topLinkSlot, topLinkText, topLinkHref]);
53560
- const renderActions = useMemo(() => {
53561
- if (actionsSlot) return actionsSlot;
53562
- if (!actions || actions.length === 0) return null;
53563
- return /* @__PURE__ */ 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) => {
53564
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53565
- return /* @__PURE__ */ jsx(
53566
- Pressable,
53567
- {
53568
- asButton: true,
53569
- className: actionClassName,
53570
- ...pressableProps,
53571
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53572
- icon,
53573
- label,
53574
- iconAfter
53575
- ] })
53576
- },
53577
- index
53578
- );
53579
- }) });
53580
- }, [actionsSlot, actions, actionsClassName]);
53581
53785
  const renderAvatars = useMemo(() => {
53582
53786
  if (avatarsSlot) return avatarsSlot;
53583
53787
  if (!avatars || avatars.length === 0) return null;
@@ -53605,65 +53809,116 @@ function HeroGradientAvatarsRating({
53605
53809
  )),
53606
53810
  ratingValue && /* @__PURE__ */ jsx("span", { className: "font-semibold", children: ratingValue })
53607
53811
  ] }),
53608
- ratingLabel && (typeof ratingLabel === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm font-medium", getTextColor(background, "muted")), children: ratingLabel }) : ratingLabel)
53812
+ ratingLabel && (typeof ratingLabel === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm font-medium"), children: ratingLabel }) : ratingLabel)
53609
53813
  ] });
53610
53814
  }, [ratingValue, ratingLabel, starCount]);
53611
53815
  const renderImages = useMemo(() => {
53612
53816
  if (imagesSlot) return imagesSlot;
53613
53817
  if (!images || images.length === 0) return null;
53614
- return /* @__PURE__ */ jsxs("div", { className: cn("relative grid gap-4 lg:grid-cols-2", imagesClassName), children: [
53615
- images[0] && /* @__PURE__ */ jsx("div", { className: cn("relative aspect-3/4 w-full overflow-hidden rounded-lg", getNestedCardBg(background)), children: /* @__PURE__ */ jsx(
53616
- Img,
53617
- {
53618
- src: images[0].src,
53619
- alt: images[0].alt,
53620
- className: cn("h-full w-full object-cover transition-transform duration-300 hover:scale-105", images[0].className),
53621
- optixFlowConfig
53622
- }
53623
- ) }),
53624
- images[1] && /* @__PURE__ */ jsx("div", { className: cn("relative aspect-3/4 w-full overflow-hidden rounded-lg lg:mt-8", getNestedCardBg(background)), children: /* @__PURE__ */ jsx(
53625
- Img,
53626
- {
53627
- src: images[1].src,
53628
- alt: images[1].alt,
53629
- className: cn("h-full w-full object-cover transition-transform duration-300 hover:scale-105", images[1].className),
53630
- optixFlowConfig
53631
- }
53632
- ) })
53633
- ] });
53818
+ return /* @__PURE__ */ jsxs(
53819
+ "div",
53820
+ {
53821
+ className: cn("relative grid gap-4 lg:grid-cols-2", imagesClassName),
53822
+ children: [
53823
+ images[0] && /* @__PURE__ */ jsx(
53824
+ "div",
53825
+ {
53826
+ className: cn(
53827
+ "relative aspect-3/4 w-full overflow-hidden rounded-xl shadow-xl"
53828
+ ),
53829
+ children: /* @__PURE__ */ jsx(
53830
+ Img,
53831
+ {
53832
+ src: images[0].src,
53833
+ alt: images[0].alt,
53834
+ className: cn(
53835
+ "h-full w-full object-cover transition-transform duration-300 hover:scale-105",
53836
+ images[0].className
53837
+ ),
53838
+ optixFlowConfig
53839
+ }
53840
+ )
53841
+ }
53842
+ ),
53843
+ images[1] && /* @__PURE__ */ jsx(
53844
+ "div",
53845
+ {
53846
+ className: cn(
53847
+ "relative aspect-3/4 w-full overflow-hidden rounded-lg lg:mt-8"
53848
+ ),
53849
+ children: /* @__PURE__ */ jsx(
53850
+ Img,
53851
+ {
53852
+ src: images[1].src,
53853
+ alt: images[1].alt,
53854
+ className: cn(
53855
+ "h-full w-full object-cover transition-transform duration-300 hover:scale-105",
53856
+ images[1].className
53857
+ ),
53858
+ optixFlowConfig
53859
+ }
53860
+ )
53861
+ }
53862
+ )
53863
+ ]
53864
+ }
53865
+ );
53634
53866
  }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
53635
- return /* @__PURE__ */ jsxs(
53867
+ return /* @__PURE__ */ jsx(
53636
53868
  Section,
53637
53869
  {
53638
53870
  background,
53639
53871
  spacing,
53640
53872
  pattern,
53641
53873
  patternOpacity,
53642
- className: cn(className),
53643
- children: [
53644
- /* @__PURE__ */ 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%)]" }),
53645
- /* @__PURE__ */ 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%)]" }),
53646
- /* @__PURE__ */ 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]" }),
53647
- /* @__PURE__ */ jsx("div", { className: cn("relative z-10 container mx-auto px-4", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-8 lg:grid-cols-2", children: [
53648
- /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center text-center lg:items-start lg:text-left", contentClassName), children: [
53649
- renderTopLink,
53650
- heading && /* @__PURE__ */ jsxs("h1", { className: cn("text-4xl font-semibold sm:text-5xl", headingClassName), children: [
53651
- typeof heading === "string" ? heading : heading,
53652
- headingSubtitle && /* @__PURE__ */ jsxs(Fragment$1, { children: [
53653
- /* @__PURE__ */ jsx("br", {}),
53654
- /* @__PURE__ */ jsx("span", { className: getTextColor(background, "muted"), children: headingSubtitle })
53874
+ className,
53875
+ containerClassName,
53876
+ children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-8 lg:grid-cols-2", children: [
53877
+ /* @__PURE__ */ jsxs(
53878
+ "div",
53879
+ {
53880
+ className: cn(
53881
+ "flex flex-col items-center text-center lg:items-start lg:text-left",
53882
+ contentClassName
53883
+ ),
53884
+ children: [
53885
+ heading && /* @__PURE__ */ jsx(
53886
+ "h1",
53887
+ {
53888
+ className: cn(
53889
+ "text-4xl font-semibold sm:text-5xl",
53890
+ headingClassName
53891
+ ),
53892
+ children: typeof heading === "string" ? heading : heading
53893
+ }
53894
+ ),
53895
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
53896
+ "p",
53897
+ {
53898
+ className: cn(
53899
+ "my-8 max-w-xl lg:text-lg",
53900
+ descriptionClassName
53901
+ ),
53902
+ children: description
53903
+ }
53904
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53905
+ /* @__PURE__ */ jsx(
53906
+ BlockActions,
53907
+ {
53908
+ actions,
53909
+ actionsSlot,
53910
+ actionsClassName
53911
+ }
53912
+ ),
53913
+ (avatars || avatarsSlot || ratingValue || ratingLabel) && /* @__PURE__ */ jsxs("div", { className: "mt-8 flex flex-col items-center gap-4 sm:flex-row sm:items-center", children: [
53914
+ renderAvatars,
53915
+ renderRating
53655
53916
  ] })
53656
- ] }),
53657
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("my-8 max-w-xl lg:text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53658
- renderActions,
53659
- (avatars || avatarsSlot || ratingValue || ratingLabel) && /* @__PURE__ */ jsxs("div", { className: "mt-8 flex flex-col items-center gap-4 sm:flex-row sm:items-center", children: [
53660
- renderAvatars,
53661
- renderRating
53662
- ] })
53663
- ] }),
53664
- renderImages
53665
- ] }) })
53666
- ]
53917
+ ]
53918
+ }
53919
+ ),
53920
+ renderImages
53921
+ ] }) })
53667
53922
  }
53668
53923
  );
53669
53924
  }
@@ -53673,47 +53928,20 @@ function HeroTaskTimerAnimated({
53673
53928
  descriptionClassName,
53674
53929
  actions,
53675
53930
  actionsSlot,
53931
+ actionsClassName,
53676
53932
  images,
53677
53933
  imagesSlot,
53678
53934
  background,
53679
- spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
53680
53935
  pattern,
53681
53936
  patternOpacity,
53682
53937
  className,
53938
+ spacing = "xl",
53683
53939
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53684
53940
  headerClassName,
53685
53941
  headingClassName,
53686
53942
  imagesClassName,
53687
53943
  optixFlowConfig
53688
53944
  }) {
53689
- const renderActions = useMemo(() => {
53690
- if (actionsSlot) return actionsSlot;
53691
- if (!actions || actions.length === 0) return null;
53692
- return /* @__PURE__ */ 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) => {
53693
- const {
53694
- label,
53695
- icon,
53696
- iconAfter,
53697
- children,
53698
- className: actionClassName,
53699
- ...pressableProps
53700
- } = action;
53701
- return /* @__PURE__ */ jsx(
53702
- Pressable,
53703
- {
53704
- asButton: true,
53705
- className: actionClassName,
53706
- ...pressableProps,
53707
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53708
- icon,
53709
- /* @__PURE__ */ jsx("span", { children: label }),
53710
- iconAfter
53711
- ] })
53712
- },
53713
- index
53714
- );
53715
- }) });
53716
- }, [actionsSlot, actions]);
53717
53945
  const renderImages = useMemo(() => {
53718
53946
  if (imagesSlot) return imagesSlot;
53719
53947
  if (!images || images.length < 2) return null;
@@ -53784,7 +54012,14 @@ function HeroTaskTimerAnimated({
53784
54012
  }
53785
54013
  )),
53786
54014
  description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53787
- renderActions
54015
+ /* @__PURE__ */ jsx(
54016
+ BlockActions,
54017
+ {
54018
+ actions,
54019
+ actionsSlot,
54020
+ actionsClassName
54021
+ }
54022
+ )
53788
54023
  ] }),
53789
54024
  renderImages
53790
54025
  ] })
@@ -53798,17 +54033,15 @@ function HeroAiPoweredCarousel({
53798
54033
  description,
53799
54034
  actions,
53800
54035
  actionsSlot,
53801
- mobileCarouselImages1,
53802
- mobileCarouselImages2,
53803
- desktopCarouselImages1,
53804
- desktopCarouselImages2,
54036
+ carouselImages1,
54037
+ carouselImages2,
53805
54038
  carouselSlot,
53806
54039
  background,
53807
- spacing,
54040
+ spacing = "xl",
54041
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
53808
54042
  pattern,
53809
54043
  patternOpacity,
53810
54044
  className,
53811
- containerClassName,
53812
54045
  contentClassName,
53813
54046
  badgeClassName,
53814
54047
  headingClassName,
@@ -53816,27 +54049,6 @@ function HeroAiPoweredCarousel({
53816
54049
  actionsClassName,
53817
54050
  optixFlowConfig
53818
54051
  }) {
53819
- const renderActions = useMemo(() => {
53820
- if (actionsSlot) return actionsSlot;
53821
- if (!actions || actions.length === 0) return null;
53822
- return actions.map((action, index) => {
53823
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
53824
- return /* @__PURE__ */ jsx(
53825
- Pressable,
53826
- {
53827
- asButton: true,
53828
- className: actionClassName,
53829
- ...pressableProps,
53830
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
53831
- icon,
53832
- label,
53833
- iconAfter
53834
- ] })
53835
- },
53836
- index
53837
- );
53838
- });
53839
- }, [actionsSlot, actions]);
53840
54052
  return /* @__PURE__ */ jsx(
53841
54053
  Section,
53842
54054
  {
@@ -53845,19 +54057,63 @@ function HeroAiPoweredCarousel({
53845
54057
  pattern,
53846
54058
  patternOpacity,
53847
54059
  className,
53848
- children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-16 lg:grid-cols-2", children: [
53849
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto", contentClassName), children: [
53850
- (badge || badgeTagline) && /* @__PURE__ */ 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: [
53851
- badge && /* @__PURE__ */ jsx(Badge, { children: badge }),
53852
- badgeTagline
53853
- ] }),
53854
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mt-10 mb-4 text-3xl font-semibold lg:text-5xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
53855
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mx-auto lg:text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
53856
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-10 flex flex-col gap-2 sm:flex-row", actionsClassName), children: renderActions })
53857
- ] }),
54060
+ containerClassName,
54061
+ children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "grid items-center gap-16 lg:grid-cols-2", children: [
54062
+ /* @__PURE__ */ jsxs(
54063
+ "div",
54064
+ {
54065
+ className: cn(
54066
+ "mx-auto flex flex-col gap-4 md:gap-8",
54067
+ contentClassName
54068
+ ),
54069
+ children: [
54070
+ (badge || badgeTagline) && /* @__PURE__ */ jsxs(
54071
+ "div",
54072
+ {
54073
+ className: cn(
54074
+ "flex w-fit items-center gap-2 rounded-full border pl-2.5 pr-4 py-1.5 text-xs font-medium",
54075
+ badgeClassName
54076
+ ),
54077
+ children: [
54078
+ badge && /* @__PURE__ */ jsx(Badge, { children: badge }),
54079
+ badgeTagline
54080
+ ]
54081
+ }
54082
+ ),
54083
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
54084
+ "h1",
54085
+ {
54086
+ className: cn(
54087
+ "mt-10 mb-4 text-3xl font-semibold lg:text-5xl text-balance",
54088
+ headingClassName
54089
+ ),
54090
+ children: heading
54091
+ }
54092
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading })),
54093
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
54094
+ "p",
54095
+ {
54096
+ className: cn(
54097
+ "mx-auto lg:text-lg text-balance",
54098
+ descriptionClassName
54099
+ ),
54100
+ children: description
54101
+ }
54102
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
54103
+ /* @__PURE__ */ jsx(
54104
+ BlockActions,
54105
+ {
54106
+ actions,
54107
+ actionsSlot,
54108
+ actionsClassName
54109
+ }
54110
+ )
54111
+ ]
54112
+ }
54113
+ ),
53858
54114
  carouselSlot ? carouselSlot : /* @__PURE__ */ jsxs(Fragment$1, { children: [
53859
54115
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8 lg:hidden", children: [
53860
- mobileCarouselImages1 && mobileCarouselImages1.length > 0 && /* @__PURE__ */ jsx(
54116
+ carouselImages1 && carouselImages1.length > 0 && /* @__PURE__ */ jsx(
53861
54117
  Carousel,
53862
54118
  {
53863
54119
  opts: {
@@ -53869,18 +54125,21 @@ function HeroAiPoweredCarousel({
53869
54125
  })
53870
54126
  ],
53871
54127
  className: "-mx-7",
53872
- children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[350px]", children: mobileCarouselImages1.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsx(
54128
+ children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[350px]", children: carouselImages1.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsx(
53873
54129
  Img,
53874
54130
  {
53875
54131
  src: image.src,
53876
54132
  alt: image.alt,
53877
- className: image.className,
54133
+ className: cn(
54134
+ "rounded-lg shadow-lg",
54135
+ image.className
54136
+ ),
53878
54137
  optixFlowConfig
53879
54138
  }
53880
54139
  ) }, index)) })
53881
54140
  }
53882
54141
  ),
53883
- mobileCarouselImages2 && mobileCarouselImages2.length > 0 && /* @__PURE__ */ jsx(
54142
+ carouselImages2 && carouselImages2.length > 0 && /* @__PURE__ */ jsx(
53884
54143
  Carousel,
53885
54144
  {
53886
54145
  opts: {
@@ -53893,12 +54152,15 @@ function HeroAiPoweredCarousel({
53893
54152
  })
53894
54153
  ],
53895
54154
  className: "-mx-7",
53896
- children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[350px]", children: mobileCarouselImages2.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsx(
54155
+ children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[350px]", children: carouselImages2.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { className: "max-w-96", children: /* @__PURE__ */ jsx(
53897
54156
  Img,
53898
54157
  {
53899
54158
  src: image.src,
53900
54159
  alt: image.alt,
53901
- className: image.className,
54160
+ className: cn(
54161
+ "rounded-lg shadow-lg",
54162
+ image.className
54163
+ ),
53902
54164
  optixFlowConfig
53903
54165
  }
53904
54166
  ) }, index)) })
@@ -53906,7 +54168,7 @@ function HeroAiPoweredCarousel({
53906
54168
  )
53907
54169
  ] }),
53908
54170
  /* @__PURE__ */ jsxs("div", { className: "hidden grid-cols-2 gap-8 lg:grid", children: [
53909
- desktopCarouselImages1 && desktopCarouselImages1.length > 0 && /* @__PURE__ */ jsx(
54171
+ carouselImages1 && carouselImages1.length > 0 && /* @__PURE__ */ jsx(
53910
54172
  Carousel,
53911
54173
  {
53912
54174
  opts: {
@@ -53918,18 +54180,21 @@ function HeroAiPoweredCarousel({
53918
54180
  })
53919
54181
  ],
53920
54182
  orientation: "vertical",
53921
- children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[600px]", children: desktopCarouselImages1.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsx(
54183
+ children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[600px]", children: carouselImages1.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsx(
53922
54184
  Img,
53923
54185
  {
53924
54186
  src: image.src,
53925
54187
  alt: image.alt,
53926
- className: image.className,
54188
+ className: cn(
54189
+ "rounded-lg shadow-lg",
54190
+ image.className
54191
+ ),
53927
54192
  optixFlowConfig
53928
54193
  }
53929
54194
  ) }, index)) })
53930
54195
  }
53931
54196
  ),
53932
- desktopCarouselImages2 && desktopCarouselImages2.length > 0 && /* @__PURE__ */ jsx(
54197
+ carouselImages2 && carouselImages2.length > 0 && /* @__PURE__ */ jsx(
53933
54198
  Carousel,
53934
54199
  {
53935
54200
  opts: {
@@ -53942,12 +54207,15 @@ function HeroAiPoweredCarousel({
53942
54207
  })
53943
54208
  ],
53944
54209
  orientation: "vertical",
53945
- children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[600px]", children: desktopCarouselImages2.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsx(
54210
+ children: /* @__PURE__ */ jsx(CarouselContent, { className: "max-h-[600px]", children: carouselImages2.map((image, index) => /* @__PURE__ */ jsx(CarouselItem, { children: /* @__PURE__ */ jsx(
53946
54211
  Img,
53947
54212
  {
53948
54213
  src: image.src,
53949
54214
  alt: image.alt,
53950
- className: image.className,
54215
+ className: cn(
54216
+ "rounded-lg shadow-lg",
54217
+ image.className
54218
+ ),
53951
54219
  optixFlowConfig
53952
54220
  }
53953
54221
  ) }, index)) })
@@ -59646,7 +59914,7 @@ function HeroEventRegistration({
59646
59914
  locationSlot,
59647
59915
  background,
59648
59916
  containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
59649
- spacing = "py-20 md:py-32",
59917
+ spacing = "pt-32 pb-8 md:pt-32 md:pb-32",
59650
59918
  pattern,
59651
59919
  patternOpacity,
59652
59920
  className,
@@ -59665,34 +59933,6 @@ function HeroEventRegistration({
59665
59933
  badgeText
59666
59934
  ] });
59667
59935
  }, [badgeSlot, badgeIcon, badgeText]);
59668
- const renderActions = useMemo(() => {
59669
- if (actionsSlot) return actionsSlot;
59670
- if (!actions || actions.length === 0) return null;
59671
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-4 sm:flex-row", actionsClassName), children: actions.map((action, index) => {
59672
- const {
59673
- label,
59674
- icon,
59675
- iconAfter,
59676
- children,
59677
- className: actionClassName,
59678
- ...pressableProps
59679
- } = action;
59680
- return /* @__PURE__ */ jsx(
59681
- Pressable,
59682
- {
59683
- asButton: true,
59684
- className: actionClassName,
59685
- ...pressableProps,
59686
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
59687
- icon,
59688
- label,
59689
- iconAfter
59690
- ] })
59691
- },
59692
- index
59693
- );
59694
- }) });
59695
- }, [actionsSlot, actions, actionsClassName]);
59696
59936
  const renderStats = useMemo(() => {
59697
59937
  if (statsSlot) return statsSlot;
59698
59938
  if (!stats || stats.length === 0) return null;
@@ -59768,7 +60008,14 @@ function HeroEventRegistration({
59768
60008
  }
59769
60009
  )),
59770
60010
  description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
59771
- renderActions,
60011
+ /* @__PURE__ */ jsx(
60012
+ BlockActions,
60013
+ {
60014
+ actions,
60015
+ actionsSlot,
60016
+ actionsClassName
60017
+ }
60018
+ ),
59772
60019
  renderStats
59773
60020
  ] }),
59774
60021
  renderImage
@@ -83215,7 +83462,7 @@ function ListSearchableGrid({
83215
83462
  }
83216
83463
  );
83217
83464
  }
83218
- var { useMemo: useMemo438 } = React23;
83465
+ var { useMemo: useMemo435 } = React23;
83219
83466
  function OfferModalNewsletterDiscount({
83220
83467
  title,
83221
83468
  emailPlaceholder,
@@ -83283,7 +83530,7 @@ function OfferModalNewsletterDiscount({
83283
83530
  });
83284
83531
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
83285
83532
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
83286
- const renderCloseButton = useMemo438(() => {
83533
+ const renderCloseButton = useMemo435(() => {
83287
83534
  if (closeButtonSlot) return closeButtonSlot;
83288
83535
  if (!closeButtonText) return null;
83289
83536
  return /* @__PURE__ */ jsx("div", { className: "absolute end-1.5 top-1.5", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
@@ -83297,12 +83544,12 @@ function OfferModalNewsletterDiscount({
83297
83544
  }
83298
83545
  ) }) });
83299
83546
  }, [closeButtonSlot, closeButtonText, closeClassName]);
83300
- const renderHeader = useMemo438(() => {
83547
+ const renderHeader = useMemo435(() => {
83301
83548
  if (headerSlot) return headerSlot;
83302
83549
  if (!title) return null;
83303
83550
  return /* @__PURE__ */ jsx(DialogHeader, { className: headerClassName, children: typeof title === "string" ? /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) : /* @__PURE__ */ jsx(DialogTitle, { className: cn("text-start font-serif text-2xl font-normal leading-snug", titleClassName), children: title }) });
83304
83551
  }, [headerSlot, title, headerClassName, titleClassName]);
83305
- const renderForm = useMemo438(() => {
83552
+ const renderForm = useMemo435(() => {
83306
83553
  if (formSlot) return formSlot;
83307
83554
  return /* @__PURE__ */ jsxs(
83308
83555
  Form,
@@ -83364,7 +83611,7 @@ function OfferModalNewsletterDiscount({
83364
83611
  }
83365
83612
  ) });
83366
83613
  }
83367
- var { useMemo: useMemo439 } = React23;
83614
+ var { useMemo: useMemo436 } = React23;
83368
83615
  function OfferModalMembershipImage({
83369
83616
  overline,
83370
83617
  title,
@@ -83441,7 +83688,7 @@ function OfferModalMembershipImage({
83441
83688
  });
83442
83689
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
83443
83690
  const dialogProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
83444
- const renderImage = useMemo439(() => {
83691
+ const renderImage = useMemo436(() => {
83445
83692
  if (imageSlot) return imageSlot;
83446
83693
  if (!image) return null;
83447
83694
  return /* @__PURE__ */ jsx("div", { className: cn("max-h-[290px] h-full overflow-hidden max-lg:hidden", imageWrapperClassName), children: /* @__PURE__ */ jsx(
@@ -83454,7 +83701,7 @@ function OfferModalMembershipImage({
83454
83701
  }
83455
83702
  ) });
83456
83703
  }, [imageSlot, image, imageWrapperClassName, imageClassName, optixFlowConfig]);
83457
- const renderCloseButton = useMemo439(() => {
83704
+ const renderCloseButton = useMemo436(() => {
83458
83705
  if (closeButtonSlot) return closeButtonSlot;
83459
83706
  return /* @__PURE__ */ jsx("div", { className: "absolute -end-px -top-px z-10", children: /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(
83460
83707
  Pressable,
@@ -83470,7 +83717,7 @@ function OfferModalMembershipImage({
83470
83717
  }
83471
83718
  ) }) });
83472
83719
  }, [closeButtonSlot, closeClassName]);
83473
- const renderForm = useMemo439(() => {
83720
+ const renderForm = useMemo436(() => {
83474
83721
  if (formSlot) return formSlot;
83475
83722
  return /* @__PURE__ */ jsxs(
83476
83723
  Form,
@@ -83533,7 +83780,7 @@ function OfferModalMembershipImage({
83533
83780
  }
83534
83781
  );
83535
83782
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
83536
- const renderFooter = useMemo439(() => {
83783
+ const renderFooter = useMemo436(() => {
83537
83784
  if (footerSlot) return footerSlot;
83538
83785
  if (!description) return null;
83539
83786
  return /* @__PURE__ */ jsx(DialogFooter, { className: footerClassName, children: /* @__PURE__ */ jsx(DialogDescription, { className: cn("text-muted-foreground text-center text-xs leading-relaxed", descriptionClassName), children: description }) });
@@ -83653,7 +83900,7 @@ function SheetDescription({
83653
83900
  }
83654
83901
  );
83655
83902
  }
83656
- var { useMemo: useMemo440 } = React23;
83903
+ var { useMemo: useMemo437 } = React23;
83657
83904
  function OfferModalSheetNewsletter({
83658
83905
  logo,
83659
83906
  logoSlot,
@@ -83736,7 +83983,7 @@ function OfferModalSheetNewsletter({
83736
83983
  });
83737
83984
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
83738
83985
  const sheetProps = open !== void 0 ? { open, onOpenChange } : { defaultOpen };
83739
- const renderLogo = useMemo440(() => {
83986
+ const renderLogo = useMemo437(() => {
83740
83987
  if (logoSlot) return logoSlot;
83741
83988
  if (!logo) return null;
83742
83989
  const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
@@ -83750,7 +83997,7 @@ function OfferModalSheetNewsletter({
83750
83997
  }
83751
83998
  );
83752
83999
  }, [logoSlot, logo, logoClassName, optixFlowConfig]);
83753
- const renderHeader = useMemo440(() => {
84000
+ const renderHeader = useMemo437(() => {
83754
84001
  if (headerSlot) return headerSlot;
83755
84002
  return /* @__PURE__ */ jsxs(SheetHeader, { className: cn("gap-8 p-0", headerClassName), children: [
83756
84003
  renderLogo,
@@ -83760,7 +84007,7 @@ function OfferModalSheetNewsletter({
83760
84007
  ] })
83761
84008
  ] });
83762
84009
  }, [headerSlot, renderLogo, headerClassName, title, titleClassName, description, descriptionClassName]);
83763
- const renderForm = useMemo440(() => {
84010
+ const renderForm = useMemo437(() => {
83764
84011
  if (formSlot) return formSlot;
83765
84012
  return /* @__PURE__ */ jsx(
83766
84013
  Form,
@@ -83808,7 +84055,7 @@ function OfferModalSheetNewsletter({
83808
84055
  }
83809
84056
  );
83810
84057
  }, [formSlot, form, formConfig, formMethod, emailPlaceholder, inputClassName, submitClassName, buttonText, formClassName]);
83811
- const renderLegal = useMemo440(() => {
84058
+ const renderLegal = useMemo437(() => {
83812
84059
  if (legalSlot) return legalSlot;
83813
84060
  if (!termsUrl || !termsText || !privacyUrl || !privacyText) return null;
83814
84061
  return /* @__PURE__ */ jsxs("p", { className: cn("text-muted-foreground text-xs", legalClassName), children: [
@@ -83822,7 +84069,7 @@ function OfferModalSheetNewsletter({
83822
84069
  "."
83823
84070
  ] });
83824
84071
  }, [legalSlot, termsUrl, termsText, privacyUrl, privacyText, legalClassName]);
83825
- const renderImage = useMemo440(() => {
84072
+ const renderImage = useMemo437(() => {
83826
84073
  if (imageSlot) return imageSlot;
83827
84074
  if (!image) return null;
83828
84075
  return /* @__PURE__ */ jsx("div", { className: cn("h-1/2 basis-1/2", imageWrapperClassName), children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1, className: "overflow-hidden", children: /* @__PURE__ */ jsx(