@opensite/ui 1.7.0 → 1.7.2

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 (33) hide show
  1. package/dist/hero-architecture-fullscreen.cjs +65 -29
  2. package/dist/hero-architecture-fullscreen.d.cts +8 -1
  3. package/dist/hero-architecture-fullscreen.d.ts +8 -1
  4. package/dist/hero-architecture-fullscreen.js +65 -29
  5. package/dist/hero-billing-platform-logos.cjs +5 -5
  6. package/dist/hero-billing-platform-logos.js +5 -5
  7. package/dist/hero-centered-gradient-cta.cjs +114 -31
  8. package/dist/hero-centered-gradient-cta.js +114 -31
  9. package/dist/hero-conversion-video-play.cjs +5 -5
  10. package/dist/hero-conversion-video-play.js +5 -5
  11. package/dist/hero-design-showcase-logos.cjs +4 -4
  12. package/dist/hero-design-showcase-logos.js +4 -4
  13. package/dist/hero-grid-pattern-solutions.cjs +4 -4
  14. package/dist/hero-grid-pattern-solutions.js +4 -4
  15. package/dist/hero-hiring-animated-text.cjs +87 -34
  16. package/dist/hero-hiring-animated-text.js +88 -35
  17. package/dist/hero-premium-split-avatars.cjs +1 -1
  18. package/dist/hero-premium-split-avatars.js +1 -1
  19. package/dist/hero-productivity-launcher-video.cjs +3 -3
  20. package/dist/hero-productivity-launcher-video.js +3 -3
  21. package/dist/hero-split-spiral-shapes.cjs +2 -2
  22. package/dist/hero-split-spiral-shapes.js +2 -2
  23. package/dist/hero-task-timer-animated.cjs +1 -1
  24. package/dist/hero-task-timer-animated.js +1 -1
  25. package/dist/hero-testimonial-image-grid.cjs +62 -56
  26. package/dist/hero-testimonial-image-grid.js +62 -56
  27. package/dist/hero-therapy-testimonial-grid.cjs +72 -17
  28. package/dist/hero-therapy-testimonial-grid.js +72 -17
  29. package/dist/process-roadmap-timeline.cjs +12 -8
  30. package/dist/process-roadmap-timeline.js +12 -8
  31. package/dist/registry.cjs +403 -200
  32. package/dist/registry.js +403 -200
  33. package/package.json +1 -1
package/dist/registry.js CHANGED
@@ -51872,7 +51872,7 @@ function HeroSplitSpiralShapes({
51872
51872
  optixFlowConfig
51873
51873
  }
51874
51874
  ) }) }),
51875
- images[1] && /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-lg shadow-xl md:absolute md:top-[12%] md:right-[5%] md:w-[35%]", children: /* @__PURE__ */ jsx("div", { className: "aspect-square", children: /* @__PURE__ */ jsx(
51875
+ images[1] && /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-lg shadow-xl md:absolute md:top-[12%] md:right-[5%] md:w-[35%]", children: /* @__PURE__ */ jsx("div", { className: "aspect-5/6", children: /* @__PURE__ */ jsx(
51876
51876
  Img,
51877
51877
  {
51878
51878
  src: images[1].src,
@@ -51884,7 +51884,7 @@ function HeroSplitSpiralShapes({
51884
51884
  optixFlowConfig
51885
51885
  }
51886
51886
  ) }) }),
51887
- images[2] && /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-lg shadow-xl md:absolute md:right-[10%] md:bottom-[15%] md:w-[55%]", children: /* @__PURE__ */ jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsx(
51887
+ images[2] && /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-lg shadow-xl md:absolute md:right-[10%] md:bottom-[15%] md:w-[55%]", children: /* @__PURE__ */ jsx("div", { className: "aspect-5/6", children: /* @__PURE__ */ jsx(
51888
51888
  Img,
