ProComponents, templates & AI tooling
HeroUI
27.7k

Chip

Small informational badges for displaying labels, statuses, and categories

Usage

import { Chip } from '@heroui/react';

Anatomy

Plain-text children are automatically wrapped in <Chip.Label>.

<Chip>
  Label text
</Chip>

Examples

Variants

Statuses

With Icons

Customization

Tailwind CSS

Global CSS

To customize the Chip component classes, you can use the @layer components directive. Learn more.

@layer components {
  .chip {
    @apply rounded-full text-xs;
  }

  .chip__label {
    @apply font-medium;
  }

  .chip--accent {
    @apply border-accent/20;
  }

  .chip--accent .chip__label {
    @apply text-accent;
  }
}

Styling Reference

HeroUI follows the BEM methodology to ensure component variants and states are reusable and easy to customize.

CSS Classes

The Chip component uses these CSS classes (View source styles):

Base Classes

  • .chip - Base chip container styles
  • .chip__label - Label text slot styles

Color Classes

  • .chip--accent - Accent color variant
  • .chip--danger - Danger color variant
  • .chip--default - Default color variant
  • .chip--success - Success color variant
  • .chip--warning - Warning color variant

Variant Classes

  • .chip--primary - Primary variant with filled background
  • .chip--secondary - Secondary variant with border
  • .chip--tertiary - Tertiary variant with transparent background
  • .chip--soft - Soft variant with lighter background

Size Classes

  • .chip--sm - Small size
  • .chip--md - Medium size (default)
  • .chip--lg - Large size

Compound Variant Classes

Chips support combining variant and color classes (e.g., .chip--secondary.chip--accent). The following combinations have default styles defined:

Primary Variants:

  • .chip--primary.chip--accent - Primary accent combination with filled background
  • .chip--primary.chip--success - Primary success combination with filled background
  • .chip--primary.chip--warning - Primary warning combination with filled background
  • .chip--primary.chip--danger - Primary danger combination with filled background

Soft Variants:

  • .chip--accent.chip--soft - Soft accent combination with lighter background
  • .chip--success.chip--soft - Soft success combination with lighter background
  • .chip--warning.chip--soft - Soft warning combination with lighter background
  • .chip--danger.chip--soft - Soft danger combination with lighter background

Note: You can apply custom styles to any variant-color combination (e.g., .chip--secondary.chip--accent, .chip--tertiary.chip--success) using the @layer components directive in your CSS.

API Reference

Chip

PropTypeDefaultDescription
childrenReact.ReactNode-Content to display inside the chip
classNamestring-Additional CSS classes for the root element
color"default" | "accent" | "success" | "warning" | "danger""default"Color variant of the chip
variant"primary" | "secondary" | "tertiary" | "soft""secondary"Visual style variant
size"sm" | "md" | "lg""md"Size of the chip

Chip.Label

PropTypeDefaultDescription
childrenReact.ReactNode-Label text content
classNamestring-Additional CSS classes for the label slot

On this page