@coreui/icons-angular 3.0.0-alpha.2 → 3.0.0

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 (25) hide show
  1. package/README.md +59 -24
  2. package/{esm2015/coreui-icons-angular.js → esm2020/coreui-icons-angular.mjs} +0 -0
  3. package/esm2020/lib/icon/icon.component.mjs +110 -0
  4. package/esm2020/lib/icon/icon.directive.mjs +127 -0
  5. package/{esm2015/lib/icon/icon.interface.js → esm2020/lib/icon/icon.interface.mjs} +0 -0
  6. package/{esm2015/lib/icon/icon.module.js → esm2020/lib/icon/icon.module.mjs} +5 -5
  7. package/{esm2015/lib/icon-set/icon-set.module.js → esm2020/lib/icon-set/icon-set.module.mjs} +5 -5
  8. package/esm2020/lib/icon-set/icon-set.service.mjs +37 -0
  9. package/{esm2015/lib/icon-set/index.js → esm2020/lib/icon-set/index.mjs} +0 -0
  10. package/{esm2015/lib/icon-set/public_api.js → esm2020/lib/icon-set/public_api.mjs} +0 -0
  11. package/{esm2015/lib/shared/html-attr.directive.js → esm2020/lib/shared/html-attr.directive.mjs} +4 -4
  12. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  13. package/fesm2015/{coreui-icons-angular.js → coreui-icons-angular.mjs} +44 -33
  14. package/fesm2015/coreui-icons-angular.mjs.map +1 -0
  15. package/fesm2020/coreui-icons-angular.mjs +393 -0
  16. package/fesm2020/coreui-icons-angular.mjs.map +1 -0
  17. package/lib/icon/icon.directive.d.ts +2 -1
  18. package/lib/icon-set/icon-set.service.d.ts +5 -1
  19. package/package.json +22 -9
  20. package/bundles/coreui-icons-angular.umd.js +0 -511
  21. package/bundles/coreui-icons-angular.umd.js.map +0 -1
  22. package/esm2015/lib/icon/icon.component.js +0 -117
  23. package/esm2015/lib/icon/icon.directive.js +0 -125
  24. package/esm2015/lib/icon-set/icon-set.service.js +0 -30
  25. package/fesm2015/coreui-icons-angular.js.map +0 -1
