@progress/kendo-angular-dropdowns 7.1.0-dev.202208301349 → 7.1.0-dev.202208301423

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.
@@ -69,7 +69,6 @@ export declare class ComboBoxComponent implements ControlValueAccessor, OnDestro
69
69
  */
70
70
  togglePopup(open: boolean): void;
71
71
  get activeDescendant(): string;
72
- get noDataLabel(): string;
73
72
  get appendTo(): ViewContainerRef;
74
73
  dataItem: any;
75
74
  selected: any[];
@@ -45,6 +45,8 @@ export declare class ListComponent implements OnChanges, OnDestroy, AfterViewIni
45
45
  virtual: VirtualizationSettings;
46
46
  type: ListType;
47
47
  checkboxes: MultiSelectCheckableSettings;
48
+ ariaLive: string;
49
+ isMultiselect: boolean;
48
50
  set data(data: any[]);
49
51
  get data(): any[];
50
52
  set size(size: DropDownSize);
@@ -108,6 +110,7 @@ export declare class ListComponent implements OnChanges, OnDestroy, AfterViewIni
108
110
  * Indicates whether a scrollbar is currently rendered in the list.
109
111
  */
110
112
  hasScrollbar(): boolean;
113
+ isItemSelected(index: number): boolean;
111
114
  /**
112
115
  * Sets the list's content overflow (hides/shows scrollbar)
113
116
  */
@@ -123,5 +126,5 @@ export declare class ListComponent implements OnChanges, OnDestroy, AfterViewIni
123
126
  private firstGroupHeaderInTargetedPage;
124
127
  private setComponentClasses;
125
128
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
126
- static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-list", never, { "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"; "data": "data"; "size": "size"; "rounded": "rounded"; }, { "onClick": "onClick"; "pageChange": "pageChange"; "listResize": "listResize"; }, never, never>;
129
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-list", never, { "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"; "data": "data"; "size": "size"; "rounded": "rounded"; }, { "onClick": "onClick"; "pageChange": "pageChange"; "listResize": "listResize"; }, never, never>;
127
130
  }
@@ -2,26 +2,31 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Renderer2, EventEmitter, ElementRef, OnChanges, OnInit, OnDestroy } from '@angular/core';
5
+ import { Renderer2, EventEmitter, ElementRef, OnChanges, OnInit, OnDestroy, Injector, AfterContentChecked } from '@angular/core';
6
6
  import { Direction } from './models/direction';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * @hidden
11
11
  */
