@coreui/icons-angular 3.0.0-alpha.0 → 3.0.0-alpha.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.
Files changed (33) 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/esm2020/lib/icon/icon.interface.mjs +2 -0
  6. package/esm2020/lib/icon/icon.module.mjs +34 -0
  7. package/{esm2015/lib/icon-set/icon-set.module.js → esm2020/lib/icon-set/icon-set.module.mjs} +4 -4
  8. package/esm2020/lib/icon-set/icon-set.service.mjs +37 -0
  9. package/esm2020/lib/icon-set/index.mjs +2 -0
  10. package/esm2020/lib/icon-set/public_api.mjs +3 -0
  11. package/{esm2015/lib/shared/html-attr.directive.js → esm2020/lib/shared/html-attr.directive.mjs} +3 -3
  12. package/esm2020/public-api.mjs +9 -0
  13. package/fesm2015/coreui-icons-angular.mjs +402 -0
  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.component.d.ts +19 -14
  18. package/lib/icon/icon.directive.d.ts +41 -0
  19. package/lib/icon/icon.interface.d.ts +15 -0
  20. package/lib/icon/icon.module.d.ts +3 -2
  21. package/lib/icon-set/icon-set.service.d.ts +5 -1
  22. package/lib/icon-set/index.d.ts +1 -0
  23. package/lib/icon-set/public_api.d.ts +2 -0
  24. package/package.json +21 -8
  25. package/public-api.d.ts +1 -0
  26. package/bundles/coreui-icons-angular.umd.js +0 -328
  27. package/bundles/coreui-icons-angular.umd.js.map +0 -1
  28. package/esm2015/lib/icon/icon.component.js +0 -100
  29. package/esm2015/lib/icon/icon.module.js +0 -29
  30. package/esm2015/lib/icon-set/icon-set.service.js +0 -30
  31. package/esm2015/public-api.js +0 -8
  32. package/fesm2015/coreui-icons-angular.js +0 -249
  33. package/fesm2015/coreui-icons-angular.js.map +0 -1
package/README.md CHANGED
@@ -1,31 +1,57 @@
1
+ <p align="center">
2
+ <a href="https://coreui.io/">
3
+ <img
4
+ src="https://coreui.io/images/brand/coreui-signet.svg"
5
+ alt="CoreUI logo"
6
+ width="200"
7
+ />
8
+ </a>
9
+ </p>
10
+
11
+ <h3 align="center">CoreUI Icons for Angular</h3>
12
+
13
+ <p align="center">
14
+ <br>
15
+ <a href="https://coreui.io/angular/docs/4.0/icons"><strong>Explore CoreUI for Angular docs »</strong></a>
16
+ <br>
17
+ <br>
18
+ <a href="https://icons.coreui.io/"><strong>CoreUI Icons »</strong></a>
19
+ <br>
20
+ <br>
21
+ <a href="https://github.com/coreui/coreui-icons-angular/issues/new?template=bug_report.md">Report a bug</a>
22
+ ·
23
+ <a href="https://github.com/coreui/coreui-icons-angular/issues/new?template=feature_request.md">Request a feature</a>
24
+ ·
25
+ <a href="https://blog.coreui.io/">Blog</a>
26
+ </p>
27
+
1
28
  # CoreUI Icons Angular
2
29
 
