@progress/kendo-angular-common 19.3.0-develop.32 → 19.3.0-develop.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/enums/keys.d.ts +65 -58
- package/esm2022/enums/keys.mjs +65 -58
- package/esm2022/index.mjs +1 -0
- package/esm2022/toggle-button-tab-stop/toggle-button-tab-stop.directive.mjs +5 -2
- package/esm2022/utils/numpad-keys-normalizer.mjs +40 -0
- package/fesm2022/progress-kendo-angular-common.mjs +106 -61
- package/index.d.ts +1 -0
- package/package.json +2 -2
- package/utils/numpad-keys-normalizer.d.ts +10 -0
package/enums/keys.d.ts
CHANGED
|
@@ -6,62 +6,69 @@
|
|
|
6
6
|
* Enum with key codes.
|
|
7
7
|
*/
|
|
8
8
|
export declare enum Keys {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
9
|
+
ArrowDown = "ArrowDown",
|
|
10
|
+
ArrowLeft = "ArrowLeft",
|
|
11
|
+
ArrowRight = "ArrowRight",
|
|
12
|
+
ArrowUp = "ArrowUp",
|
|
13
|
+
Backspace = "Backspace",
|
|
14
|
+
Delete = "Delete",
|
|
15
|
+
Digit0 = "Digit0",
|
|
16
|
+
Digit1 = "Digit1",
|
|
17
|
+
Digit2 = "Digit2",
|
|
18
|
+
Digit3 = "Digit3",
|
|
19
|
+
Digit4 = "Digit4",
|
|
20
|
+
Digit5 = "Digit5",
|
|
21
|
+
Digit6 = "Digit6",
|
|
22
|
+
Digit7 = "Digit7",
|
|
23
|
+
Digit8 = "Digit8",
|
|
24
|
+
Digit9 = "Digit9",
|
|
25
|
+
End = "End",
|
|
26
|
+
Enter = "Enter",
|
|
27
|
+
Escape = "Escape",
|
|
28
|
+
F1 = "F1",
|
|
29
|
+
F2 = "F2",
|
|
30
|
+
F10 = "F10",
|
|
31
|
+
Home = "Home",
|
|
32
|
+
KeyA = "KeyA",
|
|
33
|
+
KeyB = "KeyB",
|
|
34
|
+
KeyC = "KeyC",
|
|
35
|
+
KeyD = "KeyD",
|
|
36
|
+
KeyE = "KeyE",
|
|
37
|
+
KeyF = "KeyF",
|
|
38
|
+
KeyG = "KeyG",
|
|
39
|
+
KeyH = "KeyH",
|
|
40
|
+
KeyI = "KeyI",
|
|
41
|
+
KeyJ = "KeyJ",
|
|
42
|
+
KeyK = "KeyK",
|
|
43
|
+
KeyL = "KeyL",
|
|
44
|
+
KeyM = "KeyM",
|
|
45
|
+
KeyN = "KeyN",
|
|
46
|
+
KeyO = "KeyO",
|
|
47
|
+
KeyP = "KeyP",
|
|
48
|
+
KeyQ = "KeyQ",
|
|
49
|
+
KeyR = "KeyR",
|
|
50
|
+
KeyS = "KeyS",
|
|
51
|
+
KeyT = "KeyT",
|
|
52
|
+
KeyU = "KeyU",
|
|
53
|
+
KeyV = "KeyV",
|
|
54
|
+
KeyW = "KeyW",
|
|
55
|
+
KeyX = "KeyX",
|
|
56
|
+
KeyY = "KeyY",
|
|
57
|
+
KeyZ = "KeyZ",
|
|
58
|
+
Numpad1 = "Numpad1",
|
|
59
|
+
Numpad2 = "Numpad2",
|
|
60
|
+
Numpad3 = "Numpad3",
|
|
61
|
+
Numpad4 = "Numpad4",
|
|
62
|
+
Numpad5 = "Numpad5",
|
|
63
|
+
Numpad6 = "Numpad6",
|
|
64
|
+
Numpad7 = "Numpad7",
|
|
65
|
+
Numpad8 = "Numpad8",
|
|
66
|
+
Numpad9 = "Numpad9",
|
|
67
|
+
Numpad0 = "Numpad0",
|
|
68
|
+
NumpadEnter = "NumpadEnter",
|
|
69
|
+
NumpadDecimal = "NumpadDecimal",
|
|
70
|
+
PageDown = "PageDown",
|
|
71
|
+
PageUp = "PageUp",
|
|
72
|
+
Space = "Space",
|
|
73
|
+
Tab = "Tab"
|
|
67
74
|
}
|
package/esm2022/enums/keys.mjs
CHANGED
|
@@ -7,62 +7,69 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export var Keys;
|
|
9
9
|
(function (Keys) {
|
|
10
|
-
Keys[
|
|
11
|
-
Keys[
|
|
12
|
-
Keys[
|
|
13
|
-
Keys[
|
|
14
|
-
Keys[
|
|
15
|
-
Keys[
|
|
16
|
-
Keys[
|
|
17
|
-
Keys[
|
|
18
|
-
Keys[
|
|
19
|
-
Keys[
|
|
20
|
-
Keys[
|
|
21
|
-
Keys[
|
|
22
|
-
Keys[
|
|
23
|
-
Keys[
|
|
24
|
-
Keys[
|
|
25
|
-
Keys[
|
|
26
|
-
Keys[
|
|
27
|
-
Keys[
|
|
28
|
-
Keys[
|
|
29
|
-
Keys[
|
|
30
|
-
Keys[
|
|
31
|
-
Keys[
|
|
32
|
-
Keys[
|
|
33
|
-
Keys[
|
|
34
|
-
Keys[
|
|
35
|
-
Keys[
|
|
36
|
-
Keys[
|
|
37
|
-
Keys[
|
|
38
|
-
Keys[
|
|
39
|
-
Keys[
|
|
40
|
-
Keys[
|
|
41
|
-
Keys[
|
|
42
|
-
Keys[
|
|
43
|
-
Keys[
|
|
44
|
-
Keys[
|
|
45
|
-
Keys[
|
|
46
|
-
Keys[
|
|
47
|
-
Keys[
|
|
48
|
-
Keys[
|
|
49
|
-
Keys[
|
|
50
|
-
Keys[
|
|
51
|
-
Keys[
|
|
52
|
-
Keys[
|
|
53
|
-
Keys[
|
|
54
|
-
Keys[
|
|
55
|
-
Keys[
|
|
56
|
-
Keys[
|
|
57
|
-
Keys[
|
|
58
|
-
Keys[
|
|
59
|
-
Keys[
|
|
60
|
-
Keys[
|
|
61
|
-
Keys[
|
|
62
|
-
Keys[
|
|
63
|
-
Keys[
|
|
64
|
-
Keys[
|
|
65
|
-
Keys[
|
|
66
|
-
Keys[
|
|
67
|
-
Keys[
|
|
10
|
+
Keys["ArrowDown"] = "ArrowDown";
|
|
11
|
+
Keys["ArrowLeft"] = "ArrowLeft";
|
|
12
|
+
Keys["ArrowRight"] = "ArrowRight";
|
|
13
|
+
Keys["ArrowUp"] = "ArrowUp";
|
|
14
|
+
Keys["Backspace"] = "Backspace";
|
|
15
|
+
Keys["Delete"] = "Delete";
|
|
16
|
+
Keys["Digit0"] = "Digit0";
|
|
17
|
+
Keys["Digit1"] = "Digit1";
|
|
18
|
+
Keys["Digit2"] = "Digit2";
|
|
19
|
+
Keys["Digit3"] = "Digit3";
|
|
20
|
+
Keys["Digit4"] = "Digit4";
|
|
21
|
+
Keys["Digit5"] = "Digit5";
|
|
22
|
+
Keys["Digit6"] = "Digit6";
|
|
23
|
+
Keys["Digit7"] = "Digit7";
|
|
24
|
+
Keys["Digit8"] = "Digit8";
|
|
25
|
+
Keys["Digit9"] = "Digit9";
|
|
26
|
+
Keys["End"] = "End";
|
|
27
|
+
Keys["Enter"] = "Enter";
|
|
28
|
+
Keys["Escape"] = "Escape";
|
|
29
|
+
Keys["F1"] = "F1";
|
|
30
|
+
Keys["F2"] = "F2";
|
|
31
|
+
Keys["F10"] = "F10";
|
|
32
|
+
Keys["Home"] = "Home";
|
|
33
|
+
Keys["KeyA"] = "KeyA";
|
|
34
|
+
Keys["KeyB"] = "KeyB";
|
|
35
|
+
Keys["KeyC"] = "KeyC";
|
|
36
|
+
Keys["KeyD"] = "KeyD";
|
|
37
|
+
Keys["KeyE"] = "KeyE";
|
|
38
|
+
Keys["KeyF"] = "KeyF";
|
|
39
|
+
Keys["KeyG"] = "KeyG";
|
|
40
|
+
Keys["KeyH"] = "KeyH";
|
|
41
|
+
Keys["KeyI"] = "KeyI";
|
|
42
|
+
Keys["KeyJ"] = "KeyJ";
|
|
43
|
+
Keys["KeyK"] = "KeyK";
|
|
44
|
+
Keys["KeyL"] = "KeyL";
|
|
45
|
+
Keys["KeyM"] = "KeyM";
|
|
46
|
+
Keys["KeyN"] = "KeyN";
|
|
47
|
+
Keys["KeyO"] = "KeyO";
|
|
48
|
+
Keys["KeyP"] = "KeyP";
|
|
49
|
+
Keys["KeyQ"] = "KeyQ";
|
|
50
|
+
Keys["KeyR"] = "KeyR";
|
|
51
|
+
Keys["KeyS"] = "KeyS";
|
|
52
|
+
Keys["KeyT"] = "KeyT";
|
|
53
|
+
Keys["KeyU"] = "KeyU";
|
|
54
|
+
Keys["KeyV"] = "KeyV";
|
|
55
|
+
Keys["KeyW"] = "KeyW";
|
|
56
|
+
Keys["KeyX"] = "KeyX";
|
|
57
|
+
Keys["KeyY"] = "KeyY";
|
|
58
|
+
Keys["KeyZ"] = "KeyZ";
|
|
59
|
+
Keys["Numpad1"] = "Numpad1";
|
|
60
|
+
Keys["Numpad2"] = "Numpad2";
|
|
61
|
+
Keys["Numpad3"] = "Numpad3";
|
|
62
|
+
Keys["Numpad4"] = "Numpad4";
|
|
63
|
+
Keys["Numpad5"] = "Numpad5";
|
|
64
|
+
Keys["Numpad6"] = "Numpad6";
|
|
65
|
+
Keys["Numpad7"] = "Numpad7";
|
|
66
|
+
Keys["Numpad8"] = "Numpad8";
|
|
67
|
+
Keys["Numpad9"] = "Numpad9";
|
|
68
|
+
Keys["Numpad0"] = "Numpad0";
|
|
69
|
+
Keys["NumpadEnter"] = "NumpadEnter";
|
|
70
|
+
Keys["NumpadDecimal"] = "NumpadDecimal";
|
|
71
|
+
Keys["PageDown"] = "PageDown";
|
|
72
|
+
Keys["PageUp"] = "PageUp";
|
|
73
|
+
Keys["Space"] = "Space";
|
|
74
|
+
Keys["Tab"] = "Tab";
|
|
68
75
|
})(Keys || (Keys = {}));
|
package/esm2022/index.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export * from './utils';
|
|
|
11
11
|
export * from './enums';
|
|
12
12
|
export * from './utils/focusable-selectors';
|
|
13
13
|
export * from './utils/ng-class-parser';
|
|
14
|
+
export * from './utils/numpad-keys-normalizer';
|
|
14
15
|
export * from './watermark';
|
|
15
16
|
export * from './adornments';
|
|
16
17
|
export { PreventableEvent } from './preventable-event';
|
|
@@ -8,6 +8,7 @@ import { MultiTabStop } from "./toggle-button-tab-stop";
|
|
|
8
8
|
import { Subscription } from "rxjs";
|
|
9
9
|
import { take } from "rxjs/operators";
|
|
10
10
|
import { Keys } from "../enums";
|
|
11
|
+
import { normalizeNumpadKeys } from "../utils/numpad-keys-normalizer";
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "./toggle-button-tab-stop";
|
|
13
14
|
const tags = ['kendo-splitbutton', 'kendo-combobox', 'kendo-multicolumncombobox', 'kendo-datepicker', 'kendo-timepicker', 'kendo-datetimepicker'];
|
|
@@ -144,12 +145,14 @@ export class ToggleButtonTabStopDirective {
|
|
|
144
145
|
this.renderer.removeStyle(this.button, 'box-shadow');
|
|
145
146
|
};
|
|
146
147
|
onClick = (e) => {
|
|
147
|
-
const
|
|
148
|
+
const code = normalizeNumpadKeys(e);
|
|
149
|
+
const splitButtonToggleEnter = e instanceof KeyboardEvent && code === Keys.Enter;
|
|
148
150
|
const isClick = e instanceof PointerEvent;
|
|
149
151
|
(splitButtonToggleEnter || isClick) && (this.focusButton = true);
|
|
150
152
|
};
|
|
151
153
|
onKeyDown = (e) => {
|
|
152
|
-
|
|
154
|
+
const code = normalizeNumpadKeys(e);
|
|
155
|
+
if (code === Keys.ArrowDown && e.altKey) {
|
|
153
156
|
e.stopImmediatePropagation();
|
|
154
157
|
this.focusButton = true;
|
|
155
158
|
this.button.click();
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Keys } from "../enums";
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
*
|
|
9
|
+
* On some keyboards, PageUp/Down, Home/End, and arrow keys are mapped to Numpad keys
|
|
10
|
+
*/
|
|
11
|
+
export const normalizeNumpadKeys = (event) => {
|
|
12
|
+
if (event.code === Keys.Numpad1 && event.key === Keys.End) {
|
|
13
|
+
return Keys.End;
|
|
14
|
+
}
|
|
15
|
+
if (event.code === Keys.Numpad2 && event.key === Keys.ArrowDown) {
|
|
16
|
+
return Keys.ArrowDown;
|
|
17
|
+
}
|
|
18
|
+
if (event.code === Keys.Numpad3 && event.key === Keys.PageDown) {
|
|
19
|
+
return Keys.PageDown;
|
|
20
|
+
}
|
|
21
|
+
if (event.code === Keys.Numpad4 && event.key === Keys.ArrowLeft) {
|
|
22
|
+
return Keys.ArrowLeft;
|
|
23
|
+
}
|
|
24
|
+
if (event.code === Keys.Numpad6 && event.key === Keys.ArrowRight) {
|
|
25
|
+
return Keys.ArrowRight;
|
|
26
|
+
}
|
|
27
|
+
if (event.code === Keys.Numpad7 && event.key === Keys.Home) {
|
|
28
|
+
return Keys.Home;
|
|
29
|
+
}
|
|
30
|
+
if (event.code === Keys.Numpad8 && event.key === Keys.ArrowUp) {
|
|
31
|
+
return Keys.ArrowUp;
|
|
32
|
+
}
|
|
33
|
+
if (event.code === Keys.Numpad9 && event.key === Keys.PageUp) {
|
|
34
|
+
return Keys.PageUp;
|
|
35
|
+
}
|
|
36
|
+
if (event.code === Keys.NumpadEnter) {
|
|
37
|
+
return Keys.Enter;
|
|
38
|
+
}
|
|
39
|
+
return event.code;
|
|
40
|
+
};
|
|
@@ -795,64 +795,71 @@ class KendoInput {
|
|
|
795
795
|
*/
|
|
796
796
|
var Keys;
|
|
797
797
|
(function (Keys) {
|
|
798
|
-
Keys[
|
|
799
|
-
Keys[
|
|
800
|
-
Keys[
|
|
801
|
-
Keys[
|
|
802
|
-
Keys[
|
|
803
|
-
Keys[
|
|
804
|
-
Keys[
|
|
805
|
-
Keys[
|
|
806
|
-
Keys[
|
|
807
|
-
Keys[
|
|
808
|
-
Keys[
|
|
809
|
-
Keys[
|
|
810
|
-
Keys[
|
|
811
|
-
Keys[
|
|
812
|
-
Keys[
|
|
813
|
-
Keys[
|
|
814
|
-
Keys[
|
|
815
|
-
Keys[
|
|
816
|
-
Keys[
|
|
817
|
-
Keys[
|
|
818
|
-
Keys[
|
|
819
|
-
Keys[
|
|
820
|
-
Keys[
|
|
821
|
-
Keys[
|
|
822
|
-
Keys[
|
|
823
|
-
Keys[
|
|
824
|
-
Keys[
|
|
825
|
-
Keys[
|
|
826
|
-
Keys[
|
|
827
|
-
Keys[
|
|
828
|
-
Keys[
|
|
829
|
-
Keys[
|
|
830
|
-
Keys[
|
|
831
|
-
Keys[
|
|
832
|
-
Keys[
|
|
833
|
-
Keys[
|
|
834
|
-
Keys[
|
|
835
|
-
Keys[
|
|
836
|
-
Keys[
|
|
837
|
-
Keys[
|
|
838
|
-
Keys[
|
|
839
|
-
Keys[
|
|
840
|
-
Keys[
|
|
841
|
-
Keys[
|
|
842
|
-
Keys[
|
|
843
|
-
Keys[
|
|
844
|
-
Keys[
|
|
845
|
-
Keys[
|
|
846
|
-
Keys[
|
|
847
|
-
Keys[
|
|
848
|
-
Keys[
|
|
849
|
-
Keys[
|
|
850
|
-
Keys[
|
|
851
|
-
Keys[
|
|
852
|
-
Keys[
|
|
853
|
-
Keys[
|
|
854
|
-
Keys[
|
|
855
|
-
Keys[
|
|
798
|
+
Keys["ArrowDown"] = "ArrowDown";
|
|
799
|
+
Keys["ArrowLeft"] = "ArrowLeft";
|
|
800
|
+
Keys["ArrowRight"] = "ArrowRight";
|
|
801
|
+
Keys["ArrowUp"] = "ArrowUp";
|
|
802
|
+
Keys["Backspace"] = "Backspace";
|
|
803
|
+
Keys["Delete"] = "Delete";
|
|
804
|
+
Keys["Digit0"] = "Digit0";
|
|
805
|
+
Keys["Digit1"] = "Digit1";
|
|
806
|
+
Keys["Digit2"] = "Digit2";
|
|
807
|
+
Keys["Digit3"] = "Digit3";
|
|
808
|
+
Keys["Digit4"] = "Digit4";
|
|
809
|
+
Keys["Digit5"] = "Digit5";
|
|
810
|
+
Keys["Digit6"] = "Digit6";
|
|
811
|
+
Keys["Digit7"] = "Digit7";
|
|
812
|
+
Keys["Digit8"] = "Digit8";
|
|
813
|
+
Keys["Digit9"] = "Digit9";
|
|
814
|
+
Keys["End"] = "End";
|
|
815
|
+
Keys["Enter"] = "Enter";
|
|
816
|
+
Keys["Escape"] = "Escape";
|
|
817
|
+
Keys["F1"] = "F1";
|
|
818
|
+
Keys["F2"] = "F2";
|
|
819
|
+
Keys["F10"] = "F10";
|
|
820
|
+
Keys["Home"] = "Home";
|
|
821
|
+
Keys["KeyA"] = "KeyA";
|
|
822
|
+
Keys["KeyB"] = "KeyB";
|
|
823
|
+
Keys["KeyC"] = "KeyC";
|
|
824
|
+
Keys["KeyD"] = "KeyD";
|
|
825
|
+
Keys["KeyE"] = "KeyE";
|
|
826
|
+
Keys["KeyF"] = "KeyF";
|
|
827
|
+
Keys["KeyG"] = "KeyG";
|
|
828
|
+
Keys["KeyH"] = "KeyH";
|
|
829
|
+
Keys["KeyI"] = "KeyI";
|
|
830
|
+
Keys["KeyJ"] = "KeyJ";
|
|
831
|
+
Keys["KeyK"] = "KeyK";
|
|
832
|
+
Keys["KeyL"] = "KeyL";
|
|
833
|
+
Keys["KeyM"] = "KeyM";
|
|
834
|
+
Keys["KeyN"] = "KeyN";
|
|
835
|
+
Keys["KeyO"] = "KeyO";
|
|
836
|
+
Keys["KeyP"] = "KeyP";
|
|
837
|
+
Keys["KeyQ"] = "KeyQ";
|
|
838
|
+
Keys["KeyR"] = "KeyR";
|
|
839
|
+
Keys["KeyS"] = "KeyS";
|
|
840
|
+
Keys["KeyT"] = "KeyT";
|
|
841
|
+
Keys["KeyU"] = "KeyU";
|
|
842
|
+
Keys["KeyV"] = "KeyV";
|
|
843
|
+
Keys["KeyW"] = "KeyW";
|
|
844
|
+
Keys["KeyX"] = "KeyX";
|
|
845
|
+
Keys["KeyY"] = "KeyY";
|
|
846
|
+
Keys["KeyZ"] = "KeyZ";
|
|
847
|
+
Keys["Numpad1"] = "Numpad1";
|
|
848
|
+
Keys["Numpad2"] = "Numpad2";
|
|
849
|
+
Keys["Numpad3"] = "Numpad3";
|
|
850
|
+
Keys["Numpad4"] = "Numpad4";
|
|
851
|
+
Keys["Numpad5"] = "Numpad5";
|
|
852
|
+
Keys["Numpad6"] = "Numpad6";
|
|
853
|
+
Keys["Numpad7"] = "Numpad7";
|
|
854
|
+
Keys["Numpad8"] = "Numpad8";
|
|
855
|
+
Keys["Numpad9"] = "Numpad9";
|
|
856
|
+
Keys["Numpad0"] = "Numpad0";
|
|
857
|
+
Keys["NumpadEnter"] = "NumpadEnter";
|
|
858
|
+
Keys["NumpadDecimal"] = "NumpadDecimal";
|
|
859
|
+
Keys["PageDown"] = "PageDown";
|
|
860
|
+
Keys["PageUp"] = "PageUp";
|
|
861
|
+
Keys["Space"] = "Space";
|
|
862
|
+
Keys["Tab"] = "Tab";
|
|
856
863
|
})(Keys || (Keys = {}));
|
|
857
864
|
|
|
858
865
|
/**
|
|
@@ -872,6 +879,42 @@ const focusableSelector = [
|
|
|
872
879
|
'*[contenteditable]:not([tabindex^="-"]):not([disabled]):not([contenteditable="false"])'
|
|
873
880
|
].join(',');
|
|
874
881
|
|
|
882
|
+
/**
|
|
883
|
+
* @hidden
|
|
884
|
+
*
|
|
885
|
+
* On some keyboards, PageUp/Down, Home/End, and arrow keys are mapped to Numpad keys
|
|
886
|
+
*/
|
|
887
|
+
const normalizeNumpadKeys = (event) => {
|
|
888
|
+
if (event.code === Keys.Numpad1 && event.key === Keys.End) {
|
|
889
|
+
return Keys.End;
|
|
890
|
+
}
|
|
891
|
+
if (event.code === Keys.Numpad2 && event.key === Keys.ArrowDown) {
|
|
892
|
+
return Keys.ArrowDown;
|
|
893
|
+
}
|
|
894
|
+
if (event.code === Keys.Numpad3 && event.key === Keys.PageDown) {
|
|
895
|
+
return Keys.PageDown;
|
|
896
|
+
}
|
|
897
|
+
if (event.code === Keys.Numpad4 && event.key === Keys.ArrowLeft) {
|
|
898
|
+
return Keys.ArrowLeft;
|
|
899
|
+
}
|
|
900
|
+
if (event.code === Keys.Numpad6 && event.key === Keys.ArrowRight) {
|
|
901
|
+
return Keys.ArrowRight;
|
|
902
|
+
}
|
|
903
|
+
if (event.code === Keys.Numpad7 && event.key === Keys.Home) {
|
|
904
|
+
return Keys.Home;
|
|
905
|
+
}
|
|
906
|
+
if (event.code === Keys.Numpad8 && event.key === Keys.ArrowUp) {
|
|
907
|
+
return Keys.ArrowUp;
|
|
908
|
+
}
|
|
909
|
+
if (event.code === Keys.Numpad9 && event.key === Keys.PageUp) {
|
|
910
|
+
return Keys.PageUp;
|
|
911
|
+
}
|
|
912
|
+
if (event.code === Keys.NumpadEnter) {
|
|
913
|
+
return Keys.Enter;
|
|
914
|
+
}
|
|
915
|
+
return event.code;
|
|
916
|
+
};
|
|
917
|
+
|
|
875
918
|
/**
|
|
876
919
|
* @hidden
|
|
877
920
|
*/
|
|
@@ -1409,12 +1452,14 @@ class ToggleButtonTabStopDirective {
|
|
|
1409
1452
|
this.renderer.removeStyle(this.button, 'box-shadow');
|
|
1410
1453
|
};
|
|
1411
1454
|
onClick = (e) => {
|
|
1412
|
-
const
|
|
1455
|
+
const code = normalizeNumpadKeys(e);
|
|
1456
|
+
const splitButtonToggleEnter = e instanceof KeyboardEvent && code === Keys.Enter;
|
|
1413
1457
|
const isClick = e instanceof PointerEvent;
|
|
1414
1458
|
(splitButtonToggleEnter || isClick) && (this.focusButton = true);
|
|
1415
1459
|
};
|
|
1416
1460
|
onKeyDown = (e) => {
|
|
1417
|
-
|
|
1461
|
+
const code = normalizeNumpadKeys(e);
|
|
1462
|
+
if (code === Keys.ArrowDown && e.altKey) {
|
|
1418
1463
|
e.stopImmediatePropagation();
|
|
1419
1464
|
this.focusButton = true;
|
|
1420
1465
|
this.button.click();
|
|
@@ -1590,5 +1635,5 @@ const replaceMessagePlaceholder = (message, name, value) => (message ?? '').repl
|
|
|
1590
1635
|
* Generated bundle index. Do not edit.
|
|
1591
1636
|
*/
|
|
1592
1637
|
|
|
1593
|
-
export { DraggableDirective, EventsOutsideAngularDirective, KENDO_ADORNMENTS, KENDO_COMMON, KENDO_DRAGGABLE, KENDO_EVENTS, KENDO_RESIZESENSOR, KENDO_TEMPLATE_CONTEXT, KENDO_TOGGLEBUTTONTABSTOP, KENDO_WATERMARK, KendoInput, Keys, MultiTabStop, PrefixTemplateDirective, PreventableEvent, ResizeBatchService, ResizeCompatService, ResizeObserverService, ResizeSensorComponent, ScrollbarWidthService, SeparatorComponent, SuffixTemplateDirective, TemplateContextDirective, ToggleButtonTabStopDirective, WatermarkOverlayComponent, anyChanged, applyAttributes, areObjectsEqual, closest, closestBySelector, closestInScope, contains, findElement, findFocusable, findFocusableChild, focusableSelector, getLicenseMessage, guid, hasClasses, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isString, isVisible, matchesClasses, matchesNodeName, parseAttributes, parseCSSClassNames, processCssValue, removeHTMLAttributes, replaceMessagePlaceholder, rtlScrollPosition, scrollbarWidth, setHTMLAttributes, shouldShowValidationUI, splitStringToArray };
|
|
1638
|
+
export { DraggableDirective, EventsOutsideAngularDirective, KENDO_ADORNMENTS, KENDO_COMMON, KENDO_DRAGGABLE, KENDO_EVENTS, KENDO_RESIZESENSOR, KENDO_TEMPLATE_CONTEXT, KENDO_TOGGLEBUTTONTABSTOP, KENDO_WATERMARK, KendoInput, Keys, MultiTabStop, PrefixTemplateDirective, PreventableEvent, ResizeBatchService, ResizeCompatService, ResizeObserverService, ResizeSensorComponent, ScrollbarWidthService, SeparatorComponent, SuffixTemplateDirective, TemplateContextDirective, ToggleButtonTabStopDirective, WatermarkOverlayComponent, anyChanged, applyAttributes, areObjectsEqual, closest, closestBySelector, closestInScope, contains, findElement, findFocusable, findFocusableChild, focusableSelector, getLicenseMessage, guid, hasClasses, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isString, isVisible, matchesClasses, matchesNodeName, normalizeNumpadKeys, parseAttributes, parseCSSClassNames, processCssValue, removeHTMLAttributes, replaceMessagePlaceholder, rtlScrollPosition, scrollbarWidth, setHTMLAttributes, shouldShowValidationUI, splitStringToArray };
|
|
1594
1639
|
|
package/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from './utils';
|
|
|
11
11
|
export * from './enums';
|
|
12
12
|
export * from './utils/focusable-selectors';
|
|
13
13
|
export * from './utils/ng-class-parser';
|
|
14
|
+
export * from './utils/numpad-keys-normalizer';
|
|
14
15
|
export * from './watermark';
|
|
15
16
|
export * from './adornments';
|
|
16
17
|
export { PreventableEvent } from './preventable-event';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-common",
|
|
3
|
-
"version": "19.3.0-develop.
|
|
3
|
+
"version": "19.3.0-develop.33",
|
|
4
4
|
"description": "Kendo UI for Angular - Utility Package",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@progress/kendo-common": "^1.0.1",
|
|
24
24
|
"@progress/kendo-draggable": "^3.0.2",
|
|
25
25
|
"tslib": "^2.3.1",
|
|
26
|
-
"@progress/kendo-angular-schematics": "19.3.0-develop.
|
|
26
|
+
"@progress/kendo-angular-schematics": "19.3.0-develop.33"
|
|
27
27
|
},
|
|
28
28
|
"publishConfig": {
|
|
29
29
|
"access": "public"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
/**
|
|
6
|
+
* @hidden
|
|
7
|
+
*
|
|
8
|
+
* On some keyboards, PageUp/Down, Home/End, and arrow keys are mapped to Numpad keys
|
|
9
|
+
*/
|
|
10
|
+
export declare const normalizeNumpadKeys: (event: KeyboardEvent) => string;
|