- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
Input
A text input component for forms and user data entry with built-in styling and accessibility features.
Installation#
pnpm add @ag/uiUsage#
import { Input } from "@ag/ui"<Input />Examples#
Basic#
Field#
Use Field, FieldLabel, and FieldDescription to create an input with a
label and description.
Field Group#
Use FieldGroup to show multiple Field blocks and to build forms.
Disabled#
Use the disabled prop to disable the input. To style the disabled state, add the data-disabled attribute to the Field component.
Invalid#
Use the aria-invalid prop to mark the input as invalid. To style the invalid state, add the data-invalid attribute to the Field component.
File#
Use the type="file" prop to create a file input.
Inline#
Use Field with orientation="horizontal" to create an inline input.
Pair with Button to create a search input with a button.
Grid#
Use a grid layout to place multiple inputs side by side.
Required#
Use the required attribute to indicate required inputs.
Badge#
Use Badge in the label to highlight a recommended field.
Input Group#
To add icons, text, or buttons inside an input, use the InputGroup component. See the Input Group component for more examples.
Button Group#
To add buttons to an input, use the ButtonGroup component. See the Button Group component for more examples.
Form#
A full form example with multiple inputs, a select, and a button.
RTL#
To enable RTL support in shadcn/ui, see the RTL configuration guide.