@progress/kendo-angular-icons 25.0.0 → 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.
@@ -19,8 +19,8 @@ const packageMetadata = {
19
19
  productName: 'Kendo UI for Angular',
20
20
  productCode: 'KENDOUIANGULAR',
21
21
  productCodes: ['KENDOUIANGULAR'],
22
- publishDate: 1786525749,
23
- version: '25.0.0',
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,13 +104,17 @@ 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
  }
113
+ rotateClass(rotate) {
114
+ return rotate === undefined || rotate === null ? undefined : `k-rotate-${rotate}`;
115
+ }
94
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 });
95
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: IconBaseDirective, isStandalone: true, selector: "[kendoIconBase]", inputs: { flip: "flip", themeColor: "themeColor", size: "size" }, host: { properties: { "class.k-flip-h": "this.horizontalFlip", "class.k-flip-v": "this.verticalFlip" } }, ngImport: i0 });
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
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: IconBaseDirective, decorators: [{
98
120
  type: Directive,
@@ -107,6 +129,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", 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: [{
@@ -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).
@@ -276,7 +306,7 @@ class SVGIconComponent extends IconBaseDirective {
276
306
  }
277
307
  }
278
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 });
279
- 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", "attr.aria-hidden": "this.hostAriaHidden" } }, exportAs: ["kendoSVGIcon"], usesInheritance: true, ngImport: i0, template: `
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">
@@ -304,6 +334,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", 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']
@@ -591,7 +627,8 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
591
627
  [size]="size || iconSettings?.size"
592
628
  [themeColor]="iconSettings?.themeColor"
593
629
  [variant]="iconSettings?.variant"
594
- [flip]="iconSettings?.flip"></kendo-svgicon>
630
+ [flip]="iconSettings?.flip"
631
+ [rotate]="iconSettings?.rotate"></kendo-svgicon>
595
632
  } @else {
596
633
  @if (!customFontIconClass) {
597
634
  <kendo-icon
@@ -599,7 +636,8 @@ https://www.telerik.com/design-system/docs/foundation/iconography/icon-list/
599
636
  [name]="name"
600
637
  [size]="size || iconSettings?.size"
601
638
  [themeColor]="iconSettings?.themeColor"
602
- [flip]="iconSettings?.flip"></kendo-icon>
639
+ [flip]="iconSettings?.flip"
640
+ [rotate]="iconSettings?.rotate"></kendo-icon>
603
641
  } @else {
604
642
  <span [ngClass]="customClasses"></span>
605
643
  }
@@ -619,7 +657,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
619
657
  [size]="size || iconSettings?.size"
620
658
  [themeColor]="iconSettings?.themeColor"
621
659
  [variant]="iconSettings?.variant"
622
- [flip]="iconSettings?.flip"></kendo-svgicon>
660
+ [flip]="iconSettings?.flip"
661
+ [rotate]="iconSettings?.rotate"></kendo-svgicon>
623
662
  } @else {
624
663
  @if (!customFontIconClass) {
625
664
  <kendo-icon
@@ -627,7 +666,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImpo
627
666
  [name]="name"
628
667
  [size]="size || iconSettings?.size"
629
668
  [themeColor]="iconSettings?.themeColor"
630
- [flip]="iconSettings?.flip"></kendo-icon>
669
+ [flip]="iconSettings?.flip"
670
+ [rotate]="iconSettings?.rotate"></kendo-icon>
631
671
  } @else {
632
672
  <span [ngClass]="customClasses"></span>
633
673
  }
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 `flip` direction.
194
+ * Use the `IconSettings` interface to set the icon `type`, `themeColor`, `size`, `flip`, and `rotate` values.
179
195
  *
180
196
  * @example
181
197
  * ```typescript
@@ -184,6 +200,7 @@ type IconType = 'font' | 'svg';
184
200
  * themeColor: 'primary',
185
201
  * size: 'large',
186
202
  * flip: 'horizontal',
203
+ * rotate: 90,
187
204
  * variant: 'outline'
188
205
  * };
189
206
  * ```
@@ -205,6 +222,10 @@ interface IconSettings {
205
222
  * Sets the `flip` direction of the icon.
206
223
  */
207
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;
208
229
  /**
209
230
  * Sets the `variant` of the SVG icon.
210
231
  * Requires `@progress/kendo-svg-icons` version `5.0.0` or later.
@@ -508,4 +529,4 @@ declare const KENDO_SVGICON: readonly [typeof SVGIconComponent];
508
529
  declare const KENDO_ICONS: readonly [typeof IconComponent, typeof SVGIconComponent];
509
530
 
510
531
  export { ICON_SETTINGS, IconComponent, IconModule, IconSettingsService, IconWrapperComponent, IconsModule, IconsService, KENDO_ICON, KENDO_ICONS, KENDO_SVGICON, SVGIconComponent, SVGIconModule };
511
- export type { IconFlip, IconSettings, IconSize, IconThemeColor, IconType, IconVariant };
532
+ export type { IconFlip, IconRotate, IconSettings, IconSize, IconThemeColor, IconType, IconVariant };
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1786525749,
11
- "version": "25.0.0",
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.0.0",
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": 1786525749,
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.0.0",
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.0.0"
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",