@heliux-org/design-system-core 0.0.403-tree-updates → 0.0.405-Tree-updates-final

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/dist/Tree.js +1 -1
  2. package/dist/Tree.js.map +1 -1
  3. package/dist/components/Tree/Tree.js +4 -7
  4. package/dist/components/Tree/Tree.js.map +1 -1
  5. package/dist/components/Tree/components/TreeFile/TreeFile.js +4 -3
  6. package/dist/components/Tree/components/TreeFile/TreeFile.js.map +1 -1
  7. package/dist/components/Tree/components/TreeFolder/TreeFolder.js +4 -3
  8. package/dist/components/Tree/components/TreeFolder/TreeFolder.js.map +1 -1
  9. package/dist/esm/components/Tree/Tree.d.ts +1 -0
  10. package/dist/esm/components/Tree/Tree.d.ts.map +1 -1
  11. package/dist/esm/components/Tree/components/TreeFile/TreeFile.d.ts +1 -0
  12. package/dist/esm/components/Tree/components/TreeFile/TreeFile.d.ts.map +1 -1
  13. package/dist/esm/components/Tree/components/TreeFolder/TreeFolder.d.ts +1 -0
  14. package/dist/esm/components/Tree/components/TreeFolder/TreeFolder.d.ts.map +1 -1
  15. package/dist/esm/src/components/Tree/Tree.js +1 -1
  16. package/dist/esm/src/components/Tree/Tree.js.map +1 -1
  17. package/dist/esm/src/components/Tree/components/TreeFile/TreeFile.js +1 -1
  18. package/dist/esm/src/components/Tree/components/TreeFile/TreeFile.js.map +1 -1
  19. package/dist/esm/src/components/Tree/components/TreeFolder/TreeFolder.js +1 -1
  20. package/dist/esm/src/components/Tree/components/TreeFolder/TreeFolder.js.map +1 -1
  21. package/dist/main.js +1 -1
  22. package/dist/main.js.map +1 -1
  23. package/dist/mocked_classnames_esm/components/Tree/Tree.d.ts +1 -0
  24. package/dist/mocked_classnames_esm/components/Tree/Tree.d.ts.map +1 -1
  25. package/dist/mocked_classnames_esm/components/Tree/components/TreeFile/TreeFile.d.ts +1 -0
  26. package/dist/mocked_classnames_esm/components/Tree/components/TreeFile/TreeFile.d.ts.map +1 -1
  27. package/dist/mocked_classnames_esm/components/Tree/components/TreeFolder/TreeFolder.d.ts +1 -0
  28. package/dist/mocked_classnames_esm/components/Tree/components/TreeFolder/TreeFolder.d.ts.map +1 -1
  29. package/dist/mocked_classnames_esm/src/components/Tree/Tree.js +1 -1
  30. package/dist/mocked_classnames_esm/src/components/Tree/Tree.js.map +1 -1
  31. package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFile/TreeFile.js +1 -1
  32. package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFile/TreeFile.js.map +1 -1
  33. package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFolder/TreeFolder.js +1 -1
  34. package/dist/mocked_classnames_esm/src/components/Tree/components/TreeFolder/TreeFolder.js.map +1 -1
  35. package/dist/types/components/Tree/Tree.d.ts +1 -0
  36. package/dist/types/components/Tree/Tree.d.ts.map +1 -1
  37. package/dist/types/components/Tree/components/TreeFile/TreeFile.d.ts +1 -0
  38. package/dist/types/components/Tree/components/TreeFile/TreeFile.d.ts.map +1 -1
  39. package/dist/types/components/Tree/components/TreeFolder/TreeFolder.d.ts +1 -0
  40. package/dist/types/components/Tree/components/TreeFolder/TreeFolder.d.ts.map +1 -1
  41. package/package.json +2 -2
  42. package/src/components/Tree/Tree.tsx +6 -6
  43. package/src/components/Tree/__stories__/Tree.stories.tsx +40 -20
  44. package/src/components/Tree/components/TreeFile/TreeFile.tsx +5 -2
  45. package/src/components/Tree/components/TreeFolder/TreeFolder.tsx +5 -2
@@ -159,12 +159,9 @@ const Tree = (_a) => {
159
159
  }
160
160
  };
161
161
  const isImperative = Boolean(value && value.length > 0);
