Tabs
Windows 98 tab primitives for controlled tab layouts.
Preview
General settings appear here.
Installation
pnpm dlx shadcn@latest add https://react98-ui.vercel.app/r/tabs.jsonnpx shadcn@latest add https://react98-ui.vercel.app/r/tabs.jsonyarn dlx shadcn@latest add https://react98-ui.vercel.app/r/tabs.jsonbunx shadcn@latest add https://react98-ui.vercel.app/r/tabs.jsonUsage
import { useState } from "react";
import { Tab, Tabs, TabsList, TabsPanel } from "@/components/ui/98/tabs";
export function Example() {
const [selected, setSelected] = useState<"general" | "advanced">("general");
return (
<Tabs>
<TabsList>
<Tab
selected={selected === "general"}
onClick={() => setSelected("general")}
>
General
</Tab>
<Tab
selected={selected === "advanced"}
onClick={() => setSelected("advanced")}
>
Advanced
</Tab>
</TabsList>
<TabsPanel>
{selected === "general" ? "General settings" : "Advanced settings"}
</TabsPanel>
</Tabs>
);
}Props
| Component | Props | Description |
|---|---|---|
Tabs | HTMLAttributes<HTMLDivElement> | Root wrapper. |
TabsList | HTMLAttributes<HTMLDivElement> | Tab row with role="tablist". |
Tab | ButtonHTMLAttributes<HTMLButtonElement> & { selected?: boolean } | Tab button with controlled selected state. |
TabsPanel | HTMLAttributes<HTMLDivElement> | Panel with role="tabpanel". |