@progress/kendo-angular-dropdowns 16.3.0-develop.6 → 16.3.0-develop.8
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.
- package/common/util.d.ts +1 -1
- package/esm2020/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2020/comboboxes/combobox.component.mjs +3 -8
- package/esm2020/comboboxes/multicolumncombobox.component.mjs +2 -0
- package/esm2020/common/util.mjs +3 -3
- package/esm2020/dropdownlist/dropdownlist.component.mjs +3 -3
- package/esm2020/multiselect/multiselect.component.mjs +3 -7
- package/esm2020/package-metadata.mjs +2 -2
- package/fesm2015/progress-kendo-angular-dropdowns.mjs +15 -22
- package/fesm2020/progress-kendo-angular-dropdowns.mjs +15 -22
- package/package.json +8 -8
- package/schematics/ngAdd/index.js +2 -2
package/common/util.d.ts
CHANGED
|
@@ -210,7 +210,7 @@ export declare const updateActionSheetAdaptiveAppearance: (actionSheet: ActionSh
|
|
|
210
210
|
/**
|
|
211
211
|
* @hidden
|
|
212
212
|
*/
|
|
213
|
-
export declare const
|
|
213
|
+
export declare const setListBoxAriaLabelledBy: (optionsList: any, element: ElementRef, renderer: Renderer2) => void;
|
|
214
214
|
/**
|
|
215
215
|
* @hidden
|
|
216
216
|
*/
|
|
@@ -17,7 +17,7 @@ import { SelectionService } from '../common/selection/selection.service';
|
|
|
17
17
|
import { NavigationService } from '../common/navigation/navigation.service';
|
|
18
18
|
import { DisabledItemsService } from '../common/disabled-items/disabled-items.service';
|
|
19
19
|
import { Subject, Subscription, merge } from 'rxjs';
|
|
20
|
-
import { isPresent, guid, getter, isUntouched, noop, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, windowSize, isTruthy,
|
|
20
|
+
import { isPresent, guid, getter, isUntouched, noop, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, windowSize, isTruthy, setListBoxAriaLabelledBy, setActionSheetTitle, updateActionSheetAdaptiveAppearance, animationDuration } from '../common/util';
|
|
21
21
|
import { NavigationAction } from '../common/navigation/navigation-action';
|
|
22
22
|
import { NoDataTemplateDirective } from '../common/templates/no-data-template.directive';
|
|
23
23
|
import { PreventableEvent } from '../common/models/preventable-event';
|
|
@@ -1033,7 +1033,7 @@ export class AutoCompleteComponent {
|
|
|
1033
1033
|
}
|
|
1034
1034
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
1035
1035
|
this.cdr.detectChanges();
|
|
1036
|
-
|
|
1036
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
1037
1037
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
1038
1038
|
this.selectionService.focus(this.selectionService.focused);
|
|
1039
1039
|
this.opened.emit();
|
|
@@ -1117,7 +1117,7 @@ export class AutoCompleteComponent {
|
|
|
1117
1117
|
openActionSheet() {
|
|
1118
1118
|
this.actionSheet.toggle(true);
|
|
1119
1119
|
this.cdr.detectChanges();
|
|
1120
|
-
|
|
1120
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
1121
1121
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
1122
1122
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
1123
1123
|
this.cdr.detectChanges();
|
|
@@ -19,7 +19,7 @@ import { DisabledItemsService } from '../common/disabled-items/disabled-items.se
|
|
|
19
19
|
import { merge, of, Subject, Subscription } from 'rxjs';
|
|
20
20
|
import { catchError, filter, map, partition, tap, throttleTime } from 'rxjs/operators';
|
|
21
21
|
import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, MultiTabStop } from '@progress/kendo-angular-common';
|
|
22
|
-
import { isPresent, guid, getter, isEmptyString, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, windowSize,
|
|
22
|
+
import { isPresent, guid, getter, isEmptyString, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, windowSize, setListBoxAriaLabelledBy, setActionSheetTitle, updateActionSheetAdaptiveAppearance, animationDuration } from '../common/util';
|
|
23
23
|
import { NavigationAction } from '../common/navigation/navigation-action';
|
|
24
24
|
import { Keys } from '@progress/kendo-angular-common';
|
|
25
25
|
import { PreventableEvent } from '../common/models/preventable-event';
|
|
@@ -1421,14 +1421,9 @@ export class ComboBoxComponent extends MultiTabStop {
|
|
|
1421
1421
|
this.renderer.setAttribute(popupWrapper, 'role', 'region');
|
|
1422
1422
|
this.renderer.setAttribute(popupWrapper, 'aria-label', this.messageFor('popupLabel'));
|
|
1423
1423
|
}
|
|
1424
|
-
const listBox = this.popupRef.popupElement.querySelector('ul');
|
|
1425
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
1426
|
-
if (ariaLabel) {
|
|
1427
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
1428
|
-
}
|
|
1429
1424
|
this.popupRef.popupOpen.subscribe(() => {
|
|
1430
1425
|
this.cdr.detectChanges();
|
|
1431
|
-
|
|
1426
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
1432
1427
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
1433
1428
|
this.selectionService.focus(this.selectionService.focused);
|
|
1434
1429
|
this.opened.emit();
|
|
@@ -1522,7 +1517,7 @@ export class ComboBoxComponent extends MultiTabStop {
|
|
|
1522
1517
|
this.windowSize = windowSize();
|
|
1523
1518
|
this.actionSheet.toggle(true);
|
|
1524
1519
|
this.cdr.detectChanges();
|
|
1525
|
-
|
|
1520
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
1526
1521
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
1527
1522
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
1528
1523
|
this.cdr.detectChanges();
|
|
@@ -398,6 +398,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
|
398
398
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
399
399
|
[height]="listHeight"
|
|
400
400
|
[show]="isOpen"
|
|
401
|
+
[id]="listBoxId"
|
|
401
402
|
[virtual]="virtual"
|
|
402
403
|
[type]="'dropdowngrid'"
|
|
403
404
|
[showStickyHeader]="showStickyHeader"
|
|
@@ -682,6 +683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
682
683
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
683
684
|
[height]="listHeight"
|
|
684
685
|
[show]="isOpen"
|
|
686
|
+
[id]="listBoxId"
|
|
685
687
|
[virtual]="virtual"
|
|
686
688
|
[type]="'dropdowngrid'"
|
|
687
689
|
[showStickyHeader]="showStickyHeader"
|
package/esm2020/common/util.mjs
CHANGED
|
@@ -408,9 +408,9 @@ export const updateActionSheetAdaptiveAppearance = (actionSheet, windowSize, ren
|
|
|
408
408
|
/**
|
|
409
409
|
* @hidden
|
|
410
410
|
*/
|
|
411
|
-
export const
|
|
411
|
+
export const setListBoxAriaLabelledBy = (optionsList, element, renderer) => {
|
|
412
412
|
const listBox = optionsList.wrapper.nativeElement.querySelector('kendo-list ul');
|
|
413
|
-
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
413
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby') || element.nativeElement.getAttribute('data-kendo-label-id');
|
|
414
414
|
if (ariaLabel) {
|
|
415
415
|
renderer.setAttribute(listBox, 'aria-labelledby', ariaLabel);
|
|
416
416
|
}
|
|
@@ -419,7 +419,7 @@ export const setListBoxAriaLabelLebBy = (optionsList, element, renderer) => {
|
|
|
419
419
|
* @hidden
|
|
420
420
|
*/
|
|
421
421
|
export const setActionSheetTitle = (element, actionSheetTitle) => {
|
|
422
|
-
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
422
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby') || element.nativeElement.getAttribute('data-kendo-label-id');
|
|
423
423
|
if (!actionSheetTitle && ariaLabel) {
|
|
424
424
|
return document.getElementById(ariaLabel).innerText;
|
|
425
425
|
}
|
|
@@ -10,7 +10,7 @@ import { merge, interval, Subscription } from 'rxjs';
|
|
|
10
10
|
import { concatMap, filter, map, skipWhile, take, takeUntil, tap } from 'rxjs/operators';
|
|
11
11
|
import { isDocumentAvailable, KendoInput, hasObservers, anyChanged, isChanged } from '@progress/kendo-angular-common';
|
|
12
12
|
import { Keys } from '@progress/kendo-angular-common';
|
|
13
|
-
import { isPresent, guid, getter, shuffleData, sameCharsOnly, matchText, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, windowSize, updateActionSheetAdaptiveAppearance,
|
|
13
|
+
import { isPresent, guid, getter, shuffleData, sameCharsOnly, matchText, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, windowSize, updateActionSheetAdaptiveAppearance, setListBoxAriaLabelledBy, setActionSheetTitle, animationDuration } from '../common/util';
|
|
14
14
|
import { SelectionService } from '../common/selection/selection.service';
|
|
15
15
|
import { NavigationService, NavigationEvent } from '../common/navigation/navigation.service';
|
|
16
16
|
import { ItemTemplateDirective } from '../common/templates/item-template.directive';
|
|
@@ -952,7 +952,7 @@ export class DropDownListComponent {
|
|
|
952
952
|
}
|
|
953
953
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
954
954
|
this.cdr.detectChanges();
|
|
955
|
-
|
|
955
|
+
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
956
956
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
957
957
|
this.selectionService.focus(this.selectionService.focused);
|
|
958
958
|
this.opened.emit();
|
|
@@ -1378,7 +1378,7 @@ export class DropDownListComponent {
|
|
|
1378
1378
|
this.windowSize = windowSize();
|
|
1379
1379
|
this.actionSheet.toggle(true);
|
|
1380
1380
|
this.cdr.detectChanges();
|
|
1381
|
-
|
|
1381
|
+
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
1382
1382
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
1383
1383
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
1384
1384
|
this.cdr.detectChanges();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2024 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 { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, animationDuration, isTruthy, windowSize,
|
|
5
|
+
import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, animationDuration, isTruthy, windowSize, setListBoxAriaLabelledBy, setActionSheetTitle, updateActionSheetAdaptiveAppearance } from '../common/util';
|
|
6
6
|
import { SearchBarComponent } from '../common/searchbar.component';
|
|
7
7
|
import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject, Injector } from '@angular/core';
|
|
8
8
|
import { Subscription, Subject, of, merge } from 'rxjs';
|
|
@@ -1654,13 +1654,9 @@ export class MultiSelectComponent {
|
|
|
1654
1654
|
popupWrapper.style.height = this.height;
|
|
1655
1655
|
popupWrapper.setAttribute("dir", this.direction);
|
|
1656
1656
|
const listBox = popupWrapper.querySelector('ul.k-list-ul');
|
|
1657
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
1658
|
-
if (ariaLabel) {
|
|
1659
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
1660
|
-
}
|
|
1661
1657
|
this.popupRef.popupOpen.subscribe(() => {
|
|
1662
1658
|
this.cdr.detectChanges();
|
|
1663
|
-
|
|
1659
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
1664
1660
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
1665
1661
|
this.selectionService.focus(this.selectionService.focused);
|
|
1666
1662
|
this.opened.emit();
|
|
@@ -1728,7 +1724,7 @@ export class MultiSelectComponent {
|
|
|
1728
1724
|
// Stores the current value state until the user either accepts or cancels it
|
|
1729
1725
|
this._valueHolder = [...this.value];
|
|
1730
1726
|
this.cdr.detectChanges();
|
|
1731
|
-
|
|
1727
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
1732
1728
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
1733
1729
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
1734
1730
|
this.cdr.detectChanges();
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-dropdowns',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
13
|
-
version: '16.3.0-develop.
|
|
12
|
+
publishDate: 1718627774,
|
|
13
|
+
version: '16.3.0-develop.8',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -38,8 +38,8 @@ const packageMetadata = {
|
|
|
38
38
|
name: '@progress/kendo-angular-dropdowns',
|
|
39
39
|
productName: 'Kendo UI for Angular',
|
|
40
40
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
41
|
-
publishDate:
|
|
42
|
-
version: '16.3.0-develop.
|
|
41
|
+
publishDate: 1718627774,
|
|
42
|
+
version: '16.3.0-develop.8',
|
|
43
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
44
44
|
};
|
|
45
45
|
|
|
@@ -447,9 +447,9 @@ const updateActionSheetAdaptiveAppearance = (actionSheet, windowSize, renderer)
|
|
|
447
447
|
/**
|
|
448
448
|
* @hidden
|
|
449
449
|
*/
|
|
450
|
-
const
|
|
450
|
+
const setListBoxAriaLabelledBy = (optionsList, element, renderer) => {
|
|
451
451
|
const listBox = optionsList.wrapper.nativeElement.querySelector('kendo-list ul');
|
|
452
|
-
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
452
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby') || element.nativeElement.getAttribute('data-kendo-label-id');
|
|
453
453
|
if (ariaLabel) {
|
|
454
454
|
renderer.setAttribute(listBox, 'aria-labelledby', ariaLabel);
|
|
455
455
|
}
|
|
@@ -458,7 +458,7 @@ const setListBoxAriaLabelLebBy = (optionsList, element, renderer) => {
|
|
|
458
458
|
* @hidden
|
|
459
459
|
*/
|
|
460
460
|
const setActionSheetTitle = (element, actionSheetTitle) => {
|
|
461
|
-
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
461
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby') || element.nativeElement.getAttribute('data-kendo-label-id');
|
|
462
462
|
if (!actionSheetTitle && ariaLabel) {
|
|
463
463
|
return document.getElementById(ariaLabel).innerText;
|
|
464
464
|
}
|
|
@@ -3957,7 +3957,7 @@ class AutoCompleteComponent {
|
|
|
3957
3957
|
}
|
|
3958
3958
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
3959
3959
|
this.cdr.detectChanges();
|
|
3960
|
-
|
|
3960
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
3961
3961
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
3962
3962
|
this.selectionService.focus(this.selectionService.focused);
|
|
3963
3963
|
this.opened.emit();
|
|
@@ -4041,7 +4041,7 @@ class AutoCompleteComponent {
|
|
|
4041
4041
|
openActionSheet() {
|
|
4042
4042
|
this.actionSheet.toggle(true);
|
|
4043
4043
|
this.cdr.detectChanges();
|
|
4044
|
-
|
|
4044
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
4045
4045
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
4046
4046
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
4047
4047
|
this.cdr.detectChanges();
|
|
@@ -5947,14 +5947,9 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5947
5947
|
this.renderer.setAttribute(popupWrapper, 'role', 'region');
|
|
5948
5948
|
this.renderer.setAttribute(popupWrapper, 'aria-label', this.messageFor('popupLabel'));
|
|
5949
5949
|
}
|
|
5950
|
-
const listBox = this.popupRef.popupElement.querySelector('ul');
|
|
5951
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
5952
|
-
if (ariaLabel) {
|
|
5953
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
5954
|
-
}
|
|
5955
5950
|
this.popupRef.popupOpen.subscribe(() => {
|
|
5956
5951
|
this.cdr.detectChanges();
|
|
5957
|
-
|
|
5952
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
5958
5953
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
5959
5954
|
this.selectionService.focus(this.selectionService.focused);
|
|
5960
5955
|
this.opened.emit();
|
|
@@ -6048,7 +6043,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6048
6043
|
this.windowSize = windowSize();
|
|
6049
6044
|
this.actionSheet.toggle(true);
|
|
6050
6045
|
this.cdr.detectChanges();
|
|
6051
|
-
|
|
6046
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
6052
6047
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
6053
6048
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
6054
6049
|
this.cdr.detectChanges();
|
|
@@ -7564,7 +7559,7 @@ class DropDownListComponent {
|
|
|
7564
7559
|
}
|
|
7565
7560
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
7566
7561
|
this.cdr.detectChanges();
|
|
7567
|
-
|
|
7562
|
+
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
7568
7563
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
7569
7564
|
this.selectionService.focus(this.selectionService.focused);
|
|
7570
7565
|
this.opened.emit();
|
|
@@ -7991,7 +7986,7 @@ class DropDownListComponent {
|
|
|
7991
7986
|
this.windowSize = windowSize();
|
|
7992
7987
|
this.actionSheet.toggle(true);
|
|
7993
7988
|
this.cdr.detectChanges();
|
|
7994
|
-
|
|
7989
|
+
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
7995
7990
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
7996
7991
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
7997
7992
|
this.cdr.detectChanges();
|
|
@@ -10586,13 +10581,9 @@ class MultiSelectComponent {
|
|
|
10586
10581
|
popupWrapper.style.height = this.height;
|
|
10587
10582
|
popupWrapper.setAttribute("dir", this.direction);
|
|
10588
10583
|
const listBox = popupWrapper.querySelector('ul.k-list-ul');
|
|
10589
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
10590
|
-
if (ariaLabel) {
|
|
10591
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
10592
|
-
}
|
|
10593
10584
|
this.popupRef.popupOpen.subscribe(() => {
|
|
10594
10585
|
this.cdr.detectChanges();
|
|
10595
|
-
|
|
10586
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
10596
10587
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
10597
10588
|
this.selectionService.focus(this.selectionService.focused);
|
|
10598
10589
|
this.opened.emit();
|
|
@@ -10660,7 +10651,7 @@ class MultiSelectComponent {
|
|
|
10660
10651
|
// Stores the current value state until the user either accepts or cancels it
|
|
10661
10652
|
this._valueHolder = [...this.value];
|
|
10662
10653
|
this.cdr.detectChanges();
|
|
10663
|
-
|
|
10654
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
10664
10655
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
10665
10656
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
10666
10657
|
this.cdr.detectChanges();
|
|
@@ -11782,6 +11773,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
|
11782
11773
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
11783
11774
|
[height]="listHeight"
|
|
11784
11775
|
[show]="isOpen"
|
|
11776
|
+
[id]="listBoxId"
|
|
11785
11777
|
[virtual]="virtual"
|
|
11786
11778
|
[type]="'dropdowngrid'"
|
|
11787
11779
|
[showStickyHeader]="showStickyHeader"
|
|
@@ -12066,6 +12058,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
12066
12058
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
12067
12059
|
[height]="listHeight"
|
|
12068
12060
|
[show]="isOpen"
|
|
12061
|
+
[id]="listBoxId"
|
|
12069
12062
|
[virtual]="virtual"
|
|
12070
12063
|
[type]="'dropdowngrid'"
|
|
12071
12064
|
[showStickyHeader]="showStickyHeader"
|
|
@@ -38,8 +38,8 @@ const packageMetadata = {
|
|
|
38
38
|
name: '@progress/kendo-angular-dropdowns',
|
|
39
39
|
productName: 'Kendo UI for Angular',
|
|
40
40
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
41
|
-
publishDate:
|
|
42
|
-
version: '16.3.0-develop.
|
|
41
|
+
publishDate: 1718627774,
|
|
42
|
+
version: '16.3.0-develop.8',
|
|
43
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
44
44
|
};
|
|
45
45
|
|
|
@@ -447,9 +447,9 @@ const updateActionSheetAdaptiveAppearance = (actionSheet, windowSize, renderer)
|
|
|
447
447
|
/**
|
|
448
448
|
* @hidden
|
|
449
449
|
*/
|
|
450
|
-
const
|
|
450
|
+
const setListBoxAriaLabelledBy = (optionsList, element, renderer) => {
|
|
451
451
|
const listBox = optionsList.wrapper.nativeElement.querySelector('kendo-list ul');
|
|
452
|
-
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
452
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby') || element.nativeElement.getAttribute('data-kendo-label-id');
|
|
453
453
|
if (ariaLabel) {
|
|
454
454
|
renderer.setAttribute(listBox, 'aria-labelledby', ariaLabel);
|
|
455
455
|
}
|
|
@@ -458,7 +458,7 @@ const setListBoxAriaLabelLebBy = (optionsList, element, renderer) => {
|
|
|
458
458
|
* @hidden
|
|
459
459
|
*/
|
|
460
460
|
const setActionSheetTitle = (element, actionSheetTitle) => {
|
|
461
|
-
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
|
|
461
|
+
const ariaLabel = element.nativeElement.getAttribute('aria-labelledby') || element.nativeElement.getAttribute('data-kendo-label-id');
|
|
462
462
|
if (!actionSheetTitle && ariaLabel) {
|
|
463
463
|
return document.getElementById(ariaLabel).innerText;
|
|
464
464
|
}
|
|
@@ -3951,7 +3951,7 @@ class AutoCompleteComponent {
|
|
|
3951
3951
|
}
|
|
3952
3952
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
3953
3953
|
this.cdr.detectChanges();
|
|
3954
|
-
|
|
3954
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
3955
3955
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
3956
3956
|
this.selectionService.focus(this.selectionService.focused);
|
|
3957
3957
|
this.opened.emit();
|
|
@@ -4035,7 +4035,7 @@ class AutoCompleteComponent {
|
|
|
4035
4035
|
openActionSheet() {
|
|
4036
4036
|
this.actionSheet.toggle(true);
|
|
4037
4037
|
this.cdr.detectChanges();
|
|
4038
|
-
|
|
4038
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
4039
4039
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
4040
4040
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
4041
4041
|
this.cdr.detectChanges();
|
|
@@ -5935,14 +5935,9 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5935
5935
|
this.renderer.setAttribute(popupWrapper, 'role', 'region');
|
|
5936
5936
|
this.renderer.setAttribute(popupWrapper, 'aria-label', this.messageFor('popupLabel'));
|
|
5937
5937
|
}
|
|
5938
|
-
const listBox = this.popupRef.popupElement.querySelector('ul');
|
|
5939
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
5940
|
-
if (ariaLabel) {
|
|
5941
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
5942
|
-
}
|
|
5943
5938
|
this.popupRef.popupOpen.subscribe(() => {
|
|
5944
5939
|
this.cdr.detectChanges();
|
|
5945
|
-
|
|
5940
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
5946
5941
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
5947
5942
|
this.selectionService.focus(this.selectionService.focused);
|
|
5948
5943
|
this.opened.emit();
|
|
@@ -6036,7 +6031,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6036
6031
|
this.windowSize = windowSize();
|
|
6037
6032
|
this.actionSheet.toggle(true);
|
|
6038
6033
|
this.cdr.detectChanges();
|
|
6039
|
-
|
|
6034
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
6040
6035
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
6041
6036
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
6042
6037
|
this.cdr.detectChanges();
|
|
@@ -7546,7 +7541,7 @@ class DropDownListComponent {
|
|
|
7546
7541
|
}
|
|
7547
7542
|
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
7548
7543
|
this.cdr.detectChanges();
|
|
7549
|
-
|
|
7544
|
+
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
7550
7545
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
7551
7546
|
this.selectionService.focus(this.selectionService.focused);
|
|
7552
7547
|
this.opened.emit();
|
|
@@ -7972,7 +7967,7 @@ class DropDownListComponent {
|
|
|
7972
7967
|
this.windowSize = windowSize();
|
|
7973
7968
|
this.actionSheet.toggle(true);
|
|
7974
7969
|
this.cdr.detectChanges();
|
|
7975
|
-
|
|
7970
|
+
setListBoxAriaLabelledBy(this.optionsList, this.wrapper, this.renderer);
|
|
7976
7971
|
this.title = setActionSheetTitle(this.wrapper, this.title);
|
|
7977
7972
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
7978
7973
|
this.cdr.detectChanges();
|
|
@@ -10561,13 +10556,9 @@ class MultiSelectComponent {
|
|
|
10561
10556
|
popupWrapper.style.height = this.height;
|
|
10562
10557
|
popupWrapper.setAttribute("dir", this.direction);
|
|
10563
10558
|
const listBox = popupWrapper.querySelector('ul.k-list-ul');
|
|
10564
|
-
const ariaLabel = this.searchbar.input.nativeElement.getAttribute('aria-labelledby');
|
|
10565
|
-
if (ariaLabel) {
|
|
10566
|
-
listBox.setAttribute('aria-labelledby', ariaLabel);
|
|
10567
|
-
}
|
|
10568
10559
|
this.popupRef.popupOpen.subscribe(() => {
|
|
10569
10560
|
this.cdr.detectChanges();
|
|
10570
|
-
|
|
10561
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
10571
10562
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
10572
10563
|
this.selectionService.focus(this.selectionService.focused);
|
|
10573
10564
|
this.opened.emit();
|
|
@@ -10635,7 +10626,7 @@ class MultiSelectComponent {
|
|
|
10635
10626
|
// Stores the current value state until the user either accepts or cancels it
|
|
10636
10627
|
this._valueHolder = [...this.value];
|
|
10637
10628
|
this.cdr.detectChanges();
|
|
10638
|
-
|
|
10629
|
+
setListBoxAriaLabelledBy(this.optionsList, this.searchbar.input, this.renderer);
|
|
10639
10630
|
this.title = setActionSheetTitle(this.searchbar.input, this.title);
|
|
10640
10631
|
updateActionSheetAdaptiveAppearance(this.actionSheet, this.windowSize, this.renderer);
|
|
10641
10632
|
this.cdr.detectChanges();
|
|
@@ -11755,6 +11746,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
|
|
|
11755
11746
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
11756
11747
|
[height]="listHeight"
|
|
11757
11748
|
[show]="isOpen"
|
|
11749
|
+
[id]="listBoxId"
|
|
11758
11750
|
[virtual]="virtual"
|
|
11759
11751
|
[type]="'dropdowngrid'"
|
|
11760
11752
|
[showStickyHeader]="showStickyHeader"
|
|
@@ -12039,6 +12031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
12039
12031
|
[fixedGroupTemplate]="fixedGroupTemplate"
|
|
12040
12032
|
[height]="listHeight"
|
|
12041
12033
|
[show]="isOpen"
|
|
12034
|
+
[id]="listBoxId"
|
|
12042
12035
|
[virtual]="virtual"
|
|
12043
12036
|
[type]="'dropdowngrid'"
|
|
12044
12037
|
[showStickyHeader]="showStickyHeader"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dropdowns",
|
|
3
|
-
"version": "16.3.0-develop.
|
|
3
|
+
"version": "16.3.0-develop.8",
|
|
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",
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"@angular/forms": "15 - 18",
|
|
26
26
|
"@angular/platform-browser": "15 - 18",
|
|
27
27
|
"@progress/kendo-licensing": "^1.0.2",
|
|
28
|
-
"@progress/kendo-angular-common": "16.3.0-develop.
|
|
29
|
-
"@progress/kendo-angular-l10n": "16.3.0-develop.
|
|
30
|
-
"@progress/kendo-angular-navigation": "16.3.0-develop.
|
|
31
|
-
"@progress/kendo-angular-popup": "16.3.0-develop.
|
|
32
|
-
"@progress/kendo-angular-icons": "16.3.0-develop.
|
|
33
|
-
"@progress/kendo-angular-treeview": "16.3.0-develop.
|
|
28
|
+
"@progress/kendo-angular-common": "16.3.0-develop.8",
|
|
29
|
+
"@progress/kendo-angular-l10n": "16.3.0-develop.8",
|
|
30
|
+
"@progress/kendo-angular-navigation": "16.3.0-develop.8",
|
|
31
|
+
"@progress/kendo-angular-popup": "16.3.0-develop.8",
|
|
32
|
+
"@progress/kendo-angular-icons": "16.3.0-develop.8",
|
|
33
|
+
"@progress/kendo-angular-treeview": "16.3.0-develop.8",
|
|
34
34
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"tslib": "^2.3.1",
|
|
38
|
-
"@progress/kendo-angular-schematics": "16.3.0-develop.
|
|
38
|
+
"@progress/kendo-angular-schematics": "16.3.0-develop.8",
|
|
39
39
|
"@progress/kendo-common": "^0.2.1"
|
|
40
40
|
},
|
|
41
41
|
"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': '16.3.0-develop.
|
|
7
|
+
'@progress/kendo-angular-inputs': '16.3.0-develop.8',
|
|
8
8
|
// peers of inputs
|
|
9
|
-
'@progress/kendo-angular-intl': '16.3.0-develop.
|
|
9
|
+
'@progress/kendo-angular-intl': '16.3.0-develop.8',
|
|
10
10
|
'@progress/kendo-drawing': '^1.17.2',
|
|
11
11
|
// Peer dependency of icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^3.0.0'
|