Skip to content

Component tokens

Component tokens are named for a control (for example --catnip-button-radius) but defined on :root in @signicat/catnip-design-tokens. Themes override the same variables; component SCSS only consumes them.

For the theming rules and EndUI / whitelabel activation, see Theming — Component tokens and Theming — EndUI.

Pattern

  1. Defaults always exist on :root (Signicat look).
  2. Themes (for example EndUI) override the same CSS variables under [data-theme="…"].
  3. Use a leaf name first: button.radius--catnip-button-radius. Add a suffix only when a second value is needed (button.radius.utility--catnip-button-radius-utility).
  4. Prefer semantic color tokens for color; add component color tokens only when a control needs a mapping semantic cannot express.

Source JSON lives under packages/design-tokens/src/tokens/component/.

Shipped tokens

TokenDefault (:root)EndUI (data-theme="endui")Used by
--catnip-button-radiusvar(--catnip-radius-round)var(--catnip-radius-s)Button with purpose="main"

Button purpose="utility" still uses the global --catnip-radius-s scale step. A second component token (for example --catnip-button-radius-utility) is only added if a theme needs to diverge from that.

Catnip Design System by Signicat