@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.
@@ -15,7 +15,6 @@ import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/k
15
15
  import { Subscription, merge, fromEvent, Subject, of, interval } from 'rxjs';
16
16
  import * as i2$1 from '@progress/kendo-angular-popup';
17
17
  import { PopupModule } from '@progress/kendo-angular-popup';
18
- export { PopupComponent } from '@progress/kendo-angular-popup';
19
18
  import { map, switchMap, take, auditTime, tap, filter, partition, throttleTime, catchError, skipWhile, concatMap, takeUntil, debounceTime } from 'rxjs/operators';
20
19
  import * as i13 from '@angular/common';
21
20
  import { CommonModule } from '@angular/common';
@@ -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
 
@@ -1815,6 +1814,7 @@ class ListComponent {
1815
1814
  this.onClick = new EventEmitter();
1816
1815
  this.pageChange = new EventEmitter();
1817
1816
  this.listResize = new EventEmitter();
1817
+ this.popupListScroll = new EventEmitter();
1818
1818
  this.startFrom = 0;
1819
1819
  this.lastLoaded = 0;
1820
1820
  this.lastScrollTop = 0;
@@ -2174,7 +2174,7 @@ class ListComponent {
2174
2174
  }
2175
2175
  }
2176
2176
  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 });
2177
- 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: `
2177
+ 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: `
2178
2178
  <div *ngIf="dataService.grouped && showStickyHeader"
2179
2179
  [class]="listGroupStickyHeaderClass"
2180
2180
  [ngStyle]="{
@@ -2194,7 +2194,8 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
2194
2194
  [class]="listContentClass"
2195
2195
  [style.overscrollBehavior]="'none'"
2196
2196
  [style.maxHeight.px]="height"
2197
- unselectable="on">
2197
+ unselectable="on"
2198
+ (scroll)="popupListScroll.emit($event)">
2198
2199
  <ul #list
2199
2200
  role="listbox"
2200
2201
  [class]="listClass"
@@ -2327,7 +2328,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2327
2328
  [class]="listContentClass"
2328
2329
  [style.overscrollBehavior]="'none'"
2329
2330
  [style.maxHeight.px]="height"
2330
- unselectable="on">
2331
+ unselectable="on"
2332
+ (scroll)="popupListScroll.emit($event)">
2331
2333
  <ul #list
2332
2334
  role="listbox"
2333
2335
  [class]="listClass"
@@ -2487,6 +2489,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2487
2489
  type: Output
