Text field

Input and text area inside a field with its label, description and error, all wired for assistive tech.

Only for replies.

Features

  • Input or text area with its label, description and error.
  • Focus ring and invalid state from tokens.

Use it for

  • Every form.

Installation

  1. Get runets.
    git clone https://github.com/ziyam-khan/runets
  2. Copy these files into your project, keeping their folders.
  3. Install what they use.
    pnpm add react @base-ui/react motion lucide-react
  4. Load the styles once. Bring your own base tokens, or use runets’ default theme.
    import 'runets/styles/theme.css'
    import 'runets/styles/kit.css'

Usage

import { TextField } from 'runets'

<TextField label="Email" value={v} onChange={setV} description="Only for replies." error={invalid ? 'An email needs an @.' : undefined} />

API

PropTypeWhat it does
labelstringLabel.
descriptionstringHelp below.
errorstringShown and announced when set.
multilinebooleanText area.

Accessibility

Source

The code is in src/kit/inputs.tsx in runets, MIT licensed.