@progress/kendo-angular-dropdowns 17.0.0-develop.9 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +40 -99
  2. package/autocomplete/autocomplete.component.d.ts +1 -1
  3. package/autocomplete/autocomplete.module.d.ts +1 -1
  4. package/comboboxes/combobox-column/combobox-column.component.d.ts +1 -1
  5. package/comboboxes/combobox.component.d.ts +1 -1
  6. package/comboboxes/combobox.module.d.ts +1 -1
  7. package/common/action-sheet.component.d.ts +1 -1
  8. package/common/disabled-items/item-disabled.d.ts +1 -1
  9. package/common/filter-input.directive.d.ts +1 -1
  10. package/common/filtering/filter.directive.d.ts +1 -1
  11. package/common/list.component.d.ts +1 -1
  12. package/common/localization/messages.d.ts +1 -1
  13. package/common/models/direction.d.ts +1 -1
  14. package/common/models/fillmode.d.ts +1 -1
  15. package/common/models/list-type.d.ts +1 -1
  16. package/common/models/rounded.d.ts +1 -1
  17. package/common/models/size.d.ts +1 -1
  18. package/common/searchbar.component.d.ts +1 -1
  19. package/common/selection/selectable.directive.d.ts +1 -1
  20. package/common/shared-events.directive.d.ts +1 -1
  21. package/common/taglist.component.d.ts +2 -2
  22. package/common/util.d.ts +2 -2
  23. package/dropdownlist/dropdownlist.component.d.ts +1 -1
  24. package/dropdowns.module.d.ts +1 -1
  25. package/dropdowntrees/checked-state/base-check.directive.d.ts +1 -1
  26. package/dropdowntrees/checked-state/check-all.directive.d.ts +1 -1
  27. package/dropdowntrees/checked-state/check.directive.d.ts +1 -1
  28. package/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.d.ts +1 -1
  29. package/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.d.ts +1 -1
  30. package/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.d.ts +1 -1
  31. package/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.d.ts +1 -1
  32. package/dropdowntrees/dropdowntree.component.d.ts +1 -1
  33. package/dropdowntrees/expanded-state/expand.directive.d.ts +1 -1
  34. package/dropdowntrees/multiselecttree.component.d.ts +1 -1
  35. package/dropdowntrees/summary-tag/summary-tag.directive.d.ts +1 -1
  36. package/{esm2020 → esm2022}/autocomplete/autocomplete.component.mjs +235 -173
  37. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +11 -11
  38. package/{esm2020 → esm2022}/comboboxes/combobox-column/column-cell-template.directive.mjs +4 -3
  39. package/{esm2020 → esm2022}/comboboxes/combobox-column/column-header-template.directive.mjs +4 -3
  40. package/esm2022/comboboxes/combobox-column/combobox-column.component.mjs +105 -0
  41. package/{esm2020 → esm2022}/comboboxes/combobox.component.mjs +326 -248
  42. package/{esm2020 → esm2022}/comboboxes/combobox.module.mjs +11 -11
  43. package/{esm2020 → esm2022}/comboboxes/multicolumncombobox.component.mjs +53 -48
  44. package/{esm2020 → esm2022}/common/action-sheet.component.mjs +26 -14
  45. package/{esm2020 → esm2022}/common/data.service.mjs +8 -7
  46. package/{esm2020 → esm2022}/common/disabled-items/disabled-items.service.mjs +6 -4
  47. package/{esm2020 → esm2022}/common/filter-input.directive.mjs +6 -3
  48. package/{esm2020 → esm2022}/common/filtering/filter.directive.mjs +20 -13
  49. package/{esm2020 → esm2022}/common/filtering/filterable-component.mjs +21 -0
  50. package/{esm2020 → esm2022}/common/list-item.directive.mjs +4 -3
  51. package/{esm2020 → esm2022}/common/list.component.mjs +72 -36
  52. package/{esm2020 → esm2022}/common/localization/custom-messages.component.mjs +9 -8
  53. package/{esm2020 → esm2022}/common/localization/localized-messages.directive.mjs +9 -8
  54. package/esm2022/common/localization/messages.mjs +65 -0
  55. package/{esm2020 → esm2022}/common/models/preventable-event.mjs +1 -3
  56. package/{esm2020 → esm2022}/common/models/remove-tag-event.mjs +4 -0
  57. package/{esm2020 → esm2022}/common/navigation/navigation.service.mjs +27 -23
  58. package/{esm2020 → esm2022}/common/searchbar.component.mjs +45 -28
  59. package/{esm2020 → esm2022}/common/selection/selectable.directive.mjs +9 -5
  60. package/{esm2020 → esm2022}/common/selection/selection.service.mjs +13 -10
  61. package/{esm2020 → esm2022}/common/shared-events.directive.mjs +13 -7
  62. package/{esm2020 → esm2022}/common/taglist.component.mjs +36 -27
  63. package/{esm2020 → esm2022}/common/templates/custom-item-template.directive.mjs +4 -3
  64. package/{esm2020 → esm2022}/common/templates/fixed-group-template.directive.mjs +4 -3
  65. package/{esm2020 → esm2022}/common/templates/footer-template.directive.mjs +4 -3
  66. package/{esm2020 → esm2022}/common/templates/group-tag-template.directive.mjs +4 -3
  67. package/{esm2020 → esm2022}/common/templates/group-template.directive.mjs +4 -3
  68. package/{esm2020 → esm2022}/common/templates/header-template.directive.mjs +4 -3
  69. package/{esm2020 → esm2022}/common/templates/item-template.directive.mjs +4 -3
  70. package/{esm2020 → esm2022}/common/templates/no-data-template.directive.mjs +4 -3
  71. package/{esm2020 → esm2022}/common/templates/tag-template.directive.mjs +4 -3
  72. package/{esm2020 → esm2022}/common/templates/value-template.directive.mjs +4 -3
  73. package/{esm2020 → esm2022}/dropdownlist/dropdownlist.component.mjs +259 -184
  74. package/{esm2020 → esm2022}/dropdownlist/dropdownlist.module.mjs +8 -8
  75. package/esm2022/dropdowns.module.mjs +87 -0
  76. package/{esm2020 → esm2022}/dropdowntrees/checked-state/base-check.directive.mjs +10 -3
  77. package/{esm2020 → esm2022}/dropdowntrees/checked-state/check-all.directive.mjs +38 -21
  78. package/{esm2020 → esm2022}/dropdowntrees/checked-state/check.directive.mjs +31 -15
  79. package/{esm2020 → esm2022}/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.mjs +12 -7
  80. package/{esm2020 → esm2022}/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.mjs +8 -7
  81. package/{esm2020 → esm2022}/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.mjs +12 -7
  82. package/{esm2020 → esm2022}/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.mjs +8 -7
  83. package/{esm2020 → esm2022}/dropdowntrees/dropdowntree.component.mjs +309 -232
  84. package/{esm2020 → esm2022}/dropdowntrees/dropdowntrees.module.mjs +12 -12
  85. package/{esm2020 → esm2022}/dropdowntrees/expanded-state/expand.directive.mjs +8 -7
  86. package/{esm2020 → esm2022}/dropdowntrees/lookup/lookup.service.mjs +4 -6
  87. package/{esm2020 → esm2022}/dropdowntrees/multiselecttree.component.mjs +324 -254
  88. package/{esm2020 → esm2022}/dropdowntrees/summary-tag/summary-tag.directive.mjs +8 -7
  89. package/{esm2020 → esm2022}/dropdowntrees/templates/node-template.directive.mjs +4 -3
  90. package/{esm2020 → esm2022}/index.mjs +0 -2
  91. package/{esm2020 → esm2022}/multiselect/multiselect.component.mjs +328 -254
  92. package/{esm2020 → esm2022}/multiselect/multiselect.module.mjs +11 -11
  93. package/{esm2020 → esm2022}/multiselect/summary-tag.directive.mjs +8 -7
  94. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  95. package/{fesm2020 → fesm2022}/progress-kendo-angular-dropdowns.mjs +2528 -1927
  96. package/index.d.ts +0 -2
  97. package/multiselect/multiselect.component.d.ts +1 -1
  98. package/multiselect/multiselect.module.d.ts +1 -1
  99. package/multiselect/summary-tag.directive.d.ts +1 -1
  100. package/package.json +18 -24
  101. package/schematics/ngAdd/index.js +3 -3
  102. package/common/shared-directives.module.d.ts +0 -37
  103. package/common/shared.module.d.ts +0 -29
  104. package/esm2020/comboboxes/combobox-column/combobox-column.component.mjs +0 -60
  105. package/esm2020/common/localization/messages.mjs +0 -33
  106. package/esm2020/common/shared-directives.module.mjs +0 -84
  107. package/esm2020/common/shared.module.mjs +0 -68
  108. package/esm2020/dropdowns.module.mjs +0 -87
  109. package/fesm2015/progress-kendo-angular-dropdowns.mjs +0 -17609
  110. /package/{esm2020 → esm2022}/comboboxes/combobox-column/util.mjs +0 -0
  111. /package/{esm2020 → esm2022}/common/constants/error-messages.mjs +0 -0
  112. /package/{esm2020 → esm2022}/common/disabled-items/item-disabled.mjs +0 -0
  113. /package/{esm2020 → esm2022}/common/filtering/filter-settings.mjs +0 -0
  114. /package/{esm2020 → esm2022}/common/models/checkboxes-settings.mjs +0 -0
  115. /package/{esm2020 → esm2022}/common/models/direction.mjs +0 -0
  116. /package/{esm2020 → esm2022}/common/models/fillmode.mjs +0 -0
  117. /package/{esm2020 → esm2022}/common/models/list-type.mjs +0 -0
  118. /package/{esm2020 → esm2022}/common/models/page-change-event.mjs +0 -0
  119. /package/{esm2020 → esm2022}/common/models/popup-settings.mjs +0 -0
  120. /package/{esm2020 → esm2022}/common/models/rounded.mjs +0 -0
  121. /package/{esm2020 → esm2022}/common/models/size.mjs +0 -0
  122. /package/{esm2020 → esm2022}/common/models/virtualization-settings.mjs +0 -0
  123. /package/{esm2020 → esm2022}/common/navigation/navigation-action.mjs +0 -0
  124. /package/{esm2020 → esm2022}/common/util.mjs +0 -0
  125. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  126. /package/{esm2020 → esm2022}/dropdowntrees/checked-state/checkable-settings.mjs +0 -0
  127. /package/{esm2020 → esm2022}/dropdowntrees/checked-state/checked-item.mjs +0 -0
  128. /package/{esm2020 → esm2022}/dropdowntrees/lookup/lookup.mjs +0 -0
  129. /package/{esm2020 → esm2022}/progress-kendo-angular-dropdowns.mjs +0 -0
