@opensite/ui 1.3.0 → 1.3.1

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
@@ -23985,7 +23985,7 @@ function FeatureIconGridBordered({
23985
23985
  "div",
23986
23986
  {
23987
23987
  className: cn(
23988
- "relative flex h-full flex-col justify-between gap-6 rounded-none border-dashed px-3 md:border-l md:px-5",
23988
+ "relative flex h-full flex-col justify-between gap-6 rounded-none border-dashed px-0 md:border-l md:px-5",
23989
23989
  cardClassName,
23990
23990
  feature.className
23991
23991
  ),
@@ -24857,7 +24857,7 @@ function FeatureNumberedCards({
24857
24857
  "span",
24858
24858
  {
24859
24859
  className: cn(
24860
- "absolute top-5 left-5 flex size-6 items-center justify-center rounded-sm bg-primary font-mono text-xs text-primary-foreground md:top-10 md:left-10",
24860
+ "absolute top-2 md:top-5 left-2 md:left-5 flex size-10 md:size-12 items-center justify-center rounded-md shadow-lg bg-primary text-sm md:text-md text-primary-foreground lg:top-10 lg:left-10 font-semibold",
24861
24861
  badgeClassName
24862
24862
  ),
24863
24863
  children: String(index + 1).padStart(2, "0")
@@ -25045,13 +25045,13 @@ function FeatureThreeColumnValues({
25045
25045
  values,
25046
25046
  valuesSlot,
25047
25047
  className,
25048
- containerClassName,
25048
+ containerClassName = "px-6 sm:px-6 md:px-6 lg:px-8",
25049
25049
  labelClassName,
25050
25050
  titleClassName,
25051
25051
  gridClassName,
25052
25052
  cardClassName,
25053
25053
  background,
25054
- spacing = "py-6 md:py-32",
25054
+ spacing = "py-12 md:py-32",
25055
25055
  pattern,
25056
25056
  patternOpacity,
25057
25057
  patternClassName
@@ -25354,59 +25354,124 @@ function FeatureBadgeGridSix({
25354
25354
  );
25355
25355
  }
25356
25356
  function FeaturePatternGridLinks({
25357
+ title,
25358
+ description,
25359
+ titleClassName,
25360
+ descriptionClassName,
25361
+ headerClassName,
25357
25362
  features,
25358
25363
  featuresSlot,
25359
25364
  className,
25360
- containerClassName,
25365
+ spacing = "py-12 md:py-32",
25366
+ containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
25361
25367
  gridClassName,
25362
25368
  cardClassName,
25363
25369
  background,
25364
- spacing,
25365
25370
  pattern,
25366
25371
  patternOpacity,
25367
25372
  patternClassName
25368
25373
  }) {
25369
- const renderFeatureIcon = React52.useCallback((feature) => {
25370
- if (feature.icon) return feature.icon;
25371
- if (feature.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 24, className: feature.iconClassName });
25372
- return null;
25373
- }, []);
25374
- const renderFeatureLink = React52.useCallback((feature) => {
25375
- if (feature.linkSlot) return feature.linkSlot;
25376
- if (!feature.link && !feature.linkLabel) return null;
25377
- const label = feature.linkLabel || (feature.link ? "Learn more" : null);
25378
- if (!label) return null;
25379
- return /* @__PURE__ */ jsxRuntime.jsxs(
25380
- Pressable,
25381
- {
25382
- href: feature.link,
25383
- className: cn("flex items-center gap-2 text-sm font-medium", feature.linkClassName),
25384
- children: [
25385
- label,
25386
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
25387
- ]
25388
- }
25389
- );
25390
- }, []);
25374
+ const renderFeatureIcon = React52.useCallback(
25375
+ (feature) => {
25376
+ if (feature.icon) return feature.icon;
25377
+ if (feature.iconName)
25378
+ return /* @__PURE__ */ jsxRuntime.jsx(
25379
+ DynamicIcon,
25380
+ {
25381
+ name: feature.iconName,
25382
+ size: 24,
25383
+ className: feature.iconClassName
25384
+ }
25385
+ );
25386
+ return null;
25387
+ },
25388
+ []
25389
+ );
25390
+ const renderFeatureLink = React52.useCallback(
25391
+ (feature) => {
25392
+ if (feature.linkSlot) return feature.linkSlot;
25393
+ if (!feature.link && !feature.linkLabel) return null;
25394
+ const label = feature.linkLabel || (feature.link ? "Learn more" : null);
25395
+ if (!label) return null;
25396
+ return /* @__PURE__ */ jsxRuntime.jsxs(
25397
+ Pressable,
25398
+ {
25399
+ href: feature.link,
25400
+ className: cn(
25401
+ "flex items-center gap-2 text-sm font-medium",
25402
+ feature.linkClassName
25403
+ ),
25404
+ children: [
25405
+ label,
25406
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
25407
+ ]
25408
+ }
25409
+ );
25410
+ },
25411
+ []
25412
+ );
25391
25413
  const featuresContent = React52.useMemo(() => {
25392
25414
  if (featuresSlot) return featuresSlot;
25393
25415
  if (!features || features.length === 0) return null;
25394
25416
  return features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
25395
25417
  "div",
25396
25418
  {
25397
- className: cn("flex flex-col gap-10 rounded-lg border p-8", cardClassName, feature.className),
25419
+ className: cn(
25420
+ "flex flex-col gap-10 rounded-lg border p-8",
25421
+ cardClassName,
25422
+ feature.className
25423
+ ),
25398
25424
  children: [
25399
25425
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
25400
25426
  renderFeatureIcon(feature),
25401
- feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("mt-6 mb-2 font-medium", feature.titleClassName), children: feature.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6 mb-2 font-medium", feature.titleClassName), children: feature.title })),
25402
- feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm", getTextColor(background, "muted"), feature.descriptionClassName), children: feature.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm", getTextColor(background, "muted"), feature.descriptionClassName), children: feature.description }))
25427
+ feature.title && (typeof feature.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
25428
+ "h3",
25429
+ {
25430
+ className: cn("mt-6 mb-2 font-medium", feature.titleClassName),
25431
+ children: feature.title
25432
+ }
25433
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
25434
+ "div",
25435
+ {
25436
+ className: cn("mt-6 mb-2 font-medium", feature.titleClassName),
25437
+ children: feature.title
25438
+ }
25439
+ )),
25440
+ feature.description && (typeof feature.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
25441
+ "p",
25442
+ {
25443
+ className: cn(
25444
+ "text-sm",
25445
+ getTextColor(background, "muted"),
25446
+ feature.descriptionClassName
25447
+ ),
25448
+ children: feature.description
25449
+ }
25450
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
25451
+ "div",
25452
+ {
25453
+ className: cn(
25454
+ "text-sm",
25455
+ getTextColor(background, "muted"),
25456
+ feature.descriptionClassName
25457
+ ),
25458
+ children: feature.description
25459
+ }
25460
+ ))
25403
25461
  ] }),
25404
25462
  renderFeatureLink(feature)
25405
25463
  ]
25406
25464
  },
25407
25465
  index
25408
25466
  ));
