tree-element 0.1.1 → 0.2.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 (148) hide show
  1. package/README.md +33 -29
  2. package/lib/animation.js +5 -5
  3. package/lib/animation.js.map +1 -1
  4. package/lib/classNames.d.ts.map +1 -1
  5. package/lib/classNames.js +2 -2
  6. package/lib/classNames.js.map +1 -1
  7. package/lib/dataLoader.d.ts.map +1 -1
  8. package/lib/dataLoader.js +14 -20
  9. package/lib/dataLoader.js.map +1 -1
  10. package/lib/dragAndDropHandler/binarySearch.js +3 -3
  11. package/lib/dragAndDropHandler/binarySearch.js.map +1 -1
  12. package/lib/dragAndDropHandler/dragElement.d.ts.map +1 -1
  13. package/lib/dragAndDropHandler/dragElement.js +9 -12
  14. package/lib/dragAndDropHandler/dragElement.js.map +1 -1
  15. package/lib/dragAndDropHandler/generateHitAreas.d.ts.map +1 -1
  16. package/lib/dragAndDropHandler/generateHitAreas.js +25 -25
  17. package/lib/dragAndDropHandler/generateHitAreas.js.map +1 -1
  18. package/lib/dragAndDropHandler/index.d.ts.map +1 -1
  19. package/lib/dragAndDropHandler/index.js +90 -114
  20. package/lib/dragAndDropHandler/index.js.map +1 -1
  21. package/lib/dragAndDropHandler/iterateVisibleNodes.d.ts.map +1 -1
  22. package/lib/dragAndDropHandler/iterateVisibleNodes.js +10 -10
  23. package/lib/dragAndDropHandler/iterateVisibleNodes.js.map +1 -1
  24. package/lib/dragAndDropHandler/types.d.ts.map +1 -1
  25. package/lib/elementsRenderer.d.ts +15 -6
  26. package/lib/elementsRenderer.d.ts.map +1 -1
  27. package/lib/elementsRenderer.js +157 -121
  28. package/lib/elementsRenderer.js.map +1 -1
  29. package/lib/events.d.ts.map +1 -1
  30. package/lib/index.d.ts +5 -5
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +249 -252
  33. package/lib/index.js.map +1 -1
  34. package/lib/keyHandler.d.ts +2 -3
  35. package/lib/keyHandler.d.ts.map +1 -1
  36. package/lib/keyHandler.js +26 -25
  37. package/lib/keyHandler.js.map +1 -1
  38. package/lib/methodTypes.d.ts +1 -1
  39. package/lib/methodTypes.d.ts.map +1 -1
  40. package/lib/mouseHandler.d.ts.map +1 -1
  41. package/lib/mouseHandler.js +26 -42
  42. package/lib/mouseHandler.js.map +1 -1
  43. package/lib/mouseUtils.d.ts.map +1 -1
  44. package/lib/mouseUtils.js +2 -2
  45. package/lib/mouseUtils.js.map +1 -1
  46. package/lib/node.d.ts +2 -1
  47. package/lib/node.d.ts.map +1 -1
  48. package/lib/node.js +36 -35
  49. package/lib/node.js.map +1 -1
  50. package/lib/nodeElement/borderDropHint.d.ts.map +1 -1
  51. package/lib/nodeElement/borderDropHint.js +4 -5
  52. package/lib/nodeElement/borderDropHint.js.map +1 -1
  53. package/lib/nodeElement/folderElement.d.ts +7 -4
  54. package/lib/nodeElement/folderElement.d.ts.map +1 -1
  55. package/lib/nodeElement/folderElement.js +61 -42
  56. package/lib/nodeElement/folderElement.js.map +1 -1
  57. package/lib/nodeElement/ghostDropHint.d.ts.map +1 -1
  58. package/lib/nodeElement/ghostDropHint.js +5 -9
  59. package/lib/nodeElement/ghostDropHint.js.map +1 -1
  60. package/lib/nodeElement/index.d.ts +2 -1
  61. package/lib/nodeElement/index.d.ts.map +1 -1
  62. package/lib/nodeElement/index.js +34 -26
  63. package/lib/nodeElement/index.js.map +1 -1
  64. package/lib/nodeUtils.d.ts.map +1 -1
  65. package/lib/nodeUtils.js +1 -1
  66. package/lib/nodeUtils.js.map +1 -1
  67. package/lib/options.d.ts.map +1 -1
  68. package/lib/positionUtils.js +3 -3
  69. package/lib/positionUtils.js.map +1 -1
  70. package/lib/requestUrl.d.ts +1 -1
  71. package/lib/requestUrl.d.ts.map +1 -1
  72. package/lib/requestUrl.js +4 -6
  73. package/lib/requestUrl.js.map +1 -1
  74. package/lib/saveStateHandler.d.ts.map +1 -1
  75. package/lib/saveStateHandler.js +38 -48
  76. package/lib/saveStateHandler.js.map +1 -1
  77. package/lib/scrollHandler/containerScrollParent.d.ts.map +1 -1
  78. package/lib/scrollHandler/containerScrollParent.js +9 -11
  79. package/lib/scrollHandler/containerScrollParent.js.map +1 -1
  80. package/lib/scrollHandler/createScrollParent.d.ts.map +1 -1
  81. package/lib/scrollHandler/createScrollParent.js +10 -10
  82. package/lib/scrollHandler/createScrollParent.js.map +1 -1
  83. package/lib/scrollHandler/documentScrollParent.d.ts.map +1 -1
  84. package/lib/scrollHandler/documentScrollParent.js +16 -19
  85. package/lib/scrollHandler/documentScrollParent.js.map +1 -1
  86. package/lib/scrollHandler/scrollParent.d.ts.map +1 -1
  87. package/lib/scrollHandler/scrollParent.js +11 -17
  88. package/lib/scrollHandler/scrollParent.js.map +1 -1
  89. package/lib/scrollHandler.d.ts.map +1 -1
  90. package/lib/scrollHandler.js +11 -14
  91. package/lib/scrollHandler.js.map +1 -1
  92. package/lib/selectNodeHandler.d.ts +2 -2
  93. package/lib/selectNodeHandler.d.ts.map +1 -1
  94. package/lib/selectNodeHandler.js +45 -54
  95. package/lib/selectNodeHandler.js.map +1 -1
  96. package/lib/setDefaultOptions.d.ts.map +1 -1
  97. package/lib/setDefaultOptions.js +23 -28
  98. package/lib/setDefaultOptions.js.map +1 -1
  99. package/lib/triggerCustomEvent.d.ts.map +1 -1
  100. package/lib/triggerCustomEvent.js +2 -2
  101. package/lib/triggerCustomEvent.js.map +1 -1
  102. package/lib/util.d.ts.map +1 -1
  103. package/lib/util.js +2 -2
  104. package/lib/util.js.map +1 -1
  105. package/lib/version.d.ts +1 -1
  106. package/lib/version.js +1 -1
  107. package/lib/version.js.map +1 -1
  108. package/package.json +5 -3
  109. package/src/animation.ts +1 -1
  110. package/src/classNames.ts +52 -52
  111. package/src/dataLoader.ts +68 -71
  112. package/src/dragAndDropHandler/binarySearch.ts +17 -17
  113. package/src/dragAndDropHandler/dragElement.ts +50 -50
  114. package/src/dragAndDropHandler/generateHitAreas.ts +156 -161
  115. package/src/dragAndDropHandler/index.ts +342 -351
  116. package/src/dragAndDropHandler/iterateVisibleNodes.ts +59 -63
  117. package/src/dragAndDropHandler/types.ts +5 -5
  118. package/src/elementsRenderer.ts +351 -298
  119. package/src/events.ts +216 -216
  120. package/src/header.txt +1 -1
  121. package/src/index.ts +52 -82
  122. package/src/keyHandler.ts +125 -115
  123. package/src/methodTypes.ts +4 -7
  124. package/src/mouseHandler.ts +314 -317
  125. package/src/mouseUtils.ts +14 -14
  126. package/src/node.ts +761 -766
  127. package/src/nodeElement/borderDropHint.ts +25 -25
  128. package/src/nodeElement/folderElement.ts +135 -112
  129. package/src/nodeElement/ghostDropHint.ts +62 -62
  130. package/src/nodeElement/index.ts +88 -74
  131. package/src/nodeUtils.ts +5 -5
  132. package/src/options.ts +6 -2
  133. package/src/requestUrl.ts +3 -3
  134. package/src/saveStateHandler.ts +204 -206
  135. package/src/scrollHandler/containerScrollParent.ts +49 -52
  136. package/src/scrollHandler/createScrollParent.ts +27 -27
  137. package/src/scrollHandler/documentScrollParent.ts +70 -70
  138. package/src/scrollHandler/scrollParent.ts +98 -98
  139. package/src/scrollHandler.ts +45 -45
  140. package/src/selectNodeHandler.ts +176 -166
  141. package/src/setDefaultOptions.ts +25 -22
  142. package/src/triggerCustomEvent.ts +7 -3
  143. package/src/util.ts +2 -2
  144. package/src/version.ts +1 -1
  145. package/tree_element.debug.js +3752 -3784
  146. package/tree_element.debug.js.map +1 -1
  147. package/tree_element.js +2 -2
  148. package/tree_element.js.map +1 -1
