@opensite/ui 1.6.5 → 1.6.6

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
@@ -49805,7 +49805,7 @@ function HeroOverlayCtaGrid({
49805
49805
  containerClassName,
49806
49806
  children: [
49807
49807
  renderBackground,
49808
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col gap-12", children: [
49808
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col gap-12 px-6", children: [
49809
49809
  /* @__PURE__ */ jsxRuntime.jsxs(
49810
49810
  framerMotion.motion.div,
49811
49811
  {
@@ -50776,7 +50776,6 @@ function HeroPatternBadgeLogos({
50776
50776
  badgeClassName,
50777
50777
  actionsClassName,
50778
50778
  logosClassName,
50779
- backgroundClassName,
50780
50779
  optixFlowConfig
50781
50780
  }) {
50782
50781
  const renderActions = React52.useMemo(() => {
@@ -50870,7 +50869,7 @@ function HeroPatternBadgeLogos({
50870
50869
  spacing,
50871
50870
  pattern,
50872
50871
  patternOpacity,
50873
- className: cn("relative p-0", className),
50872
+ className,
50874
50873
  containerClassName,
50875
50874
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
50876
50875
  "div",
@@ -50922,7 +50921,7 @@ function HeroPatternBadgeLogos({
50922
50921
  ),
50923
50922
  children: [
50924
50923
  logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-sm"), children: logosTagline }) : logosTagline),
50925
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 place-items-center items-center justify-center gap-6 opacity-80 sm:grid-cols-4 sm:gap-4 w-full", children: renderLogos })
50924
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center flex-wrap gap-12", children: renderLogos })
50926
50925
  ]
50927
50926
  }
50928
50927
  )
@@ -51146,14 +51145,14 @@ function HeroPatternLogoTechStack({
51146
51145
  ),
51147
51146
  children: [
51148
51147
  techStackLabel && (typeof techStackLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("font-medium lg:text-left"), children: techStackLabel }) : techStackLabel),
51149
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-center gap-4", children: techLogos.map((techLogo, index) => {
51148
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col md:flex-row flex-wrap items-center justify-center gap-8 md:gap-4", children: techLogos.map((techLogo, index) => {
51150
51149
  const techLogoSrc = typeof techLogo.src === "string" ? techLogo.src : techLogo.src.light;
51151
51150
  return /* @__PURE__ */ jsxRuntime.jsx(
51152
51151
  Pressable,
51153
51152
  {
51154
51153
  href: techLogo.href,
51155
51154
  className: cn(
51156
- "group flex w-auto h-10 items-center justify-center max-w-12 max-h-10 min-h-10 p-1",
51155
+ "group flex w-auto h-12 md:h-10 items-center justify-center max-w-full md:max-w-30 max-h-12 md:max-h-10 min-h-12 md:min-h-10 p-2 md:p-1",
51157
51156
  techLogo.className
51158
51157
  ),
51159
51158
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -51318,18 +51317,20 @@ function HeroTechCarousel({
51318
51317
  description,
51319
51318
  technologies,
51320
51319
  carouselSlot,
51321
- autoplayDelay = 4e3,
51320
+ autoplayDelay = 5e3,
51322
51321
  background,
51323
- spacing,
51324
51322
  pattern,
51325
51323
  patternOpacity,
51326
51324
  className,
51327
- containerClassName,
51325
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51326
+ spacing = "py-6 md:py-32",
51328
51327
  headingClassName,
51329
51328
  descriptionClassName,
51330
51329
  optixFlowConfig
51331
51330
  }) {
51332
- const plugin = React52.useRef(Autoplay__default.default({ delay: autoplayDelay, stopOnInteraction: false }));
51331
+ const plugin = React52.useRef(
51332
+ Autoplay__default.default({ delay: autoplayDelay, stopOnInteraction: false })
51333
+ );
51333
51334
  const [api, setApi] = React52.useState();
51334
51335
  const [current, setCurrent] = React52.useState(0);
51335
51336
  const [fadeIn, setFadeIn] = React52.useState(true);
@@ -51377,12 +51378,12 @@ function HeroTechCarousel({
51377
51378
  "div",
51378
51379
  {
51379
51380
  className: cn(
51380
- "flex cursor-pointer items-center justify-center gap-2 rounded-md border p-6",
51381
+ "flex cursor-pointer items-center justify-center gap-2 rounded-md border px-4 py-2",
51381
51382
  idx === current ? "border-input" : "border-transparent"
51382
51383
  ),
51383
51384
  onClick: () => selectTechnology(idx),
51384
51385
  children: [
51385
- /* @__PURE__ */ jsxRuntime.jsx(
51386
+ technology.logo && /* @__PURE__ */ jsxRuntime.jsx(
51386
51387
  img.Img,
51387
51388
  {
51388
51389
  className: "h-4 shrink-0 md:h-7",
@@ -51391,7 +51392,7 @@ function HeroTechCarousel({
51391
51392
  optixFlowConfig
51392
51393
  }
51393
51394
  ),
51394
- /* @__PURE__ */ jsxRuntime.jsx("p", { children: technology.name })
51395
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-nowrap", children: technology.name })
51395
51396
  ]
51396
51397
  }
51397
51398
  )
@@ -51400,7 +51401,15 @@ function HeroTechCarousel({
51400
51401
  )) })
51401
51402
  }
51402
51403
  );
51403
- }, [carouselSlot, technologies, setApi, plugin, current, selectTechnology, optixFlowConfig]);
51404
+ }, [
51405
+ carouselSlot,
51406
+ technologies,
51407
+ setApi,
51408
+ plugin,
51409
+ current,
51410
+ selectTechnology,
51411
+ optixFlowConfig
51412
+ ]);
51404
51413
  return /* @__PURE__ */ jsxRuntime.jsx(
51405
51414
  Section,
51406
51415
  {
@@ -51408,36 +51417,77 @@ function HeroTechCarousel({
51408
51417
  spacing,
51409
51418
  pattern,
51410
51419
  patternOpacity,
51411
- className: cn(className),
51412
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
51420
+ className,
51421
+ containerClassName,
51422
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
51413
51423
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-center", children: [
51414
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mx-auto mb-4 max-w-2xl text-center text-4xl font-bold md:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mx-auto mb-4 max-w-2xl text-center text-4xl font-bold md:text-6xl", headingClassName), children: heading })),
51415
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mt-4 max-w-xl text-center text-lg", getTextColor(background, "muted"), descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51416
- technologies && technologies.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
51417
- "mx-auto mt-8 mb-12 flex h-[60px] w-fit items-center gap-2 rounded-md px-4 py-2 text-center",
51418
- getNestedCardBg(background),
51419
- getNestedCardTextColor(background)
51420
- ), children: /* @__PURE__ */ jsxRuntime.jsxs(
51424
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51425
+ "h1",
51426
+ {
51427
+ className: cn(
51428
+ "mx-auto mb-4 max-w-2xl text-center text-4xl font-bold md:text-6xl text-balance",
51429
+ headingClassName
51430
+ ),
51431
+ children: heading
51432
+ }
51433
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
51434
+ "h1",
51435
+ {
51436
+ className: cn(
51437
+ "mx-auto mb-4 max-w-2xl text-center text-4xl font-bold md:text-6xl text-balance",
51438
+ headingClassName
51439
+ ),
51440
+ children: heading
51441
+ }
51442
+ )),
51443
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51444
+ "p",
51445
+ {
51446
+ className: cn(
51447
+ "mx-auto mt-4 max-w-xl text-center text-lg text-balance",
51448
+ descriptionClassName
51449
+ ),
51450
+ children: description
51451
+ }
51452
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
51453
+ technologies && technologies.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
51421
51454
  "div",
51422
51455
  {
51423
51456
  className: cn(
51424
- "flex items-center gap-2 transition-opacity duration-300",
51425
- fadeIn ? "opacity-100" : "opacity-0"
51457
+ "mx-auto bg-muted mt-8 mb-12 flex h-[60px] w-fit items-center gap-2 rounded-md px-4 py-2 text-center"
51426
51458
  ),
51427
- children: [
51428
- /* @__PURE__ */ jsxRuntime.jsx(
51429
- img.Img,
51430
- {
51431
- src: technologies[current]?.logo,
51432
- alt: technologies[current]?.name,
51433
- className: "h-4 md:h-7",
51434
- optixFlowConfig
51435
- }
51436
- ),
51437
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "border-l px-2 font-mono text-sm", children: technologies[current]?.command })
51438
- ]
51459
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
51460
+ "div",
51461
+ {
51462
+ className: cn(
51463
+ "flex items-center gap-2 transition-opacity duration-300",
51464
+ fadeIn ? "opacity-100" : "opacity-0"
51465
+ ),
51466
+ children: [
51467
+ technologies && current && technologies[current] && technologies[current].logo && /* @__PURE__ */ jsxRuntime.jsx(
51468
+ img.Img,
51469
+ {
51470
+ src: technologies[current]?.logo,
51471
+ alt: technologies[current]?.name,
51472
+ className: "h-4 md:h-7",
51473
+ optixFlowConfig
51474
+ }
51475
+ ),
51476
+ /* @__PURE__ */ jsxRuntime.jsx(
51477
+ "p",
51478
+ {
51479
+ className: cn(
51480
+ "px-2 font-mono text-sm",
51481
+ technologies && technologies[current] && technologies[current].logo ? "border-l" : ""
51482
+ ),
51483
+ children: technologies[current]?.command
51484
+ }
51485
+ )
51486
+ ]
51487
+ }
51488
+ )
51439
51489
  }
51440
- ) })
51490
+ )
51441
51491
  ] }),
