@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.cjs CHANGED
@@ -266,7 +266,16 @@ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
266
266
  "rounded-berget-lg",
267
267
  "rounded-berget-full"
268
268
  ],
269
- "font-size": ["text-h1", "text-h2", "text-h3", "text-h4", "text-p", "text-mono"]
269
+ "font-size": [
270
+ "text-h1",
271
+ "text-h2",
272
+ "text-h3",
273
+ "text-h4",
274
+ "text-p",
275
+ "text-mono",
276
+ "text-hero",
277
+ "text-caption"
278
+ ]
270
279
  }
271
280
  }
272
281
  });
@@ -420,9 +429,9 @@ var import_jsx_runtime4 = require("react/jsx-runtime");
420
429
  function brandVariantClasses(variant) {
421
430
  switch (variant) {
422
431
  case "primary":
423
- return "bg-berget-button-primary-bg text-berget-button-primary-fg shadow-lg hover:bg-berget-button-primary-bg/90 hover:shadow-xl";
432
+ return "bg-berget-button-primary-bg text-berget-button-primary-fg shadow-berget-lg hover:bg-berget-button-primary-hover hover:shadow-berget-lg";
424
433
  case "destructive":
425
- 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";
434
+ 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";
426
435
  case "outline":
427
436
  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";
428
437
  case "ghost":
@@ -431,7 +440,7 @@ function brandVariantClasses(variant) {
431
440
  return "bg-transparent hover:bg-transparent focus:bg-transparent active:bg-transparent text-berget-button-link-fg underline-offset-4 hover:underline";
432
441
  case "default":
433
442
  default:
434
- return "bg-berget-button-default-bg text-berget-button-default-fg shadow-lg hover:bg-berget-button-default-bg/90 hover:shadow-xl";
443
+ 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";
435
444
  }
436
445
  }
437
446
  function primitiveVariant(variant) {
@@ -488,6 +497,8 @@ var typographyVariants = (0, import_class_variance_authority2.cva)("", {
488
497
  variant: {
489
498
  // Fluid heading scale — use @theme tokens (clamp-based, 390px → 1440px)
490
499
  h1: "text-h1 font-h1 leading-h1 tracking-h1 text-balance",
500
+ // Hero display — from landing-page /dedicated-inference hero (Ovo, 400, tight display leading)
501
+ hero: "text-hero font-hero leading-hero tracking-hero text-balance font-normal [font-feature-settings:'normal']",
491
502
  h2: "text-h2 font-h2 leading-h2 tracking-h2 text-balance",
492
503
  h3: "text-h3 font-h3 leading-h3 tracking-h3 text-balance",
493
504
  h4: "text-h4 font-h4 leading-h4 tracking-h4 text-balance",
@@ -498,6 +509,8 @@ var typographyVariants = (0, import_class_variance_authority2.cva)("", {
498
509
  body: "text-p font-p leading-p text-pretty",
499
510
  small: "text-sm font-sm leading-sm text-pretty",
500
511
  xs: "text-xs font-xs leading-xs text-pretty",
512
+ // Caption / overline / eyebrow (DM Sans, Semibold, uppercase)
513
+ caption: "text-caption font-caption leading-caption tracking-caption text-pretty font-semibold uppercase",
501
514
  // Monospaced — use @theme token
502
515
  mono: "text-mono font-mono leading-mono text-pretty",
503
516
  // Inline code / spec labels
@@ -506,7 +519,8 @@ var typographyVariants = (0, import_class_variance_authority2.cva)("", {
506
519
  color: {
507
520
  default: "text-berget-foreground",
508
521
  muted: "text-berget-muted-foreground",
509
- dim: "text-berget-foreground/65"
522
+ dim: "text-berget-foreground/65",
523
+ primary: "text-berget-primary"
510
524
  }
511
525
  },
512
526
  defaultVariants: {
@@ -515,6 +529,7 @@ var typographyVariants = (0, import_class_variance_authority2.cva)("", {
515
529
  }
516
530
  });
517
531
  var defaultElementMap = {
532
+ hero: "h1",
518
533
  h1: "h1",
519
534
  h2: "h2",
520
535
  h3: "h3",
@@ -524,6 +539,7 @@ var defaultElementMap = {
524
539
  body: "p",
525
540
  small: "p",
526
541
  xs: "p",
542
+ caption: "span",
527
543
  mono: "p",
528
544
  code: "span"
529
545
  };
@@ -630,11 +646,11 @@ function CardFooter({ className, ...props }) {
630
646
 
631
647
  // src/components/card/Card.tsx
632
648
  var import_jsx_runtime7 = require("react/jsx-runtime");
633
- var cardVariants = (0, import_class_variance_authority3.cva)("rounded-berget-sm", {
649
+ var cardVariants = (0, import_class_variance_authority3.cva)("rounded-berget-sm ring-0", {
634
650
  variants: {
635
651
  variant: {
636
- outlined: "bg-transparent border border-berget-border",
637
- filled: "bg-berget-card-filled-bg border border-berget-border"
652
+ outlined: "bg-transparent border border-berget-border-subtle",
653
+ filled: "bg-berget-card-filled-bg border border-berget-border-subtle"
638
654
  },
639
655
  padding: {
640
656
  none: "p-0",
@@ -982,7 +998,7 @@ var ModelCard = React9.forwardRef(
982
998
  children: lifecycleLabels[lifecycle]
983
999
  }
984
1000
  ) }),
985
- (icon || provider || category) && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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__ */ (0, import_jsx_runtime11.jsx)(ModelLogo, { provider, category }) }),
1001
+ (icon || provider || category) && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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__ */ (0, import_jsx_runtime11.jsx)(ModelLogo, { provider, category }) }),
986
1002
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("header", { children: [
987
1003
  eyebrow && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
988
1004
  Typography,
@@ -2240,7 +2256,7 @@ function Checkbox({ className, ...props }) {
2240
2256
  // src/components/checkbox/Checkbox.tsx
2241
2257
  var import_jsx_runtime27 = require("react/jsx-runtime");
2242
2258
  var checkboxVariants = (0, import_class_variance_authority10.cva)(
2243
- "inline-flex items-center justify-center rounded-md transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
2259
+ "inline-flex items-center justify-center rounded-berget-xs transition-all duration-200 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
2244
2260
  {
2245
2261
  variants: {
2246
2262
  variant: {
@@ -2334,7 +2350,7 @@ var switchRootVariants = (0, import_class_variance_authority11.cva)(
2334
2350
  {
2335
2351
  variants: {
2336
2352
  variant: {
2337
- default: "data-unchecked:bg-berget-border data-checked:bg-berget-secondary",
2353
+ default: "data-unchecked:bg-berget-border data-checked:bg-berget-primary",
2338
2354
  primary: "data-unchecked:bg-berget-border-subtle data-checked:bg-berget-switch-primary-checked",
2339
2355
  subtle: "data-unchecked:bg-berget-border-subtle data-checked:bg-berget-switch-subtle-checked"
2340
2356
  },
@@ -3574,11 +3590,11 @@ var linkVariants = (0, import_class_variance_authority16.cva)(
3574
3590
  variants: {
3575
3591
  variant: {
3576
3592
  default: "text-foreground hover:text-foreground/80",
3577
- primary: "text-berget-secondary hover:text-berget-secondary/80",
3593
+ primary: "text-berget-brand-moss-400 hover:text-berget-brand-moss-500",
3578
3594
  secondary: "text-berget-accent hover:text-berget-accent/80",
3579
3595
  ghost: "text-muted-foreground hover:text-foreground",
3580
3596
  muted: "text-muted-foreground hover:text-muted-foreground/80",
3581
- 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"
3597
+ 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"
3582
3598
  },
3583
3599
  size: {
3584
3600
  sm: "text-sm",
@@ -3845,7 +3861,7 @@ var LanguageSelect = React27.forwardRef(
3845
3861
  // Shadow
3846
3862
  "shadow-berget-lg",
3847
3863
  // Rounded corners
3848
- "rounded-md",
3864
+ "rounded-berget-xs",
3849
3865
  // Animations
3850
3866
  "transition-[opacity,transform]",
3851
3867
  "data-starting-style:opacity-0 data-starting-style:scale-95 data-ending-style:opacity-0 data-ending-style:scale-95",
@@ -4015,45 +4031,17 @@ FeatureList.displayName = "FeatureList";
4015
4031
 
4016
4032
  // src/components/hero-block/HeroBlock.tsx
4017
4033
  var React30 = __toESM(require("react"), 1);
4018
- var import_class_variance_authority21 = require("class-variance-authority");
4019
4034
  var import_jsx_runtime45 = require("react/jsx-runtime");
4020
- var heroBlockVariants = (0, import_class_variance_authority21.cva)(
4021
- "relative overflow-hidden min-h-[40dvh] flex items-center py-fluid-2xl",
4022
- {
4023
- variants: {
4024
- variant: {
4025
- default: "",
4026
- moss: "",
4027
- gradient: ""
4028
- },
4029
- withPattern: {
4030
- true: "",
4031
- false: ""
4032
- }
4033
- },
4034
- defaultVariants: {
4035
- variant: "default",
4036
- withPattern: false
4037
- }
4038
- }
4039
- );
4040
4035
  var HeroBlock = React30.forwardRef(
4041
- ({
4042
- className,
4043
- variant,
4044
- withPattern,
4045
- taglineIcon: TaglineIcon,
4046
- tagline,
4047
- title,
4048
- description,
4049
- actions,
4050
- ...props
4051
- }, ref) => {
4036
+ ({ className, taglineIcon: TaglineIcon, tagline, title, description, actions, ...props }, ref) => {
4052
4037
  return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4053
4038
  "div",
4054
4039
  {
4055
4040
  ref,
4056
- className: cn(heroBlockVariants({ variant, withPattern }), className),
4041
+ className: cn(
4042
+ "relative overflow-hidden min-h-[40dvh] flex items-center py-fluid-2xl",
4043
+ className
4044
+ ),
4057
4045
  ...props,
4058
4046
  children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "mx-auto text-center max-w-4xl", children: [
4059
4047
  tagline && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
@@ -4193,9 +4181,9 @@ var WindowFrame = React31.forwardRef(
4193
4181
  children: [
4194
4182
  /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 px-4 py-3 border-b border-berget-brand-granite-700 bg-berget-brand-granite-900", children: [
4195
4183
  /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-2 flex-shrink-0", children: [
4196
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#FF5F56]" }),
4197
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#FFBD2E]" }),
4198
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-3 h-3 rounded-full bg-[#27C93F]" })
4184
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-3 h-3 rounded-full bg-berget-brand-muscaria-400" }),
4185
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-3 h-3 rounded-full bg-berget-brand-chanterelle-200" }),
4186
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-3 h-3 rounded-full bg-berget-brand-moss-400" })
4199
4187
  ] }),
4200
4188
  tabs && tabs.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "ml-4 flex items-center gap-1", children: tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4201
4189
  "button",
@@ -4204,7 +4192,7 @@ var WindowFrame = React31.forwardRef(
4204
4192
  onClick: () => handleTabChange(tab.id),
4205
4193
  className: cn(
4206
4194
  "px-3 py-1 text-sm transition-colors cursor-pointer",
4207
- currentTab === tab.id ? "rounded-lg bg-white/10 text-berget-foreground font-medium" : "rounded text-berget-muted-foreground hover:text-berget-foreground font-medium"
4195
+ 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"
4208
4196
  ),
4209
4197
  children: tab.label
4210
4198
  },