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

Button

A button component that triggers user actions.

View in Storybook

Import

Usage

Variants

Colors

Sizes

With Icons

Full Width

Disabled

Render as Link

Visit

Props

children?
Type: ReactNode
Default: -
color?
Type: 'primary'|'secondary'|'base'
Default: 'primary'
endIcon?
Type: ReactNode
Default: -
fullWidth?
Type: boolean
Default: false
isActive?
Type: boolean
Default: false
onAction?
Type:
() => void | Promise<void>
Default: -
renderItem?
Type: (props: { className: string; children: ReactNode }) => ReactNode
Default: -
size?
Type: 'sm'|'md'|'lg'
Default: 'md'
startIcon?
Type: ReactNode
Default: -
type?
Type: 'button'|'submit'
Default: 'button'
variant?
Type: 'solid'|'outline'|'skeleton'
Default: 'solid'
PropTypeDefault
children?ReactNode-
color?'primary'|'secondary'|'base''primary'
endIcon?ReactNode-
fullWidth?booleanfalse
isActive?booleanfalse
onAction?() => void | Promise<void>-
renderItem?(props: { className: string; children: ReactNode }) => ReactNode

Type base (some attrs are managed internally): ComponentPropsWithRef<'button'>

-
size?'sm'|'md'|'lg''md'
startIcon?ReactNode-
type?'button'|'submit''button'
variant?'solid'|'outline'|'skeleton''solid'
import { Button } from '@k8ordo/ui';
<Button variant="solid" color="primary">
  Click me
</Button>
<Button variant="solid">Solid</Button>
<Button variant="outline">Outline</Button>
<Button variant="skeleton">Skeleton</Button>
<Button color="primary">Primary</Button>
<Button color="secondary">Secondary</Button>
<Button color="base">Base</Button>
<Button size="sm">Small</Button>
<Button size="md">Medium</Button>
<Button size="lg">Large</Button>
import { MailIcon, ChevronIcon } from '@k8ordo/ui';

<Button startIcon={<MailIcon size="sm" />}>
  Send Email
</Button>
<Button endIcon={<ChevronIcon direction="right" size="sm" />}>
  Next
</Button>
<Button fullWidth>Full Width Button</Button>
<Button disabled>Disabled</Button>
<Button
  renderItem={({ className, children }) => (
    <a className={className} href="https://example.com">
      {children}
    </a>
  )}
>
  Visit
</Button>