ng-fusion-ui 0.1.4 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/esm2022/lib/button/button.module.mjs +37 -0
  2. package/esm2022/lib/button/directives/btn-flat.directive.mjs +42 -0
  3. package/esm2022/lib/button/directives/btn-outline.directive.mjs +42 -0
  4. package/esm2022/lib/button/directives/btn-raised.directive.mjs +42 -0
  5. package/esm2022/lib/button/directives/btn-text.directive.mjs +42 -0
  6. package/esm2022/lib/button/index.mjs +6 -0
  7. package/esm2022/lib/data-grid/components/head-row-cell/head-row-cell.component.mjs +12 -8
  8. package/esm2022/lib/data-grid/components/row-actions/row-actions.component.mjs +5 -3
  9. package/esm2022/lib/data-grid/data-grid/data-grid.component.mjs +9 -7
  10. package/esm2022/lib/data-grid/data-grid.module.mjs +6 -4
  11. package/esm2022/lib/icons/icon-names.mjs +2 -0
  12. package/esm2022/lib/icons/icon-registry.service.mjs +37 -0
  13. package/esm2022/lib/icons/icon.component.mjs +63 -0
  14. package/esm2022/lib/icons/icon.module.mjs +20 -0
  15. package/esm2022/lib/icons/icons.mjs +12 -0
  16. package/esm2022/lib/icons/index.mjs +3 -0
  17. package/esm2022/public-api.mjs +3 -1
  18. package/fesm2022/ng-fusion-ui.mjs +328 -14
  19. package/fesm2022/ng-fusion-ui.mjs.map +1 -1
  20. package/lib/button/button.module.d.ts +11 -0
  21. package/lib/button/directives/btn-flat.directive.d.ts +16 -0
  22. package/lib/button/directives/btn-outline.directive.d.ts +16 -0
  23. package/lib/button/directives/btn-raised.directive.d.ts +16 -0
  24. package/lib/button/directives/btn-text.directive.d.ts +16 -0
  25. package/lib/button/index.d.ts +5 -0
  26. package/lib/data-grid/components/head-row-cell/head-row-cell.component.d.ts +1 -1
  27. package/lib/data-grid/data-grid.module.d.ts +3 -1
  28. package/lib/icons/icon-names.d.ts +1 -0
  29. package/lib/icons/icon-registry.service.d.ts +11 -0
  30. package/lib/icons/icon.component.d.ts +23 -0
  31. package/lib/icons/icon.module.d.ts +8 -0
  32. package/lib/icons/icons.d.ts +11 -0
  33. package/lib/icons/index.d.ts +2 -0
  34. package/package.json +1 -1
  35. package/public-api.d.ts +2 -0
  36. package/styles/styles.scss +325 -0
