@opensite/ui 3.4.2 → 3.4.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.
package/dist/registry.cjs CHANGED
@@ -721,25 +721,6 @@ var slideVariants = {
721
721
  }
722
722
  }
723
723
  };
724
- var fadeVariants = {
725
- initial: {
726
- opacity: 0
727
- },
728
- visible: {
729
- opacity: 1,
730
- transition: {
731
- duration: 0.8,
732
- ease: [0.4, 0, 0.2, 1]
733
- }
734
- },
735
- fadeExit: {
736
- opacity: 0,
737
- transition: {
738
- duration: 0.8,
739
- ease: [0.4, 0, 0.2, 1]
740
- }
741
- }
742
- };
743
724
  var normalizeIndex = (index, length) => {
744
725
  if (!length) return 0;
745
726
  const safeIndex = index % length;
@@ -827,38 +808,55 @@ var ImageSlider = ({
827
808
  perspective: "1000px"
828
809
  },
829
810
  children: [
830
- /* @__PURE__ */ jsxRuntime.jsx(
831
- react.AnimatePresence,
811
+ transition === "fade" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
812
+ "div",
832
813
  {
833
- mode: transition === "fade" ? "sync" : "wait",
834
- initial: false,
835
- children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
836
- react.motion.div,
814
+ "aria-hidden": index !== currentIndex,
815
+ className: cn(
816
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
817
+ index === currentIndex && "opacity-100"
818
+ ),
819
+ children: /* @__PURE__ */ jsxRuntime.jsx(
820
+ img.Img,
837
821
  {
838
- initial: "initial",
839
- animate: "visible",
840
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
841
- variants: transition === "fade" ? fadeVariants : slideVariants,
842
- className: "absolute inset-0",
843
- children: /* @__PURE__ */ jsxRuntime.jsx(
844
- img.Img,
845
- {
846
- src: activeImage.src,
847
- alt: activeImage.alt,
848
- className: cn(
849
- "h-full w-full object-cover object-center",
850
- imageClassName,
851
- activeImage.className
852
- ),
853
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
854
- loading: "eager"
855
- }
856
- )
857
- },
858
- `${currentIndex}-${activeImage.src ?? "image"}`
859
- ) : null
860
- }
861
- ),
822
+ src: image.src,
823
+ alt: image.alt,
824
+ className: cn(
825
+ "h-full w-full object-cover object-center",
826
+ imageClassName,
827
+ image.className
828
+ ),
829
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
830
+ loading: "eager"
831
+ }
832
+ )
833
+ },
834
+ `${image.src ?? "image"}-${index}`
835
+ )) }) : /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsxRuntime.jsx(
836
+ react.motion.div,
837
+ {
838
+ initial: "initial",
839
+ animate: "visible",
840
+ exit: direction === "up" ? "upExit" : "downExit",
841
+ variants: slideVariants,
842
+ className: "absolute inset-0",
843
+ children: /* @__PURE__ */ jsxRuntime.jsx(
844
+ img.Img,
845
+ {
846
+ src: activeImage.src,
847
+ alt: activeImage.alt,
848
+ className: cn(
849
+ "h-full w-full object-cover object-center",
850
+ imageClassName,
851
+ activeImage.className
852
+ ),
853
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
854
+ loading: "eager"
855
+ }
856
+ )
857
+ },
858
+ `${currentIndex}-${activeImage.src ?? "image"}`
859
+ ) : null }),
862
860
  overlayContent,
863
861
  children ? /* @__PURE__ */ jsxRuntime.jsx(
864
862
  "div",
@@ -49331,6 +49329,25 @@ function CaseStudyStatsMetrics({
49331
49329
  }
49332
49330
  );
49333
49331
  }
