keevo-components 2.0.146 → 2.0.147
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +6 -17
- package/fesm2022/keevo-components.mjs +5 -16
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
- package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +1 -2
- package/lib/components/kv-icon/kv-icon.component.d.ts +1 -1
- package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +1 -1
- package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
- package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +2 -2
- package/package.json +1 -1
|
@@ -29,7 +29,7 @@ export class KvFilterCardsComponent {
|
|
|
29
29
|
this.onCardClick = output();
|
|
30
30
|
this.color = computed(() => (card) => {
|
|
31
31
|
const color = mapaSeverityColors[card.severity];
|
|
32
|
-
return color ? color : mapaSeverityColors.
|
|
32
|
+
return color ? color : mapaSeverityColors.tertiary;
|
|
33
33
|
});
|
|
34
34
|
this.mixedColor = computed(() => (card) => {
|
|
35
35
|
return this.getTransparentMix(this.color()(card));
|
|
@@ -68,29 +68,18 @@ export class KvFilterCardsComponent {
|
|
|
68
68
|
return 'var(--main-color)';
|
|
69
69
|
}
|
|
70
70
|
if (!this.selectedCardsTratado()?.includes(card)) {
|
|
71
|
-
return 'color-mix(in srgb, var(--mixed-color)
|
|
71
|
+
return 'color-mix(in srgb, var(--mixed-color) 40%, white 60%)';
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
|
-
return 'var(--
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
getColorIconPolygon(card) {
|
|
78
|
-
if (this.staticCards()) {
|
|
79
|
-
return 'white';
|
|
80
|
-
}
|
|
81
|
-
if (!this.selectedCardsTratado()?.includes(card)) {
|
|
82
|
-
return 'var(--main-color)';
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
return 'white';
|
|
74
|
+
return 'color-mix(in srgb, var(--mixed-color) 99%, white 1%)';
|
|
86
75
|
}
|
|
87
76
|
}
|
|
88
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterCardsComponent, selector: "kv-filter-cards", inputs: { cards: { classPropertyName: "cards", publicName: "cards", isSignal: true, isRequired: false, transformFunction: null }, staticCards: { classPropertyName: "staticCards", publicName: "staticCards", isSignal: true, isRequired: false, transformFunction: null }, cursorPointer: { classPropertyName: "cursorPointer", publicName: "cursorPointer", isSignal: true, isRequired: false, transformFunction: null }, selectedCards: { classPropertyName: "selectedCards", publicName: "selectedCards", isSignal: true, isRequired: false, transformFunction: null }, loadingCards: { classPropertyName: "loadingCards", publicName: "loadingCards", isSignal: true, isRequired: false, transformFunction: null }, wrapCards: { classPropertyName: "wrapCards", publicName: "wrapCards", isSignal: true, isRequired: false, transformFunction: null }, alignCardsCenter: { classPropertyName: "alignCardsCenter", publicName: "alignCardsCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedCards: "selectedCardsChange", onCardClick: "onCardClick" }, ngImport: i0, template: "<div
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterCardsComponent, selector: "kv-filter-cards", inputs: { cards: { classPropertyName: "cards", publicName: "cards", isSignal: true, isRequired: false, transformFunction: null }, staticCards: { classPropertyName: "staticCards", publicName: "staticCards", isSignal: true, isRequired: false, transformFunction: null }, cursorPointer: { classPropertyName: "cursorPointer", publicName: "cursorPointer", isSignal: true, isRequired: false, transformFunction: null }, selectedCards: { classPropertyName: "selectedCards", publicName: "selectedCards", isSignal: true, isRequired: false, transformFunction: null }, loadingCards: { classPropertyName: "loadingCards", publicName: "loadingCards", isSignal: true, isRequired: false, transformFunction: null }, wrapCards: { classPropertyName: "wrapCards", publicName: "wrapCards", isSignal: true, isRequired: false, transformFunction: null }, alignCardsCenter: { classPropertyName: "alignCardsCenter", publicName: "alignCardsCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedCards: "selectedCardsChange", onCardClick: "onCardClick" }, ngImport: i0, template: "<div\r\n id=\"filter-card-container\"\r\n class=\"flex flex-row w-full justify-content-between\"\r\n>\r\n <div\r\n class=\"flex p-fluid formgrid w-full gap-2 overflow-y-hidden\"\r\n [ngClass]=\"[\r\n wrapCards() ? 'flex-wrap' : 'flex-nowrap overflow-x-auto',\r\n alignCardsCenter() ? 'justify-content-center' : 'justify-content-start'\r\n ]\"\r\n #filterCardsContainer\r\n >\r\n @for (card of cards(); track card.id) {\r\n\r\n <div\r\n (click)=\"handleCardClick(card)\"\r\n [style.--main-color]=\"color()(card)\"\r\n [style.--mixed-color]=\"mixedColor()(card)\"\r\n class=\"filter-card\"\r\n [ngClass]=\"[\r\n 'filter-card-size',\r\n verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-active'\r\n : 'clickable',\r\n staticCards() ? 'filter-card-active' : '',\r\n !staticCards() && !verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-hover'\r\n : '',\r\n cursorPointer() ? 'cursor-pointer' : ''\r\n ]\"\r\n >\r\n <div class=\"filter-card-content\">\r\n <div class=\"filter-card-title\">\r\n <div class=\"flex flex-column\">\r\n <div\r\n style=\"font-weight: semibold; font-size: 0.75em\"\r\n [style.color]=\"color()(card)\"\r\n >\r\n {{ card?.titulo }}\r\n </div>\r\n\r\n <div class=\"h-1rem\">\r\n @if(loadingCards()){\r\n\r\n <span class=\"loading-spinner\"></span>\r\n\r\n } @else {\r\n\r\n <span\r\n class=\"flex align-items-center\"\r\n [style.color]=\"color()(card)\"\r\n style=\"font-size: 0.825em; font-weight: 600\"\r\n >\r\n {{ card.valor | kvFilterCardsFormatter : card.formato }}\r\n </span>\r\n\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (card.icon) {\r\n\r\n <div class=\"hex-icon-svg\">\r\n <!-- <svg style=\"overflow: visible\" viewBox=\"0 0 100 100\" class=\"hex-bg\">\r\n <polygon\r\n [attr.fill]=\"getColorFillPolygon(card)\"\r\n points=\"93.3 75,50 100,6.7 75,6.7 25,50 0,93.3 25\"\r\n stroke=\"var(--main-color)\"\r\n stroke-width=\"3\"\r\n stroke-linejoin=\"round\"\r\n stroke-linecap=\"round\"\r\n opacity=\"0.8\"\r\n />\r\n </svg> -->\r\n\r\n <div class=\"flex align-items-center justify-content-center p-2 border-round-lg transition-all transition-duration-300\" \r\n [style.backgroundColor]=\"getColorFillPolygon(card)\">\r\n <span\r\n [style.color]=\"'var(--main-color)'\"\r\n class=\"material-symbols-outlined icon\"\r\n >\r\n {{ card?.icon }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.card,.card-disabled,.filter-card-active{transition:border .3s ease,background-color .3s ease;border:1px solid #cbd5e1}.filter-card{cursor:pointer;transition:all ease-in-out .2s;border:1px solid #cbd5e1;border-radius:.5rem;-webkit-user-select:none;user-select:none}.filter-card-hover:hover{background:#f8fafc;transition:border .3s ease,background-color .3s ease;border:var(--main-color) .5px solid}.filter-card-hover:active{background:#f8fafc;border:var(--main-color) .5px solid}.filter-card-active{border:var(--main-color) .5px solid;background-color:color-mix(in srgb,var(--mixed-color) 10%,white 90%)}p{font-size:.75rem}.select-none{-webkit-user-select:none;user-select:none}.filter-card-content{display:flex;flex-direction:row;align-items:center;padding:.5rem;gap:.5rem}.filter-card-title{flex:1 1 0%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.hex-icon-svg{position:relative;width:1.75rem;height:1.75rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.icon{font-weight:500!important;font-size:.75em!important}div.filter-card-hover:hover .hex-icon-svg>svg>polygon{fill:var(--mixed-color)}polygon{transition:all ease-in-out .25s}#filter-card-container{container:filter-card-container/inline-size}.filter-card-size{flex:1 1 auto;padding:0 .25rem;box-sizing:border-box}@container filter-card-container (min-width: 360px){.filter-card-size{width:50%}}@container filter-card-container (min-width: 600px){.filter-card-size{width:33.3333%}}@container filter-card-container (min-width: 900px){.filter-card-size{width:25%}}@container filter-card-container (min-width: 1200px){.filter-card-size{width:16.6667%}}@container filter-card-container (min-width: 1500px){.filter-card-size{width:14.2857%}}@media (min-width: 360px){.filter-card-size{width:50%}}@media (min-width: 600px){.filter-card-size{width:33.3333%}}@media (min-width: 900px){.filter-card-size{width:25%}}@media (min-width: 1200px){.filter-card-size{width:16.6667%}}@media (min-width: 1500px){.filter-card-size{width:14.2857%}}.flex-nowrap.overflow-x-auto{overflow-x:auto;scrollbar-width:thin}.flex-wrap .filter-card-size{flex:1 1 auto}.loading-spinner{width:.85rem;height:.85rem;border:2px solid var(--main-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation .8s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.KvFilterCardsFormatterPipe, name: "kvFilterCardsFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
90
79
|
}
|
|
91
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsComponent, decorators: [{
|
|
92
81
|
type: Component,
|
|
93
|
-
args: [{ selector: 'kv-filter-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div
|
|
82
|
+
args: [{ selector: 'kv-filter-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n id=\"filter-card-container\"\r\n class=\"flex flex-row w-full justify-content-between\"\r\n>\r\n <div\r\n class=\"flex p-fluid formgrid w-full gap-2 overflow-y-hidden\"\r\n [ngClass]=\"[\r\n wrapCards() ? 'flex-wrap' : 'flex-nowrap overflow-x-auto',\r\n alignCardsCenter() ? 'justify-content-center' : 'justify-content-start'\r\n ]\"\r\n #filterCardsContainer\r\n >\r\n @for (card of cards(); track card.id) {\r\n\r\n <div\r\n (click)=\"handleCardClick(card)\"\r\n [style.--main-color]=\"color()(card)\"\r\n [style.--mixed-color]=\"mixedColor()(card)\"\r\n class=\"filter-card\"\r\n [ngClass]=\"[\r\n 'filter-card-size',\r\n verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-active'\r\n : 'clickable',\r\n staticCards() ? 'filter-card-active' : '',\r\n !staticCards() && !verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-hover'\r\n : '',\r\n cursorPointer() ? 'cursor-pointer' : ''\r\n ]\"\r\n >\r\n <div class=\"filter-card-content\">\r\n <div class=\"filter-card-title\">\r\n <div class=\"flex flex-column\">\r\n <div\r\n style=\"font-weight: semibold; font-size: 0.75em\"\r\n [style.color]=\"color()(card)\"\r\n >\r\n {{ card?.titulo }}\r\n </div>\r\n\r\n <div class=\"h-1rem\">\r\n @if(loadingCards()){\r\n\r\n <span class=\"loading-spinner\"></span>\r\n\r\n } @else {\r\n\r\n <span\r\n class=\"flex align-items-center\"\r\n [style.color]=\"color()(card)\"\r\n style=\"font-size: 0.825em; font-weight: 600\"\r\n >\r\n {{ card.valor | kvFilterCardsFormatter : card.formato }}\r\n </span>\r\n\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (card.icon) {\r\n\r\n <div class=\"hex-icon-svg\">\r\n <!-- <svg style=\"overflow: visible\" viewBox=\"0 0 100 100\" class=\"hex-bg\">\r\n <polygon\r\n [attr.fill]=\"getColorFillPolygon(card)\"\r\n points=\"93.3 75,50 100,6.7 75,6.7 25,50 0,93.3 25\"\r\n stroke=\"var(--main-color)\"\r\n stroke-width=\"3\"\r\n stroke-linejoin=\"round\"\r\n stroke-linecap=\"round\"\r\n opacity=\"0.8\"\r\n />\r\n </svg> -->\r\n\r\n <div class=\"flex align-items-center justify-content-center p-2 border-round-lg transition-all transition-duration-300\" \r\n [style.backgroundColor]=\"getColorFillPolygon(card)\">\r\n <span\r\n [style.color]=\"'var(--main-color)'\"\r\n class=\"material-symbols-outlined icon\"\r\n >\r\n {{ card?.icon }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.card,.card-disabled,.filter-card-active{transition:border .3s ease,background-color .3s ease;border:1px solid #cbd5e1}.filter-card{cursor:pointer;transition:all ease-in-out .2s;border:1px solid #cbd5e1;border-radius:.5rem;-webkit-user-select:none;user-select:none}.filter-card-hover:hover{background:#f8fafc;transition:border .3s ease,background-color .3s ease;border:var(--main-color) .5px solid}.filter-card-hover:active{background:#f8fafc;border:var(--main-color) .5px solid}.filter-card-active{border:var(--main-color) .5px solid;background-color:color-mix(in srgb,var(--mixed-color) 10%,white 90%)}p{font-size:.75rem}.select-none{-webkit-user-select:none;user-select:none}.filter-card-content{display:flex;flex-direction:row;align-items:center;padding:.5rem;gap:.5rem}.filter-card-title{flex:1 1 0%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.hex-icon-svg{position:relative;width:1.75rem;height:1.75rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.icon{font-weight:500!important;font-size:.75em!important}div.filter-card-hover:hover .hex-icon-svg>svg>polygon{fill:var(--mixed-color)}polygon{transition:all ease-in-out .25s}#filter-card-container{container:filter-card-container/inline-size}.filter-card-size{flex:1 1 auto;padding:0 .25rem;box-sizing:border-box}@container filter-card-container (min-width: 360px){.filter-card-size{width:50%}}@container filter-card-container (min-width: 600px){.filter-card-size{width:33.3333%}}@container filter-card-container (min-width: 900px){.filter-card-size{width:25%}}@container filter-card-container (min-width: 1200px){.filter-card-size{width:16.6667%}}@container filter-card-container (min-width: 1500px){.filter-card-size{width:14.2857%}}@media (min-width: 360px){.filter-card-size{width:50%}}@media (min-width: 600px){.filter-card-size{width:33.3333%}}@media (min-width: 900px){.filter-card-size{width:25%}}@media (min-width: 1200px){.filter-card-size{width:16.6667%}}@media (min-width: 1500px){.filter-card-size{width:14.2857%}}.flex-nowrap.overflow-x-auto{overflow-x:auto;scrollbar-width:thin}.flex-wrap .filter-card-size{flex:1 1 auto}.loading-spinner{width:.85rem;height:.85rem;border:2px solid var(--main-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation .8s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
94
83
|
}] });
|
|
95
84
|
export const mapaSeverityColors = {
|
|
96
85
|
primary: '#0A8765', // Verde
|
|
@@ -100,4 +89,4 @@ export const mapaSeverityColors = {
|
|
|
100
89
|
warning: '#E1963D', // Amarelo
|
|
101
90
|
danger: '#B91C1C', // Laranja
|
|
102
91
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWNhcmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmRzL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzRyxNQUFNLE9BQU8sc0JBQXNCO0lBTm5DO1FBUUUsb0VBQW9FO1FBQ3BFLFVBQUssR0FBRyxLQUFLLEVBQXdCLENBQUE7UUFFckMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFcEMsa0JBQWEsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFHckMsa0JBQWEsR0FBRyxLQUFLLENBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBRTNELHlCQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUVqQyxJQUFJLENBQUMsaUJBQWlCLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxFQUFFLENBQUM7WUFFcEUsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVB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a0JBQWtCLEdBQStCO0lBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUssUUFBUTtJQUMvQixTQUFTLEVBQUUsU0FBUyxFQUFHLGNBQWM7SUFDckMsUUFBUSxFQUFFLFNBQVMsRUFBSSxRQUFRO0lBQy9CLElBQUksRUFBRSxTQUFTLEVBQVEsYUFBYTtJQUNwQyxPQUFPLEVBQUUsU0FBUyxFQUFLLFVBQVU7SUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBTSxVQUFVO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG1vZGVsLCBvdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1maWx0ZXItY2FyZHMnLFxyXG4gIHRlbXBsYXRlVXJsOiBgLi9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50Lmh0bWxgLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZGaWx0ZXJDYXJkc0NvbXBvbmVudCB7XHJcblxyXG4gIC8vIExpc3RhIGRlIGNhcmRzIGRlIGZpbHRybywgY2FkYSB1bSBjb20gdW0gw61jb25lIGUgdmFsb3IgZXNwZWPDrWZpY29cclxuICBjYXJkcyA9IGlucHV0PEt2RmlsdGVyQ2FyZENvbmZpZ1tdPigpXHJcblxyXG4gIHN0YXRpY0NhcmRzID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBjdXJzb3JQb2ludGVyID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblxyXG5cclxuICBzZWxlY3RlZENhcmRzID0gbW9kZWw8S3ZGaWx0ZXJDYXJkQ29uZmlnW10gfCBudW1iZXJbXT4oW10pO1xyXG5cclxuICBzZWxlY3RlZENhcmRzVHJhdGFkbyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGNhcmRzU2VsZWNpb25hZG9zID0gdGhpcy5zZWxlY3RlZENhcmRzKCk7XHJcbiAgICBjb25zdCBjYXJkcyA9IHRoaXMuY2FyZHMoKSA/PyBbXTtcclxuXHJcbiAgICBpZiAoIWNhcmRzU2VsZWNpb25hZG9zIHx8IGNhcmRzU2VsZWNpb25hZG9zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdO1xyXG5cclxuICAgIC8vIFNlIGZvciBhcnJheSBkZSBudW1iZXIsIGNvbnZlcnRlXHJcbiAgICBpZiAodHlwZW9mIGNhcmRzU2VsZWNpb25hZG9zWzBdID09PSAnbnVtYmVyJykge1xyXG4gICAgICByZXR1cm4gY2FyZHMuZmlsdGVyKGMgPT4gKGNhcmRzU2VsZWNpb25hZG9zIGFzIG51bWJlcltdKS5pbmNsdWRlcyhjLmlkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSsOhIMOpIGFycmF5IGRlIG9iamV0b1xyXG4gICAgcmV0dXJuIGNhcmRzU2VsZWNpb25hZG9zIGFzIEt2RmlsdGVyQ2FyZENvbmZpZ1tdO1xyXG4gIH0pO1xyXG5cclxuXHJcblxyXG5cclxuICBsb2FkaW5nQ2FyZHMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIC8vIERlZmluZSBzZSBvcyBjYXJkcyBkZXZlbSBzZXIgZXhpYmlkb3MgZW0gdW1hIGxpbmhhIG91IGNvbHVuYVxyXG4gIHdyYXBDYXJkcyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLy8gRGVmaW5lIHNlIG9zIGNhcmRzIGRldmVtIHNlciBjZW50cmFsaXphZG9zXHJcbiAgYWxpZ25DYXJkc0NlbnRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgb25DYXJkQ2xpY2sgPSBvdXRwdXQ8S3ZGaWx0ZXJDYXJkQ29uZmlnPigpO1xyXG5cclxuICBjb2xvciA9IGNvbXB1dGVkKCgpID0+IChjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpID0+IHtcclxuICAgIGNvbnN0IGNvbG9yID0gbWFwYVNldmVyaXR5Q29sb3JzW2NhcmQuc2V2ZXJpdHldO1xyXG4gICAgcmV0dXJuIGNvbG9yID8gY29sb3IgOiBtYXBhU2V2ZXJpdHlDb2xvcnMucHJpbWFyeTtcclxuICB9KTtcclxuXHJcbiAgbWl4ZWRDb2xvciA9IGNvbXB1dGVkKCgpID0+IChjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zcGFyZW50TWl4KHRoaXMuY29sb3IoKShjYXJkKSlcclxuICB9KTtcclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNwYXJlbnRNaXgoYmFzZUhleDogc3RyaW5nLCBvcGFjaXR5OiBudW1iZXIgPSAwLjMpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGJhc2VIZXguc2xpY2UoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcgPSBwYXJzZUludChiYXNlSGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoYmFzZUhleC5zbGljZSg1LCA3KSwgMTYpO1xyXG4gICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7b3BhY2l0eX0pYDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgaGFuZGxlQ2FyZENsaWNrKGNhcmQ6IEt2RmlsdGVyQ2FyZENvbmZpZykge1xyXG4gICAgdGhpcy5vbkNhcmRDbGljay5lbWl0KGNhcmQpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRDYXJkcy51cGRhdGUoKHJhdykgPT4ge1xyXG4gICAgICBsZXQgc2VsZWN0ZWQ6IEt2RmlsdGVyQ2FyZENvbmZpZ1tdO1xyXG5cclxuICAgICAgLy8gU2UgdmllciBjb21vIG51bWJlcltdLCBjb252ZXJ0ZXIgdXNhbmRvIHRoaXMuY2FyZHMoKVxyXG4gICAgICBpZiAodHlwZW9mIHJhd1swXSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICBjb25zdCBhbGxDYXJkcyA9IHRoaXMuY2FyZHMoKSA/PyBbXTtcclxuICAgICAgICBzZWxlY3RlZCA9IGFsbENhcmRzLmZpbHRlcihjID0+IChyYXcgYXMgbnVtYmVyW10pLmluY2x1ZGVzKGMuaWQpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWxlY3RlZCA9IHJhdyBhcyBLdkZpbHRlckNhcmRDb25maWdbXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZXhpc3RzID0gc2VsZWN0ZWQuc29tZShjID0+IGMuaWQgPT09IGNhcmQuaWQpO1xyXG4gICAgICBjb25zdCB1cGRhdGVkID0gZXhpc3RzXHJcbiAgICAgICAgPyBzZWxlY3RlZC5maWx0ZXIoYyA9PiBjLmlkICE9PSBjYXJkLmlkKVxyXG4gICAgICAgIDogWy4uLnNlbGVjdGVkLCBjYXJkXTtcclxuXHJcbiAgICAgIHJldHVybiB1cGRhdGVkO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHZlcmlmaWNhclNlQ2FyZEVzdGFTZWxlY2lvbmFkbyhjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2FyZHNUcmF0YWRvKCk/LmZpbmQoYyA9PiBjLmlkID09PSBjYXJkLmlkKSAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3JGaWxsUG9seWdvbihjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpOiBzdHJpbmcge1xyXG5cclxuICAgIGlmICh0aGlzLnN0YXRpY0NhcmRzKCkpIHtcclxuICAgICAgcmV0dXJuICd2YXIoLS1tYWluLWNvbG9yKSc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ2FyZHNUcmF0YWRvKCk/LmluY2x1ZGVzKGNhcmQpKSB7XHJcbiAgICAgIHJldHVybiAnY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1peGVkLWNvbG9yKSAyMCUsIHdoaXRlIDgwJSknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICd2YXIoLS1tYWluLWNvbG9yKSc7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGdldENvbG9ySWNvblBvbHlnb24oY2FyZDogS3ZGaWx0ZXJDYXJkQ29uZmlnKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLnN0YXRpY0NhcmRzKCkpIHtcclxuICAgICAgcmV0dXJuICd3aGl0ZSc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ2FyZHNUcmF0YWRvKCk/LmluY2x1ZGVzKGNhcmQpKSB7XHJcbiAgICAgIHJldHVybiAndmFyKC0tbWFpbi1jb2xvciknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICd3aGl0ZSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEt2U2V2ZXJpdHkgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICd0ZXJ0aWFyeScgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcclxuXHJcbmV4cG9ydCBjb25zdCBtYXBhU2V2ZXJpdHlDb2xvcnM6IFJlY29yZDxLdlNldmVyaXR5LCBzdHJpbmc+ID0ge1xyXG4gIHByaW1hcnk6ICcjMEE4NzY1JywgICAgLy8gVmVyZGVcclxuICBzZWNvbmRhcnk6ICcjMEEzQTc4JywgIC8vIEF6dWwgZXNjdXJvXHJcbiAgdGVydGlhcnk6ICcjNzc4NTk5JywgICAvLyBDaW56YVxyXG4gIGluZm86ICcjMDA5MUMyJywgICAgICAgLy8gQXp1bCBjbGFyb1xyXG4gIHdhcm5pbmc6ICcjRTE5NjNEJywgICAgLy8gQW1hcmVsb1xyXG4gIGRhbmdlcjogJyNCOTFDMUMnLCAgICAgLy8gTGFyYW5qYVxyXG59O1xyXG5cclxuXHJcblxyXG5leHBvcnQgdHlwZSBLdkZpbHRlckNhcmRGb3JtYXRvID0gJ2ludCcgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnIHwgJ2RlY2ltYWwnIHwgJ3RleHQnIHwgJ2RhdGUnO1xyXG5leHBvcnQgdHlwZSBLdkZpbHRlckNhcmRDb25maWcgPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBzZXZlcml0eTogS3ZTZXZlcml0eTtcclxuICB0aXR1bG86IHN0cmluZztcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgdmFsb3I/OiBudW1iZXIgfCBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsO1xyXG4gIGZvcm1hdG8/OiBLdkZpbHRlckNhcmRGb3JtYXRvO1xyXG5cclxufSIsIjxkaXYgXHJcbiAgaWQ9XCJmaWx0ZXItY2FyZC1jb250YWluZXJcIiBcclxuICBjbGFzcz1cImZsZXggZmxleC1yb3cgdy1mdWxsIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcclxuPlxyXG4gIDxkaXYgXHJcbiAgICBjbGFzcz1cImZsZXggcC1mbHVpZCBmb3JtZ3JpZCB3LWZ1bGwgZ2FwLTIgb3ZlcmZsb3cteS1oaWRkZW5cIiBcclxuICAgIFtuZ0NsYXNzXT1cIltcclxuICAgICAgICB3cmFwQ2FyZHMoKSA/ICdmbGV4LXdyYXAnIDogJ2ZsZXgtbm93cmFwIG92ZXJmbG93LXgtYXV0bycsXHJcbiAgICAgICAgYWxpZ25DYXJkc0NlbnRlcigpID8gJ2p1c3RpZnktY29udGVudC1jZW50ZXInIDogJ2p1c3RpZnktY29udGVudC1zdGFydCcgICAgXHJcbiAgICBdXCIgXHJcbiAgICAjZmlsdGVyQ2FyZHNDb250YWluZXJcclxuICA+XHJcblxyXG4gICAgQGZvciAoY2FyZCBvZiBjYXJkcygpOyB0cmFjayBjYXJkLmlkKSB7XHJcbiAgICBcclxuICAgICAgPGRpdiBcclxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2FyZENsaWNrKGNhcmQpXCIgXHJcbiAgICAgICAgW3N0eWxlLi0tbWFpbi1jb2xvcl09XCJjb2xvcigpKGNhcmQpXCIgXHJcbiAgICAgICAgW3N0eWxlLi0tbWl4ZWQtY29sb3JdPVwibWl4ZWRDb2xvcigpKGNhcmQpXCJcclxuICAgICAgICBjbGFzcz1cImZpbHRlci1jYXJkXCIgXHJcblxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIltcclxuICAgICAgICAgICAgJ2ZpbHRlci1jYXJkLXNpemUnLFxyXG4gICAgICAgICAgICB2ZXJpZmljYXJTZUNhcmRFc3RhU2VsZWNpb25hZG8oY2FyZCkgID8gJ2ZpbHRlci1jYXJkLWFjdGl2ZScgOiAnY2xpY2thYmxlJyxcclxuICAgICAgICAgICAgc3RhdGljQ2FyZHMoKSA/ICdmaWx0ZXItY2FyZC1hY3RpdmUnIDogJycsXHJcbiAgICAgICAgICAgICFzdGF0aWNDYXJkcygpICYmICF2ZXJpZmljYXJTZUNhcmRFc3RhU2VsZWNpb25hZG8oY2FyZCkgPyAnZmlsdGVyLWNhcmQtaG92ZXInIDogJycsXHJcbiAgICAgICAgICAgIGN1cnNvclBvaW50ZXIoKSA/ICdjdXJzb3ItcG9pbnRlcicgOiAnJyxcclxuXHJcbiAgICAgICAgXVwiXHJcbiAgICAgID5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZC1jb250ZW50XCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZC10aXRsZVwiPlxyXG5cclxuICAgICAgICAgIEBpZiAoY2FyZC5pY29uKSB7XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhleC1pY29uLXN2Z1wiPlxyXG4gICAgICAgICAgICA8c3ZnIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGU7XCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCIgY2xhc3M9XCJoZXgtYmdcIj5cclxuICAgICAgICAgICAgICA8cG9seWdvblxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZmlsbF09XCJnZXRDb2xvckZpbGxQb2x5Z29uKGNhcmQpXCJcclxuICAgICAgICAgICAgICAgIHBvaW50cz1cIjkzLjMgNzUsNTAgMTAwLDYuNyA3NSw2LjcgMjUsNTAgMCw5My4zIDI1XCIgXHJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCJ2YXIoLS1tYWluLWNvbG9yKVwiIFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIFxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eT1cIjAuOFwiIFxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmNvbG9yXT1cImdldENvbG9ySWNvblBvbHlnb24oY2FyZClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uXCI+XHJcbiAgICAgICAgICAgICAge3sgY2FyZD8uaWNvbiB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAuODI1ZW07XCIgW3N0eWxlLmNvbG9yXT1cImNvbG9yKCkoY2FyZClcIj57eyBjYXJkPy50aXR1bG8gfX08L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIEBpZihsb2FkaW5nQ2FyZHMoKSl7XHJcblxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2FkaW5nLXNwaW5uZXJcIj48L3NwYW4+XHJcblxyXG4gICAgICAgIH1AZWxzZSB7XHJcblxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIFtzdHlsZS5jb2xvcl09XCJjb2xvcigpKGNhcmQpXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDFlbTsgZm9udC13ZWlnaHQ6IDUwMDsgbWluLWhlaWdodDogMS43NXJlbVwiPlxyXG4gICAgICAgICAgICB7eyBjYXJkLnZhbG9yIHwga3ZGaWx0ZXJDYXJkc0Zvcm1hdHRlcjpjYXJkLmZvcm1hdG99fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtZmlsdGVyLWNhcmRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWZpbHRlci1jYXJkcy9rdi1maWx0ZXItY2FyZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtZmlsdGVyLWNhcmRzL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzRyxNQUFNLE9BQU8sc0JBQXNCO0lBTm5DO1FBUUUsb0VBQW9FO1FBQ3BFLFVBQUssR0FBRyxLQUFLLEVBQXdCLENBQUE7UUFFckMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFcEMsa0JBQWEsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFHckMsa0JBQWEsR0FBRyxLQUFLLENBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBRTNELHlCQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUVqQyxJQUFJLENBQUMsaUJBQWlCLElBQUksaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxFQUFFLENBQUM7WUFFcEUsbUNBQW1DO1lBQ25DLElBQUksT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVB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bk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgbW9kZWwsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LWZpbHRlci1jYXJkcycsXHJcbiAgdGVtcGxhdGVVcmw6IGAuL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuaHRtbGAsXHJcbiAgc3R5bGVVcmw6ICcuL2t2LWZpbHRlci1jYXJkcy5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkZpbHRlckNhcmRzQ29tcG9uZW50IHtcclxuXHJcbiAgLy8gTGlzdGEgZGUgY2FyZHMgZGUgZmlsdHJvLCBjYWRhIHVtIGNvbSB1bSDDrWNvbmUgZSB2YWxvciBlc3BlY8OtZmljb1xyXG4gIGNhcmRzID0gaW5wdXQ8S3ZGaWx0ZXJDYXJkQ29uZmlnW10+KClcclxuXHJcbiAgc3RhdGljQ2FyZHMgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIGN1cnNvclBvaW50ZXIgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHJcblxyXG4gIHNlbGVjdGVkQ2FyZHMgPSBtb2RlbDxLdkZpbHRlckNhcmRDb25maWdbXSB8IG51bWJlcltdPihbXSk7XHJcblxyXG4gIHNlbGVjdGVkQ2FyZHNUcmF0YWRvID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3QgY2FyZHNTZWxlY2lvbmFkb3MgPSB0aGlzLnNlbGVjdGVkQ2FyZHMoKTtcclxuICAgIGNvbnN0IGNhcmRzID0gdGhpcy5jYXJkcygpID8/IFtdO1xyXG5cclxuICAgIGlmICghY2FyZHNTZWxlY2lvbmFkb3MgfHwgY2FyZHNTZWxlY2lvbmFkb3MubGVuZ3RoID09PSAwKSByZXR1cm4gW107XHJcblxyXG4gICAgLy8gU2UgZm9yIGFycmF5IGRlIG51bWJlciwgY29udmVydGVcclxuICAgIGlmICh0eXBlb2YgY2FyZHNTZWxlY2lvbmFkb3NbMF0gPT09ICdudW1iZXInKSB7XHJcbiAgICAgIHJldHVybiBjYXJkcy5maWx0ZXIoYyA9PiAoY2FyZHNTZWxlY2lvbmFkb3MgYXMgbnVtYmVyW10pLmluY2x1ZGVzKGMuaWQpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBKw6Egw6kgYXJyYXkgZGUgb2JqZXRvXHJcbiAgICByZXR1cm4gY2FyZHNTZWxlY2lvbmFkb3MgYXMgS3ZGaWx0ZXJDYXJkQ29uZmlnW107XHJcbiAgfSk7XHJcblxyXG5cclxuXHJcblxyXG4gIGxvYWRpbmdDYXJkcyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLy8gRGVmaW5lIHNlIG9zIGNhcmRzIGRldmVtIHNlciBleGliaWRvcyBlbSB1bWEgbGluaGEgb3UgY29sdW5hXHJcbiAgd3JhcENhcmRzID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvLyBEZWZpbmUgc2Ugb3MgY2FyZHMgZGV2ZW0gc2VyIGNlbnRyYWxpemFkb3NcclxuICBhbGlnbkNhcmRzQ2VudGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICBvbkNhcmRDbGljayA9IG91dHB1dDxLdkZpbHRlckNhcmRDb25maWc+KCk7XHJcblxyXG4gIGNvbG9yID0gY29tcHV0ZWQoKCkgPT4gKGNhcmQ6IEt2RmlsdGVyQ2FyZENvbmZpZykgPT4ge1xyXG4gICAgY29uc3QgY29sb3IgPSBtYXBhU2V2ZXJpdHlDb2xvcnNbY2FyZC5zZXZlcml0eV07XHJcbiAgICByZXR1cm4gY29sb3IgPyBjb2xvciA6IG1hcGFTZXZlcml0eUNvbG9ycy50ZXJ0aWFyeTtcclxuICB9KTtcclxuXHJcbiAgbWl4ZWRDb2xvciA9IGNvbXB1dGVkKCgpID0+IChjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpID0+IHtcclxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zcGFyZW50TWl4KHRoaXMuY29sb3IoKShjYXJkKSlcclxuICB9KTtcclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNwYXJlbnRNaXgoYmFzZUhleDogc3RyaW5nLCBvcGFjaXR5OiBudW1iZXIgPSAwLjMpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGJhc2VIZXguc2xpY2UoMSwgMyksIDE2KTtcclxuICAgIGNvbnN0IGcgPSBwYXJzZUludChiYXNlSGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoYmFzZUhleC5zbGljZSg1LCA3KSwgMTYpO1xyXG4gICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7b3BhY2l0eX0pYDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgaGFuZGxlQ2FyZENsaWNrKGNhcmQ6IEt2RmlsdGVyQ2FyZENvbmZpZykge1xyXG4gICAgdGhpcy5vbkNhcmRDbGljay5lbWl0KGNhcmQpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRDYXJkcy51cGRhdGUoKHJhdykgPT4ge1xyXG4gICAgICBsZXQgc2VsZWN0ZWQ6IEt2RmlsdGVyQ2FyZENvbmZpZ1tdO1xyXG5cclxuICAgICAgLy8gU2UgdmllciBjb21vIG51bWJlcltdLCBjb252ZXJ0ZXIgdXNhbmRvIHRoaXMuY2FyZHMoKVxyXG4gICAgICBpZiAodHlwZW9mIHJhd1swXSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICBjb25zdCBhbGxDYXJkcyA9IHRoaXMuY2FyZHMoKSA/PyBbXTtcclxuICAgICAgICBzZWxlY3RlZCA9IGFsbENhcmRzLmZpbHRlcihjID0+IChyYXcgYXMgbnVtYmVyW10pLmluY2x1ZGVzKGMuaWQpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWxlY3RlZCA9IHJhdyBhcyBLdkZpbHRlckNhcmRDb25maWdbXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgZXhpc3RzID0gc2VsZWN0ZWQuc29tZShjID0+IGMuaWQgPT09IGNhcmQuaWQpO1xyXG4gICAgICBjb25zdCB1cGRhdGVkID0gZXhpc3RzXHJcbiAgICAgICAgPyBzZWxlY3RlZC5maWx0ZXIoYyA9PiBjLmlkICE9PSBjYXJkLmlkKVxyXG4gICAgICAgIDogWy4uLnNlbGVjdGVkLCBjYXJkXTtcclxuXHJcbiAgICAgIHJldHVybiB1cGRhdGVkO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHZlcmlmaWNhclNlQ2FyZEVzdGFTZWxlY2lvbmFkbyhjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2FyZHNUcmF0YWRvKCk/LmZpbmQoYyA9PiBjLmlkID09PSBjYXJkLmlkKSAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3JGaWxsUG9seWdvbihjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpOiBzdHJpbmcge1xyXG5cclxuICAgIGlmICh0aGlzLnN0YXRpY0NhcmRzKCkpIHtcclxuICAgICAgcmV0dXJuICd2YXIoLS1tYWluLWNvbG9yKSc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkQ2FyZHNUcmF0YWRvKCk/LmluY2x1ZGVzKGNhcmQpKSB7XHJcbiAgICAgIHJldHVybiAnY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1peGVkLWNvbG9yKSA0MCUsIHdoaXRlIDYwJSknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWl4ZWQtY29sb3IpIDk5JSwgd2hpdGUgMSUpJztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gZ2V0Q29sb3JJY29uUG9seWdvbihjYXJkOiBLdkZpbHRlckNhcmRDb25maWcpOiBzdHJpbmcge1xyXG4gIC8vICAgaWYgKHRoaXMuc3RhdGljQ2FyZHMoKSkge1xyXG4gIC8vICAgICByZXR1cm4gJ3doaXRlJztcclxuICAvLyAgIH1cclxuXHJcbiAgLy8gICBpZiAoIXRoaXMuc2VsZWN0ZWRDYXJkc1RyYXRhZG8oKT8uaW5jbHVkZXMoY2FyZCkpIHtcclxuICAvLyAgICAgcmV0dXJuICd2YXIoLS1tYWluLWNvbG9yKSc7XHJcbiAgLy8gICB9IGVsc2Uge1xyXG4gIC8vICAgICByZXR1cm4gJ3doaXRlJztcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG59XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgS3ZTZXZlcml0eSA9ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3RlcnRpYXJ5JyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1hcGFTZXZlcml0eUNvbG9yczogUmVjb3JkPEt2U2V2ZXJpdHksIHN0cmluZz4gPSB7XHJcbiAgcHJpbWFyeTogJyMwQTg3NjUnLCAgICAvLyBWZXJkZVxyXG4gIHNlY29uZGFyeTogJyMwQTNBNzgnLCAgLy8gQXp1bCBlc2N1cm9cclxuICB0ZXJ0aWFyeTogJyM3Nzg1OTknLCAgIC8vIENpbnphXHJcbiAgaW5mbzogJyMwMDkxQzInLCAgICAgICAvLyBBenVsIGNsYXJvXHJcbiAgd2FybmluZzogJyNFMTk2M0QnLCAgICAvLyBBbWFyZWxvXHJcbiAgZGFuZ2VyOiAnI0I5MUMxQycsICAgICAvLyBMYXJhbmphXHJcbn07XHJcblxyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEt2RmlsdGVyQ2FyZEZvcm1hdG8gPSAnaW50JyB8ICdjdXJyZW5jeScgfCAncGVyY2VudCcgfCAnZGVjaW1hbCcgfCAndGV4dCcgfCAnZGF0ZSc7XHJcbmV4cG9ydCB0eXBlIEt2RmlsdGVyQ2FyZENvbmZpZyA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIHNldmVyaXR5OiBLdlNldmVyaXR5O1xyXG4gIHRpdHVsbzogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZztcclxuICB2YWxvcj86IG51bWJlciB8IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGw7XHJcbiAgZm9ybWF0bz86IEt2RmlsdGVyQ2FyZEZvcm1hdG87XHJcblxyXG59IiwiPGRpdlxyXG4gIGlkPVwiZmlsdGVyLWNhcmQtY29udGFpbmVyXCJcclxuICBjbGFzcz1cImZsZXggZmxleC1yb3cgdy1mdWxsIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiZmxleCBwLWZsdWlkIGZvcm1ncmlkIHctZnVsbCBnYXAtMiBvdmVyZmxvdy15LWhpZGRlblwiXHJcbiAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgIHdyYXBDYXJkcygpID8gJ2ZsZXgtd3JhcCcgOiAnZmxleC1ub3dyYXAgb3ZlcmZsb3cteC1hdXRvJyxcclxuICAgICAgYWxpZ25DYXJkc0NlbnRlcigpID8gJ2p1c3RpZnktY29udGVudC1jZW50ZXInIDogJ2p1c3RpZnktY29udGVudC1zdGFydCdcclxuICAgIF1cIlxyXG4gICAgI2ZpbHRlckNhcmRzQ29udGFpbmVyXHJcbiAgPlxyXG4gICAgQGZvciAoY2FyZCBvZiBjYXJkcygpOyB0cmFjayBjYXJkLmlkKSB7XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2FyZENsaWNrKGNhcmQpXCJcclxuICAgICAgW3N0eWxlLi0tbWFpbi1jb2xvcl09XCJjb2xvcigpKGNhcmQpXCJcclxuICAgICAgW3N0eWxlLi0tbWl4ZWQtY29sb3JdPVwibWl4ZWRDb2xvcigpKGNhcmQpXCJcclxuICAgICAgY2xhc3M9XCJmaWx0ZXItY2FyZFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIltcclxuICAgICAgICAnZmlsdGVyLWNhcmQtc2l6ZScsXHJcbiAgICAgICAgdmVyaWZpY2FyU2VDYXJkRXN0YVNlbGVjaW9uYWRvKGNhcmQpXHJcbiAgICAgICAgICA/ICdmaWx0ZXItY2FyZC1hY3RpdmUnXHJcbiAgICAgICAgICA6ICdjbGlja2FibGUnLFxyXG4gICAgICAgIHN0YXRpY0NhcmRzKCkgPyAnZmlsdGVyLWNhcmQtYWN0aXZlJyA6ICcnLFxyXG4gICAgICAgICFzdGF0aWNDYXJkcygpICYmICF2ZXJpZmljYXJTZUNhcmRFc3RhU2VsZWNpb25hZG8oY2FyZClcclxuICAgICAgICAgID8gJ2ZpbHRlci1jYXJkLWhvdmVyJ1xyXG4gICAgICAgICAgOiAnJyxcclxuICAgICAgICBjdXJzb3JQb2ludGVyKCkgPyAnY3Vyc29yLXBvaW50ZXInIDogJydcclxuICAgICAgXVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItY2FyZC1jb250ZW50XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXdlaWdodDogc2VtaWJvbGQ7IGZvbnQtc2l6ZTogMC43NWVtXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29sb3IoKShjYXJkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7eyBjYXJkPy50aXR1bG8gfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0xcmVtXCI+XHJcbiAgICAgICAgICAgICAgQGlmKGxvYWRpbmdDYXJkcygpKXtcclxuXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb2FkaW5nLXNwaW5uZXJcIj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiY29sb3IoKShjYXJkKVwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZTogMC44MjVlbTsgZm9udC13ZWlnaHQ6IDYwMFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3sgY2FyZC52YWxvciB8IGt2RmlsdGVyQ2FyZHNGb3JtYXR0ZXIgOiBjYXJkLmZvcm1hdG8gfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICBAaWYgKGNhcmQuaWNvbikge1xyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZXgtaWNvbi1zdmdcIj5cclxuICAgICAgICAgICAgPCEtLSA8c3ZnIHN0eWxlPVwib3ZlcmZsb3c6IHZpc2libGVcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIiBjbGFzcz1cImhleC1iZ1wiPlxyXG4gICAgICAgICAgICAgIDxwb2x5Z29uXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5maWxsXT1cImdldENvbG9yRmlsbFBvbHlnb24oY2FyZClcIlxyXG4gICAgICAgICAgICAgICAgcG9pbnRzPVwiOTMuMyA3NSw1MCAxMDAsNi43IDc1LDYuNyAyNSw1MCAwLDkzLjMgMjVcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlPVwidmFyKC0tbWFpbi1jb2xvcilcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk9XCIwLjhcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPiAtLT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHAtMiBib3JkZXItcm91bmQtbGcgdHJhbnNpdGlvbi1hbGwgdHJhbnNpdGlvbi1kdXJhdGlvbi0zMDBcIiBcclxuICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldENvbG9yRmlsbFBvbHlnb24oY2FyZClcIj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid2YXIoLS1tYWluLWNvbG9yKSdcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb25cIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IGNhcmQ/Lmljb24gfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -5643,7 +5643,7 @@ class KvFilterCardsComponent {
|
|
|
5643
5643
|
this.onCardClick = output();
|
|
5644
5644
|
this.color = computed(() => (card) => {
|
|
5645
5645
|
const color = mapaSeverityColors[card.severity];
|
|
5646
|
-
return color ? color : mapaSeverityColors.
|
|
5646
|
+
return color ? color : mapaSeverityColors.tertiary;
|
|
5647
5647
|
});
|
|
5648
5648
|
this.mixedColor = computed(() => (card) => {
|
|
5649
5649
|
return this.getTransparentMix(this.color()(card));
|
|
@@ -5682,29 +5682,18 @@ class KvFilterCardsComponent {
|
|
|
5682
5682
|
return 'var(--main-color)';
|
|
5683
5683
|
}
|
|
5684
5684
|
if (!this.selectedCardsTratado()?.includes(card)) {
|
|
5685
|
-
return 'color-mix(in srgb, var(--mixed-color)
|
|
5685
|
+
return 'color-mix(in srgb, var(--mixed-color) 40%, white 60%)';
|
|
5686
5686
|
}
|
|
5687
5687
|
else {
|
|
5688
|
-
return 'var(--
|
|
5689
|
-
}
|
|
5690
|
-
}
|
|
5691
|
-
getColorIconPolygon(card) {
|
|
5692
|
-
if (this.staticCards()) {
|
|
5693
|
-
return 'white';
|
|
5694
|
-
}
|
|
5695
|
-
if (!this.selectedCardsTratado()?.includes(card)) {
|
|
5696
|
-
return 'var(--main-color)';
|
|
5697
|
-
}
|
|
5698
|
-
else {
|
|
5699
|
-
return 'white';
|
|
5688
|
+
return 'color-mix(in srgb, var(--mixed-color) 99%, white 1%)';
|
|
5700
5689
|
}
|
|
5701
5690
|
}
|
|
5702
5691
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5703
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterCardsComponent, selector: "kv-filter-cards", inputs: { cards: { classPropertyName: "cards", publicName: "cards", isSignal: true, isRequired: false, transformFunction: null }, staticCards: { classPropertyName: "staticCards", publicName: "staticCards", isSignal: true, isRequired: false, transformFunction: null }, cursorPointer: { classPropertyName: "cursorPointer", publicName: "cursorPointer", isSignal: true, isRequired: false, transformFunction: null }, selectedCards: { classPropertyName: "selectedCards", publicName: "selectedCards", isSignal: true, isRequired: false, transformFunction: null }, loadingCards: { classPropertyName: "loadingCards", publicName: "loadingCards", isSignal: true, isRequired: false, transformFunction: null }, wrapCards: { classPropertyName: "wrapCards", publicName: "wrapCards", isSignal: true, isRequired: false, transformFunction: null }, alignCardsCenter: { classPropertyName: "alignCardsCenter", publicName: "alignCardsCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedCards: "selectedCardsChange", onCardClick: "onCardClick" }, ngImport: i0, template: "<div
|
|
5692
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvFilterCardsComponent, selector: "kv-filter-cards", inputs: { cards: { classPropertyName: "cards", publicName: "cards", isSignal: true, isRequired: false, transformFunction: null }, staticCards: { classPropertyName: "staticCards", publicName: "staticCards", isSignal: true, isRequired: false, transformFunction: null }, cursorPointer: { classPropertyName: "cursorPointer", publicName: "cursorPointer", isSignal: true, isRequired: false, transformFunction: null }, selectedCards: { classPropertyName: "selectedCards", publicName: "selectedCards", isSignal: true, isRequired: false, transformFunction: null }, loadingCards: { classPropertyName: "loadingCards", publicName: "loadingCards", isSignal: true, isRequired: false, transformFunction: null }, wrapCards: { classPropertyName: "wrapCards", publicName: "wrapCards", isSignal: true, isRequired: false, transformFunction: null }, alignCardsCenter: { classPropertyName: "alignCardsCenter", publicName: "alignCardsCenter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedCards: "selectedCardsChange", onCardClick: "onCardClick" }, ngImport: i0, template: "<div\r\n id=\"filter-card-container\"\r\n class=\"flex flex-row w-full justify-content-between\"\r\n>\r\n <div\r\n class=\"flex p-fluid formgrid w-full gap-2 overflow-y-hidden\"\r\n [ngClass]=\"[\r\n wrapCards() ? 'flex-wrap' : 'flex-nowrap overflow-x-auto',\r\n alignCardsCenter() ? 'justify-content-center' : 'justify-content-start'\r\n ]\"\r\n #filterCardsContainer\r\n >\r\n @for (card of cards(); track card.id) {\r\n\r\n <div\r\n (click)=\"handleCardClick(card)\"\r\n [style.--main-color]=\"color()(card)\"\r\n [style.--mixed-color]=\"mixedColor()(card)\"\r\n class=\"filter-card\"\r\n [ngClass]=\"[\r\n 'filter-card-size',\r\n verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-active'\r\n : 'clickable',\r\n staticCards() ? 'filter-card-active' : '',\r\n !staticCards() && !verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-hover'\r\n : '',\r\n cursorPointer() ? 'cursor-pointer' : ''\r\n ]\"\r\n >\r\n <div class=\"filter-card-content\">\r\n <div class=\"filter-card-title\">\r\n <div class=\"flex flex-column\">\r\n <div\r\n style=\"font-weight: semibold; font-size: 0.75em\"\r\n [style.color]=\"color()(card)\"\r\n >\r\n {{ card?.titulo }}\r\n </div>\r\n\r\n <div class=\"h-1rem\">\r\n @if(loadingCards()){\r\n\r\n <span class=\"loading-spinner\"></span>\r\n\r\n } @else {\r\n\r\n <span\r\n class=\"flex align-items-center\"\r\n [style.color]=\"color()(card)\"\r\n style=\"font-size: 0.825em; font-weight: 600\"\r\n >\r\n {{ card.valor | kvFilterCardsFormatter : card.formato }}\r\n </span>\r\n\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (card.icon) {\r\n\r\n <div class=\"hex-icon-svg\">\r\n <!-- <svg style=\"overflow: visible\" viewBox=\"0 0 100 100\" class=\"hex-bg\">\r\n <polygon\r\n [attr.fill]=\"getColorFillPolygon(card)\"\r\n points=\"93.3 75,50 100,6.7 75,6.7 25,50 0,93.3 25\"\r\n stroke=\"var(--main-color)\"\r\n stroke-width=\"3\"\r\n stroke-linejoin=\"round\"\r\n stroke-linecap=\"round\"\r\n opacity=\"0.8\"\r\n />\r\n </svg> -->\r\n\r\n <div class=\"flex align-items-center justify-content-center p-2 border-round-lg transition-all transition-duration-300\" \r\n [style.backgroundColor]=\"getColorFillPolygon(card)\">\r\n <span\r\n [style.color]=\"'var(--main-color)'\"\r\n class=\"material-symbols-outlined icon\"\r\n >\r\n {{ card?.icon }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.card,.card-disabled,.filter-card-active{transition:border .3s ease,background-color .3s ease;border:1px solid #cbd5e1}.filter-card{cursor:pointer;transition:all ease-in-out .2s;border:1px solid #cbd5e1;border-radius:.5rem;-webkit-user-select:none;user-select:none}.filter-card-hover:hover{background:#f8fafc;transition:border .3s ease,background-color .3s ease;border:var(--main-color) .5px solid}.filter-card-hover:active{background:#f8fafc;border:var(--main-color) .5px solid}.filter-card-active{border:var(--main-color) .5px solid;background-color:color-mix(in srgb,var(--mixed-color) 10%,white 90%)}p{font-size:.75rem}.select-none{-webkit-user-select:none;user-select:none}.filter-card-content{display:flex;flex-direction:row;align-items:center;padding:.5rem;gap:.5rem}.filter-card-title{flex:1 1 0%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.hex-icon-svg{position:relative;width:1.75rem;height:1.75rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.icon{font-weight:500!important;font-size:.75em!important}div.filter-card-hover:hover .hex-icon-svg>svg>polygon{fill:var(--mixed-color)}polygon{transition:all ease-in-out .25s}#filter-card-container{container:filter-card-container/inline-size}.filter-card-size{flex:1 1 auto;padding:0 .25rem;box-sizing:border-box}@container filter-card-container (min-width: 360px){.filter-card-size{width:50%}}@container filter-card-container (min-width: 600px){.filter-card-size{width:33.3333%}}@container filter-card-container (min-width: 900px){.filter-card-size{width:25%}}@container filter-card-container (min-width: 1200px){.filter-card-size{width:16.6667%}}@container filter-card-container (min-width: 1500px){.filter-card-size{width:14.2857%}}@media (min-width: 360px){.filter-card-size{width:50%}}@media (min-width: 600px){.filter-card-size{width:33.3333%}}@media (min-width: 900px){.filter-card-size{width:25%}}@media (min-width: 1200px){.filter-card-size{width:16.6667%}}@media (min-width: 1500px){.filter-card-size{width:14.2857%}}.flex-nowrap.overflow-x-auto{overflow-x:auto;scrollbar-width:thin}.flex-wrap .filter-card-size{flex:1 1 auto}.loading-spinner{width:.85rem;height:.85rem;border:2px solid var(--main-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation .8s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: KvFilterCardsFormatterPipe, name: "kvFilterCardsFormatter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5704
5693
|
}
|
|
5705
5694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvFilterCardsComponent, decorators: [{
|
|
5706
5695
|
type: Component,
|
|
5707
|
-
args: [{ selector: 'kv-filter-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div
|
|
5696
|
+
args: [{ selector: 'kv-filter-cards', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n id=\"filter-card-container\"\r\n class=\"flex flex-row w-full justify-content-between\"\r\n>\r\n <div\r\n class=\"flex p-fluid formgrid w-full gap-2 overflow-y-hidden\"\r\n [ngClass]=\"[\r\n wrapCards() ? 'flex-wrap' : 'flex-nowrap overflow-x-auto',\r\n alignCardsCenter() ? 'justify-content-center' : 'justify-content-start'\r\n ]\"\r\n #filterCardsContainer\r\n >\r\n @for (card of cards(); track card.id) {\r\n\r\n <div\r\n (click)=\"handleCardClick(card)\"\r\n [style.--main-color]=\"color()(card)\"\r\n [style.--mixed-color]=\"mixedColor()(card)\"\r\n class=\"filter-card\"\r\n [ngClass]=\"[\r\n 'filter-card-size',\r\n verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-active'\r\n : 'clickable',\r\n staticCards() ? 'filter-card-active' : '',\r\n !staticCards() && !verificarSeCardEstaSelecionado(card)\r\n ? 'filter-card-hover'\r\n : '',\r\n cursorPointer() ? 'cursor-pointer' : ''\r\n ]\"\r\n >\r\n <div class=\"filter-card-content\">\r\n <div class=\"filter-card-title\">\r\n <div class=\"flex flex-column\">\r\n <div\r\n style=\"font-weight: semibold; font-size: 0.75em\"\r\n [style.color]=\"color()(card)\"\r\n >\r\n {{ card?.titulo }}\r\n </div>\r\n\r\n <div class=\"h-1rem\">\r\n @if(loadingCards()){\r\n\r\n <span class=\"loading-spinner\"></span>\r\n\r\n } @else {\r\n\r\n <span\r\n class=\"flex align-items-center\"\r\n [style.color]=\"color()(card)\"\r\n style=\"font-size: 0.825em; font-weight: 600\"\r\n >\r\n {{ card.valor | kvFilterCardsFormatter : card.formato }}\r\n </span>\r\n\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (card.icon) {\r\n\r\n <div class=\"hex-icon-svg\">\r\n <!-- <svg style=\"overflow: visible\" viewBox=\"0 0 100 100\" class=\"hex-bg\">\r\n <polygon\r\n [attr.fill]=\"getColorFillPolygon(card)\"\r\n points=\"93.3 75,50 100,6.7 75,6.7 25,50 0,93.3 25\"\r\n stroke=\"var(--main-color)\"\r\n stroke-width=\"3\"\r\n stroke-linejoin=\"round\"\r\n stroke-linecap=\"round\"\r\n opacity=\"0.8\"\r\n />\r\n </svg> -->\r\n\r\n <div class=\"flex align-items-center justify-content-center p-2 border-round-lg transition-all transition-duration-300\" \r\n [style.backgroundColor]=\"getColorFillPolygon(card)\">\r\n <span\r\n [style.color]=\"'var(--main-color)'\"\r\n class=\"material-symbols-outlined icon\"\r\n >\r\n {{ card?.icon }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.card,.card-disabled,.filter-card-active{transition:border .3s ease,background-color .3s ease;border:1px solid #cbd5e1}.filter-card{cursor:pointer;transition:all ease-in-out .2s;border:1px solid #cbd5e1;border-radius:.5rem;-webkit-user-select:none;user-select:none}.filter-card-hover:hover{background:#f8fafc;transition:border .3s ease,background-color .3s ease;border:var(--main-color) .5px solid}.filter-card-hover:active{background:#f8fafc;border:var(--main-color) .5px solid}.filter-card-active{border:var(--main-color) .5px solid;background-color:color-mix(in srgb,var(--mixed-color) 10%,white 90%)}p{font-size:.75rem}.select-none{-webkit-user-select:none;user-select:none}.filter-card-content{display:flex;flex-direction:row;align-items:center;padding:.5rem;gap:.5rem}.filter-card-title{flex:1 1 0%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.hex-icon-svg{position:relative;width:1.75rem;height:1.75rem;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.icon{font-weight:500!important;font-size:.75em!important}div.filter-card-hover:hover .hex-icon-svg>svg>polygon{fill:var(--mixed-color)}polygon{transition:all ease-in-out .25s}#filter-card-container{container:filter-card-container/inline-size}.filter-card-size{flex:1 1 auto;padding:0 .25rem;box-sizing:border-box}@container filter-card-container (min-width: 360px){.filter-card-size{width:50%}}@container filter-card-container (min-width: 600px){.filter-card-size{width:33.3333%}}@container filter-card-container (min-width: 900px){.filter-card-size{width:25%}}@container filter-card-container (min-width: 1200px){.filter-card-size{width:16.6667%}}@container filter-card-container (min-width: 1500px){.filter-card-size{width:14.2857%}}@media (min-width: 360px){.filter-card-size{width:50%}}@media (min-width: 600px){.filter-card-size{width:33.3333%}}@media (min-width: 900px){.filter-card-size{width:25%}}@media (min-width: 1200px){.filter-card-size{width:16.6667%}}@media (min-width: 1500px){.filter-card-size{width:14.2857%}}.flex-nowrap.overflow-x-auto{overflow-x:auto;scrollbar-width:thin}.flex-wrap .filter-card-size{flex:1 1 auto}.loading-spinner{width:.85rem;height:.85rem;border:2px solid var(--main-color);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation .8s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
5708
5697
|
}] });
|
|
5709
5698
|
const mapaSeverityColors = {
|
|
5710
5699
|
primary: '#0A8765', // Verde
|