UNPKG

@mantine/core

Version:

React components library focused on usability, accessibility and developer experience

28 lines (27 loc) 927 B
"use client"; //#region packages/@mantine/core/src/components/Tree/flatten-tree-data/flatten-tree-data.ts function flattenTreeDataTo(acc, data, expandedState, parent, level) { for (let i = 0; i < data.length; i++) { const node = data[i]; const hasLoadedChildren = Array.isArray(node.children); const hasAsyncChildren = !!node.hasChildren && !hasLoadedChildren; const hasChildren = hasLoadedChildren || hasAsyncChildren; const expanded = expandedState[node.value] || false; acc.push({ node, level, parent, hasChildren, expanded }); if (expanded && hasLoadedChildren) flattenTreeDataTo(acc, node.children, expandedState, node.value, level + 1); } } function flattenTreeData(data, expandedState) { const result = []; flattenTreeDataTo(result, data, expandedState, null, 1); return result; } //#endregion exports.flattenTreeData = flattenTreeData; //# sourceMappingURL=flatten-tree-data.cjs.map