51442
51492
  renderCarousel
51443
51493
  ] })
@@ -51517,17 +51567,18 @@ function HeroPlatformFeaturesGrid({
51517
51567
  logo,
51518
51568
  logoSlot,
51519
51569
  subtitle,
51570
+ description,
51520
51571
  heading,
51521
51572
  action,
51522
51573
  actionSlot,
51523
51574
  features,
51524
51575
  featuresSlot,
51525
51576
  background,
51526
- spacing,
51577
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
51578
+ spacing = "py-6 md:py-32",
51527
51579
  pattern,
51528
51580
  patternOpacity,
51529
51581
  className,
51530
- containerClassName,
51531
51582
  headerClassName,
51532
51583
  headingClassName,
51533
51584
  featuresClassName,
@@ -51542,7 +51593,10 @@ function HeroPlatformFeaturesGrid({
51542
51593
  {
51543
51594
  src: logoSrc,
51544
51595
  alt: logo.alt,
51545
- className: cn("mx-auto mb-5 w-16 md:mb-6 md:w-24 lg:mb-7 lg:w-28", logo.imgClassName),
51596
+ className: cn(
51597
+ "mx-auto mb-5 w-16 md:mb-6 md:w-24 lg:mb-7 lg:w-28",
51598
+ logo.imgClassName
51599
+ ),
51546
51600
  optixFlowConfig
51547
51601
  }
51548
51602
  );
@@ -51550,7 +51604,14 @@ function HeroPlatformFeaturesGrid({
51550
51604
  const renderAction = React52.useMemo(() => {
51551
51605
  if (actionSlot) return actionSlot;
51552
51606
  if (!action) return null;
51553
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
51607
+ const {
51608
+ label,
51609
+ icon,
51610
+ iconAfter,
51611
+ children,
51612
+ className: actionClassName,
51613
+ ...pressableProps
51614
+ } = action;
51554
51615
  return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
51555
51616
  icon,
51556
51617
  label,
@@ -51560,13 +51621,30 @@ function HeroPlatformFeaturesGrid({
51560
51621
  const renderFeatures = React52.useMemo(() => {
51561
51622
  if (featuresSlot) return featuresSlot;
51562
51623
  if (!features || features.length === 0) return null;
51563
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-16 grid gap-px overflow-hidden rounded-lg border bg-input md:grid-cols-2 lg:grid-cols-4", featuresClassName), children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 bg-background p-5 md:gap-6", children: [
51564
- feature.icon ?? (feature.iconName && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 24 })),
51565
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
51566
- feature.title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-semibold md:text-base", children: feature.title }),
51567
- feature.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm md:text-base", getTextColor(background, "muted")), children: feature.description })
51568
- ] })
51569
- ] }, index)) });
51624
+ return /* @__PURE__ */ jsxRuntime.jsx(
51625
+ "div",
51626
+ {
51627
+ className: cn(
51628
+ "mt-16 grid gap-px overflow-hidden rounded-lg border bg-input md:grid-cols-2 lg:grid-cols-4 w-full",
51629
+ featuresClassName
51630
+ ),
51631
+ children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
51632
+ Pressable,
51633
+ {
51634
+ href: feature.href,
51635
+ className: "flex flex-col gap-3 bg-card text-card-foreground p-5 md:gap-6",
51636
+ children: [
51637
+ feature.icon ?? (feature.iconName && /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 24 })),
51638
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
51639
+ feature.title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-semibold md:text-base", children: feature.title }),
51640
+ feature.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm md:text-base"), children: feature.description })
51641
+ ] })
51642
+ ]
51643
+ },
51644
+ index
51645
+ ))
51646
+ }
51647
+ );
51570
51648
  }, [featuresSlot, features, featuresClassName]);
