brainloper-ui 14.1.5 → 14.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/esm2020/brainloper-ui.mjs +4 -4
  2. package/esm2020/public_api.mjs +56 -56
  3. package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +310 -310
  4. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -29
  5. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -23
  6. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -83
  7. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +40 -40
  8. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +176 -176
  9. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +728 -728
  10. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -118
  11. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +186 -186
  12. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +1 -1
  13. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +1 -1
  14. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +1 -1
  15. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -222
  16. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +115 -82
  17. package/esm2020/src/app/modules/brainloper-ui/components/report/template-ot/template-ot.component.mjs +145 -0
  18. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -108
  19. package/esm2020/src/app/modules/directives/carousel-item.directive.mjs +18 -18
  20. package/esm2020/src/app/modules/interfaces/buttons/button-icon.mjs +2 -2
  21. package/esm2020/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +2 -2
  22. package/esm2020/src/app/modules/interfaces/combos/combos-configuration.mjs +2 -2
  23. package/esm2020/src/app/modules/interfaces/data-table/params.mjs +2 -2
  24. package/esm2020/src/app/modules/interfaces/data-table/rules.mjs +2 -2
  25. package/esm2020/src/app/modules/interfaces/data-table/table-columns.mjs +2 -2
  26. package/esm2020/src/app/modules/interfaces/data-table/table-configuration.mjs +2 -2
  27. package/esm2020/src/app/modules/interfaces/enum/enumActions.mjs +8 -8
  28. package/esm2020/src/app/modules/interfaces/enum/enumRules.mjs +8 -8
  29. package/esm2020/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +2 -2
  30. package/esm2020/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +2 -2
  31. package/esm2020/src/app/modules/interfaces/filters/header-filters.mjs +2 -2
  32. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -8
  33. package/esm2020/src/app/modules/interfaces/report/template-pdf-base.mjs +2 -2
  34. package/esm2020/src/app/modules/interfaces/report/template-pdf-ot.mjs +2 -2
  35. package/esm2020/src/app/modules/interfaces/report/template-pfd-fo.mjs +2 -2
  36. package/esm2020/src/app/modules/services/crypto.service.mjs +37 -37
  37. package/esm2020/src/app/modules/services/export-data.service.mjs +166 -166
  38. package/esm2020/src/app/modules/services/file-forms.service.mjs +24 -24
  39. package/esm2020/src/app/modules/services/fuel-order-pdf.service.mjs +528 -0
  40. package/esm2020/src/app/modules/services/functions.service.mjs +54 -54
  41. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +109 -58
  42. package/esm2020/src/app/modules/services/http.service.mjs +97 -97
  43. package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -28
  44. package/esm2020/src/app/modules/services/local-storage.service.mjs +115 -115
  45. package/esm2020/src/app/modules/services/message.service.mjs +200 -200
  46. package/esm2020/src/app/modules/services/screen-size-util.mjs +6 -6
  47. package/esm2020/src/app/modules/services/session.service.mjs +42 -42
  48. package/esm2020/src/app/modules/services/work-order-pdf.service.mjs +384 -0
  49. package/fesm2015/brainloper-ui.mjs +3859 -2820
  50. package/fesm2015/brainloper-ui.mjs.map +1 -1
  51. package/fesm2020/brainloper-ui.mjs +3831 -2782
  52. package/fesm2020/brainloper-ui.mjs.map +1 -1
  53. package/index.d.ts +5 -5
  54. package/package.json +3 -2
  55. package/public_api.d.ts +55 -55
  56. package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +62 -62
  57. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -13
  58. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -10
  59. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -24
  60. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +16 -16
  61. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -46
  62. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +125 -125
  63. package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -21
  64. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -42
  65. package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -2
  66. package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -2
  67. package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -2
  68. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -30
  69. package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +41 -37
  70. package/src/app/modules/brainloper-ui/components/report/{generate-pdf/generate-pdf.component.d.ts → template-ot/template-ot.component.d.ts} +40 -36
  71. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -26
  72. package/src/app/modules/directives/carousel-item.directive.d.ts +9 -9
  73. package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -9
  74. package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -6
  75. package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -13
  76. package/src/app/modules/interfaces/data-table/params.d.ts +7 -7
  77. package/src/app/modules/interfaces/data-table/rules.d.ts +8 -8
  78. package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -25
  79. package/src/app/modules/interfaces/data-table/table-configuration.d.ts +26 -26
  80. package/src/app/modules/interfaces/enum/enumActions.d.ts +6 -6
  81. package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -6
  82. package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -4
  83. package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -13
  84. package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -13
  85. package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -10
  86. package/src/app/modules/interfaces/report/template-pdf-base.d.ts +17 -17
  87. package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +6 -6
  88. package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +7 -7
  89. package/src/app/modules/services/crypto.service.d.ts +10 -10
  90. package/src/app/modules/services/export-data.service.d.ts +18 -18
  91. package/src/app/modules/services/file-forms.service.d.ts +7 -7
  92. package/src/app/modules/services/fuel-order-pdf.service.d.ts +59 -0
  93. package/src/app/modules/services/functions.service.d.ts +13 -13
  94. package/src/app/modules/services/generate-pdf.service.d.ts +21 -12
  95. package/src/app/modules/services/http.service.d.ts +22 -22
  96. package/src/app/modules/services/loading/loading.component.d.ts +15 -15
  97. package/src/app/modules/services/local-storage.service.d.ts +49 -49
  98. package/src/app/modules/services/message.service.d.ts +23 -23
  99. package/src/app/modules/services/screen-size-util.d.ts +3 -3
  100. package/src/app/modules/services/session.service.d.ts +14 -14
  101. package/src/app/modules/services/work-order-pdf.service.d.ts +60 -0
  102. package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +0 -81
