mapa-library-ui 0.0.17 → 0.0.19

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 (60) hide show
  1. package/esm2020/src/lib/components/capability/lib/components/capability/capability-classification.const.mjs +57 -0
  2. package/esm2020/src/lib/components/capability/lib/components/capability/capability-interval.const.mjs +63 -0
  3. package/esm2020/src/lib/components/capability/lib/components/capability/capability.interfaces.mjs +1 -1
  4. package/esm2020/src/lib/components/capability/lib/components/capability/public-api.mjs +7 -3
  5. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.mjs +6 -6
  6. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.module.mjs +12 -12
  7. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.mjs +6 -8
  8. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.mjs +7 -9
  9. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +9 -3
  10. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.mjs +21 -0
  11. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.mjs +19 -0
  12. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.mjs +27 -0
  13. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.mjs +19 -0
  14. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.mjs +25 -0
  15. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.module.mjs +18 -0
  16. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +31 -0
  17. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.mjs +20 -0
  18. package/esm2020/src/lib/components/capability/lib/components/capability/src/services/reusable-interval-bar.service.mjs +32 -0
  19. package/esm2020/src/lib/components/table/src/table.component.mjs +5 -4
  20. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +177 -111
  21. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  22. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +4 -3
  23. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  24. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +175 -111
  25. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  26. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +4 -3
  27. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  28. package/mapa-library-ui-0.0.19.tgz +0 -0
  29. package/package.json +1 -1
  30. package/src/lib/components/capability/lib/components/capability/capability-classification.const.d.ts +6 -0
  31. package/src/lib/components/capability/lib/components/capability/capability-interval.const.d.ts +6 -0
  32. package/src/lib/components/capability/lib/components/capability/capability.interfaces.d.ts +8 -2
  33. package/src/lib/components/capability/lib/components/capability/public-api.d.ts +6 -2
  34. package/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +1 -1
  35. package/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.module.d.ts +3 -3
  36. package/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.d.ts +1 -1
  37. package/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +2 -2
  38. package/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.component.d.ts +3 -1
  39. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.d.ts +8 -0
  40. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.d.ts +9 -0
  41. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.d.ts +14 -0
  42. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.d.ts +9 -0
  43. package/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.d.ts +8 -0
  44. package/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.module.d.ts +8 -0
  45. package/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +13 -0
  46. package/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.d.ts +10 -0
  47. package/src/lib/components/capability/lib/components/capability/src/services/{reusable-grade-bar.service.d.ts → reusable-interval-bar.service.d.ts} +3 -3
  48. package/src/lib/components/table/src/table.component.d.ts +1 -1
  49. package/esm2020/src/lib/components/capability/lib/components/capability/capability-grade.const.mjs +0 -63
  50. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-grade/capability-grade.component.mjs +0 -24
  51. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-grade/capability-grade.module.mjs +0 -18
  52. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-grade-bar/capability-grade-bar.component.mjs +0 -31
  53. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-grade-bar/capability-grade-bar.module.mjs +0 -20
  54. package/esm2020/src/lib/components/capability/lib/components/capability/src/services/reusable-grade-bar.service.mjs +0 -32
  55. package/mapa-library-ui-0.0.17.tgz +0 -0
  56. package/src/lib/components/capability/lib/components/capability/capability-grade.const.d.ts +0 -6
  57. package/src/lib/components/capability/lib/components/capability/src/capability-grade/capability-grade.component.d.ts +0 -8
  58. package/src/lib/components/capability/lib/components/capability/src/capability-grade/capability-grade.module.d.ts +0 -8
  59. package/src/lib/components/capability/lib/components/capability/src/capability-grade-bar/capability-grade-bar.component.d.ts +0 -13
  60. package/src/lib/components/capability/lib/components/capability/src/capability-grade-bar/capability-grade-bar.module.d.ts +0 -10