162
- const onFileClick = (path) => {
162
+ const onFileClick = (path, node) => {
163
163
  if (onClick && treeData) {
164
- const node = findNodeByPath(treeData, path);
165
- if (node) {
166
- onClick(path, node);
167
- }
164
+ onClick(path, node);
168
165
  }
169
166
  };
170
167
  const initialValue = (0, react_1.useMemo)(() => ({
@@ -188,9 +185,9 @@ const Tree = (_a) => {
188
185
  return sortedValue.map((item, index) => {
189
186
  const currentPath = parentPath ? `${parentPath}/${item.name}` : item.name;
190
187
  if (item.type === directoryType) {
191
- return ((0, jsx_runtime_1.jsx)(TreeFolder_1.default, Object.assign({ name: item.name, extra: item.extra, onMove: readOnly ? undefined : onMove, parentPath: parentPath, level: level, active: (item === null || item === void 0 ? void 0 : item.active) || false }, { children: makeChildren(item.files || [], onMove, enableSorting, level + 1, currentPath) }), `folder-${item.name}-${index}`));
188
+ return ((0, jsx_runtime_1.jsx)(TreeFolder_1.default, Object.assign({ id: item.id, name: item.name, extra: item.extra, onMove: readOnly ? undefined : onMove, parentPath: parentPath, level: level, active: (item === null || item === void 0 ? void 0 : item.active) || false }, { children: makeChildren(item.files || [], onMove, enableSorting, level + 1, currentPath) }), `folder-${item.id}`));
192
189
  }
193
- return ((0, jsx_runtime_1.jsx)(TreeFile_1.default, { name: item.name, extra: item.extra, onMove: readOnly ? undefined : onMove, parentPath: parentPath, level: level, active: (item === null || item === void 0 ? void 0 : item.active) || false }, `file-${item.name}-${index}`));
190
+ return ((0, jsx_runtime_1.jsx)(TreeFile_1.default, { id: item.id, name: item.name, extra: item.extra, onMove: readOnly ? undefined : onMove, parentPath: parentPath, level: level, active: (item === null || item === void 0 ? void 0 : item.active) || false }, `file-${item.name}-${index}`));
194
191
  });
195
192
  };
196
193
  const customChildren = isImperative
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ const defaultProps = {
27
27
  parentPath: "",
28
28
  };
29
29
  const TreeFile = (_a) => {
30
- var { name, parentPath, level, extra, className, onMove, active = false } = _a, props = __rest(_a, ["name", "parentPath", "level", "extra", "className", "onMove", "active"]);
30
+ var { id, name, parentPath, level, extra, className, onMove, active = false } = _a, props = __rest(_a, ["id", "name", "parentPath", "level", "extra", "className", "onMove", "active"]);
31
31
  const { onFileClick, childIconPath } = (0, TreeContext_1.useTreeContext)();
32
32
  const currentPath = (0, react_1.useMemo)(() => (0, treeHelp_1.makeChildPath)(name, parentPath), [
33
33
  name,
@@ -53,14 +53,15 @@ const TreeFile = (_a) => {
53
53
  if (onFileClick) {
54
54
  onFileClick(currentPath, {
55
55
  type: "file",
56
+ id,
56
57
  name,
57
58
  extra,
58
- active
59
+ active,
59
60
  });
60
61
  }
61
62
  };
62
63
  const containerStyle = {
63
- paddingLeft: `calc(1.875rem * ${level})`,
64
+ paddingLeft: `calc(1.875rem * ${level + 1})`,
64
65
  };
65
66
  return ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: (node) => dragRef(dropRef(node)), className: `file-container ${className} ${isDragging ? "dragging" : ""} ${active ? "active" : ""}`, style: containerStyle, onClick: clickHandler }, props, { children: (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "names" }, { children: [childIconPath !== "default" && ((0, jsx_runtime_1.jsx)("span", Object.assign({ className: "icon" }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { iconType: Icon_1.default.type.PATH, icon: "",
66
67
  //@ts-ignore
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFile.js","sourceRoot":"","sources":["../../../../../src/components/Tree/components/TreeFile/TreeFile.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeFile.js","sourceRoot":"","sources":["../../../../../src/components/Tree/components/TreeFile/TreeFile.tsx"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ const defaultProps = {
52
52
  parentPath: "",
53
53
  };
54
54
  const TreeFolder = (_a) => {
55
- var { name, children, parentPath, level: parentLevel, extra, className, active = false, onMove } = _a, props = __rest(_a, ["name", "children", "parentPath", "level", "extra", "className", "active", "onMove"]);
55
+ var { id, name, children, parentPath, level: parentLevel, extra, className, active = false, onMove } = _a, props = __rest(_a, ["id", "name", "children", "parentPath", "level", "extra", "className", "active", "onMove"]);
56
56
  const { onFileClick, initialExpand, isImperative, alwaysExpanded, parentIconPath } = (0, TreeContext_1.useTreeContext)();
57
57
  const [expanded, setExpanded] = (0, react_1.useState)(alwaysExpanded || initialExpand);
58
58
  (0, react_1.useEffect)(() => {
@@ -89,16 +89,17 @@ const TreeFolder = (_a) => {
89
89
  if (onFileClick) {
90
90
  onFileClick(currentPath, {
91
91
  type: "directory",
92
+ id,
92
93
  name,
93
94
  extra,
94
95
  //@ts-ignore
95
96
  files: react_1.default.Children.toArray(children),
96
- active
97
+ active,
97
98
  });
98
99
  }
99
100
  };
100
101
  const namesStyle = {
101
- paddingLeft: parentLevel === 0 ? "4px" : `calc(1.875rem * ${parentLevel})`,
102
+ paddingLeft: `calc(1.875rem * ${parentLevel + 1})`,
102
103
  };
103
104
  return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ className: `folder-container ${className} ${isDragging ? "dragging" : ""}` }, props, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ ref: (node) => dragRef(dropRef(node)), className: `names ${active && "active"} ${isOver ? "drop-target" : ""}`, "data-level": parentLevel, style: namesStyle, onClick: clickHandler }, { children: [(0, jsx_runtime_1.jsx)("span", Object.assign({ className: "status" }, { children: (0, jsx_runtime_1.jsx)(TreeStatusIcon_1.default, { active: expanded }) })), parentIconPath !== "default" && ((0, jsx_runtime_1.jsx)("span", Object.assign({ className: "icon" }, { children: (0, jsx_runtime_1.jsx)(Icon_1.default, { iconType: Icon_1.default.type.PATH, icon: "",
104
105
  //@ts-ignore
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFolder.js","sourceRoot":"","sources":["../../../../../src/components/Tree/components/TreeFolder/TreeFolder.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeFolder.js","sourceRoot":"","sources":["../../../../../src/components/Tree/components/TreeFolder/TreeFolder.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import { PathName } from "../Icon/SvgIcon/paths";
3
3
  declare const FileTreeValueType: ["directory", "file"];
4
4
  export type TreeFile = {
5
+ id: number | string;
5
6
  type: (typeof FileTreeValueType)[number];
6
7
  name: string;
7
8
  extra?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,QAAA,MAAM,iBAAiB,uBAA6B,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,EAAE,WAAW,EAAE,QAAQ,KAAK,IAAI,CAAC;CACvH;AAQD,KAAK,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC;AAE5C,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CA+PtD,CAAC;AAKF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../../../src/components/Tree/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjD,QAAA,MAAM,iBAAiB,uBAA6B,CAAC;AAGrD,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAG,IAAI,EAAE,WAAW,EAAE,QAAQ,KAAK,IAAI,CAAC;CACvH;AAQD,KAAK,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC;AAChE,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC;AAE5C,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CA8PtD,CAAC;AAKF,eAAe,IAAI,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import "./TreeFile.scss";
3
3
  interface Props {
4
+ id: number | string;
4
5
  name: string;
5
6
  extra?: string;
6
7
  parentPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFile.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/components/TreeFile/TreeFile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,iBAAiB,CAAC;AAMzB,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAQD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkF7B,CAAC;AAGF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TreeFile.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/components/TreeFile/TreeFile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,iBAAiB,CAAC;AAMzB,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAQD,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoF7B,CAAC;AAGF,eAAe,QAAQ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import "./TreeFolder.scss";
3
3
  interface Props {
4
+ id: number | string;
4
5
  name: string;
5
6
  extra?: string;
6
7
  parentPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFolder.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/components/TreeFolder/TreeFolder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,mBAAmB,CAAC;AAY3B,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAQD,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAkHxD,CAAC;AAKF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"TreeFolder.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Tree/components/TreeFolder/TreeFolder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,mBAAmB,CAAC;AAY3B,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAQD,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAoHxD,CAAC;AAKF,eAAe,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,createForOfIteratorHelper as n,toConsumableArray as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as a}from"../../../_virtual/_tslib.js";import{jsx as r}from"@emotion/react/jsx-runtime";import{useState as i,useEffect as o,useMemo as l}from"react";import c from"./components/TreeFolder/TreeFolder.js";import f from"./components/TreeFile/TreeFile.js";import{TreeContext as s}from"./TreeContext.js";import{sortChildren as d}from"./utils/treeHelp.js";import{DndProvider as u}from"react-dnd";import{HTML5Backend as p}from"react-dnd-html5-backend";var v=function(){for(var e=arguments.length,n=Array(e),t=0;e>t;t++)n[t]=arguments[t];return n}("directory","file")[0],m=function(m){var h=m.children,y=m.onClick,g=m.initialExpand,j=void 0!==g&&g,b=m.alwaysExpanded,x=void 0!==b&&b,O=m.parentIconPath,T=void 0===O?"default":O,P=m.childIconPath,E=void 0===P?"default":P,I=m.value,C=m.className,F=m.enableSorting,k=void 0!==F&&F,N=m.readOnly,w=void 0!==N&&N,M=m.onMove,_=a(m,["children","onClick","initialExpand","alwaysExpanded","parentIconPath","childIconPath","value","className","enableSorting","readOnly","onMove"]),A=i(I),B=e(A,2),H=B[0],S=B[1];o((function(){I&&S(I)}),[I]);var q=function e(t,a){var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=n(t);try{for(o.s();!(r=o.n()).done;){var l=r.value,c=i?"".concat(i,"/").concat(l.name):l.name;if(l.name===a)return c;if(l.type===v&&l.files){var f=e(l.files,a,c);if(f)return f}}}catch(e){o.e(e)}finally{o.f()}return null},z=function(e,n){if(!H)return!1;var t,a,r,i=q(H,e.split("/").pop()||"")||e,o=q(H,n.split("/").pop()||"")||n;return t=o,a=i.split("/").filter(Boolean),(r=t.split("/").filter(Boolean)).length>a.length&&a.every((function(e,n){return e===r[n]}))},D=function e(n,a){for(var r=0;n.length>r;r++){var i=n[r],o=a.split("/").pop()||"";if(i.name===o)return{node:i,updatedTree:[].concat(t(n.slice(0,r)),t(n.slice(r+1)))};if(i.type===v&&i.files){var l=e(i.files,a),c=l.node;if(c)return n[r].files=l.updatedTree,{node:c,updatedTree:n}}}return{updatedTree:n}},G=function e(n,a,r){var i=a.split("/"),o=i.pop()||"",l=i.join("/");return n.map((function(n){var i=l?"".concat(l,"/").concat(n.name):n.name;if(n.type===v){if(i===l)return Object.assign(Object.assign({},n),{files:[].concat(t(n.files||[]),[r])});if(n.name===o)return Object.assign(Object.assign({},n),{files:[].concat(t(n.files||[]),[r])});if(n.files)return Object.assign(Object.assign({},n),{files:e(n.files,a,r)})}return n}))},J=function(e,t){var a,r=t.split("/"),i=e,o=null,l=n(r);try{var c,f=function(){var e=a.value;if(!(o=i.find((function(n){return n.name===e}))||null))return{v:null};o.files&&(i=o.files)};for(l.s();!(a=l.n()).done;)if(c=f())return c.v}catch(e){l.e(e)}finally{l.f()}return o},K=function e(t,a){var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=n(t);try{for(o.s();!(r=o.n()).done;){var l=r.value,c=i?"".concat(i,"/").concat(l.name):l.name;if(l.name===a)return c;if(l.type===v&&l.files){var f=e(l.files,a,c);if(f)return f}}}catch(e){o.e(e)}finally{o.f()}return a},L=!(!I||0>=I.length),Q=function(e){if(y&&H){var n=J(H,e);n&&y(e,n)}},R=l((function(){return{onFileClick:Q,initialExpand:x||j,isImperative:L,alwaysExpanded:x,parentIconPath:T,childIconPath:E}}),[j,Q,L,x,T,E]),U=L?function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"";return n&&n.length?(a?n.sort((function(e,n){return e.type!==n.type?e.type!==v?1:-1:e.name.localeCompare(n.name)})):n).map((function(n,l){var s=o?"".concat(o,"/").concat(n.name):n.name;return n.type===v?r(c,Object.assign({name:n.name,extra:n.extra,onMove:w?void 0:t,parentPath:o,level:i,active:(null==n?void 0:n.active)||!1},{children:e(n.files||[],t,a,i+1,s)}),"folder-".concat(n.name,"-").concat(l)):r(f,{name:n.name,extra:n.extra,onMove:w?void 0:t,parentPath:o,level:i,active:(null==n?void 0:n.active)||!1},"file-".concat(n.name,"-").concat(l))})):null}(H||[],(function(e,n){if(H&&!w){var t=e.split("/").pop()||"",a=n.split("/").pop()||"",r=K(H,t),i=K(H,a);if(!z(r,i)){var o=D(H,e),l=o.node,c=o.updatedTree;if(l){var f=J(H,n),s=n;if(f&&f.type!==v){var d=n.split("/");d.pop(),s=d.join("/")}var u=G(c,s,l);S(u);var p=J(u,s);M(r,i,p||null,l)}}}}),k):d(h,c);return r(u,Object.assign({backend:p},{children:r(s.Provider,Object.assign({value:R},{children:r("div",Object.assign({className:C},_,{children:U}))}))}))};m.defaultProps={initialExpand:!1,alwaysExpanded:!1,className:""},m.displayName="Tree";export{m as default};
1
+ import{slicedToArray as e,toConsumableArray as n,createForOfIteratorHelper as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as r}from"../../../_virtual/_tslib.js";import{jsx as a}from"@emotion/react/jsx-runtime";import{useState as i,useEffect as o,useMemo as l}from"react";import c from"./components/TreeFolder/TreeFolder.js";import f from"./components/TreeFile/TreeFile.js";import{TreeContext as s}from"./TreeContext.js";import{sortChildren as d}from"./utils/treeHelp.js";import{DndProvider as u}from"react-dnd";import{HTML5Backend as p}from"react-dnd-html5-backend";var v=function(){for(var e=arguments.length,n=Array(e),t=0;e>t;t++)n[t]=arguments[t];return n}("directory","file")[0],m=function(m){var h=m.children,y=m.onClick,g=m.initialExpand,j=void 0!==g&&g,b=m.alwaysExpanded,x=void 0!==b&&b,O=m.parentIconPath,T=void 0===O?"default":O,P=m.childIconPath,E=void 0===P?"default":P,I=m.value,C=m.className,F=m.enableSorting,k=void 0!==F&&F,N=m.readOnly,w=void 0!==N&&N,M=m.onMove,_=r(m,["children","onClick","initialExpand","alwaysExpanded","parentIconPath","childIconPath","value","className","enableSorting","readOnly","onMove"]),A=i(I),B=e(A,2),H=B[0],S=B[1];o((function(){I&&S(I)}),[I]);var q=function e(n,r){var a,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=t(n);try{for(o.s();!(a=o.n()).done;){var l=a.value,c=i?"".concat(i,"/").concat(l.name):l.name;if(l.name===r)return c;if(l.type===v&&l.files){var f=e(l.files,r,c);if(f)return f}}}catch(e){o.e(e)}finally{o.f()}return null},z=function(e,n){if(!H)return!1;var t,r,a,i=q(H,e.split("/").pop()||"")||e,o=q(H,n.split("/").pop()||"")||n;return t=o,r=i.split("/").filter(Boolean),(a=t.split("/").filter(Boolean)).length>r.length&&r.every((function(e,n){return e===a[n]}))},D=function e(t,r){for(var a=0;t.length>a;a++){var i=t[a],o=r.split("/").pop()||"";if(i.name===o)return{node:i,updatedTree:[].concat(n(t.slice(0,a)),n(t.slice(a+1)))};if(i.type===v&&i.files){var l=e(i.files,r),c=l.node;if(c)return t[a].files=l.updatedTree,{node:c,updatedTree:t}}}return{updatedTree:t}},G=function e(t,r,a){var i=r.split("/"),o=i.pop()||"",l=i.join("/");return t.map((function(t){var i=l?"".concat(l,"/").concat(t.name):t.name;if(t.type===v){if(i===l)return Object.assign(Object.assign({},t),{files:[].concat(n(t.files||[]),[a])});if(t.name===o)return Object.assign(Object.assign({},t),{files:[].concat(n(t.files||[]),[a])});if(t.files)return Object.assign(Object.assign({},t),{files:e(t.files,r,a)})}return t}))},J=function(e,n){var r,a=n.split("/"),i=e,o=null,l=t(a);try{var c,f=function(){var e=r.value;if(!(o=i.find((function(n){return n.name===e}))||null))return{v:null};o.files&&(i=o.files)};for(l.s();!(r=l.n()).done;)if(c=f())return c.v}catch(e){l.e(e)}finally{l.f()}return o},K=function e(n,r){var a,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=t(n);try{for(o.s();!(a=o.n()).done;){var l=a.value,c=i?"".concat(i,"/").concat(l.name):l.name;if(l.name===r)return c;if(l.type===v&&l.files){var f=e(l.files,r,c);if(f)return f}}}catch(e){o.e(e)}finally{o.f()}return r},L=!(!I||0>=I.length),Q=function(e,n){y&&H&&y(e,n)},R=l((function(){return{onFileClick:Q,initialExpand:x||j,isImperative:L,alwaysExpanded:x,parentIconPath:T,childIconPath:E}}),[j,Q,L,x,T,E]),U=L?function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"";return n&&n.length?(r?n.sort((function(e,n){return e.type!==n.type?e.type!==v?1:-1:e.name.localeCompare(n.name)})):n).map((function(n,l){var s=o?"".concat(o,"/").concat(n.name):n.name;return n.type===v?a(c,Object.assign({id:n.id,name:n.name,extra:n.extra,onMove:w?void 0:t,parentPath:o,level:i,active:(null==n?void 0:n.active)||!1},{children:e(n.files||[],t,r,i+1,s)}),"folder-".concat(n.id)):a(f,{id:n.id,name:n.name,extra:n.extra,onMove:w?void 0:t,parentPath:o,level:i,active:(null==n?void 0:n.active)||!1},"file-".concat(n.name,"-").concat(l))})):null}(H||[],(function(e,n){if(H&&!w){var t=e.split("/").pop()||"",r=n.split("/").pop()||"",a=K(H,t),i=K(H,r);if(!z(a,i)){var o=D(H,e),l=o.node,c=o.updatedTree;if(l){var f=J(H,n),s=n;if(f&&f.type!==v){var d=n.split("/");d.pop(),s=d.join("/")}var u=G(c,s,l);S(u);var p=J(u,s);M(a,i,p||null,l)}}}}),k):d(h,c);return a(u,Object.assign({backend:p},{children:a(s.Provider,Object.assign({value:R},{children:a("div",Object.assign({className:C},_,{children:U}))}))}))};m.defaultProps={initialExpand:!1,alwaysExpanded:!1,className:""},m.displayName="Tree";export{m as default};
2
2
  //# sourceMappingURL=Tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sources":["../../../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport TreeFolder from \"./components/TreeFolder/TreeFolder\";\nimport TreeFile from \"./components/TreeFile/TreeFile\";\nimport { TreeContext } from \"./TreeContext\";\nimport { makeChildPath, sortChildren } from \"./utils/treeHelp\";\nimport { PathName } from \"../Icon/SvgIcon/paths\";\nimport { DndProvider } from \"react-dnd\";\nimport { HTML5Backend } from 'react-dnd-html5-backend';\n\nconst tuple = <T extends string[]>(...args: T) => args;\n\nconst FileTreeValueType = tuple(\"directory\", \"file\");\nconst directoryType = FileTreeValueType[0];\n\nexport type TreeFile = {\n type: (typeof FileTreeValueType)[number];\n name: string;\n extra?: string;\n files?: Array<TreeFile>;\n active?: boolean;\n};\n\ninterface Props {\n value?: Array<TreeFile>;\n initialExpand?: boolean;\n alwaysExpanded?: boolean;\n parentIconPath?: PathName;\n childIconPath?: PathName;\n onClick?: (path: string, node: TreeFile) => void;\n className?: string;\n enableSorting?: boolean;\n readOnly?: boolean\n onMove: (draggedItemPath: string, dropTargetPath: string, parentNode: TreeFile | null, draggedNode: TreeFile) => void;\n}\n\nconst defaultProps = {\n initialExpand: false,\n alwaysExpanded: false,\n className: \"\",\n};\n\ntype NativeAttrs = Omit<React.HTMLAttributes<any>, keyof Props>;\nexport type TreeProps = Props & NativeAttrs;\n\nconst Tree: React.FC<React.PropsWithChildren<TreeProps>> = ({\n children,\n onClick,\n initialExpand = false,\n alwaysExpanded = false,\n parentIconPath = \"default\",\n childIconPath = \"default\",\n value,\n className,\n enableSorting = false,\n readOnly = false,\n onMove,\n ...props\n}: React.PropsWithChildren<TreeProps>) => {\n const [treeData, setTreeData] = useState(value);\n\n useEffect(() => {\n if (value) {\n setTreeData(value);\n }\n }, [value]);\n\n const findFullPath = (nodes: TreeFile[], targetName: string, currentPath: string = \"\"): string | null => {\n for (const node of nodes) {\n const nodePath = currentPath ? `${currentPath}/${node.name}` : node.name;\n if (node.name === targetName) {\n return nodePath;\n }\n if (node.type === directoryType && node.files) {\n const foundPath = findFullPath(node.files, targetName, nodePath);\n if (foundPath) return foundPath;\n }\n }\n return null;\n };\n\n const isParentPath = (parentPath: string, childPath: string): boolean => {\n const parentParts = parentPath.split('/').filter(Boolean);\n const childParts = childPath.split('/').filter(Boolean);\n\n if (parentParts.length >= childParts.length) return false;\n\n return parentParts.every((part, index) => part === childParts[index]);\n };\n\n const isChildOfSource = (sourcePath: string, targetPath: string): boolean => {\n if (!treeData) return false;\n\n const fullSourcePath = findFullPath(treeData, sourcePath.split('/').pop() || \"\") || sourcePath;\n const fullTargetPath = findFullPath(treeData, targetPath.split('/').pop() || \"\") || targetPath;\n\n return isParentPath(fullSourcePath, fullTargetPath);\n };\n\n const findAndRemoveNode = (nodes: TreeFile[], path: string): { node?: TreeFile; updatedTree: TreeFile[] } => {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n const nodeName = path.split('/').pop() || \"\";\n\n if (node.name === nodeName) {\n return { node, updatedTree: [...nodes.slice(0, i), ...nodes.slice(i + 1)] };\n } else if (node.type === directoryType && node.files) {\n const { node: foundNode, updatedTree: updatedFiles } = findAndRemoveNode(node.files, path);\n if (foundNode) {\n nodes[i].files = updatedFiles;\n return { node: foundNode, updatedTree: nodes };\n }\n }\n }\n return { updatedTree: nodes };\n };\n\n const addNodeToTarget = (nodes: TreeFile[], targetPath: string, node: TreeFile): TreeFile[] => {\n const pathParts = targetPath.split('/');\n const targetName = pathParts.pop() || \"\";\n const parentPath = pathParts.join('/');\n \n return nodes.map((item) => {\n const itemPath = parentPath ? `${parentPath}/${item.name}` : item.name;\n \n if (item.type === directoryType) {\n if (itemPath === parentPath) {\n return {\n ...item,\n files: [...(item.files || []), node]\n };\n }\n\n if (item.name === targetName) {\n return {\n ...item,\n files: [...(item.files || []), node]\n };\n }\n\n if (item.files) {\n return {\n ...item,\n files: addNodeToTarget(item.files, targetPath, node)\n };\n }\n }\n return item;\n });\n };\n\n const findNodeByPath = (nodes: TreeFile[], path: string): TreeFile | null => {\n const pathParts = path.split('/');\n let currentNodes = nodes;\n let currentNode: TreeFile | null = null;\n\n for (const part of pathParts) {\n currentNode = currentNodes.find(node => node.name === part) || null;\n if (!currentNode) return null;\n if (currentNode.files) {\n currentNodes = currentNode.files;\n }\n }\n\n return currentNode;\n };\n\n const buildFullPath = (nodes: TreeFile[], targetName: string, currentPath: string = \"\"): string => {\n for (const node of nodes) {\n const nodePath = currentPath ? `${currentPath}/${node.name}` : node.name;\n \n if (node.name === targetName) {\n return nodePath;\n }\n \n if (node.type === directoryType && node.files) {\n const foundPath = buildFullPath(node.files, targetName, nodePath);\n if (foundPath) return foundPath;\n }\n }\n return targetName;\n };\n\n const handleMove = (draggedPath: string, targetPath: string) => {\n if (!treeData) return;\n if (readOnly) return;\n \n const draggedName = draggedPath.split('/').pop() || \"\";\n const targetName = targetPath.split('/').pop() || \"\";\n \n const fullSourcePath = buildFullPath(treeData, draggedName);\n const fullTargetPath = buildFullPath(treeData, targetName);\n \n if (isChildOfSource(fullSourcePath, fullTargetPath)) {\n return;\n }\n \n const { node: draggedNode, updatedTree } = findAndRemoveNode(treeData, draggedPath);\n \n if (draggedNode) {\n const targetNode = findNodeByPath(treeData, targetPath);\n\n let finalTargetPath = targetPath;\n\n if (targetNode && targetNode.type !== directoryType) {\n const pathParts = targetPath.split('/');\n pathParts.pop();\n finalTargetPath = pathParts.join('/');\n }\n\n const newTreeData = addNodeToTarget(updatedTree, finalTargetPath, draggedNode);\n setTreeData(newTreeData);\n const newParentNode = findNodeByPath(newTreeData, finalTargetPath);\n onMove(fullSourcePath, fullTargetPath, newParentNode || null, draggedNode);\n }\n };\n\n const isImperative = Boolean(value && value.length > 0);\n const onFileClick = (path: string) => {\n if (onClick && treeData) {\n const node = findNodeByPath(treeData, path);\n if (node) {\n onClick(path, node);\n }\n }\n };\n\n const initialValue = useMemo(\n () => ({\n onFileClick,\n initialExpand: alwaysExpanded || initialExpand,\n isImperative,\n alwaysExpanded,\n parentIconPath,\n childIconPath,\n }),\n [initialExpand, onFileClick, isImperative, alwaysExpanded, parentIconPath, childIconPath]\n );\n\n const makeChildren = (\n value: Array<TreeFile> = [],\n onMove: (draggedPath: string, targetPath: string) => void,\n enableSorting: boolean,\n level: number = 0,\n parentPath: string = \"\",\n ) => {\n if (!value || !value.length) return null;\n \n const sortedValue = enableSorting\n ? value.sort((a, b) => {\n if (a.type !== b.type) return a.type !== directoryType ? 1 : -1;\n return a.name.localeCompare(b.name);\n })\n : value;\n \n return sortedValue.map((item, index) => {\n const currentPath = parentPath ? `${parentPath}/${item.name}` : item.name;\n \n if (item.type === directoryType) {\n return (\n <TreeFolder\n name={item.name}\n extra={item.extra}\n key={`folder-${item.name}-${index}`}\n onMove={readOnly ? undefined : onMove}\n parentPath={parentPath}\n level={level}\n active={item?.active || false}\n >\n {makeChildren(item.files || [], onMove, enableSorting, level + 1, currentPath)}\n </TreeFolder>\n );\n }\n return (\n <TreeFile\n name={item.name}\n extra={item.extra}\n key={`file-${item.name}-${index}`}\n onMove={readOnly ? undefined : onMove}\n parentPath={parentPath}\n level={level}\n active={item?.active || false}\n />\n );\n });\n };\n \n const customChildren = isImperative\n ? makeChildren(treeData || [], handleMove, enableSorting)\n : sortChildren(children, TreeFolder);\n\n return (\n <DndProvider backend={HTML5Backend}>\n <TreeContext.Provider value={initialValue}>\n <div className={className} {...props}>\n {customChildren}\n </div>\n </TreeContext.Provider>\n </DndProvider>\n );\n};\n\nTree.defaultProps = defaultProps;\nTree.displayName = \"Tree\";\n\nexport default Tree;\n"],"names":["directoryType","_len","arguments","length","args","Array","_key","tuple","Tree","_a","children","onClick","_a$initialExpand","initialExpand","_a$alwaysExpanded","alwaysExpanded","_a$parentIconPath","parentIconPath","_a$childIconPath","childIconPath","value","className","_a$enableSorting","enableSorting","_a$readOnly","readOnly","onMove","props","__rest","_useState","useState","_useState2","_slicedToArray","treeData","setTreeData","useEffect","findFullPath","nodes","targetName","_step","currentPath","undefined","_iterator","_createForOfIteratorHelper","s","n","done","node","nodePath","concat","name","type","files","foundPath","err","e","f","isChildOfSource","sourcePath","targetPath","childPath","parentParts","childParts","fullSourcePath","split","pop","fullTargetPath","filter","Boolean","every","part","index","findAndRemoveNode","path","i","nodeName","updatedTree","_toConsumableArray","slice","_findAndRemoveNode","foundNode","addNodeToTarget","pathParts","parentPath","join","map","item","itemPath","Object","assign","findNodeByPath","_step2","currentNodes","currentNode","_iterator2","_ret","_loop","find","v","buildFullPath","_step3","_iterator3","isImperative","onFileClick","initialValue","useMemo","customChildren","makeChildren","level","sort","a","b","localeCompare","_jsx","TreeFolder","extra","active","TreeFile","draggedPath","draggedName","_findAndRemoveNode2","draggedNode","targetNode","finalTargetPath","newTreeData","newParentNode","sortChildren","DndProvider","backend","HTML5Backend","TreeContext","Provider","defaultProps","displayName"],"mappings":"+kBASA,IAGMA,EAHQ,WAAH,IAAA,IAAAC,EAAAC,UAAAC,OAA2BC,EAAOC,MAAAJ,GAAAK,EAAA,EAAAL,EAAAK,EAAAA,IAAPF,EAAOE,GAAAJ,UAAAI,GAAA,OAAKF,CAAI,CAE5BG,CAAM,YAAa,QACL,GAgClCC,EAAqD,SAACC,GAAA,IAC1DC,EAUMD,EAVNC,SACAC,EASMF,EATNE,QAAOC,EASDH,EARNI,cAAAA,OAAgB,IAAHD,GAAQA,EAAAE,EAQfL,EAPNM,eAAAA,OAAiB,IAAHD,GAAQA,EAAAE,EAOhBP,EANNQ,eAAAA,OAAiB,IAAHD,EAAG,UAASA,EAAAE,EAMpBT,EALNU,cAAAA,OAAgB,IAAHD,EAAG,UAASA,EACzBE,EAIMX,EAJNW,MACAC,EAGMZ,EAHNY,UAASC,EAGHb,EAFNc,cAAAA,OAAgB,IAAHD,GAAQA,EAAAE,EAEff,EADNgB,SAAAA,OAAW,IAAHD,GAAQA,EAChBE,EAAMjB,EAANiB,OACGC,EAAKC,EAAAnB,EAZkD,kJAc1DoB,EAAgCC,EAASV,GAAMW,EAAAC,EAAAH,EAAA,GAAxCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAE5BI,GAAU,WACJf,GACFc,EAAYd,EAEhB,GAAG,CAACA,IAEJ,IAAMgB,EAAe,SAAfA,EAAgBC,EAAmBC,GAA+D,IAC9EC,EADmCC,EAAAtC,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAsB,GAAEwC,EAAAC,EAChEN,GAAK,IAAxB,IAAAK,EAAAE,MAAAL,EAAAG,EAAAG,KAAAC,MAA0B,CAAA,IAAfC,EAAIR,EAAAnB,MACP4B,EAAWR,EAAWS,GAAAA,OAAMT,EAAW,KAAAS,OAAIF,EAAKG,MAASH,EAAKG,KACpE,GAAIH,EAAKG,OAASZ,EAChB,OAAOU,EAET,GAAID,EAAKI,OAASnD,GAAiB+C,EAAKK,MAAO,CAC7C,IAAMC,EAAYjB,EAAaW,EAAKK,MAAOd,EAAYU,GACvD,GAAIK,EAAW,OAAOA,CACvB,CACF,CAAA,CAAA,MAAAC,GAAAZ,EAAAa,EAAAD,EAAA,CAAA,QAAAZ,EAAAc,GAAA,CACD,OAAO,MAYHC,EAAkB,SAACC,EAAoBC,GAC3C,IAAK1B,EAAU,OAAO,EAEtB,IAZwC2B,EAClCC,EACAC,EAUAC,EAAiB3B,EAAaH,EAAUyB,EAAWM,MAAM,KAAKC,OAAS,KAAOP,EAC9EQ,EAAiB9B,EAAaH,EAAU0B,EAAWK,MAAM,KAAKC,OAAS,KAAON,EAEpF,OAfwCC,EAeJM,EAd9BL,EAccE,EAdWC,MAAM,KAAKG,OAAOC,UAC3CN,EAAaF,EAAUI,MAAM,KAAKG,OAAOC,UAEVjE,OAAjC0D,EAAY1D,QAET0D,EAAYQ,OAAM,SAACC,EAAMC,GAAK,OAAKD,IAASR,EAAWS,OAY1DC,EAAoB,SAApBA,EAAqBnC,EAAmBoC,GAC5C,IAAK,IAAIC,EAAI,EAAOrC,EAAMlC,OAAVuE,EAAkBA,IAAK,CACrC,IAAM3B,EAAOV,EAAMqC,GACbC,EAAWF,EAAKT,MAAM,KAAKC,OAAS,GAE1C,GAAIlB,EAAKG,OAASyB,EAChB,MAAO,CAAE5B,KAAAA,EAAM6B,YAAW,GAAA3B,OAAA4B,EAAMxC,EAAMyC,MAAM,EAAGJ,IAAEG,EAAKxC,EAAMyC,MAAMJ,EAAI,MACjE,GAAI3B,EAAKI,OAASnD,GAAiB+C,EAAKK,MAAO,CACpD,IAAA2B,EAAuDP,EAAkBzB,EAAKK,MAAOqB,GAAvEO,EAASD,EAAfhC,KACR,GAAIiC,EAEF,OADA3C,EAAMqC,GAAGtB,MAFuC2B,EAAzBH,YAGhB,CAAE7B,KAAMiC,EAAWJ,YAAavC,EAE1C,CACF,CACD,MAAO,CAAEuC,YAAavC,IAGlB4C,EAAkB,SAAlBA,EAAmB5C,EAAmBsB,EAAoBZ,GAC9D,IAAMmC,EAAYvB,EAAWK,MAAM,KAC7B1B,EAAa4C,EAAUjB,OAAS,GAChCkB,EAAaD,EAAUE,KAAK,KAElC,OAAO/C,EAAMgD,KAAI,SAACC,GAChB,IAAMC,EAAWJ,EAAUlC,GAAAA,OAAMkC,EAAU,KAAAlC,OAAIqC,EAAKpC,MAASoC,EAAKpC,KAElE,GAAIoC,EAAKnC,OAASnD,EAAe,CAC/B,GAAIuF,IAAaJ,EACf,OAAAK,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKH,GACH,CAAAlC,MAAK,GAAAH,OAAA4B,EAAOS,EAAKlC,OAAS,IAAE,CAAGL,MAInC,GAAIuC,EAAKpC,OAASZ,EAChB,OAAAkD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKH,GACH,CAAAlC,MAAK,GAAAH,OAAA4B,EAAOS,EAAKlC,OAAS,IAAE,CAAGL,MAInC,GAAIuC,EAAKlC,MACP,OAAAoC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACKH,GAAI,CACPlC,MAAO6B,EAAgBK,EAAKlC,MAAOO,EAAYZ,IAGpD,CACD,OAAOuC,CACT,KAGII,EAAiB,SAACrD,EAAmBoC,GACzC,IAI4BkB,EAJtBT,EAAYT,EAAKT,MAAM,KACzB4B,EAAevD,EACfwD,EAA+B,KAAKC,EAAAnD,EAErBuC,GAAS,IAAA,IAM3Ba,EAN2BC,EAAAA,WAAE,IAAnB1B,EAAIqB,EAAAvE,MAEb,KADAyE,EAAcD,EAAaK,MAAK,SAAAlD,GAAI,OAAIA,EAAKG,OAASoB,CAAI,KAAK,MAC/C,MAAA,CAAA4B,EAAS,MACrBL,EAAYzC,QACdwC,EAAeC,EAAYzC,MAE9B,EAND,IAAA0C,EAAAlD,MAAA+C,EAAAG,EAAAjD,KAAAC,MAAA,GAAAiD,EAAAC,IAAA,OAAAD,EAAAG,CAMC,CAAA,MAAA5C,GAAAwC,EAAAvC,EAAAD,EAAA,CAAA,QAAAwC,EAAAtC,GAAA,CAED,OAAOqC,GAGHM,EAAgB,SAAhBA,EAAiB9D,EAAmBC,GAAwD,IACxE8D,EADoC5D,EAAAtC,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAsB,GAAEmG,EAAA1D,EACjEN,GAAK,IAAxB,IAAAgE,EAAAzD,MAAAwD,EAAAC,EAAAxD,KAAAC,MAA0B,CAAA,IAAfC,EAAIqD,EAAAhF,MACP4B,EAAWR,EAAWS,GAAAA,OAAMT,EAAW,KAAAS,OAAIF,EAAKG,MAASH,EAAKG,KAEpE,GAAIH,EAAKG,OAASZ,EAChB,OAAOU,EAGT,GAAID,EAAKI,OAASnD,GAAiB+C,EAAKK,MAAO,CAC7C,IAAMC,EAAY8C,EAAcpD,EAAKK,MAAOd,EAAYU,GACxD,GAAIK,EAAW,OAAOA,CACvB,CACF,CAAA,CAAA,MAAAC,GAAA+C,EAAA9C,EAAAD,EAAA,CAAA,QAAA+C,EAAA7C,GAAA,CACD,OAAOlB,GAqCHgE,KAAuBlF,GAAwB,GAAfA,EAAMjB,QACtCoG,EAAc,SAAC9B,GACnB,GAAI9D,GAAWsB,EAAU,CACvB,IAAMc,EAAO2C,EAAezD,EAAUwC,GAClC1B,GACFpC,EAAQ8D,EAAM1B,EAEjB,GAGGyD,EAAeC,GACnB,WAAA,MAAO,CACLF,YAAAA,EACA1F,cAAeE,GAAkBF,EACjCyF,aAAAA,EACAvF,eAAAA,EACAE,eAAAA,EACAE,cAAAA,EACD,GACD,CAACN,EAAe0F,EAAaD,EAAcvF,EAAgBE,EAAgBE,IAmDvEuF,EAAiBJ,EAhDF,SAAfK,IAMF,IALFvF,EAAyBlB,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAA,GACzBwB,EAAyDxB,UAAAC,OAAAD,EAAAA,kBAAAuC,EACzDlB,EAAsBrB,UAAAC,OAAAD,EAAAA,kBAAAuC,EACtBmE,yDAAgB,EAChBzB,EAAqBjF,UAAAC,OAAA,QAAAsC,IAAAvC,UAAA,GAAAA,UAAA,GAAA,GAErB,OAAKkB,GAAUA,EAAMjB,QAEDoB,EAChBH,EAAMyF,MAAK,SAACC,EAAGC,GACb,OAAID,EAAE3D,OAAS4D,EAAE5D,KAAa2D,EAAE3D,OAASnD,EAAgB,GAAK,EACvD8G,EAAE5D,KAAK8D,cAAcD,EAAE7D,KAC/B,IACD9B,GAEeiE,KAAI,SAACC,EAAMf,GAC5B,IAAM/B,EAAc2C,EAAUlC,GAAAA,OAAMkC,EAAU,KAAAlC,OAAIqC,EAAKpC,MAASoC,EAAKpC,KAErE,OAAIoC,EAAKnC,OAASnD,EAEdiH,EAACC,EACC1B,OAAAC,OAAA,CAAAvC,KAAMoC,EAAKpC,KACXiE,MAAO7B,EAAK6B,MAEZzF,OAAQD,OAAWgB,EAAYf,EAC/ByD,WAAYA,EACZyB,MAAOA,EACPQ,QAAQ9B,aAAI,EAAJA,EAAM8B,UAAU,GAEvB,CAAA1G,SAAAiG,EAAarB,EAAKlC,OAAS,GAAI1B,EAAQH,EAAeqF,EAAQ,EAAGpE,KAAY,UAAAS,OAN/DqC,EAAKpC,KAAI,KAAAD,OAAIsB,IAWhC0C,EAACI,EACC,CAAAnE,KAAMoC,EAAKpC,KACXiE,MAAO7B,EAAK6B,MAEZzF,OAAQD,OAAWgB,EAAYf,EAC/ByD,WAAYA,EACZyB,MAAOA,EACPQ,QAAQ9B,aAAA,EAAAA,EAAM8B,UAAU,GAJnB,QAAAnE,OAAQqC,EAAKpC,KAAI,KAAAD,OAAIsB,GAOhC,IAtCoC,KA0ClCoC,CAAa1E,GAAY,IAzGV,SAACqF,EAAqB3D,GACvC,GAAK1B,IACDR,EAAJ,CAEA,IAAM8F,EAAcD,EAAYtD,MAAM,KAAKC,OAAS,GAC9C3B,EAAaqB,EAAWK,MAAM,KAAKC,OAAS,GAE5CF,EAAiBoC,EAAclE,EAAUsF,GACzCrD,EAAiBiC,EAAclE,EAAUK,GAE/C,IAAImB,EAAgBM,EAAgBG,GAApC,CAIA,IAAAsD,EAA2ChD,EAAkBvC,EAAUqF,GAAzDG,EAAWD,EAAjBzE,KAAmB6B,EAAW4C,EAAX5C,YAE3B,GAAI6C,EAAa,CACf,IAAMC,EAAahC,EAAezD,EAAU0B,GAExCgE,EAAkBhE,EAEtB,GAAI+D,GAAcA,EAAWvE,OAASnD,EAAe,CACnD,IAAMkF,EAAYvB,EAAWK,MAAM,KACnCkB,EAAUjB,MACV0D,EAAkBzC,EAAUE,KAAK,IAClC,CAED,IAAMwC,EAAc3C,EAAgBL,EAAa+C,EAAiBF,GAClEvF,EAAY0F,GACZ,IAAMC,EAAgBnC,EAAekC,EAAaD,GAClDjG,EAAOqC,EAAgBG,EAAgB2D,GAAiB,KAAMJ,EAC/D,CAnBA,CAVa,IAuG6BlG,GACzCuG,EAAapH,EAAUwG,GAE3B,OACED,EAACc,EAAWvC,OAAAC,OAAA,CAACuC,QAASC,GAAY,CAAAvH,SAChCuG,EAACiB,EAAYC,SAAS3C,OAAAC,OAAA,CAAArE,MAAOoF,GAC3B,CAAA9F,SAAAuG,EAAA,MAAAzB,OAAAC,OAAA,CAAKpE,UAAWA,GAAeM,EAAK,CAAAjB,SACjCgG,UAKX,EAEAlG,EAAK4H,aA1QgB,CACnBvH,eAAe,EACfE,gBAAgB,EAChBM,UAAW,IAwQbb,EAAK6H,YAAc"}
1
+ {"version":3,"file":"Tree.js","sources":["../../../../../src/components/Tree/Tree.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport TreeFolder from \"./components/TreeFolder/TreeFolder\";\nimport TreeFile from \"./components/TreeFile/TreeFile\";\nimport { TreeContext } from \"./TreeContext\";\nimport { makeChildPath, sortChildren } from \"./utils/treeHelp\";\nimport { PathName } from \"../Icon/SvgIcon/paths\";\nimport { DndProvider } from \"react-dnd\";\nimport { HTML5Backend } from 'react-dnd-html5-backend';\n\nconst tuple = <T extends string[]>(...args: T) => args;\n\nconst FileTreeValueType = tuple(\"directory\", \"file\");\nconst directoryType = FileTreeValueType[0];\n\nexport type TreeFile = {\n id: number | string;\n type: (typeof FileTreeValueType)[number];\n name: string;\n extra?: string;\n files?: Array<TreeFile>;\n active?: boolean;\n};\n\ninterface Props {\n value?: Array<TreeFile>;\n initialExpand?: boolean;\n alwaysExpanded?: boolean;\n parentIconPath?: PathName;\n childIconPath?: PathName;\n onClick?: (path: string, node: TreeFile) => void;\n className?: string;\n enableSorting?: boolean;\n readOnly?: boolean\n onMove: (draggedItemPath: string, dropTargetPath: string, parentNode: TreeFile | null, draggedNode: TreeFile) => void;\n}\n\nconst defaultProps = {\n initialExpand: false,\n alwaysExpanded: false,\n className: \"\",\n};\n\ntype NativeAttrs = Omit<React.HTMLAttributes<any>, keyof Props>;\nexport type TreeProps = Props & NativeAttrs;\n\nconst Tree: React.FC<React.PropsWithChildren<TreeProps>> = ({\n children,\n onClick,\n initialExpand = false,\n alwaysExpanded = false,\n parentIconPath = \"default\",\n childIconPath = \"default\",\n value,\n className,\n enableSorting = false,\n readOnly = false,\n onMove,\n ...props\n}: React.PropsWithChildren<TreeProps>) => {\n const [treeData, setTreeData] = useState(value);\n\n useEffect(() => {\n if (value) {\n setTreeData(value);\n }\n }, [value]);\n\n const findFullPath = (nodes: TreeFile[], targetName: string, currentPath: string = \"\"): string | null => {\n for (const node of nodes) {\n const nodePath = currentPath ? `${currentPath}/${node.name}` : node.name;\n if (node.name === targetName) {\n return nodePath;\n }\n if (node.type === directoryType && node.files) {\n const foundPath = findFullPath(node.files, targetName, nodePath);\n if (foundPath) return foundPath;\n }\n }\n return null;\n };\n\n const isParentPath = (parentPath: string, childPath: string): boolean => {\n const parentParts = parentPath.split('/').filter(Boolean);\n const childParts = childPath.split('/').filter(Boolean);\n\n if (parentParts.length >= childParts.length) return false;\n\n return parentParts.every((part, index) => part === childParts[index]);\n };\n\n const isChildOfSource = (sourcePath: string, targetPath: string): boolean => {\n if (!treeData) return false;\n\n const fullSourcePath = findFullPath(treeData, sourcePath.split('/').pop() || \"\") || sourcePath;\n const fullTargetPath = findFullPath(treeData, targetPath.split('/').pop() || \"\") || targetPath;\n\n return isParentPath(fullSourcePath, fullTargetPath);\n };\n\n const findAndRemoveNode = (nodes: TreeFile[], path: string): { node?: TreeFile; updatedTree: TreeFile[] } => {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n const nodeName = path.split('/').pop() || \"\";\n\n if (node.name === nodeName) {\n return { node, updatedTree: [...nodes.slice(0, i), ...nodes.slice(i + 1)] };\n } else if (node.type === directoryType && node.files) {\n const { node: foundNode, updatedTree: updatedFiles } = findAndRemoveNode(node.files, path);\n if (foundNode) {\n nodes[i].files = updatedFiles;\n return { node: foundNode, updatedTree: nodes };\n }\n }\n }\n return { updatedTree: nodes };\n };\n\n const addNodeToTarget = (nodes: TreeFile[], targetPath: string, node: TreeFile): TreeFile[] => {\n const pathParts = targetPath.split('/');\n const targetName = pathParts.pop() || \"\";\n const parentPath = pathParts.join('/');\n \n return nodes.map((item) => {\n const itemPath = parentPath ? `${parentPath}/${item.name}` : item.name;\n \n if (item.type === directoryType) {\n if (itemPath === parentPath) {\n return {\n ...item,\n files: [...(item.files || []), node]\n };\n }\n\n if (item.name === targetName) {\n return {\n ...item,\n files: [...(item.files || []), node]\n };\n }\n\n if (item.files) {\n return {\n ...item,\n files: addNodeToTarget(item.files, targetPath, node)\n };\n }\n }\n return item;\n });\n };\n\n const findNodeByPath = (nodes: TreeFile[], path: string): TreeFile | null => {\n const pathParts = path.split('/');\n let currentNodes = nodes;\n let currentNode: TreeFile | null = null;\n\n for (const part of pathParts) {\n currentNode = currentNodes.find(node => node.name === part) || null;\n if (!currentNode) return null;\n if (currentNode.files) {\n currentNodes = currentNode.files;\n }\n }\n\n return currentNode;\n };\n\n const buildFullPath = (nodes: TreeFile[], targetName: string, currentPath: string = \"\"): string => {\n for (const node of nodes) {\n const nodePath = currentPath ? `${currentPath}/${node.name}` : node.name;\n \n if (node.name === targetName) {\n return nodePath;\n }\n \n if (node.type === directoryType && node.files) {\n const foundPath = buildFullPath(node.files, targetName, nodePath);\n if (foundPath) return foundPath;\n }\n }\n return targetName;\n };\n\n const handleMove = (draggedPath: string, targetPath: string) => {\n if (!treeData) return;\n if (readOnly) return;\n \n const draggedName = draggedPath.split('/').pop() || \"\";\n const targetName = targetPath.split('/').pop() || \"\";\n \n const fullSourcePath = buildFullPath(treeData, draggedName);\n const fullTargetPath = buildFullPath(treeData, targetName);\n \n if (isChildOfSource(fullSourcePath, fullTargetPath)) {\n return;\n }\n \n const { node: draggedNode, updatedTree } = findAndRemoveNode(treeData, draggedPath);\n \n if (draggedNode) {\n const targetNode = findNodeByPath(treeData, targetPath);\n\n let finalTargetPath = targetPath;\n\n if (targetNode && targetNode.type !== directoryType) {\n const pathParts = targetPath.split('/');\n pathParts.pop();\n finalTargetPath = pathParts.join('/');\n }\n\n const newTreeData = addNodeToTarget(updatedTree, finalTargetPath, draggedNode);\n setTreeData(newTreeData);\n const newParentNode = findNodeByPath(newTreeData, finalTargetPath);\n onMove(fullSourcePath, fullTargetPath, newParentNode || null, draggedNode);\n }\n };\n\n const isImperative = Boolean(value && value.length > 0);\n const onFileClick = (path: string, node: TreeFile) => {\n if (onClick && treeData) {\n onClick(path, node);\n }\n };\n\n const initialValue = useMemo(\n () => ({\n onFileClick,\n initialExpand: alwaysExpanded || initialExpand,\n isImperative,\n alwaysExpanded,\n parentIconPath,\n childIconPath,\n }),\n [initialExpand, onFileClick, isImperative, alwaysExpanded, parentIconPath, childIconPath]\n );\n\n const makeChildren = (\n value: Array<TreeFile> = [],\n onMove: (draggedPath: string, targetPath: string) => void,\n enableSorting: boolean,\n level: number = 0,\n parentPath: string = \"\",\n ) => {\n if (!value || !value.length) return null;\n \n const sortedValue = enableSorting\n ? value.sort((a, b) => {\n if (a.type !== b.type) return a.type !== directoryType ? 1 : -1;\n return a.name.localeCompare(b.name);\n })\n : value;\n \n return sortedValue.map((item, index) => {\n const currentPath = parentPath ? `${parentPath}/${item.name}` : item.name;\n \n if (item.type === directoryType) {\n return (\n <TreeFolder\n id={item.id}\n name={item.name}\n extra={item.extra}\n key={`folder-${item.id}`}\n onMove={readOnly ? undefined : onMove}\n parentPath={parentPath}\n level={level}\n active={item?.active || false}\n >\n {makeChildren(item.files || [], onMove, enableSorting, level + 1, currentPath)}\n </TreeFolder>\n );\n }\n return (\n <TreeFile\n id={item.id}\n name={item.name}\n extra={item.extra}\n key={`file-${item.name}-${index}`}\n onMove={readOnly ? undefined : onMove}\n parentPath={parentPath}\n level={level}\n active={item?.active || false}\n />\n );\n });\n };\n \n const customChildren = isImperative\n ? makeChildren(treeData || [], handleMove, enableSorting)\n : sortChildren(children, TreeFolder);\n\n return (\n <DndProvider backend={HTML5Backend}>\n <TreeContext.Provider value={initialValue}>\n <div className={className} {...props}>\n {customChildren}\n </div>\n </TreeContext.Provider>\n </DndProvider>\n );\n};\n\nTree.defaultProps = defaultProps;\nTree.displayName = \"Tree\";\n\nexport default Tree;\n"],"names":["directoryType","_len","arguments","length","args","Array","_key","tuple","Tree","_a","children","onClick","_a$initialExpand","initialExpand","_a$alwaysExpanded","alwaysExpanded","_a$parentIconPath","parentIconPath","_a$childIconPath","childIconPath","value","className","_a$enableSorting","enableSorting","_a$readOnly","readOnly","onMove","props","__rest","_useState","useState","_useState2","_slicedToArray","treeData","setTreeData","useEffect","findFullPath","nodes","targetName","_step","currentPath","undefined","_iterator","_createForOfIteratorHelper","s","n","done","node","nodePath","concat","name","type","files","foundPath","err","e","f","isChildOfSource","sourcePath","targetPath","childPath","parentParts","childParts","fullSourcePath","split","pop","fullTargetPath","filter","Boolean","every","part","index","findAndRemoveNode","path","i","nodeName","updatedTree","_toConsumableArray","slice","_findAndRemoveNode","foundNode","addNodeToTarget","pathParts","parentPath","join","map","item","itemPath","Object","assign","findNodeByPath","_step2","currentNodes","currentNode","_iterator2","_ret","_loop","find","v","buildFullPath","_step3","_iterator3","isImperative","onFileClick","initialValue","useMemo","customChildren","makeChildren","level","sort","a","b","localeCompare","_jsx","TreeFolder","id","extra","active","TreeFile","draggedPath","draggedName","_findAndRemoveNode2","draggedNode","targetNode","finalTargetPath","newTreeData","newParentNode","sortChildren","DndProvider","backend","HTML5Backend","TreeContext","Provider","defaultProps","displayName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as a}from"../../../../../_virtual/_tslib.js";import{jsx as t,jsxs as i}from"@emotion/react/jsx-runtime";import{useMemo as n}from"react";import"./TreeFile.scss.js";import{useTreeContext as r}from"../../TreeContext.js";import{makeChildPath as c,stopPropagation as o}from"../../utils/treeHelp.js";import s from"../../../Icon/Icon.js";import{useDrag as l,useDrop as m}from"react-dnd";var p=function(p){var f=p.name,g=p.parentPath,u=p.level,d=p.extra,v=p.className,h=p.onMove,j=p.active,T=void 0!==j&&j,x=a(p,["name","parentPath","level","extra","className","onMove","active"]),y=r(),b=y.onFileClick,N=y.childIconPath,P=n((function(){return c(f,g)}),[f,g]),E=l({type:"TREE_ITEM",item:{type:"file",path:P},collect:function(e){return{isDragging:e.isDragging()}}}),_=e(E,2),C=_[0].isDragging,I=_[1],O=m({accept:"TREE_ITEM",drop:function(e){e.path!==P&&h&&h(e.path,P)}}),M=e(O,2)[1],k={paddingLeft:"calc(1.875rem * ".concat(u,")")};return t("div",Object.assign({ref:function(e){return I(M(e))},className:"file-container ".concat(v," ").concat(C?"dragging":""," ").concat(T?"active":""),style:k,onClick:function(e){o(e),b&&b(P,{type:"file",name:f,extra:d,active:T})}},x,{children:i("div",Object.assign({className:"names"},{children:["default"!==N&&t("span",Object.assign({className:"icon"},{children:t(s,{iconType:s.type.PATH,icon:"",iconPath:N,iconSize:16,useCurrentColor:!0,style:{display:"block",marginRight:"8px",marginTop:"0px"}})})),i("span",Object.assign({className:"name"},{children:[f,d&&t("span",Object.assign({className:"extra"},{children:d}))]}))]}))}))};p.defaultProps={level:0,className:"",parentPath:""};export{p as default};
1
+ import{slicedToArray as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as a}from"../../../../../_virtual/_tslib.js";import{jsx as t,jsxs as i}from"@emotion/react/jsx-runtime";import{useMemo as n}from"react";import"./TreeFile.scss.js";import{useTreeContext as r}from"../../TreeContext.js";import{makeChildPath as c,stopPropagation as o}from"../../utils/treeHelp.js";import s from"../../../Icon/Icon.js";import{useDrag as l,useDrop as m}from"react-dnd";var p=function(p){var d=p.id,f=p.name,g=p.parentPath,u=p.level,v=p.extra,h=p.className,j=p.onMove,T=p.active,x=void 0!==T&&T,y=a(p,["id","name","parentPath","level","extra","className","onMove","active"]),b=r(),N=b.onFileClick,P=b.childIconPath,E=n((function(){return c(f,g)}),[f,g]),_=l({type:"TREE_ITEM",item:{type:"file",path:E},collect:function(e){return{isDragging:e.isDragging()}}}),C=e(_,2),I=C[0].isDragging,O=C[1],M=m({accept:"TREE_ITEM",drop:function(e){e.path!==E&&j&&j(e.path,E)}}),k=e(M,2)[1],D={paddingLeft:"calc(1.875rem * ".concat(u+1,")")};return t("div",Object.assign({ref:function(e){return O(k(e))},className:"file-container ".concat(h," ").concat(I?"dragging":""," ").concat(x?"active":""),style:D,onClick:function(e){o(e),N&&N(E,{type:"file",id:d,name:f,extra:v,active:x})}},y,{children:i("div",Object.assign({className:"names"},{children:["default"!==P&&t("span",Object.assign({className:"icon"},{children:t(s,{iconType:s.type.PATH,icon:"",iconPath:P,iconSize:16,useCurrentColor:!0,style:{display:"block",marginRight:"8px",marginTop:"0px"}})})),i("span",Object.assign({className:"name"},{children:[f,v&&t("span",Object.assign({className:"extra"},{children:v}))]}))]}))}))};p.defaultProps={level:0,className:"",parentPath:""};export{p as default};
2
2
  //# sourceMappingURL=TreeFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFile.js","sources":["../../../../../../../src/components/Tree/components/TreeFile/TreeFile.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport \"./TreeFile.scss\";\nimport { useTreeContext } from \"../../TreeContext\";\nimport { makeChildPath, stopPropagation } from \"../../utils/treeHelp\";\nimport Icon from \"../../../Icon/Icon\";\nimport { useDrag, useDrop } from \"react-dnd\";\n\ninterface Props {\n name: string;\n extra?: string;\n parentPath?: string;\n level?: number;\n className?: string;\n active?: boolean;\n onMove: (draggedItemPath: string, dropTargetPath: string) => void;\n}\n\nconst defaultProps = {\n level: 0,\n className: \"\",\n parentPath: \"\",\n};\n\nconst TreeFile: React.FC<Props> = ({\n name,\n parentPath,\n level,\n extra,\n className,\n onMove,\n active = false,\n ...props\n}) => {\n const { onFileClick, childIconPath } = useTreeContext();\n const currentPath = useMemo(() => makeChildPath(name, parentPath), [\n name,\n parentPath,\n ]);\n\n const [{ isDragging }, dragRef] = useDrag({\n type: \"TREE_ITEM\",\n item: { type: \"file\", path: currentPath },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const [, dropRef] = useDrop({\n accept: \"TREE_ITEM\",\n drop: (draggedItem: { path: string }) => {\n if (draggedItem.path !== currentPath && onMove) {\n onMove(draggedItem.path, currentPath);\n }\n },\n });\n\n const clickHandler = (event: React.MouseEvent) => {\n stopPropagation(event);\n if (onFileClick) {\n onFileClick(currentPath, {\n type: \"file\",\n name,\n extra,\n active\n });\n }\n };\n\n const containerStyle = {\n paddingLeft: `calc(1.875rem * ${level})`,\n };\n\n return (\n <div\n ref={(node) => dragRef(dropRef(node))}\n className={`file-container ${className} ${isDragging ? \"dragging\" : \"\"} ${active ? \"active\" : \"\"}`}\n style={containerStyle}\n onClick={clickHandler}\n {...props}\n >\n <div className=\"names\">\n {childIconPath !== \"default\" && (\n <span className=\"icon\">\n <Icon\n iconType={Icon.type.PATH}\n icon=\"\"\n //@ts-ignore\n iconPath={childIconPath}\n iconSize={16}\n useCurrentColor\n style={{\n display: \"block\",\n marginRight: \"8px\",\n marginTop: \"0px\",\n }}\n />\n </span>\n )}\n <span className=\"name\">\n {name}\n {extra && <span className=\"extra\">{extra}</span>}\n </span>\n </div>\n </div>\n );\n};\n\nTreeFile.defaultProps = defaultProps;\nexport default TreeFile;"],"names":["TreeFile","_a","name","parentPath","level","extra","className","onMove","_a$active","active","props","__rest","_useTreeContext","useTreeContext","onFileClick","childIconPath","currentPath","useMemo","makeChildPath","_useDrag","useDrag","type","item","path","collect","monitor","isDragging","_useDrag2","_slicedToArray","dragRef","_useDrop","useDrop","accept","drop","draggedItem","dropRef","containerStyle","paddingLeft","concat","_jsx","Object","assign","ref","node","style","onClick","event","stopPropagation","_jsxs","children","Icon","iconType","PATH","icon","iconPath","iconSize","useCurrentColor","display","marginRight","marginTop","defaultProps"],"mappings":"+dAiBA,IAMMA,EAA4B,SAACC,OACjCC,EAMcD,EANdC,KACAC,EAKcF,EALdE,WACAC,EAIcH,EAJdG,MACAC,EAGcJ,EAHdI,MACAC,EAEcL,EAFdK,UACAC,EACcN,EADdM,OAAMC,EACQP,EAAdQ,OAAAA,OAAS,IAAHD,GAAQA,EACXE,EAAKC,EAAAV,EARyB,qEAUjCW,EAAuCC,IAA/BC,EAAWF,EAAXE,YAAaC,EAAaH,EAAbG,cACfC,EAAcC,GAAQ,WAAA,OAAMC,EAAchB,EAAMC,EAAW,GAAE,CACjED,EACAC,IAGFgB,EAAkCC,EAAQ,CACxCC,KAAM,YACNC,KAAM,CAAED,KAAM,OAAQE,KAAMP,GAC5BQ,QAAS,SAACC,GAAO,MAAM,CACrBC,WAAYD,EAAQC,aACrB,IACDC,EAAAC,EAAAT,EAAA,GANOO,EAAUC,EAAA,GAAVD,WAAcG,EAAOF,EAAA,GAQ9BG,EAAoBC,EAAQ,CAC1BC,OAAQ,YACRC,KAAM,SAACC,GACDA,EAAYX,OAASP,GAAeT,GACtCA,EAAO2B,EAAYX,KAAMP,EAE7B,IANOmB,EAOPP,EAAAE,EAAA,GAPc,GAqBVM,EAAiB,CACrBC,YAAW,mBAAAC,OAAqBlC,EAAK,MAGvC,OACEmC,EACE,MAAAC,OAAAC,OAAA,CAAAC,IAAK,SAACC,GAAI,OAAKd,EAAQM,EAAQQ,GAAM,EACrCrC,UAAS,kBAAAgC,OAAoBhC,OAASgC,OAAIZ,EAAa,WAAa,GAAE,KAAAY,OAAI7B,EAAS,SAAW,IAC9FmC,MAAOR,EACPS,QArBiB,SAACC,GACpBC,EAAgBD,GACZhC,GACFA,EAAYE,EAAa,CACvBK,KAAM,OACNnB,KAAAA,EACAG,MAAAA,EACAI,OAAAA,MAeEC,YAEJsC,EAAK,MAAAR,OAAAC,OAAA,CAAAnC,UAAU,SAAO,CAAA2C,SAAA,CACD,YAAlBlC,GACCwB,wBAAMjC,UAAU,QACd,CAAA2C,SAAAV,EAACW,EACC,CAAAC,SAAUD,EAAK7B,KAAK+B,KACpBC,KAAK,GAELC,SAAUvC,EACVwC,SAAU,GACVC,iBACA,EAAAZ,MAAO,CACLa,QAAS,QACTC,YAAa,MACbC,UAAW,YAKnBX,EAAA,OAAAR,OAAAC,OAAA,CAAMnC,UAAU,QACb,CAAA2C,SAAA,CAAA/C,EACAG,GAASkC,EAAM,OAAAC,OAAAC,OAAA,CAAAnC,UAAU,SAAS,CAAA2C,SAAA5C,eAK7C,EAEAL,EAAS4D,aA1FY,CACnBxD,MAAO,EACPE,UAAW,GACXH,WAAY"}
1
+ {"version":3,"file":"TreeFile.js","sources":["../../../../../../../src/components/Tree/components/TreeFile/TreeFile.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport \"./TreeFile.scss\";\nimport { useTreeContext } from \"../../TreeContext\";\nimport { makeChildPath, stopPropagation } from \"../../utils/treeHelp\";\nimport Icon from \"../../../Icon/Icon\";\nimport { useDrag, useDrop } from \"react-dnd\";\n\ninterface Props {\n id: number | string;\n name: string;\n extra?: string;\n parentPath?: string;\n level?: number;\n className?: string;\n active?: boolean;\n onMove: (draggedItemPath: string, dropTargetPath: string) => void;\n}\n\nconst defaultProps = {\n level: 0,\n className: \"\",\n parentPath: \"\",\n};\n\nconst TreeFile: React.FC<Props> = ({\n id,\n name,\n parentPath,\n level,\n extra,\n className,\n onMove,\n active = false,\n ...props\n}) => {\n const { onFileClick, childIconPath } = useTreeContext();\n const currentPath = useMemo(() => makeChildPath(name, parentPath), [\n name,\n parentPath,\n ]);\n\n const [{ isDragging }, dragRef] = useDrag({\n type: \"TREE_ITEM\",\n item: { type: \"file\", path: currentPath },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const [, dropRef] = useDrop({\n accept: \"TREE_ITEM\",\n drop: (draggedItem: { path: string }) => {\n if (draggedItem.path !== currentPath && onMove) {\n onMove(draggedItem.path, currentPath);\n }\n },\n });\n\n const clickHandler = (event: React.MouseEvent) => {\n stopPropagation(event);\n if (onFileClick) {\n onFileClick(currentPath, {\n type: \"file\",\n id,\n name,\n extra,\n active,\n });\n }\n };\n\n const containerStyle = {\n paddingLeft: `calc(1.875rem * ${level + 1})`,\n };\n\n return (\n <div\n ref={(node) => dragRef(dropRef(node))}\n className={`file-container ${className} ${isDragging ? \"dragging\" : \"\"} ${active ? \"active\" : \"\"}`}\n style={containerStyle}\n onClick={clickHandler}\n {...props}\n >\n <div className=\"names\">\n {childIconPath !== \"default\" && (\n <span className=\"icon\">\n <Icon\n iconType={Icon.type.PATH}\n icon=\"\"\n //@ts-ignore\n iconPath={childIconPath}\n iconSize={16}\n useCurrentColor\n style={{\n display: \"block\",\n marginRight: \"8px\",\n marginTop: \"0px\",\n }}\n />\n </span>\n )}\n <span className=\"name\">\n {name}\n {extra && <span className=\"extra\">{extra}</span>}\n </span>\n </div>\n </div>\n );\n};\n\nTreeFile.defaultProps = defaultProps;\nexport default TreeFile;"],"names":["TreeFile","_a","id","name","parentPath","level","extra","className","onMove","_a$active","active","props","__rest","_useTreeContext","useTreeContext","onFileClick","childIconPath","currentPath","useMemo","makeChildPath","_useDrag","useDrag","type","item","path","collect","monitor","isDragging","_useDrag2","_slicedToArray","dragRef","_useDrop","useDrop","accept","drop","draggedItem","dropRef","containerStyle","paddingLeft","concat","_jsx","Object","assign","ref","node","style","onClick","event","stopPropagation","_jsxs","children","Icon","iconType","PATH","icon","iconPath","iconSize","useCurrentColor","display","marginRight","marginTop","defaultProps"],"mappings":"+dAkBA,IAMMA,EAA4B,SAACC,OACjCC,IAAAA,GACAC,IAAAA,KACAC,IAAAA,WACAC,IAAAA,MACAC,IAAAA,MACAC,IAAAA,UACAC,IAAAA,OAAMC,IACNC,OAAAA,OAAS,IAAHD,GAAQA,EACXE,EAT8BC,EAAAX,EAAA,CAAA,KAAA,OAAA,aAAA,QAAA,QAAA,YAAA,SAAA,WAWjCY,EAAuCC,IAA/BC,EAAWF,EAAXE,YAAaC,EAAaH,EAAbG,cACfC,EAAcC,GAAQ,WAAA,OAAMC,EAAchB,EAAMC,EAAW,GAAE,CACjED,EACAC,IAGFgB,EAAkCC,EAAQ,CACxCC,KAAM,YACNC,KAAM,CAAED,KAAM,OAAQE,KAAMP,GAC5BQ,QAAS,SAACC,GAAO,MAAM,CACrBC,WAAYD,EAAQC,aACrB,IACDC,EAAAC,EAAAT,EAAA,GANOO,EAAUC,EAAA,GAAVD,WAAcG,EAAOF,EAAA,GAQ9BG,EAAoBC,EAAQ,CAC1BC,OAAQ,YACRC,KAAM,SAACC,GACDA,EAAYX,OAASP,GAAeT,GACtCA,EAAO2B,EAAYX,KAAMP,EAE7B,IANOmB,EAOPP,EAAAE,EAAA,GAPc,GAsBVM,EAAiB,CACrBC,YAAWC,mBAAAA,OAAqBlC,EAAQ,EAAC,MAG3C,OACEmC,EACE,MAAAC,OAAAC,OAAA,CAAAC,IAAK,SAACC,GAAI,OAAKd,EAAQM,EAAQQ,GAAM,EACrCrC,UAAS,kBAAAgC,OAAoBhC,OAASgC,OAAIZ,EAAa,WAAa,GAAE,KAAAY,OAAI7B,EAAS,SAAW,IAC9FmC,MAAOR,EACPS,QAtBiB,SAACC,GACpBC,EAAgBD,GACZhC,GACFA,EAAYE,EAAa,CACvBK,KAAM,OACNpB,GAAAA,EACAC,KAAAA,EACAG,MAAAA,EACAI,OAAAA,MAeEC,YAEJsC,EAAK,MAAAR,OAAAC,OAAA,CAAAnC,UAAU,SAAO,CAAA2C,SAAA,CACD,YAAlBlC,GACCwB,wBAAMjC,UAAU,QACd,CAAA2C,SAAAV,EAACW,EACC,CAAAC,SAAUD,EAAK7B,KAAK+B,KACpBC,KAAK,GAELC,SAAUvC,EACVwC,SAAU,GACVC,iBACA,EAAAZ,MAAO,CACLa,QAAS,QACTC,YAAa,MACbC,UAAW,YAKnBX,EAAA,OAAAR,OAAAC,OAAA,CAAMnC,UAAU,QACb,CAAA2C,SAAA,CAAA/C,EACAG,GAASkC,EAAM,OAAAC,OAAAC,OAAA,CAAAnC,UAAU,SAAS,CAAA2C,SAAA5C,eAK7C,EAEAN,EAAS6D,aA5FY,CACnBxD,MAAO,EACPE,UAAW,GACXH,WAAY"}
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as a}from"../../../../../_virtual/_tslib.js";import{jsxs as t,jsx as r}from"@emotion/react/jsx-runtime";import n,{useState as i,useEffect as c,useMemo as s}from"react";import{useDrag as o,useDrop as l}from"react-dnd";import"./TreeFolder.scss.js";import{useTreeContext as p}from"../../TreeContext.js";import{makeChildPath as m,stopPropagation as d}from"../../utils/treeHelp.js";import u from"../TreeStatusIcon/TreeStatusIcon.js";import f from"../expand/expand.js";import g from"../../../Icon/Icon.js";var v=function(v){var h=v.name,j=v.children,x=v.parentPath,y=v.level,T=v.extra,b=v.className,N=v.active,O=void 0!==N&&N,E=v.onMove,P=a(v,["name","children","parentPath","level","extra","className","active","onMove"]),C=p(),I=C.onFileClick,_=C.initialExpand,k=C.alwaysExpanded,M=C.parentIconPath,A=i(k||_),D=e(A,2),F=D[0],H=D[1];c((function(){H(!!k||_)}),[_,k]);var R=s((function(){return m(h,x)}),[h,x]),S=o({type:"TREE_ITEM",item:{type:"folder",path:R},collect:function(e){return{isDragging:e.isDragging()}}}),w=e(S,2),z=w[0].isDragging,B=w[1],L=l({accept:"TREE_ITEM",drop:function(e){e.path!==R&&E&&E(e.path,R)},collect:function(e){return{isOver:e.isOver()}}}),q=e(L,2),G=q[0].isOver,J=q[1],K={paddingLeft:0===y?"4px":"calc(1.875rem * ".concat(y,")")};return t("div",Object.assign({className:"folder-container ".concat(b," ").concat(z?"dragging":"")},P,{children:[t("div",Object.assign({ref:function(e){return B(J(e))},className:"names ".concat(O&&"active"," ").concat(G?"drop-target":""),"data-level":y,style:K,onClick:function(){k||H(!F),I&&I(R,{type:"directory",name:h,extra:T,files:n.Children.toArray(j),active:O})}},{children:[r("span",Object.assign({className:"status"},{children:r(u,{active:F})})),"default"!==M&&r("span",Object.assign({className:"icon"},{children:r(g,{iconType:g.type.PATH,icon:"",iconPath:M,iconSize:16,useCurrentColor:!0,style:{display:"block",marginRight:"8px",marginTop:"0px"}})})),t("span",Object.assign({className:"name"},{children:[h,T&&r("span",Object.assign({className:"extra"},{children:T}))]}))]})),r(f,Object.assign({isExpanded:F},{children:r("div",Object.assign({className:"content",onClick:d},{children:j}))}))]}))};v.defaultProps={level:0,className:"",parentPath:""},v.displayName="TreeFolder";export{v as default};
1
+ import{slicedToArray as e}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import{__rest as a}from"../../../../../_virtual/_tslib.js";import{jsxs as t,jsx as r}from"@emotion/react/jsx-runtime";import n,{useState as i,useEffect as c,useMemo as s}from"react";import{useDrag as o,useDrop as l}from"react-dnd";import"./TreeFolder.scss.js";import{useTreeContext as p}from"../../TreeContext.js";import{makeChildPath as d,stopPropagation as m}from"../../utils/treeHelp.js";import u from"../TreeStatusIcon/TreeStatusIcon.js";import f from"../expand/expand.js";import g from"../../../Icon/Icon.js";var v=function(v){var h=v.id,j=v.name,x=v.children,y=v.parentPath,T=v.level,b=v.extra,N=v.className,O=v.active,E=void 0!==O&&O,P=v.onMove,C=a(v,["id","name","children","parentPath","level","extra","className","active","onMove"]),I=p(),_=I.onFileClick,k=I.initialExpand,M=I.alwaysExpanded,A=I.parentIconPath,D=i(M||k),F=e(D,2),H=F[0],R=F[1];c((function(){R(!!M||k)}),[k,M]);var S=s((function(){return d(j,y)}),[j,y]),w=o({type:"TREE_ITEM",item:{type:"folder",path:S},collect:function(e){return{isDragging:e.isDragging()}}}),z=e(w,2),B=z[0].isDragging,L=z[1],q=l({accept:"TREE_ITEM",drop:function(e){e.path!==S&&P&&P(e.path,S)},collect:function(e){return{isOver:e.isOver()}}}),G=e(q,2),J=G[0].isOver,K=G[1],Q={paddingLeft:"calc(1.875rem * ".concat(T+1,")")};return t("div",Object.assign({className:"folder-container ".concat(N," ").concat(B?"dragging":"")},C,{children:[t("div",Object.assign({ref:function(e){return L(K(e))},className:"names ".concat(E&&"active"," ").concat(J?"drop-target":""),"data-level":T,style:Q,onClick:function(){M||R(!H),_&&_(S,{type:"directory",id:h,name:j,extra:b,files:n.Children.toArray(x),active:E})}},{children:[r("span",Object.assign({className:"status"},{children:r(u,{active:H})})),"default"!==A&&r("span",Object.assign({className:"icon"},{children:r(g,{iconType:g.type.PATH,icon:"",iconPath:A,iconSize:16,useCurrentColor:!0,style:{display:"block",marginRight:"8px",marginTop:"0px"}})})),t("span",Object.assign({className:"name"},{children:[j,b&&r("span",Object.assign({className:"extra"},{children:b}))]}))]})),r(f,Object.assign({isExpanded:H},{children:r("div",Object.assign({className:"content",onClick:m},{children:x}))}))]}))};v.defaultProps={level:0,className:"",parentPath:""},v.displayName="TreeFolder";export{v as default};
2
2
  //# sourceMappingURL=TreeFolder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeFolder.js","sources":["../../../../../../../src/components/Tree/components/TreeFolder/TreeFolder.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useMemo, useState } from \"react\";\nimport { useDrag, useDrop } from \"react-dnd\";\nimport \"./TreeFolder.scss\";\nimport { useTreeContext } from \"../../TreeContext\";\nimport {\n makeChildPath,\n sortChildren,\n stopPropagation,\n} from \"../../utils/treeHelp\";\nimport TreeFile from \"../TreeFile/TreeFile\";\nimport TreeStatusIcon from \"../TreeStatusIcon/TreeStatusIcon\";\nimport Expand from \"../expand/expand\";\nimport Icon from \"../../../Icon/Icon\";\n\ninterface Props {\n name: string;\n extra?: string;\n parentPath?: string;\n level?: number;\n className?: string;\n active?: boolean;\n onMove: (draggedItemPath: string, dropTargetPath: string) => void;\n}\n\nconst defaultProps = {\n level: 0,\n className: \"\",\n parentPath: \"\",\n};\n\nconst TreeFolder: React.FC<React.PropsWithChildren<Props>> = ({\n name,\n children,\n parentPath,\n level: parentLevel,\n extra,\n className,\n active = false,\n onMove,\n ...props\n}) => {\n const { onFileClick, initialExpand, isImperative, alwaysExpanded, parentIconPath } =\n useTreeContext();\n const [expanded, setExpanded] = useState<boolean>(\n alwaysExpanded || initialExpand\n );\n\n useEffect(() => {\n if (alwaysExpanded) {\n setExpanded(true);\n } else {\n setExpanded(initialExpand);\n }\n }, [initialExpand, alwaysExpanded]);\n\n const currentPath = useMemo(\n () => makeChildPath(name, parentPath),\n [name, parentPath]\n );\n\n const [{ isDragging }, dragRef] = useDrag({\n type: \"TREE_ITEM\",\n item: { type: \"folder\", path: currentPath },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const [{ isOver }, dropRef] = useDrop({\n accept: \"TREE_ITEM\",\n drop: (draggedItem: { path: string }) => {\n if (draggedItem.path !== currentPath && onMove) {\n onMove(draggedItem.path, currentPath);\n }\n },\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n }),\n });\n\n const clickHandler = () => {\n if (!alwaysExpanded) {\n setExpanded(!expanded);\n }\n if (onFileClick) {\n onFileClick(currentPath, {\n type: \"directory\",\n name,\n extra,\n //@ts-ignore\n files: React.Children.toArray(children),\n active\n });\n }\n };\n\n const namesStyle = {\n paddingLeft: parentLevel === 0 ? \"4px\" : `calc(1.875rem * ${parentLevel})`,\n };\n\n return (\n <div \n className={`folder-container ${className} ${isDragging ? \"dragging\" : \"\"}`}\n {...props}\n >\n <div\n ref={(node) => dragRef(dropRef(node))}\n className={`names ${active && \"active\"} ${isOver ? \"drop-target\" : \"\"}`}\n data-level={parentLevel}\n style={namesStyle}\n onClick={clickHandler}\n >\n <span className=\"status\">\n <TreeStatusIcon active={expanded} />\n </span>\n {parentIconPath !== \"default\" && (\n <span className=\"icon\">\n <Icon\n iconType={Icon.type.PATH}\n icon=\"\"\n //@ts-ignore\n iconPath={parentIconPath}\n iconSize={16}\n useCurrentColor\n style={{\n display: \"block\",\n marginRight: \"8px\",\n marginTop: \"0px\",\n }}\n />\n </span>\n )}\n <span className=\"name\">\n {name}\n {extra && <span className=\"extra\">{extra}</span>}\n </span>\n </div>\n <Expand isExpanded={expanded}>\n <div className=\"content\" onClick={stopPropagation}>\n {children}\n </div>\n </Expand>\n </div>\n );\n};\n\nTreeFolder.defaultProps = defaultProps;\nTreeFolder.displayName = \"TreeFolder\";\n\nexport default TreeFolder;\n"],"names":["TreeFolder","_a","name","children","parentPath","parentLevel","level","extra","className","_a$active","active","onMove","props","__rest","_useTreeContext","useTreeContext","onFileClick","initialExpand","alwaysExpanded","parentIconPath","_useState","useState","_useState2","_slicedToArray","expanded","setExpanded","useEffect","currentPath","useMemo","makeChildPath","_useDrag","useDrag","type","item","path","collect","monitor","isDragging","_useDrag2","dragRef","_useDrop","useDrop","accept","drop","draggedItem","isOver","_useDrop2","dropRef","namesStyle","paddingLeft","concat","_jsxs","Object","assign","ref","node","style","onClick","files","React","Children","toArray","_jsx","TreeStatusIcon","Icon","iconType","PATH","icon","iconPath","iconSize","useCurrentColor","display","marginRight","marginTop","Expand","isExpanded","stopPropagation","defaultProps","displayName"],"mappings":"ulBAwBA,IAMMA,EAAuD,SAACC,OAC5DC,IAAAA,KACAC,IAAAA,SACAC,IAAAA,WACOC,IAAPC,MACAC,IAAAA,MACAC,IAAAA,UAASC,IACTC,OAAAA,OAAS,IAAHD,GAAQA,EACdE,IAAAA,OACGC,EATyDC,EAAAZ,EAAA,CAAA,OAAA,WAAA,aAAA,QAAA,QAAA,YAAA,SAAA,WAW5Da,EACEC,IADMC,EAAWF,EAAXE,YAAaC,EAAaH,EAAbG,cAA6BC,EAAcJ,EAAdI,eAAgBC,EAAcL,EAAdK,eAElEC,EAAgCC,EAC9BH,GAAkBD,GACnBK,EAAAC,EAAAH,EAAA,GAFMI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAI5BI,GAAU,WAEND,IADEP,GAGUD,EAEhB,GAAG,CAACA,EAAeC,IAEnB,IAAMS,EAAcC,GAClB,WAAA,OAAMC,EAAc3B,EAAME,EAAW,GACrC,CAACF,EAAME,IAGT0B,EAAkCC,EAAQ,CACxCC,KAAM,YACNC,KAAM,CAAED,KAAM,SAAUE,KAAMP,GAC9BQ,QAAS,SAACC,GAAO,MAAM,CACrBC,WAAYD,EAAQC,aACrB,IACDC,EAAAf,EAAAO,EAAA,GANOO,EAAUC,EAAA,GAAVD,WAAcE,EAAOD,EAAA,GAQ9BE,EAA8BC,EAAQ,CACpCC,OAAQ,YACRC,KAAM,SAACC,GACDA,EAAYV,OAASP,GAAehB,GACtCA,EAAOiC,EAAYV,KAAMP,EAE5B,EACDQ,QAAS,SAACC,GAAO,MAAM,CACrBS,OAAQT,EAAQS,SACjB,IACDC,EAAAvB,EAAAiB,EAAA,GAVOK,EAAMC,EAAA,GAAND,OAAUE,EAAOD,EAAA,GA4BpBE,EAAa,CACjBC,YAA6B,IAAhB5C,EAAoB,MAAK,mBAAA6C,OAAsB7C,EAAW,MAGzE,OACE8C,uBACE3C,UAAS,oBAAA0C,OAAsB1C,EAAS,KAAA0C,OAAIb,EAAa,WAAa,KAClEzB,EAAK,CAAAT,SAAA,CAEXgD,EACE,MAAAC,OAAAC,OAAA,CAAAC,IAAK,SAACC,GAAI,OAAKhB,EAAQQ,EAAQQ,GAAM,EACrC/C,UAAS0C,SAAAA,OAAWxC,GAAU,SAAQ,KAAAwC,OAAIL,EAAS,cAAgB,iBACvDxC,EACZmD,MAAOR,EACPS,QA9BiB,WACdvC,GACHO,GAAaD,GAEXR,GACFA,EAAYW,EAAa,CACvBK,KAAM,YACN9B,KAAAA,EACAK,MAAAA,EAEAmD,MAAOC,EAAMC,SAASC,QAAQ1D,GAC9BO,OAAAA,iBAqBAoD,EAAM,OAAAV,OAAAC,OAAA,CAAA7C,UAAU,UAAQ,CAAAL,SACtB2D,EAACC,EAAc,CAACrD,OAAQc,OAEN,YAAnBL,GACC2C,EAAM,OAAAV,OAAAC,OAAA,CAAA7C,UAAU,QACd,CAAAL,SAAA2D,EAACE,EACC,CAAAC,SAAUD,EAAKhC,KAAKkC,KACpBC,KAAK,GAELC,SAAUjD,EACVkD,SAAU,GACVC,iBACA,EAAAd,MAAO,CACLe,QAAS,QACTC,YAAa,MACbC,UAAW,YAKnBtB,wBAAM3C,UAAU,QACb,CAAAL,SAAA,CAAAD,EACAK,GAASuD,wBAAMtD,UAAU,SAAS,CAAAL,SAAAI,aAGvCuD,EAACY,iBAAOC,WAAYnD,GAClB,CAAArB,SAAA2D,EAAA,MAAAV,OAAAC,OAAA,CAAK7C,UAAU,UAAUiD,QAASmB,GAC/B,CAAAzE,SAAAA,WAKX,EAEAH,EAAW6E,aA1HU,CACnBvE,MAAO,EACPE,UAAW,GACXJ,WAAY,IAwHdJ,EAAW8E,YAAc"}
1
+ {"version":3,"file":"TreeFolder.js","sources":["../../../../../../../src/components/Tree/components/TreeFolder/TreeFolder.tsx"],"sourcesContent":["import React, { ReactNode, useEffect, useMemo, useState } from \"react\";\nimport { useDrag, useDrop } from \"react-dnd\";\nimport \"./TreeFolder.scss\";\nimport { useTreeContext } from \"../../TreeContext\";\nimport {\n makeChildPath,\n sortChildren,\n stopPropagation,\n} from \"../../utils/treeHelp\";\nimport TreeFile from \"../TreeFile/TreeFile\";\nimport TreeStatusIcon from \"../TreeStatusIcon/TreeStatusIcon\";\nimport Expand from \"../expand/expand\";\nimport Icon from \"../../../Icon/Icon\";\n\ninterface Props {\n id: number | string;\n name: string;\n extra?: string;\n parentPath?: string;\n level?: number;\n className?: string;\n active?: boolean;\n onMove: (draggedItemPath: string, dropTargetPath: string) => void;\n}\n\nconst defaultProps = {\n level: 0,\n className: \"\",\n parentPath: \"\",\n};\n\nconst TreeFolder: React.FC<React.PropsWithChildren<Props>> = ({\n id,\n name,\n children,\n parentPath,\n level: parentLevel,\n extra,\n className,\n active = false,\n onMove,\n ...props\n}) => {\n const { onFileClick, initialExpand, isImperative, alwaysExpanded, parentIconPath } =\n useTreeContext();\n const [expanded, setExpanded] = useState<boolean>(\n alwaysExpanded || initialExpand\n );\n\n useEffect(() => {\n if (alwaysExpanded) {\n setExpanded(true);\n } else {\n setExpanded(initialExpand);\n }\n }, [initialExpand, alwaysExpanded]);\n\n const currentPath = useMemo(\n () => makeChildPath(name, parentPath),\n [name, parentPath]\n );\n\n const [{ isDragging }, dragRef] = useDrag({\n type: \"TREE_ITEM\",\n item: { type: \"folder\", path: currentPath },\n collect: (monitor) => ({\n isDragging: monitor.isDragging(),\n }),\n });\n\n const [{ isOver }, dropRef] = useDrop({\n accept: \"TREE_ITEM\",\n drop: (draggedItem: { path: string }) => {\n if (draggedItem.path !== currentPath && onMove) {\n onMove(draggedItem.path, currentPath);\n }\n },\n collect: (monitor) => ({\n isOver: monitor.isOver(),\n }),\n });\n\n const clickHandler = () => {\n if (!alwaysExpanded) {\n setExpanded(!expanded);\n }\n if (onFileClick) {\n onFileClick(currentPath, {\n type: \"directory\",\n id,\n name,\n extra,\n //@ts-ignore\n files: React.Children.toArray(children),\n active,\n });\n }\n };\n\n const namesStyle = {\n paddingLeft: `calc(1.875rem * ${parentLevel + 1})`,\n };\n\n return (\n <div \n className={`folder-container ${className} ${isDragging ? \"dragging\" : \"\"}`}\n {...props}\n >\n <div\n ref={(node) => dragRef(dropRef(node))}\n className={`names ${active && \"active\"} ${isOver ? \"drop-target\" : \"\"}`}\n data-level={parentLevel}\n style={namesStyle}\n onClick={clickHandler}\n >\n <span className=\"status\">\n <TreeStatusIcon active={expanded} />\n </span>\n {parentIconPath !== \"default\" && (\n <span className=\"icon\">\n <Icon\n iconType={Icon.type.PATH}\n icon=\"\"\n //@ts-ignore\n iconPath={parentIconPath}\n iconSize={16}\n useCurrentColor\n style={{\n display: \"block\",\n marginRight: \"8px\",\n marginTop: \"0px\",\n }}\n />\n </span>\n )}\n <span className=\"name\">\n {name}\n {extra && <span className=\"extra\">{extra}</span>}\n </span>\n </div>\n <Expand isExpanded={expanded}>\n <div className=\"content\" onClick={stopPropagation}>\n {children}\n </div>\n </Expand>\n </div>\n );\n};\n\nTreeFolder.defaultProps = defaultProps;\nTreeFolder.displayName = \"TreeFolder\";\n\nexport default TreeFolder;\n"],"names":["TreeFolder","_a","id","name","children","parentPath","parentLevel","level","extra","className","_a$active","active","onMove","props","__rest","_useTreeContext","useTreeContext","onFileClick","initialExpand","alwaysExpanded","parentIconPath","_useState","useState","_useState2","_slicedToArray","expanded","setExpanded","useEffect","currentPath","useMemo","makeChildPath","_useDrag","useDrag","type","item","path","collect","monitor","isDragging","_useDrag2","dragRef","_useDrop","useDrop","accept","drop","draggedItem","isOver","_useDrop2","dropRef","namesStyle","paddingLeft","concat","_jsxs","Object","assign","ref","node","style","onClick","files","React","Children","toArray","_jsx","TreeStatusIcon","Icon","iconType","PATH","icon","iconPath","iconSize","useCurrentColor","display","marginRight","marginTop","Expand","isExpanded","stopPropagation","defaultProps","displayName"],"mappings":"ulBAyBA,IAMMA,EAAuD,SAACC,OAC5DC,EAQMD,EARNC,GACAC,EAOMF,EAPNE,KACAC,EAMMH,EANNG,SACAC,EAKMJ,EALNI,WACOC,EAIDL,EAJNM,MACAC,EAGMP,EAHNO,MACAC,EAEMR,EAFNQ,UAASC,EAEHT,EADNU,OAAAA,OAAS,IAAHD,GAAQA,EACdE,EAAMX,EAANW,OACGC,EAVyDC,EAAAb,EAAA,CAAA,KAAA,OAAA,WAAA,aAAA,QAAA,QAAA,YAAA,SAAA,WAY5Dc,EACEC,IADMC,EAAWF,EAAXE,YAAaC,EAAaH,EAAbG,cAA6BC,EAAcJ,EAAdI,eAAgBC,EAAcL,EAAdK,eAElEC,EAAgCC,EAC9BH,GAAkBD,GACnBK,EAAAC,EAAAH,EAAA,GAFMI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAI5BI,GAAU,WAEND,IADEP,GAGUD,EAEhB,GAAG,CAACA,EAAeC,IAEnB,IAAMS,EAAcC,GAClB,WAAA,OAAMC,EAAc3B,EAAME,EAAW,GACrC,CAACF,EAAME,IAGT0B,EAAkCC,EAAQ,CACxCC,KAAM,YACNC,KAAM,CAAED,KAAM,SAAUE,KAAMP,GAC9BQ,QAAS,SAACC,GAAO,MAAM,CACrBC,WAAYD,EAAQC,aACrB,IACDC,EAAAf,EAAAO,EAAA,GANOO,EAAUC,EAAA,GAAVD,WAAcE,EAAOD,EAAA,GAQ9BE,EAA8BC,EAAQ,CACpCC,OAAQ,YACRC,KAAM,SAACC,GACDA,EAAYV,OAASP,GAAehB,GACtCA,EAAOiC,EAAYV,KAAMP,EAE5B,EACDQ,QAAS,SAACC,GAAO,MAAM,CACrBS,OAAQT,EAAQS,SACjB,IACDC,EAAAvB,EAAAiB,EAAA,GAVOK,EAAMC,EAAA,GAAND,OAAUE,EAAOD,EAAA,GA6BpBE,EAAa,CACjBC,YAAWC,mBAAAA,OAAqB7C,EAAc,EAAC,MAGjD,OACE8C,uBACE3C,UAAS,oBAAA0C,OAAsB1C,EAAS,KAAA0C,OAAIb,EAAa,WAAa,KAClEzB,EAAK,CAAAT,SAAA,CAEXgD,EACE,MAAAC,OAAAC,OAAA,CAAAC,IAAK,SAACC,GAAI,OAAKhB,EAAQQ,EAAQQ,GAAM,EACrC/C,UAAS0C,SAAAA,OAAWxC,GAAU,SAAQ,KAAAwC,OAAIL,EAAS,cAAgB,iBACvDxC,EACZmD,MAAOR,EACPS,QA/BiB,WACdvC,GACHO,GAAaD,GAEXR,GACFA,EAAYW,EAAa,CACvBK,KAAM,YACN/B,GAAAA,EACAC,KAAAA,EACAK,MAAAA,EAEAmD,MAAOC,EAAMC,SAASC,QAAQ1D,GAC9BO,OAAAA,iBAqBAoD,EAAM,OAAAV,OAAAC,OAAA,CAAA7C,UAAU,UAAQ,CAAAL,SACtB2D,EAACC,EAAc,CAACrD,OAAQc,OAEN,YAAnBL,GACC2C,EAAM,OAAAV,OAAAC,OAAA,CAAA7C,UAAU,QACd,CAAAL,SAAA2D,EAACE,EACC,CAAAC,SAAUD,EAAKhC,KAAKkC,KACpBC,KAAK,GAELC,SAAUjD,EACVkD,SAAU,GACVC,iBACA,EAAAd,MAAO,CACLe,QAAS,QACTC,YAAa,MACbC,UAAW,YAKnBtB,wBAAM3C,UAAU,QACb,CAAAL,SAAA,CAAAD,EACAK,GAASuD,wBAAMtD,UAAU,SAAS,CAAAL,SAAAI,aAGvCuD,EAACY,iBAAOC,WAAYnD,GAClB,CAAArB,SAAA2D,EAAA,MAAAV,OAAAC,OAAA,CAAK7C,UAAU,UAAUiD,QAASmB,GAC/B,CAAAzE,SAAAA,WAKX,EAEAJ,EAAW8E,aA5HU,CACnBvE,MAAO,EACPE,UAAW,GACXJ,WAAY,IA0HdL,EAAW+E,YAAc"}