51889
51889
  {
51890
51890
  src: images[2].src,
@@ -53177,7 +53177,7 @@ function HeroPremiumSplitAvatars({
53177
53177
  image,
53178
53178
  imageSlot,
53179
53179
  background,
53180
- spacing = "py-32 md:py-32",
53180
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
53181
53181
  pattern,
53182
53182
  patternOpacity,
53183
53183
  className,
@@ -53664,7 +53664,7 @@ function HeroTaskTimerAnimated({
53664
53664
  images,
53665
53665
  imagesSlot,
53666
53666
  background,
53667
- spacing = "py-32 md:py-32",
53667
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
53668
53668
  pattern,
53669
53669
  patternOpacity,
53670
53670
  className,
@@ -54186,7 +54186,7 @@ function HeroGridPatternSolutions({
54186
54186
  images,
54187
54187
  imagesSlot,
54188
54188
  background,
54189
- spacing = "py-32 md:py-32",
54189
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
54190
54190
  pattern,
54191
54191
  patternOpacity,
54192
54192
  className,
@@ -54221,9 +54221,9 @@ function HeroGridPatternSolutions({
54221
54221
  const renderBadge = useMemo(() => {
54222
54222
  if (badgeSlot) return badgeSlot;
54223
54223
  if (!badgeText) return null;
54224
- return /* @__PURE__ */ jsx(Pressable, { href: badgeHref, children: /* @__PURE__ */ jsxs(Badge, { className: "px-2", children: [
54224
+ return /* @__PURE__ */ jsx(Pressable, { href: badgeHref, children: /* @__PURE__ */ jsxs(Badge, { className: "px-4", children: [
54225
54225
  badgeText,
54226
- /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-right" })
54226
+ /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/arrow-up-right", size: 16 })
54227
54227
  ] }) });
54228
54228
  }, [badgeSlot, badgeHref, badgeText]);
54229
54229
  const renderActions = useMemo(() => {
@@ -54316,7 +54316,7 @@ function HeroGridPatternSolutions({
54316
54316
  containerClassName,
54317
54317
  children: [
54318
54318
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
54319
- /* @__PURE__ */ jsx("div", { className: "relative overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
54319
+ /* @__PURE__ */ jsx("div", { className: "relative overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-center", contentClassName), children: [
54320
54320
  renderBadge,
54321
54321
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
54322
54322
  "h1",
@@ -54458,7 +54458,7 @@ function HeroBillingPlatformLogos({
54458
54458
  logos,
54459
54459
  logosSlot,
54460
54460
  background,
54461
- spacing = "py-32 md:py-32",
54461
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
54462
54462
  pattern,
54463
54463
  patternOpacity,
54464
54464
  className,
@@ -54532,15 +54532,15 @@ function HeroBillingPlatformLogos({
54532
54532
  "div",
54533
54533
  {
54534
54534
  className: cn(
54535
- "flex flex-col items-center gap-4 lg:flex-row",
54535
+ "flex flex-col items-start md:items-center gap-4 lg:flex-row",
54536
54536
  actionsClassName
54537
54537
  ),
54538
54538
  children: renderActions
54539
54539
  }
54540
54540
  ) })
54541
54541
  ] }) }),
54542
- imagesSlot ? imagesSlot : mainImage ? /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: "relative mr-auto ml-auto aspect-[1.28581291/1] w-full max-w-149 lg:mr-0 lg:ml-auto", children: [
54543
- /* @__PURE__ */ jsx("div", { className: "relative mx-auto aspect-[1.020365896/1] h-full w-[79.35%] max-w-118.25 overflow-hidden rounded-3xl", children: /* @__PURE__ */ jsx(
54542
+ imagesSlot ? imagesSlot : mainImage ? /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: "relative mr-auto ml-auto md:aspect-[1.28581291/1] w-full max-w-full md:max-w-149 lg:mr-0 lg:ml-auto", children: [
54543
+ /* @__PURE__ */ jsx("div", { className: "relative mx-auto md:aspect-[1.020365896/1] h-full w-full md:w-[79.35%] max-w-full md:max-w-118.25 overflow-hidden rounded-3xl", children: /* @__PURE__ */ jsx(
54544
54544
  Img,
54545
54545
  {
54546
54546
  src: mainImage.src,
@@ -54594,7 +54594,7 @@ function HeroBillingPlatformLogos({
54594
54594
  "div",
54595
54595
  {
54596
54596
  className: cn(
54597
- "flex flex-col items-center justify-center gap-8 pt-28",
54597
+ "flex flex-col items-center justify-center gap-8 pt-8 md:pt-28",
54598
54598
  logosClassName
54599
54599
  ),
54600
54600
  children: [
@@ -54866,7 +54866,7 @@ function HeroConversionVideoPlay({
54866
54866
  description,
54867
54867
  primaryAction,
54868
54868
  videoButtonLabel = "Play Video",
54869
- videoUrl = "https://www.youtube.com/embed/your-video-id",
54869
+ videoUrl,
54870
54870
  videoDialogTitle = "Presentation Video",
54871
54871
  actionsSlot,
54872
54872
  image,
@@ -54875,7 +54875,7 @@ function HeroConversionVideoPlay({
54875
54875
  logos,
54876
54876
  logosSlot,
54877
54877
  background,
54878
- spacing = "py-32 md:py-32",
54878
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
54879
54879
  pattern,
54880
54880
  patternOpacity,
54881
54881
  className,
@@ -54922,7 +54922,7 @@ function HeroConversionVideoPlay({
54922
54922
  asButton: true,
54923
54923
  variant: "link",
54924
54924
  children: [
54925
- /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 rounded-full bg-primary text-primary-foreground", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/play" }) }),
54925
+ /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 rounded-full bg-primary text-primary-foreground justify-center items-center", children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/play" }) }),
54926
54926
  /* @__PURE__ */ jsx("div", { children: videoButtonLabel })
54927
54927
  ]
54928
54928
  }
@@ -54975,7 +54975,7 @@ function HeroConversionVideoPlay({
54975
54975
  "div",
54976
54976
  {
54977
54977
  className: cn(
54978
- "flex flex-wrap items-center justify-center gap-8",
54978
+ "flex flex-wrap items-center justify-center gap-4",
54979
54979
  actionsClassName
54980
54980
  ),
54981
54981
  children: renderActions
@@ -54998,7 +54998,7 @@ function HeroConversionVideoPlay({
54998
54998
  ) }) }) }) : null })
54999
54999
  ] }) }),
55000
55000
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-16 py-20", children: [
55001
- logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-xl font-medium "), children: logosTagline }) : logosTagline),
55001
+ logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center font-medium "), children: logosTagline }) : logosTagline),
55002
55002
  logosSlot ? logosSlot : logos && logos.length > 0 ? /* @__PURE__ */ jsx(
55003
55003
  Carousel,
55004
55004
  {
@@ -55040,7 +55040,7 @@ function HeroDesignShowcaseLogos({
55040
55040
  showcaseImage,
55041
55041
  showcaseSlot,
55042
55042
  background,
55043
- spacing = "py-32 md:py-32",
55043
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
55044
55044
  pattern,
55045
55045
  patternOpacity,
55046
55046
  className,
@@ -55060,7 +55060,7 @@ function HeroDesignShowcaseLogos({
55060
55060
  "div",
55061
55061
  {
55062
55062
  className: cn(
55063
- "mt-6 md:mt-12 flex items-center justify-center gap-3",
55063
+ "mt-6 md:mt-12 flex flex-col md:flex-row items-center justify-center gap-4",
55064
55064
  actionsClassName
55065
55065
  ),
55066
55066
  children: actions.map((action, index) => {
@@ -55093,7 +55093,7 @@ function HeroDesignShowcaseLogos({
55093
55093
  const renderLogos = useMemo(() => {
55094
55094
  if (logosSlot) return logosSlot;
55095
55095
  if (!logos || logos.length === 0) return null;
55096
- return /* @__PURE__ */ jsxs("div", { className: "py-10 md:py-16", children: [
55096
+ return /* @__PURE__ */ jsxs("div", { className: "py-0 md:py-16", children: [
55097
55097
  logosLabel && (typeof logosLabel === "string" ? /* @__PURE__ */ jsx("p", { className: "text-center text-sm text-foreground/60", children: logosLabel }) : /* @__PURE__ */ jsx("div", { className: "text-center text-sm text-foreground/60", children: logosLabel })),
55098
55098
  /* @__PURE__ */ jsx(
55099
55099
  "div",
@@ -55110,7 +55110,7 @@ function HeroDesignShowcaseLogos({
55110
55110
  src: logoSrc,
55111
55111
  alt: logo.alt,
55112
55112
  className: cn(
55113
- "block h-3.5 w-auto opacity-50 md:h-5",
55113
+ "block w-auto opacity-50 h-5 object-contain",
55114
55114
  logo.className
55115
55115
  ),
55116
55116
  optixFlowConfig
@@ -55297,7 +55297,7 @@ function HeroProductivityLauncherVideo({
55297
55297
  const renderActions = useMemo(() => {
55298
55298
  if (actionsSlot) return actionsSlot;
55299
55299
  if (!actions || actions.length === 0) return null;
55300
- return /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-center gap-4", children: actions.map((action, index) => {
55300
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col md:flex-row items-center justify-center gap-4", children: actions.map((action, index) => {
55301
55301
  const {
55302
55302
  label,
55303
55303
  icon,
@@ -55355,8 +55355,8 @@ function HeroProductivityLauncherVideo({
55355
55355
  className,
55356
55356
  containerClassName,
55357
55357
  children: [
55358
- /* @__PURE__ */ jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center", children: [
55359
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 px-4 pt-52 pb-32 md:pb-52", children: [
55358
+ /* @__PURE__ */ jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center pb-8", children: [
55359
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 pb-16 pt-16", children: [
55360
55360
  /* @__PURE__ */ jsx("div", { className: "max-w-100 sm:max-w-135", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
55361
55361
  "h1",
55362
55362
  {
@@ -55408,7 +55408,7 @@ function HeroHiringAnimatedText({
55408
55408
  scrollActionSlot,
55409
55409
  backgroundImage,
55410
55410
  background,
55411
- spacing = "py-32 md:py-32",
55411
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
55412
55412
  pattern,
55413
55413
  patternOpacity,
55414
55414
  className,
@@ -55418,32 +55418,60 @@ function HeroHiringAnimatedText({
55418
55418
  descriptionClassName,
55419
55419
  actionsClassName
55420
55420
  }) {
55421
+ const [activeIndex, setActiveIndex] = useState(0);
55422
+ const cycleText = useCallback(() => {
55423
+ if (!animatedTexts || animatedTexts.length <= 1) return;
55424
+ setActiveIndex((prev) => (prev + 1) % animatedTexts.length);
55425
+ }, [animatedTexts]);
55426
+ useEffect(() => {
55427
+ if (!animatedTexts || animatedTexts.length <= 1) return;
55428
+ const interval = setInterval(cycleText, 2e3);
55429
+ return () => clearInterval(interval);
55430
+ }, [animatedTexts, cycleText]);
55421
55431
  const renderHeading = useMemo(() => {
55422
55432
  if (headingSlot) return headingSlot;
55423
- return /* @__PURE__ */ jsxs("h1", { className: cn("text-4xl leading-9 font-bold lg:text-5xl lg:leading-12! xl:text-7xl xl:leading-22!", headingClassName), children: [
55424
- /* @__PURE__ */ jsx("div", { className: "mb-2", children: headingPrefix }),
55425
- animatedTexts && animatedTexts.length > 0 && /* @__PURE__ */ jsx("div", { className: "relative h-[calc(2.25rem*3)] md:h-9 lg:h-12 xl:h-22", children: animatedTexts.map((text, index) => /* @__PURE__ */ jsx(
55426
- "div",
55427
- {
55428
- className: cn(
55429
- "absolute top-0 left-0 will-change-[opacity]",
55430
- index === 0 ? `animate-[show-text_${animatedTexts.length * 2}s_ease-in-out_infinite_0s]` : `animate-[show-text_${animatedTexts.length * 2}s_ease-in-out_infinite_${index * 2}s] opacity-0`
55431
- ),
55432
- style: {
55433
- animation: `show-text ${animatedTexts.length * 2}s ease-in-out infinite ${index * 2}s`,
55434
- opacity: index === 0 ? 1 : 0
55435
- },
55436
- children: text
55437
- },
55438
- index
55439
- )) })
55440
- ] });
55441
- }, [headingSlot, headingPrefix, animatedTexts, headingClassName]);
55433
+ return /* @__PURE__ */ jsxs(
55434
+ "h1",
55435
+ {
55436
+ className: cn(
55437
+ "text-4xl leading-9 font-bold lg:text-5xl lg:leading-12! xl:text-7xl xl:leading-22! text-white text-shadow-xl",
55438
+ headingClassName
55439
+ ),
55440
+ children: [
55441
+ /* @__PURE__ */ jsx("div", { className: "mb-2", children: headingPrefix }),
55442
+ animatedTexts && animatedTexts.length > 0 && /* @__PURE__ */ jsx("div", { className: "relative h-9 lg:h-12 xl:h-22", children: animatedTexts.map((text, index) => /* @__PURE__ */ jsx(
55443
+ "div",
55444
+ {
55445
+ className: "absolute top-0 left-0 text-white transition-opacity duration-1000 ease-in-out",
55446
+ style: {
55447
+ opacity: index === activeIndex ? 1 : 0
55448
+ },
55449
+ children: text
55450
+ },
55451
+ index
55452
+ )) })
55453
+ ]
55454
+ }
55455
+ );
55456
+ }, [
55457
+ headingSlot,
55458
+ headingPrefix,
55459
+ animatedTexts,
55460
+ headingClassName,
55461
+ activeIndex
55462
+ ]);
55442
55463
  const renderActions = useMemo(() => {
55443
55464
  if (actionsSlot) return actionsSlot;
55444
55465
  if (!actions || actions.length === 0) return null;
55445
- return /* @__PURE__ */ jsx("div", { className: cn("flex flex-wrap items-center gap-5", actionsClassName), children: actions.map((action, index) => {
55446
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
55466
+ return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
55467
+ const {
55468
+ label,
55469
+ icon,
55470
+ iconAfter,
55471
+ children,
55472
+ className: actionClassName,
55473
+ ...pressableProps
55474
+ } = action;
55447
55475
  return /* @__PURE__ */ jsx(
55448
55476
  Pressable,
55449
55477
  {
@@ -55463,7 +55491,14 @@ function HeroHiringAnimatedText({
55463
55491
  const renderScrollAction = useMemo(() => {
55464
55492
  if (scrollActionSlot) return scrollActionSlot;
55465
55493
  if (!scrollAction) return null;
55466
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = scrollAction;
55494
+ const {
55495
+ label,
55496
+ icon,
55497
+ iconAfter,
55498
+ children,
55499
+ className: actionClassName,
55500
+ ...pressableProps
55501
+ } = scrollAction;
55467
55502
  return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
55468
55503
  icon,
55469
55504
  /* @__PURE__ */ jsx("div", { children: label }),
@@ -55478,21 +55513,39 @@ function HeroHiringAnimatedText({
55478
55513
  pattern,
55479
55514
  patternOpacity,
55480
55515
  className: cn(
55481
- "relative flex items-center justify-center dark h-svh max-h-[1400px] w-full bg-cover bg-position-[100%] bg-no-repeat before:absolute before:top-0 before:left-0 before:size-full before:bg-[radial-gradient(circle_at_100%_-100%,transparent_40%,rgba(0,0,0,.75)_85%)] before:content-['']",
55516
+ "relative flex items-center justify-center h-svh max-h-[1400px] w-full bg-cover bg-position-[100%] bg-no-repeat before:absolute before:top-0 before:left-0 before:size-full before:bg-[radial-gradient(circle_at_100%_-100%,transparent_40%,rgba(0,0,0,.75)_85%)] before:content-['']",
55482
55517
  className
55483
55518
  ),
55484
55519
  containerClassName,
55485
55520
  style: { backgroundImage: `url('${backgroundImage}')` },
55486
- children: /* @__PURE__ */ jsx("div", { className: "relative z-10 flex size-full max-w-412.5 flex-col justify-between pt-24 pb-14 md:justify-end", children: /* @__PURE__ */ jsxs("div", { className: cn("flex h-full flex-col justify-between gap-6 md:justify-end", contentClassName), children: [
55487
- renderHeading,
55488
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8", children: [
55489
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg lg:text-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
55490
- /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-5", children: [
55491
- renderActions,
55492
- renderScrollAction
55493
- ] })
55494
- ] })
55495
- ] }) })
55521
+ children: /* @__PURE__ */ jsx("div", { className: "relative z-10 flex size-full max-w-412.5 flex-col justify-between pt-24 pb-14 md:justify-end", children: /* @__PURE__ */ jsxs(
55522
+ "div",
55523
+ {
55524
+ className: cn(
55525
+ "flex h-full flex-col justify-between gap-6 md:justify-end max-w-full md:max-w-md",
55526
+ contentClassName
55527
+ ),
55528
+ children: [
55529
+ renderHeading,
55530
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-8", children: [
55531
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
55532
+ "p",
55533
+ {
55534
+ className: cn(
55535
+ "text-lg lg:text-2xl text-white text-balance",
55536
+ descriptionClassName
55537
+ ),
55538
+ children: description
55539
+ }
55540
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
55541
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4", children: [
55542
+ renderActions,
55543
+ renderScrollAction
55544
+ ] })
55545
+ ] })
55546
+ ]
55547
+ }
55548
+ ) })
55496
55549
  }
55497
55550
  );
55498
55551
  }
@@ -55587,7 +55640,7 @@ function HeroCenteredGradientCta({
55587
55640
  features,
55588
55641
  featuresSlot,
55589
55642
  background,
55590
- spacing = "py-32 md:py-32",
55643
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
55591
55644
  pattern,
55592
55645
  patternOpacity,
55593
55646
  className,
@@ -55602,8 +55655,15 @@ function HeroCenteredGradientCta({
55602
55655
  const renderActions = useMemo(() => {
55603
55656
  if (actionsSlot) return actionsSlot;
55604
55657
  if (!actions || actions.length === 0) return null;
55605
- return actions.map((action, index) => {
55606
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
55658
+ 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) => {
55659
+ const {
55660
+ label,
55661
+ icon,
55662
+ iconAfter,
55663
+ children,
55664
+ className: actionClassName,
55665
+ ...pressableProps
55666
+ } = action;
55607
55667
  return /* @__PURE__ */ jsx(
55608
55668
  Pressable,
55609
55669
  {
@@ -55612,51 +55672,94 @@ function HeroCenteredGradientCta({
55612
55672
  ...pressableProps,
55613
55673
  children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
55614
55674
  icon,
55615
- label,
55675
+ /* @__PURE__ */ jsx("span", { children: label }),
55616
55676
  iconAfter
55617
55677
  ] })
55618
55678
  },
55619
55679
  index
55620
55680
  );
55621
- });
55681
+ }) });
55622
55682
  }, [actionsSlot, actions]);
55623
55683
  const renderFeatures = useMemo(() => {
55624
55684
  if (featuresSlot) return featuresSlot;
55625
55685
  if (!features || features.length === 0) return null;
55626
- return features.map((feature, index) => /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", feature.className), children: [
55627
- feature.icon,
55628
- /* @__PURE__ */ jsx("span", { children: feature.title })
55629
- ] }, index));
55686
+ return features.map((feature, index) => /* @__PURE__ */ jsxs(
55687
+ Pressable,
55688
+ {
55689
+ href: feature.href,
55690
+ className: cn("flex items-center gap-2", feature.className),
55691
+ children: [
55692
+ feature.icon,
55693
+ /* @__PURE__ */ jsx("span", { children: feature.title })
55694
+ ]
55695
+ },
55696
+ index
55697
+ ));
55630
55698
  }, [featuresSlot, features]);
55631
- return /* @__PURE__ */ jsxs(
55699
+ return /* @__PURE__ */ jsx(
55632
55700
  Section,
55633
55701
  {
55634
55702
  background,
55635
55703
  spacing,
55636
55704
  pattern,
55637
55705
  patternOpacity,
55638
- className: cn("relative flex items-center justify-center min-h-screen overflow-hidden bg-background py-32", className),
55706
+ className,
55639
55707
  containerClassName,
55640
- children: [
55641
- /* @__PURE__ */ jsx("div", { className: cn("pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_80%_50%_at_50%_-20%,rgba(120,119,198,0.3),transparent)]", gradientClassName) }),
55642
- /* @__PURE__ */ jsxs("div", { className: "relative z-10 flex flex-col items-center text-center", children: [
55643
- badge && /* @__PURE__ */ jsxs("div", { className: cn(
55644
- "inline-flex items-center gap-2 rounded-full border border-border/50 bg-accent px-4 py-2 text-sm",
55645
- badgeClassName
55646
- ), children: [
55647
- badgeIcon,
55648
- typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
55649
- ] }),
55650
- (heading || headingHighlight) && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("mt-8 max-w-4xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl", headingClassName), children: heading }) : heading ? /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading }) : headingHighlight ? /* @__PURE__ */ jsxs("h1", { className: cn("mt-8 max-w-4xl text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl", headingClassName), children: [
55651
- "Build something",
55652
- " ",
55653
- /* @__PURE__ */ jsx("span", { className: "bg-linear-to-r from-primary to-purple-600 bg-clip-text text-transparent", children: headingHighlight })
55654
- ] }) : null),
55655
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-6 max-w-2xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
55656
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-10 flex flex-col gap-4 sm:flex-row", actionsClassName), children: renderActions }),
55657
- (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-16 flex items-center gap-8 text-sm text-muted-foreground", featuresClassName), children: renderFeatures })
55658
- ] })
55659
- ]
55708
+ children: /* @__PURE__ */ jsxs("div", { className: "relative gap-6 z-10 flex flex-col items-center text-center", children: [
55709
+ badge && /* @__PURE__ */ jsxs(Badge, { className: "px-3", children: [
55710
+ badgeIcon,
55711
+ typeof badge === "string" ? /* @__PURE__ */ jsx("span", { children: badge }) : badge
55712
+ ] }),
55713
+ (heading || headingHighlight) && (typeof heading === "string" ? /* @__PURE__ */ jsx(
55714
+ "h1",
55715
+ {
55716
+ className: cn(
55717
+ "max-w-full md:max-w-md text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-balance",
55718
+ headingClassName
55719
+ ),
55720
+ children: heading
55721
+ }
55722
+ ) : heading ? /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading }) : headingHighlight ? /* @__PURE__ */ jsx(
55723
+ "h1",
55724
+ {
55725
+ className: cn(
55726
+ "max-w-full md:max-w-md text-5xl font-bold tracking-tight md:text-6xl lg:text-7xl text-balance",
55727
+ headingClassName
55728
+ ),
55729
+ children: /* @__PURE__ */ jsx("span", { className: "bg-linear-to-r from-primary to-purple-600 bg-clip-text text-transparent", children: headingHighlight })
55730
+ }
55731
+ ) : null),
55732
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
55733
+ "p",
55734
+ {
55735
+ className: cn(
55736
+ "max-w-full md:max-w-md text-md md:text-xl text-balance",
55737
+ descriptionClassName
55738
+ ),
55739
+ children: description
55740
+ }
55741
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
55742
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsx(
55743
+ "div",
55744
+ {
55745
+ className: cn(
55746
+ "mt-0 md:mt-6 flex flex-col gap-4 sm:flex-row",
55747
+ actionsClassName
55748
+ ),
55749
+ children: renderActions
55750
+ }
55751
+ ),
55752
+ (featuresSlot || features && features.length > 0) && /* @__PURE__ */ jsx(
55753
+ "div",
55754
+ {
55755
+ className: cn(
55756
+ "mt-4 md:mt-6 flex flex-col md:flex-row items-center gap-4 md:gap-8 text-sm",
55757
+ featuresClassName
55758
+ ),
55759
+ children: renderFeatures
55760
+ }
55761
+ )
55762
+ ] })
55660
55763
  }
55661
55764
  );
55662
55765
  }
@@ -55870,29 +55973,21 @@ function HeroTestimonialImageGrid({
55870
55973
  if (testimonialSlot) return testimonialSlot;
55871
55974
  if (!testimonial || !testimonial.avatars) return null;
55872
55975
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
55873
- /* @__PURE__ */ jsx("div", { className: "flex -space-x-2", children: testimonial.avatars.map((avatar, index) => /* @__PURE__ */ jsxs(
55874
- Avatar,
55875
- {
55876
- className: "size-10 border-2 border-border",
55877
- children: [
55878
- /* @__PURE__ */ jsx(AvatarImage, { src: avatar.image, alt: "" }),
55879
- /* @__PURE__ */ jsx(AvatarFallback, { children: avatar.fallback })
55880
- ]
55881
- },
55882
- index
55883
- )) }),
55976
+ /* @__PURE__ */ jsx("div", { className: "flex -space-x-2", children: testimonial.avatars.map((avatar, index) => /* @__PURE__ */ jsxs(Avatar, { className: "size-10 border-2 border-border", children: [
55977
+ /* @__PURE__ */ jsx(AvatarImage, { src: avatar.image, alt: testimonial.author }),
55978
+ /* @__PURE__ */ jsx(AvatarFallback, { children: avatar.fallback })
55979
+ ] }, index)) }),
55884
55980
  /* @__PURE__ */ jsxs("div", { children: [
55885
- /* @__PURE__ */ jsxs("p", { className: "mb-1 text-sm text-foreground/60 italic", children: [
55981
+ /* @__PURE__ */ jsxs("p", { className: "mb-1 text-sm italic", children: [
55886
55982
  '"',
55887
55983
  testimonial.quote,
55888
55984
  '"'
55889
55985
  ] }),
55890
- /* @__PURE__ */ jsxs("p", { className: "text-sm font-medium text-foreground/60", children: [
55986
+ /* @__PURE__ */ jsxs("p", { className: "text-sm font-medium ", children: [
55891
55987
  testimonial.author,
55892
55988
  ", ",
55893
55989
  testimonial.role,
55894
- " @",
55895
- testimonial.company
55990
+ testimonial.company?.length ? ` | ${testimonial.company}` : ""
55896
55991
  ] })
55897
55992
  ] })
55898
55993
  ] });
@@ -55901,44 +55996,22 @@ function HeroTestimonialImageGrid({
55901
55996
  if (imagesSlot) return imagesSlot;
55902
55997
  if (!gridImages || gridImages.length < 4) return null;
55903
55998
  const images = gridImages;
55904
- return /* @__PURE__ */ jsx("div", { className: "w-full flex-1", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-200", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1 / 1, className: "h-full w-full", children: /* @__PURE__ */ jsxs("div", { className: "grid h-full w-full grid-cols-2 grid-rows-2 gap-[3.5%]", children: [
55905
- /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-[5.2%] border border-border bg-card", children: /* @__PURE__ */ jsx(
55906
- Img,
55907
- {
55908
- src: images[0].src,
55909
- alt: images[0].alt || "",
55910
- className: "object-fit h-full w-full object-center",
55911
- optixFlowConfig
55912
- }
55913
- ) }),
55914
- /* @__PURE__ */ jsx("div", { className: "relative overflow-hidden rounded-[5.2%] border border-border bg-card", children: /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-[5%] w-[110%] max-w-100 -translate-y-1/2 overflow-hidden rounded-md", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1.739130435 / 1, children: /* @__PURE__ */ jsx(
55915
- Img,
55916
- {
55917
- src: images[1].src,
55918
- alt: images[1].alt || "",
55919
- className: "size-full object-cover object-center",
55920
- optixFlowConfig
55921
- }
55922
- ) }) }) }),
55923
- /* @__PURE__ */ jsx("div", { className: "relative overflow-hidden rounded-[5.2%] border border-border bg-card", children: /* @__PURE__ */ jsx("div", { className: "absolute top-[9%] left-[9%] w-[200%] max-w-150 overflow-hidden rounded-md", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1.6 / 1, children: /* @__PURE__ */ jsx(
55924
- Img,
55925
- {
55926
- src: images[2].src,
55927
- alt: images[2].alt || "",
55928
- className: "size-full object-cover object-center",
55929
- optixFlowConfig
55930
- }
55931
- ) }) }) }),
55932
- /* @__PURE__ */ jsx("div", { className: "relative overflow-hidden rounded-[5.2%] border border-border bg-card", children: /* @__PURE__ */ jsx("div", { className: "relative top-[12%] left-[50%] w-[70%] max-w-70 -translate-x-[50%]", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 0.52 / 1, children: /* @__PURE__ */ jsx(
55933
- Img,
55934
- {
55935
- src: images[3].src,
55936
- alt: images[3].alt || "",
55937
- className: "absolute z-10 w-full rounded-[16%]",
55938
- optixFlowConfig
55939
- }
55940
- ) }) }) })
55941
- ] }) }) }) });
55999
+ return /* @__PURE__ */ jsx("div", { className: "w-full flex-1", children: /* @__PURE__ */ jsx("div", { className: "w-full max-w-full md:max-w-200", children: /* @__PURE__ */ jsx(AspectRatio, { ratio: 1 / 1, className: "h-full w-full", children: /* @__PURE__ */ jsx("div", { className: "grid h-full w-full grid-cols-2 grid-rows-2 gap-4", children: images.slice(0, 4).map((image, index) => /* @__PURE__ */ jsx(
56000
+ "div",
56001
+ {
56002
+ className: "overflow-hidden rounded-lg shadow-xl",
56003
+ children: /* @__PURE__ */ jsx(
56004
+ Img,
56005
+ {
56006
+ src: image.src,
56007
+ alt: image.alt || "",
56008
+ className: "size-full object-cover object-center",
56009
+ optixFlowConfig
56010
+ }
56011
+ )
56012
+ },
56013
+ index
56014
+ )) }) }) }) });
55942
56015
  }, [imagesSlot, gridImages, optixFlowConfig]);
55943
56016
  return /* @__PURE__ */ jsx(
55944
56017
  Section,
@@ -55947,13 +56020,49 @@ function HeroTestimonialImageGrid({
55947
56020
  spacing,
55948
56021
  pattern,
55949
56022
  patternOpacity,
55950
- className: cn("relative flex items-center justify-center py-12 md:py-20", className),
56023
+ className,
55951
56024
  containerClassName,
55952
56025
  children: /* @__PURE__ */ jsx("div", { className: "relative", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-8 md:flex-row", children: [
55953
56026
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
55954
56027
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 lg:gap-8", children: [
55955
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("leading-tighter max-w-[80%] text-4xl font-semibold tracking-tight lg:text-5xl xl:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("leading-tighter max-w-[80%] text-4xl font-semibold tracking-tight lg:text-5xl xl:text-7xl", headingClassName), children: heading })),
55956
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg leading-relaxed text-muted-foreground xl:text-2xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("text-lg leading-relaxed text-muted-foreground xl:text-2xl", descriptionClassName), children: description }))
56028
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
56029
+ "h1",
56030
+ {
56031
+ className: cn(
56032
+ "leading-tighter max-w-[80%] text-4xl font-semibold tracking-tight lg:text-5xl xl:text-7xl",
56033
+ headingClassName
56034
+ ),
56035
+ children: heading
56036
+ }
56037
+ ) : /* @__PURE__ */ jsx(
56038
+ "h1",
56039
+ {
56040
+ className: cn(
56041
+ "leading-tighter max-w-[80%] text-4xl font-semibold tracking-tight lg:text-5xl xl:text-7xl",
56042
+ headingClassName
56043
+ ),
56044
+ children: heading
56045
+ }
56046
+ )),
56047
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
56048
+ "p",
56049
+ {
56050
+ className: cn(
56051
+ "text-lg leading-relaxed text-balance xl:text-2xl",
56052
+ descriptionClassName
56053
+ ),
56054
+ children: description
56055
+ }
56056
+ ) : /* @__PURE__ */ jsx(
56057
+ "div",
56058
+ {
56059
+ className: cn(
56060
+ "text-lg leading-relaxed text-balance xl:text-2xl",
56061
+ descriptionClassName
56062
+ ),
56063
+ children: description
56064
+ }
56065
+ ))
55957
56066
  ] }),
55958
56067
  /* @__PURE__ */ jsx("div", { className: "my-6 lg:my-10", children: renderButton }),
55959
56068
  renderTestimonial
@@ -56113,34 +56222,34 @@ function HeroArchitectureFullscreen({
56113
56222
  actionSlot,
56114
56223
  backgroundImage,
56115
56224
  background,
56116
- spacing = "py-32 md:py-32",
56225
+ spacing = "py-0 md:py-0",
56117
56226
  pattern,
56118
56227
  patternOpacity,
56119
56228
  className,
56120
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
56229
+ containerClassName = "mx-0 min-h-screen h-full w-screen max-w-full relative z-10 px-0 sm:px-0 md:px-0 lg:px-0 flex items-end",
56121
56230
  taglineClassName,
56122
56231
  headingClassName,
56123
- descriptionClassName
56232
+ descriptionClassName,
56233
+ optixFlowConfig
56124
56234
  }) {
56125
56235
  const renderAction = useMemo(() => {
56126
56236
  if (actionSlot) return actionSlot;
56127
56237
  if (!action) return null;
56128
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
56129
- return /* @__PURE__ */ jsx(
56130
- Pressable,
56131
- {
56132
- asButton: true,
56133
- className: actionClassName,
56134
- ...pressableProps,
56135
- children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
56136
- icon,
56137
- typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: "group-hover:underline", children: label }) : label,
56138
- iconAfter
56139
- ] })
56140
- }
56141
- );
56238
+ const {
56239
+ label,
56240
+ icon,
56241
+ iconAfter,
56242
+ children,
56243
+ className: actionClassName,
56244
+ ...pressableProps
56245
+ } = action;
56246
+ return /* @__PURE__ */ jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
56247
+ icon,
56248
+ typeof label === "string" ? /* @__PURE__ */ jsx("p", { className: "group-hover:underline", children: label }) : label,
56249
+ iconAfter
56250
+ ] }) });
56142
56251
  }, [actionSlot, action]);
56143
- return /* @__PURE__ */ jsx(
56252
+ return /* @__PURE__ */ jsxs(
56144
56253
  Section,
56145
56254
  {
56146
56255
  background,
@@ -56148,21 +56257,56 @@ function HeroArchitectureFullscreen({
56148
56257
  pattern,
56149
56258
  patternOpacity,
56150
56259
  className: cn(
56151
- "relative flex items-center justify-center dark h-svh max-h-[1400px] w-full overflow-hidden bg-cover bg-center bg-no-repeat font-poppins after:absolute after:top-0 after:left-0 after:block after:h-full after:w-full after:bg-foreground/65 after:content-['']",
56260
+ "relative flex min-h-screen min-w-screen items-center justify-center dark w-full overflow-hidden font-poppins",
56152
56261
  className
56153
56262
  ),
56154
56263
  containerClassName,
56155
- style: { backgroundImage: backgroundImage ? `url('${backgroundImage}')` : void 0 },
56156
- children: /* @__PURE__ */ jsx("div", { className: "relative z-20 h-full w-full max-w-340", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col justify-end gap-12", children: [
56157
- /* @__PURE__ */ jsxs("div", { className: "flex max-w-245.5 flex-col gap-1", children: [
56158
- tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-sm leading-none uppercase text-muted-foreground", taglineClassName), children: tagline }) : /* @__PURE__ */ jsx("div", { className: taglineClassName, children: tagline })),
56159
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-3xl leading-snug! md:text-4xl lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading }))
56160
- ] }),
56161
- /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col justify-between gap-5 sm:flex-row sm:items-center", children: [
56162
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("max-w-81 border-l border-border pl-6 text-base text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
56264
+ children: [
56265
+ backgroundImage && /* @__PURE__ */ jsx(
56266
+ Img,
56267
+ {
56268
+ src: backgroundImage,
56269
+ alt: "",
56270
+ className: "absolute inset-0 min-h-screen min-w-screen object-cover object-center brightness-50",
56271
+ optixFlowConfig
56272
+ }
56273
+ ),
56274
+ /* @__PURE__ */ jsx("div", { className: "relative z-20 h-full w-full max-w-340 p-8 md:p-24", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-end gap-6 md:gap-12", children: [
56275
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
56276
+ tagline && (typeof tagline === "string" ? /* @__PURE__ */ jsx(
56277
+ "p",
56278
+ {
56279
+ className: cn(
56280
+ "text-sm leading-none uppercase text-balance text-white text-shadow-xl",
56281
+ taglineClassName
56282
+ ),
56283
+ children: tagline
56284
+ }
56285
+ ) : /* @__PURE__ */ jsx("div", { className: taglineClassName, children: tagline })),
56286
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
56287
+ "h1",
56288
+ {
56289
+ className: cn(
56290
+ "text-3xl leading-snug! md:text-4xl lg:text-6xl text-white text-balance text-shadow-xl",
56291
+ headingClassName
56292
+ ),
56293
+ children: heading
56294
+ }
56295
+ ) : /* @__PURE__ */ jsx("div", { className: headingClassName, children: heading }))
56296
+ ] }),
56297
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col justify-between gap-5 sm:flex-row sm:items-center", children: description && (typeof description === "string" ? /* @__PURE__ */ jsx(
56298
+ "p",
56299
+ {
56300
+ className: cn(
56301
+ "text-base text-balance text-white text-shadow-xl",
56302
+ descriptionClassName
56303
+ ),
56304
+ children: description
56305
+ }
56306
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })) }),
56163
56307
  /* @__PURE__ */ jsx("div", { className: "shrink-0", children: renderAction })
56164
- ] })
56165
- ] }) })
56308
+ ] }) })
56309
+ ]
56166
56310
  }
