@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 +39 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -21
- package/dist/index.d.ts +5 -21
- package/dist/index.js +39 -51
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +72 -148
- package/package.json +1 -1
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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": [
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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(
|
|
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-
|
|
3993
|
-
/* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-
|
|
3994
|
-
/* @__PURE__ */ jsx47("div", { className: "w-3 h-3 rounded-full bg-
|
|
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-
|
|
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
|
},
|