vue-tree-list 1.5.0 → 2.0.0

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.
Files changed (43) hide show
  1. package/dist/types/dev/App.vue.d.ts +2 -0
  2. package/dist/types/dev/index.d.ts +1 -0
  3. package/dist/types/src/Tree.d.ts +51 -0
  4. package/dist/types/src/VueTreeList.vue.d.ts +143 -0
  5. package/dist/types/src/index.d.ts +8 -0
  6. package/dist/types/src/tools.d.ts +8 -0
  7. package/dist/types/tests/setup.d.ts +1 -0
  8. package/dist/types/tests/unit/drag.spec.d.ts +1 -0
  9. package/dist/types/tests/unit/events.spec.d.ts +1 -0
  10. package/dist/types/tests/unit/operation.spec.d.ts +1 -0
  11. package/dist/types/tests/unit/render.spec.d.ts +1 -0
  12. package/dist/types/tests/unit/slot.spec.d.ts +1 -0
  13. package/dist/types/tests/unit/tree.spec.d.ts +1 -0
  14. package/dist/types/vite.config.d.ts +2 -0
  15. package/dist/vue-tree-list.css +1 -0
  16. package/dist/vue-tree-list.es.js +433 -0
  17. package/dist/vue-tree-list.umd.js +1 -3624
  18. package/package.json +50 -40
  19. package/readme.md +150 -91
  20. package/.commitlintrc.yml +0 -2
  21. package/.czrc +0 -3
  22. package/.eslintrc +0 -29
  23. package/.github/workflows/test.yml +0 -15
  24. package/.huskyrc.yml +0 -3
  25. package/babel.config.js +0 -3
  26. package/dev/App.vue +0 -188
  27. package/dev/index.js +0 -9
  28. package/dist/demo.html +0 -8
  29. package/dist/vue-tree-list.common.js +0 -3614
  30. package/dist/vue-tree-list.common.js.map +0 -1
  31. package/dist/vue-tree-list.umd.js.map +0 -1
  32. package/dist/vue-tree-list.umd.min.js +0 -2
  33. package/dist/vue-tree-list.umd.min.js.map +0 -1
  34. package/jest.config.js +0 -6
  35. package/prettier.config.js +0 -15
  36. package/tests/unit/__snapshots__/render.spec.js.snap +0 -72
  37. package/tests/unit/__snapshots__/slot.spec.js.snap +0 -53
  38. package/tests/unit/drag.spec.js +0 -92
  39. package/tests/unit/operation.spec.js +0 -86
  40. package/tests/unit/render.spec.js +0 -49
  41. package/tests/unit/slot.spec.js +0 -91
  42. package/vue.config.js +0 -5
  43. /package/{public → dist}/index.html +0 -0
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Data structure for TreeNode constructor parameter
3
+ */
4
+ export interface TreeNodeData {
5
+ name: string;
6
+ isLeaf?: boolean;
7
+ id?: number | string;
8
+ dragDisabled?: boolean;
9
+ addTreeNodeDisabled?: boolean;
10
+ addLeafNodeDisabled?: boolean;
11
+ editNodeDisabled?: boolean;
12
+ delNodeDisabled?: boolean;
13
+ disabled?: boolean;
14
+ children?: TreeNodeData[];
15
+ [key: string]: unknown;
16
+ }
17
+ /**
18
+ * Tree node class
19
+ */
20
+ export declare class TreeNode {
21
+ id: number | string;
22
+ parent: TreeNode | null;
23
+ children: TreeNode[] | null;
24
+ isLeaf: boolean;
25
+ name: string;
26
+ pid: number | string | undefined;
27
+ dragDisabled?: boolean;
28
+ addTreeNodeDisabled?: boolean;
29
+ addLeafNodeDisabled?: boolean;
30
+ editNodeDisabled?: boolean;
31
+ delNodeDisabled?: boolean;
32
+ disabled?: boolean;
33
+ [key: string]: unknown;
34
+ constructor(data: TreeNodeData);
35
+ changeName(name: string): void;
36
+ addChildren(children: TreeNode | TreeNode[]): void;
37
+ remove(): void;
38
+ _removeChild(child: TreeNode): void;
39
+ isTargetChild(target: TreeNode): boolean;
40
+ moveInto(target: TreeNode): void;
41
+ findChildIndex(child: TreeNode): number | undefined;
42
+ _canInsert(target: TreeNode): boolean;
43
+ insertBefore(target: TreeNode): void;
44
+ insertAfter(target: TreeNode): void;
45
+ toString(): string;
46
+ }
47
+ export declare class Tree {
48
+ root: TreeNode;
49
+ constructor(data: TreeNodeData[]);
50
+ initNode(node: TreeNode, data: TreeNodeData[]): void;
51
+ }
@@ -0,0 +1,143 @@
1
+ import { TreeNode } from './Tree';
2
+ type __VLS_Props = {
3
+ model: TreeNode;
4
+ defaultLeafNodeName?: string;
5
+ defaultTreeNodeName?: string;
6
+ defaultAddTreeNodeTitle?: string;
7
+ defaultAddLeafNodeTitle?: string;
8
+ defaultExpanded?: boolean;
9
+ };
10
+ declare var __VLS_1: {
11
+ expanded: boolean;
12
+ model: TreeNode;
13
+ root: TreeNode | undefined;
14
+ }, __VLS_3: {
15
+ expanded: boolean;
16
+ model: TreeNode;
17
+ root: TreeNode | undefined;
18
+ }, __VLS_5: {
19
+ expanded: boolean;
20
+ model: TreeNode;
21
+ root: TreeNode | undefined;
22
+ }, __VLS_7: {
23
+ expanded: boolean;
24
+ model: TreeNode;
25
+ root: TreeNode | undefined;
26
+ }, __VLS_9: {
27
+ expanded: boolean;
28
+ model: TreeNode;
29
+ root: TreeNode | undefined;
30
+ }, __VLS_11: {
31
+ expanded: boolean;
32
+ model: TreeNode;
33
+ root: TreeNode | undefined;
34
+ }, __VLS_13: {
35
+ expanded: boolean;
36
+ model: TreeNode;
37
+ root: TreeNode | undefined;
38
+ }, __VLS_19: any, __VLS_21: any, __VLS_23: any, __VLS_25: any, __VLS_27: any, __VLS_29: any, __VLS_31: any;
39
+ type __VLS_Slots = {} & {
40
+ leafNodeIcon?: (props: typeof __VLS_1) => any;
41
+ } & {
42
+ treeNodeIcon?: (props: typeof __VLS_3) => any;
43
+ } & {
44
+ leafNameDisplay?: (props: typeof __VLS_5) => any;
45
+ } & {
46
+ addTreeNodeIcon?: (props: typeof __VLS_7) => any;
47
+ } & {
48
+ addLeafNodeIcon?: (props: typeof __VLS_9) => any;
49
+ } & {
50
+ editNodeIcon?: (props: typeof __VLS_11) => any;
51
+ } & {
52
+ delNodeIcon?: (props: typeof __VLS_13) => any;
53
+ } & {
54
+ leafNameDisplay?: (props: typeof __VLS_19) => any;
55
+ } & {
56
+ addTreeNodeIcon?: (props: typeof __VLS_21) => any;
57
+ } & {
58
+ addLeafNodeIcon?: (props: typeof __VLS_23) => any;
59
+ } & {
60
+ editNodeIcon?: (props: typeof __VLS_25) => any;
61
+ } & {
62
+ delNodeIcon?: (props: typeof __VLS_27) => any;
63
+ } & {
64
+ leafNodeIcon?: (props: typeof __VLS_29) => any;
65
+ } & {
66
+ treeNodeIcon?: (props: typeof __VLS_31) => any;
67
+ };
68
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
69
+ click: (payload: Record<string, unknown>) => any;
70
+ "change-name": (payload: {
71
+ id: number | string;
72
+ oldName: string;
73
+ newName: string;
74
+ node?: TreeNode;
75
+ eventType?: string;
76
+ }) => any;
77
+ "delete-node": (node: TreeNode) => any;
78
+ "add-node": (node: TreeNode) => any;
79
+ drop: (payload: {
80
+ target: TreeNode;
81
+ node: TreeNode;
82
+ src: TreeNode | null;
83
+ }) => any;
84
+ "drop-before": (payload: {
85
+ target: TreeNode;
86
+ node: TreeNode;
87
+ src: TreeNode | null;
88
+ }) => any;
89
+ "drop-after": (payload: {
90
+ target: TreeNode;
91
+ node: TreeNode;
92
+ src: TreeNode | null;
93
+ }) => any;
94
+ "end-edit": (payload: {
95
+ id: number | string;
96
+ oldName: string;
97
+ newName: string;
98
+ }) => any;
99
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
100
+ onClick?: ((payload: Record<string, unknown>) => any) | undefined;
101
+ "onChange-name"?: ((payload: {
102
+ id: number | string;
103
+ oldName: string;
104
+ newName: string;
105
+ node?: TreeNode;
106
+ eventType?: string;
107
+ }) => any) | undefined;
108
+ "onDelete-node"?: ((node: TreeNode) => any) | undefined;
109
+ "onAdd-node"?: ((node: TreeNode) => any) | undefined;
110
+ onDrop?: ((payload: {
111
+ target: TreeNode;
112
+ node: TreeNode;
113
+ src: TreeNode | null;
114
+ }) => any) | undefined;
115
+ "onDrop-before"?: ((payload: {
116
+ target: TreeNode;
117
+ node: TreeNode;
118
+ src: TreeNode | null;
119
+ }) => any) | undefined;
120
+ "onDrop-after"?: ((payload: {
121
+ target: TreeNode;
122
+ node: TreeNode;
123
+ src: TreeNode | null;
124
+ }) => any) | undefined;
125
+ "onEnd-edit"?: ((payload: {
126
+ id: number | string;
127
+ oldName: string;
128
+ newName: string;
129
+ }) => any) | undefined;
130
+ }>, {
131
+ defaultLeafNodeName: string;
132
+ defaultTreeNodeName: string;
133
+ defaultAddTreeNodeTitle: string;
134
+ defaultAddLeafNodeTitle: string;
135
+ defaultExpanded: boolean;
136
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
137
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
138
+ export default _default;
139
+ type __VLS_WithSlots<T, S> = T & {
140
+ new (): {
141
+ $slots: S;
142
+ };
143
+ };
@@ -0,0 +1,8 @@
1
+ import type { App } from 'vue';
2
+ import VueTreeList from './VueTreeList.vue';
3
+ import { Tree, TreeNode } from './Tree';
4
+ import type { TreeNodeData } from './Tree';
5
+ declare const install: (app: App) => void;
6
+ export default VueTreeList;
7
+ export { Tree, TreeNode, VueTreeList, install };
8
+ export type { TreeNodeData };
@@ -0,0 +1,8 @@
1
+ import type { TreeNode } from './Tree';
2
+ export declare const addHandler: (element: EventTarget, type: string, handler: EventListener) => void;
3
+ export declare const removeHandler: (element: EventTarget, type: string) => void;
4
+ export interface TraversedNode {
5
+ [key: string]: unknown;
6
+ children?: TraversedNode[];
7
+ }
8
+ export declare const traverseTree: (root: TreeNode) => TraversedNode;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ @font-face{font-family:icomoon;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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) format("embedded-opentype"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwT1MvMg8SBfgAAAC8AAAAYGNtYXAXVtKOAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zl1fCFwAAAF4AAAEVGhlYWQOTiqjAAAFzAAAADZoaGVhB8IDzQAABgQAAAAkaG10eCYABHwAAAYoAAAAMGxvY2EFpARMAAAGWAAAABptYXhwABIAcAAABnQAAAAgbmFtZZlKCfsAAAaUAAABhnBvc3QAAwAAAAAIHAAAACAAAwPHAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qf//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABATIAmwJ7AuUAEgAAARQHAQYjIicmNRE0NzYzMhcBFgJ7C/8ACg8PCwsLCw8PCgEACwHADwv/AAsLCw8CAA8LCwv/AAsAAAABANsBLgMlAncAEgAAASInASY1NDc2MyEyFxYVBgcBBgIADwv/AAsLCw8CAA8LCwEK/wALAS4LAQAKDw8LCwsLDw8K/wALAAACAKkAggNEAxwAJgA0AAABIgYVERQGIyEiJjURNDYzITI2NTQmIyEiBhURFBYzITI2NRE0JiMFFjI3ATY0JyYiBwEGFAMwCAwYEf4HEBgYEAFYCAwMCP6UGSQkGQIiGSMMCP5xBhEGAWsGBgYRBv6VBgJSDAj+lBAYGBAB+REYDAgIDCMZ/d4ZIyMZAYAIDMUGBgFtBhEGBgb+kwYRAAAAAgAAAI4EAAPAACYARgAAASEnLgEHIyIGFREXMx4BMyE1IQcRNDYzNxceATMhMhYdATM1NCYjEyM1NCYjIgYdASMiBhUUFjsBFRQWMzI2PQEzMjY1NCYDsv3cKw0cBechLQYUCBMKAf3+Eg0IBeMrBRgSAicGB0EtISqOFQ4PFY4PFRUPjhUPDhWODxUVA3Q0EAkBLiD9UCgGBkIBAqMFBwE1CA8HBcvLIC3+E44PFRUPjhUODxWODxUVD44VDw4VAAAAAAEAgABAA38DPQAgAAABIRE0JiMiBhURISIGFQYWMyERFBYzMjY1ESEyNjU0JiMDX/7DEw0NE/6+DhIBEw0BQxMNDRMBPQ0TEg4B3wE+DRMTDf7CEw0NE/7BDhISDgE/Eg4NEwAFAEAAAAPAA4AAEgAkAEQATwBtAAAlIiY1ETQ2MzIWFRE4ATEUBiMxIyImNRE0NjMyFhUROAExFAYjASM1NCYjISIGHQEjIgYVFBYzITgBMTI2NTgBOQE0JiMlNDYzITIWHQEhNQEhIiY1ETQ2MzIWFREUFjMhMjY1ETQ2MzIWFREUBgJgDRMTDQ0TEw3ADRMTDQ0TEw0CAKA4J/6/KDigDRMTDQNADRMTDf2gEw0BQQ0S/oABoP5AKDgTDQ0TEw0BwA4SEw0OEjjAEw0BYA0TEw3+oA0TEw0BYA0TEw3+oA0TAiBAKDg4KEATDQ0TEw0NE0ANExMNQED84DgoAeAOEhIO/iANExMNAd8NExMN/iEoOAADAL8AQAM/A0AABQAIAA8AAAEhESERJx8BIwERIRUzESECbf5SAoDSE1JS/n8BQMD+AANA/QACLdNtU/4BAn/A/kEAAAMARwBHA7IDNgAVABoAHwAAASEnLgErASIGFREUFjMhMjY1ETQmIyE1MxchFSERIREDiP5ojQYSCs8SGRkSAxYRGRkR/PTAYv7eAwH8/wKvdggJGRL9ZhIYGBICFBEZUlI1/gIB/gAAAQAAAAAAAIB/utNfDzz1AAsEAAAAAADVmHLzAAAAANWYcvMAAAAABAADwAAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAADAQAAAAAAAAAAAAAAAIAAAAEAAEyBAAA2wQAAKkEAAAABAAAgAQAAEAEAAC/BAAARwAAAAAACgAUAB4AQgBmALYBGAFKAdQB9gIqAAAAAQAAAAwAbgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGljb21vb24AaQBjAG8AbQBvAG8AblZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGljb21vb24AaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AblJlZ3VsYXIAUgBlAGcAdQBsAGEAcmljb21vb24AaQBjAG8AbQBvAG8AbkZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format("truetype"),url(data:font/woff;base64,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) format("woff"),url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%20%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%3e%3cmetadata%3eGenerated%20by%20IcoMoon%3c/metadata%3e%3cdefs%3e%3cfont%20id='icomoon'%20horiz-adv-x='1024'%3e%3cfont-face%20units-per-em='1024'%20ascent='960'%20descent='-64'%20/%3e%3cmissing-glyph%20horiz-adv-x='1024'%20/%3e%3cglyph%20unicode='&%23x20;'%20horiz-adv-x='512'%20d=''%20/%3e%3cglyph%20unicode='&%23xe900;'%20glyph-name='caret-down'%20d='M635.311%20448q0-14.848-10.848-25.728l-256-256q-10.848-10.848-25.728-10.848t-25.728%2010.848-10.848%2025.728v512q0%2014.848%2010.848%2025.728t25.728%2010.848%2025.728-10.848l256-256q10.848-10.848%2010.848-25.728z'%20/%3e%3cglyph%20unicode='&%23xe901;'%20glyph-name='caret-right'%20d='M512%20301.714q-14.848%200-25.746%2010.825l-256%20256q-10.825%2010.825-10.825%2025.746t10.825%2025.746%2025.746%2010.825h512q14.848%200%2025.746-10.825t10.825-25.746-10.825-25.746l-256-256q-10.825-10.825-25.746-10.825z'%20/%3e%3cglyph%20unicode='&%23xe902;'%20glyph-name='edit'%20d='M816.001%20594.256c-11.151%200-20.203-9.053-20.203-20.201v-363.665c0-22.31-18.089-40.402-40.401-40.402h-505.083c-22.318%200-40.405%2018.093-40.405%2040.402v505.086c0%2022.317%2018.094%2040.401%2040.405%2040.401h343.46c11.168%200%2020.2%209.038%2020.2%2020.204%200%2011.161-9.036%2020.201-20.2%2020.201h-363.675c-33.483%200-60.612-27.136-60.612-60.61v-545.494c0-33.481%2027.13-60.612%2060.612-60.612h545.494c33.482%200%2060.613%2027.133%2060.613%2060.612v383.877c-0.004%2011.148-9.040%2020.201-20.205%2020.201zM417.158%20397.194c7.893-7.868%2020.674-7.868%2028.572%200l363.068%20365.049c7.889%207.894%207.889%2020.689%200%2028.572-7.89%207.893-20.678%207.893-28.563%200l-363.077-365.035c-7.897-7.891-7.897-20.692%200-28.586z'%20/%3e%3cglyph%20unicode='&%23xe903;'%20glyph-name='folder-plus-e'%20d='M946.471%20884.169h-548.426l-42.856%2051.918c-17.498%2021.394-39.525%2025.1-46.676%2023.629h-230.922c-42.788%200-77.591-34.803-77.591-77.525v-688.284l6.327-39.784h19.857c10.467-7.603%2023.121-11.751%2036.469-11.751h509.37v65.392h-494.433l-12.194-1.020v675.448c0%206.704%205.486%2012.133%2012.194%2012.133l227.025%200.256%2043.551-52.108c6.96-11.43%2022.799-23.693%2046.424-23.693h551.88c6.709%200%2012.133-5.49%2012.133-12.198v-202.19h65.397v202.189c0%2042.787-34.803%2077.589-77.529%2077.589zM988.451%20391.215h-142.197v142.197c0%2019.65-15.9%2035.549-35.549%2035.549s-35.549-15.9-35.549-35.549v-142.197h-142.197c-19.65%200-35.549-15.9-35.549-35.549s15.9-35.549%2035.549-35.549h142.197v-142.197c0-19.65%2015.9-35.549%2035.549-35.549s35.549%2015.9%2035.549%2035.549v142.197h142.197c19.65%200%2035.549%2015.9%2035.549%2035.549s-15.9%2035.549-35.549%2035.549z'%20/%3e%3cglyph%20unicode='&%23xe904;'%20glyph-name='plus'%20d='M863.328%20478.66l-317.344-0.1v318.622c0%2017.665-14.336%2032.001-32%2032.001s-32-14.336-32-32v-318.401l-322.465%200.177c-17.632%200-31.935-14.24-32-31.904-0.097-17.665%2014.208-32.032%2031.871-32.096l322.593-0.177v-319.167c0-17.696%2014.336-32.001%2031.999-32.001s32%2014.303%2032%2032v318.946l317.216%200.1c17.632%200%2031.935%2014.24%2032%2031.905s-14.238%2032.031-31.87%2032.095z'%20/%3e%3cglyph%20unicode='&%23xe905;'%20glyph-name='trash'%20d='M607.904%20191.952c-17.712%200-32%2014.288-32%2032v352.112c0%2017.712%2014.288%2032%2032%2032s31.984-14.288%2031.984-32v-351.936c0-0.033%200-0.073%200-0.112%200-17.68-14.31-32.019-31.98-32.064h-0.004zM415.936%20191.952c-17.712%200-32%2014.288-32%2032v352.112c0%2017.712%2014.272%2032%2032%2032s32-14.288%2032-32v-351.936c0-0.024%200-0.052%200-0.080%200-17.692-14.315-32.041-31.995-32.096h-0.005zM928.016%20736.032h-159.968v63.984c0%2052.992-42.672%2095.984-95.296%2095.984h-320.816c-52.999-0.027-95.957-42.984-95.984-95.981v-63.987h-159.968c-17.712%200-32-14.288-32-32s14.272-32%2032-32h832.032c0.014%200%200.031%200%200.048%200%2017.638%200%2031.936%2014.298%2031.936%2031.936%200%200.023%200%200.045%200%200.068v-0.004c0%2017.728-14.272%2032-31.984%2032zM319.952%20800.016c0%2017.552%2014.448%2032%2032%2032h320.816c17.536%200%2031.312-14.112%2031.312-32v-63.984h-384.128v63.984zM736.048%200h-447.92c-53.001%200.009-95.966%2042.968-95.984%2095.966v480.434c0%2017.712%2014.272%2032%2032%2032s32-14.288%2032-32v-480.432c0-17.712%2014.448-32%2032-32h448.096c17.712%200%2032%2014.288%2032%2032v479.232c0%2017.712%2014.288%2032%2032%2032s31.984-14.288%2031.984-32v-479.232c-0.192-52.816-43.2-95.968-96.176-95.968z'%20/%3e%3cglyph%20unicode='&%23xe906;'%20glyph-name='file'%20d='M620.792%20832.218h-430.076v-767.753h640.521v556.933l-210.445%20210.819zM639.538%20722.765l82.441-82.588h-82.441v82.588zM254.775%20128.524v639.635h320.704v-192.041h191.699v-447.595h-512.403z'%20/%3e%3cglyph%20unicode='&%23xe907;'%20glyph-name='folder'%20d='M903.813%20687.206h-407.918l-141.342%20118.095c-7.946%2010.51-20.476%2016.774-33.521%2016.774h-207.504c-23.271%200-42.223-19.158-42.223-42.714v-666.599c0-23.299%2018.95-42.251%2042.223-42.251h790.286c23.296%200%2042.246%2018.95%2042.246%2042.251v532.223c0.001%2023.274-18.949%2042.223-42.245%2042.223zM124.32%20687.206v81.852h191.869l97.435-81.852h-289.305zM124.32%20634.187h768.72v-510.657h-768.72v510.657z'%20/%3e%3c/font%3e%3c/defs%3e%3c/svg%3e") format("svg");font-weight:400;font-style:normal}.vtl-icon{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.vtl-icon.vtl-menu-icon{margin-right:4px}.vtl-icon.vtl-menu-icon:hover{color:inherit}.vtl-icon:hover{color:#00f}.vtl-icon-file:before{content:""}.vtl-icon-folder:before{content:""}.vtl-icon-caret-down:before{content:""}.vtl-icon-caret-right:before{content:""}.vtl-icon-edit:before{content:""}.vtl-icon-folder-plus-e:before{content:""}.vtl-icon-plus:before{content:""}.vtl-icon-trash:before{content:""}.vtl-border{height:5px}.vtl-border.vtl-up{margin-top:-5px;background-color:transparent}.vtl-border.vtl-bottom{background-color:transparent}.vtl-border.vtl-active{border-bottom:3px dashed blue}.vtl-node-main{display:flex;align-items:center;padding:5px 0 5px 1rem}.vtl-node-main .vtl-input{border:none;max-width:150px;border-bottom:1px solid blue}.vtl-node-main:hover{background-color:#f0f0f0}.vtl-node-main.vtl-active{outline:2px dashed pink}.vtl-node-main .vtl-caret{margin-left:-1rem}.vtl-node-main .vtl-operation{margin-left:2rem;letter-spacing:1px}.vtl-item{cursor:pointer}.vtl-tree-margin{margin-left:2em}