UNPKG

@deepdub/react-arborist

Version:
60 lines (59 loc) 2.28 kB
import { BoolFunc } from "./utils"; import * as handlers from "./handlers"; import * as renderers from "./renderers"; import { ElementType, MouseEventHandler } from "react"; import { ListOnScrollProps } from "react-window"; import { NodeApi } from "../interfaces/node-api"; import { OpenMap } from "../state/open-slice"; import { useDragDropManager } from "react-dnd"; export interface TreeProps<T> { data?: readonly T[]; initialData?: readonly T[]; onCreate?: handlers.CreateHandler<T>; onMove?: handlers.MoveHandler<T>; onRename?: handlers.RenameHandler<T>; onDelete?: handlers.DeleteHandler<T>; children?: ElementType<renderers.NodeRendererProps<T>>; renderRow?: ElementType<renderers.RowRendererProps<T>>; renderDragPreview?: ElementType<renderers.DragPreviewProps>; renderCursor?: ElementType<renderers.CursorProps>; renderContainer?: ElementType<{}>; rowHeight?: number; rowHitAreaHeight?: number; disableReorder?: boolean; overscanCount?: number; width?: number | string; height?: number; indent?: number; paddingTop?: number; paddingBottom?: number; padding?: number; childrenAccessor?: string | ((d: T) => readonly T[] | null); idAccessor?: string | ((d: T) => string); openByDefault?: boolean; selectionFollowsFocus?: boolean; disableMultiSelection?: boolean; disableEdit?: string | boolean | BoolFunc<T>; disableDrag?: string | boolean | BoolFunc<T>; disableDrop?: string | boolean | ((args: { parentNode: NodeApi<T>; dragNodes: NodeApi<T>[]; index: number; }) => boolean); ignoreDropsOutside?: boolean; onActivate?: (node: NodeApi<T>) => void; onSelect?: (nodes: NodeApi<T>[]) => void; onScroll?: (props: ListOnScrollProps) => void; onToggle?: (id: string) => void; onFocus?: (node: NodeApi<T>) => void; selection?: string; initialOpenState?: OpenMap; searchTerm?: string; searchMatch?: (node: NodeApi<T>, searchTerm: string) => boolean; className?: string | undefined; rowClassName?: string | undefined; dndRootElement?: globalThis.Node | null; onClick?: MouseEventHandler; onContextMenu?: MouseEventHandler; dndManager?: ReturnType<typeof useDragDropManager>; }