rsuite
Version:
A suite of react components
30 lines (29 loc) • 1.09 kB
TypeScript
import { MouseEventHandler, TouchEventHandler } 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 | TouchEvent): void;
onSortMove?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
onSortEnd?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
onSort?(payload?: MovedItemInfo, event?: MouseEvent | TouchEvent): void;
};
declare const useSortHelper: (config: SortConfig) => {
handleStart: MouseEventHandler;
handleEnd: MouseEventHandler;
handleTouchStart: TouchEventHandler;
handleTouchEnd: TouchEventHandler;
containerRef: import("react").RefObject<HTMLDivElement | null>;
sorting: boolean;
register: (item: ManagedItem) => {
unregister: () => void;
};
};
export default useSortHelper;