Installation
npx shadcn@latest add @iconiq/tabsProps
Tabs
Radix tabs root with a shared spring transition config for the sliding active pill. Supports controlled and uncontrolled usage.
childrenReactNodeRequired
defaultValuestringvaluestringonValueChange(value: string) => voidclassNamestringEach Tabs instance uses a unique layoutId so multiple tab bars on one page do not share pill animations.
Use controlled state with value and onValueChange, or pass defaultValue for uncontrolled usage.
TabsList
Full-width segmented rail with rounded neutral background and padding for the trigger row.
childrenReactNodeclassNamestringUses a rounded neutral surface in light and dark mode with overflow hidden so the active pill stays clipped cleanly.
TabsTrigger
Interactive tab button with a shared layoutId pill behind the active trigger and mix-blend-exclusion label treatment.
valuestringRequired
childrenReactNodeRequired
classNamestringdisabledbooleanThe active trigger renders a motion.div with layoutId active-tab-bg that slides between tabs with spring motion.
Inactive triggers fade slightly on hover while keeping the label readable through mix-blend-exclusion.
TabsContent
Radix content panel tied to a matching trigger value below the tab list.
valuestringRequired
childrenReactNodeRequired
classNamestringRadix handles mounting and visibility for the active panel.
Standard Radix content props such as forceMount are forwarded through the primitive.
Registry bundle
Install the exact registry entry shown on the right when you want the component file and its declared runtime dependencies together.
Dependencies: @radix-ui/react-tabs, motion.