51571
51649
  return /* @__PURE__ */ jsxRuntime.jsx(
51572
51650
  Section,
@@ -51576,13 +51654,42 @@ function HeroPlatformFeaturesGrid({
51576
51654
  pattern,
51577
51655
  patternOpacity,
51578
51656
  className: cn(className),
51579
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
51580
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-center", headerClassName), children: [
51581
- renderLogo,
51582
- subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-3 text-sm tracking-widest md:text-base", getTextColor(background, "muted")), children: subtitle }) : subtitle),
51583
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-4 text-4xl font-semibold text-balance lg:text-6xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-4 text-4xl font-semibold text-balance lg:text-6xl", headingClassName), children: heading })),
51584
- renderAction
51585
- ] }),
51657
+ containerClassName,
51658
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center w-full", children: [
51659
+ /* @__PURE__ */ jsxRuntime.jsxs(
51660
+ "div",
51661
+ {
51662
+ className: cn(
51663
+ "flex flex-col items-center w-full gap-6 text-center",
51664
+ headerClassName
51665
+ ),
51666
+ children: [
51667
+ renderLogo,
51668
+ subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mb-3 text-sm tracking-widest md:text-base"), children: subtitle }) : subtitle),
51669
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
51670
+ "h1",
51671
+ {
51672
+ className: cn(
51673
+ "mt-4 text-4xl font-semibold text-balance lg:text-6xl",
51674
+ headingClassName
51675
+ ),
51676
+ children: heading
51677
+ }
51678
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
51679
+ "h1",
51680
+ {
51681
+ className: cn(
51682
+ "mt-4 text-4xl font-semibold text-balance lg:text-6xl",
51683
+ headingClassName
51684
+ ),
51685
+ children: heading
51686
+ }
51687
+ )),
51688
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-2xl md:text-lg text-balance"), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("max-w-2xl md:text-lg text-balance"), children: description })),
51689
+ renderAction
51690
+ ]
51691
+ }
51692
+ ),
51586
51693
  renderFeatures