3
- ![angular](https://img.shields.io/badge/angular-^12.2.0-lightgrey.svg?style=flat-square&logo=angular)
30
+ ![angular](https://img.shields.io/badge/angular-^13.0.0-lightgrey.svg?style=flat-square&logo=angular)
4
31
  [![npm-coreui-angular-next][npm-coreui-icons-angular-next]][coreui-angular-icons-npm]
5
32
  ![angular](https://img.shields.io/badge/angular-^11.2.0-lightgrey.svg?style=flat-square&logo=angular)
6
- [![NPM](https://img.shields.io/npm/v/@coreui/icons-angular/latest?style=flat-square&color=brightgreen)][coreui-angular-icons-npm]
33
+ [![NPM](https://img.shields.io/npm/v/@coreui/icons-angular/latest?style=flat-square&color=brightgreen)][coreui-angular-icons-npm]
7
34
  [![Downloads](https://img.shields.io/npm/dm/@coreui/icons-angular.svg?style=flat-square)][coreui-angular-icons-npm]
8
- [![License](https://img.shields.io/npm/l/@coreui/angular?style=flat-square)][coreui]
35
+ [![License](https://img.shields.io/npm/l/@coreui/angular?style=flat-square)][coreui]
9
36
 
10
37
  [coreui]: https://coreui.io/icons
11
38
  [coreui-angular-icons-npm]: https://www.npmjs.com/package/@coreui/icons-angular
12
39
  [npm-coreui-icons-angular-next]: https://img.shields.io/npm/v/@coreui/icons-angular/next.png?style=flat-square
13
40
 
14
- ## `c-icon` component
41
+ ## `cIcon` directive
15
42
 
16
- Angular component for [CoreUI Icons SVG set](https://coreui.io/icons/).
43
+ Angular directive for [CoreUI Icons SVG set](https://coreui.io/icons/).
17
44
 
18
45
  ### Features
19
46
 
20
- - Loads icons in three ways:
21
- - stored globally in Angular service,
22
- - directly passed SVG tag content,
23
- - source link to SVG file
24
- - Reduces icons bundle size when imported as single icons,
25
- - Full functionality of `<svg>` html tag,
47
+ - Load icons:
48
+ - stored in Angular root service,
49
+ - directly passed SVG content,
50
+ - Reduce icons bundle size when imported as single icons,
51
+ - Full functionality of `<svg>` tag,
26
52
  - Clean API
27
53
 
28
- For component description visit [CIcon component documentation](https://icons.coreui.io/docs/using-coreui-icons-with/angular/)
54
+ For directive description visit [https://coreui.io/angular/docs/4.0/](https://coreui.io/angular/docs/4.0/)
29
55
 
30
56
  ### Installation
31
57
 
@@ -39,12 +65,11 @@ npm install @coreui/icons-angular
39
65
  ```ts
40
66
  // app NgModule
41
67
 
42
- import { IconModule, IconSetModule, IconSetService } from '@coreui/icons-angular';
68
+ import { IconModule, IconSetService } from '@coreui/icons-angular';
43
69
 
44
70
  @NgModule({
45
71
  imports: [
46
72
  IconModule,
47
- IconSetModule.forRoot(),
48
73
  ...
49
74
  providers: [IconSetService],
50
75
  ...
@@ -54,12 +79,10 @@ import { IconModule, IconSetModule, IconSetService } from '@coreui/icons-angular
54
79
  // app component
55
80
 
56
81
  import { cilEnvelopeOpen, flagSet } from '@coreui/icons';
57
- import { IconModule, IconSetModule, IconSetService } from '@coreui/icons-angular';
82
+ import { IconSetService } from '@coreui/icons-angular';
58
83
 
59
84
  @Component({
60
85
  ...
61
- providers: [IconSetService],
62
- ...
63
86
  })
64
87
  export class AppComponent implements OnInit {
65
88
  constructor(public iconSet: IconSetService) {
@@ -70,29 +93,41 @@ export class AppComponent implements OnInit {
70
93
  ```
71
94
 
72
95
  ```jsx
73
- <c-icon name="cil-envelope-open" size="lg"></c-icon>
74
- <c-icon name="cifAu"></c-icon>
96
+ <svg cIcon name="cil-envelope-open" size="lg"></svg>
97
+ <svg cIcon name="cifAu"></svg>
75
98
  ```
76
99
 
77
100
  ### API
78
- > Use one of `name`, `src` or `content` prop as it defines the way of icon import
101
+
102
+ #### Icon _directive_
103
+ > Use one of `name` or `content` prop as it defines the way of icon import
104
+
105
+ ##### Inputs
79
106
 
80
107
  proprerty | type | default | description
81
108
  ---|---|---|---
82
109
  `name` | string | undefined | name of SVG icon stored in IconSetService
83
110
  `content` | string, string[] | undefined | SVG content
84
- `src` | string | undefined | Link to the icon. If defined, component will be rendered as `<img>` tag |
85
- `size` | `custom`, `custom-size`, `sm`, `lg`, `xl`, `2xl`, `3xl`, `4xl`, `5xl`, `6xl`, `7xl`, `8xl`, `9xl` | '' | Size of icon
111
+ `size` | `custom`, `custom-size`, `sm`, `lg`, `xl`, `xxl`, `3xl`, `4xl`, `5xl`, `6xl`, `7xl`, `8xl`, `9xl` | '' | Size of icon
86
112
  `title` | string | undefined |
87
- `use` | string | undefined | SVG `<use>`
88
113
  `customClasses` | string | undefined | Overwrites default `.icon` classes
89
114
  `viewBox` | string | undefined | SVG `viewbox`
90
- `attributes` | any | `{ role: 'img' }` | Object with additional html attributes
91
115
  `width` | string | undefined | SVG `width`
92
116
  `height` | string | undefined | SVG `height`
93
117
 
94
118
  ---
95
119
 
120
+ #### IconSet _service_
121
+
122
+ ##### Props
123
+
124
+ | proprerty | type | default | description|
125
+ | --- | --- | --- | --- |
126
+ | `getIcon()` | `(string): any[] ` | | returns an icon |
127
+ | `icons` | `IIconSet` | undefined | IconSet object |
128
+ | `iconNames` | `[key: string]: string` | _undefined_ | returns icon name from key |
129
+
130
+ ---
96
131
  ### License
97
132
 
98
133
  CoreUI Icons Free are free, open source, and GPL friendly. You can use it for
@@ -0,0 +1,110 @@
1
+ import { Component, ElementRef, Input, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ import * as i2 from "../icon-set/icon-set.service";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "../shared/html-attr.directive";
7
+ export class IconComponent {
8
+ constructor(renderer, elementRef, sanitizer, iconSet) {
9
+ this.renderer = renderer;
10
+ this.elementRef = elementRef;
11
+ this.sanitizer = sanitizer;
12
+ this.iconSet = iconSet;
13
+ this.attributes = { role: 'img' };
14
+ this.size = '';
15
+ this.use = '';
16
+ this.customClasses = '';
17
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
18
+ }
19
+ set name(name) {
20
+ this._name = name.includes('-') ? this.toCamelCase(name) : name;
21
+ }
22
+ get name() {
23
+ return this._name;
24
+ }
25
+ set viewBox(viewBox) {
26
+ this._viewBox = viewBox;
27
+ }
28
+ get viewBox() {
29
+ return this._viewBox ?? this.scale;
30
+ }
31
+ get innerHtml() {
32
+ const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
33
+ // todo proper sanitize
34
+ // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
35
+ return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
36
+ }
37
+ ngAfterViewInit() {
38
+ this.elementRef.nativeElement.classList.forEach((item) => {
39
+ this.renderer.addClass(this.svgElementRef.nativeElement, item);
40
+ });
41
+ const parentElement = this.renderer.parentNode(this.elementRef.nativeElement);
42
+ const svgElement = this.svgElementRef.nativeElement;
43
+ this.renderer.insertBefore(parentElement, svgElement, this.elementRef.nativeElement);
44
+ this.renderer.removeChild(parentElement, this.elementRef.nativeElement);
45
+ }
46
+ get titleCode() {
47
+ return this.title ? `<title>${this.title}</title>` : '';
48
+ }
49
+ get code() {
50
+ if (this.content) {
51
+ return this.content;
52
+ }
53
+ if (this.iconSet && this.name) {
54
+ return this.iconSet.getIcon(this.name);
55
+ }
56
+ if (this.name && !this.iconSet?.icons[this.name])
57
+ console.warn(`c-icon component: icon name '${this.name}' does not exist for IconSet service. ` +
58
+ `To use icon by 'name' prop you need to add it to IconSet service. \n`, this.name);
59
+ return undefined;
60
+ }
61
+ get scale() {
62
+ return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';
63
+ }
64
+ get computedSize() {
65
+ const addCustom = !this.size && (this.width || this.height);
66
+ return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
67
+ }
68
+ get computedClasses() {
69
+ const classes = {
70
+ icon: true,
71
+ [`icon-${this.computedSize}`]: !!this.computedSize
72
+ };
73
+ return !!this.customClasses ? this.customClasses : classes;
74
+ }
75
+ toCamelCase(str) {
76
+ return str.replace(/([-_][a-z0-9])/ig, ($1) => {
77
+ return $1.toUpperCase().replace('-', '');
78
+ });
79
+ }
80
+ }
81
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.IconSetService }], target: i0.ɵɵFactoryTarget.Component });
82
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", 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: i4.HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconComponent, decorators: [{
84
+ type: Component,
85
+ 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"] }]
86
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.IconSetService }]; }, propDecorators: { attributes: [{
87
+ type: Input
88
+ }], content: [{
89
+ type: Input
90
+ }], size: [{
91
+ type: Input
92
+ }], title: [{
93
+ type: Input
94
+ }], use: [{
95
+ type: Input
96
+ }], customClasses: [{
97
+ type: Input
98
+ }], width: [{
99
+ type: Input
100
+ }], height: [{
101
+ type: Input
102
+ }], name: [{
103
+ type: Input
104
+ }], viewBox: [{
105
+ type: Input
106
+ }], svgElementRef: [{
107
+ type: ViewChild,
108
+ args: ['svgElement', { read: ElementRef }]
109
+ }] } });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVbEcsTUFBTSxPQUFPLGFBQWE7SUFzQ3hCLFlBQ1UsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsU0FBdUIsRUFDdkIsT0FBdUI7UUFIdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUF4Q3hCLGVBQVUsR0FBUSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztRQUVoQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXBCLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxrQkFBYSxHQUFnRSxFQUFFLENBQUM7UUFxQ3ZGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBbENELElBQ0ksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUNE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QUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFTdUMsYUFBYTtzQkFBekQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBJY29uU2V0U2VydmljZSB9IGZyb20gJy4uL2ljb24tc2V0L2ljb24tc2V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJY29uU2l6ZSwgSUljb24gfSBmcm9tICcuL2ljb24uaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYy1pY29uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuc3ZnJyxcclxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBJSWNvbiwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM6IGFueSA9IHtyb2xlOiAnaW1nJ307XHJcbiAgQElucHV0KCkgY29udGVudD86IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W107XHJcbiAgQElucHV0KCkgc2l6ZTogSWNvblNpemUgPSAnJztcclxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcclxuICBASW5wdXQoKSB1c2UgPSAnJztcclxuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSA9ICcnO1xyXG4gIEBJbnB1dCgpIHdpZHRoPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX25hbWUgPSBuYW1lLmluY2x1ZGVzKCctJykgPyB0aGlzLnRvQ2FtZWxDYXNlKG5hbWUpIDogbmFtZTtcclxuICB9XHJcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9uYW1lO1xyXG4gIH1cclxuICBwcml2YXRlIF9uYW1lITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNldCB2aWV3Qm94KHZpZXdCb3g6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdmlld0JveCA9IHZpZXdCb3g7XHJcbiAgfVxyXG4gIGdldCB2aWV3Qm94KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlld0JveCA/PyB0aGlzLnNjYWxlO1xyXG4gIH1cclxuICBwcml2YXRlIF92aWV3Qm94ITogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkKCdzdmdFbGVtZW50Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBzdmdFbGVtZW50UmVmITogRWxlbWVudFJlZjtcclxuXHJcbiAgZ2V0IGlubmVySHRtbCgpOiBTYWZlSHRtbCB7XHJcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpID8gdGhpcy5jb2RlWzFdIHx8IHRoaXMuY29kZVswXSA6IHRoaXMuY29kZSA/PyAnJztcclxuICAgIC8vIHRvZG8gcHJvcGVyIHNhbml0aXplXHJcbiAgICAvLyBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29kZSk7XHJcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoKHRoaXMudGl0bGVDb2RlICsgY29kZSkgPz8gJycpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBpY29uU2V0OiBJY29uU2V0U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuc3ZnRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBjb25zdCBzdmdFbGVtZW50ID0gdGhpcy5zdmdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnRFbGVtZW50LCBzdmdFbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHBhcmVudEVsZW1lbnQsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIGdldCB0aXRsZUNvZGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnRpdGxlID8gYDx0aXRsZT4ke3RoaXMudGl0bGV9PC90aXRsZT5gIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgY29kZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodGhpcy5jb250ZW50KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pY29uU2V0ICYmIHRoaXMubmFtZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pY29uU2V0LmdldEljb24odGhpcy5uYW1lKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5hbWUgJiYgIXRoaXMuaWNvblNldD8uaWNvbnNbdGhpcy5uYW1lXSlcclxuICAgIGNvbnNvbGUud2FybihgYy1pY29uIGNvbXBvbmVudDogaWNvbiBuYW1lICcke3RoaXMubmFtZX0nIGRvZXMgbm90IGV4aXN0IGZvciBJY29uU2V0IHNlcnZpY2UuIGAgK1xyXG4gICAgICBgVG8gdXNlIGljb24gYnkgJ25hbWUnIHByb3AgeW91IG5lZWQgdG8gYWRkIGl0IHRvIEljb25TZXQgc2VydmljZS4gXFxuYCxcclxuICAgICAgdGhpcy5uYW1lXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGdldCBzY2FsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKSAmJiB0aGlzLmNvZGUubGVuZ3RoID4gMSA/IGAwIDAgJHt0aGlzLmNvZGVbMF19YCA6ICcwIDAgNjQgNjQnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbXB1dGVkU2l6ZSgpOiBFeGNsdWRlPEljb25TaXplLCAnY3VzdG9tJz4gfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XHJcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnY3VzdG9tJyB8fCBhZGRDdXN0b20gPyAnY3VzdG9tLXNpemUnIDogdGhpcy5zaXplO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbXB1dGVkQ2xhc3NlcygpOiBhbnkge1xyXG4gICAgY29uc3QgY2xhc3NlcyA9IHtcclxuICAgICAgaWNvbjogdHJ1ZSxcclxuICAgICAgW2BpY29uLSR7dGhpcy5jb21wdXRlZFNpemV9YF06ICEhdGhpcy5jb21wdXRlZFNpemVcclxuICAgIH07XHJcbiAgICByZXR1cm4gISF0aGlzLmN1c3RvbUNsYXNzZXMgPyB0aGlzLmN1c3RvbUNsYXNzZXMgOiBjbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgdG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oWy1fXVthLXowLTldKS9pZywgKCQxOiBzdHJpbmcpID0+IHtcclxuICAgICAgcmV0dXJuICQxLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcnKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8c3ZnICpuZ0lmPVwiKCF1c2UpICYmICghIWNvZGUpXCJcclxuICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXHJcbiAgICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXHJcbiAgICAgW2F0dHIudmlld0JveF09XCJ2aWV3Qm94XCJcclxuICAgICBbaW5uZXJIdG1sXT1cImlubmVySHRtbFwiXHJcbiAgICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcclxuICAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxyXG4gICAgIHJvbGU9XCJpbWdcIlxyXG4gICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXHJcbiAgICAgI3N2Z0VsZW1lbnRcclxuPlxyXG48L3N2Zz5cclxuXHJcbjxzdmcgKm5nSWY9XCJ1c2VcIlxyXG4gICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcclxuICAgICBbYXR0ci5oZWlnaHRdPVwiaGVpZ2h0IHx8IHdpZHRoXCJcclxuICAgICBbbmdDbGFzc109XCJjb21wdXRlZENsYXNzZXNcIlxyXG4gICAgIFtjSHRtbEF0dHJdPVwiYXR0cmlidXRlc1wiXHJcbiAgICAgcm9sZT1cImltZ1wiXHJcbiAgICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcclxuPlxyXG4gIDx1c2UgW2F0dHIuaHJlZl09XCJ1c2VcIj48L3VzZT5cclxuPC9zdmc+XHJcbiJdfQ==
@@ -0,0 +1,127 @@
1
+ import { Directive, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ import * as i2 from "../icon-set";
5
+ export class IconDirective {
6
+ constructor(renderer, elementRef, sanitizer, iconSet) {
7
+ this.renderer = renderer;
8
+ this.elementRef = elementRef;
9
+ this.sanitizer = sanitizer;
10
+ this.iconSet = iconSet;
11
+ this.size = '';
12
+ this.xmlns = 'http://www.w3.org/2000/svg';
13
+ this.pointerEvents = 'none';
14
+ this.role = 'img';
15
+ }
16
+ set name(name) {
17
+ this._name = name?.includes('-') ? this.toCamelCase(name) : name;
18
+ }
19
+ get name() {
20
+ return this._name;
21
+ }
22
+ set viewBox(viewBox) {
23
+ this._viewBox = viewBox;
24
+ }
25
+ get viewBox() {
26
+ return this._viewBox ?? this.scale;
27
+ }
28
+ get hostClasses() {
29
+ const classes = {
30
+ icon: true,
31
+ [`icon-${this.computedSize}`]: !!this.computedSize
32
+ };
33
+ return this.customClasses ?? classes;
34
+ }
35
+ get innerHtml() {
36
+ const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
37
+ // todo proper sanitize
38
+ // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
39
+ return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
40
+ }
41
+ get titleCode() {
42
+ return this.title ? `<title>${this.title}</title>` : '';
43
+ }
44
+ get code() {
45
+ if (this.content) {
46
+ return this.content;
47
+ }
48
+ if (this.iconSet && this.name) {
49
+ return this.iconSet.getIcon(this.name);
50
+ }
51
+ if (this.name && !this.iconSet?.icons[this.name])
52
+ console.warn(`c-icon component: icon name '${this.name}' does not exist for IconSet service. ` +
53
+ `To use icon by 'name' prop you need to add it to IconSet service. \n`, this.name);
54
+ return undefined;
55
+ }
56
+ get scale() {
57
+ return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';
58
+ }
59
+ get computedSize() {
60
+ const addCustom = !this.size && (this.width || this.height);
61
+ return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
62
+ }
63
+ get computedClasses() {
64
+ const classes = {
65
+ icon: true,
66
+ [`icon-${this.computedSize}`]: !!this.computedSize
67
+ };
68
+ return !!this.customClasses ? this.customClasses : classes;
69
+ }
70
+ toCamelCase(str) {
71
+ return str.replace(/([-_][a-z0-9])/ig, ($1) => {
72
+ return $1.toUpperCase().replace('-', '');
73
+ });
74
+ }
75
+ }
76
+ IconDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.IconSetService }], target: i0.ɵɵFactoryTarget.Directive });
77
+ IconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", 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 });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconDirective, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: 'svg[cIcon]',
82
+ exportAs: 'cIcon'
83
+ }]
84
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.IconSetService }]; }, propDecorators: { content: [{
85
+ type: Input,
86
+ args: ['cIcon']
87
+ }], size: [{
88
+ type: Input
89
+ }], title: [{
90
+ type: Input
91
+ }], customClasses: [{
92
+ type: Input
93
+ }], width: [{
94
+ type: Input
95
+ }], height: [{
96
+ type: Input
97
+ }], name: [{
98
+ type: Input
99
+ }], viewBox: [{
100
+ type: HostBinding,
101
+ args: ['attr.viewBox']
102
+ }, {
103
+ type: Input
104
+ }], xmlns: [{
105
+ type: HostBinding,
106
+ args: ['attr.xmlns']
107
+ }, {
108
+ type: Input
109
+ }], pointerEvents: [{
110
+ type: HostBinding,
111
+ args: ['attr.pointer-events']
112
+ }, {
113
+ type: Input,
114
+ args: ['pointer-events']
115
+ }], role: [{
116
+ type: HostBinding,
117
+ args: ['attr.role']
118
+ }, {
119
+ type: Input
120
+ }], hostClasses: [{
121
+ type: HostBinding,
122
+ args: ['class']
123
+ }], innerHtml: [{
124
+ type: HostBinding,
125
+ args: ['innerHtml']
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXJGLE1BQU0sT0FBTyxhQUFhO0lBc0R4QixZQUNVLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLFNBQXVCLEVBQ3ZCLE9BQXVCO1FBSHZCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBdkR4QixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBMEJwQixVQUFLLEdBQUcsNEJBQTRCLENBQUM7UUFHckIsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFHdkMsU0FBSSxHQUFHLEtBQUssQ0FBQztJQXdCbEIsQ0FBQztJQWxETCxJQUNJLElBQUksQ0FBQyxJQUFZO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25FLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUdELElBRUksT0FBTyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7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cEQsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQXJHVSxhQUFhOzhGQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLE9BQU87aUJBQ2xCO2lMQUdpQixPQUFPO3NCQUF0QixLQUFLO3VCQUFDLE9BQU87Z0JBQ0wsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLO2dCQVdGLE9BQU87c0JBRlYsV0FBVzt1QkFBQyxjQUFjOztzQkFDMUIsS0FBSztnQkFVRyxLQUFLO3NCQURiLFdBQVc7dUJBQUMsWUFBWTs7c0JBQ3hCLEtBQUs7Z0JBR21CLGFBQWE7c0JBRHJDLFdBQVc7dUJBQUMscUJBQXFCOztzQkFDakMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBR2QsSUFBSTtzQkFEWixXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVVoQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSWNvblNldFNlcnZpY2UgfSBmcm9tICcuLi9pY29uLXNldCc7XG5cbmltcG9ydCB7IEljb25TaXplLCBJSWNvbiB9IGZyb20gJy4vaWNvbi5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzdmdbY0ljb25dJyxcbiAgZXhwb3J0QXM6ICdjSWNvbidcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIElJY29uIHtcblxuICBASW5wdXQoJ2NJY29uJykgY29udGVudD86IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W107XG4gIEBJbnB1dCgpIHNpemU6IEljb25TaXplID0gJyc7XG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfTtcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gbmFtZT8uaW5jbHVkZXMoJy0nKSA/IHRoaXMudG9DYW1lbENhc2UobmFtZSkgOiBuYW1lO1xuICB9XG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gIH1cbiAgcHJpdmF0ZSBfbmFtZSE6IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudmlld0JveCcpXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3Qm94KHZpZXdCb3g6IHN0cmluZykge1xuICAgIHRoaXMuX3ZpZXdCb3ggPSB2aWV3Qm94O1xuICB9XG4gIGdldCB2aWV3Qm94KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdCb3ggPz8gdGhpcy5zY2FsZTtcbiAgfVxuICBwcml2YXRlIF92aWV3Qm94ITogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci54bWxucycpXG4gIEBJbnB1dCgpIHhtbG5zID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucG9pbnRlci1ldmVudHMnKVxuICBASW5wdXQoJ3BvaW50ZXItZXZlbnRzJykgcG9pbnRlckV2ZW50cyA9ICdub25lJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIEBJbnB1dCgpIHJvbGUgPSAnaW1nJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBpY29uOiB0cnVlLFxuICAgICAgW2BpY29uLSR7dGhpcy5jb21wdXRlZFNpemV9YF06ICEhdGhpcy5jb21wdXRlZFNpemVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNsYXNzZXMgPz8gY2xhc3NlcztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnaW5uZXJIdG1sJylcbiAgZ2V0IGlubmVySHRtbCgpIHtcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpID8gdGhpcy5jb2RlWzFdIHx8IHRoaXMuY29kZVswXSA6IHRoaXMuY29kZSA/PyAnJztcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxuICAgIC8vIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoKHRoaXMudGl0bGVDb2RlICsgY29kZSkgPz8gJycpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgaWNvblNldDogSWNvblNldFNlcnZpY2VcbiAgKSB7IH1cblxuICBnZXQgdGl0bGVDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUgPyBgPHRpdGxlPiR7dGhpcy50aXRsZX08L3RpdGxlPmAgOiAnJztcbiAgfVxuXG4gIGdldCBjb2RlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jb250ZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250ZW50O1xuICAgIH1cbiAgICBpZiAodGhpcy5pY29uU2V0ICYmIHRoaXMubmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblNldC5nZXRJY29uKHRoaXMubmFtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm5hbWUgJiYgIXRoaXMuaWNvblNldD8uaWNvbnNbdGhpcy5uYW1lXSlcbiAgICAgIGNvbnNvbGUud2FybihgYy1pY29uIGNvbXBvbmVudDogaWNvbiBuYW1lICcke3RoaXMubmFtZX0nIGRvZXMgbm90IGV4aXN0IGZvciBJY29uU2V0IHNlcnZpY2UuIGAgK1xuICAgICAgICBgVG8gdXNlIGljb24gYnkgJ25hbWUnIHByb3AgeW91IG5lZWQgdG8gYWRkIGl0IHRvIEljb25TZXQgc2VydmljZS4gXFxuYCxcbiAgICAgICAgdGhpcy5uYW1lXG4gICAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpICYmIHRoaXMuY29kZS5sZW5ndGggPiAxID8gYDAgMCAke3RoaXMuY29kZVswXX1gIDogJzAgMCA2NCA2NCc7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRTaXplKCk6IEV4Y2x1ZGU8SWNvblNpemUsICdjdXN0b20nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKTogYW55IHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgaWNvbjogdHJ1ZSxcbiAgICAgIFtgaWNvbi0ke3RoaXMuY29tcHV0ZWRTaXplfWBdOiAhIXRoaXMuY29tcHV0ZWRTaXplXG4gICAgfTtcbiAgICByZXR1cm4gISF0aGlzLmN1c3RvbUNsYXNzZXMgPyB0aGlzLmN1c3RvbUNsYXNzZXMgOiBjbGFzc2VzO1xuICB9XG5cbiAgdG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFstX11bYS16MC05XSkvaWcsICgkMTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gJDEudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJycpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUljb24ge1xuICBjb250ZW50Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXTtcbiAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gIGhlaWdodD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcG9pbnRlckV2ZW50cz86IHN0cmluZztcbiAgc2l6ZT86IEljb25TaXplO1xuICB0aXRsZT86IHN0cmluZztcbiAgdmlld0JveD86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIHhtbG5zPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9XG4gICdjdXN0b20nXG4gIHwgJ2N1c3RvbS1zaXplJ1xuICB8ICdzbSdcbiAgfCAnbGcnXG4gIHwgJ3hsJ1xuICB8ICd4eGwnXG4gIHwgJzN4bCdcbiAgfCAnNHhsJ1xuICB8ICc1eGwnXG4gIHwgJzZ4bCdcbiAgfCAnN3hsJ1xuICB8ICc4eGwnXG4gIHwgJzl4bCdcbiAgfCBzdHJpbmc7XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IconComponent } from './icon.component';
4
+ import { IconDirective } from './icon.directive';
5
+ import { HtmlAttributesDirective } from '../shared/html-attr.directive';
6
+ import * as i0 from "@angular/core";
7
+ export class IconModule {
8
+ }
9
+ IconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ IconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconModule, declarations: [IconComponent,
11
+ HtmlAttributesDirective,
12
+ IconDirective], imports: [CommonModule], exports: [IconComponent,
13
+ IconDirective] });
14
+ IconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconModule, imports: [[
15
+ CommonModule,
16
+ ]] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconModule, decorators: [{
18
+ type: NgModule,
19
+ args: [{
20
+ declarations: [
21
+ IconComponent,
22
+ HtmlAttributesDirective,
23
+ IconDirective
24
+ ],
25
+ imports: [
26
+ CommonModule,
27
+ ],
28
+ exports: [
29
+ IconComponent,
30
+ IconDirective
31
+ ],
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFnQnhFLE1BQU0sT0FBTyxVQUFVOzt1R0FBVixVQUFVO3dHQUFWLFVBQVUsaUJBWm5CLGFBQWE7UUFDYix1QkFBdUI7UUFDdkIsYUFBYSxhQUdiLFlBQVksYUFHWixhQUFhO1FBQ2IsYUFBYTt3R0FHSixVQUFVLFlBUlo7WUFDUCxZQUFZO1NBQ2I7MkZBTVUsVUFBVTtrQkFkdEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEljb25EaXJlY3RpdmUgfSBmcm9tICcuL2ljb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSHRtbEF0dHJpYnV0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9zaGFyZWQvaHRtbC1hdHRyLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSWNvbkNvbXBvbmVudCxcclxuICAgIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLFxyXG4gICAgSWNvbkRpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSWNvbkNvbXBvbmVudCxcclxuICAgIEljb25EaXJlY3RpdmVcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvbk1vZHVsZSB7XHJcbn1cclxuIl19
@@ -17,14 +17,14 @@ export class IconSetModule {
17
17
  };
18
18
  }
19
19
  }
20
- IconSetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: IconSetModule, deps: [{ token: IconSetModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
21
- IconSetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: IconSetModule, imports: [CommonModule] });
22
- IconSetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: IconSetModule, providers: [
20
+ IconSetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetModule, deps: [{ token: IconSetModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
21
+ IconSetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetModule, imports: [CommonModule] });
22
+ IconSetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetModule, providers: [
23
23
  IconSetService
24
24
  ], imports: [[
25
25
  CommonModule
26
26
  ]] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: IconSetModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class IconSetService {
4
+ constructor() {
5
+ this._iconNames = {};
6
+ this._icons = {};
7
+ }
8
+ get iconNames() {
9
+ return this._iconNames;
10
+ }
11
+ ;
12
+ get icons() {
13
+ return this._icons;
14
+ }
15
+ set icons(iconSet) {
16
+ for (const iconsKey in iconSet) {
17
+ this._iconNames[iconsKey] = iconsKey;
18
+ }
19
+ this._icons = iconSet;
20
+ }
21
+ getIcon(name) {
22
+ const icon = this.icons[name];
23
+ if (!icon) {
24
+ console.warn(`CoreUI WARN: Icon ${name} is not registered in IconService`);
25
+ }
26
+ return this.icons[name];
27
+ }
28
+ }
29
+ IconSetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
+ IconSetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetService, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: IconSetService, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root'
35
+ }]
36
+ }], ctorParameters: function () { return []; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1zZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1pY29ucy1hbmd1bGFyL3NyYy9saWIvaWNvbi1zZXQvaWNvbi1zZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMzQyxNQUFNLE9BQU8sY0FBYztJQUV6QjtRQUtRLGVBQVUsR0FBOEIsRUFBRSxDQUFDO1FBVzNDLFdBQU0sR0FBYSxFQUFFLENBQUM7SUFoQmYsQ0FBQztJQUVoQixJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFBQSxDQUFDO0lBR0YsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPO1FBQ2YsS0FBSyxNQUFNLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBR00sT0FBTyxDQUFDLElBQVk7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7OzJHQTFCVSxjQUFjOytHQUFkLGNBQWMsY0FGYixNQUFNOzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSWNvblNldCB7XHJcbiAgW2ljb25OYW1lOiBzdHJpbmddOiBzdHJpbmdbXTtcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSWNvblNldFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBnZXQgaWNvbk5hbWVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ljb25OYW1lcztcclxuICB9O1xyXG4gIHByaXZhdGUgX2ljb25OYW1lczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG5cclxuICBnZXQgaWNvbnMoKTogSUljb25TZXQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ljb25zO1xyXG4gIH1cclxuICBzZXQgaWNvbnMoaWNvblNldCkge1xyXG4gICAgZm9yIChjb25zdCBpY29uc0tleSBpbiBpY29uU2V0KSB7XHJcbiAgICAgIHRoaXMuX2ljb25OYW1lc1tpY29uc0tleV0gPSBpY29uc0tleTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ljb25zID0gaWNvblNldDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaWNvbnM6IElJY29uU2V0ID0ge307XHJcblxyXG4gIHB1YmxpYyBnZXRJY29uKG5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGljb24gPSB0aGlzLmljb25zW25hbWVdO1xyXG4gICAgaWYgKCFpY29uKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgQ29yZVVJIFdBUk46IEljb24gJHtuYW1lfSBpcyBub3QgcmVnaXN0ZXJlZCBpbiBJY29uU2VydmljZWApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaWNvbnNbbmFtZV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24tc2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcclxuIl19
@@ -0,0 +1,3 @@
1
+ export { IconSetService } from './icon-set.service';
2
+ export { IconSetModule } from './icon-set.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1pY29ucy1hbmd1bGFyL3NyYy9saWIvaWNvbi1zZXQvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSWNvblNldFNlcnZpY2UsIElJY29uU2V0IH0gZnJvbSAnLi9pY29uLXNldC5zZXJ2aWNlJztcclxuZXhwb3J0IHsgSWNvblNldE1vZHVsZSB9IGZyb20gJy4vaWNvbi1zZXQubW9kdWxlJztcclxuIl19
@@ -37,9 +37,9 @@ export class HtmlAttributesDirective {
37
37
  this.renderer.removeAttribute(this.el.nativeElement, key);
38
38
  }
39
39
  }
