@progress/kendo-angular-toolbar 19.3.0-develop.4 → 19.3.0-develop.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/toolbar.component.mjs +11 -5
- package/esm2022/tools/toolbar-button.component.mjs +29 -1
- package/esm2022/tools/toolbar-dropdownbutton.component.mjs +3 -1
- package/esm2022/tools/toolbar-splitbutton.component.mjs +3 -1
- package/esm2022/util.mjs +6 -4
- package/fesm2022/progress-kendo-angular-toolbar.mjs +51 -13
- package/package.json +10 -10
- package/toolbar.component.d.ts +2 -1
- package/tools/toolbar-button.component.d.ts +10 -2
- package/util.d.ts +2 -2
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '19.3.0-develop.
|
|
13
|
+
publishDate: 1754990725,
|
|
14
|
+
version: '19.3.0-develop.40',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/* eslint-disable no-case-declarations */
|
|
6
6
|
import { Component, HostBinding, ViewChild, TemplateRef, ElementRef, QueryList, ContentChildren, Input, HostListener, Output, EventEmitter, ViewContainerRef, NgZone, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
7
7
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
8
|
-
import { guid, ResizeSensorComponent } from '@progress/kendo-angular-common';
|
|
8
|
+
import { guid, normalizeNumpadKeys, ResizeSensorComponent } from '@progress/kendo-angular-common';
|
|
9
9
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { packageMetadata } from './package-metadata';
|
|
@@ -66,7 +66,8 @@ const getInitialPopupSettings = (isRtl) => ({
|
|
|
66
66
|
* {@link EditorFontFamilyComponent},
|
|
67
67
|
* {@link EditorFontSizeComponent},
|
|
68
68
|
* {@link EditorFormatComponent},
|
|
69
|
-
* {@link EditorInsertTableButtonComponent}
|
|
69
|
+
* {@link EditorInsertTableButtonComponent},
|
|
70
|
+
* {@link SelectAllToolbarToolComponent}.
|
|
70
71
|
*/
|
|
71
72
|
export class ToolBarComponent {
|
|
72
73
|
localization;
|
|
@@ -391,7 +392,9 @@ export class ToolBarComponent {
|
|
|
391
392
|
}
|
|
392
393
|
this.zone.runOutsideAngular(() => {
|
|
393
394
|
this.toolbarKeydownListener = this.renderer.listen(this.element.nativeElement, 'keydown', (ev) => {
|
|
394
|
-
|
|
395
|
+
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
396
|
+
const code = normalizeNumpadKeys(ev);
|
|
397
|
+
switch (code) {
|
|
395
398
|
case Keys.ArrowLeft:
|
|
396
399
|
this.zone.run(() => {
|
|
397
400
|
ev.preventDefault();
|
|
@@ -655,7 +658,8 @@ export class ToolBarComponent {
|
|
|
655
658
|
this.zone.runOutsideAngular(() => {
|
|
656
659
|
if (this.normalizedOverflow.mode === 'section') {
|
|
657
660
|
this.sectionKeydownListener = this.renderer.listen(this.popupRef.popupElement, 'keydown', (ev) => {
|
|
658
|
-
|
|
661
|
+
const code = normalizeNumpadKeys(ev);
|
|
662
|
+
switch (code) {
|
|
659
663
|
case Keys.ArrowLeft:
|
|
660
664
|
this.zone.run(() => {
|
|
661
665
|
ev.preventDefault();
|
|
@@ -701,7 +705,8 @@ export class ToolBarComponent {
|
|
|
701
705
|
}
|
|
702
706
|
else {
|
|
703
707
|
this.overflowKeydownListener = this.renderer.listen(this.popupRef.popupElement, 'keydown', (ev) => {
|
|
704
|
-
|
|
708
|
+
const code = normalizeNumpadKeys(ev);
|
|
709
|
+
switch (code) {
|
|
705
710
|
case Keys.ArrowUp:
|
|
706
711
|
this.zone.run(() => {
|
|
707
712
|
ev.preventDefault();
|
|
@@ -726,6 +731,7 @@ export class ToolBarComponent {
|
|
|
726
731
|
this.navigationService.resetNavigation();
|
|
727
732
|
});
|
|
728
733
|
break;
|
|
734
|
+
case Keys.NumpadEnter:
|
|
729
735
|
case Keys.Enter:
|
|
730
736
|
case Keys.Space:
|
|
731
737
|
this.zone.run(() => {
|
|
@@ -125,6 +125,13 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
125
125
|
* @default 'solid'
|
|
126
126
|
*/
|
|
127
127
|
fillMode = 'solid';
|
|
128
|
+
/**
|
|
129
|
+
* Specifies the border radius of the Button.
|
|
130
|
+
* Accepts a `ButtonRounded` value.
|
|
131
|
+
*
|
|
132
|
+
* @default 'medium'
|
|
133
|
+
*/
|
|
134
|
+
rounded = 'medium';
|
|
128
135
|
/**
|
|
129
136
|
* Specifies the predefined theme color of the Button.
|
|
130
137
|
* Accepts a `ButtonThemeColor` value.
|
|
@@ -233,6 +240,17 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
233
240
|
this.propertyChangeSub.unsubscribe();
|
|
234
241
|
this.propertyChangeSub = null;
|
|
235
242
|
}
|
|
243
|
+
ngOnChanges(changes) {
|
|
244
|
+
if (changes['rounded']) {
|
|
245
|
+
this.rounded = changes['rounded'].currentValue;
|
|
246
|
+
}
|
|
247
|
+
if (changes['themeColor']) {
|
|
248
|
+
this.themeColor = changes['themeColor'].currentValue;
|
|
249
|
+
}
|
|
250
|
+
if (changes['showText']) {
|
|
251
|
+
this.showText = changes['showText'].currentValue;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
236
254
|
/**
|
|
237
255
|
* @hidden
|
|
238
256
|
*/
|
|
@@ -292,7 +310,7 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
292
310
|
});
|
|
293
311
|
}
|
|
294
312
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
295
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, ngImport: i0, template: `
|
|
313
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", rounded: "rounded", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
296
314
|
<ng-template #toolbarTemplate>
|
|
297
315
|
<kendo-badge-container *ngIf="hasBadgeContainer">
|
|
298
316
|
<button
|
|
@@ -310,6 +328,7 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
310
328
|
[toggleable]="toggleable"
|
|
311
329
|
[fillMode]="fillMode"
|
|
312
330
|
[themeColor]="fillMode ? themeColor : null"
|
|
331
|
+
[rounded]="rounded"
|
|
313
332
|
[selected]="selected"
|
|
314
333
|
[icon]="toolbarOptions.icon"
|
|
315
334
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -340,6 +359,7 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
340
359
|
[toggleable]="toggleable"
|
|
341
360
|
[fillMode]="fillMode"
|
|
342
361
|
[themeColor]="fillMode ? themeColor : null"
|
|
362
|
+
[rounded]="rounded"
|
|
343
363
|
[selected]="selected"
|
|
344
364
|
[icon]="toolbarOptions.icon"
|
|
345
365
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -394,6 +414,7 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
394
414
|
[toggleable]="toggleable"
|
|
395
415
|
[fillMode]="fillMode"
|
|
396
416
|
[themeColor]="fillMode ? themeColor : null"
|
|
417
|
+
[rounded]="rounded"
|
|
397
418
|
[selected]="selected"
|
|
398
419
|
[icon]="toolbarOptions.icon"
|
|
399
420
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -424,6 +445,7 @@ export class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
424
445
|
[toggleable]="toggleable"
|
|
425
446
|
[fillMode]="fillMode"
|
|
426
447
|
[themeColor]="fillMode ? themeColor : null"
|
|
448
|
+
[rounded]="rounded"
|
|
427
449
|
[selected]="selected"
|
|
428
450
|
[icon]="toolbarOptions.icon"
|
|
429
451
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -463,6 +485,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
463
485
|
[toggleable]="toggleable"
|
|
464
486
|
[fillMode]="fillMode"
|
|
465
487
|
[themeColor]="fillMode ? themeColor : null"
|
|
488
|
+
[rounded]="rounded"
|
|
466
489
|
[selected]="selected"
|
|
467
490
|
[icon]="toolbarOptions.icon"
|
|
468
491
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -493,6 +516,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
493
516
|
[toggleable]="toggleable"
|
|
494
517
|
[fillMode]="fillMode"
|
|
495
518
|
[themeColor]="fillMode ? themeColor : null"
|
|
519
|
+
[rounded]="rounded"
|
|
496
520
|
[selected]="selected"
|
|
497
521
|
[icon]="toolbarOptions.icon"
|
|
498
522
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -547,6 +571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
547
571
|
[toggleable]="toggleable"
|
|
548
572
|
[fillMode]="fillMode"
|
|
549
573
|
[themeColor]="fillMode ? themeColor : null"
|
|
574
|
+
[rounded]="rounded"
|
|
550
575
|
[selected]="selected"
|
|
551
576
|
[icon]="toolbarOptions.icon"
|
|
552
577
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -577,6 +602,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
577
602
|
[toggleable]="toggleable"
|
|
578
603
|
[fillMode]="fillMode"
|
|
579
604
|
[themeColor]="fillMode ? themeColor : null"
|
|
605
|
+
[rounded]="rounded"
|
|
580
606
|
[selected]="selected"
|
|
581
607
|
[icon]="toolbarOptions.icon"
|
|
582
608
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -618,6 +644,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
618
644
|
type: Input
|
|
619
645
|
}], fillMode: [{
|
|
620
646
|
type: Input
|
|
647
|
+
}], rounded: [{
|
|
648
|
+
type: Input
|
|
621
649
|
}], themeColor: [{
|
|
622
650
|
type: Input
|
|
623
651
|
}], icon: [{
|
|
@@ -10,6 +10,7 @@ import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
|
10
10
|
import { NgClass, NgIf, NgFor } from '@angular/common';
|
|
11
11
|
import { take } from 'rxjs/operators';
|
|
12
12
|
import { ToolBarComponent } from '../toolbar.component';
|
|
13
|
+
import { normalizeNumpadKeys } from '@progress/kendo-angular-common';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
import * as i1 from "../toolbar.component";
|
|
15
16
|
/**
|
|
@@ -290,7 +291,8 @@ export class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
290
291
|
* @hidden
|
|
291
292
|
*/
|
|
292
293
|
handleKey(ev) {
|
|
293
|
-
|
|
294
|
+
const code = normalizeNumpadKeys(ev);
|
|
295
|
+
if (!this.overflows && (code === this.getPrevKey(this.overflows) || code === this.getNextKey(this.overflows))) {
|
|
294
296
|
return false;
|
|
295
297
|
}
|
|
296
298
|
if (this.overflows && this.location !== 'section') {
|
|
@@ -10,6 +10,7 @@ import { caretAltDownIcon } from '@progress/kendo-svg-icons';
|
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
11
|
import { NgClass, NgIf, NgFor } from '@angular/common';
|
|
12
12
|
import { ToolBarComponent } from '../toolbar.component';
|
|
13
|
+
import { normalizeNumpadKeys } from '@progress/kendo-angular-common';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
import * as i1 from "../toolbar.component";
|
|
15
16
|
/**
|
|
@@ -286,7 +287,8 @@ export class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
286
287
|
* @hidden
|
|
287
288
|
*/
|
|
288
289
|
handleKey(ev) {
|
|
289
|
-
|
|
290
|
+
const code = normalizeNumpadKeys(ev);
|
|
291
|
+
if (!this.overflows && (code === this.getPrevKey(this.overflows) || code === this.getNextKey(this.overflows))) {
|
|
290
292
|
return false;
|
|
291
293
|
}
|
|
292
294
|
if (this.overflows) {
|
package/esm2022/util.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Keys } from '@progress/kendo-angular-common';
|
|
5
|
+
import { Keys, normalizeNumpadKeys } from '@progress/kendo-angular-common';
|
|
6
6
|
/**
|
|
7
7
|
* @hidden
|
|
8
8
|
*/
|
|
@@ -130,12 +130,13 @@ export const makePeeker = (collection) => (index) => isPresent(collection[index]
|
|
|
130
130
|
* @hidden
|
|
131
131
|
*/
|
|
132
132
|
export const getIndexOfFocused = (prevKeyCode, nextKeyCode, collection) => (ev) => {
|
|
133
|
+
const code = normalizeNumpadKeys(ev);
|
|
133
134
|
switch (ev.type) {
|
|
134
135
|
case 'keydown':
|
|
135
|
-
if (
|
|
136
|
+
if (code === prevKeyCode) {
|
|
136
137
|
return collection.length - 1;
|
|
137
138
|
}
|
|
138
|
-
if (
|
|
139
|
+
if (code === nextKeyCode) {
|
|
139
140
|
return 0;
|
|
140
141
|
}
|
|
141
142
|
break;
|
|
@@ -151,7 +152,8 @@ export const getIndexOfFocused = (prevKeyCode, nextKeyCode, collection) => (ev)
|
|
|
151
152
|
* @hidden
|
|
152
153
|
*/
|
|
153
154
|
export const seekFocusedIndex = (prevKeyCode, nextKeyCode, seeker) => (startIndex, ev) => {
|
|
154
|
-
|
|
155
|
+
const code = normalizeNumpadKeys(ev);
|
|
156
|
+
switch (code) {
|
|
155
157
|
case prevKeyCode:
|
|
156
158
|
return seeker(startIndex - 1) ? startIndex - 1 : startIndex;
|
|
157
159
|
case nextKeyCode:
|
|
@@ -6,7 +6,7 @@ import * as i0 from '@angular/core';
|
|
|
6
6
|
import { EventEmitter, Injectable, inject, ElementRef, Directive, ViewChild, Input, Output, forwardRef, Component, HostBinding, ViewContainerRef, ContentChildren, HostListener, isDevMode, ViewChildren, NgModule } from '@angular/core';
|
|
7
7
|
import * as i2 from '@progress/kendo-angular-popup';
|
|
8
8
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
9
|
-
import { Keys, isPresent as isPresent$1, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
9
|
+
import { normalizeNumpadKeys, Keys, isPresent as isPresent$1, isDocumentAvailable, guid, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
10
10
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
11
11
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
12
12
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -26,8 +26,8 @@ const packageMetadata = {
|
|
|
26
26
|
productName: 'Kendo UI for Angular',
|
|
27
27
|
productCode: 'KENDOUIANGULAR',
|
|
28
28
|
productCodes: ['KENDOUIANGULAR'],
|
|
29
|
-
publishDate:
|
|
30
|
-
version: '19.3.0-develop.
|
|
29
|
+
publishDate: 1754990725,
|
|
30
|
+
version: '19.3.0-develop.40',
|
|
31
31
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
32
32
|
};
|
|
33
33
|
|
|
@@ -173,12 +173,13 @@ const makePeeker = (collection) => (index) => isPresent(collection[index]);
|
|
|
173
173
|
* @hidden
|
|
174
174
|
*/
|
|
175
175
|
const getIndexOfFocused = (prevKeyCode, nextKeyCode, collection) => (ev) => {
|
|
176
|
+
const code = normalizeNumpadKeys(ev);
|
|
176
177
|
switch (ev.type) {
|
|
177
178
|
case 'keydown':
|
|
178
|
-
if (
|
|
179
|
+
if (code === prevKeyCode) {
|
|
179
180
|
return collection.length - 1;
|
|
180
181
|
}
|
|
181
|
-
if (
|
|
182
|
+
if (code === nextKeyCode) {
|
|
182
183
|
return 0;
|
|
183
184
|
}
|
|
184
185
|
break;
|
|
@@ -194,7 +195,8 @@ const getIndexOfFocused = (prevKeyCode, nextKeyCode, collection) => (ev) => {
|
|
|
194
195
|
* @hidden
|
|
195
196
|
*/
|
|
196
197
|
const seekFocusedIndex = (prevKeyCode, nextKeyCode, seeker) => (startIndex, ev) => {
|
|
197
|
-
|
|
198
|
+
const code = normalizeNumpadKeys(ev);
|
|
199
|
+
switch (code) {
|
|
198
200
|
case prevKeyCode:
|
|
199
201
|
return seeker(startIndex - 1) ? startIndex - 1 : startIndex;
|
|
200
202
|
case nextKeyCode:
|
|
@@ -1141,7 +1143,8 @@ const getInitialPopupSettings = (isRtl) => ({
|
|
|
1141
1143
|
* {@link EditorFontFamilyComponent},
|
|
1142
1144
|
* {@link EditorFontSizeComponent},
|
|
1143
1145
|
* {@link EditorFormatComponent},
|
|
1144
|
-
* {@link EditorInsertTableButtonComponent}
|
|
1146
|
+
* {@link EditorInsertTableButtonComponent},
|
|
1147
|
+
* {@link SelectAllToolbarToolComponent}.
|
|
1145
1148
|
*/
|
|
1146
1149
|
class ToolBarComponent {
|
|
1147
1150
|
localization;
|
|
@@ -1466,7 +1469,9 @@ class ToolBarComponent {
|
|
|
1466
1469
|
}
|
|
1467
1470
|
this.zone.runOutsideAngular(() => {
|
|
1468
1471
|
this.toolbarKeydownListener = this.renderer.listen(this.element.nativeElement, 'keydown', (ev) => {
|
|
1469
|
-
|
|
1472
|
+
// on some keyboards arrow keys, PageUp/Down, and Home/End are mapped to Numpad keys
|
|
1473
|
+
const code = normalizeNumpadKeys(ev);
|
|
1474
|
+
switch (code) {
|
|
1470
1475
|
case Keys.ArrowLeft:
|
|
1471
1476
|
this.zone.run(() => {
|
|
1472
1477
|
ev.preventDefault();
|
|
@@ -1730,7 +1735,8 @@ class ToolBarComponent {
|
|
|
1730
1735
|
this.zone.runOutsideAngular(() => {
|
|
1731
1736
|
if (this.normalizedOverflow.mode === 'section') {
|
|
1732
1737
|
this.sectionKeydownListener = this.renderer.listen(this.popupRef.popupElement, 'keydown', (ev) => {
|
|
1733
|
-
|
|
1738
|
+
const code = normalizeNumpadKeys(ev);
|
|
1739
|
+
switch (code) {
|
|
1734
1740
|
case Keys.ArrowLeft:
|
|
1735
1741
|
this.zone.run(() => {
|
|
1736
1742
|
ev.preventDefault();
|
|
@@ -1776,7 +1782,8 @@ class ToolBarComponent {
|
|
|
1776
1782
|
}
|
|
1777
1783
|
else {
|
|
1778
1784
|
this.overflowKeydownListener = this.renderer.listen(this.popupRef.popupElement, 'keydown', (ev) => {
|
|
1779
|
-
|
|
1785
|
+
const code = normalizeNumpadKeys(ev);
|
|
1786
|
+
switch (code) {
|
|
1780
1787
|
case Keys.ArrowUp:
|
|
1781
1788
|
this.zone.run(() => {
|
|
1782
1789
|
ev.preventDefault();
|
|
@@ -1801,6 +1808,7 @@ class ToolBarComponent {
|
|
|
1801
1808
|
this.navigationService.resetNavigation();
|
|
1802
1809
|
});
|
|
1803
1810
|
break;
|
|
1811
|
+
case Keys.NumpadEnter:
|
|
1804
1812
|
case Keys.Enter:
|
|
1805
1813
|
case Keys.Space:
|
|
1806
1814
|
this.zone.run(() => {
|
|
@@ -2718,6 +2726,13 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2718
2726
|
* @default 'solid'
|
|
2719
2727
|
*/
|
|
2720
2728
|
fillMode = 'solid';
|
|
2729
|
+
/**
|
|
2730
|
+
* Specifies the border radius of the Button.
|
|
2731
|
+
* Accepts a `ButtonRounded` value.
|
|
2732
|
+
*
|
|
2733
|
+
* @default 'medium'
|
|
2734
|
+
*/
|
|
2735
|
+
rounded = 'medium';
|
|
2721
2736
|
/**
|
|
2722
2737
|
* Specifies the predefined theme color of the Button.
|
|
2723
2738
|
* Accepts a `ButtonThemeColor` value.
|
|
@@ -2826,6 +2841,17 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2826
2841
|
this.propertyChangeSub.unsubscribe();
|
|
2827
2842
|
this.propertyChangeSub = null;
|
|
2828
2843
|
}
|
|
2844
|
+
ngOnChanges(changes) {
|
|
2845
|
+
if (changes['rounded']) {
|
|
2846
|
+
this.rounded = changes['rounded'].currentValue;
|
|
2847
|
+
}
|
|
2848
|
+
if (changes['themeColor']) {
|
|
2849
|
+
this.themeColor = changes['themeColor'].currentValue;
|
|
2850
|
+
}
|
|
2851
|
+
if (changes['showText']) {
|
|
2852
|
+
this.showText = changes['showText'].currentValue;
|
|
2853
|
+
}
|
|
2854
|
+
}
|
|
2829
2855
|
/**
|
|
2830
2856
|
* @hidden
|
|
2831
2857
|
*/
|
|
@@ -2885,7 +2911,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2885
2911
|
});
|
|
2886
2912
|
}
|
|
2887
2913
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolBarButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: ToolBarComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
2888
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, ngImport: i0, template: `
|
|
2914
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ToolBarButtonComponent, isStandalone: true, selector: "kendo-toolbar-button", inputs: { showText: "showText", showIcon: "showIcon", text: "text", style: "style", className: "className", title: "title", disabled: "disabled", toggleable: "toggleable", look: "look", togglable: "togglable", selected: "selected", fillMode: "fillMode", rounded: "rounded", themeColor: "themeColor", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon", imageUrl: "imageUrl" }, outputs: { click: "click", pointerdown: "pointerdown", selectedChange: "selectedChange" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => ToolBarButtonComponent) }], viewQueries: [{ propertyName: "toolbarButtonElement", first: true, predicate: ["toolbarButton"], descendants: true, read: ElementRef }, { propertyName: "sectionButtonElement", first: true, predicate: ["sectionButton"], descendants: true, read: ElementRef }, { propertyName: "overflowButtonElement", first: true, predicate: ["overflowButton"], descendants: true, read: ElementRef }], exportAs: ["kendoToolBarButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
2889
2915
|
<ng-template #toolbarTemplate>
|
|
2890
2916
|
<kendo-badge-container *ngIf="hasBadgeContainer">
|
|
2891
2917
|
<button
|
|
@@ -2903,6 +2929,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2903
2929
|
[toggleable]="toggleable"
|
|
2904
2930
|
[fillMode]="fillMode"
|
|
2905
2931
|
[themeColor]="fillMode ? themeColor : null"
|
|
2932
|
+
[rounded]="rounded"
|
|
2906
2933
|
[selected]="selected"
|
|
2907
2934
|
[icon]="toolbarOptions.icon"
|
|
2908
2935
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -2933,6 +2960,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2933
2960
|
[toggleable]="toggleable"
|
|
2934
2961
|
[fillMode]="fillMode"
|
|
2935
2962
|
[themeColor]="fillMode ? themeColor : null"
|
|
2963
|
+
[rounded]="rounded"
|
|
2936
2964
|
[selected]="selected"
|
|
2937
2965
|
[icon]="toolbarOptions.icon"
|
|
2938
2966
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -2987,6 +3015,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
2987
3015
|
[toggleable]="toggleable"
|
|
2988
3016
|
[fillMode]="fillMode"
|
|
2989
3017
|
[themeColor]="fillMode ? themeColor : null"
|
|
3018
|
+
[rounded]="rounded"
|
|
2990
3019
|
[selected]="selected"
|
|
2991
3020
|
[icon]="toolbarOptions.icon"
|
|
2992
3021
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -3017,6 +3046,7 @@ class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
3017
3046
|
[toggleable]="toggleable"
|
|
3018
3047
|
[fillMode]="fillMode"
|
|
3019
3048
|
[themeColor]="fillMode ? themeColor : null"
|
|
3049
|
+
[rounded]="rounded"
|
|
3020
3050
|
[selected]="selected"
|
|
3021
3051
|
[icon]="toolbarOptions.icon"
|
|
3022
3052
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -3056,6 +3086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3056
3086
|
[toggleable]="toggleable"
|
|
3057
3087
|
[fillMode]="fillMode"
|
|
3058
3088
|
[themeColor]="fillMode ? themeColor : null"
|
|
3089
|
+
[rounded]="rounded"
|
|
3059
3090
|
[selected]="selected"
|
|
3060
3091
|
[icon]="toolbarOptions.icon"
|
|
3061
3092
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -3086,6 +3117,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3086
3117
|
[toggleable]="toggleable"
|
|
3087
3118
|
[fillMode]="fillMode"
|
|
3088
3119
|
[themeColor]="fillMode ? themeColor : null"
|
|
3120
|
+
[rounded]="rounded"
|
|
3089
3121
|
[selected]="selected"
|
|
3090
3122
|
[icon]="toolbarOptions.icon"
|
|
3091
3123
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -3140,6 +3172,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3140
3172
|
[toggleable]="toggleable"
|
|
3141
3173
|
[fillMode]="fillMode"
|
|
3142
3174
|
[themeColor]="fillMode ? themeColor : null"
|
|
3175
|
+
[rounded]="rounded"
|
|
3143
3176
|
[selected]="selected"
|
|
3144
3177
|
[icon]="toolbarOptions.icon"
|
|
3145
3178
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -3170,6 +3203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3170
3203
|
[toggleable]="toggleable"
|
|
3171
3204
|
[fillMode]="fillMode"
|
|
3172
3205
|
[themeColor]="fillMode ? themeColor : null"
|
|
3206
|
+
[rounded]="rounded"
|
|
3173
3207
|
[selected]="selected"
|
|
3174
3208
|
[icon]="toolbarOptions.icon"
|
|
3175
3209
|
[iconClass]="toolbarOptions.iconClass"
|
|
@@ -3211,6 +3245,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3211
3245
|
type: Input
|
|
3212
3246
|
}], fillMode: [{
|
|
3213
3247
|
type: Input
|
|
3248
|
+
}], rounded: [{
|
|
3249
|
+
type: Input
|
|
3214
3250
|
}], themeColor: [{
|
|
3215
3251
|
type: Input
|
|
3216
3252
|
}], icon: [{
|
|
@@ -3937,7 +3973,8 @@ class ToolBarDropDownButtonComponent extends ToolBarToolComponent {
|
|
|
3937
3973
|
* @hidden
|
|
3938
3974
|
*/
|
|
3939
3975
|
handleKey(ev) {
|
|
3940
|
-
|
|
3976
|
+
const code = normalizeNumpadKeys(ev);
|
|
3977
|
+
if (!this.overflows && (code === this.getPrevKey(this.overflows) || code === this.getNextKey(this.overflows))) {
|
|
3941
3978
|
return false;
|
|
3942
3979
|
}
|
|
3943
3980
|
if (this.overflows && this.location !== 'section') {
|
|
@@ -4501,7 +4538,8 @@ class ToolBarSplitButtonComponent extends ToolBarToolComponent {
|
|
|
4501
4538
|
* @hidden
|
|
4502
4539
|
*/
|
|
4503
4540
|
handleKey(ev) {
|
|
4504
|
-
|
|
4541
|
+
const code = normalizeNumpadKeys(ev);
|
|
4542
|
+
if (!this.overflows && (code === this.getPrevKey(this.overflows) || code === this.getNextKey(this.overflows))) {
|
|
4505
4543
|
return false;
|
|
4506
4544
|
}
|
|
4507
4545
|
if (this.overflows) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-toolbar",
|
|
3
|
-
"version": "19.3.0-develop.
|
|
3
|
+
"version": "19.3.0-develop.40",
|
|
4
4
|
"description": "Kendo UI Angular Toolbar component - a single UI element that organizes buttons and other navigation elements",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"package": {
|
|
46
46
|
"productName": "Kendo UI for Angular",
|
|
47
47
|
"productCode": "KENDOUIANGULAR",
|
|
48
|
-
"publishDate":
|
|
48
|
+
"publishDate": 1754990725,
|
|
49
49
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
50
50
|
}
|
|
51
51
|
},
|
|
@@ -54,18 +54,18 @@
|
|
|
54
54
|
"@angular/common": "16 - 20",
|
|
55
55
|
"@angular/core": "16 - 20",
|
|
56
56
|
"@angular/platform-browser": "16 - 20",
|
|
57
|
-
"@progress/kendo-licensing": "^1.
|
|
58
|
-
"@progress/kendo-angular-buttons": "19.3.0-develop.
|
|
59
|
-
"@progress/kendo-angular-common": "19.3.0-develop.
|
|
60
|
-
"@progress/kendo-angular-l10n": "19.3.0-develop.
|
|
61
|
-
"@progress/kendo-angular-icons": "19.3.0-develop.
|
|
62
|
-
"@progress/kendo-angular-indicators": "19.3.0-develop.
|
|
63
|
-
"@progress/kendo-angular-popup": "19.3.0-develop.
|
|
57
|
+
"@progress/kendo-licensing": "^1.7.0",
|
|
58
|
+
"@progress/kendo-angular-buttons": "19.3.0-develop.40",
|
|
59
|
+
"@progress/kendo-angular-common": "19.3.0-develop.40",
|
|
60
|
+
"@progress/kendo-angular-l10n": "19.3.0-develop.40",
|
|
61
|
+
"@progress/kendo-angular-icons": "19.3.0-develop.40",
|
|
62
|
+
"@progress/kendo-angular-indicators": "19.3.0-develop.40",
|
|
63
|
+
"@progress/kendo-angular-popup": "19.3.0-develop.40",
|
|
64
64
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
67
|
"tslib": "^2.3.1",
|
|
68
|
-
"@progress/kendo-angular-schematics": "19.3.0-develop.
|
|
68
|
+
"@progress/kendo-angular-schematics": "19.3.0-develop.40",
|
|
69
69
|
"node-html-parser": "^7.0.1"
|
|
70
70
|
},
|
|
71
71
|
"schematics": "./schematics/collection.json",
|
package/toolbar.component.d.ts
CHANGED
|
@@ -47,7 +47,8 @@ import * as i0 from "@angular/core";
|
|
|
47
47
|
* {@link EditorFontFamilyComponent},
|
|
48
48
|
* {@link EditorFontSizeComponent},
|
|
49
49
|
* {@link EditorFormatComponent},
|
|
50
|
-
* {@link EditorInsertTableButtonComponent}
|
|
50
|
+
* {@link EditorInsertTableButtonComponent},
|
|
51
|
+
* {@link SelectAllToolbarToolComponent}.
|
|
51
52
|
*/
|
|
52
53
|
export declare class ToolBarComponent {
|
|
53
54
|
localization: LocalizationService;
|
|
@@ -6,7 +6,7 @@ import { EventEmitter, ElementRef, NgZone } from '@angular/core';
|
|
|
6
6
|
import { ToolBarToolComponent } from './toolbar-tool.component';
|
|
7
7
|
import { DisplayMode } from '../display-mode';
|
|
8
8
|
import { ToolOptions } from '../tool-options';
|
|
9
|
-
import { ButtonFillMode, ButtonThemeColor } from '@progress/kendo-angular-buttons';
|
|
9
|
+
import { ButtonFillMode, ButtonThemeColor, ButtonRounded } from '@progress/kendo-angular-buttons';
|
|
10
10
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
11
11
|
import { ToolBarComponent } from '../toolbar.component';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
@@ -100,6 +100,13 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
100
100
|
* @default 'solid'
|
|
101
101
|
*/
|
|
102
102
|
fillMode: ButtonFillMode;
|
|
103
|
+
/**
|
|
104
|
+
* Specifies the border radius of the Button.
|
|
105
|
+
* Accepts a `ButtonRounded` value.
|
|
106
|
+
*
|
|
107
|
+
* @default 'medium'
|
|
108
|
+
*/
|
|
109
|
+
rounded: ButtonRounded;
|
|
103
110
|
/**
|
|
104
111
|
* Specifies the predefined theme color of the Button.
|
|
105
112
|
* Accepts a `ButtonThemeColor` value.
|
|
@@ -160,6 +167,7 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
160
167
|
constructor(element: ElementRef, zone: NgZone, host: ToolBarComponent);
|
|
161
168
|
ngOnInit(): void;
|
|
162
169
|
ngOnDestroy(): void;
|
|
170
|
+
ngOnChanges(changes: any): void;
|
|
163
171
|
/**
|
|
164
172
|
* @hidden
|
|
165
173
|
*/
|
|
@@ -190,5 +198,5 @@ export declare class ToolBarButtonComponent extends ToolBarToolComponent {
|
|
|
190
198
|
getButton(): HTMLElement;
|
|
191
199
|
private setTextDisplayMode;
|
|
192
200
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToolBarButtonComponent, never>;
|
|
193
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarButtonComponent, "kendo-toolbar-button", ["kendoToolBarButton"], { "showText": { "alias": "showText"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "style": { "alias": "style"; "required": false; }; "className": { "alias": "className"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "look": { "alias": "look"; "required": false; }; "togglable": { "alias": "togglable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "click": "click"; "pointerdown": "pointerdown"; "selectedChange": "selectedChange"; }, never, never, true, never>;
|
|
201
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToolBarButtonComponent, "kendo-toolbar-button", ["kendoToolBarButton"], { "showText": { "alias": "showText"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "style": { "alias": "style"; "required": false; }; "className": { "alias": "className"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "toggleable": { "alias": "toggleable"; "required": false; }; "look": { "alias": "look"; "required": false; }; "togglable": { "alias": "togglable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; }, { "click": "click"; "pointerdown": "pointerdown"; "selectedChange": "selectedChange"; }, never, never, true, never>;
|
|
194
202
|
}
|
package/util.d.ts
CHANGED
|
@@ -63,11 +63,11 @@ export declare const makePeeker: (collection: any[]) => (index: number) => boole
|
|
|
63
63
|
/**
|
|
64
64
|
* @hidden
|
|
65
65
|
*/
|
|
66
|
-
export declare const getIndexOfFocused: (prevKeyCode:
|
|
66
|
+
export declare const getIndexOfFocused: (prevKeyCode: string, nextKeyCode: string, collection: HTMLElement[]) => (ev: any) => number;
|
|
67
67
|
/**
|
|
68
68
|
* @hidden
|
|
69
69
|
*/
|
|
70
|
-
export declare const seekFocusedIndex: (prevKeyCode:
|
|
70
|
+
export declare const seekFocusedIndex: (prevKeyCode: string, nextKeyCode: string, seeker: (i: number) => boolean) => (startIndex: number, ev: any) => number;
|
|
71
71
|
/**
|
|
72
72
|
* @hidden
|
|
73
73
|
*/
|