@progress/kendo-angular-dropdowns 14.4.0-develop.2 → 14.4.0-develop.21

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 (173) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +147 -594
  3. package/README.md +1 -1
  4. package/autocomplete/autocomplete.component.d.ts +29 -4
  5. package/autocomplete/autocomplete.module.d.ts +5 -3
  6. package/comboboxes/combobox-column/column-cell-template.directive.d.ts +1 -1
  7. package/comboboxes/combobox-column/column-header-template.directive.d.ts +1 -1
  8. package/comboboxes/combobox-column/combobox-column.component.d.ts +1 -1
  9. package/comboboxes/combobox-column/util.d.ts +1 -1
  10. package/comboboxes/combobox.component.d.ts +32 -6
  11. package/comboboxes/combobox.module.d.ts +5 -3
  12. package/comboboxes/multicolumncombobox.component.d.ts +3 -2
  13. package/common/action-sheet.component.d.ts +1 -1
  14. package/common/constants/error-messages.d.ts +1 -1
  15. package/common/constants/touch-enabled.d.ts +1 -1
  16. package/common/data.service.d.ts +1 -1
  17. package/common/disabled-items/disabled-items.service.d.ts +1 -1
  18. package/common/disabled-items/item-disabled.d.ts +1 -1
  19. package/common/filter-input.directive.d.ts +1 -1
  20. package/common/filtering/filter-settings.d.ts +1 -1
  21. package/common/filtering/filter.directive.d.ts +1 -1
  22. package/common/filtering/filterable-component.d.ts +1 -1
  23. package/common/list-item.directive.d.ts +1 -1
  24. package/common/list.component.d.ts +1 -1
  25. package/common/localization/custom-messages.component.d.ts +1 -1
  26. package/common/localization/localized-messages.directive.d.ts +1 -1
  27. package/common/localization/messages.d.ts +1 -1
  28. package/common/models/checkboxes-settings.d.ts +1 -1
  29. package/common/models/direction.d.ts +1 -1
  30. package/common/models/fillmode.d.ts +1 -1
  31. package/common/models/list-type.d.ts +1 -1
  32. package/common/models/page-change-event.d.ts +1 -1
  33. package/common/models/popup-settings.d.ts +1 -1
  34. package/common/models/preventable-event.d.ts +1 -1
  35. package/common/models/remove-tag-event.d.ts +1 -1
  36. package/common/models/rounded.d.ts +1 -1
  37. package/common/models/size.d.ts +1 -1
  38. package/common/models/virtualization-settings.d.ts +1 -1
  39. package/common/navigation/navigation-action.d.ts +1 -1
  40. package/common/navigation/navigation.service.d.ts +1 -1
  41. package/common/searchbar.component.d.ts +1 -1
  42. package/common/selection/selectable.directive.d.ts +1 -1
  43. package/common/selection/selection.service.d.ts +1 -1
  44. package/common/shared-directives.module.d.ts +1 -1
  45. package/common/shared-events.directive.d.ts +27 -0
  46. package/common/shared-events.module.d.ts +14 -0
  47. package/common/shared.module.d.ts +1 -1
  48. package/common/taglist.component.d.ts +1 -1
  49. package/common/templates/custom-item-template.directive.d.ts +1 -1
  50. package/common/templates/fixed-group-template.directive.d.ts +1 -1
  51. package/common/templates/footer-template.directive.d.ts +1 -1
  52. package/common/templates/group-tag-template.directive.d.ts +1 -1
  53. package/common/templates/group-template.directive.d.ts +1 -1
  54. package/common/templates/header-template.directive.d.ts +1 -1
  55. package/common/templates/item-template.directive.d.ts +1 -1
  56. package/common/templates/no-data-template.directive.d.ts +1 -1
  57. package/common/templates/tag-template.directive.d.ts +1 -1
  58. package/common/templates/template-context.directive.d.ts +1 -1
  59. package/common/templates/value-template.directive.d.ts +1 -1
  60. package/common/util.d.ts +1 -1
  61. package/dropdownlist/dropdownlist.component.d.ts +2 -2
  62. package/dropdownlist/dropdownlist.module.d.ts +1 -1
  63. package/dropdowns.module.d.ts +1 -1
  64. package/dropdowntrees/checked-state/base-check.directive.d.ts +1 -1
  65. package/dropdowntrees/checked-state/check-all.directive.d.ts +1 -1
  66. package/dropdowntrees/checked-state/check.directive.d.ts +1 -1
  67. package/dropdowntrees/checked-state/checkable-settings.d.ts +1 -1
  68. package/dropdowntrees/checked-state/checked-item.d.ts +1 -1
  69. package/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.d.ts +1 -1
  70. package/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.d.ts +1 -1
  71. package/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.d.ts +1 -1
  72. package/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.d.ts +1 -1
  73. package/dropdowntrees/dropdowntree.component.d.ts +2 -2
  74. package/dropdowntrees/dropdowntrees.module.d.ts +1 -1
  75. package/dropdowntrees/expanded-state/expand.directive.d.ts +1 -1
  76. package/dropdowntrees/lookup/lookup.d.ts +1 -1
  77. package/dropdowntrees/lookup/lookup.service.d.ts +1 -1
  78. package/dropdowntrees/multiselecttree.component.d.ts +2 -2
  79. package/dropdowntrees/summary-tag/summary-tag.directive.d.ts +1 -1
  80. package/dropdowntrees/templates/node-template.directive.d.ts +1 -1
  81. package/esm2020/autocomplete/autocomplete.component.mjs +183 -88
  82. package/esm2020/autocomplete/autocomplete.module.mjs +7 -5
  83. package/esm2020/comboboxes/combobox-column/column-cell-template.directive.mjs +1 -1
  84. package/esm2020/comboboxes/combobox-column/column-header-template.directive.mjs +1 -1
  85. package/esm2020/comboboxes/combobox-column/combobox-column.component.mjs +1 -1
  86. package/esm2020/comboboxes/combobox-column/util.mjs +1 -1
  87. package/esm2020/comboboxes/combobox.component.mjs +235 -127
  88. package/esm2020/comboboxes/combobox.module.mjs +8 -6
  89. package/esm2020/comboboxes/multicolumncombobox.component.mjs +159 -119
  90. package/esm2020/common/action-sheet.component.mjs +2 -2
  91. package/esm2020/common/constants/error-messages.mjs +1 -1
  92. package/esm2020/common/constants/touch-enabled.mjs +1 -1
  93. package/esm2020/common/data.service.mjs +1 -1
  94. package/esm2020/common/disabled-items/disabled-items.service.mjs +1 -1
  95. package/esm2020/common/disabled-items/item-disabled.mjs +1 -1
  96. package/esm2020/common/filter-input.directive.mjs +1 -1
  97. package/esm2020/common/filtering/filter-settings.mjs +1 -1
  98. package/esm2020/common/filtering/filter.directive.mjs +1 -1
  99. package/esm2020/common/filtering/filterable-component.mjs +1 -1
  100. package/esm2020/common/list-item.directive.mjs +1 -1
  101. package/esm2020/common/list.component.mjs +1 -1
  102. package/esm2020/common/localization/custom-messages.component.mjs +1 -1
  103. package/esm2020/common/localization/localized-messages.directive.mjs +1 -1
  104. package/esm2020/common/localization/messages.mjs +1 -1
  105. package/esm2020/common/models/checkboxes-settings.mjs +1 -1
  106. package/esm2020/common/models/direction.mjs +1 -1
  107. package/esm2020/common/models/fillmode.mjs +1 -1
  108. package/esm2020/common/models/list-type.mjs +1 -1
  109. package/esm2020/common/models/page-change-event.mjs +1 -1
  110. package/esm2020/common/models/popup-settings.mjs +1 -1
  111. package/esm2020/common/models/preventable-event.mjs +1 -1
  112. package/esm2020/common/models/remove-tag-event.mjs +1 -1
  113. package/esm2020/common/models/rounded.mjs +1 -1
  114. package/esm2020/common/models/size.mjs +1 -1
  115. package/esm2020/common/models/virtualization-settings.mjs +1 -1
  116. package/esm2020/common/navigation/navigation-action.mjs +1 -1
  117. package/esm2020/common/navigation/navigation.service.mjs +1 -1
  118. package/esm2020/common/searchbar.component.mjs +1 -1
  119. package/esm2020/common/selection/selectable.directive.mjs +1 -1
  120. package/esm2020/common/selection/selection.service.mjs +1 -1
  121. package/esm2020/common/shared-directives.module.mjs +1 -1
  122. package/esm2020/common/shared-events.directive.mjs +94 -0
  123. package/esm2020/common/shared-events.module.mjs +22 -0
  124. package/esm2020/common/shared.module.mjs +1 -1
  125. package/esm2020/common/taglist.component.mjs +1 -1
  126. package/esm2020/common/templates/custom-item-template.directive.mjs +1 -1
  127. package/esm2020/common/templates/fixed-group-template.directive.mjs +1 -1
  128. package/esm2020/common/templates/footer-template.directive.mjs +1 -1
  129. package/esm2020/common/templates/group-tag-template.directive.mjs +1 -1
  130. package/esm2020/common/templates/group-template.directive.mjs +1 -1
  131. package/esm2020/common/templates/header-template.directive.mjs +1 -1
  132. package/esm2020/common/templates/item-template.directive.mjs +1 -1
  133. package/esm2020/common/templates/no-data-template.directive.mjs +1 -1
  134. package/esm2020/common/templates/tag-template.directive.mjs +1 -1
  135. package/esm2020/common/templates/template-context.directive.mjs +1 -1
  136. package/esm2020/common/templates/value-template.directive.mjs +1 -1
  137. package/esm2020/common/util.mjs +1 -1
  138. package/esm2020/dropdownlist/dropdownlist.component.mjs +1 -1
  139. package/esm2020/dropdownlist/dropdownlist.module.mjs +1 -1
  140. package/esm2020/dropdowns.module.mjs +1 -1
  141. package/esm2020/dropdowntrees/checked-state/base-check.directive.mjs +1 -1
  142. package/esm2020/dropdowntrees/checked-state/check-all.directive.mjs +1 -1
  143. package/esm2020/dropdowntrees/checked-state/check.directive.mjs +1 -1
  144. package/esm2020/dropdowntrees/checked-state/checkable-settings.mjs +1 -1
  145. package/esm2020/dropdowntrees/checked-state/checked-item.mjs +1 -1
  146. package/esm2020/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.mjs +1 -1
  147. package/esm2020/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.mjs +1 -1
  148. package/esm2020/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.mjs +1 -1
  149. package/esm2020/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.mjs +1 -1
  150. package/esm2020/dropdowntrees/dropdowntree.component.mjs +2 -2
  151. package/esm2020/dropdowntrees/dropdowntrees.module.mjs +1 -1
  152. package/esm2020/dropdowntrees/expanded-state/expand.directive.mjs +1 -1
  153. package/esm2020/dropdowntrees/lookup/lookup.mjs +1 -1
  154. package/esm2020/dropdowntrees/lookup/lookup.service.mjs +1 -1
  155. package/esm2020/dropdowntrees/multiselecttree.component.mjs +52 -50
  156. package/esm2020/dropdowntrees/summary-tag/summary-tag.directive.mjs +1 -1
  157. package/esm2020/dropdowntrees/templates/node-template.directive.mjs +1 -1
  158. package/esm2020/index.mjs +4 -1
  159. package/esm2020/multiselect/multiselect.component.mjs +245 -147
  160. package/esm2020/multiselect/multiselect.module.mjs +8 -6
  161. package/esm2020/multiselect/summary-tag.directive.mjs +1 -1
  162. package/esm2020/package-metadata.mjs +3 -3
  163. package/esm2020/progress-kendo-angular-dropdowns.mjs +1 -1
  164. package/fesm2015/progress-kendo-angular-dropdowns.mjs +976 -533
  165. package/fesm2020/progress-kendo-angular-dropdowns.mjs +975 -532
  166. package/index.d.ts +4 -1
  167. package/multiselect/multiselect.component.d.ts +33 -7
  168. package/multiselect/multiselect.module.d.ts +5 -3
  169. package/multiselect/summary-tag.directive.d.ts +1 -1
  170. package/package-metadata.d.ts +1 -1
  171. package/package.json +9 -9
  172. package/progress-kendo-angular-dropdowns.d.ts +1 -1
  173. package/schematics/ngAdd/index.js +2 -2
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, animationDuration, isTruthy, windowSize, setListBoxAriaLabelLebBy, setActionSheetTitle, updateActionSheetAdaptiveAppearance } from '../common/util';
@@ -7,7 +7,7 @@ import { SearchBarComponent } from '../common/searchbar.component';
7
7
  import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject, Injector } from '@angular/core';
