@progress/kendo-angular-dropdowns 6.0.2-dev.202202171128 → 6.0.2-dev.202202251358

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cdn/js/kendo-angular-dropdowns.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/autocomplete/autocomplete.component.js +9 -22
  4. package/dist/es/comboboxes/combobox.component.js +9 -22
  5. package/dist/es/comboboxes/multicolumncombobox.component.js +1 -1
  6. package/dist/es/common/localization/messages.js +4 -0
  7. package/dist/es/common/searchbar.component.js +8 -1
  8. package/dist/es/common/taglist.component.js +1 -1
  9. package/dist/es/dropdownlist/dropdownlist.component.js +10 -16
  10. package/dist/es/dropdowntrees/dropdowntree.component.js +1 -1
  11. package/dist/es/dropdowntrees/multiselecttree.component.js +13 -1
  12. package/dist/es/multiselect/multiselect.component.js +26 -22
  13. package/dist/es/package-metadata.js +1 -1
  14. package/dist/es2015/autocomplete/autocomplete.component.d.ts +4 -4
  15. package/dist/es2015/autocomplete/autocomplete.component.js +10 -18
  16. package/dist/es2015/comboboxes/combobox.component.d.ts +4 -4
  17. package/dist/es2015/comboboxes/combobox.component.js +14 -19
  18. package/dist/es2015/comboboxes/multicolumncombobox.component.js +3 -2
  19. package/dist/es2015/common/localization/messages.d.ts +4 -0
  20. package/dist/es2015/common/localization/messages.js +4 -0
  21. package/dist/es2015/common/searchbar.component.d.ts +1 -0
  22. package/dist/es2015/common/searchbar.component.js +4 -1
  23. package/dist/es2015/common/taglist.component.js +0 -3
  24. package/dist/es2015/dropdownlist/dropdownlist.component.d.ts +4 -3
  25. package/dist/es2015/dropdownlist/dropdownlist.component.js +17 -18
  26. package/dist/es2015/dropdowntrees/dropdowntree.component.js +5 -0
  27. package/dist/es2015/dropdowntrees/multiselecttree.component.d.ts +1 -0
  28. package/dist/es2015/dropdowntrees/multiselecttree.component.js +9 -1
  29. package/dist/es2015/index.metadata.json +1 -1
  30. package/dist/es2015/multiselect/multiselect.component.d.ts +6 -4
  31. package/dist/es2015/multiselect/multiselect.component.js +25 -20
  32. package/dist/es2015/package-metadata.js +1 -1
  33. package/dist/fesm2015/index.js +92 -83
  34. package/dist/fesm5/index.js +83 -88
  35. package/dist/npm/autocomplete/autocomplete.component.js +9 -22
  36. package/dist/npm/comboboxes/combobox.component.js +9 -22
  37. package/dist/npm/comboboxes/multicolumncombobox.component.js +1 -1
  38. package/dist/npm/common/localization/messages.js +4 -0
  39. package/dist/npm/common/searchbar.component.js +8 -1
  40. package/dist/npm/common/taglist.component.js +1 -1
  41. package/dist/npm/dropdownlist/dropdownlist.component.js +10 -16
  42. package/dist/npm/dropdowntrees/dropdowntree.component.js +1 -1
  43. package/dist/npm/dropdowntrees/multiselecttree.component.js +13 -1
  44. package/dist/npm/multiselect/multiselect.component.js +26 -22
  45. package/dist/npm/package-metadata.js +1 -1
  46. package/dist/systemjs/kendo-angular-dropdowns.js +1 -1
  47. package/package.json +2 -2
@@ -23,7 +23,7 @@ const packageMetadata = {
23
23
  name: '@progress/kendo-angular-dropdowns',
24
24
  productName: 'Kendo UI for Angular',
25
25
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
26
- publishDate: 1645097139,
26
+ publishDate: 1645797253,
27
27
  version: '',
28
28
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
29
29
  };
