Forms /
stableInput
Text input control. 3 sizes, error state, leading/trailing icon, clearable, input group/addon, dan semua atribut native input.
Overview
Wrapper minimal di atas native input. Dukung leadingIcon/trailingIcon (icon di dalam input), prop clearable (tombol ✕), serta komposisi InputGroup + InputAddon untuk addon segmen (mis. https:// … .com). Untuk form lengkap (label, helper, error), bungkus dengan Field.
Examples
Default
Sizes
Controlled
With label (manual)
Error state
Disabled
Types
File input → pakai FileUpload
<Input type="file" /> native-nya susah di-style konsisten — pakai FileUpload (variant input setinggi field form).
With leading icon
Clearable
Password toggle (trailing icon)
Input group / addon
Props
Tokens Used
--bg-surfaceBackground input
--border-subtleBorder default
--color-primaryBorder focus + ring
--color-errorBorder + ring saat error
--radius-mdBorder radius
Accessibility
- Selalu pasangkan dengan Label via htmlFor / id untuk screen reader.
- Pakai type yang tepat (email/number/tel/url) — keyboard mobile menyesuaikan.
- Untuk error, kombinasikan dengan Field yang punya role='alert' otomatis.
- Focus ring visible (focus-visible).
- Disabled tetap fokus-able untuk screen reader navigation tapi tidak menerima input.