@benev/slate
Version:
frontend web stuff
26 lines (25 loc) • 951 B
TypeScript
export declare class ShockDragDrop<Grabbed, Hovering> {
#private;
constructor(params: Params<Grabbed, Hovering>);
readonly dragzone: {
draggable: () => string;
dragstart: (grabbed: Grabbed) => (_: DragEvent) => void;
dragend: () => (_: DragEvent) => void;
};
readonly dropzone: {
dragenter: () => (_: DragEvent) => void;
dragleave: () => (event: DragEvent) => void;
dragover: (hovering: Hovering) => (event: DragEvent) => void;
drop: (hovering: Hovering) => (event: DragEvent) => void;
};
get grabbed(): Grabbed | undefined;
get hovering(): Hovering | undefined;
}
type Params<Grabbed, Hovering> = {
handle_drop: (event: DragEvent, grabbed: Grabbed, hovering: Hovering) => void;
out_of_band?: {
predicate: (event: DragEvent, hovering: Hovering) => boolean;
handle_drop: (event: DragEvent, hovering: Hovering) => void;
};
};
export {};