ngx-tethys 20.0.1 → 20.0.2

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 (239) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/action/index.d.ts +3 -3
  3. package/affix/index.d.ts +1 -1
  4. package/alert/index.d.ts +3 -3
  5. package/anchor/index.d.ts +3 -3
  6. package/arrow-switcher/index.d.ts +6 -6
  7. package/autocomplete/index.d.ts +7 -7
  8. package/avatar/index.d.ts +9 -9
  9. package/back-top/index.d.ts +3 -3
  10. package/badge/index.d.ts +6 -6
  11. package/breadcrumb/index.d.ts +7 -7
  12. package/button/index.d.ts +19 -19
  13. package/calendar/index.d.ts +8 -8
  14. package/card/index.d.ts +6 -6
  15. package/carousel/index.d.ts +4 -4
  16. package/cascader/index.d.ts +24 -24
  17. package/collapse/index.d.ts +4 -4
  18. package/color-picker/index.d.ts +16 -16
  19. package/comment/index.d.ts +3 -3
  20. package/copy/index.d.ts +2 -2
  21. package/core/index.d.ts +22 -22
  22. package/date-picker/index.d.ts +111 -111
  23. package/date-range/index.d.ts +5 -5
  24. package/dialog/index.d.ts +18 -18
  25. package/divider/index.d.ts +3 -3
  26. package/drag-drop/index.d.ts +7 -7
  27. package/dropdown/index.d.ts +10 -10
  28. package/empty/index.d.ts +12 -12
  29. package/fesm2022/ngx-tethys-action.mjs +14 -12
  30. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  31. package/fesm2022/ngx-tethys-affix.mjs +7 -7
  32. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  33. package/fesm2022/ngx-tethys-alert.mjs +10 -10
  34. package/fesm2022/ngx-tethys-anchor.mjs +11 -11
  35. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  36. package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
  37. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  38. package/fesm2022/ngx-tethys-autocomplete.mjs +19 -18
  39. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  40. package/fesm2022/ngx-tethys-avatar.mjs +23 -22
  41. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  42. package/fesm2022/ngx-tethys-back-top.mjs +7 -7
  43. package/fesm2022/ngx-tethys-badge.mjs +7 -7
  44. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  45. package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
  46. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  47. package/fesm2022/ngx-tethys-button.mjs +16 -16
  48. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  49. package/fesm2022/ngx-tethys-calendar.mjs +16 -16
  50. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  51. package/fesm2022/ngx-tethys-card.mjs +13 -13
  52. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  53. package/fesm2022/ngx-tethys-carousel.mjs +15 -15
  54. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  55. package/fesm2022/ngx-tethys-cascader.mjs +41 -34
  56. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  57. package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
  58. package/fesm2022/ngx-tethys-collapse.mjs +10 -10
  59. package/fesm2022/ngx-tethys-color-picker.mjs +65 -57
  60. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  61. package/fesm2022/ngx-tethys-comment.mjs +13 -13
  62. package/fesm2022/ngx-tethys-copy.mjs +10 -10
  63. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  64. package/fesm2022/ngx-tethys-core.mjs +30 -25
  65. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  66. package/fesm2022/ngx-tethys-date-picker.mjs +184 -174
  67. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  68. package/fesm2022/ngx-tethys-date-range.mjs +16 -16
  69. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  70. package/fesm2022/ngx-tethys-dialog.mjs +24 -24
  71. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  72. package/fesm2022/ngx-tethys-divider.mjs +7 -7
  73. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  74. package/fesm2022/ngx-tethys-dot.mjs +7 -7
  75. package/fesm2022/ngx-tethys-drag-drop.mjs +24 -24
  76. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-dropdown.mjs +48 -47
  78. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-empty.mjs +13 -13
  80. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
  82. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-form.mjs +64 -61
  84. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-fullscreen.mjs +18 -15
  86. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-grid.mjs +34 -33
  88. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-guider.mjs +25 -24
  90. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-i18n.mjs +3 -3
  92. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-icon.mjs +15 -13
  94. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-image.mjs +31 -29
  96. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-input-number.mjs +17 -10
  98. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-input.mjs +28 -27
  100. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-layout.mjs +63 -63
  102. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-list.mjs +21 -18
  104. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  106. package/fesm2022/ngx-tethys-mention.mjs +35 -31
  107. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  108. package/fesm2022/ngx-tethys-menu.mjs +26 -26
  109. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  110. package/fesm2022/ngx-tethys-message.mjs +24 -24
  111. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  112. package/fesm2022/ngx-tethys-nav.mjs +27 -27
  113. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  114. package/fesm2022/ngx-tethys-notify.mjs +20 -20
  115. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  116. package/fesm2022/ngx-tethys-pagination.mjs +18 -18
  117. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  118. package/fesm2022/ngx-tethys-popover.mjs +22 -21
  119. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  120. package/fesm2022/ngx-tethys-progress.mjs +17 -17
  121. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  122. package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
  123. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  124. package/fesm2022/ngx-tethys-property.mjs +12 -11
  125. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  126. package/fesm2022/ngx-tethys-radio.mjs +17 -17
  127. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  128. package/fesm2022/ngx-tethys-rate.mjs +12 -12
  129. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  130. package/fesm2022/ngx-tethys-resizable.mjs +21 -18
  131. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  132. package/fesm2022/ngx-tethys-result.mjs +11 -11
  133. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  134. package/fesm2022/ngx-tethys-segment.mjs +19 -16
  135. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  136. package/fesm2022/ngx-tethys-select.mjs +60 -38
  137. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  138. package/fesm2022/ngx-tethys-shared.mjs +82 -79
  139. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  140. package/fesm2022/ngx-tethys-skeleton.mjs +32 -32
  141. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  142. package/fesm2022/ngx-tethys-slide.mjs +37 -36
  143. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  144. package/fesm2022/ngx-tethys-slider.mjs +11 -11
  145. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  146. package/fesm2022/ngx-tethys-space.mjs +10 -10
  147. package/fesm2022/ngx-tethys-statistic.mjs +7 -7
  148. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-stepper.mjs +22 -22
  150. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-strength.mjs +7 -7
  152. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-switch.mjs +7 -7
  154. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  155. package/fesm2022/ngx-tethys-table.mjs +28 -28
  156. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  157. package/fesm2022/ngx-tethys-tabs.mjs +13 -13
  158. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  159. package/fesm2022/ngx-tethys-tag.mjs +11 -11
  160. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  161. package/fesm2022/ngx-tethys-testing.mjs +1 -1
  162. package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
  163. package/fesm2022/ngx-tethys-time-picker.mjs +22 -22
  164. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  165. package/fesm2022/ngx-tethys-timeline.mjs +14 -14
  166. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  167. package/fesm2022/ngx-tethys-tooltip.mjs +19 -16
  168. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  169. package/fesm2022/ngx-tethys-transfer.mjs +15 -15
  170. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  171. package/fesm2022/ngx-tethys-tree-select.mjs +17 -17
  172. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  173. package/fesm2022/ngx-tethys-tree.mjs +50 -43
  174. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  175. package/fesm2022/ngx-tethys-typography.mjs +16 -16
  176. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys-upload.mjs +26 -25
  178. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  179. package/fesm2022/ngx-tethys-util.mjs +11 -5
  180. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  181. package/fesm2022/ngx-tethys-vote.mjs +7 -7
  182. package/fesm2022/ngx-tethys-watermark.mjs +18 -15
  183. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys.mjs +1 -1
  185. package/fesm2022/ngx-tethys.mjs.map +1 -1
  186. package/flexible-text/index.d.ts +5 -5
  187. package/form/index.d.ts +26 -22
  188. package/fullscreen/index.d.ts +4 -4
  189. package/grid/index.d.ts +12 -12
  190. package/guider/index.d.ts +10 -10
  191. package/i18n/index.d.ts +1 -1
  192. package/icon/index.d.ts +3 -3
  193. package/image/index.d.ts +12 -12
  194. package/input/index.d.ts +22 -22
  195. package/input-number/index.d.ts +4 -4
  196. package/layout/index.d.ts +16 -16
  197. package/list/index.d.ts +16 -15
  198. package/mention/index.d.ts +4 -4
  199. package/menu/index.d.ts +7 -7
  200. package/message/index.d.ts +5 -5
  201. package/nav/index.d.ts +12 -12
  202. package/notify/index.d.ts +1 -1
  203. package/package.json +1 -1
  204. package/pagination/index.d.ts +21 -17
  205. package/popover/index.d.ts +8 -8
  206. package/progress/index.d.ts +18 -18
  207. package/property/index.d.ts +6 -6
  208. package/property-operation/index.d.ts +3 -3
  209. package/radio/index.d.ts +6 -6
  210. package/rate/index.d.ts +5 -5
  211. package/resizable/index.d.ts +2 -2
  212. package/result/index.d.ts +8 -8
  213. package/schematics/testing/test-workspace.js +1 -0
  214. package/schematics/version.d.ts +1 -1
  215. package/schematics/version.js +1 -1
  216. package/segment/index.d.ts +9 -9
  217. package/select/index.d.ts +21 -21
  218. package/shared/index.d.ts +29 -29
  219. package/skeleton/index.d.ts +52 -52
  220. package/slide/index.d.ts +5 -5
  221. package/slider/index.d.ts +6 -6
  222. package/space/index.d.ts +1 -1
  223. package/statistic/index.d.ts +18 -18
  224. package/stepper/index.d.ts +8 -8
  225. package/switch/index.d.ts +2 -2
  226. package/table/index.d.ts +24 -24
  227. package/tabs/index.d.ts +6 -6
  228. package/testing/index.d.ts +1 -1
  229. package/time-picker/index.d.ts +21 -21
  230. package/timeline/index.d.ts +8 -8
  231. package/tooltip/index.d.ts +12 -12
  232. package/transfer/index.d.ts +16 -16
  233. package/tree/index.d.ts +28 -28
  234. package/tree-select/index.d.ts +13 -13
  235. package/typography/index.d.ts +3 -3
  236. package/upload/index.d.ts +4 -4
  237. package/util/index.d.ts +17 -7
  238. package/vote/index.d.ts +2 -2
  239. package/watermark/index.d.ts +2 -2
