@coreui/icons-angular 4.3.0 → 4.3.9

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 creativeLabs Łukasz Holeczek
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -36,7 +36,7 @@
36
36
  [coreui]: https://coreui.io/icons
37
37
  [coreui-angular-icons-npm]: https://www.npmjs.com/package/@coreui/icons-angular
38
38
  [npm-coreui-icons-angular-next]: https://img.shields.io/npm/v/@coreui/icons-angular/next.png?style=flat-square&color=red
39
- [angular-badge]: https://img.shields.io/badge/angular-^15.0.0-lightgrey.svg?style=flat-square&logo=angular
39
+ [angular-badge]: https://img.shields.io/badge/angular-^15.1.0-lightgrey.svg?style=flat-square&logo=angular
40
40
 
41
41
  ## `cIcon` directive
42
42
 
@@ -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.4", 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.0.4", type: IconComponent, selector: "c-icon", inputs: { attributes: "attributes", content: "content", size: "size", title: "title", use: "use", customClasses: "customClasses", width: "width", height: "height", name: "name", viewBox: "viewBox" }, viewQueries: [{ propertyName: "svgElementRef", first: true, predicate: ["svgElement"], descendants: true, read: ElementRef }], ngImport: i0, template: "<svg *ngIf=\"(!use) && (!!code)\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [attr.viewBox]=\"viewBox\"\r\n [innerHtml]=\"innerHtml\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n #svgElement\r\n>\r\n</svg>\r\n\r\n<svg *ngIf=\"use\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n>\r\n <use [attr.href]=\"use\"></use>\r\n</svg>\r\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"], 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.0.4", ngImport: i0, type: IconComponent, decorators: [{
84
- type: Component,
85
- args: [{ selector: 'c-icon', template: "<svg *ngIf=\"(!use) && (!!code)\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [attr.viewBox]=\"viewBox\"\r\n [innerHtml]=\"innerHtml\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n #svgElement\r\n>\r\n</svg>\r\n\r\n<svg *ngIf=\"use\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n [attr.width]=\"width\"\r\n [attr.height]=\"height || width\"\r\n [ngClass]=\"computedClasses\"\r\n [cHtmlAttr]=\"attributes\"\r\n role=\"img\"\r\n pointer-events=\"none\"\r\n>\r\n <use [attr.href]=\"use\"></use>\r\n</svg>\r\n", styles: [".icon{display:inline-block;color:inherit;text-align:center;vertical-align:-.125rem;fill:currentColor}.icon:not(.icon-c-s):not(.icon-custom-size){width:1rem;height:1rem;font-size:1rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl{width:2rem;height:2rem;font-size:2rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl{width:1.5rem;height:1.5rem;font-size:1.5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg{width:1.25rem;height:1.25rem;font-size:1.25rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm{width:.875rem;height:.875rem;font-size:.875rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl{width:3rem;height:3rem;font-size:3rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl{width:4rem;height:4rem;font-size:4rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl{width:5rem;height:5rem;font-size:5rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl{width:6rem;height:6rem;font-size:6rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl{width:7rem;height:7rem;font-size:7rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl{width:8rem;height:8rem;font-size:8rem}.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl{width:9rem;height:9rem;font-size:9rem}\n"] }]
86
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.IconSetService }]; }, propDecorators: { attributes: [{
87
- type: Input
88
- }], content: [{
89
- type: Input
90
- }], size: [{
91
- type: Input
92
- }], title: [{
93
- type: Input
94
- }], use: [{
95
- type: Input
96
- }], customClasses: [{
97
- type: Input
98
- }], width: [{
99
- type: Input
100
- }], height: [{
101
- type: Input
102
- }], name: [{
103
- type: Input
104
- }], viewBox: [{
105
- type: Input
106
- }], svgElementRef: [{
107
- type: ViewChild,
108
- args: ['svgElement', { read: ElementRef }]
109
- }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVbEcsTUFBTSxPQUFPLGFBQWE7SUFzQ3hCLFlBQ1UsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsU0FBdUIsRUFDdkIsT0FBdUI7UUFIdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUF4Q3hCLGVBQVUsR0FBUSxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUMsQ0FBQztRQUVoQyxTQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXBCLFFBQUcsR0FBRyxFQUFFLENBQUM7UUFDVCxrQkFBYSxHQUFnRSxFQUFFLENBQUM7UUFxQ3ZGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBbENELElBQ0ksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUNE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QUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFTdUMsYUFBYTtzQkFBekQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBJY29uU2V0U2VydmljZSB9IGZyb20gJy4uL2ljb24tc2V0JztcclxuaW1wb3J0IHsgSWNvblNpemUsIElJY29uIH0gZnJvbSAnLi9pY29uLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtaWNvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50LnN2ZycsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgSUljb24sIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBASW5wdXQoKSBhdHRyaWJ1dGVzOiBhbnkgPSB7cm9sZTogJ2ltZyd9O1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQ/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
+ set name(name) {
9
+ this._name = name.includes('-') ? this.toCamelCase(name) : name;
10
+ }
11
+ get name() {
12
+ return this._name;
13
+ }
14
+ set viewBox(viewBox) {
15
+ this._viewBox = viewBox;
16
+ }
17
+ get viewBox() {
18
+ return this._viewBox ?? this.scale;
19
+ }
20
+ get innerHtml() {
21
+ const code = Array.isArray(this.code) ? this.code[1] || this.code[0] : this.code ?? '';
22
+ // todo proper sanitize
23
+ // const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, code);
24
+ return this.sanitizer.bypassSecurityTrustHtml((this.titleCode + code) ?? '');
25
+ }
26
+ constructor(renderer, elementRef, sanitizer, iconSet) {
27
+ this.renderer = renderer;
28
+ this.elementRef = elementRef;
29
+ this.sanitizer = sanitizer;
30
+ this.iconSet = iconSet;
31
+ this.attributes = { role: 'img' };
32
+ this.size = '';
33
+ this.use = '';
34
+ this.customClasses = '';
35
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
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.2", 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.2", 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.2", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktaWNvbnMtYW5ndWxhci9zcmMvbGliL2ljb24vaWNvbi5jb21wb25lbnQuc3ZnIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVbEcsTUFBTSxPQUFPLGFBQWE7SUFXeEIsSUFDSSxJQUFJLENBQUMsSUFBWTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFHRCxJQUNJLE9BQU8sQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBS0QsSUFBSSxTQUFTO1FBQ1gsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkYsdUJBQXVCO1FBQ3ZCLHlFQUF5RTtRQUN6RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxZQUNVLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLFNBQXVCLEVBQ3ZCLE9BQXVCO1FBSHZCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBeEN4QixlQUFVLEdBQVEsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFFaEMsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUVwQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1Qsa0JBQWEsR0FBZ0UsRUFBRSxDQUFDO1FBcUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLElBQUksQ0FBQyxJQUFJLHdDQUF3QztnQkFDNUYsc0VBQXNFLEVBQ3RFLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUNoRyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxFQUFFLElBQUk7WUFDVixDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO1NBQ25ELENBQUM7UUFDRixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDN0QsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFO1lBQ3BELE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswR0FqR1UsYUFBYTs4RkFBYixhQUFhLDhVQTZCUSxVQUFVLDZCQ3ZDNUMsbXBCQXlCQTsyRkRmYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFFBQVE7aUxBTVQsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSztnQkFVRixPQUFPO3NCQURWLEtBQUs7Z0JBU3VDLGFBQWE7c0JBQXpELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJY29uU2V0U2VydmljZSB9IGZyb20gJy4uL2ljb24tc2V0JztcbmltcG9ydCB7IEljb25TaXplLCBJSWNvbiB9IGZyb20gJy4vaWNvbi5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi5jb21wb25lbnQuc3ZnJyxcbiAgc3R5bGVVcmxzOiBbJy4vaWNvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEljb25Db21wb25lbnQgaW1wbGVtZW50cyBJSWNvbiwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQElucHV0KCkgYXR0cmlidXRlczogYW55ID0ge3JvbGU6ICdpbWcnfTtcbiAgQElucHV0KCkgY29udGVudD86IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55W107XG4gIEBJbnB1dCgpIHNpemU6IEljb25TaXplID0gJyc7XG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICBASW5wdXQoKSB1c2UgPSAnJztcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gPSAnJztcbiAgQElucHV0KCkgd2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhlaWdodD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gbmFtZS5pbmNsdWRlcygnLScpID8gdGhpcy50b0NhbWVsQ2FzZShuYW1lKSA6IG5hbWU7XG4gIH1cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBwcml2YXRlIF9uYW1lITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2aWV3Qm94KHZpZXdCb3g6IHN0cmluZykge1xuICAgIHRoaXMuX3ZpZXdCb3ggPSB2aWV3Qm94O1xuICB9XG4gIGdldCB2aWV3Qm94KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdCb3ggPz8gdGhpcy5zY2FsZTtcbiAgfVxuICBwcml2YXRlIF92aWV3Qm94ITogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoJ3N2Z0VsZW1lbnQnLCB7cmVhZDogRWxlbWVudFJlZn0pIHN2Z0VsZW1lbnRSZWYhOiBFbGVtZW50UmVmO1xuXG4gIGdldCBpbm5lckh0bWwoKTogU2FmZUh0bWwge1xuICAgIGNvbnN0IGNvZGUgPSBBcnJheS5pc0FycmF5KHRoaXMuY29kZSkgPyB0aGlzLmNvZGVbMV0gfHwgdGhpcy5jb2RlWzBdIDogdGhpcy5jb2RlID8/ICcnO1xuICAgIC8vIHRvZG8gcHJvcGVyIHNhbml0aXplXG4gICAgLy8gY29uc3Qgc2FuaXRpemVkID0gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIGNvZGUpO1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCgodGhpcy50aXRsZUNvZGUgKyBjb2RlKSA/PyAnJyk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBpY29uU2V0OiBJY29uU2V0U2VydmljZVxuICApIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnN2Z0VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgaXRlbSk7XG4gICAgfSk7XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IHRoaXMucmVuZGVyZXIucGFyZW50Tm9kZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgc3ZnRWxlbWVudCA9IHRoaXMuc3ZnRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudEVsZW1lbnQsIHN2Z0VsZW1lbnQsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHBhcmVudEVsZW1lbnQsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIGdldCB0aXRsZUNvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSA/IGA8dGl0bGU+JHt0aGlzLnRpdGxlfTwvdGl0bGU+YCA6ICcnO1xuICB9XG5cbiAgZ2V0IGNvZGUoKTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmljb25TZXQgJiYgdGhpcy5uYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5pY29uU2V0LmdldEljb24odGhpcy5uYW1lKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubmFtZSAmJiAhdGhpcy5pY29uU2V0Py5pY29uc1t0aGlzLm5hbWVdKVxuICAgIGNvbnNvbGUud2FybihgYy1pY29uIGNvbXBvbmVudDogaWNvbiBuYW1lICcke3RoaXMubmFtZX0nIGRvZXMgbm90IGV4aXN0IGZvciBJY29uU2V0IHNlcnZpY2UuIGAgK1xuICAgICAgYFRvIHVzZSBpY29uIGJ5ICduYW1lJyBwcm9wIHlvdSBuZWVkIHRvIGFkZCBpdCB0byBJY29uU2V0IHNlcnZpY2UuIFxcbmAsXG4gICAgICB0aGlzLm5hbWVcbiAgICApO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgc2NhbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmNvZGUpICYmIHRoaXMuY29kZS5sZW5ndGggPiAxID8gYDAgMCAke3RoaXMuY29kZVswXX1gIDogJzAgMCA2NCA2NCc7XG4gIH1cblxuICBnZXQgY29tcHV0ZWRTaXplKCk6IEV4Y2x1ZGU8SWNvblNpemUsICdjdXN0b20nPiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWRkQ3VzdG9tID0gIXRoaXMuc2l6ZSAmJiAodGhpcy53aWR0aCB8fCB0aGlzLmhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2N1c3RvbScgfHwgYWRkQ3VzdG9tID8gJ2N1c3RvbS1zaXplJyA6IHRoaXMuc2l6ZTtcbiAgfVxuXG4gIGdldCBjb21wdXRlZENsYXNzZXMoKTogYW55IHtcbiAgICBjb25zdCBjbGFzc2VzID0ge1xuICAgICAgaWNvbjogdHJ1ZSxcbiAgICAgIFtgaWNvbi0ke3RoaXMuY29tcHV0ZWRTaXplfWBdOiAhIXRoaXMuY29tcHV0ZWRTaXplXG4gICAgfTtcbiAgICByZXR1cm4gISF0aGlzLmN1c3RvbUNsYXNzZXMgPyB0aGlzLmN1c3RvbUNsYXNzZXMgOiBjbGFzc2VzO1xuICB9XG5cbiAgdG9DYW1lbENhc2Uoc3RyOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBzdHIucmVwbGFjZSgvKFstX11bYS16MC05XSkvaWcsICgkMTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gJDEudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJycpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8c3ZnICpuZ0lmPVwiKCF1c2UpICYmICghIWNvZGUpXCJcbiAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgIFthdHRyLndpZHRoXT1cIndpZHRoXCJcbiAgICAgW2F0dHIuaGVpZ2h0XT1cImhlaWdodCB8fCB3aWR0aFwiXG4gICAgIFthdHRyLnZpZXdCb3hdPVwidmlld0JveFwiXG4gICAgIFtpbm5lckh0bWxdPVwiaW5uZXJIdG1sXCJcbiAgICAgW25nQ2xhc3NdPVwiY29tcHV0ZWRDbGFzc2VzXCJcbiAgICAgW2NIdG1sQXR0cl09XCJhdHRyaWJ1dGVzXCJcbiAgICAgcm9sZT1cImltZ1wiXG4gICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXG4gICAgICNzdmdFbGVtZW50XG4+XG48L3N2Zz5cblxuPHN2ZyAqbmdJZj1cInVzZVwiXG4gICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICBbYXR0ci53aWR0aF09XCJ3aWR0aFwiXG4gICAgIFthdHRyLmhlaWdodF09XCJoZWlnaHQgfHwgd2lkdGhcIlxuICAgICBbbmdDbGFzc109XCJjb21wdXRlZENsYXNzZXNcIlxuICAgICBbY0h0bWxBdHRyXT1cImF0dHJpYnV0ZXNcIlxuICAgICByb2xlPVwiaW1nXCJcbiAgICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbj5cbiAgPHVzZSBbYXR0ci5ocmVmXT1cInVzZVwiPjwvdXNlPlxuPC9zdmc+XG4iXX0=