Vesture

Inputs

TransferListNew in 0.8.0

Dual listbox for moving items between “available” and “selected”, with search, grouping and bulk actions.

TransferList

Preview

Available permissions6
  • Content
  • Team
  • Admin
Granted1
  • Content

Granted: read · Double-click a row to move it.

Usage

tsx
import { TransferList } from "@vesture/react";

<TransferList
  items={[{ key: "read", label: "Read" }, { key: "write", label: "Write" }]}
  value={granted}
  onChange={setGranted}
  titles={["Available permissions", "Granted"]}
/>

Props

PropTypeDefaultDescription
items{ key; label; disabled?; group? }[]—Required.
value / defaultValue / onChangestring[]—Keys currently in the target list (order is preserved).
titles[string, string]["Available", "Selected"]Panel titles.
searchable / filterItemboolean / functiontrueSearch box and custom matching.
renderItem(item) => ReactNode—Custom row content.
maxTargetnumber—Cap the selected list.
listHeight / doubleClickMoves / emptyTextnumber / boolean / [ReactNode, ReactNode]240 / trueLayout and copy.