easemob-chat-uikit
Version:
   ![GitHub last c
45 lines (44 loc) • 961 B
TypeScript
/// <reference types="react" />
interface DraggableState {
isDragging: boolean;
dragOffset: {
x: number;
y: number;
};
}
interface DraggableOptions {
enabled?: boolean;
resizableEnabled?: boolean;
onDragStart?: (startPosition: {
x: number;
y: number;
}) => void;
onDrag?: (newPosition: {
x: number;
y: number;
}, delta: {
x: number;
y: number;
}) => void;
onDragEnd?: (finalPosition: {
x: number;
y: number;
}) => void;
containerRef?: React.RefObject<HTMLElement>;
dragHandle?: string;
getCurrentPosition?: () => {
left: number;
top: number;
};
}
export declare const useDraggable: (options?: DraggableOptions) => {
state: DraggableState;
isDragging: boolean;
dragOffset: {
x: number;
y: number;
};
hasDragged: boolean;
justFinishedDrag: boolean;
};
export {};