@progress/kendo-angular-icons 13.1.0-develop.3 → 13.1.0-develop.4

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.
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2023 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, HostBinding, Input } from '@angular/core';
5
+ import { Component, HostBinding, Input, isDevMode } from '@angular/core';
6
6
  import { Subscription } from 'rxjs';
7
7
  import { IconsService } from '../common/icons.service';
8
8
  import * as i0 from "@angular/core";
@@ -36,8 +36,30 @@ export class IconWrapperComponent {
36
36
  const classes = [this.customFontClass, this.innerCssClass, this.customFontIconClass].filter(cl => !!cl).join(' ');
37
37
  return classes;
38
38
  }
39
- get getSvgIcon() {
40
- return this.iconsService.getSvgIcon(this.name) || this.svgIcon;
39
+ get hasSvgIcon() {
40
+ this.svgIcon = this.iconsService.getSvgIcon(this.name) || this.svgIcon;
41
+ if (this.svgIcon) {
42
+ return true;
43
+ }
44
+ if (isDevMode()) {
45
+ console.groupCollapsed(`Kendo UI for Angular: Icon type is set to 'svg', but only font icon name is provided. The "${this.name}" font icon will be rendered instead.`);
46
+ console.warn(`
47
+ Starting from v7.0.0 (October, 2023) of the Kendo Themes, the font icons will be removed from the theme.
48
+ * To render an SVG icon, update the component configuration by setting the "svgIcon" input to the respective icon definition.
49
+ * To continue to use font icons, install the "@progress/kendo-font-icons" package and import "@progress/kendo-font-icons/dist/index.css".
50
+
51
+ Please note, that font icons are not compatible with a strict Content Security Policy and require the use of the "unsafe-inline" override.
52
+
53
+ For further details, check the following documentation articles:
54
+ https://www.telerik.com/kendo-angular-ui/components/icons/icon-settings
55
+ https://www.telerik.com/kendo-angular-ui/components/styling/icons/
56
+ https://www.telerik.com/kendo-angular-ui/components/styling/svg-icons/
57
+ https://www.telerik.com/design-system/docs/foundation/iconography/font-icons/
58
+ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
59
+ `);
60
+ console.groupEnd();
61
+ }
62
+ return false;
41
63
  }
42
64
  get customFontIconClass() {
43
65
  return this.iconsService.getCustomFontIconClass(this.name) || this.customFontClass;
@@ -49,9 +71,9 @@ export class IconWrapperComponent {
49
71
  IconWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IconWrapperComponent, deps: [{ token: i1.IconsService }], target: i0.ɵɵFactoryTarget.Component });
50
72
  IconWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IconWrapperComponent, 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: `
51
73
  <kendo-svg-icon
52
- *ngIf="iconSettings?.type === 'svg'; else font"
74
+ *ngIf="iconSettings?.type === 'svg' && hasSvgIcon; else font"
53
75
  [ngClass]="innerCssClass"
54
- [icon]="getSvgIcon"
76
+ [icon]="svgIcon"
55
77
  [size]="size || iconSettings?.size"
56
78
  [themeColor]="iconSettings?.themeColor"
57
79
  [flip]="iconSettings?.flip"></kendo-svg-icon>
@@ -75,9 +97,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
75
97
  selector: 'kendo-icon-wrapper',
76
98
  template: `
77
99
  <kendo-svg-icon
78
- *ngIf="iconSettings?.type === 'svg'; else font"
100
+ *ngIf="iconSettings?.type === 'svg' && hasSvgIcon; else font"
79
101
  [ngClass]="innerCssClass"
80
- [icon]="getSvgIcon"
102
+ [icon]="svgIcon"
81
103
  [size]="size || iconSettings?.size"
82
104
  [themeColor]="iconSettings?.themeColor"
83
105
  [flip]="iconSettings?.flip"></kendo-svg-icon>
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-icons',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1687248871,
13
- version: '13.1.0-develop.3',
12
+ publishDate: 1687265806,
13
+ version: '13.1.0-develop.4',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -19,8 +19,8 @@ const packageMetadata = {
19
19
  name: '@progress/kendo-angular-icons',
20
20
  productName: 'Kendo UI for Angular',
21
21
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
22
- publishDate: 1687248871,
23
- version: '13.1.0-develop.3',
22
+ publishDate: 1687265806,
23
+ version: '13.1.0-develop.4',
24
24
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
25
25
  };
26
26
 
@@ -400,8 +400,30 @@ class IconWrapperComponent {
400
400
  const classes = [this.customFontClass, this.innerCssClass, this.customFontIconClass].filter(cl => !!cl).join(' ');
401
401
  return classes;
402
402
  }
403
- get getSvgIcon() {
404
- return this.iconsService.getSvgIcon(this.name) || this.svgIcon;
403
+ get hasSvgIcon() {
404
+ this.svgIcon = this.iconsService.getSvgIcon(this.name) || this.svgIcon;
405
+ if (this.svgIcon) {
406
+ return true;
407
+ }
408
+ if (isDevMode()) {
409
+ console.groupCollapsed(`Kendo UI for Angular: Icon type is set to 'svg', but only font icon name is provided. The "${this.name}" font icon will be rendered instead.`);
410
+ console.warn(`
411
+ Starting from v7.0.0 (October, 2023) of the Kendo Themes, the font icons will be removed from the theme.
412
+ * To render an SVG icon, update the component configuration by setting the "svgIcon" input to the respective icon definition.
413
+ * To continue to use font icons, install the "@progress/kendo-font-icons" package and import "@progress/kendo-font-icons/dist/index.css".
414
+
415
+ Please note, that font icons are not compatible with a strict Content Security Policy and require the use of the "unsafe-inline" override.
416
+
417
+ For further details, check the following documentation articles:
418
+ https://www.telerik.com/kendo-angular-ui/components/icons/icon-settings
419
+ https://www.telerik.com/kendo-angular-ui/components/styling/icons/
420
+ https://www.telerik.com/kendo-angular-ui/components/styling/svg-icons/
421
+ https://www.telerik.com/design-system/docs/foundation/iconography/font-icons/
422
+ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
423
+ `);
424
+ console.groupEnd();
425
+ }
426
+ return false;
405
427
  }
406
428
  get customFontIconClass() {
407
429
  return this.iconsService.getCustomFontIconClass(this.name) || this.customFontClass;
@@ -413,9 +435,9 @@ class IconWrapperComponent {
413
435
  IconWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IconWrapperComponent, deps: [{ token: IconsService }], target: i0.ɵɵFactoryTarget.Component });
414
436
  IconWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IconWrapperComponent, 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: `
415
437
  <kendo-svg-icon
416
- *ngIf="iconSettings?.type === 'svg'; else font"
438
+ *ngIf="iconSettings?.type === 'svg' && hasSvgIcon; else font"
417
439
  [ngClass]="innerCssClass"
418
- [icon]="getSvgIcon"
440
+ [icon]="svgIcon"
419
441
  [size]="size || iconSettings?.size"
420
442
  [themeColor]="iconSettings?.themeColor"
421
443
  [flip]="iconSettings?.flip"></kendo-svg-icon>
@@ -439,9 +461,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
439
461
  selector: 'kendo-icon-wrapper',
440
462
  template: `
441
463
  <kendo-svg-icon
442
- *ngIf="iconSettings?.type === 'svg'; else font"
464
+ *ngIf="iconSettings?.type === 'svg' && hasSvgIcon; else font"
443
465
  [ngClass]="innerCssClass"
444
- [icon]="getSvgIcon"
466
+ [icon]="svgIcon"
445
467
  [size]="size || iconSettings?.size"
446
468
  [themeColor]="iconSettings?.themeColor"
447
469
  [flip]="iconSettings?.flip"></kendo-svg-icon>
@@ -19,8 +19,8 @@ const packageMetadata = {
19
19
  name: '@progress/kendo-angular-icons',
20
20
  productName: 'Kendo UI for Angular',
21
21
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
22
- publishDate: 1687248871,
23
- version: '13.1.0-develop.3',
22
+ publishDate: 1687265806,
23
+ version: '13.1.0-develop.4',
24
24
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
25
25
  };
26
26
 
@@ -398,8 +398,30 @@ class IconWrapperComponent {
398
398
  const classes = [this.customFontClass, this.innerCssClass, this.customFontIconClass].filter(cl => !!cl).join(' ');
399
399
  return classes;
400
400
  }
401
- get getSvgIcon() {
402
- return this.iconsService.getSvgIcon(this.name) || this.svgIcon;
401
+ get hasSvgIcon() {
402
+ this.svgIcon = this.iconsService.getSvgIcon(this.name) || this.svgIcon;
403
+ if (this.svgIcon) {
404
+ return true;
405
+ }
406
+ if (isDevMode()) {
407
+ console.groupCollapsed(`Kendo UI for Angular: Icon type is set to 'svg', but only font icon name is provided. The "${this.name}" font icon will be rendered instead.`);
408
+ console.warn(`
409
+ Starting from v7.0.0 (October, 2023) of the Kendo Themes, the font icons will be removed from the theme.
410
+ * To render an SVG icon, update the component configuration by setting the "svgIcon" input to the respective icon definition.
411
+ * To continue to use font icons, install the "@progress/kendo-font-icons" package and import "@progress/kendo-font-icons/dist/index.css".
412
+
413
+ Please note, that font icons are not compatible with a strict Content Security Policy and require the use of the "unsafe-inline" override.
414
+
415
+ For further details, check the following documentation articles:
416
+ https://www.telerik.com/kendo-angular-ui/components/icons/icon-settings
417
+ https://www.telerik.com/kendo-angular-ui/components/styling/icons/
418
+ https://www.telerik.com/kendo-angular-ui/components/styling/svg-icons/
419
+ https://www.telerik.com/design-system/docs/foundation/iconography/font-icons/
420
+ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
421
+ `);
422
+ console.groupEnd();
423
+ }
424
+ return false;
403
425
  }
404
426
  get customFontIconClass() {
405
427
  return this.iconsService.getCustomFontIconClass(this.name) || this.customFontClass;
@@ -411,9 +433,9 @@ class IconWrapperComponent {
411
433
  IconWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: IconWrapperComponent, deps: [{ token: IconsService }], target: i0.ɵɵFactoryTarget.Component });
412
434
  IconWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: IconWrapperComponent, 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: `
413
435
  <kendo-svg-icon
414
- *ngIf="iconSettings?.type === 'svg'; else font"
436
+ *ngIf="iconSettings?.type === 'svg' && hasSvgIcon; else font"
415
437
  [ngClass]="innerCssClass"
416
- [icon]="getSvgIcon"
438
+ [icon]="svgIcon"
417
439
  [size]="size || iconSettings?.size"
418
440
  [themeColor]="iconSettings?.themeColor"
419
441
  [flip]="iconSettings?.flip"></kendo-svg-icon>
@@ -437,9 +459,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
437
459
  selector: 'kendo-icon-wrapper',
438
460
  template: `
439
461
  <kendo-svg-icon
440
- *ngIf="iconSettings?.type === 'svg'; else font"
462
+ *ngIf="iconSettings?.type === 'svg' && hasSvgIcon; else font"
441
463
  [ngClass]="innerCssClass"
442
- [icon]="getSvgIcon"
464
+ [icon]="svgIcon"
443
465
  [size]="size || iconSettings?.size"
444
466
  [themeColor]="iconSettings?.themeColor"
445
467
  [flip]="iconSettings?.flip"></kendo-svg-icon>
@@ -49,7 +49,7 @@ export declare class IconWrapperComponent implements OnDestroy {
49
49
  size: IconSize;
50
50
  get customClasses(): string;
51
51
  iconSettings: IconSettings;
52
- get getSvgIcon(): SVGIcon;
52
+ get hasSvgIcon(): boolean;
53
53
  get customFontIconClass(): string;
54
54
  private subs;
55
55
  constructor(iconsService: IconsService);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-icons",
3
- "version": "13.1.0-develop.3",
3
+ "version": "13.1.0-develop.4",
4
4
  "description": "Kendo UI Angular component starter template",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -22,12 +22,12 @@
22
22
  "@angular/platform-browser": "13 - 16",
23
23
  "@progress/kendo-licensing": "^1.0.2",
24
24
  "@progress/kendo-svg-icons": "^1.0.0",
25
- "@progress/kendo-angular-common": "13.1.0-develop.3",
25
+ "@progress/kendo-angular-common": "13.1.0-develop.4",
26
26
  "rxjs": "^6.5.3 || ^7.0.0"
27
27
  },
28
28
  "dependencies": {
29
29
  "tslib": "^2.3.1",
30
- "@progress/kendo-angular-schematics": "13.1.0-develop.3"
30
+ "@progress/kendo-angular-schematics": "13.1.0-develop.4"
31
31
  },
32
32
  "schematics": "./schematics/collection.json",
33
33
  "module": "fesm2015/progress-kendo-angular-icons.mjs",