dnd-kit-sortable-tree
Version:
[](https://www.npmjs.org/package/dnd-kit-sortable-tree) [](https://www.npmjs.org/package/dnd-kit-sortable-tree) [ • 1.76 kB
TypeScript
import type { FlattenedItem, TreeItem, TreeItems } from './types';
import { UniqueIdentifier } from '@dnd-kit/core';
export declare const iOS: boolean;
export declare function getProjection<T>(items: FlattenedItem<T>[], activeId: UniqueIdentifier | null, overId: UniqueIdentifier | null, dragOffset: number, indentationWidth: number, keepGhostInPlace: boolean, canRootHaveChildren?: boolean | ((dragItem: FlattenedItem<T>) => boolean)): {
depth: number;
parentId: UniqueIdentifier | null;
parent: FlattenedItem<T> | null;
isLast: boolean;
} | null;
export declare function flattenTree<T extends Record<string, any>>(items: TreeItems<T>): FlattenedItem<T>[];
export declare function buildTree<T extends Record<string, any>>(flattenedItems: FlattenedItem<T>[]): TreeItems<T>;
export declare function findItem<T>(items: TreeItem<T>[], itemId: UniqueIdentifier): TreeItem<T> | undefined;
export declare function findItemDeep<T extends Record<string, any>>(items: TreeItems<T>, itemId: UniqueIdentifier): TreeItem<T> | undefined;
export declare function removeItem<T extends Record<string, any>>(items: TreeItems<T>, id: string): TreeItem<T>[];
export declare function setProperty<TData extends Record<string, any>, T extends keyof TreeItem<TData>>(items: TreeItems<TData>, id: string, property: T, setter: (value: TreeItem<TData>[T]) => TreeItem<TData>[T]): TreeItem<TData>[];
export declare function getChildCount<T extends Record<string, any>>(items: TreeItems<T>, id: UniqueIdentifier): number;
export declare function removeChildrenOf<T>(items: FlattenedItem<T>[], ids: UniqueIdentifier[]): FlattenedItem<T>[];
export declare function getIsOverParent<T>(parent: FlattenedItem<T> | null, overId: UniqueIdentifier): boolean;