51587
51694
  ] })
51588
51695
  }
@@ -99407,22 +99514,13 @@ function LinkTreeBlock({
99407
99514
  patternClassName,
99408
99515
  containerClassName,
99409
99516
  children: [
99410
- /* @__PURE__ */ jsxRuntime.jsx(
99411
- "div",
99412
- {
99413
- className: cn(
99414
- "flex min-h-screen w-full items-start justify-center py-12",
99415
- containerClassName
99416
- ),
99417
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full max-w-md space-y-6", contentClassName), children: [
99418
- renderBrandHeader,
99419
- renderLinks,
99420
- renderMediaGallery,
99421
- renderSocialLinks,
99422
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-4", children: renderFooter })
99423
- ] })
99424
- }
99425
- ),
99517
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-screen w-full items-start justify-center py-12", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full max-w-md space-y-6", contentClassName), children: [
99518
+ renderBrandHeader,
99519
+ renderLinks,
99520
+ renderMediaGallery,
99521
+ renderSocialLinks,
99522
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-4", children: renderFooter })
99523
+ ] }) }),
99426
99524
  lightboxOpen && lightboxItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
99427
99525
  lightbox.Lightbox,
99428
99526
  {
@@ -99807,11 +99905,21 @@ function LinkPageNewsletterSocial({
99807
99905
  }
99808
99906
  });
99809
99907
  const formMethod = formConfig?.method?.toLowerCase() === "get" ? "get" : "post";
99810
- const resolvedSubmitAction = submitAction ?? {
99811
- label: buttonText,
99812
- variant: "default",
99813
- size: "lg"
99814
- };
99908
+ const resolvedSubmitAction = React52.useMemo(() => {
99909
+ if (submitAction) {
99910
+ return {
99911
+ ...submitAction,
99912
+ label: buttonText || submitAction?.label || "Submit",
99913
+ variant: submitAction?.variant || "default",
99914
+ size: submitAction?.size || "lg"
99915
+ };
99916
+ }
99917
+ return {
99918
+ label: buttonText || "Submit",
99919
+ variant: "default",
99920
+ size: "lg"
99921
+ };
99922
+ }, [submitAction, buttonText]);
99815
99923
  const resolvedChevronIcon = linkChevronIcon ?? /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 });
99816
99924
  const renderProfile = React52.useMemo(() => {
99817
99925
  if (profileSlot) return profileSlot;
@@ -99969,7 +100077,7 @@ function LinkPageNewsletterSocial({
99969
100077
  {
99970
100078
  className: cn(
99971
100079
  "space-y-4 rounded-2xl p-6",
99972
- "border border-border bg-card shadow-sm",
100080
+ "border border-border bg-card text-card-foreground shadow-sm",
99973
100081
  newsletterCardClassName
99974
100082
  ),
99975
100083
  children: [
@@ -100056,7 +100164,7 @@ function LinkPageNewsletterSocial({
100056
100164
  className: cn(
100057
100165
  "flex w-full bg-card text-card-foreground items-center gap-3 rounded-xl px-4 py-3 transition-all duration-200",
100058
100166
  "hover:scale-[1.02] active:scale-[0.98]",
100059
- "border border-border bg-card hover:opacity-80",
100167
+ "border border-border hover:opacity-80",
100060
100168
  linkClassName,
100061
100169
  linkItemClassName
100062
100170
  ),