25409
- }, [featuresSlot, features, cardClassName, renderFeatureIcon, renderFeatureLink, background]);
25467
+ }, [
25468
+ featuresSlot,
25469
+ features,
25470
+ cardClassName,
25471
+ renderFeatureIcon,
25472
+ renderFeatureLink,
25473
+ background
25474
+ ]);
25410
25475
  return /* @__PURE__ */ jsxRuntime.jsx(
25411
25476
  Section,
25412
25477
  {
@@ -25417,7 +25482,55 @@ function FeaturePatternGridLinks({
25417
25482
  patternClassName,
25418
25483
  className,
25419
25484
  containerClassName,
25420
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-6 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: featuresContent })
25485
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col space-y-6 md:space-y-16", children: [
25486
+ title || description ? /* @__PURE__ */ jsxRuntime.jsxs(
25487
+ "div",
25488
+ {
25489
+ className: cn(
25490
+ "flex flex-col gap-4 md:gap-6 text-left",
25491
+ headerClassName
25492
+ ),
25493
+ children: [
25494
+ title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
25495
+ "h2",
25496
+ {
25497
+ className: cn(
25498
+ "text-xl font-semibold text-balance md:text-2xl lg:text-3xl max-w-lg md:max-w-md",
25499
+ titleClassName
25500
+ ),
25501
+ children: title
25502
+ }
25503
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
25504
+ "div",
25505
+ {
25506
+ className: cn(
25507
+ "text-xl font-semibold text-balance md:text-2xl lg:text-3xl max-w-lg md:max-w-md",
25508
+ titleClassName
25509
+ ),
25510
+ children: title
25511
+ }
25512
+ )),
25513
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-lg md:max-w-md", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx(
25514
+ "div",
25515
+ {
25516
+ className: cn("max-w-lg md:max-w-md", descriptionClassName),
25517
+ children: description
25518
+ }
25519
+ ))
25520
+ ]
25521
+ }
25522
+ ) : null,
25523
+ /* @__PURE__ */ jsxRuntime.jsx(
25524
+ "div",
25525
+ {
25526
+ className: cn(
25527
+ "grid gap-6 md:grid-cols-2 lg:grid-cols-3",
25528
+ gridClassName
25529
+ ),
25530
+ children: featuresContent
25531
+ }
25532
+ )
25533
+ ] })
25421
25534
  }
25422
25535
  );
25423
25536
  }
