@progress/kendo-angular-dropdowns 16.3.0-develop.9 → 16.3.0
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/dropdowntrees/dropdowntree.component.d.ts +1 -1
- package/esm2020/common/navigation/navigation.service.mjs +8 -0
- package/esm2020/dropdownlist/dropdownlist.component.mjs +3 -1
- package/esm2020/dropdowntrees/dropdowntree.component.mjs +10 -6
- package/esm2020/dropdowntrees/multiselecttree.component.mjs +3 -1
- package/esm2020/package-metadata.mjs +2 -2
- package/fesm2015/progress-kendo-angular-dropdowns.mjs +26 -10
- package/fesm2020/progress-kendo-angular-dropdowns.mjs +26 -10
- package/package.json +8 -8
- package/schematics/ngAdd/index.js +2 -2
|
@@ -507,7 +507,7 @@ export declare class DropDownTreeComponent implements OnInit, OnDestroy, OnChang
|
|
|
507
507
|
/**
|
|
508
508
|
* @hidden
|
|
509
509
|
*/
|
|
510
|
-
handleKeydown(event: any): void;
|
|
510
|
+
handleKeydown(event: any, input?: HTMLInputElement): void;
|
|
511
511
|
/**
|
|
512
512
|
* Focuses a specific item of the DropDownTree based on a provided index in the format of `1_1`.
|
|
513
513
|
* The targeted item should be expanded in order for it to be focused.
|
|
@@ -57,14 +57,22 @@ export class NavigationService {
|
|
|
57
57
|
const altKey = args.originalEvent.altKey;
|
|
58
58
|
const shiftKey = args.originalEvent.shiftKey;
|
|
59
59
|
const ctrlKey = args.originalEvent.ctrlKey || args.originalEvent.metaKey;
|
|
60
|
+
const openOnSpace = args.openOnSpace;
|
|
61
|
+
const closeOnSpace = args.closeOnSpace;
|
|
60
62
|
let index;
|
|
61
63
|
let action = NavigationAction.Undefined;
|
|
62
64
|
if (altKey && keyCode === Keys.ArrowDown) {
|
|
63
65
|
action = NavigationAction.Open;
|
|
64
66
|
}
|
|
67
|
+
else if (openOnSpace && keyCode === Keys.Space) {
|
|
68
|
+
action = NavigationAction.Open;
|
|
69
|
+
}
|
|
65
70
|
else if (altKey && keyCode === Keys.ArrowUp) {
|
|
66
71
|
action = NavigationAction.Close;
|
|
67
72
|
}
|
|
73
|
+
else if (closeOnSpace && keyCode === Keys.Space) {
|
|
74
|
+
action = NavigationAction.Close;
|
|
75
|
+
}
|
|
68
76
|
else if (shiftKey && keyCode === Keys.ArrowUp) {
|
|
69
77
|
action = NavigationAction.SelectPrevious;
|
|
70
78
|
}
|
|
@@ -621,7 +621,9 @@ export class DropDownListComponent {
|
|
|
621
621
|
current: focused + offset,
|
|
622
622
|
max: this.dataService.itemsCount - 1,
|
|
623
623
|
min: this.defaultItem ? -1 : 0,
|
|
624
|
-
originalEvent: eventData
|
|
624
|
+
originalEvent: eventData,
|
|
625
|
+
openOnSpace: !this.isOpen,
|
|
626
|
+
closeOnSpace: this.isOpen && !input && !(event.target instanceof HTMLInputElement)
|
|
625
627
|
});
|
|
626
628
|
const leftRightKeys = (action === NavigationAction.Left) || (action === NavigationAction.Right) && this.leftRightArrowsNavigation;
|
|
627
629
|
if (action !== NavigationAction.Undefined &&
|
|
@@ -721,7 +721,7 @@ export class DropDownTreeComponent {
|
|
|
721
721
|
/**
|
|
722
722
|
* @hidden
|
|
723
723
|
*/
|
|
724
|
-
handleKeydown(event) {
|
|
724
|
+
handleKeydown(event, input) {
|
|
725
725
|
if (this.disabled || this.readonly) {
|
|
726
726
|
return;
|
|
727
727
|
}
|
|
@@ -734,7 +734,9 @@ export class DropDownTreeComponent {
|
|
|
734
734
|
}
|
|
735
735
|
const eventData = event;
|
|
736
736
|
this.navigationService.process({
|
|
737
|
-
originalEvent: eventData
|
|
737
|
+
originalEvent: eventData,
|
|
738
|
+
openOnSpace: !this.isOpen,
|
|
739
|
+
closeOnSpace: this.isOpen && !input && !(event.target instanceof HTMLInputElement)
|
|
738
740
|
});
|
|
739
741
|
}
|
|
740
742
|
/**
|
|
@@ -1376,8 +1378,9 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
1376
1378
|
#filterInput
|
|
1377
1379
|
(input)="handleFilterInputChange($event.target)"
|
|
1378
1380
|
[filterInput]="filterable && !touchEnabled"
|
|
1379
|
-
(keydown.arrowdown)="handleKeydown($event)"
|
|
1380
|
-
(keydown.alt.arrowup)="handleKeydown($event)"
|
|
1381
|
+
(keydown.arrowdown)="handleKeydown($event, filterInput)"
|
|
1382
|
+
(keydown.alt.arrowup)="handleKeydown($event, filterInput)"
|
|
1383
|
+
(keydown.escape)="handleKeydown($event, filterInput)"
|
|
1381
1384
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
1382
1385
|
[value]="filter"
|
|
1383
1386
|
class="k-input-inner"
|
|
@@ -1581,8 +1584,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1581
1584
|
#filterInput
|
|
1582
1585
|
(input)="handleFilterInputChange($event.target)"
|
|
1583
1586
|
[filterInput]="filterable && !touchEnabled"
|
|
1584
|
-
(keydown.arrowdown)="handleKeydown($event)"
|
|
1585
|
-
(keydown.alt.arrowup)="handleKeydown($event)"
|
|
1587
|
+
(keydown.arrowdown)="handleKeydown($event, filterInput)"
|
|
1588
|
+
(keydown.alt.arrowup)="handleKeydown($event, filterInput)"
|
|
1589
|
+
(keydown.escape)="handleKeydown($event, filterInput)"
|
|
1586
1590
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
1587
1591
|
[value]="filter"
|
|
1588
1592
|
class="k-input-inner"
|
|
@@ -379,7 +379,9 @@ export class MultiSelectTreeComponent {
|
|
|
379
379
|
}
|
|
380
380
|
const eventData = event;
|
|
381
381
|
const action = this.navigationService.process({
|
|
382
|
-
originalEvent: eventData
|
|
382
|
+
originalEvent: eventData,
|
|
383
|
+
openOnSpace: !this.isOpen,
|
|
384
|
+
closeOnSpace: false
|
|
383
385
|
});
|
|
384
386
|
if (action === NavigationAction.Open) {
|
|
385
387
|
eventData.preventDefault();
|
|
@@ -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
|
|
12
|
+
publishDate: 1718884880,
|
|
13
|
+
version: '16.3.0',
|
|
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
|
|
41
|
+
publishDate: 1718884880,
|
|
42
|
+
version: '16.3.0',
|
|
43
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
44
44
|
};
|
|
45
45
|
|
|
@@ -1532,14 +1532,22 @@ class NavigationService {
|
|
|
1532
1532
|
const altKey = args.originalEvent.altKey;
|
|
1533
1533
|
const shiftKey = args.originalEvent.shiftKey;
|
|
1534
1534
|
const ctrlKey = args.originalEvent.ctrlKey || args.originalEvent.metaKey;
|
|
1535
|
+
const openOnSpace = args.openOnSpace;
|
|
1536
|
+
const closeOnSpace = args.closeOnSpace;
|
|
1535
1537
|
let index;
|
|
1536
1538
|
let action = NavigationAction.Undefined;
|
|
1537
1539
|
if (altKey && keyCode === Keys.ArrowDown) {
|
|
1538
1540
|
action = NavigationAction.Open;
|
|
1539
1541
|
}
|
|
1542
|
+
else if (openOnSpace && keyCode === Keys.Space) {
|
|
1543
|
+
action = NavigationAction.Open;
|
|
1544
|
+
}
|
|
1540
1545
|
else if (altKey && keyCode === Keys.ArrowUp) {
|
|
1541
1546
|
action = NavigationAction.Close;
|
|
1542
1547
|
}
|
|
1548
|
+
else if (closeOnSpace && keyCode === Keys.Space) {
|
|
1549
|
+
action = NavigationAction.Close;
|
|
1550
|
+
}
|
|
1543
1551
|
else if (shiftKey && keyCode === Keys.ArrowUp) {
|
|
1544
1552
|
action = NavigationAction.SelectPrevious;
|
|
1545
1553
|
}
|
|
@@ -7228,7 +7236,9 @@ class DropDownListComponent {
|
|
|
7228
7236
|
current: focused + offset,
|
|
7229
7237
|
max: this.dataService.itemsCount - 1,
|
|
7230
7238
|
min: this.defaultItem ? -1 : 0,
|
|
7231
|
-
originalEvent: eventData
|
|
7239
|
+
originalEvent: eventData,
|
|
7240
|
+
openOnSpace: !this.isOpen,
|
|
7241
|
+
closeOnSpace: this.isOpen && !input && !(event.target instanceof HTMLInputElement)
|
|
7232
7242
|
});
|
|
7233
7243
|
const leftRightKeys = (action === NavigationAction.Left) || (action === NavigationAction.Right) && this.leftRightArrowsNavigation;
|
|
7234
7244
|
if (action !== NavigationAction.Undefined &&
|
|
@@ -12834,7 +12844,7 @@ class DropDownTreeComponent {
|
|
|
12834
12844
|
/**
|
|
12835
12845
|
* @hidden
|
|
12836
12846
|
*/
|
|
12837
|
-
handleKeydown(event) {
|
|
12847
|
+
handleKeydown(event, input) {
|
|
12838
12848
|
var _a;
|
|
12839
12849
|
if (this.disabled || this.readonly) {
|
|
12840
12850
|
return;
|
|
@@ -12848,7 +12858,9 @@ class DropDownTreeComponent {
|
|
|
12848
12858
|
}
|
|
12849
12859
|
const eventData = event;
|
|
12850
12860
|
this.navigationService.process({
|
|
12851
|
-
originalEvent: eventData
|
|
12861
|
+
originalEvent: eventData,
|
|
12862
|
+
openOnSpace: !this.isOpen,
|
|
12863
|
+
closeOnSpace: this.isOpen && !input && !(event.target instanceof HTMLInputElement)
|
|
12852
12864
|
});
|
|
12853
12865
|
}
|
|
12854
12866
|
/**
|
|
@@ -13490,8 +13502,9 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
13490
13502
|
#filterInput
|
|
13491
13503
|
(input)="handleFilterInputChange($event.target)"
|
|
13492
13504
|
[filterInput]="filterable && !touchEnabled"
|
|
13493
|
-
(keydown.arrowdown)="handleKeydown($event)"
|
|
13494
|
-
(keydown.alt.arrowup)="handleKeydown($event)"
|
|
13505
|
+
(keydown.arrowdown)="handleKeydown($event, filterInput)"
|
|
13506
|
+
(keydown.alt.arrowup)="handleKeydown($event, filterInput)"
|
|
13507
|
+
(keydown.escape)="handleKeydown($event, filterInput)"
|
|
13495
13508
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
13496
13509
|
[value]="filter"
|
|
13497
13510
|
class="k-input-inner"
|
|
@@ -13695,8 +13708,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
13695
13708
|
#filterInput
|
|
13696
13709
|
(input)="handleFilterInputChange($event.target)"
|
|
13697
13710
|
[filterInput]="filterable && !touchEnabled"
|
|
13698
|
-
(keydown.arrowdown)="handleKeydown($event)"
|
|
13699
|
-
(keydown.alt.arrowup)="handleKeydown($event)"
|
|
13711
|
+
(keydown.arrowdown)="handleKeydown($event, filterInput)"
|
|
13712
|
+
(keydown.alt.arrowup)="handleKeydown($event, filterInput)"
|
|
13713
|
+
(keydown.escape)="handleKeydown($event, filterInput)"
|
|
13700
13714
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
13701
13715
|
[value]="filter"
|
|
13702
13716
|
class="k-input-inner"
|
|
@@ -14706,7 +14720,9 @@ class MultiSelectTreeComponent {
|
|
|
14706
14720
|
}
|
|
14707
14721
|
const eventData = event;
|
|
14708
14722
|
const action = this.navigationService.process({
|
|
14709
|
-
originalEvent: eventData
|
|
14723
|
+
originalEvent: eventData,
|
|
14724
|
+
openOnSpace: !this.isOpen,
|
|
14725
|
+
closeOnSpace: false
|
|
14710
14726
|
});
|
|
14711
14727
|
if (action === NavigationAction.Open) {
|
|
14712
14728
|
eventData.preventDefault();
|
|
@@ -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
|
|
41
|
+
publishDate: 1718884880,
|
|
42
|
+
version: '16.3.0',
|
|
43
43
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
44
44
|
};
|
|
45
45
|
|
|
@@ -1531,14 +1531,22 @@ class NavigationService {
|
|
|
1531
1531
|
const altKey = args.originalEvent.altKey;
|
|
1532
1532
|
const shiftKey = args.originalEvent.shiftKey;
|
|
1533
1533
|
const ctrlKey = args.originalEvent.ctrlKey || args.originalEvent.metaKey;
|
|
1534
|
+
const openOnSpace = args.openOnSpace;
|
|
1535
|
+
const closeOnSpace = args.closeOnSpace;
|
|
1534
1536
|
let index;
|
|
1535
1537
|
let action = NavigationAction.Undefined;
|
|
1536
1538
|
if (altKey && keyCode === Keys.ArrowDown) {
|
|
1537
1539
|
action = NavigationAction.Open;
|
|
1538
1540
|
}
|
|
1541
|
+
else if (openOnSpace && keyCode === Keys.Space) {
|
|
1542
|
+
action = NavigationAction.Open;
|
|
1543
|
+
}
|
|
1539
1544
|
else if (altKey && keyCode === Keys.ArrowUp) {
|
|
1540
1545
|
action = NavigationAction.Close;
|
|
1541
1546
|
}
|
|
1547
|
+
else if (closeOnSpace && keyCode === Keys.Space) {
|
|
1548
|
+
action = NavigationAction.Close;
|
|
1549
|
+
}
|
|
1542
1550
|
else if (shiftKey && keyCode === Keys.ArrowUp) {
|
|
1543
1551
|
action = NavigationAction.SelectPrevious;
|
|
1544
1552
|
}
|
|
@@ -7210,7 +7218,9 @@ class DropDownListComponent {
|
|
|
7210
7218
|
current: focused + offset,
|
|
7211
7219
|
max: this.dataService.itemsCount - 1,
|
|
7212
7220
|
min: this.defaultItem ? -1 : 0,
|
|
7213
|
-
originalEvent: eventData
|
|
7221
|
+
originalEvent: eventData,
|
|
7222
|
+
openOnSpace: !this.isOpen,
|
|
7223
|
+
closeOnSpace: this.isOpen && !input && !(event.target instanceof HTMLInputElement)
|
|
7214
7224
|
});
|
|
7215
7225
|
const leftRightKeys = (action === NavigationAction.Left) || (action === NavigationAction.Right) && this.leftRightArrowsNavigation;
|
|
7216
7226
|
if (action !== NavigationAction.Undefined &&
|
|
@@ -12801,7 +12811,7 @@ class DropDownTreeComponent {
|
|
|
12801
12811
|
/**
|
|
12802
12812
|
* @hidden
|
|
12803
12813
|
*/
|
|
12804
|
-
handleKeydown(event) {
|
|
12814
|
+
handleKeydown(event, input) {
|
|
12805
12815
|
if (this.disabled || this.readonly) {
|
|
12806
12816
|
return;
|
|
12807
12817
|
}
|
|
@@ -12814,7 +12824,9 @@ class DropDownTreeComponent {
|
|
|
12814
12824
|
}
|
|
12815
12825
|
const eventData = event;
|
|
12816
12826
|
this.navigationService.process({
|
|
12817
|
-
originalEvent: eventData
|
|
12827
|
+
originalEvent: eventData,
|
|
12828
|
+
openOnSpace: !this.isOpen,
|
|
12829
|
+
closeOnSpace: this.isOpen && !input && !(event.target instanceof HTMLInputElement)
|
|
12818
12830
|
});
|
|
12819
12831
|
}
|
|
12820
12832
|
/**
|
|
@@ -13456,8 +13468,9 @@ DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
13456
13468
|
#filterInput
|
|
13457
13469
|
(input)="handleFilterInputChange($event.target)"
|
|
13458
13470
|
[filterInput]="filterable && !touchEnabled"
|
|
13459
|
-
(keydown.arrowdown)="handleKeydown($event)"
|
|
13460
|
-
(keydown.alt.arrowup)="handleKeydown($event)"
|
|
13471
|
+
(keydown.arrowdown)="handleKeydown($event, filterInput)"
|
|
13472
|
+
(keydown.alt.arrowup)="handleKeydown($event, filterInput)"
|
|
13473
|
+
(keydown.escape)="handleKeydown($event, filterInput)"
|
|
13461
13474
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
13462
13475
|
[value]="filter"
|
|
13463
13476
|
class="k-input-inner"
|
|
@@ -13661,8 +13674,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
13661
13674
|
#filterInput
|
|
13662
13675
|
(input)="handleFilterInputChange($event.target)"
|
|
13663
13676
|
[filterInput]="filterable && !touchEnabled"
|
|
13664
|
-
(keydown.arrowdown)="handleKeydown($event)"
|
|
13665
|
-
(keydown.alt.arrowup)="handleKeydown($event)"
|
|
13677
|
+
(keydown.arrowdown)="handleKeydown($event, filterInput)"
|
|
13678
|
+
(keydown.alt.arrowup)="handleKeydown($event, filterInput)"
|
|
13679
|
+
(keydown.escape)="handleKeydown($event, filterInput)"
|
|
13666
13680
|
[attr.aria-label]="messageFor('filterInputLabel')"
|
|
13667
13681
|
[value]="filter"
|
|
13668
13682
|
class="k-input-inner"
|
|
@@ -14669,7 +14683,9 @@ class MultiSelectTreeComponent {
|
|
|
14669
14683
|
}
|
|
14670
14684
|
const eventData = event;
|
|
14671
14685
|
const action = this.navigationService.process({
|
|
14672
|
-
originalEvent: eventData
|
|
14686
|
+
originalEvent: eventData,
|
|
14687
|
+
openOnSpace: !this.isOpen,
|
|
14688
|
+
closeOnSpace: false
|
|
14673
14689
|
});
|
|
14674
14690
|
if (action === NavigationAction.Open) {
|
|
14675
14691
|
eventData.preventDefault();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dropdowns",
|
|
3
|
-
"version": "16.3.0
|
|
3
|
+
"version": "16.3.0",
|
|
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
|
|
29
|
-
"@progress/kendo-angular-l10n": "16.3.0
|
|
30
|
-
"@progress/kendo-angular-navigation": "16.3.0
|
|
31
|
-
"@progress/kendo-angular-popup": "16.3.0
|
|
32
|
-
"@progress/kendo-angular-icons": "16.3.0
|
|
33
|
-
"@progress/kendo-angular-treeview": "16.3.0
|
|
28
|
+
"@progress/kendo-angular-common": "16.3.0",
|
|
29
|
+
"@progress/kendo-angular-l10n": "16.3.0",
|
|
30
|
+
"@progress/kendo-angular-navigation": "16.3.0",
|
|
31
|
+
"@progress/kendo-angular-popup": "16.3.0",
|
|
32
|
+
"@progress/kendo-angular-icons": "16.3.0",
|
|
33
|
+
"@progress/kendo-angular-treeview": "16.3.0",
|
|
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
|
|
38
|
+
"@progress/kendo-angular-schematics": "16.3.0",
|
|
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
|
|
7
|
+
'@progress/kendo-angular-inputs': '16.3.0',
|
|
8
8
|
// peers of inputs
|
|
9
|
-
'@progress/kendo-angular-intl': '16.3.0
|
|
9
|
+
'@progress/kendo-angular-intl': '16.3.0',
|
|
10
10
|
'@progress/kendo-drawing': '^1.17.2',
|
|
11
11
|
// Peer dependency of icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^3.0.0'
|