"use client"; import * as React from "react"; import { cn } from "@/lib/utils"; type TabsContextValue = { value: string; setValue: (value: string) => void; }; const TabsContext = React.createContext(null); function useTabsContext() { const context = React.useContext(TabsContext); if (!context) { throw new Error("Tabs components must be used within Tabs."); } return context; } type TabsProps = { defaultValue: string; children: React.ReactNode; className?: string; }; function Tabs({ defaultValue, children, className }: TabsProps) { const [value, setValue] = React.useState(defaultValue); return (
{children}
); } function TabsList({ className, ...props }: React.HTMLAttributes) { return (
); } type TabsTriggerProps = React.ButtonHTMLAttributes & { value: string; }; function TabsTrigger({ className, value, onClick, ...props }: TabsTriggerProps) { const { value: activeValue, setValue } = useTabsContext(); const isActive = activeValue === value; return (