49332
+ function CardArrowIcon({ className }) {
49333
+ return /* @__PURE__ */ jsxRuntime.jsxs(
49334
+ "svg",
49335
+ {
49336
+ "aria-hidden": "true",
49337
+ viewBox: "0 0 24 24",
49338
+ fill: "none",
49339
+ stroke: "currentColor",
49340
+ strokeWidth: 2,
49341
+ strokeLinecap: "round",
49342
+ strokeLinejoin: "round",
49343
+ className,
49344
+ children: [
49345
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12h14" }),
49346
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m12 5 7 7-7 7" })
49347
+ ]
49348
+ }
49349
+ );
49350
+ }
49334
49351
  function HeroOverlayCtaGrid({
49335
49352
  sectionId = "hero-overlay-cta-grid",
49336
49353
  badgeText,
@@ -49390,9 +49407,7 @@ function HeroOverlayCtaGrid({
49390
49407
  card.href ? /* @__PURE__ */ jsxRuntime.jsx(
49391
49408
  DynamicIcon,
49392
49409
  {
49393
- name: "lucide/arrow-right",
49394
- size: 18,
49395
- className: cn("ml-auto flex-none text-card-foreground")
49410
+ name: /* @__PURE__ */ jsxRuntime.jsx(CardArrowIcon, { className: "ml-auto size-[18px] flex-none text-card-foreground" })
49396
49411
  }
49397
49412
  ) : null
49398
49413
  ]
@@ -49438,7 +49453,7 @@ function HeroOverlayCtaGrid({
49438
49453
  initial: { opacity: 0, y: 28 },
49439
49454
  animate: { opacity: 1, y: 0 },
49440
49455
  transition: { duration: 0.6, ease: "easeOut" },
49441
- className: "mx-auto max-w-3xl text-center text-balance text-white px-0",
49456
+ className: "mx-auto max-w-3xl text-center text-balance text-white px-0 flex flex-col items-center justify-center",
49442
49457
  children: [
49443
49458
  renderBadge,
49444
49459
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
@@ -49450,16 +49465,7 @@ function HeroOverlayCtaGrid({
49450
49465
  ),
49451
49466
  children: heading
49452
49467
  }
49453
- ) : /* @__PURE__ */ jsxRuntime.jsx(
49454
- "h1",
49455
- {
49456
- className: cn(
49457
- "mt-6 text-4xl font-bold leading-tight md:text-5xl lg:text-6xl text-balance",
49458
- headingClassName
49459
- ),
49460
- children: heading
49461
- }
49462
- )),
49468
+ ) : heading),
49463
49469
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
49464
49470
  "p",
49465
49471
  {
@@ -49469,16 +49475,7 @@ function HeroOverlayCtaGrid({
49469
49475
  ),
49470
49476
  children: description
49471
49477
  }
49472
- ) : /* @__PURE__ */ jsxRuntime.jsx(
49473
- "div",
49474
- {
49475
- className: cn(
49476
- "mt-5 text-lg md:text-xl text-balance",
49477
- descriptionClassName
49478
- ),
49479
- children: description
49480
- }
49481
- )),
49478
+ ) : description),
49482
49479
  /* @__PURE__ */ jsxRuntime.jsx(
49483
49480
  BlockActions,
49484
49481
  {
@@ -59753,7 +59750,7 @@ function HeroConversationIntelligence({
59753
59750
  }
59754
59751
  );
59755
59752
  }
59756
- var fadeVariants2 = {
59753
+ var fadeVariants = {
59757
59754
  initial: { opacity: 0 },
59758
59755
  animate: {
59759
59756
  opacity: 1,
@@ -59873,7 +59870,7 @@ function HeroBusinessCarouselDots({
59873
59870
  carouselSlot ? carouselSlot : activeImage ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative aspect-video w-full overflow-hidden ", children: /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { initial: false, children: /* @__PURE__ */ jsxRuntime.jsx(
59874
59871
  framerMotion.motion.div,
59875
59872
  {
59876
- variants: fadeVariants2,
59873
+ variants: fadeVariants,
59877
59874
  initial: "initial",
59878
59875
  animate: "animate",
59879
59876
  exit: "exit",
@@ -97542,8 +97539,8 @@ function StatsGrowthTimeline({
97542
97539
  milestone.metric && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4 rounded-lg border bg-background p-4 shadow-sm", children: [
97543
97540
  renderMilestoneIcon(milestone),
97544
97541
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
97545
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold text-primary", children: milestone.metric.value }),
97546
- milestone.metric.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", children: milestone.metric.label })
97542
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold", children: milestone.metric.value }),
97543
+ milestone.metric.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm opacity-70", children: milestone.metric.label })
97547
97544
  ] })
97548
97545
  ] })
97549
97546
  ] }),
