@progress/kendo-angular-icons 24.0.0-develop.9 → 24.0.1-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/codemods/libs/common/src/codemods/utils.js +1488 -0
- package/codemods/libs/icons/codemods/v24/themecolor-light-dark.js +53 -0
- package/common/models/index.d.ts +1 -0
- package/common/models/svg-icon-variant.d.ts +9 -0
- package/common/models/theme-color.d.ts +1 -3
- package/fesm2022/progress-kendo-angular-icons.mjs +24 -8
- package/index.d.ts +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +24 -5
- package/svg-icon/svg-icon.component.d.ts +10 -1
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
"use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.aiInstructions = void 0;
|
|
8
|
+
exports.default = default_1;
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
11
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
12
|
+
exports.aiInstructions = `IconThemeColor no longer accepts 'light' or 'dark' values.
|
|
13
|
+
Replace any use of 'light' or 'dark' with a supported value: 'inherit', 'primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', or 'inverse'.
|
|
14
|
+
|
|
15
|
+
Static template bindings were removed automatically, which means the component now uses its default themeColor.
|
|
16
|
+
If you want to explicitly set a new value, re-add the attribute with a supported one:
|
|
17
|
+
Before: (removed by codemod — no themeColor attribute)
|
|
18
|
+
After: themeColor="base"
|
|
19
|
+
|
|
20
|
+
The following patterns could not be migrated automatically and require an additional update:
|
|
21
|
+
|
|
22
|
+
Dynamic binding:
|
|
23
|
+
Before: [themeColor]="color" (where color may be 'light' or 'dark')
|
|
24
|
+
After: [themeColor]="color" (ensure color is a supported value)
|
|
25
|
+
|
|
26
|
+
Conditional expression — replace both branch values:
|
|
27
|
+
Before: [themeColor]="isDark ? 'dark' : 'light'"
|
|
28
|
+
After: [themeColor]="isDark ? 'inverse' : 'base'"
|
|
29
|
+
|
|
30
|
+
TypeScript assignment — update the assigned value:
|
|
31
|
+
Before: this.icon.themeColor = 'light';
|
|
32
|
+
After: this.icon.themeColor = 'base';`;
|
|
33
|
+
const REMOVED_VALUES = ['light', 'dark'];
|
|
34
|
+
function default_1(fileInfo, api) {
|
|
35
|
+
const filePath = fileInfo.path;
|
|
36
|
+
if (!(0, codemods_1.isApiChangeTarget)(filePath)) {
|
|
37
|
+
return fileInfo.source;
|
|
38
|
+
}
|
|
39
|
+
const htmlResult = (0, codemods_1.htmlTransformer)(fileInfo, api, (templateContent) => {
|
|
40
|
+
let result = (0, codemods_1.attributeConditionalRemoval)(templateContent, 'kendo-icon', 'themeColor', REMOVED_VALUES);
|
|
41
|
+
result = (0, codemods_1.attributeConditionalRemoval)(result, 'kendo-svgicon', 'themeColor', REMOVED_VALUES);
|
|
42
|
+
result = (0, codemods_1.attributeConditionalRemoval)(result, 'kendo-svg-icon', 'themeColor', REMOVED_VALUES);
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
45
|
+
if (filePath.endsWith('.html')) {
|
|
46
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
47
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
48
|
+
return htmlResult;
|
|
49
|
+
}
|
|
50
|
+
return fileInfo.source;
|
|
51
|
+
}
|
|
52
|
+
return htmlResult || fileInfo.source;
|
|
53
|
+
}
|
package/common/models/index.d.ts
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
* Specifies the style variant of an SVG icon.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export type IconVariant = 'solid' | 'outline' | 'duotone';
|
|
@@ -14,9 +14,7 @@
|
|
|
14
14
|
* - `success`— Applies coloring based on success theme color.
|
|
15
15
|
* - `warning`— Applies coloring based on warning theme color.
|
|
16
16
|
* - `error`— Applies coloring based on error theme color.
|
|
17
|
-
* - `dark`— Applies coloring based on dark theme color.
|
|
18
|
-
* - `light`— Applies coloring based on light theme color.
|
|
19
17
|
* - `inverse`— Applies coloring based on inverse theme color.
|
|
20
18
|
*
|
|
21
19
|
*/
|
|
22
|
-
export type IconThemeColor = 'inherit' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | '
|
|
20
|
+
export type IconThemeColor = 'inherit' | 'primary' | 'secondary' | 'tertiary' | 'info' | 'success' | 'warning' | 'error' | 'inverse';
|
|
@@ -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: '24.0.
|
|
22
|
+
publishDate: 1779368359,
|
|
23
|
+
version: '24.0.1-develop.1',
|
|
24
24
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -174,7 +174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
174
174
|
type: Input
|
|
175
175
|
}] } });
|
|
176
176
|
|
|
177
|
-
const areSame = (i1, i2) => i1?.name === i2?.name && i1
|
|
177
|
+
const areSame = (i1, i2) => i1?.name === i2?.name && i1?.content === i2?.content && i1?.viewBox === i2?.viewBox && i1?.variants === i2?.variants;
|
|
178
178
|
/**
|
|
179
179
|
* Represents the [Kendo UI SVG Icon component for Angular](https://www.telerik.com/kendo-angular-ui/components/icons/svgicon).
|
|
180
180
|
* Used to display icons from the [Kendo UI SVG Icons](https://www.telerik.com/kendo-angular-ui/components/icons/svgicon/svgicon-list) collection.
|
|
@@ -223,13 +223,27 @@ class SVGIconComponent extends IconBaseDirective {
|
|
|
223
223
|
get icon() {
|
|
224
224
|
return this._icon;
|
|
225
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* Sets the style variant of the icon.
|
|
228
|
+
*
|
|
229
|
+
* > Requires `@progress/kendo-svg-icons` v5 or later for the `variants` property to be available on icons.
|
|
230
|
+
*/
|
|
231
|
+
set variant(variant) {
|
|
232
|
+
this._variant = variant;
|
|
233
|
+
}
|
|
234
|
+
get variant() {
|
|
235
|
+
return this._variant;
|
|
236
|
+
}
|
|
226
237
|
get content() {
|
|
227
|
-
|
|
238
|
+
const variantContent = this.variant && this.icon?.variants?.[this.variant];
|
|
239
|
+
const svgContent = variantContent || this.icon.content;
|
|
240
|
+
return this.domSanitizer.bypassSecurityTrustHtml(svgContent);
|
|
228
241
|
}
|
|
229
242
|
get visible() {
|
|
230
243
|
return this.icon && isDocumentAvailable();
|
|
231
244
|
}
|
|
232
245
|
_icon;
|
|
246
|
+
_variant;
|
|
233
247
|
constructor(domSanitizer, element, renderer) {
|
|
234
248
|
super(element, renderer);
|
|
235
249
|
this.domSanitizer = domSanitizer;
|
|
@@ -252,10 +266,10 @@ class SVGIconComponent extends IconBaseDirective {
|
|
|
252
266
|
}
|
|
253
267
|
}
|
|
254
268
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SVGIconComponent, deps: [{ token: i1_1.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: SVGIconComponent, isStandalone: true, selector: "kendo-svg-icon, kendo-svgicon", inputs: { icon: "icon" }, host: { properties: { "class.k-svg-icon": "this.hostClass", "class.k-icon": "this.hostClass", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoSVGIcon"], usesInheritance: true, ngImport: i0, template: `
|
|
269
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoSVGIcon"], usesInheritance: true, ngImport: i0, template: `
|
|
256
270
|
@if (visible) {
|
|
257
271
|
<svg [style.pointerEvents]="'none'" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
258
|
-
[attr.viewBox]="icon.viewBox" [innerHTML]="content">
|
|
272
|
+
[attr.viewBox]="icon.viewBox" [innerHTML]="content" aria-hidden="true">
|
|
259
273
|
</svg>
|
|
260
274
|
}`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
261
275
|
}
|
|
@@ -267,7 +281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
267
281
|
template: `
|
|
268
282
|
@if (visible) {
|
|
269
283
|
<svg [style.pointerEvents]="'none'" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
270
|
-
[attr.viewBox]="icon.viewBox" [innerHTML]="content">
|
|
284
|
+
[attr.viewBox]="icon.viewBox" [innerHTML]="content" aria-hidden="true">
|
|
271
285
|
</svg>
|
|
272
286
|
}`,
|
|
273
287
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -285,6 +299,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
285
299
|
args: ['attr.aria-hidden']
|
|
286
300
|
}], icon: [{
|
|
287
301
|
type: Input
|
|
302
|
+
}], variant: [{
|
|
303
|
+
type: Input
|
|
288
304
|
}] } });
|
|
289
305
|
|
|
290
306
|
/**
|
|
@@ -538,7 +554,7 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
|
|
|
538
554
|
<span [ngClass]="customClasses"></span>
|
|
539
555
|
}
|
|
540
556
|
}
|
|
541
|
-
`, 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"], exportAs: ["kendoSVGIcon"] }] });
|
|
557
|
+
`, 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"] }] });
|
|
542
558
|
}
|
|
543
559
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: IconWrapperComponent, decorators: [{
|
|
544
560
|
type: Component,
|
package/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { IconWrapperComponent } from './icon-wrapper/icon-wrapper.component';
|
|
|
8
8
|
export { IconModule } from './icon.module';
|
|
9
9
|
export { SVGIconModule } from './svg-icon.module';
|
|
10
10
|
export { IconsModule } from './icons.module';
|
|
11
|
-
export { IconFlip, IconSize, IconThemeColor, IconType, IconSettings } from './common/models';
|
|
11
|
+
export { IconFlip, IconSize, IconThemeColor, IconType, IconSettings, IconVariant } from './common/models';
|
|
12
12
|
export { IconsService } from './common/icons.service';
|
|
13
13
|
export { IconSettingsService } from './common/icon-settings.service';
|
|
14
14
|
export { ICON_SETTINGS } from './common/icon-settings';
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "24.0.
|
|
10
|
+
"publishDate": 1779368359,
|
|
11
|
+
"version": "24.0.1-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": "24.0.
|
|
3
|
+
"version": "24.0.1-develop.1",
|
|
4
4
|
"description": "Kendo UI Angular component starter template",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -14,10 +14,24 @@
|
|
|
14
14
|
],
|
|
15
15
|
"@progress": {
|
|
16
16
|
"friendlyName": "Icon",
|
|
17
|
+
"migrations": {
|
|
18
|
+
"options": {
|
|
19
|
+
"parser": "tsx",
|
|
20
|
+
"pattern": "*.{ts,html,css,scss,sass,less}"
|
|
21
|
+
},
|
|
22
|
+
"codemods": {
|
|
23
|
+
"24": [
|
|
24
|
+
{
|
|
25
|
+
"description": "IconThemeColor no longer accepts 'light' or 'dark' values.",
|
|
26
|
+
"file": "codemods/v24/themecolor-light-dark.js"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
},
|
|
17
31
|
"package": {
|
|
18
32
|
"productName": "Kendo UI for Angular",
|
|
19
33
|
"productCode": "KENDOUIANGULAR",
|
|
20
|
-
"publishDate":
|
|
34
|
+
"publishDate": 1779368359,
|
|
21
35
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
22
36
|
}
|
|
23
37
|
},
|
|
@@ -27,13 +41,18 @@
|
|
|
27
41
|
"@angular/core": "19 - 21",
|
|
28
42
|
"@angular/platform-browser": "19 - 21",
|
|
29
43
|
"@progress/kendo-licensing": "^1.11.0",
|
|
30
|
-
"@progress/kendo-svg-icons": "^4.0.0",
|
|
31
|
-
"@progress/kendo-angular-common": "24.0.
|
|
44
|
+
"@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
|
|
45
|
+
"@progress/kendo-angular-common": "24.0.1-develop.1",
|
|
32
46
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
33
47
|
},
|
|
48
|
+
"peerDependenciesMeta": {
|
|
49
|
+
"@progress/kendo-svg-icons": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
34
53
|
"dependencies": {
|
|
35
54
|
"tslib": "^2.3.1",
|
|
36
|
-
"@progress/kendo-angular-schematics": "24.0.
|
|
55
|
+
"@progress/kendo-angular-schematics": "24.0.1-develop.1"
|
|
37
56
|
},
|
|
38
57
|
"schematics": "./schematics/collection.json",
|
|
39
58
|
"module": "fesm2022/progress-kendo-angular-icons.mjs",
|
|
@@ -6,6 +6,7 @@ import { ElementRef, Renderer2, OnInit } from '@angular/core';
|
|
|
6
6
|
import { DomSanitizer, SafeHtml } from "@angular/platform-browser";
|
|
7
7
|
import { IconBaseDirective } from '../common/icon-base';
|
|
8
8
|
import { SVGIcon } from '@progress/kendo-svg-icons';
|
|
9
|
+
import { IconVariant } from '../common/models/svg-icon-variant';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
/**
|
|
11
12
|
* Represents the [Kendo UI SVG Icon component for Angular](https://www.telerik.com/kendo-angular-ui/components/icons/svgicon).
|
|
@@ -40,12 +41,20 @@ export declare class SVGIconComponent extends IconBaseDirective implements OnIni
|
|
|
40
41
|
*/
|
|
41
42
|
set icon(icon: SVGIcon);
|
|
42
43
|
get icon(): SVGIcon;
|
|
44
|
+
/**
|
|
45
|
+
* Sets the style variant of the icon.
|
|
46
|
+
*
|
|
47
|
+
* > Requires `@progress/kendo-svg-icons` v5 or later for the `variants` property to be available on icons.
|
|
48
|
+
*/
|
|
49
|
+
set variant(variant: IconVariant);
|
|
50
|
+
get variant(): IconVariant;
|
|
43
51
|
get content(): SafeHtml;
|
|
44
52
|
get visible(): boolean;
|
|
45
53
|
private _icon;
|
|
54
|
+
private _variant;
|
|
46
55
|
constructor(domSanitizer: DomSanitizer, element: ElementRef, renderer: Renderer2);
|
|
47
56
|
ngOnInit(): void;
|
|
48
57
|
private verifyIconProperty;
|
|
49
58
|
static ɵfac: i0.ɵɵFactoryDeclaration<SVGIconComponent, never>;
|
|
50
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SVGIconComponent, "kendo-svg-icon, kendo-svgicon", ["kendoSVGIcon"], { "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, true, never>;
|
|
59
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SVGIconComponent, "kendo-svg-icon, kendo-svgicon", ["kendoSVGIcon"], { "icon": { "alias": "icon"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, never, true, never>;
|
|
51
60
|
}
|