jatui

TextInput

Text input with label, floating label, error shake, and helper text

Basic usage

This field is required

Floating Label

The label sits inside the field at rest and lifts on focus or when filled. Pure CSS — no JS, no layout shift. Uses --motion-glide + --motion-fast.

This field is required

Error Shake

When error transitions from empty to set, the input shakes with a decaying oscillation. Retriggerable — click "Submit invalid" again to re-shake. Motion tokens: cubic-bezier(0.36, 0.07, 0.19, 0.97) over 450ms.

Props

PropTypeDefaultDescription
labelstring-Input label text
valuestring""Input value (bindable)
placeholderstring-Placeholder text
errorstring-Error message (triggers shake on set)
floatingLabelbooleanfalseLabel floats on focus/fill
typestring"text"HTML input type
disabledbooleanfalseDisable the input
requiredbooleanfalseMark as required
helpTextstring-Helper text below input