@@ -42,6 +42,7 @@ class ThyTreeNode {
42
42
  else if (this.parentNode) {
43
43
  return this.parentNode.treeService;
44
44
  }
45
+ return;
45
46
  }
46
47
  constructor(node, parent = null, service) {
47
48
  this.level = 0;
@@ -88,17 +89,17 @@ class ThyTreeNode {
88
89
  }
89
90
  setExpanded(expanded, propagate = false) {
90
91
  this._setExpanded(expanded, propagate);
91
- this.treeService.syncFlattenTreeNodes();
92
+ this.treeService?.syncFlattenTreeNodes();
92
93
  }
93
94
  setLoading(loading) {
94
95
  this.isLoading = loading;
95
- this.treeService.syncFlattenTreeNodes();
96
+ this.treeService?.syncFlattenTreeNodes();
96
97
  }
97
98
  setChecked(checked, propagateUp = true, propagateDown = true) {
98
- this.treeService.setNodeChecked(this, checked, propagateUp, propagateDown);
99
+ this.treeService?.setNodeChecked(this, checked, propagateUp, propagateDown);
99
100
  }
100
101
  syncNodeCheckState() {
101
- this.treeService.syncNodeCheckState(this);
102
+ this.treeService?.syncNodeCheckState(this);
102
103
  }
103
104
  getParentNode() {
104
105
  return this.parentNode;
@@ -118,7 +119,7 @@ class ThyTreeNode {
118
119
  });
119
120
  this.origin.children = this.getChildren().map(n => n.origin);
120
121
  this.setLoading(false);
121
- this.treeService.statusChange$.next({
122
+ this.treeService?.statusChange$?.next({
122
123
  eventName: 'addChildren',
123
124
  node: this
124
125
  });
@@ -155,7 +156,7 @@ class ThyTreeService {
155
156
  }
156
157
  initializeTreeNodes(rootNodes) {
157
158
  this.originTreeNodes = rootNodes || [];
158
- this.treeNodes = (rootNodes || []).map(node => new ThyTreeNode(node, null, this));
159
+ this.treeNodes = (rootNodes || []).map(node => new ThyTreeNode(node, undefined, this));
159
160
  }
160
161
  syncFlattenTreeNodes() {
161
162
  this.flattenTreeNodes.set(this.getParallelTreeNodes(this.treeNodes, false));
@@ -296,10 +297,10 @@ class ThyTreeService {
296
297
  this.statusChange$.complete();
297
298
  this.statusChange$ = null;
298
299
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
300
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeService }); }
300
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
301
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeService }); }
301
302
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeService, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeService, decorators: [{
303
304
  type: Injectable
304
305
  }], ctorParameters: () => [] });
