Skip to main content
Radio tokens control the appearance of the Radio component in its default, error, and border variants.

Tokens

How to override

Use ThemeProvider to override component tokens for a subtree:
import { ThemeProvider } from "@servicetitan/anvil2";

<ThemeProvider
  theme={{
    component: {
      RadioDefaultCheckedForegroundColor: {
        value: "#ff0055",
        extensions: { appearance: { dark: { value: "#ff6688" } } },
      },
    },
  }}
>
  {/* children */}
</ThemeProvider>;
The -hover, -active, and -disabled variants of any token can be overridden the same way. To theme every component at once, override tier-2 semantic tokens instead — see Design Tokens.

Interactive states

Interactive state tokens follow a -hover / -active / -disabled suffix on the base token name. For example, radio.primary.background.color has siblings radio.primary.background.color-hover, ...color-active, and ...color-disabled. The table above surfaces these via the State column.
Last modified on April 21, 2026