@@ -25702,7 +25815,14 @@ function FeatureUtilityCardsGrid({
25702
25815
  const renderLabelIcon = React52.useMemo(() => {
25703
25816
  if (labelIcon) return labelIcon;
25704
25817
  if (labelIconName)
25705
- return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: labelIconName, size: 20, className: getAccentColor(background) });
25818
+ return /* @__PURE__ */ jsxRuntime.jsx(
25819
+ DynamicIcon,
25820
+ {
25821
+ name: labelIconName,
25822
+ size: 20,
25823
+ className: getAccentColor(background)
25824
+ }
25825
+ );
25706
25826
  return null;
25707
25827
  }, [labelIcon, labelIconName, background]);
25708
25828
  const learnMoreContent = React52.useMemo(() => {
@@ -25799,10 +25919,19 @@ function FeatureUtilityCardsGrid({
25799
25919
  headerClassName
25800
25920
  ),
25801
25921
  children: [
25802
- (label || labelIcon || labelIconName) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-1 ", labelClassName), children: [
25803
- renderLabelIcon,
25804
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: label }))
25805
- ] }),
25922
+ (label || labelIcon || labelIconName) && /* @__PURE__ */ jsxRuntime.jsxs(
25923
+ "div",
25924
+ {
25925
+ className: cn(
25926
+ "text-lg flex items-center gap-4",
25927
+ labelClassName
25928
+ ),
25929
+ children: [
25930
+ renderLabelIcon,
25931
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: label }))
25932
+ ]
25933
+ }
25934
+ ),
25806
25935
  learnMoreContent
25807
25936
  ]
25808
25937
  }
