Skip to content

TextField theming ​

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

css
:root {
  --rozie-text-field-width: 100%;
  --rozie-text-field-label-size: 0.875rem;
  --rozie-text-field-bg: #fff;
  --rozie-text-field-adornment-gap: 0.5rem;
}

Tokens ​

field column ​

TokenDefault
--rozie-text-field-width100%
--rozie-text-field-gap0.375rem
--rozie-text-field-fontinherit
--rozie-text-field-colorinherit

label ​

TokenDefault
--rozie-text-field-label-size0.875rem
--rozie-text-field-label-weight500
--rozie-text-field-label-colorinherit

control box ​

TokenDefault
--rozie-text-field-bg#fff
--rozie-text-field-border-width1px
--rozie-text-field-border-colorrgba(0, 0, 0, 0.25)
--rozie-text-field-radius0.5rem
--rozie-text-field-padding-x0.75rem
--rozie-text-field-padding-y0.5rem
--rozie-text-field-line-height1.5
--rozie-text-field-placeholder-colorrgba(0, 0, 0, 0.45)
--rozie-text-field-resizevertical

prefix / suffix adornments ​

TokenDefault
--rozie-text-field-adornment-gap0.5rem
--rozie-text-field-adornment-colorrgba(0, 0, 0, 0.55)

focus ​

TokenDefault
--rozie-text-field-focus-color#2563eb
--rozie-text-field-focus-ringrgba(37, 99, 235, 0.25)
--rozie-text-field-focus-ring-width3px

invalid ​

TokenDefault
--rozie-text-field-error-color#dc2626
--rozie-text-field-error-ringrgba(220, 38, 38, 0.25)

disabled ​

TokenDefault
--rozie-text-field-disabled-bgrgba(0, 0, 0, 0.04)
--rozie-text-field-disabled-opacity0.6

description, error and counter text ​

TokenDefault
--rozie-text-field-help-size0.8125rem
--rozie-text-field-description-colorrgba(0, 0, 0, 0.6)

Design-system bridges ​

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

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

See also ​

Pre-1.0 — APIs may change between minor versions.