@bigbinary/neeto-folders-frontend 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ var Alert = require('@bigbinary/neetoui/Alert');
10
10
  var reactI18next = require('react-i18next');
11
11
  var reactRouterDom = require('react-router-dom');
12
12
  var useFolderActions = require('../useFolderActions-BSW7tGU6.js');
13
- var pathUtils = require('../pathUtils-CHuLm_t6.js');
13
+ var pathUtils = require('../pathUtils-W8cEGsHR.js');
14
14
  var jsxRuntime = require('react/jsx-runtime');
15
15
  var Pane = require('@bigbinary/neetoui/Pane');
16
16
  var react = require('react');
package/dist/cjs/utils.js CHANGED
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var pathUtils = require('../pathUtils-CHuLm_t6.js');
3
+ var pathUtils = require('../pathUtils-W8cEGsHR.js');
4
4
  require('@babel/runtime/helpers/defineProperty');
5
+ require('@bigbinary/neeto-cist');
5
6
 
6
7
 
7
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -8,7 +8,7 @@ import Alert from '@bigbinary/neetoui/Alert';
8
8
  import { useTranslation, Trans } from 'react-i18next';
9
9
  import { useHistory, Link, NavLink } from 'react-router-dom';
10
10
  import { c as useFolderStore, d as useDestroyFolder, a as useFolders, i as isActiveFolder, e as useFetchFolders, f as useCreateFolder, g as useUpdateFolder, h as getActiveFolderId, j as useReorderFolders, D as DEFAULT_CONFIG, u as useFolder, b as useFolderActions } from './useFolderActions-DdOLB5Zw.js';
11
- import { p as pathToFolder, t as treeToMap, m as measureDepth, a as mapToTree } from './pathUtils-B2uokQlx.js';
11
+ import { p as pathToFolder, t as treeToMap, m as measureDepth, a as mapToTree } from './pathUtils-DSapmYDO.js';
12
12
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
13
13
  import Pane from '@bigbinary/neetoui/Pane';
14
14
  import { forwardRef, useMemo, createElement, useState, useEffect, startTransition } from 'react';
@@ -1,4 +1,5 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { isNotPresent } from '@bigbinary/neeto-cist';
2
3
 
3
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -8,6 +9,7 @@ var _walkTree = function walkTree(tree, fn) {
8
9
  depth: 0,
9
10
  parent: null
10
11
  };
12
+ if (!tree) return;
11
13
  fn(tree, meta);