@@ -0,0 +1,393 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, NgModule, Optional, SkipSelf, Directive, Input, HostBinding, ElementRef, Component, ViewChild } from '@angular/core';
3
+ import * as i1 from '@angular/platform-browser';
4
+ import * as i3 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+
7
+ class IconSetService {
8
+ constructor() {
9
+ this._iconNames = {};
10
+ this._icons = {};
11
+ }
12
+ get iconNames() {
13
+ return this._iconNames;
14
+ }
15
+ ;
16
+ get icons() {
17
+ return this._icons;
18
+ }
19
+ set icons(iconSet) {
20
+ for (const iconsKey in iconSet) {
21
+ this._iconNames[iconsKey] = iconsKey;
22
+ }
23
+ this._icons = iconSet;
24
+ }
25
+ getIcon(name) {
26
+ const icon = this.icons[name];
27
+ if (!icon) {
28
+ console.warn(`CoreUI WARN: Icon ${name} is not registered in IconService`);
29
+ }
30
+ return this.icons[name];
31
+ }
32
+ }
33
+ IconSetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ IconSetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetService, providedIn: 'root' });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root'
39
+ }]
40
+ }], ctorParameters: function () { return []; } });
41
+
42
+ class IconSetModule {
43
+ constructor(parentModule) {
44
+ if (parentModule) {
45
+ throw new Error('CoreUI IconSetModule is already loaded. Import it in the AppModule only');
46
+ }
47
+ }
48
+ static forRoot() {
49
+ return {
50
+ ngModule: IconSetModule,
51
+ providers: [
52
+ { provide: IconSetService }
53
+ ]
54
+ };
55
+ }
56
+ }
57
+ IconSetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetModule, deps: [{ token: IconSetModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
58
+ IconSetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetModule, imports: [CommonModule] });
59
+ IconSetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetModule, providers: [
60
+ IconSetService
61
+ ], imports: [[
62
+ CommonModule
63
+ ]] });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconSetModule, decorators: [{
65
+ type: NgModule,
66
+ args: [{
67
+ imports: [
68
+ CommonModule
69
+ ],
70
+ providers: [
71
+ IconSetService
72
+ ]
73
+ }]
74
+ }], ctorParameters: function () { return [{ type: IconSetModule, decorators: [{
75
+ type: Optional
76
+ }, {
77
+ type: SkipSelf
78
+ }] }]; } });
79
+
80
+ class IconDirective {
81
+ constructor(renderer, elementRef, sanitizer, iconSet) {
82
+ this.renderer = renderer;
83
+ this.elementRef = elementRef;
84
+ this.sanitizer = sanitizer;
85
+ this.iconSet = iconSet;
86
+ this.size = '';
87
+ this.xmlns = 'http://www.w3.org/2000/svg';
88
+ this.pointerEvents = 'none';
89
+ this.role = 'img';
90
+ }
91
+ set name(name) {
92
+ this._name = name?.includes('-') ? this.toCamelCase(name) : name;
93
+ }
94
+ get name() {
95
+ return this._name;
96
+ }
97
+ set viewBox(viewBox) {
98
+ this._viewBox = viewBox;
99
+ }
100
+ get viewBox() {
101
+ return this._viewBox ?? this.scale;
102
+ }
103
+ get hostClasses() {
104
+ const classes = {
105
+ icon: true,
106
+ [`icon-${this.computedSize}`]: !!this.computedSize
107
+ };
108
+ return this.customClasses ?? classes;
109
+ }
110
+ get innerHtml() {
111
+ const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
112
+ // todo proper sanitize
113
+ // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
114
+ return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
115
+ }
116
+ get titleCode() {
117
+ return this.title ? `<title>${this.title}</title>` : '';
118
+ }
119
+ get code() {
120
+ if (this.content) {
121
+ return this.content;
122
+ }
123
+ if (this.iconSet && this.name) {
124
+ return this.iconSet.getIcon(this.name);
125
+ }
126
+ if (this.name && !this.iconSet?.icons[this.name])
127
+ console.warn(`c-icon component: icon name '${this.name}' does not exist for IconSet service. ` +
128
+ `To use icon by 'name' prop you need to add it to IconSet service. \n`, this.name);
129
+ return undefined;
130
+ }
131
+ get scale() {
132
+ return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';
133
+ }
134
+ get computedSize() {
135
+ const addCustom = !this.size && (this.width || this.height);
136
+ return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
137
+ }
138
+ get computedClasses() {
139
+ const classes = {
140
+ icon: true,
141
+ [`icon-${this.computedSize}`]: !!this.computedSize
142
+ };
143
+ return !!this.customClasses ? this.customClasses : classes;
144
+ }
145
+ toCamelCase(str) {
146
+ return str.replace(/([-_][a-z0-9])/ig, ($1) => {
147
+ return $1.toUpperCase().replace('-', '');
148
+ });
149
+ }
150
+ }
151
+ IconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconSetService }], target: i0.ɵɵFactoryTarget.Directive });
152
+ IconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: IconDirective, selector: "svg[cIcon]", inputs: { content: ["cIcon", "content"], size: "size", title: "title", customClasses: "customClasses", width: "width", height: "height", name: "name", viewBox: "viewBox", xmlns: "xmlns", pointerEvents: ["pointer-events", "pointerEvents"], role: "role" }, host: { properties: { "attr.viewBox": "this.viewBox", "attr.xmlns": "this.xmlns", "attr.pointer-events": "this.pointerEvents", "attr.role": "this.role", "class": "this.hostClasses", "innerHtml": "this.innerHtml" } }, exportAs: ["cIcon"], ngImport: i0 });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconDirective, decorators: [{
154
+ type: Directive,
155
+ args: [{
156
+ selector: 'svg[cIcon]',
157
+ exportAs: 'cIcon'
158
+ }]
159
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconSetService }]; }, propDecorators: { content: [{
160
+ type: Input,
161
+ args: ['cIcon']
162
+ }], size: [{
163
+ type: Input
164
+ }], title: [{
165
+ type: Input
166
+ }], customClasses: [{
167
+ type: Input
168
+ }], width: [{
169
+ type: Input
170
+ }], height: [{
171
+ type: Input
172
+ }], name: [{
173
+ type: Input
174
+ }], viewBox: [{
175
+ type: HostBinding,
176
+ args: ['attr.viewBox']
177
+ }, {
178
+ type: Input
179
+ }], xmlns: [{
180
+ type: HostBinding,
181
+ args: ['attr.xmlns']
182
+ }, {
183
+ type: Input
184
+ }], pointerEvents: [{
185
+ type: HostBinding,
186
+ args: ['attr.pointer-events']
187
+ }, {
188
+ type: Input,
189
+ args: ['pointer-events']
190
+ }], role: [{
191
+ type: HostBinding,
192
+ args: ['attr.role']
193
+ }, {
194
+ type: Input
195
+ }], hostClasses: [{
196
+ type: HostBinding,
197
+ args: ['class']
198
+ }], innerHtml: [{
199
+ type: HostBinding,
200
+ args: ['innerHtml']
201
+ }] } });
202
+
203
+ class HtmlAttributesDirective {
204
+ constructor(renderer, el) {
205
+ this.renderer = renderer;
206
+ this.el = el;
207
+ }
208
+ ngOnInit() {
209
+ const attribs = this.cHtmlAttr;
210
+ for (const attr in attribs) {
211
+ if (attr === 'style' && typeof (attribs[attr]) === 'object') {
212
+ this.setStyle(attribs[attr]);
213
+ }
214
+ else if (attr === 'class') {
215
+ this.addClass(attribs[attr]);
216
+ }
217
+ else {
218
+ this.setAttrib(attr, attribs[attr]);
219
+ }
220
+ }
221
+ }
222
+ setStyle(styles) {
223
+ // tslint:disable-next-line:forin
224
+ for (const style in styles) {
225
+ this.renderer.setStyle(this.el.nativeElement, style, styles[style]);
226
+ }
227
+ }
228
+ addClass(classes) {
229
+ const classArray = (Array.isArray(classes) ? classes : classes.split(' '));
230
+ classArray.filter((element) => element.length > 0).forEach(element => {
231
+ this.renderer.addClass(this.el.nativeElement, element);
232
+ });
233
+ }
234
+ setAttrib(key, value) {
235
+ value !== null ?
236
+ this.renderer.setAttribute(this.el.nativeElement, key, value) :
237
+ this.renderer.removeAttribute(this.el.nativeElement, key);
238
+ }
239
+ }
240
+ HtmlAttributesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: HtmlAttributesDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
241
+ HtmlAttributesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: "cHtmlAttr" }, exportAs: ["cHtmlAttr"], ngImport: i0 });
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
243
+ type: Directive,
244
+ args: [{
245
+ selector: '[cHtmlAttr]',
246
+ exportAs: 'cHtmlAttr'
247
+ }]
248
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { cHtmlAttr: [{
249
+ type: Input
250
+ }] } });
251
+
252
+ class IconComponent {
253
+ constructor(renderer, elementRef, sanitizer, iconSet) {
254
+ this.renderer = renderer;
255
+ this.elementRef = elementRef;
256
+ this.sanitizer = sanitizer;
257
+ this.iconSet = iconSet;
258
+ this.attributes = { role: 'img' };
259
+ this.size = '';
260
+ this.use = '';
261
+ this.customClasses = '';
262
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
263
+ }
264
+ set name(name) {
265
+ this._name = name.includes('-') ? this.toCamelCase(name) : name;
266
+ }
267
+ get name() {
268
+ return this._name;
269
+ }
270
+ set viewBox(viewBox) {
271
+ this._viewBox = viewBox;
272
+ }
273
+ get viewBox() {
274
+ return this._viewBox ?? this.scale;
275
+ }
276
+ get innerHtml() {
277
+ const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
278
+ // todo proper sanitize
279
+ // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
280
+ return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
281
+ }
282
+ ngAfterViewInit() {
283
+ this.elementRef.nativeElement.classList.forEach((item) => {
284
+ this.renderer.addClass(this.svgElementRef.nativeElement, item);
285
+ });
286
+ const parentElement = this.renderer.parentNode(this.elementRef.nativeElement);
287
+ const svgElement = this.svgElementRef.nativeElement;
288
+ this.renderer.insertBefore(parentElement, svgElement, this.elementRef.nativeElement);
289
+ this.renderer.removeChild(parentElement, this.elementRef.nativeElement);
290
+ }
291
+ get titleCode() {
292
+ return this.title ? `<title>${this.title}</title>` : '';
293
+ }
294
+ get code() {
295
+ if (this.content) {
296
+ return this.content;
297
+ }
298
+ if (this.iconSet && this.name) {
299
+ return this.iconSet.getIcon(this.name);
300
+ }
301
+ if (this.name && !this.iconSet?.icons[this.name])
302
+ console.warn(`c-icon component: icon name '${this.name}' does not exist for IconSet service. ` +
303
+ `To use icon by 'name' prop you need to add it to IconSet service. \n`, this.name);
304
+ return undefined;
305
+ }
306
+ get scale() {
307
+ return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';
308
+ }
309
+ get computedSize() {
310
+ const addCustom = !this.size && (this.width || this.height);
311
+ return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
312
+ }
313
+ get computedClasses() {
314
+ const classes = {
315
+ icon: true,
316
+ [`icon-${this.computedSize}`]: !!this.computedSize
317
+ };
318
+ return !!this.customClasses ? this.customClasses : classes;
319
+ }
320
+ toCamelCase(str) {
321
+ return str.replace(/([-_][a-z0-9])/ig, ($1) => {
322
+ return $1.toUpperCase().replace('-', '');
323
+ });
324
+ }
325
+ }
326
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: IconSetService }], target: i0.ɵɵFactoryTarget.Component });
327
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: IconComponent, selector: "c-icon", inputs: { attributes: "attributes", content: "content", size: "size", title: "title", use: "use", customClasses: "customClasses", width: "width", height: "height", name: "name", viewBox: "viewBox" }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<svg *ngIf=\"(!use) && (!!code)\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [attr.viewBox]=\"viewBox\"\r\n [innerHtml]=\"innerHtml\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n #svgElement\r\n>\r\n</svg>\r\n\r\n<svg *ngIf=\"use\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n>\r\n <use [attr.href]=\"use\"></use>\r\n</svg>\r\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] });
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconComponent, decorators: [{
329
+ type: Component,
330
+ args: [{ selector: 'c-icon', template: "<svg *ngIf=\"(!use) && (!!code)\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [attr.viewBox]=\"viewBox\"\r\n [innerHtml]=\"innerHtml\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n #svgElement\r\n>\r\n</svg>\r\n\r\n<svg *ngIf=\"use\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n>\r\n <use [attr.href]=\"use\"></use>\r\n</svg>\r\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"] }]
331
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: IconSetService }]; }, propDecorators: { attributes: [{
332
+ type: Input
333
+ }], content: [{
334
+ type: Input
335
+ }], size: [{
336
+ type: Input
337
+ }], title: [{
338
+ type: Input
339
+ }], use: [{
340
+ type: Input
341
+ }], customClasses: [{
342
+ type: Input
343
+ }], width: [{
344
+ type: Input
345
+ }], height: [{
346
+ type: Input
347
+ }], name: [{
348
+ type: Input
349
+ }], viewBox: [{
350
+ type: Input
351
+ }], svgElementRef: [{
352
+ type: ViewChild,
353
+ args: ['svgElement', { read: ElementRef }]
354
+ }] } });
355
+
356
+ class IconModule {
357
+ }
358
+ IconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
359
+ IconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconModule, declarations: [IconComponent,
360
+ HtmlAttributesDirective,
361
+ IconDirective], imports: [CommonModule], exports: [IconComponent,
362
+ IconDirective] });
363
+ IconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconModule, imports: [[
364
+ CommonModule,
365
+ ]] });
366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: IconModule, decorators: [{
367
+ type: NgModule,
368
+ args: [{
369
+ declarations: [
370
+ IconComponent,
371
+ HtmlAttributesDirective,
372
+ IconDirective
373
+ ],
374
+ imports: [
375
+ CommonModule,
376
+ ],
377
+ exports: [
378
+ IconComponent,
379
+ IconDirective
380
+ ],
381
+ }]
382
+ }] });
383
+
384
+ /*
385
+ * Public API Surface of @coreui/icons-angular
386
+ */
387
+
388
+ /**
389
+ * Generated bundle index. Do not edit.
390
+ */
391
+
392
+ export { IconComponent, IconDirective, IconModule, IconSetModule, IconSetService };
393
+ //# sourceMappingURL=coreui-icons-angular.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coreui-icons-angular.mjs","sources":["../../../projects/coreui-icons-angular/src/lib/icon-set/icon-set.service.ts","../../../projects/coreui-icons-angular/src/lib/icon-set/icon-set.module.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.directive.ts","../../../projects/coreui-icons-angular/src/lib/shared/html-attr.directive.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.component.ts","../../../projects/coreui-icons-angular/src/lib/icon/icon.component.svg","../../../projects/coreui-icons-angular/src/lib/icon/icon.module.ts","../../../projects/coreui-icons-angular/src/public-api.ts","../../../projects/coreui-icons-angular/src/coreui-icons-angular.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nexport interface IIconSet {\r\n [iconName: string]: string[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class IconSetService {\r\n\r\n constructor() {}\r\n\r\n public get iconNames() {\r\n return this._iconNames;\r\n };\r\n private _iconNames: { [key: string]: string } = {};\r\n\r\n get icons(): IIconSet {\r\n return this._icons;\r\n }\r\n set icons(iconSet) {\r\n for (const iconsKey in iconSet) {\r\n this._iconNames[iconsKey] = iconsKey;\r\n }\r\n this._icons = iconSet;\r\n }\r\n private _icons: IIconSet = {};\r\n\r\n public getIcon(name: string): string[] {\r\n const icon = this.icons[name];\r\n if (!icon) {\r\n console.warn(`CoreUI WARN: Icon ${name} is not registered in IconService`);\r\n }\r\n return this.icons[name];\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { IconSetService } from './icon-set.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n IconSetService\r\n ]\r\n})\r\nexport class IconSetModule {\r\n constructor(@Optional() @SkipSelf() parentModule?: IconSetModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'CoreUI IconSetModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n\r\n static forRoot(): ModuleWithProviders<IconSetModule> {\r\n return {\r\n ngModule: IconSetModule,\r\n providers: [\r\n { provide: IconSetService }\r\n ]\r\n };\r\n }\r\n}\r\n","import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { IconSetService } from '../icon-set';\n\nimport { IconSize, IIcon } from './icon.interface';\n\n@Directive({\n selector: 'svg[cIcon]',\n exportAs: 'cIcon'\n})\nexport class IconDirective implements IIcon {\n\n @Input('cIcon') content?: string | string[] | any[];\n @Input() size: IconSize = '';\n @Input() title?: string;\n @Input() customClasses?: string | string[] | Set<string> | { [klass: string]: any };\n @Input() width?: string;\n @Input() height?: string;\n\n @Input()\n set name(name: string) {\n this._name = name?.includes('-') ? this.toCamelCase(name) : name;\n }\n get name(): string {\n return this._name;\n }\n private _name!: string;\n\n @HostBinding('attr.viewBox')\n @Input()\n set viewBox(viewBox: string) {\n this._viewBox = viewBox;\n }\n get viewBox(): string {\n return this._viewBox ?? this.scale;\n }\n private _viewBox!: string;\n\n @HostBinding('attr.xmlns')\n @Input() xmlns = 'http://www.w3.org/2000/svg';\n\n @HostBinding('attr.pointer-events')\n @Input('pointer-events') pointerEvents = 'none';\n\n @HostBinding('attr.role')\n @Input() role = 'img';\n\n @HostBinding('class')\n get hostClasses() {\n const classes = {\n icon: true,\n [`icon-${this.computedSize}`]: !!this.computedSize\n };\n return this.customClasses ?? classes;\n }\n\n @HostBinding('innerHtml')\n get innerHtml() {\n const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';\n // todo proper sanitize\n // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);\n return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');\n }\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n private sanitizer: DomSanitizer,\n private iconSet: IconSetService\n ) { }\n\n get titleCode(): string {\n return this.title ? `<title>${this.title}</title>` : '';\n }\n\n get code(): string | string[] | undefined {\n if (this.content) {\n return this.content;\n }\n if (this.iconSet && this.name) {\n return this.iconSet.getIcon(this.name);\n }\n if (this.name && !this.iconSet?.icons[this.name])\n console.warn(`c-icon component: icon name '${this.name}' does not exist for IconSet service. ` +\n `To use icon by 'name' prop you need to add it to IconSet service. \\n`,\n this.name\n );\n return undefined;\n }\n\n get scale(): string {\n return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';\n }\n\n get computedSize(): Exclude<IconSize, 'custom'> | undefined {\n const addCustom = !this.size && (this.width || this.height);\n return this.size === 'custom' || addCustom ? 'custom-size' : this.size;\n }\n\n get computedClasses(): any {\n const classes = {\n icon: true,\n [`icon-${this.computedSize}`]: !!this.computedSize\n };\n return !!this.customClasses ? this.customClasses : classes;\n }\n\n toCamelCase(str: string): any {\n return str.replace(/([-_][a-z0-9])/ig, ($1: string) => {\n return $1.toUpperCase().replace('-', '');\n });\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cHtmlAttr]',\r\n exportAs: 'cHtmlAttr'\r\n})\r\nexport class HtmlAttributesDirective implements OnInit {\r\n\r\n @Input() cHtmlAttr?: { [key: string]: any };\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private el: ElementRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n const attribs = this.cHtmlAttr;\r\n for (const attr in attribs) {\r\n if (attr === 'style' && typeof (attribs[attr]) === 'object') {\r\n this.setStyle(attribs[attr]);\r\n } else if (attr === 'class') {\r\n this.addClass(attribs[attr]);\r\n } else {\r\n this.setAttrib(attr, attribs[attr]);\r\n }\r\n }\r\n }\r\n\r\n private setStyle(styles: any): void {\r\n // tslint:disable-next-line:forin\r\n for (const style in styles) {\r\n this.renderer.setStyle(this.el.nativeElement, style, styles[style]);\r\n }\r\n }\r\n\r\n private addClass(classes: string | string[]): void {\r\n const classArray = (Array.isArray(classes) ? classes : classes.split(' '));\r\n classArray.filter((element) => element.length > 0).forEach(element => {\r\n this.renderer.addClass(this.el.nativeElement, element);\r\n });\r\n }\r\n\r\n private setAttrib(key: string, value: string | null): void {\r\n value !== null ?\r\n this.renderer.setAttribute(this.el.nativeElement, key, value) :\r\n this.renderer.removeAttribute(this.el.nativeElement, key);\r\n }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, Input, Renderer2, ViewChild } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { IconSetService } from '../icon-set/icon-set.service';\r\nimport { IconSize, IIcon } from './icon.interface';\r\n\r\n@Component({\r\n selector: 'c-icon',\r\n templateUrl: './icon.component.svg',\r\n styleUrls: ['./icon.component.scss']\r\n})\r\nexport class IconComponent implements IIcon, AfterViewInit {\r\n\r\n @Input() attributes: any = {role: 'img'};\r\n @Input() content?: string | string[] | any[];\r\n @Input() size: IconSize = '';\r\n @Input() title?: string;\r\n @Input() use = '';\r\n @Input() customClasses?: string | string[] | Set<string> | { [klass: string]: any } = '';\r\n @Input() width?: string;\r\n @Input() height?: string;\r\n\r\n @Input()\r\n set name(name: string) {\r\n this._name = name.includes('-') ? this.toCamelCase(name) : name;\r\n }\r\n get name(): string {\r\n return this._name;\r\n }\r\n private _name!: string;\r\n\r\n @Input()\r\n set viewBox(viewBox: string) {\r\n this._viewBox = viewBox;\r\n }\r\n get viewBox(): string {\r\n return this._viewBox ?? this.scale;\r\n }\r\n private _viewBox!: string;\r\n\r\n @ViewChild('svgElement', {read: ElementRef}) svgElementRef!: ElementRef;\r\n\r\n get innerHtml(): SafeHtml {\r\n const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';\r\n // todo proper sanitize\r\n // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);\r\n return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');\r\n }\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private elementRef: ElementRef,\r\n private sanitizer: DomSanitizer,\r\n private iconSet: IconSetService\r\n ) {\r\n this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.elementRef.nativeElement.classList.forEach((item: string) => {\r\n this.renderer.addClass(this.svgElementRef.nativeElement, item);\r\n });\r\n const parentElement = this.renderer.parentNode(this.elementRef.nativeElement);\r\n const svgElement = this.svgElementRef.nativeElement;\r\n this.renderer.insertBefore(parentElement, svgElement, this.elementRef.nativeElement);\r\n this.renderer.removeChild(parentElement, this.elementRef.nativeElement);\r\n }\r\n\r\n get titleCode(): string {\r\n return this.title ? `<title>${this.title}</title>` : '';\r\n }\r\n\r\n get code(): string | string[] | undefined {\r\n if (this.content) {\r\n return this.content;\r\n }\r\n if (this.iconSet && this.name) {\r\n return this.iconSet.getIcon(this.name);\r\n }\r\n if (this.name && !this.iconSet?.icons[this.name])\r\n console.warn(`c-icon component: icon name '${this.name}' does not exist for IconSet service. ` +\r\n `To use icon by 'name' prop you need to add it to IconSet service. \\n`,\r\n this.name\r\n );\r\n return undefined;\r\n }\r\n\r\n get scale(): string {\r\n return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';\r\n }\r\n\r\n get computedSize(): Exclude<IconSize, 'custom'> | undefined {\r\n const addCustom = !this.size && (this.width || this.height);\r\n return this.size === 'custom' || addCustom ? 'custom-size' : this.size;\r\n }\r\n\r\n get computedClasses(): any {\r\n const classes = {\r\n icon: true,\r\n [`icon-${this.computedSize}`]: !!this.computedSize\r\n };\r\n return !!this.customClasses ? this.customClasses : classes;\r\n }\r\n\r\n toCamelCase(str: string): any {\r\n return str.replace(/([-_][a-z0-9])/ig, ($1: string) => {\r\n return $1.toUpperCase().replace('-', '');\r\n });\r\n }\r\n}\r\n","<svg *ngIf=\"(!use) && (!!code)\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [attr.viewBox]=\"viewBox\"\r\n [innerHtml]=\"innerHtml\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n #svgElement\r\n>\r\n</svg>\r\n\r\n<svg *ngIf=\"use\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n>\r\n <use [attr.href]=\"use\"></use>\r\n</svg>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { IconComponent } from './icon.component';\r\nimport { IconDirective } from './icon.directive';\r\nimport { HtmlAttributesDirective } from '../shared/html-attr.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n IconComponent,\r\n HtmlAttributesDirective,\r\n IconDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n IconComponent,\r\n IconDirective\r\n ],\r\n})\r\nexport class IconModule {\r\n}\r\n","/*\n * Public API Surface of @coreui/icons-angular\n */\nexport { IconDirective } from './lib/icon/icon.directive';\nexport { IconComponent } from './lib/icon/icon.component';\nexport { IconModule } from './lib/icon/icon.module';\nexport { IconSetService, IIconSet } from './lib/icon-set/icon-set.service';\nexport { IconSetModule } from './lib/icon-set/icon-set.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.IconSetService","i4.HtmlAttributesDirective"],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class IconDirective implements IIcon {
24
24
  private _viewBox;
