Navigation

Tabs for related views

Tabs switch between related panels without full route changes—settings categories, chart ranges, or docs sections. Works in React layouts and shallow Next.js client navigations when needed.

High-level metrics and health for this service.

Examples

Underline list styling with small density, then vertical orientation with slide-in panels.


Workspace name, timezone, and defaults.

Avatar, display name, and locale.

Tabs variants examples

List chrome and density come from tabsListVariants and tabsTriggerVariants; panel motion is set per TabsContent. Each snippet starts with Variant: for the row.


List variant: default | Size: md | Appearance: default

First panel content.

List variant: pills | Size: md | Appearance: default

First panel content.

List variant: underline | Size: md | Appearance: default

First panel content.

List variant: pills | Size: sm | Appearance: default

First panel content.

List variant: pills | Size: md | Appearance: default

First panel content.

List variant: pills | Size: lg | Appearance: default

First panel content.

List variant: pills | Size: md | Appearance: default

First panel content.

List variant: pills | Size: md | Appearance: sky

First panel content.

List variant: pills | Size: md | Appearance: rose

First panel content.

List variant: pills | Size: md | Appearance: purple

First panel content.

List variant: pills | Size: md | Appearance: pink

First panel content.

List variant: pills | Size: md | Appearance: orange

First panel content.

List variant: pills | Size: md | Appearance: yellow

First panel content.

List variant: pills | Size: md | Appearance: teal

First panel content.

List variant: pills | Size: md | Appearance: indigo

First panel content.

List variant: pills | Size: md | Appearance: emerald

First panel content.

List variant: pills | Size: md | Appearance: gray

First panel content.

List variant: pills | Size: md | Appearance: gradient-blue

First panel content.

List variant: pills | Size: md | Appearance: gradient-green

First panel content.

List variant: pills | Size: md | Appearance: gradient-red

First panel content.

List variant: pills | Size: md | Appearance: gradient-yellow

First panel content.

List variant: pills | Size: md | Appearance: gradient-purple

First panel content.

List variant: pills | Size: md | Appearance: gradient-teal

First panel content.

List variant: pills | Size: md | Appearance: gradient-indigo

First panel content.

List variant: pills | Size: md | Appearance: gradient-pink

First panel content.

List variant: pills | Size: md | Appearance: gradient-orange

First panel content.

What it does

Roving tabindex keeps arrow keys predictable.

Lazy-mount heavy panels until first activation when performance matters.

Composition and API

Prefer compound subcomponents instead of one oversized prop bag. Export a small, documented API for your design system.

Avoid hiding critical errors inside inactive tabs without a summary indicator.

Common use cases

  • Organize dense settings without deep routes.
  • Compare datasets across time windows.
  • Split API reference examples by language.
  • Host onboarding steps with lightweight state.

Accessibility

Keyboard order, focus rings, and ARIA attributes should match production usage. Test with your supported browsers and assistive technologies when semantics are non-trivial.

This preview page exposes a single h1 in the hero for a clean outline.

Next.js integration notes

Colocate examples under the App Router, keep server and client boundaries explicit, and avoid pulling interactive overlays into unexpected server layouts.

Set NEXT_PUBLIC_SITE_URL so canonical and Open Graph URLs resolve on deploy.

FAQ

Does the Tabs component work with Next.js App Router?

Yes. Import it like any other React component; keep interactive subtrees in client components when you need hooks or browser APIs, and leave static structure in server components where possible.

Can I customize tabs with Tailwind CSS?

Zentauri UI exposes class-friendly variants and slots so you can extend styles with Tailwind utilities without fighting inline styles.

Is this Tabs implementation accessible by default?

Primitives follow sensible defaults, but accessibility depends on how you label controls, manage focus, and wire keyboard handlers in your app. Validate critical flows with keyboard-only use and screen readers.