# Settings Controls
Load `theme-system` for button/icon/color contracts and `locale-ui-patterns` for every visible or accessible string.
## Choosing A Control
- Short chip-like option set: shared `Button variant="chip" size="xs"` with `aria-pressed`.
- Explicit mutually exclusive list: shared `Radio`.
- Boolean value: shared `Checkbox`, not paired show/hide buttons.
- Numeric value: shared `NumberInput`.
- Text/path value: shared `Input` plus shared actions.
Do not couple unrelated toggles beneath a synthetic heading.
## Segmented Option
```tsx
```
## Radio Row
```tsx
{t(labelKey)}
```
## Checkbox Row
```tsx
{t(labelKey)}
```
Preserve row click and keyboard behavior when the container is interactive.
## Optional Numeric Override
Empty means “inherit/default.” Provide fallback stepping and explicit clear:
```tsx
setTemperature(undefined)}
min={0}
max={2}
step={0.1}
inputMode="decimal"
emptyLabel="—"
/>
```
Keep reset adjacent. Prefer an info tooltip over persistent helper text when the explanation is secondary.
## Inputs And Icon Actions
```tsx
```
- Prefer compact inputs in dense rows.
- Avoid large select triggers in Settings.
- Use shared `Button` and sprite `Icon`, never wrapper buttons or direct Remixicon imports.
## Mobile Constraints
- `packages/ui/src/styles/mobile.css` may force `.overflow-hidden` to scroll; use explicit x/y clipping only when required.
- Touch CSS enforces minimum button height. Do not put custom segmented buttons in a container too short for them.
## Picker Rows
- Place icon/color palettes beneath their label.
- Keep option dimensions and gaps consistent.
- Use stable border/ring/background selection; avoid scale transforms that shift layout.