56167
56311
  );
56168
56312
  }
@@ -56709,7 +56853,7 @@ function HeroTherapyTestimonialGrid({
56709
56853
  testimonial,
56710
56854
  testimonialSlot,
56711
56855
  background,
56712
- spacing = "py-32 md:py-32",
56856
+ spacing = "pt-28 pb-8 md:pt-32 md:pb-32",
56713
56857
  pattern,
56714
56858
  patternOpacity,
56715
56859
  className,
@@ -56722,8 +56866,15 @@ function HeroTherapyTestimonialGrid({
56722
56866
  const renderActions = useMemo(() => {
56723
56867
  if (actionsSlot) return actionsSlot;
56724
56868
  if (!actions || actions.length === 0) return null;
56725
- return actions.map((action, index) => {
56726
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
56869
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-col mt-6 md:mt-8 gap-4 sm:flex-row items-center", children: actions.map((action, index) => {
56870
+ const {
56871
+ label,
56872
+ icon,
56873
+ iconAfter,
56874
+ children,
56875
+ className: actionClassName,
56876
+ ...pressableProps
56877
+ } = action;
56727
56878
  return /* @__PURE__ */ jsx(
56728
56879
  Pressable,
56729
56880
  {
@@ -56732,28 +56883,31 @@ function HeroTherapyTestimonialGrid({
56732
56883
  ...pressableProps,
56733
56884
  children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
56734
56885
  icon,
56735
- label,
56886
+ /* @__PURE__ */ jsx("span", { children: label }),
56736
56887
  iconAfter
56737
56888
  ] })
56738
56889
  },
56739
56890
  index
56740
56891
  );
56741
- });
56892
+ }) });
56742
56893
  }, [actionsSlot, actions]);
