@bergetai/ui 0.7.1 → 0.9.0

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/index.d.cts CHANGED
@@ -59,8 +59,8 @@ interface ButtonProps extends Omit<React$1.ComponentProps<typeof Button$1>, 'var
59
59
  declare function Button({ className, variant, size, asChild, width, type, ref, children, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
60
60
 
61
61
  declare const typographyVariants: (props?: ({
62
- variant?: "small" | "xs" | "body" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "large" | "mono" | null | undefined;
63
- color?: "default" | "muted" | "dim" | null | undefined;
62
+ variant?: "small" | "caption" | "xs" | "body" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "hero" | "large" | "mono" | null | undefined;
63
+ color?: "default" | "primary" | "muted" | "dim" | null | undefined;
64
64
  } & class_variance_authority_types.ClassProp) | undefined) => string;
65
65
  interface TypographyProps extends Omit<React$1.HTMLAttributes<HTMLElement>, 'color'>, VariantProps<typeof typographyVariants> {
66
66
  as?: React$1.ElementType;
@@ -605,11 +605,7 @@ interface FeatureListProps extends React$1.HTMLAttributes<HTMLUListElement> {
605
605
  }
606
606
  declare const FeatureList: React$1.ForwardRefExoticComponent<FeatureListProps & React$1.RefAttributes<HTMLUListElement>>;
607
607
 
608
- declare const heroBlockVariants: (props?: ({
609
- variant?: "default" | "moss" | "gradient" | null | undefined;
610
- withPattern?: boolean | null | undefined;
611
- } & class_variance_authority_types.ClassProp) | undefined) => string;
612
- interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof heroBlockVariants> {
608
+ interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement> {
613
609
  /**
614
610
  * Optional icon for the tagline badge
615
611
  */
@@ -630,25 +626,14 @@ interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement>, Variant
630
626
  * Call-to-action buttons
631
627
  */
632
628
  actions?: React$1.ReactNode;
633
- /**
634
- * Show pattern background
635
- * @default true
636
- */
637
- withPattern?: boolean;
638
629
  }
639
630
  /**
640
631
  * Hero Block Component
641
632
  *
642
- * Full-width hero section with optional grid background, tagline, title, description, and CTAs.
633
+ * Full-width hero section with optional tagline, title, description, and CTAs.
643
634
  * Based on the pattern from why-berget and other landing pages.
644
635
  *
645
- * **Variants:**
646
- * - `default` - Simple gradient
647
- * - `moss` - Green gradient overlay
648
- * - `gradient` - Diagonal gradient
649
- *
650
636
  * **Features:**
651
- * - Optional grid background
652
637
  * - Tagline badge with optional icon
653
638
  * - Responsive sizing
654
639
  * - CTA button slots
@@ -666,10 +651,9 @@ interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement>, Variant
666
651
  * taglineIcon={Shield}
667
652
  * title="European AI Infrastructure"
668
653
  * description="Deploy and scale AI models with data residency in Europe"
669
- * variant="moss"
670
654
  * actions={
671
655
  * <>
672
- * <Button size="lg">Get Started</Button>
656
+ * <Button size="lg" variant="primary">Get Started</Button>
673
657
  * <Button size="lg" variant="outline">Learn More</Button>
674
658
  * </>
675
659
  * }
package/dist/index.d.ts CHANGED
@@ -59,8 +59,8 @@ interface ButtonProps extends Omit<React$1.ComponentProps<typeof Button$1>, 'var
59
59
  declare function Button({ className, variant, size, asChild, width, type, ref, children, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
60
60
 
61
61
  declare const typographyVariants: (props?: ({
62
- variant?: "small" | "xs" | "body" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "large" | "mono" | null | undefined;
63
- color?: "default" | "muted" | "dim" | null | undefined;
62
+ variant?: "small" | "caption" | "xs" | "body" | "code" | "h1" | "h2" | "h3" | "h4" | "h5" | "hero" | "large" | "mono" | null | undefined;
63
+ color?: "default" | "primary" | "muted" | "dim" | null | undefined;
64
64
  } & class_variance_authority_types.ClassProp) | undefined) => string;
65
65
  interface TypographyProps extends Omit<React$1.HTMLAttributes<HTMLElement>, 'color'>, VariantProps<typeof typographyVariants> {
66
66
  as?: React$1.ElementType;
@@ -605,11 +605,7 @@ interface FeatureListProps extends React$1.HTMLAttributes<HTMLUListElement> {
605
605
  }
606
606
  declare const FeatureList: React$1.ForwardRefExoticComponent<FeatureListProps & React$1.RefAttributes<HTMLUListElement>>;
607
607
 
608
- declare const heroBlockVariants: (props?: ({
609
- variant?: "default" | "moss" | "gradient" | null | undefined;
610
- withPattern?: boolean | null | undefined;
611
- } & class_variance_authority_types.ClassProp) | undefined) => string;
612
- interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof heroBlockVariants> {
608
+ interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement> {
613
609
  /**
614
610
  * Optional icon for the tagline badge
615
611
  */
@@ -630,25 +626,14 @@ interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement>, Variant
630
626
  * Call-to-action buttons
631
627
  */
632
628
  actions?: React$1.ReactNode;
633
- /**
634
- * Show pattern background
635
- * @default true
636
- */
637
- withPattern?: boolean;
638
629
  }
639
630
  /**
640
631
  * Hero Block Component
641
632
  *
642
- * Full-width hero section with optional grid background, tagline, title, description, and CTAs.
633
+ * Full-width hero section with optional tagline, title, description, and CTAs.
643
634
  * Based on the pattern from why-berget and other landing pages.
644
635
  *
645
- * **Variants:**
646
- * - `default` - Simple gradient
647
- * - `moss` - Green gradient overlay
648
- * - `gradient` - Diagonal gradient
649
- *
650
636
  * **Features:**
651
- * - Optional grid background
652
637
  * - Tagline badge with optional icon
653
638
  * - Responsive sizing
654
639
  * - CTA button slots
@@ -666,10 +651,9 @@ interface HeroBlockProps extends React$1.HTMLAttributes<HTMLDivElement>, Variant
666
651
  * taglineIcon={Shield}
667
652
  * title="European AI Infrastructure"
668
653
  * description="Deploy and scale AI models with data residency in Europe"
669
- * variant="moss"
670
654
  * actions={
671
655
  * <>
672
- * <Button size="lg">Get Started</Button>
656
+ * <Button size="lg" variant="primary">Get Started</Button>
673
657
  * <Button size="lg" variant="outline">Learn More</Button>
674
658
  * </>
675
659
  * }
package/dist/index.js CHANGED
@@ -102,7 +102,16 @@ var twMerge = extendTailwindMerge({
102
102
  "rounded-berget-lg",
103
103
  "rounded-berget-full"
104
104
  ],
105
- "font-size": ["text-h1", "text-h2", "text-h3", "text-h4", "text-p", "text-mono"]
105
+ "font-size": [
106
+ "text-h1",
107
+ "text-h2",
108
+ "text-h3",
109
+ "text-h4",
110
+ "text-p",
111
+ "text-mono",
112
+ "text-hero",
113
+ "text-caption"
114
+ ]
106
115
  }
107
116
  }
108
117
  });
@@ -256,9 +265,9 @@ import { jsx as jsx4 } from "react/jsx-runtime";
256
265
  function brandVariantClasses(variant) {
257
266
  switch (variant) {
258
267
  case "primary":
259
- return "bg-berget-button-primary-bg text-berget-button-primary-fg shadow-lg hover:bg-berget-button-primary-bg/90 hover:shadow-xl";
268
+ return "bg-berget-button-primary-bg text-berget-button-primary-fg shadow-berget-lg hover:bg-berget-button-primary-hover hover:shadow-berget-lg";
260
269
  case "destructive":
261
- return "bg-berget-button-destructive-bg text-berget-button-destructive-fg shadow-sm hover:bg-berget-button-destructive-bg/80 hover:shadow dark:hover:bg-berget-button-destructive-bg/80 dark:hover:text-berget-button-destructive-fg";
270
+ return "bg-berget-button-destructive-bg text-berget-button-destructive-fg shadow-berget-sm hover:bg-berget-button-destructive-bg/80 hover:shadow-berget-sm dark:hover:bg-berget-button-destructive-bg/80 dark:hover:text-berget-button-destructive-fg";
262
271
  case "outline":
263
272
  return "border-berget-border-interactive bg-transparent text-berget-foreground hover:bg-berget-surface-hover hover:text-berget-foreground hover:border-berget-border-interactive-elevated";
264
273
  case "ghost":
@@ -267,7 +276,7 @@ function brandVariantClasses(variant) {
267
276
  return "bg-transparent hover:bg-transparent focus:bg-transparent active:bg-transparent text-berget-button-link-fg underline-offset-4 hover:underline";
268
277
  case "default":
269
278
  default:
270
- return "bg-berget-button-default-bg text-berget-button-default-fg shadow-lg hover:bg-berget-button-default-bg/90 hover:shadow-xl";
279
+ return "bg-berget-button-default-bg text-berget-button-default-fg shadow-berget-lg hover:bg-berget-button-default-bg/90 hover:shadow-berget-lg";
271
280
  }
272
281
  }
273
282
  function primitiveVariant(variant) {
@@ -324,6 +333,8 @@ var typographyVariants = cva2("", {
324
333
  variant: {
325
334
  // Fluid heading scale — use @theme tokens (clamp-based, 390px → 1440px)
326
335
  h1: "text-h1 font-h1 leading-h1 tracking-h1 text-balance",
336
+ // Hero display — from landing-page /dedicated-inference hero (Ovo, 400, tight display leading)
337
+ hero: "text-hero font-hero leading-hero tracking-hero text-balance font-normal [font-feature-settings:'normal']",
327
338
  h2: "text-h2 font-h2 leading-h2 tracking-h2 text-balance",
328
339
  h3: "text-h3 font-h3 leading-h3 tracking-h3 text-balance",
329
340
  h4: "text-h4 font-h4 leading-h4 tracking-h4 text-balance",
@@ -334,6 +345,8 @@ var typographyVariants = cva2("", {
334
345
  body: "text-p font-p leading-p text-pretty",
335
346
  small: "text-sm font-sm leading-sm text-pretty",
336
347
  xs: "text-xs font-xs leading-xs text-pretty",
348
+ // Caption / overline / eyebrow (DM Sans, Semibold, uppercase)
349
+ caption: "text-caption font-caption leading-caption tracking-caption text-pretty font-semibold uppercase",
337
350
  // Monospaced — use @theme token
338
351
  mono: "text-mono font-mono leading-mono text-pretty",
339
352
  // Inline code / spec labels
@@ -342,7 +355,8 @@ var typographyVariants = cva2("", {
342
355
  color: {
343
356
  default: "text-berget-foreground",
344
357
  muted: "text-berget-muted-foreground",
345
- dim: "text-berget-foreground/65"
358
+ dim: "text-berget-foreground/65",
359
+ primary: "text-berget-primary"
346
360
  }
347
361
  },
348
362
  defaultVariants: {
@@ -351,6 +365,7 @@ var typographyVariants = cva2("", {
351
365
  }
352
366
  });
353
367
  var defaultElementMap = {
368
+ hero: "h1",
354
369
  h1: "h1",
355
370
  h2: "h2",
356
371
  h3: "h3",
@@ -360,6 +375,7 @@ var defaultElementMap = {
360
375
  body: "p",
361
376
  small: "p",
362
377
  xs: "p",
378
+ caption: "span",
363
379
  mono: "p",
364
380
  code: "span"
365
381
  };
@@ -466,11 +482,11 @@ function CardFooter({ className, ...props }) {
466
482
 
467
483
  // src/components/card/Card.tsx
468
484
  import { jsx as jsx7 } from "react/jsx-runtime";
469
- var cardVariants = cva3("rounded-berget-sm", {
485
+ var cardVariants = cva3("rounded-berget-sm ring-0", {
470
486
  variants: {
471
487
  variant: {
472
- outlined: "bg-transparent border border-berget-border",
473
- filled: "bg-berget-card-filled-bg border border-berget-border"
488
+ outlined: "bg-transparent border border-berget-border-subtle",
489
+ filled: "bg-berget-card-filled-bg border border-berget-border-subtle"
474
490
  },
475
491
  padding: {
476
492
  none: "p-0",
@@ -818,7 +834,7 @@ var ModelCard = React9.forwardRef(
818
834
  children: lifecycleLabels[lifecycle]
819
835
  }
820
836
  ) }),
821
- (icon || provider || category) && /* @__PURE__ */ jsx11("div", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-lg border border-berget-border bg-white/5 text-berget-foreground", children: icon ?? /* @__PURE__ */ jsx11(ModelLogo, { provider, category }) }),
837
+ (icon || provider || category) && /* @__PURE__ */ jsx11("div", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-berget-xs border border-berget-border bg-white/5 text-berget-foreground", children: icon ?? /* @__PURE__ */ jsx11(ModelLogo, { provider, category }) }),
822
838
  /* @__PURE__ */ jsxs5("header", { children: [
823
839
  eyebrow && /* @__PURE__ */ jsx11(
824
840
  Typography,
@@ -2076,7 +2092,7 @@ function Checkbox({ className, ...props }) {
2076
2092
  // src/components/checkbox/Checkbox.tsx
2077
2093
  import { jsx as jsx27, jsxs as jsxs12 } from "react/jsx-runtime";
2078
2094
  var checkboxVariants = cva10(
2079
- "inline-flex items-center justify-center rounded-md transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
2095
+ "inline-flex items-center justify-center rounded-berget-xs transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
2080
2096
  {
2081
2097
  variants: {
2082
2098
  variant: {
@@ -2170,7 +2186,7 @@ var switchRootVariants = cva11(
2170
2186
  {
2171
2187
  variants: {
2172
2188
  variant: {
2173
- default: "data-unchecked:bg-berget-border data-checked:bg-berget-secondary",
2189
+ default: "data-unchecked:bg-berget-border data-checked:bg-berget-primary",
2174
2190
  primary: "data-unchecked:bg-berget-border-subtle data-checked:bg-berget-switch-primary-checked",
2175
2191
  subtle: "data-unchecked:bg-berget-border-subtle data-checked:bg-berget-switch-subtle-checked"
2176
2192
  },
@@ -3410,11 +3426,11 @@ var linkVariants = cva16(
3410
3426
  variants: {
3411
3427
  variant: {
3412
3428
  default: "text-foreground hover:text-foreground/80",
3413
- primary: "text-berget-secondary hover:text-berget-secondary/80",
3429
+ primary: "text-berget-brand-moss-400 hover:text-berget-brand-moss-500",
3414
3430
  secondary: "text-berget-accent hover:text-berget-accent/80",
3415
3431
  ghost: "text-muted-foreground hover:text-foreground",
3416
3432
  muted: "text-muted-foreground hover:text-muted-foreground/80",
3417
- code: "text-berget-secondary hover:text-berget-secondary/80 font-mono text-sm bg-berget-primary-tint px-2 py-1 rounded hover:bg-berget-primary-tint-hover"
3433
+ code: "text-berget-brand-moss-400 hover:text-berget-brand-moss-500 font-mono text-sm bg-berget-primary-tint px-2 py-1 rounded hover:bg-berget-primary-tint-hover"
3418
3434
  },
3419
3435
  size: {
3420
3436
  sm: "text-sm",
@@ -3681,7 +3697,7 @@ var LanguageSelect = React27.forwardRef(
3681
3697
  // Shadow
3682
3698
  "shadow-berget-lg",
3683
3699
  // Rounded corners
3684
- "rounded-md",
3700
+ "rounded-berget-xs",
3685
3701
  // Animations
3686
3702
  "transition-[opacity,transform]",
3687
3703
  "data-starting-style:opacity-0 data-starting-style:scale-95 data-ending-style:opacity-0 data-ending-style:scale-95",
@@ -3851,45 +3867,17 @@ FeatureList.displayName = "FeatureList";
3851
3867
 
3852
3868
  // src/components/hero-block/HeroBlock.tsx
3853
3869
  import * as React30 from "react";
3854
- import { cva as cva21 } from "class-variance-authority";
3855
3870
  import { jsx as jsx45, jsxs as jsxs25 } from "react/jsx-runtime";
3856
- var heroBlockVariants = cva21(
3857
- "relative overflow-hidden min-h-[40dvh] flex items-center py-fluid-2xl",
3858
- {
3859
- variants: {
3860
- variant: {
3861
- default: "",
3862
- moss: "",
3863
- gradient: ""
3864
- },
3865
- withPattern: {
3866
- true: "",
3867
- false: ""
3868
- }
3869
- },
3870
- defaultVariants: {
3871
- variant: "default",
3872
- withPattern: false
3873
- }
3874
- }
3875
- );
3876
3871
  var HeroBlock = React30.forwardRef(
3877
- ({
3878
- className,
3879
- variant,
3880
- withPattern,
3881
- taglineIcon: TaglineIcon,
3882
- tagline,
3883
- title,
3884
- description,
3885
- actions,
3886
- ...props
3887
- }, ref) => {
3872
+ ({ className, taglineIcon: TaglineIcon, tagline, title, description, actions, ...props }, ref) => {
3888
3873
  return /* @__PURE__ */ jsx45(
3889
3874
  "div",
3890
3875
  {
3891
3876
  ref,
3892
- className: cn(heroBlockVariants({ variant, withPattern }), className),
3877
+ className: cn(
3878
+ "relative overflow-hidden min-h-[40dvh] flex items-center py-fluid-2xl",
3879
+ className
3880
+ ),
3893
3881
  ...props,
3894
3882
  children: /* @__PURE__ */ jsx45("div", { className: "mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxs25("div", { className: "mx-auto text-center max-w-4xl", children: [
3895
3883
  tagline && /* @__PURE__ */ jsx45(
@@ -3989,9 +3977,9 @@ var WindowFrame = React31.forwardRef(
3989
3977
  children: [
3990
3978
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 px-4 py-3 border-b border-berget-brand-granite-700 bg-berget-brand-granite-900", children: [
3991
3979
  /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
3992
- /* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-[#FF5F56]" }),
3993
- /* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-[#FFBD2E]" }),
3994
- /* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-[#27C93F]" })
3980
+ /* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-berget-brand-muscaria-400" }),
3981
+ /* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-berget-brand-chanterelle-200" }),
3982
+ /* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-berget-brand-moss-400" })
3995
3983
  ] }),
3996
3984
  tabs && tabs.length > 0 ? /* @__PURE__ */ jsx47("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ jsx47(
3997
3985
  "button",
@@ -4000,7 +3988,7 @@ var WindowFrame = React31.forwardRef(
4000
3988
  onClick: () => handleTabChange(tab.id),
4001
3989
  className: cn(
4002
3990
  "px-3 py-1 text-sm transition-colors cursor-pointer",
4003
- currentTab === tab.id ? "rounded-lg bg-white/10 text-berget-foreground font-medium" : "rounded text-berget-muted-foreground hover:text-berget-foreground font-medium"
3991
+ currentTab === tab.id ? "rounded-berget-xs bg-white/10 text-berget-foreground font-medium" : "rounded text-berget-muted-foreground hover:text-berget-foreground font-medium"
4004
3992
  ),
4005
3993
  children: tab.label
4006
3994
  },