@@ -97575,8 +97572,8 @@ function StatsGrowthTimeline({
97575
97572
  children: [
97576
97573
  currentStatsHeading && (typeof currentStatsHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-12 text-center text-4xl lg:text-5xl font-bold", children: currentStatsHeading }) : currentStatsHeading),
97577
97574
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-4", children: currentStats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-center", stat.className), children: [
97578
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-primary md:text-3xl xl:text-4xl", children: stat.value }),
97579
- stat.label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-balance text-sm", children: stat.label })
97575
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold md:text-3xl xl:text-4xl", children: stat.value }),
97576
+ stat.label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-balance text-sm opacity-70", children: stat.label })
97580
97577
  ] }, index)) })
97581
97578
  ]
97582
97579
  }
@@ -97592,18 +97589,27 @@ function StatsGrowthTimeline({
97592
97589
  if (futureSlot) return futureSlot;
97593
97590
  if (!futureHeading && !futureDescription && (!actions || actions.length === 0))
97594
97591
  return null;
97595
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 text-center", futureClassName), children: [
97596
- futureHeading && (typeof futureHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-2xl font-bold", children: futureHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: futureHeading })),
97597
- futureDescription && (typeof futureDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mb-8 max-w-full md:max-w-lg text-balance", children: futureDescription }) : futureDescription),
97598
- /* @__PURE__ */ jsxRuntime.jsx(
97599
- BlockActions,
97600
- {
97601
- actions,
97602
- actionsSlot,
97603
- actionsClassName
97604
- }
97605
- )
97606
- ] });
97592
+ return /* @__PURE__ */ jsxRuntime.jsxs(
97593
+ "div",
97594
+ {
97595
+ className: cn(
97596
+ "mt-16 text-center flex flex-col items-center justify-center",
97597
+ futureClassName
97598
+ ),
97599
+ children: [
97600
+ futureHeading && (typeof futureHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-2xl font-bold", children: futureHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: futureHeading })),
97601
+ futureDescription && (typeof futureDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mb-8 max-w-full md:max-w-lg text-balance", children: futureDescription }) : futureDescription),
97602
+ /* @__PURE__ */ jsxRuntime.jsx(
97603
+ BlockActions,
97604
+ {
97605
+ actions,
97606
+ actionsSlot,
97607
+ actionsClassName
97608
+ }
97609
+ )
97610
+ ]
97611
+ }
97612
+ );
97607
97613
  }, [
97608
97614
  futureSlot,
97609
97615
  futureHeading,
package/dist/registry.js CHANGED
@@ -681,25 +681,6 @@ var slideVariants = {
681
681
  }
682
682
  }
683
683
  };
684
- var fadeVariants = {
685
- initial: {
686
- opacity: 0
687
- },
688
- visible: {
689
- opacity: 1,
690
- transition: {
691
- duration: 0.8,
692
- ease: [0.4, 0, 0.2, 1]
693
- }
694
- },
695
- fadeExit: {
696
- opacity: 0,
697
- transition: {
698
- duration: 0.8,
699
- ease: [0.4, 0, 0.2, 1]
700
- }
701
- }
702
- };
703
684
  var normalizeIndex = (index, length) => {
704
685
  if (!length) return 0;
705
686
  const safeIndex = index % length;
@@ -787,38 +768,55 @@ var ImageSlider = ({
787
768
  perspective: "1000px"
788
769
  },
789
770
  children: [
790
- /* @__PURE__ */ jsx(
791
- AnimatePresence$1,
771
+ transition === "fade" ? /* @__PURE__ */ jsx("div", { className: "absolute inset-0", children: images.map((image, index) => /* @__PURE__ */ jsx(
772
+ "div",
792
773
  {
793
- mode: transition === "fade" ? "sync" : "wait",
794
- initial: false,
795
- children: activeImage ? /* @__PURE__ */ jsx(
796
- motion$1.div,
774
+ "aria-hidden": index !== currentIndex,
775
+ className: cn(
776
+ "absolute inset-0 opacity-0 transition-opacity duration-1000 ease-in-out motion-reduce:transition-none",
777
+ index === currentIndex && "opacity-100"
778
+ ),
779
+ children: /* @__PURE__ */ jsx(
780
+ Img,
797
781
  {
798
- initial: "initial",
799
- animate: "visible",
800
- exit: transition === "fade" ? "fadeExit" : direction === "up" ? "upExit" : "downExit",
801
- variants: transition === "fade" ? fadeVariants : slideVariants,
802
- className: "absolute inset-0",
803
- children: /* @__PURE__ */ jsx(
804
- Img,
805
- {
806
- src: activeImage.src,
807
- alt: activeImage.alt,
808
- className: cn(
809
- "h-full w-full object-cover object-center",
810
- imageClassName,
811
- activeImage.className
812
- ),
813
- optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
814
- loading: "eager"
815
- }
816
- )
817
- },
818
- `${currentIndex}-${activeImage.src ?? "image"}`
819
- ) : null
820
- }
821
- ),
782
+ src: image.src,
783
+ alt: image.alt,
784
+ className: cn(
785
+ "h-full w-full object-cover object-center",
786
+ imageClassName,
787
+ image.className
788
+ ),
789
+ optixFlowConfig: image.optixFlowConfig ?? optixFlowConfig,
790
+ loading: "eager"
791
+ }
792
+ )
793
+ },
794
+ `${image.src ?? "image"}-${index}`
795
+ )) }) : /* @__PURE__ */ jsx(AnimatePresence$1, { mode: "wait", initial: false, children: activeImage ? /* @__PURE__ */ jsx(
796
+ motion$1.div,
797
+ {
798
+ initial: "initial",
799
+ animate: "visible",
800
+ exit: direction === "up" ? "upExit" : "downExit",
801
+ variants: slideVariants,
802
+ className: "absolute inset-0",
803
+ children: /* @__PURE__ */ jsx(
804
+ Img,
805
+ {
806
+ src: activeImage.src,
807
+ alt: activeImage.alt,
808
+ className: cn(
809
+ "h-full w-full object-cover object-center",
810
+ imageClassName,
811
+ activeImage.className
812
+ ),
813
+ optixFlowConfig: activeImage.optixFlowConfig ?? optixFlowConfig,
814
+ loading: "eager"
815
+ }
816
+ )
817
+ },
818
+ `${currentIndex}-${activeImage.src ?? "image"}`
819
+ ) : null }),
822
820
  overlayContent,
823
821
  children ? /* @__PURE__ */ jsx(
824
822
  "div",
@@ -49291,6 +49289,25 @@ function CaseStudyStatsMetrics({
49291
49289
  }
49292
49290
  );
49293
49291
  }
49292
+ function CardArrowIcon({ className }) {
49293
+ return /* @__PURE__ */ jsxs(
49294
+ "svg",
49295
+ {
49296
+ "aria-hidden": "true",
49297
+ viewBox: "0 0 24 24",
49298
+ fill: "none",
49299
+ stroke: "currentColor",
49300
+ strokeWidth: 2,
49301
+ strokeLinecap: "round",
49302
+ strokeLinejoin: "round",
49303
+ className,
49304
+ children: [
49305
+ /* @__PURE__ */ jsx("path", { d: "M5 12h14" }),
49306
+ /* @__PURE__ */ jsx("path", { d: "m12 5 7 7-7 7" })
49307
+ ]
49308
+ }
49309
+ );
49310
+ }
49294
49311
  function HeroOverlayCtaGrid({
49295
49312
  sectionId = "hero-overlay-cta-grid",
49296
49313
  badgeText,
@@ -49350,9 +49367,7 @@ function HeroOverlayCtaGrid({
49350
49367
  card.href ? /* @__PURE__ */ jsx(
49351
49368
  DynamicIcon,
49352
49369
  {
49353
- name: "lucide/arrow-right",
49354
- size: 18,
49355
- className: cn("ml-auto flex-none text-card-foreground")
49370
+ name: /* @__PURE__ */ jsx(CardArrowIcon, { className: "ml-auto size-[18px] flex-none text-card-foreground" })
49356
49371
  }
49357
49372
  ) : null
49358
49373
  ]
@@ -49398,7 +49413,7 @@ function HeroOverlayCtaGrid({
49398
49413
  initial: { opacity: 0, y: 28 },
49399
49414
  animate: { opacity: 1, y: 0 },
49400
49415
  transition: { duration: 0.6, ease: "easeOut" },
49401
- className: "mx-auto max-w-3xl text-center text-balance text-white px-0",
49416
+ className: "mx-auto max-w-3xl text-center text-balance text-white px-0 flex flex-col items-center justify-center",
49402
49417
  children: [
49403
49418
  renderBadge,
49404
49419
  heading && (typeof heading === "string" ? /* @__PURE__ */ jsx(
@@ -49410,16 +49425,7 @@ function HeroOverlayCtaGrid({
49410
49425
  ),
49411
49426
  children: heading
49412
49427
  }
49413
- ) : /* @__PURE__ */ jsx(
49414
- "h1",
49415
- {
49416
- className: cn(
49417
- "mt-6 text-4xl font-bold leading-tight md:text-5xl lg:text-6xl text-balance",
49418
- headingClassName
49419
- ),
49420
- children: heading
49421
- }
49422
- )),
49428
+ ) : heading),
49423
49429
  description && (typeof description === "string" ? /* @__PURE__ */ jsx(
49424
49430
  "p",
49425
49431
  {
@@ -49429,16 +49435,7 @@ function HeroOverlayCtaGrid({
49429
49435
  ),
49430
49436
  children: description
49431
49437
  }
49432
- ) : /* @__PURE__ */ jsx(
49433
- "div",
49434
- {
49435
- className: cn(
49436
- "mt-5 text-lg md:text-xl text-balance",
49437
- descriptionClassName
49438
- ),
49439
- children: description
49440
- }
49441
- )),
49438
+ ) : description),
49442
49439
  /* @__PURE__ */ jsx(
49443
49440
  BlockActions,
49444
49441
  {
@@ -59713,7 +59710,7 @@ function HeroConversationIntelligence({
59713
59710
  }
59714
59711
  );
59715
59712
  }
59716
- var fadeVariants2 = {
59713
+ var fadeVariants = {
59717
59714
  initial: { opacity: 0 },
59718
59715
  animate: {
59719
59716
  opacity: 1,
@@ -59833,7 +59830,7 @@ function HeroBusinessCarouselDots({
59833
59830
  carouselSlot ? carouselSlot : activeImage ? /* @__PURE__ */ jsx("div", { className: "relative aspect-video w-full overflow-hidden ", children: /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: /* @__PURE__ */ jsx(
59834
59831
  motion.div,
59835
59832
  {
59836
- variants: fadeVariants2,
59833
+ variants: fadeVariants,
59837
59834
  initial: "initial",
59838
59835
  animate: "animate",
59839
59836
  exit: "exit",
@@ -97502,8 +97499,8 @@ function StatsGrowthTimeline({
97502
97499
  milestone.metric && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 rounded-lg border bg-background p-4 shadow-sm", children: [
97503
97500
  renderMilestoneIcon(milestone),
97504
97501
  /* @__PURE__ */ jsxs("div", { children: [
97505
- /* @__PURE__ */ jsx("div", { className: "text-2xl font-bold text-primary", children: milestone.metric.value }),
97506
- milestone.metric.label && /* @__PURE__ */ jsx("div", { className: "text-sm text-muted-foreground", children: milestone.metric.label })
97502
+ /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold", children: milestone.metric.value }),
97503
+ milestone.metric.label && /* @__PURE__ */ jsx("div", { className: "text-sm opacity-70", children: milestone.metric.label })
97507
97504
  ] })
97508
97505
  ] })
97509
97506
  ] }),
@@ -97535,8 +97532,8 @@ function StatsGrowthTimeline({
97535
97532
  children: [
97536
97533
  currentStatsHeading && (typeof currentStatsHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-12 text-center text-4xl lg:text-5xl font-bold", children: currentStatsHeading }) : currentStatsHeading),
97537
97534
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-4", children: currentStats.map((stat, index) => /* @__PURE__ */ jsxs("div", { className: cn("text-center", stat.className), children: [
97538
- /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold text-primary md:text-3xl xl:text-4xl", children: stat.value }),
97539
- stat.label && /* @__PURE__ */ jsx("p", { className: "font-medium text-balance text-sm", children: stat.label })
97535
+ /* @__PURE__ */ jsx("div", { className: "text-2xl font-semibold md:text-3xl xl:text-4xl", children: stat.value }),
97536
+ stat.label && /* @__PURE__ */ jsx("p", { className: "font-medium text-balance text-sm opacity-70", children: stat.label })
97540
97537
  ] }, index)) })
97541
97538
  ]
97542
97539
  }
@@ -97552,18 +97549,27 @@ function StatsGrowthTimeline({
97552
97549
  if (futureSlot) return futureSlot;
97553
97550
  if (!futureHeading && !futureDescription && (!actions || actions.length === 0))
97554
97551
  return null;
97555
- return /* @__PURE__ */ jsxs("div", { className: cn("mt-16 text-center", futureClassName), children: [
97556
- futureHeading && (typeof futureHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-4 text-2xl font-bold", children: futureHeading }) : /* @__PURE__ */ jsx("div", { className: "mb-4", children: futureHeading })),
97557
- futureDescription && (typeof futureDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "mx-auto mb-8 max-w-full md:max-w-lg text-balance", children: futureDescription }) : futureDescription),
97558
- /* @__PURE__ */ jsx(
97559
- BlockActions,
97560
- {
97561
- actions,
97562
- actionsSlot,
97563
- actionsClassName
97564
- }
97565
- )
97566
- ] });
97552
+ return /* @__PURE__ */ jsxs(
97553
+ "div",
97554
+ {
97555
+ className: cn(
97556
+ "mt-16 text-center flex flex-col items-center justify-center",
97557
+ futureClassName
97558
+ ),
97559
+ children: [
97560
+ futureHeading && (typeof futureHeading === "string" ? /* @__PURE__ */ jsx("h3", { className: "mb-4 text-2xl font-bold", children: futureHeading }) : /* @__PURE__ */ jsx("div", { className: "mb-4", children: futureHeading })),
97561
+ futureDescription && (typeof futureDescription === "string" ? /* @__PURE__ */ jsx("p", { className: "mx-auto mb-8 max-w-full md:max-w-lg text-balance", children: futureDescription }) : futureDescription),
97562
+ /* @__PURE__ */ jsx(
97563
+ BlockActions,
97564
+ {
97565
+ actions,
97566
+ actionsSlot,
97567
+ actionsClassName
97568
+ }
97569
+ )
97570
+ ]
97571
+ }
97572
+ );
97567
97573
  }, [
97568
97574
  futureSlot,
97569
97575
  futureHeading,
@@ -77,6 +77,6 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
77
77
  * />
78
78
  * ```
79
79
  */
80
- declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
80
+ declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement>>;
81
81
 
82
82
  export { SocialLinkIcon, type SocialLinkIconDynamicIconProps, type SocialLinkIconProps };
@@ -77,6 +77,6 @@ interface SocialLinkIconProps extends Omit<PressableProps, "children">, SocialLi
77
77
  * />
78
78
  * ```
79
79
  */
80
- declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement | HTMLSpanElement>>;
80
+ declare const SocialLinkIcon: React.ForwardRefExoticComponent<SocialLinkIconProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement | HTMLSpanElement>>;
81
81
 
82
82
  export { SocialLinkIcon, type SocialLinkIconDynamicIconProps, type SocialLinkIconProps };
@@ -607,8 +607,8 @@ function StatsGrowthTimeline({
607
607
  milestone.metric && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4 rounded-lg border bg-background p-4 shadow-sm", children: [
608
608
  renderMilestoneIcon(milestone),
609
609
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
610
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold text-primary", children: milestone.metric.value }),
611
- milestone.metric.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", children: milestone.metric.label })
610
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold", children: milestone.metric.value }),
611
+ milestone.metric.label && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm opacity-70", children: milestone.metric.label })
612
612
  ] })
613
613
  ] })
614
614
  ] }),
@@ -640,8 +640,8 @@ function StatsGrowthTimeline({
640
640
  children: [
641
641
  currentStatsHeading && (typeof currentStatsHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-12 text-center text-4xl lg:text-5xl font-bold", children: currentStatsHeading }) : currentStatsHeading),
642
642
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-8 md:grid-cols-4", children: currentStats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-center", stat.className), children: [
643
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-primary md:text-3xl xl:text-4xl", children: stat.value }),
644
- stat.label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-balance text-sm", children: stat.label })
643
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold md:text-3xl xl:text-4xl", children: stat.value }),
644
+ stat.label && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-balance text-sm opacity-70", children: stat.label })
645
645
  ] }, index)) })
