Transfer list
Move typed items between available and selected collections without losing keyboard focus or semantic identity.
Overview
Move typed items between available and selected collections without losing keyboard focus or semantic identity.
Installation
npx @mwillbanks/tuil add transfer-listThe CLI writes source-owned components beneath the destination configured in
tuil.config.ts; the default import below assumes src/components/tuil.
Loading executable example…
Components and subcomponents
| API | Signature | Description |
|---|---|---|
TransferList | function TransferList | Public function TransferList. |
Interaction
Arrow keys navigate, Space selects, and Tab changes the active collection.
API and events
onValueChange receives the selected item set.
Every interactive component publishes semantic roles, labels, state, and focus
identity through the renderer's SemanticRegistry. Callback failures flow to
the owning application's error boundary.
Example
import type { ComponentProps } from "react";
import { TransferList } from "@/components/tuil/forms/transfer-list";
export function Example(props: ComponentProps<typeof TransferList>) {
return <TransferList {...props} />;
}Registry-installed components are source-owned: customize the generated file in your application, and use the package reference for the shared runtime contracts.