@loyalty-cloud/ui-icons 1.1.112 → 1.1.114

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.
@@ -50,9 +50,8 @@ export class LcIconComponent {
50
50
  }
51
51
  });
52
52
  }
53
- }
54
- LcIconComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconComponent, deps: [{ token: i1.SvgIconCacheService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
55
- LcIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LcIconComponent, selector: "lc-icon", inputs: { name: "name", category: "category", size: "size", color: "color", strokeColor: "strokeColor", disabled: "disabled", placeholderIcon: "placeholderIcon" }, usesOnChanges: true, ngImport: i0, template: `
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconComponent, deps: [{ token: i1.SvgIconCacheService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LcIconComponent, selector: "lc-icon", inputs: { name: "name", category: "category", size: "size", color: "color", strokeColor: "strokeColor", disabled: "disabled", placeholderIcon: "placeholderIcon" }, usesOnChanges: true, ngImport: i0, template: `
56
55
  <div
57
56
  class="icon"
58
57
  [innerHTML]="svgIcon"
@@ -61,8 +60,9 @@ LcIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
61
60
  [style.color]="color"
62
61
  *ngIf="svgIcon">
63
62
  </div>
64
- `, isInline: true, styles: [".icon{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconComponent, decorators: [{
63
+ `, isInline: true, styles: [".icon{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconComponent, decorators: [{
66
66
  type: Component,
67
67
  args: [{ selector: 'lc-icon', template: `
68
68
  <div
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
89
89
  }], placeholderIcon: [{
90
90
  type: Input
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGMtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb3lhbHR5LWNsb3VkLXVpLWljb25zL3NyYy9saWIvbGMtaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7OztBQXFCcEgsTUFBTSxPQUFPLGVBQWU7SUFZMUIsWUFDVSxZQUFpQyxFQUNqQyxHQUFzQjtRQUR0QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFidkIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFXLGNBQWMsQ0FBQztRQUMvQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBRXRDLFlBQU8sR0FBZ0MsSUFBSSxDQUFDO1FBQzVDLGtCQUFhLEdBQVcsU0FBUyxDQUFDO0lBSzlCLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsT0FBTztTQUNSO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDNUIsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLE1BQU07WUFDckQsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxNQUFNLENBQUM7UUFFdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsYUFBc0I7UUFDcEUsSUFBSSxDQUFDLFlBQVk7YUFDZCxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2hGLFNBQVMsQ0FDUixDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLHlEQUF5RDtZQUV6RCxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFO2dCQUMxRSxNQUFNLFlBQVksR0FBRyxtQkFBbUIsSUFBSSxDQUFDLGVBQWUsTUFBTSxDQUFDO2dCQUVuRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzdEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDOzs0R0EzRFUsZUFBZTtnR0FBZixlQUFlLHdPQWZoQjs7Ozs7Ozs7O0dBU1Q7MkZBTVUsZUFBZTtrQkFqQjNCLFNBQVM7K0JBQ0UsU0FBUyxZQUNUOzs7Ozs7Ozs7R0FTVCxtQkFJZ0IsdUJBQXVCLENBQUMsT0FBTzswSUFHdkMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU3ZnSWNvbkNhY2hlU2VydmljZSB9IGZyb20gJy4vc3ZnLWljb24tY2FjaGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjLWljb24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgXG4gICAgICBjbGFzcz1cImljb25cIlxuICAgICAgW2lubmVySFRNTF09XCJzdmdJY29uXCIgXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwic2l6ZVwiIFxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJzaXplXCJcbiAgICAgIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiXG4gICAgICAqbmdJZj1cInN2Z0ljb25cIj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJ2xjLWljb24uY29tcG9uZW50LnNjc3MnXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBMY0ljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY2F0ZWdvcnk6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaXplOiBudW1iZXIgPSAyNDtcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdjdXJyZW50Q29sb3InO1xuICBASW5wdXQoKSBzdHJva2VDb2xvcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVySWNvbjogc3RyaW5nID0gJyc7XG5cbiAgc3ZnSWNvbjogU2FmZUh0bWwgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgZGlzYWJsZWRDb2xvcjogc3RyaW5nID0gJyM5OEEyQjMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBTdmdJY29uQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLmxvYWRJY29uKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRJY29uKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRJY29uKCkge1xuICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ljb24gbmFtZSBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuc3ZnSWNvbiA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaWNvblBhdGggPSB0aGlzLmNhdGVnb3J5XG4gICAgICA/IGAuLi9hc3NldHMvaWNvbnMvJHt0aGlzLmNhdGVnb3J5fS8ke3RoaXMubmFtZX0uc3ZnYFxuICAgICAgOiBgLi4vYXNzZXRzL2ljb25zLyR7dGhpcy5uYW1lfS5zdmdgO1xuXG4gICAgdGhpcy50cnlMb2FkSWNvbih0aGlzLm5hbWUsIGljb25QYXRoLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJ5TG9hZEljb24obmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93RmFsbGJhY2s6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmljb25SZWdpc3RyeVxuICAgICAgLnJlZ2lzdGVySWNvbihuYW1lLCBwYXRoLCB0aGlzLnNpemUsIHRoaXMuY29sb3IsIHRoaXMuZGlzYWJsZWQsIHRoaXMuc3Ryb2tlQ29sb3IpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoaWNvbikgPT4ge1xuICAgICAgICAgIHRoaXMuc3ZnSWNvbiA9IGljb247XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nIGljb24gXCIke25hbWV9XCI6YCwgZXJyb3IpO1xuICBcbiAgICAgICAgICBpZiAoYWxsb3dGYWxsYmFjayAmJiB0aGlzLnBsYWNlaG9sZGVySWNvbiAmJiB0aGlzLnBsYWNlaG9sZGVySWNvbiAhPT0gbmFtZSkge1xuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2tQYXRoID0gYC4uL2Fzc2V0cy9pY29ucy8ke3RoaXMucGxhY2Vob2xkZXJJY29ufS5zdmdgO1xuXG4gICAgICAgICAgICB0aGlzLnRyeUxvYWRJY29uKHRoaXMucGxhY2Vob2xkZXJJY29uLCBmYWxsYmFja1BhdGgsIGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdmdJY29uID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cblxuXG5cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGMtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb3lhbHR5LWNsb3VkLXVpLWljb25zL3NyYy9saWIvbGMtaWNvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7OztBQXFCcEgsTUFBTSxPQUFPLGVBQWU7SUFZMUIsWUFDVSxZQUFpQyxFQUNqQyxHQUFzQjtRQUR0QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFidkIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsVUFBSyxHQUFXLGNBQWMsQ0FBQztRQUMvQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBRXRDLFlBQU8sR0FBZ0MsSUFBSSxDQUFDO1FBQzVDLGtCQUFhLEdBQVcsU0FBUyxDQUFDO0lBSzlCLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsT0FBTztTQUNSO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDNUIsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLE1BQU07WUFDckQsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsSUFBSSxNQUFNLENBQUM7UUFFdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsYUFBc0I7UUFDcEUsSUFBSSxDQUFDLFlBQVk7YUFDZCxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2hGLFNBQVMsQ0FDUixDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNSLHlEQUF5RDtZQUV6RCxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFO2dCQUMxRSxNQUFNLFlBQVksR0FBRyxtQkFBbUIsSUFBSSxDQUFDLGVBQWUsTUFBTSxDQUFDO2dCQUVuRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQzdEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ3JCO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDOytHQTNEVSxlQUFlO21HQUFmLGVBQWUsd09BZmhCOzs7Ozs7Ozs7R0FTVDs7NEZBTVUsZUFBZTtrQkFqQjNCLFNBQVM7K0JBQ0UsU0FBUyxZQUNUOzs7Ozs7Ozs7R0FTVCxtQkFJZ0IsdUJBQXVCLENBQUMsT0FBTzswSUFHdkMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgU3ZnSWNvbkNhY2hlU2VydmljZSB9IGZyb20gJy4vc3ZnLWljb24tY2FjaGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjLWljb24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgXG4gICAgICBjbGFzcz1cImljb25cIlxuICAgICAgW2lubmVySFRNTF09XCJzdmdJY29uXCIgXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwic2l6ZVwiIFxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJzaXplXCJcbiAgICAgIFtzdHlsZS5jb2xvcl09XCJjb2xvclwiXG4gICAgICAqbmdJZj1cInN2Z0ljb25cIj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJ2xjLWljb24uY29tcG9uZW50LnNjc3MnXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxufSlcbmV4cG9ydCBjbGFzcyBMY0ljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY2F0ZWdvcnk6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzaXplOiBudW1iZXIgPSAyNDtcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdjdXJyZW50Q29sb3InO1xuICBASW5wdXQoKSBzdHJva2VDb2xvcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVySWNvbjogc3RyaW5nID0gJyc7XG5cbiAgc3ZnSWNvbjogU2FmZUh0bWwgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgZGlzYWJsZWRDb2xvcjogc3RyaW5nID0gJyM5OEEyQjMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaWNvblJlZ2lzdHJ5OiBTdmdJY29uQ2FjaGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLmxvYWRJY29uKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRJY29uKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRJY29uKCkge1xuICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ0ljb24gbmFtZSBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuc3ZnSWNvbiA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaWNvblBhdGggPSB0aGlzLmNhdGVnb3J5XG4gICAgICA/IGAuLi9hc3NldHMvaWNvbnMvJHt0aGlzLmNhdGVnb3J5fS8ke3RoaXMubmFtZX0uc3ZnYFxuICAgICAgOiBgLi4vYXNzZXRzL2ljb25zLyR7dGhpcy5uYW1lfS5zdmdgO1xuXG4gICAgdGhpcy50cnlMb2FkSWNvbih0aGlzLm5hbWUsIGljb25QYXRoLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJ5TG9hZEljb24obmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93RmFsbGJhY2s6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmljb25SZWdpc3RyeVxuICAgICAgLnJlZ2lzdGVySWNvbihuYW1lLCBwYXRoLCB0aGlzLnNpemUsIHRoaXMuY29sb3IsIHRoaXMuZGlzYWJsZWQsIHRoaXMuc3Ryb2tlQ29sb3IpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoaWNvbikgPT4ge1xuICAgICAgICAgIHRoaXMuc3ZnSWNvbiA9IGljb247XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKGBFcnJvciBsb2FkaW5nIGljb24gXCIke25hbWV9XCI6YCwgZXJyb3IpO1xuICBcbiAgICAgICAgICBpZiAoYWxsb3dGYWxsYmFjayAmJiB0aGlzLnBsYWNlaG9sZGVySWNvbiAmJiB0aGlzLnBsYWNlaG9sZGVySWNvbiAhPT0gbmFtZSkge1xuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2tQYXRoID0gYC4uL2Fzc2V0cy9pY29ucy8ke3RoaXMucGxhY2Vob2xkZXJJY29ufS5zdmdgO1xuXG4gICAgICAgICAgICB0aGlzLnRyeUxvYWRJY29uKHRoaXMucGxhY2Vob2xkZXJJY29uLCBmYWxsYmFja1BhdGgsIGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdmdJY29uID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cblxuXG5cbiJdfQ==
@@ -5,11 +5,11 @@ import { SafeHtmlPipe } from './safe-html.pipe';
5
5
  import { HttpClientModule } from '@angular/common/http';
6
6
  import * as i0 from "@angular/core";
7
7
  export class LcIconModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, declarations: [LcIconComponent, SafeHtmlPipe], imports: [CommonModule, HttpClientModule], exports: [LcIconComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, imports: [CommonModule, HttpClientModule] }); }
8
11
  }
9
- LcIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- LcIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, declarations: [LcIconComponent, SafeHtmlPipe], imports: [CommonModule, HttpClientModule], exports: [LcIconComponent] });
11
- LcIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, imports: [CommonModule, HttpClientModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [LcIconComponent, SafeHtmlPipe],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
17
17
  exports: [LcIconComponent]
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGMtaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb3lhbHR5LWNsb3VkLXVpLWljb25zL3NyYy9saWIvbGMtaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxpQkFKUixlQUFlLEVBQUUsWUFBWSxhQUNsQyxZQUFZLEVBQUUsZ0JBQWdCLGFBQzlCLGVBQWU7MEdBRWQsWUFBWSxZQUhiLFlBQVksRUFBRSxnQkFBZ0I7MkZBRzdCLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMY0ljb25Db21wb25lbnQgfSBmcm9tICcuL2xjLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNhZmVIdG1sUGlwZSB9IGZyb20gJy4vc2FmZS1odG1sLnBpcGUnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMY0ljb25Db21wb25lbnQsIFNhZmVIdG1sUGlwZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEh0dHBDbGllbnRNb2R1bGVdLFxuICBleHBvcnRzOiBbTGNJY29uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBMY0ljb25Nb2R1bGUge31cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGMtaWNvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb3lhbHR5LWNsb3VkLXVpLWljb25zL3NyYy9saWIvbGMtaWNvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLGlCQUpSLGVBQWUsRUFBRSxZQUFZLGFBQ2xDLFlBQVksRUFBRSxnQkFBZ0IsYUFDOUIsZUFBZTtnSEFFZCxZQUFZLFlBSGIsWUFBWSxFQUFFLGdCQUFnQjs7NEZBRzdCLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMY0ljb25Db21wb25lbnQgfSBmcm9tICcuL2xjLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNhZmVIdG1sUGlwZSB9IGZyb20gJy4vc2FmZS1odG1sLnBpcGUnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtMY0ljb25Db21wb25lbnQsIFNhZmVIdG1sUGlwZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEh0dHBDbGllbnRNb2R1bGVdLFxuICBleHBvcnRzOiBbTGNJY29uQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBMY0ljb25Nb2R1bGUge31cbiJdfQ==
@@ -8,13 +8,13 @@ export class SafeHtmlPipe {
8
8
  transform(value) {
9
9
  return this.sanitizer.bypassSecurityTrustHtml(value);
10
10
  }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" }); }
11
13
  }
12
- SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
- SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeHtmlPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{
17
17
  name: 'safeHtml'
18
18
  }]
19
19
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb3lhbHR5LWNsb3VkLXVpLWljb25zL3NyYy9saWIvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUUvQyxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7eUdBTFUsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYWZlSHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcbiAgfVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1odG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sb3lhbHR5LWNsb3VkLXVpLWljb25zL3NyYy9saWIvc2FmZS1odG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU1wRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUcsQ0FBQztJQUUvQyxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0FMVSxZQUFZOzZHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzYWZlSHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2FmZUh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -48,13 +48,13 @@ export class SvgIconCacheService {
48
48
  throw new Error(`Invalid SVG content for icon: ${name}`);
49
49
  }));
50
50
  }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SvgIconCacheService, deps: [{ token: i1.DomSanitizer }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SvgIconCacheService, providedIn: 'root' }); }
51
53
  }
52
- SvgIconCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, deps: [{ token: i1.DomSanitizer }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
53
- SvgIconCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, providedIn: 'root' });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SvgIconCacheService, decorators: [{
55
55
  type: Injectable,
56
56
  args: [{
57
57
  providedIn: 'root'
58
58
  }]
59
59
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i2.HttpClient }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb24tY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xveWFsdHktY2xvdWQtdWktaWNvbnMvc3JjL2xpYi9zdmctaWNvbi1jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLckMsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixTQUF1QixFQUFVLElBQWdCO1FBQWpELGNBQVMsR0FBVCxTQUFTLENBQWM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDdELGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRCxrQkFBYSxHQUFXLFNBQVMsQ0FBQztJQUV1QyxDQUFDO0lBRTFFLFlBQVksQ0FBQyxJQUFZLEVBQUUsR0FBVyxFQUFFLElBQVksRUFBRSxLQUFhLEVBQUUsV0FBb0IsS0FBSyxFQUFFLFdBQWtCO1FBQ2hILE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsbUJBQW1CO1FBRTNGLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtTQUNwRTtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNWLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDL0IsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDekQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1QyxJQUFJLFVBQVUsRUFBRTtnQkFDZCx5QkFBeUI7Z0JBQ3pCLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDNUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUU3Qyw0REFBNEQ7Z0JBQzVELElBQUcsQ0FBQyxXQUFXLEVBQUU7b0JBQ2YsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsc0NBQXNDLENBQUMsQ0FBQztvQkFDN0YsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7d0JBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUM1QixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQzt5QkFDM0U7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBRUQsd0ZBQXdGO2dCQUN4RixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLGNBQWMsQ0FBQyxJQUFJLFdBQVcsRUFBRTtvQkFDdkQsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ25FLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO3dCQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsNkJBQTZCO2dCQUN6RSxPQUFPLFlBQVksQ0FBQzthQUNyQjtZQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dIQW5EVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ZnSWNvbkNhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgaWNvbkNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFNhZmVIdG1sPigpO1xuICBkaXNhYmxlZENvbG9yOiBzdHJpbmcgPSAnIzk4QTJCMyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICByZWdpc3Rlckljb24obmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZywgc2l6ZTogbnVtYmVyLCBjb2xvcjogc3RyaW5nLCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlLCBzdHJva2VDb2xvcjpzdHJpbmcpOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtuYW1lfS0ke3NpemV9LSR7Y29sb3J9LSR7ZGlzYWJsZWR9LSR7c3Ryb2tlQ29sb3J9YDsgLy8gVW5pcXVlIGNhY2hlIGtleVxuXG4gICAgaWYgKHRoaXMuaWNvbkNhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmljb25DYWNoZS5nZXQoY2FjaGVLZXkpISk7IC8vIFJldHVybiB0aGUgY2FjaGVkIGljb25cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkucGlwZShcbiAgICAgIG1hcCgoc3ZnKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgICAgICAgY29uc3QgZG9jID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhzdmcsICdpbWFnZS9zdmcreG1sJyk7XG4gICAgICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSBkb2MucXVlcnlTZWxlY3Rvcignc3ZnJyk7XG5cbiAgICAgICAgaWYgKHN2Z0VsZW1lbnQpIHtcbiAgICAgICAgICAvLyBVcGRhdGUgc2l6ZSBhdHRyaWJ1dGVzXG4gICAgICAgICAgc3ZnRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7c2l6ZX1gKTtcbiAgICAgICAgICBzdmdFbGVtZW50LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7c2l6ZX1gKTtcblxuICAgICAgICAgIC8vIFVwZGF0ZSBjb2xvciBvbmx5IGZvciBlbGVtZW50cyB3aXRob3V0IGEgJ2ZpbGwnIGF0dHJpYnV0ZVxuICAgICAgICAgIGlmKCFzdHJva2VDb2xvcikge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHNUb1VwZGF0ZSA9IHN2Z0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncGF0aCwgY2lyY2xlLCByZWN0LCBwb2x5Z29uLCBlbGxpcHNlJyk7XG4gICAgICAgICAgICBlbGVtZW50c1RvVXBkYXRlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghZWwuaGFzQXR0cmlidXRlKCdmaWxsJykpIHtcbiAgICAgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBkaXNhYmxlZCA/IHRoaXMuZGlzYWJsZWRDb2xvciA6IGNvbG9yIHx8ICdibGFjaycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiBjb2xvciBpcyBOT1QgcHJlc2VudCBidXQgc3Ryb2tlQ29sb3IgaXMgcHJvdmlkZWQsIGFwcGx5IGl0IHRvIGVsZW1lbnRzIHdpdGggc3Ryb2tlXG4gICAgICAgICAgaWYgKCghY29sb3IgfHwgY29sb3IgPT09ICdjdXJyZW50Q29sb3InKSAmJiBzdHJva2VDb2xvcikge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHNXaXRoU3Ryb2tlID0gc3ZnRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbc3Ryb2tlXScpO1xuICAgICAgICAgICAgZWxlbWVudHNXaXRoU3Ryb2tlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgc3Ryb2tlQ29sb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc2VyaWFsaXplZFN2ZyA9IG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoc3ZnRWxlbWVudCk7XG4gICAgICAgICAgY29uc3Qgc2FuaXRpemVkU3ZnID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc2VyaWFsaXplZFN2Zyk7XG4gICAgICAgICAgdGhpcy5pY29uQ2FjaGUuc2V0KGNhY2hlS2V5LCBzYW5pdGl6ZWRTdmcpOyAvLyBDYWNoZSB1c2luZyB0aGUgdW5pcXVlIGtleVxuICAgICAgICAgIHJldHVybiBzYW5pdGl6ZWRTdmc7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU1ZHIGNvbnRlbnQgZm9yIGljb246ICR7bmFtZX1gKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb24tY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xveWFsdHktY2xvdWQtdWktaWNvbnMvc3JjL2xpYi9zdmctaWNvbi1jYWNoZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFLckMsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFvQixTQUF1QixFQUFVLElBQWdCO1FBQWpELGNBQVMsR0FBVCxTQUFTLENBQWM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDdELGNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUNoRCxrQkFBYSxHQUFXLFNBQVMsQ0FBQztJQUV1QyxDQUFDO0lBRTFFLFlBQVksQ0FBQyxJQUFZLEVBQUUsR0FBVyxFQUFFLElBQVksRUFBRSxLQUFhLEVBQUUsV0FBb0IsS0FBSyxFQUFFLFdBQWtCO1FBQ2hILE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsbUJBQW1CO1FBRTNGLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDaEMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFFLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtTQUNwRTtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNWLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDL0IsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDekQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1QyxJQUFJLFVBQVUsRUFBRTtnQkFDZCx5QkFBeUI7Z0JBQ3pCLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDNUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUU3Qyw0REFBNEQ7Z0JBQzVELElBQUcsQ0FBQyxXQUFXLEVBQUU7b0JBQ2YsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsc0NBQXNDLENBQUMsQ0FBQztvQkFDN0YsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7d0JBQzlCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFOzRCQUM1QixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsQ0FBQzt5QkFDM0U7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBRUQsd0ZBQXdGO2dCQUN4RixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLGNBQWMsQ0FBQyxJQUFJLFdBQVcsRUFBRTtvQkFDdkQsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ25FLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO3dCQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsNkJBQTZCO2dCQUN6RSxPQUFPLFlBQVksQ0FBQzthQUNyQjtZQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBbkRVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ZnSWNvbkNhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgaWNvbkNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFNhZmVIdG1sPigpO1xuICBkaXNhYmxlZENvbG9yOiBzdHJpbmcgPSAnIzk4QTJCMyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICByZWdpc3Rlckljb24obmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZywgc2l6ZTogbnVtYmVyLCBjb2xvcjogc3RyaW5nLCBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlLCBzdHJva2VDb2xvcjpzdHJpbmcpOiBPYnNlcnZhYmxlPFNhZmVIdG1sPiB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBgJHtuYW1lfS0ke3NpemV9LSR7Y29sb3J9LSR7ZGlzYWJsZWR9LSR7c3Ryb2tlQ29sb3J9YDsgLy8gVW5pcXVlIGNhY2hlIGtleVxuXG4gICAgaWYgKHRoaXMuaWNvbkNhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmljb25DYWNoZS5nZXQoY2FjaGVLZXkpISk7IC8vIFJldHVybiB0aGUgY2FjaGVkIGljb25cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkucGlwZShcbiAgICAgIG1hcCgoc3ZnKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnNlciA9IG5ldyBET01QYXJzZXIoKTtcbiAgICAgICAgY29uc3QgZG9jID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyhzdmcsICdpbWFnZS9zdmcreG1sJyk7XG4gICAgICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSBkb2MucXVlcnlTZWxlY3Rvcignc3ZnJyk7XG5cbiAgICAgICAgaWYgKHN2Z0VsZW1lbnQpIHtcbiAgICAgICAgICAvLyBVcGRhdGUgc2l6ZSBhdHRyaWJ1dGVzXG4gICAgICAgICAgc3ZnRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7c2l6ZX1gKTtcbiAgICAgICAgICBzdmdFbGVtZW50LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7c2l6ZX1gKTtcblxuICAgICAgICAgIC8vIFVwZGF0ZSBjb2xvciBvbmx5IGZvciBlbGVtZW50cyB3aXRob3V0IGEgJ2ZpbGwnIGF0dHJpYnV0ZVxuICAgICAgICAgIGlmKCFzdHJva2VDb2xvcikge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHNUb1VwZGF0ZSA9IHN2Z0VsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncGF0aCwgY2lyY2xlLCByZWN0LCBwb2x5Z29uLCBlbGxpcHNlJyk7XG4gICAgICAgICAgICBlbGVtZW50c1RvVXBkYXRlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghZWwuaGFzQXR0cmlidXRlKCdmaWxsJykpIHtcbiAgICAgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBkaXNhYmxlZCA/IHRoaXMuZGlzYWJsZWRDb2xvciA6IGNvbG9yIHx8ICdibGFjaycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiBjb2xvciBpcyBOT1QgcHJlc2VudCBidXQgc3Ryb2tlQ29sb3IgaXMgcHJvdmlkZWQsIGFwcGx5IGl0IHRvIGVsZW1lbnRzIHdpdGggc3Ryb2tlXG4gICAgICAgICAgaWYgKCghY29sb3IgfHwgY29sb3IgPT09ICdjdXJyZW50Q29sb3InKSAmJiBzdHJva2VDb2xvcikge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHNXaXRoU3Ryb2tlID0gc3ZnRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbc3Ryb2tlXScpO1xuICAgICAgICAgICAgZWxlbWVudHNXaXRoU3Ryb2tlLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgc3Ryb2tlQ29sb3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc2VyaWFsaXplZFN2ZyA9IG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmcoc3ZnRWxlbWVudCk7XG4gICAgICAgICAgY29uc3Qgc2FuaXRpemVkU3ZnID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoc2VyaWFsaXplZFN2Zyk7XG4gICAgICAgICAgdGhpcy5pY29uQ2FjaGUuc2V0KGNhY2hlS2V5LCBzYW5pdGl6ZWRTdmcpOyAvLyBDYWNoZSB1c2luZyB0aGUgdW5pcXVlIGtleVxuICAgICAgICAgIHJldHVybiBzYW5pdGl6ZWRTdmc7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU1ZHIGNvbnRlbnQgZm9yIGljb246ICR7bmFtZX1gKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -52,10 +52,10 @@ class SvgIconCacheService {
52
52
  throw new Error(`Invalid SVG content for icon: ${name}`);
53
53
  }));
54
54
  }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SvgIconCacheService, deps: [{ token: i1.DomSanitizer }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SvgIconCacheService, providedIn: 'root' }); }
55
57
  }
56
- SvgIconCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, deps: [{ token: i1.DomSanitizer }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
57
- SvgIconCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, providedIn: 'root' });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SvgIconCacheService, decorators: [{
59
59
  type: Injectable,
60
60
  args: [{
61
61
  providedIn: 'root'
@@ -110,9 +110,8 @@ class LcIconComponent {
110
110
  }
111
111
  });
112
112
  }
113
- }
114
- LcIconComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconComponent, deps: [{ token: SvgIconCacheService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
115
- LcIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LcIconComponent, selector: "lc-icon", inputs: { name: "name", category: "category", size: "size", color: "color", strokeColor: "strokeColor", disabled: "disabled", placeholderIcon: "placeholderIcon" }, usesOnChanges: true, ngImport: i0, template: `
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconComponent, deps: [{ token: SvgIconCacheService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LcIconComponent, selector: "lc-icon", inputs: { name: "name", category: "category", size: "size", color: "color", strokeColor: "strokeColor", disabled: "disabled", placeholderIcon: "placeholderIcon" }, usesOnChanges: true, ngImport: i0, template: `
116
115
  <div
117
116
  class="icon"
118
117
  [innerHTML]="svgIcon"
@@ -121,8 +120,9 @@ LcIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
121
120
  [style.color]="color"
122
121
  *ngIf="svgIcon">
123
122
  </div>
124
- `, isInline: true, styles: [".icon{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconComponent, decorators: [{
123
+ `, isInline: true, styles: [".icon{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconComponent, decorators: [{
126
126
  type: Component,
127
127
  args: [{ selector: 'lc-icon', template: `
128
128
  <div
@@ -157,10 +157,10 @@ class SafeHtmlPipe {
157
157
  transform(value) {
158
158
  return this.sanitizer.bypassSecurityTrustHtml(value);
159
159
  }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
161
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" }); }
160
162
  }
161
- SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
162
- SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SafeHtmlPipe, decorators: [{
164
164
  type: Pipe,
165
165
  args: [{
166
166
  name: 'safeHtml'
@@ -168,11 +168,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
168
168
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
169
169
 
170
170
  class LcIconModule {
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
172
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, declarations: [LcIconComponent, SafeHtmlPipe], imports: [CommonModule, HttpClientModule], exports: [LcIconComponent] }); }
173
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, imports: [CommonModule, HttpClientModule] }); }
171
174
  }
172
- LcIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
173
- LcIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, declarations: [LcIconComponent, SafeHtmlPipe], imports: [CommonModule, HttpClientModule], exports: [LcIconComponent] });
174
- LcIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, imports: [CommonModule, HttpClientModule] });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LcIconModule, decorators: [{
176
176
  type: NgModule,
177
177
  args: [{
178
178
  declarations: [LcIconComponent, SafeHtmlPipe],
@@ -1 +1 @@
1
- {"version":3,"file":"loyalty-cloud-ui-icons.mjs","sources":["../../../projects/loyalty-cloud-ui-icons/src/lib/svg-icon-cache.service.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/lc-icon.component.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/safe-html.pipe.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/lc-icon.module.ts","../../../projects/loyalty-cloud-ui-icons/src/public-api.ts","../../../projects/loyalty-cloud-ui-icons/src/loyalty-cloud-ui-icons.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SvgIconCacheService {\n private iconCache = new Map<string, SafeHtml>();\n disabledColor: string = '#98A2B3';\n\n constructor(private sanitizer: DomSanitizer, private http: HttpClient) { }\n\n registerIcon(name: string, url: string, size: number, color: string, disabled: boolean = false, strokeColor:string): Observable<SafeHtml> {\n const cacheKey = `${name}-${size}-${color}-${disabled}-${strokeColor}`; // Unique cache key\n\n if (this.iconCache.has(cacheKey)) {\n return of(this.iconCache.get(cacheKey)!); // Return the cached icon\n }\n\n return this.http.get(url, { responseType: 'text' }).pipe(\n map((svg) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(svg, 'image/svg+xml');\n const svgElement = doc.querySelector('svg');\n\n if (svgElement) {\n // Update size attributes\n svgElement.setAttribute('width', `${size}`);\n svgElement.setAttribute('height', `${size}`);\n\n // Update color only for elements without a 'fill' attribute\n if(!strokeColor) {\n const elementsToUpdate = svgElement.querySelectorAll('path, circle, rect, polygon, ellipse');\n elementsToUpdate.forEach((el) => {\n if (!el.hasAttribute('fill')) {\n el.setAttribute('fill', disabled ? this.disabledColor : color || 'black');\n }\n });\n }\n\n // If color is NOT present but strokeColor is provided, apply it to elements with stroke\n if ((!color || color === 'currentColor') && strokeColor) {\n const elementsWithStroke = svgElement.querySelectorAll('[stroke]');\n elementsWithStroke.forEach((el) => {\n el.setAttribute('stroke', strokeColor);\n });\n }\n\n const serializedSvg = new XMLSerializer().serializeToString(svgElement);\n const sanitizedSvg = this.sanitizer.bypassSecurityTrustHtml(serializedSvg);\n this.iconCache.set(cacheKey, sanitizedSvg); // Cache using the unique key\n return sanitizedSvg;\n }\n\n throw new Error(`Invalid SVG content for icon: ${name}`);\n })\n );\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, SimpleChanges } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { SvgIconCacheService } from './svg-icon-cache.service';\n\n@Component({\n selector: 'lc-icon',\n template: `\n <div \n class=\"icon\"\n [innerHTML]=\"svgIcon\" \n [style.width.px]=\"size\" \n [style.height.px]=\"size\"\n [style.color]=\"color\"\n *ngIf=\"svgIcon\">\n </div>\n `,\n styleUrls: [\n 'lc-icon.component.scss'\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class LcIconComponent implements OnInit {\n @Input() name: string = '';\n @Input() category: string = '';\n @Input() size: number = 24;\n @Input() color: string = 'currentColor';\n @Input() strokeColor: string = '';\n @Input() disabled: boolean = false;\n @Input() placeholderIcon: string = '';\n\n svgIcon: SafeHtml | null | undefined = null;\n disabledColor: string = '#98A2B3';\n\n constructor(\n private iconRegistry: SvgIconCacheService,\n private cdr: ChangeDetectorRef\n ) { }\n\n ngOnChanges(changes: SimpleChanges) {\n this.loadIcon();\n }\n\n ngOnInit() {\n this.loadIcon();\n }\n\n private loadIcon() {\n if (!this.name) {\n console.warn('Icon name is required.');\n this.svgIcon = null;\n return;\n }\n\n const iconPath = this.category\n ? `../assets/icons/${this.category}/${this.name}.svg`\n : `../assets/icons/${this.name}.svg`;\n\n this.tryLoadIcon(this.name, iconPath, true);\n }\n\n private tryLoadIcon(name: string, path: string, allowFallback: boolean) {\n this.iconRegistry\n .registerIcon(name, path, this.size, this.color, this.disabled, this.strokeColor)\n .subscribe(\n (icon) => {\n this.svgIcon = icon;\n this.cdr.detectChanges();\n },\n (error) => {\n // console.error(`Error loading icon \"${name}\":`, error);\n \n if (allowFallback && this.placeholderIcon && this.placeholderIcon !== name) {\n const fallbackPath = `../assets/icons/${this.placeholderIcon}.svg`;\n\n this.tryLoadIcon(this.placeholderIcon, fallbackPath, false);\n } else {\n this.svgIcon = null;\n }\n }\n );\n }\n}\n\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(value: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LcIconComponent } from './lc-icon.component';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { HttpClientModule } from '@angular/common/http';\n\n\n@NgModule({\n declarations: [LcIconComponent, SafeHtmlPipe],\n imports: [CommonModule, HttpClientModule],\n exports: [LcIconComponent]\n})\nexport class LcIconModule {}\n","/*\n * Public API Surface of @loyalty-cloud/ui-icons\n */\n\nexport * from './lib/lc-icon.module';\nexport * from './lib/lc-icon.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SvgIconCacheService","i2"],"mappings":"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"}
1
+ {"version":3,"file":"loyalty-cloud-ui-icons.mjs","sources":["../../../projects/loyalty-cloud-ui-icons/src/lib/svg-icon-cache.service.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/lc-icon.component.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/safe-html.pipe.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/lc-icon.module.ts","../../../projects/loyalty-cloud-ui-icons/src/public-api.ts","../../../projects/loyalty-cloud-ui-icons/src/loyalty-cloud-ui-icons.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SvgIconCacheService {\n private iconCache = new Map<string, SafeHtml>();\n disabledColor: string = '#98A2B3';\n\n constructor(private sanitizer: DomSanitizer, private http: HttpClient) { }\n\n registerIcon(name: string, url: string, size: number, color: string, disabled: boolean = false, strokeColor:string): Observable<SafeHtml> {\n const cacheKey = `${name}-${size}-${color}-${disabled}-${strokeColor}`; // Unique cache key\n\n if (this.iconCache.has(cacheKey)) {\n return of(this.iconCache.get(cacheKey)!); // Return the cached icon\n }\n\n return this.http.get(url, { responseType: 'text' }).pipe(\n map((svg) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(svg, 'image/svg+xml');\n const svgElement = doc.querySelector('svg');\n\n if (svgElement) {\n // Update size attributes\n svgElement.setAttribute('width', `${size}`);\n svgElement.setAttribute('height', `${size}`);\n\n // Update color only for elements without a 'fill' attribute\n if(!strokeColor) {\n const elementsToUpdate = svgElement.querySelectorAll('path, circle, rect, polygon, ellipse');\n elementsToUpdate.forEach((el) => {\n if (!el.hasAttribute('fill')) {\n el.setAttribute('fill', disabled ? this.disabledColor : color || 'black');\n }\n });\n }\n\n // If color is NOT present but strokeColor is provided, apply it to elements with stroke\n if ((!color || color === 'currentColor') && strokeColor) {\n const elementsWithStroke = svgElement.querySelectorAll('[stroke]');\n elementsWithStroke.forEach((el) => {\n el.setAttribute('stroke', strokeColor);\n });\n }\n\n const serializedSvg = new XMLSerializer().serializeToString(svgElement);\n const sanitizedSvg = this.sanitizer.bypassSecurityTrustHtml(serializedSvg);\n this.iconCache.set(cacheKey, sanitizedSvg); // Cache using the unique key\n return sanitizedSvg;\n }\n\n throw new Error(`Invalid SVG content for icon: ${name}`);\n })\n );\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, SimpleChanges } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { SvgIconCacheService } from './svg-icon-cache.service';\n\n@Component({\n selector: 'lc-icon',\n template: `\n <div \n class=\"icon\"\n [innerHTML]=\"svgIcon\" \n [style.width.px]=\"size\" \n [style.height.px]=\"size\"\n [style.color]=\"color\"\n *ngIf=\"svgIcon\">\n </div>\n `,\n styleUrls: [\n 'lc-icon.component.scss'\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class LcIconComponent implements OnInit {\n @Input() name: string = '';\n @Input() category: string = '';\n @Input() size: number = 24;\n @Input() color: string = 'currentColor';\n @Input() strokeColor: string = '';\n @Input() disabled: boolean = false;\n @Input() placeholderIcon: string = '';\n\n svgIcon: SafeHtml | null | undefined = null;\n disabledColor: string = '#98A2B3';\n\n constructor(\n private iconRegistry: SvgIconCacheService,\n private cdr: ChangeDetectorRef\n ) { }\n\n ngOnChanges(changes: SimpleChanges) {\n this.loadIcon();\n }\n\n ngOnInit() {\n this.loadIcon();\n }\n\n private loadIcon() {\n if (!this.name) {\n console.warn('Icon name is required.');\n this.svgIcon = null;\n return;\n }\n\n const iconPath = this.category\n ? `../assets/icons/${this.category}/${this.name}.svg`\n : `../assets/icons/${this.name}.svg`;\n\n this.tryLoadIcon(this.name, iconPath, true);\n }\n\n private tryLoadIcon(name: string, path: string, allowFallback: boolean) {\n this.iconRegistry\n .registerIcon(name, path, this.size, this.color, this.disabled, this.strokeColor)\n .subscribe(\n (icon) => {\n this.svgIcon = icon;\n this.cdr.detectChanges();\n },\n (error) => {\n // console.error(`Error loading icon \"${name}\":`, error);\n \n if (allowFallback && this.placeholderIcon && this.placeholderIcon !== name) {\n const fallbackPath = `../assets/icons/${this.placeholderIcon}.svg`;\n\n this.tryLoadIcon(this.placeholderIcon, fallbackPath, false);\n } else {\n this.svgIcon = null;\n }\n }\n );\n }\n}\n\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(value: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LcIconComponent } from './lc-icon.component';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { HttpClientModule } from '@angular/common/http';\n\n\n@NgModule({\n declarations: [LcIconComponent, SafeHtmlPipe],\n imports: [CommonModule, HttpClientModule],\n exports: [LcIconComponent]\n})\nexport class LcIconModule {}\n","/*\n * Public API Surface of @loyalty-cloud/ui-icons\n */\n\nexport * from './lib/lc-icon.module';\nexport * from './lib/lc-icon.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SvgIconCacheService","i2"],"mappings":"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"}
@@ -20,5 +20,5 @@ export declare class LcIconComponent implements OnInit {
20
20
  private loadIcon;
21
21
  private tryLoadIcon;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<LcIconComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<LcIconComponent, "lc-icon", never, { "name": "name"; "category": "category"; "size": "size"; "color": "color"; "strokeColor": "strokeColor"; "disabled": "disabled"; "placeholderIcon": "placeholderIcon"; }, {}, never, never, false>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<LcIconComponent, "lc-icon", never, { "name": { "alias": "name"; "required": false; }; "category": { "alias": "category"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "strokeColor": { "alias": "strokeColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholderIcon": { "alias": "placeholderIcon"; "required": false; }; }, {}, never, never, false, never>;
24
24
  }
package/package.json CHANGED
@@ -1,20 +1,16 @@
1
1
  {
2
2
  "name": "@loyalty-cloud/ui-icons",
3
- "version": "1.1.112",
3
+ "version": "1.1.114",
4
4
  "private": false,
5
5
  "peerDependencies": {
6
- "@angular/common": "^14.0.7",
7
- "@angular/core": "^14.0.6"
6
+ "@angular/common": "16.2.12",
7
+ "@angular/core": "16.2.12"
8
8
  },
9
9
  "dependencies": {
10
10
  "tslib": "^2.3.0"
11
11
  },
12
12
  "sideEffects": false,
13
- "module": "fesm2015/loyalty-cloud-ui-icons.mjs",
14
- "es2020": "fesm2020/loyalty-cloud-ui-icons.mjs",
15
- "esm2020": "esm2020/loyalty-cloud-ui-icons.mjs",
16
- "fesm2020": "fesm2020/loyalty-cloud-ui-icons.mjs",
17
- "fesm2015": "fesm2015/loyalty-cloud-ui-icons.mjs",
13
+ "module": "fesm2022/loyalty-cloud-ui-icons.mjs",
18
14
  "typings": "index.d.ts",
19
15
  "exports": {
20
16
  "./package.json": {
@@ -22,11 +18,9 @@
22
18
  },
23
19
  ".": {
24
20
  "types": "./index.d.ts",
25
- "esm2020": "./esm2020/loyalty-cloud-ui-icons.mjs",
26
- "es2020": "./fesm2020/loyalty-cloud-ui-icons.mjs",
27
- "es2015": "./fesm2015/loyalty-cloud-ui-icons.mjs",
28
- "node": "./fesm2015/loyalty-cloud-ui-icons.mjs",
29
- "default": "./fesm2020/loyalty-cloud-ui-icons.mjs"
21
+ "esm2022": "./esm2022/loyalty-cloud-ui-icons.mjs",
22
+ "esm": "./esm2022/loyalty-cloud-ui-icons.mjs",
23
+ "default": "./fesm2022/loyalty-cloud-ui-icons.mjs"
30
24
  }
31
25
  }
32
26
  }
@@ -1,193 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, Component, ChangeDetectionStrategy, Input, Pipe, NgModule } from '@angular/core';
3
- import * as i2$1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import { of } from 'rxjs';
6
- import { map } from 'rxjs/operators';
7
- import * as i1 from '@angular/platform-browser';
8
- import * as i2 from '@angular/common/http';
9
- import { HttpClientModule } from '@angular/common/http';
10
-
11
- class SvgIconCacheService {
12
- constructor(sanitizer, http) {
13
- this.sanitizer = sanitizer;
14
- this.http = http;
15
- this.iconCache = new Map();
16
- this.disabledColor = '#98A2B3';
17
- }
18
- registerIcon(name, url, size, color, disabled = false, strokeColor) {
19
- const cacheKey = `${name}-${size}-${color}-${disabled}-${strokeColor}`; // Unique cache key
20
- if (this.iconCache.has(cacheKey)) {
21
- return of(this.iconCache.get(cacheKey)); // Return the cached icon
22
- }
23
- return this.http.get(url, { responseType: 'text' }).pipe(map((svg) => {
24
- const parser = new DOMParser();
25
- const doc = parser.parseFromString(svg, 'image/svg+xml');
26
- const svgElement = doc.querySelector('svg');
27
- if (svgElement) {
28
- // Update size attributes
29
- svgElement.setAttribute('width', `${size}`);
30
- svgElement.setAttribute('height', `${size}`);
31
- // Update color only for elements without a 'fill' attribute
32
- if (!strokeColor) {
33
- const elementsToUpdate = svgElement.querySelectorAll('path, circle, rect, polygon, ellipse');
34
- elementsToUpdate.forEach((el) => {
35
- if (!el.hasAttribute('fill')) {
36
- el.setAttribute('fill', disabled ? this.disabledColor : color || 'black');
37
- }
38
- });
39
- }
40
- // If color is NOT present but strokeColor is provided, apply it to elements with stroke
41
- if ((!color || color === 'currentColor') && strokeColor) {
42
- const elementsWithStroke = svgElement.querySelectorAll('[stroke]');
43
- elementsWithStroke.forEach((el) => {
44
- el.setAttribute('stroke', strokeColor);
45
- });
46
- }
47
- const serializedSvg = new XMLSerializer().serializeToString(svgElement);
48
- const sanitizedSvg = this.sanitizer.bypassSecurityTrustHtml(serializedSvg);
49
- this.iconCache.set(cacheKey, sanitizedSvg); // Cache using the unique key
50
- return sanitizedSvg;
51
- }
52
- throw new Error(`Invalid SVG content for icon: ${name}`);
53
- }));
54
- }
55
- }
56
- SvgIconCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, deps: [{ token: i1.DomSanitizer }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
57
- SvgIconCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, providedIn: 'root' });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SvgIconCacheService, decorators: [{
59
- type: Injectable,
60
- args: [{
61
- providedIn: 'root'
62
- }]
63
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }, { type: i2.HttpClient }]; } });
64
-
65
- class LcIconComponent {
66
- constructor(iconRegistry, cdr) {
67
- this.iconRegistry = iconRegistry;
68
- this.cdr = cdr;
69
- this.name = '';
70
- this.category = '';
71
- this.size = 24;
72
- this.color = 'currentColor';
73
- this.strokeColor = '';
74
- this.disabled = false;
75
- this.placeholderIcon = '';
76
- this.svgIcon = null;
77
- this.disabledColor = '#98A2B3';
78
- }
79
- ngOnChanges(changes) {
80
- this.loadIcon();
81
- }
82
- ngOnInit() {
83
- this.loadIcon();
84
- }
85
- loadIcon() {
86
- if (!this.name) {
87
- console.warn('Icon name is required.');
88
- this.svgIcon = null;
89
- return;
90
- }
91
- const iconPath = this.category
92
- ? `../assets/icons/${this.category}/${this.name}.svg`
93
- : `../assets/icons/${this.name}.svg`;
94
- this.tryLoadIcon(this.name, iconPath, true);
95
- }
96
- tryLoadIcon(name, path, allowFallback) {
97
- this.iconRegistry
98
- .registerIcon(name, path, this.size, this.color, this.disabled, this.strokeColor)
99
- .subscribe((icon) => {
100
- this.svgIcon = icon;
101
- this.cdr.detectChanges();
102
- }, (error) => {
103
- // console.error(`Error loading icon "${name}":`, error);
104
- if (allowFallback && this.placeholderIcon && this.placeholderIcon !== name) {
105
- const fallbackPath = `../assets/icons/${this.placeholderIcon}.svg`;
106
- this.tryLoadIcon(this.placeholderIcon, fallbackPath, false);
107
- }
108
- else {
109
- this.svgIcon = null;
110
- }
111
- });
112
- }
113
- }
114
- LcIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconComponent, deps: [{ token: SvgIconCacheService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
115
- LcIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LcIconComponent, selector: "lc-icon", inputs: { name: "name", category: "category", size: "size", color: "color", strokeColor: "strokeColor", disabled: "disabled", placeholderIcon: "placeholderIcon" }, usesOnChanges: true, ngImport: i0, template: `
116
- <div
117
- class="icon"
118
- [innerHTML]="svgIcon"
119
- [style.width.px]="size"
120
- [style.height.px]="size"
121
- [style.color]="color"
122
- *ngIf="svgIcon">
123
- </div>
124
- `, isInline: true, styles: [".icon{display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconComponent, decorators: [{
126
- type: Component,
127
- args: [{ selector: 'lc-icon', template: `
128
- <div
129
- class="icon"
130
- [innerHTML]="svgIcon"
131
- [style.width.px]="size"
132
- [style.height.px]="size"
133
- [style.color]="color"
134
- *ngIf="svgIcon">
135
- </div>
136
- `, changeDetection: ChangeDetectionStrategy.Default, styles: [".icon{display:flex;align-items:center;justify-content:center}\n"] }]
137
- }], ctorParameters: function () { return [{ type: SvgIconCacheService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
138
- type: Input
139
- }], category: [{
140
- type: Input
141
- }], size: [{
142
- type: Input
143
- }], color: [{
144
- type: Input
145
- }], strokeColor: [{
146
- type: Input
147
- }], disabled: [{
148
- type: Input
149
- }], placeholderIcon: [{
150
- type: Input
151
- }] } });
152
-
153
- class SafeHtmlPipe {
154
- constructor(sanitizer) {
155
- this.sanitizer = sanitizer;
156
- }
157
- transform(value) {
158
- return this.sanitizer.bypassSecurityTrustHtml(value);
159
- }
160
- }
161
- SafeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
162
- SafeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, name: "safeHtml" });
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SafeHtmlPipe, decorators: [{
164
- type: Pipe,
165
- args: [{
166
- name: 'safeHtml'
167
- }]
168
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
169
-
170
- class LcIconModule {
171
- }
172
- LcIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
173
- LcIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, declarations: [LcIconComponent, SafeHtmlPipe], imports: [CommonModule, HttpClientModule], exports: [LcIconComponent] });
174
- LcIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, imports: [CommonModule, HttpClientModule] });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LcIconModule, decorators: [{
176
- type: NgModule,
177
- args: [{
178
- declarations: [LcIconComponent, SafeHtmlPipe],
179
- imports: [CommonModule, HttpClientModule],
180
- exports: [LcIconComponent]
181
- }]
182
- }] });
183
-
184
- /*
185
- * Public API Surface of @loyalty-cloud/ui-icons
186
- */
187
-
188
- /**
189
- * Generated bundle index. Do not edit.
190
- */
191
-
192
- export { LcIconComponent, LcIconModule };
193
- //# sourceMappingURL=loyalty-cloud-ui-icons.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loyalty-cloud-ui-icons.mjs","sources":["../../../projects/loyalty-cloud-ui-icons/src/lib/svg-icon-cache.service.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/lc-icon.component.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/safe-html.pipe.ts","../../../projects/loyalty-cloud-ui-icons/src/lib/lc-icon.module.ts","../../../projects/loyalty-cloud-ui-icons/src/public-api.ts","../../../projects/loyalty-cloud-ui-icons/src/loyalty-cloud-ui-icons.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SvgIconCacheService {\n private iconCache = new Map<string, SafeHtml>();\n disabledColor: string = '#98A2B3';\n\n constructor(private sanitizer: DomSanitizer, private http: HttpClient) { }\n\n registerIcon(name: string, url: string, size: number, color: string, disabled: boolean = false, strokeColor:string): Observable<SafeHtml> {\n const cacheKey = `${name}-${size}-${color}-${disabled}-${strokeColor}`; // Unique cache key\n\n if (this.iconCache.has(cacheKey)) {\n return of(this.iconCache.get(cacheKey)!); // Return the cached icon\n }\n\n return this.http.get(url, { responseType: 'text' }).pipe(\n map((svg) => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(svg, 'image/svg+xml');\n const svgElement = doc.querySelector('svg');\n\n if (svgElement) {\n // Update size attributes\n svgElement.setAttribute('width', `${size}`);\n svgElement.setAttribute('height', `${size}`);\n\n // Update color only for elements without a 'fill' attribute\n if(!strokeColor) {\n const elementsToUpdate = svgElement.querySelectorAll('path, circle, rect, polygon, ellipse');\n elementsToUpdate.forEach((el) => {\n if (!el.hasAttribute('fill')) {\n el.setAttribute('fill', disabled ? this.disabledColor : color || 'black');\n }\n });\n }\n\n // If color is NOT present but strokeColor is provided, apply it to elements with stroke\n if ((!color || color === 'currentColor') && strokeColor) {\n const elementsWithStroke = svgElement.querySelectorAll('[stroke]');\n elementsWithStroke.forEach((el) => {\n el.setAttribute('stroke', strokeColor);\n });\n }\n\n const serializedSvg = new XMLSerializer().serializeToString(svgElement);\n const sanitizedSvg = this.sanitizer.bypassSecurityTrustHtml(serializedSvg);\n this.iconCache.set(cacheKey, sanitizedSvg); // Cache using the unique key\n return sanitizedSvg;\n }\n\n throw new Error(`Invalid SVG content for icon: ${name}`);\n })\n );\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, SimpleChanges } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { SvgIconCacheService } from './svg-icon-cache.service';\n\n@Component({\n selector: 'lc-icon',\n template: `\n <div \n class=\"icon\"\n [innerHTML]=\"svgIcon\" \n [style.width.px]=\"size\" \n [style.height.px]=\"size\"\n [style.color]=\"color\"\n *ngIf=\"svgIcon\">\n </div>\n `,\n styleUrls: [\n 'lc-icon.component.scss'\n ],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class LcIconComponent implements OnInit {\n @Input() name: string = '';\n @Input() category: string = '';\n @Input() size: number = 24;\n @Input() color: string = 'currentColor';\n @Input() strokeColor: string = '';\n @Input() disabled: boolean = false;\n @Input() placeholderIcon: string = '';\n\n svgIcon: SafeHtml | null | undefined = null;\n disabledColor: string = '#98A2B3';\n\n constructor(\n private iconRegistry: SvgIconCacheService,\n private cdr: ChangeDetectorRef\n ) { }\n\n ngOnChanges(changes: SimpleChanges) {\n this.loadIcon();\n }\n\n ngOnInit() {\n this.loadIcon();\n }\n\n private loadIcon() {\n if (!this.name) {\n console.warn('Icon name is required.');\n this.svgIcon = null;\n return;\n }\n\n const iconPath = this.category\n ? `../assets/icons/${this.category}/${this.name}.svg`\n : `../assets/icons/${this.name}.svg`;\n\n this.tryLoadIcon(this.name, iconPath, true);\n }\n\n private tryLoadIcon(name: string, path: string, allowFallback: boolean) {\n this.iconRegistry\n .registerIcon(name, path, this.size, this.color, this.disabled, this.strokeColor)\n .subscribe(\n (icon) => {\n this.svgIcon = icon;\n this.cdr.detectChanges();\n },\n (error) => {\n // console.error(`Error loading icon \"${name}\":`, error);\n \n if (allowFallback && this.placeholderIcon && this.placeholderIcon !== name) {\n const fallbackPath = `../assets/icons/${this.placeholderIcon}.svg`;\n\n this.tryLoadIcon(this.placeholderIcon, fallbackPath, false);\n } else {\n this.svgIcon = null;\n }\n }\n );\n }\n}\n\n\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(value: string): SafeHtml {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LcIconComponent } from './lc-icon.component';\nimport { SafeHtmlPipe } from './safe-html.pipe';\nimport { HttpClientModule } from '@angular/common/http';\n\n\n@NgModule({\n declarations: [LcIconComponent, SafeHtmlPipe],\n imports: [CommonModule, HttpClientModule],\n exports: [LcIconComponent]\n})\nexport class LcIconModule {}\n","/*\n * Public API Surface of @loyalty-cloud/ui-icons\n */\n\nexport * from './lib/lc-icon.module';\nexport * from './lib/lc-icon.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SvgIconCacheService","i2"],"mappings":";;;;;;;;;;MASa,mBAAmB,CAAA;IAI9B,WAAoB,CAAA,SAAuB,EAAU,IAAgB,EAAA;AAAjD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAH7D,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAChD,QAAA,IAAa,CAAA,aAAA,GAAW,SAAS,CAAC;KAEwC;AAE1E,IAAA,YAAY,CAAC,IAAY,EAAE,GAAW,EAAE,IAAY,EAAE,KAAa,EAAE,QAAA,GAAoB,KAAK,EAAE,WAAkB,EAAA;AAChH,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,IAAI,IAAI,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,QAAQ,CAAI,CAAA,EAAA,WAAW,CAAE,CAAA,CAAC;QAEvE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAChC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC;AAC1C,SAAA;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CACtD,GAAG,CAAC,CAAC,GAAG,KAAI;AACV,YAAA,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAE5C,YAAA,IAAI,UAAU,EAAE;;gBAEd,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAG,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC;gBAC5C,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAG,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC;;gBAG7C,IAAG,CAAC,WAAW,EAAE;oBACf,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;AAC7F,oBAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAC9B,wBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;AAC5B,4BAAA,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC;AAC3E,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;;gBAGD,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,cAAc,KAAK,WAAW,EAAE;oBACvD,MAAM,kBAAkB,GAAG,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACnE,oBAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAChC,wBAAA,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACzC,qBAAC,CAAC,CAAC;AACJ,iBAAA;gBAED,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;gBAC3E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC3C,gBAAA,OAAO,YAAY,CAAC;AACrB,aAAA;AAED,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAA,CAAE,CAAC,CAAC;SAC1D,CAAC,CACH,CAAC;KACH;;gHAnDU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCaY,eAAe,CAAA;IAY1B,WACU,CAAA,YAAiC,EACjC,GAAsB,EAAA;AADtB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AACjC,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAbvB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;AACtB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAK,CAAA,KAAA,GAAW,cAAc,CAAC;AAC/B,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAe,CAAA,eAAA,GAAW,EAAE,CAAC;AAEtC,QAAA,IAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;AAC5C,QAAA,IAAa,CAAA,aAAA,GAAW,SAAS,CAAC;KAK7B;AAEL,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAEO,QAAQ,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO;AACR,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;cAC1B,mBAAmB,IAAI,CAAC,QAAQ,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,CAAM,IAAA,CAAA;AACrD,cAAE,CAAmB,gBAAA,EAAA,IAAI,CAAC,IAAI,MAAM,CAAC;QAEvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;KAC7C;AAEO,IAAA,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,aAAsB,EAAA;AACpE,QAAA,IAAI,CAAC,YAAY;aACd,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;AAChF,aAAA,SAAS,CACR,CAAC,IAAI,KAAI;AACP,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,EACD,CAAC,KAAK,KAAI;;YAGR,IAAI,aAAa,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;AAC1E,gBAAA,MAAM,YAAY,GAAG,CAAA,gBAAA,EAAmB,IAAI,CAAC,eAAe,MAAM,CAAC;gBAEnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC7D,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,aAAA;AACH,SAAC,CACF,CAAC;KACL;;4GA3DU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAfhB,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;GAST,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;2FAMU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAjB3B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EACT,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAIgB,eAAA,EAAA,uBAAuB,CAAC,OAAO,EAAA,MAAA,EAAA,CAAA,iEAAA,CAAA,EAAA,CAAA;uIAGvC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;MCtBK,YAAY,CAAA;AACvB,IAAA,WAAA,CAAoB,SAAuB,EAAA;AAAvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;KAAI;AAE/C,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACtD;;yGALU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;iBACjB,CAAA;;;MCOY,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0GAAZ,YAAY,EAAA,YAAA,EAAA,CAJR,eAAe,EAAE,YAAY,aAClC,YAAY,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAC9B,eAAe,CAAA,EAAA,CAAA,CAAA;0GAEd,YAAY,EAAA,OAAA,EAAA,CAHb,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAG7B,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,YAAY,CAAC;AAC7C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBACzC,OAAO,EAAE,CAAC,eAAe,CAAC;iBAC3B,CAAA;;;ACXD;;AAEG;;ACFH;;AAEG;;;;"}
File without changes
File without changes