646
646
  ]
647
647
  }
@@ -657,18 +657,27 @@ function StatsGrowthTimeline({
657
657
  if (futureSlot) return futureSlot;
658
658
  if (!futureHeading && !futureDescription && (!actions || actions.length === 0))
659
659
  return null;
660
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-16 text-center", futureClassName), children: [
661
- futureHeading && (typeof futureHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-2xl font-bold", children: futureHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: futureHeading })),
662
- futureDescription && (typeof futureDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mb-8 max-w-full md:max-w-lg text-balance", children: futureDescription }) : futureDescription),
663
- /* @__PURE__ */ jsxRuntime.jsx(
664
- BlockActions,
665
- {
666
- actions,
667
- actionsSlot,
668
- actionsClassName
669
- }
670
- )
671
- ] });
660
+ return /* @__PURE__ */ jsxRuntime.jsxs(
661
+ "div",
662
+ {
663
+ className: cn(
664
+ "mt-16 text-center flex flex-col items-center justify-center",
665
+ futureClassName
666
+ ),
667
+ children: [
668
+ futureHeading && (typeof futureHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "mb-4 text-2xl font-bold", children: futureHeading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4", children: futureHeading })),
669
+ futureDescription && (typeof futureDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mx-auto mb-8 max-w-full md:max-w-lg text-balance", children: futureDescription }) : futureDescription),
670
+ /* @__PURE__ */ jsxRuntime.jsx(
671
+ BlockActions,
672
+ {
673
+ actions,
674
+ actionsSlot,
675
+ actionsClassName
676
+ }
677
+ )
678
+ ]
679
+ }
680
+ );
672
681
  }, [
673
682
  futureSlot,
674
683
  futureHeading,