@@ -343,6 +343,9 @@ let SearchBarComponent = class SearchBarComponent {
343
343
  get placeholder() {
344
344
  return this._placeholder;
345
345
  }
346
+ get ariaExpanded() {
347
+ return this.role === 'combobox' ? this.popupOpen : null;
348
+ }
346
349
  ngOnInit() {
347
350
  this.localizationChangeSubscription = this.localization
348
351
  .changes.subscribe(({ rtl }) => this.direction = rtl ? 'rtl' : 'ltr');
@@ -542,7 +545,7 @@ SearchBarComponent = __decorate([
542
545
  [attr.aria-disabled]="disabled"
543
546
  [attr.aria-readonly]="readonly"
544
547
  aria-haspopup="listbox"
545
- [attr.aria-expanded]="popupOpen"
548
+ [attr.aria-expanded]="ariaExpanded"
546
549
  [attr.aria-owns]="listId"
547
550
  [attr.aria-describedby]="tagListId"
548
551
  [attr.aria-activedescendant]="activeDescendant"
@@ -2207,12 +2210,9 @@ let AutoCompleteComponent = AutoCompleteComponent_1 = class AutoCompleteComponen
2207
2210
  }
2208
2211
  get noDataLabel() {
2209
2212
  if (this.data.length === 0) {
2210
- return this.noDataText;
2213
+ return this.messageFor('noDataText');
2211
2214
  }
2212
2215
  }
2213
- get clearTitle() {
2214
- return this.localization.get('clearTitle');
2215
- }
2216
2216
  /**
2217
2217
  * Sets the data of the AutoComplete.
2218
2218
  *
@@ -2381,15 +2381,13 @@ let AutoCompleteComponent = AutoCompleteComponent_1 = class AutoCompleteComponen
2381
2381
  .changes
2382
2382
  .subscribe(({ rtl }) => {
2383
2383
  this.direction = rtl ? 'rtl' : 'ltr';
2384
- this.setMessages();
2384
+ this.cdr.detectChanges();
2385
2385
  });
2386
- this.setMessages();
2387
2386
  this.setComponentClasses();
2388
2387
  }
2389
2388
  ngOnDestroy() {
2390
2389
  this.destroyPopup();
2391
2390
  this.unsubscribeEvents();
2392
- clearTimeout(this.messagesTimeout);
2393
2391
  if (this.localizationChangeSubscription) {
2394
2392
  this.localizationChangeSubscription.unsubscribe();
2395
2393
  }
@@ -2409,6 +2407,12 @@ let AutoCompleteComponent = AutoCompleteComponent_1 = class AutoCompleteComponen
2409
2407
  reset() {
2410
2408
  this.value = NO_VALUE;
2411
2409
  }
2410
+ /**
2411
+ * @hidden
2412
+ */
2413
+ messageFor(key) {
2414
+ return this.localization.get(key);
2415
+ }
2412
2416
  /**
2413
2417
  * @hidden
2414
2418
  */
@@ -2803,15 +2807,6 @@ let AutoCompleteComponent = AutoCompleteComponent_1 = class AutoCompleteComponen
2803
2807
  };
2804
2808
  }
2805
2809
  }
