EF
EF Design System

Input

Text inputs collect user data. They support labels, helper text, error validation, icons, and disabled states.

Default

We will never share your email.
tsx
<Input
  label="Email"
  placeholder="you@example.com"
  helperText="We will never share your email."
/>

Focused

Click the input below to see the focus glow effect.

Error

Username is already taken.
tsx
<Input
  label="Username"
  error="Username is already taken."
  value="virgil"
/>

Disabled

tsx
<Input label="API Key" disabled value="sk-***" />

With Icon Prefix

tsx
<Input
  label="Search"
  placeholder="Search components..."
  icon={<SearchIcon />}
/>

Props

PropTypeDefaultDescriptionRequired
labelstring-Label displayed above the inputNo
placeholderstring-Placeholder textNo
helperTextstring-Helper text below the inputNo
errorstring-Error message; applies red stylingNo
disabledbooleanfalseDisables the inputNo
iconReactNode-Icon rendered inside the input, before textNo
valuestring-Controlled input valueNo
onChange(value: string) => void-Change handlerNo

Usage Guidelines

  • Always provide a visible label for accessibility.
  • Use helper text for formatting hints (e.g., "Must be at least 8 characters").
  • Display error messages inline, directly below the input.
  • Use the icon prefix for semantic hints like search or email fields.