@bigbinary/neeto-folders-frontend 2.0.11 → 2.0.12

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.
package/dist/hooks.js CHANGED
@@ -1,8 +1,8 @@
1
- export { u as useFolder, b as useFolderActions, a as useFolders } from './useFolderActions-DQUMayG_.js';
1
+ export { u as useFolder, b as useFolderActions, a as useFolders } from './useFolderActions--QXsOnUm.js';
2
2
  import '@babel/runtime/helpers/defineProperty';
3
3
  import 'i18next';
4
4
  import '@bigbinary/neeto-cist';
5
- import './internal-B2c8gwOa.js';
5
+ import './internal-PLqSv_EP.js';
6
6
  import 'ramda';
7
7
  import 'react-router-dom';
8
8
  import 'zustand/shallow';
@@ -1,7 +1,7 @@
1
1
  import { isNil, pipe, values } from 'ramda';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { isNotPresent } from '@bigbinary/neeto-cist';
4
- import { i as isArray } from './internal-B2c8gwOa.js';
4
+ import { i as isArray } from './internal-PLqSv_EP.js';
5
5
 
6
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; }
7
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; }
@@ -95,4 +95,4 @@ var pathToFolder = function pathToFolder(folders, folderId) {
95
95
  };
96
96
 
97
97
  export { mapToTree as a, mapToSortedTree as b, flattenTree as f, measureDepth as m, pathToFolder as p, treeToMap as t };
98
- //# sourceMappingURL=index-CO0LgS5v.js.map
98
+ //# sourceMappingURL=index-DWQZ8Va7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CO0LgS5v.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { isArray } from \"./internal\";\n\nconst sortByIndex = (a, b) => {\n if (isNil(a.meta.__index) && isNil(b.meta.__index)) {\n return a.meta.index - b.meta.index;\n } else if (isNil(a.meta.__index)) {\n return a.meta.index < b.meta.__index ? -1 : 1;\n } else if (isNil(b.meta.__index)) {\n return a.meta.__index <= b.meta.index ? -1 : 1;\n }\n\n return a.meta.__index - b.meta.__index;\n};\n\nexport const foldersToTree = folders => {\n const map = {};\n let root;\n\n folders.forEach(item => {\n map[item.id] = { ...item, children: [] };\n // Destroy existing temporary meta attributes.\n delete map[item.id].meta.__index;\n });\n\n folders.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\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 (isArray(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 = 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 => foldersToTree(Object.values(foldersMap));\nexport const mapToSortedTree = foldersMap =>\n foldersToTree(Object.values(foldersMap).sort(sortByIndex));\n","import { pipe, values } from \"ramda\";\n\nimport { treeToMap } from \"./treeUtils\";\n\nconst flattenTree = pipe(treeToMap, values);\n\nconst 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 = folderMap[current.meta.parent?.id];\n }\n\n return path;\n};\n\nexport { pathToFolder, flattenTree };\n"],"names":["sortByIndex","a","b","isNil","meta","__index","index","foldersToTree","folders","map","root","forEach","item","id","_objectSpread","children","parent","push","walkTree","tree","fn","arguments","length","undefined","depth","isArray","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","foldersMap","mapToTree","Object","values","mapToSortedTree","sort","flattenTree","pipe","pathToFolder","folderId","path","folderMap","current","_current$meta$parent","unshift"],"mappings":"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"}
1
+ {"version":3,"file":"index-DWQZ8Va7.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { isArray } from \"./internal\";\n\nconst sortByIndex = (a, b) => {\n if (isNil(a.meta.__index) && isNil(b.meta.__index)) {\n return a.meta.index - b.meta.index;\n } else if (isNil(a.meta.__index)) {\n return a.meta.index < b.meta.__index ? -1 : 1;\n } else if (isNil(b.meta.__index)) {\n return a.meta.__index <= b.meta.index ? -1 : 1;\n }\n\n return a.meta.__index - b.meta.__index;\n};\n\nexport const foldersToTree = folders => {\n const map = {};\n let root;\n\n folders.forEach(item => {\n map[item.id] = { ...item, children: [] };\n // Destroy existing temporary meta attributes.\n delete map[item.id].meta.__index;\n });\n\n folders.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\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 (isArray(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 = 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 => foldersToTree(Object.values(foldersMap));\nexport const mapToSortedTree = foldersMap =>\n foldersToTree(Object.values(foldersMap).sort(sortByIndex));\n","import { pipe, values } from \"ramda\";\n\nimport { treeToMap } from \"./treeUtils\";\n\nconst flattenTree = pipe(treeToMap, values);\n\nconst 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 = folderMap[current.meta.parent?.id];\n }\n\n return path;\n};\n\nexport { pathToFolder, flattenTree };\n"],"names":["sortByIndex","a","b","isNil","meta","__index","index","foldersToTree","folders","map","root","forEach","item","id","_objectSpread","children","parent","push","walkTree","tree","fn","arguments","length","undefined","depth","isArray","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","foldersMap","mapToTree","Object","values","mapToSortedTree","sort","flattenTree","pipe","pathToFolder","folderId","path","folderMap","current","_current$meta$parent","unshift"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var ramda = require('ramda');
4
4
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
- var internal = require('./internal-CXN78HoA.js');
6
+ var internal = require('./internal-68eAwbnk.js');
7
7
 
8
8
  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; }
