Skip to content

Chip ​

A small item someone has chosen or entered, e.g. a recipient or a filter, optionally with × to remove it.

Open in Storybook to try every prop.

When to use ​

  • Showing chosen items in a row that wraps: Select's chosen options (multiple), recipients, applied filters.

When not to use ​

  • A status, count or category label: use Badge (fully rounded, bold, coloured by meaning).
  • An action: use Button.

Anatomy ​

PartRequiredNotes
containerYes4px corners (as Button and Input), 1px border, light grey fill.
leadingNoe.g. an icon.
labelYesShort text; truncates with … if the chip is narrower than its text.
removeNo× button at the right (removable).

Properties ​

PropertyTypeDefaultDescription
sizesm | mdmdSee Sizes.
removablebooleanfalseShow × (emits remove).
removeLabelstringRemoveAccessible name of ×, e.g. "Remove Ben Blissett".
removeFocusablebooleantrueWhether Tab reaches ×. Turn off only when there's another keyboard way to remove it.
disabledbooleanfalse40% opacity; × can't be pressed.

Sizes ​

SizeHeightPadding (x)GapIcon size× buttonText style
sm20px6px (2px right with ×)4px12px16px12px / 16px, regular
md24px8px (4px right with ×)4px14px20px14px / 20px, regular

States ​

StateAppearanceNotes
EnabledBlack 5% fill, black 15% border, black text.
× hovered / pressedBlack 10% / 15% fill behind the ×.
× focused2px focus ring #007FC9.Keyboard only.
Disabled40% opacity.

Spacing and layout ​

  • In a row: 4px apart (gap-1), wrapping onto more lines with 4px between them.

Accessibility ​

  • Plain text, read in place. The × is a native button named by removeLabel; always include the item ("Remove Ben Blissett"), not just "Remove".

Platform adaptation ​

PlatformImplementationDifferences
Web / desktop (Vue)Chip.vue—
iOS (SwiftUI)—Rounded rectangle label with an optional xmark button.
Android (Compose)—InputChip with a trailing close icon.

Tokens used ​

TokenUsed for
color black (5%)fill
color black (15%)border
color black (10% / 15%)× hover / pressed
color focusfocus ring

Do / Don't ​

DoDon't
Use chips for things people chose.Use chips for statuses (use Badge).
Name × after the item.Leave × as just "Remove".

Released under the PolyForm Noncommercial License 1.0.0.