@progress/kendo-angular-layout 19.3.0-develop.8 → 19.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -158,6 +158,10 @@ export declare class DrawerComponent implements OnDestroy {
158
158
  * @hidden
159
159
  */
160
160
  showLicenseWatermark: boolean;
161
+ /**
162
+ * @hidden
163
+ */
164
+ licenseMessage?: string;
161
165
  viewItems: DrawerViewItem[];
162
166
  private animationEnd;
163
167
  private dynamicRTLSubscription;
@@ -13,7 +13,7 @@ import { AnimationBuilder } from '@angular/animations';
13
13
  import { collapseAnimation, expandAnimation } from './animations';
14
14
  import { take } from 'rxjs/operators';
15
15
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
16
- import { shouldShowValidationUI, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
16
+ import { getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
17
17
  import { DrawerListComponent } from './list.component';
18
18
  import { NgIf, NgTemplateOutlet } from '@angular/common';
19
19
  import * as i0 from "@angular/core";
@@ -193,6 +193,10 @@ export class DrawerComponent {
193
193
  * @hidden
194
194
  */
195
195
  showLicenseWatermark = false;
196
+ /**
197
+ * @hidden
198
+ */
199
+ licenseMessage;
196
200
  viewItems;
197
201
  animationEnd = new EventEmitter();
198
202
  dynamicRTLSubscription;
@@ -203,6 +207,7 @@ export class DrawerComponent {
203
207
  this.localizationService = localizationService;
204
208
  this.drawerService = drawerService;
205
209
  const isValid = validatePackage(packageMetadata);
210
+ this.licenseMessage = getLicenseMessage(packageMetadata);
206
211
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
207
212
  this.dynamicRTLSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
208
213
  this.rtl = rtl;
@@ -342,8 +347,8 @@ export class DrawerComponent {
342
347
  </ng-template>
343
348
  </div>
344
349
 
345
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
346
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DrawerListComponent, selector: "[kendoDrawerList]", inputs: ["itemTemplate", "mini", "expanded", "view"], outputs: ["select"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
350
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
351
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DrawerListComponent, selector: "[kendoDrawerList]", inputs: ["itemTemplate", "mini", "expanded", "view"], outputs: ["select"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
347
352
  }
348
353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawerComponent, decorators: [{
349
354
  type: Component,
@@ -386,7 +391,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
386
391
  </ng-template>
387
392
  </div>
388
393
 
389
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
394
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
390
395
  `,
391
396
  standalone: true,
392
397
  imports: [NgIf, NgTemplateOutlet, DrawerListComponent, WatermarkOverlayComponent]
@@ -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: 1752479221,
14
- version: '19.3.0-develop.8',
13
+ publishDate: 1755030428,
14
+ version: '19.3.0',
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, 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';
@@ -145,6 +145,10 @@ export class PanelBarComponent {
145
145
  * @hidden
146
146
  */
147
147
  showLicenseWatermark = false;
148
+ /**
149
+ * @hidden
150
+ */
151
+ licenseMessage;
148
152
  allItems;
149
153
  childrenItems;
150
154
  isViewInit = true;
@@ -158,6 +162,7 @@ export class PanelBarComponent {
158
162
  constructor(elementRef, eventService, localization) {
159
163
  this.localization = localization;
160
164
  const isValid = validatePackage(packageMetadata);
165
+ this.licenseMessage = getLicenseMessage(packageMetadata);
161
166
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
162
167
  /* eslint-disable-line*/
163
168
  this.keyBindings = this.computedKeys;
@@ -176,6 +181,7 @@ export class PanelBarComponent {
176
181
  return {
177
182
  [Keys.Space]: () => this.selectFocusedItem(),
178
183
  [Keys.Enter]: () => this.selectFocusedItem(),
184
+ [Keys.NumpadEnter]: () => this.selectFocusedItem(),
179
185
  [Keys.ArrowUp]: () => this.focusPreviousItem(),
180
186
  [this.invertKeys(Keys.ArrowLeft, Keys.ArrowRight)]: () => this.collapseItem(),
181
187
  [Keys.ArrowDown]: () => this.focusNextItem(),
@@ -262,12 +268,14 @@ export class PanelBarComponent {
262
268
  */
263
269
  onComponentKeyDown(event) {
264
270
  if (event.target === this.elementRef.nativeElement) {
265
- if (event.keyCode === Keys.Space || event.keyCode === Keys.ArrowUp || event.keyCode === Keys.ArrowDown ||
266
- event.keyCode === Keys.ArrowLeft || event.keyCode === Keys.ArrowRight || event.keyCode === Keys.Home ||
267
- 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) {
268
276
  event.preventDefault();
269
277
  }
270
- const handler = this.keyBindings[event.keyCode];
278
+ const handler = this.keyBindings[code];
271
279
  //TODO: check if next item is disabled and skip operation?
272
280
  if (handler) {
273
281
  handler();
@@ -566,8 +574,8 @@ export class PanelBarComponent {
566
574
  </ng-container>
567
575
  </ng-template>
568
576
 
569
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
570
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
577
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
578
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
571
579
  }
572
580
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PanelBarComponent, decorators: [{
573
581
  type: Component,
@@ -604,7 +612,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
604
612
  </ng-container>
605
613
  </ng-template>
606
614
 
607
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
615
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
608
616
  `,
609
617
  standalone: true,
610
618
  imports: [NgIf, NgFor, PanelBarItemComponent, WatermarkOverlayComponent]
@@ -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
  }
@@ -3,4 +3,5 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { TabCloseEvent } from "./events/tabclose-event";
6
+ export { TabScrollEvent } from "./events/tabscroll-event";
6
7
  export { SelectEvent } from "./events/select-event";
@@ -18,7 +18,7 @@ import { normalizeScrollableSettings } from './models/scrollable-settings';
18
18
  import { TabScrollEvent } from './events/tabscroll-event';
19
19
  import { TabStripScrollableButtonComponent } from './scrollable-button.component';
20
20
  import { take } from 'rxjs/operators';
21
- import { guid, isDocumentAvailable, shouldShowValidationUI, WatermarkOverlayComponent, ResizeSensorComponent } from '@progress/kendo-angular-common';
21
+ import { guid, isDocumentAvailable, shouldShowValidationUI, getLicenseMessage, WatermarkOverlayComponent, ResizeSensorComponent } from '@progress/kendo-angular-common';
22
22
  import { TabComponent } from './rendering/tab.component';
23
23
  import { NgIf, NgTemplateOutlet, NgClass, NgFor, NgStyle } from '@angular/common';
24
24
  import { LocalizedTabStripMessagesDirective } from './localization/localized-messages.directive';
@@ -239,6 +239,10 @@ export class TabStripComponent {
239
239
  * @hidden
240
240
  */
241
241
  showLicenseWatermark = false;
242
+ /**
243
+ * @hidden
244
+ */
245
+ licenseMessage;
242
246
  _height;
243
247
  _scrollableSettings = normalizeScrollableSettings(false);
244
248
  subscriptions = new Subscription();
@@ -256,6 +260,7 @@ export class TabStripComponent {
256
260
  this.scrollService = scrollService;
257
261
  this.ngZone = ngZone;
258
262
  const isValid = validatePackage(packageMetadata);
263
+ this.licenseMessage = getLicenseMessage(packageMetadata);
259
264
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
260
265
  this.tabstripService.owner = this;
261
266
  this.scrollService.owner = this;
@@ -658,8 +663,8 @@ export class TabStripComponent {
658
663
  </ng-template>
659
664
  </ng-template>
660
665
  <kendo-resize-sensor *ngIf="isScrollable" (resize)="onResize()"></kendo-resize-sensor>
661
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
662
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], animations: [
666
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
667
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }], animations: [
663
668
  trigger('state', [
664
669
  state('active', style({ opacity: 1 })),
665
670
  transition('* => active', [
@@ -841,7 +846,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
841
846
  </ng-template>
842
847
  </ng-template>
843
848
  <kendo-resize-sensor *ngIf="isScrollable" (resize)="onResize()"></kendo-resize-sensor>
844
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
849
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
845
850
  `,
846
851
  standalone: true,
847
852
  imports: [LocalizedTabStripMessagesDirective, NgIf, NgTemplateOutlet, NgClass, TabStripScrollableButtonComponent, NgFor, TabComponent, NgStyle, ResizeSensorComponent, WatermarkOverlayComponent]
@@ -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);
@@ -8,7 +8,7 @@ import { Subscription } from 'rxjs';
8
8
  import { Draggable } from '@progress/kendo-draggable';
9
9
  import { TileLayoutItemComponent } from './tilelayout-item.component';
10
10
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
11
- import { hasObservers, isChanged, shouldShowValidationUI, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
11
+ import { hasObservers, isChanged, shouldShowValidationUI, getLicenseMessage, WatermarkOverlayComponent } from '@progress/kendo-angular-common';
12
12
  import { validatePackage } from '@progress/kendo-licensing';
13
13
  import { packageMetadata } from '../package-metadata';
14
14
  import { isPresent } from '../common/util';
@@ -135,6 +135,10 @@ export class TileLayoutComponent {
135
135
  * @hidden
136
136
  */
137
137
  showLicenseWatermark = false;
138
+ /**
139
+ * @hidden
140
+ */
141
+ licenseMessage;
138
142
  draggable;
139
143
  subs = new Subscription();
140
144
  _gap = {
@@ -149,6 +153,7 @@ export class TileLayoutComponent {
149
153
  this.draggingService = draggingService;
150
154
  this.navigationService = navigationService;
151
155
  const isValid = validatePackage(packageMetadata);
156
+ this.licenseMessage = getLicenseMessage(packageMetadata);
152
157
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
153
158
  }
154
159
  ngOnInit() {
@@ -304,8 +309,8 @@ export class TileLayoutComponent {
304
309
  [style.gridRowStart]="currentRowStart"
305
310
  [style.zIndex]="'1'">
306
311
  </div>
307
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
308
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
312
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
313
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
309
314
  }
310
315
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayoutComponent, decorators: [{
311
316
  type: Component,
@@ -331,7 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
331
336
  [style.gridRowStart]="currentRowStart"
332
337
  [style.zIndex]="'1'">
333
338
  </div>
334
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
339
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
335
340
  `,
336
341
  standalone: true,
337
342
  imports: [NgIf, WatermarkOverlayComponent]
@@ -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, 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: 1752479221,
33
- version: '19.3.0-develop.8',
32
+ publishDate: 1755030428,
33
+ version: '19.3.0',
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
 
@@ -1205,6 +1205,10 @@ class PanelBarComponent {
1205
1205
  * @hidden
1206
1206
  */
1207
1207
  showLicenseWatermark = false;
1208
+ /**
1209
+ * @hidden
1210
+ */
1211
+ licenseMessage;
1208
1212
  allItems;
1209
1213
  childrenItems;
1210
1214
  isViewInit = true;
@@ -1218,6 +1222,7 @@ class PanelBarComponent {
1218
1222
  constructor(elementRef, eventService, localization) {
1219
1223
  this.localization = localization;
1220
1224
  const isValid = validatePackage(packageMetadata);
1225
+ this.licenseMessage = getLicenseMessage(packageMetadata);
1221
1226
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
1222
1227
  /* eslint-disable-line*/
1223
1228
  this.keyBindings = this.computedKeys;
@@ -1236,6 +1241,7 @@ class PanelBarComponent {
1236
1241
  return {
1237
1242
  [Keys.Space]: () => this.selectFocusedItem(),
1238
1243
  [Keys.Enter]: () => this.selectFocusedItem(),
1244
+ [Keys.NumpadEnter]: () => this.selectFocusedItem(),
1239
1245
  [Keys.ArrowUp]: () => this.focusPreviousItem(),
1240
1246
  [this.invertKeys(Keys.ArrowLeft, Keys.ArrowRight)]: () => this.collapseItem(),
1241
1247
  [Keys.ArrowDown]: () => this.focusNextItem(),
@@ -1322,12 +1328,14 @@ class PanelBarComponent {
1322
1328
  */
1323
1329
  onComponentKeyDown(event) {
1324
1330
  if (event.target === this.elementRef.nativeElement) {
1325
- if (event.keyCode === Keys.Space || event.keyCode === Keys.ArrowUp || event.keyCode === Keys.ArrowDown ||
1326
- event.keyCode === Keys.ArrowLeft || event.keyCode === Keys.ArrowRight || event.keyCode === Keys.Home ||
1327
- 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) {
1328
1336
  event.preventDefault();
1329
1337
  }
1330
- const handler = this.keyBindings[event.keyCode];
1338
+ const handler = this.keyBindings[code];
1331
1339
  //TODO: check if next item is disabled and skip operation?
1332
1340
  if (handler) {
1333
1341
  handler();
@@ -1626,8 +1634,8 @@ class PanelBarComponent {
1626
1634
  </ng-container>
1627
1635
  </ng-template>
1628
1636
 
1629
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
1630
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
1637
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
1638
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["title", "id", "icon", "iconClass", "svgIcon", "imageUrl", "disabled", "expanded", "selected", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
1631
1639
  }
1632
1640
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PanelBarComponent, decorators: [{
1633
1641
  type: Component,
@@ -1664,7 +1672,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1664
1672
  </ng-container>
1665
1673
  </ng-template>
1666
1674
 
1667
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
1675
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
1668
1676
  `,
1669
1677
  standalone: true,
1670
1678
  imports: [NgIf, NgFor, PanelBarItemComponent, WatermarkOverlayComponent]
@@ -2454,9 +2462,9 @@ class SplitterBarComponent {
2454
2462
  return panes.length === 2 && panes[1].collapsed;
2455
2463
  }
2456
2464
  onKeyDown(event) {
2457
- const keyCode = event.keyCode;
2465
+ const keyCode = normalizeNumpadKeys(event);
2458
2466
  const shouldToggle = event.ctrlKey || event.metaKey;
2459
- if (keyCode === Keys.Enter) {
2467
+ if (keyCode === Keys.Enter || keyCode === Keys.NumpadEnter) {
2460
2468
  event.preventDefault();
2461
2469
  this.togglePane();
2462
2470
  }
@@ -3070,6 +3078,25 @@ class TabCloseEvent {
3070
3078
  }
3071
3079
  }
3072
3080
 
3081
+ /**
3082
+ * Arguments for the `tabScroll` event of the TabStrip.
3083
+ * The `tabScroll` event fires when you scroll the tabs.
3084
+ *
3085
+ */
3086
+ class TabScrollEvent extends PreventableEvent$1 {
3087
+ /**
3088
+ * The original DOM event that caused the tab scroll.
3089
+ */
3090
+ originalEvent;
3091
+ /**
3092
+ * @hidden
3093
+ */
3094
+ constructor(args) {
3095
+ super();
3096
+ Object.assign(this, args);
3097
+ }
3098
+ }
3099
+
3073
3100
  /**
3074
3101
  * Arguments for the `select` event of the TabStrip.
3075
3102
  * The `select` event fires when tab is selected (clicked).
@@ -3222,17 +3249,18 @@ class TabStripService {
3222
3249
  if (!isTabElement(event.target)) {
3223
3250
  return;
3224
3251
  }
3225
- const key = event.keyCode;
3226
- if (this.shouldHandleKey(key)) {
3252
+ // on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
3253
+ const code = normalizeNumpadKeys(event);
3254
+ if (this.shouldHandleKey(code)) {
3227
3255
  event.preventDefault();
3228
3256
  }
3229
3257
  else {
3230
3258
  return;
3231
3259
  }
3232
- if (isNavigationKey(key) || isArrowKey(key)) {
3233
- this.onNavigate(key);
3260
+ if (isNavigationKey(code) || isArrowKey(code)) {
3261
+ this.onNavigate(code);
3234
3262
  }
3235
- else if (key === Keys.Delete || key === Keys.Backspace) {
3263
+ else if (code === Keys.Delete || code === Keys.Backspace) {
3236
3264
  this.onDelete();
3237
3265
  }
3238
3266
  }
@@ -3560,25 +3588,6 @@ const normalizeSettings = ({ enabled = true, scrollButtons = 'auto', mouseScroll
3560
3588
  */
3561
3589
  const normalizeScrollableSettings = (settings) => normalizeSettings(settings === false ? { enabled: false } : settings);
3562
3590
 
3563
- /**
3564
- * Arguments for the `tabScroll` event of the TabStrip.
3565
- * The `tabScroll` event fires when you scroll the tabs.
3566
- *
3567
- */
3568
- class TabScrollEvent extends PreventableEvent$1 {
3569
- /**
3570
- * The original DOM event that caused the tab scroll.
3571
- */
3572
- originalEvent;
3573
- /**
3574
- * @hidden
3575
- */
3576
- constructor(args) {
3577
- super();
3578
- Object.assign(this, args);
3579
- }
3580
- }
3581
-
3582
3591
  /* eslint-disable @typescript-eslint/no-explicit-any */
3583
3592
  /**
3584
3593
  * @hidden
@@ -4188,6 +4197,10 @@ class TabStripComponent {
4188
4197
  * @hidden
4189
4198
  */
4190
4199
  showLicenseWatermark = false;
4200
+ /**
4201
+ * @hidden
4202
+ */
4203
+ licenseMessage;
4191
4204
  _height;
4192
4205
  _scrollableSettings = normalizeScrollableSettings(false);
4193
4206
  subscriptions = new Subscription();
@@ -4205,6 +4218,7 @@ class TabStripComponent {
4205
4218
  this.scrollService = scrollService;
4206
4219
  this.ngZone = ngZone;
4207
4220
  const isValid = validatePackage(packageMetadata);
4221
+ this.licenseMessage = getLicenseMessage(packageMetadata);
4208
4222
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
4209
4223
  this.tabstripService.owner = this;
4210
4224
  this.scrollService.owner = this;
@@ -4607,8 +4621,8 @@ class TabStripComponent {
4607
4621
  </ng-template>
4608
4622
  </ng-template>
4609
4623
  <kendo-resize-sensor *ngIf="isScrollable" (resize)="onResize()"></kendo-resize-sensor>
4610
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
4611
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }], animations: [
4624
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
4625
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTabStripMessagesDirective, selector: "[kendoTabStripLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabStripScrollableButtonComponent, selector: "[kendoTabStripScrollableButton]", inputs: ["prev", "tabPosition", "scrollable"], outputs: ["tabScroll", "onClick"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabComponent, selector: "[kendoTabStripTab]", inputs: ["tab", "index", "tabStripClosable", "tabStripCloseIcon", "customTabstripCloseIcon", "closeSVGIcon"], outputs: ["tabClose"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }], animations: [
4612
4626
  trigger('state', [
4613
4627
  state('active', style({ opacity: 1 })),
4614
4628
  transition('* => active', [
@@ -4790,7 +4804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4790
4804
  </ng-template>
4791
4805
  </ng-template>
4792
4806
  <kendo-resize-sensor *ngIf="isScrollable" (resize)="onResize()"></kendo-resize-sensor>
4793
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
4807
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
4794
4808
  `,
4795
4809
  standalone: true,
4796
4810
  imports: [LocalizedTabStripMessagesDirective, NgIf, NgTemplateOutlet, NgClass, TabStripScrollableButtonComponent, NgFor, TabComponent, NgStyle, ResizeSensorComponent, WatermarkOverlayComponent]
@@ -5564,15 +5578,16 @@ class DrawerListComponent {
5564
5578
  const nativeElement = this.element.nativeElement;
5565
5579
  this.subscriptions.add(this.renderer.listen(nativeElement, 'click', this.clickHandler.bind(this)));
5566
5580
  this.subscriptions.add(this.renderer.listen(nativeElement, 'keydown', (e) => {
5567
- const isEnterOrSpace = e.keyCode === Keys.Enter || e.keyCode === Keys.Space;
5568
- 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;
5569
5584
  if (isEnterOrSpace) {
5570
5585
  this.onEnterOrSpaceKeyDown(e);
5571
5586
  }
5572
5587
  else if (isArrowUpOrDown) {
5573
5588
  if (e.target.classList.contains('k-drawer-item')) {
5574
5589
  e.preventDefault();
5575
- const keyName = e.keyCode === Keys.ArrowUp ? 'arrowUp' : 'arrowDown';
5590
+ const keyName = code === Keys.ArrowUp ? 'arrowUp' : 'arrowDown';
5576
5591
  this.drawerService.changeFocusedItem(this.items, keyName, this.renderer);
5577
5592
  }
5578
5593
  }
@@ -5846,6 +5861,10 @@ class DrawerComponent {
5846
5861
  * @hidden
5847
5862
  */
5848
5863
  showLicenseWatermark = false;
5864
+ /**
5865
+ * @hidden
5866
+ */
5867
+ licenseMessage;
5849
5868
  viewItems;
5850
5869
  animationEnd = new EventEmitter();
5851
5870
  dynamicRTLSubscription;
@@ -5856,6 +5875,7 @@ class DrawerComponent {
5856
5875
  this.localizationService = localizationService;
5857
5876
  this.drawerService = drawerService;
5858
5877
  const isValid = validatePackage(packageMetadata);
5878
+ this.licenseMessage = getLicenseMessage(packageMetadata);
5859
5879
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
5860
5880
  this.dynamicRTLSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
5861
5881
  this.rtl = rtl;
@@ -5995,8 +6015,8 @@ class DrawerComponent {
5995
6015
  </ng-template>
5996
6016
  </div>
5997
6017
 
5998
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
5999
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DrawerListComponent, selector: "[kendoDrawerList]", inputs: ["itemTemplate", "mini", "expanded", "view"], outputs: ["select"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
6018
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
6019
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DrawerListComponent, selector: "[kendoDrawerList]", inputs: ["itemTemplate", "mini", "expanded", "view"], outputs: ["select"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
6000
6020
  }
6001
6021
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrawerComponent, decorators: [{
6002
6022
  type: Component,
@@ -6039,7 +6059,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
6039
6059
  </ng-template>
6040
6060
  </div>
6041
6061
 
6042
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
6062
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
6043
6063
  `,
6044
6064
  standalone: true,
6045
6065
  imports: [NgIf, NgTemplateOutlet, DrawerListComponent, WatermarkOverlayComponent]
@@ -6397,6 +6417,7 @@ handlers[Keys.ArrowDown] = 'down';
6397
6417
  handlers[Keys.Home] = 'home';
6398
6418
  handlers[Keys.End] = 'end';
6399
6419
  handlers[Keys.Enter] = 'enter';
6420
+ handlers[Keys.NumpadEnter] = 'enter';
6400
6421
  handlers[Keys.Space] = 'enter';
6401
6422
  const handlersRTL = Object.assign({}, handlers);
6402
6423
  handlersRTL[Keys.ArrowLeft] = 'right';
@@ -6478,7 +6499,9 @@ class StepperService {
6478
6499
  }
6479
6500
  keydown(e) {
6480
6501
  const current = this.focusedStep || this.currentStep;
6481
- 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];
6482
6505
  if (!isPresent(current)) {
6483
6506
  return;
6484
6507
  }
@@ -8882,7 +8905,7 @@ class ExpansionPanelComponent {
8882
8905
  * @hidden
8883
8906
  */
8884
8907
  keyDownHandler(ev) {
8885
- 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;
8886
8909
  if (this.disabled || !isEnterOrSpace) {
8887
8910
  return;
8888
8911
  }
@@ -9876,11 +9899,11 @@ class TileLayoutKeyboardNavigationService {
9876
9899
  this.localizationSubscription.unsubscribe();
9877
9900
  }
9878
9901
  onKeyDown(event, elem, focusableItems, settings) {
9879
- const keyCode = event.keyCode;
9902
+ const keyCode = normalizeNumpadKeys(event);
9880
9903
  const isTileFocused = document.activeElement === elem;
9881
9904
  const focusedTile = settings.items.find(item => item.elem.nativeElement === elem);
9882
9905
  const col = getCurrentCol(focusedTile, settings, this.rtl);
9883
- 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);
9884
9907
  this.lastFocused = focusedTile;
9885
9908
  if (keyCode === Keys.Enter && isTileFocused && focusableItems.length > 0) {
9886
9909
  this.changeTabIndex('0', elem, focusableItems);
@@ -10537,6 +10560,10 @@ class TileLayoutComponent {
10537
10560
  * @hidden
10538
10561
  */
10539
10562
  showLicenseWatermark = false;
10563
+ /**
10564
+ * @hidden
10565
+ */
10566
+ licenseMessage;
10540
10567
  draggable;
10541
10568
  subs = new Subscription();
10542
10569
  _gap = {
@@ -10551,6 +10578,7 @@ class TileLayoutComponent {
10551
10578
  this.draggingService = draggingService;
10552
10579
  this.navigationService = navigationService;
10553
10580
  const isValid = validatePackage(packageMetadata);
10581
+ this.licenseMessage = getLicenseMessage(packageMetadata);
10554
10582
  this.showLicenseWatermark = shouldShowValidationUI(isValid);
10555
10583
  }
10556
10584
  ngOnInit() {
@@ -10706,8 +10734,8 @@ class TileLayoutComponent {
10706
10734
  [style.gridRowStart]="currentRowStart"
10707
10735
  [style.zIndex]="'1'">
10708
10736
  </div>
10709
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
10710
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]" }] });
10737
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
10738
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay]", inputs: ["licenseMessage"] }] });
10711
10739
  }
10712
10740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TileLayoutComponent, decorators: [{
10713
10741
  type: Component,
@@ -10733,7 +10761,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
10733
10761
  [style.gridRowStart]="currentRowStart"
10734
10762
  [style.zIndex]="'1'">
10735
10763
  </div>
10736
- <div kendoWatermarkOverlay *ngIf="showLicenseWatermark"></div>
10764
+ <div kendoWatermarkOverlay *ngIf="showLicenseWatermark" [licenseMessage]="licenseMessage"></div>
10737
10765
  `,
10738
10766
  standalone: true,
10739
10767
  imports: [NgIf, WatermarkOverlayComponent]
@@ -11580,7 +11608,7 @@ class TimelineCardComponent {
11580
11608
  if (!this.navigable) {
11581
11609
  return;
11582
11610
  }
11583
- if (event.keyCode === Keys.Space || event.keyCode === Keys.Enter) {
11611
+ if (event.code === Keys.Space || event.code === Keys.Enter || event.code === Keys.NumpadEnter) {
11584
11612
  event.preventDefault();
11585
11613
  if (this.collapsible && this.orientation === 'vertical') {
11586
11614
  this.expanded = !this.expanded;
@@ -12225,17 +12253,18 @@ class TimelineHorizontalComponent {
12225
12253
  if (!this.navigable) {
12226
12254
  return;
12227
12255
  }
12256
+ const code = normalizeNumpadKeys(event);
12228
12257
  event.preventDefault();
12229
- if (event.keyCode === Keys.Home) {
12258
+ if (code === Keys.Home) {
12230
12259
  this.onHomeKey();
12231
12260
  }
12232
- else if (event.keyCode === Keys.End) {
12261
+ else if (code === Keys.End) {
12233
12262
  this.onEndKey();
12234
12263
  }
12235
- else if (event.keyCode === Keys.ArrowRight) {
12264
+ else if (code === Keys.ArrowRight) {
12236
12265
  this.onArrowRightKey();
12237
12266
  }
12238
- else if (event.keyCode === Keys.ArrowLeft) {
12267
+ else if (code === Keys.ArrowLeft) {
12239
12268
  this.onArrowLeftKey();
12240
12269
  }
12241
12270
  }
@@ -13866,5 +13895,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
13866
13895
  * Generated bundle index. Do not edit.
13867
13896
  */
13868
13897
 
13869
- export { AvatarComponent, AvatarCustomMessagesComponent, AvatarModule, CardAction, CardActionsComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CardMediaDirective, CardModule, CardSeparatorDirective, CardSubtitleDirective, CardTitleDirective, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerFooterTemplateDirective, DrawerHeaderTemplateDirective, DrawerItemTemplateDirective, DrawerModule, DrawerSelectEvent, DrawerTemplateDirective, ExpansionPanelActionEvent, ExpansionPanelComponent, ExpansionPanelModule, ExpansionPanelTitleDirective, GridLayoutComponent, GridLayoutItemComponent, GridLayoutModule, KENDO_AVATAR, KENDO_CARD, KENDO_DRAWER, KENDO_EXPANSIONPANEL, KENDO_GRIDLAYOUT, KENDO_LAYOUT, KENDO_PANELBAR, KENDO_SPLITTER, KENDO_STACKLAYOUT, KENDO_STEPPER, KENDO_TABSTRIP, KENDO_TILELAYOUT, KENDO_TIMELINE, LayoutModule, LocalizedAvatarMessagesDirective, LocalizedStepperMessagesDirective, LocalizedTabStripMessagesDirective, PanelBarCollapseEvent, PanelBarComponent, PanelBarContentDirective, PanelBarExpandEvent, PanelBarExpandMode, PanelBarItemClickEvent, PanelBarItemComponent, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarModule, PanelBarSelectEvent, PanelBarStateChangeEvent, SelectEvent, SplitterComponent, SplitterModule, SplitterPaneComponent, StackLayoutComponent, StackLayoutModule, StepperActivateEvent, StepperComponent, StepperCustomMessagesComponent, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperModule, StepperStepTemplateDirective, TabCloseEvent, TabComponent, TabContentDirective, TabStripComponent, TabStripCustomMessagesComponent, TabStripModule, TabStripTabComponent, TabTemplateDirective, TabTitleDirective, TileLayoutComponent, TileLayoutItemBodyComponent, TileLayoutItemComponent, TileLayoutItemHeaderComponent, TileLayoutModule, TileLayoutReorderEvent, TileLayoutResizeEvent, TileLayoutResizeHandleDirective, TimelineCardActionsTemplateDirective, TimelineCardBodyTemplateDirective, TimelineCardHeaderTemplateDirective, TimelineComponent, TimelineCustomMessagesComponent, TimelineModule };
13898
+ export { AvatarComponent, AvatarCustomMessagesComponent, AvatarModule, CardAction, CardActionsComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CardMediaDirective, CardModule, CardSeparatorDirective, CardSubtitleDirective, CardTitleDirective, DrawerComponent, DrawerContainerComponent, DrawerContentComponent, DrawerFooterTemplateDirective, DrawerHeaderTemplateDirective, DrawerItemTemplateDirective, DrawerModule, DrawerSelectEvent, DrawerTemplateDirective, ExpansionPanelActionEvent, ExpansionPanelComponent, ExpansionPanelModule, ExpansionPanelTitleDirective, GridLayoutComponent, GridLayoutItemComponent, GridLayoutModule, KENDO_AVATAR, KENDO_CARD, KENDO_DRAWER, KENDO_EXPANSIONPANEL, KENDO_GRIDLAYOUT, KENDO_LAYOUT, KENDO_PANELBAR, KENDO_SPLITTER, KENDO_STACKLAYOUT, KENDO_STEPPER, KENDO_TABSTRIP, KENDO_TILELAYOUT, KENDO_TIMELINE, LayoutModule, LocalizedAvatarMessagesDirective, LocalizedStepperMessagesDirective, LocalizedTabStripMessagesDirective, PanelBarCollapseEvent, PanelBarComponent, PanelBarContentDirective, PanelBarExpandEvent, PanelBarExpandMode, PanelBarItemClickEvent, PanelBarItemComponent, PanelBarItemTemplateDirective, PanelBarItemTitleDirective, PanelBarModule, PanelBarSelectEvent, PanelBarStateChangeEvent, SelectEvent, SplitterComponent, SplitterModule, SplitterPaneComponent, StackLayoutComponent, StackLayoutModule, StepperActivateEvent, StepperComponent, StepperCustomMessagesComponent, StepperIndicatorTemplateDirective, StepperLabelTemplateDirective, StepperModule, StepperStepTemplateDirective, TabCloseEvent, TabComponent, TabContentDirective, TabScrollEvent, TabStripComponent, TabStripCustomMessagesComponent, TabStripModule, TabStripTabComponent, TabTemplateDirective, TabTitleDirective, TileLayoutComponent, TileLayoutItemBodyComponent, TileLayoutItemComponent, TileLayoutItemHeaderComponent, TileLayoutModule, TileLayoutReorderEvent, TileLayoutResizeEvent, TileLayoutResizeHandleDirective, TimelineCardActionsTemplateDirective, TimelineCardBodyTemplateDirective, TimelineCardHeaderTemplateDirective, TimelineComponent, TimelineCustomMessagesComponent, TimelineModule };
13870
13899
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-layout",
3
- "version": "19.3.0-develop.8",
3
+ "version": "19.3.0",
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": 1752479221,
53
+ "publishDate": 1755030428,
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
  },
@@ -59,18 +59,18 @@
59
59
  "@angular/common": "16 - 20",
60
60
  "@angular/core": "16 - 20",
61
61
  "@angular/platform-browser": "16 - 20",
62
- "@progress/kendo-licensing": "^1.5.0",
63
- "@progress/kendo-angular-common": "19.3.0-develop.8",
64
- "@progress/kendo-angular-l10n": "19.3.0-develop.8",
65
- "@progress/kendo-angular-progressbar": "19.3.0-develop.8",
66
- "@progress/kendo-angular-icons": "19.3.0-develop.8",
67
- "@progress/kendo-angular-buttons": "19.3.0-develop.8",
68
- "@progress/kendo-angular-intl": "19.3.0-develop.8",
62
+ "@progress/kendo-licensing": "^1.7.0",
63
+ "@progress/kendo-angular-common": "19.3.0",
64
+ "@progress/kendo-angular-l10n": "19.3.0",
65
+ "@progress/kendo-angular-progressbar": "19.3.0",
66
+ "@progress/kendo-angular-icons": "19.3.0",
67
+ "@progress/kendo-angular-buttons": "19.3.0",
68
+ "@progress/kendo-angular-intl": "19.3.0",
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.8",
73
+ "@progress/kendo-angular-schematics": "19.3.0",
74
74
  "@progress/kendo-draggable": "^3.0.2",
75
75
  "node-html-parser": "^7.0.1"
76
76
  },
@@ -119,6 +119,10 @@ export declare class PanelBarComponent implements AfterViewChecked, OnChanges, O
119
119
  * @hidden
120
120
  */
121
121
  showLicenseWatermark: boolean;
122
+ /**
123
+ * @hidden
124
+ */
125
+ licenseMessage?: string;
122
126
  private allItems;
123
127
  private childrenItems;
124
128
  private isViewInit;
@@ -157,7 +161,7 @@ export declare class PanelBarComponent implements AfterViewChecked, OnChanges, O
157
161
  /**
158
162
  * @hidden
159
163
  */
160
- onComponentKeyDown(event: any): void;
164
+ onComponentKeyDown(event: KeyboardEvent): void;
161
165
  /**
162
166
  * @hidden
163
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;
@@ -3,4 +3,5 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { TabCloseEvent } from "./events/tabclose-event";
6
+ export { TabScrollEvent } from "./events/tabscroll-event";
6
7
  export { SelectEvent } from "./events/select-event";
@@ -169,6 +169,10 @@ export declare class TabStripComponent implements AfterViewInit, OnDestroy {
169
169
  * @hidden
170
170
  */
171
171
  showLicenseWatermark: boolean;
172
+ /**
173
+ * @hidden
174
+ */
175
+ licenseMessage?: string;
172
176
  private _height;
173
177
  private _scrollableSettings;
174
178
  private subscriptions;
@@ -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;
@@ -109,6 +109,10 @@ export declare class TileLayoutComponent implements OnInit, AfterViewInit, After
109
109
  * @hidden
110
110
  */
111
111
  showLicenseWatermark: boolean;
112
+ /**
113
+ * @hidden
114
+ */
115
+ licenseMessage?: string;
112
116
  private draggable;
113
117
  private subs;
114
118
  private _gap;
@@ -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
  */