Sortable
Drag-and-drop sortable lists built with DnD Kit.
Item 1
Item 2
Item 3
Installation
Add the sortable component with the shadcn CLI.
npx shadcn@latest add https://yami.ui.unsanity.ai/r/sortable.jsonUsage
"use client"
import * as React from "react"
import {
Sortable,
SortableContent,
SortableItem,
SortableOverlay,
} from "@/components/ui/sortable"
export function SortableList() {
const [items, setItems] = React.useState(["Item 1", "Item 2", "Item 3"])
return (
<Sortable value={items} onValueChange={setItems}>
<SortableContent>
{items.map((item) => (
<SortableItem key={item} value={item}>
{item}
</SortableItem>
))}
</SortableContent>
<SortableOverlay />
</Sortable>
)
}Examples
Default
Item 1
Item 2
Item 3
Code
"use client"
import * as React from "react"
import {
Sortable,
SortableContent,
SortableItem,
SortableOverlay,
} from "@/components/ui/sortable"
export function SortableList() {
const [items, setItems] = React.useState(["Item 1", "Item 2", "Item 3"])
return (
<Sortable value={items} onValueChange={setItems}>
<SortableContent>
{items.map((item) => (
<SortableItem key={item} value={item}>
{item}
</SortableItem>
))}
</SortableContent>
<SortableOverlay />
</Sortable>
)
}