package/src/events.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import type { Node, NodeData, Position } from "./node";
2
2
 
3
3
  export interface MoveInfo {
4
- doMove: () => void;
5
- movedNode: Node;
6
- originalEvent: Event;
7
- position: Position;
8
- previousParent: Node | null;
9
- targetNode: Node;
4
+ doMove: () => void;
5
+ movedNode: Node;
6
+ originalEvent: Event;
7
+ position: Position;
8
+ previousParent: Node | null;
9
+ targetNode: Node;
10
10
  }
11
11
 
12
12
  // The CustomEvent of a tree event, for example `TreeEvent<"tree.select">`.
13
13
  export type TreeEvent<Name extends TreeEventName = TreeEventName> = CustomEvent<
14
- TreeEvents[Name]
14
+ TreeEvents[Name]
15
15
  >;
16
16
 
17
17
  export type TreeEventName = keyof TreeEvents;
@@ -22,223 +22,223 @@ export type TreeEventName = keyof TreeEvents;
22
22
  // events are ordered chronologically instead of alphabetically.
23
23
  /* eslint-disable perfectionist/sort-interfaces */
24
24
  export interface TreeEvents {
25
- /**
26
- * Dispatched once, after the tree is rendered for the first time. With
27
- * `dataUrl` this is after the data has arrived, so it is the moment the
28
- * api is safe to use:
29
- *
30
- * ```js
31
- * element.addEventListener("tree.init", () => {
32
- * tree.selectNode(tree.getNodeByName("node1"));
33
- * });
34
- * ```
35
- *
36
- * No `detail`.
37
- *
38
- * With inline `data`, the tree is rendered inside the constructor, so
39
- * this event has already fired by the time the constructor returns. Add
40
- * the listener to the element _before_ creating the tree:
41
- *
42
- * ```js
43
- * const element = document.getElementById("tree1");
44
- *
45
- * element.addEventListener("tree.init", () => {
46
- * // ...
47
- * });
48
- *
49
- * const tree = new TreeElement({ data, htmlElement: element });
50
- * ```
51
- *
52
- * @group Lifecycle
53
- */
54
- "tree.init": undefined;
55
- /**
56
- * Dispatched after the tree has been re-rendered. No `detail`.
57
- *
58
- * @group Lifecycle
59
- */
60
- "tree.refresh": undefined;
61
- /**
62
- * Dispatched when a node title is clicked. Call `preventDefault()` to
63
- * stop the tree from selecting the node:
64
- *
65
- * ```js
66
- * element.addEventListener("tree.click", (e) => {
67
- * e.preventDefault();
68
- * console.log("clicked", e.detail.node.name, "but not selected");
69
- * });
70
- * ```
71
- *
72
- * @group Mouse
73
- */
74
- "tree.click": {
75
- node: Node;
76
- originalEvent: MouseEvent;
77
- };
78
- /**
79
- * Dispatched when a node title is double clicked.
80
- *
81
- * @group Mouse
82
- */
83
- "tree.dblclick": {
84
- node: Node;
85
- originalEvent: MouseEvent;
86
- };
87
- /**
88
- * Dispatched on a right click on a node, unless `useContextMenu` is
89
- * `false`. The browser's own menu is suppressed.
90
- *
91
- * @group Mouse
92
- */
93
- "tree.contextmenu": {
94
- node: Node;
95
- originalEvent: MouseEvent;
96
- };
97
- /**
98
- * Dispatched when a folder is opened, after the animation.
99
- *
100
- * @group Opening and closing
101
- */
102
- "tree.open": {
103
- node: Node;
104
- };
105
- /**
106
- * Dispatched when a folder is closed, after the animation.
107
- *
108
- * @group Opening and closing
109
- */
110
- "tree.close": {
111
- node: Node;
112
- };
113
- /**
114
- * Dispatched when a node is selected. A deselection is
115
- * [`tree.deselect`](#tree-deselect) instead, so `node` is always a node
116
- * here.
117
- *
118
- * ```js
119
- * element.addEventListener("tree.select", (e) => {
120
- * console.log("selected", e.detail.node.name);
121
- * });
122
- * ```
123
- *
124
- * @group Selection
125
- */
126
- "tree.select": {
127
- /** The node that was selected before, if any. */
128
- deselectedNode: Node | null;
129
- /** The node that is now selected. */
130
- node: Node;
131
- };
132
- /**
133
- * Dispatched when the selected node is deselected, which happens when it
134
- * is clicked again or passed to `selectNode` again. No `tree.select` is
135
- * dispatched for it.
136
- *
137
- * ```js
138
- * element.addEventListener("tree.deselect", (e) => {
139
- * console.log("deselected", e.detail.node.name);
140
- * });
141
- * ```
142
- *
143
- * Selecting another node does not dispatch it — that is a `tree.select`
144
- * with the previous node in `deselectedNode`. It is also not dispatched
145
- * with `mustToggle: false`, or by `selectNode(null)`,
146
- * `removeFromSelection`, `removeNode`, `loadData` and restoring a saved
147
- * state.
148
- *
149
- * @group Selection
150
- */
151
- "tree.deselect": {
152
- node: Node;
153
- };
154
- /**
155
- * Dispatched when a node is dropped after a drag.
156
- *
157
- * | `detail` | Type |
158
- * | ------------------------- | --------------------------------- |
159
- * | `moveInfo.movedNode` | `Node` |
160
- * | `moveInfo.targetNode` | `Node` |
161
- * | `moveInfo.position` | `"before" \| "after" \| "inside"` |
162
- * | `moveInfo.previousParent` | `Node \| null` |
163
- * | `moveInfo.originalEvent` | `Event` |
164
- * | `moveInfo.doMove` | `() => void` |
165
- *
166
- * Call `preventDefault()` to keep the tree as it is, and
167
- * `moveInfo.doMove()` to apply the move later. See
168
- * [Drag and drop](/guide/drag-and-drop#reacting-to-a-move).
169
- *
170
- * @group Drag and drop
171
- */
172
- "tree.move": {
173
- /** @hidden The fields are in the table above. */
174
- moveInfo: MoveInfo;
175
- };
176
- /**
177
- * Dispatched when data is set on the tree, both from the `data` option
178
- * and from a url.
179
- *
180
- * @group Loading data
181
- */
182
- "tree.set_data": {
183
- /** The node whose children were replaced, if it was a subtree. */
184
- node?: Node;
185
- treeData?: NodeData[];
186
- };
187
- /**
188
- * Dispatched when a request starts.
189
- *
190
- * @group Loading data
191
- */
192
- "tree.loading_data": {
193
- element: HTMLElement;
194
- /** The node whose children are loading, if it is a subtree. */
195
- node?: Node;
196
- };
197
- /**
198
- * Dispatched when a request finishes. It is dispatched when the request
199
- * fails too; a [`tree.load_failed`](#tree-load-failed) follows it.
200
- *
201
- * @group Loading data
202
- */
203
- "tree.loaded_data": {
204
- element: HTMLElement;
205
- /** The node whose children were loaded, if it was a subtree. */
206
- node?: Node;
207
- };
208
- /**
209
- * Dispatched when a request returns an error status or fails with a
210
- * network error, after `tree.loaded_data`:
211
- *
212
- * ```js
213
- * element.addEventListener("tree.load_failed", (e) => {
214
- * if (e.detail.response) {
215
- * console.error("loading the tree failed", e.detail.response.status);
216
- * } else {
217
- * console.error("loading the tree failed", e.detail.error);
218
- * }
219
- * });
220
- * ```
221
- *
222
- * @group Loading data
223
- */
224
- "tree.load_failed": {
225
- /** The error thrown by `fetch`, if the request failed with a network error. */
226
- error?: unknown;
227
- /** The response, if the request returned an error status. */
228
- response?: Response;
229
- };
25
+ /**
26
+ * Dispatched once, after the tree is rendered for the first time. With
27
+ * `dataUrl` this is after the data has arrived, so it is the moment the
28
+ * api is safe to use:
29
+ *
30
+ * ```js
31
+ * element.addEventListener("tree.init", () => {
32
+ * tree.selectNode(tree.getNodeByName("node1"));
33
+ * });
34
+ * ```
35
+ *
36
+ * No `detail`.
37
+ *
38
+ * With inline `data`, the tree is rendered inside the constructor, so
39
+ * this event has already fired by the time the constructor returns. Add
40
+ * the listener to the element _before_ creating the tree:
41
+ *
42
+ * ```js
43
+ * const element = document.getElementById("tree1");
44
+ *
45
+ * element.addEventListener("tree.init", () => {
46
+ * // ...
47
+ * });
48
+ *
49
+ * const tree = new TreeElement({ data, htmlElement: element });
50
+ * ```
51
+ *
52
+ * @group Lifecycle
53
+ */
54
+ "tree.init": undefined;
55
+ /**
56
+ * Dispatched after the tree has been re-rendered. No `detail`.
57
+ *
58
+ * @group Lifecycle
59
+ */
60
+ "tree.refresh": undefined;
61
+ /**
62
+ * Dispatched when a node title is clicked. Call `preventDefault()` to
63
+ * stop the tree from selecting the node:
64
+ *
65
+ * ```js
66
+ * element.addEventListener("tree.click", (e) => {
67
+ * e.preventDefault();
68
+ * console.log("clicked", e.detail.node.name, "but not selected");
69
+ * });
70
+ * ```
71
+ *
72
+ * @group Mouse
73
+ */
74
+ "tree.click": {
75
+ node: Node;
76
+ originalEvent: MouseEvent;
77
+ };
78
+ /**
79
+ * Dispatched when a node title is double clicked.
80
+ *
81
+ * @group Mouse
82
+ */
83
+ "tree.dblclick": {
84
+ node: Node;
85
+ originalEvent: MouseEvent;
86
+ };
87
+ /**
88
+ * Dispatched on a right click on a node, unless `useContextMenu` is
89
+ * `false`. The browser's own menu is suppressed.
90
+ *
91
+ * @group Mouse
92
+ */
93
+ "tree.contextmenu": {
94
+ node: Node;
95
+ originalEvent: MouseEvent;
96
+ };
97
+ /**
98
+ * Dispatched when a folder is opened, after the animation.
99
+ *
100
+ * @group Opening and closing
101
+ */
102
+ "tree.open": {
103
+ node: Node;
104
+ };
105
+ /**
106
+ * Dispatched when a folder is closed, after the animation.
107
+ *
108
+ * @group Opening and closing
109
+ */
110
+ "tree.close": {
111
+ node: Node;
112
+ };
113
+ /**
114
+ * Dispatched when a node is selected. A deselection is
115
+ * [`tree.deselect`](#tree-deselect) instead, so `node` is always a node
116
+ * here.
117
+ *
118
+ * ```js
119
+ * element.addEventListener("tree.select", (e) => {
120
+ * console.log("selected", e.detail.node.name);
121
+ * });
122
+ * ```
123
+ *
124
+ * @group Selection
125
+ */
126
+ "tree.select": {
127
+ /** The node that was selected before, if any. */
128
+ deselectedNode: Node | null;
129
+ /** The node that is now selected. */
130
+ node: Node;
131
+ };
132
+ /**
133
+ * Dispatched when the selected node is deselected, which happens when it
134
+ * is clicked again or passed to `selectNode` again. No `tree.select` is
135
+ * dispatched for it.
136
+ *
137
+ * ```js
138
+ * element.addEventListener("tree.deselect", (e) => {
139
+ * console.log("deselected", e.detail.node.name);
140
+ * });
141
+ * ```
142
+ *
143
+ * Selecting another node does not dispatch it — that is a `tree.select`
144
+ * with the previous node in `deselectedNode`. It is also not dispatched
145
+ * with `mustToggle: false`, or by `selectNode(null)`,
146
+ * `removeFromSelection`, `removeNode`, `loadData` and restoring a saved
147
+ * state.
148
+ *
149
+ * @group Selection
150
+ */
151
+ "tree.deselect": {
152
+ node: Node;
153
+ };
154
+ /**
155
+ * Dispatched when a node is dropped after a drag.
156
+ *
157
+ * | `detail` | Type |
158
+ * | ------------------------- | --------------------------------- |
159
+ * | `moveInfo.movedNode` | `Node` |
160
+ * | `moveInfo.targetNode` | `Node` |
161
+ * | `moveInfo.position` | `"before" \| "after" \| "inside"` |
162
+ * | `moveInfo.previousParent` | `Node \| null` |
163
+ * | `moveInfo.originalEvent` | `Event` |
164
+ * | `moveInfo.doMove` | `() => void` |
165
+ *
166
+ * Call `preventDefault()` to keep the tree as it is, and
167
+ * `moveInfo.doMove()` to apply the move later. See
168
+ * [Drag and drop](/guide/drag-and-drop#reacting-to-a-move).
169
+ *
170
+ * @group Drag and drop
171
+ */
172
+ "tree.move": {
173
+ /** @hidden The fields are in the table above. */
174
+ moveInfo: MoveInfo;
175
+ };
176
+ /**
177
+ * Dispatched when data is set on the tree, both from the `data` option
178
+ * and from a url.
179
+ *
180
+ * @group Loading data
181
+ */
182
+ "tree.set_data": {
183
+ /** The node whose children were replaced, if it was a subtree. */
184
+ node?: Node;
185
+ treeData?: NodeData[];
186
+ };
187
+ /**
188
+ * Dispatched when a request starts.
189
+ *
190
+ * @group Loading data
191
+ */
192
+ "tree.loading_data": {
193
+ element: HTMLElement;
194
+ /** The node whose children are loading, if it is a subtree. */
195
+ node?: Node;
196
+ };
197
+ /**
198
+ * Dispatched when a request finishes. It is dispatched when the request
199
+ * fails too; a [`tree.load_failed`](#tree-load-failed) follows it.
200
+ *
201
+ * @group Loading data
202
+ */
203
+ "tree.loaded_data": {
204
+ element: HTMLElement;
205
+ /** The node whose children were loaded, if it was a subtree. */
206
+ node?: Node;
207
+ };
208
+ /**
209
+ * Dispatched when a request returns an error status or fails with a
210
+ * network error, after `tree.loaded_data`:
211
+ *
212
+ * ```js
213
+ * element.addEventListener("tree.load_failed", (e) => {
214
+ * if (e.detail.response) {
215
+ * console.error("loading the tree failed", e.detail.response.status);
216
+ * } else {
217
+ * console.error("loading the tree failed", e.detail.error);
218
+ * }
219
+ * });
220
+ * ```
221
+ *
222
+ * @group Loading data
223
+ */
224
+ "tree.load_failed": {
225
+ /** The error thrown by `fetch`, if the request failed with a network error. */
226
+ error?: unknown;
227
+ /** The response, if the request returned an error status. */
228
+ response?: Response;
229
+ };
230
230
  }
231
231
  /* eslint-enable perfectionist/sort-interfaces */
232
232
 
233
233
  type TreeEventMap = {
234
- [Name in TreeEventName]: TreeEvent<Name>;
234
+ [Name in TreeEventName]: TreeEvent<Name>;
235
235
  };
236
236
 
237
237
  // Type `addEventListener("tree.select", ...)` on elements, the document and the window.
238
238
  declare global {
239
- interface DocumentEventMap extends TreeEventMap { }
239
+ interface DocumentEventMap extends TreeEventMap {}
240
240
 
241
- interface HTMLElementEventMap extends TreeEventMap { }
241
+ interface HTMLElementEventMap extends TreeEventMap {}
242
242
 
243
- interface WindowEventMap extends TreeEventMap { }
243
+ interface WindowEventMap extends TreeEventMap {}
244
244
  }
package/src/header.txt CHANGED
@@ -1,4 +1,4 @@
1
- Html-tree <%= version %>
1
+ Tree-element <%= version %>
2
2
 
3
3
  Copyright <%= year %> Marco Braak
4
4