@@ -0,0 +1,37 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { OutlinedButtonDirective } from './directives/btn-outline.directive';
4
+ import { RaisedButtonDirective } from './directives/btn-raised.directive';
5
+ import { TextButtonDirective } from './directives/btn-text.directive';
6
+ import { FilledButtonDirective } from './directives/btn-flat.directive';
7
+ import * as i0 from "@angular/core";
8
+ export class ButtonModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ButtonModule, declarations: [OutlinedButtonDirective,
11
+ FilledButtonDirective,
12
+ RaisedButtonDirective,
13
+ TextButtonDirective], imports: [CommonModule], exports: [OutlinedButtonDirective,
14
+ FilledButtonDirective,
15
+ RaisedButtonDirective,
16
+ TextButtonDirective] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ButtonModule, imports: [CommonModule] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ButtonModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ declarations: [
23
+ OutlinedButtonDirective,
24
+ FilledButtonDirective,
25
+ RaisedButtonDirective,
26
+ TextButtonDirective,
27
+ ],
28
+ imports: [CommonModule],
29
+ exports: [
30
+ OutlinedButtonDirective,
31
+ FilledButtonDirective,
32
+ RaisedButtonDirective,
33
+ TextButtonDirective,
34
+ ],
35
+ }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZ1c2lvbi11aS9zcmMvbGliL2J1dHRvbi9idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWlCeEUsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLGlCQWJyQix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQixtQkFBbUIsYUFFWCxZQUFZLGFBRXBCLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLG1CQUFtQjsrR0FHVixZQUFZLFlBUmIsWUFBWTs7MkZBUVgsWUFBWTtrQkFmeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3V0bGluZWRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYnRuLW91dGxpbmUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmFpc2VkQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2J0bi1yYWlzZWQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVGV4dEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9idG4tdGV4dC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWxsZWRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYnRuLWZsYXQuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBPdXRsaW5lZEJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgIEZpbGxlZEJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgIFJhaXNlZEJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgIFRleHRCdXR0b25EaXJlY3RpdmUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBPdXRsaW5lZEJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgIEZpbGxlZEJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgIFJhaXNlZEJ1dHRvbkRpcmVjdGl2ZSxcclxuICAgIFRleHRCdXR0b25EaXJlY3RpdmUsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbk1vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Directive, Input, booleanAttribute, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FilledButtonDirective {
4
+ constructor(el, renderer) {
5
+ this.el = el;
6
+ this.renderer = renderer;
7
+ this.variant = 'regular';
8
+ this.iconButton = false;
9
+ this.rounded = false;
10
+ }
11
+ ngOnInit() {
12
+ this.setInitialStyles();
13
+ }
14
+ setInitialStyles() {
15
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn');
16
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn-filled');
17
+ this.renderer.addClass(this.el.nativeElement, `fu-btn-${this.variant}`);
18
+ if (this.iconButton) {
19
+ this.renderer.setAttribute(this.el.nativeElement, 'icon', 'true');
20
+ }
21
+ if (this.rounded) {
22
+ this.renderer.setAttribute(this.el.nativeElement, 'rounded', 'true');
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilledButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: FilledButtonDirective, selector: "[fu-btn-filled]", inputs: { variant: "variant", iconButton: ["iconButton", "iconButton", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute] }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: FilledButtonDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[fu-btn-filled]',
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { variant: [{
34
+ type: Input
35
+ }], iconButton: [{
36
+ type: Input,
37
+ args: [{ transform: booleanAttribute }]
38
+ }], rounded: [{
39
+ type: Input,
40
+ args: [{ transform: booleanAttribute }]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWZsYXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvYnV0dG9uL2RpcmVjdGl2ZXMvYnRuLWZsYXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBR1QsS0FBSyxFQUVMLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLHFCQUFxQjtJQU9oQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFOdEQsWUFBTyxHQUNkLFNBQVMsQ0FBQztRQUU0QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFFQyxDQUFDO0lBRTVELFFBQVE7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFeEUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7OEdBekJVLHFCQUFxQjtrR0FBckIscUJBQXFCLHNHQUlaLGdCQUFnQixtQ0FDaEIsZ0JBQWdCOzsyRkFMekIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCO3VHQUVVLE9BQU87c0JBQWYsS0FBSztnQkFHa0MsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tmdS1idG4tZmlsbGVkXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxsZWRCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZhcmlhbnQ6ICdyZWd1bGFyJyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnID1cclxuICAgICdyZWd1bGFyJztcclxuXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGljb25CdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcm91bmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsU3R5bGVzKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdmdS1idG4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZnUtYnRuLWZpbGxlZCcpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGBmdS1idG4tJHt0aGlzLnZhcmlhbnR9YCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaWNvbkJ1dHRvbikge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpY29uJywgJ3RydWUnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yb3VuZGVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3JvdW5kZWQnLCAndHJ1ZScpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Directive, Input, booleanAttribute, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class OutlinedButtonDirective {
4
+ constructor(el, renderer) {
5
+ this.el = el;
6
+ this.renderer = renderer;
7
+ this.variant = 'regular';
8
+ this.iconButton = false;
9
+ this.rounded = false;
10
+ }
11
+ ngOnInit() {
12
+ this.setInitialStyles();
13
+ }
14
+ setInitialStyles() {
15
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn');
16
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn-outline');
17
+ this.renderer.addClass(this.el.nativeElement, `fu-btn-${this.variant}`);
18
+ if (this.iconButton) {
19
+ this.renderer.setAttribute(this.el.nativeElement, 'icon', 'true');
20
+ }
21
+ if (this.rounded) {
22
+ this.renderer.setAttribute(this.el.nativeElement, 'rounded', 'true');
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OutlinedButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: OutlinedButtonDirective, selector: "[fu-btn-outline]", inputs: { variant: "variant", iconButton: ["iconButton", "iconButton", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute] }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: OutlinedButtonDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[fu-btn-outline]',
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { variant: [{
34
+ type: Input
35
+ }], iconButton: [{
36
+ type: Input,
37
+ args: [{ transform: booleanAttribute }]
38
+ }], rounded: [{
39
+ type: Input,
40
+ args: [{ transform: booleanAttribute }]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLW91dGxpbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvYnV0dG9uL2RpcmVjdGl2ZXMvYnRuLW91dGxpbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBR1QsS0FBSyxFQUVMLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLHVCQUF1QjtJQU9sQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFOdEQsWUFBTyxHQUNkLFNBQVMsQ0FBQztRQUU0QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFFQyxDQUFDO0lBRTVELFFBQVE7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUV4RSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQzs4R0F6QlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsdUdBSWQsZ0JBQWdCLG1DQUNoQixnQkFBZ0I7OzJGQUx6Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7dUdBRVUsT0FBTztzQkFBZixLQUFLO2dCQUdrQyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLE9BQU87c0JBQTlDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Z1LWJ0bi1vdXRsaW5lXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPdXRsaW5lZEJ1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdmFyaWFudDogJ3JlZ3VsYXInIHwgJ2RhbmdlcicgfCAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgPVxyXG4gICAgJ3JlZ3VsYXInO1xyXG5cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaWNvbkJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByb3VuZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRJbml0aWFsU3R5bGVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEluaXRpYWxTdHlsZXMoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Z1LWJ0bicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdmdS1idG4tb3V0bGluZScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGBmdS1idG4tJHt0aGlzLnZhcmlhbnR9YCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaWNvbkJ1dHRvbikge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpY29uJywgJ3RydWUnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yb3VuZGVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3JvdW5kZWQnLCAndHJ1ZScpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { Directive, Input, booleanAttribute, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RaisedButtonDirective {
4
+ constructor(el, renderer) {
5
+ this.el = el;
6
+ this.renderer = renderer;
7
+ this.variant = 'regular';
8
+ this.iconButton = false;
9
+ this.rounded = false;
10
+ }
11
+ ngOnInit() {
12
+ this.setInitialStyles();
13
+ }
14
+ setInitialStyles() {
15
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn');
16
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn-raised');
17
+ this.renderer.addClass(this.el.nativeElement, `fu-btn-${this.variant}`);
18
+ if (this.iconButton) {
19
+ this.renderer.setAttribute(this.el.nativeElement, 'icon', 'true');
20
+ }
21
+ if (this.rounded) {
22
+ this.renderer.setAttribute(this.el.nativeElement, 'rounded', 'true');
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RaisedButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: RaisedButtonDirective, selector: "[fu-btn-raised]", inputs: { variant: "variant", iconButton: ["iconButton", "iconButton", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute] }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RaisedButtonDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[fu-btn-raised]',
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { variant: [{
34
+ type: Input
35
+ }], iconButton: [{
36
+ type: Input,
37
+ args: [{ transform: booleanAttribute }]
38
+ }], rounded: [{
39
+ type: Input,
40
+ args: [{ transform: booleanAttribute }]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXJhaXNlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mdXNpb24tdWkvc3JjL2xpYi9idXR0b24vZGlyZWN0aXZlcy9idG4tcmFpc2VkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULEtBQUssRUFFTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxxQkFBcUI7SUFPaEMsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTnRELFlBQU8sR0FDZCxTQUFTLENBQUM7UUFFNEIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixZQUFPLEdBQVksS0FBSyxDQUFDO0lBRUMsQ0FBQztJQUU1RCxRQUFRO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDOzhHQXpCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixzR0FJWixnQkFBZ0IsbUNBQ2hCLGdCQUFnQjs7MkZBTHpCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjt1R0FFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBR2tDLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZnUtYnRuLXJhaXNlZF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFpc2VkQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB2YXJpYW50OiAncmVndWxhcicgfCAnZGFuZ2VyJyB8ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyA9XHJcbiAgICAncmVndWxhcic7XHJcblxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpY29uQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJvdW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEluaXRpYWxTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SW5pdGlhbFN0eWxlcygpIHtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZnUtYnRuJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Z1LWJ0bi1yYWlzZWQnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBgZnUtYnRuLSR7dGhpcy52YXJpYW50fWApO1xyXG5cclxuICAgIGlmICh0aGlzLmljb25CdXR0b24pIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaWNvbicsICd0cnVlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucm91bmRlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdyb3VuZGVkJywgJ3RydWUnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,42 @@
1
+ import { Directive, Input, booleanAttribute, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TextButtonDirective {
4
+ constructor(el, renderer) {
5
+ this.el = el;
6
+ this.renderer = renderer;
7
+ this.variant = 'regular';
8
+ this.iconButton = false;
9
+ this.rounded = false;
10
+ }
11
+ ngOnInit() {
12
+ this.setInitialStyles();
13
+ }
14
+ setInitialStyles() {
15
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn');
16
+ this.renderer.addClass(this.el.nativeElement, 'fu-btn-text');
17
+ this.renderer.addClass(this.el.nativeElement, `fu-btn-${this.variant}`);
18
+ if (this.iconButton) {
19
+ this.renderer.setAttribute(this.el.nativeElement, 'icon', 'true');
20
+ }
21
+ if (this.rounded) {
22
+ this.renderer.setAttribute(this.el.nativeElement, 'rounded', 'true');
23
+ }
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TextButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: TextButtonDirective, selector: "[fu-btn-text]", inputs: { variant: "variant", iconButton: ["iconButton", "iconButton", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute] }, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TextButtonDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{
31
+ selector: '[fu-btn-text]',
32
+ }]
33
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { variant: [{
34
+ type: Input
35
+ }], iconButton: [{
36
+ type: Input,
37
+ args: [{ transform: booleanAttribute }]
38
+ }], rounded: [{
39
+ type: Input,
40
+ args: [{ transform: booleanAttribute }]
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLXRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvYnV0dG9uL2RpcmVjdGl2ZXMvYnRuLXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBR1QsS0FBSyxFQUVMLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLG1CQUFtQjtJQU85QixZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFOdEQsWUFBTyxHQUNkLFNBQVMsQ0FBQztRQUU0QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFFQyxDQUFDO0lBRTVELFFBQVE7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFeEUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7OEdBekJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLG9HQUlWLGdCQUFnQixtQ0FDaEIsZ0JBQWdCOzsyRkFMekIsbUJBQW1CO2tCQUgvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjt1R0FFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBR2tDLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZnUtYnRuLXRleHRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZhcmlhbnQ6ICdyZWd1bGFyJyB8ICdkYW5nZXInIHwgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnID1cclxuICAgICdyZWd1bGFyJztcclxuXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGljb25CdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcm91bmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFN0eWxlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsU3R5bGVzKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdmdS1idG4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZnUtYnRuLXRleHQnKTtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBgZnUtYnRuLSR7dGhpcy52YXJpYW50fWApO1xyXG5cclxuICAgIGlmICh0aGlzLmljb25CdXR0b24pIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaWNvbicsICd0cnVlJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucm91bmRlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdyb3VuZGVkJywgJ3RydWUnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,6 @@
1
+ export * from './button.module';
2
+ export * from './directives/btn-flat.directive';
3
+ export * from './directives/btn-outline.directive';
4
+ export * from './directives/btn-raised.directive';
5
+ export * from './directives/btn-text.directive';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mdXNpb24tdWkvc3JjL2xpYi9idXR0b24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2J0bi1mbGF0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9idG4tb3V0bGluZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvYnRuLXJhaXNlZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvYnRuLXRleHQuZGlyZWN0aXZlJztcclxuIl19
@@ -1,15 +1,19 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, effect, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, effect, signal, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../../services/data-sorting.service";
4
- import * as i2 from "../../directives/sort-column.directive";
4
+ import * as i2 from "../../../icons/icon.component";
5
+ import * as i3 from "../../directives/sort-column.directive";
5
6
  export class HeadRowCellComponent {
6
7
  constructor(sortService, elementRef) {
7
8
  this.sortService = sortService;
8
9
  this.elementRef = elementRef;
10
+ this.direction = signal('');
9
11
  effect(() => {
10
- this.direction = this.sortService.sortDirection();
11
- this.sorting = this.sortService.sortKey();
12
- });
12
+ if (this.sortKey) {
13
+ this.direction.set(this.sortService.sortDirection());
14
+ this.sorting = this.sortService.sortKey();
15
+ }
16
+ }, { allowSignalWrites: true });
13
17
  }
14
18
  ngOnInit() {
15
19
  const index = this.getIndex();
@@ -33,15 +37,15 @@ export class HeadRowCellComponent {
33
37
  return Array.from(parent.children).indexOf(this.elementRef.nativeElement);
34
38
  }
35
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: HeadRowCellComponent, deps: [{ token: i1.DataSortingService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: HeadRowCellComponent, selector: "fu-head-row-cell", inputs: { cellDef: "cellDef", sortKey: "sortKey" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"fu-head-row-cell\" [sortColumn]=\"sortKey\" (click)=\"onSort()\">\r\n <span>{{ cellDef }}</span>\r\n @if (sortKey) { @if (sortKey === sorting) {\r\n <button>{{ direction === \"asc\" ? \"&#8593;\" : \"&#8595;\" }}</button>\r\n } @else {\r\n <button>&#8645;</button>\r\n } }\r\n</div>\r\n", styles: [".fu-head-row-cell{padding:16px;font-weight:700}.fu-head-row-cell>span{margin-right:4px}.fu-head-row-cell>button{cursor:pointer;background-color:transparent;color:var(--fu-grid-text-color);font-weight:700;border:none;width:16px;height:16px}@media (max-width: 900px){.fu-head-row-cell{display:none}.fu-head-row-cell[data-sorted]{display:block}}.fu-head-row-cell[data-sorted]:hover{cursor:pointer;background-color:var(--fu-grid-hover-color)}.fu-head-row-cell.sort-asc,.fu-head-row-cell.sort-desc{background-color:var(--fu-grid-fg-color)}\n"], dependencies: [{ kind: "directive", type: i2.SortColumnDirective, selector: "[sortColumn]", inputs: ["sortColumn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: HeadRowCellComponent, selector: "fu-head-row-cell", inputs: { cellDef: "cellDef", sortKey: "sortKey" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"fu-head-row-cell\" [sortColumn]=\"sortKey\" (click)=\"onSort()\">\r\n <span>{{ cellDef }}</span>\r\n @if (sortKey) {\r\n <!-- wrap -->\r\n @if (sortKey === sorting) {\r\n <button>\r\n @if(direction() === 'asc') {\r\n <fu-icon iconName=\"sortAsc\" />\r\n } @if (direction() === 'desc') {\r\n <fu-icon iconName=\"sortDesc\" />\r\n }\r\n </button>\r\n } @else {\r\n <button><fu-icon iconName=\"sort\" /></button>\r\n } }\r\n</div>\r\n", styles: [".fu-head-row-cell{padding:16px;font-weight:700;display:flex}.fu-head-row-cell>span{margin-right:4px}.fu-head-row-cell>button{cursor:pointer;background-color:transparent;color:var(--fu-grid-text-color);font-weight:700;border:none}@media (max-width: 900px){.fu-head-row-cell{display:none}.fu-head-row-cell[data-sorted]{display:flex}}.fu-head-row-cell[data-sorted]:hover{cursor:pointer;background-color:var(--fu-grid-hover-color)}.fu-head-row-cell.sort-asc,.fu-head-row-cell.sort-desc{background-color:var(--fu-grid-fg-color)}\n"], dependencies: [{ kind: "component", type: i2.IconComponent, selector: "fu-icon", inputs: ["iconName", "size", "strokeWidth", "color"] }, { kind: "directive", type: i3.SortColumnDirective, selector: "[sortColumn]", inputs: ["sortColumn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
41
  }
38
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: HeadRowCellComponent, decorators: [{
39
43
  type: Component,
40
- args: [{ selector: 'fu-head-row-cell', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fu-head-row-cell\" [sortColumn]=\"sortKey\" (click)=\"onSort()\">\r\n <span>{{ cellDef }}</span>\r\n @if (sortKey) { @if (sortKey === sorting) {\r\n <button>{{ direction === \"asc\" ? \"&#8593;\" : \"&#8595;\" }}</button>\r\n } @else {\r\n <button>&#8645;</button>\r\n } }\r\n</div>\r\n", styles: [".fu-head-row-cell{padding:16px;font-weight:700}.fu-head-row-cell>span{margin-right:4px}.fu-head-row-cell>button{cursor:pointer;background-color:transparent;color:var(--fu-grid-text-color);font-weight:700;border:none;width:16px;height:16px}@media (max-width: 900px){.fu-head-row-cell{display:none}.fu-head-row-cell[data-sorted]{display:block}}.fu-head-row-cell[data-sorted]:hover{cursor:pointer;background-color:var(--fu-grid-hover-color)}.fu-head-row-cell.sort-asc,.fu-head-row-cell.sort-desc{background-color:var(--fu-grid-fg-color)}\n"] }]
44
+ args: [{ selector: 'fu-head-row-cell', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fu-head-row-cell\" [sortColumn]=\"sortKey\" (click)=\"onSort()\">\r\n <span>{{ cellDef }}</span>\r\n @if (sortKey) {\r\n <!-- wrap -->\r\n @if (sortKey === sorting) {\r\n <button>\r\n @if(direction() === 'asc') {\r\n <fu-icon iconName=\"sortAsc\" />\r\n } @if (direction() === 'desc') {\r\n <fu-icon iconName=\"sortDesc\" />\r\n }\r\n </button>\r\n } @else {\r\n <button><fu-icon iconName=\"sort\" /></button>\r\n } }\r\n</div>\r\n", styles: [".fu-head-row-cell{padding:16px;font-weight:700;display:flex}.fu-head-row-cell>span{margin-right:4px}.fu-head-row-cell>button{cursor:pointer;background-color:transparent;color:var(--fu-grid-text-color);font-weight:700;border:none}@media (max-width: 900px){.fu-head-row-cell{display:none}.fu-head-row-cell[data-sorted]{display:flex}}.fu-head-row-cell[data-sorted]:hover{cursor:pointer;background-color:var(--fu-grid-hover-color)}.fu-head-row-cell.sort-asc,.fu-head-row-cell.sort-desc{background-color:var(--fu-grid-fg-color)}\n"] }]
41
45
  }], ctorParameters: () => [{ type: i1.DataSortingService }, { type: i0.ElementRef }], propDecorators: { cellDef: [{
42
46
  type: Input,
43
47
  args: [{ required: true }]
44
48
  }], sortKey: [{
45
49
  type: Input
46
50
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1yb3ctY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mdXNpb24tdWkvc3JjL2xpYi9kYXRhLWdyaWQvY29tcG9uZW50cy9oZWFkLXJvdy1jZWxsL2hlYWQtcm93LWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvZGF0YS1ncmlkL2NvbXBvbmVudHMvaGVhZC1yb3ctY2VsbC9oZWFkLXJvdy1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFJTCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFDVSxXQUErQixFQUMvQixVQUFzQjtRQUR0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUU5QixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsT0FBTyxhQUFhLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDM0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RSxDQUFDOzhHQXpDVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixpSUNwQmpDLG1UQVFBOzsyRkRZYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7Z0hBR0gsT0FBTztzQkFBeEMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ1QsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGVmZmVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS1zb3J0aW5nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmdS1oZWFkLXJvdy1jZWxsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZC1yb3ctY2VsbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hlYWQtcm93LWNlbGwuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkUm93Q2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY2VsbERlZjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0S2V5OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBkaXJlY3Rpb246IHN0cmluZztcclxuICBwdWJsaWMgc29ydGluZzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc29ydFNlcnZpY2U6IERhdGFTb3J0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgZWZmZWN0KCgpID0+IHtcclxuICAgICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLnNvcnRTZXJ2aWNlLnNvcnREaXJlY3Rpb24oKTtcclxuICAgICAgdGhpcy5zb3J0aW5nID0gdGhpcy5zb3J0U2VydmljZS5zb3J0S2V5KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleCgpO1xyXG4gICAgdGhpcy5zb3J0U2VydmljZS5zZXRDZWxsRGVmKGluZGV4LCB0aGlzLmNlbGxEZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydzb3J0S2V5J10pIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZUtleSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU29ydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc29ydFNlcnZpY2Uuc2V0U29ydEtleSh0aGlzLnNvcnRLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZUtleSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zb3J0U2VydmljZS5jZWxsS2V5cy5pbmNsdWRlcyh0aGlzLnNvcnRLZXkpKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgSW52YWxpZCBzb3J0S2V5ICcke3RoaXMuc29ydEtleX0nIHByb3ZpZGVkLmApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJbmRleCgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHBhcmVudC5jaGlsZHJlbikuaW5kZXhPZih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmdS1oZWFkLXJvdy1jZWxsXCIgW3NvcnRDb2x1bW5dPVwic29ydEtleVwiIChjbGljayk9XCJvblNvcnQoKVwiPlxyXG4gIDxzcGFuPnt7IGNlbGxEZWYgfX08L3NwYW4+XHJcbiAgQGlmIChzb3J0S2V5KSB7IEBpZiAoc29ydEtleSA9PT0gc29ydGluZykge1xyXG4gIDxidXR0b24+e3sgZGlyZWN0aW9uID09PSBcImFzY1wiID8gXCImIzg1OTM7XCIgOiBcIiYjODU5NTtcIiB9fTwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxidXR0b24+JiM4NjQ1OzwvYnV0dG9uPlxyXG4gIH0gfVxyXG48L2Rpdj5cclxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1yb3ctY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mdXNpb24tdWkvc3JjL2xpYi9kYXRhLWdyaWQvY29tcG9uZW50cy9oZWFkLXJvdy1jZWxsL2hlYWQtcm93LWNlbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvZGF0YS1ncmlkL2NvbXBvbmVudHMvaGVhZC1yb3ctY2VsbC9oZWFkLXJvdy1jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFJTCxpQkFBaUIsRUFDakIsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVdkIsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUNVLFdBQStCLEVBQy9CLFVBQXNCO1FBRHRCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTHpCLGNBQVMsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7UUFPcEMsTUFBTSxDQUNKLEdBQUcsRUFBRTtZQUNILElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBQzNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs4R0E5Q1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsaUlDckJqQyxzZEFnQkE7OzJGREthLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtnSEFHSCxPQUFPO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDVCxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgZWZmZWN0LFxyXG4gIHNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNvcnRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS1zb3J0aW5nLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmdS1oZWFkLXJvdy1jZWxsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZC1yb3ctY2VsbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2hlYWQtcm93LWNlbGwuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkUm93Q2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY2VsbERlZjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0S2V5OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBkaXJlY3Rpb24gPSBzaWduYWw8c3RyaW5nPignJyk7XHJcbiAgcHVibGljIHNvcnRpbmc6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNvcnRTZXJ2aWNlOiBEYXRhU29ydGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIGVmZmVjdChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNvcnRLZXkpIHtcclxuICAgICAgICAgIHRoaXMuZGlyZWN0aW9uLnNldCh0aGlzLnNvcnRTZXJ2aWNlLnNvcnREaXJlY3Rpb24oKSk7XHJcbiAgICAgICAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLnNvcnRTZXJ2aWNlLnNvcnRLZXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJbmRleCgpO1xyXG4gICAgdGhpcy5zb3J0U2VydmljZS5zZXRDZWxsRGVmKGluZGV4LCB0aGlzLmNlbGxEZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydzb3J0S2V5J10pIHtcclxuICAgICAgdGhpcy52YWxpZGF0ZUtleSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU29ydCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc29ydFNlcnZpY2Uuc2V0U29ydEtleSh0aGlzLnNvcnRLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZUtleSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zb3J0U2VydmljZS5jZWxsS2V5cy5pbmNsdWRlcyh0aGlzLnNvcnRLZXkpKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgSW52YWxpZCBzb3J0S2V5ICcke3RoaXMuc29ydEtleX0nIHByb3ZpZGVkLmApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRJbmRleCgpOiBudW1iZXIge1xyXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHBhcmVudC5jaGlsZHJlbikuaW5kZXhPZih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmdS1oZWFkLXJvdy1jZWxsXCIgW3NvcnRDb2x1bW5dPVwic29ydEtleVwiIChjbGljayk9XCJvblNvcnQoKVwiPlxyXG4gIDxzcGFuPnt7IGNlbGxEZWYgfX08L3NwYW4+XHJcbiAgQGlmIChzb3J0S2V5KSB7XHJcbiAgPCEtLSB3cmFwIC0tPlxyXG4gIEBpZiAoc29ydEtleSA9PT0gc29ydGluZykge1xyXG4gIDxidXR0b24+XHJcbiAgICBAaWYoZGlyZWN0aW9uKCkgPT09ICdhc2MnKSB7XHJcbiAgICA8ZnUtaWNvbiBpY29uTmFtZT1cInNvcnRBc2NcIiAvPlxyXG4gICAgfSBAaWYgKGRpcmVjdGlvbigpID09PSAnZGVzYycpIHtcclxuICAgIDxmdS1pY29uIGljb25OYW1lPVwic29ydERlc2NcIiAvPlxyXG4gICAgfVxyXG4gIDwvYnV0dG9uPlxyXG4gIH0gQGVsc2Uge1xyXG4gIDxidXR0b24+PGZ1LWljb24gaWNvbk5hbWU9XCJzb3J0XCIgLz48L2J1dHRvbj5cclxuICB9IH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -2,6 +2,8 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEn
2
2
  import { take } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../services/edit-row.service";
5
+ import * as i2 from "../../../icons/icon.component";
6
+ import * as i3 from "../../../button/directives/btn-outline.directive";
5
7
  export class RowActionsComponent {
6
8
  constructor(renderer, el, editRowService) {
7
9
  this.renderer = renderer;
@@ -50,11 +52,11 @@ export class RowActionsComponent {
50
52
  }
51
53
  }
52
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RowActionsComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.EditRowService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: RowActionsComponent, selector: "fu-row-actions", inputs: { editRow: "editRow", editIndex: "editIndex" }, outputs: { editSave: "editSave", delete: "delete" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"actions\">\r\n @if (editRow && editIndex !== null) { @if(isEditing()){\r\n <button (click)=\"cancelEdit($event)\">&#8861;</button>\r\n <button (click)=\"saveEdit($event)\">&#10003;</button>\r\n }@else {\r\n <button (click)=\"setEdit($event)\">&#9998;</button>\r\n } } @if (!isEditing() && showDelete) {\r\n <button (click)=\"emitDelete($event)\">&#10007;</button>\r\n }\r\n <ng-content />\r\n</div>\r\n", styles: [".actions{display:flex;justify-content:center;align-items:center;height:100%;gap:12px}.actions button{width:25px;height:25px;border:none;background-color:#958d8d}.actions button:hover{cursor:pointer;background-color:#ff4500}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: RowActionsComponent, selector: "fu-row-actions", inputs: { editRow: "editRow", editIndex: "editIndex" }, outputs: { editSave: "editSave", delete: "delete" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"fu-row-actions\">\r\n @if (editRow && editIndex !== null) { @if(isEditing()){\r\n <button fu-btn-outline iconButton (click)=\"cancelEdit($event)\">\r\n <fu-icon iconName=\"editOff\" />\r\n </button>\r\n <button\r\n fu-btn-outline\r\n iconButton\r\n variant=\"success\"\r\n (click)=\"saveEdit($event)\"\r\n >\r\n <fu-icon iconName=\"editSave\" />\r\n </button>\r\n }@else {\r\n <button fu-btn-outline iconButton (click)=\"setEdit($event)\">\r\n <fu-icon iconName=\"edit\" />\r\n </button>\r\n } } @if (!isEditing() && showDelete) {\r\n <button\r\n fu-btn-outline\r\n iconButton\r\n variant=\"danger\"\r\n (click)=\"emitDelete($event)\"\r\n >\r\n <fu-icon iconName=\"trash\" />\r\n </button>\r\n }\r\n <ng-content />\r\n</div>\r\n", styles: [".fu-row-actions{display:flex;justify-content:center;align-items:center;height:100%;gap:12px}\n"], dependencies: [{ kind: "component", type: i2.IconComponent, selector: "fu-icon", inputs: ["iconName", "size", "strokeWidth", "color"] }, { kind: "directive", type: i3.OutlinedButtonDirective, selector: "[fu-btn-outline]", inputs: ["variant", "iconButton", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
56
  }
55
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: RowActionsComponent, decorators: [{
56
58
  type: Component,
57
- args: [{ selector: 'fu-row-actions', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"actions\">\r\n @if (editRow && editIndex !== null) { @if(isEditing()){\r\n <button (click)=\"cancelEdit($event)\">&#8861;</button>\r\n <button (click)=\"saveEdit($event)\">&#10003;</button>\r\n }@else {\r\n <button (click)=\"setEdit($event)\">&#9998;</button>\r\n } } @if (!isEditing() && showDelete) {\r\n <button (click)=\"emitDelete($event)\">&#10007;</button>\r\n }\r\n <ng-content />\r\n</div>\r\n", styles: [".actions{display:flex;justify-content:center;align-items:center;height:100%;gap:12px}.actions button{width:25px;height:25px;border:none;background-color:#958d8d}.actions button:hover{cursor:pointer;background-color:#ff4500}\n"] }]
59
+ args: [{ selector: 'fu-row-actions', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fu-row-actions\">\r\n @if (editRow && editIndex !== null) { @if(isEditing()){\r\n <button fu-btn-outline iconButton (click)=\"cancelEdit($event)\">\r\n <fu-icon iconName=\"editOff\" />\r\n </button>\r\n <button\r\n fu-btn-outline\r\n iconButton\r\n variant=\"success\"\r\n (click)=\"saveEdit($event)\"\r\n >\r\n <fu-icon iconName=\"editSave\" />\r\n </button>\r\n }@else {\r\n <button fu-btn-outline iconButton (click)=\"setEdit($event)\">\r\n <fu-icon iconName=\"edit\" />\r\n </button>\r\n } } @if (!isEditing() && showDelete) {\r\n <button\r\n fu-btn-outline\r\n iconButton\r\n variant=\"danger\"\r\n (click)=\"emitDelete($event)\"\r\n >\r\n <fu-icon iconName=\"trash\" />\r\n </button>\r\n }\r\n <ng-content />\r\n</div>\r\n", styles: [".fu-row-actions{display:flex;justify-content:center;align-items:center;height:100%;gap:12px}\n"] }]
58
60
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.EditRowService }], propDecorators: { editRow: [{
59
61
  type: Input
60
62
  }], editIndex: [{
@@ -64,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
64
66
  }], delete: [{
65
67
  type: Output
66
68
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvZGF0YS1ncmlkL2NvbXBvbmVudHMvcm93LWFjdGlvbnMvcm93LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvZGF0YS1ncmlkL2NvbXBvbmVudHMvcm93LWFjdGlvbnMvcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBR04saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBUzFDLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFDVSxRQUFtQixFQUNuQixFQUFjLEVBQ2QsY0FBOEI7UUFGOUIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBWGpDLGNBQVMsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUVsQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztRQUNqQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTSxPQUFPLENBQUMsQ0FBUTtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakQsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxVQUFVLENBQUMsQ0FBUTtRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxDLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sUUFBUSxDQUFDLENBQVE7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDdkUsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUV4RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxVQUFVLENBQUMsQ0FBUTtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDOzhHQWxFVSxtQkFBbUI7a0dBQW5CLG1CQUFtQix3TEN6QmhDLDBhQVdBOzsyRkRjYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7b0lBR3JCLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFLVyxRQUFRO3NCQUF4QixNQUFNO2dCQUNVLE1BQU07c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgc2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFZGl0Um93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VkaXQtcm93LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRha2UgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnUtcm93LWFjdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3ctYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Jvdy1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm93QWN0aW9uc0NvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlZGl0Um93OiBUO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlZGl0SW5kZXg6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIGlzRWRpdGluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHVibGljIHNob3dEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBlZGl0U2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBlZGl0Um93U2VydmljZTogRWRpdFJvd1NlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2RhdGEtYWN0aW9ucycsICd0cnVlJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dEZWxldGUgPSB0aGlzLmRlbGV0ZS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZWRpdFJvdyddICYmIGNoYW5nZXNbJ2VkaXRJbmRleCddKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5lZGl0Um93U2VydmljZS5lZGl0U3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzRWRpdGluZy5zZXQoc3RhdGUgPT09IHRoaXMuZWRpdEluZGV4KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RWRpdChlOiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0Um93U2VydmljZS5zdGFydEVkaXRpbmcodGhpcy5lZGl0SW5kZXgpO1xyXG5cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsRWRpdChlOiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5lZGl0Um93U2VydmljZS5zdG9wRWRpdGluZygpO1xyXG5cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZUVkaXQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdFJvd1NlcnZpY2Uuc3RvcEVkaXRpbmcoKTtcclxuXHJcbiAgICB0aGlzLmVkaXRSb3dTZXJ2aWNlLmVkaXRWYWx1ZXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChlZGl0ZWRWYWx1ZXMpID0+IHtcclxuICAgICAgY29uc3QgdXBkYXRlZFJvdyA9IHsgLi4udGhpcy5lZGl0Um93LCAuLi5lZGl0ZWRWYWx1ZXMgfTtcclxuXHJcbiAgICAgIHRoaXMuZWRpdFNhdmUuZW1pdCh1cGRhdGVkUm93KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZWRpdFJvd1NlcnZpY2UucmVzZXRFZGl0VmFsdWVzKCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtaXREZWxldGUoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsZXRlLmVtaXQoKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cclxuICBAaWYgKGVkaXRSb3cgJiYgZWRpdEluZGV4ICE9PSBudWxsKSB7IEBpZihpc0VkaXRpbmcoKSl7XHJcbiAgPGJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsRWRpdCgkZXZlbnQpXCI+JiM4ODYxOzwvYnV0dG9uPlxyXG4gIDxidXR0b24gKGNsaWNrKT1cInNhdmVFZGl0KCRldmVudClcIj4mIzEwMDAzOzwvYnV0dG9uPlxyXG4gIH1AZWxzZSB7XHJcbiAgPGJ1dHRvbiAoY2xpY2spPVwic2V0RWRpdCgkZXZlbnQpXCI+JiM5OTk4OzwvYnV0dG9uPlxyXG4gIH0gfSBAaWYgKCFpc0VkaXRpbmcoKSAmJiBzaG93RGVsZXRlKSB7XHJcbiAgPGJ1dHRvbiAoY2xpY2spPVwiZW1pdERlbGV0ZSgkZXZlbnQpXCI+JiMxMDAwNzs8L2J1dHRvbj5cclxuICB9XHJcbiAgPG5nLWNvbnRlbnQgLz5cclxuPC9kaXY+XHJcbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvZGF0YS1ncmlkL2NvbXBvbmVudHMvcm93LWFjdGlvbnMvcm93LWFjdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZnVzaW9uLXVpL3NyYy9saWIvZGF0YS1ncmlkL2NvbXBvbmVudHMvcm93LWFjdGlvbnMvcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBR04saUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFTMUMsTUFBTSxPQUFPLG1CQUFtQjtJQVk5QixZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxjQUE4QjtRQUY5QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFYakMsY0FBUyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNuQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRWxCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBSyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBU2pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVNLE9BQU8sQ0FBQyxDQUFRO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUFRO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBUTtRQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRWxDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUN2RSxNQUFNLFVBQVUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO1lBRXhELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUFRO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7OEdBbEVVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHdMQ3pCaEMsMHhCQTZCQTs7MkZESmEsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO29JQUdyQixPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS1csUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIHNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRWRpdFJvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZGl0LXJvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Z1LXJvdy1hY3Rpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm93LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yb3ctYWN0aW9ucy5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvd0FjdGlvbnNDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgZWRpdFJvdzogVDtcclxuICBASW5wdXQoKSBwdWJsaWMgZWRpdEluZGV4OiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBpc0VkaXRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyBzaG93RGVsZXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZWRpdFNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZWRpdFJvd1NlcnZpY2U6IEVkaXRSb3dTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkYXRhLWFjdGlvbnMnLCAndHJ1ZScpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RGVsZXRlID0gdGhpcy5kZWxldGUub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2VkaXRSb3cnXSAmJiBjaGFuZ2VzWydlZGl0SW5kZXgnXSkge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZWRpdFJvd1NlcnZpY2UuZWRpdFN0YXRlJC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0VkaXRpbmcuc2V0KHN0YXRlID09PSB0aGlzLmVkaXRJbmRleCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVkaXQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdFJvd1NlcnZpY2Uuc3RhcnRFZGl0aW5nKHRoaXMuZWRpdEluZGV4KTtcclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbEVkaXQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdFJvd1NlcnZpY2Uuc3RvcEVkaXRpbmcoKTtcclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVFZGl0KGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRSb3dTZXJ2aWNlLnN0b3BFZGl0aW5nKCk7XHJcblxyXG4gICAgdGhpcy5lZGl0Um93U2VydmljZS5lZGl0VmFsdWVzJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoZWRpdGVkVmFsdWVzKSA9PiB7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZWRSb3cgPSB7IC4uLnRoaXMuZWRpdFJvdywgLi4uZWRpdGVkVmFsdWVzIH07XHJcblxyXG4gICAgICB0aGlzLmVkaXRTYXZlLmVtaXQodXBkYXRlZFJvdyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmVkaXRSb3dTZXJ2aWNlLnJlc2V0RWRpdFZhbHVlcygpO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0RGVsZXRlKGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZS5lbWl0KCk7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmdS1yb3ctYWN0aW9uc1wiPlxyXG4gIEBpZiAoZWRpdFJvdyAmJiBlZGl0SW5kZXggIT09IG51bGwpIHsgQGlmKGlzRWRpdGluZygpKXtcclxuICA8YnV0dG9uIGZ1LWJ0bi1vdXRsaW5lIGljb25CdXR0b24gKGNsaWNrKT1cImNhbmNlbEVkaXQoJGV2ZW50KVwiPlxyXG4gICAgPGZ1LWljb24gaWNvbk5hbWU9XCJlZGl0T2ZmXCIgLz5cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uXHJcbiAgICBmdS1idG4tb3V0bGluZVxyXG4gICAgaWNvbkJ1dHRvblxyXG4gICAgdmFyaWFudD1cInN1Y2Nlc3NcIlxyXG4gICAgKGNsaWNrKT1cInNhdmVFZGl0KCRldmVudClcIlxyXG4gID5cclxuICAgIDxmdS1pY29uIGljb25OYW1lPVwiZWRpdFNhdmVcIiAvPlxyXG4gIDwvYnV0dG9uPlxyXG4gIH1AZWxzZSB7XHJcbiAgPGJ1dHRvbiBmdS1idG4tb3V0bGluZSBpY29uQnV0dG9uIChjbGljayk9XCJzZXRFZGl0KCRldmVudClcIj5cclxuICAgIDxmdS1pY29uIGljb25OYW1lPVwiZWRpdFwiIC8+XHJcbiAgPC9idXR0b24+XHJcbiAgfSB9IEBpZiAoIWlzRWRpdGluZygpICYmIHNob3dEZWxldGUpIHtcclxuICA8YnV0dG9uXHJcbiAgICBmdS1idG4tb3V0bGluZVxyXG4gICAgaWNvbkJ1dHRvblxyXG4gICAgdmFyaWFudD1cImRhbmdlclwiXHJcbiAgICAoY2xpY2spPVwiZW1pdERlbGV0ZSgkZXZlbnQpXCJcclxuICA+XHJcbiAgICA8ZnUtaWNvbiBpY29uTmFtZT1cInRyYXNoXCIgLz5cclxuICA8L2J1dHRvbj5cclxuICB9XHJcbiAgPG5nLWNvbnRlbnQgLz5cclxuPC9kaXY+XHJcbiJdfQ==