k8ordo
  • UI
  • Form
  • State
  • Router
  • Static
  • Server
Switch to dark mode
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AI
Open navigation
Buttons
  • Button
  • IconButton
Navigation
  • Anchor
  • Tabs
  • Breadcrumb
  • Pagination
Forms
  • TextField
  • Textarea
  • NumberField
  • Select
  • Checkbox
  • CheckboxCard
  • CheckboxGroup
  • Switch
  • PasswordInput
  • Radio
  • RadioCard
  • Autocomplete
  • Slider
  • FileField
  • FormControl
  • Form
Data Display
  • Accordion
  • Avatar
  • Badge
  • Card
  • Code
  • Table
  • Heading
Feedback
  • Alert
  • Skeleton
  • Spinner
  • Toast
  • Progress
Overlays
  • Dialog
  • Drawer
  • Modal
  • Popover
  • DropdownMenu
  • Tooltip
  • ListBox
Layout
  • Stack
  • Grid
  • Separator
  • ScrollLinked
Media
  • Icons
k8ordo

React libraries that use Baseline features without holding back.

Packages
  • @k8ordo/ui
  • @k8ordo/form
  • @k8ordo/state
  • @k8ordo/router
  • @k8ordo/static
  • @k8ordo/server
UI
  • Get Started
  • Theming
  • i18n
  • Components
  • Hooks
  • Helpers
  • AI Chat
  • Generative UI
  • AI Agents
  • Storybook
Resources
  • GitHub
  • npm

© 2026 k8o — MIT License

Typeset in Noto Sans JP & M PLUS 2

Components

Buttons
  • Button
  • IconButton
Navigation
  • Anchor
  • Tabs
  • Breadcrumb
  • Pagination
Forms
  • TextField
  • Textarea
  • NumberField
  • Select
  • Checkbox
  • CheckboxCard
  • CheckboxGroup
  • Switch
  • PasswordInput
  • Radio
  • RadioCard
  • Autocomplete
  • Slider
  • FileField
  • FormControl
  • Form
Data Display
  • Accordion
  • Avatar
  • Badge
  • Card
  • Code
  • Table
  • Heading
Feedback
  • Alert
  • Skeleton
  • Spinner
  • Toast
  • Progress
Overlays
  • Dialog
  • Drawer
  • Modal
  • Popover
  • DropdownMenu
  • Tooltip
  • ListBox
Layout
  • Stack
  • Grid
  • Separator
  • ScrollLinked
Media
  • Icons

Tabs

A tab switching component.

View in Storybook

Import

Usage

Overview
Settings
History

Overview content goes here.

Default Selected

Overview
Settings
History

Settings content goes here.

Props

Tabs.Root

ids
Type: [string, ...string[]]
Default: -
children?
Type: ReactNode
Default: -
defaultSelectedId?
Type: string|null
Default: null
onChange?
Type: (id: string) => void
Default: -
selectedId?
Type: string
Default: -
PropTypeDefault
ids[string, ...string[]]-
children?ReactNode-
defaultSelectedId?string|nullnull
onChange?(id: string) => void-
selectedId?string-

Tabs.List

label
Type: string
Default: -
children?
Type: ReactNode
Default: -
PropTypeDefault
labelstring-
children?ReactNode-

Tabs.Tab

id
Type: string
Default: -
children?
Type: ReactNode
Default: -
PropTypeDefault
idstring-
children?ReactNode-

Tabs.Panel

id
Type: string
Default: -
children?
Type: ReactNode
Default: -
PropTypeDefault
idstring-
children?ReactNode-
import { Tabs } from '@k8ordo/ui';
<Tabs.Root ids={['overview', 'settings', 'history']}>
  <Tabs.List label="Navigation">
    <Tabs.Tab id="overview">Overview</Tabs.Tab>
    <Tabs.Tab id="settings">Settings</Tabs.Tab>
    <Tabs.Tab id="history">History</Tabs.Tab>
  </Tabs.List>
  <Tabs.Panel id="overview">
    <p>Overview content goes here.</p>
  </Tabs.Panel>
  <Tabs.Panel id="settings">
    <p>Settings content goes here.</p>
  </Tabs.Panel>
  <Tabs.Panel id="history">
    <p>History content goes here.</p>
  </Tabs.Panel>
</Tabs.Root>
<Tabs.Root
  defaultSelectedId="settings"
  ids={['overview', 'settings', 'history']}
>
  <Tabs.List label="Navigation">
    <Tabs.Tab id="overview">Overview</Tabs.Tab>
    <Tabs.Tab id="settings">Settings</Tabs.Tab>
    <Tabs.Tab id="history">History</Tabs.Tab>
  </Tabs.List>
  <Tabs.Panel id="overview">
    <p>Overview content goes here.</p>
  </Tabs.Panel>
  <Tabs.Panel id="settings">
    <p>Settings content goes here.</p>
  </Tabs.Panel>
  <Tabs.Panel id="history">
    <p>History content goes here.</p>
  </Tabs.Panel>
</Tabs.Root>