Menu
Esc
DocsGitHub TR

Components

Chips

A compact pill for filters, choices and entered values. It can toggle, show a key and be removed.

Open in Figma

Playground

Figma variant

💅 Style=Default
👕 Size=Medium
Select=False
Show Icon=False
Show Icon (R)=False
Key=False
Remove=False

Variants

Five tones. Unselected chips use the soft tone with shade text; selected chips use the tone with its on-color. Default turns primary soft when selected.

DefaultPrimarySuccessErrorWarning
DefaultPrimarySuccessErrorWarning

Sizes

Medium and Small use the body text, Tiny the small text, Micro the footnote.

MediumSmallTinyMicro
SizeHeightPill paddingText paddingTextIcon
medium40px--space-micro--space-micro --space-smallui/text/regular20px
small32px--space-micro 6px0 --space-tinyui/text/regular16px
tiny24px0 --space-atom--space-microui/text small/regular12px
micro16px0 --space-atom--space-atom --space-microui/footnote/regular12px

Key and remove

A key part sits before the text (for filters like “Status: Active”); the remove button sits after it.

StatusActiveStatusDoneIstanbul

Tokens

StateBackgroundTextKey background / text
default--color-surface-level-3--color-foreground-high-emphasis--color-surface-level-4 / --color-foreground-high-emphasis
default selected--color-primary-soft--color-primary--color-surface-level-4 / --color-foreground-high-emphasis
{tone}--color-{tone}-soft--color-{tone}-shade--color-{tone}-shade / --color-{tone}-soft
{tone} selected--color-{tone}--color-on-{tone}--color-surface-level-4 / --color-foreground-high-emphasis

Notes from Figma

  • The key text is Neue Haas Grotesk Text Pro 14 Medium, outside the type scale and the font variable. Code uses the bold UI style of each size (ui/text/bold, ui/text small/bold, ui/footnote/bold).
  • Every selected chip keeps the neutral key (surface/level-4 with high-emphasis text), whatever its tone.
  • Figma has no hover, focus or disabled state. Code adds the primary focus ring for keyboard users.
  • The remove icon is Icon/clear, as in Figma.
  • Primary Micro unselected pads the pill 2px on all sides and the text 0 4px, while the others pad the pill 0 2px and the text 2px 4px; both come out 16px tall.

Figma to code

FigmaReact
💅 Style = Default / Primary / Success / Danger / Warningtone='default' / 'primary' / 'success' / 'error' / 'warning'
👕 Size = Medium / Small / Tiny / Microsize='medium' / 'small' / 'tiny' / 'micro'
Select = Trueselected
Key + ⮑ KeykeyLabel="…"
Show Icon / Show Icon (R)iconLeft={<Icon… />} / iconRight={<Icon… />}
Remove = TrueonRemove={…}