shadcn.io is not affiliated with official shadcn/ui
Framework
UI library
Radix UI does not include this primitive, so this page uses the Ark UI component. The visuals match the Ark UI version.
Edit user
Click the field or the edit button to change a value.
Vinicius Vicentini
@vinihvc
Installation
bunx --bun shadcn@latest add https://kit.dev/r/radix/editable.jsonAnatomy
Editable
├── EditableArea
├── EditableLabel
├── EditableInput
├── EditableInput
├── EditableEditTrigger
├── EditableSubmitTrigger
├── EditableCancelTrigger
└── EditableControlUsage
import { CheckIcon, XIcon } from "lucide-react";
import { Button } from "@/components/ui/button";
import {
Card,
CardContent,
CardHeader,
} from "@/components/ui/card";
import {
Editable,
EditableArea,
EditableCancelTrigger,
EditableControl,
EditableInput,
EditablePreview,
EditableSubmitTrigger,
} from "@/components/ui/editable";
import {
Field,
FieldGroup,
FieldLabel,
} from "@/components/ui/field";
import { Input } from "@/components/ui/input";<Card className="w-full max-w-sm">
<CardHeader
description="Click in the field or edit button to start editing"
title="Edit user"
/>
<CardContent>
<FieldGroup>
<Field>
<FieldLabel>Name</FieldLabel>
<Editable defaultValue="Vinicius Vicentini">
<EditableArea>
<EditableInput asChild>
<Input className="w-full" />
</EditableInput>
<EditablePreview />
</EditableArea>
<EditableControl>
<EditableCancelTrigger asChild>
<Button size="icon-md" variant="outline">
<XIcon />
</Button>
</EditableCancelTrigger>
<EditableSubmitTrigger asChild>
<Button size="icon-md" variant="outline">
<CheckIcon />
</Button>
</EditableSubmitTrigger>
</EditableControl>
</Editable>
</Field>
<Field>
<FieldLabel>Username</FieldLabel>
<Editable defaultValue="@vinihvc">
<EditableArea>
<EditableInput asChild>
<Input />
</EditableInput>
<EditablePreview />
</EditableArea>
<EditableControl>
<EditableCancelTrigger asChild>
<Button size="icon-md" variant="outline">
<XIcon />
</Button>
</EditableCancelTrigger>
<EditableSubmitTrigger asChild>
<Button size="icon-md" variant="outline">
<CheckIcon />
</Button>
</EditableSubmitTrigger>
</EditableControl>
</Editable>
</Field>
</FieldGroup>
</CardContent>
</Card>
Accessibility
| Key | Description |
|---|---|
Escape | Cancel. |
Enter | Activate the focused item. |
Space | Activate the focused control. |
Demos
Activation Click
Activation Focus
Activation None
Controlled
Dblclick
Orientation Horizontal
Orientation Vertical
Size Lg
Size Md
Size Sm
With Textarea
Without Controls
API Reference
Editable
div
PropType
AttributeType
EditableArea
div
PropType
AttributeType
EditablePreview
span
PropType
AttributeType
EditableInput
input
PropType
AttributeType
EditableEditTrigger
button
PropType
AttributeType
EditableSubmitTrigger
button
PropType
AttributeType
EditableCancelTrigger
button
PropType
AttributeType
EditableControl
div
PropType
AttributeType
useEditable
PropType
EditableContext
PropType