12
- export declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy {
12
+ export declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy, AfterContentChecked {
13
13
  private localization;
14
+ private injector;
14
15
  direction: Direction;
15
16
  id: string;
16
17
  listId: string;
17
18
  tagListId: string;
18
19
  activeDescendant: string;
19
- noDataLabel: string;
20
20
  disabled: boolean;
21
21
  readonly: boolean;
22
22
  tabIndex: number;
23
23
  popupOpen: boolean;
24
24
  role: string;
25
+ isLoading: boolean;
26
+ set isSuggestable(isSuggestable: boolean);
27
+ get isSuggestable(): boolean;
28
+ set isFilterable(isFilterable: boolean);
29
+ get isFilterable(): boolean;
25
30
  get userInput(): string;
26
31
  set userInput(userInput: string);
27
32
  suggestedText: string;
@@ -39,14 +44,20 @@ export declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy
39
44
  private _userInput;
40
45
  private _previousValue;
41
46
  private _placeholder;
47
+ private _isSuggestable;
48
+ private _isFilterable;
49
+ private control?;
42
50
  private renderer;
43
- private localizationChangeSubscription;
44
- constructor(localization: LocalizationService, renderer: Renderer2);
51
+ private subs;
52
+ constructor(localization: LocalizationService, renderer: Renderer2, injector: Injector);
45
53
  ngOnInit(): void;
54
+ ngAfterContentChecked(): void;
46
55
  ngOnChanges(changes: any): void;
47
56
  ngOnDestroy(): void;
48
57
  private writeInputValue;
49
58
  private setInputSelection;
59
+ private setAriaInvalid;
60
+ private setAriaAutocomplete;
50
61
  handleInput(event: any): void;
51
62
  handleFocus(event: any): void;
52
63
  handleBlur(event: any): void;
@@ -55,5 +66,5 @@ export declare class SearchBarComponent implements OnChanges, OnInit, OnDestroy
55
66
  blur(): void;
56
67
  setInputSize(): void;
57
68
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchBarComponent, never>;
58
- static ɵcmp: i0.ɵɵComponentDeclaration<SearchBarComponent, "kendo-searchbar", never, { "id": "id"; "listId": "listId"; "tagListId": "tagListId"; "activeDescendant": "activeDescendant"; "noDataLabel": "noDataLabel"; "disabled": "disabled"; "readonly": "readonly"; "tabIndex": "tabIndex"; "popupOpen": "popupOpen"; "role": "role"; "userInput": "userInput"; "suggestedText": "suggestedText"; "placeholder": "placeholder"; }, { "valueChange": "valueChange"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "onNavigate": "onNavigate"; }, never, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<SearchBarComponent, "kendo-searchbar", never, { "id": "id"; "listId": "listId"; "tagListId": "tagListId"; "activeDescendant": "activeDescendant"; "disabled": "disabled"; "readonly": "readonly"; "tabIndex": "tabIndex"; "popupOpen": "popupOpen"; "role": "role"; "isLoading": "isLoading"; "isSuggestable": "isSuggestable"; "isFilterable": "isFilterable"; "userInput": "userInput"; "suggestedText": "suggestedText"; "placeholder": "placeholder"; }, { "valueChange": "valueChange"; "onBlur": "onBlur"; "onFocus": "onFocus"; "onClick": "onClick"; "onNavigate": "onNavigate"; }, never, never>;
59
70
  }
@@ -21,6 +21,6 @@ import * as i13 from "./shared-directives.module";
21
21
  */
22
22
  export declare class SharedModule {
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedModule, never>;
24
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, [typeof i1.ListComponent, typeof i2.ListItemDirective, typeof i3.SelectableDirective, typeof i4.SearchBarComponent, typeof i5.TemplateContextDirective, typeof i6.TagListComponent, typeof i7.CheckDirective, typeof i8.CheckAllDirective], [typeof i9.CommonModule, typeof i10.FormsModule, typeof i11.PopupModule, typeof i12.ResizeSensorModule, typeof i13.SharedDirectivesModule, typeof i12.EventsModule], [typeof i1.ListComponent, typeof i2.ListItemDirective, typeof i3.SelectableDirective, typeof i4.SearchBarComponent, typeof i5.TemplateContextDirective, typeof i6.TagListComponent, typeof i7.CheckDirective, typeof i8.CheckAllDirective, typeof i9.CommonModule, typeof i10.FormsModule, typeof i11.PopupModule, typeof i12.ResizeSensorModule, typeof i13.SharedDirectivesModule, typeof i12.EventsModule]>;
24
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedModule, [typeof i1.ListComponent, typeof i2.ListItemDirective, typeof i3.SelectableDirective, typeof i4.SearchBarComponent, typeof i5.TemplateContextDirective, typeof i6.TagListComponent, typeof i7.CheckDirective, typeof i8.CheckAllDirective], [typeof i9.CommonModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i11.PopupModule, typeof i12.ResizeSensorModule, typeof i13.SharedDirectivesModule, typeof i12.EventsModule], [typeof i1.ListComponent, typeof i2.ListItemDirective, typeof i3.SelectableDirective, typeof i4.SearchBarComponent, typeof i5.TemplateContextDirective, typeof i6.TagListComponent, typeof i7.CheckDirective, typeof i8.CheckAllDirective, typeof i9.CommonModule, typeof i10.FormsModule, typeof i10.ReactiveFormsModule, typeof i11.PopupModule, typeof i12.ResizeSensorModule, typeof i13.SharedDirectivesModule, typeof i12.EventsModule]>;
25
25
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedModule>;
26
26
  }
@@ -2,8 +2,8 @@
2
2
  * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Renderer2, ElementRef, EventEmitter, ViewContainerRef, OnDestroy, OnChanges, NgZone, TemplateRef, ChangeDetectorRef, OnInit, SimpleChanges, AfterContentChecked } from '@angular/core';
6
- import { ControlValueAccessor } from '@angular/forms';
5
+ import { Renderer2, ElementRef, EventEmitter, ViewContainerRef, OnDestroy, OnChanges, NgZone, TemplateRef, ChangeDetectorRef, OnInit, SimpleChanges, AfterContentChecked, Injector } from '@angular/core';
6
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
7
7
  import { PopupSettings } from '../common/models/popup-settings';
