UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

32 lines (31 loc) 1.28 kB
import type { TreeDragDropPayload } from './move-tree-node/move-tree-node'; import type { TreeDragState, TreeNodeData } from './Tree'; export type TreeAllowDrop = (payload: TreeDragDropPayload) => boolean; interface UseTreeNodeDragDropInput { nodeValue: string; hasChildren: boolean; isExpanded: boolean; data: TreeNodeData[]; onDragDrop: ((payload: TreeDragDropPayload) => void) | undefined; dragStateRef: React.RefObject<TreeDragState>; allowDrop: TreeAllowDrop | undefined; withDragHandle: boolean | undefined; } export interface TreeDragHandleProps { onMouseDown: (event: React.MouseEvent) => void; } export declare function useTreeNodeDragDrop({ nodeValue, hasChildren, isExpanded, data, onDragDrop, dragStateRef, allowDrop, withDragHandle, }: UseTreeNodeDragDropInput): { readonly elementProps: {}; readonly dragHandleProps: undefined; } | { elementProps: { draggable: boolean; onDragStart: (event: React.DragEvent) => void; onDragOver: (event: React.DragEvent) => void; onDragLeave: (event: React.DragEvent) => void; onDrop: (event: React.DragEvent) => void; onDragEnd: (event: React.DragEvent) => void; }; dragHandleProps: TreeDragHandleProps | undefined; }; export {};