@progress/kendo-angular-icons 2.0.3 → 11.0.0-develop.100

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.
Files changed (49) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +4 -4
  3. package/README.md +1 -1
  4. package/common/icon-base.d.ts +1 -1
  5. package/common/icon-settings.d.ts +10 -0
  6. package/common/icon-settings.service.d.ts +40 -0
  7. package/common/icons.service.d.ts +40 -0
  8. package/common/models/flip.d.ts +1 -1
  9. package/common/models/icon-settings.d.ts +14 -0
  10. package/common/models/icon-type.d.ts +5 -0
  11. package/common/models/index.d.ts +3 -1
  12. package/common/models/size.d.ts +1 -1
  13. package/common/models/theme-color.d.ts +1 -1
  14. package/common/util.d.ts +8 -0
  15. package/{esm2015/common/icon-base.js → esm2020/common/icon-base.mjs} +11 -10
  16. package/esm2020/common/icon-settings.mjs +9 -0
  17. package/esm2020/common/icon-settings.service.mjs +50 -0
  18. package/esm2020/common/icons.service.mjs +68 -0
  19. package/{esm2015/common/models/size.js → esm2020/common/models/flip.mjs} +1 -1
  20. package/{esm2015/common/models/theme-color.js → esm2020/common/models/icon-settings.mjs} +1 -1
  21. package/{esm2015/common/models/flip.js → esm2020/common/models/icon-type.mjs} +1 -1
  22. package/esm2020/common/models/index.mjs +6 -0
  23. package/{esm2015/common/models/index.js → esm2020/common/models/size.mjs} +1 -1
  24. package/esm2020/common/models/theme-color.mjs +5 -0
  25. package/esm2020/common/util.mjs +8 -0
  26. package/{esm2015/icon/icon.component.js → esm2020/icon/icon.component.mjs} +12 -11
  27. package/esm2020/icon-wrapper/icon-wrapper.component.mjs +109 -0
  28. package/{esm2015/icon.module.js → esm2020/icon.module.mjs} +6 -6
  29. package/{esm2015/icons.module.js → esm2020/icons.module.mjs} +27 -8
  30. package/{esm2015/main.js → esm2020/index.mjs} +5 -1
  31. package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +3 -3
  32. package/{esm2015/kendo-angular-icons.js → esm2020/progress-kendo-angular-icons.mjs} +2 -2
  33. package/{esm2015/svg-icon/svg-icon.component.js → esm2020/svg-icon/svg-icon.component.mjs} +12 -9
  34. package/{esm2015/svg-icon.module.js → esm2020/svg-icon.module.mjs} +5 -5
  35. package/fesm2015/progress-kendo-angular-icons.mjs +622 -0
  36. package/{fesm2015/kendo-angular-icons.js → fesm2020/progress-kendo-angular-icons.mjs} +288 -57
  37. package/icon/icon.component.d.ts +1 -1
  38. package/icon-wrapper/icon-wrapper.component.d.ts +44 -0
  39. package/icon.module.d.ts +2 -2
  40. package/icons.module.d.ts +5 -4
  41. package/{main.d.ts → index.d.ts} +7 -2
  42. package/package-metadata.d.ts +1 -1
  43. package/package.json +27 -54
  44. package/{kendo-angular-icons.d.ts → progress-kendo-angular-icons.d.ts} +2 -2
  45. package/schematics/ngAdd/index.js +1 -5
  46. package/svg-icon/svg-icon.component.d.ts +1 -1
  47. package/svg-icon.module.d.ts +1 -1
  48. package/bundles/kendo-angular-icons.umd.js +0 -5
  49. package/schematics/ngAdd/index.js.map +0 -1
