TransferList
v1.0.8Updated 27 Aug 2026Two parallel lists with move (→ ←) buttons, drag-and-drop reorder, optional search and sort. Use to assign / unassign items between an "available" and "selected" pool.
Preview
Live · 10 stories▸Why this is recommendedformtransferdual-listmove+3
The default, out-of-the-box TransferList.
- ✓Permissions assignment
- ✓Team-member picker
- ✓Column visibility editor
- ✓Tag picker for large pools
- Two parallel selectable lists
- Move single / move all buttons
- Drag-and-drop reorder (dnd-kit)
- Search filter per side
- Sort per side
- Custom item renderer
- Data states — loading (skeleton in both panels) and error (role="alert" replacing the body with a caller-supplied message + Retry, taking precedence over loading/empty)
- i18n: labels prop overrides every built-in string (move buttons, counts, sort, search, empty + error states)
- ✕Small choice sets (use Combobox / Select)
- ✕Free-text entry
Install
Ask your agent, or call the MCP tool directly. The resolved bundle is written into your project.
Usage
Tick variants in the left menu — each adds a tab with that variant’s real story source, the same code the preview above renders.
Props
availableThe "available" (unselected) pool
yesselectedThe "selected" pool
yesonChangeFired with the two new pools after any move/reorder
yesavailableTitleHeading over the available panel
—selectedTitleHeading over the selected panel
—searchableShow search per side
—sortableShow sort per side
—enableDragDropEnable drag-and-drop reorder within/between panels (dnd-kit)
—itemRendererCustom row renderer
—heightPanel body height in px
—loadingShow a loading skeleton in both panel bodies while the pools are being fetched (available/selected untouched)
—errorError state: replaces the whole two-panel body with a single role="alert" + aria-live region (a fetch that should populate the pools failed). true = default localized message; a ReactNode = custom message + Retry. Takes precedence over loading and empty
—labelsOverride any built-in UI string — move-button arias/tooltips, count line, sort chrome, search placeholder, empty + error messages (i18n). Merged over DEFAULT_TRANSFER_LIST_LABELS; {token} templates
—