305
306
 
@@ -315,7 +316,7 @@ class ThyTreeNodeComponent {
315
316
  /**
316
317
  * node 节点展现所需的数据
317
318
  */
318
- this.node = input(null, ...(ngDevMode ? [{ debugName: "node" }] : []));
319
+ this.node = input.required(...(ngDevMode ? [{ debugName: "node" }] : []));
319
320
  /**
320
321
  * 设置 TreeNode 是否支持异步加载
321
322
  */
@@ -336,7 +337,7 @@ class ThyTreeNodeComponent {
336
337
  * 点击节点的行为,`default` 为选中当前节点,`selectCheckbox` 为选中节点的 Checkbox, `thyCheckable` 为 true 时生效。
337
338
  * @default default
338
339
  */
339
- this.thyClickBehavior = input(undefined, ...(ngDevMode ? [{ debugName: "thyClickBehavior" }] : []));
340
+ this.thyClickBehavior = input(...(ngDevMode ? [undefined, { debugName: "thyClickBehavior" }] : []));
340
341
  /**
341
342
  * 设置节点名称是否支持超出截取
342
343
  * @default false
@@ -465,16 +466,16 @@ class ThyTreeNodeComponent {
465
466
  isShowExpand(node) {
466
467
  return this.root.isShowExpand(node);
467
468
  }
468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
469
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyTreeNodeComponent, isStandalone: true, selector: "thy-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, thyAsync: { classPropertyName: "thyAsync", publicName: "thyAsync", isSignal: true, isRequired: false, transformFunction: null }, thyMultiple: { classPropertyName: "thyMultiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyDraggable: { classPropertyName: "thyDraggable", publicName: "thyDraggable", isSignal: true, isRequired: false, transformFunction: null }, thyCheckable: { classPropertyName: "thyCheckable", publicName: "thyCheckable", isSignal: true, isRequired: false, transformFunction: null }, thyClickBehavior: { classPropertyName: "thyClickBehavior", publicName: "thyClickBehavior", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTruncate: { classPropertyName: "thyTitleTruncate", publicName: "thyTitleTruncate", isSignal: true, isRequired: false, transformFunction: null }, templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, emptyChildrenTemplateRef: { classPropertyName: "emptyChildrenTemplateRef", publicName: "emptyChildrenTemplateRef", isSignal: true, isRequired: false, transformFunction: null }, thyItemSize: { classPropertyName: "thyItemSize", publicName: "thyItemSize", isSignal: true, isRequired: false, transformFunction: null }, thyIndent: { classPropertyName: "thyIndent", publicName: "thyIndent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyOnClick: "thyOnClick", thyDblClick: "thyDblClick", thyOnExpandChange: "thyOnExpandChange", thyOnCheckboxChange: "thyOnCheckboxChange" }, host: { properties: { "class.thy-tree-node": "true", "class": "itemClass()" } }, queries: [{ propertyName: "childrenTreeTemplateRef", first: true, predicate: ["childrenTree"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "treeNodeWrapper", first: true, predicate: ["treeNodeWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node().level * thyIndent()\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node())) {\n @if ((node().children && node().children.length > 0) || thyAsync() || emptyChildrenTemplateRef()) {\n @if (root.icons()?.expand && root.icons()?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node().isExpanded ? root.icons().expand : root.icons().collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node().isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable()) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node().isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node().isChecked === checkState.unchecked\"\n [checked]=\"node().isChecked === checkState.checked\"\n [disabled]=\"node().isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef()) {\n @if (nodeIcon()) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon()\" [ngStyle]=\"nodeIconStyle()\"></i></span>\n }\n <span [title]=\"node().title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate()\"> {{ node().title }}</span>\n }\n @if (templateRef()) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: node(), node: node(), origin: node()?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync()) {\n @if (node().isLoading) {\n <thy-loading [thyDone]=\"!node().isLoading\"></thy-loading>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
470
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyTreeNodeComponent, isStandalone: true, selector: "thy-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, thyAsync: { classPropertyName: "thyAsync", publicName: "thyAsync", isSignal: true, isRequired: false, transformFunction: null }, thyMultiple: { classPropertyName: "thyMultiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyDraggable: { classPropertyName: "thyDraggable", publicName: "thyDraggable", isSignal: true, isRequired: false, transformFunction: null }, thyCheckable: { classPropertyName: "thyCheckable", publicName: "thyCheckable", isSignal: true, isRequired: false, transformFunction: null }, thyClickBehavior: { classPropertyName: "thyClickBehavior", publicName: "thyClickBehavior", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTruncate: { classPropertyName: "thyTitleTruncate", publicName: "thyTitleTruncate", isSignal: true, isRequired: false, transformFunction: null }, templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, emptyChildrenTemplateRef: { classPropertyName: "emptyChildrenTemplateRef", publicName: "emptyChildrenTemplateRef", isSignal: true, isRequired: false, transformFunction: null }, thyItemSize: { classPropertyName: "thyItemSize", publicName: "thyItemSize", isSignal: true, isRequired: false, transformFunction: null }, thyIndent: { classPropertyName: "thyIndent", publicName: "thyIndent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyOnClick: "thyOnClick", thyDblClick: "thyDblClick", thyOnExpandChange: "thyOnExpandChange", thyOnCheckboxChange: "thyOnCheckboxChange" }, host: { properties: { "class.thy-tree-node": "true", "class": "itemClass()" } }, queries: [{ propertyName: "childrenTreeTemplateRef", first: true, predicate: ["childrenTree"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "treeNodeWrapper", first: true, predicate: ["treeNodeWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\">\n <span class=\"thy-tree-index\" [style.width.px]=\"node().level * thyIndent()\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node())) {\n @if ((node().children && node().children.length > 0) || thyAsync() || emptyChildrenTemplateRef()) {\n @if (root.icons()?.expand && root.icons()?.collapse) {\n <thy-icon class=\"thy-tree-expand-icon\" [thyIconName]=\"node().isExpanded ? root.icons().expand : root.icons().collapse\"></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node().isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable()) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node().isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node().isChecked === checkState.unchecked\"\n [checked]=\"node().isChecked === checkState.checked\"\n [disabled]=\"node().isDisabled\"\n (click)=\"clickNodeCheck($event)\" />\n }\n @if (!templateRef()) {\n @if (nodeIcon()) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon()\" [ngStyle]=\"nodeIconStyle()\"></i></span>\n }\n <span [title]=\"node().title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate()\"> {{ node().title }}</span>\n }\n @if (templateRef()) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: node(), node: node(), origin: node()?.origin }\"></ng-template>\n }\n </span>\n</div>\n@if (thyAsync()) {\n @if (node().isLoading) {\n <thy-loading [thyDone]=\"!node().isLoading\"></thy-loading>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
470
471
  }
471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeNodeComponent, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeComponent, decorators: [{
472
473
  type: Component,
473
- args: [{ selector: 'thy-tree-node', encapsulation: ViewEncapsulation.None, imports: [ThyIcon, NgClass, NgStyle, NgTemplateOutlet, ThyLoading], host: {
474
+ args: [{ selector: 'thy-tree-node', standalone: true, encapsulation: ViewEncapsulation.None, imports: [ThyIcon, NgClass, NgStyle, NgTemplateOutlet, ThyLoading], host: {
474
475
  '[class.thy-tree-node]': 'true',
475
476
  '[class]': 'itemClass()'
476
- }, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\"\n >\n <span class=\"thy-tree-index\" [style.width.px]=\"node().level * thyIndent()\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node())) {\n @if ((node().children && node().children.length > 0) || thyAsync() || emptyChildrenTemplateRef()) {\n @if (root.icons()?.expand && root.icons()?.collapse) {\n <thy-icon\n class=\"thy-tree-expand-icon\"\n [thyIconName]=\"node().isExpanded ? root.icons().expand : root.icons().collapse\"\n ></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node().isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable()) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node().isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node().isChecked === checkState.unchecked\"\n [checked]=\"node().isChecked === checkState.checked\"\n [disabled]=\"node().isDisabled\"\n (click)=\"clickNodeCheck($event)\"\n />\n }\n @if (!templateRef()) {\n @if (nodeIcon()) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon()\" [ngStyle]=\"nodeIconStyle()\"></i></span>\n }\n <span [title]=\"node().title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate()\"> {{ node().title }}</span>\n }\n @if (templateRef()) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: node(), node: node(), origin: node()?.origin }\"\n ></ng-template>\n }\n </span>\n</div>\n@if (thyAsync()) {\n @if (node().isLoading) {\n <thy-loading [thyDone]=\"!node().isLoading\"></thy-loading>\n }\n}\n" }]
477
- }], propDecorators: { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: false }] }], thyAsync: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAsync", required: false }] }], thyMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyMultiple", required: false }] }], thyDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDraggable", required: false }] }], thyCheckable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckable", required: false }] }], thyClickBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyClickBehavior", required: false }] }], thyTitleTruncate: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitleTruncate", required: false }] }], templateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "templateRef", required: false }] }], emptyChildrenTemplateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyChildrenTemplateRef", required: false }] }], thyOnClick: [{ type: i0.Output, args: ["thyOnClick"] }], thyDblClick: [{ type: i0.Output, args: ["thyDblClick"] }], thyOnExpandChange: [{ type: i0.Output, args: ["thyOnExpandChange"] }], thyOnCheckboxChange: [{ type: i0.Output, args: ["thyOnCheckboxChange"] }], childrenTreeTemplateRef: [{ type: i0.ContentChild, args: ['childrenTree', { isSignal: true }] }], treeNodeWrapper: [{ type: i0.ViewChild, args: ['treeNodeWrapper', { isSignal: true }] }], thyItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyItemSize", required: false }] }], thyIndent: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIndent", required: false }] }] } });
477
+ }, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\">\n <span class=\"thy-tree-index\" [style.width.px]=\"node().level * thyIndent()\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node())) {\n @if ((node().children && node().children.length > 0) || thyAsync() || emptyChildrenTemplateRef()) {\n @if (root.icons()?.expand && root.icons()?.collapse) {\n <thy-icon class=\"thy-tree-expand-icon\" [thyIconName]=\"node().isExpanded ? root.icons().expand : root.icons().collapse\"></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node().isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable()) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node().isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node().isChecked === checkState.unchecked\"\n [checked]=\"node().isChecked === checkState.checked\"\n [disabled]=\"node().isDisabled\"\n (click)=\"clickNodeCheck($event)\" />\n }\n @if (!templateRef()) {\n @if (nodeIcon()) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon()\" [ngStyle]=\"nodeIconStyle()\"></i></span>\n }\n <span [title]=\"node().title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate()\"> {{ node().title }}</span>\n }\n @if (templateRef()) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: node(), node: node(), origin: node()?.origin }\"></ng-template>\n }\n </span>\n</div>\n@if (thyAsync()) {\n @if (node().isLoading) {\n <thy-loading [thyDone]=\"!node().isLoading\"></thy-loading>\n }\n}\n" }]
478
+ }], propDecorators: { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: true }] }], thyAsync: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAsync", required: false }] }], thyMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyMultiple", required: false }] }], thyDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDraggable", required: false }] }], thyCheckable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckable", required: false }] }], thyClickBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyClickBehavior", required: false }] }], thyTitleTruncate: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitleTruncate", required: false }] }], templateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "templateRef", required: false }] }], emptyChildrenTemplateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyChildrenTemplateRef", required: false }] }], thyOnClick: [{ type: i0.Output, args: ["thyOnClick"] }], thyDblClick: [{ type: i0.Output, args: ["thyDblClick"] }], thyOnExpandChange: [{ type: i0.Output, args: ["thyOnExpandChange"] }], thyOnCheckboxChange: [{ type: i0.Output, args: ["thyOnCheckboxChange"] }], childrenTreeTemplateRef: [{ type: i0.ContentChild, args: ['childrenTree', { isSignal: true }] }], treeNodeWrapper: [{ type: i0.ViewChild, args: ['treeNodeWrapper', { isSignal: true }] }], thyItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyItemSize", required: false }] }], thyIndent: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIndent", required: false }] }] } });
478
479
 
479
480
  /**
480
481
  * @private
@@ -489,13 +490,14 @@ class ThyTreeNodeDraggablePipe {
489
490
  return true;
490
491
  }
491
492
  }
492
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeNodeDraggablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
493
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeNodeDraggablePipe, isStandalone: true, name: "treeNodeDraggable" }); }
493
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeDraggablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
494
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeDraggablePipe, isStandalone: true, name: "treeNodeDraggable" }); }
494
495
  }
495
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeNodeDraggablePipe, decorators: [{
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeDraggablePipe, decorators: [{
496
497
  type: Pipe,
497
498
  args: [{
498
- name: 'treeNodeDraggable'
499
+ name: 'treeNodeDraggable',
500
+ standalone: true
499
501
  }]
500
502
  }] });
501
503
 
@@ -525,6 +527,9 @@ class ThyTree {
525
527
  // 缓存 Element 和 DragRef 的关系,方便在 Item 拖动时查找
526
528
  this.nodeDragsMap = new Map();
527
529
  this.nodeDragMoved = new Subject();
530
+ this.startDragNodeClone = null;
531
+ // Node 拖动经过目标时临时记录目标id以及相对应目标的位置
532
+ this.nodeDropTarget = null;
528
533
  this.dropEnterPredicate = context => {
529
534
  return (this.isShowExpand(context.target) || (!this.isShowExpand(context.target) && context.dropPosition !== ThyTreeDropPosition.in));
530
535
  };
@@ -537,7 +542,7 @@ class ThyTree {
537
542
  * TreeNode 展现所需的数据
538
543
  * @type ThyTreeNodeData[]
539
544
  */
540
- this.thyNodes = model(undefined, ...(ngDevMode ? [{ debugName: "thyNodes" }] : []));
545
+ this.thyNodes = model(...(ngDevMode ? [undefined, { debugName: "thyNodes" }] : []));
541
546
  /**
542
547
  * 设置 TreeNode 是否支持展开
543
548
  * @type boolean | Function
@@ -635,11 +640,11 @@ class ThyTree {
635
640
  * 已选中的 node 节点集合
636
641
  * @default []
637
642
  */
638
- this.thySelectedKeys = input(undefined, ...(ngDevMode ? [{ debugName: "thySelectedKeys" }] : []));
643
+ this.thySelectedKeys = input(...(ngDevMode ? [undefined, { debugName: "thySelectedKeys" }] : []));
639
644
  /**
640
645
  * 展开指定的树节点
641
646
  */
642
- this.thyExpandedKeys = input(undefined, ...(ngDevMode ? [{ debugName: "thyExpandedKeys" }] : []));
647
+ this.thyExpandedKeys = input(...(ngDevMode ? [undefined, { debugName: "thyExpandedKeys" }] : []));
643
648
  /**
644
649
  * 是否展开所有树节点
645
650
  */
@@ -652,11 +657,11 @@ class ThyTree {
652
657
  /**
653
658
  * 拖拽之前的回调,函数返回 false 则阻止拖拽
654
659
  */
655
- this.thyBeforeDragStart = input(undefined, ...(ngDevMode ? [{ debugName: "thyBeforeDragStart" }] : []));
660
+ this.thyBeforeDragStart = input(...(ngDevMode ? [undefined, { debugName: "thyBeforeDragStart" }] : []));
656
661
  /**
657
662
  * 拖放到元素时回调,函数返回 false 则阻止拖放到当前元素
658
663
  */
659
- this.thyBeforeDragDrop = input(undefined, ...(ngDevMode ? [{ debugName: "thyBeforeDragDrop" }] : []));
664
+ this.thyBeforeDragDrop = input(...(ngDevMode ? [undefined, { debugName: "thyBeforeDragDrop" }] : []));
660
665
  /**
661
666
  * 设置子 TreeNode 点击事件
662
667
  */
@@ -823,12 +828,12 @@ class ThyTree {
823
828
  }
824
829
  onDragMoved(event) {
825
830
  // 通过鼠标位置查找对应的目标 Item 元素
826
- let currentPointElement = this.document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);
831
+ const currentPointElement = this.document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);
827
832
  if (!currentPointElement) {
828
833
  this.cleanupDragArtifacts();
829
834
  return;
830
835
  }
831
- let targetElement = currentPointElement.classList.contains('thy-tree-node')
836
+ const targetElement = currentPointElement.classList.contains('thy-tree-node')
832
837
  ? currentPointElement
833
838
  : currentPointElement.closest('.thy-tree-node');
834
839
  if (!targetElement) {
@@ -877,7 +882,7 @@ class ThyTree {
877
882
  }
878
883
  const sourceNode = this.startDragNodeClone;
879
884
  const sourceNodeParent = sourceNode.parentNode;
880
- const targetDragRef = this.cdkDrags().find(item => item.data?.key === this.nodeDropTarget.key);
885
+ const targetDragRef = this.cdkDrags().find(item => item.data?.key === this.nodeDropTarget?.key);
881
886
  const targetNode = targetDragRef?.data;
882
887
  const targetNodeParent = targetNode.parentNode;
883
888
  const beforeDragDropContext = {
@@ -894,21 +899,23 @@ class ThyTree {
894
899
  }
895
900
  this.thyTreeService.deleteTreeNode(sourceNode);
896
901
  switch (this.nodeDropTarget.position) {
897
- case 'before':
902
+ case 'before': {
898
903
  const beforeInsertIndex = (targetNodeParent?.children || this.treeNodes).indexOf(targetNode);
899
904
  this.thyTreeService.addTreeNode(sourceNode, targetNodeParent, beforeInsertIndex);
900
905
  break;
901
- case 'after':
906
+ }
907
+ case 'after': {
902
908
  const afterInsertIndex = (targetNodeParent?.children || this.treeNodes).indexOf(targetNode) + 1;
903
909
  this.thyTreeService.addTreeNode(sourceNode, targetNodeParent, afterInsertIndex);
904
910
  break;
911
+ }
905
912
  case 'in':
906
913
  this.thyTreeService.addTreeNode(sourceNode, targetNode);
907
914
  break;
908
915
  }
909
916
  this.thyTreeService.syncFlattenTreeNodes();
910
- let after = null;
911
- let targe = null;
917
+ let after = undefined;
918
+ let targe = undefined;
912
919
  if (beforeDragDropContext.position === ThyTreeDropPosition.before) {
913
920
  const targetContainerNodes = targetNodeParent?.children || this.treeNodes;
914
921
  after = targetContainerNodes[targetContainerNodes.indexOf(targetNode) - 2];
@@ -981,7 +988,7 @@ class ThyTree {
981
988
  return this.thyTreeService.getCheckedNodes();
982
989
  }
983
990
  addTreeNode(node, parent, index = -1) {
984
- this.thyTreeService.addTreeNode(new ThyTreeNode(node, null, this.thyTreeService), parent, index);
991
+ this.thyTreeService.addTreeNode(new ThyTreeNode(node, undefined, this.thyTreeService), parent, index);
985
992
  this.thyTreeService.syncFlattenTreeNodes();
986
993
  }
987
994
  deleteTreeNode(node) {
@@ -999,8 +1006,8 @@ class ThyTree {
999
1006
  const nodes = this.treeNodes;
1000
1007
  nodes.forEach(n => n.setExpanded(false, true));
1001
1008
  }
1002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTree, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1003
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.14", type: ThyTree, isStandalone: true, selector: "thy-tree", inputs: { thyNodes: { classPropertyName: "thyNodes", publicName: "thyNodes", isSignal: true, isRequired: false, transformFunction: null }, thyShowExpand: { classPropertyName: "thyShowExpand", publicName: "thyShowExpand", isSignal: true, isRequired: false, transformFunction: null }, thyMultiple: { classPropertyName: "thyMultiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyDraggable: { classPropertyName: "thyDraggable", publicName: "thyDraggable", isSignal: true, isRequired: false, transformFunction: null }, thyCheckable: { classPropertyName: "thyCheckable", publicName: "thyCheckable", isSignal: true, isRequired: false, transformFunction: null }, thyClickBehavior: { classPropertyName: "thyClickBehavior", publicName: "thyClickBehavior", isSignal: true, isRequired: false, transformFunction: null }, thyCheckStateResolve: { classPropertyName: "thyCheckStateResolve", publicName: "thyCheckStateResolve", isSignal: true, isRequired: false, transformFunction: null }, thyAsync: { classPropertyName: "thyAsync", publicName: "thyAsync", isSignal: true, isRequired: false, transformFunction: null }, thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyIcons: { classPropertyName: "thyIcons", publicName: "thyIcons", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyVirtualScroll: { classPropertyName: "thyVirtualScroll", publicName: "thyVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, thyItemSize: { classPropertyName: "thyItemSize", publicName: "thyItemSize", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTruncate: { classPropertyName: "thyTitleTruncate", publicName: "thyTitleTruncate", isSignal: true, isRequired: false, transformFunction: null }, thySelectedKeys: { classPropertyName: "thySelectedKeys", publicName: "thySelectedKeys", isSignal: true, isRequired: false, transformFunction: null }, thyExpandedKeys: { classPropertyName: "thyExpandedKeys", publicName: "thyExpandedKeys", isSignal: true, isRequired: false, transformFunction: null }, thyExpandAll: { classPropertyName: "thyExpandAll", publicName: "thyExpandAll", isSignal: true, isRequired: false, transformFunction: null }, thyIndent: { classPropertyName: "thyIndent", publicName: "thyIndent", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeDragStart: { classPropertyName: "thyBeforeDragStart", publicName: "thyBeforeDragStart", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeDragDrop: { classPropertyName: "thyBeforeDragDrop", publicName: "thyBeforeDragDrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyNodes: "thyNodesChange", thyOnClick: "thyOnClick", thyOnCheckboxChange: "thyOnCheckboxChange", thyOnExpandChange: "thyOnExpandChange", thyOnDragDrop: "thyOnDragDrop", thyDblClick: "thyDblClick" }, host: { properties: { "class.thy-multiple-selection-list": "thyMultiple()", "class.thy-virtual-scrolling-tree": "thyVirtualScroll()", "class.thy-tree-draggable": "thyDraggable()", "class.thy-tree-dragging": "dragging()" }, classAttribute: "thy-tree" }, providers: [
1009
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTree, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1010
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyTree, isStandalone: true, selector: "thy-tree", inputs: { thyNodes: { classPropertyName: "thyNodes", publicName: "thyNodes", isSignal: true, isRequired: false, transformFunction: null }, thyShowExpand: { classPropertyName: "thyShowExpand", publicName: "thyShowExpand", isSignal: true, isRequired: false, transformFunction: null }, thyMultiple: { classPropertyName: "thyMultiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyDraggable: { classPropertyName: "thyDraggable", publicName: "thyDraggable", isSignal: true, isRequired: false, transformFunction: null }, thyCheckable: { classPropertyName: "thyCheckable", publicName: "thyCheckable", isSignal: true, isRequired: false, transformFunction: null }, thyClickBehavior: { classPropertyName: "thyClickBehavior", publicName: "thyClickBehavior", isSignal: true, isRequired: false, transformFunction: null }, thyCheckStateResolve: { classPropertyName: "thyCheckStateResolve", publicName: "thyCheckStateResolve", isSignal: true, isRequired: false, transformFunction: null }, thyAsync: { classPropertyName: "thyAsync", publicName: "thyAsync", isSignal: true, isRequired: false, transformFunction: null }, thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyIcons: { classPropertyName: "thyIcons", publicName: "thyIcons", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyVirtualScroll: { classPropertyName: "thyVirtualScroll", publicName: "thyVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, thyItemSize: { classPropertyName: "thyItemSize", publicName: "thyItemSize", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTruncate: { classPropertyName: "thyTitleTruncate", publicName: "thyTitleTruncate", isSignal: true, isRequired: false, transformFunction: null }, thySelectedKeys: { classPropertyName: "thySelectedKeys", publicName: "thySelectedKeys", isSignal: true, isRequired: false, transformFunction: null }, thyExpandedKeys: { classPropertyName: "thyExpandedKeys", publicName: "thyExpandedKeys", isSignal: true, isRequired: false, transformFunction: null }, thyExpandAll: { classPropertyName: "thyExpandAll", publicName: "thyExpandAll", isSignal: true, isRequired: false, transformFunction: null }, thyIndent: { classPropertyName: "thyIndent", publicName: "thyIndent", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeDragStart: { classPropertyName: "thyBeforeDragStart", publicName: "thyBeforeDragStart", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeDragDrop: { classPropertyName: "thyBeforeDragDrop", publicName: "thyBeforeDragDrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyNodes: "thyNodesChange", thyOnClick: "thyOnClick", thyOnCheckboxChange: "thyOnCheckboxChange", thyOnExpandChange: "thyOnExpandChange", thyOnDragDrop: "thyOnDragDrop", thyDblClick: "thyDblClick" }, host: { properties: { "class.thy-multiple-selection-list": "thyMultiple()", "class.thy-virtual-scrolling-tree": "thyVirtualScroll()", "class.thy-tree-draggable": "thyDraggable()", "class.thy-tree-dragging": "dragging()" }, classAttribute: "thy-tree" }, providers: [
1004
1011
  {
1005
1012
  provide: NG_VALUE_ACCESSOR,
1006
1013
  useExisting: forwardRef(() => ThyTree),
@@ -1011,9 +1018,9 @@ class ThyTree {
1011
1018
  useExisting: forwardRef(() => ThyTree)
1012
1019
  },
1013
1020
  ThyTreeService
1014
- ], queries: [{ propertyName: "templateRef", first: true, predicate: ["treeNodeTemplate"], descendants: true, isSignal: true }, { propertyName: "emptyChildrenTemplate", first: true, predicate: ["emptyChildrenTemplate"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "cdkDrags", predicate: CdkDrag, descendants: true, isSignal: true }], ngImport: i0, template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\"\n >\n <div class=\"virtual-trees-container\">\n <thy-tree-node\n *cdkVirtualFor=\"let node of flattenTreeNodesValue; trackBy: trackByFn; let i = index\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable : thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"eventTriggerChanged($event)\">\n </thy-tree-node>\n </div>\n </cdk-virtual-scroll-viewport>\n}\n\n@if (!thyVirtualScroll()) {\n <div\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n @for (node of flattenTreeNodesValue; track trackByFn(i, node); let i = $index) {\n <thy-tree-node\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable : thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"thyOnCheckboxChange.emit($event)\">\n </thy-tree-node>\n }\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: ThyTreeNodeComponent, selector: "thy-tree-node", inputs: ["node", "thyAsync", "thyMultiple", "thyDraggable", "thyCheckable", "thyClickBehavior", "thyTitleTruncate", "templateRef", "emptyChildrenTemplateRef", "thyItemSize", "thyIndent"], outputs: ["thyOnClick", "thyDblClick", "thyOnExpandChange", "thyOnCheckboxChange"] }, { kind: "pipe", type: ThyTreeNodeDraggablePipe, name: "treeNodeDraggable" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1021
+ ], queries: [{ propertyName: "templateRef", first: true, predicate: ["treeNodeTemplate"], descendants: true, isSignal: true }, { propertyName: "emptyChildrenTemplate", first: true, predicate: ["emptyChildrenTemplate"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "cdkDrags", predicate: CdkDrag, descendants: true, isSignal: true }], ngImport: i0, template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n <div class=\"virtual-trees-container\">\n <thy-tree-node\n *cdkVirtualFor=\"let node of flattenTreeNodesValue; trackBy: trackByFn; let i = index\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"eventTriggerChanged($event)\">\n </thy-tree-node>\n </div>\n </cdk-virtual-scroll-viewport>\n}\n\n@if (!thyVirtualScroll()) {\n <div\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n @for (node of flattenTreeNodesValue; track trackByFn(i, node); let i = $index) {\n <thy-tree-node\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"thyOnCheckboxChange.emit($event)\">\n </thy-tree-node>\n }\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: ThyTreeNodeComponent, selector: "thy-tree-node", inputs: ["node", "thyAsync", "thyMultiple", "thyDraggable", "thyCheckable", "thyClickBehavior", "thyTitleTruncate", "templateRef", "emptyChildrenTemplateRef", "thyItemSize", "thyIndent"], outputs: ["thyOnClick", "thyDblClick", "thyOnExpandChange", "thyOnCheckboxChange"] }, { kind: "pipe", type: ThyTreeNodeDraggablePipe, name: "treeNodeDraggable" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1015
1022
  }
1016
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTree, decorators: [{
1023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTree, decorators: [{
1017
1024
  type: Component,
1018
1025
  args: [{ selector: 'thy-tree', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
1019
1026
  class: 'thy-tree',
@@ -1040,12 +1047,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
1040
1047
  CdkVirtualForOf,
1041
1048
  ThyTreeNodeComponent,
1042
1049
  ThyTreeNodeDraggablePipe
1043
- ], template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\"\n >\n <div class=\"virtual-trees-container\">\n <thy-tree-node\n *cdkVirtualFor=\"let node of flattenTreeNodesValue; trackBy: trackByFn; let i = index\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable : thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"eventTriggerChanged($event)\">\n </thy-tree-node>\n </div>\n </cdk-virtual-scroll-viewport>\n}\n\n@if (!thyVirtualScroll()) {\n <div\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n @for (node of flattenTreeNodesValue; track trackByFn(i, node); let i = $index) {\n <thy-tree-node\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable : thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"thyOnCheckboxChange.emit($event)\">\n </thy-tree-node>\n }\n </div>\n}\n" }]
1050
+ ], template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n <div class=\"virtual-trees-container\">\n <thy-tree-node\n *cdkVirtualFor=\"let node of flattenTreeNodesValue; trackBy: trackByFn; let i = index\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"eventTriggerChanged($event)\">\n </thy-tree-node>\n </div>\n </cdk-virtual-scroll-viewport>\n}\n\n@if (!thyVirtualScroll()) {\n <div\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n @for (node of flattenTreeNodesValue; track trackByFn(i, node); let i = $index) {\n <thy-tree-node\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"thyOnCheckboxChange.emit($event)\">\n </thy-tree-node>\n }\n </div>\n}\n" }]
1044
1051
  }], ctorParameters: () => [], propDecorators: { viewport: [{ type: i0.ViewChild, args: ['viewport', { isSignal: true }] }], thyNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyNodes", required: false }] }, { type: i0.Output, args: ["thyNodesChange"] }], thyShowExpand: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyShowExpand", required: false }] }], thyMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyMultiple", required: false }] }], thyDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDraggable", required: false }] }], thyCheckable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckable", required: false }] }], thyClickBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyClickBehavior", required: false }] }], thyCheckStateResolve: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckStateResolve", required: false }] }], thyAsync: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAsync", required: false }] }], thyType: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyType", required: false }] }], thyIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIcons", required: false }] }], thySize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thySize", required: false }] }], thyVirtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyVirtualScroll", required: false }] }], thyItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyItemSize", required: false }] }], thyTitleTruncate: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitleTruncate", required: false }] }], thySelectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "thySelectedKeys", required: false }] }], thyExpandedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyExpandedKeys", required: false }] }], thyExpandAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyExpandAll", required: false }] }], thyIndent: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIndent", required: false }] }], thyBeforeDragStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyBeforeDragStart", required: false }] }], thyBeforeDragDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyBeforeDragDrop", required: false }] }], thyOnClick: [{ type: i0.Output, args: ["thyOnClick"] }], thyOnCheckboxChange: [{ type: i0.Output, args: ["thyOnCheckboxChange"] }], thyOnExpandChange: [{ type: i0.Output, args: ["thyOnExpandChange"] }], thyOnDragDrop: [{ type: i0.Output, args: ["thyOnDragDrop"] }], thyDblClick: [{ type: i0.Output, args: ["thyDblClick"] }], templateRef: [{ type: i0.ContentChild, args: ['treeNodeTemplate', { isSignal: true }] }], emptyChildrenTemplate: [{ type: i0.ContentChild, args: ['emptyChildrenTemplate', { isSignal: true }] }], cdkDrags: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => CdkDrag), { isSignal: true }] }] } });
1045
1052
 
1046
1053
  class ThyTreeModule {
1047
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1048
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeModule, imports: [DragDropModule,
1054
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1055
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, imports: [DragDropModule,
1049
1056
  CommonModule,
1050
1057
  ThyInputModule,
1051
1058
  ThyButtonModule,
@@ -1060,7 +1067,7 @@ class ThyTreeModule {
1060
1067
  ThyTree,
1061
1068
  ThyTreeNodeComponent,
1062
1069
  ThyTreeNodeDraggablePipe], exports: [ThyTree, ThyTreeNodeComponent] }); }
1063
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeModule, providers: [ThyTreeService], imports: [DragDropModule,
1070
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, providers: [ThyTreeService], imports: [DragDropModule,
1064
1071
  CommonModule,
1065
1072
  ThyInputModule,
1066
1073
  ThyButtonModule,
@@ -1075,7 +1082,7 @@ class ThyTreeModule {
1075
1082
  ThyTree,
1076
1083
  ThyTreeNodeComponent] }); }
1077
1084
  }
1078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImport: i0, type: ThyTreeModule, decorators: [{
1085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, decorators: [{
1079
1086
  type: NgModule,
1080
1087
  args: [{
1081
1088
  imports: [