@progress/kendo-angular-dropdowns 21.2.0-develop.9 → 21.2.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/esm2022/autocomplete/autocomplete.component.mjs +2 -2
- package/esm2022/comboboxes/combobox.component.mjs +3 -3
- package/esm2022/common/navigation/navigation.service.mjs +2 -2
- package/esm2022/common/searchbar.component.mjs +2 -2
- package/esm2022/dropdownlist/dropdownlist.component.mjs +3 -3
- package/esm2022/dropdowntrees/multiselecttree.component.mjs +2 -2
- package/esm2022/multiselect/multiselect.component.mjs +23 -22
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-dropdowns.mjs +33 -32
- package/package.json +10 -10
- package/schematics/ngAdd/index.js +2 -2
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, Renderer2, forwardRef, ElementRef, Input, Output, EventEmitter, ContentChild, ViewChild, ViewContainerRef, TemplateRef, HostBinding, isDevMode, ChangeDetectorRef, NgZone, Injector } from '@angular/core';
|
|
6
|
-
import { isDocumentAvailable, KendoInput, hasObservers, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, SeparatorComponent, ResizeSensorComponent, TemplateContextDirective, guid,
|
|
6
|
+
import { isDocumentAvailable, KendoInput, hasObservers, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, SeparatorComponent, ResizeSensorComponent, TemplateContextDirective, guid, normalizeKeys } from '@progress/kendo-angular-common';
|
|
7
7
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
8
8
|
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
9
9
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -988,7 +988,7 @@ export class AutoCompleteComponent {
|
|
|
988
988
|
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
989
989
|
if (this.isOpen) {
|
|
990
990
|
event.originalEvent.preventDefault();
|
|
991
|
-
const code =
|
|
991
|
+
const code = normalizeKeys(event.originalEvent);
|
|
992
992
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
993
993
|
}
|
|
994
994
|
}));
|
|
@@ -18,7 +18,7 @@ import { NavigationService } from '../common/navigation/navigation.service';
|
|
|
18
18
|
import { DisabledItemsService } from '../common/disabled-items/disabled-items.service';
|
|
19
19
|
import { merge, of, Subject, Subscription } from 'rxjs';
|
|
20
20
|
import { catchError, filter, map, partition, tap, throttleTime } from 'rxjs/operators';
|
|
21
|
-
import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, MultiTabStop, SeparatorComponent, EventsOutsideAngularDirective, ResizeSensorComponent, Keys, TemplateContextDirective, guid,
|
|
21
|
+
import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, MultiTabStop, SeparatorComponent, EventsOutsideAngularDirective, ResizeSensorComponent, Keys, TemplateContextDirective, guid, normalizeKeys } from '@progress/kendo-angular-common';
|
|
22
22
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
23
23
|
import { isPresent, getter, isEmptyString, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, setListBoxAriaLabelledBy, setActionSheetTitle, animationDuration } from '../common/util';
|
|
24
24
|
import { NavigationAction } from '../common/navigation/navigation-action';
|
|
@@ -798,7 +798,7 @@ export class ComboBoxComponent extends MultiTabStop {
|
|
|
798
798
|
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
799
799
|
if (this.isOpen) {
|
|
800
800
|
event.originalEvent.preventDefault();
|
|
801
|
-
const code =
|
|
801
|
+
const code = normalizeKeys(event.originalEvent);
|
|
802
802
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
803
803
|
}
|
|
804
804
|
}));
|
|
@@ -1149,7 +1149,7 @@ export class ComboBoxComponent extends MultiTabStop {
|
|
|
1149
1149
|
return;
|
|
1150
1150
|
}
|
|
1151
1151
|
// on some keyboards, Home and End keys are mapped to Numpad keys
|
|
1152
|
-
const code =
|
|
1152
|
+
const code = normalizeKeys(event);
|
|
1153
1153
|
const isHomeKey = code === Keys.Home;
|
|
1154
1154
|
const isEndKey = code === Keys.End;
|
|
1155
1155
|
if (isHomeKey || isEndKey) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Injectable, EventEmitter } from '@angular/core';
|
|
6
6
|
import { isPresent } from '../util';
|
|
7
|
-
import { Keys,
|
|
7
|
+
import { Keys, normalizeKeys } from '@progress/kendo-angular-common';
|
|
8
8
|
import { NavigationAction } from './navigation-action';
|
|
9
9
|
import { DisabledItemsService } from '../disabled-items/disabled-items.service';
|
|
10
10
|
import { SelectionService } from '../selection/selection.service';
|
|
@@ -58,7 +58,7 @@ export class NavigationService {
|
|
|
58
58
|
}
|
|
59
59
|
process(args) {
|
|
60
60
|
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
61
|
-
const keyCode =
|
|
61
|
+
const keyCode = normalizeKeys(args.originalEvent);
|
|
62
62
|
const altKey = args.originalEvent.altKey;
|
|
63
63
|
const shiftKey = args.originalEvent.shiftKey;
|
|
64
64
|
const ctrlKey = args.originalEvent.ctrlKey || args.originalEvent.metaKey;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, Renderer2, Input, Output, EventEmitter, ElementRef, HostBinding, Injector, NgZone } from '@angular/core';
|
|
6
|
-
import { isDocumentAvailable, isObjectPresent, isSafari, removeHTMLAttributes, setHTMLAttributes, Keys, parseAttributes,
|
|
6
|
+
import { isDocumentAvailable, isObjectPresent, isSafari, removeHTMLAttributes, setHTMLAttributes, Keys, parseAttributes, normalizeKeys } from '@progress/kendo-angular-common';
|
|
7
7
|
import { combineStr, isJapanese } from './util';
|
|
8
8
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
9
9
|
import { Subscription } from 'rxjs';
|
|
@@ -270,7 +270,7 @@ export class SearchBarComponent {
|
|
|
270
270
|
}
|
|
271
271
|
handleKeydown(event) {
|
|
272
272
|
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
273
|
-
const keyCode =
|
|
273
|
+
const keyCode = normalizeKeys(event);
|
|
274
274
|
const keys = [Keys.ArrowUp, Keys.ArrowDown, Keys.ArrowLeft, Keys.ArrowRight, Keys.Enter,
|
|
275
275
|
Keys.Escape, Keys.Delete, Keys.Backspace, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp];
|
|
276
276
|
if (keys.indexOf(keyCode) > -1) {
|
|
@@ -8,7 +8,7 @@ import { validatePackage } from '@progress/kendo-licensing';
|
|
|
8
8
|
import { packageMetadata } from '../package-metadata';
|
|
9
9
|
import { merge, interval, Subscription } from 'rxjs';
|
|
10
10
|
import { concatMap, filter, map, skipWhile, take, takeUntil, tap } from 'rxjs/operators';
|
|
11
|
-
import { isDocumentAvailable, KendoInput, hasObservers, anyChanged, isChanged, EventsOutsideAngularDirective, ResizeSensorComponent, Keys, TemplateContextDirective, isSafari, guid,
|
|
11
|
+
import { isDocumentAvailable, KendoInput, hasObservers, anyChanged, isChanged, EventsOutsideAngularDirective, ResizeSensorComponent, Keys, TemplateContextDirective, isSafari, guid, normalizeKeys } from '@progress/kendo-angular-common';
|
|
12
12
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
13
13
|
import { isPresent, getter, shuffleData, sameCharsOnly, matchText, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass, isTruthy, setListBoxAriaLabelledBy, setActionSheetTitle, animationDuration } from '../common/util';
|
|
14
14
|
import { SelectionService } from '../common/selection/selection.service';
|
|
@@ -599,7 +599,7 @@ export class DropDownListComponent {
|
|
|
599
599
|
return;
|
|
600
600
|
}
|
|
601
601
|
// on some keyboards, Home and End keys are mapped to Numpad keys
|
|
602
|
-
const code =
|
|
602
|
+
const code = normalizeKeys(event);
|
|
603
603
|
const isHomeKey = code === Keys.Home;
|
|
604
604
|
const isEndKey = code === Keys.End;
|
|
605
605
|
const isHomeEnd = isHomeKey || isEndKey;
|
|
@@ -1062,7 +1062,7 @@ export class DropDownListComponent {
|
|
|
1062
1062
|
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
1063
1063
|
if (this.isOpen) {
|
|
1064
1064
|
event.originalEvent.preventDefault();
|
|
1065
|
-
const code =
|
|
1065
|
+
const code = normalizeKeys(event.originalEvent);
|
|
1066
1066
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
1067
1067
|
}
|
|
1068
1068
|
}));
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, HostBinding, Injector, Input, isDevMode, NgZone, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
|
|
6
6
|
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
|
-
import { anyChanged, guid, hasObservers, Keys, KendoInput, isDocumentAvailable, EventsOutsideAngularDirective, ResizeSensorComponent, TemplateContextDirective,
|
|
7
|
+
import { anyChanged, guid, hasObservers, Keys, KendoInput, isDocumentAvailable, EventsOutsideAngularDirective, ResizeSensorComponent, TemplateContextDirective, normalizeKeys } from '@progress/kendo-angular-common';
|
|
8
8
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
9
9
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
10
10
|
import { NavigationService } from '../common/navigation/navigation.service';
|
|
@@ -201,7 +201,7 @@ export class MultiSelectTreeComponent {
|
|
|
201
201
|
* @hidden
|
|
202
202
|
*/
|
|
203
203
|
handleKeydown(event, input) {
|
|
204
|
-
const code =
|
|
204
|
+
const code = normalizeKeys(event);
|
|
205
205
|
if (event.target === this.filterInput?.nativeElement &&
|
|
206
206
|
(code === Keys.ArrowLeft || code === Keys.ArrowRight)) {
|
|
207
207
|
return;
|
|
@@ -6,7 +6,7 @@ import { isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, g
|
|
|
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, Injector } from '@angular/core';
|
|
8
8
|
import { Subscription, Subject, of, merge } from 'rxjs';
|
|
9
|
-
import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, SeparatorComponent, ResizeSensorComponent, Keys, TemplateContextDirective, guid,
|
|
9
|
+
import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged, SuffixTemplateDirective, PrefixTemplateDirective, isControlRequired, SeparatorComponent, ResizeSensorComponent, Keys, TemplateContextDirective, guid, normalizeKeys } from '@progress/kendo-angular-common';
|
|
10
10
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
11
11
|
import { catchError, filter, map, take, tap } from 'rxjs/operators';
|
|
12
12
|
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
@@ -956,7 +956,7 @@ export class MultiSelectComponent {
|
|
|
956
956
|
* @hidden
|
|
957
957
|
*/
|
|
958
958
|
handleNavigate(event) {
|
|
959
|
-
const code =
|
|
959
|
+
const code = normalizeKeys(event);
|
|
960
960
|
const navigateInput = this.text && code !== Keys.ArrowDown && code !== Keys.ArrowUp;
|
|
961
961
|
const selectValue = this.text && code === Keys.Enter || code === Keys.Escape;
|
|
962
962
|
const deleteTag = !this.text && code === Keys.Backspace && this.tags.length > 0;
|
|
@@ -1218,7 +1218,7 @@ export class MultiSelectComponent {
|
|
|
1218
1218
|
merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
1219
1219
|
if (this.isOpen) {
|
|
1220
1220
|
event.originalEvent.preventDefault();
|
|
1221
|
-
const code =
|
|
1221
|
+
const code = normalizeKeys(event.originalEvent);
|
|
1222
1222
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
1223
1223
|
}
|
|
1224
1224
|
})
|
|
@@ -1410,7 +1410,8 @@ export class MultiSelectComponent {
|
|
|
1410
1410
|
}
|
|
1411
1411
|
}
|
|
1412
1412
|
handleKeydown(event) {
|
|
1413
|
-
|
|
1413
|
+
const code = normalizeKeys(event);
|
|
1414
|
+
if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && code === Keys.KeyA) {
|
|
1414
1415
|
event.preventDefault();
|
|
1415
1416
|
this.handleSelectAll();
|
|
1416
1417
|
}
|
|
@@ -1809,21 +1810,21 @@ export class MultiSelectComponent {
|
|
|
1809
1810
|
<ng-container kendoMultiSelectLocalizedMessages
|
|
1810
1811
|
i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
|
|
1811
1812
|
noDataText="NO DATA FOUND"
|
|
1812
|
-
|
|
1813
|
+
|
|
1813
1814
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
1814
1815
|
clearTitle="clear"
|
|
1815
|
-
|
|
1816
|
+
|
|
1816
1817
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
1817
1818
|
popupLabel="Options list"
|
|
1818
|
-
|
|
1819
|
+
|
|
1819
1820
|
i18n-adaptiveCloseButtonTitle="kendo.multiselect.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode."
|
|
1820
1821
|
adaptiveCloseButtonTitle="Close"
|
|
1821
|
-
|
|
1822
|
+
|
|
1822
1823
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
1823
1824
|
useCustomValueText="{{ 'Use "{customValue}"' }}"
|
|
1824
1825
|
>
|
|
1825
1826
|
</ng-container>
|
|
1826
|
-
|
|
1827
|
+
|
|
1827
1828
|
<ng-container
|
|
1828
1829
|
kendoDropDownSharedEvents
|
|
1829
1830
|
[hostElement]="hostElement"
|
|
@@ -1881,7 +1882,7 @@ export class MultiSelectComponent {
|
|
|
1881
1882
|
(click)="handleClick()"
|
|
1882
1883
|
/>
|
|
1883
1884
|
</div>
|
|
1884
|
-
|
|
1885
|
+
|
|
1885
1886
|
@if (!loading && !readonly && clearButton && (tags?.length || text?.length)) {
|
|
1886
1887
|
<span
|
|
1887
1888
|
class="k-clear-value"
|
|
@@ -1915,7 +1916,7 @@ export class MultiSelectComponent {
|
|
|
1915
1916
|
</span>
|
|
1916
1917
|
}
|
|
1917
1918
|
</ng-container>
|
|
1918
|
-
|
|
1919
|
+
|
|
1919
1920
|
<ng-template #popupTemplate>
|
|
1920
1921
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
1921
1922
|
</ng-template>
|
|
@@ -1923,7 +1924,7 @@ export class MultiSelectComponent {
|
|
|
1923
1924
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
1924
1925
|
}
|
|
1925
1926
|
<ng-container #container></ng-container>
|
|
1926
|
-
|
|
1927
|
+
|
|
1927
1928
|
<kendo-adaptive-renderer
|
|
1928
1929
|
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
1929
1930
|
[title]="adaptiveTitle"
|
|
@@ -1935,7 +1936,7 @@ export class MultiSelectComponent {
|
|
|
1935
1936
|
(navigate)="handleNavigate($event)"
|
|
1936
1937
|
[searchBarValue]="text">
|
|
1937
1938
|
</kendo-adaptive-renderer>
|
|
1938
|
-
|
|
1939
|
+
|
|
1939
1940
|
<ng-template #sharedPopupActionSheetTemplate>
|
|
1940
1941
|
<!--header template-->
|
|
1941
1942
|
@if (headerTemplate) {
|
|
@@ -2025,21 +2026,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2025
2026
|
<ng-container kendoMultiSelectLocalizedMessages
|
|
2026
2027
|
i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
|
|
2027
2028
|
noDataText="NO DATA FOUND"
|
|
2028
|
-
|
|
2029
|
+
|
|
2029
2030
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
2030
2031
|
clearTitle="clear"
|
|
2031
|
-
|
|
2032
|
+
|
|
2032
2033
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
2033
2034
|
popupLabel="Options list"
|
|
2034
|
-
|
|
2035
|
+
|
|
2035
2036
|
i18n-adaptiveCloseButtonTitle="kendo.multiselect.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode."
|
|
2036
2037
|
adaptiveCloseButtonTitle="Close"
|
|
2037
|
-
|
|
2038
|
+
|
|
2038
2039
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
2039
2040
|
useCustomValueText="{{ 'Use "{customValue}"' }}"
|
|
2040
2041
|
>
|
|
2041
2042
|
</ng-container>
|
|
2042
|
-
|
|
2043
|
+
|
|
2043
2044
|
<ng-container
|
|
2044
2045
|
kendoDropDownSharedEvents
|
|
2045
2046
|
[hostElement]="hostElement"
|
|
@@ -2097,7 +2098,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2097
2098
|
(click)="handleClick()"
|
|
2098
2099
|
/>
|
|
2099
2100
|
</div>
|
|
2100
|
-
|
|
2101
|
+
|
|
2101
2102
|
@if (!loading && !readonly && clearButton && (tags?.length || text?.length)) {
|
|
2102
2103
|
<span
|
|
2103
2104
|
class="k-clear-value"
|
|
@@ -2131,7 +2132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2131
2132
|
</span>
|
|
2132
2133
|
}
|
|
2133
2134
|
</ng-container>
|
|
2134
|
-
|
|
2135
|
+
|
|
2135
2136
|
<ng-template #popupTemplate>
|
|
2136
2137
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
2137
2138
|
</ng-template>
|
|
@@ -2139,7 +2140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2139
2140
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
2140
2141
|
}
|
|
2141
2142
|
<ng-container #container></ng-container>
|
|
2142
|
-
|
|
2143
|
+
|
|
2143
2144
|
<kendo-adaptive-renderer
|
|
2144
2145
|
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
2145
2146
|
[title]="adaptiveTitle"
|
|
@@ -2151,7 +2152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2151
2152
|
(navigate)="handleNavigate($event)"
|
|
2152
2153
|
[searchBarValue]="text">
|
|
2153
2154
|
</kendo-adaptive-renderer>
|
|
2154
|
-
|
|
2155
|
+
|
|
2155
2156
|
<ng-template #sharedPopupActionSheetTemplate>
|
|
2156
2157
|
<!--header template-->
|
|
2157
2158
|
@if (headerTemplate) {
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '21.2.0
|
|
13
|
+
publishDate: 1764751513,
|
|
14
|
+
version: '21.2.0',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { EventEmitter, Component, Input, HostBinding, Output, Directive, Injectable, HostListener, ViewChildren, ViewChild, forwardRef, isDevMode, ViewContainerRef, ContentChild, ContentChildren, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
7
7
|
import * as i10 from '@progress/kendo-angular-common';
|
|
8
|
-
import { isDocumentAvailable, isObjectPresent, removeHTMLAttributes, parseAttributes, isSafari,
|
|
8
|
+
import { isDocumentAvailable, isObjectPresent, removeHTMLAttributes, parseAttributes, isSafari, normalizeKeys, Keys, setHTMLAttributes, replaceMessagePlaceholder, isChanged, TemplateContextDirective, ResizeSensorComponent, closest as closest$1, isControlRequired, guid, hasObservers, KendoInput, SuffixTemplateDirective, PrefixTemplateDirective, SeparatorComponent, MultiTabStop, anyChanged, EventsOutsideAngularDirective, ToggleButtonTabStopDirective, ResizeBatchService, KENDO_ADORNMENTS, KENDO_TOGGLEBUTTONTABSTOP } from '@progress/kendo-angular-common';
|
|
9
9
|
export { PrefixTemplateDirective, SeparatorComponent, SuffixTemplateDirective, ToggleButtonTabStopDirective } from '@progress/kendo-angular-common';
|
|
10
10
|
import * as i7 from '@progress/kendo-angular-utils';
|
|
11
11
|
import { AdaptiveService } from '@progress/kendo-angular-utils';
|
|
@@ -37,8 +37,8 @@ const packageMetadata = {
|
|
|
37
37
|
productName: 'Kendo UI for Angular',
|
|
38
38
|
productCode: 'KENDOUIANGULAR',
|
|
39
39
|
productCodes: ['KENDOUIANGULAR'],
|
|
40
|
-
publishDate:
|
|
41
|
-
version: '21.2.0
|
|
40
|
+
publishDate: 1764751513,
|
|
41
|
+
version: '21.2.0',
|
|
42
42
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
43
43
|
};
|
|
44
44
|
|
|
@@ -673,7 +673,7 @@ class SearchBarComponent {
|
|
|
673
673
|
}
|
|
674
674
|
handleKeydown(event) {
|
|
675
675
|
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
676
|
-
const keyCode =
|
|
676
|
+
const keyCode = normalizeKeys(event);
|
|
677
677
|
const keys = [Keys.ArrowUp, Keys.ArrowDown, Keys.ArrowLeft, Keys.ArrowRight, Keys.Enter,
|
|
678
678
|
Keys.Escape, Keys.Delete, Keys.Backspace, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp];
|
|
679
679
|
if (keys.indexOf(keyCode) > -1) {
|
|
@@ -1536,7 +1536,7 @@ class NavigationService {
|
|
|
1536
1536
|
}
|
|
1537
1537
|
process(args) {
|
|
1538
1538
|
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
1539
|
-
const keyCode =
|
|
1539
|
+
const keyCode = normalizeKeys(args.originalEvent);
|
|
1540
1540
|
const altKey = args.originalEvent.altKey;
|
|
1541
1541
|
const shiftKey = args.originalEvent.shiftKey;
|
|
1542
1542
|
const ctrlKey = args.originalEvent.ctrlKey || args.originalEvent.metaKey;
|
|
@@ -4249,7 +4249,7 @@ class AutoCompleteComponent {
|
|
|
4249
4249
|
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
4250
4250
|
if (this.isOpen) {
|
|
4251
4251
|
event.originalEvent.preventDefault();
|
|
4252
|
-
const code =
|
|
4252
|
+
const code = normalizeKeys(event.originalEvent);
|
|
4253
4253
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
4254
4254
|
}
|
|
4255
4255
|
}));
|
|
@@ -5754,7 +5754,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
5754
5754
|
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
5755
5755
|
if (this.isOpen) {
|
|
5756
5756
|
event.originalEvent.preventDefault();
|
|
5757
|
-
const code =
|
|
5757
|
+
const code = normalizeKeys(event.originalEvent);
|
|
5758
5758
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
5759
5759
|
}
|
|
5760
5760
|
}));
|
|
@@ -6105,7 +6105,7 @@ class ComboBoxComponent extends MultiTabStop {
|
|
|
6105
6105
|
return;
|
|
6106
6106
|
}
|
|
6107
6107
|
// on some keyboards, Home and End keys are mapped to Numpad keys
|
|
6108
|
-
const code =
|
|
6108
|
+
const code = normalizeKeys(event);
|
|
6109
6109
|
const isHomeKey = code === Keys.Home;
|
|
6110
6110
|
const isEndKey = code === Keys.End;
|
|
6111
6111
|
if (isHomeKey || isEndKey) {
|
|
@@ -7735,7 +7735,7 @@ class DropDownListComponent {
|
|
|
7735
7735
|
return;
|
|
7736
7736
|
}
|
|
7737
7737
|
// on some keyboards, Home and End keys are mapped to Numpad keys
|
|
7738
|
-
const code =
|
|
7738
|
+
const code = normalizeKeys(event);
|
|
7739
7739
|
const isHomeKey = code === Keys.Home;
|
|
7740
7740
|
const isEndKey = code === Keys.End;
|
|
7741
7741
|
const isHomeEnd = isHomeKey || isEndKey;
|
|
@@ -8198,7 +8198,7 @@ class DropDownListComponent {
|
|
|
8198
8198
|
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
8199
8199
|
if (this.isOpen) {
|
|
8200
8200
|
event.originalEvent.preventDefault();
|
|
8201
|
-
const code =
|
|
8201
|
+
const code = normalizeKeys(event.originalEvent);
|
|
8202
8202
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
8203
8203
|
}
|
|
8204
8204
|
}));
|
|
@@ -10431,7 +10431,7 @@ class MultiSelectComponent {
|
|
|
10431
10431
|
* @hidden
|
|
10432
10432
|
*/
|
|
10433
10433
|
handleNavigate(event) {
|
|
10434
|
-
const code =
|
|
10434
|
+
const code = normalizeKeys(event);
|
|
10435
10435
|
const navigateInput = this.text && code !== Keys.ArrowDown && code !== Keys.ArrowUp;
|
|
10436
10436
|
const selectValue = this.text && code === Keys.Enter || code === Keys.Escape;
|
|
10437
10437
|
const deleteTag = !this.text && code === Keys.Backspace && this.tags.length > 0;
|
|
@@ -10693,7 +10693,7 @@ class MultiSelectComponent {
|
|
|
10693
10693
|
merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
10694
10694
|
if (this.isOpen) {
|
|
10695
10695
|
event.originalEvent.preventDefault();
|
|
10696
|
-
const code =
|
|
10696
|
+
const code = normalizeKeys(event.originalEvent);
|
|
10697
10697
|
this.optionsList.scrollWithOnePage(NavigationAction[code]);
|
|
10698
10698
|
}
|
|
10699
10699
|
})
|
|
@@ -10885,7 +10885,8 @@ class MultiSelectComponent {
|
|
|
10885
10885
|
}
|
|
10886
10886
|
}
|
|
10887
10887
|
handleKeydown(event) {
|
|
10888
|
-
|
|
10888
|
+
const code = normalizeKeys(event);
|
|
10889
|
+
if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && code === Keys.KeyA) {
|
|
10889
10890
|
event.preventDefault();
|
|
10890
10891
|
this.handleSelectAll();
|
|
10891
10892
|
}
|
|
@@ -11284,21 +11285,21 @@ class MultiSelectComponent {
|
|
|
11284
11285
|
<ng-container kendoMultiSelectLocalizedMessages
|
|
11285
11286
|
i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
|
|
11286
11287
|
noDataText="NO DATA FOUND"
|
|
11287
|
-
|
|
11288
|
+
|
|
11288
11289
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
11289
11290
|
clearTitle="clear"
|
|
11290
|
-
|
|
11291
|
+
|
|
11291
11292
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
11292
11293
|
popupLabel="Options list"
|
|
11293
|
-
|
|
11294
|
+
|
|
11294
11295
|
i18n-adaptiveCloseButtonTitle="kendo.multiselect.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode."
|
|
11295
11296
|
adaptiveCloseButtonTitle="Close"
|
|
11296
|
-
|
|
11297
|
+
|
|
11297
11298
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
11298
11299
|
useCustomValueText="{{ 'Use "{customValue}"' }}"
|
|
11299
11300
|
>
|
|
11300
11301
|
</ng-container>
|
|
11301
|
-
|
|
11302
|
+
|
|
11302
11303
|
<ng-container
|
|
11303
11304
|
kendoDropDownSharedEvents
|
|
11304
11305
|
[hostElement]="hostElement"
|
|
@@ -11356,7 +11357,7 @@ class MultiSelectComponent {
|
|
|
11356
11357
|
(click)="handleClick()"
|
|
11357
11358
|
/>
|
|
11358
11359
|
</div>
|
|
11359
|
-
|
|
11360
|
+
|
|
11360
11361
|
@if (!loading && !readonly && clearButton && (tags?.length || text?.length)) {
|
|
11361
11362
|
<span
|
|
11362
11363
|
class="k-clear-value"
|
|
@@ -11390,7 +11391,7 @@ class MultiSelectComponent {
|
|
|
11390
11391
|
</span>
|
|
11391
11392
|
}
|
|
11392
11393
|
</ng-container>
|
|
11393
|
-
|
|
11394
|
+
|
|
11394
11395
|
<ng-template #popupTemplate>
|
|
11395
11396
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
11396
11397
|
</ng-template>
|
|
@@ -11398,7 +11399,7 @@ class MultiSelectComponent {
|
|
|
11398
11399
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
11399
11400
|
}
|
|
11400
11401
|
<ng-container #container></ng-container>
|
|
11401
|
-
|
|
11402
|
+
|
|
11402
11403
|
<kendo-adaptive-renderer
|
|
11403
11404
|
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
11404
11405
|
[title]="adaptiveTitle"
|
|
@@ -11410,7 +11411,7 @@ class MultiSelectComponent {
|
|
|
11410
11411
|
(navigate)="handleNavigate($event)"
|
|
11411
11412
|
[searchBarValue]="text">
|
|
11412
11413
|
</kendo-adaptive-renderer>
|
|
11413
|
-
|
|
11414
|
+
|
|
11414
11415
|
<ng-template #sharedPopupActionSheetTemplate>
|
|
11415
11416
|
<!--header template-->
|
|
11416
11417
|
@if (headerTemplate) {
|
|
@@ -11500,21 +11501,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11500
11501
|
<ng-container kendoMultiSelectLocalizedMessages
|
|
11501
11502
|
i18n-noDataText="kendo.multiselect.noDataText|The text displayed in the popup when there are no items"
|
|
11502
11503
|
noDataText="NO DATA FOUND"
|
|
11503
|
-
|
|
11504
|
+
|
|
11504
11505
|
i18n-clearTitle="kendo.multiselect.clearTitle|The title of the clear button"
|
|
11505
11506
|
clearTitle="clear"
|
|
11506
|
-
|
|
11507
|
+
|
|
11507
11508
|
i18n-popupLabel="kendo.multiselect.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
|
|
11508
11509
|
popupLabel="Options list"
|
|
11509
|
-
|
|
11510
|
+
|
|
11510
11511
|
i18n-adaptiveCloseButtonTitle="kendo.multiselect.adaptiveCloseButtonTitle|The title of the Close button of the ActionSheet that is rendered instead of the Popup when using small screen devices in adaptive mode."
|
|
11511
11512
|
adaptiveCloseButtonTitle="Close"
|
|
11512
|
-
|
|
11513
|
+
|
|
11513
11514
|
i18n-useCustomValueText="kendo.multiselect.useCustomValueText|The text displayed when the user types a custom value that is not in the list of options."
|
|
11514
11515
|
useCustomValueText="{{ 'Use "{customValue}"' }}"
|
|
11515
11516
|
>
|
|
11516
11517
|
</ng-container>
|
|
11517
|
-
|
|
11518
|
+
|
|
11518
11519
|
<ng-container
|
|
11519
11520
|
kendoDropDownSharedEvents
|
|
11520
11521
|
[hostElement]="hostElement"
|
|
@@ -11572,7 +11573,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11572
11573
|
(click)="handleClick()"
|
|
11573
11574
|
/>
|
|
11574
11575
|
</div>
|
|
11575
|
-
|
|
11576
|
+
|
|
11576
11577
|
@if (!loading && !readonly && clearButton && (tags?.length || text?.length)) {
|
|
11577
11578
|
<span
|
|
11578
11579
|
class="k-clear-value"
|
|
@@ -11606,7 +11607,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11606
11607
|
</span>
|
|
11607
11608
|
}
|
|
11608
11609
|
</ng-container>
|
|
11609
|
-
|
|
11610
|
+
|
|
11610
11611
|
<ng-template #popupTemplate>
|
|
11611
11612
|
<ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
|
|
11612
11613
|
</ng-template>
|
|
@@ -11614,7 +11615,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11614
11615
|
<kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
|
|
11615
11616
|
}
|
|
11616
11617
|
<ng-container #container></ng-container>
|
|
11617
|
-
|
|
11618
|
+
|
|
11618
11619
|
<kendo-adaptive-renderer
|
|
11619
11620
|
[sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
|
|
11620
11621
|
[title]="adaptiveTitle"
|
|
@@ -11626,7 +11627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
11626
11627
|
(navigate)="handleNavigate($event)"
|
|
11627
11628
|
[searchBarValue]="text">
|
|
11628
11629
|
</kendo-adaptive-renderer>
|
|
11629
|
-
|
|
11630
|
+
|
|
11630
11631
|
<ng-template #sharedPopupActionSheetTemplate>
|
|
11631
11632
|
<!--header template-->
|
|
11632
11633
|
@if (headerTemplate) {
|
|
@@ -15501,7 +15502,7 @@ class MultiSelectTreeComponent {
|
|
|
15501
15502
|
* @hidden
|
|
15502
15503
|
*/
|
|
15503
15504
|
handleKeydown(event, input) {
|
|
15504
|
-
const code =
|
|
15505
|
+
const code = normalizeKeys(event);
|
|
15505
15506
|
if (event.target === this.filterInput?.nativeElement &&
|
|
15506
15507
|
(code === Keys.ArrowLeft || code === Keys.ArrowRight)) {
|
|
15507
15508
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-dropdowns",
|
|
3
|
-
"version": "21.2.0
|
|
3
|
+
"version": "21.2.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",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"package": {
|
|
101
101
|
"productName": "Kendo UI for Angular",
|
|
102
102
|
"productCode": "KENDOUIANGULAR",
|
|
103
|
-
"publishDate":
|
|
103
|
+
"publishDate": 1764751513,
|
|
104
104
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
105
105
|
}
|
|
106
106
|
},
|
|
@@ -111,18 +111,18 @@
|
|
|
111
111
|
"@angular/forms": "18 - 21",
|
|
112
112
|
"@angular/platform-browser": "18 - 21",
|
|
113
113
|
"@progress/kendo-licensing": "^1.7.0",
|
|
114
|
-
"@progress/kendo-angular-common": "21.2.0
|
|
115
|
-
"@progress/kendo-angular-utils": "21.2.0
|
|
116
|
-
"@progress/kendo-angular-l10n": "21.2.0
|
|
117
|
-
"@progress/kendo-angular-navigation": "21.2.0
|
|
118
|
-
"@progress/kendo-angular-popup": "21.2.0
|
|
119
|
-
"@progress/kendo-angular-icons": "21.2.0
|
|
120
|
-
"@progress/kendo-angular-treeview": "21.2.0
|
|
114
|
+
"@progress/kendo-angular-common": "21.2.0",
|
|
115
|
+
"@progress/kendo-angular-utils": "21.2.0",
|
|
116
|
+
"@progress/kendo-angular-l10n": "21.2.0",
|
|
117
|
+
"@progress/kendo-angular-navigation": "21.2.0",
|
|
118
|
+
"@progress/kendo-angular-popup": "21.2.0",
|
|
119
|
+
"@progress/kendo-angular-icons": "21.2.0",
|
|
120
|
+
"@progress/kendo-angular-treeview": "21.2.0",
|
|
121
121
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
122
122
|
},
|
|
123
123
|
"dependencies": {
|
|
124
124
|
"tslib": "^2.3.1",
|
|
125
|
-
"@progress/kendo-angular-schematics": "21.2.0
|
|
125
|
+
"@progress/kendo-angular-schematics": "21.2.0",
|
|
126
126
|
"@progress/kendo-common": "^1.0.1"
|
|
127
127
|
},
|
|
128
128
|
"schematics": "./schematics/collection.json",
|
|
@@ -9,9 +9,9 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DropDownsModule', package: 'dropdowns', peerDependencies: {
|
|
11
11
|
// peers of the treeview
|
|
12
|
-
'@progress/kendo-angular-inputs': '21.2.0
|
|
12
|
+
'@progress/kendo-angular-inputs': '21.2.0',
|
|
13
13
|
// peers of inputs
|
|
14
|
-
'@progress/kendo-angular-intl': '21.2.0
|
|
14
|
+
'@progress/kendo-angular-intl': '21.2.0',
|
|
15
15
|
'@progress/kendo-drawing': '^1.17.2',
|
|
16
16
|
// Peer dependency of icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0'
|