@coreui/icons-angular 5.0.0 → 5.0.2
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.
- package/esm2022/lib/icon/icon.component.mjs +73 -58
- package/esm2022/lib/icon/icon.directive.mjs +75 -60
- package/esm2022/lib/icon/icon.module.mjs +4 -4
- package/esm2022/lib/icon/icon.utils.mjs +6 -3
- package/esm2022/lib/icon-set/icon-set.module.mjs +4 -4
- package/esm2022/lib/icon-set/icon-set.service.mjs +3 -3
- package/esm2022/lib/shared/html-attr.directive.mjs +3 -3
- package/fesm2022/coreui-icons-angular.mjs +163 -130
- package/fesm2022/coreui-icons-angular.mjs.map +1 -1
- package/lib/icon/icon.component.d.ts +14 -19
- package/lib/icon/icon.directive.d.ts +13 -18
- package/lib/icon/icon.utils.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,62 +1,80 @@
|
|
|
1
1
|
import { NgClass } from '@angular/common';
|
|
2
|
-
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { Component, computed, ElementRef, inject, Input, Renderer2, signal, ViewChild } from '@angular/core';
|
|
3
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
4
|
import { HtmlAttributesDirective } from '../shared/html-attr.directive';
|
|
4
|
-
import {
|
|
5
|
+
import { IconSetService } from '../icon-set';
|
|
6
|
+
import { transformName } from './icon.utils';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/platform-browser";
|
|
7
|
-
import * as i2 from "../icon-set";
|
|
8
8
|
export class IconComponent {
|
|
9
|
+
#renderer;
|
|
10
|
+
#elementRef;
|
|
11
|
+
#sanitizer;
|
|
12
|
+
#iconSet;
|
|
13
|
+
constructor() {
|
|
14
|
+
this.#renderer = inject(Renderer2);
|
|
15
|
+
this.#elementRef = inject(ElementRef);
|
|
16
|
+
this.#sanitizer = inject(DomSanitizer);
|
|
17
|
+
this.#iconSet = inject(IconSetService);
|
|
18
|
+
this.#content = signal('');
|
|
19
|
+
this.attributes = { role: 'img' };
|
|
20
|
+
this.size = '';
|
|
21
|
+
this.use = '';
|
|
22
|
+
this.#name = signal('');
|
|
23
|
+
this.innerHtml = computed(() => {
|
|
24
|
+
const code = Array.isArray(this.code()) ? (this.code()[1] ?? this.code()[0] ?? '') : this.code() || '';
|
|
25
|
+
// todo proper sanitize
|
|
26
|
+
// const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
|
|
27
|
+
return this.#sanitizer.bypassSecurityTrustHtml((this.titleCode + code) || '');
|
|
28
|
+
});
|
|
29
|
+
this.code = computed(() => {
|
|
30
|
+
if (this.#content()) {
|
|
31
|
+
return this.#content();
|
|
32
|
+
}
|
|
33
|
+
if (this.#iconSet && this.#name()) {
|
|
34
|
+
return this.#iconSet.getIcon(this.#name());
|
|
35
|
+
}
|
|
36
|
+
if (this.#name() && !this.#iconSet?.icons[this.#name()]) {
|
|
37
|
+
console.warn(`c-icon component: icon name '${this.#name()}' does not exist for IconSet service. ` +
|
|
38
|
+
`To use icon by 'name' prop you need to add it to IconSet service. \n`, this.#name());
|
|
39
|
+
}
|
|
40
|
+
return '';
|
|
41
|
+
});
|
|
42
|
+
this.scale = computed(() => {
|
|
43
|
+
return Array.isArray(this.code()) && this.code().length > 1 ? `0 0 ${this.code()[0]}` : '0 0 64 64';
|
|
44
|
+
});
|
|
45
|
+
this.#renderer.setStyle(this.#elementRef.nativeElement, 'display', 'none');
|
|
46
|
+
}
|
|
47
|
+
set content(value) {
|
|
48
|
+
this.#content.set(value);
|
|
49
|
+
}
|
|
50
|
+
;
|
|
51
|
+
#content;
|
|
52
|
+
set name(value) {
|
|
53
|
+
this.#name.set(value);
|
|
54
|
+
}
|
|
55
|
+
;
|
|
56
|
+
get name() {
|
|
57
|
+
return this.#name();
|
|
58
|
+
}
|
|
59
|
+
#name;
|
|
9
60
|
set viewBox(viewBox) {
|
|
10
61
|
this._viewBox = viewBox;
|
|
11
62
|
}
|
|
12
63
|
get viewBox() {
|
|
13
|
-
return this._viewBox ?? this.scale;
|
|
14
|
-
}
|
|
15
|
-
get innerHtml() {
|
|
16
|
-
const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
|
|
17
|
-
// todo proper sanitize
|
|
18
|
-
// const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
|
|
19
|
-
return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
|
|
20
|
-
}
|
|
21
|
-
constructor(renderer, elementRef, sanitizer, iconSet) {
|
|
22
|
-
this.renderer = renderer;
|
|
23
|
-
this.elementRef = elementRef;
|
|
24
|
-
this.sanitizer = sanitizer;
|
|
25
|
-
this.iconSet = iconSet;
|
|
26
|
-
this.attributes = { role: 'img' };
|
|
27
|
-
this.size = '';
|
|
28
|
-
this.use = '';
|
|
29
|
-
this.customClasses = '';
|
|
30
|
-
this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
|
|
64
|
+
return this._viewBox ?? this.scale();
|
|
31
65
|
}
|
|
32
66
|
ngAfterViewInit() {
|
|
33
|
-
this
|
|
34
|
-
this
|
|
67
|
+
this.#elementRef.nativeElement.classList.forEach((item) => {
|
|
68
|
+
this.#renderer.addClass(this.svgElementRef.nativeElement, item);
|
|
35
69
|
});
|
|
36
|
-
const parentElement = this
|
|
70
|
+
const parentElement = this.#renderer.parentNode(this.#elementRef.nativeElement);
|
|
37
71
|
const svgElement = this.svgElementRef.nativeElement;
|
|
38
|
-
this
|
|
39
|
-
this
|
|
72
|
+
this.#renderer.insertBefore(parentElement, svgElement, this.#elementRef.nativeElement);
|
|
73
|
+
this.#renderer.removeChild(parentElement, this.#elementRef.nativeElement);
|
|
40
74
|
}
|
|
41
75
|
get titleCode() {
|
|
42
76
|
return this.title ? `<title>${this.title}</title>` : '';
|
|
43
77
|
}
|
|
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
|
-
}
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
get scale() {
|
|
58
|
-
return Array.isArray(this.code) && this.code.length > 1 ? `0 0 ${this.code[0]}` : '0 0 64 64';
|
|
59
|
-
}
|
|
60
78
|
get computedSize() {
|
|
61
79
|
const addCustom = !this.size && (this.width || this.height);
|
|
62
80
|
return this.size === 'custom' || addCustom ? 'custom-size' : this.size;
|
|
@@ -66,20 +84,19 @@ export class IconComponent {
|
|
|
66
84
|
icon: true,
|
|
67
85
|
[`icon-${this.computedSize}`]: !!this.computedSize
|
|
68
86
|
};
|
|
69
|
-
return
|
|
70
|
-
}
|
|
71
|
-
toCamelCase(str) {
|
|
72
|
-
return toCamelCase(str);
|
|
87
|
+
return this.customClasses ?? classes;
|
|
73
88
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
75
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: IconComponent, isStandalone: true, selector: "c-icon", inputs: { content: "content", attributes: "attributes", customClasses: "customClasses", size: "size", title: "title", use: "use", height: "height", width: "width", name: ["name", "name", transformName], viewBox: "viewBox" }, host: { attributes: { "ngSkipHydration": "true" } }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, read: ElementRef }], exportAs: ["cIconComponent"], ngImport: i0, template: "@if (!use && !!code) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [attr.viewBox]=\"viewBox\"\n [innerHtml]=\"innerHtml()\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use\"></use>\n </svg>\n}\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"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] }); }
|
|
76
91
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconComponent, decorators: [{
|
|
78
93
|
type: Component,
|
|
79
|
-
args: [{
|
|
80
|
-
}], ctorParameters: () => [
|
|
94
|
+
args: [{ exportAs: 'cIconComponent', imports: [NgClass, HtmlAttributesDirective], selector: 'c-icon', standalone: true, host: { ngSkipHydration: 'true' }, template: "@if (!use && !!code) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [attr.viewBox]=\"viewBox\"\n [innerHtml]=\"innerHtml()\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n </svg>\n} @else if (use) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n aria-hidden=\"true\"\n pointer-events=\"none\"\n role=\"img\"\n #svgElement\n >\n <use [attr.href]=\"use\"></use>\n </svg>\n}\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"] }]
|
|
95
|
+
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
81
96
|
type: Input
|
|
82
|
-
}],
|
|
97
|
+
}], attributes: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], customClasses: [{
|
|
83
100
|
type: Input
|
|
84
101
|
}], size: [{
|
|
85
102
|
type: Input
|
|
@@ -87,19 +104,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
87
104
|
type: Input
|
|
88
105
|
}], use: [{
|
|
89
106
|
type: Input
|
|
90
|
-
}],
|
|
107
|
+
}], height: [{
|
|
91
108
|
type: Input
|
|
92
109
|
}], width: [{
|
|
93
110
|
type: Input
|
|
94
|
-
}], height: [{
|
|
95
|
-
type: Input
|
|
96
111
|
}], name: [{
|
|
97
112
|
type: Input,
|
|
98
|
-
args: [{ transform:
|
|
113
|
+
args: [{ transform: transformName }]
|
|
99
114
|
}], viewBox: [{
|
|
100
115
|
type: Input
|
|
101
116
|
}], svgElementRef: [{
|
|
102
117
|
type: ViewChild,
|
|
103
118
|
args: ['svgElement', { read: ElementRef }]
|
|
104
119
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBVzNDLE1BQU0sT0FBTyxhQUFhO0lBYXhCLElBQ0ksT0FBTyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFNRCxJQUFJLFNBQVM7UUFDWCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2Rix1QkFBdUI7UUFDdkIseUVBQXlFO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUks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c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRThGLElBQUk7c0JBQXZHLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFHOUYsT0FBTztzQkFEVixLQUFLO2dCQVd5QyxhQUFhO3NCQUEzRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2h0bWwtYXR0ci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvblNldFNlcnZpY2UgfSBmcm9tICcuLi9pY29uLXNldCc7XG5pbXBvcnQgeyBJY29uU2l6ZSwgSUljb24gfSBmcm9tICcuL2ljb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSAnLi9pY29uLnV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50LnN2ZycsXG4gIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfVxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgSUljb24sIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM6IGFueSA9IHsgcm9sZTogJ2ltZycgfTtcbiAgQElucHV0KCkgY29udGVudD86IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W107XG4gIEBJbnB1dCgpIHNpemU6IEljb25TaXplID0gJyc7XG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSB1c2UgPSAnJztcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gPSAnJztcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZSAmJiB2YWx1ZS5pbmNsdWRlcygnLScpID8gdG9DYW1lbENhc2UodmFsdWUpIDogdmFsdWUgfSkgbmFtZSE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzZXQgdmlld0JveCh2aWV3Qm94OiBzdHJpbmcpIHtcbiAgICB0aGlzLl92aWV3Qm94ID0gdmlld0JveDtcbiAgfVxuXG4gIGdldCB2aWV3Qm94KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdCb3ggPz8gdGhpcy5zY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXdCb3ghOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnc3ZnRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzdmdFbGVtZW50UmVmITogRWxlbWVudFJlZjtcblxuICBnZXQgaW5uZXJIdG1sKCk6IFNhZmVIdG1sIHtcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpID8gdGhpcy5jb2RlWzFdIHx8IHRoaXMuY29kZVswXSA6IHRoaXMuY29kZSA/PyAnJztcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxuICAgIC8vIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoKHRoaXMudGl0bGVDb2RlICsgY29kZSkgPz8gJycpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgaWNvblNldDogSWNvblNldFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5mb3JFYWNoKChpdGVtOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5zdmdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGl0ZW0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSB0aGlzLnN2Z0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnRFbGVtZW50LCBzdmdFbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChwYXJlbnRFbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBnZXQgdGl0bGVDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUgPyBgPHRpdGxlPiR7dGhpcy50aXRsZX08L3RpdGxlPmAgOiAnJztcbiAgfVxuXG4gIGdldCBjb2RlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jb250ZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250ZW50O1xuICAgIH1cbiAgICBpZiAodGhpcy5pY29uU2V0ICYmIHRoaXMubmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblNldC5nZXRJY29uKHRoaXMubmFtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm5hbWUgJiYgIXRoaXMuaWNvblNldD8uaWNvbnNbdGhpcy5uYW1lXSkge1xuICAgICAgY29uc29sZS53YXJuKGBjLWljb24gY29tcG9uZW50OiBpY29uIG5hbWUgJyR7dGhpcy5uYW1lfScgZG9lcyBub3QgZXhpc3QgZm9yIEljb25TZXQgc2VydmljZS4gYCArXG4gICAgICAgIGBUbyB1c2UgaWNvbiBieSAnbmFtZScgcHJvcCB5b3UgbmVlZCB0byBhZGQgaXQgdG8gSWNvblNldCBzZXJ2aWNlLiBcXG5gLFxuICAgICAgICB0aGlzLm5hbWVcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpICYmIHRoaXMuY29kZS5sZW5ndGggPiAxID8gYDAgMCAke3RoaXMuY29kZVswXX1gIDogJzAgMCA2NCA2NCc7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRTaXplKCk6IEV4Y2x1ZGU8SWNvblNpemUsICdjdXN0b20nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGljb246IHRydWUsXG4gICAgICBbYGljb24tJHt0aGlzLmNvbXB1dGVkU2l6ZX1gXTogISF0aGlzLmNvbXB1dGVkU2l6ZVxuICAgIH07XG4gICAgcmV0dXJuICF0aGlzLmN1c3RvbUNsYXNzZXMgPyBjbGFzc2VzIDogdGhpcy5jdXN0b21DbGFzc2VzO1xuICB9XG5cbiAgdG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0b0NhbWVsQ2FzZShzdHIpO1xuICB9XG59XG4iLCJAaWYgKCF1c2UgJiYgISFjb2RlKSB7XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXG4gICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXG4gICAgW2F0dHIudmlld0JveF09XCJ2aWV3Qm94XCJcbiAgICBbaW5uZXJIdG1sXT1cImlubmVySHRtbFwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICAjc3ZnRWxlbWVudFxuICA+XG4gIDwvc3ZnPlxufSBAZWxzZSBpZiAodXNlKSB7XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXG4gICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICAjc3ZnRWxlbWVudFxuICA+XG4gICAgPHVzZSBbYXR0ci5ocmVmXT1cInVzZVwiPjwvdXNlPlxuICA8L3N2Zz5cbn1cbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVk3QyxNQUFNLE9BQU8sYUFBYTtJQUVmLFNBQVMsQ0FBcUI7SUFDOUIsV0FBVyxDQUFzQjtJQUNqQyxVQUFVLENBQXdCO0lBQ2xDLFFBQVEsQ0FBMEI7SUFFM0M7UUFMUyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQVdsQyxhQUFRLEdBQUcsTUFBTSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUVqRCxlQUFVLEdBQVEsRUFBRSxJQUFJLEVB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akIsTUFBTSxPQUFPLEdBQUc7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLENBQUMsUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7U0FDbkQsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUM7SUFDdkMsQ0FBQzs4R0F0R1UsYUFBYTtrR0FBYixhQUFhLHFPQTBCSixhQUFhLDhMQXNCQSxVQUFVLDJEQzdFN0MseXRCQThCQSxpdkNEVFksT0FBTyxvRkFBRSx1QkFBdUI7OzJGQVEvQixhQUFhO2tCQVZ6QixTQUFTOytCQUNFLGdCQUFnQixXQUNqQixDQUFDLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxZQUNqQyxRQUFRLGNBQ04sSUFBSSxRQUlWLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRTt3REFjN0IsT0FBTztzQkFEVixLQUFLO2dCQU9HLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7Z0JBWS9CLE9BQU87c0JBRFYsS0FBSztnQkFXeUMsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkL2h0bWwtYXR0ci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvblNldFNlcnZpY2UgfSBmcm9tICcuLi9pY29uLXNldCc7XG5pbXBvcnQgeyBJY29uU2l6ZSwgSUljb24gfSBmcm9tICcuL2ljb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRyYW5zZm9ybU5hbWUgfSBmcm9tICcuL2ljb24udXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgZXhwb3J0QXM6ICdjSWNvbkNvbXBvbmVudCcsXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnYy1pY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuc3ZnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfVxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgSUljb24sIEFmdGVyVmlld0luaXQge1xuXG4gIHJlYWRvbmx5ICNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3Nhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICByZWFkb25seSAjaWNvblNldCA9IGluamVjdChJY29uU2V0U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgY29udGVudCh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXSkge1xuICAgIHRoaXMuI2NvbnRlbnQuc2V0KHZhbHVlKTtcbiAgfTtcblxuICByZWFkb25seSAjY29udGVudCA9IHNpZ25hbDxzdHJpbmcgfCBzdHJpbmdbXSB8IGFueVtdPignJyk7XG5cbiAgQElucHV0KCkgYXR0cmlidXRlczogYW55ID0geyByb2xlOiAnaW1nJyB9O1xuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfTtcbiAgQElucHV0KCkgc2l6ZTogSWNvblNpemUgPSAnJztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVzZSA9ICcnO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdpZHRoPzogc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogdHJhbnNmb3JtTmFtZSB9KVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy4jbmFtZS5zZXQodmFsdWUpO1xuICB9O1xuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLiNuYW1lKCk7XG4gIH1cblxuICByZWFkb25seSAjbmFtZSA9IHNpZ25hbCgnJyk7XG5cbiAgQElucHV0KClcbiAgc2V0IHZpZXdCb3godmlld0JveDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmlld0JveCA9IHZpZXdCb3g7XG4gIH1cblxuICBnZXQgdmlld0JveCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92aWV3Qm94ID8/IHRoaXMuc2NhbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXdCb3ghOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnc3ZnRWxlbWVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzdmdFbGVtZW50UmVmITogRWxlbWVudFJlZjtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5mb3JFYWNoKChpdGVtOiBzdHJpbmcpID0+IHtcbiAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuc3ZnRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpdGVtKTtcbiAgICB9KTtcbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy4jcmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSB0aGlzLnN2Z0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLiNyZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50RWxlbWVudCwgc3ZnRWxlbWVudCwgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLiNyZW5kZXJlci5yZW1vdmVDaGlsZChwYXJlbnRFbGVtZW50LCB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcmVhZG9ubHkgaW5uZXJIdG1sID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvZGUgPSBBcnJheS5pc0FycmF5KHRoaXMuY29kZSgpKSA/ICh0aGlzLmNvZGUoKVsxXSA/PyB0aGlzLmNvZGUoKVswXSA/PyAnJykgOiB0aGlzLmNvZGUoKSB8fCAnJztcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxuICAgIC8vIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlKTtcbiAgICByZXR1cm4gdGhpcy4jc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCh0aGlzLnRpdGxlQ29kZSArIGNvZGUpIHx8ICcnKTtcbiAgfSk7XG5cbiAgZ2V0IHRpdGxlQ29kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRpdGxlID8gYDx0aXRsZT4ke3RoaXMudGl0bGV9PC90aXRsZT5gIDogJyc7XG4gIH1cblxuICByZWFkb25seSBjb2RlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLiNjb250ZW50KCkpIHtcbiAgICAgIHJldHVybiB0aGlzLiNjb250ZW50KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLiNpY29uU2V0ICYmIHRoaXMuI25hbWUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuI2ljb25TZXQuZ2V0SWNvbih0aGlzLiNuYW1lKCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy4jbmFtZSgpICYmICF0aGlzLiNpY29uU2V0Py5pY29uc1t0aGlzLiNuYW1lKCldKSB7XG4gICAgICBjb25zb2xlLndhcm4oYGMtaWNvbiBjb21wb25lbnQ6IGljb24gbmFtZSAnJHt0aGlzLiNuYW1lKCl9JyBkb2VzIG5vdCBleGlzdCBmb3IgSWNvblNldCBzZXJ2aWNlLiBgICtcbiAgICAgICAgYFRvIHVzZSBpY29uIGJ5ICduYW1lJyBwcm9wIHlvdSBuZWVkIHRvIGFkZCBpdCB0byBJY29uU2V0IHNlcnZpY2UuIFxcbmAsXG4gICAgICAgIHRoaXMuI25hbWUoKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9KTtcblxuICByZWFkb25seSBzY2FsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUoKSkgJiYgdGhpcy5jb2RlKCkubGVuZ3RoID4gMSA/IGAwIDAgJHt0aGlzLmNvZGUoKVswXX1gIDogJzAgMCA2NCA2NCc7XG4gIH0pO1xuXG4gIGdldCBjb21wdXRlZFNpemUoKTogRXhjbHVkZTxJY29uU2l6ZSwgJ2N1c3RvbSc+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhZGRDdXN0b20gPSAhdGhpcy5zaXplICYmICh0aGlzLndpZHRoIHx8IHRoaXMuaGVpZ2h0KTtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnY3VzdG9tJyB8fCBhZGRDdXN0b20gPyAnY3VzdG9tLXNpemUnIDogdGhpcy5zaXplO1xuICB9XG5cbiAgZ2V0IGNvbXB1dGVkQ2xhc3NlcygpIHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgaWNvbjogdHJ1ZSxcbiAgICAgIFtgaWNvbi0ke3RoaXMuY29tcHV0ZWRTaXplfWBdOiAhIXRoaXMuY29tcHV0ZWRTaXplXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5jdXN0b21DbGFzc2VzID8/IGNsYXNzZXM7XG4gIH1cblxufVxuIiwiQGlmICghdXNlICYmICEhY29kZSkge1xuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgW2F0dHIud2lkdGhdPVwid2lkdGhcIlxuICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHQgfHwgd2lkdGhcIlxuICAgIFthdHRyLnZpZXdCb3hdPVwidmlld0JveFwiXG4gICAgW2lubmVySHRtbF09XCJpbm5lckh0bWwoKVwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICAjc3ZnRWxlbWVudFxuICA+XG4gIDwvc3ZnPlxufSBAZWxzZSBpZiAodXNlKSB7XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXG4gICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXG4gICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICByb2xlPVwiaW1nXCJcbiAgICAjc3ZnRWxlbWVudFxuICA+XG4gICAgPHVzZSBbYXR0ci5ocmVmXT1cInVzZVwiPjwvdXNlPlxuICA8L3N2Zz5cbn1cbiJdfQ==
|
|
@@ -1,61 +1,76 @@
|
|
|
1
|
-
import { afterNextRender, AfterRenderPhase, Directive, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { afterNextRender, AfterRenderPhase, computed, Directive, ElementRef, HostBinding, inject, Input, signal } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import { IconSetService } from '../icon-set';
|
|
4
|
+
import { transformName } from './icon.utils';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/platform-browser";
|
|
5
|
-
import * as i2 from "../icon-set";
|
|
6
6
|
export class IconDirective {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
icon: true,
|
|
16
|
-
[`icon-${this.computedSize}`]: !!this.computedSize
|
|
17
|
-
};
|
|
18
|
-
return this.customClasses ?? classes;
|
|
19
|
-
}
|
|
20
|
-
// @HostBinding('innerHtml')
|
|
21
|
-
get innerHtml() {
|
|
22
|
-
const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
|
|
23
|
-
// todo proper sanitize
|
|
24
|
-
// const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
|
|
25
|
-
return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
|
|
26
|
-
}
|
|
27
|
-
constructor(renderer, elementRef, sanitizer, iconSet) {
|
|
28
|
-
this.renderer = renderer;
|
|
29
|
-
this.elementRef = elementRef;
|
|
30
|
-
this.sanitizer = sanitizer;
|
|
31
|
-
this.iconSet = iconSet;
|
|
7
|
+
#elementRef;
|
|
8
|
+
#sanitizer;
|
|
9
|
+
#iconSet;
|
|
10
|
+
constructor() {
|
|
11
|
+
this.#elementRef = inject(ElementRef);
|
|
12
|
+
this.#sanitizer = inject(DomSanitizer);
|
|
13
|
+
this.#iconSet = inject(IconSetService);
|
|
14
|
+
this.#content = signal('');
|
|
32
15
|
this.size = '';
|
|
16
|
+
this.#name = signal('');
|
|
33
17
|
this.ariaHidden = true;
|
|
34
18
|
this.xmlns = 'http://www.w3.org/2000/svg';
|
|
35
19
|
this.pointerEvents = 'none';
|
|
36
20
|
this.role = 'img';
|
|
21
|
+
this.innerHtml = computed(() => {
|
|
22
|
+
const code = Array.isArray(this.code()) ? (this.code()[1] ?? this.code()[0] ?? '') : this.code() || '';
|
|
23
|
+
// todo proper sanitize
|
|
24
|
+
// const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
|
|
25
|
+
return this.#sanitizer.bypassSecurityTrustHtml((this.titleCode + code) || '');
|
|
26
|
+
});
|
|
27
|
+
this.code = computed(() => {
|
|
28
|
+
if (this.#content()) {
|
|
29
|
+
return this.#content();
|
|
30
|
+
}
|
|
31
|
+
if (this.#iconSet && this.#name()) {
|
|
32
|
+
return this.#iconSet.getIcon(this.#name());
|
|
33
|
+
}
|
|
34
|
+
if (this.#name() && !this.#iconSet?.icons[this.#name()]) {
|
|
35
|
+
console.warn(`c-icon component: icon name '${this.#name()}' does not exist for IconSet service. ` +
|
|
36
|
+
`To use icon by 'name' prop you need to add it to IconSet service. \n`, this.#name());
|
|
37
|
+
}
|
|
38
|
+
return '';
|
|
39
|
+
});
|
|
40
|
+
this.scale = computed(() => {
|
|
41
|
+
return Array.isArray(this.code()) && this.code().length > 1 ? `0 0 ${this.code()[0]}` : '0 0 64 64';
|
|
42
|
+
});
|
|
37
43
|
afterNextRender(() => {
|
|
38
|
-
this
|
|
44
|
+
this.#elementRef.nativeElement.innerHTML = this.innerHtml();
|
|
39
45
|
}, { phase: AfterRenderPhase.Write });
|
|
40
46
|
}
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
set content(value) {
|
|
48
|
+
this.#content.set(value);
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
}
|
|
55
|
-
return undefined;
|
|
50
|
+
;
|
|
51
|
+
#content;
|
|
52
|
+
set name(value) {
|
|
53
|
+
this.#name.set(value);
|
|
56
54
|
}
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
;
|
|
56
|
+
get name() {
|
|
57
|
+
return this.#name();
|
|
58
|
+
}
|
|
59
|
+
#name;
|
|
60
|
+
set viewBox(viewBox) {
|
|
61
|
+
this._viewBox = viewBox;
|
|
62
|
+
}
|
|
63
|
+
get viewBox() {
|
|
64
|
+
return this._viewBox ?? this.scale();
|
|
65
|
+
}
|
|
66
|
+
get hostClasses() {
|
|
67
|
+
return this.computedClasses;
|
|
68
|
+
}
|
|
69
|
+
get bindInnerHtml() {
|
|
70
|
+
return this.innerHtml();
|
|
71
|
+
}
|
|
72
|
+
get titleCode() {
|
|
73
|
+
return this.title ? `<title>${this.title}</title>` : '';
|
|
59
74
|
}
|
|
60
75
|
get computedSize() {
|
|
61
76
|
const addCustom = !this.size && (this.width || this.height);
|
|
@@ -66,37 +81,34 @@ export class IconDirective {
|
|
|
66
81
|
icon: true,
|
|
67
82
|
[`icon-${this.computedSize}`]: !!this.computedSize
|
|
68
83
|
};
|
|
69
|
-
return
|
|
70
|
-
}
|
|
71
|
-
toCamelCase(str) {
|
|
72
|
-
return toCamelCase(str);
|
|
84
|
+
return this.customClasses ?? classes;
|
|
73
85
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
75
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
87
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.4", type: IconDirective, isStandalone: true, selector: "svg[cIcon]", inputs: { content: ["cIcon", "content"], customClasses: "customClasses", size: "size", title: "title", height: "height", width: "width", name: ["name", "name", transformName], viewBox: "viewBox", xmlns: "xmlns", pointerEvents: ["pointer-events", "pointerEvents"], role: "role" }, host: { properties: { "attr.viewBox": "this.viewBox", "attr.aria-hidden": "this.ariaHidden", "attr.xmlns": "this.xmlns", "attr.pointer-events": "this.pointerEvents", "attr.role": "this.role", "class": "this.hostClasses", "innerHtml": "this.bindInnerHtml" } }, exportAs: ["cIcon"], ngImport: i0 }); }
|
|
76
88
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconDirective, decorators: [{
|
|
78
90
|
type: Directive,
|
|
79
91
|
args: [{
|
|
80
|
-
selector: 'svg[cIcon]',
|
|
81
92
|
exportAs: 'cIcon',
|
|
93
|
+
selector: 'svg[cIcon]',
|
|
82
94
|
standalone: true
|
|
83
95
|
}]
|
|
84
|
-
}], ctorParameters: () => [
|
|
96
|
+
}], ctorParameters: () => [], propDecorators: { content: [{
|
|
85
97
|
type: Input,
|
|
86
98
|
args: ['cIcon']
|
|
99
|
+
}], customClasses: [{
|
|
100
|
+
type: Input
|
|
87
101
|
}], size: [{
|
|
88
102
|
type: Input
|
|
89
103
|
}], title: [{
|
|
90
104
|
type: Input
|
|
91
|
-
}],
|
|
105
|
+
}], height: [{
|
|
92
106
|
type: Input
|
|
93
107
|
}], width: [{
|
|
94
108
|
type: Input
|
|
95
|
-
}], height: [{
|
|
96
|
-
type: Input
|
|
97
109
|
}], name: [{
|
|
98
110
|
type: Input,
|
|
99
|
-
args: [{ transform:
|
|
111
|
+
args: [{ transform: transformName }]
|
|
100
112
|
}], viewBox: [{
|
|
101
113
|
type: HostBinding,
|
|
102
114
|
args: ['attr.viewBox']
|
|
@@ -124,5 +136,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
124
136
|
}], hostClasses: [{
|
|
125
137
|
type: HostBinding,
|
|
126
138
|
args: ['class']
|
|
139
|
+
}], bindInnerHtml: [{
|
|
140
|
+
type: HostBinding,
|
|
141
|
+
args: ['innerHtml']
|
|
127
142
|
}] } });
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUt4SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBTzNDLE1BQU0sT0FBTyxhQUFhO0lBV3hCLElBRUksT0FBTyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFlRCxJQUNJLFdBQVc7UUFDYixNQUFNLE9BQU8sR0FBRztZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsQ0FBQyxRQUFRLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWTtTQUNuRCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLElBQUksU0FBUztRQUNYLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZGLHVCQUF1QjtRQUN2Qix5RUFBeUU7UUFDekUsT0FB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ZXNDb250ZW50IjpbImltcG9ydCB7IGFmdGVyTmV4dFJlbmRlciwgQWZ0ZXJSZW5kZXJQaGFzZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEljb25TZXRTZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi1zZXQnO1xuaW1wb3J0IHsgSWNvblNpemUsIElJY29uIH0gZnJvbSAnLi9pY29uLmludGVyZmFjZSc7XG5pbXBvcnQgeyB0b0NhbWVsQ2FzZSB9IGZyb20gJy4vaWNvbi51dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3N2Z1tjSWNvbl0nLFxuICBleHBvcnRBczogJ2NJY29uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBJY29uRGlyZWN0aXZlIGltcGxlbWVudHMgSUljb24ge1xuXG4gIEBJbnB1dCgnY0ljb24nKSBjb250ZW50Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXTtcbiAgQElucHV0KCkgc2l6ZTogSWNvblNpemUgPSAnJztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICBASW5wdXQoKSB3aWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgaGVpZ2h0Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlICYmIHZhbHVlLmluY2x1ZGVzKCctJykgPyB0b0NhbWVsQ2FzZSh2YWx1ZSkgOiB2YWx1ZSB9KSBuYW1lITogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci52aWV3Qm94JylcbiAgQElucHV0KClcbiAgc2V0IHZpZXdCb3godmlld0JveDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmlld0JveCA9IHZpZXdCb3g7XG4gIH1cblxuICBnZXQgdmlld0JveCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92aWV3Qm94ID8/IHRoaXMuc2NhbGU7XG4gIH1cblxuICBwcml2YXRlIF92aWV3Qm94ITogc3RyaW5nO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGFyaWFIaWRkZW4gPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci54bWxucycpXG4gIEBJbnB1dCgpIHhtbG5zID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucG9pbnRlci1ldmVudHMnKVxuICBASW5wdXQoJ3BvaW50ZXItZXZlbnRzJykgcG9pbnRlckV2ZW50cyA9ICdub25lJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIEBJbnB1dCgpIHJvbGUgPSAnaW1nJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBpY29uOiB0cnVlLFxuICAgICAgW2BpY29uLSR7dGhpcy5jb21wdXRlZFNpemV9YF06ICEhdGhpcy5jb21wdXRlZFNpemVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmN1c3RvbUNsYXNzZXMgPz8gY2xhc3NlcztcbiAgfVxuXG4gIC8vIEBIb3N0QmluZGluZygnaW5uZXJIdG1sJylcbiAgZ2V0IGlubmVySHRtbCgpIHtcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpID8gdGhpcy5jb2RlWzFdIHx8IHRoaXMuY29kZVswXSA6IHRoaXMuY29kZSA/PyAnJztcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxuICAgIC8vIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoKHRoaXMudGl0bGVDb2RlICsgY29kZSkgPz8gJycpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgaWNvblNldDogSWNvblNldFNlcnZpY2VcbiAgKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuaW5uZXJIdG1sO1xuICAgIH0sIHsgcGhhc2U6IEFmdGVyUmVuZGVyUGhhc2UuV3JpdGUgfSk7XG4gIH1cblxuICBnZXQgdGl0bGVDb2RlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGUgPyBgPHRpdGxlPiR7dGhpcy50aXRsZX08L3RpdGxlPmAgOiAnJztcbiAgfVxuXG4gIGdldCBjb2RlKCk6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jb250ZW50KSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250ZW50O1xuICAgIH1cbiAgICBpZiAodGhpcy5pY29uU2V0ICYmIHRoaXMubmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblNldC5nZXRJY29uKHRoaXMubmFtZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm5hbWUgJiYgIXRoaXMuaWNvblNldD8uaWNvbnNbdGhpcy5uYW1lXSkge1xuICAgICAgY29uc29sZS53YXJuKGBjLWljb24gY29tcG9uZW50OiBpY29uIG5hbWUgJyR7dGhpcy5uYW1lfScgZG9lcyBub3QgZXhpc3QgZm9yIEljb25TZXQgc2VydmljZS4gYCArXG4gICAgICAgIGBUbyB1c2UgaWNvbiBieSAnbmFtZScgcHJvcCB5b3UgbmVlZCB0byBhZGQgaXQgdG8gSWNvblNldCBzZXJ2aWNlLiBcXG5gLFxuICAgICAgICB0aGlzLm5hbWVcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpICYmIHRoaXMuY29kZS5sZW5ndGggPiAxID8gYDAgMCAke3RoaXMuY29kZVswXX1gIDogJzAgMCA2NCA2NCc7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRTaXplKCk6IEV4Y2x1ZGU8SWNvblNpemUsICdjdXN0b20nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGljb246IHRydWUsXG4gICAgICBbYGljb24tJHt0aGlzLmNvbXB1dGVkU2l6ZX1gXTogISF0aGlzLmNvbXB1dGVkU2l6ZVxuICAgIH07XG4gICAgcmV0dXJuICF0aGlzLmN1c3RvbUNsYXNzZXMgPyBjbGFzc2VzIDogdGhpcy5jdXN0b21DbGFzc2VzO1xuICB9XG5cbiAgdG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0b0NhbWVsQ2FzZShzdHIpO1xuICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBTzdDLE1BQU0sT0FBTyxhQUFhO0lBRWYsV0FBVyxDQUFzQjtJQUNqQyxVQUFVLENBQXdCO0lBQ2xDLFFBQVEsQ0FBMEI7SUFFM0M7UUFKUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFhbEMsYUFBUSxHQUFHLE1BQU0sQ0FBNEIsRUFBRSxDQUFDLENBQUM7UUFHakQsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQWNwQixVQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBY0ssZUFBVSxHQUFHLElBQUksQ0FBQztRQUcxQyxVQUFLLEdBQUcsNEJBQTRCLENBQUM7UUFHckIsa0JBQWEsR0FBRyxNQUFNLENBQUM7UUFHdkMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQVliLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxP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YSxFQUFFO2dCQWEvQixPQUFPO3NCQUZWLFdBQVc7dUJBQUMsY0FBYzs7c0JBQzFCLEtBQUs7Z0JBVzJCLFVBQVU7c0JBQTFDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUd0QixLQUFLO3NCQURiLFdBQVc7dUJBQUMsWUFBWTs7c0JBQ3hCLEtBQUs7Z0JBR21CLGFBQWE7c0JBRHJDLFdBQVc7dUJBQUMscUJBQXFCOztzQkFDakMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBR2QsSUFBSTtzQkFEWixXQUFXO3VCQUFDLFdBQVc7O3NCQUN2QixLQUFLO2dCQUdGLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQU1oQixhQUFhO3NCQURoQixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhZnRlck5leHRSZW5kZXIsXG4gIEFmdGVyUmVuZGVyUGhhc2UsXG4gIGNvbXB1dGVkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgSWNvblNldFNlcnZpY2UgfSBmcm9tICcuLi9pY29uLXNldCc7XG5pbXBvcnQgeyBJY29uU2l6ZSwgSUljb24gfSBmcm9tICcuL2ljb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHRyYW5zZm9ybU5hbWUgfSBmcm9tICcuL2ljb24udXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICdjSWNvbicsXG4gIHNlbGVjdG9yOiAnc3ZnW2NJY29uXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIElJY29uIHtcblxuICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3Nhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICByZWFkb25seSAjaWNvblNldCA9IGluamVjdChJY29uU2V0U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmlubmVySHRtbCgpO1xuICAgIH0sIHsgcGhhc2U6IEFmdGVyUmVuZGVyUGhhc2UuV3JpdGUgfSk7XG4gIH1cblxuICBASW5wdXQoJ2NJY29uJylcbiAgc2V0IGNvbnRlbnQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W10pIHtcbiAgICB0aGlzLiNjb250ZW50LnNldCh2YWx1ZSk7XG4gIH07XG5cbiAgcmVhZG9ubHkgI2NvbnRlbnQgPSBzaWduYWw8c3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXT4oJycpO1xuXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXM/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2xhc3M6IHN0cmluZ106IGFueSB9O1xuICBASW5wdXQoKSBzaXplOiBJY29uU2l6ZSA9ICcnO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgaGVpZ2h0Pzogc3RyaW5nO1xuICBASW5wdXQoKSB3aWR0aD86IHN0cmluZztcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IHRyYW5zZm9ybU5hbWUgfSlcbiAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuI25hbWUuc2V0KHZhbHVlKTtcbiAgfTtcblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jbmFtZSgpO1xuICB9XG5cbiAgcmVhZG9ubHkgI25hbWUgPSBzaWduYWwoJycpO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci52aWV3Qm94JylcbiAgQElucHV0KClcbiAgc2V0IHZpZXdCb3godmlld0JveDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmlld0JveCA9IHZpZXdCb3g7XG4gIH1cblxuICBnZXQgdmlld0JveCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl92aWV3Qm94ID8/IHRoaXMuc2NhbGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXdCb3ghOiBzdHJpbmc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYUhpZGRlbiA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnhtbG5zJylcbiAgQElucHV0KCkgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5wb2ludGVyLWV2ZW50cycpXG4gIEBJbnB1dCgncG9pbnRlci1ldmVudHMnKSBwb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgQElucHV0KCkgcm9sZSA9ICdpbWcnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRDbGFzc2VzO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckh0bWwnKVxuICBnZXQgYmluZElubmVySHRtbCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lckh0bWwoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IGlubmVySHRtbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb2RlID0gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUoKSkgPyAodGhpcy5jb2RlKClbMV0gPz8gdGhpcy5jb2RlKClbMF0gPz8gJycpIDogdGhpcy5jb2RlKCkgfHwgJyc7XG4gICAgLy8gdG9kbyBwcm9wZXIgc2FuaXRpemVcbiAgICAvLyBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuI3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCgodGhpcy50aXRsZUNvZGUgKyBjb2RlKSB8fCAnJyk7XG4gIH0pO1xuXG4gIGdldCB0aXRsZUNvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSA/IGA8dGl0bGU+JHt0aGlzLnRpdGxlfTwvdGl0bGU+YCA6ICcnO1xuICB9XG5cbiAgcmVhZG9ubHkgY29kZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy4jY29udGVudCgpKSB7XG4gICAgICByZXR1cm4gdGhpcy4jY29udGVudCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy4jaWNvblNldCAmJiB0aGlzLiNuYW1lKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLiNpY29uU2V0LmdldEljb24odGhpcy4jbmFtZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuI25hbWUoKSAmJiAhdGhpcy4jaWNvblNldD8uaWNvbnNbdGhpcy4jbmFtZSgpXSkge1xuICAgICAgY29uc29sZS53YXJuKGBjLWljb24gY29tcG9uZW50OiBpY29uIG5hbWUgJyR7dGhpcy4jbmFtZSgpfScgZG9lcyBub3QgZXhpc3QgZm9yIEljb25TZXQgc2VydmljZS4gYCArXG4gICAgICAgIGBUbyB1c2UgaWNvbiBieSAnbmFtZScgcHJvcCB5b3UgbmVlZCB0byBhZGQgaXQgdG8gSWNvblNldCBzZXJ2aWNlLiBcXG5gLFxuICAgICAgICB0aGlzLiNuYW1lKClcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2NhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKCkpICYmIHRoaXMuY29kZSgpLmxlbmd0aCA+IDEgPyBgMCAwICR7dGhpcy5jb2RlKClbMF19YCA6ICcwIDAgNjQgNjQnO1xuICB9KTtcblxuICBnZXQgY29tcHV0ZWRTaXplKCk6IEV4Y2x1ZGU8SWNvblNpemUsICdjdXN0b20nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKSB7XG4gICAgY29uc3QgY2xhc3NlcyA9IHtcbiAgICAgIGljb246IHRydWUsXG4gICAgICBbYGljb24tJHt0aGlzLmNvbXB1dGVkU2l6ZX1gXTogISF0aGlzLmNvbXB1dGVkU2l6ZVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tQ2xhc3NlcyA/PyBjbGFzc2VzO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -3,13 +3,13 @@ import { IconComponent } from './icon.component';
|
|
|
3
3
|
import { IconDirective } from './icon.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class IconModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: IconModule, imports: [IconComponent,
|
|
8
8
|
IconDirective], exports: [IconComponent,
|
|
9
9
|
IconDirective] }); }
|
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconModule }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export function toCamelCase(
|
|
2
|
-
return
|
|
1
|
+
export function toCamelCase(value) {
|
|
2
|
+
return value.replace(/([-_][a-z0-9])/ig, ($1) => {
|
|
3
3
|
return $1.toUpperCase().replace('-', '');
|
|
4
4
|
});
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
export function transformName(value) {
|
|
7
|
+
return value && value.includes('-') ? toCamelCase(value) : value;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1pY29ucy1hbmd1bGFyL3NyYy9saWIvaWNvbi9pY29uLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBYTtJQUN2QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBRTtRQUN0RCxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYTtJQUN6QyxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWxDYXNlKHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoLyhbLV9dW2EtejAtOV0pL2lnLCAoJDE6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAkMS50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnJyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gIHJldHVybiB2YWx1ZSAmJiB2YWx1ZS5pbmNsdWRlcygnLScpID8gdG9DYW1lbENhc2UodmFsdWUpIDogdmFsdWU7XG59XG4iXX0=
|
|
@@ -15,11 +15,11 @@ export class IconSetModule {
|
|
|
15
15
|
]
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
19
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconSetModule, deps: [{ token: IconSetModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: IconSetModule }); }
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconSetModule, providers: [IconSetService] }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconSetModule, decorators: [{
|
|
23
23
|
type: NgModule,
|
|
24
24
|
args: [{
|
|
25
25
|
providers: [IconSetService]
|
|
@@ -24,10 +24,10 @@ export class IconSetService {
|
|
|
24
24
|
}
|
|
25
25
|
return this.icons[name];
|
|
26
26
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
28
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconSetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconSetService, providedIn: 'root' }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: IconSetService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -37,10 +37,10 @@ export class HtmlAttributesDirective {
|
|
|
37
37
|
this.renderer.setAttribute(this.el.nativeElement, key, value) :
|
|
38
38
|
this.renderer.removeAttribute(this.el.nativeElement, key);
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
41
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlAttributesDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: HtmlAttributesDirective, isStandalone: true, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: "cHtmlAttr" }, exportAs: ["cHtmlAttr"], ngImport: i0 }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
|
|
44
44
|
type: Directive,
|
|
45
45
|
args: [{
|
|
46
46
|
selector: '[cHtmlAttr]',
|