import { Tabs as TabsPrimitive } from "@base-ui/react/tabs";
import { cva, type VariantProps } from "class-variance-authority";
import { activeSelectedItemClassName } from "../primitives";
import { cn } from "../../lib/utils";
function Tabs({ className, orientation = "horizontal", ...props }: TabsPrimitive.Root.Props) {
return (
);
}
const tabsListVariants = cva(
"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-[color:var(--muted-foreground)] group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none",
{
variants: {
size: {
default: "group-data-horizontal/tabs:h-8",
header: "group-data-horizontal/tabs:h-10",
"header-lg": "group-data-horizontal/tabs:h-10",
},
variant: {
control:
"w-full rounded-md p-0 text-[color:color-mix(in_oklab,var(--foreground)_72%,transparent)] [&>[data-slot=tabs-trigger]]:relative [&>[data-slot=tabs-trigger]:has(+[data-slot=tabs-trigger])]:border-r-0 [&>[data-slot=tabs-trigger][data-active]+[data-slot=tabs-trigger]]:border-l-[color:color-mix(in_oklab,var(--border)_10%,transparent)]",
default: "bg-transparent",
line: "gap-1 bg-transparent pl-0",
},
},
compoundVariants: [
{
className: "group-data-horizontal/tabs:h-7",
size: "default",
variant: "control",
},
],
defaultVariants: {
size: "default",
variant: "default",
},
},
);
function TabsList({
className,
size = "default",
variant = "default",
...props
}: TabsPrimitive.List.Props & VariantProps) {
return (
);
}
function TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {
return (
);
}
function TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {
return (
);
}
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };