@progress/kendo-angular-dropdowns 14.0.2-develop.9 → 14.1.0-develop.10

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.
@@ -26,7 +26,6 @@ import * as i13 from '@angular/common';
26
26
  import { CommonModule } from '@angular/common';
27
27
  import * as i2$1 from '@progress/kendo-angular-popup';
28
28
  import { PopupModule } from '@progress/kendo-angular-popup';
29
- export { PopupComponent } from '@progress/kendo-angular-popup';
30
29
  import { map, switchMap, take, auditTime, tap, filter, partition, throttleTime, catchError, skipWhile, concatMap, takeUntil, debounceTime } from 'rxjs/operators';
31
30
  import * as i1$1 from '@progress/kendo-angular-treeview';
32
31
  import { DataBoundComponent, ExpandableComponent, FlatDataBindingDirective, HierarchyBindingDirective, ExpandDirective, TreeViewModule } from '@progress/kendo-angular-treeview';
@@ -38,8 +37,8 @@ const packageMetadata = {
38
37
  name: '@progress/kendo-angular-dropdowns',
39
38
  productName: 'Kendo UI for Angular',
40
39
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
41
- publishDate: 1698069060,
42
- version: '14.0.2-develop.9',
40
+ publishDate: 1699437532,
41
+ version: '14.1.0-develop.10',
43
42
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
44
43
  };
45
44
 
@@ -2074,6 +2073,7 @@ class ListComponent {
2074
2073
  this.onClick = new EventEmitter();
2075
2074
  this.pageChange = new EventEmitter();
2076
2075
  this.listResize = new EventEmitter();
2076
+ this.popupListScroll = new EventEmitter();
2077
2077
  this.startFrom = 0;
2078
2078
  this.lastLoaded = 0;
2079
2079
  this.lastScrollTop = 0;
@@ -2434,7 +2434,7 @@ class ListComponent {
2434
2434
  }
2435
2435
  }
2436
2436
  ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, deps: [{ token: DataService }, { token: i0.ElementRef }, { token: SelectionService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
2437
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", isActionSheetExpanded: "isActionSheetExpanded", showStickyHeader: "showStickyHeader", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2437
+ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", isActionSheetExpanded: "isActionSheetExpanded", showStickyHeader: "showStickyHeader", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize", popupListScroll: "popupListScroll" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
2438
2438
  <div *ngIf="dataService.grouped && showStickyHeader"
2439
2439
  [class]="listGroupStickyHeaderClass"
2440
2440
  [ngStyle]="{
@@ -2454,7 +2454,8 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2454
2454
  [class]="listContentClass"
2455
2455
  [style.overscrollBehavior]="'none'"
2456
2456
  [style.maxHeight.px]="height"
2457
- unselectable="on">
2457
+ unselectable="on"
2458
+ (scroll)="popupListScroll.emit($event)">
2458
2459
  <ul #list
2459
2460
  role="listbox"
2460
2461
  [class]="listClass"
@@ -2587,7 +2588,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2587
2588
  [class]="listContentClass"
2588
2589
  [style.overscrollBehavior]="'none'"
2589
2590
  [style.maxHeight.px]="height"
2590
- unselectable="on">
2591
+ unselectable="on"
2592
+ (scroll)="popupListScroll.emit($event)">
2591
2593
  <ul #list
2592
2594
  role="listbox"
2593
2595
  [class]="listClass"
@@ -2747,6 +2749,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2747
2749
  type: Output
2748
2750
  }], listResize: [{
2749
2751
  type: Output
2752
+ }], popupListScroll: [{
2753
+ type: Output
2750
2754
  }], items: [{
2751
2755
  type: ViewChildren,
2752
2756
  args: [ListItemDirective]
@@ -2858,7 +2862,7 @@ const AUTOCOMPLETE_VALUE_ACCESSOR = {
2858
2862
  * ```
2859
2863
  */
2860
2864
  class AutoCompleteComponent {
2861
- constructor(localization, dataService, popupService, selectionService, navigationService, disabledItemsService, _zone, cdr, renderer, hostElement, touchEnabled) {
2865
+ constructor(localization, dataService, popupService, selectionService, navigationService, disabledItemsService, _zone, cdr, renderer, hostElement, touchEnabled, injector) {
2862
2866
  this.localization = localization;
2863
2867
  this.dataService = dataService;
2864
2868
  this.popupService = popupService;
@@ -2870,6 +2874,7 @@ class AutoCompleteComponent {
2870
2874
  this.renderer = renderer;
2871
2875
  this.hostElement = hostElement;
2872
2876
  this.touchEnabled = touchEnabled;
2877
+ this.injector = injector;
2873
2878
  /**
2874
2879
  * @hidden
2875
2880
  */
@@ -3320,6 +3325,13 @@ class AutoCompleteComponent {
3320
3325
  get isAdaptive() {
3321
3326
  return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
3322
3327
  }
3328
+ /**
3329
+ * @hidden
3330
+ */
3331
+ get formControl() {
3332
+ const ngControl = this.injector.get(NgControl, null);
3333
+ return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
3334
+ }
3323
3335
  ngOnInit() {
3324
3336
  this.renderer.removeAttribute(this.wrapper, "tabindex");
3325
3337
  this.subs.add(this.localization
@@ -3407,6 +3419,7 @@ class AutoCompleteComponent {
3407
3419
  * @hidden
3408
3420
  */
3409
3421
  setDisabledState(isDisabled) {
3422
+ this.cdr.markForCheck();
3410
3423
  this.disabled = isDisabled;
3411
3424
  }
3412
3425
  /**
@@ -3600,6 +3613,7 @@ class AutoCompleteComponent {
3600
3613
  * @hidden
3601
3614
  */
3602
3615
  handleBlur() {
3616
+ var _a;
3603
3617
  if (!this.isActionSheetExpanded) {
3604
3618
  const focused = this.filterable ? this.selectionService.focused : -1;
3605
3619
  this.searchbar.input.nativeElement.scrollLeft = 0; // Firefox doesn't auto-scroll to the left on blur like other browsers
@@ -3619,7 +3633,11 @@ class AutoCompleteComponent {
3619
3633
  }
3620
3634
  this.isFocused = false;
3621
3635
  const valueHasChanged = this.value !== this.text;
3622
- const runInZone = hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper) || valueHasChanged;
3636
+ const runInZone = hasObservers(this.onBlur) ||
3637
+ hasObservers(this.close) ||
3638
+ isUntouched(this.wrapper) ||
3639
+ valueHasChanged ||
3640
+ ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.updateOn) === 'blur';
3623
3641
  if (runInZone) {
3624
3642
  this._zone.run(() => {
3625
3643
  if (valueHasChanged) {
@@ -3848,7 +3866,7 @@ class AutoCompleteComponent {
3848
3866
  this.actionSheetSearchBar.focus();
3849
3867
  }
3850
3868
  }
3851
- AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.LocalizationService }, { token: DataService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
3869
+ AutoCompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, deps: [{ token: i1.LocalizationService }, { token: DataService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3852
3870
  AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AutoCompleteComponent, selector: "kendo-autocomplete", inputs: { highlightFirst: "highlightFirst", showStickyHeader: "showStickyHeader", focusableId: "focusableId", data: "data", value: "value", valueField: "valueField", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", popupSettings: "popupSettings", listHeight: "listHeight", loading: "loading", clearButton: "clearButton", suggest: "suggest", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-autocomplete": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
3853
3871
  AUTOCOMPLETE_VALUE_ACCESSOR,
3854
3872
  DataService,
@@ -3983,7 +4001,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
3983
4001
  }">
3984
4002
  </ng-template>
3985
4003
  </ng-template>
3986
- `, isInline: true, components: [{ type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
4004
+ `, isInline: true, components: [{ type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
3987
4005
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3988
4006
  type: Component,
3989
4007
  args: [{
@@ -4132,7 +4150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4132
4150
  }, {
4133
4151
  type: Inject,
4134
4152
  args: [TOUCH_ENABLED]
4135
- }] }];
4153
+ }] }, { type: i0.Injector }];
4136
4154
  }, propDecorators: { responsiveRendererComponent: [{
4137
4155
  type: ViewChild,
4138
4156
  args: [ResponsiveRendererComponent]
@@ -4339,7 +4357,7 @@ const DEFAULT_FILL_MODE$4 = 'solid';
4339
4357
  * ```
4340
4358
  */
4341
4359
  class ComboBoxComponent {
4342
- constructor(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled) {
4360
+ constructor(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled, injector) {
4343
4361
  this.wrapper = wrapper;
4344
4362
  this.localization = localization;
4345
4363
  this.popupService = popupService;
@@ -4351,6 +4369,7 @@ class ComboBoxComponent {
4351
4369
  this.cdr = cdr;
4352
4370
  this.renderer = renderer;
4353
4371
  this.touchEnabled = touchEnabled;
4372
+ this.injector = injector;
4354
4373
  /**
4355
4374
  * @hidden
4356
4375
  */
@@ -4828,6 +4847,13 @@ class ComboBoxComponent {
4828
4847
  return 'visible';
4829
4848
  }
4830
4849
  }
4850
+ /**
4851
+ * @hidden
4852
+ */
4853
+ get formControl() {
4854
+ const ngControl = this.injector.get(NgControl, null);
4855
+ return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
4856
+ }
4831
4857
  /**
4832
4858
  * @hidden
4833
4859
  */
@@ -5162,6 +5188,7 @@ class ComboBoxComponent {
5162
5188
  * @hidden
5163
5189
  */
5164
5190
  setDisabledState(isDisabled) {
5191
+ this.cdr.markForCheck();
5165
5192
  this.disabled = isDisabled;
5166
5193
  }
5167
5194
  /**
@@ -5408,6 +5435,7 @@ class ComboBoxComponent {
5408
5435
  * @hidden
5409
5436
  */
5410
5437
  handleBlur() {
5438
+ var _a;
5411
5439
  if (!this.isActionSheetExpanded) {
5412
5440
  this._filtering = false;
5413
5441
  this.searchbar.input.nativeElement.scrollLeft = 0; // Firefox doesn't auto-scroll to the left on blur like other browsers
@@ -5416,7 +5444,11 @@ class ComboBoxComponent {
5416
5444
  const currentText = this.searchbar.value;
5417
5445
  const textHasChanged = currentText !== (getter(this.dataItem, this.textField) || '');
5418
5446
  const valueHasChanged = unresolvedSelection || textHasChanged;
5419
- const runInZone = valueHasChanged || hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper.nativeElement);
5447
+ const runInZone = valueHasChanged ||
5448
+ hasObservers(this.onBlur) ||
5449
+ hasObservers(this.close) ||
5450
+ isUntouched(this.wrapper.nativeElement) ||
5451
+ ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.updateOn) === 'blur';
5420
5452
  if (runInZone) {
5421
5453
  this.zone.run(() => {
5422
5454
  if (valueHasChanged) {
@@ -5715,7 +5747,7 @@ class ComboBoxComponent {
5715
5747
  this.actionSheetSearchBar.focus();
5716
5748
  }
5717
5749
  }
5718
- ComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
5750
+ ComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: TOUCH_ENABLED, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
5719
5751
  ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ComboBoxComponent, selector: "kendo-combobox", inputs: { icon: "icon", svgIcon: "svgIcon", showStickyHeader: "showStickyHeader", focusableId: "focusableId", allowCustom: "allowCustom", data: "data", value: "value", textField: "textField", valueField: "valueField", valuePrimitive: "valuePrimitive", valueNormalizer: "valueNormalizer", placeholder: "placeholder", adaptiveMode: "adaptiveMode", title: "title", subtitle: "subtitle", popupSettings: "popupSettings", listHeight: "listHeight", loading: "loading", suggest: "suggest", clearButton: "clearButton", disabled: "disabled", itemDisabled: "itemDisabled", readonly: "readonly", tabindex: "tabindex", tabIndex: "tabIndex", filterable: "filterable", virtual: "virtual", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", selectionChange: "selectionChange", filterChange: "filterChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-combobox": "this.widgetClasses", "class.k-input": "this.widgetClasses", "class.k-disabled": "this.isDisabled", "class.k-loading": "this.isLoading", "attr.dir": "this.dir" } }, providers: [
5720
5752
  COMBOBOX_VALUE_ACCESSOR,
5721
5753
  DataService,
@@ -5870,7 +5902,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5870
5902
  }">
5871
5903
  </ng-template>
5872
5904
  </ng-template>
5873
- `, isInline: true, components: [{ type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
5905
+ `, isInline: true, components: [{ type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
5874
5906
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, decorators: [{
5875
5907
  type: Component,
5876
5908
  args: [{
@@ -6039,7 +6071,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6039
6071
  }, {
6040
6072
  type: Inject,
6041
6073
  args: [TOUCH_ENABLED]
6042
- }] }];
6074
+ }] }, { type: i0.Injector }];
6043
6075
  }, propDecorators: { icon: [{
6044
6076
  type: Input
6045
6077
  }], svgIcon: [{
@@ -7063,6 +7095,7 @@ class DropDownListComponent {
7063
7095
  * @hidden
7064
7096
  */
7065
7097
  setDisabledState(isDisabled) {
7098
+ this.cdr.markForCheck();
7066
7099
  this.disabled = isDisabled;
7067
7100
  }
7068
7101
  /**
@@ -7362,6 +7395,7 @@ class DropDownListComponent {
7362
7395
  }
7363
7396
  }
7364
7397
  componentBlur() {
7398
+ var _a;
7365
7399
  if (!this.isActionSheetExpanded) {
7366
7400
  this.isFocused = false;
7367
7401
  const selectionPresent = isPresent(this.selectionService.selected[0]);
@@ -7370,7 +7404,8 @@ class DropDownListComponent {
7370
7404
  hasObservers(this.close) ||
7371
7405
  hasObservers(this.onBlur) ||
7372
7406
  hasObservers(this.filterChange) ||
7373
- isUntouched(this.wrapper.nativeElement)) {
7407
+ isUntouched(this.wrapper.nativeElement) ||
7408
+ ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.updateOn) === 'blur') {
7374
7409
  this._zone.run(() => {
7375
7410
  if (valueHasChanged) {
7376
7411
  this.selectionService.change(this.selectionService.selected[0]);
@@ -7621,7 +7656,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
7621
7656
  popupLabel="Options list"
7622
7657
  >
7623
7658
  </ng-container>
7624
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
7659
+ <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
7625
7660
  <span class="k-input-value-text">
7626
7661
  <ng-template *ngIf="valueTemplate"
7627
7662
  [templateContext]="{
@@ -7776,7 +7811,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
7776
7811
  }">
7777
7812
  </ng-template>
7778
7813
  </ng-template>
7779
- `, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
7814
+ `, isInline: true, components: [{ type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i14.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
7780
7815
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownListComponent, decorators: [{
7781
7816
  type: Component,
7782
7817
  args: [{
@@ -7815,7 +7850,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7815
7850
  popupLabel="Options list"
7816
7851
  >
7817
7852
  </ng-container>
7818
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
7853
+ <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
7819
7854
  <span class="k-input-value-text">
7820
7855
  <ng-template *ngIf="valueTemplate"
7821
7856
  [templateContext]="{
@@ -8576,7 +8611,7 @@ const DEFAULT_FILL_MODE$2 = 'solid';
8576
8611
  * ```
8577
8612
  */
8578
8613
  class MultiSelectComponent {
8579
- constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled) {
8614
+ constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled, injector) {
8580
8615
  this.wrapper = wrapper;
8581
8616
  this.localization = localization;
8582
8617
  this.popupService = popupService;
@@ -8589,6 +8624,7 @@ class MultiSelectComponent {
8589
8624
  this.renderer = renderer;
8590
8625
  this._zone = _zone;
8591
8626
  this.touchEnabled = touchEnabled;
8627
+ this.injector = injector;
8592
8628
  /**
8593
8629
  * @hidden
8594
8630
  */
@@ -8818,6 +8854,13 @@ class MultiSelectComponent {
8818
8854
  get ariaControls() {
8819
8855
  return this.isOpen ? this.listBoxId : undefined;
8820
8856
  }
8857
+ /**
8858
+ * @hidden
8859
+ */
8860
+ get formControl() {
8861
+ const ngControl = this.injector.get(NgControl, null);
8862
+ return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
8863
+ }
8821
8864
  /**
8822
8865
  * Focuses a specific item of the MultiSelect based on a provided index.
8823
8866
  * If there is a custom item it is positioned at index -1.
@@ -8876,6 +8919,7 @@ class MultiSelectComponent {
8876
8919
  * @hidden
8877
8920
  */
8878
8921
  onSearchBarBlur() {
8922
+ var _a;
8879
8923
  if (!this.isActionSheetExpanded) {
8880
8924
  if (!this.isFocused) {
8881
8925
  return;
@@ -8884,7 +8928,8 @@ class MultiSelectComponent {
8884
8928
  if (hasObservers(this.onBlur) ||
8885
8929
  hasObservers(this.filterChange) ||
8886
8930
  hasObservers(this.close) ||
8887
- isUntouched(this.wrapper.nativeElement)) {
8931
+ isUntouched(this.wrapper.nativeElement) ||
8932
+ ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.updateOn) === 'blur') {
8888
8933
  this._zone.run(() => {
8889
8934
  this.closePopup();
8890
8935
  if (!(this.isOpen && this.allowCustom)) {
@@ -9589,6 +9634,7 @@ class MultiSelectComponent {
9589
9634
  * @hidden
9590
9635
  */
9591
9636
  setDisabledState(isDisabled) {
9637
+ this.cdr.markForCheck();
9592
9638
  this.disabled = isDisabled;
9593
9639
  }
9594
9640
  /**
@@ -10172,7 +10218,7 @@ class MultiSelectComponent {
10172
10218
  this.actionSheetSearchBar.focus();
10173
10219
  }
10174
10220
  }
10175
- 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$1.PopupService }, { token: DataService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
10221
+ 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$1.PopupService }, { token: DataService }, { token: SelectionService }, { token: NavigationService }, { token: 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 });
10176
10222
  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: [
10177
10223
  MULTISELECT_VALUE_ACCESSOR,
10178
10224
  DataService,
@@ -10365,7 +10411,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
10365
10411
  }">
10366
10412
  </ng-template>
10367
10413
  </ng-template>
10368
- `, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
10414
+ `, isInline: true, components: [{ type: TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }] });
10369
10415
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, decorators: [{
10370
10416
  type: Component,
10371
10417
  args: [{
@@ -10572,7 +10618,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10572
10618
  }, {
10573
10619
  type: Inject,
10574
10620
  args: [TOUCH_ENABLED]
10575
- }] }];
10621
+ }] }, { type: i0.Injector }];
10576
10622
  }, propDecorators: { responsiveRendererComponent: [{
10577
10623
  type: ViewChild,
10578
10624
  args: [ResponsiveRendererComponent]
@@ -10865,8 +10911,8 @@ const getRowWidthFromColumnsMeta = (columns) => {
10865
10911
  * Represents the [Kendo UI MultiColumnComboBox component for Angular]({% slug overview_multicolumncombobox %}).
10866
10912
  */
10867
10913
  class MultiColumnComboBoxComponent extends ComboBoxComponent {
10868
- constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled) {
10869
- super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled);
10914
+ constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled, injector) {
10915
+ super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled, injector);
10870
10916
  /**
10871
10917
  * @hidden
10872
10918
  */
@@ -10989,7 +11035,7 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
10989
11035
  });
10990
11036
  }
10991
11037
  }
10992
- MultiColumnComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }], target: i0.ɵɵFactoryTarget.Component });
11038
+ MultiColumnComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i2$1.PopupService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
10993
11039
  MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiColumnComboBoxComponent, selector: "kendo-multicolumncombobox", host: { properties: { "class.k-dropdowngrid": "this.hostClasses", "class.k-disabled": "this.isDisabled" } }, providers: [
10994
11040
  SelectionService,
10995
11041
  DataService,
@@ -11127,7 +11173,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11127
11173
  <div class="k-data-table" [ngClass]="tableSizeClass">
11128
11174
  <!--grid header-->
11129
11175
  <div #header class="k-table-header">
11130
- <div class="k-table-header-wrap">
11176
+ <div #headerWrap class="k-table-header-wrap">
11131
11177
  <table class="k-table" role="presentation">
11132
11178
  <colgroup>
11133
11179
  <ng-container *ngFor="let column of columns">
@@ -11204,6 +11250,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11204
11250
  [showStickyHeader]="showStickyHeader"
11205
11251
  (pageChange)="pageChange($event)"
11206
11252
  (listResize)="updateHeaderPadding(header)"
11253
+ (popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
11207
11254
  >
11208
11255
  </kendo-list>
11209
11256
 
@@ -11242,7 +11289,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11242
11289
  </ng-container>
11243
11290
  </div>
11244
11291
  </ng-template>
11245
- `, isInline: true, components: [{ type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
11292
+ `, isInline: true, components: [{ type: 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: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: 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: LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
11246
11293
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
11247
11294
  type: Component,
11248
11295
  args: [{
@@ -11385,7 +11432,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11385
11432
  <div class="k-data-table" [ngClass]="tableSizeClass">
11386
11433
  <!--grid header-->
11387
11434
  <div #header class="k-table-header">
11388
- <div class="k-table-header-wrap">
11435
+ <div #headerWrap class="k-table-header-wrap">
11389
11436
  <table class="k-table" role="presentation">
11390
11437
  <colgroup>
11391
11438
  <ng-container *ngFor="let column of columns">
@@ -11462,6 +11509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11462
11509
  [showStickyHeader]="showStickyHeader"
11463
11510
  (pageChange)="pageChange($event)"
11464
11511
  (listResize)="updateHeaderPadding(header)"
11512
+ (popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
11465
11513
  >
11466
11514
  </kendo-list>
11467
11515
 
@@ -11506,7 +11554,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11506
11554
  return [{ type: i1.LocalizationService }, { type: i2$1.PopupService }, { type: SelectionService }, { type: NavigationService }, { type: DisabledItemsService }, { type: DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
11507
11555
  type: Inject,
11508
11556
  args: [TOUCH_ENABLED]
11509
- }] }];
11557
+ }] }, { type: i0.Injector }];
11510
11558
  }, propDecorators: { hostClasses: [{
11511
11559
  type: HostBinding,
11512
11560
  args: ['class.k-dropdowngrid']
@@ -12198,6 +12246,7 @@ class DropDownTreeComponent {
12198
12246
  * @hidden
12199
12247
  */
12200
12248
  handleBlur(e) {
12249
+ var _a;
12201
12250
  if (!this.isActionSheetExpanded) {
12202
12251
  const relatedTarget = e && e.relatedTarget;
12203
12252
  if (this.wrapper.nativeElement.contains(relatedTarget) ||
@@ -12207,7 +12256,8 @@ class DropDownTreeComponent {
12207
12256
  this.isFocused = false;
12208
12257
  this.togglePopup(false);
12209
12258
  if (hasObservers(this.onBlur) ||
12210
- isUntouched(this.wrapper.nativeElement)) {
12259
+ isUntouched(this.wrapper.nativeElement) ||
12260
+ ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.updateOn) === 'blur') {
12211
12261
  this._zone.run(() => {
12212
12262
  this.onBlur.emit();
12213
12263
  this.onTouchedCallback();
@@ -12789,6 +12839,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
12789
12839
  <span
12790
12840
  [attr.id]="valueLabelId"
12791
12841
  class="k-input-inner"
12842
+ (click)="$event.preventDefault()"
12792
12843
  >
12793
12844
  <span class="k-input-value-text">
12794
12845
  <ng-template *ngIf="valueTemplate"
@@ -12993,6 +13044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12993
13044
  <span
12994
13045
  [attr.id]="valueLabelId"
12995
13046
  class="k-input-inner"
13047
+ (click)="$event.preventDefault()"
12996
13048
  >
12997
13049
  <span class="k-input-value-text">
12998
13050
  <ng-template *ngIf="valueTemplate"
@@ -14638,6 +14690,7 @@ class MultiSelectTreeComponent {
14638
14690
  * @hidden
14639
14691
  */
14640
14692
  handleBlur(e) {
14693
+ var _a;
14641
14694
  if (!this.isActionSheetExpanded) {
14642
14695
  const relatedTarget = e && e.relatedTarget;
14643
14696
  if (this.wrapper.nativeElement.contains(relatedTarget) ||
@@ -14647,7 +14700,8 @@ class MultiSelectTreeComponent {
14647
14700
  this.isFocused = false;
14648
14701
  this.togglePopup(false);
14649
14702
  if (hasObservers(this.onBlur) ||
14650
- isUntouched(this.wrapper.nativeElement)) {
14703
+ isUntouched(this.wrapper.nativeElement) ||
14704
+ ((_a = this.formControl) === null || _a === void 0 ? void 0 : _a.updateOn) === 'blur') {
14651
14705
  this._zone.run(() => {
14652
14706
  this.onBlur.emit();
14653
14707
  this.onTouchedCallback();