@progress/kendo-angular-common 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/enums/keys.d.ts +65 -58
- package/esm2022/enums/keys.mjs +65 -58
- package/esm2022/index.mjs +2 -0
- package/esm2022/localization/replace-message-placeholder.mjs +8 -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/esm2022/utils/process-css-value.mjs +23 -0
- package/esm2022/utils.mjs +1 -0
- package/esm2022/watermark/index.mjs +1 -1
- package/esm2022/watermark/validation.mjs +10 -0
- package/esm2022/watermark/watermark.component.mjs +9 -4
- package/fesm2022/progress-kendo-angular-common.mjs +149 -64
- package/index.d.ts +2 -0
- package/localization/replace-message-placeholder.d.ts +8 -0
- package/package.json +2 -2
- package/utils/numpad-keys-normalizer.d.ts +10 -0
- package/utils/process-css-value.d.ts +5 -0
- package/utils.d.ts +1 -0
- package/watermark/index.d.ts +1 -1
- package/watermark/validation.d.ts +7 -0
- package/watermark/watermark.component.d.ts +2 -1
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';
|
|
@@ -18,3 +19,4 @@ export { ScrollbarWidthService, scrollbarWidth } from './utils/scrollbar-width.s
|
|
|
18
19
|
export * from './toggle-button-tab-stop';
|
|
19
20
|
export * from './directives';
|
|
20
21
|
export * from './template-context';
|
|
22
|
+
export * from './localization/replace-message-placeholder';
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
export const replaceMessagePlaceholder = (message, name, value) => (message ?? '').replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
|
|
@@ -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
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
export const processCssValue = (value) => {
|
|
6
|
+
if (typeof value === 'number') {
|
|
7
|
+
return `${value}px`;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof value === 'string') {
|
|
10
|
+
const trimmedValue = value.trim();
|
|
11
|
+
const numValue = parseInt(trimmedValue, 10);
|
|
12
|
+
if (!isNaN(numValue) && Number.isFinite(numValue)) {
|
|
13
|
+
if (numValue.toString() === trimmedValue) {
|
|
14
|
+
return `${numValue}px`;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return null;
|
|
23
|
+
};
|
package/esm2022/utils.mjs
CHANGED
|
@@ -11,3 +11,4 @@ export { isSafari, isFirefox } from './utils/detect-browser';
|
|
|
11
11
|
export * from './utils/html-attributes';
|
|
12
12
|
export { isControlRequired } from './utils/forms-utils';
|
|
13
13
|
export { areObjectsEqual } from './utils/objects-equal';
|
|
14
|
+
export { processCssValue } from './utils/process-css-value';
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export { WatermarkOverlayComponent } from './watermark.component';
|
|
6
|
-
export { shouldShowValidationUI } from './validation';
|
|
6
|
+
export { shouldShowValidationUI, getLicenseMessage } from './validation';
|
|
@@ -2,6 +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 { getLicenseStatus } from "@progress/kendo-licensing";
|
|
5
6
|
const allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app'];
|
|
6
7
|
/**
|
|
7
8
|
* @hidden
|
|
@@ -10,3 +11,12 @@ export function shouldShowValidationUI(isPackageValid) {
|
|
|
10
11
|
const skip = allowed.some((hostname) => globalThis.document?.location.hostname.endsWith(hostname));
|
|
11
12
|
return !skip && !isPackageValid;
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* @hidden
|
|
16
|
+
*
|
|
17
|
+
* Returns the notification message to display, if any.
|
|
18
|
+
*/
|
|
19
|
+
export function getLicenseMessage(meta) {
|
|
20
|
+
const message = getLicenseStatus(meta).message;
|
|
21
|
+
return message?.notificationMessage;
|
|
22
|
+
}
|
|
@@ -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 { Component, ElementRef, HostBinding, ViewChild } from '@angular/core';
|
|
5
|
+
import { Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';
|
|
6
6
|
import { watermarkStyles, bannerStyles, licenseKeyUrl, buttonStyles } from './utils';
|
|
7
7
|
import { isDocumentAvailable } from '../utils';
|
|
8
8
|
import { NgIf, NgStyle } from '@angular/common';
|
|
@@ -13,6 +13,7 @@ let bannerPresentOnPage = false;
|
|
|
13
13
|
*/
|
|
14
14
|
export class WatermarkOverlayComponent {
|
|
15
15
|
watermarkStyle = watermarkStyles;
|
|
16
|
+
licenseMessage;
|
|
16
17
|
banner;
|
|
17
18
|
isOpen = true;
|
|
18
19
|
bannerMounted = false;
|
|
@@ -42,7 +43,7 @@ export class WatermarkOverlayComponent {
|
|
|
42
43
|
return isDocumentAvailable() && this.banner && this.banner.nativeElement;
|
|
43
44
|
}
|
|
44
45
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
45
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WatermarkOverlayComponent, isStandalone: true, selector: "div[kendoWatermarkOverlay]", host: { properties: { "style": "this.watermarkStyle" } }, viewQueries: [{ propertyName: "banner", first: true, predicate: ["banner"], descendants: true }], ngImport: i0, template: `
|
|
46
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WatermarkOverlayComponent, isStandalone: true, selector: "div[kendoWatermarkOverlay]", inputs: { licenseMessage: "licenseMessage" }, host: { properties: { "style": "this.watermarkStyle" } }, viewQueries: [{ propertyName: "banner", first: true, predicate: ["banner"], descendants: true }], ngImport: i0, template: `
|
|
46
47
|
<div #banner *ngIf="isOpen && bannerMounted" [ngStyle]="bannerStyles">
|
|
47
48
|
<span [ngStyle]="{ display: 'flex', alignSelf: 'center', marginRight: '8px' }">
|
|
48
49
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
@@ -50,7 +51,8 @@ export class WatermarkOverlayComponent {
|
|
|
50
51
|
</svg>
|
|
51
52
|
</span>
|
|
52
53
|
|
|
53
|
-
<span>
|
|
54
|
+
<span *ngIf="licenseMessage" [innerHtml]="licenseMessage"></span>
|
|
55
|
+
<span *ngIf="!licenseMessage">
|
|
54
56
|
We couldn't verify your <a [href]="licenseKeyUrl">license key</a> for Kendo UI for Angular. Please see the browser
|
|
55
57
|
console for details and resolution steps.
|
|
56
58
|
</span>
|
|
@@ -77,7 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
77
79
|
</svg>
|
|
78
80
|
</span>
|
|
79
81
|
|
|
80
|
-
<span>
|
|
82
|
+
<span *ngIf="licenseMessage" [innerHtml]="licenseMessage"></span>
|
|
83
|
+
<span *ngIf="!licenseMessage">
|
|
81
84
|
We couldn't verify your <a [href]="licenseKeyUrl">license key</a> for Kendo UI for Angular. Please see the browser
|
|
82
85
|
console for details and resolution steps.
|
|
83
86
|
</span>
|
|
@@ -97,6 +100,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
97
100
|
}], propDecorators: { watermarkStyle: [{
|
|
98
101
|
type: HostBinding,
|
|
99
102
|
args: ['style']
|
|
103
|
+
}], licenseMessage: [{
|
|
104
|
+
type: Input
|
|
100
105
|
}], banner: [{
|
|
101
106
|
type: ViewChild,
|
|
102
107
|
args: ['banner']
|
|
@@ -9,6 +9,7 @@ import { take, auditTime } from 'rxjs/operators';
|
|
|
9
9
|
import { Draggable } from '@progress/kendo-draggable';
|
|
10
10
|
import { merge, fromEvent, from, Subscription } from 'rxjs';
|
|
11
11
|
import { NgIf, NgStyle } from '@angular/common';
|
|
12
|
+
import { getLicenseStatus } from '@progress/kendo-licensing';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* @hidden
|
|
@@ -204,6 +205,26 @@ const areObjectsEqual = (firstObject, secondObject) => {
|
|
|
204
205
|
return equalSettings.length === Object.keys(firstObject).length;
|
|
205
206
|
};
|
|
206
207
|
|
|
208
|
+
const processCssValue = (value) => {
|
|
209
|
+
if (typeof value === 'number') {
|
|
210
|
+
return `${value}px`;
|
|
211
|
+
}
|
|
212
|
+
else if (typeof value === 'string') {
|
|
213
|
+
const trimmedValue = value.trim();
|
|
214
|
+
const numValue = parseInt(trimmedValue, 10);
|
|
215
|
+
if (!isNaN(numValue) && Number.isFinite(numValue)) {
|
|
216
|
+
if (numValue.toString() === trimmedValue) {
|
|
217
|
+
return `${numValue}px`;
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
return value;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
return null;
|
|
226
|
+
};
|
|
227
|
+
|
|
207
228
|
class DraggableDirective {
|
|
208
229
|
element;
|
|
209
230
|
ngZone;
|
|
@@ -774,64 +795,71 @@ class KendoInput {
|
|
|
774
795
|
*/
|
|
775
796
|
var Keys;
|
|
776
797
|
(function (Keys) {
|
|
777
|
-
Keys[
|
|
778
|
-
Keys[
|
|
779
|
-
Keys[
|
|
780
|
-
Keys[
|
|
781
|
-
Keys[
|
|
782
|
-
Keys[
|
|
783
|
-
Keys[
|
|
784
|
-
Keys[
|
|
785
|
-
Keys[
|
|
786
|
-
Keys[
|
|
787
|
-
Keys[
|
|
788
|
-
Keys[
|
|
789
|
-
Keys[
|
|
790
|
-
Keys[
|
|
791
|
-
Keys[
|
|
792
|
-
Keys[
|
|
793
|
-
Keys[
|
|
794
|
-
Keys[
|
|
795
|
-
Keys[
|
|
796
|
-
Keys[
|
|
797
|
-
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[
|
|
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";
|
|
835
863
|
})(Keys || (Keys = {}));
|
|
836
864
|
|
|
837
865
|
/**
|
|
@@ -851,6 +879,42 @@ const focusableSelector = [
|
|
|
851
879
|
'*[contenteditable]:not([tabindex^="-"]):not([disabled]):not([contenteditable="false"])'
|
|
852
880
|
].join(',');
|
|
853
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
|
+
|
|
854
918
|
/**
|
|
855
919
|
* @hidden
|
|
856
920
|
*/
|
|
@@ -912,6 +976,7 @@ let bannerPresentOnPage = false;
|
|
|
912
976
|
*/
|
|
913
977
|
class WatermarkOverlayComponent {
|
|
914
978
|
watermarkStyle = watermarkStyles;
|
|
979
|
+
licenseMessage;
|
|
915
980
|
banner;
|
|
916
981
|
isOpen = true;
|
|
917
982
|
bannerMounted = false;
|
|
@@ -941,7 +1006,7 @@ class WatermarkOverlayComponent {
|
|
|
941
1006
|
return isDocumentAvailable() && this.banner && this.banner.nativeElement;
|
|
942
1007
|
}
|
|
943
1008
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
944
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WatermarkOverlayComponent, isStandalone: true, selector: "div[kendoWatermarkOverlay]", host: { properties: { "style": "this.watermarkStyle" } }, viewQueries: [{ propertyName: "banner", first: true, predicate: ["banner"], descendants: true }], ngImport: i0, template: `
|
|
1009
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WatermarkOverlayComponent, isStandalone: true, selector: "div[kendoWatermarkOverlay]", inputs: { licenseMessage: "licenseMessage" }, host: { properties: { "style": "this.watermarkStyle" } }, viewQueries: [{ propertyName: "banner", first: true, predicate: ["banner"], descendants: true }], ngImport: i0, template: `
|
|
945
1010
|
<div #banner *ngIf="isOpen && bannerMounted" [ngStyle]="bannerStyles">
|
|
946
1011
|
<span [ngStyle]="{ display: 'flex', alignSelf: 'center', marginRight: '8px' }">
|
|
947
1012
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
@@ -949,7 +1014,8 @@ class WatermarkOverlayComponent {
|
|
|
949
1014
|
</svg>
|
|
950
1015
|
</span>
|
|
951
1016
|
|
|
952
|
-
<span>
|
|
1017
|
+
<span *ngIf="licenseMessage" [innerHtml]="licenseMessage"></span>
|
|
1018
|
+
<span *ngIf="!licenseMessage">
|
|
953
1019
|
We couldn't verify your <a [href]="licenseKeyUrl">license key</a> for Kendo UI for Angular. Please see the browser
|
|
954
1020
|
console for details and resolution steps.
|
|
955
1021
|
</span>
|
|
@@ -976,7 +1042,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
976
1042
|
</svg>
|
|
977
1043
|
</span>
|
|
978
1044
|
|
|
979
|
-
<span>
|
|
1045
|
+
<span *ngIf="licenseMessage" [innerHtml]="licenseMessage"></span>
|
|
1046
|
+
<span *ngIf="!licenseMessage">
|
|
980
1047
|
We couldn't verify your <a [href]="licenseKeyUrl">license key</a> for Kendo UI for Angular. Please see the browser
|
|
981
1048
|
console for details and resolution steps.
|
|
982
1049
|
</span>
|
|
@@ -996,6 +1063,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
996
1063
|
}], propDecorators: { watermarkStyle: [{
|
|
997
1064
|
type: HostBinding,
|
|
998
1065
|
args: ['style']
|
|
1066
|
+
}], licenseMessage: [{
|
|
1067
|
+
type: Input
|
|
999
1068
|
}], banner: [{
|
|
1000
1069
|
type: ViewChild,
|
|
1001
1070
|
args: ['banner']
|
|
@@ -1009,6 +1078,15 @@ function shouldShowValidationUI(isPackageValid) {
|
|
|
1009
1078
|
const skip = allowed.some((hostname) => globalThis.document?.location.hostname.endsWith(hostname));
|
|
1010
1079
|
return !skip && !isPackageValid;
|
|
1011
1080
|
}
|
|
1081
|
+
/**
|
|
1082
|
+
* @hidden
|
|
1083
|
+
*
|
|
1084
|
+
* Returns the notification message to display, if any.
|
|
1085
|
+
*/
|
|
1086
|
+
function getLicenseMessage(meta) {
|
|
1087
|
+
const message = getLicenseStatus(meta).message;
|
|
1088
|
+
return message?.notificationMessage;
|
|
1089
|
+
}
|
|
1012
1090
|
|
|
1013
1091
|
/**
|
|
1014
1092
|
* Specifies the adornments in the prefix container of the [Inputs](slug:adornments_textbox#toc-prefix-adornments) and [DropDowns](slug:adornments_multiselect#toc-prefix-adornments).
|
|
@@ -1374,12 +1452,14 @@ class ToggleButtonTabStopDirective {
|
|
|
1374
1452
|
this.renderer.removeStyle(this.button, 'box-shadow');
|
|
1375
1453
|
};
|
|
1376
1454
|
onClick = (e) => {
|
|
1377
|
-
const
|
|
1455
|
+
const code = normalizeNumpadKeys(e);
|
|
1456
|
+
const splitButtonToggleEnter = e instanceof KeyboardEvent && code === Keys.Enter;
|
|
1378
1457
|
const isClick = e instanceof PointerEvent;
|
|
1379
1458
|
(splitButtonToggleEnter || isClick) && (this.focusButton = true);
|
|
1380
1459
|
};
|
|
1381
1460
|
onKeyDown = (e) => {
|
|
1382
|
-
|
|
1461
|
+
const code = normalizeNumpadKeys(e);
|
|
1462
|
+
if (code === Keys.ArrowDown && e.altKey) {
|
|
1383
1463
|
e.stopImmediatePropagation();
|
|
1384
1464
|
this.focusButton = true;
|
|
1385
1465
|
this.button.click();
|
|
@@ -1546,9 +1626,14 @@ const KENDO_TEMPLATE_CONTEXT = [
|
|
|
1546
1626
|
TemplateContextDirective
|
|
1547
1627
|
];
|
|
1548
1628
|
|
|
1629
|
+
/**
|
|
1630
|
+
* @hidden
|
|
1631
|
+
*/
|
|
1632
|
+
const replaceMessagePlaceholder = (message, name, value) => (message ?? '').replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
|
|
1633
|
+
|
|
1549
1634
|
/**
|
|
1550
1635
|
* Generated bundle index. Do not edit.
|
|
1551
1636
|
*/
|
|
1552
1637
|
|
|
1553
|
-
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, guid, hasClasses, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isString, isVisible, matchesClasses, matchesNodeName, parseAttributes, parseCSSClassNames, removeHTMLAttributes, 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 };
|
|
1554
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';
|
|
@@ -18,3 +19,4 @@ export { ScrollbarWidthService, scrollbarWidth } from './utils/scrollbar-width.s
|
|
|
18
19
|
export * from './toggle-button-tab-stop';
|
|
19
20
|
export * from './directives';
|
|
20
21
|
export * from './template-context';
|
|
22
|
+
export * from './localization/replace-message-placeholder';
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
export declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
|
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.40",
|
|
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.40"
|
|
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;
|
|
@@ -0,0 +1,5 @@
|
|
|
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
|
+
export declare const processCssValue: (value: number | string) => string | null;
|
package/utils.d.ts
CHANGED
|
@@ -11,3 +11,4 @@ export { isSafari, isFirefox } from './utils/detect-browser';
|
|
|
11
11
|
export * from './utils/html-attributes';
|
|
12
12
|
export { isControlRequired } from './utils/forms-utils';
|
|
13
13
|
export { areObjectsEqual } from './utils/objects-equal';
|
|
14
|
+
export { processCssValue } from './utils/process-css-value';
|
package/watermark/index.d.ts
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
export { WatermarkOverlayComponent } from './watermark.component';
|
|
6
|
-
export { shouldShowValidationUI } from './validation';
|
|
6
|
+
export { shouldShowValidationUI, getLicenseMessage } from './validation';
|
|
@@ -2,7 +2,14 @@
|
|
|
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 { PackageMetadata } from "@progress/kendo-licensing";
|
|
5
6
|
/**
|
|
6
7
|
* @hidden
|
|
7
8
|
*/
|
|
8
9
|
export declare function shouldShowValidationUI(isPackageValid: boolean): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*
|
|
13
|
+
* Returns the notification message to display, if any.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getLicenseMessage(meta: PackageMetadata): string | undefined;
|
|
@@ -9,6 +9,7 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class WatermarkOverlayComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
11
11
|
watermarkStyle: string;
|
|
12
|
+
licenseMessage?: string;
|
|
12
13
|
banner: ElementRef;
|
|
13
14
|
isOpen: boolean;
|
|
14
15
|
bannerMounted: boolean;
|
|
@@ -47,5 +48,5 @@ export declare class WatermarkOverlayComponent implements OnInit, AfterViewInit,
|
|
|
47
48
|
closeBanner(): void;
|
|
48
49
|
get isBannerRendered(): boolean;
|
|
49
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<WatermarkOverlayComponent, never>;
|
|
50
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WatermarkOverlayComponent, "div[kendoWatermarkOverlay]", never, {}, {}, never, never, true, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WatermarkOverlayComponent, "div[kendoWatermarkOverlay]", never, { "licenseMessage": { "alias": "licenseMessage"; "required": false; }; }, {}, never, never, true, never>;
|
|
51
52
|
}
|