@progress/kendo-angular-common 21.4.1-develop.1 → 22.0.0-develop.1
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/fesm2022/progress-kendo-angular-common.mjs +34 -34
- package/package.json +5 -7
- package/esm2022/adornments/prefix.directive.mjs +0 -53
- package/esm2022/adornments/separator-orientation.mjs +0 -5
- package/esm2022/adornments/separator.component.mjs +0 -70
- package/esm2022/adornments/suffix.directive.mjs +0 -59
- package/esm2022/adornments.mjs +0 -7
- package/esm2022/directives.mjs +0 -68
- package/esm2022/dom-queries/closest-by-selector.mjs +0 -20
- package/esm2022/dom-queries/closest-in-scope.mjs +0 -13
- package/esm2022/dom-queries/closest.mjs +0 -10
- package/esm2022/dom-queries/contains.mjs +0 -13
- package/esm2022/dom-queries/find-element.mjs +0 -22
- package/esm2022/dom-queries/find-focusable-child.mjs +0 -9
- package/esm2022/dom-queries/find-focusable.mjs +0 -9
- package/esm2022/dom-queries/has-classes.mjs +0 -9
- package/esm2022/dom-queries/is-focusable-with-tab-key.mjs +0 -14
- package/esm2022/dom-queries/is-focusable.mjs +0 -14
- package/esm2022/dom-queries/is-visible.mjs +0 -12
- package/esm2022/dom-queries/matches-classes.mjs +0 -6
- package/esm2022/dom-queries/matches-node-name.mjs +0 -11
- package/esm2022/dom-queries/rtl-scroll-position.mjs +0 -17
- package/esm2022/dom-queries.mjs +0 -18
- package/esm2022/draggable/draggable.directive.mjs +0 -68
- package/esm2022/draggable.mjs +0 -5
- package/esm2022/enums/keys.mjs +0 -75
- package/esm2022/enums.mjs +0 -5
- package/esm2022/events/events-outside-angular.directive.mjs +0 -58
- package/esm2022/events.mjs +0 -5
- package/esm2022/index.mjs +0 -24
- package/esm2022/localization/replace-message-placeholder.mjs +0 -8
- package/esm2022/preventable-event.mjs +0 -22
- package/esm2022/progress-kendo-angular-common.mjs +0 -8
- package/esm2022/resize-sensor/compat.service.mjs +0 -103
- package/esm2022/resize-sensor/observer.service.mjs +0 -41
- package/esm2022/resize-sensor/resize-batch.service.mjs +0 -69
- package/esm2022/resize-sensor/resize-sensor.component.mjs +0 -71
- package/esm2022/resize-sensor/resize.service.mjs +0 -65
- package/esm2022/resize-sensor.mjs +0 -8
- package/esm2022/template-context/index.mjs +0 -5
- package/esm2022/template-context/template-context.directive.mjs +0 -37
- package/esm2022/toggle-button-tab-stop/toggle-button-tab-stop.directive.mjs +0 -262
- package/esm2022/toggle-button-tab-stop/toggle-button-tab-stop.mjs +0 -10
- package/esm2022/toggle-button-tab-stop.mjs +0 -6
- package/esm2022/tokens.mjs +0 -6
- package/esm2022/utils/any-changed.mjs +0 -9
- package/esm2022/utils/detect-browser.mjs +0 -28
- package/esm2022/utils/focusable-selectors.mjs +0 -20
- package/esm2022/utils/forms-utils.mjs +0 -13
- package/esm2022/utils/getter.mjs +0 -27
- package/esm2022/utils/guid.mjs +0 -29
- package/esm2022/utils/has-observers.mjs +0 -8
- package/esm2022/utils/html-attributes.mjs +0 -49
- package/esm2022/utils/is-changed.mjs +0 -10
- package/esm2022/utils/is-document-available.mjs +0 -8
- package/esm2022/utils/keys-normalizer.mjs +0 -95
- package/esm2022/utils/ng-class-parser.mjs +0 -78
- package/esm2022/utils/objects-equal.mjs +0 -12
- package/esm2022/utils/process-css-value.mjs +0 -23
- package/esm2022/utils/scrollbar-width.service.mjs +0 -43
- package/esm2022/utils/setter.mjs +0 -28
- package/esm2022/utils.mjs +0 -14
- package/esm2022/watermark/index.mjs +0 -6
- package/esm2022/watermark/utils.mjs +0 -58
- package/esm2022/watermark/validation.mjs +0 -22
- package/esm2022/watermark/watermark.component.mjs +0 -116
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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
|
-
* Maps keyCode values (65-90) to Keys enum values (KeyA-KeyZ).
|
|
10
|
-
* Used to handle letter keys correctly across different keyboard layouts.
|
|
11
|
-
*/
|
|
12
|
-
const keyCodeToKeysMap = {
|
|
13
|
-
65: Keys.KeyA,
|
|
14
|
-
66: Keys.KeyB,
|
|
15
|
-
67: Keys.KeyC,
|
|
16
|
-
68: Keys.KeyD,
|
|
17
|
-
69: Keys.KeyE,
|
|
18
|
-
70: Keys.KeyF,
|
|
19
|
-
71: Keys.KeyG,
|
|
20
|
-
72: Keys.KeyH,
|
|
21
|
-
73: Keys.KeyI,
|
|
22
|
-
74: Keys.KeyJ,
|
|
23
|
-
75: Keys.KeyK,
|
|
24
|
-
76: Keys.KeyL,
|
|
25
|
-
77: Keys.KeyM,
|
|
26
|
-
78: Keys.KeyN,
|
|
27
|
-
79: Keys.KeyO,
|
|
28
|
-
80: Keys.KeyP,
|
|
29
|
-
81: Keys.KeyQ,
|
|
30
|
-
82: Keys.KeyR,
|
|
31
|
-
83: Keys.KeyS,
|
|
32
|
-
84: Keys.KeyT,
|
|
33
|
-
85: Keys.KeyU,
|
|
34
|
-
86: Keys.KeyV,
|
|
35
|
-
87: Keys.KeyW,
|
|
36
|
-
88: Keys.KeyX,
|
|
37
|
-
89: Keys.KeyY,
|
|
38
|
-
90: Keys.KeyZ
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* @hidden
|
|
42
|
-
*
|
|
43
|
-
* Normalizes keyboard events to ensure consistent key handling across different keyboard layouts.
|
|
44
|
-
*
|
|
45
|
-
* This function addresses the following scenarios:
|
|
46
|
-
* 1. On some keyboards, PageUp/Down, Home/End, and arrow keys are mapped to Numpad keys
|
|
47
|
-
* 2. For letter keys (KeyA-KeyZ), checks the deprecated keyCode property to handle non-QWERTY layouts
|
|
48
|
-
* (e.g., AZERTY, QWERTZ) where event.code may not match the expected letter
|
|
49
|
-
*
|
|
50
|
-
* @param event - The keyboard event to normalize
|
|
51
|
-
* @returns The normalized key code string (e.g., 'KeyA', 'ArrowDown', 'Enter')
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* // On an AZERTY layout, pressing Ctrl+A (where 'A' is physically at 'Q' position)
|
|
55
|
-
* // event.code = 'KeyQ', event.keyCode = 65
|
|
56
|
-
* const code = normalizeKeys(event); // Returns 'KeyA'
|
|
57
|
-
*/
|
|
58
|
-
export const normalizeKeys = (event) => {
|
|
59
|
-
const keyCode = event.keyCode;
|
|
60
|
-
if (keyCode >= 65 && keyCode <= 90) {
|
|
61
|
-
const normalizedKey = keyCodeToKeysMap[keyCode];
|
|
62
|
-
if (normalizedKey) {
|
|
63
|
-
return normalizedKey;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
// Handle numpad keys that may be mapped to navigation keys
|
|
67
|
-
if (event.code === Keys.Numpad1 && event.key === Keys.End) {
|
|
68
|
-
return Keys.End;
|
|
69
|
-
}
|
|
70
|
-
if (event.code === Keys.Numpad2 && event.key === Keys.ArrowDown) {
|
|
71
|
-
return Keys.ArrowDown;
|
|
72
|
-
}
|
|
73
|
-
if (event.code === Keys.Numpad3 && event.key === Keys.PageDown) {
|
|
74
|
-
return Keys.PageDown;
|
|
75
|
-
}
|
|
76
|
-
if (event.code === Keys.Numpad4 && event.key === Keys.ArrowLeft) {
|
|
77
|
-
return Keys.ArrowLeft;
|
|
78
|
-
}
|
|
79
|
-
if (event.code === Keys.Numpad6 && event.key === Keys.ArrowRight) {
|
|
80
|
-
return Keys.ArrowRight;
|
|
81
|
-
}
|
|
82
|
-
if (event.code === Keys.Numpad7 && event.key === Keys.Home) {
|
|
83
|
-
return Keys.Home;
|
|
84
|
-
}
|
|
85
|
-
if (event.code === Keys.Numpad8 && event.key === Keys.ArrowUp) {
|
|
86
|
-
return Keys.ArrowUp;
|
|
87
|
-
}
|
|
88
|
-
if (event.code === Keys.Numpad9 && event.key === Keys.PageUp) {
|
|
89
|
-
return Keys.PageUp;
|
|
90
|
-
}
|
|
91
|
-
if (event.code === Keys.NumpadEnter) {
|
|
92
|
-
return Keys.Enter;
|
|
93
|
-
}
|
|
94
|
-
return event.code;
|
|
95
|
-
};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
|
-
/**
|
|
7
|
-
* @hidden
|
|
8
|
-
*/
|
|
9
|
-
export const isPresent = (value) => value !== null && value !== undefined;
|
|
10
|
-
/**
|
|
11
|
-
* @hidden
|
|
12
|
-
*/
|
|
13
|
-
export const isObjectPresent = (value) => {
|
|
14
|
-
return isObject(value) && Object.keys(value).length > 0;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @hidden
|
|
18
|
-
*/
|
|
19
|
-
export const isString = (value) => value instanceof String || typeof value === 'string';
|
|
20
|
-
/**
|
|
21
|
-
* @hidden
|
|
22
|
-
*/
|
|
23
|
-
export const isObject = (value) => isPresent(value) && !Array.isArray(value) && typeof value === 'object';
|
|
24
|
-
/**
|
|
25
|
-
* @hidden
|
|
26
|
-
*/
|
|
27
|
-
export const isSet = (value) => isPresent(value) && value instanceof Set;
|
|
28
|
-
/**
|
|
29
|
-
* @hidden
|
|
30
|
-
*/
|
|
31
|
-
export const splitStringToArray = (value) => value.trim().replace(/\s+/g, " ").split(' ');
|
|
32
|
-
/**
|
|
33
|
-
* Receives CSS class declarations either as an object, string, set or array and returns an array of the class names.
|
|
34
|
-
*
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
export const parseCSSClassNames = (value) => {
|
|
38
|
-
if (Array.isArray(value)) {
|
|
39
|
-
return parseArrayClassNames(value);
|
|
40
|
-
}
|
|
41
|
-
if (isSet(value)) {
|
|
42
|
-
return parseArrayClassNames(Array.from(value));
|
|
43
|
-
}
|
|
44
|
-
if (isObject(value)) {
|
|
45
|
-
return parseObjectClassNames(value);
|
|
46
|
-
}
|
|
47
|
-
if (isString(value)) {
|
|
48
|
-
return parseStringClassNames(value);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const parseObjectClassNames = (value) => {
|
|
52
|
-
const classes = [];
|
|
53
|
-
Object.keys(value).forEach((className) => {
|
|
54
|
-
const currentClassName = splitStringToArray(className);
|
|
55
|
-
if (value[className] && currentClassName.length) {
|
|
56
|
-
classes.push(...currentClassName);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
return classes;
|
|
60
|
-
};
|
|
61
|
-
const parseStringClassNames = (value) => {
|
|
62
|
-
const classes = [];
|
|
63
|
-
const classesArray = splitStringToArray(value);
|
|
64
|
-
classesArray.forEach((className) => {
|
|
65
|
-
classes.push(className);
|
|
66
|
-
});
|
|
67
|
-
return classes;
|
|
68
|
-
};
|
|
69
|
-
const parseArrayClassNames = (value) => {
|
|
70
|
-
const classes = [];
|
|
71
|
-
value.forEach((className) => {
|
|
72
|
-
const current = splitStringToArray(className);
|
|
73
|
-
if (current[0]) {
|
|
74
|
-
classes.push(...current);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
return classes;
|
|
78
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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 areObjectsEqual = (firstObject, secondObject) => {
|
|
6
|
-
if (Object.keys(firstObject).length !== Object.keys(secondObject).length) {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
const equalSettings = Object.entries(firstObject)
|
|
10
|
-
.filter(([key, value]) => value === secondObject[key.toString()]);
|
|
11
|
-
return equalSettings.length === Object.keys(firstObject).length;
|
|
12
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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
|
-
};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Injectable, EventEmitter } from '@angular/core';
|
|
6
|
-
import { isDocumentAvailable } from './is-document-available';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
const canCreateElement = () => isDocumentAvailable() && document.createElement;
|
|
9
|
-
const propName = '--kendo-scrollbar-width';
|
|
10
|
-
/**
|
|
11
|
-
* @hidden
|
|
12
|
-
*/
|
|
13
|
-
export const scrollbarWidth = () => {
|
|
14
|
-
let scrollbarWidth = 0;
|
|
15
|
-
if (canCreateElement()) {
|
|
16
|
-
const div = document.createElement('div');
|
|
17
|
-
div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';
|
|
18
|
-
div.innerHTML = ' ';
|
|
19
|
-
document.body.appendChild(div);
|
|
20
|
-
scrollbarWidth = div.offsetWidth - div.scrollWidth;
|
|
21
|
-
document.body.removeChild(div);
|
|
22
|
-
}
|
|
23
|
-
return scrollbarWidth;
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* @hidden
|
|
27
|
-
*/
|
|
28
|
-
export class ScrollbarWidthService {
|
|
29
|
-
changes = new EventEmitter();
|
|
30
|
-
constructor() {
|
|
31
|
-
if (typeof window !== 'undefined' && isDocumentAvailable()) {
|
|
32
|
-
document.body.style.setProperty(propName, `${scrollbarWidth()}px`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollbarWidthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollbarWidthService, providedIn: 'root' });
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScrollbarWidthService, decorators: [{
|
|
39
|
-
type: Injectable,
|
|
40
|
-
args: [{
|
|
41
|
-
providedIn: 'root'
|
|
42
|
-
}]
|
|
43
|
-
}], ctorParameters: () => [] });
|
package/esm2022/utils/setter.mjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
const FIELD_REGEX = /\[(?:(\d+)|['"](.*?)['"])\]|((?:(?!\[.*?\]|\.).)+)/g;
|
|
6
|
-
const setterCache = {};
|
|
7
|
-
setterCache['undefined'] = (obj) => obj;
|
|
8
|
-
/**
|
|
9
|
-
* @hidden
|
|
10
|
-
*/
|
|
11
|
-
export function setter(field) {
|
|
12
|
-
if (setterCache[field]) {
|
|
13
|
-
return setterCache[field];
|
|
14
|
-
}
|
|
15
|
-
const fields = [];
|
|
16
|
-
field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {
|
|
17
|
-
fields.push(index !== undefined ? index : (indexAccessor || fieldName));
|
|
18
|
-
});
|
|
19
|
-
setterCache[field] = function (obj, value) {
|
|
20
|
-
let root = obj;
|
|
21
|
-
const depth = fields.length - 1;
|
|
22
|
-
for (let idx = 0; idx < depth && root; idx++) {
|
|
23
|
-
root = root[fields[idx]] = root[fields[idx]] || {};
|
|
24
|
-
}
|
|
25
|
-
root[fields[depth]] = value;
|
|
26
|
-
};
|
|
27
|
-
return setterCache[field];
|
|
28
|
-
}
|
package/esm2022/utils.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export { isDocumentAvailable } from './utils/is-document-available';
|
|
6
|
-
export { isChanged } from './utils/is-changed';
|
|
7
|
-
export { anyChanged } from './utils/any-changed';
|
|
8
|
-
export { hasObservers } from './utils/has-observers';
|
|
9
|
-
export { guid } from './utils/guid';
|
|
10
|
-
export { isSafari, isFirefox, firefoxMaxHeight } from './utils/detect-browser';
|
|
11
|
-
export * from './utils/html-attributes';
|
|
12
|
-
export { isControlRequired } from './utils/forms-utils';
|
|
13
|
-
export { areObjectsEqual } from './utils/objects-equal';
|
|
14
|
-
export { processCssValue } from './utils/process-css-value';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export { WatermarkOverlayComponent } from './watermark.component';
|
|
6
|
-
export { shouldShowValidationUI, getLicenseMessage } from './validation';
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 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 watermarkStyles = `
|
|
9
|
-
position: absolute;
|
|
10
|
-
width: 100%;
|
|
11
|
-
height: 100%;
|
|
12
|
-
top: 0;
|
|
13
|
-
left: 0;
|
|
14
|
-
right: 0;
|
|
15
|
-
bottom: 0;
|
|
16
|
-
opacity: 0.2;
|
|
17
|
-
zIndex: 101;
|
|
18
|
-
pointerEvents: none;
|
|
19
|
-
backgroundImage: url('data:image/png;base64,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');
|
|
20
|
-
`;
|
|
21
|
-
/**
|
|
22
|
-
* @hidden
|
|
23
|
-
*/
|
|
24
|
-
export const bannerStyles = {
|
|
25
|
-
display: 'flex',
|
|
26
|
-
justifyContent: 'center',
|
|
27
|
-
alignItems: 'center',
|
|
28
|
-
position: 'fixed',
|
|
29
|
-
top: '16px',
|
|
30
|
-
right: '16px',
|
|
31
|
-
padding: '12px',
|
|
32
|
-
borderRadius: '4px',
|
|
33
|
-
boxShadow: '0px 4px 5px 0px rgba(0, 0, 0, 0.04), 0px 2px 4px 0px rgba(0, 0, 0, 0.03)',
|
|
34
|
-
fontSize: '14px',
|
|
35
|
-
fontWeight: 400,
|
|
36
|
-
lineHeight: '20px',
|
|
37
|
-
backgroundColor: '#FFC000',
|
|
38
|
-
color: '#1E1E1E',
|
|
39
|
-
zIndex: 20000
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* @hidden
|
|
43
|
-
*/
|
|
44
|
-
export const buttonStyles = {
|
|
45
|
-
display: 'inline-flex',
|
|
46
|
-
position: 'relative',
|
|
47
|
-
border: 'none',
|
|
48
|
-
borderRadius: '4px',
|
|
49
|
-
padding: '5px',
|
|
50
|
-
backgroundColor: 'transparent',
|
|
51
|
-
transition: 'color 0.2s ease-in-out',
|
|
52
|
-
outline: 'none',
|
|
53
|
-
cursor: 'pointer'
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* @hidden
|
|
57
|
-
*/
|
|
58
|
-
export const licenseKeyUrl = 'https://www.telerik.com/kendo-angular-ui/components/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-banner';
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { getLicenseStatus } from "@progress/kendo-licensing";
|
|
6
|
-
const allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app'];
|
|
7
|
-
/**
|
|
8
|
-
* @hidden
|
|
9
|
-
*/
|
|
10
|
-
export function shouldShowValidationUI(isPackageValid) {
|
|
11
|
-
const skip = allowed.some((hostname) => globalThis.document?.location.hostname.endsWith(hostname));
|
|
12
|
-
return !skip && !isPackageValid;
|
|
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
|
-
}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';
|
|
6
|
-
import { watermarkStyles, bannerStyles, licenseKeyUrl, buttonStyles } from './utils';
|
|
7
|
-
import { isDocumentAvailable } from '../utils';
|
|
8
|
-
import { NgStyle } from '@angular/common';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
let bannerPresentOnPage = false;
|
|
11
|
-
/**
|
|
12
|
-
* @hidden
|
|
13
|
-
*/
|
|
14
|
-
export class WatermarkOverlayComponent {
|
|
15
|
-
watermarkStyle = watermarkStyles;
|
|
16
|
-
licenseMessage;
|
|
17
|
-
banner;
|
|
18
|
-
isOpen = true;
|
|
19
|
-
bannerMounted = false;
|
|
20
|
-
bannerStyles = bannerStyles;
|
|
21
|
-
buttonStyles = buttonStyles;
|
|
22
|
-
licenseKeyUrl = licenseKeyUrl;
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
if (!bannerPresentOnPage) {
|
|
25
|
-
this.bannerMounted = true;
|
|
26
|
-
bannerPresentOnPage = true;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
ngAfterViewInit() {
|
|
30
|
-
if (this.isBannerRendered) {
|
|
31
|
-
document.body.appendChild(this.banner.nativeElement);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
ngOnDestroy() {
|
|
35
|
-
if (this.isBannerRendered) {
|
|
36
|
-
document.body.removeChild(this.banner.nativeElement);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
closeBanner() {
|
|
40
|
-
this.isOpen = false;
|
|
41
|
-
}
|
|
42
|
-
get isBannerRendered() {
|
|
43
|
-
return isDocumentAvailable() && !!this.banner?.nativeElement;
|
|
44
|
-
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
46
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
|
|
47
|
-
@if (isOpen && bannerMounted) {
|
|
48
|
-
<div #banner [ngStyle]="bannerStyles">
|
|
49
|
-
<span [ngStyle]="{ display: 'flex', alignSelf: 'center', marginRight: '8px' }">
|
|
50
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
51
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z" fill="#1E1E1E"/>
|
|
52
|
-
</svg>
|
|
53
|
-
</span>
|
|
54
|
-
@if (licenseMessage) {
|
|
55
|
-
<span [innerHtml]="licenseMessage"></span>
|
|
56
|
-
}
|
|
57
|
-
@if (!licenseMessage) {
|
|
58
|
-
<span>
|
|
59
|
-
We couldn't verify your <a [href]="licenseKeyUrl">license key</a> for Kendo UI for Angular. Please see the browser
|
|
60
|
-
console for details and resolution steps.
|
|
61
|
-
</span>
|
|
62
|
-
}
|
|
63
|
-
<div [ngStyle]="{ display: 'flex', alignItems: 'center', marginLeft: '24px' }">
|
|
64
|
-
<button title='Close' [ngStyle]="buttonStyles" (click)="closeBanner()">
|
|
65
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
66
|
-
<path d="M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z" fill="#1E1E1E"/>
|
|
67
|
-
</svg>
|
|
68
|
-
</button>
|
|
69
|
-
</div>
|
|
70
|
-
</div>
|
|
71
|
-
}
|
|
72
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
73
|
-
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: WatermarkOverlayComponent, decorators: [{
|
|
75
|
-
type: Component,
|
|
76
|
-
args: [{
|
|
77
|
-
selector: 'div[kendoWatermarkOverlay]',
|
|
78
|
-
template: `
|
|
79
|
-
@if (isOpen && bannerMounted) {
|
|
80
|
-
<div #banner [ngStyle]="bannerStyles">
|
|
81
|
-
<span [ngStyle]="{ display: 'flex', alignSelf: 'center', marginRight: '8px' }">
|
|
82
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
83
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z" fill="#1E1E1E"/>
|
|
84
|
-
</svg>
|
|
85
|
-
</span>
|
|
86
|
-
@if (licenseMessage) {
|
|
87
|
-
<span [innerHtml]="licenseMessage"></span>
|
|
88
|
-
}
|
|
89
|
-
@if (!licenseMessage) {
|
|
90
|
-
<span>
|
|
91
|
-
We couldn't verify your <a [href]="licenseKeyUrl">license key</a> for Kendo UI for Angular. Please see the browser
|
|
92
|
-
console for details and resolution steps.
|
|
93
|
-
</span>
|
|
94
|
-
}
|
|
95
|
-
<div [ngStyle]="{ display: 'flex', alignItems: 'center', marginLeft: '24px' }">
|
|
96
|
-
<button title='Close' [ngStyle]="buttonStyles" (click)="closeBanner()">
|
|
97
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
|
|
98
|
-
<path d="M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z" fill="#1E1E1E"/>
|
|
99
|
-
</svg>
|
|
100
|
-
</button>
|
|
101
|
-
</div>
|
|
102
|
-
</div>
|
|
103
|
-
}
|
|
104
|
-
`,
|
|
105
|
-
standalone: true,
|
|
106
|
-
imports: [NgStyle]
|
|
107
|
-
}]
|
|
108
|
-
}], propDecorators: { watermarkStyle: [{
|
|
109
|
-
type: HostBinding,
|
|
110
|
-
args: ['style']
|
|
111
|
-
}], licenseMessage: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], banner: [{
|
|
114
|
-
type: ViewChild,
|
|
115
|
-
args: ['banner']
|
|
116
|
-
}] } });
|