tsimport {XDSTab} from '@xds/core/TabList'
| Guidance | Practices |
|---|---|
| Do | Keep tab labels short and descriptive so users can quickly scan available sections. |
| Do | Use XDSTabMenu to group overflow items when horizontal space is limited rather than scrolling tabs off-screen. |
| Do | When using hasDivider with action buttons alongside tabs, use a smaller button size (sm) so the actions don’t overpower the tab row. |
| Don't | Use tabs for sequential steps or workflows — use a stepper or wizard pattern instead. |
| Don't | Place more than 6–8 visible tabs before the overflow menu — prioritize the most important categories. |
| Don't | Confuse TabList with XDSSegmentedControl or XDSToggleButton. TabList is for navigation between views. SegmentedControl and ToggleButton are input controls — SegmentedControl always has exactly one selected option, while ToggleButton can be toggled on or off. |
tsx'use client';import {XDSTabList, XDSTab} from '@xds/core/TabList';import {XDSBadge} from '@xds/core/Badge';export default function TabShowcase() {return (<XDSTabList value="inbox" onChange={() => {}}><XDSTabvalue="inbox"label="Inbox"endContent={<XDSBadge label="3" variant="info" />}/></XDSTabList>);}