@coreui/icons-angular 4.3.0 → 4.3.7
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/esm2020/coreui-icons-angular.mjs +4 -4
- package/esm2020/lib/icon/icon.component.mjs +110 -110
- package/esm2020/lib/icon/icon.directive.mjs +127 -127
- package/esm2020/lib/icon/icon.interface.mjs +2 -2
- package/esm2020/lib/icon/icon.module.mjs +32 -32
- package/esm2020/lib/icon-set/icon-set.module.mjs +40 -40
- package/esm2020/lib/icon-set/icon-set.service.mjs +37 -37
- package/esm2020/lib/icon-set/index.mjs +2 -2
- package/esm2020/lib/icon-set/public_api.mjs +3 -3
- package/esm2020/lib/shared/html-attr.directive.mjs +51 -51
- package/esm2020/public-api.mjs +9 -9
- package/fesm2015/coreui-icons-angular.mjs +374 -374
- package/fesm2015/coreui-icons-angular.mjs.map +1 -1
- package/fesm2020/coreui-icons-angular.mjs +365 -365
- package/fesm2020/coreui-icons-angular.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/icon/icon.component.d.ts +39 -39
- package/lib/icon/icon.directive.d.ts +41 -41
- package/lib/icon/icon.interface.d.ts +15 -15
- package/lib/icon/icon.module.d.ts +10 -10
- package/lib/icon-set/icon-set.module.d.ts +10 -10
- package/lib/icon-set/icon-set.service.d.ts +17 -17
- package/lib/icon-set/index.d.ts +1 -1
- package/lib/icon-set/public_api.d.ts +2 -2
- package/lib/shared/html-attr.directive.d.ts +16 -16
- package/package.json +1 -1
- package/public-api.d.ts +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZXVpLWljb25zLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvY29yZXVpLWljb25zLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,110 +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";
|
|
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: "15.0
|
|
82
|
-
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0
|
|
84
|
-
type: Component,
|
|
85
|
-
args: [{ selector: 'c-icon', template: "<svg *ngIf=\"(!use) && (!!code)\"\
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVbEcsTUFBTSxPQUFPLGFBQWE7SUFzQ3hCLFlBQ1UsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsU0FBdUIsRUFDdkIsT0FBdUI7UUFIdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUF4Q3hCLGVBQVUsR0FBUSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztRQUVoQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXBCLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxrQkFBYSxHQUFnRSxFQUFFLENBQUM7UUFxQ3ZGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBbENELElBQ0ksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBR0QsSUFDSSxPQUFPLENBQUMsT0FBZTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUtELElBQUksU0FBUztRQUNYLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZGLHVCQUF1QjtRQUN2Qix5RUFBeUU7UUFDekUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBV0QsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsSUFBSSxDQUFDLElBQUksd0NBQXdDO2dCQUM1RixzRUFBc0UsRUFDdEUsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsTUFBTSxPQUFPLEdBQUc7WUFDZCxJQUFJLEVBQUUsSUFBSTtZQUNWLENBQUMsUUFBUSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7U0FDbkQsQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM3RCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDcEQsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzBHQWpHVSxhQUFhOzhGQUFiLGFBQWEsOFVBNkJRLFVBQVUsNkJDdkM1Qyxxc0JBeUJBOzJGRGZhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsUUFBUTtpTEFNVCxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFTdUMsYUFBYTtzQkFBekQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBJY29uU2V0U2VydmljZSB9IGZyb20gJy4uL2ljb24tc2V0JztcclxuaW1wb3J0IHsgSWNvblNpemUsIElJY29uIH0gZnJvbSAnLi9pY29uLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtaWNvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50LnN2ZycsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgSUljb24sIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSBhdHRyaWJ1dGVzOiBhbnkgPSB7cm9sZTogJ2ltZyd9O1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQ/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNpemU6IEljb25TaXplID0gJyc7XHJcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXNlID0gJyc7XHJcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gPSAnJztcclxuICBASW5wdXQoKSB3aWR0aD86IHN0cmluZztcclxuICBASW5wdXQoKSBoZWlnaHQ/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9uYW1lID0gbmFtZS5pbmNsdWRlcygnLScpID8gdGhpcy50b0NhbWVsQ2FzZShuYW1lKSA6IG5hbWU7XHJcbiAgfVxyXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbmFtZSE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgdmlld0JveCh2aWV3Qm94OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3ZpZXdCb3ggPSB2aWV3Qm94O1xyXG4gIH1cclxuICBnZXQgdmlld0JveCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdCb3ggPz8gdGhpcy5zY2FsZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdmlld0JveCE6IHN0cmluZztcclxuXHJcbiAgQFZpZXdDaGlsZCgnc3ZnRWxlbWVudCcsIHtyZWFkOiBFbGVtZW50UmVmfSkgc3ZnRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGdldCBpbm5lckh0bWwoKTogU2FmZUh0bWwge1xyXG4gICAgY29uc3QgY29kZSA9IEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKSA/IHRoaXMuY29kZVsxXSB8fCB0aGlzLmNvZGVbMF0gOiB0aGlzLmNvZGUgPz8gJyc7XHJcbiAgICAvLyB0b2RvIHByb3BlciBzYW5pdGl6ZVxyXG4gICAgLy8gY29uc3Qgc2FuaXRpemVkID0gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIGNvZGUpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCh0aGlzLnRpdGxlQ29kZSArIGNvZGUpID8/ICcnKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgaWNvblNldDogSWNvblNldFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5mb3JFYWNoKChpdGVtOiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnN2Z0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgY29uc3Qgc3ZnRWxlbWVudCA9IHRoaXMuc3ZnRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50RWxlbWVudCwgc3ZnRWxlbWVudCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChwYXJlbnRFbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdGl0bGVDb2RlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50aXRsZSA/IGA8dGl0bGU+JHt0aGlzLnRpdGxlfTwvdGl0bGU+YCA6ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvZGUoKTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuY29udGVudCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb250ZW50O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaWNvblNldCAmJiB0aGlzLm5hbWUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaWNvblNldC5nZXRJY29uKHRoaXMubmFtZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uYW1lICYmICF0aGlzLmljb25TZXQ/Lmljb25zW3RoaXMubmFtZV0pXHJcbiAgICBjb25zb2xlLndhcm4oYGMtaWNvbiBjb21wb25lbnQ6IGljb24gbmFtZSAnJHt0aGlzLm5hbWV9JyBkb2VzIG5vdCBleGlzdCBmb3IgSWNvblNldCBzZXJ2aWNlLiBgICtcclxuICAgICAgYFRvIHVzZSBpY29uIGJ5ICduYW1lJyBwcm9wIHlvdSBuZWVkIHRvIGFkZCBpdCB0byBJY29uU2V0IHNlcnZpY2UuIFxcbmAsXHJcbiAgICAgIHRoaXMubmFtZVxyXG4gICAgKTtcclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgc2NhbGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuY29kZSkgJiYgdGhpcy5jb2RlLmxlbmd0aCA+IDEgPyBgMCAwICR7dGhpcy5jb2RlWzBdfWAgOiAnMCAwIDY0IDY0JztcclxuICB9XHJcblxyXG4gIGdldCBjb21wdXRlZFNpemUoKTogRXhjbHVkZTxJY29uU2l6ZSwgJ2N1c3RvbSc+IHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGFkZEN1c3RvbSA9ICF0aGlzLnNpemUgJiYgKHRoaXMud2lkdGggfHwgdGhpcy5oZWlnaHQpO1xyXG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcclxuICB9XHJcblxyXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKTogYW55IHtcclxuICAgIGNvbnN0IGNsYXNzZXMgPSB7XHJcbiAgICAgIGljb246IHRydWUsXHJcbiAgICAgIFtgaWNvbi0ke3RoaXMuY29tcHV0ZWRTaXplfWBdOiAhIXRoaXMuY29tcHV0ZWRTaXplXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuICEhdGhpcy5jdXN0b21DbGFzc2VzID8gdGhpcy5jdXN0b21DbGFzc2VzIDogY2xhc3NlcztcclxuICB9XHJcblxyXG4gIHRvQ2FtZWxDYXNlKHN0cjogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFstX11bYS16MC05XSkvaWcsICgkMTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHJldHVybiAkMS50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnJyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHN2ZyAqbmdJZj1cIighdXNlKSAmJiAoISFjb2RlKVwiXHJcbiAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgW2F0dHIud2lkdGhdPVwid2lkdGhcIlxyXG4gICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHQgfHwgd2lkdGhcIlxyXG4gICAgIFthdHRyLnZpZXdCb3hdPVwidmlld0JveFwiXHJcbiAgICAgW2lubmVySHRtbF09XCJpbm5lckh0bWxcIlxyXG4gICAgIFtuZ0NsYXNzXT1cImNvbXB1dGVkQ2xhc3Nlc1wiXHJcbiAgICAgW2NIdG1sQXR0cl09XCJhdHRyaWJ1dGVzXCJcclxuICAgICByb2xlPVwiaW1nXCJcclxuICAgICBwb2ludGVyLWV2ZW50cz1cIm5vbmVcIlxyXG4gICAgICNzdmdFbGVtZW50XHJcbj5cclxuPC9zdmc+XHJcblxyXG48c3ZnICpuZ0lmPVwidXNlXCJcclxuICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXHJcbiAgICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXHJcbiAgICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcclxuICAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxyXG4gICAgIHJvbGU9XCJpbWdcIlxyXG4gICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXHJcbj5cclxuICA8dXNlIFthdHRyLmhyZWZdPVwidXNlXCI+PC91c2U+XHJcbjwvc3ZnPlxyXG4iXX0=
|
|
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";
|
|
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: "15.1.0", 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: "14.0.0", version: "15.1.0", 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)\"\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 role=\"img\"\n pointer-events=\"none\"\n #svgElement\n>\n</svg>\n\n<svg *ngIf=\"use\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n role=\"img\"\n pointer-events=\"none\"\n>\n <use [attr.href]=\"use\"></use>\n</svg>\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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.HtmlAttributesDirective, selector: "[cHtmlAttr]", inputs: ["cHtmlAttr"], exportAs: ["cHtmlAttr"] }] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: IconComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{ selector: 'c-icon', template: "<svg *ngIf=\"(!use) && (!!code)\"\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 role=\"img\"\n pointer-events=\"none\"\n #svgElement\n>\n</svg>\n\n<svg *ngIf=\"use\"\n xmlns=\"http://www.w3.org/2000/svg\"\n [attr.width]=\"width\"\n [attr.height]=\"height || width\"\n [ngClass]=\"computedClasses\"\n [cHtmlAttr]=\"attributes\"\n role=\"img\"\n pointer-events=\"none\"\n>\n <use [attr.href]=\"use\"></use>\n</svg>\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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QUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFTdUMsYUFBYTtzQkFBekQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEljb25TZXRTZXJ2aWNlIH0gZnJvbSAnLi4vaWNvbi1zZXQnO1xuaW1wb3J0IHsgSWNvblNpemUsIElJY29uIH0gZnJvbSAnLi9pY29uLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5zdmcnLFxuICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIElJY29uLCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKSBhdHRyaWJ1dGVzOiBhbnkgPSB7cm9sZTogJ2ltZyd9O1xuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXTtcbiAgQElucHV0KCkgc2l6ZTogSWNvblNpemUgPSAnJztcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVzZSA9ICcnO1xuICBASW5wdXQoKSBjdXN0b21DbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSA9ICcnO1xuICBASW5wdXQoKSB3aWR0aD86IHN0cmluZztcbiAgQElucHV0KCkgaGVpZ2h0Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuX25hbWUgPSBuYW1lLmluY2x1ZGVzKCctJykgPyB0aGlzLnRvQ2FtZWxDYXNlKG5hbWUpIDogbmFtZTtcbiAgfVxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG4gIHByaXZhdGUgX25hbWUhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgc2V0IHZpZXdCb3godmlld0JveDogc3RyaW5nKSB7XG4gICAgdGhpcy5fdmlld0JveCA9IHZpZXdCb3g7XG4gIH1cbiAgZ2V0IHZpZXdCb3goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0JveCA/PyB0aGlzLnNjYWxlO1xuICB9XG4gIHByaXZhdGUgX3ZpZXdCb3ghOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnc3ZnRWxlbWVudCcsIHtyZWFkOiBFbGVtZW50UmVmfSkgc3ZnRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgZ2V0IGlubmVySHRtbCgpOiBTYWZlSHRtbCB7XG4gICAgY29uc3QgY29kZSA9IEFycmF5LmlzQXJyYXkodGhpcy5jb2RlKSA/IHRoaXMuY29kZVsxXSB8fCB0aGlzLmNvZGVbMF0gOiB0aGlzLmNvZGUgPz8gJyc7XG4gICAgLy8gdG9kbyBwcm9wZXIgc2FuaXRpemVcbiAgICAvLyBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCh0aGlzLnRpdGxlQ29kZSArIGNvZGUpID8/ICcnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIGljb25TZXQ6IEljb25TZXRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuZm9yRWFjaCgoaXRlbTogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuc3ZnRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBpdGVtKTtcbiAgICB9KTtcbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICBjb25zdCBzdmdFbGVtZW50ID0gdGhpcy5zdmdFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50RWxlbWVudCwgc3ZnRWxlbWVudCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQocGFyZW50RWxlbWVudCwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgZ2V0IHRpdGxlQ29kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRpdGxlID8gYDx0aXRsZT4ke3RoaXMudGl0bGV9PC90aXRsZT5gIDogJyc7XG4gIH1cblxuICBnZXQgY29kZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGVudDtcbiAgICB9XG4gICAgaWYgKHRoaXMuaWNvblNldCAmJiB0aGlzLm5hbWUpIHtcbiAgICAgIHJldHVybiB0aGlzLmljb25TZXQuZ2V0SWNvbih0aGlzLm5hbWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5uYW1lICYmICF0aGlzLmljb25TZXQ/Lmljb25zW3RoaXMubmFtZV0pXG4gICAgY29uc29sZS53YXJuKGBjLWljb24gY29tcG9uZW50OiBpY29uIG5hbWUgJyR7dGhpcy5uYW1lfScgZG9lcyBub3QgZXhpc3QgZm9yIEljb25TZXQgc2VydmljZS4gYCArXG4gICAgICBgVG8gdXNlIGljb24gYnkgJ25hbWUnIHByb3AgeW91IG5lZWQgdG8gYWRkIGl0IHRvIEljb25TZXQgc2VydmljZS4gXFxuYCxcbiAgICAgIHRoaXMubmFtZVxuICAgICk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBzY2FsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuY29kZSkgJiYgdGhpcy5jb2RlLmxlbmd0aCA+IDEgPyBgMCAwICR7dGhpcy5jb2RlWzBdfWAgOiAnMCAwIDY0IDY0JztcbiAgfVxuXG4gIGdldCBjb21wdXRlZFNpemUoKTogRXhjbHVkZTxJY29uU2l6ZSwgJ2N1c3RvbSc+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBhZGRDdXN0b20gPSAhdGhpcy5zaXplICYmICh0aGlzLndpZHRoIHx8IHRoaXMuaGVpZ2h0KTtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnY3VzdG9tJyB8fCBhZGRDdXN0b20gPyAnY3VzdG9tLXNpemUnIDogdGhpcy5zaXplO1xuICB9XG5cbiAgZ2V0IGNvbXB1dGVkQ2xhc3NlcygpOiBhbnkge1xuICAgIGNvbnN0IGNsYXNzZXMgPSB7XG4gICAgICBpY29uOiB0cnVlLFxuICAgICAgW2BpY29uLSR7dGhpcy5jb21wdXRlZFNpemV9YF06ICEhdGhpcy5jb21wdXRlZFNpemVcbiAgICB9O1xuICAgIHJldHVybiAhIXRoaXMuY3VzdG9tQ2xhc3NlcyA/IHRoaXMuY3VzdG9tQ2xhc3NlcyA6IGNsYXNzZXM7XG4gIH1cblxuICB0b0NhbWVsQ2FzZShzdHI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oWy1fXVthLXowLTldKS9pZywgKCQxOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiAkMS50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnJyk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzdmcgKm5nSWY9XCIoIXVzZSkgJiYgKCEhY29kZSlcIlxuICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgW2F0dHIud2lkdGhdPVwid2lkdGhcIlxuICAgICBbYXR0ci5oZWlnaHRdPVwiaGVpZ2h0IHx8IHdpZHRoXCJcbiAgICAgW2F0dHIudmlld0JveF09XCJ2aWV3Qm94XCJcbiAgICAgW2lubmVySHRtbF09XCJpbm5lckh0bWxcIlxuICAgICBbbmdDbGFzc109XCJjb21wdXRlZENsYXNzZXNcIlxuICAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgICByb2xlPVwiaW1nXCJcbiAgICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICAgI3N2Z0VsZW1lbnRcbj5cbjwvc3ZnPlxuXG48c3ZnICpuZ0lmPVwidXNlXCJcbiAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcbiAgICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXG4gICAgIFtuZ0NsYXNzXT1cImNvbXB1dGVkQ2xhc3Nlc1wiXG4gICAgIFtjSHRtbEF0dHJdPVwiYXR0cmlidXRlc1wiXG4gICAgIHJvbGU9XCJpbWdcIlxuICAgICBwb2ludGVyLWV2ZW50cz1cIm5vbmVcIlxuPlxuICA8dXNlIFthdHRyLmhyZWZdPVwidXNlXCI+PC91c2U+XG48L3N2Zz5cbiJdfQ==
|
|
@@ -1,127 +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: "15.0
|
|
77
|
-
IconDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0
|
|
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,
|
|
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: "15.1.0", 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: "14.0.0", version: "15.1.0", 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: "15.1.0", 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=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUljb24ge1xuICBjb250ZW50Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBhbnlbXTtcbiAgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH07XG4gIGhlaWdodD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgcG9pbnRlckV2ZW50cz86IHN0cmluZztcbiAgc2l6ZT86IEljb25TaXplO1xuICB0aXRsZT86IHN0cmluZztcbiAgdmlld0JveD86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIHhtbG5zPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJY29uU2l6ZSA9XG4gICdjdXN0b20nXG4gIHwgJ2N1c3RvbS1zaXplJ1xuICB8ICdzbSdcbiAgfCAnbGcnXG4gIHwgJ3hsJ1xuICB8ICd4eGwnXG4gIHwgJzN4bCdcbiAgfCAnNHhsJ1xuICB8ICc1eGwnXG4gIHwgJzZ4bCdcbiAgfCAnN3hsJ1xuICB8ICc4eGwnXG4gIHwgJzl4bCdcbiAgfCBzdHJpbmc7XG4iXX0=
|