8
8
  import { SelectionService } from '../common/selection/selection.service';
9
9
  import { NavigationService } from '../common/navigation/navigation.service';
@@ -62,14 +62,18 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
62
62
  private renderer;
63
63
  private cdr;
64
64
  touchEnabled: boolean;
65
+ private injector;
65
66
  get width(): any;
66
67
  get height(): any;
67
68
  get widgetTabIndex(): number;
68
69
  get ariaExpanded(): boolean;
69
- get ariaOwns(): string;
70
+ get ariaControls(): string;
70
71
  get ariaActivedescendant(): string;
71
- get noDataLabel(): string;
72
72
  get appendTo(): ViewContainerRef;
73
+ /**
74
+ * @hidden
75
+ */
76
+ get ariaLive(): string;
73
77
  /**
74
78
  * @hidden
75
79
  */
@@ -287,7 +291,8 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
287
291
  */
288
292
  onResize(): void;
289
293
  hostClasses: boolean;
290
- get isDisabled(): boolean;
294
+ get isDisabledClass(): boolean;
295
+ get isDisabledAttribute(): string;
291
296
  get isLoading(): boolean;
292
297
  /**
293
298
  * @hidden
@@ -295,12 +300,15 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
295
300
  focusableId: string;
296
301
  get dir(): string;
297
302
  get hostTabIndex(): number;
298
- get isReadonly(): boolean;
303
+ get readonlyClass(): boolean;
304
+ get readonlyAttr(): string;
305
+ get isBusy(): boolean;
299
306
  role: string;
307
+ haspopup: string;
300
308
  get isAriaExpanded(): boolean;
301
- get hostAriaOwns(): string;
309
+ get hostAriaControls(): string;
310
+ get hostAriaInvalid(): string;
302
311
  get hostAriaActivedescendant(): string;
303
- get hostNoDataLabel(): string;
304
312
  /**
305
313
  * @hidden
306
314
  */
@@ -346,7 +354,7 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
346
354
  private _size;
347
355
  private _rounded;
348
356
  private _fillMode;
349
- constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, dataService: DataService, _zone: NgZone, renderer: Renderer2, cdr: ChangeDetectorRef, touchEnabled: boolean);
357
+ constructor(wrapper: ElementRef, localization: LocalizationService, popupService: PopupService, selectionService: SelectionService, navigationService: NavigationService, disabledItemsService: DisabledItemsService, dataService: DataService, _zone: NgZone, renderer: Renderer2, cdr: ChangeDetectorRef, touchEnabled: boolean, injector: Injector);
350
358
  ngOnInit(): void;
351
359
  /**
352
360
  * @hidden
@@ -369,6 +377,10 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
369
377
  * @hidden
370
378
  */
371
379
  ngAfterContentChecked(): void;
