Menu

Icon button

Compact icon actions. 6 variants × 3 sizes × 5 states.

Installation

$ npx uix-ui@latest add icon-button

This copies the file into components/ui/icon-button.tsx in your project. npx shadcn@latest add @uix/icon-button works too.

Usage

icon-button.tsx
import { IconButton } from "@/components/ui/icon-button";

<IconButton aria-label="Search the menu" variant="outline"><Search /></IconButton>

Examples

Variants

Props

PropTypeDefaultDescription
variantprimary | secondary | soft | outline | ghost | destructive"primary"
sizesm | md | lg"md"
"aria-label"string–Icon-only buttons need an accessible name.
badgeDotbooleanfalseNotification dot on the corner.

Everything else is passed to the root element, so className, aria-* and event handlers work as usual.

Dependencies

Installed for you by the CLI.

  • class-variance-authority
  • clsx
  • tailwind-merge
  • lib/utils.ts
esc

↑↓ to navigate · ↵ to select · esc to close