Skip to content

NumberField theming ​

The values listed below are exposed as --rozie-number-field-* custom properties, each with a built-in fallback, so NumberField works with zero configuration and re-skins by remapping tokens. The structural rules compile per-leaf and are not consumer-overridable.

css
:root {
  --rozie-number-field-gap: 0;
  --rozie-number-field-bg: #fff;
  --rozie-number-field-width: 4.5rem;
  --rozie-number-field-focus-ring-width: 2px;
}

Tokens ​

layout / typography ​

TokenDefault
--rozie-number-field-gap0
--rozie-number-field-fontinherit
--rozie-number-field-radius0.5rem

frame ​

TokenDefault
--rozie-number-field-bg#fff
--rozie-number-field-border-width1px
--rozie-number-field-border-colorrgba(0, 0, 0, 0.25)

the text input ​

TokenDefault
--rozie-number-field-width4.5rem
--rozie-number-field-padding0.375rem 0.5rem
--rozie-number-field-text-alignright
--rozie-number-field-font-size1rem
--rozie-number-field-colorinherit

focus ring (inset on the input) ​

TokenDefault
--rozie-number-field-focus-ring-width2px
--rozie-number-field-focus-ring-colorrgba(0, 102, 204, 0.35)

+/- stepper buttons ​

TokenDefault
--rozie-number-field-btn-size2rem
--rozie-number-field-btn-font-size1.1rem
--rozie-number-field-btn-colorinherit
--rozie-number-field-btn-bgrgba(0, 0, 0, 0.04)
--rozie-number-field-btn-hover-bgrgba(0, 0, 0, 0.08)

disabled ​

TokenDefault
--rozie-number-field-disabled-opacity0.55

Design-system bridges ​

Each package ships token presets that map NumberField's tokens onto a known design system's published CSS variables — import base.css first, then a bridge:

ts
import '@rozie-ui/number-field-react/themes/base.css';
import '@rozie-ui/number-field-react/themes/bootstrap.css';
import '@rozie-ui/number-field-react/themes/material.css';
import '@rozie-ui/number-field-react/themes/shadcn.css';

See also ​

Pre-1.0 — APIs may change between minor versions.