2488
2490
  }], listResize: [{
2489
2491
  type: Output
2492
+ }], popupListScroll: [{
2493
+ type: Output
2490
2494
  }], items: [{
2491
2495
  type: ViewChildren,
2492
2496
  args: [ListItemDirective]
@@ -2857,7 +2861,7 @@ const AUTOCOMPLETE_VALUE_ACCESSOR = {
2857
2861
  * ```
2858
2862
  */
2859
2863
  class AutoCompleteComponent {
2860
- constructor(localization, dataService, popupService, selectionService, navigationService, disabledItemsService, _zone, cdr, renderer, hostElement, touchEnabled) {
2864
+ constructor(localization, dataService, popupService, selectionService, navigationService, disabledItemsService, _zone, cdr, renderer, hostElement, touchEnabled, injector) {
2861
2865
  this.localization = localization;
2862
2866
  this.dataService = dataService;
2863
2867
  this.popupService = popupService;
@@ -2869,6 +2873,7 @@ class AutoCompleteComponent {
2869
2873
  this.renderer = renderer;
2870
2874
  this.hostElement = hostElement;
2871
2875
  this.touchEnabled = touchEnabled;
2876
+ this.injector = injector;
2872
2877
  /**
2873
2878
  * @hidden
2874
2879
  */
@@ -3316,6 +3321,13 @@ class AutoCompleteComponent {
3316
3321
  get isAdaptive() {
3317
3322
  return this.isAdaptiveModeEnabled && this.windowSize !== 'large';
3318
3323
  }
3324
+ /**
3325
+ * @hidden
3326
+ */
3327
+ get formControl() {
3328
+ const ngControl = this.injector.get(NgControl, null);
3329
+ return ngControl?.control || null;
3330
+ }
3319
3331
  ngOnInit() {
3320
3332
  this.renderer.removeAttribute(this.wrapper, "tabindex");
3321
3333
  this.subs.add(this.localization
@@ -3403,6 +3415,7 @@ class AutoCompleteComponent {
3403
3415
  * @hidden
3404
3416
  */
3405
3417
  setDisabledState(isDisabled) {
3418
+ this.cdr.markForCheck();
3406
3419
  this.disabled = isDisabled;
3407
3420
  }
3408
3421
  /**
@@ -3615,7 +3628,11 @@ class AutoCompleteComponent {
3615
3628
  }
3616
3629
  this.isFocused = false;
3617
3630
  const valueHasChanged = this.value !== this.text;
3618
- const runInZone = hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper) || valueHasChanged;
3631
+ const runInZone = hasObservers(this.onBlur) ||
3632
+ hasObservers(this.close) ||
3633
+ isUntouched(this.wrapper) ||
3634
+ valueHasChanged ||
3635
+ this.formControl?.updateOn === 'blur';
3619
3636
  if (runInZone) {
3620
3637
  this._zone.run(() => {
3621
3638
  if (valueHasChanged) {
@@ -3844,7 +3861,7 @@ class AutoCompleteComponent {
3844
3861
  this.actionSheetSearchBar.focus();
3845
3862
  }
3846
3863
  }
3847
- 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 });
3864
+ 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 });
3848
3865
  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: [
3849
3866
  AUTOCOMPLETE_VALUE_ACCESSOR,
3850
3867
  DataService,
@@ -3979,7 +3996,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
3979
3996
  }">
3980
3997
  </ng-template>
3981
3998
  </ng-template>
3982
- `, 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"] }] });
3999
+ `, 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"] }] });
3983
4000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3984
4001
  type: Component,
3985
4002
  args: [{
@@ -4127,7 +4144,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4127
4144
  }, {
4128
4145
  type: Inject,
4129
4146
  args: [TOUCH_ENABLED]
4130
- }] }]; }, propDecorators: { responsiveRendererComponent: [{
4147
+ }] }, { type: i0.Injector }]; }, propDecorators: { responsiveRendererComponent: [{
4131
4148
  type: ViewChild,
4132
4149
  args: [ResponsiveRendererComponent]
4133
4150
  }], highlightFirst: [{
@@ -4333,7 +4350,7 @@ const DEFAULT_FILL_MODE$4 = 'solid';
4333
4350
  * ```
4334
4351
  */
4335
4352
  class ComboBoxComponent {
4336
- constructor(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled) {
4353
+ constructor(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled, injector) {
4337
4354
  this.wrapper = wrapper;
4338
4355
  this.localization = localization;
4339
4356
  this.popupService = popupService;
@@ -4345,6 +4362,7 @@ class ComboBoxComponent {
4345
4362
  this.cdr = cdr;
4346
4363
  this.renderer = renderer;
4347
4364
  this.touchEnabled = touchEnabled;
4365
+ this.injector = injector;
4348
4366
  /**
4349
4367
  * @hidden
4350
4368
  */
@@ -4820,6 +4838,13 @@ class ComboBoxComponent {
4820
4838
  return 'visible';
4821
4839
  }
4822
4840
  }
4841
+ /**
4842
+ * @hidden
4843
+ */
4844
+ get formControl() {
4845
+ const ngControl = this.injector.get(NgControl, null);
4846
+ return ngControl?.control || null;
4847
+ }
4823
4848
  /**
4824
4849
  * @hidden
4825
4850
  */
@@ -5153,6 +5178,7 @@ class ComboBoxComponent {
5153
5178
  * @hidden
5154
5179
  */
5155
5180
  setDisabledState(isDisabled) {
5181
+ this.cdr.markForCheck();
5156
5182
  this.disabled = isDisabled;
5157
5183
  }
5158
5184
  /**
@@ -5407,7 +5433,11 @@ class ComboBoxComponent {
5407
5433
  const currentText = this.searchbar.value;
5408
5434
  const textHasChanged = currentText !== (getter(this.dataItem, this.textField) || '');
5409
5435
  const valueHasChanged = unresolvedSelection || textHasChanged;
5410
- const runInZone = valueHasChanged || hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper.nativeElement);
5436
+ const runInZone = valueHasChanged ||
5437
+ hasObservers(this.onBlur) ||
5438
+ hasObservers(this.close) ||
5439
+ isUntouched(this.wrapper.nativeElement) ||
5440
+ this.formControl?.updateOn === 'blur';
5411
5441
  if (runInZone) {
5412
5442
  this.zone.run(() => {
5413
5443
  if (valueHasChanged) {
@@ -5706,7 +5736,7 @@ class ComboBoxComponent {
5706
5736
  this.actionSheetSearchBar.focus();
5707
5737
  }
5708
5738
  }
5709
- 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 });
5739
+ 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 });
5710
5740
  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: [
5711
5741
  COMBOBOX_VALUE_ACCESSOR,
5712
5742
  DataService,
@@ -5861,7 +5891,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5861
5891
  }">
5862
5892
  </ng-template>
5863
5893
  </ng-template>
5864
- `, 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"] }] });
5894
+ `, 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"] }] });
5865
5895
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, decorators: [{
5866
5896
  type: Component,
5867
5897
  args: [{
@@ -6029,7 +6059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6029
6059
  }, {
6030
6060
  type: Inject,
6031
6061
  args: [TOUCH_ENABLED]
6032
- }] }]; }, propDecorators: { icon: [{
6062
+ }] }, { type: i0.Injector }]; }, propDecorators: { icon: [{
6033
6063
  type: Input
6034
6064
  }], svgIcon: [{
6035
6065
  type: Input
@@ -7048,6 +7078,7 @@ class DropDownListComponent {
7048
7078
  * @hidden
7049
7079
  */
7050
7080
  setDisabledState(isDisabled) {
7081
+ this.cdr.markForCheck();
7051
7082
  this.disabled = isDisabled;
7052
7083
  }
7053
7084
  /**
@@ -7355,7 +7386,8 @@ class DropDownListComponent {
7355
7386
  hasObservers(this.close) ||
7356
7387
  hasObservers(this.onBlur) ||
7357
7388
  hasObservers(this.filterChange) ||
7358
- isUntouched(this.wrapper.nativeElement)) {
7389
+ isUntouched(this.wrapper.nativeElement) ||
7390
+ this.formControl?.updateOn === 'blur') {
7359
7391
  this._zone.run(() => {
7360
7392
  if (valueHasChanged) {
7361
7393
  this.selectionService.change(this.selectionService.selected[0]);
@@ -7606,7 +7638,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
7606
7638
  popupLabel="Options list"
7607
7639
  >
7608
7640
  </ng-container>
7609
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
7641
+ <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
7610
7642
  <span class="k-input-value-text">
7611
7643
  <ng-template *ngIf="valueTemplate"
7612
7644
  [templateContext]="{
@@ -7761,7 +7793,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
7761
7793
  }">
7762
7794
  </ng-template>
7763
7795
  </ng-template>
7764
- `, 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"] }] });
7796
+ `, 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"] }] });
7765
7797
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownListComponent, decorators: [{
7766
7798
  type: Component,
7767
7799
  args: [{
@@ -7800,7 +7832,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7800
7832
  popupLabel="Options list"
7801
7833
  >
7802
7834
  </ng-container>
7803
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
7835
+ <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
7804
7836
  <span class="k-input-value-text">
7805
7837
  <ng-template *ngIf="valueTemplate"
7806
7838
  [templateContext]="{
@@ -8559,7 +8591,7 @@ const DEFAULT_FILL_MODE$2 = 'solid';
8559
8591
  * ```
8560
8592
  */
8561
8593
  class MultiSelectComponent {
8562
- constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled) {
8594
+ constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled, injector) {
8563
8595
  this.wrapper = wrapper;
8564
8596
  this.localization = localization;
8565
8597
  this.popupService = popupService;
@@ -8572,6 +8604,7 @@ class MultiSelectComponent {
8572
8604
  this.renderer = renderer;
8573
8605
  this._zone = _zone;
8574
8606
  this.touchEnabled = touchEnabled;
8607
+ this.injector = injector;
8575
8608
  /**
8576
8609
  * @hidden
8577
8610
  */
@@ -8799,6 +8832,13 @@ class MultiSelectComponent {
8799
8832
  get ariaControls() {
8800
8833
  return this.isOpen ? this.listBoxId : undefined;
8801
8834
  }
8835
+ /**
8836
+ * @hidden
8837
+ */
8838
+ get formControl() {
8839
+ const ngControl = this.injector.get(NgControl, null);
8840
+ return ngControl?.control || null;
8841
+ }
8802
8842
  /**
8803
8843
  * Focuses a specific item of the MultiSelect based on a provided index.
8804
8844
  * If there is a custom item it is positioned at index -1.
@@ -8865,7 +8905,8 @@ class MultiSelectComponent {
8865
8905
  if (hasObservers(this.onBlur) ||
8866
8906
  hasObservers(this.filterChange) ||
8867
8907
  hasObservers(this.close) ||
8868
- isUntouched(this.wrapper.nativeElement)) {
8908
+ isUntouched(this.wrapper.nativeElement) ||
8909
+ this.formControl?.updateOn === 'blur') {
8869
8910
  this._zone.run(() => {
8870
8911
  this.closePopup();
8871
8912
  if (!(this.isOpen && this.allowCustom)) {
@@ -9569,6 +9610,7 @@ class MultiSelectComponent {
9569
9610
  * @hidden
9570
9611
  */
9571
9612
  setDisabledState(isDisabled) {
9613
+ this.cdr.markForCheck();
9572
9614
  this.disabled = isDisabled;
9573
9615
  }
9574
9616
  /**
@@ -10152,7 +10194,7 @@ class MultiSelectComponent {
10152
10194
  this.actionSheetSearchBar.focus();
10153
10195
  }
10154
10196
  }
10155
- 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 });
10197
+ 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 });
10156
10198
  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: [
10157
10199
  MULTISELECT_VALUE_ACCESSOR,
10158
10200
  DataService,
@@ -10345,7 +10387,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
10345
10387
  }">
10346
10388
  </ng-template>
10347
10389
  </ng-template>
10348
- `, 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"] }] });
10390
+ `, 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"] }] });
10349
10391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, decorators: [{
10350
10392
  type: Component,
10351
10393
  args: [{
@@ -10551,7 +10593,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10551
10593
  }, {
10552
10594
  type: Inject,
10553
10595
  args: [TOUCH_ENABLED]
10554
- }] }]; }, propDecorators: { responsiveRendererComponent: [{
10596
+ }] }, { type: i0.Injector }]; }, propDecorators: { responsiveRendererComponent: [{
10555
10597
  type: ViewChild,
10556
10598
  args: [ResponsiveRendererComponent]
10557
10599
  }], showStickyHeader: [{
@@ -10843,8 +10885,8 @@ const getRowWidthFromColumnsMeta = (columns) => {
10843
10885
  * Represents the [Kendo UI MultiColumnComboBox component for Angular]({% slug overview_multicolumncombobox %}).
10844
10886
  */
10845
10887
  class MultiColumnComboBoxComponent extends ComboBoxComponent {
10846
- constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled) {
10847
- super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled);
10888
+ constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled, injector) {
10889
+ super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled, injector);
10848
10890
  /**
10849
10891
  * @hidden
10850
10892
  */
@@ -10967,7 +11009,7 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
10967
11009
  });
10968
11010
  }
10969
11011
  }
10970
- 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 });
11012
+ 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 });
10971
11013
  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: [
10972
11014
  SelectionService,
10973
11015
  DataService,
@@ -11105,7 +11147,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11105
11147
  <div class="k-data-table" [ngClass]="tableSizeClass">
11106
11148
  <!--grid header-->
11107
11149
  <div #header class="k-table-header">
11108
- <div class="k-table-header-wrap">
11150
+ <div #headerWrap class="k-table-header-wrap">
11109
11151
  <table class="k-table" role="presentation">
11110
11152
  <colgroup>
11111
11153
  <ng-container *ngFor="let column of columns">
@@ -11182,6 +11224,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11182
11224
  [showStickyHeader]="showStickyHeader"
11183
11225
  (pageChange)="pageChange($event)"
11184
11226
  (listResize)="updateHeaderPadding(header)"
11227
+ (popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
11185
11228
  >
11186
11229
  </kendo-list>
11187
11230
 
@@ -11220,7 +11263,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11220
11263
  </ng-container>
11221
11264
  </div>
11222
11265
  </ng-template>
11223
- `, 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"] }] });
11266
+ `, 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"] }] });
11224
11267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
11225
11268
  type: Component,
11226
11269
  args: [{
@@ -11363,7 +11406,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11363
11406
  <div class="k-data-table" [ngClass]="tableSizeClass">
11364
11407
  <!--grid header-->
11365
11408
  <div #header class="k-table-header">
11366
- <div class="k-table-header-wrap">
11409
+ <div #headerWrap class="k-table-header-wrap">
11367
11410
  <table class="k-table" role="presentation">
11368
11411
  <colgroup>
11369
11412
  <ng-container *ngFor="let column of columns">
@@ -11440,6 +11483,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11440
11483
  [showStickyHeader]="showStickyHeader"
11441
11484
  (pageChange)="pageChange($event)"
11442
11485
  (listResize)="updateHeaderPadding(header)"
11486
+ (popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
11443
11487
  >
11444
11488
  </kendo-list>
11445
11489
 
@@ -11483,7 +11527,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11483
11527
  }], ctorParameters: function () { 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: [{
11484
11528
  type: Inject,
11485
11529
  args: [TOUCH_ENABLED]
11486
- }] }]; }, propDecorators: { hostClasses: [{
11530
+ }] }, { type: i0.Injector }]; }, propDecorators: { hostClasses: [{
11487
11531
  type: HostBinding,
11488
11532
  args: ['class.k-dropdowngrid']
11489
11533
  }], isDisabled: [{
@@ -12181,7 +12225,8 @@ class DropDownTreeComponent {
12181
12225
  this.isFocused = false;
12182
12226
  this.togglePopup(false);
12183
12227
  if (hasObservers(this.onBlur) ||
12184
- isUntouched(this.wrapper.nativeElement)) {
12228
+ isUntouched(this.wrapper.nativeElement) ||
12229
+ this.formControl?.updateOn === 'blur') {
12185
12230
  this._zone.run(() => {
12186
12231
  this.onBlur.emit();
12187
12232
  this.onTouchedCallback();
@@ -12762,6 +12807,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
12762
12807
  <span
12763
12808
  [attr.id]="valueLabelId"
12764
12809
  class="k-input-inner"
12810
+ (click)="$event.preventDefault()"
12765
12811
  >
12766
12812
  <span class="k-input-value-text">
12767
12813
  <ng-template *ngIf="valueTemplate"
@@ -12966,6 +13012,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12966
13012
  <span
12967
13013
  [attr.id]="valueLabelId"
12968
13014
  class="k-input-inner"
13015
+ (click)="$event.preventDefault()"
12969
13016
  >
12970
13017
  <span class="k-input-value-text">
12971
13018
  <ng-template *ngIf="valueTemplate"
@@ -14619,7 +14666,8 @@ class MultiSelectTreeComponent {
14619
14666
  this.isFocused = false;
14620
14667
  this.togglePopup(false);
14621
14668
  if (hasObservers(this.onBlur) ||
14622
- isUntouched(this.wrapper.nativeElement)) {
14669
+ isUntouched(this.wrapper.nativeElement) ||
14670
+ this.formControl?.updateOn === 'blur') {
14623
14671
  this._zone.run(() => {
14624
14672
  this.onBlur.emit();
14625
14673
  this.onTouchedCallback();
package/index.d.ts CHANGED
@@ -55,11 +55,6 @@ export { DropDownListModule } from './dropdownlist/dropdownlist.module';
55
55
  export { SharedDirectivesModule } from './common/shared-directives.module';
56
56
  export { ListComponent } from './common/list.component';
57
57
  export { ResponsiveRendererComponent } from './common/action-sheet.component';
58
- /**
59
- * @hidden
60
- * TODO: See if the export could be removed (AOT should pass)
61
- */
62
- export { PopupComponent } from '@progress/kendo-angular-popup';
63
58
  export { PopupSettings } from './common/models/popup-settings';
64
59
  export { PreventableEvent } from './common/models/preventable-event';
65
60
  export { RemoveTagEvent } from './common/models/remove-tag-event';
@@ -4,8 +4,9 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AdaptiveMode, WindowSize } from '../common/util';
6
6
  import { SearchBarComponent } from '../common/searchbar.component';
7
- import { Renderer2, ViewContainerRef, ElementRef, TemplateRef, OnDestroy, OnChanges, DoCheck, EventEmitter, AfterContentChecked, AfterViewInit, ChangeDetectorRef, KeyValueDiffers, NgZone, OnInit } from '@angular/core';
7
+ import { Renderer2, ViewContainerRef, ElementRef, TemplateRef, OnDestroy, OnChanges, DoCheck, EventEmitter, AfterContentChecked, AfterViewInit, ChangeDetectorRef, KeyValueDiffers, NgZone, OnInit, Injector } from '@angular/core';
8
8
  import { Observable } from 'rxjs';
9
+ import { FormControl } from '@angular/forms';
9
10
  import { SelectionService, SelectionEvent } from '../common/selection/selection.service';
10
11
  import { PopupSettings } from '../common/models/popup-settings';
11
12
  import { NavigationService } from '../common/navigation/navigation.service';
@@ -68,6 +69,7 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
68
69
  private renderer;
69
70
  private _zone;
70
71
  private touchEnabled;
72
+ private injector;
71
73
  /**
72
74
  * @hidden
73
75
  */
@@ -104,6 +106,10 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
104
106
  * @hidden
105
107
  */
106
108
  get ariaControls(): string;
109
+ /**
110
+ * @hidden
111
+ */
112
+ get formControl(): FormControl;
107
113
  /**
108
114
  * Focuses a specific item of the MultiSelect based on a provided index.
109
115
  * If there is a custom item it is positioned at index -1.
@@ -466,7 +472,7 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
466
472
  private _fillMode;
467
473
  private _subtitle;
468
474
  private _valueHolder;
469
- constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, dataService: DataService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, differs: KeyValueDiffers, renderer: Renderer2, _zone: NgZone, touchEnabled: boolean);
475
+ constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, dataService: DataService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, differs: KeyValueDiffers, renderer: Renderer2, _zone: NgZone, touchEnabled: boolean, injector: Injector);
470
476
  get listContainerClasses(): any[];
471
477
  /**
472
478
  * @hidden
@@ -653,6 +659,6 @@ export declare class MultiSelectComponent implements OnDestroy, OnChanges, OnIni
653
659
  private setComponentClasses;
654
660
  private closeActionSheet;
655
661
  private openActionSheet;
656
- static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectComponent, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
662
+ static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectComponent, [null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, null]>;
657
663
  static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectComponent, "kendo-multiselect", ["kendoMultiSelect"], { "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"; }, { "filterChange": "filterChange"; "valueChange": "valueChange"; "open": "open"; "opened": "opened"; "close": "close"; "closed": "closed"; "onFocus": "focus"; "onBlur": "blur"; "removeTag": "removeTag"; }, ["template", "customItemTemplate", "groupTemplate", "fixedGroupTemplate", "headerTemplate", "footerTemplate", "tagTemplate", "groupTagTemplate", "noDataTemplate"], never>;
658
664
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dropdowns",
3
- "version": "14.0.2-develop.9",
3
+ "version": "14.1.0-develop.10",
4
4
  "description": "A wide variety of native Angular dropdown components including AutoComplete, ComboBox, DropDownList, DropDownTree, MultiColumnComboBox, MultiSelect, and MultiSelectTree ",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -19,24 +19,24 @@
19
19
  "friendlyName": "Dropdowns"
20
20
  },
21
21
  "peerDependencies": {
22
- "@angular/animations": "13 - 16",
23
- "@angular/common": "13 - 16",
24
- "@angular/core": "13 - 16",
25
- "@angular/forms": "13 - 16",
26
- "@angular/platform-browser": "13 - 16",
22
+ "@angular/animations": "13 - 17",
23
+ "@angular/common": "13 - 17",
24
+ "@angular/core": "13 - 17",
25
+ "@angular/forms": "13 - 17",
26
+ "@angular/platform-browser": "13 - 17",
27
27
  "@progress/kendo-licensing": "^1.0.2",
28
- "@progress/kendo-angular-common": "14.0.2-develop.9",
29
- "@progress/kendo-angular-l10n": "14.0.2-develop.9",
30
- "@progress/kendo-angular-popup": "14.0.2-develop.9",
31
- "@progress/kendo-angular-icons": "14.0.2-develop.9",
32
- "@progress/kendo-angular-treeview": "14.0.2-develop.9",
28
+ "@progress/kendo-angular-common": "14.1.0-develop.10",
29
+ "@progress/kendo-angular-l10n": "14.1.0-develop.10",
30
+ "@progress/kendo-angular-popup": "14.1.0-develop.10",
31
+ "@progress/kendo-angular-icons": "14.1.0-develop.10",
32
+ "@progress/kendo-angular-treeview": "14.1.0-develop.10",
33
33
  "rxjs": "^6.5.3 || ^7.0.0",
34
- "@progress/kendo-angular-navigation": "14.0.2-develop.9",
35
- "@progress/kendo-angular-label": "14.0.2-develop.9"
34
+ "@progress/kendo-angular-navigation": "14.1.0-develop.10",
35
+ "@progress/kendo-angular-label": "14.1.0-develop.10"
36
36
  },
37
37
  "dependencies": {
38
38
  "tslib": "^2.3.1",
39
- "@progress/kendo-angular-schematics": "14.0.2-develop.9",
39
+ "@progress/kendo-angular-schematics": "14.1.0-develop.10",
40
40
  "@progress/kendo-common": "^0.2.1"
41
41
  },
42
42
  "schematics": "./schematics/collection.json",