@progress/kendo-angular-layout 19.3.0-develop.31 → 19.3.0-develop.33

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.
@@ -7,7 +7,7 @@ import { Component, ElementRef, Input, NgZone, Renderer2, TemplateRef, Output, E
7
7
  import { closestItem, itemIndex } from '../common/dom-queries';
8
8
  import { DRAWER_ITEM_INDEX } from './models/constants';
9
9
  import { DrawerService } from './drawer.service';
10
- import { Keys } from '@progress/kendo-angular-common';
10
+ import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
11
11
  import { ACTIVE_NESTED_LINK_SELECTOR, nestedLink } from './util';
12
12
  import { DrawerListSelectEvent } from './events/drawer-list-select.event';
13
13
  import { DrawerItemComponent } from './item.component';
@@ -52,15 +52,16 @@ export class DrawerListComponent {
52
52
  const nativeElement = this.element.nativeElement;
53
53
  this.subscriptions.add(this.renderer.listen(nativeElement, 'click', this.clickHandler.bind(this)));
54
54
  this.subscriptions.add(this.renderer.listen(nativeElement, 'keydown', (e) => {
55
- const isEnterOrSpace = e.keyCode === Keys.Enter || e.keyCode === Keys.Space;
56
- const isArrowUpOrDown = e.keyCode === Keys.ArrowUp || e.keyCode === Keys.ArrowDown;
55
+ const code = normalizeNumpadKeys(e);
56
+ const isEnterOrSpace = code === Keys.Enter || code === Keys.Space;
57
+ const isArrowUpOrDown = code === Keys.ArrowUp || code === Keys.ArrowDown;
57
58
  if (isEnterOrSpace) {
58
59
  this.onEnterOrSpaceKeyDown(e);
59
60
  }
60
61
  else if (isArrowUpOrDown) {
61
62
  if (e.target.classList.contains('k-drawer-item')) {
62
63
  e.preventDefault();
63
- const keyName = e.keyCode === Keys.ArrowUp ? 'arrowUp' : 'arrowDown';
64
+ const keyName = code === Keys.ArrowUp ? 'arrowUp' : 'arrowDown';
64
65
  this.drawerService.changeFocusedItem(this.items, keyName, this.renderer);
65
66
  }
66
67
  }
@@ -206,7 +206,7 @@ export class ExpansionPanelComponent {
206
206
  * @hidden
207
207
  */
208
208
  keyDownHandler(ev) {
209
- const isEnterOrSpace = ev.keyCode === Keys.Enter || ev.keyCode === Keys.Space;
209
+ const isEnterOrSpace = ev.code === Keys.Enter || ev.code === Keys.NumpadEnter || ev.code === Keys.Space;
210
210
  if (this.disabled || !isEnterOrSpace) {
211
211
  return;
212
212
  }
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1754576557,
14
- version: '19.3.0-develop.31',
13
+ publishDate: 1754589691,
14
+ version: '19.3.0-develop.33',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
16
16
  };
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, QueryList, ViewChildren, isDevMode } from '@angular/core';
6
6
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
7
- import { Keys, shouldShowValidationUI, getLicenseMessage, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
7
+ import { Keys, shouldShowValidationUI, getLicenseMessage, WatermarkOverlayComponent, normalizeNumpadKeys } from '@progress/kendo-angular-common';
8
8
  import { validatePackage } from '@progress/kendo-licensing';
9
9
  import { packageMetadata } from '../package-metadata';
10
10
  import { PanelBarExpandMode } from './panelbar-expand-mode';
@@ -181,6 +181,7 @@ export class PanelBarComponent {
181
181
  return {
182
182
  [Keys.Space]: () => this.selectFocusedItem(),
183
183
  [Keys.Enter]: () => this.selectFocusedItem(),
184
+ [Keys.NumpadEnter]: () => this.selectFocusedItem(),
184
185
  [Keys.ArrowUp]: () => this.focusPreviousItem(),
185
186
  [this.invertKeys(Keys.ArrowLeft, Keys.ArrowRight)]: () => this.collapseItem(),
186
187
  [Keys.ArrowDown]: () => this.focusNextItem(),
@@ -267,12 +268,14 @@ export class PanelBarComponent {
267
268
  */
268
269
  onComponentKeyDown(event) {
269
270
  if (event.target === this.elementRef.nativeElement) {
270
- if (event.keyCode === Keys.Space || event.keyCode === Keys.ArrowUp || event.keyCode === Keys.ArrowDown ||
271
- event.keyCode === Keys.ArrowLeft || event.keyCode === Keys.ArrowRight || event.keyCode === Keys.Home ||
272
- event.keyCode === Keys.End || event.keyCode === Keys.PageUp || event.keyCode === Keys.PageDown) {
271
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
272
+ const code = normalizeNumpadKeys(event);
273
+ if (code === Keys.Space || code === Keys.ArrowUp || code === Keys.ArrowDown ||
274
+ code === Keys.ArrowLeft || code === Keys.ArrowRight || code === Keys.Home ||
275
+ code === Keys.End || code === Keys.PageUp || code === Keys.PageDown) {
273
276
  event.preventDefault();
274
277
  }
275
- const handler = this.keyBindings[event.keyCode];
278
+ const handler = this.keyBindings[code];
276
279
  //TODO: check if next item is disabled and skip operation?
277
280
  if (handler) {
278
281
  handler();
@@ -5,7 +5,7 @@
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
  import { ChangeDetectorRef, Component, ElementRef, Host, HostBinding, Input, Renderer2 } from '@angular/core';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
- import { DraggableDirective, Keys, isObjectPresent, parseAttributes, removeHTMLAttributes, setHTMLAttributes } from '@progress/kendo-angular-common';
8
+ import { DraggableDirective, Keys, isObjectPresent, normalizeNumpadKeys, parseAttributes, removeHTMLAttributes, setHTMLAttributes } from '@progress/kendo-angular-common';
9
9
  import { SplitterService } from './splitter.service';
10
10
  import { Subscription, of } from 'rxjs';
11
11
  import { delay, filter, map, switchMap, takeUntil, tap } from 'rxjs/operators';
@@ -226,9 +226,9 @@ export class SplitterBarComponent {
226
226
  return panes.length === 2 && panes[1].collapsed;
227
227
  }
228
228
  onKeyDown(event) {
229
- const keyCode = event.keyCode;
229
+ const keyCode = normalizeNumpadKeys(event);
230
230
  const shouldToggle = event.ctrlKey || event.metaKey;
231
- if (keyCode === Keys.Enter) {
231
+ if (keyCode === Keys.Enter || keyCode === Keys.NumpadEnter) {
232
232
  event.preventDefault();
233
233
  this.togglePane();
234
234
  }
@@ -3,8 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Injectable, NgZone, ChangeDetectorRef, EventEmitter } from '@angular/core';
6
- import { hasObservers, PreventableEvent } from '@progress/kendo-angular-common';
7
- import { Keys } from '@progress/kendo-angular-common';
6
+ import { hasObservers, Keys, normalizeNumpadKeys, PreventableEvent } from '@progress/kendo-angular-common';
8
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
8
  import { isPresent } from '../common/util';
10
9
  import * as i0 from "@angular/core";
@@ -18,6 +17,7 @@ handlers[Keys.ArrowDown] = 'down';
18
17
  handlers[Keys.Home] = 'home';
19
18
  handlers[Keys.End] = 'end';
20
19
  handlers[Keys.Enter] = 'enter';
20
+ handlers[Keys.NumpadEnter] = 'enter';
21
21
  handlers[Keys.Space] = 'enter';
22
22
  const handlersRTL = Object.assign({}, handlers);
23
23
  handlersRTL[Keys.ArrowLeft] = 'right';
@@ -99,7 +99,9 @@ export class StepperService {
99
99
  }
100
100
  keydown(e) {
101
101
  const current = this.focusedStep || this.currentStep;
102
- const handler = this.handlers[e.keyCode];
102
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
103
+ const code = normalizeNumpadKeys(e);
104
+ const handler = this.handlers[code];
103
105
  if (!isPresent(current)) {
104
106
  return;
105
107
  }
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Injectable, NgZone } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { Keys } from '@progress/kendo-angular-common';
7
+ import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
8
8
  import { isArrowKey, isHorizontalArrowKey, isNavigationKey, isVerticalArrowKey } from '../common/util';
9
9
  import { SelectEvent } from './events';
10
10
  import { isTabClosable, getActiveTab, isTabElement, isTablistHorizontal, getTabByIndex, getTabHeaderByIndex, resetTabSelection } from './util';
@@ -25,17 +25,18 @@ export class TabStripService {
25
25
  if (!isTabElement(event.target)) {
26
26
  return;
27
27
  }
28
- const key = event.keyCode;
29
- if (this.shouldHandleKey(key)) {
28
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
29
+ const code = normalizeNumpadKeys(event);
30
+ if (this.shouldHandleKey(code)) {
30
31
  event.preventDefault();
31
32
  }
32
33
  else {
33
34
  return;
34
35
  }
35
- if (isNavigationKey(key) || isArrowKey(key)) {
36
- this.onNavigate(key);
36
+ if (isNavigationKey(code) || isArrowKey(code)) {
37
+ this.onNavigate(code);
37
38
  }
38
- else if (key === Keys.Delete || key === Keys.Backspace) {
39
+ else if (code === Keys.Delete || code === Keys.Backspace) {
39
40
  this.onDelete();
40
41
  }
41
42
  }
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /* eslint-disable no-unused-expressions */
6
6
  import { Injectable, NgZone, Renderer2 } from '@angular/core';
7
- import { Keys } from '@progress/kendo-angular-common';
7
+ import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
8
8
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { BehaviorSubject } from 'rxjs';
10
10
  import { focusableSelector } from '@progress/kendo-angular-common';
@@ -36,11 +36,11 @@ export class TileLayoutKeyboardNavigationService {
36
36
  this.localizationSubscription.unsubscribe();
37
37
  }
38
38
  onKeyDown(event, elem, focusableItems, settings) {
39
- const keyCode = event.keyCode;
39
+ const keyCode = normalizeNumpadKeys(event);
40
40
  const isTileFocused = document.activeElement === elem;
41
41
  const focusedTile = settings.items.find(item => item.elem.nativeElement === elem);
42
42
  const col = getCurrentCol(focusedTile, settings, this.rtl);
43
- const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].some(key => key === event.keyCode);
43
+ const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].some(key => key === keyCode);
44
44
  this.lastFocused = focusedTile;
45
45
  if (keyCode === Keys.Enter && isTileFocused && focusableItems.length > 0) {
46
46
  this.changeTabIndex('0', elem, focusableItems);
@@ -58,7 +58,7 @@ export class TimelineCardComponent {
58
58
  if (!this.navigable) {
59
59
  return;
60
60
  }
61
- if (event.keyCode === Keys.Space || event.keyCode === Keys.Enter) {
61
+ if (event.code === Keys.Space || event.code === Keys.Enter || event.code === Keys.NumpadEnter) {
62
62
  event.preventDefault();
63
63
  if (this.collapsible && this.orientation === 'vertical') {
64
64
  this.expanded = !this.expanded;
@@ -6,7 +6,7 @@ import { ChangeDetectorRef, Component, ElementRef, Input, NgZone, QueryList, Ren
6
6
  import { caretAltLeftIcon, caretAltRightIcon } from '@progress/kendo-svg-icons';
7
7
  import { Subscription } from 'rxjs';
8
8
  import { TimelineCardComponent } from './timeline-card.component';
9
- import { Keys, ResizeSensorComponent, guid, isChanged, isDocumentAvailable, isPresent } from '@progress/kendo-angular-common';
9
+ import { Keys, ResizeSensorComponent, guid, isChanged, isDocumentAvailable, isPresent, normalizeNumpadKeys } from '@progress/kendo-angular-common';
10
10
  import { animate, state, style, transition, trigger } from '@angular/animations';
11
11
  import { TimelineService } from './timeline.service';
12
12
  import { LocalizationService } from '@progress/kendo-angular-l10n';
@@ -306,17 +306,18 @@ export class TimelineHorizontalComponent {
306
306
  if (!this.navigable) {
307
307
  return;
308
308
  }
309
+ const code = normalizeNumpadKeys(event);
309
310
  event.preventDefault();
310
- if (event.keyCode === Keys.Home) {
311
+ if (code === Keys.Home) {
311
312
  this.onHomeKey();
312
313
  }
313
- else if (event.keyCode === Keys.End) {
314
+ else if (code === Keys.End) {
314
315
  this.onEndKey();
315
316
  }
316
- else if (event.keyCode === Keys.ArrowRight) {
317
+ else if (code === Keys.ArrowRight) {
317
318
  this.onArrowRightKey();
318
319
  }
319
- else if (event.keyCode === Keys.ArrowLeft) {
320
+ else if (code === Keys.ArrowLeft) {
320
321
  this.onArrowLeftKey();
321
322
  }
322
323
  }
@@ -7,7 +7,7 @@ import { Injectable, Directive, Optional, isDevMode, Component, SkipSelf, Host,
7
7
  import * as i1 from '@progress/kendo-angular-l10n';
8
8
  import { LocalizationService, L10N_PREFIX, ComponentMessages } from '@progress/kendo-angular-l10n';
9
9
  import * as i1$1 from '@progress/kendo-angular-common';
10
- import { Keys, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, isDocumentAvailable, anyChanged, isObjectPresent, removeHTMLAttributes, parseAttributes, setHTMLAttributes, DraggableDirective, PreventableEvent as PreventableEvent$1, guid, ResizeSensorComponent, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged } from '@progress/kendo-angular-common';
10
+ import { Keys, getLicenseMessage, shouldShowValidationUI, normalizeNumpadKeys, WatermarkOverlayComponent, isDocumentAvailable, anyChanged, isObjectPresent, removeHTMLAttributes, parseAttributes, setHTMLAttributes, DraggableDirective, PreventableEvent as PreventableEvent$1, guid, ResizeSensorComponent, hasObservers, isPresent as isPresent$1, focusableSelector, isChanged } from '@progress/kendo-angular-common';
11
11
  import { validatePackage } from '@progress/kendo-licensing';
12
12
  import * as i1$2 from '@angular/animations';
13
13
  import { trigger, state, style, transition, animate, AUTO_STYLE } from '@angular/animations';
@@ -29,8 +29,8 @@ const packageMetadata = {
29
29
  productName: 'Kendo UI for Angular',
30
30
  productCode: 'KENDOUIANGULAR',
31
31
  productCodes: ['KENDOUIANGULAR'],
32
- publishDate: 1754576557,
33
- version: '19.3.0-develop.31',
32
+ publishDate: 1754589691,
33
+ version: '19.3.0-develop.33',
34
34
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
35
35
  };
36
36
 
@@ -1241,6 +1241,7 @@ class PanelBarComponent {
1241
1241
  return {
1242
1242
  [Keys.Space]: () => this.selectFocusedItem(),
1243
1243
  [Keys.Enter]: () => this.selectFocusedItem(),
1244
+ [Keys.NumpadEnter]: () => this.selectFocusedItem(),
1244
1245
  [Keys.ArrowUp]: () => this.focusPreviousItem(),
1245
1246
  [this.invertKeys(Keys.ArrowLeft, Keys.ArrowRight)]: () => this.collapseItem(),
1246
1247
  [Keys.ArrowDown]: () => this.focusNextItem(),
@@ -1327,12 +1328,14 @@ class PanelBarComponent {
1327
1328
  */
1328
1329
  onComponentKeyDown(event) {
1329
1330
  if (event.target === this.elementRef.nativeElement) {
1330
- if (event.keyCode === Keys.Space || event.keyCode === Keys.ArrowUp || event.keyCode === Keys.ArrowDown ||
1331
- event.keyCode === Keys.ArrowLeft || event.keyCode === Keys.ArrowRight || event.keyCode === Keys.Home ||
1332
- event.keyCode === Keys.End || event.keyCode === Keys.PageUp || event.keyCode === Keys.PageDown) {
1331
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
1332
+ const code = normalizeNumpadKeys(event);
1333
+ if (code === Keys.Space || code === Keys.ArrowUp || code === Keys.ArrowDown ||
1334
+ code === Keys.ArrowLeft || code === Keys.ArrowRight || code === Keys.Home ||
1335
+ code === Keys.End || code === Keys.PageUp || code === Keys.PageDown) {
1333
1336
  event.preventDefault();
1334
1337
  }
1335
- const handler = this.keyBindings[event.keyCode];
1338
+ const handler = this.keyBindings[code];
1336
1339
  //TODO: check if next item is disabled and skip operation?
1337
1340
  if (handler) {
1338
1341
  handler();
@@ -2459,9 +2462,9 @@ class SplitterBarComponent {
2459
2462
  return panes.length === 2 && panes[1].collapsed;
2460
2463
  }
2461
2464
  onKeyDown(event) {
2462
- const keyCode = event.keyCode;
2465
+ const keyCode = normalizeNumpadKeys(event);
2463
2466
  const shouldToggle = event.ctrlKey || event.metaKey;
2464
- if (keyCode === Keys.Enter) {
2467
+ if (keyCode === Keys.Enter || keyCode === Keys.NumpadEnter) {
2465
2468
  event.preventDefault();
2466
2469
  this.togglePane();
2467
2470
  }
@@ -3227,17 +3230,18 @@ class TabStripService {
3227
3230
  if (!isTabElement(event.target)) {
3228
3231
  return;
3229
3232
  }
3230
- const key = event.keyCode;
3231
- if (this.shouldHandleKey(key)) {
3233
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
3234
+ const code = normalizeNumpadKeys(event);
3235
+ if (this.shouldHandleKey(code)) {
3232
3236
  event.preventDefault();
3233
3237
  }
3234
3238
  else {
3235
3239
  return;
3236
3240
  }
3237
- if (isNavigationKey(key) || isArrowKey(key)) {
3238
- this.onNavigate(key);
3241
+ if (isNavigationKey(code) || isArrowKey(code)) {
3242
+ this.onNavigate(code);
3239
3243
  }
3240
- else if (key === Keys.Delete || key === Keys.Backspace) {
3244
+ else if (code === Keys.Delete || code === Keys.Backspace) {
3241
3245
  this.onDelete();
3242
3246
  }
3243
3247
  }
@@ -5574,15 +5578,16 @@ class DrawerListComponent {
5574
5578
  const nativeElement = this.element.nativeElement;
5575
5579
  this.subscriptions.add(this.renderer.listen(nativeElement, 'click', this.clickHandler.bind(this)));
5576
5580
  this.subscriptions.add(this.renderer.listen(nativeElement, 'keydown', (e) => {
5577
- const isEnterOrSpace = e.keyCode === Keys.Enter || e.keyCode === Keys.Space;
5578
- const isArrowUpOrDown = e.keyCode === Keys.ArrowUp || e.keyCode === Keys.ArrowDown;
5581
+ const code = normalizeNumpadKeys(e);
5582
+ const isEnterOrSpace = code === Keys.Enter || code === Keys.Space;
5583
+ const isArrowUpOrDown = code === Keys.ArrowUp || code === Keys.ArrowDown;
5579
5584
  if (isEnterOrSpace) {
5580
5585
  this.onEnterOrSpaceKeyDown(e);
5581
5586
  }
5582
5587
  else if (isArrowUpOrDown) {
5583
5588
  if (e.target.classList.contains('k-drawer-item')) {
5584
5589
  e.preventDefault();
5585
- const keyName = e.keyCode === Keys.ArrowUp ? 'arrowUp' : 'arrowDown';
5590
+ const keyName = code === Keys.ArrowUp ? 'arrowUp' : 'arrowDown';
5586
5591
  this.drawerService.changeFocusedItem(this.items, keyName, this.renderer);
5587
5592
  }
5588
5593
  }
@@ -6412,6 +6417,7 @@ handlers[Keys.ArrowDown] = 'down';
6412
6417
  handlers[Keys.Home] = 'home';
6413
6418
  handlers[Keys.End] = 'end';
6414
6419
  handlers[Keys.Enter] = 'enter';
6420
+ handlers[Keys.NumpadEnter] = 'enter';
6415
6421
  handlers[Keys.Space] = 'enter';
6416
6422
  const handlersRTL = Object.assign({}, handlers);
6417
6423
  handlersRTL[Keys.ArrowLeft] = 'right';
@@ -6493,7 +6499,9 @@ class StepperService {
6493
6499
  }
6494
6500
  keydown(e) {
6495
6501
  const current = this.focusedStep || this.currentStep;
6496
- const handler = this.handlers[e.keyCode];
6502
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
6503
+ const code = normalizeNumpadKeys(e);
6504
+ const handler = this.handlers[code];
6497
6505
  if (!isPresent(current)) {
6498
6506
  return;
6499
6507
  }
@@ -8897,7 +8905,7 @@ class ExpansionPanelComponent {
8897
8905
  * @hidden
8898
8906
  */
8899
8907
  keyDownHandler(ev) {
8900
- const isEnterOrSpace = ev.keyCode === Keys.Enter || ev.keyCode === Keys.Space;
8908
+ const isEnterOrSpace = ev.code === Keys.Enter || ev.code === Keys.NumpadEnter || ev.code === Keys.Space;
8901
8909
  if (this.disabled || !isEnterOrSpace) {
8902
8910
  return;
8903
8911
  }
@@ -9891,11 +9899,11 @@ class TileLayoutKeyboardNavigationService {
9891
9899
  this.localizationSubscription.unsubscribe();
9892
9900
  }
9893
9901
  onKeyDown(event, elem, focusableItems, settings) {
9894
- const keyCode = event.keyCode;
9902
+ const keyCode = normalizeNumpadKeys(event);
9895
9903
  const isTileFocused = document.activeElement === elem;
9896
9904
  const focusedTile = settings.items.find(item => item.elem.nativeElement === elem);
9897
9905
  const col = getCurrentCol(focusedTile, settings, this.rtl);
9898
- const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].some(key => key === event.keyCode);
9906
+ const isArrow = [Keys.ArrowLeft, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowUp].some(key => key === keyCode);
9899
9907
  this.lastFocused = focusedTile;
9900
9908
  if (keyCode === Keys.Enter && isTileFocused && focusableItems.length > 0) {
9901
9909
  this.changeTabIndex('0', elem, focusableItems);
@@ -11600,7 +11608,7 @@ class TimelineCardComponent {
11600
11608
  if (!this.navigable) {
11601
11609
  return;
11602
11610
  }
11603
- if (event.keyCode === Keys.Space || event.keyCode === Keys.Enter) {
11611
+ if (event.code === Keys.Space || event.code === Keys.Enter || event.code === Keys.NumpadEnter) {
11604
11612
  event.preventDefault();
11605
11613
  if (this.collapsible && this.orientation === 'vertical') {
11606
11614
  this.expanded = !this.expanded;
@@ -12245,17 +12253,18 @@ class TimelineHorizontalComponent {
12245
12253
  if (!this.navigable) {
12246
12254
  return;
12247
12255
  }
12256
+ const code = normalizeNumpadKeys(event);
12248
12257
  event.preventDefault();
12249
- if (event.keyCode === Keys.Home) {
12258
+ if (code === Keys.Home) {
12250
12259
  this.onHomeKey();
12251
12260
  }
12252
- else if (event.keyCode === Keys.End) {
12261
+ else if (code === Keys.End) {
12253
12262
  this.onEndKey();
12254
12263
  }
12255
- else if (event.keyCode === Keys.ArrowRight) {
12264
+ else if (code === Keys.ArrowRight) {
12256
12265
  this.onArrowRightKey();
12257
12266
  }
12258
- else if (event.keyCode === Keys.ArrowLeft) {
12267
+ else if (code === Keys.ArrowLeft) {
12259
12268
  this.onArrowLeftKey();
12260
12269
  }
12261
12270
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "19.3.0-develop.31",
3
+ "version": "19.3.0-develop.33",
4
4
  "description": "Kendo UI for Angular Layout Package - a collection of components to create professional application layoyts",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -50,7 +50,7 @@
50
50
  "package": {
51
51
  "productName": "Kendo UI for Angular",
52
52
  "productCode": "KENDOUIANGULAR",
53
- "publishDate": 1754576557,
53
+ "publishDate": 1754589691,
54
54
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
55
55
  }
56
56
  },
@@ -60,17 +60,17 @@
60
60
  "@angular/core": "16 - 20",
61
61
  "@angular/platform-browser": "16 - 20",
62
62
  "@progress/kendo-licensing": "^1.7.0",
63
- "@progress/kendo-angular-common": "19.3.0-develop.31",
64
- "@progress/kendo-angular-l10n": "19.3.0-develop.31",
65
- "@progress/kendo-angular-progressbar": "19.3.0-develop.31",
66
- "@progress/kendo-angular-icons": "19.3.0-develop.31",
67
- "@progress/kendo-angular-buttons": "19.3.0-develop.31",
68
- "@progress/kendo-angular-intl": "19.3.0-develop.31",
63
+ "@progress/kendo-angular-common": "19.3.0-develop.33",
64
+ "@progress/kendo-angular-l10n": "19.3.0-develop.33",
65
+ "@progress/kendo-angular-progressbar": "19.3.0-develop.33",
66
+ "@progress/kendo-angular-icons": "19.3.0-develop.33",
67
+ "@progress/kendo-angular-buttons": "19.3.0-develop.33",
68
+ "@progress/kendo-angular-intl": "19.3.0-develop.33",
69
69
  "rxjs": "^6.5.3 || ^7.0.0"
70
70
  },
71
71
  "dependencies": {
72
72
  "tslib": "^2.3.1",
73
- "@progress/kendo-angular-schematics": "19.3.0-develop.31",
73
+ "@progress/kendo-angular-schematics": "19.3.0-develop.33",
74
74
  "@progress/kendo-draggable": "^3.0.2",
75
75
  "node-html-parser": "^7.0.1"
76
76
  },
@@ -161,7 +161,7 @@ export declare class PanelBarComponent implements AfterViewChecked, OnChanges, O
161
161
  /**
162
162
  * @hidden
163
163
  */
164
- onComponentKeyDown(event: any): void;
164
+ onComponentKeyDown(event: KeyboardEvent): void;
165
165
  /**
166
166
  * @hidden
167
167
  */
@@ -46,8 +46,8 @@ export declare class SplitterService {
46
46
  fixedHeight: boolean;
47
47
  constructor(zone: NgZone);
48
48
  tryToggle(paneIndex: number): boolean;
49
- togglePane(keyCode: number, index: number): void;
50
- resizePane(keyCode: number, index: number): void;
49
+ togglePane(keyCode: string, index: number): void;
50
+ resizePane(keyCode: string, index: number): void;
51
51
  toggleContentOverlay(index: number, show: boolean): void;
52
52
  dragState(splitbarIndex: number): SplitterDragState;
53
53
  setSize(state: SplitterDragState, delta: number): void;
@@ -6,12 +6,12 @@ import { SplitterPaneComponent } from "./splitter-pane.component";
6
6
  /**
7
7
  * @hidden
8
8
  */
9
- export declare const shouldTogglePrev: (keyCode: number, prev: SplitterPaneComponent, next: SplitterPaneComponent) => boolean;
9
+ export declare const shouldTogglePrev: (keyCode: string, prev: SplitterPaneComponent, next: SplitterPaneComponent) => boolean;
10
10
  /**
11
11
  * @hidden
12
12
  */
13
- export declare const shouldToggleNext: (keyCode: number, prev: SplitterPaneComponent, next: SplitterPaneComponent) => boolean;
13
+ export declare const shouldToggleNext: (keyCode: string, prev: SplitterPaneComponent, next: SplitterPaneComponent) => boolean;
14
14
  /**
15
15
  * @hidden
16
16
  */
17
- export declare const shouldToggleOrResize: (keyCode: number, orientation: string) => boolean;
17
+ export declare const shouldToggleOrResize: (keyCode: string, orientation: string) => boolean;
@@ -22,7 +22,7 @@ export declare class StepperService {
22
22
  emit(event: string, eventArgs: any): boolean;
23
23
  onActivate(currentIdx: number, originalEvent: any): void;
24
24
  validateSteps(): void;
25
- keydown(e: any): void;
25
+ keydown(e: KeyboardEvent): void;
26
26
  left(): void;
27
27
  right(): void;
28
28
  up(): void;
@@ -15,7 +15,7 @@ export declare class TabStripService {
15
15
  private ngZone;
16
16
  owner: TabStripComponent;
17
17
  constructor(localization: LocalizationService, ngZone: NgZone);
18
- onKeyDown(event: any): void;
18
+ onKeyDown(event: KeyboardEvent): void;
19
19
  onTabSelect(tab: TabStripTabComponent, index: number): void;
20
20
  selectTab(tab: TabStripTabComponent, index: number): void;
21
21
  private onNavigate;
@@ -24,7 +24,7 @@ export declare class TileLayoutKeyboardNavigationService {
24
24
  private lastFocused;
25
25
  constructor(zone: NgZone, renderer: Renderer2, localization: LocalizationService);
26
26
  ngOnDestroy(): void;
27
- onKeyDown(event: any, elem: HTMLElement, focusableItems: Array<HTMLElement>, settings: DraggingServiceConfig): void;
27
+ onKeyDown(event: KeyboardEvent, elem: HTMLElement, focusableItems: Array<HTMLElement>, settings: DraggingServiceConfig): void;
28
28
  onFocusOut(event: any, elem: HTMLElement, focusableItems: Array<HTMLElement>): void;
29
29
  onMousedown(event: any, elem: HTMLElement, focusableItems: Array<HTMLElement>, tile: TileLayoutItemComponent): void;
30
30
  changeTabIndex(tabIndex: string, elem: HTMLElement, focusableItems: Array<HTMLElement>): void;
@@ -57,11 +57,11 @@ export declare const calculateOrderFromCell: (row: number, col: number, items: T
57
57
  /**
58
58
  * @hidden
59
59
  */
60
- export declare const shouldResize: (keyCode: number, col: number, selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig) => TileLayoutNavigation;
60
+ export declare const shouldResize: (keyCode: string, col: number, selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig) => TileLayoutNavigation;
61
61
  /**
62
62
  * @hidden
63
63
  */
64
- export declare const shouldReorder: (keyCode: number, col: number, selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig) => TileLayoutNavigation;
64
+ export declare const shouldReorder: (keyCode: string, col: number, selectedTile: TileLayoutItemComponent, settings: DraggingServiceConfig) => TileLayoutNavigation;
65
65
  /**
66
66
  * @hidden
67
67
  */