Transfer List

Moves one or more list items between two lists. Use when the user needs to explicitly select and assign items from a source pool to a destination.

import{ TransferList } from "@pepulux/ui"

Basic transfer list

Four arrow buttons: move all right, move selected right, move selected left, move all left.

Choices
  • Inbox
  • Starred
  • Sent mail
  • Drafts
  • Trash
  • Spam
  • Promotions
  • Updates
Chosen
  • No items

Enhanced transfer list

Select-all checkbox + item counter per list. Set enhanced to replace move-all buttons with this pattern.

Choices0/6 selected
  • Design review
  • Code review
  • QA testing
  • Deploy
  • Documentation
  • Retrospective
Chosen0/0 selected
  • No items

Pre-populated

Use defaultRight to seed items into the right list on first render.

Available
  • Inbox
  • Starred
  • Drafts
  • Spam
  • Promotions
  • Updates
Assigned
  • Sent mail
  • Trash

Disabled items

Set disabled on individual TransferItem entries. Disabled items can't be checked or moved.

Modules0/6 selected
  • Core services
  • Authentication
  • Analytics
  • Notifications
  • Reports
  • Exports
Enabled0/0 selected
  • No items

Props

PropTypeDefaultDescription
items*TransferItem[]All items across both lists.
defaultRightstring[][]IDs of items that start in the right list.
valuestring[]Controlled right-list item IDs.
onChange(ids: string[]) => voidCalled with updated right-list IDs whenever items move.
leftLabelstring"Choices"Header label for the left (source) list.
rightLabelstring"Chosen"Header label for the right (destination) list.
enhancedbooleanfalseShows select-all checkbox + selection counter instead of move-all buttons.
classNamestringExtra classes applied to the root flex wrapper.

TransferItem

Props

PropTypeDefaultDescription
id*stringUnique identifier used for move operations.
label*stringDisplay text for the item.
disabledbooleanfalsePrevents checking and moving the item.