2806
- setMessages() {
2807
- this._zone.runOutsideAngular(() => {
2808
- clearTimeout(this.messagesTimeout);
2809
- this.messagesTimeout = setTimeout(() => {
2810
- this.noDataText = this.localization.get('noDataText');
2811
- this.cdr.detectChanges();
2812
- });
2813
- });
2814
- }
2815
2810
  setComponentClasses() {
2816
2811
  if (this.size) {
2817
2812
  this.renderer.addClass(this.wrapper, getSizeClass('input', this.size));
@@ -3064,7 +3059,7 @@ AutoCompleteComponent = AutoCompleteComponent_1 = __decorate([
3064
3059
  *ngIf="!loading && !readonly && (clearButton && text?.length)"
3065
3060
  class="k-clear-value"
3066
3061
  [style.visibility]="clearButtonVisiblity"
3067
- [attr.title]="clearTitle"
3062
+ [attr.title]="messageFor('clearTitle')"
3068
3063
  role="button"
3069
3064
  tabindex="-1"
3070
3065
  (click)="clearValue($event)"
@@ -3107,7 +3102,7 @@ AutoCompleteComponent = AutoCompleteComponent_1 = __decorate([
3107
3102
  }">
3108
3103
  </ng-template>
3109
3104
  <ng-template [ngIf]="!noDataTemplate">
3110
- <div>{{ noDataText }}</div>
3105
+ <div>{{ messageFor('noDataText') }}</div>
3111
3106
  </ng-template>
3112
3107
  </div>
3113
3108
  <!--footer template-->
@@ -3434,12 +3429,9 @@ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent {
3434
3429
  }
3435
3430
  get noDataLabel() {
3436
3431
  if (this.data.length === 0) {
3437
- return this.noDataText;
3432
+ return this.messageFor('noDataText');
3438
3433
  }
3439
3434
  }
3440
- get clearTitle() {
3441
- return this.localization.get('clearTitle');
3442
- }
3443
3435
  get appendTo() {
3444
3436
  const { appendTo } = this.popupSettings;
3445
3437
  if (!appendTo || appendTo === 'root') {
@@ -3657,7 +3649,6 @@ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent {
3657
3649
  this.createValueStream();
3658
3650
  this.subscribeTouchEvents();
3659
3651
  this.attachSelectClickHandler();
3660
- this.setMessages();
3661
3652
  this.setComponentClasses();
3662
3653
  }
3663
3654
  createValueStream() {
@@ -3764,7 +3755,7 @@ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent {
3764
3755
  this.subs.add(this.localization
3765
3756
  .changes.subscribe(({ rtl }) => {
3766
3757
  this.direction = rtl ? 'rtl' : 'ltr';
3767
- this.setMessages();
3758
+ this.cdr.detectChanges();
3768
3759
  }));
3769
3760
  this.subs.add(merge(this.navigationService.up, this.navigationService.down, this.navigationService.home, this.navigationService.end)
3770
3761
  .pipe(filter((event) => isPresent(event.index)))
@@ -3797,7 +3788,6 @@ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent {
3797
3788
  }
3798
3789
  ngOnDestroy() {
3799
3790
  this.destroyPopup();
3800
- clearTimeout(this.messagesTimeout);
3801
3791
  this.subs.unsubscribe();
3802
3792
  if (isPresent(this.valueSubscription)) {
3803
3793
  this.valueSubscription.unsubscribe();
@@ -3894,6 +3884,12 @@ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent {
3894
3884
  const valueEmpty = !isPresent(this.value) || isEmptyString(this.value);
3895
3885
  return textEmpty && valueEmpty;
3896
3886
  }
3887
+ /**
3888
+ * @hidden
3889
+ */
3890
+ messageFor(key) {
3891
+ return this.localization.get(key);
3892
+ }
3897
3893
  /**
3898
3894
  * @hidden
3899
3895
  */
@@ -4376,15 +4372,6 @@ let ComboBoxComponent = ComboBoxComponent_1 = class ComboBoxComponent {
4376
4372
  this.filterText = '';
4377
4373
  this.filterChange.emit(this.filterText);
4378
4374
  }
4379
- setMessages() {
4380
- this.zone.runOutsideAngular(() => {
4381
- clearTimeout(this.messagesTimeout);
4382
- this.messagesTimeout = setTimeout(() => {
4383
- this.noDataText = this.localization.get('noDataText');
4384
- this.cdr.detectChanges();
4385
- });
4386
- });
4387
- }
4388
4375
  subscribeTouchEvents() {
4389
4376
  if (!isDocumentAvailable() || !this.touchEnabled) {
4390
4377
  return;
@@ -4660,6 +4647,9 @@ ComboBoxComponent = ComboBoxComponent_1 = __decorate([
4660
4647
 
4661
4648
  i18n-clearTitle="kendo.combobox.clearTitle|The title of the clear button"
4662
4649
  clearTitle="clear"
4650
+
4651
+ i18n-selectButtonText="kendo.combobox.selectButtonText|The text set as aria-label on the select button"
4652
+ selectButtonText="Select"
4663
4653
  >
4664
4654
  </ng-container>
4665
4655
  <kendo-searchbar #searchbar
@@ -4685,7 +4675,7 @@ ComboBoxComponent = ComboBoxComponent_1 = __decorate([
4685
4675
  class="k-clear-value"
4686
4676
  [style.visibility]="clearButtonVisiblity"
4687
4677
  aria-hidden="true"
4688
- [attr.title]="clearTitle"
4678
+ [attr.title]="messageFor('clearTitle')"
4689
4679
  (click)="clearValue($event)"
4690
4680
  [kendoEventsOutsideAngular]="{
4691
4681
  mousedown: preventEventDefault
@@ -4695,11 +4685,11 @@ ComboBoxComponent = ComboBoxComponent_1 = __decorate([
4695
4685
  </span>
4696
4686
  <button
4697
4687
  #select
4698
- aria-hidden="true"
4699
4688
  unselectable="on"
4700
4689
  type="button"
4701
4690
  class="k-input-button k-button k-icon-button"
4702
4691
  [ngClass]="selectButtonClasses"
4692
+ [attr.aria-label]="messageFor('selectButtonText')"
4703
4693
  [kendoEventsOutsideAngular]="{
4704
4694
  mousedown: preventEventDefault
4705
4695
  }"
@@ -4740,7 +4730,7 @@ ComboBoxComponent = ComboBoxComponent_1 = __decorate([
4740
4730
  }">
4741
4731
  </ng-template>
4742
4732
  <ng-template [ngIf]="!noDataTemplate">
4743
- <div>{{ noDataText }}</div>
4733
+ <div>{{ messageFor('noDataText') }}</div>
4744
4734
  </ng-template>
4745
4735
  </div>
4746
4736
  <!--footer template-->
@@ -4989,14 +4979,14 @@ let DropDownListComponent = DropDownListComponent_1 = class DropDownListComponen
4989
4979
  return this.listBoxId;
4990
4980
  }
4991
4981
  get ariaActivedescendant() {
4992
- if (!isPresent(this.dataItem)) {
4982
+ if (!isPresent(this.dataItem) || !this.isOpen) {
4993
4983
  return;
4994
4984
  }
4995
4985
  return this.optionPrefix + "-" + getter$1(this.dataItem, this.valueField);
4996
4986
  }
4997
4987
  get noDataLabel() {
4998
4988
  if (this.dataService.itemsCount === 0) {
4999
- return this.noDataText;
4989
+ return this.messageFor('noDataText');
5000
4990
  }
5001
4991
  }
5002
4992
  get appendTo() {
@@ -5310,9 +5300,8 @@ let DropDownListComponent = DropDownListComponent_1 = class DropDownListComponen
5310
5300
  this.localizationChangesSubscription = this.localization
5311
5301
  .changes.subscribe(({ rtl }) => {
5312
5302
  this.direction = rtl ? 'rtl' : 'ltr';
5313
- this.setMessages();
5303
+ this.cdr.detectChanges();
5314
5304
  });
5315
- this.setMessages();
5316
5305
  this.assignAriaDescribedBy();
5317
5306
  this.setComponentClasses();
5318
5307
  }
@@ -5336,7 +5325,6 @@ let DropDownListComponent = DropDownListComponent_1 = class DropDownListComponen
5336
5325
  ngOnDestroy() {
5337
5326
  this.destroyPopup();
5338
5327
  this.unsubscribeEvents();
5339
- clearTimeout(this.messagesTimeout);
5340
5328
  if (this.localizationChangesSubscription) {
5341
5329
  this.localizationChangesSubscription.unsubscribe();
5342
5330
  }
@@ -5457,6 +5445,12 @@ let DropDownListComponent = DropDownListComponent_1 = class DropDownListComponen
5457
5445
  reset() {
5458
5446
  this.value = undefined;
5459
5447
  }
5448
+ /**
5449
+ * @hidden
5450
+ */
5451
+ messageFor(key) {
5452
+ return this.localization.get(key);
5453
+ }
5460
5454
  /**
5461
5455
  * @hidden
5462
5456
  */
@@ -5951,15 +5945,6 @@ let DropDownListComponent = DropDownListComponent_1 = class DropDownListComponen
5951
5945
  const virtual = this.virtual;
5952
5946
  virtual.skip = event.skip;
5953
5947
  }
5954
- setMessages() {
5955
- this._zone.runOutsideAngular(() => {
5956
- clearTimeout(this.messagesTimeout);
5957
- this.messagesTimeout = setTimeout(() => {
5958
- this.noDataText = this.localization.get('noDataText');
5959
- this.cdr.detectChanges();
5960
- });
5961
- });
5962
- }
5963
5948
  assignAriaDescribedBy() {
5964
5949
  const currentValue = this.wrapper.nativeElement.getAttribute('aria-describedby') || '';
5965
5950
  const trimmed = currentValue.replace(this.valueLabelId, '').trim();
@@ -6261,9 +6246,12 @@ DropDownListComponent = DropDownListComponent_1 = __decorate([
6261
6246
  <ng-container kendoDropDownListLocalizedMessages
6262
6247
  i18n-noDataText="kendo.dropdownlist.noDataText|The text displayed in the popup when there are no items"
6263
6248
  noDataText="NO DATA FOUND"
6249
+
6250
+ i18n-selectButtonText="kendo.dropdownlist.selectButtonText|The text set as aria-label on the select button"
6251
+ selectButtonText="Select"
6264
6252
  >
6265
6253
  </ng-container>
6266
- <span class="k-input-inner" unselectable="on" [id]="valueLabelId">
6254
+ <span class="k-input-inner" unselectable="on" role="option" [id]="valueLabelId">
6267
6255
  <span class="k-input-value-text">
6268
6256
  <ng-template *ngIf="valueTemplate"
6269
6257
  [templateContext]="{
@@ -6280,6 +6268,7 @@ DropDownListComponent = DropDownListComponent_1 = __decorate([
6280
6268
  type="button"
6281
6269
  class="k-input-button k-button k-icon-button"
6282
6270
  [ngClass]="selectButtonClasses"
6271
+ [attr.aria-label]="messageFor('selectButtonText')"
6283
6272
  [kendoEventsOutsideAngular]="{
6284
6273
  mousedown: onMouseDown
6285
6274
  }"
@@ -6322,7 +6311,7 @@ DropDownListComponent = DropDownListComponent_1 = __decorate([
6322
6311
  class="k-list"
6323
6312
  [ngClass]="optionLabelSizeClass"
6324
6313
  >
6325
- <div class="k-list-optionlabel k-list-item" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
6314
+ <div class="k-list-optionlabel" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
6326
6315
  {{ getDefaultItemText() }}
6327
6316
  </div>
6328
6317
  </div>
@@ -6332,7 +6321,7 @@ DropDownListComponent = DropDownListComponent_1 = __decorate([
6332
6321
  class="k-list"
6333
6322
  [ngClass]="optionLabelSizeClass"
6334
6323
  >
6335
- <div class="k-list-optionlabel k-list-item" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
6324
+ <div class="k-list-optionlabel" [ngClass]="{ 'k-disabled': isDisabledDefaultItem }" kendoDropDownsSelectable [index]="-1">
6336
6325
  <ng-template
6337
6326
  [templateContext]="{
6338
6327
  templateRef: itemTemplate.templateRef,
@@ -6375,7 +6364,7 @@ DropDownListComponent = DropDownListComponent_1 = __decorate([
6375
6364
  }">
6376
6365
  </ng-template>
6377
6366
  <ng-template [ngIf]="!noDataTemplate">
6378
- <div>{{ noDataText }}</div>
6367
+ <div>{{ messageFor('noDataText') }}</div>
6379
6368
  </ng-template>
6380
6369
  </div>
6381
6370
  <!--footer template-->
@@ -6743,6 +6732,7 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
6743
6732
  */
6744
6733
  this.removeTag = new EventEmitter();
6745
6734
  this.hostClasses = true;
6735
+ this.role = 'combobox';
6746
6736
  this.initialized = false;
6747
6737
  this._size = 'medium';
6748
6738
  this._rounded = 'medium';
@@ -7052,6 +7042,9 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
7052
7042
  get isLoading() {
7053
7043
  return this.loading;
7054
7044
  }
7045
+ get isAriaExpanded() {
7046
+ return this.isOpen;
7047
+ }
7055
7048
  /**
7056
7049
  * @hidden
7057
7050
  */
@@ -7115,12 +7108,9 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
7115
7108
  }
7116
7109
  get noDataLabel() {
7117
7110
  if (this.dataService.itemsCount === 0) {
7118
- return this.noDataText;
7111
+ return this.messageFor('noDataText');
7119
7112
  }
7120
7113
  }
7121
- get clearTitle() {
7122
- return this.localization.get('clearTitle');
7123
- }
7124
7114
  get clearButtonVisiblity() {
7125
7115
  if (this.touchEnabled) {
7126
7116
  return 'visible';
@@ -7330,9 +7320,8 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
7330
7320
  this.localizationChangeSubscription = this.localization
7331
7321
  .changes.subscribe(({ rtl }) => {
7332
7322
  this.direction = rtl ? 'rtl' : 'ltr';
7333
- this.setMessages();
7323
+ this.cdr.markForCheck();
7334
7324
  });
7335
- this.setMessages();
7336
7325
  this.setState(this.value);
7337
7326
  this.setComponentClasses();
7338
7327
  this.initialized = true;
@@ -7356,7 +7345,6 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
7356
7345
  ngOnDestroy() {
7357
7346
  this._toggle(false);
7358
7347
  this.unsubscribeEvents();
7359
- clearTimeout(this.messagesTimeout);
7360
7348
  }
7361
7349
  /**
7362
7350
  * Toggles the visibility of the popup
@@ -7389,6 +7377,12 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
7389
7377
  this.text = "";
7390
7378
  this.value = [];
7391
7379
  }
7380
+ /**
7381
+ * @hidden
7382
+ */
7383
+ messageFor(key) {
7384
+ return this.localization.get(key);
7385
+ }
7392
7386
  // NG MODEL BINDINGS
7393
7387
  /**
7394
7388
  * @hidden
@@ -7817,15 +7811,6 @@ let MultiSelectComponent = MultiSelectComponent_1 = class MultiSelectComponent {
7817
7811
  setTimeout(() => this._zone.run(f));
7818
7812
  });
7819
7813
  }
7820
- setMessages() {
7821
- this._zone.runOutsideAngular(() => {
7822
- clearTimeout(this.messagesTimeout);
7823
- this.messagesTimeout = setTimeout(() => {
7824
- this.noDataText = this.localization.get('noDataText');
7825
- this.cdr.detectChanges();
7826
- });
7827
- });
7828
- }
7829
7814
  setComponentClasses() {
7830
7815
  if (this.size) {
7831
7816
  this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
@@ -8062,6 +8047,15 @@ __decorate([
8062
8047
  __metadata("design:type", Boolean),
8063
8048
  __metadata("design:paramtypes", [])
8064
8049
  ], MultiSelectComponent.prototype, "isLoading", null);
8050
+ __decorate([
8051
+ HostBinding('attr.role'),
8052
+ __metadata("design:type", String)
8053
+ ], MultiSelectComponent.prototype, "role", void 0);
8054
+ __decorate([
8055
+ HostBinding('attr.aria-expanded'),
8056
+ __metadata("design:type", Boolean),
8057
+ __metadata("design:paramtypes", [])
8058
+ ], MultiSelectComponent.prototype, "isAriaExpanded", null);
8065
8059
  __decorate([
8066
8060
  HostListener('mousedown', ['$event']),
8067
8061
  __metadata("design:type", Function),
@@ -8095,7 +8089,7 @@ MultiSelectComponent = MultiSelectComponent_1 = __decorate([
8095
8089
  i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
8096
8090
  noDataText="NO DATA FOUND"
8097
8091
 
8098
- i18n-clearTitle="kendo.combobox.clearTitle|The title of the clear button"
8092
+ i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
8099
8093
  clearTitle="clear"
8100
8094
  >
8101
8095
  </ng-container>
@@ -8118,7 +8112,7 @@ MultiSelectComponent = MultiSelectComponent_1 = __decorate([
8118
8112
  <kendo-searchbar
8119
8113
  #searchbar
8120
8114
  [id]="focusableId"
8121
- [role]="'listbox'"
8115
+ [role]="'textbox'"
8122
8116
  [tagListId]="tagListId"
8123
8117
  [activeDescendant]="activeDescendant"
8124
8118
  [noDataLabel]="noDataLabel"
@@ -8140,7 +8134,7 @@ MultiSelectComponent = MultiSelectComponent_1 = __decorate([
8140
8134
  *ngIf="!loading && !readonly && clearButton && (tags?.length || text?.length)"
8141
8135
  class="k-clear-value"
8142
8136
  [style.visibility]="clearButtonVisiblity"
8143
- [attr.title]="clearTitle"
8137
+ [attr.title]="messageFor('clearTitle')"
8144
8138
  role="button"
8145
8139
  tabindex="-1"
8146
8140
  (mousedown)="clearAll($event)"
@@ -8205,7 +8199,7 @@ MultiSelectComponent = MultiSelectComponent_1 = __decorate([
8205
8199
  }">
8206
8200
  </ng-template>
8207
8201
  <ng-template [ngIf]="!noDataTemplate">
8208
- <div>{{ noDataText }}</div>
8202
+ <div>{{ messageFor('noDataText') }}</div>
8209
8203
  </ng-template>
8210
8204
  </div>
8211
8205
  <!--footer template-->
@@ -8603,7 +8597,7 @@ MultiColumnComboBoxComponent = MultiColumnComboBoxComponent_1 = __decorate([
8603
8597
  class="k-clear-value"
8604
8598
  [style.visibility]="clearButtonVisiblity"
8605
8599
  aria-hidden="true"
8606
- [attr.title]="clearTitle"
8600
+ [attr.title]="messageFor('clearTitle')"
8607
8601
  (click)="clearValue($event)"
8608
8602
  [kendoEventsOutsideAngular]="{
8609
8603
  mousedown: preventEventDefault
@@ -8620,6 +8614,7 @@ MultiColumnComboBoxComponent = MultiColumnComboBoxComponent_1 = __decorate([
8620
8614
  type="button"
8621
8615
  class="k-input-button k-button k-icon-button"
8622
8616
  [ngClass]="selectButtonClasses"
8617
+ [attr.aria-label]="messageFor('selectButtonText')"
8623
8618
  [kendoEventsOutsideAngular]="{
8624
8619
  mousedown: preventEventDefault
8625
8620
  }"
@@ -8744,7 +8739,7 @@ MultiColumnComboBoxComponent = MultiColumnComboBoxComponent_1 = __decorate([
8744
8739
  >
8745
8740
  </ng-template>
8746
8741
  <ng-template [ngIf]="!noDataTemplate">
8747
- <div>{{ noDataText }}</div>
8742
+ <div>{{ messageFor('noDataText') }}</div>
8748
8743
  </ng-template>
8749
8744
  </div>
8750
8745
 
@@ -10033,11 +10028,15 @@ DropDownTreeComponent = DropDownTreeComponent_1 = __decorate([
10033
10028
 
10034
10029
  i18n-clearTitle="kendo.dropdowntree.clearTitle|The title of the clear button"
10035
10030
  clearTitle="clear"
10031
+
10032
+ i18n-selectButtonText="kendo.dropdowntree.selectButtonText|The text set as aria-label on the select button"
10033
+ selectButtonText="Select"
10036
10034
  >
10037
10035
  </ng-container>
10038
10036
  <span
10039
10037
  [attr.id]="valueLabelId"
10040
10038
  class="k-input-inner"
10039
+ role="option"
10041
10040
  >
10042
10041
  <span class="k-input-value-text">
10043
10042
  <ng-template *ngIf="valueTemplate"
@@ -10065,6 +10064,7 @@ DropDownTreeComponent = DropDownTreeComponent_1 = __decorate([
10065
10064
  aria-hidden="true"
10066
10065
  class="k-input-button k-button k-icon-button"
10067
10066
  [ngClass]="selectButtonClasses"
10067
+ [attr.aria-label]="messageFor('selectButtonText')"
10068
10068
  >
10069
10069
  <span
10070
10070
  class="k-button-icon k-icon"
@@ -10192,7 +10192,7 @@ let MultiSelectTreeComponent = MultiSelectTreeComponent_1 = class MultiSelectTre
10192
10192
  this.cdr = cdr;
10193
10193
  this.touchEnabled = touchEnabled$$1;
10194
10194
  this.hostClasses = true;
10195
- this.role = 'listbox';
10195
+ this.role = 'combobox';
10196
10196
  this.ariaHasPopup = 'tree';
10197
10197
  /**
10198
10198
  * Sets the levels in the data set where the values can be found when `valueField` is an Array.
@@ -10379,6 +10379,9 @@ let MultiSelectTreeComponent = MultiSelectTreeComponent_1 = class MultiSelectTre
10379
10379
  get hostTabIndex() {
10380
10380
  return this.tabindex;
10381
10381
  }
10382
+ get isAriaExpanded() {
10383
+ return this.isOpen;
10384
+ }
10382
10385
  get isReadonly() {
10383
10386
  return this.readonly;
10384
10387
  }
@@ -11346,6 +11349,11 @@ __decorate([
11346
11349
  HostBinding('attr.role'),
11347
11350
  __metadata("design:type", String)
11348
11351
  ], MultiSelectTreeComponent.prototype, "role", void 0);
11352
+ __decorate([
11353
+ HostBinding('attr.aria-expanded'),
11354
+ __metadata("design:type", Boolean),
11355
+ __metadata("design:paramtypes", [])
11356
+ ], MultiSelectTreeComponent.prototype, "isAriaExpanded", null);
11349
11357
  __decorate([
11350
11358
  HostBinding('attr.aria-haspopup'),
11351
11359
  __metadata("design:type", String)
@@ -12083,11 +12091,8 @@ TagListComponent = __decorate([
12083
12091
  template: `
12084
12092
  <div
12085
12093
  *ngFor="let tag of tags; let index = index;"
12086
- role="option"
12087
12094
  [attr.id]="itemId(tag, index)"
12088
12095
  [attr.aria-hidden]="tagAriaHidden(index)"
12089
- aria-selected="true"
12090
- [attr.aria-setsize]="tags?.length"
12091
12096
  class="k-chip"
12092
12097
  [ngClass]="{
12093
12098
  'k-focus': index === focused,
@@ -12161,6 +12166,10 @@ __decorate([
12161
12166
  Input(),
12162
12167
  __metadata("design:type", String)
12163
12168
  ], Messages.prototype, "checkAllText", void 0);
12169
+ __decorate([
12170
+ Input(),
12171
+ __metadata("design:type", String)
12172
+ ], Messages.prototype, "selectButtonText", void 0);
12164
12173
 
12165
12174
  var LocalizedMessagesDirective_1;
12166
12175
  /**