Skip to main content

Event Data Types

Types for the data passed to drag, receiver, and monitor callback props.

DraxEventViewData

Base data about a view in a Drax event.

interface DraxEventViewData {
id: string;
parentId?: string;
payload: unknown;
measurements?: DraxViewMeasurements;
}

DraxEventDraggedViewData

Extended data about the dragged view.

interface DraxEventDraggedViewData extends DraxEventViewData {
dragTranslationRatio: Position;
dragOffset: Position;
grabOffset: Position;
grabOffsetRatio: Position;
hoverPosition: Position;
}

DraxEventReceiverViewData

Extended data about the receiver view.

interface DraxEventReceiverViewData extends DraxEventViewData {
receiveOffset: Position;
receiveOffsetRatio: Position;
}

DraxDragEventData

Data for drag callbacks (onDragStart, onDrag).

interface DraxDragEventData {
dragAbsolutePosition: Position;
dragTranslation: Position;
dragged: DraxEventDraggedViewData;
}

DraxDragEndEventData

Data for onDragEnd.

interface DraxDragEndEventData extends DraxDragEventData {
cancelled: boolean;
}

DraxDragWithReceiverEventData

Data for callbacks involving a receiver (onDragEnter, onDragOver, onDragExit, onDragDrop, onReceiveDragEnter, etc.).

interface DraxDragWithReceiverEventData extends DraxDragEventData {
receiver: DraxEventReceiverViewData;
}

DraxDragWithReceiverEndEventData

Data for onReceiveDragExit.

interface DraxDragWithReceiverEndEventData extends DraxDragWithReceiverEventData {
cancelled: boolean;
}

DraxMonitorEventData

Data for monitor callbacks.

interface DraxMonitorEventData extends DraxDragEventData {
receiver?: DraxEventReceiverViewData;
monitorOffset: Position;
monitorOffsetRatio: Position;
}

DraxMonitorEndEventData

Data for onMonitorDragEnd.

interface DraxMonitorEndEventData extends DraxMonitorEventData {
cancelled: boolean;
}

DraxMonitorDragDropEventData

Data for onMonitorDragDrop.

interface DraxMonitorDragDropEventData extends Required<DraxMonitorEventData> {}

The receiver field is always present (not optional).

DraxProtocolDragEndResponse

Return type for drag end/drop callbacks that can override snap behavior.

type DraxProtocolDragEndResponse = void | DraxSnapbackTarget;

Return a Position to snap to that point, DraxSnapbackTargetPreset.None to skip snap, or undefined/void for default behavior.