380
+ /**
381
+ * @hidden
382
+ */
383
+ get formControl(): FormControl;
372
384
  /**
373
385
  * Focuses a specific item of the DropDownList based on a provided index.
374
386
  * If there is a default item it is positioned at index -1.
@@ -504,6 +516,6 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
504
516
  pageChange(event: PageChangeEvent): void;
505
517
  private assignAriaDescribedBy;
506
518
  private setComponentClasses;
507
- static ɵfac: i0.ɵɵFactoryDeclaration<DropDownListComponent, [null, null, null, null, null, null, null, null, null, null, { optional: true; }]>;
519
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropDownListComponent, [null, null, null, null, null, null, null, null, null, null, { optional: true; }, null]>;
508
520
  static ɵcmp: i0.ɵɵComponentDeclaration<DropDownListComponent, "kendo-dropdownlist", ["kendoDropDownList"], { "iconClass": "iconClass"; "loading": "loading"; "data": "data"; "value": "value"; "textField": "textField"; "valueField": "valueField"; "popupSettings": "popupSettings"; "listHeight": "listHeight"; "defaultItem": "defaultItem"; "disabled": "disabled"; "itemDisabled": "itemDisabled"; "readonly": "readonly"; "filterable": "filterable"; "virtual": "virtual"; "ignoreCase": "ignoreCase"; "delay": "delay"; "valuePrimitive": "valuePrimitive"; "tabindex": "tabindex"; "tabIndex": "tabIndex"; "size": "size"; "rounded": "rounded"; "fillMode": "fillMode"; "focusableId": "id"; }, { "valueChange": "valueChange"; "filterChange": "filterChange"; "selectionChange": "selectionChange"; "open": "open"; "opened": "opened"; "close": "close"; "closed": "closed"; "onFocus": "focus"; "onBlur": "blur"; }, ["itemTemplate", "groupTemplate", "fixedGroupTemplate", "valueTemplate", "headerTemplate", "footerTemplate", "noDataTemplate"], never>;
509
521
  }
@@ -274,11 +274,6 @@ export class AutoCompleteComponent {
274
274
  const dataItem = this.dataService.itemAt(this.selectionService.focused);
275
275
  return this.optionPrefix + "-" + getter(dataItem, this.valueField);
276
276
  }
277
- get noDataLabel() {
278
- if (this.data.length === 0) {
279
- return this.messageFor('noDataText');
280
- }
281
- }
282
277
  /**
283
278
  * Sets the data of the AutoComplete.
284
279
  *
@@ -831,6 +826,11 @@ export class AutoCompleteComponent {
831
826
  popupWrapper.style.width = max;
832
827
  popupWrapper.style.height = this.height;
833
828
  popupWrapper.setAttribute("dir", this.direction);
829
+ const listBox = popupWrapper.querySelector('ul.k-list-ul');
830
+ const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
831
+ if (ariaLabel) {
832
+ listBox.setAttribute('aria-labelledby', ariaLabel);
833
+ }
834
834
  this.popupRef.popupOpen.subscribe(() => {
835
835
  this.cdr.detectChanges();
836
836
  this.optionsList.scrollToItem(this.selectionService.focused);
@@ -934,10 +934,12 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
934
934
  </ng-container>
935
935
  <kendo-searchbar #searchbar
936
936
  [role]="'combobox'"
937
+ [isSuggestable]="suggest"
938
+ [isFilterable]="filterable"
939
+ [isLoading]="isLoading"
937
940
  [id]="focusableId"
938
941
  [listId]="listBoxId"
939
942
  [activeDescendant]="activeDescendant"
940
- [noDataLabel]="noDataLabel"
941
943
  [userInput]="text"
942
944
  [suggestedText]="suggestion"
943
945
  [disabled]="disabled"
@@ -1011,7 +1013,7 @@ AutoCompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1011
1013
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
1012
1014
  </ng-template>
1013
1015
  <ng-container #container></ng-container>
1014
- `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "noDataLabel", "disabled", "readonly", "tabIndex", "popupOpen", "role", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
1016
+ `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
1015
1017
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutoCompleteComponent, decorators: [{
1016
1018
  type: Component,
1017
1019
  args: [{
@@ -1048,10 +1050,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1048
1050
  </ng-container>
1049
1051
  <kendo-searchbar #searchbar
1050
1052
  [role]="'combobox'"
1053
+ [isSuggestable]="suggest"
1054
+ [isFilterable]="filterable"
1055
+ [isLoading]="isLoading"
1051
1056
  [id]="focusableId"
1052
1057
  [listId]="listBoxId"
1053
1058
  [activeDescendant]="activeDescendant"
1054
- [noDataLabel]="noDataLabel"
1055
1059
  [userInput]="text"
1056
1060
  [suggestedText]="suggestion"
1057
1061
  [disabled]="disabled"
@@ -281,11 +281,6 @@ export class ComboBoxComponent {
281
281
  const dataItem = this.dataService.itemAt(this.selectionService.focused);
282
282
  return this.optionPrefix + "-" + (dataItem ? getter(dataItem, this.valueField) : "");
283
283
  }
284
- get noDataLabel() {
285
- if (this.data.length === 0) {
286
- return this.messageFor('noDataText');
287
- }
288
- }
289
284
  get appendTo() {
290
285
  const { appendTo } = this.popupSettings;
291
286
  if (!appendTo || appendTo === 'root') {
@@ -1203,6 +1198,11 @@ export class ComboBoxComponent {
1203
1198
  popupWrapper.style.width = max;
1204
1199
  popupWrapper.style.height = this.popupHeight;
1205
1200
  popupWrapper.setAttribute("dir", this.direction);
1201
+ const listBox = this.popupRef.popupElement.querySelector('ul.k-list-ul');
1202
+ const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
1203
+ if (ariaLabel) {
1204
+ listBox.setAttribute('aria-labelledby', ariaLabel);
1205
+ }
1206
1206
  this.popupRef.popupOpen.subscribe(() => {
1207
1207
  this.cdr.detectChanges();
1208
1208
  this.optionsList.scrollToItem(this.selectionService.focused);
@@ -1307,8 +1307,10 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1307
1307
  [role]="'combobox'"
1308
1308
  [id]="focusableId"
1309
1309
  [listId]="listBoxId"
1310
+ [isLoading]="loading"
1311
+ [isSuggestable]="suggest"
1312
+ [isFilterable]="filterable"
1310
1313
  [activeDescendant]="activeDescendant"
1311
- [noDataLabel]="noDataLabel"
1312
1314
  [userInput]="text"
1313
1315
  [suggestedText]="getSuggestion()"
1314
1316
  [disabled]="disabled"
@@ -1336,6 +1338,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1336
1338
  </span>
1337
1339
  <button
1338
1340
  #select
1341
+ tabindex="-1"
1339
1342
  unselectable="on"
1340
1343
  type="button"
1341
1344
  class="k-input-button k-button k-icon-button"
@@ -1395,7 +1398,7 @@ ComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
1395
1398
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
1396
1399
  </ng-template>
1397
1400
  <ng-container #container></ng-container>
1398
- `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "noDataLabel", "disabled", "readonly", "tabIndex", "popupOpen", "role", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
1401
+ `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
1399
1402
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ComboBoxComponent, decorators: [{
1400
1403
  type: Component,
1401
1404
  args: [{
@@ -1435,8 +1438,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1435
1438
  [role]="'combobox'"
1436
1439
  [id]="focusableId"
1437
1440
  [listId]="listBoxId"
1441
+ [isLoading]="loading"
1442
+ [isSuggestable]="suggest"
1443
+ [isFilterable]="filterable"
1438
1444
  [activeDescendant]="activeDescendant"
1439
- [noDataLabel]="noDataLabel"
1440
1445
  [userInput]="text"
1441
1446
  [suggestedText]="getSuggestion()"
1442
1447
  [disabled]="disabled"
@@ -1464,6 +1469,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1464
1469
  </span>
1465
1470
  <button
1466
1471
  #select
1472
+ tabindex="-1"
1467
1473
  unselectable="on"
1468
1474
  type="button"
1469
1475
  class="k-input-button k-button k-icon-button"
@@ -183,6 +183,9 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
183
183
 
184
184
  i18n-clearTitle="kendo.multicolumncombobox.clearTitle|The title of the clear button"
185
185
  clearTitle="clear"
186
+
187
+ i18n-selectButtonText="kendo.multicolumncombobox.selectButtonText|The title of the select button"
188
+ selectButtonText="Select"
186
189
  >
187
190
  </ng-container>
188
191
  <kendo-searchbar
@@ -190,8 +193,10 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
190
193
  [role]="'combobox'"
191
194
  [id]="focusableId"
192
195
  [listId]="listBoxId"
196
+ [isLoading]="loading"
197
+ [isSuggestable]="suggest"
198
+ [isFilterable]="filterable"
193
199
  [activeDescendant]="activeDescendant"
194
- [noDataLabel]="noDataLabel"
195
200
  [userInput]="text"
196
201
  [suggestedText]="getSuggestion()"
197
202
  [disabled]="disabled"
@@ -389,7 +394,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
389
394
 
390
395
  <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
391
396
  <ng-container #container></ng-container>
392
- `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "noDataLabel", "disabled", "readonly", "tabIndex", "popupOpen", "role", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
397
+ `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i10.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
393
398
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
394
399
  type: Component,
395
400
  args: [{
@@ -427,6 +432,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
427
432
 
428
433
  i18n-clearTitle="kendo.multicolumncombobox.clearTitle|The title of the clear button"
429
434
  clearTitle="clear"
435
+
436
+ i18n-selectButtonText="kendo.multicolumncombobox.selectButtonText|The title of the select button"
437
+ selectButtonText="Select"
430
438
  >
431
439
  </ng-container>
432
440
  <kendo-searchbar
@@ -434,8 +442,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
434
442
  [role]="'combobox'"
435
443
  [id]="focusableId"
436
444
  [listId]="listBoxId"
445
+ [isLoading]="loading"
446
+ [isSuggestable]="suggest"
447
+ [isFilterable]="filterable"
437
448
  [activeDescendant]="activeDescendant"
438
- [noDataLabel]="noDataLabel"
439
449
  [userInput]="text"
440
450
  [suggestedText]="getSuggestion()"
441
451
  [disabled]="disabled"
@@ -324,6 +324,9 @@ export class ListComponent {
324
324
  const hasVirtualScroll = isPresent(this.virtual) && this.hasVirtualScrollbar();
325
325
  return hasVirtualScroll || this.list.nativeElement.scrollHeight > this.content.nativeElement.offsetHeight;
326
326
  }
327
+ isItemSelected(index) {
328
+ return this.selectionService.isSelected(index) || null;
329
+ }
327
330
  /**
328
331
  * Sets the list's content overflow (hides/shows scrollbar)
329
332
  */