9
9
  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; }
@@ -102,4 +102,4 @@ exports.mapToTree = mapToTree;
102
102
  exports.measureDepth = measureDepth;
103
103
  exports.pathToFolder = pathToFolder;
104
104
  exports.treeToMap = treeToMap;
105
- //# sourceMappingURL=index-hg5oms4a.js.map
105
+ //# sourceMappingURL=index-DsbViyGc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-hg5oms4a.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { isArray } from \"./internal\";\n\nconst sortByIndex = (a, b) => {\n if (isNil(a.meta.__index) && isNil(b.meta.__index)) {\n return a.meta.index - b.meta.index;\n } else if (isNil(a.meta.__index)) {\n return a.meta.index < b.meta.__index ? -1 : 1;\n } else if (isNil(b.meta.__index)) {\n return a.meta.__index <= b.meta.index ? -1 : 1;\n }\n\n return a.meta.__index - b.meta.__index;\n};\n\nexport const foldersToTree = folders => {\n const map = {};\n let root;\n\n folders.forEach(item => {\n map[item.id] = { ...item, children: [] };\n // Destroy existing temporary meta attributes.\n delete map[item.id].meta.__index;\n });\n\n folders.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\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 (isArray(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 = 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 => foldersToTree(Object.values(foldersMap));\nexport const mapToSortedTree = foldersMap =>\n foldersToTree(Object.values(foldersMap).sort(sortByIndex));\n","import { pipe, values } from \"ramda\";\n\nimport { treeToMap } from \"./treeUtils\";\n\nconst flattenTree = pipe(treeToMap, values);\n\nconst 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 = folderMap[current.meta.parent?.id];\n }\n\n return path;\n};\n\nexport { pathToFolder, flattenTree };\n"],"names":["sortByIndex","a","b","isNil","meta","__index","index","foldersToTree","folders","map","root","forEach","item","id","_objectSpread","children","parent","push","walkTree","tree","fn","arguments","length","undefined","depth","isArray","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","foldersMap","mapToTree","Object","values","mapToSortedTree","sort","flattenTree","pipe","pathToFolder","folderId","path","folderMap","current","_current$meta$parent","unshift"],"mappings":"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"}
1
+ {"version":3,"file":"index-DsbViyGc.js","sources":["../app/javascript/src/utils/treeUtils.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { isArray } from \"./internal\";\n\nconst sortByIndex = (a, b) => {\n if (isNil(a.meta.__index) && isNil(b.meta.__index)) {\n return a.meta.index - b.meta.index;\n } else if (isNil(a.meta.__index)) {\n return a.meta.index < b.meta.__index ? -1 : 1;\n } else if (isNil(b.meta.__index)) {\n return a.meta.__index <= b.meta.index ? -1 : 1;\n }\n\n return a.meta.__index - b.meta.__index;\n};\n\nexport const foldersToTree = folders => {\n const map = {};\n let root;\n\n folders.forEach(item => {\n map[item.id] = { ...item, children: [] };\n // Destroy existing temporary meta attributes.\n delete map[item.id].meta.__index;\n });\n\n folders.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\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 (isArray(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 = 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 => foldersToTree(Object.values(foldersMap));\nexport const mapToSortedTree = foldersMap =>\n foldersToTree(Object.values(foldersMap).sort(sortByIndex));\n","import { pipe, values } from \"ramda\";\n\nimport { treeToMap } from \"./treeUtils\";\n\nconst flattenTree = pipe(treeToMap, values);\n\nconst 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 = folderMap[current.meta.parent?.id];\n }\n\n return path;\n};\n\nexport { pathToFolder, flattenTree };\n"],"names":["sortByIndex","a","b","isNil","meta","__index","index","foldersToTree","folders","map","root","forEach","item","id","_objectSpread","children","parent","push","walkTree","tree","fn","arguments","length","undefined","depth","isArray","folder","measureDepth","maxDepth","_","treeToMap","key","isNotPresent","roots","foldersMap","mapToTree","Object","values","mapToSortedTree","sort","flattenTree","pipe","pathToFolder","folderId","path","folderMap","current","_current$meta$parent","unshift"],"mappings":"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"}
@@ -24,7 +24,7 @@ var forEachAttr = function forEachAttr(obj, pred) {
24
24
  var mapObj = function mapObj(obj, pred, filter) {
25
25
  var result = [];
26
26
  forEachAttr(obj, function (value, key) {
27
- if (!filter || filter(value, key)) {
27
+ {
28
28
  result.push(pred(value, key));
29
29
  }
30
30
  });
@@ -35,4 +35,4 @@ exports.getActiveFolderId = getActiveFolderId;
35
35
  exports.isActiveFolder = isActiveFolder;
36
36
  exports.isArray = isArray;
37
37
  exports.mapObj = mapObj;
38
- //# sourceMappingURL=internal-CXN78HoA.js.map
38
+ //# sourceMappingURL=internal-68eAwbnk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-CXN78HoA.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId;\n\nexport const isActiveFolder = (config, folderId) => {\n const activeFolderId = getActiveFolderId(config);\n\n return activeFolderId && activeFolderId === folderId;\n};\n\nexport const isArray = arg => isNotNil(arg) && Array.isArray(arg);\n\nexport const forEachAttr = (obj, pred) => {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n pred(obj[key], key);\n }\n }\n};\n\nexport const mapObj = (obj, pred, filter) => {\n const result = [];\n forEachAttr(obj, (value, key) => {\n if (!filter || filter(value, key)) {\n result.push(pred(value, key));\n }\n });\n\n return result;\n};\n"],"names":["getActiveFolderId","config","_matchPath","matchPath","window","location","pathname","folderPath","params","folderId","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","call","mapObj","filter","result","value","push"],"mappings":";;;;;IAGaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;AAAA,EAAA,IAAAC,UAAA;EAAA,OAAAA,CAAAA,UAAA,GACrCC,wBAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEL,MAAM,CAACM,UAAU,CAAC,MAAA,IAAA,IAAAL,UAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,UAAA,GAAtDA,UAAA,CAAwDM,MAAM,MAAA,IAAA,IAAAN,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA9DA,UAAA,CAAgEO,QAAQ;AAAA;AAEnE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIT,MAAM,EAAEQ,QAAQ,EAAK;AAClD,EAAA,IAAME,cAAc,GAAGX,iBAAiB,CAACC,MAAM,CAAC;AAEhD,EAAA,OAAOU,cAAc,IAAIA,cAAc,KAAKF,QAAQ;AACtD;IAEaG,OAAO,GAAG,SAAVA,OAAOA,CAAGC,GAAG,EAAA;EAAA,OAAIC,cAAQ,CAACD,GAAG,CAAC,IAAIE,KAAK,CAACH,OAAO,CAACC,GAAG,CAAC;AAAA;AAE1D,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAEC,IAAI,EAAK;AACxC,EAAA,KAAK,IAAMC,GAAG,IAAIF,GAAG,EAAE;AACrB,IAAA,IAAIG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,GAAG,EAAEE,GAAG,CAAC,EAAE;AAClDD,MAAAA,IAAI,CAACD,GAAG,CAACE,GAAG,CAAC,EAAEA,GAAG,CAAC;AACrB;AACF;AACF,CAAC;AAEM,IAAMK,MAAM,GAAG,SAATA,MAAMA,CAAIP,GAAG,EAAEC,IAAI,EAAEO,MAAM,EAAK;EAC3C,IAAMC,MAAM,GAAG,EAAE;AACjBV,EAAAA,WAAW,CAACC,GAAG,EAAE,UAACU,KAAK,EAAER,GAAG,EAAK;IAC/B,IAAI,CAACM,MAAM,IAAIA,MAAM,CAACE,KAAK,EAAER,GAAG,CAAC,EAAE;MACjCO,MAAM,CAACE,IAAI,CAACV,IAAI,CAACS,KAAK,EAAER,GAAG,CAAC,CAAC;AAC/B;AACF,GAAC,CAAC;AAEF,EAAA,OAAOO,MAAM;AACf;;;;;;;"}
1
+ {"version":3,"file":"internal-68eAwbnk.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId;\n\nexport const isActiveFolder = (config, folderId) => {\n const activeFolderId = getActiveFolderId(config);\n\n return activeFolderId && activeFolderId === folderId;\n};\n\nexport const isArray = arg => isNotNil(arg) && Array.isArray(arg);\n\nexport const forEachAttr = (obj, pred) => {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n pred(obj[key], key);\n }\n }\n};\n\nexport const mapObj = (obj, pred, filter) => {\n const result = [];\n forEachAttr(obj, (value, key) => {\n if (!filter || filter(value, key)) {\n result.push(pred(value, key));\n }\n });\n\n return result;\n};\n"],"names":["getActiveFolderId","config","_matchPath","matchPath","window","location","pathname","folderPath","params","folderId","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","call","mapObj","filter","result","value","push"],"mappings":";;;;;IAGaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;AAAA,EAAA,IAAAC,UAAA;EAAA,OAAAA,CAAAA,UAAA,GACrCC,wBAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEL,MAAM,CAACM,UAAU,CAAC,MAAA,IAAA,IAAAL,UAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,UAAA,GAAtDA,UAAA,CAAwDM,MAAM,MAAA,IAAA,IAAAN,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA9DA,UAAA,CAAgEO,QAAQ;AAAA;AAEnE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIT,MAAM,EAAEQ,QAAQ,EAAK;AAClD,EAAA,IAAME,cAAc,GAAGX,iBAAiB,CAACC,MAAM,CAAC;AAEhD,EAAA,OAAOU,cAAc,IAAIA,cAAc,KAAKF,QAAQ;AACtD;IAEaG,OAAO,GAAG,SAAVA,OAAOA,CAAGC,GAAG,EAAA;EAAA,OAAIC,cAAQ,CAACD,GAAG,CAAC,IAAIE,KAAK,CAACH,OAAO,CAACC,GAAG,CAAC;AAAA;AAE1D,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAEC,IAAI,EAAK;AACxC,EAAA,KAAK,IAAMC,GAAG,IAAIF,GAAG,EAAE;AACrB,IAAA,IAAIG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,GAAG,EAAEE,GAAG,CAAC,EAAE;AAClDD,MAAAA,IAAI,CAACD,GAAG,CAACE,GAAG,CAAC,EAAEA,GAAG,CAAC;AACrB;AACF;AACF,CAAC;AAEM,IAAMK,MAAM,GAAG,SAATA,MAAMA,CAAIP,GAAG,EAAEC,IAAI,EAAEO,MAAM,EAAK;EAC3C,IAAMC,MAAM,GAAG,EAAE;AACjBV,EAAAA,WAAW,CAACC,GAAG,EAAE,UAACU,KAAK,EAAER,GAAG,EAAK;IACI;MACjCO,MAAM,CAACE,IAAI,CAACV,IAAI,CAACS,KAAK,EAAER,GAAG,CAAC,CAAC;AAC/B;AACF,GAAC,CAAC;AAEF,EAAA,OAAOO,MAAM;AACf;;;;;;;"}
@@ -22,7 +22,7 @@ var forEachAttr = function forEachAttr(obj, pred) {
22
22
  var mapObj = function mapObj(obj, pred, filter) {
23
23
  var result = [];
24
24
  forEachAttr(obj, function (value, key) {
25
- if (!filter || filter(value, key)) {
25
+ {
26
26
  result.push(pred(value, key));
27
27
  }
28
28
  });
@@ -30,4 +30,4 @@ var mapObj = function mapObj(obj, pred, filter) {
30
30
  };
31
31
 
32
32
  export { isActiveFolder as a, getActiveFolderId as g, isArray as i, mapObj as m };
33
- //# sourceMappingURL=internal-B2c8gwOa.js.map
33
+ //# sourceMappingURL=internal-PLqSv_EP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-B2c8gwOa.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId;\n\nexport const isActiveFolder = (config, folderId) => {\n const activeFolderId = getActiveFolderId(config);\n\n return activeFolderId && activeFolderId === folderId;\n};\n\nexport const isArray = arg => isNotNil(arg) && Array.isArray(arg);\n\nexport const forEachAttr = (obj, pred) => {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n pred(obj[key], key);\n }\n }\n};\n\nexport const mapObj = (obj, pred, filter) => {\n const result = [];\n forEachAttr(obj, (value, key) => {\n if (!filter || filter(value, key)) {\n result.push(pred(value, key));\n }\n });\n\n return result;\n};\n"],"names":["getActiveFolderId","config","_matchPath","matchPath","window","location","pathname","folderPath","params","folderId","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","call","mapObj","filter","result","value","push"],"mappings":";;;IAGaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;AAAA,EAAA,IAAAC,UAAA;EAAA,OAAAA,CAAAA,UAAA,GACrCC,SAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEL,MAAM,CAACM,UAAU,CAAC,MAAA,IAAA,IAAAL,UAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,UAAA,GAAtDA,UAAA,CAAwDM,MAAM,MAAA,IAAA,IAAAN,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA9DA,UAAA,CAAgEO,QAAQ;AAAA;AAEnE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIT,MAAM,EAAEQ,QAAQ,EAAK;AAClD,EAAA,IAAME,cAAc,GAAGX,iBAAiB,CAACC,MAAM,CAAC;AAEhD,EAAA,OAAOU,cAAc,IAAIA,cAAc,KAAKF,QAAQ;AACtD;IAEaG,OAAO,GAAG,SAAVA,OAAOA,CAAGC,GAAG,EAAA;EAAA,OAAIC,QAAQ,CAACD,GAAG,CAAC,IAAIE,KAAK,CAACH,OAAO,CAACC,GAAG,CAAC;AAAA;AAE1D,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAEC,IAAI,EAAK;AACxC,EAAA,KAAK,IAAMC,GAAG,IAAIF,GAAG,EAAE;AACrB,IAAA,IAAIG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,GAAG,EAAEE,GAAG,CAAC,EAAE;AAClDD,MAAAA,IAAI,CAACD,GAAG,CAACE,GAAG,CAAC,EAAEA,GAAG,CAAC;AACrB;AACF;AACF,CAAC;AAEM,IAAMK,MAAM,GAAG,SAATA,MAAMA,CAAIP,GAAG,EAAEC,IAAI,EAAEO,MAAM,EAAK;EAC3C,IAAMC,MAAM,GAAG,EAAE;AACjBV,EAAAA,WAAW,CAACC,GAAG,EAAE,UAACU,KAAK,EAAER,GAAG,EAAK;IAC/B,IAAI,CAACM,MAAM,IAAIA,MAAM,CAACE,KAAK,EAAER,GAAG,CAAC,EAAE;MACjCO,MAAM,CAACE,IAAI,CAACV,IAAI,CAACS,KAAK,EAAER,GAAG,CAAC,CAAC;AAC/B;AACF,GAAC,CAAC;AAEF,EAAA,OAAOO,MAAM;AACf;;;;"}
1
+ {"version":3,"file":"internal-PLqSv_EP.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId;\n\nexport const isActiveFolder = (config, folderId) => {\n const activeFolderId = getActiveFolderId(config);\n\n return activeFolderId && activeFolderId === folderId;\n};\n\nexport const isArray = arg => isNotNil(arg) && Array.isArray(arg);\n\nexport const forEachAttr = (obj, pred) => {\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n pred(obj[key], key);\n }\n }\n};\n\nexport const mapObj = (obj, pred, filter) => {\n const result = [];\n forEachAttr(obj, (value, key) => {\n if (!filter || filter(value, key)) {\n result.push(pred(value, key));\n }\n });\n\n return result;\n};\n"],"names":["getActiveFolderId","config","_matchPath","matchPath","window","location","pathname","folderPath","params","folderId","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","call","mapObj","filter","result","value","push"],"mappings":";;;IAGaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;AAAA,EAAA,IAAAC,UAAA;EAAA,OAAAA,CAAAA,UAAA,GACrCC,SAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEL,MAAM,CAACM,UAAU,CAAC,MAAA,IAAA,IAAAL,UAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,UAAA,GAAtDA,UAAA,CAAwDM,MAAM,MAAA,IAAA,IAAAN,UAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA9DA,UAAA,CAAgEO,QAAQ;AAAA;AAEnE,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIT,MAAM,EAAEQ,QAAQ,EAAK;AAClD,EAAA,IAAME,cAAc,GAAGX,iBAAiB,CAACC,MAAM,CAAC;AAEhD,EAAA,OAAOU,cAAc,IAAIA,cAAc,KAAKF,QAAQ;AACtD;IAEaG,OAAO,GAAG,SAAVA,OAAOA,CAAGC,GAAG,EAAA;EAAA,OAAIC,QAAQ,CAACD,GAAG,CAAC,IAAIE,KAAK,CAACH,OAAO,CAACC,GAAG,CAAC;AAAA;AAE1D,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAEC,IAAI,EAAK;AACxC,EAAA,KAAK,IAAMC,GAAG,IAAIF,GAAG,EAAE;AACrB,IAAA,IAAIG,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACN,GAAG,EAAEE,GAAG,CAAC,EAAE;AAClDD,MAAAA,IAAI,CAACD,GAAG,CAACE,GAAG,CAAC,EAAEA,GAAG,CAAC;AACrB;AACF;AACF,CAAC;AAEM,IAAMK,MAAM,GAAG,SAATA,MAAMA,CAAIP,GAAG,EAAEC,IAAI,EAAEO,MAAM,EAAK;EAC3C,IAAMC,MAAM,GAAG,EAAE;AACjBV,EAAAA,WAAW,CAACC,GAAG,EAAE,UAACU,KAAK,EAAER,GAAG,EAAK;IACI;MACjCO,MAAM,CAACE,IAAI,CAACV,IAAI,CAACS,KAAK,EAAER,GAAG,CAAC,CAAC;AAC/B;AACF,GAAC,CAAC;AAEF,EAAA,OAAOO,MAAM;AACf;;;;"}
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { t } from 'i18next';
3
3
  import { isPresent, noop } from '@bigbinary/neeto-cist';
4
- import { g as getActiveFolderId } from './internal-B2c8gwOa.js';
4
+ import { g as getActiveFolderId } from './internal-PLqSv_EP.js';
5
5
  import { shallow } from 'zustand/shallow';
6
6
  import { useQuery, useQueryClient } from '@tanstack/react-query';
7
7
  import { QUERY_KEYS } from './constants.js';
@@ -204,4 +204,4 @@ var useFolderActions = function useFolderActions(config) {
204
204
  };
205
205
 
206
206
  export { DEFAULT_CONFIG as D, useFolders as a, useFolderActions as b, useFolderStore as c, useDestroyFolder as d, useFetchFolders as e, useCreateFolder as f, useUpdateFolder as g, useReorderFolders as h, useFolder as u };
207
- //# sourceMappingURL=useFolderActions-DQUMayG_.js.map
207
+ //# sourceMappingURL=useFolderActions--QXsOnUm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFolderActions-DQUMayG_.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useUpdateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.update, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onBulkUpdate, isPending: isUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onInvalidate,\n onBulkUpdate,\n onBulkDelete,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","options","arguments","length","undefined","useMutationWithInvalidation","create","_objectSpread","keysToInvalidate","useUpdateFolder","update","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","useFolders","configArg","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","queryClient","useQueryClient","_useFolderStore","store","shallow","_useBulkUpdateFolders","onBulkUpdate","mutateAsync","isUpdating","isPending","_useBulkDestroyFolder","onBulkDelete","isDeleting","onInvalidate","invalidateQueries","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
1
+ {"version":3,"file":"useFolderActions--QXsOnUm.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useUpdateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.update, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onBulkUpdate, isPending: isUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onInvalidate,\n onBulkUpdate,\n onBulkDelete,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","options","arguments","length","undefined","useMutationWithInvalidation","create","_objectSpread","keysToInvalidate","useUpdateFolder","update","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","useFolders","configArg","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","queryClient","useQueryClient","_useFolderStore","store","shallow","_useBulkUpdateFolders","onBulkUpdate","mutateAsync","isUpdating","isPending","_useBulkDestroyFolder","onBulkDelete","isDeleting","onInvalidate","invalidateQueries","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var i18next = require('i18next');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
- var internal = require('./internal-CXN78HoA.js');
6
+ var internal = require('./internal-68eAwbnk.js');
7
7
  var shallow = require('zustand/shallow');
8
8
  var reactQuery = require('@tanstack/react-query');
9
9
  var constants = require('./cjs/constants.js');
@@ -215,4 +215,4 @@ exports.useFolderStore = useFolderStore;
215
215
  exports.useFolders = useFolders;
216
216
  exports.useReorderFolders = useReorderFolders;
217
217
  exports.useUpdateFolder = useUpdateFolder;
218
- //# sourceMappingURL=useFolderActions-Ok2WR6Ht.js.map
218
+ //# sourceMappingURL=useFolderActions-_yrbFSyE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFolderActions-Ok2WR6Ht.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useUpdateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.update, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onBulkUpdate, isPending: isUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onInvalidate,\n onBulkUpdate,\n onBulkDelete,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","options","arguments","length","undefined","useMutationWithInvalidation","create","_objectSpread","keysToInvalidate","useUpdateFolder","update","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","useFolders","configArg","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","queryClient","useQueryClient","_useFolderStore","store","shallow","_useBulkUpdateFolders","onBulkUpdate","mutateAsync","isUpdating","isPending","_useBulkDestroyFolder","onBulkDelete","isDeleting","onInvalidate","invalidateQueries","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
1
+ {"version":3,"file":"useFolderActions-_yrbFSyE.js","sources":["../app/javascript/src/hooks/reactQuery/useFoldersApi.js","../app/javascript/src/constants/config.js","../app/javascript/src/hooks/useFolders.js","../app/javascript/src/stores/foldersStore.js","../app/javascript/src/hooks/useFolder.js","../app/javascript/src/hooks/useFolderActions.js"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { isPresent } from \"neetocist\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport { QUERY_KEYS } from \"constants/query\";\n\nexport const useFetchFolders = config =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.LIST,\n isPresent(config.params) ? config.params : null,\n ],\n queryFn: () => config.api.fetch(config.params),\n });\n\nexport const useShowFolder = (config, folderId) =>\n useQuery({\n queryKey: [\n QUERY_KEYS.FOLDERS,\n config.type,\n QUERY_KEYS.DETAILS,\n folderId,\n config.params,\n ],\n queryFn: () => config.api.get(folderId, config.params),\n enabled: !!folderId,\n });\n\nexport const useCreateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useUpdateFolder = (config, options = {}) =>\n useMutationWithInvalidation(config.api.update, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n ...options,\n });\n\nexport const useReorderFolders = config =>\n useMutationWithInvalidation(config.api.reorder, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useDestroyFolder = config =>\n useMutationWithInvalidation(config.api.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST]],\n });\n\nexport const useBulkUpdateFolders = config =>\n useMutationWithInvalidation(config.api.bulkUpdate, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useBulkDestroyFolders = config =>\n useMutationWithInvalidation(config.api.bulkDestroy, {\n keysToInvalidate: [\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.LIST],\n [QUERY_KEYS.FOLDERS, config.type, QUERY_KEYS.DETAILS],\n ].concat(config.invalidationKeys),\n });\n","import { t } from \"i18next\";\nimport { noop } from \"neetocist\";\n\nconst DEFAULT_LABELS = {\n folder: t(\"common.folder\"),\n folders: t(\"common.folders\"),\n item: t(\"common.item\"),\n items: t(\"common.items\"),\n};\n\nconst DEFAULT_API = {\n // Folder CRUD\n fetch: noop,\n get: noop,\n create: noop,\n update: noop,\n destroy: noop,\n bulkUpdate: noop,\n bulkDestroy: noop,\n};\n\nexport const DEFAULT_CONFIG = {\n type: \"FOLDER\", // For query keys with different associated entities\n maxDepth: 2, // Maximum allowed depth for folder tree\n folderPath: \"/folders/:folderId\", // Path for handling URL redirections\n invalidationKeys: [], // For invalidation purposes\n reorderMode: \"rearrange\", // rearrange | reorder\n labels: DEFAULT_LABELS,\n params: {},\n api: DEFAULT_API,\n};\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useFetchFolders } from \"hooks/reactQuery/useFoldersApi\";\n\nconst useFolders = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const { data: folders, isLoading } = useFetchFolders(config);\n\n return { isLoading, folders };\n};\n\nexport default useFolders;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useFolderStore = create(\n withImmutableActions(set => ({\n paneState: null,\n alertState: null,\n selectedItem: null,\n setFolderState: set,\n }))\n);\n\nexport default useFolderStore;\n","import { DEFAULT_CONFIG } from \"constants/config\";\nimport { useShowFolder } from \"hooks/reactQuery/useFoldersApi\";\nimport { getActiveFolderId } from \"utils/internal\";\n\nconst useFolder = configArg => {\n const config = { ...DEFAULT_CONFIG, ...configArg };\n const folderId = getActiveFolderId(config);\n\n const { data: folder, isFetching } = useShowFolder(config, folderId);\n\n return {\n isLoading: isFetching && folder?.slug !== folderId,\n folderId,\n folder,\n };\n};\n\nexport default useFolder;\n","import { useQueryClient } from \"@tanstack/react-query\";\n\nimport { QUERY_KEYS } from \"constants/query\";\nimport useFolderStore from \"stores/foldersStore\";\n\nimport {\n useBulkUpdateFolders,\n useBulkDestroyFolders,\n} from \"./reactQuery/useFoldersApi\";\n\nconst useFolderActions = config => {\n const queryClient = useQueryClient();\n const { setFolderState } = useFolderStore.pick();\n\n const { mutateAsync: onBulkUpdate, isPending: isUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = () =>\n setFolderState({ paneState: { type: \"add\", item: null } });\n\n const onEdit = item => setFolderState({ paneState: { type: \"edit\", item } });\n\n const onMove = item => setFolderState({ paneState: { type: \"move\", item } });\n\n const onDelete = item =>\n setFolderState({ alertState: { type: \"delete\", item } });\n\n const onReorder = () =>\n setFolderState({ paneState: { type: \"reorder\", item: null } });\n\n const isPending = isUpdating || isDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onInvalidate,\n onBulkUpdate,\n onBulkDelete,\n };\n};\n\nexport default useFolderActions;\n"],"names":["useFetchFolders","config","useQuery","queryKey","QUERY_KEYS","FOLDERS","type","LIST","isPresent","params","queryFn","api","fetch","useShowFolder","folderId","DETAILS","get","enabled","useCreateFolder","options","arguments","length","undefined","useMutationWithInvalidation","create","_objectSpread","keysToInvalidate","useUpdateFolder","update","useReorderFolders","reorder","useDestroyFolder","destroy","useBulkUpdateFolders","bulkUpdate","useBulkDestroyFolders","bulkDestroy","concat","invalidationKeys","DEFAULT_LABELS","folder","t","folders","item","items","DEFAULT_API","noop","DEFAULT_CONFIG","maxDepth","folderPath","reorderMode","labels","useFolders","configArg","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","queryClient","useQueryClient","_useFolderStore","store","shallow","_useBulkUpdateFolders","onBulkUpdate","mutateAsync","isUpdating","isPending","_useBulkDestroyFolder","onBulkDelete","isDeleting","onInvalidate","invalidateQueries","onAdd","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import 'ramda';
2
- export { f as flattenTree, p as pathToFolder } from './index-CO0LgS5v.js';
2
+ export { f as flattenTree, p as pathToFolder } from './index-DWQZ8Va7.js';
3
3
  import '@babel/runtime/helpers/defineProperty';
4
4
  import '@bigbinary/neeto-cist';
5
- import './internal-B2c8gwOa.js';
5
+ import './internal-PLqSv_EP.js';
6
6
  import 'react-router-dom';
7
7
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-folders-frontend",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
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",
@@ -62,12 +62,12 @@
62
62
  "@bigbinary/babel-preset-neeto": "^1.0.3",
63
63
  "@bigbinary/eslint-plugin-neeto": "1.6.4",
64
64
  "@bigbinary/neeto-cist": "1.0.17",
65
- "@bigbinary/neeto-commons-frontend": "4.13.44",
65
+ "@bigbinary/neeto-commons-frontend": "4.13.45",
66
66
  "@bigbinary/neeto-filters-frontend": "4.3.22",
67
67
  "@bigbinary/neeto-hotkeys": "1.0.9",
68
- "@bigbinary/neeto-icons": "1.20.52",
69
- "@bigbinary/neeto-molecules": "3.16.73",
70
- "@bigbinary/neetoui": "8.3.10",
68
+ "@bigbinary/neeto-icons": "1.20.53",
69
+ "@bigbinary/neeto-molecules": "3.16.77",
70
+ "@bigbinary/neetoui": "8.3.12",
71
71
  "@emotion/is-prop-valid": "1.2.0",
72
72
  "@faker-js/faker": "8.2.0",
73
73
  "@honeybadger-io/js": "6.10.1",
@@ -172,12 +172,12 @@
172
172
  "peerDependencies": {
173
173
  "@babel/runtime": "7.26.10",
174
174
  "@bigbinary/neeto-cist": "1.0.17",
175
- "@bigbinary/neeto-commons-frontend": "4.13.44",
175
+ "@bigbinary/neeto-commons-frontend": "4.13.45",
176
176
  "@bigbinary/neeto-filters-frontend": "4.3.22",
177
177
  "@bigbinary/neeto-hotkeys": "1.0.9",
178
- "@bigbinary/neeto-icons": "1.20.52",
179
- "@bigbinary/neeto-molecules": "3.16.73",
180
- "@bigbinary/neetoui": "8.3.10",
178
+ "@bigbinary/neeto-icons": "1.20.53",
179
+ "@bigbinary/neeto-molecules": "3.16.77",
180
+ "@bigbinary/neetoui": "8.3.12",
181
181
  "@honeybadger-io/js": "6.10.1",
182
182
  "@honeybadger-io/react": "6.1.25",
183
183
  "@tailwindcss/container-queries": "^0.1.1",