Sortable Types
Types for sortable list configuration, events, and handles.
SortableReorderEvent<T>
Fired when items are reordered.
interface SortableReorderEvent<T> {
data: T[]; // The reordered array
fromIndex: number; // Original position
toIndex: number; // New position
fromItem: T; // The moved item
toItem: T; // The displaced item
isExternalDrag: boolean; // Was the drag from outside this list
}
SortableDragStartEvent<T>
interface SortableDragStartEvent<T> {
index: number;
item: T;
}
SortableDragPositionChangeEvent<T>
interface SortableDragPositionChangeEvent<T> {
index: number;
item: T;
toIndex: number | undefined;
previousIndex: number | undefined;
}
SortableDragEndEvent<T>
interface SortableDragEndEvent<T> {
index: number;
item: T;
toIndex: number | undefined;
cancelled: boolean;
}
SortableReorderStrategy
type SortableReorderStrategy = 'insert' | 'swap';
SortableAnimationConfig
type SortableAnimationConfig = SortableAnimationPreset | SortableAnimationCustomConfig;
SortableAnimationPreset
type SortableAnimationPreset = 'default' | 'spring' | 'gentle' | 'snappy' | 'none';
SortableAnimationCustomConfig
interface SortableAnimationCustomConfig {
shiftDuration?: number; // default: 200
useSpring?: boolean; // default: false
springDamping?: number; // default: 15
springStiffness?: number; // default: 150
springMass?: number; // default: 1
}
DropIndicatorProps
Props for renderDropIndicator on SortableContainer.
interface DropIndicatorProps {
visible: boolean;
horizontal: boolean;
}
CollisionAlgorithm
type CollisionAlgorithm = 'center' | 'intersect' | 'contain';