40
- HtmlAttributesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: HtmlAttributesDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
41
- HtmlAttributesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.5", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: "cHtmlAttr" }, exportAs: ["cHtmlAttr"], ngImport: i0 });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
40
+ HtmlAttributesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: HtmlAttributesDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
41
+ HtmlAttributesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: "cHtmlAttr" }, exportAs: ["cHtmlAttr"], ngImport: i0 });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
43
43
  type: Directive,
44
44
  args: [{
45
45
  selector: '[cHtmlAttr]',
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Public API Surface of @coreui/icons-angular
3
+ */
4
+ export { IconDirective } from './lib/icon/icon.directive';
5
+ export { IconComponent } from './lib/icon/icon.component';
6
+ export { IconModule } from './lib/icon/icon.module';
7
+ export { IconSetService } from './lib/icon-set/icon-set.service';
8
+ export { IconSetModule } from './lib/icon-set/icon-set.module';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1pY29ucy1hbmd1bGFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBWSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQGNvcmV1aS9pY29ucy1hbmd1bGFyXG4gKi9cbmV4cG9ydCB7IEljb25EaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9pY29uL2ljb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuL2xpYi9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuL2xpYi9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCB7IEljb25TZXRTZXJ2aWNlLCBJSWNvblNldCB9IGZyb20gJy4vbGliL2ljb24tc2V0L2ljb24tc2V0LnNlcnZpY2UnO1xuZXhwb3J0IHsgSWNvblNldE1vZHVsZSB9IGZyb20gJy4vbGliL2ljb24tc2V0L2ljb24tc2V0Lm1vZHVsZSc7XG4iXX0=