@@ -0,0 +1,622 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as i0 from '@angular/core';
6
+ import { Directive, HostBinding, Input, Component, isDevMode, InjectionToken, Injectable, Optional, Inject, NgModule } from '@angular/core';
7
+ import { isDocumentAvailable } from '@progress/kendo-angular-common';
8
+ import { validatePackage } from '@progress/kendo-licensing';
9
+ import * as i1 from '@angular/platform-browser';
10
+ import * as i4 from '@angular/common';
11
+ import { CommonModule } from '@angular/common';
12
+ import { Subject, BehaviorSubject, Subscription } from 'rxjs';
13
+ import { map, tap } from 'rxjs/operators';
14
+
15
+ /**
16
+ * @hidden
17
+ */
18
+ const packageMetadata = {
19
+ name: '@progress/kendo-angular-icons',
20
+ productName: 'Kendo UI for Angular',
21
+ productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
22
+ publishDate: 1673469086,
23
+ version: '',
24
+ licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
25
+ };
26
+
27
+ const sizeClasses = {
28
+ 'default': 'k-icon',
29
+ 'xsmall': 'k-icon-xs',
30
+ 'small': 'k-icon-sm',
31
+ 'medium': 'k-icon-md',
32
+ 'large': 'k-icon-lg',
33
+ 'xlarge': 'k-icon-xl'
34
+ };
35
+ /**
36
+ * @hidden
37
+ */
38
+ class IconBaseDirective {
39
+ constructor(element, renderer) {
40
+ this.element = element;
41
+ this.renderer = renderer;
42
+ validatePackage(packageMetadata);
43
+ }
44
+ get horizontalFlip() {
45
+ return this.flip === 'horizontal' || this.flip === 'both';
46
+ }
47
+ get verticalFlip() {
48
+ return this.flip === 'vertical' || this.flip === 'both';
49
+ }
50
+ /**
51
+ * Specifies the theme color for the Icon.
52
+ *
53
+ * The possible values are:
54
+ * * `inherit` (Default)—Applies coloring based on the current color.
55
+ * * `primary` —Applies coloring based on primary theme color.
56
+ * * `secondary`—Applies coloring based on secondary theme color.
57
+ * * `tertiary`— Applies coloring based on tertiary theme color.
58
+ * * `info`—Applies coloring based on info theme color.
59
+ * * `success`— Applies coloring based on success theme color.
60
+ * * `warning`— Applies coloring based on warning theme color.
61
+ * * `error`— Applies coloring based on error theme color.
62
+ * * `dark`— Applies coloring based on dark theme color.
63
+ * * `light`— Applies coloring based on light theme color.
64
+ * * `inverse`— Applies coloring based on inverse theme color.
65
+ *
66
+ */
67
+ set themeColor(themeColor) {
68
+ const element = this.element.nativeElement;
69
+ this._themeColor = themeColor;
70
+ this.renderer.removeClass(element, `k-color-${themeColor}`);
71
+ if (themeColor) {
72
+ this.renderer.addClass(element, `k-color-${themeColor}`);
73
+ }
74
+ }
75
+ get themeColor() {
76
+ return this._themeColor;
77
+ }
78
+ /**
79
+ * Specifies the size of the Icon.
80
+ *
81
+ * The possible values are:
82
+ * * `default` (Default) (Font-size: 16px; Width: 16px; Height: 16px)
83
+ * * `xsmall` (Font-size: 8px; Width: 8px; Height: 8px;)
84
+ * * `small` (Font-size: 12px; Width: 12px; Height: 12px;)
85
+ * * `medium` (Font-size: 32px; Width: 32px; Height: 32px;)
86
+ * * `large` (Font-size: 48px; Width: 48px; Height: 48px;)
87
+ * * `xlarge` (Font-size: 64px; Width: 64px; Height: 64px;)
88
+ *
89
+ */
90
+ set size(size) {
91
+ const currentClass = sizeClasses[this.size];
92
+ const newClass = sizeClasses[size];
93
+ const element = this.element.nativeElement;
94
+ this.renderer.removeClass(element, currentClass);
95
+ if (size && size !== 'default') {
96
+ this.renderer.addClass(element, newClass);
97
+ }
98
+ this._size = size;
99
+ }
100
+ get size() {
101
+ return this._size;
102
+ }
103
+ }
104
+ IconBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
105
+ IconBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: IconBaseDirective, 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 });
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconBaseDirective, decorators: [{
107
+ type: Directive,
108
+ args: [{
109
+ selector: '[kendoIconBase]'
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { horizontalFlip: [{
112
+ type: HostBinding,
113
+ args: ['class.k-flip-h']
114
+ }], verticalFlip: [{
115
+ type: HostBinding,
116
+ args: ['class.k-flip-v']
117
+ }], flip: [{
118
+ type: Input
119
+ }], themeColor: [{
120
+ type: Input
121
+ }], size: [{
122
+ type: Input
123
+ }] } });
124
+
125
+ /**
126
+ * Represents the Kendo UI Icon component for Angular.
127
+ */
128
+ class IconComponent extends IconBaseDirective {
129
+ constructor(element, renderer) {
130
+ super(element, renderer);
131
+ this.element = element;
132
+ this.renderer = renderer;
133
+ this.hostClass = true;
134
+ }
135
+ /**
136
+ * Defines the name for an existing icon in a Kendo UI theme, which will be rendered.
137
+ * All [Kendo UI Icons]({% slug icons %}#toc-list-of-font-icons) are supported.
138
+ */
139
+ set name(name) {
140
+ if (isDocumentAvailable()) {
141
+ const element = this.element.nativeElement;
142
+ this.renderer.removeClass(element, `k-i-${this.name}`);
143
+ this.renderer.addClass(element, `k-i-${name}`);
144
+ }
145
+ this._name = name;
146
+ }
147
+ get name() {
148
+ return this._name;
149
+ }
150
+ }
151
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
152
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: IconComponent, selector: "kendo-icon", inputs: { name: "name" }, host: { properties: { "class.k-icon": "this.hostClass" } }, exportAs: ["kendoIcon"], usesInheritance: true, ngImport: i0, template: '', isInline: true });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconComponent, decorators: [{
154
+ type: Component,
155
+ args: [{
156
+ exportAs: 'kendoIcon',
157
+ selector: 'kendo-icon',
158
+ template: ''
159
+ }]
160
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { hostClass: [{
161
+ type: HostBinding,
162
+ args: ['class.k-icon']
163
+ }], name: [{
164
+ type: Input
165
+ }] } });
166
+
167
+ /**
168
+ * Represents the Kendo UI SVG Icon component for Angular.
169
+ */
170
+ class SVGIconComponent extends IconBaseDirective {
171
+ constructor(domSanitizer, element, renderer) {
172
+ super(element, renderer);
173
+ this.domSanitizer = domSanitizer;
174
+ this.element = element;
175
+ this.renderer = renderer;
176
+ this.hostClass = true;
177
+ }
178
+ /**
179
+ * Defines the SVG icon, which will be rendered.
180
+ */
181
+ set icon(icon) {
182
+ const element = this.element.nativeElement;
183
+ const hasDocument = isDocumentAvailable();
184
+ if (this._icon && this._icon.name && hasDocument) {
185
+ this.renderer.removeClass(element, `k-svg-i-${this._icon.name}`);
186
+ }
187
+ this._icon = icon;
188
+ if (hasDocument) {
189
+ this.renderer.addClass(element, `k-svg-i-${this._icon.name}`);
190
+ }
191
+ }
192
+ get icon() {
193
+ return this._icon;
194
+ }
195
+ get content() {
196
+ return this.domSanitizer.bypassSecurityTrustHtml(this.icon.content);
197
+ }
198
+ get visible() {
199
+ return this.icon && isDocumentAvailable();
200
+ }
201
+ ngOnInit() {
202
+ this.verifyIconProperty();
203
+ }
204
+ verifyIconProperty() {
205
+ if (!isDevMode()) {
206
+ return;
207
+ }
208
+ if (!this._icon) {
209
+ throw new Error(`
210
+ Invalid configuration.
211
+ The input [icon] is required for the Kendo UI SVG Icon component for Angular.
212
+ See https://www.telerik.com/kendo-angular-ui/components/icons/svg-icon
213
+ `);
214
+ }
215
+ }
216
+ }
217
+ SVGIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SVGIconComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
218
+ SVGIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SVGIconComponent, selector: "kendo-svg-icon", inputs: { icon: "icon" }, host: { properties: { "class.k-svg-icon": "this.hostClass" } }, exportAs: ["kendoSVGIcon"], usesInheritance: true, ngImport: i0, template: `
219
+ <svg *ngIf="visible" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
220
+ [attr.viewBox]="icon.viewBox" [innerHTML]="content">
221
+ </svg>`, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SVGIconComponent, decorators: [{
223
+ type: Component,
224
+ args: [{
225
+ exportAs: 'kendoSVGIcon',
226
+ selector: 'kendo-svg-icon',
227
+ template: `
228
+ <svg *ngIf="visible" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
229
+ [attr.viewBox]="icon.viewBox" [innerHTML]="content">
230
+ </svg>`
231
+ }]
232
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { hostClass: [{
233
+ type: HostBinding,
234
+ args: ['class.k-svg-icon']
235
+ }], icon: [{
236
+ type: Input
237
+ }] } });
238
+
239
+ /**
240
+ * @hidden
241
+ */
242
+ const isPresent = (value) => value !== null && value !== undefined;
243
+
244
+ /**
245
+ * A token that specifies the icons [settings ('size', 'themeColor', 'flip')](appearance_svgicon) of Kendo UI for Angular components.
246
+ */
247
+ const ICON_SETTINGS = new InjectionToken('Kendo UI Icon-Settings token');
248
+
249
+ /**
250
+ * A service that returns the current icon settings to be used in subscribers.
251
+ * Use the public `notify` method to change the icon settings dynamically.
252
+ */
253
+ class IconSettingsService {
254
+ constructor() {
255
+ /**
256
+ * @hidden
257
+ */
258
+ this.changes = new Subject();
259
+ }
260
+ /**
261
+ * Notifies subscribers that the icon settings were changed.
262
+ *
263
+ * @param iconSettings - (Optional) A new value for the [icon settings token]({% slug api_icons_icon_settings %}).
264
+ */
265
+ notify(iconSettings) {
266
+ this.changes.next(iconSettings);
267
+ }
268
+ /**
269
+ * Returns the [`SVGIcon`](slug:api_icons_svgicon) object for the provided key.
270
+ * Override in a custom service to provide custom SVG icons.
271
+ *
272
+ * @hidden
273
+ */
274
+ getSvgIcon(_name) {
275
+ return null;
276
+ }
277
+ /**
278
+ * Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
279
+ * Override in a custom service to provide classes for custom font icons.
280
+ *
281
+ * @hidden
282
+ */
283
+ getCustomFontIconClass(_key) {
284
+ return null;
285
+ }
286
+ }
287
+ IconSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
288
+ IconSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconSettingsService });
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconSettingsService, decorators: [{
290
+ type: Injectable
291
+ }] });
292
+
293
+ /**
294
+ * @hidden
295
+ */
296
+ class IconsService {
297
+ constructor(_iconSettings, iconSettingsService) {
298
+ this._iconSettings = _iconSettings;
299
+ this.iconSettingsService = iconSettingsService;
300
+ /**
301
+ * Notifies subscribers of the initial icon settings, and upon each call to `notify`.
302
+ */
303
+ this.changes = new BehaviorSubject(this.iconSettings || { type: 'font' });
304
+ this.subs = new Subscription();
305
+ if (iconSettingsService) {
306
+ this.subs.add(iconSettingsService.changes
307
+ .pipe(map(iconSettings => isPresent(iconSettings) ? iconSettings : this._iconSettings), tap(iconSettings => this._iconSettings = iconSettings))
308
+ .subscribe(iconSettings => this.changes.next(iconSettings)));
309
+ }
310
+ }
311
+ /**
312
+ * @hidden
313
+ */
314
+ get iconSettings() {
315
+ return this._iconSettings;
316
+ }
317
+ ngOnDestroy() {
318
+ this.subs.unsubscribe();
319
+ }
320
+ /**
321
+ * Returns the [`SVGIcon`](slug:api_icons_svgicon) object for the provided key.
322
+ * Override in a custom service to provide custom SVG icons.
323
+ */
324
+ getSvgIcon(name) {
325
+ const customIcon = this.iconSettingsService && this.iconSettingsService.getSvgIcon(name);
326
+ return customIcon;
327
+ }
328
+ /**
329
+ * Returns the list of classes to be rendered on the host `SPAN` element of custom font icons.
330
+ * Override in a custom service to provide classes for custom font icons.
331
+ */
332
+ getCustomFontIconClass(key) {
333
+ const customClass = this.iconSettingsService && this.iconSettingsService.getCustomFontIconClass(key);
334
+ return customClass;
335
+ }
336
+ }
337
+ IconsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsService, deps: [{ token: ICON_SETTINGS, optional: true }, { token: IconSettingsService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
338
+ IconsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsService });
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsService, decorators: [{
340
+ type: Injectable
341
+ }], ctorParameters: function () {
342
+ return [{ type: undefined, decorators: [{
343
+ type: Optional
344
+ }, {
345
+ type: Inject,
346
+ args: [ICON_SETTINGS]
347
+ }] }, { type: IconSettingsService, decorators: [{
348
+ type: Optional
349
+ }] }];
350
+ } });
351
+
352
+ /**
353
+ * @hidden
354
+ */
355
+ class IconWrapperComponent {
356
+ constructor(iconsService) {
357
+ this.iconsService = iconsService;
358
+ this.hostClass = true;
359
+ /**
360
+ * Provided by consuming components in case an additional k-specific class needs to be rendered
361
+ * on the internal Icon component.
362
+ */
363
+ this.innerCssClass = '';
364
+ /**
365
+ * Provided by consuming components in case a custom font icon class is set
366
+ * by the developer using the consuming component through its API.
367
+ */
368
+ this.customFontClass = '';
369
+ this.subs = new Subscription();
370
+ this.subs = iconsService.changes.subscribe(iconSettings => {
371
+ this.iconSettings = iconSettings;
372
+ });
373
+ }
374
+ get customClasses() {
375
+ const classes = [this.customFontClass, this.innerCssClass].filter(cl => !!cl).join(' ');
376
+ return classes;
377
+ }
378
+ get getSvgIcon() {
379
+ return this.iconsService.getSvgIcon(this.name) || this.svgIcon;
380
+ }
381
+ get customFontIconClass() {
382
+ return this.iconsService.getCustomFontIconClass(this.name) || this.customFontClass;
383
+ }
384
+ ngOnDestroy() {
385
+ this.subs.unsubscribe();
386
+ }
387
+ }
388
+ IconWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconWrapperComponent, deps: [{ token: IconsService }], target: i0.ɵɵFactoryTarget.Component });
389
+ IconWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: { name: "name", svgIcon: "svgIcon", innerCssClass: "innerCssClass", customFontClass: "customFontClass" }, host: { properties: { "class.k-icon-wrapper-host": "this.hostClass" } }, exportAs: ["kendoIconWrapper"], ngImport: i0, template: `
390
+ <kendo-svg-icon
391
+ *ngIf="iconSettings?.type === 'svg'; else font"
392
+ [ngClass]="innerCssClass"
393
+ [icon]="getSvgIcon"
394
+ [size]="iconSettings?.size"
395
+ [themeColor]="iconSettings?.themeColor"
396
+ [flip]="iconSettings?.flip"></kendo-svg-icon>
397
+ <ng-template #font>
398
+ <kendo-icon
399
+ *ngIf="!customFontIconClass; else custom"
400
+ [ngClass]="innerCssClass"
401
+ [name]="name"
402
+ [size]="iconSettings?.size"
403
+ [themeColor]="iconSettings?.themeColor"
404
+ [flip]="iconSettings?.flip"></kendo-icon>
405
+ <ng-template #custom>
406
+ <span [ngClass]="customClasses"></span>
407
+ </ng-template>
408
+ </ng-template>
409
+ `, isInline: true, components: [{ type: SVGIconComponent, selector: "kendo-svg-icon", inputs: ["icon"], exportAs: ["kendoSVGIcon"] }, { type: IconComponent, selector: "kendo-icon", inputs: ["name"], exportAs: ["kendoIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconWrapperComponent, decorators: [{
411
+ type: Component,
412
+ args: [{
413
+ exportAs: 'kendoIconWrapper',
414
+ selector: 'kendo-icon-wrapper',
415
+ template: `
416
+ <kendo-svg-icon
417
+ *ngIf="iconSettings?.type === 'svg'; else font"
418
+ [ngClass]="innerCssClass"
419
+ [icon]="getSvgIcon"
420
+ [size]="iconSettings?.size"
421
+ [themeColor]="iconSettings?.themeColor"
422
+ [flip]="iconSettings?.flip"></kendo-svg-icon>
423
+ <ng-template #font>
424
+ <kendo-icon
425
+ *ngIf="!customFontIconClass; else custom"
426
+ [ngClass]="innerCssClass"
427
+ [name]="name"
428
+ [size]="iconSettings?.size"
429
+ [themeColor]="iconSettings?.themeColor"
430
+ [flip]="iconSettings?.flip"></kendo-icon>
431
+ <ng-template #custom>
432
+ <span [ngClass]="customClasses"></span>
433
+ </ng-template>
434
+ </ng-template>
435
+ `
436
+ }]
437
+ }], ctorParameters: function () { return [{ type: IconsService }]; }, propDecorators: { hostClass: [{
438
+ type: HostBinding,
439
+ args: ['class.k-icon-wrapper-host']
440
+ }], name: [{
441
+ type: Input
442
+ }], svgIcon: [{
443
+ type: Input
444
+ }], innerCssClass: [{
445
+ type: Input
446
+ }], customFontClass: [{
447
+ type: Input
448
+ }] } });
449
+
450
+ const exportedModules$2 = [
451
+ IconComponent
452
+ ];
453
+ const declarations$2 = [
454
+ ...exportedModules$2
455
+ ];
456
+ /**
457
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
458
+ * definition for the Icon component.
459
+ *
460
+ * @example
461
+ *
462
+ * ```ts-no-run
463
+ * // Import the Icon module
464
+ * import { IconModule } from '@progress/kendo-angular-icons';
465
+ *
466
+ * // The browser platform with a compiler
467
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
468
+ *
469
+ * import { NgModule } from '@angular/core';
470
+ *
471
+ * // Import the app component
472
+ * import { AppComponent } from './app.component';
473
+ *
474
+ * // Define the app module
475
+ * _@NgModule({
476
+ * declarations: [AppComponent], // declare app component
477
+ * imports: [BrowserModule, IconModule], // import Icon module
478
+ * bootstrap: [AppComponent]
479
+ * })
480
+ * export class AppModule {}
481
+ *
482
+ * // Compile and launch the module
483
+ * platformBrowserDynamic().bootstrapModule(AppModule);
484
+ *
485
+ * ```
486
+ */
487
+ class IconModule {
488
+ }
489
+ IconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
490
+ IconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconModule, declarations: [IconComponent], imports: [CommonModule], exports: [IconComponent, CommonModule] });
491
+ IconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconModule, imports: [[CommonModule], CommonModule] });
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconModule, decorators: [{
493
+ type: NgModule,
494
+ args: [{
495
+ declarations: [declarations$2],
496
+ exports: [exportedModules$2, CommonModule],
497
+ imports: [CommonModule]
498
+ }]
499
+ }] });
500
+
501
+ const exportedModules$1 = [
502
+ SVGIconComponent
503
+ ];
504
+ const declarations$1 = [
505
+ ...exportedModules$1
506
+ ];
507
+ /**
508
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
509
+ * definition for the SVG Icon component.
510
+ *
511
+ * @example
512
+ *
513
+ * ```ts-no-run
514
+ * // Import the SVG Icon module
515
+ * import { SVGIconModule } from '@progress/kendo-angular-icons';
516
+ *
517
+ * // The browser platform with a compiler
518
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
519
+ *
520
+ * import { NgModule } from '@angular/core';
521
+ *
522
+ * // Import the app component
523
+ * import { AppComponent } from './app.component';
524
+ *
525
+ * // Define the app module
526
+ * _@NgModule({
527
+ * declarations: [AppComponent], // declare app component
528
+ * imports: [BrowserModule, SVGIconModule], // import SVG Icon module
529
+ * bootstrap: [AppComponent]
530
+ * })
531
+ * export class AppModule {}
532
+ *
533
+ * // Compile and launch the module
534
+ * platformBrowserDynamic().bootstrapModule(AppModule);
535
+ *
536
+ * ```
537
+ */
538
+ class SVGIconModule {
539
+ }
540
+ SVGIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SVGIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
541
+ SVGIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SVGIconModule, declarations: [SVGIconComponent], imports: [CommonModule], exports: [SVGIconComponent] });
542
+ SVGIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SVGIconModule, imports: [[CommonModule]] });
543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SVGIconModule, decorators: [{
544
+ type: NgModule,
545
+ args: [{
546
+ declarations: [declarations$1],
547
+ exports: [exportedModules$1],
548
+ imports: [CommonModule]
549
+ }]
550
+ }] });
551
+
552
+ const exportedModules = [
553
+ IconWrapperComponent
554
+ ];
555
+ const declarations = [
556
+ ...exportedModules
557
+ ];
558
+ /**
559
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
560
+ * definition for the Icons components.
561
+ *
562
+ * @example
563
+ *
564
+ * ```ts-no-run
565
+ * // Import the Icons module
566
+ * import { IconsModule } from '@progress/kendo-angular-icons';
567
+ *
568
+ * // The browser platform with a compiler
569
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
570
+ *
571
+ * import { NgModule } from '@angular/core';
572
+ *
573
+ * // Import the app component
574
+ * import { AppComponent } from './app.component';
575
+ *
576
+ * // Define the app module
577
+ * _@NgModule({
578
+ * declarations: [AppComponent], // declare app component
579
+ * imports: [BrowserModule, IconsModule], // import Icons module
580
+ * bootstrap: [AppComponent]
581
+ * })
582
+ * export class AppModule {}
583
+ *
584
+ * // Compile and launch the module
585
+ * platformBrowserDynamic().bootstrapModule(AppModule);
586
+ *
587
+ * ```
588
+ */
589
+ class IconsModule {
590
+ }
591
+ IconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
592
+ IconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsModule, declarations: [IconWrapperComponent], imports: [IconModule,
593
+ SVGIconModule], exports: [IconModule,
594
+ SVGIconModule, IconWrapperComponent] });
595
+ IconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsModule, providers: [IconsService], imports: [[
596
+ IconModule,
597
+ SVGIconModule
598
+ ], IconModule,
599
+ SVGIconModule] });
600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: IconsModule, decorators: [{
601
+ type: NgModule,
602
+ args: [{
603
+ declarations,
604
+ imports: [
605
+ IconModule,
606
+ SVGIconModule
607
+ ],
608
+ exports: [
609
+ IconModule,
610
+ SVGIconModule,
611
+ exportedModules
612
+ ],
613
+ providers: [IconsService]
614
+ }]
615
+ }] });
616
+
617
+ /**
618
+ * Generated bundle index. Do not edit.
619
+ */
620
+
621
+ export { ICON_SETTINGS, IconComponent, IconModule, IconSettingsService, IconWrapperComponent, IconsModule, IconsService, SVGIconComponent, SVGIconModule };
622
+