components / tabs

tabs.

bordered pill tab-strip. controlled selection with roving-tabindex arrow-key nav and ARIA, split into a headless useTabs hook.

things i've shipped.
installation
bunx @justin06lee/chrome@latest add tabs
usage
Controlled
const [tab, setTab] = useState("projects");
<Tabs
value={tab}
onValueChange={setTab}
items={[
{ value: "projects", label: "projects" },
{ value: "hobbies", label: "hobbies" },
]}
/>