56743
56894
  const renderTestimonial = useMemo(() => {
56744
56895
  if (testimonialSlot) return testimonialSlot;
56745
56896
  if (!testimonial) return null;
56746
- return /* @__PURE__ */ jsx("div", { className: "col-[1/2] row-[3/4] md:col-[1/2] md:row-[2/3]", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full min-h-37.5 flex-col gap-3 overflow-hidden rounded-3xl bg-card p-5 px-5 md:flex-row md:items-center md:gap-7 md:py-8", children: [
56897
+ return /* @__PURE__ */ jsx("div", { className: "col-[1/2] row-[3/4] md:col-[1/2] md:row-[2/3]", children: /* @__PURE__ */ jsxs("div", { className: "flex h-full min-h-37.5 flex-col gap-3 overflow-hidden rounded-3xl bg-card p-6 md:p-8 md:flex-row md:items-start md:gap-7", children: [
56747
56898
  testimonial.avatar && /* @__PURE__ */ jsx("div", { className: "h-20 w-20 shrink-0 overflow-hidden rounded-xl md:h-30 md:w-30", children: /* @__PURE__ */ jsx(
56748
56899
  Img,
56749
56900
  {
56750
56901
  src: testimonial.avatar.src,
56751
56902
  alt: testimonial.avatar.alt,
56752
- className: cn("h-full w-full object-cover object-center", testimonial.avatar.className),
56903
+ className: cn(
56904
+ "h-full w-full object-cover object-center",
56905
+ testimonial.avatar.className
56906
+ ),
56753
56907
  optixFlowConfig
56754
56908
  }
56755
56909
  ) }),
56756
- /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col justify-between gap-2", children: [
56910
+ /* @__PURE__ */ jsxs("div", { className: "flex h-full w-full flex-col gap-2 justify-center", children: [
56757
56911
  /* @__PURE__ */ jsxs("p", { className: "text-lg font-medium ", children: [
56758
56912
  '"',
56759
56913
  testimonial.quote,
@@ -56772,7 +56926,10 @@ function HeroTherapyTestimonialGrid({
56772
56926
  {
56773
56927
  src: images[0].src,
56774
56928
  alt: images[0].alt,
56775
- className: cn("block h-full w-full object-cover object-center", images[0].className),
56929
+ className: cn(
56930
+ "block h-full w-full object-cover object-center",
56931
+ images[0].className
56932
+ ),
56776
56933
  optixFlowConfig
56777
56934
  }
56778
56935
  ) }) }),
@@ -56781,7 +56938,10 @@ function HeroTherapyTestimonialGrid({
56781
56938
  {
56782
56939
  src: images[1].src,
56783
56940
  alt: images[1].alt,
56784
- className: cn("block h-full w-full object-cover object-center", images[1].className),
56941
+ className: cn(
56942
+ "block h-full w-full object-cover object-center",
56943
+ images[1].className
56944
+ ),
56785
56945
  optixFlowConfig
56786
56946
  }
56787
56947
  ) }) }),
@@ -56791,7 +56951,10 @@ function HeroTherapyTestimonialGrid({
56791
56951
  {
56792
56952
  src: images[2].src,
56793
56953
  alt: images[2].alt,
56794
- className: cn("h-full w-full object-cover object-center", images[2].className),
56954
+ className: cn(
56955
+ "h-full w-full object-cover object-center",
56956
+ images[2].className
56957
+ ),
56795
56958
  optixFlowConfig
56796
56959
  }
56797
56960
  ) }) })
@@ -56804,14 +56967,50 @@ function HeroTherapyTestimonialGrid({
56804
56967
  spacing,
56805
56968
  pattern,
56806
56969
  patternOpacity,
56807
- className: cn("relative flex items-center justify-center bg-background py-12 font-sans md:py-20", className),
56970
+ className,
56808
56971
  containerClassName,
56809
56972
  children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
56810
- /* @__PURE__ */ jsxs("div", { className: cn("mx-auto mb-16 flex max-w-[900px] flex-col items-center gap-6", headerClassName), children: [
56811
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsx("h1", { className: cn("text-center text-4xl leading-tight font-medium sm:text-5xl md:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsx("h1", { className: cn("text-center text-4xl leading-tight font-medium sm:text-5xl md:text-6xl", headingClassName), children: heading })),
56812
- description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-center text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
56813
- renderActions
56814
- ] }),
56973
+ /* @__PURE__ */ jsxs(
56974
+ "div",
56975
+ {
56976
+ className: cn(
56977
+ "mx-auto mb-16 flex max-w-[900px] flex-col items-center gap-6",
56978
+ headerClassName
56979
+ ),
56980
+ children: [
56981
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
56982
+ "h1",
56983
+ {
56984
+ className: cn(
56985
+ "text-center text-4xl leading-tight font-medium sm:text-5xl md:text-6xl text-balance",
56986
+ headingClassName
56987
+ ),
56988
+ children: heading
56989
+ }
56990
+ ) : /* @__PURE__ */ jsx(
56991
+ "h1",
56992
+ {
56993
+ className: cn(
56994
+ "text-center text-4xl leading-tight font-medium sm:text-5xl md:text-6xl text-balance",
56995
+ headingClassName
56996
+ ),
56997
+ children: heading
56998
+ }
56999
+ )),
57000
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx(
57001
+ "p",
57002
+ {
57003
+ className: cn(
57004
+ "text-center text-lg md:text-xl",
57005
+ descriptionClassName
57006
+ ),
57007
+ children: description
57008
+ }
57009
+ ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
57010
+ renderActions
57011
+ ]
57012
+ }
57013
+ ),
56815
57014
  /* @__PURE__ */ jsx("div", { className: "grid w-full auto-cols-auto grid-cols-1 grid-rows-[auto_auto_auto] justify-center gap-5 md:grid-cols-2", children: renderImagesGrid })
56816
57015
  ] })
56817
57016
  }
@@ -77164,8 +77363,9 @@ function ProcessRoadmapTimeline({
77164
77363
  "div",
77165
77364
  {
77166
77365
  className: cn(
77167
- "relative flex items-start gap-8",
77168
- index % 2 === 0 ? "flex-row" : "flex-row-reverse",
77366
+ "relative flex items-start gap-4 md:gap-8",
77367
+ "flex-col md:flex-row",
77368
+ index % 2 !== 0 && "md:flex-row-reverse",
77169
77369
  milestone.className
77170
77370
  ),
77171
77371
  children: [
@@ -77173,8 +77373,9 @@ function ProcessRoadmapTimeline({
77173
77373
  "div",
77174
77374
  {
77175
77375
  className: cn(
77176
- "flex-1",
77177
- index % 2 === 0 ? "text-right pr-8" : "text-left pl-8"
77376
+ "w-full md:flex-1",
77377
+ "text-left md:pr-0",
77378
+ index % 2 === 0 ? "md:text-right md:pr-8" : "md:text-left md:pl-8"
77178
77379
  ),
77179
77380
  children: /* @__PURE__ */ jsxs(
77180
77381
  "div",
@@ -77190,7 +77391,8 @@ function ProcessRoadmapTimeline({
77190
77391
  {
77191
77392
  className: cn(
77192
77393
  "mb-3 flex items-center gap-3",
77193
- index % 2 === 0 ? "justify-end" : "justify-start"
77394
+ "justify-start",
77395
+ index % 2 === 0 ? "md:justify-end" : "md:justify-start"
77194
77396
  ),
77195
77397
  children: [
77196
77398
  milestone.date && (typeof milestone.date === "string" ? /* @__PURE__ */ jsx("span", { className: cn("text-sm font-medium"), children: milestone.date }) : /* @__PURE__ */ jsx("div", { className: cn("text-sm font-medium"), children: milestone.date })),
@@ -77211,7 +77413,8 @@ function ProcessRoadmapTimeline({
77211
77413
  {
77212
77414
  className: cn(
77213
77415
  "flex flex-wrap gap-2",
77214
- index % 2 === 0 ? "justify-end" : "justify-start"
77416
+ "justify-start",
77417
+ index % 2 === 0 ? "md:justify-end" : "md:justify-start"
77215
77418
  ),
77216
77419
  children: milestone.features.map((feature, fIndex) => /* @__PURE__ */ jsx(
77217
77420
  "span",
@@ -77230,7 +77433,7 @@ function ProcessRoadmapTimeline({
77230
77433
  )
77231
77434
  }
77232
77435
  ),
77233
- /* @__PURE__ */ jsx("div", { className: "flex-1" })
77436
+ /* @__PURE__ */ jsx("div", { className: "hidden md:block md:flex-1" })
77234
77437
  ]
77235
77438
  },
77236
77439
  index
@@ -77280,7 +77483,7 @@ function ProcessRoadmapTimeline({
77280
77483
  "div",
77281
77484
  {
77282
77485
  className: cn(
77283
- "absolute left-1/2 top-0 bottom-0 w-px -translate-x-1/2 bg-border/50",
77486
+ "absolute left-4 md:left-1/2 top-0 bottom-0 w-px md:-translate-x-1/2 bg-border/50",
77284
77487
  timelineLineClassName
77285
77488
  )
77286
77489
  }