@@ -369,7 +372,7 @@ export class ListComponent {
369
372
  }
370
373
  }
371
374
  ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ListComponent, deps: [{ token: i1.DataService }, { token: i0.ElementRef }, { token: i2.SelectionService }, { token: i3.DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
372
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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", 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: `
375
+ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", 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", 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: `
373
376
  <div *ngIf="dataService.grouped"
374
377
  [class]="listGroupStickyHeaderClass"
375
378
  [ngStyle]="{
@@ -394,6 +397,8 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
394
397
  role="listbox"
395
398
  [class]="listClass"
396
399
  [attr.id]="id"
400
+ [attr.aria-live]="ariaLive"
401
+ [attr.aria-multiselectable]="isMultiselect"
397
402
  [attr.aria-hidden]="!show">
398
403
  <ng-template *ngIf="!dataService.grouped && show" ngFor let-dataItem let-itemIndex="index" [ngForOf]="data">
399
404
  <li
@@ -405,6 +410,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
405
410
  [multipleSelection]="multipleSelection"
406
411
  [attr.id]="optionPrefix + '-' + getValue(dataItem)"
407
412
  [attr.tabIndex]="-1"
413
+ [attr.aria-selected]="isItemSelected(itemIndex)"
408
414
  [class]="listItemClass"
409
415
  [ngClass]="{
410
416
  'k-disabled': isDisabled(itemIndex),
@@ -461,6 +467,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
461
467
  [attr.absolute-index]="dataItem.index"
462
468
  [attr.id]="optionPrefix + '-' + getValue(dataItem.value)"
463
469
  [attr.tabIndex]="-1"
470
+ [attr.aria-selected]="isItemSelected(dataItem.offsetIndex)"
464
471
  [class]="listItemClass"
465
472
  [ngClass]="{
466
473
  'k-disabled': isDisabled(dataItem.offsetIndex),
@@ -518,6 +525,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
518
525
  role="listbox"
519
526
  [class]="listClass"
520
527
  [attr.id]="id"
528
+ [attr.aria-live]="ariaLive"
529
+ [attr.aria-multiselectable]="isMultiselect"
521
530
  [attr.aria-hidden]="!show">
522
531
  <ng-template *ngIf="!dataService.grouped && show" ngFor let-dataItem let-itemIndex="index" [ngForOf]="data">
523
532
  <li
@@ -529,6 +538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
529
538
  [multipleSelection]="multipleSelection"
530
539
  [attr.id]="optionPrefix + '-' + getValue(dataItem)"
531
540
  [attr.tabIndex]="-1"
541
+ [attr.aria-selected]="isItemSelected(itemIndex)"
532
542
  [class]="listItemClass"
533
543
  [ngClass]="{
534
544
  'k-disabled': isDisabled(itemIndex),
@@ -585,6 +595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
585
595
  [attr.absolute-index]="dataItem.index"
586
596
  [attr.id]="optionPrefix + '-' + getValue(dataItem.value)"
587
597
  [attr.tabIndex]="-1"
598
+ [attr.aria-selected]="isItemSelected(dataItem.offsetIndex)"
588
599
  [class]="listItemClass"
589
600
  [ngClass]="{
590
601
  'k-disabled': isDisabled(dataItem.offsetIndex),
@@ -644,6 +655,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
644
655
  type: Input
645
656
  }], checkboxes: [{
646
657
  type: Input
658
+ }], ariaLive: [{
659
+ type: Input
660
+ }], isMultiselect: [{
661
+ type: Input
647
662
  }], data: [{
648
663
  type: Input
649
664
  }], size: [{