Uiplex

Input

Form input components with validation support, multiple sizes, and variants. Works seamlessly with FormControl for form state management.

Basic Usage

import { Input } from 'uiplex';

<Input placeholder="Enter your name" />
<Input type="email" placeholder="Enter your email" />
<Input type="password" placeholder="Enter your password" />

Sizes

<Input size="sm" placeholder="Small input" />
<Input size="md" placeholder="Medium input" />
<Input size="lg" placeholder="Large input" />

Variants

<Input variant="outline" placeholder="Outline" />
<Input variant="filled" placeholder="Filled" />
<Input variant="unstyled" placeholder="Unstyled" />

With FormControl

import { Input, FormControl, FormLabel, FormErrorMessage } from 'uiplex';

<FormControl isInvalid={hasError} isRequired id="email-field">
  <FormLabel>Email Address</FormLabel>
  <Input
    type="email"
    placeholder="Enter your email"
    value={email}
    onChange={(e) => setEmail(e.target.value)}
  />
  <FormErrorMessage>Email is required</FormErrorMessage>
</FormControl>

States

<Input placeholder="Normal input" />
<Input isDisabled placeholder="Disabled input" />
<Input isReadOnly placeholder="Read only" value="Read only value" />
<Input isInvalid placeholder="Invalid input" />

Textarea

import { Textarea } from 'uiplex';

<Textarea placeholder="Enter your message" rows={4} />
<Textarea size="sm" placeholder="Small textarea" rows={3} />
<Textarea variant="filled" placeholder="Filled textarea" />

API Reference

PropTypeDefaultDescription
size"sm" | "md" | "lg""md"Size of the input
variant"outline" | "filled" | "unstyled""outline"Visual style variant
isInvalidbooleanfalseWhether the input is invalid
isDisabledbooleanfalseWhether the input is disabled
isReadOnlybooleanfalseWhether the input is read-only
classNamestring""Additional CSS classes
styleReact.CSSProperties-Inline styles
...propsReact.InputHTMLAttributes-All standard HTML input attributes