@bigbinary/neeto-folders-frontend 2.0.35 → 2.0.37
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/app/javascript/src/translations/hu.json +43 -0
- package/dist/.ready +1 -0
- package/dist/cjs/components.js +52 -37
- package/dist/cjs/components.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/components.js +58 -43
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{index-BrWMXN6M.js → index-BkzhP3-H.js} +2 -2
- package/dist/index-BkzhP3-H.js.map +1 -0
- package/dist/{index-KIfzNbYI.js → index-Dn0REquw.js} +2 -2
- package/dist/index-Dn0REquw.js.map +1 -0
- package/dist/internal-DKHdgJas.js.map +1 -1
- package/dist/internal-DUPKoXC_.js.map +1 -1
- package/dist/{useFolderActions-DBZKRr8d.js → useFolderActions-B_2AW8DZ.js} +5 -5
- package/dist/{useFolderActions-4NdTAEfb.js.map → useFolderActions-B_2AW8DZ.js.map} +1 -1
- package/dist/{useFolderActions-4NdTAEfb.js → useFolderActions-DHvX75jy.js} +4 -4
- package/dist/{useFolderActions-DBZKRr8d.js.map → useFolderActions-DHvX75jy.js.map} +1 -1
- package/dist/utils.js +1 -1
- package/package.json +28 -32
- package/dist/index-BrWMXN6M.js.map +0 -1
- package/dist/index-KIfzNbYI.js.map +0 -1
package/dist/hooks.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { u as useFolder,
|
|
1
|
+
export { u as useFolder, a as useFolderActions, b as useFolders } from './useFolderActions-B_2AW8DZ.js';
|
|
2
2
|
import '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import 'i18next';
|
|
4
4
|
import '@bigbinary/neeto-cist';
|
|
@@ -4,7 +4,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
4
4
|
import { isNotPresent } from '@bigbinary/neeto-cist';
|
|
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
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
7
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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
8
|
var sortByIndex = function sortByIndex(a, b) {
|
|
9
9
|
if (isNil(a.meta.__index) && isNil(b.meta.__index)) {
|
|
10
10
|
return a.meta.index - b.meta.index;
|
|
@@ -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-
|
|
98
|
+
//# sourceMappingURL=index-BkzhP3-H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BkzhP3-H.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 { toastApiError } from \"./internal\";\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, toastApiError };\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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"}
|
|
@@ -6,7 +6,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
6
6
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
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
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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
10
|
var sortByIndex = function sortByIndex(a, b) {
|
|
11
11
|
if (ramda.isNil(a.meta.__index) && ramda.isNil(b.meta.__index)) {
|
|
12
12
|
return a.meta.index - b.meta.index;
|
|
@@ -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-
|
|
105
|
+
//# sourceMappingURL=index-Dn0REquw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Dn0REquw.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 { toastApiError } from \"./internal\";\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, toastApiError };\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-DKHdgJas.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\nimport { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId ||\n config.getItemSidFromPath?.();\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\nexport const toastApiError = error => {\n const errors = error?.response?.data?.errors;\n if (!errors) return;\n\n const processValue = value => {\n if (typeof value !== \"string\") return false;\n Toastr.error(value);\n\n return true;\n };\n\n processValue(errors[0]) ||\n processValue(Object.values(errors)?.[0]) ||\n processValue(Object.values(errors)?.[0]?.[0]);\n};\n"],"names":["getActiveFolderId","config","_matchPath","_config$getItemSidFro","matchPath","window","location","pathname","folderPath","params","folderId","getItemSidFromPath","call","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","mapObj","filter","result","value","push","toastApiError","error","_error$response","_Object$values","_Object$values2","errors","response","data","processValue","Toastr","values"],"mappings":";;;;;;IAIaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;EAAA,IAAAC,UAAA,EAAAC,qBAAA;AAAA,EAAA,OACrC,EAAAD,UAAA,GAAAE,wBAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEN,MAAM,CAACO,UAAU,CAAC,cAAAN,UAAA,KAAA,
|
|
1
|
+
{"version":3,"file":"internal-DKHdgJas.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\nimport { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId ||\n config.getItemSidFromPath?.();\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\nexport const toastApiError = error => {\n const errors = error?.response?.data?.errors;\n if (!errors) return;\n\n const processValue = value => {\n if (typeof value !== \"string\") return false;\n Toastr.error(value);\n\n return true;\n };\n\n processValue(errors[0]) ||\n processValue(Object.values(errors)?.[0]) ||\n processValue(Object.values(errors)?.[0]?.[0]);\n};\n"],"names":["getActiveFolderId","config","_matchPath","_config$getItemSidFro","matchPath","window","location","pathname","folderPath","params","folderId","getItemSidFromPath","call","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","mapObj","filter","result","value","push","toastApiError","error","_error$response","_Object$values","_Object$values2","errors","response","data","processValue","Toastr","values"],"mappings":";;;;;;IAIaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;EAAA,IAAAC,UAAA,EAAAC,qBAAA;AAAA,EAAA,OACrC,EAAAD,UAAA,GAAAE,wBAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEN,MAAM,CAACO,UAAU,CAAC,cAAAN,UAAA,KAAA,MAAA,IAAA,CAAAA,UAAA,GAAtDA,UAAA,CAAwDO,MAAM,MAAA,IAAA,IAAAP,UAAA,KAAA,MAAA,GAAA,MAAA,GAA9DA,UAAA,CAAgEQ,QAAQ,MAAA,CAAAP,qBAAA,GACxEF,MAAM,CAACU,kBAAkB,MAAA,IAAA,IAAAR,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAzBA,qBAAA,CAAAS,IAAA,CAAAX,MAA4B,CAAC,CAAA;AAAA;AAExB,IAAMY,cAAc,GAAG,SAAjBA,cAAcA,CAAIZ,MAAM,EAAES,QAAQ,EAAK;AAClD,EAAA,IAAMI,cAAc,GAAGd,iBAAiB,CAACC,MAAM,CAAC;AAEhD,EAAA,OAAOa,cAAc,IAAIA,cAAc,KAAKJ,QAAQ;AACtD;IAEaK,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,CAACb,IAAI,CAACQ,GAAG,EAAEE,GAAG,CAAC,EAAE;AAClDD,MAAAA,IAAI,CAACD,GAAG,CAACE,GAAG,CAAC,EAAEA,GAAG,CAAC;AACrB,IAAA;AACF,EAAA;AACF,CAAC;AAEM,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAIN,GAAG,EAAEC,IAAI,EAAEM,MAAM,EAAK;EAC3C,IAAMC,MAAM,GAAG,EAAE;AACjBT,EAAAA,WAAW,CAACC,GAAG,EAAE,UAACS,KAAK,EAAEP,GAAG,EAAK;IAC/B,IAAI,CAACK,MAAM,IAAIA,MAAM,CAACE,KAAK,EAAEP,GAAG,CAAC,EAAE;MACjCM,MAAM,CAACE,IAAI,CAACT,IAAI,CAACQ,KAAK,EAAEP,GAAG,CAAC,CAAC;AAC/B,IAAA;AACF,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOM,MAAM;AACf;IAEaG,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;AAAA,EAAA,IAAAC,eAAA,EAAAC,cAAA,EAAAC,eAAA;EACpC,IAAMC,MAAM,GAAGJ,KAAK,KAAA,IAAA,IAALA,KAAK,gBAAAC,eAAA,GAALD,KAAK,CAAEK,QAAQ,MAAA,IAAA,IAAAJ,eAAA,KAAA,MAAA,IAAA,CAAAA,eAAA,GAAfA,eAAA,CAAiBK,IAAI,cAAAL,eAAA,KAAA,MAAA,GAAA,MAAA,GAArBA,eAAA,CAAuBG,MAAM;EAC5C,IAAI,CAACA,MAAM,EAAE;AAEb,EAAA,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAGV,KAAK,EAAI;AAC5B,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC3CW,IAAAA,MAAM,CAACR,KAAK,CAACH,KAAK,CAAC;AAEnB,IAAA,OAAO,IAAI;EACb,CAAC;EAEDU,YAAY,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC,IACrBG,YAAY,CAAA,CAAAL,cAAA,GAACX,MAAM,CAACkB,MAAM,CAACL,MAAM,CAAC,MAAA,IAAA,IAAAF,cAAA,uBAArBA,cAAA,CAAwB,CAAC,CAAC,CAAC,IACxCK,YAAY,CAAA,CAAAJ,eAAA,GAACZ,MAAM,CAACkB,MAAM,CAACL,MAAM,CAAC,MAAA,IAAA,IAAAD,eAAA,KAAA,MAAA,IAAA,CAAAA,eAAA,GAArBA,eAAA,CAAwB,CAAC,CAAC,MAAA,IAAA,IAAAA,eAAA,uBAA1BA,eAAA,CAA6B,CAAC,CAAC,CAAC;AACjD;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-DUPKoXC_.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\nimport { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId ||\n config.getItemSidFromPath?.();\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\nexport const toastApiError = error => {\n const errors = error?.response?.data?.errors;\n if (!errors) return;\n\n const processValue = value => {\n if (typeof value !== \"string\") return false;\n Toastr.error(value);\n\n return true;\n };\n\n processValue(errors[0]) ||\n processValue(Object.values(errors)?.[0]) ||\n processValue(Object.values(errors)?.[0]?.[0]);\n};\n"],"names":["getActiveFolderId","config","_matchPath","_config$getItemSidFro","matchPath","window","location","pathname","folderPath","params","folderId","getItemSidFromPath","call","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","mapObj","filter","result","value","push","toastApiError","error","_error$response","_Object$values","_Object$values2","errors","response","data","processValue","Toastr","values"],"mappings":";;;;IAIaA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;EAAA,IAAAC,UAAA,EAAAC,qBAAA;AAAA,EAAA,OACrC,EAAAD,UAAA,GAAAE,SAAS,CAACC,MAAM,CAACC,QAAQ,CAACC,QAAQ,EAAEN,MAAM,CAACO,UAAU,CAAC,cAAAN,UAAA,KAAA,
|
|
1
|
+
{"version":3,"file":"internal-DUPKoXC_.js","sources":["../app/javascript/src/utils/internal.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\nimport { isNotNil } from \"ramda\";\nimport { matchPath } from \"react-router-dom\";\n\nexport const getActiveFolderId = config =>\n matchPath(window.location.pathname, config.folderPath)?.params?.folderId ||\n config.getItemSidFromPath?.();\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\nexport const toastApiError = error => {\n const errors = error?.response?.data?.errors;\n if (!errors) return;\n\n const processValue = value => {\n if (typeof value !== \"string\") return false;\n Toastr.error(value);\n\n return true;\n };\n\n processValue(errors[0]) ||\n processValue(Object.values(errors)?.[0]) ||\n processValue(Object.values(errors)?.[0]?.[0]);\n};\n"],"names":["getActiveFolderId","config","_matchPath","_config$getItemSidFro","matchPath","window","location","pathname","folderPath","params","folderId","getItemSidFromPath","call","isActiveFolder","activeFolderId","isArray","arg","isNotNil","Array","forEachAttr","obj","pred","key","Object","prototype","hasOwnProperty","mapObj","filter","result","value","push","toastApiError","error","_error$response","_Object$values","_Object$values2","errors","response","data","processValue","Toastr","values"],"mappings":"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"}
|
|
@@ -111,7 +111,7 @@ var DEFAULT_CONFIG = {
|
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
function ownKeys$2(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; }
|
|
114
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t),
|
|
114
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
115
115
|
var useFolders = function useFolders(configArg) {
|
|
116
116
|
var config = _objectSpread$2(_objectSpread$2({}, DEFAULT_CONFIG), configArg);
|
|
117
117
|
var _useFetchFolders = useFetchFolders(config),
|
|
@@ -134,7 +134,7 @@ var useFolderStore = create(withImmutableActions(function (set) {
|
|
|
134
134
|
}));
|
|
135
135
|
|
|
136
136
|
function ownKeys$1(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; }
|
|
137
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t),
|
|
137
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
138
138
|
var useFolder = function useFolder(configArg) {
|
|
139
139
|
var config = _objectSpread$1(_objectSpread$1({}, DEFAULT_CONFIG), configArg);
|
|
140
140
|
var folderId = getActiveFolderId(config);
|
|
@@ -149,7 +149,7 @@ var useFolder = function useFolder(configArg) {
|
|
|
149
149
|
};
|
|
150
150
|
|
|
151
151
|
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; }
|
|
152
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
152
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
|
|
153
153
|
var useFolderActions = function useFolderActions(config) {
|
|
154
154
|
var queryClient = useQueryClient();
|
|
155
155
|
var _useFolderStore = useFolderStore(function (store) {
|
|
@@ -227,5 +227,5 @@ var useFolderActions = function useFolderActions(config) {
|
|
|
227
227
|
};
|
|
228
228
|
};
|
|
229
229
|
|
|
230
|
-
export { DEFAULT_CONFIG as D,
|
|
231
|
-
//# sourceMappingURL=useFolderActions-
|
|
230
|
+
export { DEFAULT_CONFIG as D, useFolderActions as a, useFolders as b, useFolderStore as c, useDestroyFolder as d, useFetchFolders as e, useCreateFolder as f, useUpdateFolder as g, useReorderFolders as h, useFolder as u };
|
|
231
|
+
//# sourceMappingURL=useFolderActions-B_2AW8DZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFolderActions-4NdTAEfb.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 { useMutation, useQuery, useQueryClient } 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 =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\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 folderActions: { moreMenuItems: [], addMenuItems: [] },\n itemActions: { moreMenuItems: [], addMenuItems: [] },\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: folderId && 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 useUpdateFolder,\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: onUpdate, isPending: isUpdating } =\n useUpdateFolder(config);\n\n const { mutateAsync: onBulkUpdate, isPending: isBulkUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isBulkDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = props =>\n setFolderState({ paneState: { type: \"add\", item: null, ...props } });\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 || isBulkUpdating || isBulkDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onUpdate,\n onBulkUpdate,\n onBulkDelete,\n onInvalidate,\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","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","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","folderActions","moreMenuItems","addMenuItems","itemActions","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useUpdateFolder","onUpdate","mutateAsync","isUpdating","isPending","_useBulkUpdateFolders","onBulkUpdate","isBulkUpdating","_useBulkDestroyFolder","onBulkDelete","isBulkDeleting","onInvalidate","onAdd","props","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFolderActions-B_2AW8DZ.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 { useMutation, useQuery, useQueryClient } 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 =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\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 folderActions: { moreMenuItems: [], addMenuItems: [] },\n itemActions: { moreMenuItems: [], addMenuItems: [] },\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: folderId && 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 useUpdateFolder,\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: onUpdate, isPending: isUpdating } =\n useUpdateFolder(config);\n\n const { mutateAsync: onBulkUpdate, isPending: isBulkUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isBulkDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = props =>\n setFolderState({ paneState: { type: \"add\", item: null, ...props } });\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 || isBulkUpdating || isBulkDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onUpdate,\n onBulkUpdate,\n onBulkDelete,\n onInvalidate,\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","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","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","folderActions","moreMenuItems","addMenuItems","itemActions","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useUpdateFolder","onUpdate","mutateAsync","isUpdating","isPending","_useBulkUpdateFolders","onBulkUpdate","isBulkUpdating","_useBulkDestroyFolder","onBulkDelete","isBulkDeleting","onInvalidate","onAdd","props","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
|
@@ -113,7 +113,7 @@ var DEFAULT_CONFIG = {
|
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
function ownKeys$2(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; }
|
|
116
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t),
|
|
116
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
117
117
|
var useFolders = function useFolders(configArg) {
|
|
118
118
|
var config = _objectSpread$2(_objectSpread$2({}, DEFAULT_CONFIG), configArg);
|
|
119
119
|
var _useFetchFolders = useFetchFolders(config),
|
|
@@ -136,7 +136,7 @@ var useFolderStore = zustand.create(reactUtils.withImmutableActions(function (se
|
|
|
136
136
|
}));
|
|
137
137
|
|
|
138
138
|
function ownKeys$1(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; }
|
|
139
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t),
|
|
139
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
140
140
|
var useFolder = function useFolder(configArg) {
|
|
141
141
|
var config = _objectSpread$1(_objectSpread$1({}, DEFAULT_CONFIG), configArg);
|
|
142
142
|
var folderId = internal.getActiveFolderId(config);
|
|
@@ -151,7 +151,7 @@ var useFolder = function useFolder(configArg) {
|
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
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; }
|
|
154
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t),
|
|
154
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
|
|
155
155
|
var useFolderActions = function useFolderActions(config) {
|
|
156
156
|
var queryClient = reactQuery.useQueryClient();
|
|
157
157
|
var _useFolderStore = useFolderStore(function (store) {
|
|
@@ -239,4 +239,4 @@ exports.useFolderStore = useFolderStore;
|
|
|
239
239
|
exports.useFolders = useFolders;
|
|
240
240
|
exports.useReorderFolders = useReorderFolders;
|
|
241
241
|
exports.useUpdateFolder = useUpdateFolder;
|
|
242
|
-
//# sourceMappingURL=useFolderActions-
|
|
242
|
+
//# sourceMappingURL=useFolderActions-DHvX75jy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFolderActions-DBZKRr8d.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 { useMutation, useQuery, useQueryClient } 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 =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\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 folderActions: { moreMenuItems: [], addMenuItems: [] },\n itemActions: { moreMenuItems: [], addMenuItems: [] },\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: folderId && 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 useUpdateFolder,\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: onUpdate, isPending: isUpdating } =\n useUpdateFolder(config);\n\n const { mutateAsync: onBulkUpdate, isPending: isBulkUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isBulkDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = props =>\n setFolderState({ paneState: { type: \"add\", item: null, ...props } });\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 || isBulkUpdating || isBulkDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onUpdate,\n onBulkUpdate,\n onBulkDelete,\n onInvalidate,\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","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","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","folderActions","moreMenuItems","addMenuItems","itemActions","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useUpdateFolder","onUpdate","mutateAsync","isUpdating","isPending","_useBulkUpdateFolders","onBulkUpdate","isBulkUpdating","_useBulkDestroyFolder","onBulkDelete","isBulkDeleting","onInvalidate","onAdd","props","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFolderActions-DHvX75jy.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 { useMutation, useQuery, useQueryClient } 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 =>\n useMutationWithInvalidation(config.api.create, {\n keysToInvalidate: [[QUERY_KEYS.FOLDERS, config.type]],\n });\n\nexport const useUpdateFolder = config => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: config.api.update,\n onSuccess: ({ sid }, { initialSlug }) => {\n if (initialSlug !== sid) {\n queryClient.removeQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n } else {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n }\n },\n });\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 folderActions: { moreMenuItems: [], addMenuItems: [] },\n itemActions: { moreMenuItems: [], addMenuItems: [] },\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: folderId && 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 useUpdateFolder,\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: onUpdate, isPending: isUpdating } =\n useUpdateFolder(config);\n\n const { mutateAsync: onBulkUpdate, isPending: isBulkUpdating } =\n useBulkUpdateFolders(config);\n\n const { mutateAsync: onBulkDelete, isPending: isBulkDeleting } =\n useBulkDestroyFolders(config);\n\n const onInvalidate = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.FOLDERS, config.type],\n });\n };\n\n const onAdd = props =>\n setFolderState({ paneState: { type: \"add\", item: null, ...props } });\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 || isBulkUpdating || isBulkDeleting;\n\n return {\n isPending,\n onAdd,\n onEdit,\n onMove,\n onDelete,\n onReorder,\n onUpdate,\n onBulkUpdate,\n onBulkDelete,\n onInvalidate,\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","useMutationWithInvalidation","create","keysToInvalidate","useUpdateFolder","queryClient","useQueryClient","useMutation","mutationFn","update","onSuccess","_ref","_ref2","sid","initialSlug","removeQueries","invalidateQueries","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","folderActions","moreMenuItems","addMenuItems","itemActions","useFolders","configArg","_objectSpread","_useFetchFolders","data","isLoading","useFolderStore","withImmutableActions","set","paneState","alertState","selectedItem","setFolderState","useFolder","getActiveFolderId","_useShowFolder","isFetching","slug","useFolderActions","_useFolderStore","store","shallow","_useUpdateFolder","onUpdate","mutateAsync","isUpdating","isPending","_useBulkUpdateFolders","onBulkUpdate","isBulkUpdating","_useBulkDestroyFolder","onBulkDelete","isBulkDeleting","onInvalidate","onAdd","props","onEdit","onMove","onDelete","onReorder"],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'ramda';
|
|
2
2
|
export { t as toastApiError } from './internal-DUPKoXC_.js';
|
|
3
|
-
export { f as flattenTree, p as pathToFolder } from './index-
|
|
3
|
+
export { f as flattenTree, p as pathToFolder } from './index-BkzhP3-H.js';
|
|
4
4
|
import '@bigbinary/neetoui/Toastr';
|
|
5
5
|
import 'react-router-dom';
|
|
6
6
|
import '@babel/runtime/helpers/defineProperty';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-folders-frontend",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.37",
|
|
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",
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"@babel/preset-env": "7.26.0",
|
|
59
59
|
"@babel/preset-react": "7.25.9",
|
|
60
60
|
"@babel/preset-typescript": "7.26.0",
|
|
61
|
-
"@babel/runtime": "7.
|
|
61
|
+
"@babel/runtime": "7.29.2",
|
|
62
62
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
63
|
-
"@bigbinary/eslint-plugin-neeto": "1.
|
|
63
|
+
"@bigbinary/eslint-plugin-neeto": "1.9.0",
|
|
64
64
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
65
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
66
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
65
|
+
"@bigbinary/neeto-commons-frontend": "4.13.123",
|
|
66
|
+
"@bigbinary/neeto-filters-frontend": "4.3.35",
|
|
67
67
|
"@bigbinary/neeto-hotkeys": "1.0.9",
|
|
68
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
69
|
-
"@bigbinary/neeto-molecules": "4.
|
|
70
|
-
"@bigbinary/neetoui": "8.
|
|
68
|
+
"@bigbinary/neeto-icons": "1.20.87",
|
|
69
|
+
"@bigbinary/neeto-molecules": "4.1.68",
|
|
70
|
+
"@bigbinary/neetoui": "8.6.0",
|
|
71
71
|
"@dnd-kit/core": "6.3.1",
|
|
72
72
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
73
73
|
"@emotion/is-prop-valid": "1.2.0",
|
|
@@ -75,8 +75,8 @@
|
|
|
75
75
|
"@honeybadger-io/js": "6.10.1",
|
|
76
76
|
"@honeybadger-io/react": "6.1.25",
|
|
77
77
|
"@rollup/plugin-alias": "5.1.1",
|
|
78
|
-
"@rollup/plugin-babel": "6.0
|
|
79
|
-
"@rollup/plugin-commonjs": "25.0.
|
|
78
|
+
"@rollup/plugin-babel": "6.1.0",
|
|
79
|
+
"@rollup/plugin-commonjs": "25.0.8",
|
|
80
80
|
"@rollup/plugin-json": "6.1.0",
|
|
81
81
|
"@rollup/plugin-node-resolve": "15.3.0",
|
|
82
82
|
"@rollup/plugin-replace": "5.0.4",
|
|
@@ -86,12 +86,11 @@
|
|
|
86
86
|
"@tanstack/react-query-devtools": "5.59.20",
|
|
87
87
|
"antd": "5.22.1",
|
|
88
88
|
"autoprefixer": "^10.4.5",
|
|
89
|
-
"axios": "1.12.0",
|
|
90
89
|
"babel-loader": "^8.2.5",
|
|
91
90
|
"babel-plugin-istanbul": "^6.1.1",
|
|
92
91
|
"babel-plugin-js-logger": "1.0.17",
|
|
93
92
|
"babel-plugin-macros": "3.1.0",
|
|
94
|
-
"babel-plugin-module-resolver": "
|
|
93
|
+
"babel-plugin-module-resolver": "5.0.3",
|
|
95
94
|
"babel-plugin-preval": "^5.1.0",
|
|
96
95
|
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
|
|
97
96
|
"babel-preset-react": "6.24.1",
|
|
@@ -101,7 +100,7 @@
|
|
|
101
100
|
"classnames": "2.5.1",
|
|
102
101
|
"crypto-browserify": "3.12.1",
|
|
103
102
|
"css-loader": "6.8.1",
|
|
104
|
-
"dompurify": "
|
|
103
|
+
"dompurify": "3.4.1",
|
|
105
104
|
"dotenv-webpack": "^8.0.1",
|
|
106
105
|
"eslint": "^9.25.1",
|
|
107
106
|
"eslint-config-prettier": "^10.1.2",
|
|
@@ -114,7 +113,7 @@
|
|
|
114
113
|
"eslint-plugin-react": "^7.37.5",
|
|
115
114
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
116
115
|
"eslint-plugin-security": "^3.0.1",
|
|
117
|
-
"eslint-plugin-sonarjs": "^
|
|
116
|
+
"eslint-plugin-sonarjs": "^4.0.2",
|
|
118
117
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
119
118
|
"eslint-plugin-xss": "^0.1.12",
|
|
120
119
|
"formik": "2.4.6",
|
|
@@ -131,14 +130,14 @@
|
|
|
131
130
|
"mixpanel-browser": "2.47.0",
|
|
132
131
|
"os-browserify": "0.3.0",
|
|
133
132
|
"path-browserify": "^1.0.1",
|
|
134
|
-
"postcss": "8.
|
|
133
|
+
"postcss": "8.5.10",
|
|
135
134
|
"postcss-import": "^15.0.0",
|
|
136
135
|
"postcss-loader": "^7.0.1",
|
|
137
136
|
"postcss-preset-env": "7.8.2",
|
|
138
137
|
"prettier": "3",
|
|
139
138
|
"prettier-plugin-tailwindcss": "0.6.14",
|
|
140
139
|
"process": "0.11.10",
|
|
141
|
-
"qs": "6.
|
|
140
|
+
"qs": "6.15.0",
|
|
142
141
|
"ramda": "0.29.0",
|
|
143
142
|
"react": "18.3.1",
|
|
144
143
|
"react-dom": "18.3.1",
|
|
@@ -146,26 +145,24 @@
|
|
|
146
145
|
"react-i18next": "12.3.1",
|
|
147
146
|
"react-router-dom": "5.3.3",
|
|
148
147
|
"react-toastify": "8.0.2",
|
|
149
|
-
"
|
|
150
|
-
"rollup": "4.25.0",
|
|
148
|
+
"rollup": "4.59.0",
|
|
151
149
|
"rollup-plugin-analyzer": "4.0.0",
|
|
152
150
|
"rollup-plugin-cleaner": "1.0.0",
|
|
153
151
|
"rollup-plugin-copy": "3.5.0",
|
|
154
152
|
"rollup-plugin-peer-deps-external": "2.2.4",
|
|
155
153
|
"rollup-plugin-styles": "4.0.0",
|
|
156
|
-
"sass": "1.
|
|
154
|
+
"sass": "1.98.0",
|
|
157
155
|
"sass-loader": "^13.0.2",
|
|
158
|
-
"shakapacker": "6.6.0",
|
|
159
156
|
"source-map-loader": "4.0.1",
|
|
160
157
|
"stream-browserify": "^3.0.0",
|
|
161
158
|
"stream-http": "3.2.0",
|
|
162
159
|
"style-loader": "^3.3.1",
|
|
163
160
|
"tailwindcss": "3.4.14",
|
|
164
161
|
"tty-browserify": "0.0.1",
|
|
165
|
-
"url": "
|
|
162
|
+
"url": "0.11.4",
|
|
166
163
|
"util": "^0.12.5",
|
|
167
164
|
"vm-browserify": "1.1.2",
|
|
168
|
-
"webpack": "5.
|
|
165
|
+
"webpack": "5.104.1",
|
|
169
166
|
"webpack-assets-manifest": "5.1.0",
|
|
170
167
|
"webpack-cli": "5.1.4",
|
|
171
168
|
"webpack-dev-server": "4.15.1",
|
|
@@ -173,14 +170,14 @@
|
|
|
173
170
|
"zustand": "4.4.2"
|
|
174
171
|
},
|
|
175
172
|
"peerDependencies": {
|
|
176
|
-
"@babel/runtime": "7.
|
|
173
|
+
"@babel/runtime": "7.29.2",
|
|
177
174
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
178
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
179
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
175
|
+
"@bigbinary/neeto-commons-frontend": "4.13.123",
|
|
176
|
+
"@bigbinary/neeto-filters-frontend": "4.3.35",
|
|
180
177
|
"@bigbinary/neeto-hotkeys": "1.0.9",
|
|
181
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
182
|
-
"@bigbinary/neeto-molecules": "4.
|
|
183
|
-
"@bigbinary/neetoui": "8.
|
|
178
|
+
"@bigbinary/neeto-icons": "1.20.87",
|
|
179
|
+
"@bigbinary/neeto-molecules": "4.1.68",
|
|
180
|
+
"@bigbinary/neetoui": "8.6.0",
|
|
184
181
|
"@dnd-kit/core": "6.3.1",
|
|
185
182
|
"@dnd-kit/modifiers": "^9.0.0",
|
|
186
183
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -189,11 +186,10 @@
|
|
|
189
186
|
"@tanstack/react-query": "5.59.20",
|
|
190
187
|
"@tanstack/react-query-devtools": "5.59.20",
|
|
191
188
|
"antd": "5.22.1",
|
|
192
|
-
"axios": "1.12.0",
|
|
193
189
|
"buffer": "^6.0.3",
|
|
194
190
|
"classnames": "2.5.1",
|
|
195
191
|
"crypto-browserify": "3.12.1",
|
|
196
|
-
"dompurify": "
|
|
192
|
+
"dompurify": "3.4.1",
|
|
197
193
|
"formik": "2.4.6",
|
|
198
194
|
"https-browserify": "1.0.0",
|
|
199
195
|
"i18next": "22.5.1",
|
|
@@ -201,7 +197,7 @@
|
|
|
201
197
|
"mixpanel-browser": "^2.45.0",
|
|
202
198
|
"os-browserify": "0.3.0",
|
|
203
199
|
"path-browserify": "^1.0.1",
|
|
204
|
-
"qs": "6.
|
|
200
|
+
"qs": "6.15.0",
|
|
205
201
|
"ramda": "0.29.0",
|
|
206
202
|
"react": "18.3.1",
|
|
207
203
|
"react-dom": "18.3.1",
|
|
@@ -214,7 +210,7 @@
|
|
|
214
210
|
"stream-http": "3.2.0",
|
|
215
211
|
"tailwindcss": "3.4.14",
|
|
216
212
|
"tty-browserify": "0.0.1",
|
|
217
|
-
"url": "
|
|
213
|
+
"url": "0.11.4",
|
|
218
214
|
"util": "^0.12.5",
|
|
219
215
|
"vm-browserify": "1.1.2",
|
|
220
216
|
"yup": "0.32.11",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-BrWMXN6M.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 { toastApiError } from \"./internal\";\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, toastApiError };\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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-KIfzNbYI.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 { toastApiError } from \"./internal\";\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, toastApiError };\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":";;;;;;;;;AAKA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAC,EAAEC,CAAC,EAAK;AAC5B,EAAA,IAAIC,WAAK,CAACF,CAAC,CAACG,IAAI,CAACC,OAAO,CAAC,IAAIF,WAAK,CAACD,CAAC,CAACE,IAAI,CAACC,OAAO,CAAC,EAAE;IAClD,OAAOJ,CAAC,CAACG,IAAI,CAACE,KAAK,GAAGJ,CAAC,CAACE,IAAI,CAACE,KAAK;GACnC,MAAM,IAAIH,WAAK,CAACF,CAAC,CAACG,IAAI,CAACC,OAAO,CAAC,EAAE;AAChC,IAAA,OAAOJ,CAAC,CAACG,IAAI,CAACE,KAAK,GAAGJ,CAAC,CAACE,IAAI,CAACC,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC;GAC9C,MAAM,IAAIF,WAAK,CAACD,CAAC,CAACE,IAAI,CAACC,OAAO,CAAC,EAAE;AAChC,IAAA,OAAOJ,CAAC,CAACG,IAAI,CAACC,OAAO,IAAIH,CAAC,CAACE,IAAI,CAACE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;AAChD;EAEA,OAAOL,CAAC,CAACG,IAAI,CAACC,OAAO,GAAGH,CAAC,CAACE,IAAI,CAACC,OAAO;AACxC,CAAC;AAEM,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,OAAO,EAAI;EACtC,IAAMC,GAAG,GAAG,EAAE;AACd,EAAA,IAAIC,IAAI;AAERF,EAAAA,OAAO,CAACG,OAAO,CAAC,UAAAC,IAAI,EAAI;IACtBH,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,GAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQF,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEG,MAAAA,QAAQ,EAAE;KAAI,CAAA;AACxC;IACA,OAAON,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAACT,IAAI,CAACC,OAAO;AAClC,GAAC,CAAC;AAEFG,EAAAA,OAAO,CAACG,OAAO,CAAC,UAAAC,IAAI,EAAI;AACtB,IAAA,IAAI,CAACA,IAAI,CAACR,IAAI,CAACY,MAAM,EAAEN,IAAI,GAAGD,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAAC,KACtCJ,GAAG,CAACG,IAAI,CAACR,IAAI,CAACY,MAAM,CAACH,EAAE,CAAC,CAACE,QAAQ,CAACE,IAAI,CAACR,GAAG,CAACG,IAAI,CAACC,EAAE,CAAC,CAAC;AAC3D,GAAC,CAAC;AAEF,EAAA,OAAOH,IAAI;AACb,CAAC;AAEM,IAAMQ,SAAQ,GAAG,SAAXA,QAAQA,CACnBC,IAAI,EACJC,EAAE,EAEC;EAAA,IADHhB,IAAI,GAAAiB,SAAA,CAAAC,MAAA,GAAAD,CAAAA,IAAAA,SAAA,CAAAE,CAAAA,CAAAA,KAAAA,SAAA,GAAAF,SAAA,CAAG,CAAA,CAAA,GAAA;AAAEf,IAAAA,KAAK,EAAE,CAAC;AAAEkB,IAAAA,KAAK,EAAE,CAAC;AAAER,IAAAA,MAAM,EAAE;GAAM;EAE3C,IAAI,CAACG,IAAI,EAAE;AAEXC,EAAAA,EAAE,CAACD,IAAI,EAAEf,IAAI,CAAC;AACd,EAAA,IAAIqB,gBAAO,CAACN,IAAI,CAACJ,QAAQ,CAAC,EAAE;IAC1BI,IAAI,CAACJ,QAAQ,CAACJ,OAAO,CAAC,UAACe,MAAM,EAAEpB,KAAK,EAAA;AAAA,MAAA,OAClCY,SAAQ,CAACQ,MAAM,EAAEN,EAAE,EAAE;AAAEJ,QAAAA,MAAM,EAAEG,IAAI;AAAEb,QAAAA,KAAK,EAALA,KAAK;AAAEkB,QAAAA,KAAK,EAAEpB,IAAI,CAACoB,KAAK,GAAG;AAAE,OAAC,CAAC;AAAA,KACtE,CAAC;AACH;AACF,CAAC;IAGYG,YAAY,GAAG,SAAfA,YAAYA,CAAGR,IAAI,EAAI;EAClC,IAAIS,QAAQ,GAAG,CAAC;AAEhBV,EAAAA,SAAQ,CAACC,IAAI,EAAE,UAACU,CAAC,EAAEzB,IAAI,EAAK;IAC1B,IAAIA,IAAI,CAACoB,KAAK,GAAGI,QAAQ,EAAEA,QAAQ,GAAGxB,IAAI,CAACoB,KAAK;AAClD,GAAC,CAAC;AAEF,EAAA,OAAOI,QAAQ;AACjB;;AAEA;IACaE,SAAS,GAAG,SAAZA,SAASA,CAAIX,IAAI,EAAiB;AAAA,EAAA,IAAfY,GAAG,GAAAV,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AACxC,EAAA,IAAIW,sBAAY,CAACb,IAAI,CAAC,EAAE,OAAO,EAAE;EAEjC,IAAMc,KAAK,GAAGR,gBAAO,CAACN,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC;EAC3C,IAAMe,UAAU,GAAG,EAAE;AAErBD,EAAAA,KAAK,CAACtB,OAAO,CAAC,UAAAD,IAAI,EAAI;AACpBQ,IAAAA,SAAQ,CAACR,IAAI,EAAE,UAACgB,MAAM,EAAEtB,IAAI,EAAK;MAC/B8B,UAAU,CAACR,MAAM,CAACK,GAAG,CAAC,CAAC,GAAAjB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAQY,MAAM,CAAA,EAAA,EAAA,EAAA;AAAEtB,QAAAA,IAAI,EAAJA;OAAM,CAAA;AAC/C,KAAC,CAAC;AACJ,GAAC,CAAC;AAEF,EAAA,OAAO8B,UAAU;AACnB;;AAEA;IACaC,SAAS,GAAG,SAAZA,SAASA,CAAGD,UAAU,EAAA;EAAA,OAAI3B,aAAa,CAAC6B,MAAM,CAACC,MAAM,CAACH,UAAU,CAAC,CAAC;AAAA;IAClEI,eAAe,GAAG,SAAlBA,eAAeA,CAAGJ,UAAU,EAAA;AAAA,EAAA,OACvC3B,aAAa,CAAC6B,MAAM,CAACC,MAAM,CAACH,UAAU,CAAC,CAACK,IAAI,CAACvC,WAAW,CAAC,CAAC;AAAA;;AC3E5D,IAAMwC,WAAW,GAAGC,UAAI,CAACX,SAAS,EAAEO,YAAM;AAEpCK,IAAAA,YAAY,GAAG,SAAfA,YAAYA,CAAIlC,OAAO,EAAEmC,QAAQ,EAAK;EAC1C,IAAMC,IAAI,GAAG,EAAE;AACf,EAAA,IAAMC,SAAS,GAAGf,SAAS,CAACtB,OAAO,CAAC;AACpC,EAAA,IAAI,CAACqC,SAAS,CAACF,QAAQ,CAAC,EAAE,OAAOC,IAAI;AAErC,EAAA,IAAIE,OAAO,GAAGD,SAAS,CAACF,QAAQ,CAAC;AACjC,EAAA,OAAOG,OAAO,EAAE;AAAA,IAAA,IAAAC,oBAAA;AACdH,IAAAA,IAAI,CAACI,OAAO,CAACF,OAAO,CAAC;AACrBA,IAAAA,OAAO,GAAGD,SAAS,CAAA,CAAAE,oBAAA,GAACD,OAAO,CAAC1C,IAAI,CAACY,MAAM,cAAA+B,oBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,oBAAA,CAAqBlC,EAAE,CAAC;AAC9C;AAEA,EAAA,OAAO+B,IAAI;AACb;;;;;;;;;"}
|