8
8
  import { Subscription, Subject, of, merge } from 'rxjs';
9
9
  import { catchError, filter, map, tap } from 'rxjs/operators';
10
- import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged } from '@progress/kendo-angular-common';
10
+ import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged, SuffixTemplateDirective, PrefixTemplateDirective } from '@progress/kendo-angular-common';
11
11
  import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
12
12
  import { validatePackage } from '@progress/kendo-licensing';
13
13
  import { packageMetadata } from '../package-metadata';
@@ -45,16 +45,17 @@ import * as i3 from "../common/data.service";
45
45
  import * as i4 from "../common/selection/selection.service";
46
46
  import * as i5 from "../common/navigation/navigation.service";
47
47
  import * as i6 from "../common/disabled-items/disabled-items.service";
48
- import * as i7 from "../common/taglist.component";
49
- import * as i8 from "../common/searchbar.component";
50
- import * as i9 from "@progress/kendo-angular-icons";
51
- import * as i10 from "@progress/kendo-angular-common";
48
+ import * as i7 from "@progress/kendo-angular-common";
49
+ import * as i8 from "../common/taglist.component";
50
+ import * as i9 from "../common/searchbar.component";
51
+ import * as i10 from "@progress/kendo-angular-icons";
52
52
  import * as i11 from "../common/action-sheet.component";
