primitives/@mihcm/ui·v0.21.0·stable
TransferList
Dual-pane shuttle: unassigned on the left, assigned on the right, four move buttons in the middle. Per-side filter and multi-select. Web only.
Props
The full prop API for TransferList. Same surface in web and React Native — bundlers pick the right variant via the react-native export condition.
| Prop | Type | Default | Description | Since |
|---|---|---|---|---|
items | readonly string[] | — | Universe of items. Required. | 0.4.0 |
assigned | Record<string, boolean> | — | Items in the right (assigned) pane. Required. | 0.4.0 |
onAssignedChange | (next: Record<string, boolean>) => void | — | Fired with the next assignment. Required. | 0.4.0 |
leftLabel | string | 'Available' | Title above the left pane. | 0.4.0 |
rightLabel | string | 'Assigned' | Title above the right pane. | 0.4.0 |
maxHeight | number | 220 | Max scroll height per pane in px. | 0.4.0 |
layout | 'responsive' | 'horizontal' | 'vertical' | 'responsive' | Overall pane layout. Vertical mode keeps move controls horizontal between panes. | 0.10.1 |
actionsPlacement | 'between' | 'top' | 'bottom' | 'between' | Where move controls render relative to the panes. | 0.10.1 |
allowMoveAll | boolean | true | Shows or hides the move-all controls. | 0.10.1 |
renderItem | (item, meta) => ReactNode | — | Custom row renderer for each item. | 0.10.1 |
Import
import { TransferList } from '@mihcm/ui/TransferList';