Inline chip for code-register text — token paths, class names, modifiers, keyboard keys — so identifiers read as identifiers everywhere prose mentions them. It states a name and never acts: the boundary against Badge is register rather than shape, and the boundary against CodeBlock is length and reading behavior. One identifier fits; a complete expression or multi-line source does not.
The chip has no axes and exactly one state — it is never hovered, focused, or clicked. Its fill is a dedicated role pair, code.bg and code.text, earned when control.bg failed the use — one ramp step off surface.canvas, it read invisible in light mode, and a chip has to read on any surface prose sits on. This page is its own proof: every token name here is one, 836 of them.
The chip sizes off its host rather than the root — 0.875em, one notch below whatever prose carries it, floored at the caption step so a dense table cell never shrinks the identifier below legibility. A chip is part of the sentence it sits in, so a fixed size read a quarter the size of display text. white-space is pinned to nowrap: an identifier that breaks across lines stops being scannable, so long paths stay whole and the line wraps around them.
A lead paragraph consumes surface.panel.
Body copy consumes surface.panel.
Dense copy consumes surface.panel.
The same chip at three host sizes — it tracks each line rather than holding one absolute size. display and line-height are pinned, so it is one height as a plain inline and as a flex child alike.
A chip names a thing the system defines.
| Verdict | Rule |
|---|---|
| Do | Use it for identifiers the system defines — token paths, class names, modifiers, keyboard keys. Prose emphasis is not code; use plain emphasis. |
| Don’t | Make it interactive — no hover, focus, or click affordance. Click-to-copy is a wrapper the host owns. |
| Don’t | Put a sentence in it. Content is one identifier; an expression longer than a path belongs in CodeBlock. |
| Don’t | Set per-instance colors: the code pair is the chip's identity on every surface. |
| Don’t | Make it a link's whole content. The chip names an identifier; the link goes to an artifact. State the name in the chip and put the link beside it. |