Transfer List
Live Editor
function TransferListDemo() { return ( <ThemeProvider> <TransferList label="Assigned repositories" description="Grant access by moving repositories into the selected column." variant="soft" tone="brand" size="md" options={[ { value: 'editora', label: 'Editora' }, { value: 'docs', label: 'Docs Portal' }, { value: 'design', label: 'Design System' } ]} value={['editora']} onValueChange={(value) => console.log(value)} /> </ThemeProvider> ); }
Result
Loading...
TransferList now follows the same design-system surface model as the stronger ui-react components. That means the shell, panels, selectable rows, and action controls all respond to shared props like variant, tone, size, radius, and elevation.
Best For
- Role and permission assignment
- Workspace or repository access mapping
- Product setups where users move items between "available" and "selected" states
Key Props
options,value,label,description,error,name,disabledvariant:surface | soft | solid | glass | contrast | minimaltone:brand | neutral | info | success | warning | dangersize:sm | md | lgselectionIndicator:checkbox | tick | noneaddActionLabel,removeActionLabelshowActionLabels,showActionCounts,showPanelCountsradius,elevationavailableLabel,selectedLabelavailableEmptyLabel,selectedEmptyLabelonChange,onValueChange
Notes
- Size presets scale the panel spacing, row density, labels, and action buttons together.
- Variants and tones affect the full transfer surface, not just the outer shell.
selectionIndicatorlets you switch between a boxed checkbox-style mark, a lighter tick-only mark, or no leading indicator.showActionLabels,showActionCounts, andshowPanelCountslet you compress the action rail when you want a tighter admin surface.- The component keeps the form-friendly
valuearray API and still works withui-form.