12
14
  if (tree.children) {
13
15
  tree.children.forEach(function (folder, index) {
@@ -30,6 +32,7 @@ var measureDepth = function measureDepth(tree) {
30
32
  // Convert tree to lookup table
31
33
  var treeToMap = function treeToMap(tree) {
32
34
  var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "id";
35
+ if (isNotPresent(tree)) return {};
33
36
  var roots = Array.isArray(tree) ? tree : [tree];
34
37
  var foldersMap = {};
35
38
  roots.forEach(function (root) {
@@ -71,4 +74,4 @@ var pathToFolder = function pathToFolder(folders, folderId) {
71
74
  };
72
75
 
73
76
  export { mapToTree as a, measureDepth as m, pathToFolder as p, treeToMap as t };
74
- //# sourceMappingURL=pathUtils-B2uokQlx.js.map
77
+ //# sourceMappingURL=pathUtils-DSapmYDO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathUtils-DSapmYDO.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/pathUtils.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\n\nexport const walkTree = (\n tree,\n fn,\n meta = { index: 0, depth: 0, parent: null }\n) => {\n if (!tree) return;\n\n fn(tree, meta);\n if (tree.children) {\n tree.children.forEach((folder, index) =>\n walkTree(folder, fn, { parent: tree, index, depth: meta.depth + 1 })\n );\n }\n};\n\n// Measures the maximum depth to bottom of the tree\nexport const measureDepth = tree => {\n let maxDepth = 0;\n\n walkTree(tree, (_, meta) => {\n if (meta.depth > maxDepth) maxDepth = meta.depth;\n });\n\n return maxDepth;\n};\n\n// Convert tree to lookup table\nexport const treeToMap = (tree, key = \"id\") => {\n if (isNotPresent(tree)) return {};\n\n const roots = Array.isArray(tree) ? tree : [tree];\n const foldersMap = {};\n\n roots.forEach(root => {\n walkTree(root, (folder, meta) => {\n foldersMap[folder[key]] = { ...folder, meta };\n });\n });\n\n return foldersMap;\n};\n\n// Convert result of treeToMap back to tree\nexport const mapToTree = foldersMap => {\n const map = {};\n let root;\n\n Object.values(foldersMap).forEach(item => {\n map[item.id] = { ...item, children: [] };\n });\n\n Object.values(foldersMap).forEach(item => {\n if (!item.meta.parent) root = map[item.id];\n else map[item.meta.parent.id].children.push(map[item.id]);\n });\n\n return root;\n};\n","import { treeToMap } from \"./treeUtils\";\n\nexport const pathToFolder = (folders, folderId) => {\n const path = [];\n const folderMap = treeToMap(folders);\n if (!folderMap[folderId]) return path;\n\n let current = folderMap[folderId];\n while (current) {\n path.unshift(current);\n current = current.meta?.parent;\n }\n\n return path;\n};\n"],"names":["walkTree","tree","fn","meta","arguments","length","undefined","index","depth","parent","children","forEach","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","Array","isArray","foldersMap","root","_objectSpread","mapToTree","map","Object","values","item","id","push","pathToFolder","folders","folderId","path","folderMap","current","_current$meta","unshift"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var neetoCist = require('@bigbinary/neeto-cist');
4
5
 
5
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -10,6 +11,7 @@ var _walkTree = function walkTree(tree, fn) {
10
11
  depth: 0,
11
12
  parent: null
12
13
  };
14
+ if (!tree) return;
13
15
  fn(tree, meta);
14
16
  if (tree.children) {
15
17
  tree.children.forEach(function (folder, index) {
@@ -32,6 +34,7 @@ var measureDepth = function measureDepth(tree) {
32
34
  // Convert tree to lookup table
33
35
  var treeToMap = function treeToMap(tree) {
34
36
  var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "id";
37
+ if (neetoCist.isNotPresent(tree)) return {};
35
38
  var roots = Array.isArray(tree) ? tree : [tree];
36
39
  var foldersMap = {};
37
40
  roots.forEach(function (root) {
@@ -76,4 +79,4 @@ exports.mapToTree = mapToTree;
76
79
  exports.measureDepth = measureDepth;
77
80
  exports.pathToFolder = pathToFolder;
78
81
  exports.treeToMap = treeToMap;
79
- //# sourceMappingURL=pathUtils-CHuLm_t6.js.map
82
+ //# sourceMappingURL=pathUtils-W8cEGsHR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pathUtils-W8cEGsHR.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/pathUtils.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\n\nexport const walkTree = (\n tree,\n fn,\n meta = { index: 0, depth: 0, parent: null }\n) => {\n if (!tree) return;\n\n fn(tree, meta);\n if (tree.children) {\n tree.children.forEach((folder, index) =>\n walkTree(folder, fn, { parent: tree, index, depth: meta.depth + 1 })\n );\n }\n};\n\n// Measures the maximum depth to bottom of the tree\nexport const measureDepth = tree => {\n let maxDepth = 0;\n\n walkTree(tree, (_, meta) => {\n if (meta.depth > maxDepth) maxDepth = meta.depth;\n });\n\n return maxDepth;\n};\n\n// Convert tree to lookup table\nexport const treeToMap = (tree, key = \"id\") => {\n if (isNotPresent(tree)) return {};\n\n const roots = Array.isArray(tree) ? tree : [tree];\n const foldersMap = {};\n\n roots.forEach(root => {\n walkTree(root, (folder, meta) => {\n foldersMap[folder[key]] = { ...folder, meta };\n });\n });\n\n return foldersMap;\n};\n\n// Convert result of treeToMap back to tree\nexport const mapToTree = foldersMap => {\n const map = {};\n let root;\n\n Object.values(foldersMap).forEach(item => {\n map[item.id] = { ...item, children: [] };\n });\n\n Object.values(foldersMap).forEach(item => {\n if (!item.meta.parent) root = map[item.id];\n else map[item.meta.parent.id].children.push(map[item.id]);\n });\n\n return root;\n};\n","import { treeToMap } from \"./treeUtils\";\n\nexport const pathToFolder = (folders, folderId) => {\n const path = [];\n const folderMap = treeToMap(folders);\n if (!folderMap[folderId]) return path;\n\n let current = folderMap[folderId];\n while (current) {\n path.unshift(current);\n current = current.meta?.parent;\n }\n\n return path;\n};\n"],"names":["walkTree","tree","fn","meta","arguments","length","undefined","index","depth","parent","children","forEach","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","Array","isArray","foldersMap","root","_objectSpread","mapToTree","map","Object","values","item","id","push","pathToFolder","folders","folderId","path","folderMap","current","_current$meta","unshift"],"mappings":";;;;;;;AAEO,IAAMA,SAAQ,GAAG,SAAXA,QAAQA,CACnBC,IAAI,EACJC,EAAE,EAEC;EAAA,IADHC,IAAI,GAAAC,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAG,CAAA,CAAA,GAAA;AAAEG,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,MAAM,EAAE;GAAM;EAE3C,IAAI,CAACR,IAAI,EAAE;AAEXC,EAAAA,EAAE,CAACD,IAAI,EAAEE,IAAI,CAAC;EACd,IAAIF,IAAI,CAACS,QAAQ,EAAE;IACjBT,IAAI,CAACS,QAAQ,CAACC,OAAO,CAAC,UAACC,MAAM,EAAEL,KAAK,EAAA;AAAA,MAAA,OAClCP,SAAQ,CAACY,MAAM,EAAEV,EAAE,EAAE;AAAEO,QAAAA,MAAM,EAAER,IAAI;AAAEM,QAAAA,KAAK,EAALA,KAAK;AAAEC,QAAAA,KAAK,EAAEL,IAAI,CAACK,KAAK,GAAG;AAAE,OAAC,CAAC;AAAA,KACtE,CAAC;AACH;AACF,CAAC;IAGYK,YAAY,GAAG,SAAfA,YAAYA,CAAGZ,IAAI,EAAI;EAClC,IAAIa,QAAQ,GAAG,CAAC;AAEhBd,EAAAA,SAAQ,CAACC,IAAI,EAAE,UAACc,CAAC,EAAEZ,IAAI,EAAK;IAC1B,IAAIA,IAAI,CAACK,KAAK,GAAGM,QAAQ,EAAEA,QAAQ,GAAGX,IAAI,CAACK,KAAK;AAClD,GAAC,CAAC;AAEF,EAAA,OAAOM,QAAQ;AACjB;;AAEA;IACaE,SAAS,GAAG,SAAZA,SAASA,CAAIf,IAAI,EAAiB;AAAA,EAAA,IAAfgB,GAAG,GAAAb,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AACxC,EAAA,IAAIc,sBAAY,CAACjB,IAAI,CAAC,EAAE,OAAO,EAAE;AAEjC,EAAA,IAAMkB,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACpB,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;EACjD,IAAMqB,UAAU,GAAG,EAAE;AAErBH,EAAAA,KAAK,CAACR,OAAO,CAAC,UAAAY,IAAI,EAAI;AACpBvB,IAAAA,SAAQ,CAACuB,IAAI,EAAE,UAACX,MAAM,EAAET,IAAI,EAAK;MAC/BmB,UAAU,CAACV,MAAM,CAACK,GAAG,CAAC,CAAC,GAAAO,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQZ,MAAM,CAAA,EAAA,EAAA,EAAA;AAAET,QAAAA,IAAI,EAAJA;OAAM,CAAA;AAC/C,KAAC,CAAC;AACJ,GAAC,CAAC;AAEF,EAAA,OAAOmB,UAAU;AACnB;;AAEA;IACaG,SAAS,GAAG,SAAZA,SAASA,CAAGH,UAAU,EAAI;EACrC,IAAMI,GAAG,GAAG,EAAE;AACd,EAAA,IAAIH,IAAI;EAERI,MAAM,CAACC,MAAM,CAACN,UAAU,CAAC,CAACX,OAAO,CAAC,UAAAkB,IAAI,EAAI;IACxCH,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,GAAAN,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQK,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEnB,MAAAA,QAAQ,EAAE;KAAI,CAAA;AAC1C,GAAC,CAAC;EAEFiB,MAAM,CAACC,MAAM,CAACN,UAAU,CAAC,CAACX,OAAO,CAAC,UAAAkB,IAAI,EAAI;AACxC,IAAA,IAAI,CAACA,IAAI,CAAC1B,IAAI,CAACM,MAAM,EAAEc,IAAI,GAAGG,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAAC,KACtCJ,GAAG,CAACG,IAAI,CAAC1B,IAAI,CAACM,MAAM,CAACqB,EAAE,CAAC,CAACpB,QAAQ,CAACqB,IAAI,CAACL,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAAC;AAC3D,GAAC,CAAC;AAEF,EAAA,OAAOP,IAAI;AACb;;ACzDO,IAAMS,YAAY,GAAG,SAAfA,YAAYA,CAAIC,OAAO,EAAEC,QAAQ,EAAK;EACjD,IAAMC,IAAI,GAAG,EAAE;AACf,EAAA,IAAMC,SAAS,GAAGpB,SAAS,CAACiB,OAAO,CAAC;AACpC,EAAA,IAAI,CAACG,SAAS,CAACF,QAAQ,CAAC,EAAE,OAAOC,IAAI;AAErC,EAAA,IAAIE,OAAO,GAAGD,SAAS,CAACF,QAAQ,CAAC;AACjC,EAAA,OAAOG,OAAO,EAAE;AAAA,IAAA,IAAAC,aAAA;AACdH,IAAAA,IAAI,CAACI,OAAO,CAACF,OAAO,CAAC;IACrBA,OAAO,GAAA,CAAAC,aAAA,GAAGD,OAAO,CAAClC,IAAI,MAAA,IAAA,IAAAmC,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,aAAA,CAAc7B,MAAM;AAChC;AAEA,EAAA,OAAO0B,IAAI;AACb;;;;;;;"}
package/dist/utils.js CHANGED
@@ -1,3 +1,4 @@
1
- export { p as pathToFolder } from './pathUtils-B2uokQlx.js';
1
+ export { p as pathToFolder } from './pathUtils-DSapmYDO.js';
2
2
  import '@babel/runtime/helpers/defineProperty';
3
+ import '@bigbinary/neeto-cist';
3
4
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-folders-frontend",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-folders-nano",
@@ -66,7 +66,7 @@
66
66
  "@bigbinary/neeto-filters-frontend": "4.3.16",
67
67
  "@bigbinary/neeto-icons": "1.20.31",
68
68
  "@bigbinary/neeto-molecules": "3.16.1",
69
- "@bigbinary/neetoui": "8.2.77",
69
+ "@bigbinary/neetoui": "8.2.79",
70
70
  "@emotion/is-prop-valid": "1.2.0",
71
71
  "@faker-js/faker": "8.2.0",
72
72
  "@honeybadger-io/js": "6.10.1",
@@ -174,7 +174,7 @@
174
174
  "@bigbinary/neeto-filters-frontend": "4.3.16",
175
175
  "@bigbinary/neeto-icons": "1.20.31",
176
176
  "@bigbinary/neeto-molecules": "3.16.1",
177
- "@bigbinary/neetoui": "8.2.77",
177
+ "@bigbinary/neetoui": "8.2.79",
178
178
  "@honeybadger-io/js": "6.10.1",
179
179
  "@honeybadger-io/react": "6.1.25",
180
180
  "@tailwindcss/container-queries": "^0.1.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"pathUtils-B2uokQlx.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/pathUtils.js"],"sourcesContent":["export const walkTree = (\n tree,\n fn,\n meta = { index: 0, depth: 0, parent: null }\n) => {\n fn(tree, meta);\n if (tree.children) {\n tree.children.forEach((folder, index) =>\n walkTree(folder, fn, { parent: tree, index, depth: meta.depth + 1 })\n );\n }\n};\n\n// Measures the maximum depth to bottom of the tree\nexport const measureDepth = tree => {\n let maxDepth = 0;\n\n walkTree(tree, (_, meta) => {\n if (meta.depth > maxDepth) maxDepth = meta.depth;\n });\n\n return maxDepth;\n};\n\n// Convert tree to lookup table\nexport const treeToMap = (tree, key = \"id\") => {\n const roots = Array.isArray(tree) ? tree : [tree];\n const foldersMap = {};\n\n roots.forEach(root => {\n walkTree(root, (folder, meta) => {\n foldersMap[folder[key]] = { ...folder, meta };\n });\n });\n\n return foldersMap;\n};\n\n// Convert result of treeToMap back to tree\nexport const mapToTree = foldersMap => {\n const map = {};\n let root;\n\n Object.values(foldersMap).forEach(item => {\n map[item.id] = { ...item, children: [] };\n });\n\n Object.values(foldersMap).forEach(item => {\n if (!item.meta.parent) root = map[item.id];\n else map[item.meta.parent.id].children.push(map[item.id]);\n });\n\n return root;\n};\n","import { treeToMap } from \"./treeUtils\";\n\nexport const pathToFolder = (folders, folderId) => {\n const path = [];\n const folderMap = treeToMap(folders);\n if (!folderMap[folderId]) return path;\n\n let current = folderMap[folderId];\n while (current) {\n path.unshift(current);\n current = current.meta?.parent;\n }\n\n return path;\n};\n"],"names":["walkTree","tree","fn","meta","arguments","length","undefined","index","depth","parent","children","forEach","folder","measureDepth","maxDepth","_","treeToMap","key","roots","Array","isArray","foldersMap","root","_objectSpread","mapToTree","map","Object","values","item","id","push","pathToFolder","folders","folderId","path","folderMap","current","_current$meta","unshift"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pathUtils-CHuLm_t6.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/pathUtils.js"],"sourcesContent":["export const walkTree = (\n tree,\n fn,\n meta = { index: 0, depth: 0, parent: null }\n) => {\n fn(tree, meta);\n if (tree.children) {\n tree.children.forEach((folder, index) =>\n walkTree(folder, fn, { parent: tree, index, depth: meta.depth + 1 })\n );\n }\n};\n\n// Measures the maximum depth to bottom of the tree\nexport const measureDepth = tree => {\n let maxDepth = 0;\n\n walkTree(tree, (_, meta) => {\n if (meta.depth > maxDepth) maxDepth = meta.depth;\n });\n\n return maxDepth;\n};\n\n// Convert tree to lookup table\nexport const treeToMap = (tree, key = \"id\") => {\n const roots = Array.isArray(tree) ? tree : [tree];\n const foldersMap = {};\n\n roots.forEach(root => {\n walkTree(root, (folder, meta) => {\n foldersMap[folder[key]] = { ...folder, meta };\n });\n });\n\n return foldersMap;\n};\n\n// Convert result of treeToMap back to tree\nexport const mapToTree = foldersMap => {\n const map = {};\n let root;\n\n Object.values(foldersMap).forEach(item => {\n map[item.id] = { ...item, children: [] };\n });\n\n Object.values(foldersMap).forEach(item => {\n if (!item.meta.parent) root = map[item.id];\n else map[item.meta.parent.id].children.push(map[item.id]);\n });\n\n return root;\n};\n","import { treeToMap } from \"./treeUtils\";\n\nexport const pathToFolder = (folders, folderId) => {\n const path = [];\n const folderMap = treeToMap(folders);\n if (!folderMap[folderId]) return path;\n\n let current = folderMap[folderId];\n while (current) {\n path.unshift(current);\n current = current.meta?.parent;\n }\n\n return path;\n};\n"],"names":["walkTree","tree","fn","meta","arguments","length","undefined","index","depth","parent","children","forEach","folder","measureDepth","maxDepth","_","treeToMap","key","roots","Array","isArray","foldersMap","root","_objectSpread","mapToTree","map","Object","values","item","id","push","pathToFolder","folders","folderId","path","folderMap","current","_current$meta","unshift"],"mappings":";;;;;;AAAO,IAAMA,SAAQ,GAAG,SAAXA,QAAQA,CACnBC,IAAI,EACJC,EAAE,EAEC;EAAA,IADHC,IAAI,GAAAC,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAG,CAAA,CAAA,GAAA;AAAEG,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAEC,IAAAA,MAAM,EAAE;GAAM;AAE3CP,EAAAA,EAAE,CAACD,IAAI,EAAEE,IAAI,CAAC;EACd,IAAIF,IAAI,CAACS,QAAQ,EAAE;IACjBT,IAAI,CAACS,QAAQ,CAACC,OAAO,CAAC,UAACC,MAAM,EAAEL,KAAK,EAAA;AAAA,MAAA,OAClCP,SAAQ,CAACY,MAAM,EAAEV,EAAE,EAAE;AAAEO,QAAAA,MAAM,EAAER,IAAI;AAAEM,QAAAA,KAAK,EAALA,KAAK;AAAEC,QAAAA,KAAK,EAAEL,IAAI,CAACK,KAAK,GAAG;AAAE,OAAC,CAAC;AAAA,KACtE,CAAC;AACH;AACF,CAAC;IAGYK,YAAY,GAAG,SAAfA,YAAYA,CAAGZ,IAAI,EAAI;EAClC,IAAIa,QAAQ,GAAG,CAAC;AAEhBd,EAAAA,SAAQ,CAACC,IAAI,EAAE,UAACc,CAAC,EAAEZ,IAAI,EAAK;IAC1B,IAAIA,IAAI,CAACK,KAAK,GAAGM,QAAQ,EAAEA,QAAQ,GAAGX,IAAI,CAACK,KAAK;AAClD,GAAC,CAAC;AAEF,EAAA,OAAOM,QAAQ;AACjB;;AAEA;IACaE,SAAS,GAAG,SAAZA,SAASA,CAAIf,IAAI,EAAiB;AAAA,EAAA,IAAfgB,GAAG,GAAAb,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AACxC,EAAA,IAAMc,KAAK,GAAGC,KAAK,CAACC,OAAO,CAACnB,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;EACjD,IAAMoB,UAAU,GAAG,EAAE;AAErBH,EAAAA,KAAK,CAACP,OAAO,CAAC,UAAAW,IAAI,EAAI;AACpBtB,IAAAA,SAAQ,CAACsB,IAAI,EAAE,UAACV,MAAM,EAAET,IAAI,EAAK;MAC/BkB,UAAU,CAACT,MAAM,CAACK,GAAG,CAAC,CAAC,GAAAM,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQX,MAAM,CAAA,EAAA,EAAA,EAAA;AAAET,QAAAA,IAAI,EAAJA;OAAM,CAAA;AAC/C,KAAC,CAAC;AACJ,GAAC,CAAC;AAEF,EAAA,OAAOkB,UAAU;AACnB;;AAEA;IACaG,SAAS,GAAG,SAAZA,SAASA,CAAGH,UAAU,EAAI;EACrC,IAAMI,GAAG,GAAG,EAAE;AACd,EAAA,IAAIH,IAAI;EAERI,MAAM,CAACC,MAAM,CAACN,UAAU,CAAC,CAACV,OAAO,CAAC,UAAAiB,IAAI,EAAI;IACxCH,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,GAAAN,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQK,IAAI,CAAA,EAAA,EAAA,EAAA;AAAElB,MAAAA,QAAQ,EAAE;KAAI,CAAA;AAC1C,GAAC,CAAC;EAEFgB,MAAM,CAACC,MAAM,CAACN,UAAU,CAAC,CAACV,OAAO,CAAC,UAAAiB,IAAI,EAAI;AACxC,IAAA,IAAI,CAACA,IAAI,CAACzB,IAAI,CAACM,MAAM,EAAEa,IAAI,GAAGG,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAAC,KACtCJ,GAAG,CAACG,IAAI,CAACzB,IAAI,CAACM,MAAM,CAACoB,EAAE,CAAC,CAACnB,QAAQ,CAACoB,IAAI,CAACL,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAAC;AAC3D,GAAC,CAAC;AAEF,EAAA,OAAOP,IAAI;AACb;;ACnDO,IAAMS,YAAY,GAAG,SAAfA,YAAYA,CAAIC,OAAO,EAAEC,QAAQ,EAAK;EACjD,IAAMC,IAAI,GAAG,EAAE;AACf,EAAA,IAAMC,SAAS,GAAGnB,SAAS,CAACgB,OAAO,CAAC;AACpC,EAAA,IAAI,CAACG,SAAS,CAACF,QAAQ,CAAC,EAAE,OAAOC,IAAI;AAErC,EAAA,IAAIE,OAAO,GAAGD,SAAS,CAACF,QAAQ,CAAC;AACjC,EAAA,OAAOG,OAAO,EAAE;AAAA,IAAA,IAAAC,aAAA;AACdH,IAAAA,IAAI,CAACI,OAAO,CAACF,OAAO,CAAC;IACrBA,OAAO,GAAA,CAAAC,aAAA,GAAGD,OAAO,CAACjC,IAAI,MAAA,IAAA,IAAAkC,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,aAAA,CAAc5B,MAAM;AAChC;AAEA,EAAA,OAAOyB,IAAI;AACb;;;;;;;"}