@@ -0,0 +1,27 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../capability-indicator/capability-indicator.component";
5
+ export class MapaCapabilityIndicatorListComponent {
6
+ constructor() {
7
+ this.dataPositive = [];
8
+ this.dataNegative = [];
9
+ this.dataRiskPrecipitation = [];
10
+ this.dataRiskNegligence = [];
11
+ }
12
+ ngOnInit() {
13
+ this.dataPositive = this.data.filter((item) => item.direction === "Positiva" && !item.risk);
14
+ this.dataNegative = this.data.filter((item) => item.direction === "Negativa" && !item.risk);
15
+ this.dataRiskPrecipitation = this.data.filter((item) => item.risk === true && item.precipitation === true);
16
+ this.dataRiskNegligence = this.data.filter((item) => item.risk === true && item.negligence === true);
17
+ }
18
+ }
19
+ MapaCapabilityIndicatorListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIndicatorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ MapaCapabilityIndicatorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIndicatorListComponent, selector: "mapa-capability-indicator-list", inputs: { data: "data" }, ngImport: i0, template: "<section class=\"indicator-list\">\n <article class=\"indicator-list__column\">\n <h2>Indicadores positivos</h2>\n <mapa-capability-indicator\n *ngFor=\"let item of dataPositive\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n </article>\n <article class=\"indicator-list__column\">\n <h2>Indicadores negativos</h2>\n <mapa-capability-indicator\n *ngFor=\"let item of dataNegative\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n </article>\n <article class=\"indicator-list__column\">\n <h2>Indicadores de risco</h2>\n <h3>Risco de acidente por precipita\u00E7\u00E3o</h3>\n <mapa-capability-indicator\n *ngFor=\"let item of dataRiskPrecipitation\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n <h3>Risco de acidente por neglig\u00EAncia</h3>\n <mapa-capability-indicator\n *ngFor=\"let item of dataRiskNegligence\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n </article>\n</section>\n", styles: [".indicator-list{display:flex;gap:42px;justify-content:space-between;margin-bottom:42px}.indicator-list__column{width:33%}.indicator-list__column h2{font-family:SF-Pro;font-size:24px;font-style:normal;font-weight:400;line-height:32px;margin-bottom:24px}.indicator-list__column h3{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400;line-height:32px;margin-bottom:24px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#fff}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f56580;color:#000}.classification-7{background-color:#f598a7;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MapaCapabilityIndicatorComponent, selector: "mapa-capability-indicator", inputs: ["item", "fullWidth"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIndicatorListComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: "mapa-capability-indicator-list", template: "<section class=\"indicator-list\">\n <article class=\"indicator-list__column\">\n <h2>Indicadores positivos</h2>\n <mapa-capability-indicator\n *ngFor=\"let item of dataPositive\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n </article>\n <article class=\"indicator-list__column\">\n <h2>Indicadores negativos</h2>\n <mapa-capability-indicator\n *ngFor=\"let item of dataNegative\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n </article>\n <article class=\"indicator-list__column\">\n <h2>Indicadores de risco</h2>\n <h3>Risco de acidente por precipita\u00E7\u00E3o</h3>\n <mapa-capability-indicator\n *ngFor=\"let item of dataRiskPrecipitation\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n <h3>Risco de acidente por neglig\u00EAncia</h3>\n <mapa-capability-indicator\n *ngFor=\"let item of dataRiskNegligence\"\n [item]=\"item\"\n [fullWidth]=\"true\">\n </mapa-capability-indicator>\n </article>\n</section>\n", styles: [".indicator-list{display:flex;gap:42px;justify-content:space-between;margin-bottom:42px}.indicator-list__column{width:33%}.indicator-list__column h2{font-family:SF-Pro;font-size:24px;font-style:normal;font-weight:400;line-height:32px;margin-bottom:24px}.indicator-list__column h3{font-family:SF-Pro;font-size:20px;font-style:normal;font-weight:400;line-height:32px;margin-bottom:24px}\n", ".classification-1{background-color:#073e92;color:#fff}.classification-2{background-color:#0e6ece;color:#fff}.classification-3{background-color:#2d9ced;color:#fff}.classification-4{background-color:#68ceee;color:#000}.classification-5{background-color:#96f2ee;color:#000}.classification-6{background-color:#f56580;color:#000}.classification-7{background-color:#f598a7;color:#000}.classification-8{background-color:#f4284e;color:#fff}.classification-9{background-color:#c11c2f;color:#fff}.small-dot{width:12px;height:12px;border-radius:12px;padding:0;margin:0}.dot{width:16px;height:16px;border-radius:16px;padding:0;margin:0}.indicator{display:flex;padding:2px 4px 2px 16px;justify-content:space-between;align-items:center;border-radius:8px}\n"] }]
24
+ }], ctorParameters: function () { return []; }, propDecorators: { data: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW5kaWNhdG9yLWxpc3QvY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW5kaWNhdG9yLWxpc3QvY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVd6RCxNQUFNLE9BQU8sb0NBQW9DO0lBUS9DO1FBTE8saUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQztRQUNwQywwQkFBcUIsR0FBcUIsRUFBRSxDQUFDO1FBQzdDLHVCQUFrQixHQUFxQixFQUFFLENBQUM7SUFFbEMsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3RFLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNsQyxDQUFDLElBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDdEUsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FDNUUsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDeEMsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FDekUsQ0FBQztJQUNKLENBQUM7O2tJQXZCVSxvQ0FBb0M7c0hBQXBDLG9DQUFvQyxnR0NYakQsb2xDQWlDQTs0RkR0QmEsb0NBQW9DO2tCQVJoRCxTQUFTOytCQUNFLGdDQUFnQzswRUFRakMsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcGFiaWxpdHlJdGVtIH0gZnJvbSBcIi4uLy4uL2NhcGFiaWxpdHkuaW50ZXJmYWNlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS1jYXBhYmlsaXR5LWluZGljYXRvci1saXN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIFwiLi8uLi8uLi9zdHlsZXMvY2FwYWJpbGl0eS5zY3NzXCIsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFDYXBhYmlsaXR5SW5kaWNhdG9yTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDYXBhYmlsaXR5SXRlbVtdO1xuXG4gIHB1YmxpYyBkYXRhUG9zaXRpdmU6IENhcGFiaWxpdHlJdGVtW10gPSBbXTtcbiAgcHVibGljIGRhdGFOZWdhdGl2ZTogQ2FwYWJpbGl0eUl0ZW1bXSA9IFtdOyAgXG4gIHB1YmxpYyBkYXRhUmlza1ByZWNpcGl0YXRpb246IENhcGFiaWxpdHlJdGVtW10gPSBbXTsgIFxuICBwdWJsaWMgZGF0YVJpc2tOZWdsaWdlbmNlOiBDYXBhYmlsaXR5SXRlbVtdID0gW107ICBcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhUG9zaXRpdmUgPSB0aGlzLmRhdGEuZmlsdGVyKFxuICAgICAgKGl0ZW06IENhcGFiaWxpdHlJdGVtKSA9PiBpdGVtLmRpcmVjdGlvbiA9PT0gXCJQb3NpdGl2YVwiICYmICFpdGVtLnJpc2tcbiAgICApO1xuICAgIHRoaXMuZGF0YU5lZ2F0aXZlID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgIChpdGVtOiBDYXBhYmlsaXR5SXRlbSkgPT4gaXRlbS5kaXJlY3Rpb24gPT09IFwiTmVnYXRpdmFcIiAmJiAhaXRlbS5yaXNrXG4gICAgKTtcbiAgICB0aGlzLmRhdGFSaXNrUHJlY2lwaXRhdGlvbiA9IHRoaXMuZGF0YS5maWx0ZXIoXG4gICAgICAoaXRlbTogQ2FwYWJpbGl0eUl0ZW0pID0+IGl0ZW0ucmlzayA9PT0gdHJ1ZSAmJiBpdGVtLnByZWNpcGl0YXRpb24gPT09IHRydWVcbiAgICApO1xuICAgIHRoaXMuZGF0YVJpc2tOZWdsaWdlbmNlID0gdGhpcy5kYXRhLmZpbHRlcihcbiAgICAgIChpdGVtOiBDYXBhYmlsaXR5SXRlbSkgPT4gaXRlbS5yaXNrID09PSB0cnVlICYmIGl0ZW0ubmVnbGlnZW5jZSA9PT0gdHJ1ZVxuICAgICk7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiaW5kaWNhdG9yLWxpc3RcIj5cbiAgPGFydGljbGUgY2xhc3M9XCJpbmRpY2F0b3ItbGlzdF9fY29sdW1uXCI+XG4gICAgPGgyPkluZGljYWRvcmVzIHBvc2l0aXZvczwvaDI+XG4gICAgPG1hcGEtY2FwYWJpbGl0eS1pbmRpY2F0b3JcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFQb3NpdGl2ZVwiXG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiPlxuICAgIDwvbWFwYS1jYXBhYmlsaXR5LWluZGljYXRvcj5cbiAgPC9hcnRpY2xlPlxuICA8YXJ0aWNsZSBjbGFzcz1cImluZGljYXRvci1saXN0X19jb2x1bW5cIj5cbiAgICA8aDI+SW5kaWNhZG9yZXMgbmVnYXRpdm9zPC9oMj5cbiAgICA8bWFwYS1jYXBhYmlsaXR5LWluZGljYXRvclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YU5lZ2F0aXZlXCJcbiAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCI+XG4gICAgPC9tYXBhLWNhcGFiaWxpdHktaW5kaWNhdG9yPlxuICA8L2FydGljbGU+XG4gIDxhcnRpY2xlIGNsYXNzPVwiaW5kaWNhdG9yLWxpc3RfX2NvbHVtblwiPlxuICAgIDxoMj5JbmRpY2Fkb3JlcyBkZSByaXNjbzwvaDI+XG4gICAgPGgzPlJpc2NvIGRlIGFjaWRlbnRlIHBvciBwcmVjaXBpdGHDp8OjbzwvaDM+XG4gICAgPG1hcGEtY2FwYWJpbGl0eS1pbmRpY2F0b3JcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFSaXNrUHJlY2lwaXRhdGlvblwiXG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiPlxuICAgIDwvbWFwYS1jYXBhYmlsaXR5LWluZGljYXRvcj5cbiAgICA8aDM+UmlzY28gZGUgYWNpZGVudGUgcG9yIG5lZ2xpZ8OqbmNpYTwvaDM+XG4gICAgPG1hcGEtY2FwYWJpbGl0eS1pbmRpY2F0b3JcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFSaXNrTmVnbGlnZW5jZVwiXG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiPlxuICAgIDwvbWFwYS1jYXBhYmlsaXR5LWluZGljYXRvcj5cbiAgPC9hcnRpY2xlPlxuPC9zZWN0aW9uPlxuIl19
@@ -0,0 +1,19 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { MapaCapabilityIndicatorListComponent } from "./capability-indicator-list.component";
4
+ import { MapaCapabilityIndicatorModule } from "../capability-indicator/capability-indicator.module";
5
+ import * as i0 from "@angular/core";
6
+ export class MapaCapabilityIndicatorListModule {
7
+ }
8
+ MapaCapabilityIndicatorListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIndicatorListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ MapaCapabilityIndicatorListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIndicatorListModule, declarations: [MapaCapabilityIndicatorListComponent], imports: [CommonModule, MapaCapabilityIndicatorModule], exports: [MapaCapabilityIndicatorListComponent] });
10
+ MapaCapabilityIndicatorListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIndicatorListModule, imports: [CommonModule, MapaCapabilityIndicatorModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIndicatorListModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [MapaCapabilityIndicatorListComponent],
15
+ exports: [MapaCapabilityIndicatorListComponent],
16
+ imports: [CommonModule, MapaCapabilityIndicatorModule],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW5kaWNhdG9yLWxpc3QvY2FwYWJpbGl0eS1pbmRpY2F0b3ItbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBT3BHLE1BQU0sT0FBTyxpQ0FBaUM7OytIQUFqQyxpQ0FBaUM7Z0lBQWpDLGlDQUFpQyxpQkFKN0Isb0NBQW9DLGFBRXpDLFlBQVksRUFBRSw2QkFBNkIsYUFEM0Msb0NBQW9DO2dJQUduQyxpQ0FBaUMsWUFGbEMsWUFBWSxFQUFFLDZCQUE2Qjs0RkFFMUMsaUNBQWlDO2tCQUw3QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9DQUFvQyxDQUFDO29CQUNwRCxPQUFPLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDZCQUE2QixDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1hcGFDYXBhYmlsaXR5SW5kaWNhdG9yTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL2NhcGFiaWxpdHktaW5kaWNhdG9yLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBNYXBhQ2FwYWJpbGl0eUluZGljYXRvck1vZHVsZSB9IGZyb20gXCIuLi9jYXBhYmlsaXR5LWluZGljYXRvci9jYXBhYmlsaXR5LWluZGljYXRvci5tb2R1bGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTWFwYUNhcGFiaWxpdHlJbmRpY2F0b3JMaXN0Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW01hcGFDYXBhYmlsaXR5SW5kaWNhdG9yTGlzdENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hcGFDYXBhYmlsaXR5SW5kaWNhdG9yTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYUNhcGFiaWxpdHlJbmRpY2F0b3JMaXN0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class MapaCapabilityIntervalComponent {
5
+ getWidth(index) {
6
+ if (!this.data)
7
+ return 0;
8
+ const interval = this.data.interval || 0;
9
+ const intervalMod10 = Math.floor(interval / 10) % 10;
10
+ return index < intervalMod10
11
+ ? 100
12
+ : index === intervalMod10
13
+ ? (interval % 10) * 10
14
+ : 0;
15
+ }
16
+ }
17
+ MapaCapabilityIntervalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ MapaCapabilityIntervalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIntervalComponent, selector: "mapa-capability-interval", inputs: { data: "data" }, ngImport: i0, template: "<ul class=\"capability__interval\">\n <li class=\"capability__interval--item\" *ngFor=\"let item of [].constructor(9); let i = index\">\n <div\n class=\"capability__interval--percentage\"\n [style.width.%]=\"getWidth(i)\"\n ></div>\n </li>\n <li>\n <h1>{{ data.interval }}</h1>\n </li>\n</ul>\n", styles: [".capability__interval{display:flex;list-style-type:none;margin-block-start:0px;margin-block-end:0px;padding-inline-start:0px}.capability__interval h1{margin-bottom:0;margin-left:16px}.capability__interval--item{height:35px;width:20px;background-color:#d9d9d9;border-radius:6px;margin-right:6px}.capability__interval--item:last-of-type{margin-right:0}.capability__interval--percentage{height:35px;width:20px;background-color:#8c8f94;border-radius:6px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: "mapa-capability-interval", template: "<ul class=\"capability__interval\">\n <li class=\"capability__interval--item\" *ngFor=\"let item of [].constructor(9); let i = index\">\n <div\n class=\"capability__interval--percentage\"\n [style.width.%]=\"getWidth(i)\"\n ></div>\n </li>\n <li>\n <h1>{{ data.interval }}</h1>\n </li>\n</ul>\n", styles: [".capability__interval{display:flex;list-style-type:none;margin-block-start:0px;margin-block-end:0px;padding-inline-start:0px}.capability__interval h1{margin-bottom:0;margin-left:16px}.capability__interval--item{height:35px;width:20px;background-color:#d9d9d9;border-radius:6px;margin-right:6px}.capability__interval--item:last-of-type{margin-right:0}.capability__interval--percentage{height:35px;width:20px;background-color:#8c8f94;border-radius:6px}\n"] }]
22
+ }], propDecorators: { data: [{
23
+ type: Input
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUWpELE1BQU0sT0FBTywrQkFBK0I7SUFHbkMsUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEtBQUssR0FBRyxhQUFhO1lBQzFCLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLEtBQUssS0FBSyxhQUFhO2dCQUN6QixDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OzZIQVpVLCtCQUErQjtpSEFBL0IsK0JBQStCLDBGQ1I1QywrVEFXQTs0RkRIYSwrQkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQUszQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcGFiaWxpdHkgfSBmcm9tIFwiLi4vLi4vY2FwYWJpbGl0eS5pbnRlcmZhY2VzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWNhcGFiaWxpdHktaW50ZXJ2YWxcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jYXBhYmlsaXR5LWludGVydmFsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9jYXBhYmlsaXR5LWludGVydmFsLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YSE6IENhcGFiaWxpdHk7XG5cbiAgcHVibGljIGdldFdpZHRoKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5kYXRhKSByZXR1cm4gMDtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF0YS5pbnRlcnZhbCB8fCAwO1xuICAgIGNvbnN0IGludGVydmFsTW9kMTAgPSBNYXRoLmZsb29yKGludGVydmFsIC8gMTApICUgMTA7XG4gICAgcmV0dXJuIGluZGV4IDwgaW50ZXJ2YWxNb2QxMFxuICAgICAgPyAxMDBcbiAgICAgIDogaW5kZXggPT09IGludGVydmFsTW9kMTBcbiAgICAgID8gKGludGVydmFsICUgMTApICogMTBcbiAgICAgIDogMDtcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwiY2FwYWJpbGl0eV9faW50ZXJ2YWxcIj5cbiAgPGxpIGNsYXNzPVwiY2FwYWJpbGl0eV9faW50ZXJ2YWwtLWl0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBbXS5jb25zdHJ1Y3Rvcig5KTsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2FwYWJpbGl0eV9faW50ZXJ2YWwtLXBlcmNlbnRhZ2VcIlxuICAgICAgW3N0eWxlLndpZHRoLiVdPVwiZ2V0V2lkdGgoaSlcIlxuICAgID48L2Rpdj5cbiAgPC9saT5cbiAgPGxpPlxuICAgIDxoMT57eyBkYXRhLmludGVydmFsIH19PC9oMT5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { MapaCapabilityIntervalComponent } from "./capability-interval.component";
4
+ import * as i0 from "@angular/core";
5
+ export class MapaCapabilityIntervalModule {
6
+ }
7
+ MapaCapabilityIntervalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ MapaCapabilityIntervalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalModule, declarations: [MapaCapabilityIntervalComponent], imports: [CommonModule], exports: [MapaCapabilityIntervalComponent] });
9
+ MapaCapabilityIntervalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [MapaCapabilityIntervalComponent],
14
+ exports: [MapaCapabilityIntervalComponent],
15
+ imports: [CommonModule],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbnRlcnZhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwvY2FwYWJpbGl0eS1pbnRlcnZhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBT2xGLE1BQU0sT0FBTyw0QkFBNEI7OzBIQUE1Qiw0QkFBNEI7MkhBQTVCLDRCQUE0QixpQkFKeEIsK0JBQStCLGFBRXBDLFlBQVksYUFEWiwrQkFBK0I7MkhBRzlCLDRCQUE0QixZQUY3QixZQUFZOzRGQUVYLDRCQUE0QjtrQkFMeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQ29tcG9uZW50IH0gZnJvbSBcIi4vY2FwYWJpbGl0eS1pbnRlcnZhbC5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTWFwYUNhcGFiaWxpdHlJbnRlcnZhbENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtNYXBhQ2FwYWJpbGl0eUludGVydmFsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFDYXBhYmlsaXR5SW50ZXJ2YWxNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,31 @@
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 "../../../button/src/button.component";
5
+ import * as i3 from "../capability-interval/capability-interval.component";
6
+ export class MapaCapabilityIntervalBarComponent {
7
+ constructor() {
8
+ this.clicked = new EventEmitter();
9
+ this.isHovering = false;
10
+ }
11
+ onHover() {
12
+ this.isHovering = true;
13
+ }
14
+ onMouseOut() {
15
+ this.isHovering = false;
16
+ }
17
+ showMore() {
18
+ this.clicked.emit();
19
+ }
20
+ }
21
+ MapaCapabilityIntervalBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
+ MapaCapabilityIntervalBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaCapabilityIntervalBarComponent, selector: "mapa-capability-interval-bar", inputs: { data: "data" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div\n class=\"capability-interval\"\n (mouseover)=\"onHover()\"\n (mouseout)=\"onMouseOut()\"\n reusable-outlet\n>\n <mapa-capability-interval\n [ngClass]=\"{'capability-interval--hide': isHovering}\"\n [data]=\"data\"\n ></mapa-capability-interval>\n <span\n class=\"capability-interval--hide\"\n [ngClass]=\"{'capability-interval--show': isHovering}\"\n >\n <mapa-button color=\"basic\" (click)=\"showMore()\">Veja mais</mapa-button>\n </span>\n</div>\n", styles: [".capability-interval{border:1px solid #8c8f94;border-radius:16px;display:flex;align-items:center;justify-content:flex-end;padding:16px;height:35px;width:290px}.capability-interval--hide{display:none}.capability-interval--show{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.ButtonComponent, selector: "mapa-button", inputs: ["color", "disabled"], outputs: ["clicked"] }, { kind: "component", type: i3.MapaCapabilityIntervalComponent, selector: "mapa-capability-interval", inputs: ["data"] }] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: "mapa-capability-interval-bar", template: "<div\n class=\"capability-interval\"\n (mouseover)=\"onHover()\"\n (mouseout)=\"onMouseOut()\"\n reusable-outlet\n>\n <mapa-capability-interval\n [ngClass]=\"{'capability-interval--hide': isHovering}\"\n [data]=\"data\"\n ></mapa-capability-interval>\n <span\n class=\"capability-interval--hide\"\n [ngClass]=\"{'capability-interval--show': isHovering}\"\n >\n <mapa-button color=\"basic\" (click)=\"showMore()\">Veja mais</mapa-button>\n </span>\n</div>\n", styles: [".capability-interval{border:1px solid #8c8f94;border-radius:16px;display:flex;align-items:center;justify-content:flex-end;padding:16px;height:35px;width:290px}.capability-interval--hide{display:none}.capability-interval--show{display:block}\n"] }]
26
+ }], propDecorators: { data: [{
27
+ type: Input
28
+ }], clicked: [{
29
+ type: Output
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbnRlcnZhbC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXBhYmlsaXR5L3NyYy9jYXBhYmlsaXR5LWludGVydmFsLWJhci9jYXBhYmlsaXR5LWludGVydmFsLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL2NhcGFiaWxpdHktaW50ZXJ2YWwtYmFyL2NhcGFiaWxpdHktaW50ZXJ2YWwtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXZFLE1BQU0sT0FBTyxrQ0FBa0M7SUFML0M7UUFPWSxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUQsZUFBVSxHQUFHLEtBQUssQ0FBQztLQWEzQjtJQVhDLE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOztnSUFoQlUsa0NBQWtDO29IQUFsQyxrQ0FBa0MsK0hDUi9DLGtlQWlCQTs0RkRUYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UsOEJBQThCOzhCQUsvQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENhcGFiaWxpdHkgfSBmcm9tIFwiLi4vLi4vY2FwYWJpbGl0eS5pbnRlcmZhY2VzXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtYXBhLWNhcGFiaWxpdHktaW50ZXJ2YWwtYmFyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2FwYWJpbGl0eS1pbnRlcnZhbC1iYXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2NhcGFiaWxpdHktaW50ZXJ2YWwtYmFyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YSE6IENhcGFiaWxpdHk7XG4gIEBPdXRwdXQoKSBjbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIFxuICBwdWJsaWMgaXNIb3ZlcmluZyA9IGZhbHNlO1xuXG4gIG9uSG92ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc0hvdmVyaW5nID0gdHJ1ZTtcbiAgfVxuXG4gIG9uTW91c2VPdXQoKTogdm9pZCB7XG4gICAgdGhpcy5pc0hvdmVyaW5nID0gZmFsc2U7XG4gIH1cblxuICBzaG93TW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY2FwYWJpbGl0eS1pbnRlcnZhbFwiXG4gIChtb3VzZW92ZXIpPVwib25Ib3ZlcigpXCJcbiAgKG1vdXNlb3V0KT1cIm9uTW91c2VPdXQoKVwiXG4gIHJldXNhYmxlLW91dGxldFxuPlxuICA8bWFwYS1jYXBhYmlsaXR5LWludGVydmFsXG4gICAgW25nQ2xhc3NdPVwieydjYXBhYmlsaXR5LWludGVydmFsLS1oaWRlJzogaXNIb3ZlcmluZ31cIlxuICAgIFtkYXRhXT1cImRhdGFcIlxuICA+PC9tYXBhLWNhcGFiaWxpdHktaW50ZXJ2YWw+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJjYXBhYmlsaXR5LWludGVydmFsLS1oaWRlXCJcbiAgICBbbmdDbGFzc109XCJ7J2NhcGFiaWxpdHktaW50ZXJ2YWwtLXNob3cnOiBpc0hvdmVyaW5nfVwiXG4gID5cbiAgICA8bWFwYS1idXR0b24gY29sb3I9XCJiYXNpY1wiIChjbGljayk9XCJzaG93TW9yZSgpXCI+VmVqYSBtYWlzPC9tYXBhLWJ1dHRvbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { MapaCapabilityIntervalBarComponent } from "./capability-interval-bar.component";
4
+ import { MapaButtonModule } from "../../../../../filters";
5
+ import { MapaCapabilityIntervalModule } from "../capability-interval/capability-interval.module";
6
+ import * as i0 from "@angular/core";
7
+ export class MapaCapabilityIntervalBarModule {
8
+ }
9
+ MapaCapabilityIntervalBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ MapaCapabilityIntervalBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarModule, declarations: [MapaCapabilityIntervalBarComponent], imports: [CommonModule, MapaButtonModule, MapaCapabilityIntervalModule], exports: [MapaCapabilityIntervalBarComponent] });
11
+ MapaCapabilityIntervalBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarModule, imports: [CommonModule, MapaButtonModule, MapaCapabilityIntervalModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaCapabilityIntervalBarModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [MapaCapabilityIntervalBarComponent],
16
+ exports: [MapaCapabilityIntervalBarComponent],
17
+ imports: [CommonModule, MapaButtonModule, MapaCapabilityIntervalModule],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwYWJpbGl0eS1pbnRlcnZhbC1iYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXBhYmlsaXR5L3NyYy9jYXBhYmlsaXR5LWludGVydmFsLWJhci9jYXBhYmlsaXR5LWludGVydmFsLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBT2pHLE1BQU0sT0FBTywrQkFBK0I7OzZIQUEvQiwrQkFBK0I7OEhBQS9CLCtCQUErQixpQkFKM0Isa0NBQWtDLGFBRXZDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSw0QkFBNEIsYUFENUQsa0NBQWtDOzhIQUdqQywrQkFBK0IsWUFGaEMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0Qjs0RkFFM0QsK0JBQStCO2tCQUwzQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGtDQUFrQyxDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO2lCQUN4RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IE1hcGFDYXBhYmlsaXR5SW50ZXJ2YWxCYXJDb21wb25lbnQgfSBmcm9tIFwiLi9jYXBhYmlsaXR5LWludGVydmFsLWJhci5jb21wb25lbnRcIjtcbmltcG9ydCB7IE1hcGFCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vZmlsdGVyc1wiO1xuaW1wb3J0IHsgTWFwYUNhcGFiaWxpdHlJbnRlcnZhbE1vZHVsZSB9IGZyb20gXCIuLi9jYXBhYmlsaXR5LWludGVydmFsL2NhcGFiaWxpdHktaW50ZXJ2YWwubW9kdWxlXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01hcGFDYXBhYmlsaXR5SW50ZXJ2YWxCYXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbTWFwYUNhcGFiaWxpdHlJbnRlcnZhbEJhckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hcGFCdXR0b25Nb2R1bGUsIE1hcGFDYXBhYmlsaXR5SW50ZXJ2YWxNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQmFyTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { NavigationStart } from "@angular/router";
3
+ import { MapaCapabilityIntervalBarComponent } from "../capability-interval-bar/capability-interval-bar.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ export class ReusableCapabilityIntervalBarService {
7
+ constructor(componentFactoryResolver, injector, router) {
8
+ this.componentFactoryResolver = componentFactoryResolver;
9
+ this.injector = injector;
10
+ this.router = router;
11
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(MapaCapabilityIntervalBarComponent);
12
+ this.componentRef = componentFactory.create(injector);
13
+ this.router.events.subscribe((event) => {
14
+ if (event instanceof NavigationStart && this.currentViewContainerRef) {
15
+ this.detach(this.currentViewContainerRef);
16
+ }
17
+ });
18
+ }
19
+ attach(viewContainerRef) {
20
+ this.currentViewContainerRef = viewContainerRef;
21
+ viewContainerRef.insert(this.componentRef.hostView);
22
+ }
23
+ detach(viewContainerRef) {
24
+ viewContainerRef.detach(viewContainerRef.indexOf(this.componentRef.hostView));
25
+ }
26
+ }
27
+ ReusableCapabilityIntervalBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReusableCapabilityIntervalBarService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ ReusableCapabilityIntervalBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReusableCapabilityIntervalBarService });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReusableCapabilityIntervalBarService, decorators: [{
30
+ type: Injectable
31
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i1.Router }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV1c2FibGUtaW50ZXJ2YWwtYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcGFiaWxpdHkvc3JjL3NlcnZpY2VzL3JldXNhYmxlLWludGVydmFsLWJhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7QUFHbEgsTUFBTSxPQUFPLG9DQUFvQztJQUsvQyxZQUNVLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixNQUFjO1FBRmQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFdEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQzVFLGtDQUFrQyxDQUNuQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckMsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtnQkFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMzQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBa0M7UUFDOUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLGdCQUFnQixDQUFDO1FBQ2hELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWtDO1FBQzlDLGdCQUFnQixDQUFDLE1BQU0sQ0FDckIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQ3JELENBQUM7SUFDSixDQUFDOztrSUEvQlUsb0NBQW9DO3NJQUFwQyxvQ0FBb0M7NEZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBJbmplY3RvcixcbiAgSW5qZWN0YWJsZVxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBNYXBhQ2FwYWJpbGl0eUludGVydmFsQmFyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NhcGFiaWxpdHktaW50ZXJ2YWwtYmFyL2NhcGFiaWxpdHktaW50ZXJ2YWwtYmFyLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmV1c2FibGVDYXBhYmlsaXR5SW50ZXJ2YWxCYXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxNYXBhQ2FwYWJpbGl0eUludGVydmFsQmFyQ29tcG9uZW50PjtcblxuICBwcml2YXRlIGN1cnJlbnRWaWV3Q29udGFpbmVyUmVmITogVmlld0NvbnRhaW5lclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFxuICAgICAgTWFwYUNhcGFiaWxpdHlJbnRlcnZhbEJhckNvbXBvbmVudFxuICAgICk7XG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShpbmplY3Rvcik7XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0ICYmIHRoaXMuY3VycmVudFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgdGhpcy5kZXRhY2godGhpcy5jdXJyZW50Vmlld0NvbnRhaW5lclJlZik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXR0YWNoKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLmN1cnJlbnRWaWV3Q29udGFpbmVyUmVmID0gdmlld0NvbnRhaW5lclJlZjtcbiAgICB2aWV3Q29udGFpbmVyUmVmLmluc2VydCh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gIH1cblxuICBwdWJsaWMgZGV0YWNoKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB2aWV3Q29udGFpbmVyUmVmLmRldGFjaChcbiAgICAgIHZpZXdDb250YWluZXJSZWYuaW5kZXhPZih0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldylcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -83,15 +83,16 @@ export class MapaTableComponent {
83
83
  });
