Search

Search the site

All components

Physics List

Headless sortable list with velocity-aware drag inertia, proximity collision displacement, stack compression, semantic motion presets, and full keyboard reordering.

Default
Weighted preset with proximity collision and keyboard sort (↑↓, Space, Escape).

Today's focus

1/6 completed · ↑↓ focus · Space to reorder

Sign in to view this example's source code.

Sign in
Stack mode
Inertial preset with compressed stack separation and depth scaling.

Today's focus

1/6 completed · ↑↓ focus · Space to reorder

Sign in to view this example's source code.

Sign in
Magnetic collision
Stronger neighbor push field for magnetic-style displacement.

Today's focus

1/6 completed · ↑↓ focus · Space to reorder

Sign in to view this example's source code.

Sign in

Props

NameTypeDefaultDescription
items / onReorderT[] / (items: T[]) => voidRequiredControlled list data and reorder callback
getItemId(item: T) => stringRequiredStable key extractor for each row
renderItem(item, state) => ReactNodeRequiredRow renderer; state includes index, dragging, keyboardGrabbed
dragHandleReactNodeundefined (built-in grip)Custom grip element; use showDragHandle={false} to hide
presetPhysicsMotionPreset"weighted"soft | weighted | responsive | elastic | inertial motion tokens
collision"proximity" | "magnetic" | "none""proximity"Neighbor displacement field during drag
stackbooleanfalseCompressed card-stack layout with depth scaling
classNames{ list?: string; item?: string }undefinedOptional class names for the list and row shells
disabledbooleanfalseDisables drag and keyboard pickup