25
25
  xmlns: string;
26
26
  pointerEvents: string;
27
+ role: string;
27
28
  get hostClasses(): string | {
28
29
  [klass: string]: any;
29
30
  };
@@ -36,5 +37,5 @@ export declare class IconDirective implements IIcon {
36
37
  get computedClasses(): any;
37
38
  toCamelCase(str: string): any;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<IconDirective, never>;
39
- static ɵdir: i0.ɵɵDirectiveDeclaration<IconDirective, "svg[cIcon]", ["cIcon"], { "content": "cIcon"; "size": "size"; "title": "title"; "customClasses": "customClasses"; "width": "width"; "height": "height"; "name": "name"; "viewBox": "viewBox"; "xmlns": "xmlns"; "pointerEvents": "pointer-events"; }, {}, never>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IconDirective, "svg[cIcon]", ["cIcon"], { "content": "cIcon"; "size": "size"; "title": "title"; "customClasses": "customClasses"; "width": "width"; "height": "height"; "name": "name"; "viewBox": "viewBox"; "xmlns": "xmlns"; "pointerEvents": "pointer-events"; "role": "role"; }, {}, never>;
40
41
  }
@@ -4,9 +4,13 @@ export interface IIconSet {
4
4
  }
5
5
  export declare class IconSetService {
6
6
  constructor();
7
- private _icons;
7
+ get iconNames(): {
8
+ [key: string]: string;
9
+ };
10
+ private _iconNames;
8
11
  get icons(): IIconSet;
9
12
  set icons(iconSet: IIconSet);
13
+ private _icons;
10
14
  getIcon(name: string): string[];
11
15
  static ɵfac: i0.ɵɵFactoryDeclaration<IconSetService, never>;
12
16
  static ɵprov: i0.ɵɵInjectableDeclaration<IconSetService>;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@coreui/icons-angular",
3
- "version": "3.0.0-alpha.2",
3
+ "version": "3.0.0",
4
4
  "description": "CoreUI Icons Angular component and service",
5
- "copyright": "Copyright 2021 creativeLabs Łukasz Holeczek",
5
+ "copyright": "Copyright 2022 creativeLabs Łukasz Holeczek",
6
6
  "license": "MIT",
7
7
  "homepage": "https://coreui.io",
8
8
  "author": {
@@ -25,8 +25,8 @@
25
25
  "url": "https://github.com/coreui/coreui-icons-angular/issues"
26
26
  },
27
27
  "peerDependencies": {
28
- "@angular/common": "^12.2.0",
29
- "@angular/core": "^12.2.0"
28
+ "@angular/common": "^13.0.0",
29
+ "@angular/core": "^13.0.0"
30
30
  },
31
31
  "dependencies": {
32
32
  "tslib": "^2.3.0"
@@ -42,11 +42,24 @@
42
42
  "component",
43
43
  "angular"
44
44
  ],
45
- "main": "bundles/coreui-icons-angular.umd.js",
46
- "module": "fesm2015/coreui-icons-angular.js",
47
- "es2015": "fesm2015/coreui-icons-angular.js",
48
- "esm2015": "esm2015/coreui-icons-angular.js",
49
- "fesm2015": "fesm2015/coreui-icons-angular.js",
45
+ "module": "fesm2015/coreui-icons-angular.mjs",
46
+ "es2020": "fesm2020/coreui-icons-angular.mjs",
47
+ "esm2020": "esm2020/coreui-icons-angular.mjs",
48
+ "fesm2020": "fesm2020/coreui-icons-angular.mjs",
49
+ "fesm2015": "fesm2015/coreui-icons-angular.mjs",
50
50
  "typings": "coreui-icons-angular.d.ts",
51
+ "exports": {
52
+ "./package.json": {
53
+ "default": "./package.json"
54
+ },
55
+ ".": {
56
+ "types": "./coreui-icons-angular.d.ts",
57
+ "esm2020": "./esm2020/coreui-icons-angular.mjs",
58
+ "es2020": "./fesm2020/coreui-icons-angular.mjs",
59
+ "es2015": "./fesm2015/coreui-icons-angular.mjs",
60
+ "node": "./fesm2015/coreui-icons-angular.mjs",
61
+ "default": "./fesm2020/coreui-icons-angular.mjs"
62
+ }
63
+ },
51
64
  "sideEffects": false
52
65
  }