53
53
  import * as i12 from "../common/list.component";
54
54
  import * as i13 from "../common/localization/localized-messages.directive";
55
- import * as i14 from "@angular/common";
56
- import * as i15 from "../common/templates/template-context.directive";
57
- import * as i16 from "../common/selection/selectable.directive";
55
+ import * as i14 from "../common/shared-events.directive";
56
+ import * as i15 from "@angular/common";
57
+ import * as i16 from "../common/templates/template-context.directive";
58
+ import * as i17 from "../common/selection/selectable.directive";
58
59
  const MULTISELECT_VALUE_ACCESSOR = {
59
60
  multi: true,
60
61
  provide: NG_VALUE_ACCESSOR,
@@ -81,7 +82,7 @@ const DEFAULT_FILL_MODE = 'solid';
81
82
  * ```
82
83
  */
83
84
  export class MultiSelectComponent {
84
- constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled, injector) {
85
+ constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled, injector, hostElement) {
85
86
  this.wrapper = wrapper;
86
87
  this.localization = localization;
87
88
  this.popupService = popupService;
@@ -95,6 +96,7 @@ export class MultiSelectComponent {
95
96
  this._zone = _zone;
96
97
  this.touchEnabled = touchEnabled;
97
98
  this.injector = injector;
99
+ this.hostElement = hostElement;
98
100
  /**
99
101
  * @hidden
100
102
  */
@@ -141,7 +143,7 @@ export class MultiSelectComponent {
141
143
  */
142
144
  this.title = '';
143
145
  /**
144
- * Sets the disabled state of the component.
146
+ * 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_multiselect#toc-managing-the-multiselect-disabled-state-in-reactive-forms).
145
147
  */
146
148
  this.disabled = false;
147
149
  /**
@@ -271,6 +273,14 @@ export class MultiSelectComponent {
271
273
  * Fires each time the MultiSelect gets blurred.
272
274
  */
273
275
  this.onBlur = new EventEmitter();
276
+ /**
277
+ * Fires each time the user focuses the `input` element.
278
+ */
279
+ this.inputFocus = new EventEmitter();
280
+ /**
281
+ * Fires each time the `input` element gets blurred.
282
+ */
283
+ this.inputBlur = new EventEmitter();
274
284
  /**
275
285
  * Fires each time a tag is about to be removed([see examples]({% slug summarytagmode_multiselecttree %}#toc-notifying-on-removing-group-tags)).
276
286
  * This event is preventable. If you cancel it, the tag will not be removed.
@@ -355,14 +365,12 @@ export class MultiSelectComponent {
355
365
  /**
356
366
  * @hidden
357
367
  */
358
- onSearchBarFocus() {
359
- if (!this.isFocused) {
360
- this.isFocused = true;
361
- if (hasObservers(this.onFocus)) {
362
- this._zone.run(() => {
363
- this.onFocus.emit();
364
- });
365
- }
368
+ handleInputFocus() {
369
+ this.handleFocus();
370
+ if (hasObservers(this.inputFocus)) {
371
+ this._zone.run(() => {
372
+ this.inputFocus.emit();
373
+ });
366
374
  }
367
375
  }
368
376
  /**
@@ -386,13 +394,53 @@ export class MultiSelectComponent {
386
394
  /**
387
395
  * @hidden
388
396
  */
389
- onSearchBarBlur() {
397
+ handleFocus() {
398
+ this._zone.run(() => {
399
+ if (!this.isFocused && hasObservers(this.onFocus)) {
400
+ this.onFocus.emit();
401
+ }
402
+ this.isFocused = true;
403
+ });
404
+ }
405
+ /**
406
+ * @hidden
407
+ */
408
+ handleBlur() {
390
409
  if (!this.isActionSheetExpanded) {
391
410
  if (!this.isFocused) {
392
411
  return;
393
412
  }
394
413
  this.isFocused = false;
395
414
  if (hasObservers(this.onBlur) ||
415
+ hasObservers(this.filterChange) ||
416
+ hasObservers(this.close) ||
417
+ isUntouched(this.wrapper.nativeElement)) {
418
+ this._zone.run(() => {
419
+ this.closePopup();
420
+ if (!(this.isOpen && this.allowCustom)) {
421
+ this.clearFilter();
422
+ }
423
+ this.onBlur.emit();
424
+ this.onTouchedCallback();
425
+ });
426
+ }
427
+ else {
428
+ if (!this.allowCustom) {
429
+ this.clearFilter();
430
+ }
431
+ this.closePopup();
432
+ }
433
+ }
434
+ }
435
+ /**
436
+ * @hidden
437
+ */
438
+ handleInputBlur() {
439
+ if (!this.isActionSheetExpanded) {
440
+ if (!this.isFocused) {
441
+ return;
442
+ }
443
+ if (hasObservers(this.inputBlur) ||
396
444
  hasObservers(this.filterChange) ||
397
445
  hasObservers(this.close) ||
398
446
  isUntouched(this.wrapper.nativeElement) ||
@@ -402,7 +450,7 @@ export class MultiSelectComponent {
402
450
  if (!(this.isOpen && this.allowCustom)) {
403
451
  this.clearFilter();
404
452
  }
405
- this.onBlur.emit();
453
+ this.inputBlur.emit();
406
454
  this.onTouchedCallback();
407
455
  });
408
456
  }
@@ -1028,7 +1076,7 @@ export class MultiSelectComponent {
1028
1076
  this.windowSize = windowSize();
1029
1077
  this.cdr.detectChanges();
1030
1078
  this.searchbar.setInputSize();
1031
- this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'mousedown', this.handleMousedown.bind(this)));
1079
+ this.subs.add(this.renderer.listen(this.searchbar.input.nativeElement, 'mousedown', this.handleMousedown.bind(this)));
1032
1080
  this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
1033
1081
  if (this.actionSheet && isDocumentAvailable()) {
1034
1082
  // The following syntax is used as it does not violate CSP compliance
@@ -1684,8 +1732,8 @@ export class MultiSelectComponent {
1684
1732
  this.actionSheetSearchBar.focus();
1685
1733
  }
1686
1734
  }
1687
- MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.DataService }, { token: i4.SelectionService }, { token: i5.NavigationService }, { token: i6.DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1688
- MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: { showStickyHeader: "showStickyHeader", focusableId: "focusableId", autoClose: "autoClose", loading: "loading", data: "data", value: "value", valueField: "valueField", textField: "textField", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", disabled: "disabled", itemDisabled: "itemDisabled", checkboxes: "checkboxes", readonly: "readonly", filterable: "filterable", virtual: "virtual", popupSettings: "popupSettings", listHeight: "listHeight", valuePrimitive: "valuePrimitive", clearButton: "clearButton", tagMapper: "tagMapper", allowCustom: "allowCustom", valueNormalizer: "valueNormalizer" }, outputs: { filterChange: "filterChange", valueChange: "valueChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", removeTag: "removeTag" }, host: { properties: { "class.k-multiselect": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.dir", "class.k-disabled": "this.disabledClass", "class.k-loading": "this.isLoading" } }, providers: [
1735
+ MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.DataService }, { token: i4.SelectionService }, { token: i5.NavigationService }, { token: i6.DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1736
+ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: { showStickyHeader: "showStickyHeader", focusableId: "focusableId", autoClose: "autoClose", loading: "loading", data: "data", value: "value", valueField: "valueField", textField: "textField", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", disabled: "disabled", itemDisabled: "itemDisabled", checkboxes: "checkboxes", readonly: "readonly", filterable: "filterable", virtual: "virtual", popupSettings: "popupSettings", listHeight: "listHeight", valuePrimitive: "valuePrimitive", clearButton: "clearButton", tagMapper: "tagMapper", allowCustom: "allowCustom", valueNormalizer: "valueNormalizer" }, outputs: { filterChange: "filterChange", valueChange: "valueChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", inputFocus: "inputFocus", inputBlur: "inputBlur", removeTag: "removeTag" }, host: { properties: { "class.k-multiselect": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.dir", "class.k-disabled": "this.disabledClass", "class.k-loading": "this.isLoading" } }, providers: [
1689
1737
  MULTISELECT_VALUE_ACCESSOR,
1690
1738
  DataService,
1691
1739
  SelectionService,
@@ -1702,7 +1750,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1702
1750
  {
1703
1751
  provide: KendoInput, useExisting: forwardRef(() => MultiSelectComponent)
1704
1752
  }
1705
- ], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "customItemTemplate", first: true, predicate: CustomItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoMultiSelect"], usesOnChanges: true, ngImport: i0, template: `
1753
+ ], queries: [{ propertyName: "template", first: true, predicate: ItemTemplateDirective, descendants: true }, { propertyName: "customItemTemplate", first: true, predicate: CustomItemTemplateDirective, descendants: true }, { propertyName: "groupTemplate", first: true, predicate: GroupTemplateDirective, descendants: true }, { propertyName: "fixedGroupTemplate", first: true, predicate: FixedGroupTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }, { propertyName: "tagTemplate", first: true, predicate: TagTemplateDirective, descendants: true }, { propertyName: "groupTagTemplate", first: true, predicate: GroupTagTemplateDirective, descendants: true }, { propertyName: "noDataTemplate", first: true, predicate: NoDataTemplateDirective, descendants: true }, { propertyName: "suffixTemplate", first: true, predicate: SuffixTemplateDirective, descendants: true }, { propertyName: "prefixTemplate", first: true, predicate: PrefixTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "responsiveRendererComponent", first: true, predicate: ResponsiveRendererComponent, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "searchbar", first: true, predicate: SearchBarComponent, descendants: true, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "optionsList", first: true, predicate: ["optionsList"], descendants: true }], exportAs: ["kendoMultiSelect"], usesOnChanges: true, ngImport: i0, template: `
1706
1754
  <ng-container kendoMultiSelectLocalizedMessages
1707
1755
  i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
1708
1756
  noDataText="NO DATA FOUND"
@@ -1720,69 +1768,89 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1720
1768
  cancelButton="Cancel"
1721
1769
  >
1722
1770
  </ng-container>
1723
- <div class="k-input-values">
1724
- <kendo-taglist
1725
- [size]="size"
1726
- [rounded]="rounded"
1727
- [fillMode]="fillMode"
1728
- [id]="tagListId"
1729
- [tags]="tags"
1730
- [textField]="textField"
1731
- [valueField]="valueField"
1732
- [focused]="focusedTagIndex"
1733
- [disabled]="disabled"
1734
- [template]="tagTemplate"
1735
- [groupTemplate]="groupTagTemplate"
1736
- [tagPrefix]="tagPrefix"
1737
- [disabledIndices]="disabledIndices"
1738
- (removeTag)="handleRemoveTag($event)"
1739
- >
1740
- </kendo-taglist>
1741
- <kendo-searchbar
1742
- #searchbar
1743
- [ariaExpanded]="isOpen"
1744
- [ariaControls]="ariaControls"
1745
- [id]="focusableId"
1746
- [role]="'combobox'"
1747
- [tagListId]="tagListId"
1748
- [isLoading]="loading"
1749
- [isFilterable]="filterable"
1750
- [activeDescendant]="activeDescendant"
1751
- [userInput]="text"
1752
- [disabled]="disabled"
1753
- [readonly]="readonly || this.isAdaptive"
1754
- [tabIndex]="tabIndex"
1755
- [placeholder]="placeholder"
1756
- (onNavigate)="handleNavigate($event)"
1757
- (valueChange)="handleFilter($event)"
1758
- (onBlur)="onSearchBarBlur()"
1759
- (onFocus)="onSearchBarFocus()"
1760
- (click)="handleClick()"
1761
- >
1762
- </kendo-searchbar>
1763
- </div>
1764
1771
 
1765
- <span
1766
- *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
1767
- class="k-clear-value"
1768
- [style.visibility]="clearButtonVisiblity"
1769
- [attr.title]="messageFor('clearTitle')"
1770
- role="button"
1771
- tabindex="-1"
1772
- (mousedown)="clearAll($event)"
1772
+ <ng-container
1773
+ kendoDropDownSharedEvents
1774
+ [hostElement]="hostElement"
1775
+ [(isFocused)]="isFocused"
1776
+ (handleBlur)="handleBlur()"
1777
+ (onFocus)="handleFocus()"
1773
1778
  >
1774
- <kendo-icon-wrapper
1775
- class="k-icon"
1776
- name="x"
1777
- [svgIcon]="xIcon"
1779
+ <span *ngIf="prefixTemplate" class="k-input-prefix k-input-prefix-horizontal">
1780
+ <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
1781
+ </ng-template>
1782
+ </span>
1783
+ <kendo-separator *ngIf="prefixTemplate && prefixTemplate.showSeparator"></kendo-separator>
1784
+ <div class="k-input-values">
1785
+ <kendo-taglist
1786
+ [size]="size"
1787
+ [rounded]="rounded"
1788
+ [fillMode]="fillMode"
1789
+ [id]="tagListId"
1790
+ [tags]="tags"
1791
+ [textField]="textField"
1792
+ [valueField]="valueField"
1793
+ [focused]="focusedTagIndex"
1794
+ [disabled]="disabled"
1795
+ [template]="tagTemplate"
1796
+ [groupTemplate]="groupTagTemplate"
1797
+ [tagPrefix]="tagPrefix"
1798
+ [disabledIndices]="disabledIndices"
1799
+ (removeTag)="handleRemoveTag($event)"
1800
+ >
1801
+ </kendo-taglist>
1802
+ <kendo-searchbar
1803
+ #searchbar
1804
+ [ariaExpanded]="isOpen"
1805
+ [ariaControls]="ariaControls"
1806
+ [id]="focusableId"
1807
+ [role]="'combobox'"
1808
+ [tagListId]="tagListId"
1809
+ [isLoading]="loading"
1810
+ [isFilterable]="filterable"
1811
+ [activeDescendant]="activeDescendant"
1812
+ [userInput]="text"
1813
+ [disabled]="disabled"
1814
+ [readonly]="readonly || this.isAdaptive"
1815
+ [tabIndex]="tabIndex"
1816
+ [placeholder]="placeholder"
1817
+ (onNavigate)="handleNavigate($event)"
1818
+ (valueChange)="handleFilter($event)"
1819
+ (onBlur)="handleInputBlur()"
1820
+ (onFocus)="handleInputFocus()"
1821
+ (click)="handleClick()"
1822
+ >
1823
+ </kendo-searchbar>
1824
+ </div>
1825
+
1826
+ <span
1827
+ *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
1828
+ class="k-clear-value"
1829
+ [style.visibility]="clearButtonVisiblity"
1830
+ [attr.title]="messageFor('clearTitle')"
1831
+ role="button"
1832
+ tabindex="-1"
1833
+ (mousedown)="clearAll($event)"
1778
1834
  >
1779
- </kendo-icon-wrapper>
1780
- </span>
1781
- <span
1782
- *ngIf="loading"
1783
- class="k-icon k-i-loading k-input-loading-icon"
1784
- >
1785
- </span>
1835
+ <kendo-icon-wrapper
1836
+ class="k-icon"
1837
+ name="x"
1838
+ [svgIcon]="xIcon"
1839
+ >
1840
+ </kendo-icon-wrapper>
1841
+ </span>
1842
+ <span
1843
+ *ngIf="loading"
1844
+ class="k-icon k-i-loading k-input-loading-icon"
1845
+ >
1846
+ </span>
1847
+ <kendo-separator *ngIf="suffixTemplate && suffixTemplate.showSeparator"></kendo-separator>
1848
+ <span *ngIf="suffixTemplate" class="k-input-suffix k-input-suffix-horizontal">
1849
+ <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
1850
+ </ng-template>
1851
+ </span>
1852
+ </ng-container>
1853
+
1786
1854
  <ng-template #popupTemplate>
1787
1855
  <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
1788
1856
  </ng-template>
@@ -1877,7 +1945,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1877
1945
  }">
1878
1946
  </ng-template>
1879
1947
  </ng-template>
1880
- `, isInline: true, components: [{ type: i7.TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i8.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i9.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i11.ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: i12.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }], directives: [{ type: i13.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i15.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i16.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
1948
+ `, isInline: true, components: [{ type: i7.SeparatorComponent, selector: "kendo-separator", inputs: ["orientation"] }, { type: i8.TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i9.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i10.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i7.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i11.ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: i12.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "showStickyHeader", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }], directives: [{ type: i13.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i14.SharedDropDownEventsDirective, selector: "[kendoDropDownSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { type: i15.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i16.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i15.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i17.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
1881
1949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, decorators: [{
1882
1950
  type: Component,
1883
1951
  args: [{
@@ -1919,69 +1987,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1919
1987
  cancelButton="Cancel"
1920
1988
  >
1921
1989
  </ng-container>
1922
- <div class="k-input-values">
1923
- <kendo-taglist
1924
- [size]="size"
1925
- [rounded]="rounded"
1926
- [fillMode]="fillMode"
1927
- [id]="tagListId"
1928
- [tags]="tags"
1929
- [textField]="textField"
1930
- [valueField]="valueField"
1931
- [focused]="focusedTagIndex"
1932
- [disabled]="disabled"
1933
- [template]="tagTemplate"
1934
- [groupTemplate]="groupTagTemplate"
1935
- [tagPrefix]="tagPrefix"
1936
- [disabledIndices]="disabledIndices"
1937
- (removeTag)="handleRemoveTag($event)"
1938
- >
1939
- </kendo-taglist>
1940
- <kendo-searchbar
1941
- #searchbar
1942
- [ariaExpanded]="isOpen"
1943
- [ariaControls]="ariaControls"
1944
- [id]="focusableId"
1945
- [role]="'combobox'"
1946
- [tagListId]="tagListId"
1947
- [isLoading]="loading"
1948
- [isFilterable]="filterable"
1949
- [activeDescendant]="activeDescendant"
1950
- [userInput]="text"
1951
- [disabled]="disabled"
1952
- [readonly]="readonly || this.isAdaptive"
1953
- [tabIndex]="tabIndex"
1954
- [placeholder]="placeholder"
1955
- (onNavigate)="handleNavigate($event)"
1956
- (valueChange)="handleFilter($event)"
1957
- (onBlur)="onSearchBarBlur()"
1958
- (onFocus)="onSearchBarFocus()"
1959
- (click)="handleClick()"
1960
- >
1961
- </kendo-searchbar>
1962
- </div>
1963
1990
 
1964
- <span
1965
- *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
1966
- class="k-clear-value"
1967
- [style.visibility]="clearButtonVisiblity"
1968
- [attr.title]="messageFor('clearTitle')"
1969
- role="button"
1970
- tabindex="-1"
1971
- (mousedown)="clearAll($event)"
1991
+ <ng-container
1992
+ kendoDropDownSharedEvents
1993
+ [hostElement]="hostElement"
1994
+ [(isFocused)]="isFocused"
1995
+ (handleBlur)="handleBlur()"
1996
+ (onFocus)="handleFocus()"
1972
1997
  >
1973
- <kendo-icon-wrapper
1974
- class="k-icon"
1975
- name="x"
1976
- [svgIcon]="xIcon"
1998
+ <span *ngIf="prefixTemplate" class="k-input-prefix k-input-prefix-horizontal">
1999
+ <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
2000
+ </ng-template>
2001
+ </span>
2002
+ <kendo-separator *ngIf="prefixTemplate && prefixTemplate.showSeparator"></kendo-separator>
2003
+ <div class="k-input-values">
2004
+ <kendo-taglist
2005
+ [size]="size"
2006
+ [rounded]="rounded"
2007
+ [fillMode]="fillMode"
2008
+ [id]="tagListId"
2009
+ [tags]="tags"
2010
+ [textField]="textField"
2011
+ [valueField]="valueField"
2012
+ [focused]="focusedTagIndex"
2013
+ [disabled]="disabled"
2014
+ [template]="tagTemplate"
2015
+ [groupTemplate]="groupTagTemplate"
2016
+ [tagPrefix]="tagPrefix"
2017
+ [disabledIndices]="disabledIndices"
2018
+ (removeTag)="handleRemoveTag($event)"
2019
+ >
2020
+ </kendo-taglist>
2021
+ <kendo-searchbar
2022
+ #searchbar
2023
+ [ariaExpanded]="isOpen"
2024
+ [ariaControls]="ariaControls"
2025
+ [id]="focusableId"
2026
+ [role]="'combobox'"
2027
+ [tagListId]="tagListId"
2028
+ [isLoading]="loading"
2029
+ [isFilterable]="filterable"
2030
+ [activeDescendant]="activeDescendant"
2031
+ [userInput]="text"
2032
+ [disabled]="disabled"
2033
+ [readonly]="readonly || this.isAdaptive"
2034
+ [tabIndex]="tabIndex"
2035
+ [placeholder]="placeholder"
2036
+ (onNavigate)="handleNavigate($event)"
2037
+ (valueChange)="handleFilter($event)"
2038
+ (onBlur)="handleInputBlur()"
2039
+ (onFocus)="handleInputFocus()"
2040
+ (click)="handleClick()"
2041
+ >
2042
+ </kendo-searchbar>
2043
+ </div>
2044
+
2045
+ <span
2046
+ *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
2047
+ class="k-clear-value"
2048
+ [style.visibility]="clearButtonVisiblity"
2049
+ [attr.title]="messageFor('clearTitle')"
2050
+ role="button"
2051
+ tabindex="-1"
2052
+ (mousedown)="clearAll($event)"
1977
2053
  >
1978
- </kendo-icon-wrapper>
1979
- </span>
1980
- <span
1981
- *ngIf="loading"
1982
- class="k-icon k-i-loading k-input-loading-icon"
1983
- >
1984
- </span>
2054
+ <kendo-icon-wrapper
2055
+ class="k-icon"
2056
+ name="x"
2057
+ [svgIcon]="xIcon"
2058
+ >
2059
+ </kendo-icon-wrapper>
2060
+ </span>
2061
+ <span
2062
+ *ngIf="loading"
2063
+ class="k-icon k-i-loading k-input-loading-icon"
2064
+ >
2065
+ </span>
2066
+ <kendo-separator *ngIf="suffixTemplate && suffixTemplate.showSeparator"></kendo-separator>
2067
+ <span *ngIf="suffixTemplate" class="k-input-suffix k-input-suffix-horizontal">
2068
+ <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
2069
+ </ng-template>
2070
+ </span>
2071
+ </ng-container>
2072
+
1985
2073
  <ng-template #popupTemplate>
1986
2074
  <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
1987
2075
  </ng-template>
@@ -2083,7 +2171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2083
2171
  }, {
2084
2172
  type: Inject,
2085
2173
  args: [TOUCH_ENABLED]
2086
- }] }, { type: i0.Injector }]; }, propDecorators: { responsiveRendererComponent: [{
2174
+ }] }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { responsiveRendererComponent: [{
2087
2175
  type: ViewChild,
2088
2176
  args: [ResponsiveRendererComponent]
2089
2177
  }], showStickyHeader: [{
@@ -2165,6 +2253,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2165
2253
  }], onBlur: [{
2166
2254
  type: Output,
2167
2255
  args: ['blur']
2256
+ }], inputFocus: [{
2257
+ type: Output
2258
+ }], inputBlur: [{
2259
+ type: Output
2168
2260
  }], removeTag: [{
2169
2261
  type: Output
2170
2262
  }], container: [{
@@ -2206,6 +2298,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2206
2298
  }], noDataTemplate: [{
2207
2299
  type: ContentChild,
2208
2300
  args: [NoDataTemplateDirective, { static: false }]
2301
+ }], suffixTemplate: [{
2302
+ type: ContentChild,
2303
+ args: [SuffixTemplateDirective]
2304
+ }], prefixTemplate: [{
2305
+ type: ContentChild,
2306
+ args: [PrefixTemplateDirective]
2209
2307
  }], hostClasses: [{
2210
2308
  type: HostBinding,
2211
2309
  args: ['class.k-multiselect']
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { NgModule } from '@angular/core';
@@ -10,6 +10,8 @@ import { SummaryTagDirective } from './summary-tag.directive';
10
10
  import { SharedModule } from '../common/shared.module';
11
11
  import { SharedDirectivesModule } from '../common/shared-directives.module';
12
12
  import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
13
+ import { AdornmentsModule } from '@progress/kendo-angular-common';
14
+ import { SharedEventsModule } from '../common/shared-events.module';
13
15
  import * as i0 from "@angular/core";
14
16
  const MULTISELECT_DIRECTIVES = [
15
17
  MultiSelectComponent,
@@ -37,16 +39,16 @@ export class MultiSelectModule {
37
39
  MultiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
40
  MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelectComponent,
39
41
  SummaryTagDirective,
40
- CustomItemTemplateDirective], imports: [SharedModule], exports: [MultiSelectComponent,
42
+ CustomItemTemplateDirective], imports: [SharedModule, AdornmentsModule, SharedEventsModule], exports: [MultiSelectComponent,
41
43
  SummaryTagDirective,
42
- CustomItemTemplateDirective, SharedDirectivesModule] });
43
- MultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [[SharedModule], SharedDirectivesModule] });
44
+ CustomItemTemplateDirective, SharedDirectivesModule, AdornmentsModule] });
45
+ MultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [[SharedModule, AdornmentsModule, SharedEventsModule], SharedDirectivesModule, AdornmentsModule] });
44
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectModule, decorators: [{
45
47
  type: NgModule,
46
48
  args: [{
47
49
  declarations: [MULTISELECT_DIRECTIVES],
48
- exports: [MULTISELECT_DIRECTIVES, SharedDirectivesModule],
49
- imports: [SharedModule],
50
+ exports: [MULTISELECT_DIRECTIVES, SharedDirectivesModule, AdornmentsModule],
51
+ imports: [SharedModule, AdornmentsModule, SharedEventsModule],
50
52
  providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }]
51
53
  }]
52
54
  }] });
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Directive, Input } from '@angular/core';
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-dropdowns',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1703164530,
13
- version: '14.4.0-develop.2',
12
+ publishDate: 1706522882,
13
+ version: '14.4.0-develop.21',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2023 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**