@@ -54,229 +54,36 @@ const DEFAULT_FILL_MODE = 'solid';
54
54
  * Represents the [Kendo UI MultiSelectTree component for Angular]({% slug overview_multiselecttree %}).
55
55
  */
56
56
  export class MultiSelectTreeComponent {
57
- constructor(injector, wrapper, popupService, renderer, navigationService, _zone, localization, cdr, lookup) {
58
- this.injector = injector;
59
- this.wrapper = wrapper;
60
- this.popupService = popupService;
61
- this.renderer = renderer;
62
- this.navigationService = navigationService;
63
- this._zone = _zone;
64
- this.localization = localization;
65
- this.cdr = cdr;
66
- this.lookup = lookup;
67
- /**
68
- * @hidden
69
- */
70
- this.touchEnabled = touchEnabled;
71
- /**
72
- * @hidden
73
- */
74
- this.animationDuration = animationDuration;
75
- /**
76
- * @hidden
77
- */
78
- this.searchIcon = searchIcon;
79
- /**
80
- * @hidden
81
- */
82
- this.xIcon = xIcon;
83
- this.hostClasses = true;
84
- this.treeViewId = `k-${guid()}`;
85
- this.role = 'combobox';
86
- this.ariaHasPopup = 'tree';
87
- /**
88
- * Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
89
- */
90
- this.adaptiveMode = 'none';
91
- /**
92
- * Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
93
- * By default the ActionSheet title uses the text provided for the label of the AutoComplete.
94
- */
95
- this.title = '';
96
- /**
97
- * @hidden
98
- */
99
- this.windowSize = 'large';
100
- /**
101
- * @hidden
102
- */
103
- this.isActionSheetExpanded = false;
104
- /**
105
- * Sets the levels in the data set where the values can be found when `valueField` is an Array.
106
- * The field serves to correctly allocate a data item used when the MultiSelectTree is initialized with a value.
107
- */
108
- this.valueDepth = [];
109
- /**
110
- * The hint which is displayed when the component is empty.
111
- */
112
- this.placeholder = '';
113
- this._listHeight = 200;
114
- /**
115
- * Sets the disabled state of the component. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_multiselecttree#toc-managing-the-multiselecttree-disabled-state-in-reactive-forms).
116
- */
117
- this.disabled = false;
118
- /**
119
- * Sets the read-only state of the component.
120
- *
121
- * @default false
122
- */
123
- this.readonly = false;
124
- /**
125
- * Specifies the type of the selected value
126
- * ([more information and example]({% slug valuebinding_multiselecttree %}#toc-primitive-values)).
127
- * If set to `true`, the selected value has to be a primitive one.
128
- */
129
- this.valuePrimitive = false;
130
- /**
131
- * Indicates whether the child nodes will be fetched on node expand or will be initially prefetched.
132
- * @default false
133
- */
134
- this.loadOnDemand = false;
135
- /**
136
- * @hidden
137
- *
138
- * Used by the kendo-label and kendo-floatinglabel to access and associate the focusable element with the provided label via aria-labelledby.
139
- */
140
- this.focusableId = `k-${guid()}`;
141
- /**
142
- * If set to `true`, renders a button on hovering over the component.
143
- * Clicking this button resets the value of the component to `undefined` and triggers the `change` event.
144
- * @default true
145
- */
146
- this.clearButton = true;
147
- /**
148
- * Renders the built-in input element for filtering the MultiSelectTree.
149
- * If set to `true`, the component emits the `filterChange` event, which can be used to [filter the MultiSelectTree manually]({% slug filtering_multiselecttree %}#toc-manual-filtering).
150
- * A built-in filtering implementation is available to use with the [`kendoMultiSelectTreeHierarchyBinding`]({% slug api_dropdowns_multiselecttreehierarchybindingdirective %}) and [`kendoMultiSelectTreeFlatBinding`]({% slug api_dropdowns_multiselecttreeflatbindingdirective %}) directives.
151
- * @default false
152
- */
153
- this.filterable = false;
154
- /**
155
- * If `checkАll` is set to `true` and the checkboxes are enabled, a tri-state checkbox appears above the embedded treeview.
156
- * Clicking the checkbox checks or unchecks all enabled items of the treeview that are loaded.
157
- * @default false
158
- */
159
- this.checkAll = false;
160
- /**
161
- * A function which determines if a specific node has child nodes.
162
- */
163
- this.hasChildren = hasChildren;
164
- /**
165
- * A function which provides the child nodes for a given parent node.
166
- */
167
- this.fetchChildren = fetchChildren;
168
- /**
169
- * A callback which determines whether a tree node should be rendered as hidden. The utility .k-hidden class is used to hide the nodes.
170
- * Useful for custom filtering implementations.
171
- */
172
- this.isNodeVisible = isNodeVisible;
173
- /**
174
- * A function that is executed for each data item and determines if a specific item is disabled.
175
- */
176
- this.itemDisabled = itemDisabled;
177
- /**
178
- * A user-defined callback function which receives an array of selected data items and maps them to an array of tags.
179
- *
180
- * @param { Any[] } dataItems - The selected data items from the list.
181
- * @returns { Any[] } - The tags that will be rendered by the component.
182
- */
183
- this.tagMapper = (tags) => tags || [];
184
- /**
185
- * Fires each time the user focuses the MultiSelectTree.
186
- */
187
- this.onFocus = new EventEmitter();
188
- /**
189
- * Fires each time the MultiSelectTree gets blurred.
190
- */
191
- this.onBlur = new EventEmitter();
192
- /**
193
- * Fires each time the popup is about to open
194
- * ([see example]({% slug openstate_multiselecttree %})).
195
- * This event is preventable. If you cancel it, the popup will remain closed.
196
- */
197
- this.open = new EventEmitter();
198
- /**
199
- * Fires after the popup has been opened.
200
- */
201
- this.opened = new EventEmitter();
202
- /**
203
- * Fires each time the popup is about to close
204
- * ([see example]({% slug openstate_multiselecttree %})).
205
- * This event is preventable. If you cancel it, the popup will remain open.
206
- */
207
- this.close = new EventEmitter();
208
- /**
209
- * Fires after the popup has been closed.
210
- */
211
- this.closed = new EventEmitter();
212
- /**
213
- * Fires when the user expands a node in the popup TreeView.
214
- */
215
- this.nodeExpand = new EventEmitter();
216
- /**
217
- * Fires when the user collapses a node in the popup TreeView.
218
- */
219
- this.nodeCollapse = new EventEmitter();
220
- /**
221
- * Fires each time the value is changed
222
- * ([see example](slug:events_multiselecttree)).
223
- */
224
- this.valueChange = new EventEmitter();
225
- /**
226
- * Fires each time a tag is about to be removed([see examples]({% slug summarytagmode_multiselect %}#toc-notifying-on-removing-group-tags)).
227
- * This event is preventable. If you cancel it, the tag will not be removed.
228
- */
229
- this.removeTag = new EventEmitter();
230
- /**
231
- * Fires when the value of the built-in filter input element changes.
232
- */
233
- this.filterChange = new EventEmitter();
234
- /**
235
- * @hidden
236
- */
237
- this.filterStateChange = new EventEmitter();
238
- /**
239
- * @hidden
240
- */
241
- this.filter = '';
242
- /**
243
- * @hidden
244
- */
245
- this.checkedItems = [];
246
- /**
247
- * @hidden
248
- */
249
- this.showAfter = 0;
250
- /**
251
- * @hidden
252
- */
253
- this.allNodesHidden = false;
254
- this.tagListId = `k-${guid()}`;
255
- this.tagPrefix = "tag-" + guid();
256
- this.focusedTagIndex = undefined;
257
- this._value = [];
258
- this._tabindex = 0;
259
- this._popupSettings = DEFAULT_POPUP_SETTINGS;
260
- this._checkableSettings = DEFAULT_CHECKABLE_SETTINGS;
261
- this._isFocused = false;
262
- this._initiallyCheckedItems = [];
263
- this._size = 'medium';
264
- this._rounded = 'medium';
265
- this._fillMode = 'solid';
266
- this._searchableNodes = [];
267
- this._typedValue = '';
268
- this.printableCharacters = new Subject();
269
- this.subs = new Subscription();
270
- this.lastAction = 'check';
271
- this.onTouchedCallback = noop;
272
- this.onChangeCallback = noop;
273
- this.direction = localization.rtl ? 'rtl' : 'ltr';
274
- this.subscribeEvents();
275
- this.subscribeFocusEvents();
276
- }
57
+ injector;
58
+ wrapper;
59
+ popupService;
60
+ renderer;
61
+ navigationService;
62
+ _zone;
63
+ localization;
64
+ cdr;
65
+ lookup;
66
+ /**
67
+ * @hidden
68
+ */
69
+ touchEnabled = touchEnabled;
70
+ /**
71
+ * @hidden
72
+ */
73
+ animationDuration = animationDuration;
74
+ /**
75
+ * @hidden
76
+ */
77
+ searchIcon = searchIcon;
78
+ /**
79
+ * @hidden
80
+ */
81
+ xIcon = xIcon;
82
+ hostClasses = true;
277
83
  get isDisabled() {
278
84
  return this.disabled || null;
279
85
  }
86
+ treeViewId = `k-${guid()}`;
280
87
  get hostAriaAutocomplete() {
281
88
  return this.filterable ? 'list' : null;
282
89
  }
@@ -292,9 +99,12 @@ export class MultiSelectTreeComponent {
292
99
  get id() {
293
100
  return this.focusableId;
294
101
  }
102
+ direction;
295
103
  get hostTabIndex() {
296
104
  return this.tabindex;
297
105
  }
106
+ role = 'combobox';
107
+ ariaHasPopup = 'tree';
298
108
  get isReadonly() {
299
109
  return this.readonly ? '' : null;
300
110
  }
@@ -332,6 +142,15 @@ export class MultiSelectTreeComponent {
332
142
  onCollapse() {
333
143
  this.isActionSheetExpanded = false;
334
144
  }
145
+ /**
146
+ * Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
147
+ */
148
+ adaptiveMode = 'none';
149
+ /**
150
+ * Sets the title of the ActionSheet that is rendered instead of the Popup when using small screen devices.
151
+ * By default the ActionSheet title uses the text provided for the label of the AutoComplete.
152
+ */
153
+ title = '';
335
154
  /**
336
155
  * Sets the subtitle of the ActionSheet that is rendered instead of the Popup when using small screen devices.
337
156
  * By default the ActionSheet subtitle uses the text provided for the `placeholder` of the AutoComplete.
@@ -348,6 +167,14 @@ export class MultiSelectTreeComponent {
348
167
  get isAdaptiveModeEnabled() {
349
168
  return this.adaptiveMode === 'auto';
350
169
  }
170
+ /**
171
+ * @hidden
172
+ */
173
+ windowSize = 'large';
174
+ /**
175
+ * @hidden
176
+ */
177
+ isActionSheetExpanded = false;
351
178
  /**
352
179
  * @hidden
353
180
  */
@@ -384,6 +211,10 @@ export class MultiSelectTreeComponent {
384
211
  this.treeview?.element.nativeElement.dispatchEvent(spaceKeyDownEvent);
385
212
  }
386
213
  }
214
+ /**
215
+ * @hidden
216
+ */
217
+ responsiveRendererComponent;
387
218
  /**
388
219
  * @hidden
389
220
  */
@@ -402,6 +233,14 @@ export class MultiSelectTreeComponent {
402
233
  get isAdaptive() {
403
234
  return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
404
235
  }
236
+ headerTemplate;
237
+ footerTemplate;
238
+ nodeTemplate;
239
+ noDataTemplate;
240
+ tagTemplate;
241
+ groupTagTemplate;
242
+ popupTemplate;
243
+ container;
405
244
  set treeview(treeview) {
406
245
  this._treeview = treeview;
407
246
  if (treeview) {
@@ -422,6 +261,8 @@ export class MultiSelectTreeComponent {
422
261
  get treeview() {
423
262
  return this._treeview;
424
263
  }
264
+ filterInput;
265
+ checkAllInput;
425
266
  /**
426
267
  * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
427
268
  */
@@ -587,6 +428,37 @@ export class MultiSelectTreeComponent {
587
428
  };
588
429
  });
589
430
  }
431
+ /**
432
+ * The fields of the data item that provide the text content of the nodes inside the
433
+ * MultiSelectTree ([see example]({% slug databinding_multiselecttree %})). If the `textField`
434
+ * input is set to an array, each hierarchical level uses the field that corresponds
435
+ * to the same index in the array, or the last item in the array.
436
+ *
437
+ * > The `textField` property can be set to point to a nested property value - e.g. `category.name`.
438
+ */
439
+ textField;
440
+ /**
441
+ * The fields of the data item that provide the value of the nodes inside the
442
+ * MultiSelectTree ([see example]({% slug databinding_multiselecttree %})). If the `valueField`
443
+ * input is set to an array, each hierarchical level uses the field that corresponds
444
+ * to the same index in the array, or the last item in the array.
445
+ *
446
+ * > The `valueField` property can be set to point to a nested property value - e.g. `category.id`.
447
+ */
448
+ valueField;
449
+ /**
450
+ * Sets the levels in the data set where the values can be found when `valueField` is an Array.
451
+ * The field serves to correctly allocate a data item used when the MultiSelectTree is initialized with a value.
452
+ */
453
+ valueDepth = [];
454
+ /**
455
+ * Sets and gets the loading state of the MultiSelectTree.
456
+ */
457
+ loading;
458
+ /**
459
+ * The hint which is displayed when the component is empty.
460
+ */
461
+ placeholder = '';
590
462
  /**
591
463
  * Sets the height of the options list in the popup. By default, `listHeight` is 200px.
592
464
  *
@@ -604,6 +476,131 @@ export class MultiSelectTreeComponent {
604
476
  }
605
477
  return this._listHeight;
606
478
  }
479
+ _listHeight = 200;
480
+ /**
481
+ * Sets the disabled state of the component. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_multiselecttree#toc-managing-the-multiselecttree-disabled-state-in-reactive-forms).
482
+ */
483
+ disabled = false;
484
+ /**
485
+ * Sets the read-only state of the component.
486
+ *
487
+ * @default false
488
+ */
489
+ readonly = false;
490
+ /**
491
+ * Specifies the type of the selected value
492
+ * ([more information and example]({% slug valuebinding_multiselecttree %}#toc-primitive-values)).
493
+ * If set to `true`, the selected value has to be a primitive one.
494
+ */
495
+ valuePrimitive = false;
496
+ /**
497
+ * Indicates whether the child nodes will be fetched on node expand or will be initially prefetched.
498
+ * @default false
499
+ */
500
+ loadOnDemand = false;
501
+ /**
502
+ * @hidden
503
+ *
504
+ * Used by the kendo-label and kendo-floatinglabel to access and associate the focusable element with the provided label via aria-labelledby.
505
+ */
506
+ focusableId = `k-${guid()}`;
507
+ /**
508
+ * If set to `true`, renders a button on hovering over the component.
509
+ * Clicking this button resets the value of the component to `undefined` and triggers the `change` event.
510
+ * @default true
511
+ */
512
+ clearButton = true;
513
+ /**
514
+ * Renders the built-in input element for filtering the MultiSelectTree.
515
+ * If set to `true`, the component emits the `filterChange` event, which can be used to [filter the MultiSelectTree manually]({% slug filtering_multiselecttree %}#toc-manual-filtering).
516
+ * A built-in filtering implementation is available to use with the [`kendoMultiSelectTreeHierarchyBinding`]({% slug api_dropdowns_multiselecttreehierarchybindingdirective %}) and [`kendoMultiSelectTreeFlatBinding`]({% slug api_dropdowns_multiselecttreeflatbindingdirective %}) directives.
517
+ * @default false
518
+ */
519
+ filterable = false;
520
+ /**
521
+ * If `checkАll` is set to `true` and the checkboxes are enabled, a tri-state checkbox appears above the embedded treeview.
522
+ * Clicking the checkbox checks or unchecks all enabled items of the treeview that are loaded.
523
+ * @default false
524
+ */
525
+ checkAll = false;
526
+ /**
527
+ * A function which determines if a specific node has child nodes.
528
+ */
529
+ hasChildren = hasChildren;
530
+ /**
531
+ * A function which provides the child nodes for a given parent node.
532
+ */
533
+ fetchChildren = fetchChildren;
534
+ /**
535
+ * A function that is executed for each data item and determines if a specific node is expanded.
536
+ */
537
+ isNodeExpanded;
538
+ /**
539
+ * A callback which determines whether a tree node should be rendered as hidden. The utility .k-hidden class is used to hide the nodes.
540
+ * Useful for custom filtering implementations.
541
+ */
542
+ isNodeVisible = isNodeVisible;
543
+ /**
544
+ * A function that is executed for each data item and determines if a specific item is disabled.
545
+ */
546
+ itemDisabled = itemDisabled;
547
+ /**
548
+ * A user-defined callback function which receives an array of selected data items and maps them to an array of tags.
549
+ *
550
+ * @param { Any[] } dataItems - The selected data items from the list.
551
+ * @returns { Any[] } - The tags that will be rendered by the component.
552
+ */
553
+ tagMapper = (tags) => tags || [];
554
+ /**
555
+ * Fires each time the user focuses the MultiSelectTree.
556
+ */
557
+ onFocus = new EventEmitter();
558
+ /**
559
+ * Fires each time the MultiSelectTree gets blurred.
560
+ */
561
+ onBlur = new EventEmitter();
562
+ /**
563
+ * Fires each time the popup is about to open
564
+ * ([see example]({% slug openstate_multiselecttree %})).
565
+ * This event is preventable. If you cancel it, the popup will remain closed.
566
+ */
567
+ open = new EventEmitter();
568
+ /**
569
+ * Fires after the popup has been opened.
570
+ */
571
+ opened = new EventEmitter();
572
+ /**
573
+ * Fires each time the popup is about to close
574
+ * ([see example]({% slug openstate_multiselecttree %})).
575
+ * This event is preventable. If you cancel it, the popup will remain open.
576
+ */
577
+ close = new EventEmitter();
578
+ /**
579
+ * Fires after the popup has been closed.
580
+ */
581
+ closed = new EventEmitter();
582
+ /**
583
+ * Fires when the user expands a node in the popup TreeView.
584
+ */
585
+ nodeExpand = new EventEmitter();
586
+ /**
587
+ * Fires when the user collapses a node in the popup TreeView.
588
+ */
589
+ nodeCollapse = new EventEmitter();
590
+ /**
591
+ * Fires each time the value is changed
592
+ * ([see example](slug:events_multiselecttree)).
593
+ */
594
+ valueChange = new EventEmitter();
595
+ /**
596
+ * Fires each time a tag is about to be removed([see examples]({% slug summarytagmode_multiselect %}#toc-notifying-on-removing-group-tags)).
597
+ * This event is preventable. If you cancel it, the tag will not be removed.
598
+ */
599
+ removeTag = new EventEmitter();
600
+ /**
601
+ * Fires when the value of the built-in filter input element changes.
602
+ */
603
+ filterChange = new EventEmitter();
607
604
  /**
608
605
  * @hidden
609
606
  */
@@ -752,6 +749,76 @@ export class MultiSelectTreeComponent {
752
749
  popupWrapper.style.width = max;
753
750
  }
754
751
  }
752
+ /**
753
+ * @hidden
754
+ */
755
+ filterStateChange = new EventEmitter();
756
+ /**
757
+ * @hidden
758
+ */
759
+ filter = '';
760
+ /**
761
+ * @hidden
762
+ */
763
+ checkedItems = [];
764
+ /**
765
+ * @hidden
766
+ * The flag is needed in order to determine how to construct the items map keys.
767
+ * If `true`, then the key consists of the item's value and 0 (no leveling required),
768
+ * else the key consists of the item's value and level (depth)
769
+ */
770
+ isHeterogeneous;
771
+ /**
772
+ * @hidden
773
+ */
774
+ showAfter = 0;
775
+ /**
776
+ * @hidden
777
+ */
778
+ allNodesHidden = false;
779
+ tagListId = `k-${guid()}`;
780
+ tagPrefix = "tag-" + guid();
781
+ popupRef;
782
+ tags;
783
+ focusedTagIndex = undefined;
784
+ disabledIndices;
785
+ _subtitle;
786
+ _nodes;
787
+ _value = [];
788
+ _tabindex = 0;
789
+ _popupSettings = DEFAULT_POPUP_SETTINGS;
790
+ _checkableSettings = DEFAULT_CHECKABLE_SETTINGS;
791
+ _isFocused = false;
792
+ _treeview;
793
+ _dataItems;
794
+ _tempValue;
795
+ _initiallyCheckedItems = [];
796
+ _size = 'medium';
797
+ _rounded = 'medium';
798
+ _fillMode = 'solid';
799
+ _searchableNodes = [];
800
+ _typedValue = '';
801
+ printableCharacters = new Subject();
802
+ subs = new Subscription();
803
+ // Keep an instance of the last focused node for when the popup close is prevented
804
+ // in order to be able to properly restore the focus
805
+ lastNodeOnFocus;
806
+ // Used as check to avoid unnecessary 'registerLookupItems()' calls upon initialization
807
+ isContentInit;
808
+ constructor(injector, wrapper, popupService, renderer, navigationService, _zone, localization, cdr, lookup) {
809
+ this.injector = injector;
810
+ this.wrapper = wrapper;
811
+ this.popupService = popupService;
812
+ this.renderer = renderer;
813
+ this.navigationService = navigationService;
814
+ this._zone = _zone;
815
+ this.localization = localization;
816
+ this.cdr = cdr;
817
+ this.lookup = lookup;
818
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
819
+ this.subscribeEvents();
820
+ this.subscribeFocusEvents();
821
+ }
755
822
  ngOnInit() {
756
823
  this.subs.add(this.printableCharacters.pipe(tap((char) => {
757
824
  this._typedValue += char;
@@ -1009,6 +1076,7 @@ export class MultiSelectTreeComponent {
1009
1076
  messageFor(key) {
1010
1077
  return this.localization.get(key);
1011
1078
  }
1079
+ lastAction = 'check';
1012
1080
  /**
1013
1081
  * @hidden
1014
1082
  */
@@ -1139,6 +1207,8 @@ export class MultiSelectTreeComponent {
1139
1207
  this.checkAllInput.nativeElement.focus();
1140
1208
  this.checkAllInput.nativeElement.click();
1141
1209
  }
1210
+ onTouchedCallback = noop;
1211
+ onChangeCallback = noop;
1142
1212
  verifySettings() {
1143
1213
  if (!isDevMode()) {
1144
1214
  return;
@@ -1569,37 +1639,36 @@ export class MultiSelectTreeComponent {
1569
1639
  this.opened.emit();
1570
1640
  this.filterable && this.actionSheetSearchBar.focus();
1571
1641
  }
1572
- }
1573
- MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.NavigationService }, { token: i0.NgZone }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.MultiSelectTreeLookupService }], target: i0.ɵɵFactoryTarget.Component });
1574
- MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MultiSelectTreeComponent, isStandalone: true, selector: "kendo-multiselecttree", inputs: { adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-multiselecttree": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.isDisabled", "attr.aria-disabled": "this.isDisabled", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.readonly": "this.isReadonly", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-activedescendant": "this.ariaActiveDescendant", "class.k-readonly": "this.readonly" } }, providers: [
1575
- LocalizationService,
1576
- NavigationService,
1577
- DataService,
1578
- DisabledItemsService,
1579
- SelectionService,
1580
- MultiSelectTreeLookupService,
1581
- {
1582
- provide: L10N_PREFIX,
1583
- useValue: 'kendo.multiselecttree'
1584
- },
1585
- {
1586
- multi: true,
1587
- provide: NG_VALUE_ACCESSOR,
1588
- useExisting: forwardRef(() => MultiSelectTreeComponent)
1589
- },
1590
- {
1591
- provide: DataBoundComponent,
1592
- useExisting: forwardRef(() => MultiSelectTreeComponent)
1593
- },
1594
- {
1595
- provide: ExpandableComponent,
1596
- useExisting: forwardRef(() => MultiSelectTreeComponent)
1597
- },
1598
- {
1599
- provide: KendoInput,
1600
- useExisting: forwardRef(() => MultiSelectTreeComponent)
1601
- }
1602
- ], queries: [{ propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "nodeTemplate", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "treeview", first: true, predicate: ["treeview"], descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "checkAllInput", first: true, predicate: ["checkAllInput"], descendants: true }], exportAs: ["kendoMultiSelectTree"], usesOnChanges: true, ngImport: i0, template: `
1642
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.NavigationService }, { token: i0.NgZone }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.MultiSelectTreeLookupService }], target: i0.ɵɵFactoryTarget.Component });
1643
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiSelectTreeComponent, isStandalone: true, selector: "kendo-multiselecttree", inputs: { adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-multiselecttree": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.isDisabled", "attr.aria-disabled": "this.isDisabled", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.readonly": "this.isReadonly", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-activedescendant": "this.ariaActiveDescendant", "class.k-readonly": "this.readonly" } }, providers: [
1644
+ LocalizationService,
1645
+ NavigationService,
1646
+ DataService,
1647
+ DisabledItemsService,
1648
+ SelectionService,
1649
+ MultiSelectTreeLookupService,
1650
+ {
1651
+ provide: L10N_PREFIX,
1652
+ useValue: 'kendo.multiselecttree'
1653
+ },
1654
+ {
1655
+ multi: true,
1656
+ provide: NG_VALUE_ACCESSOR,
1657
+ useExisting: forwardRef(() => MultiSelectTreeComponent)
1658
+ },
1659
+ {
1660
+ provide: DataBoundComponent,
1661
+ useExisting: forwardRef(() => MultiSelectTreeComponent)
1662
+ },
1663
+ {
1664
+ provide: ExpandableComponent,
1665
+ useExisting: forwardRef(() => MultiSelectTreeComponent)
1666
+ },
1667
+ {
1668
+ provide: KendoInput,
1669
+ useExisting: forwardRef(() => MultiSelectTreeComponent)
1670
+ }
1671
+ ], queries: [{ propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "nodeTemplate", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "treeview", first: true, predicate: ["treeview"], descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }, { propertyName: "checkAllInput", first: true, predicate: ["checkAllInput"], descendants: true }], exportAs: ["kendoMultiSelectTree"], usesOnChanges: true, ngImport: i0, template: `
1603
1672
  <ng-container kendoMultiSelectTreeLocalizedMessages
1604
1673
  i18n-noDataText="kendo.multiselecttree.noDataText|The text displayed in the popup when there are no items"
1605
1674
  noDataText="NO DATA FOUND"
@@ -1642,7 +1711,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
1642
1711
  (removeTag)="handleRemoveTag($event)"
1643
1712
  >
1644
1713
  </kendo-taglist>
1645
- <span class="k-input-inner k-readonly">
1714
+ <span class="k-input-inner">
1646
1715
  <span
1647
1716
  *ngIf="!tags || !tags.length"
1648
1717
  class="k-input-value-text"
@@ -1820,7 +1889,8 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
1820
1889
 
1821
1890
  <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"></kendo-resize-sensor>
1822
1891
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { kind: "component", type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "directive", type: CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { kind: "component", type: TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
1823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
1892
+ }
1893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
1824
1894
  type: Component,
1825
1895
  args: [{
1826
1896
  exportAs: 'kendoMultiSelectTree',
@@ -1897,7 +1967,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1897
1967
  (removeTag)="handleRemoveTag($event)"
1898
1968
  >
1899
1969
  </kendo-taglist>
1900
- <span class="k-input-inner k-readonly">
1970
+ <span class="k-input-inner">
1901
1971
  <span
1902
1972
  *ngIf="!tags || !tags.length"
1903
1973
  class="k-input-value-text"