Tabs
A set of layered sections of content, known as tab panels, that are displayed one at a time.
Installation
Implement this component in your project using Yumma CSS and Base UI.
pnpm add @base-ui/reactExamples
Basic
import { Tabs } from "@base-ui/react/tabs";import { ProjectorScreenChartIcon, ShapesIcon, UserCircleIcon,} from "@phosphor-icons/react";
export default function ExampleTabs() { return ( <Tabs.Root className="bg-white br-1 bw-1 bc-silver-4" defaultValue="overview" > <Tabs.List className="p-r zi-0 d-f g-1 px-1 bbw-1 bc-silver-4"> <Tabs.Tab className="p-r zi-10 d-f h-8 ai-c jc-c bw-0 px-2 fs-sm fw-500 ws-nw c-slate-5 us-none h:c-slate-8 tabs-tab" value="overview" > Overview </Tabs.Tab> <Tabs.Tab className="p-r zi-10 d-f h-8 ai-c jc-c bw-0 px-2 fs-sm fw-500 ws-nw c-slate-5 us-none h:c-slate-8 tabs-tab" value="projects" > Projects </Tabs.Tab> <Tabs.Tab className="p-r zi-10 d-f h-8 ai-c jc-c bw-0 px-2 fs-sm fw-500 ws-nw c-slate-5 us-none h:c-slate-8 tabs-tab" value="account" > Account </Tabs.Tab> <Tabs.Indicator className="p-a t-half l-0 zi-0 h-6 br-1 bg-silver-2 tabs-indicator" /> </Tabs.List> <Tabs.Panel className="p-r d-f h-32 ai-c jc-c tabs-panel" value="overview" > <ShapesIcon size={40} className="c-silver-4" /> </Tabs.Panel> <Tabs.Panel className="p-r d-f h-32 ai-c jc-c tabs-panel" value="projects" > <ProjectorScreenChartIcon size={40} className="c-silver-4" /> </Tabs.Panel> <Tabs.Panel className="p-r d-f h-32 ai-c jc-c tabs-panel" value="account"> <UserCircleIcon size={40} className="c-silver-4" /> </Tabs.Panel> <style>{` .tabs-tab { transition: color 200ms; outline: none; } .tabs-tab:focus-visible { position: relative; } .tabs-tab:focus-visible::before { content: ''; position: absolute; inset: 0.25rem 0; border-radius: 0.125rem; outline: 2px solid var(--blue-8); } .tabs-tab[data-active] { color: var(--slate-12); } .tabs-indicator { width: var(--active-tab-width); transform: translateX(var(--active-tab-left)) translateY(-50%); transition: transform 200ms ease-in-out, width 200ms ease-in-out; } .tabs-panel:focus-visible { border-radius: 0.25rem; outline: 2px solid var(--blue-8); outline-offset: -1px; } `}</style> </Tabs.Root> );}API Reference
Check out the Base UI documentation for more information.