@progress/kendo-angular-icons 25.0.0-develop.8 → 25.1.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/NOTICE.txt +33 -34
- package/codemods/libs/common/src/codemods/utils.js +15 -0
- package/fesm2022/progress-kendo-angular-icons.mjs +122 -51
- package/index.d.ts +46 -12
- package/package-metadata.mjs +2 -2
- package/package.json +4 -4
package/NOTICE.txt
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
|
|
2
|
-
Progress Kendo UI for Angular 2026
|
|
2
|
+
Progress Kendo UI for Angular 2026 Updated August 2026
|
|
3
3
|
|
|
4
4
|
----------------------------------------------------------------------------------------------------------------------------
|
|
5
5
|
NOTICES REPORT
|
|
6
6
|
----------------------------------------------------------------------------------------------------------------------------
|
|
7
7
|
|
|
8
8
|
Portions of the Products include certain open source and commercial third-party components listed below ("Third-Party
|
|
9
|
-
Components"). The authors of the Third-Party Components require Progress Software Corporation ("PSC") to include
|
|
10
|
-
|
|
11
|
-
acknowledge that the authors of the Third-Party Components have no obligation to provide support to you for the Third-
|
|
12
|
-
|
|
9
|
+
Components"). The authors of the Third-Party Components require Progress Software Corporation ("PSC") to include the
|
|
10
|
+
following notices and additional licensing terms as a condition of PSC's use of such Third-Party Components. You
|
|
11
|
+
acknowledge that the authors of the Third-Party Components have no obligation to provide support to you for the Third-Party
|
|
12
|
+
Components or the Product. You hereby undertake to comply with all licenses related to the applicable Third-Party
|
|
13
13
|
Components. Notwithstanding anything to the contrary, to the extent that any of the terms and conditions of the Progress
|
|
14
|
-
Agreement conflict, vary, or are in addition to the terms and conditions of the aforementioned third-party licenses for
|
|
15
|
-
|
|
14
|
+
Agreement conflict, vary, or are in addition to the terms and conditions of the aforementioned third-party licenses for these
|
|
15
|
+
technologies, such terms and conditions are offered by PSC alone and not by any other party.
|
|
16
16
|
|
|
17
17
|
----------------------------------------------------------------------------------------------------------------------------
|
|
18
18
|
Report Content
|
|
@@ -25,40 +25,38 @@
|
|
|
25
25
|
|
|
26
26
|
----------------------------------------------------------------------------------------------------------------------------
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
AI governed by the terms and conditions of a license agreement from AI licensor will be required for use and access of
|
|
32
|
-
|
|
33
|
-
a valid use of AI. You acknowledge and accept that Progress is not a party to the license agreement between You
|
|
34
|
-
licensor for AI use, and as a result Progress does not have any control over AI and its availability, and Progress
|
|
35
|
-
|
|
36
|
-
with the Software.
|
|
28
|
+
GENERATIVE ARTIFICIAL INTELLIGENCE INTEGRATION
|
|
29
|
+
If the Software documentation specifies integration with some form of generative artificial intelligence (AI), then the
|
|
30
|
+
Software will include a configuration to connect to AI. You acknowledge that a separate license or subscription access
|
|
31
|
+
to AI governed by the terms and conditions of a license agreement from AI licensor will be required for use and access of
|
|
32
|
+
AI capabilities integrated with the Software. You will be responsible to comply with the terms of such license agreement
|
|
33
|
+
for a valid use of AI. You acknowledge and accept that Progress is not a party to the license agreement between You
|
|
34
|
+
and AI licensor for AI use, and as a result Progress does not have any control over AI and its availability, and Progress
|
|
35
|
+
disclaims any and all liabilities for any output, error, damages, loss, etc., or any other result of Your use of AI
|
|
36
|
+
integrated with the Software.
|
|
37
37
|
|
|
38
38
|
----------------------------------------------------------------------------------------------------------------------------
|
|
39
39
|
|
|
40
|
-
NOTICE FROM PROGRESS SOFTWARE CORPORATION: Additional notices may be included in the release notes or
|
|
41
|
-
|
|
40
|
+
NOTICE FROM PROGRESS SOFTWARE CORPORATION: Additional notices may be included in the release notes or other
|
|
41
|
+
documentation that accompanies updates received in connection with support of the Product.
|
|
42
42
|
|
|
43
43
|
----------------------------------------------------------------------------------------------------------------------------
|
|
44
44
|
|
|
45
45
|
TECHNOLOGIES DISTRIBUTED UNDER ORIGINAL LICENSE
|
|
46
|
-
The Product contains the following third-party technologies licensed to PSC under licenses that require PSC to
|
|
47
|
-
|
|
48
|
-
below.
|
|
46
|
+
The Product contains the following third-party technologies licensed to PSC under licenses that require PSC to distribute the
|
|
47
|
+
technologies to Users only under its original license terms as noted, the text of which is copied herein below.
|
|
49
48
|
|
|
50
49
|
Component License
|
|
51
|
-
|
|
52
|
-
caniuse-lite | 1.0.30001797 Creative Commons Attribution 4.0
|
|
50
|
+
caniuse-lite | 1.0.30001806 Creative Commons Attribution 4.0
|
|
53
51
|
|
|
54
52
|
----------------------------------------------------------------------------------------------------------------------------
|
|
55
53
|
|
|
56
|
-
Components:
|
|
54
|
+
Components:
|
|
57
55
|
|
|
58
56
|
| -------------------------------------- | ------------------------------------- | ---------------------------------------- |
|
|
59
57
|
| Component | Origin | License |
|
|
60
58
|
| -------------------------------------- | ------------------------------------- | ---------------------------------------- |
|
|
61
|
-
| caniuse-lite 1.0.
|
|
59
|
+
| caniuse-lite 1.0.30001806 | https://github.com/ben-eb/caniuse-lit | Creative Commons Attribution 4.0 |
|
|
62
60
|
| | e | |
|
|
63
61
|
| jszip 3.10.1 | https://github.com/Stuk/jszip | MIT License |
|
|
64
62
|
| Microsofttslib 1.14.1 | http://github.com/Microsoft/tslib/ | BSD Zero Clause License |
|
|
@@ -66,12 +64,14 @@ Components:
|
|
|
66
64
|
| node-semver 7.7.1 | https://github.com/npm/node-semver | ISC License |
|
|
67
65
|
| nodeca/pako 1.0.11 | https://github.com/nodeca/pako | MIT License |
|
|
68
66
|
| orderedmap 2.1.1 | https://github.com/marijnh/orderedmap | MIT License |
|
|
69
|
-
| pdfjs-dist-for-node 5.
|
|
67
|
+
| pdfjs-dist-for-node 5.5.207 | http://mozilla.github.io/pdf.js/ | Apache License 2.0 |
|
|
68
|
+
| @progress/kendo-svg-icons 5.4.0 | https://github.com/telerik/kendo-icon | Apache License 2.0 |
|
|
69
|
+
| | s#readme | |
|
|
70
70
|
| prosemirror-commands 1.7.1 | https://github.com/prosemirror/prosem | MIT License |
|
|
71
71
|
| | irror-commands#readme | |
|
|
72
72
|
| prosemirror-dropcursor 1.8.2 | https://github.com/prosemirror/prosem | MIT License |
|
|
73
73
|
| | irror-dropcursor#readme | |
|
|
74
|
-
| prosemirror-gapcursor 1.4.
|
|
74
|
+
| prosemirror-gapcursor 1.4.1 | https://github.com/prosemirror/prosem | MIT License |
|
|
75
75
|
| | irror-gapcursor#readme | |
|
|
76
76
|
| prosemirror-history 1.5.0 | https://github.com/prosemirror/prosem | MIT License |
|
|
77
77
|
| | irror-history#readme | |
|
|
@@ -79,7 +79,7 @@ Components:
|
|
|
79
79
|
| | irror-inputrules#readme | |
|
|
80
80
|
| prosemirror-keymap 1.2.3 | https://github.com/prosemirror/prosem | MIT License |
|
|
81
81
|
| | irror-keymap#readme | |
|
|
82
|
-
| prosemirror-model 1.25.
|
|
82
|
+
| prosemirror-model 1.25.9 | https://github.com/prosemirror/prosem | MIT License |
|
|
83
83
|
| | irror-model#readme | |
|
|
84
84
|
| prosemirror-schema-list 1.5.1 | https://github.com/prosemirror/prosem | MIT License |
|
|
85
85
|
| | irror-schema-list#readme | |
|
|
@@ -87,16 +87,14 @@ Components:
|
|
|
87
87
|
| | irror-state#readme | |
|
|
88
88
|
| prosemirror-tables 1.8.5 | https://github.com/prosemirror/prosem | MIT License |
|
|
89
89
|
| | irror-tables#readme | |
|
|
90
|
-
| prosemirror-transform 1.
|
|
90
|
+
| prosemirror-transform 1.12.0 | https://github.com/prosemirror/prosem | MIT License |
|
|
91
91
|
| | irror-transform#readme | |
|
|
92
|
-
| prosemirror-view 1.
|
|
92
|
+
| prosemirror-view 1.42.0 | https://github.com/prosemirror/prosem | MIT License |
|
|
93
93
|
| | irror-view#readme | |
|
|
94
94
|
| rope-sequence 1.3.4 | https://github.com/marijnh/rope-seque | MIT License |
|
|
95
95
|
| | nce#readme | |
|
|
96
96
|
| w3c-keyname 2.2.8 | https://github.com/marijnh/w3c-keynam | MIT License |
|
|
97
97
|
| | e#readme | |
|
|
98
|
-
| @progress/kendo-svg-icons 4.9.2 | https://github.com/telerik/kendo-icon | Apache License 2.0 |
|
|
99
|
-
| | s#readme | |
|
|
100
98
|
| -------------------------------------- | ------------------------------------- | ---------------------------------------- |
|
|
101
99
|
|
|
102
100
|
-------------------------------------------------------------------------------------------------------------------------
|
|
@@ -104,7 +102,8 @@ License Data and Text:
|
|
|
104
102
|
-------------------------------------------------------------------------------------------------------------------------
|
|
105
103
|
|
|
106
104
|
Apache License 2.0
|
|
107
|
-
(@progress/kendo-svg-icons 4.
|
|
105
|
+
(@progress/kendo-svg-icons 5.4.0, pdfjs-dist-for-node 5.5.207)
|
|
106
|
+
|
|
108
107
|
Apache License
|
|
109
108
|
Version 2.0, January 2004
|
|
110
109
|
=========================
|
|
@@ -372,7 +371,7 @@ THIS SOFTWARE.
|
|
|
372
371
|
---
|
|
373
372
|
|
|
374
373
|
Creative Commons Attribution 4.0
|
|
375
|
-
(caniuse-lite 1.0.
|
|
374
|
+
(caniuse-lite 1.0.30001806)
|
|
376
375
|
|
|
377
376
|
Creative Commons Attribution 4.0
|
|
378
377
|
================================
|
|
@@ -13,6 +13,7 @@ exports.writeInstructionMarker = writeInstructionMarker;
|
|
|
13
13
|
exports.isApiChangeTarget = isApiChangeTarget;
|
|
14
14
|
exports.isRenderingChangeTarget = isRenderingChangeTarget;
|
|
15
15
|
exports.executeCodemodTest = executeCodemodTest;
|
|
16
|
+
exports.removeAttributeFromDirectiveHost = removeAttributeFromDirectiveHost;
|
|
16
17
|
const tslib_1 = require("tslib");
|
|
17
18
|
/// <reference types="node" />
|
|
18
19
|
const fs = tslib_1.__importStar(require("fs"));
|
|
@@ -1486,3 +1487,17 @@ function executeCodemodTest(codemod, testDir, exampleFileName = 'example.ts', ex
|
|
|
1486
1487
|
catch { }
|
|
1487
1488
|
}
|
|
1488
1489
|
}
|
|
1490
|
+
function removeAttributeFromDirectiveHost(templateContent, directiveAttr, attrToRemove) {
|
|
1491
|
+
const escapedDirective = directiveAttr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
1492
|
+
const escapedAttr = attrToRemove.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
1493
|
+
const boundPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
1494
|
+
const staticPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
1495
|
+
// Also match when the attribute appears before the directive
|
|
1496
|
+
const boundPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
|
|
1497
|
+
const staticPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
|
|
1498
|
+
let result = templateContent.replace(boundPattern, '$1$3');
|
|
1499
|
+
result = result.replace(staticPattern, '$1$3');
|
|
1500
|
+
result = result.replace(boundPatternBefore, '$1$3');
|
|
1501
|
+
result = result.replace(staticPatternBefore, '$1$3');
|
|
1502
|
+
return result;
|
|
1503
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { Input, HostBinding, Directive, signal, ChangeDetectionStrategy, Component, computed, isDevMode, Injectable, InjectionToken, Optional, Inject, NgModule } from '@angular/core';
|
|
7
|
-
import { isDocumentAvailable, areObjectsEqual } from '@progress/kendo-angular-common';
|
|
7
|
+
import { isDocumentAvailable, areObjectsEqual, KENDO_COMPONENT_NAME } from '@progress/kendo-angular-common';
|
|
8
8
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
9
9
|
import * as i1_1 from '@angular/platform-browser';
|
|
10
10
|
import { Subject, BehaviorSubject, Subscription } from 'rxjs';
|
|
@@ -19,8 +19,8 @@ const packageMetadata = {
|
|
|
19
19
|
productName: 'Kendo UI for Angular',
|
|
20
20
|
productCode: 'KENDOUIANGULAR',
|
|
21
21
|
productCodes: ['KENDOUIANGULAR'],
|
|
22
|
-
publishDate:
|
|
23
|
-
version: '25.
|
|
22
|
+
publishDate: 1786626580,
|
|
23
|
+
version: '25.1.0-develop.1',
|
|
24
24
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -50,6 +50,24 @@ class IconBaseDirective {
|
|
|
50
50
|
* Flips the icon horizontally, vertically, or in both directions.
|
|
51
51
|
*/
|
|
52
52
|
flip;
|
|
53
|
+
/**
|
|
54
|
+
* Rotates the icon by `45`-degree steps.
|
|
55
|
+
*/
|
|
56
|
+
set rotate(rotate) {
|
|
57
|
+
const element = this.element.nativeElement;
|
|
58
|
+
const currentClass = this.rotateClass(this._rotate);
|
|
59
|
+
const nextClass = this.rotateClass(rotate);
|
|
60
|
+
if (currentClass) {
|
|
61
|
+
this.renderer.removeClass(element, currentClass);
|
|
62
|
+
}
|
|
63
|
+
if (nextClass) {
|
|
64
|
+
this.renderer.addClass(element, nextClass);
|
|
65
|
+
}
|
|
66
|
+
this._rotate = rotate;
|
|
67
|
+
}
|
|
68
|
+
get rotate() {
|
|
69
|
+
return this._rotate;
|
|
70
|
+
}
|
|
53
71
|
/**
|
|
54
72
|
* Sets the `IconThemeColor` for the icon. Use this property to apply a theme color.
|
|
55
73
|
*/
|
|
@@ -86,15 +104,19 @@ class IconBaseDirective {
|
|
|
86
104
|
}
|
|
87
105
|
_themeColor;
|
|
88
106
|
_size;
|
|
107
|
+
_rotate;
|
|
89
108
|
constructor(element, renderer) {
|
|
90
109
|
this.element = element;
|
|
91
110
|
this.renderer = renderer;
|
|
92
111
|
validatePackage(packageMetadata);
|
|
93
112
|
}
|
|
94
|
-
|
|
95
|
-
|
|
113
|
+
rotateClass(rotate) {
|
|
114
|
+
return rotate === undefined || rotate === null ? undefined : `k-rotate-${rotate}`;
|
|
115
|
+
}
|
|
116
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
117
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: IconBaseDirective, isStandalone: true, selector: "[kendoIconBase]", inputs: { flip: "flip", rotate: "rotate", themeColor: "themeColor", size: "size" }, host: { properties: { "class.k-flip-h": "this.horizontalFlip", "class.k-flip-v": "this.verticalFlip" } }, ngImport: i0 });
|
|
96
118
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconBaseDirective, decorators: [{
|
|
98
120
|
type: Directive,
|
|
99
121
|
args: [{
|
|
100
122
|
selector: '[kendoIconBase]'
|
|
@@ -107,6 +129,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
107
129
|
args: ['class.k-flip-v']
|
|
108
130
|
}], flip: [{
|
|
109
131
|
type: Input
|
|
132
|
+
}], rotate: [{
|
|
133
|
+
type: Input
|
|
110
134
|
}], themeColor: [{
|
|
111
135
|
type: Input
|
|
112
136
|
}], size: [{
|
|
@@ -150,10 +174,10 @@ class IconComponent extends IconBaseDirective {
|
|
|
150
174
|
this.element = element;
|
|
151
175
|
this.renderer = renderer;
|
|
152
176
|
}
|
|
153
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
154
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
177
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
178
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.27", type: IconComponent, isStandalone: true, selector: "kendo-icon", inputs: { name: "name" }, host: { properties: { "class.k-icon": "this.hostClass", "class.k-font-icon": "this.hostClass", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoIcon"], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
155
179
|
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
180
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconComponent, decorators: [{
|
|
157
181
|
type: Component,
|
|
158
182
|
args: [{
|
|
159
183
|
selector: 'kendo-icon',
|
|
@@ -203,6 +227,12 @@ class SVGIconComponent extends IconBaseDirective {
|
|
|
203
227
|
element;
|
|
204
228
|
renderer;
|
|
205
229
|
hostClass = true;
|
|
230
|
+
get outlineVariantClass() {
|
|
231
|
+
return this.variant === 'outline';
|
|
232
|
+
}
|
|
233
|
+
get duotoneVariantClass() {
|
|
234
|
+
return this.variant === 'duotone';
|
|
235
|
+
}
|
|
206
236
|
hostAriaHidden = true;
|
|
207
237
|
/**
|
|
208
238
|
* Sets the `SVGIcon` to render. Supports all [Kendo UI SVG Icons](https://www.telerik.com/kendo-angular-ui/components/icons/svgicon/svgicon-list).
|
|
@@ -275,15 +305,15 @@ class SVGIconComponent extends IconBaseDirective {
|
|
|
275
305
|
`);
|
|
276
306
|
}
|
|
277
307
|
}
|
|
278
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
279
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
308
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconComponent, deps: [{ token: i1_1.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
309
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: SVGIconComponent, isStandalone: true, selector: "kendo-svg-icon, kendo-svgicon", inputs: { icon: "icon", variant: "variant" }, host: { properties: { "class.k-svg-icon": "this.hostClass", "class.k-icon": "this.hostClass", "class.k-svg-icon-outline": "this.outlineVariantClass", "class.k-svg-icon-duotone": "this.duotoneVariantClass", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoSVGIcon"], usesInheritance: true, ngImport: i0, template: `
|
|
280
310
|
@if (visible) {
|
|
281
311
|
<svg [style.pointerEvents]="'none'" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
282
312
|
[attr.viewBox]="icon.viewBox" [innerHTML]="content" aria-hidden="true">
|
|
283
313
|
</svg>
|
|
284
314
|
}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
285
315
|
}
|
|
286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconComponent, decorators: [{
|
|
287
317
|
type: Component,
|
|
288
318
|
args: [{
|
|
289
319
|
exportAs: 'kendoSVGIcon',
|
|
@@ -304,6 +334,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
304
334
|
}, {
|
|
305
335
|
type: HostBinding,
|
|
306
336
|
args: ['class.k-icon']
|
|
337
|
+
}], outlineVariantClass: [{
|
|
338
|
+
type: HostBinding,
|
|
339
|
+
args: ['class.k-svg-icon-outline']
|
|
340
|
+
}], duotoneVariantClass: [{
|
|
341
|
+
type: HostBinding,
|
|
342
|
+
args: ['class.k-svg-icon-duotone']
|
|
307
343
|
}], hostAriaHidden: [{
|
|
308
344
|
type: HostBinding,
|
|
309
345
|
args: ['attr.aria-hidden']
|
|
@@ -349,25 +385,27 @@ class IconSettingsService {
|
|
|
349
385
|
/**
|
|
350
386
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
351
387
|
* Override in a custom service to provide custom SVG icons.
|
|
388
|
+
* The optional `_component` parameter carries the host component identity (e.g. `'dateinput'`, `'grid'`)
|
|
389
|
+
* so subclasses can return different icons for the same name depending on the requesting component.
|
|
352
390
|
*
|
|
353
|
-
* @hidden
|
|
354
391
|
*/
|
|
355
|
-
getSvgIcon(_name) {
|
|
392
|
+
getSvgIcon(_name, _component) {
|
|
356
393
|
return null;
|
|
357
394
|
}
|
|
358
395
|
/**
|
|
359
396
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
360
397
|
* Override in a custom service to provide classes for custom font icons.
|
|
398
|
+
* The optional `_component` parameter carries the host component identity so subclasses can
|
|
399
|
+
* return different classes for the same key depending on the requesting component.
|
|
361
400
|
*
|
|
362
|
-
* @hidden
|
|
363
401
|
*/
|
|
364
|
-
getCustomFontIconClass(_key) {
|
|
402
|
+
getCustomFontIconClass(_key, _component) {
|
|
365
403
|
return null;
|
|
366
404
|
}
|
|
367
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
368
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
405
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
406
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconSettingsService });
|
|
369
407
|
}
|
|
370
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconSettingsService, decorators: [{
|
|
371
409
|
type: Injectable
|
|
372
410
|
}] });
|
|
373
411
|
|
|
@@ -439,25 +477,45 @@ class IconsService {
|
|
|
439
477
|
/**
|
|
440
478
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
441
479
|
* Override in a custom service to provide custom SVG icons.
|
|
480
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
481
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
442
482
|
* @hidden
|
|
443
483
|
*/
|
|
444
|
-
getSvgIcon(name) {
|
|
445
|
-
|
|
446
|
-
|
|
484
|
+
getSvgIcon(name, componentChain) {
|
|
485
|
+
if (!this.iconSettingsService) {
|
|
486
|
+
return null;
|
|
487
|
+
}
|
|
488
|
+
for (const component of componentChain ?? []) {
|
|
489
|
+
const scoped = this.iconSettingsService.getSvgIcon(name, component.toLowerCase());
|
|
490
|
+
if (scoped) {
|
|
491
|
+
return scoped;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
return this.iconSettingsService.getSvgIcon(name);
|
|
447
495
|
}
|
|
448
496
|
/**
|
|
449
497
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
450
498
|
* Override in a custom service to provide classes for custom font icons.
|
|
499
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
500
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
451
501
|
* @hidden
|
|
452
502
|
*/
|
|
453
|
-
getCustomFontIconClass(key) {
|
|
454
|
-
|
|
455
|
-
|
|
503
|
+
getCustomFontIconClass(key, componentChain) {
|
|
504
|
+
if (!this.iconSettingsService) {
|
|
505
|
+
return null;
|
|
506
|
+
}
|
|
507
|
+
for (const component of componentChain ?? []) {
|
|
508
|
+
const scoped = this.iconSettingsService.getCustomFontIconClass(key, component.toLowerCase());
|
|
509
|
+
if (scoped) {
|
|
510
|
+
return scoped;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
return this.iconSettingsService.getCustomFontIconClass(key);
|
|
456
514
|
}
|
|
457
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
458
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
515
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsService, deps: [{ token: ICON_SETTINGS, optional: true }, { token: IconSettingsService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
516
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsService, providedIn: 'root' });
|
|
459
517
|
}
|
|
460
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
518
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsService, decorators: [{
|
|
461
519
|
type: Injectable,
|
|
462
520
|
args: [{
|
|
463
521
|
providedIn: 'root'
|
|
@@ -477,6 +535,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
477
535
|
class IconWrapperComponent {
|
|
478
536
|
iconsService;
|
|
479
537
|
element;
|
|
538
|
+
componentChain;
|
|
480
539
|
hostClass = true;
|
|
481
540
|
/**
|
|
482
541
|
* Sets the name for an existing font icon in a Kendo UI theme to render.
|
|
@@ -518,7 +577,7 @@ class IconWrapperComponent {
|
|
|
518
577
|
get iconSettings() { return this._iconSettings(); }
|
|
519
578
|
// Resolves the effective SVG icon: prefer service-provided icon, then fall back to the svgIcon input.
|
|
520
579
|
// Extracted from hasSvgIcon getter to avoid writing to a signal inside a reactive context.
|
|
521
|
-
_resolvedSvgIcon = computed(() => this.iconsService.getSvgIcon(this._name()) || this._svgIcon(), ...(ngDevMode ? [{ debugName: "_resolvedSvgIcon" }] : []));
|
|
580
|
+
_resolvedSvgIcon = computed(() => this.iconsService.getSvgIcon(this._name(), this.componentChain) || this._svgIcon(), ...(ngDevMode ? [{ debugName: "_resolvedSvgIcon" }] : []));
|
|
522
581
|
get resolvedSvgIcon() { return this._resolvedSvgIcon(); }
|
|
523
582
|
get hasSvgIcon() {
|
|
524
583
|
if (this._resolvedSvgIcon()) {
|
|
@@ -545,12 +604,13 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
545
604
|
return false;
|
|
546
605
|
}
|
|
547
606
|
get customFontIconClass() {
|
|
548
|
-
return this.iconsService.getCustomFontIconClass(this.name) || this.customFontClass;
|
|
607
|
+
return this.iconsService.getCustomFontIconClass(this.name, this.componentChain) || this.customFontClass;
|
|
549
608
|
}
|
|
550
609
|
subs = new Subscription();
|
|
551
|
-
constructor(iconsService, element) {
|
|
610
|
+
constructor(iconsService, element, componentChain) {
|
|
552
611
|
this.iconsService = iconsService;
|
|
553
612
|
this.element = element;
|
|
613
|
+
this.componentChain = componentChain;
|
|
554
614
|
this.subs = iconsService.changes.subscribe(iconSettings => {
|
|
555
615
|
this._iconSettings.set(iconSettings);
|
|
556
616
|
});
|
|
@@ -558,15 +618,17 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
558
618
|
ngOnDestroy() {
|
|
559
619
|
this.subs.unsubscribe();
|
|
560
620
|
}
|
|
561
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
562
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
621
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconWrapperComponent, deps: [{ token: IconsService }, { token: i0.ElementRef }, { token: KENDO_COMPONENT_NAME, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
622
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: IconWrapperComponent, isStandalone: true, selector: "kendo-icon-wrapper", inputs: { name: "name", svgIcon: "svgIcon", innerCssClass: "innerCssClass", customFontClass: "customFontClass", size: "size" }, host: { properties: { "class.k-icon-wrapper-host": "this.hostClass" } }, exportAs: ["kendoIconWrapper"], ngImport: i0, template: `
|
|
563
623
|
@if (iconSettings?.type === 'svg' && hasSvgIcon) {
|
|
564
624
|
<kendo-svgicon
|
|
565
625
|
[ngClass]="innerCssClass"
|
|
566
626
|
[icon]="resolvedSvgIcon"
|
|
567
627
|
[size]="size || iconSettings?.size"
|
|
568
628
|
[themeColor]="iconSettings?.themeColor"
|
|
569
|
-
|
|
629
|
+
[variant]="iconSettings?.variant"
|
|
630
|
+
[flip]="iconSettings?.flip"
|
|
631
|
+
[rotate]="iconSettings?.rotate"></kendo-svgicon>
|
|
570
632
|
} @else {
|
|
571
633
|
@if (!customFontIconClass) {
|
|
572
634
|
<kendo-icon
|
|
@@ -574,14 +636,15 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
574
636
|
[name]="name"
|
|
575
637
|
[size]="size || iconSettings?.size"
|
|
576
638
|
[themeColor]="iconSettings?.themeColor"
|
|
577
|
-
|
|
639
|
+
[flip]="iconSettings?.flip"
|
|
640
|
+
[rotate]="iconSettings?.rotate"></kendo-icon>
|
|
578
641
|
} @else {
|
|
579
642
|
<span [ngClass]="customClasses"></span>
|
|
580
643
|
}
|
|
581
644
|
}
|
|
582
645
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconComponent, selector: "kendo-icon", inputs: ["name"], exportAs: ["kendoIcon"] }, { kind: "component", type: SVGIconComponent, selector: "kendo-svg-icon, kendo-svgicon", inputs: ["icon", "variant"], exportAs: ["kendoSVGIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
583
646
|
}
|
|
584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
647
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconWrapperComponent, decorators: [{
|
|
585
648
|
type: Component,
|
|
586
649
|
args: [{
|
|
587
650
|
selector: 'kendo-icon-wrapper',
|
|
@@ -593,7 +656,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
593
656
|
[icon]="resolvedSvgIcon"
|
|
594
657
|
[size]="size || iconSettings?.size"
|
|
595
658
|
[themeColor]="iconSettings?.themeColor"
|
|
596
|
-
|
|
659
|
+
[variant]="iconSettings?.variant"
|
|
660
|
+
[flip]="iconSettings?.flip"
|
|
661
|
+
[rotate]="iconSettings?.rotate"></kendo-svgicon>
|
|
597
662
|
} @else {
|
|
598
663
|
@if (!customFontIconClass) {
|
|
599
664
|
<kendo-icon
|
|
@@ -601,7 +666,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
601
666
|
[name]="name"
|
|
602
667
|
[size]="size || iconSettings?.size"
|
|
603
668
|
[themeColor]="iconSettings?.themeColor"
|
|
604
|
-
|
|
669
|
+
[flip]="iconSettings?.flip"
|
|
670
|
+
[rotate]="iconSettings?.rotate"></kendo-icon>
|
|
605
671
|
} @else {
|
|
606
672
|
<span [ngClass]="customClasses"></span>
|
|
607
673
|
}
|
|
@@ -611,7 +677,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
611
677
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
612
678
|
imports: [NgClass, IconComponent, SVGIconComponent]
|
|
613
679
|
}]
|
|
614
|
-
}], ctorParameters: () => [{ type: IconsService }, { type: i0.ElementRef }
|
|
680
|
+
}], ctorParameters: () => [{ type: IconsService }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
681
|
+
type: Optional
|
|
682
|
+
}, {
|
|
683
|
+
type: Inject,
|
|
684
|
+
args: [KENDO_COMPONENT_NAME]
|
|
685
|
+
}] }], propDecorators: { hostClass: [{
|
|
615
686
|
type: HostBinding,
|
|
616
687
|
args: ['class.k-icon-wrapper-host']
|
|
617
688
|
}], name: [{
|
|
@@ -646,11 +717,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
646
717
|
* ```
|
|
647
718
|
*/
|
|
648
719
|
class IconModule {
|
|
649
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
650
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
651
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
720
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
721
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: IconModule, imports: [IconComponent], exports: [IconComponent] });
|
|
722
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconModule });
|
|
652
723
|
}
|
|
653
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
724
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconModule, decorators: [{
|
|
654
725
|
type: NgModule,
|
|
655
726
|
args: [{
|
|
656
727
|
exports: [IconComponent],
|
|
@@ -678,11 +749,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
678
749
|
* ```
|
|
679
750
|
*/
|
|
680
751
|
class SVGIconModule {
|
|
681
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
682
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
683
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
752
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
753
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule, imports: [SVGIconComponent], exports: [SVGIconComponent] });
|
|
754
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule });
|
|
684
755
|
}
|
|
685
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
756
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SVGIconModule, decorators: [{
|
|
686
757
|
type: NgModule,
|
|
687
758
|
args: [{
|
|
688
759
|
exports: [SVGIconComponent],
|
|
@@ -772,11 +843,11 @@ const KENDO_ICONS = [
|
|
|
772
843
|
* ```
|
|
773
844
|
*/
|
|
774
845
|
class IconsModule {
|
|
775
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
776
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
777
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
846
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
847
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, imports: [IconComponent, SVGIconComponent], exports: [IconComponent, SVGIconComponent] });
|
|
848
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, providers: [IconsService] });
|
|
778
849
|
}
|
|
779
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
850
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconsModule, decorators: [{
|
|
780
851
|
type: NgModule,
|
|
781
852
|
args: [{
|
|
782
853
|
imports: [
|
package/index.d.ts
CHANGED
|
@@ -54,6 +54,13 @@ type IconSize = 'default' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' |
|
|
|
54
54
|
*/
|
|
55
55
|
type IconFlip = 'default' | 'horizontal' | 'vertical' | 'both';
|
|
56
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Specifies the `IconRotate` degree.
|
|
59
|
+
*
|
|
60
|
+
* Use this type to control icon rotation in `45`-degree steps, where the degree is provided as a number.
|
|
61
|
+
*/
|
|
62
|
+
type IconRotate = 0 | 45 | 90 | 135 | 180 | 225 | 270 | 315;
|
|
63
|
+
|
|
57
64
|
/**
|
|
58
65
|
* @hidden
|
|
59
66
|
*/
|
|
@@ -66,6 +73,11 @@ declare abstract class IconBaseDirective {
|
|
|
66
73
|
* Flips the icon horizontally, vertically, or in both directions.
|
|
67
74
|
*/
|
|
68
75
|
flip: IconFlip;
|
|
76
|
+
/**
|
|
77
|
+
* Rotates the icon by `45`-degree steps.
|
|
78
|
+
*/
|
|
79
|
+
set rotate(rotate: IconRotate);
|
|
80
|
+
get rotate(): IconRotate;
|
|
69
81
|
/**
|
|
70
82
|
* Sets the `IconThemeColor` for the icon. Use this property to apply a theme color.
|
|
71
83
|
*/
|
|
@@ -78,9 +90,11 @@ declare abstract class IconBaseDirective {
|
|
|
78
90
|
get size(): IconSize;
|
|
79
91
|
_themeColor: IconThemeColor;
|
|
80
92
|
_size: IconSize;
|
|
93
|
+
_rotate: IconRotate;
|
|
81
94
|
constructor(element: ElementRef, renderer: Renderer2);
|
|
95
|
+
private rotateClass;
|
|
82
96
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconBaseDirective, never>;
|
|
83
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<IconBaseDirective, "[kendoIconBase]", never, { "flip": { "alias": "flip"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
97
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<IconBaseDirective, "[kendoIconBase]", never, { "flip": { "alias": "flip"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
84
98
|
}
|
|
85
99
|
|
|
86
100
|
/**
|
|
@@ -141,6 +155,8 @@ declare class SVGIconComponent extends IconBaseDirective implements OnInit {
|
|
|
141
155
|
element: ElementRef;
|
|
142
156
|
renderer: Renderer2;
|
|
143
157
|
hostClass: boolean;
|
|
158
|
+
get outlineVariantClass(): boolean;
|
|
159
|
+
get duotoneVariantClass(): boolean;
|
|
144
160
|
hostAriaHidden: boolean;
|
|
145
161
|
/**
|
|
146
162
|
* Sets the `SVGIcon` to render. Supports all [Kendo UI SVG Icons](https://www.telerik.com/kendo-angular-ui/components/icons/svgicon/svgicon-list).
|
|
@@ -175,7 +191,7 @@ type IconType = 'font' | 'svg';
|
|
|
175
191
|
|
|
176
192
|
/**
|
|
177
193
|
* Represents the icon settings for Kendo UI icons.
|
|
178
|
-
* Use the `IconSettings` interface to set the icon `type`, `themeColor`, `size`, and `
|
|
194
|
+
* Use the `IconSettings` interface to set the icon `type`, `themeColor`, `size`, `flip`, and `rotate` values.
|
|
179
195
|
*
|
|
180
196
|
* @example
|
|
181
197
|
* ```typescript
|
|
@@ -183,7 +199,9 @@ type IconType = 'font' | 'svg';
|
|
|
183
199
|
* type: 'svg',
|
|
184
200
|
* themeColor: 'primary',
|
|
185
201
|
* size: 'large',
|
|
186
|
-
* flip: 'horizontal'
|
|
202
|
+
* flip: 'horizontal',
|
|
203
|
+
* rotate: 90,
|
|
204
|
+
* variant: 'outline'
|
|
187
205
|
* };
|
|
188
206
|
* ```
|
|
189
207
|
*/
|
|
@@ -204,6 +222,15 @@ interface IconSettings {
|
|
|
204
222
|
* Sets the `flip` direction of the icon.
|
|
205
223
|
*/
|
|
206
224
|
flip?: IconFlip;
|
|
225
|
+
/**
|
|
226
|
+
* Sets the `rotate` degree of the icon. The `flip` direction takes precedence over the rotation degree when both are applied.
|
|
227
|
+
*/
|
|
228
|
+
rotate?: IconRotate;
|
|
229
|
+
/**
|
|
230
|
+
* Sets the `variant` of the SVG icon.
|
|
231
|
+
* Requires `@progress/kendo-svg-icons` version `5.0.0` or later.
|
|
232
|
+
*/
|
|
233
|
+
variant?: IconVariant;
|
|
207
234
|
}
|
|
208
235
|
|
|
209
236
|
/**
|
|
@@ -235,17 +262,19 @@ declare class IconSettingsService {
|
|
|
235
262
|
/**
|
|
236
263
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
237
264
|
* Override in a custom service to provide custom SVG icons.
|
|
265
|
+
* The optional `_component` parameter carries the host component identity (e.g. `'dateinput'`, `'grid'`)
|
|
266
|
+
* so subclasses can return different icons for the same name depending on the requesting component.
|
|
238
267
|
*
|
|
239
|
-
* @hidden
|
|
240
268
|
*/
|
|
241
|
-
getSvgIcon(_name: string): SVGIcon;
|
|
269
|
+
getSvgIcon(_name: string, _component?: string): SVGIcon;
|
|
242
270
|
/**
|
|
243
271
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
244
272
|
* Override in a custom service to provide classes for custom font icons.
|
|
273
|
+
* The optional `_component` parameter carries the host component identity so subclasses can
|
|
274
|
+
* return different classes for the same key depending on the requesting component.
|
|
245
275
|
*
|
|
246
|
-
* @hidden
|
|
247
276
|
*/
|
|
248
|
-
getCustomFontIconClass(_key: string): string;
|
|
277
|
+
getCustomFontIconClass(_key: string, _component?: string): string;
|
|
249
278
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconSettingsService, never>;
|
|
250
279
|
static ɵprov: i0.ɵɵInjectableDeclaration<IconSettingsService>;
|
|
251
280
|
}
|
|
@@ -286,15 +315,19 @@ declare class IconsService implements OnDestroy {
|
|
|
286
315
|
/**
|
|
287
316
|
* Returns the [`SVGIcon`](https://www.telerik.com/kendo-angular-ui/components/icons/api/svgicon) object for the provided key.
|
|
288
317
|
* Override in a custom service to provide custom SVG icons.
|
|
318
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
319
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
289
320
|
* @hidden
|
|
290
321
|
*/
|
|
291
|
-
getSvgIcon(name: string): SVGIcon;
|
|
322
|
+
getSvgIcon(name: string, componentChain?: string[]): SVGIcon;
|
|
292
323
|
/**
|
|
293
324
|
* Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
|
|
294
325
|
* Override in a custom service to provide classes for custom font icons.
|
|
326
|
+
* Walks the `componentChain` outermost-first so the closest explicitly configured ancestor wins,
|
|
327
|
+
* falling back to a global (no component) lookup when no level in the chain matches.
|
|
295
328
|
* @hidden
|
|
296
329
|
*/
|
|
297
|
-
getCustomFontIconClass(key: string): string;
|
|
330
|
+
getCustomFontIconClass(key: string, componentChain?: string[]): string;
|
|
298
331
|
static ɵfac: i0.ɵɵFactoryDeclaration<IconsService, [{ optional: true; }, { optional: true; }]>;
|
|
299
332
|
static ɵprov: i0.ɵɵInjectableDeclaration<IconsService>;
|
|
300
333
|
}
|
|
@@ -305,6 +338,7 @@ declare class IconsService implements OnDestroy {
|
|
|
305
338
|
declare class IconWrapperComponent implements OnDestroy {
|
|
306
339
|
private iconsService;
|
|
307
340
|
element: ElementRef;
|
|
341
|
+
private componentChain;
|
|
308
342
|
hostClass: boolean;
|
|
309
343
|
/**
|
|
310
344
|
* Sets the name for an existing font icon in a Kendo UI theme to render.
|
|
@@ -345,9 +379,9 @@ declare class IconWrapperComponent implements OnDestroy {
|
|
|
345
379
|
get hasSvgIcon(): boolean;
|
|
346
380
|
get customFontIconClass(): string;
|
|
347
381
|
private subs;
|
|
348
|
-
constructor(iconsService: IconsService, element: ElementRef);
|
|
382
|
+
constructor(iconsService: IconsService, element: ElementRef, componentChain: string[]);
|
|
349
383
|
ngOnDestroy(): void;
|
|
350
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<IconWrapperComponent,
|
|
384
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IconWrapperComponent, [null, null, { optional: true; }]>;
|
|
351
385
|
static ɵcmp: i0.ɵɵComponentDeclaration<IconWrapperComponent, "kendo-icon-wrapper", ["kendoIconWrapper"], { "name": { "alias": "name"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "innerCssClass": { "alias": "innerCssClass"; "required": false; }; "customFontClass": { "alias": "customFontClass"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
352
386
|
}
|
|
353
387
|
|
|
@@ -495,4 +529,4 @@ declare const KENDO_SVGICON: readonly [typeof SVGIconComponent];
|
|
|
495
529
|
declare const KENDO_ICONS: readonly [typeof IconComponent, typeof SVGIconComponent];
|
|
496
530
|
|
|
497
531
|
export { ICON_SETTINGS, IconComponent, IconModule, IconSettingsService, IconWrapperComponent, IconsModule, IconsService, KENDO_ICON, KENDO_ICONS, KENDO_SVGICON, SVGIconComponent, SVGIconModule };
|
|
498
|
-
export type { IconFlip, IconSettings, IconSize, IconThemeColor, IconType, IconVariant };
|
|
532
|
+
export type { IconFlip, IconRotate, IconSettings, IconSize, IconThemeColor, IconType, IconVariant };
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "25.
|
|
10
|
+
"publishDate": 1786626580,
|
|
11
|
+
"version": "25.1.0-develop.1",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-icons",
|
|
3
|
-
"version": "25.
|
|
3
|
+
"version": "25.1.0-develop.1",
|
|
4
4
|
"description": "Kendo UI Angular component starter template",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"package": {
|
|
32
32
|
"productName": "Kendo UI for Angular",
|
|
33
33
|
"productCode": "KENDOUIANGULAR",
|
|
34
|
-
"publishDate":
|
|
34
|
+
"publishDate": 1786626580,
|
|
35
35
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@angular/platform-browser": "20 - 22",
|
|
43
43
|
"@progress/kendo-licensing": "^1.11.0",
|
|
44
44
|
"@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
|
|
45
|
-
"@progress/kendo-angular-common": "25.
|
|
45
|
+
"@progress/kendo-angular-common": "25.1.0-develop.1",
|
|
46
46
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependenciesMeta": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"tslib": "^2.3.1",
|
|
55
|
-
"@progress/kendo-angular-schematics": "25.
|
|
55
|
+
"@progress/kendo-angular-schematics": "25.1.0-develop.1"
|
|
56
56
|
},
|
|
57
57
|
"schematics": "./schematics/collection.json",
|
|
58
58
|
"module": "fesm2022/progress-kendo-angular-icons.mjs",
|