first commit
Some checks failed
Build / run (push) Has been cancelled

This commit is contained in:
maher
2025-10-29 11:42:25 +01:00
commit 703f50a09d
4595 changed files with 385164 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
import {TreeItemRenderer} from './tree-item';
import {cloneElement} from 'react';
import {TreeNode} from './tree';
interface RenderTreeProps<T extends TreeNode> {
nodes: T[];
parentNode?: T;
itemRenderer: TreeItemRenderer<T>;
level?: number;
}
export function renderTree<T extends TreeNode>({
nodes,
itemRenderer,
parentNode,
level,
}: RenderTreeProps<T>) {
return nodes.map((node, index) => {
return cloneElement(itemRenderer(node), {
level: level == undefined ? 0 : level + 1,
index,
node,
parentNode,
key: node.id,
itemRenderer,
});
});
}