Skip to main content

IconButton

An icon-only button for toolbar actions, close buttons, and compact UI. Requires aria-label for accessibility.

Import

import { IconButton } from '@kikumi3n/ui';

Usage

<IconButton icon={<TrashIcon />} aria-label="Delete item" />
<IconButton icon={<EditIcon />} aria-label="Edit" variant="secondary" />
<IconButton icon={<CloseIcon />} aria-label="Close" variant="ghost" />

Variants

VariantDefaultUsage
primaryPrimary actions
secondarySecondary actions
ghostToolbar, minimal UI
dangerDestructive actions

Sizes

<IconButton icon={<Icon />} aria-label="Action" size="sm" />
<IconButton icon={<Icon />} aria-label="Action" size="md" />
<IconButton icon={<Icon />} aria-label="Action" size="lg" />

API

PropTypeDefaultDescription
iconReactNoderequiredIcon element
variant'primary' | 'secondary' | 'ghost' | 'danger''ghost'Visual variant
size'sm' | 'md' | 'lg''md'Button size
aria-labelstringrequiredAccessible label

Also accepts all standard <button> HTML attributes.

Accessibility

  • aria-label is required — icon-only buttons have no visible text
  • Renders as native <button> element
  • Focus visible styling for keyboard navigation