@@ -26195,7 +26324,7 @@ function FeatureIconTabsContent({
26195
26324
  tabContentClassName,
26196
26325
  optixFlowConfig,
26197
26326
  background,
26198
- spacing = "py-6 md:py-32",
26327
+ spacing = "pt-14 pb-12 md:pt-32 md:pb-32",
26199
26328
  pattern,
26200
26329
  patternOpacity,
26201
26330
  patternClassName
@@ -26287,7 +26416,7 @@ function FeatureIconTabsContent({
26287
26416
  {
26288
26417
  value: tab.value,
26289
26418
  className: cn(
26290
- "flex h-auto! w-auto! flex-none items-center gap-2 rounded-lg border border-border px-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
26419
+ "flex h-auto! w-auto! flex-none items-center gap-2 rounded-lg border border-border pl-0 pr-4 md:pl-4 md:pr-4 py-2.5 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground",
26291
26420
  `data-[state=active]:${getBorderColor(background, "accent")}`,
26292
26421
  tabTriggerClassName,
26293
26422
  tab.className
@@ -26301,7 +26430,7 @@ function FeatureIconTabsContent({
26301
26430
  ))
26302
26431
  }
26303
26432
  ) }),
26304
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("py-6 lg:py-16", contentWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: tabs.map((tab) => {
26433
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("py-6 md:py-10", contentWrapperClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 md:p-8 bg-muted/50 rounded-2xl shadow-lg", children: tabs.map((tab) => {
26305
26434
  if (tab.contentSlot) {
26306
26435
  return /* @__PURE__ */ jsxRuntime.jsx(
26307
26436
  TabsContent,
@@ -26338,7 +26467,7 @@ function FeatureIconTabsContent({
26338
26467
  "h3",
26339
26468
  {
26340
26469
  className: cn(
26341
- "text-3xl font-semibold lg:text-5xl",
26470
+ "text-2xl font-semibold",
26342
26471
  content.titleClassName
26343
26472
  ),
26344
26473
  children: content.title
@@ -26347,7 +26476,7 @@ function FeatureIconTabsContent({
26347
26476
  "div",
26348
26477
  {
26349
26478
  className: cn(
26350
- "text-3xl font-semibold lg:text-5xl",
26479
+ "text-2xl font-semibold",
26351
26480
  content.titleClassName
26352
26481
  ),
26353
26482
  children: content.title
@@ -26419,7 +26548,7 @@ function FeatureIconTabsContent({
26419
26548
  "h1",
26420
26549
  {
26421
26550
  className: cn(
26422
- "max-w-2xl text-3xl font-semibold md:text-4xl text-balance",
26551
+ "max-w-4xl text-3xl font-semibold md:text-6xl text-balance",
26423
26552
  headingClassName
26424
26553
  ),
26425
26554
  children: heading
@@ -26428,7 +26557,7 @@ function FeatureIconTabsContent({
26428
26557
  "div",
26429
26558
  {
26430
26559
  className: cn(
26431
- "max-w-2xl text-3xl font-semibold md:text-4xl text-balance",
26560
+ "max-w-4xl text-3xl font-semibold md:text-6xl text-balance",
26432
26561
  headingClassName
26433
26562
  ),
26434
26563
  children: heading
@@ -27003,7 +27132,7 @@ function FeatureImageCardsThreeColumn({
27003
27132
  cardsSlot,
27004
27133
  className,
27005
27134
  containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
27006
- spacing = "py-6 md:py-32",
27135
+ spacing = "py-12 md:py-32",
27007
27136
  titleClassName,
27008
27137
  descriptionClassName,
27009
27138
  gridClassName,
@@ -27059,7 +27188,7 @@ function FeatureImageCardsThreeColumn({
27059
27188
  ),
27060
27189
  children: [
27061
27190
  renderImage(card, imageAlt),
27062
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-0 md:translate-y-20 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
27191
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 right-0 bottom-0 left-0 translate-y-10 md:translate-y-20 rounded-xl bg-linear-to-t from-black to-transparent transition-transform duration-300 group-hover:translate-y-0" }),
27063
27192
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-0 flex h-full w-full flex-col justify-between p-4 md:p-6", children: [
27064
27193
  (card.badgeText || card.avatarSrc || card.icon || card.iconName) && /* @__PURE__ */ jsxRuntime.jsxs(
27065
27194
  Badge,
@@ -27129,7 +27258,7 @@ function FeatureImageCardsThreeColumn({
27129
27258
  "h2",
27130
27259
  {
27131
27260
  className: cn(
27132
- "text-xl font-semibold text-balance md:text-2xl lg:text-3xl max-w-lg md:max-w-md",
27261
+ "text-2xl font-semibold text-balance md:text-3xl lg:text-4xl max-w-lg md:max-w-md",
27133
27262
  titleClassName
27134
27263
  ),
27135
27264
  children: title
@@ -27138,7 +27267,7 @@ function FeatureImageCardsThreeColumn({
27138
27267
  "div",
27139
27268
  {
27140
27269
  className: cn(
27141
- "text-xl font-semibold text-balance md:text-2xl lg:text-3xl max-w-lg md:max-w-md",
27270
+ "text-2xl font-semibold text-balance md:text-3xl lg:text-4xl max-w-lg md:max-w-md",
27142
27271
  titleClassName
27143
27272
  ),
27144
27273
  children: title
@@ -27658,8 +27787,8 @@ function FeatureCapabilitiesGrid({
27658
27787
  items,
27659
27788
  itemsSlot,
27660
27789
  className,
27661
- containerClassName = "px-4 sm:px-4 md:px-6 lg:px-8",
27662
- spacing = "py-6 md:py-32",
27790
+ containerClassName = "mx-auto w-full max-w-screen-lg md:max-w-screen-4xl relative z-10 px-6 sm:px-2 md:px-2 lg:px-2",
27791
+ spacing = "py-12 md:py-32",
27663
27792
  eyebrowClassName,
27664
27793
  headingClassName,
27665
27794
  gridClassName,
@@ -27686,7 +27815,7 @@ function FeatureCapabilitiesGrid({
27686
27815
  Card,
27687
27816
  {
27688
27817
  className: cn(
27689
- "group relative rounded-md overflow-visible border-border/10 bg-background/5 p-0 transition-colors duration-300 hover:border-border/20",
27818
+ "group relative rounded-md overflow-visible border-border/10 bg-card text-card-foreground p-0 transition-colors duration-300 hover:border-border/20",
27690
27819
  cardClassName,
27691
27820
  item.className
27692
27821
  ),
@@ -27704,7 +27833,7 @@ function FeatureCapabilitiesGrid({
27704
27833
  "div",
27705
27834
  {
27706
27835
  className: cn(
27707
- "flex h-10 w-10 items-center justify-center rounded-xl border border-border/15 bg-background/5",
27836
+ "flex h-10 w-10 items-center justify-center rounded-xl border ",
27708
27837
  item.iconClassName
27709
27838
  ),
27710
27839
  children: iconContent
@@ -27733,7 +27862,7 @@ function FeatureCapabilitiesGrid({
27733
27862
  "span",
27734
27863
  {
27735
27864
  className: cn(
27736
- "rounded-full border border-border/20 px-2 py-0.5 text-[10px] leading-none",
27865
+ "rounded-full border px-2 py-0.5 text-[10px] leading-none",
27737
27866
  item.badgeClassName
27738
27867
  ),
27739
27868
  children: item.badge
@@ -27778,7 +27907,6 @@ function FeatureCapabilitiesGrid({
27778
27907
  patternClassName,
27779
27908
  className,
27780
27909
  containerClassName,
27781
- containerMaxWidth: "lg",
27782
27910
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col space-y-6 md:space-y-16", children: [
27783
27911
  eyebrow || heading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col space-y-4 md:space-y-6", children: [
27784
27912
  eyebrow && (typeof eyebrow === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm tracking-widest", eyebrowClassName), children: eyebrow }) : /* @__PURE__ */ jsxRuntime.jsx(