@@ -1,29 +1,29 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/router";
4
- import * as i2 from "@angular/common";
5
- export class BreadCrumbComponent {
6
- constructor(router) {
7
- this.router = router;
8
- this.menu = [];
9
- this.selectRouter = new EventEmitter();
10
- }
11
- ngOnInit() {
12
- }
13
- handlerRouter(menu) {
14
- if (menu.router != null)
15
- this.router.navigate([menu.router]);
16
- this.selectRouter.emit(menu);
17
- }
18
- }
19
- BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
20
- BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BreadCrumbComponent, selector: "app-bread-crumb", inputs: { menu: "menu" }, outputs: { selectRouter: "selectRouter" }, ngImport: i0, template: "<div aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\r\n </ol>\r\n</div>\r\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadCrumbComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'app-bread-crumb', template: "<div aria-label=\"breadcrumb\">\r\n <ol class=\"breadcrumb\">\r\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\r\n </ol>\r\n</div>\r\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px}\n"] }]
24
- }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { menu: [{
25
- type: Input
26
- }], selectRouter: [{
27
- type: Output
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWQtY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9icmVhZC1jcnVtYi9icmVhZC1jcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2JyZWFkLWNydW1iL2JyZWFkLWNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUNTLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBSmYsU0FBSSxHQUFjLEVBQUUsQ0FBQTtRQUNuQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFJN0MsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVE7UUFDM0IsSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7O2dIQWRVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRIQ1JoQyx3T0FLQTsyRkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzZGQUtsQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJyZWFkLWNydW1iJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWQtY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JyZWFkLWNydW1iLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJyZWFkQ3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG1lbnU6QXJyYXk8YW55PiA9IFtdXHJcbiAgQE91dHB1dCgpIHNlbGVjdFJvdXRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByb3V0ZXIgOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVyUm91dGVyKG1lbnU6YW55KXtcclxuICAgIGlmKG1lbnUucm91dGVyICE9IG51bGwpIHRoaXMucm91dGVyLm5hdmlnYXRlKFttZW51LnJvdXRlcl0pXHJcbiAgICB0aGlzLnNlbGVjdFJvdXRlci5lbWl0KG1lbnUpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iLCI8ZGl2IGFyaWEtbGFiZWw9XCJicmVhZGNydW1iXCI+XHJcbiAgPG9sIGNsYXNzPVwiYnJlYWRjcnVtYlwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IG0gb2YgbWVudVwiIFtjbGFzc109XCJtLmN1cnJlbnQ/J2FjdGl2ZSc6JydcIiBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiIChjbGljayk9XCJoYW5kbGVyUm91dGVyKG0pXCI+e3ttLm5hbWV9fTwvbGk+XHJcbiAgPC9vbD5cclxuPC9kaXY+XHJcbiJdfQ==
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@angular/common";
5
+ export class BreadCrumbComponent {
6
+ constructor(router) {
7
+ this.router = router;
8
+ this.menu = [];
9
+ this.selectRouter = new EventEmitter();
10
+ }
11
+ ngOnInit() {
12
+ }
13
+ handlerRouter(menu) {
14
+ if (menu.router != null)
15
+ this.router.navigate([menu.router]);
16
+ this.selectRouter.emit(menu);
17
+ }
18
+ }
19
+ BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
20
+ BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: BreadCrumbComponent, selector: "app-bread-crumb", inputs: { menu: "menu" }, outputs: { selectRouter: "selectRouter" }, ngImport: i0, template: "<div aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\n </ol>\n</div>\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: BreadCrumbComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'app-bread-crumb', template: "<div aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\n </ol>\n</div>\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px}\n"] }]
24
+ }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { menu: [{
25
+ type: Input
26
+ }], selectRouter: [{
27
+ type: Output
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWQtY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9icmVhZC1jcnVtYi9icmVhZC1jcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL2JyZWFkLWNydW1iL2JyZWFkLWNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFRL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUNTLE1BQWU7UUFBZixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBSmYsU0FBSSxHQUFjLEVBQUUsQ0FBQTtRQUNuQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFJN0MsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVE7UUFDM0IsSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlCLENBQUM7O2dIQWRVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRIQ1JoQyw4TkFLQTsyRkRHYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzZGQUtsQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1icmVhZC1jcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZC1jcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkLWNydW1iLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRDcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1lbnU6QXJyYXk8YW55PiA9IFtdXG4gIEBPdXRwdXQoKSBzZWxlY3RSb3V0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcm91dGVyIDogUm91dGVyXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlclJvdXRlcihtZW51OmFueSl7XG4gICAgaWYobWVudS5yb3V0ZXIgIT0gbnVsbCkgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW21lbnUucm91dGVyXSlcbiAgICB0aGlzLnNlbGVjdFJvdXRlci5lbWl0KG1lbnUpXG4gIH1cblxufVxuXG5cblxuIiwiPGRpdiBhcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiPlxuICA8b2wgY2xhc3M9XCJicmVhZGNydW1iXCI+XG4gICAgICA8bGkgKm5nRm9yPVwibGV0IG0gb2YgbWVudVwiIFtjbGFzc109XCJtLmN1cnJlbnQ/J2FjdGl2ZSc6JydcIiBjbGFzcz1cImJyZWFkY3J1bWItaXRlbVwiIChjbGljayk9XCJoYW5kbGVyUm91dGVyKG0pXCI+e3ttLm5hbWV9fTwvbGk+XG4gIDwvb2w+XG48L2Rpdj5cbiJdfQ==
@@ -1,23 +1,23 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/core";
5
- import * as i3 from "@angular/material/tooltip";
6
- export class ButtonIconComponent {
7
- constructor() {
8
- this.clickButton = new EventEmitter();
9
- }
10
- ngOnInit() {
11
- }
12
- }
13
- ButtonIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- ButtonIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ButtonIconComponent, selector: "app-button-icon", inputs: { items: "items" }, outputs: { clickButton: "clickButton" }, ngImport: i0, template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\r\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\r\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\r\n <button style=\"border: none; background: transparent\">\r\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\r\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\r\n </div>\r\n </button>\r\n <div>\r\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonIconComponent, decorators: [{
16
- type: Component,
17
- args: [{ selector: 'app-button-icon', template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\r\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\r\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\r\n <button style=\"border: none; background: transparent\">\r\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\r\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\r\n </div>\r\n </button>\r\n <div>\r\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"] }]
18
- }], ctorParameters: function () { return []; }, propDecorators: { clickButton: [{
19
- type: Output
20
- }], items: [{
21
- type: Input
22
- }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi1pY29uL2J1dHRvbi1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24taWNvbi9idXR0b24taWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU8vRSxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCO1FBSFUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO0lBRy9CLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O2dIQVJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRIQ1BoQyxvMUJBaUJBOzJGRFZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTWpCLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYnV0dG9uLWljb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24taWNvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWljb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0J1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXHJcbiAgQElucHV0KCkgaXRlbXM6QXJyYXk8YW55PlxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWFyb3VuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgW2NsYXNzXT1cIml0ZW1zLmxlbmd0aCA+IDYgPyAnY29sLTMnIDogJ2NvbC00J1wiPlxyXG4gICAgPGRpdiAqbmdJZj1cIml0ZW0uYWN0aXZlXCIgY2xhc3M9XCJpY29uLW1lbnVcIiBtYXRUb29sdGlwPVwie3sgaXRlbS5kZXNjcmlwdGlvbiB9fVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgbWF0VG9vbHRpcENsYXNzPVwiY3VzdG9tLXRvb2x0aXBcIj5cclxuICAgICAgPGJ1dHRvbiBzdHlsZT1cImJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcIj5cclxuICAgICAgICA8ZGl2IFtjbGFzc109XCInaWNvbiBtYXQtZWxldmF0aW9uLXo2J1wiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIml0ZW0uY29sb3JcIiBtYXRSaXBwbGUgKGNsaWNrKT1cImNsaWNrQnV0dG9uLmVtaXQoaXRlbSlcIj5cclxuICAgICAgICAgIDxpIFtjbGFzc109XCInZmEgaWNvbkZhIGZhLScgKyBpdGVtLmljb25cIiBbc3R5bGUuY29sb3JdPVwiaXRlbS5pY29uQ29sb3IgPz8gJ3doaXRlJ1wiPjwvaT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGgzIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMjBweFwiPnt7IGl0ZW0ubmFtZSB9fTwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG4iXX0=
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/core";
5
+ import * as i3 from "@angular/material/tooltip";
6
+ export class ButtonIconComponent {
7
+ constructor() {
8
+ this.clickButton = new EventEmitter();
9
+ }
10
+ ngOnInit() {
11
+ }
12
+ }
13
+ ButtonIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ ButtonIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ButtonIconComponent, selector: "app-button-icon", inputs: { items: "items" }, outputs: { clickButton: "clickButton" }, ngImport: i0, template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\n <button style=\"border: none; background: transparent\">\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\n </div>\n </button>\n <div>\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonIconComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'app-button-icon', template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\n <button style=\"border: none; background: transparent\">\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\n </div>\n </button>\n <div>\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"] }]
18
+ }], ctorParameters: function () { return []; }, propDecorators: { clickButton: [{
19
+ type: Output
20
+ }], items: [{
21
+ type: Input
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9idXR0b25zL2J1dHRvbi1pY29uL2J1dHRvbi1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24taWNvbi9idXR0b24taWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU8vRSxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCO1FBSFUsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFBO0lBRy9CLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O2dIQVJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRIQ1BoQyxrekJBaUJBOzJGRFZhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTWpCLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYnV0dG9uLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24taWNvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkljb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBPdXRwdXQoKSBjbGlja0J1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBJbnB1dCgpIGl0ZW1zOkFycmF5PGFueT5cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbn1cbiIsIjxkaXYgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWFyb3VuZCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIFtjbGFzc109XCJpdGVtcy5sZW5ndGggPiA2ID8gJ2NvbC0zJyA6ICdjb2wtNCdcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5hY3RpdmVcIiBjbGFzcz1cImljb24tbWVudVwiIG1hdFRvb2x0aXA9XCJ7eyBpdGVtLmRlc2NyaXB0aW9uIH19XCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBtYXRUb29sdGlwQ2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiPlxuICAgICAgPGJ1dHRvbiBzdHlsZT1cImJvcmRlcjogbm9uZTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcIj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwiJ2ljb24gbWF0LWVsZXZhdGlvbi16NidcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJpdGVtLmNvbG9yXCIgbWF0UmlwcGxlIChjbGljayk9XCJjbGlja0J1dHRvbi5lbWl0KGl0ZW0pXCI+XG4gICAgICAgICAgPGkgW2NsYXNzXT1cIidmYSBpY29uRmEgZmEtJyArIGl0ZW0uaWNvblwiIFtzdHlsZS5jb2xvcl09XCJpdGVtLmljb25Db2xvciA/PyAnd2hpdGUnXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgzIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBsaW5lLWhlaWdodDogMjBweFwiPnt7IGl0ZW0ubmFtZSB9fTwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG5cbiJdfQ==
@@ -1,83 +1,83 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@angular/material/input";
6
- import * as i4 from "@angular/material/tooltip";
7
- import * as i5 from "@angular/forms";
8
- export class ButtonLabelComponent {
9
- constructor() {
10
- this.updateLabel = new EventEmitter();
11
- this.labels = [];
12
- this.labelsEdit = [];
13
- this.color = null;
14
- this.iconColor = null;
15
- this.modeEdit = [];
16
- this.currentValueToEdit = "";
17
- this.indexToedit = -1;
18
- this.initEventClink = false;
19
- }
20
- ngOnInit() {
21
- }
22
- ngOnChanges(changes) {
23
- if (changes) {
24
- if (changes.labelsEdit && !this.initEventClink && this.labelsEdit.length > 0 && this.labelsEdit.find(x => x.edit == true)) {
25
- document.addEventListener('click', ($event) => this.onPageClick($event));
26
- this.initEventClink = true;
27
- }
28
- }
29
- }
30
- finishEditLabel(index) {
31
- this.labelsEdit[index].value = this.currentValueToEdit;
32
- this.modeEdit[index] = false;
33
- this.updateLabel.emit({
34
- value: this.labelsEdit[index].value,
35
- labels: this.labelsEdit[index].label,
36
- position: index
37
- });
38
- }
39
- editLabel(index) {
40
- this.spanElement = document.getElementById('button-edit-' + index);
41
- this.currentValueToEdit = this.labelsEdit[index].value;
42
- this.modeEdit[index] = true;
43
- this.indexToedit = index;
44
- }
45
- onPageClick($event) {
46
- if (!ButtonLabelComponent.isDescendant($event.target, this.spanElement) && this.modeEdit) {
47
- for (let [index, value] of this.modeEdit.entries()) {
48
- this.modeEdit[index] = this.indexToedit == index ? true : false;
49
- }
50
- }
51
- this.indexToedit = -1;
52
- }
53
- static isDescendant(child, parent) {
54
- let node = child.parentNode;
55
- while (node != null) {
56
- if (node === parent) {
57
- return true;
58
- }
59
- node = node.parentNode;
60
- }
61
- return false;
62
- }
63
- ngOnDestroy() {
64
- document.removeEventListener('click', ($event) => this.onPageClick($event));
65
- }
66
- }
67
- ButtonLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- ButtonLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ButtonLabelComponent, selector: "app-button-label", inputs: { labels: "labels", labelsEdit: "labelsEdit", color: "color", iconColor: "iconColor" }, outputs: { updateLabel: "updateLabel" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labels;\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\r\n {{item}}\r\n </h4>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labelsEdit; let i = index\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\r\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\r\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\r\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\r\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\r\n </div>\r\n\r\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\r\n\r\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\r\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\r\n </div>\r\n\r\n </h4>\r\n </div>\r\n</div>\r\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonLabelComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'app-button-label', template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labels;\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\r\n {{item}}\r\n </h4>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\r\n <div *ngFor=\"let item of labelsEdit; let i = index\">\r\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\r\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\r\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\r\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\r\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\r\n </div>\r\n\r\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\r\n\r\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\r\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\r\n </div>\r\n\r\n </h4>\r\n </div>\r\n</div>\r\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"] }]
72
- }], ctorParameters: function () { return []; }, propDecorators: { updateLabel: [{
73
- type: Output
74
- }], labels: [{
75
- type: Input
76
- }], labelsEdit: [{
77
- type: Input
78
- }], color: [{
79
- type: Input
80
- }], iconColor: [{
81
- type: Input
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT3pHLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0I7UUFFVSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdEMsV0FBTSxHQUFrQixFQUFFLENBQUE7UUFDMUIsZUFBVSxHQUFlLEVBQUUsQ0FBQTtRQUMzQixVQUFLLEdBQVUsSUFBSSxDQUFBO1FBQ25CLGNBQVMsR0FBVSxJQUFJLENBQUE7UUFFekIsYUFBUSxHQUFtQixFQUFFLENBQUE7UUFDN0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFBO1FBRTlCLGdCQUFXLEdBQVUsQ0FBQyxDQUFDLENBQUE7UUFFdkIsbUJBQWMsR0FBRyxLQUFLLENBQUE7SUFiZCxDQUFDO0lBZWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxFQUFDO1lBQ1QsSUFBRyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJ1dHRvbi1sYWJlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkxhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBAT3V0cHV0KCkgdXBkYXRlTGFiZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxyXG4gIEBJbnB1dCgpIGxhYmVsczogQXJyYXk8c3RyaW5nPiA9IFtdXHJcbiAgQElucHV0KCkgbGFiZWxzRWRpdDogQXJyYXk8YW55PiA9IFtdXHJcbiAgQElucHV0KCkgY29sb3I6c3RyaW5nID0gbnVsbFxyXG4gIEBJbnB1dCgpIGljb25Db2xvcjpzdHJpbmcgPSBudWxsXHJcblxyXG4gIHB1YmxpYyBtb2RlRWRpdDogQXJyYXk8Ym9vbGVhbj4gPSBbXVxyXG4gIHB1YmxpYyBjdXJyZW50VmFsdWVUb0VkaXQ6IHN0cmluZyA9IFwiXCJcclxuXHJcbiAgcHJpdmF0ZSBpbmRleFRvZWRpdDpudW1iZXIgPSAtMVxyXG4gIHNwYW5FbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIGluaXRFdmVudENsaW5rID0gZmFsc2VcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzKXtcclxuICAgICAgaWYoY2hhbmdlcy5sYWJlbHNFZGl0ICYmICF0aGlzLmluaXRFdmVudENsaW5rICYmIHRoaXMubGFiZWxzRWRpdC5sZW5ndGggPiAwICYmIHRoaXMubGFiZWxzRWRpdC5maW5kKHggPT4geC5lZGl0ID09IHRydWUpKXtcclxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMub25QYWdlQ2xpY2soJGV2ZW50KSk7XHJcbiAgICAgICAgdGhpcy5pbml0RXZlbnRDbGluayA9IHRydWVcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmluaXNoRWRpdExhYmVsKGluZGV4Om51bWJlcil7XHJcbiAgICB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlID0gdGhpcy5jdXJyZW50VmFsdWVUb0VkaXRcclxuICAgIHRoaXMubW9kZUVkaXRbaW5kZXhdID0gZmFsc2VcclxuICAgIHRoaXMudXBkYXRlTGFiZWwuZW1pdCh7XHJcbiAgICAgIHZhbHVlOiB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlLFxyXG4gICAgICBsYWJlbHM6IHRoaXMubGFiZWxzRWRpdFtpbmRleF0ubGFiZWwsXHJcbiAgICAgIHBvc2l0aW9uOiBpbmRleFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGVkaXRMYWJlbChpbmRleDpudW1iZXIpe1xyXG4gICAgdGhpcy5zcGFuRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24tZWRpdC0nICsgaW5kZXgpO1xyXG4gICAgdGhpcy5jdXJyZW50VmFsdWVUb0VkaXQgPSB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlXHJcbiAgICB0aGlzLm1vZGVFZGl0W2luZGV4XSA9IHRydWVcclxuICAgIHRoaXMuaW5kZXhUb2VkaXQgPSBpbmRleFxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUGFnZUNsaWNrKCRldmVudDogTW91c2VFdmVudCl7XHJcbiAgICBpZiAoIUJ1dHRvbkxhYmVsQ29tcG9uZW50LmlzRGVzY2VuZGFudCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB0aGlzLnNwYW5FbGVtZW50KSAmJiB0aGlzLm1vZGVFZGl0KXtcclxuICAgICAgZm9yIChsZXQgW2luZGV4LCB2YWx1ZV0gb2YgdGhpcy5tb2RlRWRpdC5lbnRyaWVzKCkpIHtcclxuICAgICAgICB0aGlzLm1vZGVFZGl0W2luZGV4XSA9IHRoaXMuaW5kZXhUb2VkaXQgPT0gaW5kZXg/dHJ1ZTpmYWxzZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmluZGV4VG9lZGl0ID0gLTFcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpc0Rlc2NlbmRhbnQoY2hpbGQ6IEhUTUxFbGVtZW50LCBwYXJlbnQ6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBsZXQgbm9kZSA9IGNoaWxkLnBhcmVudE5vZGU7XHJcbiAgICB3aGlsZSAobm9kZSAhPSBudWxsKSB7XHJcbiAgICAgIGlmIChub2RlID09PSBwYXJlbnQpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMub25QYWdlQ2xpY2soJGV2ZW50KSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiIsIjxkaXYgKm5nSWY9XCJsYWJlbHNcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG15LTMgZmxleC13cmFwXCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYWJlbHM7XCI+XHJcbiAgICA8aDQgKm5nSWY9XCJpdGVtICYmIGl0ZW0gIT0gJydcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejIgbGFiZWwtdGV4dCBkLWZsZXggZC1mbGV4LXJvd1wiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yP2NvbG9yOicjMzQzYTQwMWEnXCI+XHJcbiAgICAgIHt7aXRlbX19XHJcbiAgICA8L2g0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJsYWJlbHNFZGl0XCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBteS0zIGZsZXgtd3JhcFwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGFiZWxzRWRpdDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgPGg0ICpuZ0lmPVwiaXRlbSAmJiBpdGVtICE9ICcnXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyIGxhYmVsLXRleHQgZC1mbGV4IGQtZmxleC1yb3dcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvcj9jb2xvcjonIzM0M2E0MDFhJ1wiIFtpZF09XCInYnV0dG9uLWVkaXQtJyArIGlcIj5cclxuICAgICAgPGg2ICpuZ0lmPVwiaXRlbS5sYWJlbFwiIGNsYXNzPVwibXItMSBmb250LXdlaWdodC1ib2xkIG0tMFwiPnt7aXRlbS5sYWJlbH19IDwvaDY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhbW9kZUVkaXRbaV1cIj57e2l0ZW0udmFsdWV9fTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPSdlZGl0TGFiZWwoaSknICpuZ0lmPVwiIW1vZGVFZGl0W2ldICYmIGl0ZW0uZWRpdFwiIG1hdFRvb2x0aXA9XCJFZGl0YXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1sLTEgcGVuY2lsLWVkaXQgY3Vyc29yLXBvaW50ZXJcIiBtYXRUb29sdGlwPVwiRWRpdGFyXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBbc3R5bGUuY29sb3JdPVwiaWNvbkNvbG9yXCI+ZWRpdDwvbWF0LWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGlucHV0ICpuZ0lmPVwibW9kZUVkaXRbaV0gJiYgaXRlbS5lZGl0XCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT0nY3VycmVudFZhbHVlVG9FZGl0JyBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIkZpbHRyYXJcIj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9J2ZpbmlzaEVkaXRMYWJlbChpKScgKm5nSWY9XCJtb2RlRWRpdFtpXSAmJiBpdGVtLmVkaXRcIiBtYXRUb29sdGlwPVwiQWNlcHRhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jaGVjayBidG4tYWNjaW9uXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTVweDtcIj48L2k+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvaDQ+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/input";
6
+ import * as i4 from "@angular/material/tooltip";
7
+ import * as i5 from "@angular/forms";
8
+ export class ButtonLabelComponent {
9
+ constructor() {
10
+ this.updateLabel = new EventEmitter();
11
+ this.labels = [];
12
+ this.labelsEdit = [];
13
+ this.color = null;
14
+ this.iconColor = null;
15
+ this.modeEdit = [];
16
+ this.currentValueToEdit = "";
17
+ this.indexToedit = -1;
18
+ this.initEventClink = false;
19
+ }
20
+ ngOnInit() {
21
+ }
22
+ ngOnChanges(changes) {
23
+ if (changes) {
24
+ if (changes.labelsEdit && !this.initEventClink && this.labelsEdit.length > 0 && this.labelsEdit.find(x => x.edit == true)) {
25
+ document.addEventListener('click', ($event) => this.onPageClick($event));
26
+ this.initEventClink = true;
27
+ }
28
+ }
29
+ }
30
+ finishEditLabel(index) {
31
+ this.labelsEdit[index].value = this.currentValueToEdit;
32
+ this.modeEdit[index] = false;
33
+ this.updateLabel.emit({
34
+ value: this.labelsEdit[index].value,
35
+ labels: this.labelsEdit[index].label,
36
+ position: index
37
+ });
38
+ }
39
+ editLabel(index) {
40
+ this.spanElement = document.getElementById('button-edit-' + index);
41
+ this.currentValueToEdit = this.labelsEdit[index].value;
42
+ this.modeEdit[index] = true;
43
+ this.indexToedit = index;
44
+ }
45
+ onPageClick($event) {
46
+ if (!ButtonLabelComponent.isDescendant($event.target, this.spanElement) && this.modeEdit) {
47
+ for (let [index, value] of this.modeEdit.entries()) {
48
+ this.modeEdit[index] = this.indexToedit == index ? true : false;
49
+ }
50
+ }
51
+ this.indexToedit = -1;
52
+ }
53
+ static isDescendant(child, parent) {
54
+ let node = child.parentNode;
55
+ while (node != null) {
56
+ if (node === parent) {
57
+ return true;
58
+ }
59
+ node = node.parentNode;
60
+ }
61
+ return false;
62
+ }
63
+ ngOnDestroy() {
64
+ document.removeEventListener('click', ($event) => this.onPageClick($event));
65
+ }
66
+ }
67
+ ButtonLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ ButtonLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ButtonLabelComponent, selector: "app-button-label", inputs: { labels: "labels", labelsEdit: "labelsEdit", color: "color", iconColor: "iconColor" }, outputs: { updateLabel: "updateLabel" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labels;\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\n {{item}}\n </h4>\n </div>\n</div>\n\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labelsEdit; let i = index\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\n </div>\n\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\n\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\n </div>\n\n </h4>\n </div>\n</div>\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ButtonLabelComponent, decorators: [{
70
+ type: Component,
71
+ args: [{ selector: 'app-button-label', template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labels;\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\n {{item}}\n </h4>\n </div>\n</div>\n\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labelsEdit; let i = index\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\n </div>\n\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\n\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\n </div>\n\n </h4>\n </div>\n</div>\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"] }]
72
+ }], ctorParameters: function () { return []; }, propDecorators: { updateLabel: [{
73
+ type: Output
74
+ }], labels: [{
75
+ type: Input
76
+ }], labelsEdit: [{
77
+ type: Input
78
+ }], color: [{
79
+ type: Input
80
+ }], iconColor: [{
81
+ type: Input
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0b24tbGFiZWwvYnV0dG9uLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT3pHLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0I7UUFFVSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdEMsV0FBTSxHQUFrQixFQUFFLENBQUE7UUFDMUIsZUFBVSxHQUFlLEVBQUUsQ0FBQTtRQUMzQixVQUFLLEdBQVUsSUFBSSxDQUFBO1FBQ25CLGNBQVMsR0FBVSxJQUFJLENBQUE7UUFFekIsYUFBUSxHQUFtQixFQUFFLENBQUE7UUFDN0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFBO1FBRTlCLGdCQUFXLEdBQVUsQ0FBQyxDQUFDLENBQUE7UUFFdkIsbUJBQWMsR0FBRyxLQUFLLENBQUE7SUFiZCxDQUFDO0lBZWpCLFFBQVE7SUFDUixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxFQUFDO1lBQ1QsSUFBRyxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJ1dHRvbi1sYWJlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24tbGFiZWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25MYWJlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIEBPdXRwdXQoKSB1cGRhdGVMYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBJbnB1dCgpIGxhYmVsczogQXJyYXk8c3RyaW5nPiA9IFtdXG4gIEBJbnB1dCgpIGxhYmVsc0VkaXQ6IEFycmF5PGFueT4gPSBbXVxuICBASW5wdXQoKSBjb2xvcjpzdHJpbmcgPSBudWxsXG4gIEBJbnB1dCgpIGljb25Db2xvcjpzdHJpbmcgPSBudWxsXG5cbiAgcHVibGljIG1vZGVFZGl0OiBBcnJheTxib29sZWFuPiA9IFtdXG4gIHB1YmxpYyBjdXJyZW50VmFsdWVUb0VkaXQ6IHN0cmluZyA9IFwiXCJcblxuICBwcml2YXRlIGluZGV4VG9lZGl0Om51bWJlciA9IC0xXG4gIHNwYW5FbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbml0RXZlbnRDbGluayA9IGZhbHNlXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYoY2hhbmdlcyl7XG4gICAgICBpZihjaGFuZ2VzLmxhYmVsc0VkaXQgJiYgIXRoaXMuaW5pdEV2ZW50Q2xpbmsgJiYgdGhpcy5sYWJlbHNFZGl0Lmxlbmd0aCA+IDAgJiYgdGhpcy5sYWJlbHNFZGl0LmZpbmQoeCA9PiB4LmVkaXQgPT0gdHJ1ZSkpe1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgkZXZlbnQpID0+IHRoaXMub25QYWdlQ2xpY2soJGV2ZW50KSk7XG4gICAgICAgIHRoaXMuaW5pdEV2ZW50Q2xpbmsgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZmluaXNoRWRpdExhYmVsKGluZGV4Om51bWJlcil7XG4gICAgdGhpcy5sYWJlbHNFZGl0W2luZGV4XS52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlVG9FZGl0XG4gICAgdGhpcy5tb2RlRWRpdFtpbmRleF0gPSBmYWxzZVxuICAgIHRoaXMudXBkYXRlTGFiZWwuZW1pdCh7XG4gICAgICB2YWx1ZTogdGhpcy5sYWJlbHNFZGl0W2luZGV4XS52YWx1ZSxcbiAgICAgIGxhYmVsczogdGhpcy5sYWJlbHNFZGl0W2luZGV4XS5sYWJlbCxcbiAgICAgIHBvc2l0aW9uOiBpbmRleFxuICAgIH0pXG4gIH1cblxuICBlZGl0TGFiZWwoaW5kZXg6bnVtYmVyKXtcbiAgICB0aGlzLnNwYW5FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbi1lZGl0LScgKyBpbmRleCk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWVUb0VkaXQgPSB0aGlzLmxhYmVsc0VkaXRbaW5kZXhdLnZhbHVlXG4gICAgdGhpcy5tb2RlRWRpdFtpbmRleF0gPSB0cnVlXG4gICAgdGhpcy5pbmRleFRvZWRpdCA9IGluZGV4XG4gIH1cblxuICBwdWJsaWMgb25QYWdlQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KXtcbiAgICBpZiAoIUJ1dHRvbkxhYmVsQ29tcG9uZW50LmlzRGVzY2VuZGFudCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB0aGlzLnNwYW5FbGVtZW50KSAmJiB0aGlzLm1vZGVFZGl0KXtcbiAgICAgIGZvciAobGV0IFtpbmRleCwgdmFsdWVdIG9mIHRoaXMubW9kZUVkaXQuZW50cmllcygpKSB7XG4gICAgICAgIHRoaXMubW9kZUVkaXRbaW5kZXhdID0gdGhpcy5pbmRleFRvZWRpdCA9PSBpbmRleD90cnVlOmZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5kZXhUb2VkaXQgPSAtMVxuICB9XG5cbiAgc3RhdGljIGlzRGVzY2VuZGFudChjaGlsZDogSFRNTEVsZW1lbnQsIHBhcmVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBsZXQgbm9kZSA9IGNoaWxkLnBhcmVudE5vZGU7XG4gICAgd2hpbGUgKG5vZGUgIT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUgPT09IHBhcmVudCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5vblBhZ2VDbGljaygkZXZlbnQpKTtcbiAgfVxuXG59XG5cblxuIiwiPGRpdiAqbmdJZj1cImxhYmVsc1wiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXktMyBmbGV4LXdyYXBcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYWJlbHM7XCI+XG4gICAgPGg0ICpuZ0lmPVwiaXRlbSAmJiBpdGVtICE9ICcnXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyIGxhYmVsLXRleHQgZC1mbGV4IGQtZmxleC1yb3dcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvcj9jb2xvcjonIzM0M2E0MDFhJ1wiPlxuICAgICAge3tpdGVtfX1cbiAgICA8L2g0PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwibGFiZWxzRWRpdFwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXktMyBmbGV4LXdyYXBcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYWJlbHNFZGl0OyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGg0ICpuZ0lmPVwiaXRlbSAmJiBpdGVtICE9ICcnXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyIGxhYmVsLXRleHQgZC1mbGV4IGQtZmxleC1yb3dcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvcj9jb2xvcjonIzM0M2E0MDFhJ1wiIFtpZF09XCInYnV0dG9uLWVkaXQtJyArIGlcIj5cbiAgICAgIDxoNiAqbmdJZj1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cIm1yLTEgZm9udC13ZWlnaHQtYm9sZCBtLTBcIj57e2l0ZW0ubGFiZWx9fSA8L2g2PlxuICAgICAgPGRpdiAqbmdJZj1cIiFtb2RlRWRpdFtpXVwiPnt7aXRlbS52YWx1ZX19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPSdlZGl0TGFiZWwoaSknICpuZ0lmPVwiIW1vZGVFZGl0W2ldICYmIGl0ZW0uZWRpdFwiIG1hdFRvb2x0aXA9XCJFZGl0YXJcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtbC0xIHBlbmNpbC1lZGl0IGN1cnNvci1wb2ludGVyXCIgbWF0VG9vbHRpcD1cIkVkaXRhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgW3N0eWxlLmNvbG9yXT1cImljb25Db2xvclwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxpbnB1dCAqbmdJZj1cIm1vZGVFZGl0W2ldICYmIGl0ZW0uZWRpdFwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09J2N1cnJlbnRWYWx1ZVRvRWRpdCcgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJGaWx0cmFyXCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9J2ZpbmlzaEVkaXRMYWJlbChpKScgKm5nSWY9XCJtb2RlRWRpdFtpXSAmJiBpdGVtLmVkaXRcIiBtYXRUb29sdGlwPVwiQWNlcHRhclwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtY2hlY2sgYnRuLWFjY2lvblwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDE1cHg7XCI+PC9pPlxuICAgICAgPC9kaXY+XG5cbiAgICA8L2g0PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19