@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.
@@ -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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(event.originalEvent);
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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(event.originalEvent);
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 = normalizeNumpadKeys(event);
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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(args.originalEvent);
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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(event);
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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(event);
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 = normalizeNumpadKeys(event.originalEvent);
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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(event);
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, normalizeNumpadKeys } from '@progress/kendo-angular-common';
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 = normalizeNumpadKeys(event);
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 = normalizeNumpadKeys(event.originalEvent);
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
- if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.code === Keys.KeyA) {
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 &quot;{customValue}&quot;' }}"
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 &quot;{customValue}&quot;' }}"
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: 1764346590,
14
- version: '21.2.0-develop.9',
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, normalizeNumpadKeys, 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';
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: 1764346590,
41
- version: '21.2.0-develop.9',
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 = normalizeNumpadKeys(event);
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 = normalizeNumpadKeys(args.originalEvent);
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 = normalizeNumpadKeys(event.originalEvent);
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 = normalizeNumpadKeys(event.originalEvent);
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 = normalizeNumpadKeys(event);
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 = normalizeNumpadKeys(event);
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 = normalizeNumpadKeys(event.originalEvent);
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 = normalizeNumpadKeys(event);
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 = normalizeNumpadKeys(event.originalEvent);
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
- if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.code === Keys.KeyA) {
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 &quot;{customValue}&quot;' }}"
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 &quot;{customValue}&quot;' }}"
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 = normalizeNumpadKeys(event);
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-develop.9",
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": 1764346590,
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-develop.9",
115
- "@progress/kendo-angular-utils": "21.2.0-develop.9",
116
- "@progress/kendo-angular-l10n": "21.2.0-develop.9",
117
- "@progress/kendo-angular-navigation": "21.2.0-develop.9",
118
- "@progress/kendo-angular-popup": "21.2.0-develop.9",
119
- "@progress/kendo-angular-icons": "21.2.0-develop.9",
120
- "@progress/kendo-angular-treeview": "21.2.0-develop.9",
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-develop.9",
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-develop.9',
12
+ '@progress/kendo-angular-inputs': '21.2.0',
13
13
  // peers of inputs
14
- '@progress/kendo-angular-intl': '21.2.0-develop.9',
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'