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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: 1698869714,
41
+ version: '14.1.0-develop.2',
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
@@ -3615,7 +3627,11 @@ class AutoCompleteComponent {
3615
3627
  }
3616
3628
  this.isFocused = false;
3617
3629
  const valueHasChanged = this.value !== this.text;
3618
- const runInZone = hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper) || valueHasChanged;
3630
+ const runInZone = hasObservers(this.onBlur) ||
3631
+ hasObservers(this.close) ||
3632
+ isUntouched(this.wrapper) ||
3633
+ valueHasChanged ||
3634
+ this.formControl?.updateOn === 'blur';
3619
3635
  if (runInZone) {
3620
3636
  this._zone.run(() => {
3621
3637
  if (valueHasChanged) {
@@ -3844,7 +3860,7 @@ class AutoCompleteComponent {
3844
3860
  this.actionSheetSearchBar.focus();
3845
3861
  }
3846
3862
  }
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 });
3863
+ 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
3864
  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
3865
  AUTOCOMPLETE_VALUE_ACCESSOR,
3850
3866
  DataService,
@@ -3979,7 +3995,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
3979
3995
  }">
3980
3996
  </ng-template>
3981
3997
  </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"] }] });
3998
+ `, 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
3999
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AutoCompleteComponent, decorators: [{
3984
4000
  type: Component,
3985
4001
  args: [{
@@ -4127,7 +4143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
4127
4143
  }, {
4128
4144
  type: Inject,
4129
4145
  args: [TOUCH_ENABLED]
4130
- }] }]; }, propDecorators: { responsiveRendererComponent: [{
4146
+ }] }, { type: i0.Injector }]; }, propDecorators: { responsiveRendererComponent: [{
4131
4147
  type: ViewChild,
4132
4148
  args: [ResponsiveRendererComponent]
4133
4149
  }], highlightFirst: [{
@@ -4333,7 +4349,7 @@ const DEFAULT_FILL_MODE$4 = 'solid';
4333
4349
  * ```
4334
4350
  */
