UNPKG

dnd-kit-sortable-tree-eshaffer

Version:

This is a Tree component extracted from [dndkit](https://github.com/clauderic/dnd-kit) examples and abstracted a bit. Here's how it could look like (visuals are completely customizable via css though) [![img.png](img.png)](https://shaddix.github.io/dnd-ki

20 lines (19 loc) 1.42 kB
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): { depth: number; maxDepth: number; minDepth: number; parentId: string | number | null; parent: FlattenedItem<T> | null; isLast: boolean; } | null; export declare function flattenTree<T>(items: TreeItems<T>): FlattenedItem<T>[]; export declare function buildTree<T>(flattenedItems: FlattenedItem<T>[]): TreeItems<T>; export declare function findItem<T>(items: TreeItem<T>[], itemId: UniqueIdentifier): TreeItem<T> | undefined; export declare function findItemDeep<T>(items: TreeItems<T>, itemId: UniqueIdentifier): TreeItem<T> | undefined; export declare function removeItem<T>(items: TreeItems<T>, id: string): TreeItem<T>[]; export declare function setProperty<TData, 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>(items: TreeItems<T>, id: UniqueIdentifier): number; export declare function removeChildrenOf<T>(items: FlattenedItem<T>[], ids: UniqueIdentifier[]): FlattenedItem<T>[];