rsuite
Version:
A suite of react components
28 lines (27 loc) • 948 B
TypeScript
import { MouseEventHandler } from 'react';
import { Collection, ManagedItem } from './useManager';
export interface MovedItemInfo {
collection: Collection;
node: HTMLElement;
newIndex: number;
oldIndex: number;
}
export type SortConfig = {
autoScroll?: boolean;
pressDelay?: number;
transitionDuration?: number;
onSortStart?(payload?: MovedItemInfo, event?: MouseEvent): void;
onSortMove?(payload?: MovedItemInfo, event?: MouseEvent): void;
onSortEnd?(payload?: MovedItemInfo, event?: MouseEvent): void;
onSort?(payload?: MovedItemInfo, event?: MouseEvent): void;
};
declare const useSortHelper: (config: SortConfig) => {
handleStart: MouseEventHandler<Element>;
handleEnd: MouseEventHandler<Element>;
containerRef: import("react").RefObject<HTMLDivElement>;
sorting: boolean;
register: (item: ManagedItem) => {
unregister: () => void;
};
};
export default useSortHelper;