4335
4351
  class ComboBoxComponent {
4336
- constructor(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled) {
4352
+ constructor(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, cdr, renderer, touchEnabled, injector) {
4337
4353
  this.wrapper = wrapper;
4338
4354
  this.localization = localization;
4339
4355
  this.popupService = popupService;
@@ -4345,6 +4361,7 @@ class ComboBoxComponent {
4345
4361
  this.cdr = cdr;
4346
4362
  this.renderer = renderer;
4347
4363
  this.touchEnabled = touchEnabled;
4364
+ this.injector = injector;
4348
4365
  /**
4349
4366
  * @hidden
4350
4367
  */
@@ -4820,6 +4837,13 @@ class ComboBoxComponent {
4820
4837
  return 'visible';
4821
4838
  }
4822
4839
  }
4840
+ /**
4841
+ * @hidden
4842
+ */
4843
+ get formControl() {
4844
+ const ngControl = this.injector.get(NgControl, null);
4845
+ return ngControl?.control || null;
4846
+ }
4823
4847
  /**
4824
4848
  * @hidden
4825
4849
  */
@@ -5407,7 +5431,11 @@ class ComboBoxComponent {
5407
5431
  const currentText = this.searchbar.value;
5408
5432
  const textHasChanged = currentText !== (getter(this.dataItem, this.textField) || '');
5409
5433
  const valueHasChanged = unresolvedSelection || textHasChanged;
5410
- const runInZone = valueHasChanged || hasObservers(this.onBlur) || hasObservers(this.close) || isUntouched(this.wrapper.nativeElement);
5434
+ const runInZone = valueHasChanged ||
5435
+ hasObservers(this.onBlur) ||
5436
+ hasObservers(this.close) ||
5437
+ isUntouched(this.wrapper.nativeElement) ||
5438
+ this.formControl?.updateOn === 'blur';
5411
5439
  if (runInZone) {
5412
5440
  this.zone.run(() => {
5413
5441
  if (valueHasChanged) {
@@ -5706,7 +5734,7 @@ class ComboBoxComponent {
5706
5734
  this.actionSheetSearchBar.focus();
5707
5735
  }
5708
5736
  }
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 });
5737
+ 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
5738
  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
5739
  COMBOBOX_VALUE_ACCESSOR,
5712
5740
  DataService,
@@ -5861,7 +5889,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
5861
5889
  }">
5862
5890
  </ng-template>
5863
5891
  </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"] }] });
5892
+ `, 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
5893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ComboBoxComponent, decorators: [{
5866
5894
  type: Component,
5867
5895
  args: [{
@@ -6029,7 +6057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
6029
6057
  }, {
6030
6058
  type: Inject,
6031
6059
  args: [TOUCH_ENABLED]
6032
- }] }]; }, propDecorators: { icon: [{
6060
+ }] }, { type: i0.Injector }]; }, propDecorators: { icon: [{
6033
6061
  type: Input
6034
6062
  }], svgIcon: [{
6035
6063
  type: Input
@@ -7355,7 +7383,8 @@ class DropDownListComponent {
7355
7383
  hasObservers(this.close) ||
7356
7384
  hasObservers(this.onBlur) ||
7357
7385
  hasObservers(this.filterChange) ||
7358
- isUntouched(this.wrapper.nativeElement)) {
7386
+ isUntouched(this.wrapper.nativeElement) ||
7387
+ this.formControl?.updateOn === 'blur') {
7359
7388
  this._zone.run(() => {
7360
7389
  if (valueHasChanged) {
7361
7390
  this.selectionService.change(this.selectionService.selected[0]);
@@ -7606,7 +7635,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
7606
7635
  popupLabel="Options list"
7607
7636
  >
7608
7637
  </ng-container>
7609
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
7638
+ <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
7610
7639
  <span class="k-input-value-text">
7611
7640
  <ng-template *ngIf="valueTemplate"
7612
7641
  [templateContext]="{
@@ -7761,7 +7790,7 @@ DropDownListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
7761
7790
  }">
7762
7791
  </ng-template>
7763
7792
  </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"] }] });
7793
+ `, 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
7794
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DropDownListComponent, decorators: [{
7766
7795
  type: Component,
7767
7796
  args: [{
@@ -7800,7 +7829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
7800
7829
  popupLabel="Options list"
7801
7830
  >
7802
7831
  </ng-container>
7803
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
7832
+ <span class="k-input-inner" unselectable="on" [id]="valueLabelId" (click)="$event.preventDefault()">
7804
7833
  <span class="k-input-value-text">
7805
7834
  <ng-template *ngIf="valueTemplate"
7806
7835
  [templateContext]="{
@@ -8559,7 +8588,7 @@ const DEFAULT_FILL_MODE$2 = 'solid';
8559
8588
  * ```
8560
8589
  */
8561
8590
  class MultiSelectComponent {
8562
- constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled) {
8591
+ constructor(wrapper, localization, popupService, dataService, selectionService, navigationService, disabledItemsService, cdr, differs, renderer, _zone, touchEnabled, injector) {
8563
8592
  this.wrapper = wrapper;
8564
8593
  this.localization = localization;
8565
8594
  this.popupService = popupService;
@@ -8572,6 +8601,7 @@ class MultiSelectComponent {
8572
8601
  this.renderer = renderer;
8573
8602
  this._zone = _zone;
8574
8603
  this.touchEnabled = touchEnabled;
8604
+ this.injector = injector;
8575
8605
  /**
8576
8606
  * @hidden
8577
8607
  */
@@ -8799,6 +8829,13 @@ class MultiSelectComponent {
8799
8829
  get ariaControls() {
8800
8830
  return this.isOpen ? this.listBoxId : undefined;
8801
8831
  }
8832
+ /**
8833
+ * @hidden
8834
+ */
8835
+ get formControl() {
8836
+ const ngControl = this.injector.get(NgControl, null);
8837
+ return ngControl?.control || null;
8838
+ }
8802
8839
  /**
8803
8840
  * Focuses a specific item of the MultiSelect based on a provided index.
8804
8841
  * If there is a custom item it is positioned at index -1.
@@ -8865,7 +8902,8 @@ class MultiSelectComponent {
8865
8902
  if (hasObservers(this.onBlur) ||
8866
8903
  hasObservers(this.filterChange) ||
8867
8904
  hasObservers(this.close) ||
8868
- isUntouched(this.wrapper.nativeElement)) {
8905
+ isUntouched(this.wrapper.nativeElement) ||
8906
+ this.formControl?.updateOn === 'blur') {
8869
8907
  this._zone.run(() => {
8870
8908
  this.closePopup();
8871
8909
  if (!(this.isOpen && this.allowCustom)) {
@@ -10152,7 +10190,7 @@ class MultiSelectComponent {
10152
10190
  this.actionSheetSearchBar.focus();
10153
10191
  }
10154
10192
  }
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 });
10193
+ 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
10194
  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
10195
  MULTISELECT_VALUE_ACCESSOR,
10158
10196
  DataService,
@@ -10345,7 +10383,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
10345
10383
  }">
10346
10384
  </ng-template>
10347
10385
  </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"] }] });
10386
+ `, 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
10387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiSelectComponent, decorators: [{
10350
10388
  type: Component,
10351
10389
  args: [{
@@ -10551,7 +10589,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
10551
10589
  }, {
10552
10590
  type: Inject,
10553
10591
  args: [TOUCH_ENABLED]
10554
- }] }]; }, propDecorators: { responsiveRendererComponent: [{
10592
+ }] }, { type: i0.Injector }]; }, propDecorators: { responsiveRendererComponent: [{
10555
10593
  type: ViewChild,
10556
10594
  args: [ResponsiveRendererComponent]
10557
10595
  }], showStickyHeader: [{
@@ -10843,8 +10881,8 @@ const getRowWidthFromColumnsMeta = (columns) => {
10843
10881
  * Represents the [Kendo UI MultiColumnComboBox component for Angular]({% slug overview_multicolumncombobox %}).
10844
10882
  */
10845
10883
  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);
10884
+ constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled, injector) {
10885
+ super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled, injector);
10848
10886
  /**
10849
10887
  * @hidden
10850
10888
  */
@@ -10967,7 +11005,7 @@ class MultiColumnComboBoxComponent extends ComboBoxComponent {
10967
11005
  });
10968
11006
  }
10969
11007
  }
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 });
11008
+ 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
11009
  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
11010
  SelectionService,
10973
11011
  DataService,
@@ -11105,7 +11143,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11105
11143
  <div class="k-data-table" [ngClass]="tableSizeClass">
11106
11144
  <!--grid header-->
11107
11145
  <div #header class="k-table-header">
11108
- <div class="k-table-header-wrap">
11146
+ <div #headerWrap class="k-table-header-wrap">
11109
11147
  <table class="k-table" role="presentation">
11110
11148
  <colgroup>
11111
11149
  <ng-container *ngFor="let column of columns">
@@ -11182,6 +11220,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11182
11220
  [showStickyHeader]="showStickyHeader"
11183
11221
  (pageChange)="pageChange($event)"
11184
11222
  (listResize)="updateHeaderPadding(header)"
11223
+ (popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
11185
11224
  >
11186
11225
  </kendo-list>
11187
11226
 
@@ -11220,7 +11259,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
11220
11259
  </ng-container>
11221
11260
  </div>
11222
11261
  </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"] }] });
11262
+ `, 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
11263
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
11225
11264
  type: Component,
11226
11265
  args: [{
@@ -11363,7 +11402,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11363
11402
  <div class="k-data-table" [ngClass]="tableSizeClass">
11364
11403
  <!--grid header-->
11365
11404
  <div #header class="k-table-header">
11366
- <div class="k-table-header-wrap">
11405
+ <div #headerWrap class="k-table-header-wrap">
11367
11406
  <table class="k-table" role="presentation">
11368
11407
  <colgroup>
11369
11408
  <ng-container *ngFor="let column of columns">
@@ -11440,6 +11479,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11440
11479
  [showStickyHeader]="showStickyHeader"
11441
11480
  (pageChange)="pageChange($event)"
11442
11481
  (listResize)="updateHeaderPadding(header)"
11482
+ (popupListScroll)="headerWrap.scrollLeft = $event.target.scrollLeft;"
11443
11483
  >
11444
11484
  </kendo-list>
11445
11485
 
@@ -11483,7 +11523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
11483
11523
  }], 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
11524
  type: Inject,
11485
11525
  args: [TOUCH_ENABLED]
11486
- }] }]; }, propDecorators: { hostClasses: [{
11526
+ }] }, { type: i0.Injector }]; }, propDecorators: { hostClasses: [{
11487
11527
  type: HostBinding,
11488
11528
  args: ['class.k-dropdowngrid']
11489
11529
  }], isDisabled: [{
@@ -12181,7 +12221,8 @@ class DropDownTreeComponent {
12181
12221
  this.isFocused = false;
12182
12222
  this.togglePopup(false);
12183
12223
  if (hasObservers(this.onBlur) ||
12184
- isUntouched(this.wrapper.nativeElement)) {
12224
+ isUntouched(this.wrapper.nativeElement) ||
12225
+ this.formControl?.updateOn === 'blur') {
12185
12226
  this._zone.run(() => {
12186
12227
  this.onBlur.emit();
12187
12228
  this.onTouchedCallback();
@@ -12762,6 +12803,7 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
12762
12803
  <span
12763
12804
  [attr.id]="valueLabelId"
12764
12805
  class="k-input-inner"
12806
+ (click)="$event.preventDefault()"
12765
12807
  >
12766
12808
  <span class="k-input-value-text">
12767
12809
  <ng-template *ngIf="valueTemplate"
@@ -12966,6 +13008,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
12966
13008
  <span
12967
13009
  [attr.id]="valueLabelId"
12968
13010
  class="k-input-inner"
13011
+ (click)="$event.preventDefault()"
12969
13012
  >
12970
13013
  <span class="k-input-value-text">
12971
13014
  <ng-template *ngIf="valueTemplate"
@@ -14619,7 +14662,8 @@ class MultiSelectTreeComponent {
14619
14662
  this.isFocused = false;
14620
14663
  this.togglePopup(false);
14621
14664
  if (hasObservers(this.onBlur) ||
14622
- isUntouched(this.wrapper.nativeElement)) {
14665
+ isUntouched(this.wrapper.nativeElement) ||
14666
+ this.formControl?.updateOn === 'blur') {
14623
14667
  this._zone.run(() => {
14624
14668
  this.onBlur.emit();
14625
14669
  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.2",
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.2",
29
+ "@progress/kendo-angular-l10n": "14.1.0-develop.2",
30
+ "@progress/kendo-angular-popup": "14.1.0-develop.2",
31
+ "@progress/kendo-angular-icons": "14.1.0-develop.2",
32
+ "@progress/kendo-angular-treeview": "14.1.0-develop.2",
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.2",
35
+ "@progress/kendo-angular-label": "14.1.0-develop.2"
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.2",
40
40
  "@progress/kendo-common": "^0.2.1"
41
41
  },
42
42
  "schematics": "./schematics/collection.json",
@@ -4,9 +4,9 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
6
6
  // peers of the treeview
7
- '@progress/kendo-angular-inputs': '14.0.2-develop.9',
7
+ '@progress/kendo-angular-inputs': '14.1.0-develop.2',
8
8
  // peers of inputs
9
- '@progress/kendo-angular-intl': '14.0.2-develop.9',
9
+ '@progress/kendo-angular-intl': '14.1.0-develop.2',
10
10
  '@progress/kendo-drawing': '^1.17.2',
11
11
  // Peer dependency of icons
12
12
  '@progress/kendo-svg-icons': '^2.0.0'