84
84
  this.selectedObjectsChange.emit(selectedObjects);
85
85
  }
86
- handleRowClick(id) {
86
+ handleRowClick(id, test) {
87
+ console.log(test);
87
88
  this.rowClick.emit(id);
88
89
  }
89
90
  }
90
91
  MapaTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
91
- MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"checkboxTable\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row)\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row)\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row)\">visibility</mat-icon>\n </div>\n </ng-container>\n {{ row[column.key] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".checkboxTable ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.checkboxTable .mat-table{width:100%}.checkboxTable .tr,.checkboxTable th{padding-top:15px;padding-bottom:15px}.checkboxTable .label{margin-top:4px}.checkboxTable .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.checkboxTable .mat-mdc-cell{padding:15px}.checkboxTable .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.checkboxTable .actions{display:flex}.checkboxTable .actions .mat-icon{color:#ea561d!important}.checkboxTable .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\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.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
92
+ MapaTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MapaTableComponent, selector: "mapa-table", inputs: { columns: "columns", data: "data", checkbox: "checkbox", actions: "actions" }, outputs: { tableData: "tableData", rowClick: "rowClick", selectedObjectsChange: "selectedObjectsChange" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }], ngImport: i0, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\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.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i6.BubblePaginationDirective, selector: "[appBubblePagination]", inputs: ["showFirstButton", "showLastButton", "renderButtonsNumber", "appCustomLength", "hideDefaultArrows"], outputs: ["pageIndexChangeEmitter"] }], encapsulation: i0.ViewEncapsulation.None });
92
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaTableComponent, decorators: [{
93
94
  type: Component,
94
- args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"checkboxTable\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row)\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row)\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row)\">visibility</mat-icon>\n </div>\n </ng-container>\n {{ row[column.key] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".checkboxTable ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.checkboxTable .mat-table{width:100%}.checkboxTable .tr,.checkboxTable th{padding-top:15px;padding-bottom:15px}.checkboxTable .label{margin-top:4px}.checkboxTable .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.checkboxTable .mat-mdc-cell{padding:15px}.checkboxTable .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.checkboxTable .actions{display:flex}.checkboxTable .actions .mat-icon{color:#ea561d!important}.checkboxTable .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"] }]
95
+ args: [{ selector: 'mapa-table', encapsulation: ViewEncapsulation.None, template: "<div class=\"table\">\n <table mat-table [dataSource]=\"dataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; let isFirst = first\" [matColumnDef]=\"column.key\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header (click)=\"sortData(column.key)\">\n <div class=\"header\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (change)=\"$event ? toggleAllRows() : null\" [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\n (click)=\"$event.stopPropagation(); createObjectFromSelection()\">\n </mat-checkbox>\n </ng-container>\n <div *ngIf=\"column.key !== 'actions'\">\n <mat-icon>filter_list</mat-icon>\n </div>\n <div class=\"label\">\n {{ column.label }}\n </div> \n </div> \n </th>\n <td mat-cell *matCellDef=\"let row\">\n <ng-container *ngIf=\"isFirst && checkbox\">\n <mat-checkbox (click)=\"$event.stopPropagation(); createObjectFromSelection()\"\n (change)=\"$event ? selection.toggle(row) : null\" [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </ng-container>\n <ng-container *ngIf=\"column.key === 'actions'\">\n <div class=\"actions\">\n <mat-icon (click)=\"handleRowClick(row, 'edit')\">edit</mat-icon>\n <mat-icon (click)=\"handleRowClick(row, 'delete')\">delete</mat-icon> \n <mat-icon (click)=\"handleRowClick(row, 'visibility')\">visibility</mat-icon>\n </div>\n </ng-container>\n <div class=\"table__column\" (click)=\"handleRowClick(row, '')\">\n {{ row[column.key] }}\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-paginator class=\"custom_paginator\" appBubblePagination\n [appCustomLength]=\"dataSource ? dataSource.data.length : 0\" [length]=\"dataSource ? dataSource.data.length : 0\"\n [pageSizeOptions]=\"[5, 10, 25, 100]\" [pageSize]=\"5\" aria-label=\"Select page\"></mat-paginator>\n</div>", styles: [".table__column{width:100%}.table ::ng-deep .mat-mdc-paginator-page-size-label{display:none}.table .mat-table{width:100%}.table .tr,.table th{padding-top:15px;padding-bottom:15px}.table .label{margin-top:4px}.table .header{padding-top:15px;padding-bottom:15px;align-items:center;display:flex}.table .mat-mdc-cell{padding:15px}.table .mat-icon{cursor:pointer;position:relative;bottom:-6px;padding:0 5px}.table .actions{display:flex}.table .actions .mat-icon{color:#ea561d!important}.table .mat-accent{--mdc-checkbox-selected-focus-icon-color: #ea561d;--mdc-checkbox-selected-hover-icon-color: #ea561d;--mdc-checkbox-selected-pressed-icon-color: transparent;--mdc-checkbox-selected-icon-color: #ea561d;--mdc-checkbox-selected-checkmark-color: #fff;--mdc-circular-progress-active-indicator-color: transparent}.mat-mdc-paginator-container{display:flex;justify-content:space-between}.g-bubble-container{display:flex;gap:4px}.g-bubble{background-color:#fff;border-radius:20%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#181818;font-size:14px;cursor:pointer;transition:.3s}.g-bubble:hover{background-color:#b6b6b6;color:#fff}.g-bubble__active{background-color:#ea561d;color:#fff}mat-paginator{background:transparent!important}.mat-mdc-paginator-range-actions{margin-right:12px!important}.custom_paginator .mat-mdc-paginator-container{display:flex;justify-content:space-between;margin-right:25vw}\n"] }]
95
96
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
96
97
  type: Input
97
98
  }], data: [{
@@ -113,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
113
114
  }], selectedObjectsChange: [{
114
115
  type: Output
115
116
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWZqQyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBS25CLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUMzRCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUQsMEJBQXFCLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFHakYscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFRCxDQUFDO0lBRTlD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O0lBRUMsY0FBYyxDQUFDLEVBQVU7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7Z0hBN0ZVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLGdTQUtsQixZQUFZLHVFQUNaLE9BQU8sZ0RDbEJwQixxb0VBMkNNOzRGRC9CTyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJO3dHQUc1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNtQixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0gsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNSLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hcGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFUYWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgZGF0YTogT2JqZWN0W10gPSBbXTtcbiAgQElucHV0KCkgY2hlY2tib3g6IGJvb2xlYW4gfCB1bmRlZmluZWQ7IFxuICBASW5wdXQoKSBhY3Rpb25zOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuICBAT3V0cHV0KCkgdGFibGVEYXRhOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpOyBcbiAgQE91dHB1dCgpIHNlbGVjdGVkT2JqZWN0c0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG5cbiAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTxPYmplY3Q+O1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBjdXJyZW50U29ydDogU29ydCB8IHVuZGVmaW5lZDtcbiAgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGEpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ua2V5KTtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcbiAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gIH1cblxuICB0b2dnbGVBbGxSb3dzKCkge1xuICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQoKSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGF0YUFzUGVyaW9kaWNFbGVtZW50cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhIGFzIGFueVtdO1xuICAgICAgZGF0YUFzUGVyaW9kaWNFbGVtZW50cy5mb3JFYWNoKHJvdyA9PiB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tib3hMYWJlbChyb3c/OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICghcm93KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5pc0FsbFNlbGVjdGVkKCkgPyAnZGVzZWxlY3QnIDogJ3NlbGVjdCd9IGFsbGA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykgPyAnZGVzZWxlY3QnIDogJ3NlbGVjdCd9IHJvdyAke3Jvdy5wb3NpdGlvbiArIDF9YDtcbiAgfVxuXG4gIHNvcnREYXRhKHNvcnRLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNvcnQ6IFNvcnQgPSB7IGFjdGl2ZTogc29ydEtleSwgZGlyZWN0aW9uOiAnYXNjJyB9O1xuXG4gICAgaWYgKHRoaXMuY3VycmVudFNvcnQgJiYgdGhpcy5jdXJyZW50U29ydC5hY3RpdmUgPT09IHNvcnRLZXkgJiYgdGhpcy5jdXJyZW50U29ydC5kaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICBzb3J0LmRpcmVjdGlvbiA9ICdkZXNjJztcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRTb3J0ID0gc29ydDtcbiAgICB0aGlzLnNvcnREYXRhRnVuY3Rpb24oc29ydCk7XG4gIH1cblxuICBzb3J0RGF0YUZ1bmN0aW9uKHNvcnQ6IFNvcnQpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhU291cmNlLmRhdGEuc2xpY2UoKTtcblxuICAgIGlmICghc29ydC5hY3RpdmUgfHwgc29ydC5kaXJlY3Rpb24gPT09ICcnKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc0FzYyA9IHNvcnQuZGlyZWN0aW9uID09PSAnYXNjJztcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoYVtzb3J0LmFjdGl2ZV0sIGJbc29ydC5hY3RpdmVdLCBpc0FzYyk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlKGE6IGFueSwgYjogYW55LCBpc0FzYzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgYSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIGIgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gKGEudG9Mb3dlckNhc2UoKSA8IGIudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICAgIH1cbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG4gIH1cblxuICBjcmVhdGVPYmplY3RGcm9tU2VsZWN0aW9uKCkge1xuICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgY29uc3Qgc2VsZWN0ZWRPYmplY3RzID0gc2VsZWN0ZWRSb3dzLm1hcChyb3cgPT4ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgIG9ialtjb2x1bW4ua2V5XSA9IHJvd1tjb2x1bW4ua2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2JqO1xuICB9KTtcbiAgdGhpcy5zZWxlY3RlZE9iamVjdHNDaGFuZ2UuZW1pdChzZWxlY3RlZE9iamVjdHMpO1xufVxuXG4gIGhhbmRsZVJvd0NsaWNrKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQoaWQpOyBcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNvcnQ6IGJvb2xlYW47XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2hlY2tib3hUYWJsZVwiPlxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaXNGaXJzdCA9IGZpcnN0XCIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciAoY2xpY2spPVwic29ydERhdGEoY29sdW1uLmtleSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiJGV2ZW50ID8gdG9nZ2xlQWxsUm93cygpIDogbnVsbFwiIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjcmVhdGVPYmplY3RGcm9tU2VsZWN0aW9uKClcIj5cbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucydcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgIDwvZGl2PiBcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjcmVhdGVPYmplY3RGcm9tU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKHJvdykgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdhY3Rpb25zJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKHJvdylcIj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiaGFuZGxlUm93Q2xpY2socm93KVwiPmRlbGV0ZTwvbWF0LWljb24+ICAgICAgICAgIFxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3cpXCI+dmlzaWJpbGl0eTwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICB7eyByb3dbY29sdW1uLmtleV0gfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gIDwvdGFibGU+XG5cbiAgPG1hdC1wYWdpbmF0b3IgY2xhc3M9XCJjdXN0b21fcGFnaW5hdG9yXCIgYXBwQnViYmxlUGFnaW5hdGlvblxuICAgIFthcHBDdXN0b21MZW5ndGhdPVwiZGF0YVNvdXJjZSA/IGRhdGFTb3VyY2UuZGF0YS5sZW5ndGggOiAwXCIgW2xlbmd0aF09XCJkYXRhU291cmNlID8gZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA6IDBcIlxuICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiIFtwYWdlU2l6ZV09XCI1XCIgYXJpYS1sYWJlbD1cIlNlbGVjdCBwYWdlXCI+PC9tYXQtcGFnaW5hdG9yPlxuPC9kaXY+Il19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBZ0I3QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWZqQyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQWEsRUFBRSxDQUFDO1FBS25CLGNBQVMsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUMzRCxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUQsMEJBQXFCLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFHakYscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxJQUFJLGNBQWMsQ0FBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFRCxDQUFDO0lBRTlD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O0lBRUMsY0FBYyxDQUFDLEVBQVUsRUFBRSxJQUFZO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7Z0hBOUZVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLGdTQUtsQixZQUFZLHVFQUNaLE9BQU8sZ0RDbEJwQiwwdkVBNkNNOzRGRGpDTyxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsWUFBWSxpQkFHUCxpQkFBaUIsQ0FBQyxJQUFJO3dHQUc1QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNtQixTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0gsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNSLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hcGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFUYWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgZGF0YTogT2JqZWN0W10gPSBbXTtcbiAgQElucHV0KCkgY2hlY2tib3g6IGJvb2xlYW4gfCB1bmRlZmluZWQ7IFxuICBASW5wdXQoKSBhY3Rpb25zOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuICBAT3V0cHV0KCkgdGFibGVEYXRhOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpOyBcbiAgQE91dHB1dCgpIHNlbGVjdGVkT2JqZWN0c0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG5cbiAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTxPYmplY3Q+O1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBjdXJyZW50U29ydDogU29ydCB8IHVuZGVmaW5lZDtcbiAgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odHJ1ZSwgW10pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGEpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ua2V5KTtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcbiAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gIH1cblxuICB0b2dnbGVBbGxSb3dzKCkge1xuICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQoKSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGF0YUFzUGVyaW9kaWNFbGVtZW50cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhIGFzIGFueVtdO1xuICAgICAgZGF0YUFzUGVyaW9kaWNFbGVtZW50cy5mb3JFYWNoKHJvdyA9PiB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tib3hMYWJlbChyb3c/OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICghcm93KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5pc0FsbFNlbGVjdGVkKCkgPyAnZGVzZWxlY3QnIDogJ3NlbGVjdCd9IGFsbGA7XG4gICAgfVxuICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykgPyAnZGVzZWxlY3QnIDogJ3NlbGVjdCd9IHJvdyAke3Jvdy5wb3NpdGlvbiArIDF9YDtcbiAgfVxuXG4gIHNvcnREYXRhKHNvcnRLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHNvcnQ6IFNvcnQgPSB7IGFjdGl2ZTogc29ydEtleSwgZGlyZWN0aW9uOiAnYXNjJyB9O1xuXG4gICAgaWYgKHRoaXMuY3VycmVudFNvcnQgJiYgdGhpcy5jdXJyZW50U29ydC5hY3RpdmUgPT09IHNvcnRLZXkgJiYgdGhpcy5jdXJyZW50U29ydC5kaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICBzb3J0LmRpcmVjdGlvbiA9ICdkZXNjJztcbiAgICB9XG5cbiAgICB0aGlzLmN1cnJlbnRTb3J0ID0gc29ydDtcbiAgICB0aGlzLnNvcnREYXRhRnVuY3Rpb24oc29ydCk7XG4gIH1cblxuICBzb3J0RGF0YUZ1bmN0aW9uKHNvcnQ6IFNvcnQpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhU291cmNlLmRhdGEuc2xpY2UoKTtcblxuICAgIGlmICghc29ydC5hY3RpdmUgfHwgc29ydC5kaXJlY3Rpb24gPT09ICcnKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc0FzYyA9IHNvcnQuZGlyZWN0aW9uID09PSAnYXNjJztcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoYVtzb3J0LmFjdGl2ZV0sIGJbc29ydC5hY3RpdmVdLCBpc0FzYyk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlKGE6IGFueSwgYjogYW55LCBpc0FzYzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgYSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIGIgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gKGEudG9Mb3dlckNhc2UoKSA8IGIudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICAgIH1cbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG4gIH1cblxuICBjcmVhdGVPYmplY3RGcm9tU2VsZWN0aW9uKCkge1xuICBjb25zdCBzZWxlY3RlZFJvd3MgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZDtcbiAgY29uc3Qgc2VsZWN0ZWRPYmplY3RzID0gc2VsZWN0ZWRSb3dzLm1hcChyb3cgPT4ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgIG9ialtjb2x1bW4ua2V5XSA9IHJvd1tjb2x1bW4ua2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gb2JqO1xuICB9KTtcbiAgdGhpcy5zZWxlY3RlZE9iamVjdHNDaGFuZ2UuZW1pdChzZWxlY3RlZE9iamVjdHMpO1xufVxuXG4gIGhhbmRsZVJvd0NsaWNrKGlkOiBzdHJpbmcsIHRlc3Q6IHN0cmluZykge1xuICAgIGNvbnNvbGUubG9nKHRlc3QpO1xuICAgIHRoaXMucm93Q2xpY2suZW1pdChpZCk7IFxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW4ge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgc29ydDogYm9vbGVhbjtcbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWJsZVwiPlxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zOyBsZXQgaXNGaXJzdCA9IGZpcnN0XCIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciAoY2xpY2spPVwic29ydERhdGEoY29sdW1uLmtleSlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiJGV2ZW50ID8gdG9nZ2xlQWxsUm93cygpIDogbnVsbFwiIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjcmVhdGVPYmplY3RGcm9tU2VsZWN0aW9uKClcIj5cbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucydcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgIDwvZGl2PiBcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBjcmVhdGVPYmplY3RGcm9tU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKHJvdykgOiBudWxsXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdhY3Rpb25zJ1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKHJvdywgJ2VkaXQnKVwiPmVkaXQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3csICdkZWxldGUnKVwiPmRlbGV0ZTwvbWF0LWljb24+ICAgICAgICAgIFxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJoYW5kbGVSb3dDbGljayhyb3csICd2aXNpYmlsaXR5JylcIj52aXNpYmlsaXR5PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZV9fY29sdW1uXCIgKGNsaWNrKT1cImhhbmRsZVJvd0NsaWNrKHJvdywgJycpXCI+XG4gICAgICAgICAge3sgcm93W2NvbHVtbi5rZXldIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgPC90YWJsZT5cblxuICA8bWF0LXBhZ2luYXRvciBjbGFzcz1cImN1c3RvbV9wYWdpbmF0b3JcIiBhcHBCdWJibGVQYWdpbmF0aW9uXG4gICAgW2FwcEN1c3RvbUxlbmd0aF09XCJkYXRhU291cmNlID8gZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA6IDBcIiBbbGVuZ3RoXT1cImRhdGFTb3VyY2UgPyBkYXRhU291cmNlLmRhdGEubGVuZ3RoIDogMFwiXG4gICAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDI1LCAxMDBdXCIgW3BhZ2VTaXplXT1cIjVcIiBhcmlhLWxhYmVsPVwiU2VsZWN0IHBhZ2VcIj48L21hdC1wYWdpbmF0b3I+XG48L2Rpdj4iXX0=