Files
edubox/server/components/ui/tabs.tsx
2026-06-06 19:55:41 +00:00

29 lines
1.2 KiB
TypeScript

import * as React from "react";
import { cn } from "@/lib/utils";
const Tabs = ({ children, className }: { children: React.ReactNode; className?: string }) => (
<div className={cn("w-full", className)}>{children}</div>
);
const TabsList = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (
<div ref={ref} className={cn("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground", className)} {...props} />
));
TabsList.displayName = "TabsList";
const TabsTrigger = React.forwardRef<HTMLButtonElement, React.ButtonHTMLAttributes<HTMLButtonElement> & { active?: boolean }>(
({ className, active, ...props }, ref) => (
<button
ref={ref}
className={cn(
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
active && "bg-background text-foreground shadow-sm",
className
)}
{...props}
/>
)
);
TabsTrigger.displayName = "TabsTrigger";
export { Tabs, TabsList, TabsTrigger };