ng-prime-tools 1.0.63 → 1.0.64
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/models/text-style.model.mjs +1 -1
- package/esm2022/lib/pt-metric-card/pt-metric-card.component.mjs +59 -39
- package/fesm2022/ng-prime-tools.mjs +58 -38
- package/fesm2022/ng-prime-tools.mjs.map +1 -1
- package/lib/models/text-style.model.d.ts +1 -0
- package/lib/models/text-style.model.d.ts.map +1 -1
- package/lib/pt-group/pt-group.component.d.ts +1 -1
- package/lib/pt-metric-card/pt-metric-card.component.d.ts +17 -9
- package/lib/pt-metric-card/pt-metric-card.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3RleHQtc3R5bGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGZvbnRXZWlnaHQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zdHlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvbW9kZWxzL3RleHQtc3R5bGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGZvbnRXZWlnaHQ/OiBzdHJpbmc7XG4gIHBvc2l0aW9uPzogJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xufVxuIl19
|
|
@@ -14,19 +14,20 @@ export class PTMetricCardComponent {
|
|
|
14
14
|
static { this.DEFAULT_ADDITIONAL_INFO_SIZE = '14px'; }
|
|
15
15
|
static { this.DEFAULT_BACKGROUND_COLOR = '#fff'; }
|
|
16
16
|
isIconObject() {
|
|
17
|
-
return typeof this.cardData.icon === 'object';
|
|
17
|
+
return (typeof this.cardData.icon === 'object' && this.cardData.icon !== null);
|
|
18
18
|
}
|
|
19
19
|
isTitleObject() {
|
|
20
|
-
return typeof this.cardData.title === 'object';
|
|
20
|
+
return (typeof this.cardData.title === 'object' && this.cardData.title !== null);
|
|
21
21
|
}
|
|
22
22
|
isValueObject() {
|
|
23
|
-
return typeof this.cardData.value === 'object';
|
|
23
|
+
return (typeof this.cardData.value === 'object' && this.cardData.value !== null);
|
|
24
24
|
}
|
|
25
25
|
isLabelObject(label) {
|
|
26
|
-
return typeof label === 'object';
|
|
26
|
+
return typeof label === 'object' && label !== null;
|
|
27
27
|
}
|
|
28
28
|
isAdditionalInfoObject() {
|
|
29
|
-
return typeof this.cardData.additionalInfo === 'object'
|
|
29
|
+
return (typeof this.cardData.additionalInfo === 'object' &&
|
|
30
|
+
this.cardData.additionalInfo !== null);
|
|
30
31
|
}
|
|
31
32
|
getIconText() {
|
|
32
33
|
return this.isIconObject()
|
|
@@ -36,35 +37,34 @@ export class PTMetricCardComponent {
|
|
|
36
37
|
getTitleText() {
|
|
37
38
|
return this.isTitleObject()
|
|
38
39
|
? this.cardData.title.text
|
|
39
|
-
: this.cardData.title;
|
|
40
|
+
: this.cardData.title || '';
|
|
40
41
|
}
|
|
41
42
|
getValueText() {
|
|
42
43
|
return this.isValueObject()
|
|
43
44
|
? this.cardData.value.text
|
|
44
|
-
: this.cardData.value;
|
|
45
|
+
: this.cardData.value || '';
|
|
45
46
|
}
|
|
46
47
|
getLabelText() {
|
|
47
48
|
const label = this.cardData.value?.label;
|
|
48
49
|
return this.isLabelObject(label)
|
|
49
50
|
? label.text
|
|
50
|
-
: label;
|
|
51
|
+
: label || '';
|
|
51
52
|
}
|
|
52
53
|
getAdditionalInfoText() {
|
|
53
54
|
return this.isAdditionalInfoObject()
|
|
54
55
|
? this.cardData.additionalInfo.text
|
|
55
|
-
: this.cardData.additionalInfo;
|
|
56
|
+
: this.cardData.additionalInfo || '';
|
|
56
57
|
}
|
|
57
58
|
getIconStyles() {
|
|
58
59
|
if (this.isIconObject()) {
|
|
59
60
|
const icon = this.cardData.icon;
|
|
60
|
-
const shape = icon.shape || 'circular';
|
|
61
|
-
// Determine border radius based on shape
|
|
61
|
+
const shape = icon.shape || 'circular';
|
|
62
62
|
const borderRadius = shape === 'circular' ? '50%' : '8px';
|
|
63
63
|
return {
|
|
64
64
|
color: icon.color || PTMetricCardComponent.DEFAULT_ICON_COLOR,
|
|
65
65
|
fontSize: icon.fontSize || PTMetricCardComponent.DEFAULT_ICON_SIZE,
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
backgroundColor: icon.backgroundColor || 'transparent',
|
|
67
|
+
borderRadius,
|
|
68
68
|
padding: '6px',
|
|
69
69
|
display: 'inline-block',
|
|
70
70
|
};
|
|
@@ -85,19 +85,43 @@ export class PTMetricCardComponent {
|
|
|
85
85
|
getValueStyles() {
|
|
86
86
|
if (this.isValueObject()) {
|
|
87
87
|
const value = this.cardData.value;
|
|
88
|
+
const position = value.position || 'left';
|
|
88
89
|
return {
|
|
89
90
|
color: value.color || PTMetricCardComponent.DEFAULT_VALUE_COLOR,
|
|
90
91
|
fontSize: value.fontSize || PTMetricCardComponent.DEFAULT_VALUE_SIZE,
|
|
91
92
|
fontWeight: value.fontWeight || 'bold',
|
|
93
|
+
textAlign: position,
|
|
94
|
+
width: '100%',
|
|
95
|
+
display: 'flex',
|
|
96
|
+
justifyContent: position === 'center'
|
|
97
|
+
? 'center'
|
|
98
|
+
: position === 'right'
|
|
99
|
+
? 'flex-end'
|
|
100
|
+
: 'flex-start',
|
|
101
|
+
alignItems: 'center',
|
|
92
102
|
};
|
|
93
103
|
}
|
|
94
|
-
|
|
104
|
+
return {
|
|
105
|
+
color: PTMetricCardComponent.DEFAULT_VALUE_COLOR,
|
|
106
|
+
fontSize: PTMetricCardComponent.DEFAULT_VALUE_SIZE,
|
|
107
|
+
fontWeight: 'bold',
|
|
108
|
+
textAlign: 'left',
|
|
109
|
+
width: '100%',
|
|
110
|
+
display: 'flex',
|
|
111
|
+
justifyContent: 'flex-start',
|
|
112
|
+
alignItems: 'center',
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
getValueTextStyles() {
|
|
116
|
+
if (this.isValueObject()) {
|
|
117
|
+
const value = this.cardData.value;
|
|
95
118
|
return {
|
|
96
|
-
|
|
97
|
-
fontSize: PTMetricCardComponent.DEFAULT_VALUE_SIZE,
|
|
98
|
-
fontWeight: 'bold',
|
|
119
|
+
textAlign: value.position || 'left',
|
|
99
120
|
};
|
|
100
121
|
}
|
|
122
|
+
return {
|
|
123
|
+
textAlign: 'left',
|
|
124
|
+
};
|
|
101
125
|
}
|
|
102
126
|
getLabelStyles(position) {
|
|
103
127
|
const label = this.cardData.value?.label;
|
|
@@ -111,13 +135,11 @@ export class PTMetricCardComponent {
|
|
|
111
135
|
fontWeight: label.fontWeight || 'normal',
|
|
112
136
|
};
|
|
113
137
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
};
|
|
120
|
-
}
|
|
138
|
+
return {
|
|
139
|
+
color: PTMetricCardComponent.DEFAULT_LABEL_COLOR,
|
|
140
|
+
fontSize: PTMetricCardComponent.DEFAULT_LABEL_SIZE,
|
|
141
|
+
fontWeight: 'normal',
|
|
142
|
+
};
|
|
121
143
|
}
|
|
122
144
|
getAdditionalInfoStyles() {
|
|
123
145
|
if (this.isAdditionalInfoObject()) {
|
|
@@ -130,13 +152,11 @@ export class PTMetricCardComponent {
|
|
|
130
152
|
fontWeight: additionalInfo.fontWeight || 'normal',
|
|
131
153
|
};
|
|
132
154
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
};
|
|
139
|
-
}
|
|
155
|
+
return {
|
|
156
|
+
color: PTMetricCardComponent.DEFAULT_ADDITIONAL_INFO_COLOR,
|
|
157
|
+
fontSize: PTMetricCardComponent.DEFAULT_ADDITIONAL_INFO_SIZE,
|
|
158
|
+
fontWeight: 'normal',
|
|
159
|
+
};
|
|
140
160
|
}
|
|
141
161
|
isLabelOnLeft() {
|
|
142
162
|
const label = this.cardData.value?.label;
|
|
@@ -148,27 +168,27 @@ export class PTMetricCardComponent {
|
|
|
148
168
|
}
|
|
149
169
|
getMetricCardContainerStyle() {
|
|
150
170
|
return {
|
|
151
|
-
|
|
152
|
-
|
|
171
|
+
minWidth: this.cardData.size?.minWidth || '100%',
|
|
172
|
+
maxWidth: this.cardData.size?.maxWidth || 'calc(25% - 16px)',
|
|
153
173
|
width: this.cardData.size?.fixedWidth || 'auto',
|
|
154
174
|
};
|
|
155
175
|
}
|
|
156
176
|
getMetricCardStyle() {
|
|
157
177
|
return {
|
|
158
|
-
|
|
178
|
+
backgroundColor: this.cardData.appearance?.backgroundColor ||
|
|
159
179
|
PTMetricCardComponent.DEFAULT_BACKGROUND_COLOR,
|
|
160
|
-
|
|
161
|
-
|
|
180
|
+
minWidth: this.cardData.size?.minWidth || '100%',
|
|
181
|
+
maxWidth: this.cardData.size?.maxWidth || 'calc(25% - 16px)',
|
|
162
182
|
width: this.cardData.size?.fixedWidth || 'auto',
|
|
163
183
|
};
|
|
164
184
|
}
|
|
165
185
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMetricCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
166
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTMetricCardComponent, selector: "pt-metric-card", inputs: { cardData: "cardData" }, ngImport: i0, template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8'
|
|
186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTMetricCardComponent, selector: "pt-metric-card", inputs: { cardData: "cardData" }, ngImport: i0, template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8',\n }\"\n ></div>\n\n <div class=\"metric-card\" [ngStyle]=\"getMetricCardStyle()\">\n <div class=\"metric-card-header\">\n <i\n *ngIf=\"isIconObject()\"\n [ngClass]=\"getIconText()\"\n [ngStyle]=\"getIconStyles()\"\n ></i>\n <i *ngIf=\"!isIconObject()\" [ngClass]=\"cardData.icon\"></i>\n\n <span\n *ngIf=\"isTitleObject()\"\n class=\"metric-card-header-text\"\n [ngStyle]=\"getTitleStyles()\"\n >\n {{ getTitleText() }}\n </span>\n <span *ngIf=\"!isTitleObject()\" class=\"metric-card-header-text\">\n {{ cardData.title }}\n </span>\n </div>\n\n <div class=\"metric-card-content\">\n <div class=\"metric-value\" [ngStyle]=\"getValueStyles()\">\n <span\n *ngIf=\"isLabelOnLeft()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('left')\"\n >\n {{ getLabelText() }}\n </span>\n\n <span class=\"metric-value-text\" [ngStyle]=\"getValueTextStyles()\">\n {{ getValueText() }}\n </span>\n\n <span\n *ngIf=\"isLabelOnRight()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('right')\"\n >\n {{ getLabelText() }}\n </span>\n </div>\n\n <div\n *ngIf=\"cardData.divider?.show\"\n class=\"metric-divider\"\n [ngStyle]=\"{ backgroundColor: cardData.divider?.color || '#e2e8f0' }\"\n ></div>\n\n <div\n *ngIf=\"isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ getAdditionalInfoText() }}\n </div>\n <div\n *ngIf=\"!isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ cardData.additionalInfo }}\n </div>\n </div>\n </div>\n</div>\n", styles: [".metric-card-container{display:flex;align-items:stretch;box-sizing:border-box}.vertical-line{width:4px;border-radius:8px 0 0 8px;margin-right:-4px;z-index:2}.metric-card{background-color:#fff;border-radius:5px;box-shadow:0 1px 3px #0000001a;padding:16px;display:flex;flex-direction:column;box-sizing:border-box;margin-left:0;width:100%}.metric-card-header{display:flex;align-items:center;margin-bottom:16px}.metric-card-header i.icon-text{margin-right:8px}.metric-card-header-text{margin-left:6px}.metric-card-content{display:flex;flex-direction:column;justify-content:space-between;width:100%;flex:1}.metric-value{width:100%;display:flex;align-items:center;gap:6px;box-sizing:border-box}.metric-value-text{display:inline-block;width:100%;line-height:1.2}.metric-number{font-weight:700}.metric-label,.value-label{margin-left:8px;white-space:nowrap}.metric-divider{width:100%;height:1px;margin:16px 0}.metric-additional-info{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
167
187
|
}
|
|
168
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMetricCardComponent, decorators: [{
|
|
169
189
|
type: Component,
|
|
170
|
-
args: [{ selector: 'pt-metric-card', template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8'
|
|
190
|
+
args: [{ selector: 'pt-metric-card', template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8',\n }\"\n ></div>\n\n <div class=\"metric-card\" [ngStyle]=\"getMetricCardStyle()\">\n <div class=\"metric-card-header\">\n <i\n *ngIf=\"isIconObject()\"\n [ngClass]=\"getIconText()\"\n [ngStyle]=\"getIconStyles()\"\n ></i>\n <i *ngIf=\"!isIconObject()\" [ngClass]=\"cardData.icon\"></i>\n\n <span\n *ngIf=\"isTitleObject()\"\n class=\"metric-card-header-text\"\n [ngStyle]=\"getTitleStyles()\"\n >\n {{ getTitleText() }}\n </span>\n <span *ngIf=\"!isTitleObject()\" class=\"metric-card-header-text\">\n {{ cardData.title }}\n </span>\n </div>\n\n <div class=\"metric-card-content\">\n <div class=\"metric-value\" [ngStyle]=\"getValueStyles()\">\n <span\n *ngIf=\"isLabelOnLeft()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('left')\"\n >\n {{ getLabelText() }}\n </span>\n\n <span class=\"metric-value-text\" [ngStyle]=\"getValueTextStyles()\">\n {{ getValueText() }}\n </span>\n\n <span\n *ngIf=\"isLabelOnRight()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('right')\"\n >\n {{ getLabelText() }}\n </span>\n </div>\n\n <div\n *ngIf=\"cardData.divider?.show\"\n class=\"metric-divider\"\n [ngStyle]=\"{ backgroundColor: cardData.divider?.color || '#e2e8f0' }\"\n ></div>\n\n <div\n *ngIf=\"isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ getAdditionalInfoText() }}\n </div>\n <div\n *ngIf=\"!isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ cardData.additionalInfo }}\n </div>\n </div>\n </div>\n</div>\n", styles: [".metric-card-container{display:flex;align-items:stretch;box-sizing:border-box}.vertical-line{width:4px;border-radius:8px 0 0 8px;margin-right:-4px;z-index:2}.metric-card{background-color:#fff;border-radius:5px;box-shadow:0 1px 3px #0000001a;padding:16px;display:flex;flex-direction:column;box-sizing:border-box;margin-left:0;width:100%}.metric-card-header{display:flex;align-items:center;margin-bottom:16px}.metric-card-header i.icon-text{margin-right:8px}.metric-card-header-text{margin-left:6px}.metric-card-content{display:flex;flex-direction:column;justify-content:space-between;width:100%;flex:1}.metric-value{width:100%;display:flex;align-items:center;gap:6px;box-sizing:border-box}.metric-value-text{display:inline-block;width:100%;line-height:1.2}.metric-number{font-weight:700}.metric-label,.value-label{margin-left:8px;white-space:nowrap}.metric-divider{width:100%;height:1px;margin:16px 0}.metric-additional-info{margin-top:8px}\n"] }]
|
|
171
191
|
}], propDecorators: { cardData: [{
|
|
172
192
|
type: Input
|
|
173
193
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbWV0cmljLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1tZXRyaWMtY2FyZC9wdC1tZXRyaWMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LW1ldHJpYy1jYXJkL3B0LW1ldHJpYy1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFjakQsTUFBTSxPQUFPLHFCQUFxQjthQUNSLHVCQUFrQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQy9CLHNCQUFpQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzNCLHdCQUFtQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQ2hDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLHdCQUFtQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQ2hDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLHdCQUFtQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQ2hDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLGtDQUE2QixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ3ZDLGlDQUE0QixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ3RDLDZCQUF3QixHQUFHLE1BQU0sQUFBVCxDQUFVO0lBSTFELFlBQVk7UUFDVixPQUFPLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0lBQ2hELENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sT0FB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QUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksTUFBTTtZQUNuRCxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLGtCQUFrQjtZQUMvRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxJQUFJLE1BQU07U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTztZQUNMLGtCQUFrQixFQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxlQUFlO2dCQUN6QyxxQkFBcUIsQ0FBQyx3QkFBd0I7WUFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsSUFBSSxNQUFNO1lBQ25ELFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksa0JBQWtCO1lBQy9ELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksTUFBTTtTQUNoRCxDQUFDO0lBQ0osQ0FBQzsrR0EvTFUscUJBQXFCO21HQUFyQixxQkFBcUIsd0ZDZGxDLGlsRUEwRUE7OzRGRDVEYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQWlCakIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIExhYmVsU2V0dGluZyxcbiAgTWV0cmljQ2FyZERhdGEsXG4gIFZhbHVlU2V0dGluZyxcbiAgSWNvblN0eWxlLFxuICBUZXh0U3R5bGUsXG59IGZyb20gJy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LW1ldHJpYy1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B0LW1ldHJpYy1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtbWV0cmljLWNhcmQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQVE1ldHJpY0NhcmRDb21wb25lbnQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lDT05fQ09MT1IgPSAnIzVhNjdkOCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfSUNPTl9TSVpFID0gJzI0cHgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJVExFX0NPTE9SID0gJyM1YTY3ZDgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1RJVExFX1NJWkUgPSAnMTZweCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVkFMVUVfQ09MT1IgPSAnIzJkMzc0OCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfVkFMVUVfU0laRSA9ICczMnB4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9MQUJFTF9DT0xPUiA9ICcjNzE4MDk2JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9MQUJFTF9TSVpFID0gJzE0cHgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0FERElUSU9OQUxfSU5GT19DT0xPUiA9ICdncmF5JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9BRERJVElPTkFMX0lORk9fU0laRSA9ICcxNHB4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SID0gJyNmZmYnO1xuXG4gIEBJbnB1dCgpIGNhcmREYXRhITogTWV0cmljQ2FyZERhdGE7XG5cbiAgaXNJY29uT2JqZWN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5jYXJkRGF0YS5pY29uID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIGlzVGl0bGVPYmplY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmNhcmREYXRhLnRpdGxlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIGlzVmFsdWVPYmplY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmNhcmREYXRhLnZhbHVlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIGlzTGFiZWxPYmplY3QobGFiZWw6IExhYmVsU2V0dGluZyB8IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgbGFiZWwgPT09ICdvYmplY3QnO1xuICB9XG5cbiAgaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHRoaXMuY2FyZERhdGEuYWRkaXRpb25hbEluZm8gPT09ICdvYmplY3QnO1xuICB9XG5cbiAgZ2V0SWNvblRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0ljb25PYmplY3QoKVxuICAgICAgPyAodGhpcy5jYXJkRGF0YS5pY29uIGFzIEljb25TdHlsZSkuY29kZVxuICAgICAgOiAodGhpcy5jYXJkRGF0YS5pY29uIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRUaXRsZVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1RpdGxlT2JqZWN0KClcbiAgICAgID8gKHRoaXMuY2FyZERhdGEudGl0bGUgYXMgVGV4dFN0eWxlKS50ZXh0XG4gICAgICA6ICh0aGlzLmNhcmREYXRhLnRpdGxlIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRWYWx1ZVRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbHVlT2JqZWN0KClcbiAgICAgID8gKHRoaXMuY2FyZERhdGEudmFsdWUgYXMgVmFsdWVTZXR0aW5nKS50ZXh0XG4gICAgICA6ICh0aGlzLmNhcmREYXRhLnZhbHVlIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRMYWJlbFRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmNhcmREYXRhLnZhbHVlIGFzIFZhbHVlU2V0dGluZyk/LmxhYmVsO1xuICAgIHJldHVybiB0aGlzLmlzTGFiZWxPYmplY3QobGFiZWwpXG4gICAgICA/IChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLnRleHRcbiAgICAgIDogKGxhYmVsIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRBZGRpdGlvbmFsSW5mb1RleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc0FkZGl0aW9uYWxJbmZvT2JqZWN0KClcbiAgICAgID8gKHRoaXMuY2FyZERhdGEuYWRkaXRpb25hbEluZm8gYXMgVGV4dFN0eWxlKS50ZXh0XG4gICAgICA6ICh0aGlzLmNhcmREYXRhLmFkZGl0aW9uYWxJbmZvIGFzIHN0cmluZyk7XG4gIH1cblxuICBnZXRJY29uU3R5bGVzKCkge1xuICAgIGlmICh0aGlzLmlzSWNvbk9iamVjdCgpKSB7XG4gICAgICBjb25zdCBpY29uID0gdGhpcy5jYXJkRGF0YS5pY29uIGFzIEljb25TdHlsZTtcbiAgICAgIGNvbnN0IHNoYXBlID0gaWNvbi5zaGFwZSB8fCAnY2lyY3VsYXInOyAvLyBEZWZhdWx0IHRvICdjaXJjdWxhcicgaWYgbm90IHNwZWNpZmllZFxuXG4gICAgICAvLyBEZXRlcm1pbmUgYm9yZGVyIHJhZGl1cyBiYXNlZCBvbiBzaGFwZVxuICAgICAgY29uc3QgYm9yZGVyUmFkaXVzID0gc2hhcGUgPT09ICdjaXJjdWxhcicgPyAnNTAlJyA6ICc4cHgnO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogaWNvbi5jb2xvciB8fCBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9JQ09OX0NPTE9SLFxuICAgICAgICBmb250U2l6ZTogaWNvbi5mb250U2l6ZSB8fCBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9JQ09OX1NJWkUsXG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogaWNvbi5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiBib3JkZXJSYWRpdXMsXG4gICAgICAgIHBhZGRpbmc6ICc2cHgnLFxuICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGdldFRpdGxlU3R5bGVzKCkge1xuICAgIGlmICh0aGlzLmlzVGl0bGVPYmplY3QoKSkge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmNhcmREYXRhLnRpdGxlIGFzIFRleHRTdHlsZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbG9yOiB0aXRsZS5jb2xvciB8fCBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9USVRMRV9DT0xPUixcbiAgICAgICAgZm9udFNpemU6IHRpdGxlLmZvbnRTaXplIHx8IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX1RJVExFX1NJWkUsXG4gICAgICAgIGZvbnRXZWlnaHQ6IHRpdGxlLmZvbnRXZWlnaHQgfHwgJ25vcm1hbCcsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBnZXRWYWx1ZVN0eWxlcygpIHtcbiAgICBpZiAodGhpcy5pc1ZhbHVlT2JqZWN0KCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jYXJkRGF0YS52YWx1ZSBhcyBWYWx1ZVNldHRpbmc7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogdmFsdWUuY29sb3IgfHwgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfVkFMVUVfQ09MT1IsXG4gICAgICAgIGZvbnRTaXplOiB2YWx1ZS5mb250U2l6ZSB8fCBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9WQUxVRV9TSVpFLFxuICAgICAgICBmb250V2VpZ2h0OiB2YWx1ZS5mb250V2VpZ2h0IHx8ICdib2xkJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbG9yOiBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9WQUxVRV9DT0xPUixcbiAgICAgICAgZm9udFNpemU6IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX1ZBTFVFX1NJWkUsXG4gICAgICAgIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZ2V0TGFiZWxTdHlsZXMocG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcpIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmNhcmREYXRhLnZhbHVlIGFzIFZhbHVlU2V0dGluZyk/LmxhYmVsO1xuICAgIGlmIChcbiAgICAgIHRoaXMuaXNMYWJlbE9iamVjdChsYWJlbCkgJiZcbiAgICAgIChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLnBvc2l0aW9uID09PSBwb3NpdGlvblxuICAgICkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6XG4gICAgICAgICAgKGxhYmVsIGFzIExhYmVsU2V0dGluZykuY29sb3IgfHxcbiAgICAgICAgICBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9MQUJFTF9DT0xPUixcbiAgICAgICAgZm9udFNpemU6XG4gICAgICAgICAgKGxhYmVsIGFzIExhYmVsU2V0dGluZykuZm9udFNpemUgfHxcbiAgICAgICAgICBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9MQUJFTF9TSVpFLFxuICAgICAgICBmb250V2VpZ2h0OiAobGFiZWwgYXMgTGFiZWxTZXR0aW5nKS5mb250V2VpZ2h0IHx8ICdub3JtYWwnLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX0xBQkVMX0NPTE9SLFxuICAgICAgICBmb250U2l6ZTogUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfTEFCRUxfU0laRSxcbiAgICAgICAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGdldEFkZGl0aW9uYWxJbmZvU3R5bGVzKCkge1xuICAgIGlmICh0aGlzLmlzQWRkaXRpb25hbEluZm9PYmplY3QoKSkge1xuICAgICAgY29uc3QgYWRkaXRpb25hbEluZm8gPSB0aGlzLmNhcmREYXRhLmFkZGl0aW9uYWxJbmZvIGFzIFRleHRTdHlsZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbG9yOlxuICAgICAgICAgIGFkZGl0aW9uYWxJbmZvLmNvbG9yIHx8XG4gICAgICAgICAgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfQURESVRJT05BTF9JTkZPX0NPTE9SLFxuICAgICAgICBmb250U2l6ZTpcbiAgICAgICAgICBhZGRpdGlvbmFsSW5mby5mb250U2l6ZSB8fFxuICAgICAgICAgIFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX0FERElUSU9OQUxfSU5GT19TSVpFLFxuICAgICAgICBmb250V2VpZ2h0OiBhZGRpdGlvbmFsSW5mby5mb250V2VpZ2h0IHx8ICdub3JtYWwnLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX0FERElUSU9OQUxfSU5GT19DT0xPUixcbiAgICAgICAgZm9udFNpemU6IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX0FERElUSU9OQUxfSU5GT19TSVpFLFxuICAgICAgICBmb250V2VpZ2h0OiAnbm9ybWFsJyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgaXNMYWJlbE9uTGVmdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBsYWJlbCA9ICh0aGlzLmNhcmREYXRhLnZhbHVlIGFzIFZhbHVlU2V0dGluZyk/LmxhYmVsO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzTGFiZWxPYmplY3QobGFiZWwpICYmIChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLnBvc2l0aW9uID09PSAnbGVmdCdcbiAgICApO1xuICB9XG5cbiAgaXNMYWJlbE9uUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbGFiZWwgPSAodGhpcy5jYXJkRGF0YS52YWx1ZSBhcyBWYWx1ZVNldHRpbmcpPy5sYWJlbDtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc0xhYmVsT2JqZWN0KGxhYmVsKSAmJiAobGFiZWwgYXMgTGFiZWxTZXR0aW5nKS5wb3NpdGlvbiA9PT0gJ3JpZ2h0J1xuICAgICk7XG4gIH1cblxuICBnZXRNZXRyaWNDYXJkQ29udGFpbmVyU3R5bGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdtaW4td2lkdGgnOiB0aGlzLmNhcmREYXRhLnNpemU/Lm1pbldpZHRoIHx8ICcxMDAlJyxcbiAgICAgICdtYXgtd2lkdGgnOiB0aGlzLmNhcmREYXRhLnNpemU/Lm1heFdpZHRoIHx8ICdjYWxjKDI1JSAtIDE2cHgpJyxcbiAgICAgIHdpZHRoOiB0aGlzLmNhcmREYXRhLnNpemU/LmZpeGVkV2lkdGggfHwgJ2F1dG8nLFxuICAgIH07XG4gIH1cblxuICBnZXRNZXRyaWNDYXJkU3R5bGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzpcbiAgICAgICAgdGhpcy5jYXJkRGF0YS5hcHBlYXJhbmNlPy5iYWNrZ3JvdW5kQ29sb3IgfHxcbiAgICAgICAgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfQkFDS0dST1VORF9DT0xPUixcbiAgICAgICdtaW4td2lkdGgnOiB0aGlzLmNhcmREYXRhLnNpemU/Lm1pbldpZHRoIHx8ICcxMDAlJyxcbiAgICAgICdtYXgtd2lkdGgnOiB0aGlzLmNhcmREYXRhLnNpemU/Lm1heFdpZHRoIHx8ICdjYWxjKDI1JSAtIDE2cHgpJyxcbiAgICAgIHdpZHRoOiB0aGlzLmNhcmREYXRhLnNpemU/LmZpeGVkV2lkdGggfHwgJ2F1dG8nLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtZXRyaWMtY2FyZC1jb250YWluZXJcIiBbbmdTdHlsZV09XCJnZXRNZXRyaWNDYXJkQ29udGFpbmVyU3R5bGUoKVwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJjYXJkRGF0YS52ZXJ0aWNhbExpbmU/LnNob3dcIlxuICAgIGNsYXNzPVwidmVydGljYWwtbGluZVwiXG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBjYXJkRGF0YS52ZXJ0aWNhbExpbmU/LmNvbG9yIHx8ICcjNWE2N2Q4J1xuICAgIH1cIlxuICA+PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1ldHJpYy1jYXJkXCIgW25nU3R5bGVdPVwiZ2V0TWV0cmljQ2FyZFN0eWxlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWNhcmQtaGVhZGVyXCI+XG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cImlzSWNvbk9iamVjdCgpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SWNvblRleHQoKVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoKVwiXG4gICAgICA+PC9pPlxuICAgICAgPGkgKm5nSWY9XCIhaXNJY29uT2JqZWN0KClcIiBbbmdDbGFzc109XCJjYXJkRGF0YS5pY29uXCI+PC9pPlxuXG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cImlzVGl0bGVPYmplY3QoKVwiXG4gICAgICAgIGNsYXNzPVwibWV0cmljLWNhcmQtaGVhZGVyLXRleHRcIlxuICAgICAgICBbbmdTdHlsZV09XCJnZXRUaXRsZVN0eWxlcygpXCJcbiAgICAgID5cbiAgICAgICAge3sgZ2V0VGl0bGVUZXh0KCkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzVGl0bGVPYmplY3QoKVwiIGNsYXNzPVwibWV0cmljLWNhcmQtaGVhZGVyLXRleHRcIj5cbiAgICAgICAge3sgY2FyZERhdGEudGl0bGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtY2FyZC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXZhbHVlXCIgW25nU3R5bGVdPVwiZ2V0VmFsdWVTdHlsZXMoKVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNMYWJlbE9uTGVmdCgpXCJcbiAgICAgICAgICBjbGFzcz1cInZhbHVlLWxhYmVsXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJnZXRMYWJlbFN0eWxlcygnbGVmdCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldExhYmVsVGV4dCgpIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJnZXRWYWx1ZVN0eWxlcygpXCI+e3sgZ2V0VmFsdWVUZXh0KCkgfX08L3NwYW4+XG5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImlzTGFiZWxPblJpZ2h0KClcIlxuICAgICAgICAgIGNsYXNzPVwidmFsdWUtbGFiZWxcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cImdldExhYmVsU3R5bGVzKCdyaWdodCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldExhYmVsVGV4dCgpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY2FyZERhdGEuZGl2aWRlcj8uc2hvd1wiXG4gICAgICAgIGNsYXNzPVwibWV0cmljLWRpdmlkZXJcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogY2FyZERhdGEuZGl2aWRlcj8uY29sb3IgfHwgJyNlMmU4ZjAnIH1cIlxuICAgICAgPjwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpXCJcbiAgICAgICAgY2xhc3M9XCJtZXRyaWMtYWRkaXRpb25hbC1pbmZvXCJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0QWRkaXRpb25hbEluZm9TdHlsZXMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldEFkZGl0aW9uYWxJbmZvVGV4dCgpIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpXCJcbiAgICAgICAgY2xhc3M9XCJtZXRyaWMtYWRkaXRpb25hbC1pbmZvXCJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0QWRkaXRpb25hbEluZm9TdHlsZXMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGNhcmREYXRhLmFkZGl0aW9uYWxJbmZvIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbWV0cmljLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1tZXRyaWMtY2FyZC9wdC1tZXRyaWMtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LW1ldHJpYy1jYXJkL3B0LW1ldHJpYy1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFjakQsTUFBTSxPQUFPLHFCQUFxQjthQUNSLHVCQUFrQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQy9CLHNCQUFpQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzNCLHdCQUFtQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQ2hDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLHdCQUFtQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQ2hDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLHdCQUFtQixHQUFHLFNBQVMsQUFBWixDQUFhO2FBQ2hDLHVCQUFrQixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQzVCLGtDQUE2QixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ3ZDLGlDQUE0QixHQUFHLE1BQU0sQUFBVCxDQUFVO2FBQ3RDLDZCQUF3QixHQUFHLE1BQU0sQUFBVCxDQUFVO0lBSTFELFlBQVk7UUFDVixPQUFPLENBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFD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QVUsSUFBSSxNQUFNO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU87WUFDTCxlQUFlLEVBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsZUFBZTtnQkFDekMscUJBQXFCLENBQUMsd0JBQXdCO1lBQ2hELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksTUFBTTtZQUNoRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLGtCQUFrQjtZQUM1RCxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxJQUFJLE1BQU07U0FDaEQsQ0FBQztJQUNKLENBQUM7K0dBNU9VLHFCQUFxQjttR0FBckIscUJBQXFCLHdGQ2RsQyx3b0VBNEVBOzs0RkQ5RGEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQjs4QkFpQmpCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBMYWJlbFNldHRpbmcsXG4gIE1ldHJpY0NhcmREYXRhLFxuICBWYWx1ZVNldHRpbmcsXG4gIEljb25TdHlsZSxcbiAgVGV4dFN0eWxlLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwdC1tZXRyaWMtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1tZXRyaWMtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B0LW1ldHJpYy1jYXJkLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRNZXRyaWNDYXJkQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9JQ09OX0NPTE9SID0gJyM1YTY3ZDgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0lDT05fU0laRSA9ICcyNHB4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9USVRMRV9DT0xPUiA9ICcjNWE2N2Q4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9USVRMRV9TSVpFID0gJzE2cHgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1ZBTFVFX0NPTE9SID0gJyMyZDM3NDgnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1ZBTFVFX1NJWkUgPSAnMzJweCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTEFCRUxfQ09MT1IgPSAnIzcxODA5Nic7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTEFCRUxfU0laRSA9ICcxNHB4JztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9BRERJVElPTkFMX0lORk9fQ09MT1IgPSAnZ3JheSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQURESVRJT05BTF9JTkZPX1NJWkUgPSAnMTRweCc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfQkFDS0dST1VORF9DT0xPUiA9ICcjZmZmJztcblxuICBASW5wdXQoKSBjYXJkRGF0YSE6IE1ldHJpY0NhcmREYXRhO1xuXG4gIGlzSWNvbk9iamVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHRoaXMuY2FyZERhdGEuaWNvbiA9PT0gJ29iamVjdCcgJiYgdGhpcy5jYXJkRGF0YS5pY29uICE9PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGlzVGl0bGVPYmplY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB0aGlzLmNhcmREYXRhLnRpdGxlID09PSAnb2JqZWN0JyAmJiB0aGlzLmNhcmREYXRhLnRpdGxlICE9PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGlzVmFsdWVPYmplY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiB0aGlzLmNhcmREYXRhLnZhbHVlID09PSAnb2JqZWN0JyAmJiB0aGlzLmNhcmREYXRhLnZhbHVlICE9PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGlzTGFiZWxPYmplY3QobGFiZWw6IExhYmVsU2V0dGluZyB8IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgbGFiZWwgPT09ICdvYmplY3QnICYmIGxhYmVsICE9PSBudWxsO1xuICB9XG5cbiAgaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIHRoaXMuY2FyZERhdGEuYWRkaXRpb25hbEluZm8gPT09ICdvYmplY3QnICYmXG4gICAgICB0aGlzLmNhcmREYXRhLmFkZGl0aW9uYWxJbmZvICE9PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGdldEljb25UZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNJY29uT2JqZWN0KClcbiAgICAgID8gKHRoaXMuY2FyZERhdGEuaWNvbiBhcyBJY29uU3R5bGUpLmNvZGVcbiAgICAgIDogKHRoaXMuY2FyZERhdGEuaWNvbiBhcyBzdHJpbmcpO1xuICB9XG5cbiAgZ2V0VGl0bGVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNUaXRsZU9iamVjdCgpXG4gICAgICA/ICh0aGlzLmNhcmREYXRhLnRpdGxlIGFzIFRleHRTdHlsZSkudGV4dFxuICAgICAgOiAodGhpcy5jYXJkRGF0YS50aXRsZSBhcyBzdHJpbmcpIHx8ICcnO1xuICB9XG5cbiAgZ2V0VmFsdWVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWx1ZU9iamVjdCgpXG4gICAgICA/ICh0aGlzLmNhcmREYXRhLnZhbHVlIGFzIFZhbHVlU2V0dGluZykudGV4dFxuICAgICAgOiAodGhpcy5jYXJkRGF0YS52YWx1ZSBhcyBzdHJpbmcpIHx8ICcnO1xuICB9XG5cbiAgZ2V0TGFiZWxUZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFiZWwgPSAodGhpcy5jYXJkRGF0YS52YWx1ZSBhcyBWYWx1ZVNldHRpbmcpPy5sYWJlbDtcbiAgICByZXR1cm4gdGhpcy5pc0xhYmVsT2JqZWN0KGxhYmVsKVxuICAgICAgPyAobGFiZWwgYXMgTGFiZWxTZXR0aW5nKS50ZXh0XG4gICAgICA6IChsYWJlbCBhcyBzdHJpbmcpIHx8ICcnO1xuICB9XG5cbiAgZ2V0QWRkaXRpb25hbEluZm9UZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpXG4gICAgICA/ICh0aGlzLmNhcmREYXRhLmFkZGl0aW9uYWxJbmZvIGFzIFRleHRTdHlsZSkudGV4dFxuICAgICAgOiAodGhpcy5jYXJkRGF0YS5hZGRpdGlvbmFsSW5mbyBhcyBzdHJpbmcpIHx8ICcnO1xuICB9XG5cbiAgZ2V0SWNvblN0eWxlcygpIHtcbiAgICBpZiAodGhpcy5pc0ljb25PYmplY3QoKSkge1xuICAgICAgY29uc3QgaWNvbiA9IHRoaXMuY2FyZERhdGEuaWNvbiBhcyBJY29uU3R5bGU7XG4gICAgICBjb25zdCBzaGFwZSA9IGljb24uc2hhcGUgfHwgJ2NpcmN1bGFyJztcbiAgICAgIGNvbnN0IGJvcmRlclJhZGl1cyA9IHNoYXBlID09PSAnY2lyY3VsYXInID8gJzUwJScgOiAnOHB4JztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6IGljb24uY29sb3IgfHwgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfSUNPTl9DT0xPUixcbiAgICAgICAgZm9udFNpemU6IGljb24uZm9udFNpemUgfHwgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfSUNPTl9TSVpFLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGljb24uYmFja2dyb3VuZENvbG9yIHx8ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGJvcmRlclJhZGl1cyxcbiAgICAgICAgcGFkZGluZzogJzZweCcsXG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBnZXRUaXRsZVN0eWxlcygpIHtcbiAgICBpZiAodGhpcy5pc1RpdGxlT2JqZWN0KCkpIHtcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5jYXJkRGF0YS50aXRsZSBhcyBUZXh0U3R5bGU7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbG9yOiB0aXRsZS5jb2xvciB8fCBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9USVRMRV9DT0xPUixcbiAgICAgICAgZm9udFNpemU6IHRpdGxlLmZvbnRTaXplIHx8IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX1RJVExFX1NJWkUsXG4gICAgICAgIGZvbnRXZWlnaHQ6IHRpdGxlLmZvbnRXZWlnaHQgfHwgJ25vcm1hbCcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGdldFZhbHVlU3R5bGVzKCkge1xuICAgIGlmICh0aGlzLmlzVmFsdWVPYmplY3QoKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmNhcmREYXRhLnZhbHVlIGFzIFZhbHVlU2V0dGluZztcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdmFsdWUucG9zaXRpb24gfHwgJ2xlZnQnO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogdmFsdWUuY29sb3IgfHwgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfVkFMVUVfQ09MT1IsXG4gICAgICAgIGZvbnRTaXplOiB2YWx1ZS5mb250U2l6ZSB8fCBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9WQUxVRV9TSVpFLFxuICAgICAgICBmb250V2VpZ2h0OiB2YWx1ZS5mb250V2VpZ2h0IHx8ICdib2xkJyxcbiAgICAgICAgdGV4dEFsaWduOiBwb3NpdGlvbixcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDpcbiAgICAgICAgICBwb3NpdGlvbiA9PT0gJ2NlbnRlcidcbiAgICAgICAgICAgID8gJ2NlbnRlcidcbiAgICAgICAgICAgIDogcG9zaXRpb24gPT09ICdyaWdodCdcbiAgICAgICAgICAgICAgPyAnZmxleC1lbmQnXG4gICAgICAgICAgICAgIDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9WQUxVRV9DT0xPUixcbiAgICAgIGZvbnRTaXplOiBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9WQUxVRV9TSVpFLFxuICAgICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIH07XG4gIH1cblxuICBnZXRWYWx1ZVRleHRTdHlsZXMoKSB7XG4gICAgaWYgKHRoaXMuaXNWYWx1ZU9iamVjdCgpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY2FyZERhdGEudmFsdWUgYXMgVmFsdWVTZXR0aW5nO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0ZXh0QWxpZ246IHZhbHVlLnBvc2l0aW9uIHx8ICdsZWZ0JyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgIH07XG4gIH1cblxuICBnZXRMYWJlbFN0eWxlcyhwb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0Jykge1xuICAgIGNvbnN0IGxhYmVsID0gKHRoaXMuY2FyZERhdGEudmFsdWUgYXMgVmFsdWVTZXR0aW5nKT8ubGFiZWw7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmlzTGFiZWxPYmplY3QobGFiZWwpICYmXG4gICAgICAobGFiZWwgYXMgTGFiZWxTZXR0aW5nKS5wb3NpdGlvbiA9PT0gcG9zaXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbG9yOlxuICAgICAgICAgIChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLmNvbG9yIHx8XG4gICAgICAgICAgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfTEFCRUxfQ09MT1IsXG4gICAgICAgIGZvbnRTaXplOlxuICAgICAgICAgIChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLmZvbnRTaXplIHx8XG4gICAgICAgICAgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfTEFCRUxfU0laRSxcbiAgICAgICAgZm9udFdlaWdodDogKGxhYmVsIGFzIExhYmVsU2V0dGluZykuZm9udFdlaWdodCB8fCAnbm9ybWFsJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9MQUJFTF9DT0xPUixcbiAgICAgIGZvbnRTaXplOiBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9MQUJFTF9TSVpFLFxuICAgICAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gICAgfTtcbiAgfVxuXG4gIGdldEFkZGl0aW9uYWxJbmZvU3R5bGVzKCkge1xuICAgIGlmICh0aGlzLmlzQWRkaXRpb25hbEluZm9PYmplY3QoKSkge1xuICAgICAgY29uc3QgYWRkaXRpb25hbEluZm8gPSB0aGlzLmNhcmREYXRhLmFkZGl0aW9uYWxJbmZvIGFzIFRleHRTdHlsZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6XG4gICAgICAgICAgYWRkaXRpb25hbEluZm8uY29sb3IgfHxcbiAgICAgICAgICBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9BRERJVElPTkFMX0lORk9fQ09MT1IsXG4gICAgICAgIGZvbnRTaXplOlxuICAgICAgICAgIGFkZGl0aW9uYWxJbmZvLmZvbnRTaXplIHx8XG4gICAgICAgICAgUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfQURESVRJT05BTF9JTkZPX1NJWkUsXG4gICAgICAgIGZvbnRXZWlnaHQ6IGFkZGl0aW9uYWxJbmZvLmZvbnRXZWlnaHQgfHwgJ25vcm1hbCcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogUFRNZXRyaWNDYXJkQ29tcG9uZW50LkRFRkFVTFRfQURESVRJT05BTF9JTkZPX0NPTE9SLFxuICAgICAgZm9udFNpemU6IFBUTWV0cmljQ2FyZENvbXBvbmVudC5ERUZBVUxUX0FERElUSU9OQUxfSU5GT19TSVpFLFxuICAgICAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gICAgfTtcbiAgfVxuXG4gIGlzTGFiZWxPbkxlZnQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbGFiZWwgPSAodGhpcy5jYXJkRGF0YS52YWx1ZSBhcyBWYWx1ZVNldHRpbmcpPy5sYWJlbDtcblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzTGFiZWxPYmplY3QobGFiZWwpICYmIChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLnBvc2l0aW9uID09PSAnbGVmdCdcbiAgICApO1xuICB9XG5cbiAgaXNMYWJlbE9uUmlnaHQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbGFiZWwgPSAodGhpcy5jYXJkRGF0YS52YWx1ZSBhcyBWYWx1ZVNldHRpbmcpPy5sYWJlbDtcblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzTGFiZWxPYmplY3QobGFiZWwpICYmIChsYWJlbCBhcyBMYWJlbFNldHRpbmcpLnBvc2l0aW9uID09PSAncmlnaHQnXG4gICAgKTtcbiAgfVxuXG4gIGdldE1ldHJpY0NhcmRDb250YWluZXJTdHlsZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWluV2lkdGg6IHRoaXMuY2FyZERhdGEuc2l6ZT8ubWluV2lkdGggfHwgJzEwMCUnLFxuICAgICAgbWF4V2lkdGg6IHRoaXMuY2FyZERhdGEuc2l6ZT8ubWF4V2lkdGggfHwgJ2NhbGMoMjUlIC0gMTZweCknLFxuICAgICAgd2lkdGg6IHRoaXMuY2FyZERhdGEuc2l6ZT8uZml4ZWRXaWR0aCB8fCAnYXV0bycsXG4gICAgfTtcbiAgfVxuXG4gIGdldE1ldHJpY0NhcmRTdHlsZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2dyb3VuZENvbG9yOlxuICAgICAgICB0aGlzLmNhcmREYXRhLmFwcGVhcmFuY2U/LmJhY2tncm91bmRDb2xvciB8fFxuICAgICAgICBQVE1ldHJpY0NhcmRDb21wb25lbnQuREVGQVVMVF9CQUNLR1JPVU5EX0NPTE9SLFxuICAgICAgbWluV2lkdGg6IHRoaXMuY2FyZERhdGEuc2l6ZT8ubWluV2lkdGggfHwgJzEwMCUnLFxuICAgICAgbWF4V2lkdGg6IHRoaXMuY2FyZERhdGEuc2l6ZT8ubWF4V2lkdGggfHwgJ2NhbGMoMjUlIC0gMTZweCknLFxuICAgICAgd2lkdGg6IHRoaXMuY2FyZERhdGEuc2l6ZT8uZml4ZWRXaWR0aCB8fCAnYXV0bycsXG4gICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1ldHJpYy1jYXJkLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cImdldE1ldHJpY0NhcmRDb250YWluZXJTdHlsZSgpXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImNhcmREYXRhLnZlcnRpY2FsTGluZT8uc2hvd1wiXG4gICAgY2xhc3M9XCJ2ZXJ0aWNhbC1saW5lXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IGNhcmREYXRhLnZlcnRpY2FsTGluZT8uY29sb3IgfHwgJyM1YTY3ZDgnLFxuICAgIH1cIlxuICA+PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1ldHJpYy1jYXJkXCIgW25nU3R5bGVdPVwiZ2V0TWV0cmljQ2FyZFN0eWxlKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWV0cmljLWNhcmQtaGVhZGVyXCI+XG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cImlzSWNvbk9iamVjdCgpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SWNvblRleHQoKVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldEljb25TdHlsZXMoKVwiXG4gICAgICA+PC9pPlxuICAgICAgPGkgKm5nSWY9XCIhaXNJY29uT2JqZWN0KClcIiBbbmdDbGFzc109XCJjYXJkRGF0YS5pY29uXCI+PC9pPlxuXG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cImlzVGl0bGVPYmplY3QoKVwiXG4gICAgICAgIGNsYXNzPVwibWV0cmljLWNhcmQtaGVhZGVyLXRleHRcIlxuICAgICAgICBbbmdTdHlsZV09XCJnZXRUaXRsZVN0eWxlcygpXCJcbiAgICAgID5cbiAgICAgICAge3sgZ2V0VGl0bGVUZXh0KCkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzVGl0bGVPYmplY3QoKVwiIGNsYXNzPVwibWV0cmljLWNhcmQtaGVhZGVyLXRleHRcIj5cbiAgICAgICAge3sgY2FyZERhdGEudGl0bGUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtZXRyaWMtY2FyZC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWV0cmljLXZhbHVlXCIgW25nU3R5bGVdPVwiZ2V0VmFsdWVTdHlsZXMoKVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwiaXNMYWJlbE9uTGVmdCgpXCJcbiAgICAgICAgICBjbGFzcz1cInZhbHVlLWxhYmVsXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJnZXRMYWJlbFN0eWxlcygnbGVmdCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldExhYmVsVGV4dCgpIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldHJpYy12YWx1ZS10ZXh0XCIgW25nU3R5bGVdPVwiZ2V0VmFsdWVUZXh0U3R5bGVzKClcIj5cbiAgICAgICAgICB7eyBnZXRWYWx1ZVRleHQoKSB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImlzTGFiZWxPblJpZ2h0KClcIlxuICAgICAgICAgIGNsYXNzPVwidmFsdWUtbGFiZWxcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cImdldExhYmVsU3R5bGVzKCdyaWdodCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldExhYmVsVGV4dCgpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiY2FyZERhdGEuZGl2aWRlcj8uc2hvd1wiXG4gICAgICAgIGNsYXNzPVwibWV0cmljLWRpdmlkZXJcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogY2FyZERhdGEuZGl2aWRlcj8uY29sb3IgfHwgJyNlMmU4ZjAnIH1cIlxuICAgICAgPjwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpXCJcbiAgICAgICAgY2xhc3M9XCJtZXRyaWMtYWRkaXRpb25hbC1pbmZvXCJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0QWRkaXRpb25hbEluZm9TdHlsZXMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGdldEFkZGl0aW9uYWxJbmZvVGV4dCgpIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCIhaXNBZGRpdGlvbmFsSW5mb09iamVjdCgpXCJcbiAgICAgICAgY2xhc3M9XCJtZXRyaWMtYWRkaXRpb25hbC1pbmZvXCJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0QWRkaXRpb25hbEluZm9TdHlsZXMoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGNhcmREYXRhLmFkZGl0aW9uYWxJbmZvIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -2808,19 +2808,20 @@ class PTMetricCardComponent {
|
|
|
2808
2808
|
static { this.DEFAULT_ADDITIONAL_INFO_SIZE = '14px'; }
|
|
2809
2809
|
static { this.DEFAULT_BACKGROUND_COLOR = '#fff'; }
|
|
2810
2810
|
isIconObject() {
|
|
2811
|
-
return typeof this.cardData.icon === 'object';
|
|
2811
|
+
return (typeof this.cardData.icon === 'object' && this.cardData.icon !== null);
|
|
2812
2812
|
}
|
|
2813
2813
|
isTitleObject() {
|
|
2814
|
-
return typeof this.cardData.title === 'object';
|
|
2814
|
+
return (typeof this.cardData.title === 'object' && this.cardData.title !== null);
|
|
2815
2815
|
}
|
|
2816
2816
|
isValueObject() {
|
|
2817
|
-
return typeof this.cardData.value === 'object';
|
|
2817
|
+
return (typeof this.cardData.value === 'object' && this.cardData.value !== null);
|
|
2818
2818
|
}
|
|
2819
2819
|
isLabelObject(label) {
|
|
2820
|
-
return typeof label === 'object';
|
|
2820
|
+
return typeof label === 'object' && label !== null;
|
|
2821
2821
|
}
|
|
2822
2822
|
isAdditionalInfoObject() {
|
|
2823
|
-
return typeof this.cardData.additionalInfo === 'object'
|
|
2823
|
+
return (typeof this.cardData.additionalInfo === 'object' &&
|
|
2824
|
+
this.cardData.additionalInfo !== null);
|
|
2824
2825
|
}
|
|
2825
2826
|
getIconText() {
|
|
2826
2827
|
return this.isIconObject()
|
|
@@ -2830,35 +2831,34 @@ class PTMetricCardComponent {
|
|
|
2830
2831
|
getTitleText() {
|
|
2831
2832
|
return this.isTitleObject()
|
|
2832
2833
|
? this.cardData.title.text
|
|
2833
|
-
: this.cardData.title;
|
|
2834
|
+
: this.cardData.title || '';
|
|
2834
2835
|
}
|
|
2835
2836
|
getValueText() {
|
|
2836
2837
|
return this.isValueObject()
|
|
2837
2838
|
? this.cardData.value.text
|
|
2838
|
-
: this.cardData.value;
|
|
2839
|
+
: this.cardData.value || '';
|
|
2839
2840
|
}
|
|
2840
2841
|
getLabelText() {
|
|
2841
2842
|
const label = this.cardData.value?.label;
|
|
2842
2843
|
return this.isLabelObject(label)
|
|
2843
2844
|
? label.text
|
|
2844
|
-
: label;
|
|
2845
|
+
: label || '';
|
|
2845
2846
|
}
|
|
2846
2847
|
getAdditionalInfoText() {
|
|
2847
2848
|
return this.isAdditionalInfoObject()
|
|
2848
2849
|
? this.cardData.additionalInfo.text
|
|
2849
|
-
: this.cardData.additionalInfo;
|
|
2850
|
+
: this.cardData.additionalInfo || '';
|
|
2850
2851
|
}
|
|
2851
2852
|
getIconStyles() {
|
|
2852
2853
|
if (this.isIconObject()) {
|
|
2853
2854
|
const icon = this.cardData.icon;
|
|
2854
|
-
const shape = icon.shape || 'circular';
|
|
2855
|
-
// Determine border radius based on shape
|
|
2855
|
+
const shape = icon.shape || 'circular';
|
|
2856
2856
|
const borderRadius = shape === 'circular' ? '50%' : '8px';
|
|
2857
2857
|
return {
|
|
2858
2858
|
color: icon.color || PTMetricCardComponent.DEFAULT_ICON_COLOR,
|
|
2859
2859
|
fontSize: icon.fontSize || PTMetricCardComponent.DEFAULT_ICON_SIZE,
|
|
2860
|
-
|
|
2861
|
-
|
|
2860
|
+
backgroundColor: icon.backgroundColor || 'transparent',
|
|
2861
|
+
borderRadius,
|
|
2862
2862
|
padding: '6px',
|
|
2863
2863
|
display: 'inline-block',
|
|
2864
2864
|
};
|
|
@@ -2879,19 +2879,43 @@ class PTMetricCardComponent {
|
|
|
2879
2879
|
getValueStyles() {
|
|
2880
2880
|
if (this.isValueObject()) {
|
|
2881
2881
|
const value = this.cardData.value;
|
|
2882
|
+
const position = value.position || 'left';
|
|
2882
2883
|
return {
|
|
2883
2884
|
color: value.color || PTMetricCardComponent.DEFAULT_VALUE_COLOR,
|
|
2884
2885
|
fontSize: value.fontSize || PTMetricCardComponent.DEFAULT_VALUE_SIZE,
|
|
2885
2886
|
fontWeight: value.fontWeight || 'bold',
|
|
2887
|
+
textAlign: position,
|
|
2888
|
+
width: '100%',
|
|
2889
|
+
display: 'flex',
|
|
2890
|
+
justifyContent: position === 'center'
|
|
2891
|
+
? 'center'
|
|
2892
|
+
: position === 'right'
|
|
2893
|
+
? 'flex-end'
|
|
2894
|
+
: 'flex-start',
|
|
2895
|
+
alignItems: 'center',
|
|
2886
2896
|
};
|
|
2887
2897
|
}
|
|
2888
|
-
|
|
2898
|
+
return {
|
|
2899
|
+
color: PTMetricCardComponent.DEFAULT_VALUE_COLOR,
|
|
2900
|
+
fontSize: PTMetricCardComponent.DEFAULT_VALUE_SIZE,
|
|
2901
|
+
fontWeight: 'bold',
|
|
2902
|
+
textAlign: 'left',
|
|
2903
|
+
width: '100%',
|
|
2904
|
+
display: 'flex',
|
|
2905
|
+
justifyContent: 'flex-start',
|
|
2906
|
+
alignItems: 'center',
|
|
2907
|
+
};
|
|
2908
|
+
}
|
|
2909
|
+
getValueTextStyles() {
|
|
2910
|
+
if (this.isValueObject()) {
|
|
2911
|
+
const value = this.cardData.value;
|
|
2889
2912
|
return {
|
|
2890
|
-
|
|
2891
|
-
fontSize: PTMetricCardComponent.DEFAULT_VALUE_SIZE,
|
|
2892
|
-
fontWeight: 'bold',
|
|
2913
|
+
textAlign: value.position || 'left',
|
|
2893
2914
|
};
|
|
2894
2915
|
}
|
|
2916
|
+
return {
|
|
2917
|
+
textAlign: 'left',
|
|
2918
|
+
};
|
|
2895
2919
|
}
|
|
2896
2920
|
getLabelStyles(position) {
|
|
2897
2921
|
const label = this.cardData.value?.label;
|
|
@@ -2905,13 +2929,11 @@ class PTMetricCardComponent {
|
|
|
2905
2929
|
fontWeight: label.fontWeight || 'normal',
|
|
2906
2930
|
};
|
|
2907
2931
|
}
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
};
|
|
2914
|
-
}
|
|
2932
|
+
return {
|
|
2933
|
+
color: PTMetricCardComponent.DEFAULT_LABEL_COLOR,
|
|
2934
|
+
fontSize: PTMetricCardComponent.DEFAULT_LABEL_SIZE,
|
|
2935
|
+
fontWeight: 'normal',
|
|
2936
|
+
};
|
|
2915
2937
|
}
|
|
2916
2938
|
getAdditionalInfoStyles() {
|
|
2917
2939
|
if (this.isAdditionalInfoObject()) {
|
|
@@ -2924,13 +2946,11 @@ class PTMetricCardComponent {
|
|
|
2924
2946
|
fontWeight: additionalInfo.fontWeight || 'normal',
|
|
2925
2947
|
};
|
|
2926
2948
|
}
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
};
|
|
2933
|
-
}
|
|
2949
|
+
return {
|
|
2950
|
+
color: PTMetricCardComponent.DEFAULT_ADDITIONAL_INFO_COLOR,
|
|
2951
|
+
fontSize: PTMetricCardComponent.DEFAULT_ADDITIONAL_INFO_SIZE,
|
|
2952
|
+
fontWeight: 'normal',
|
|
2953
|
+
};
|
|
2934
2954
|
}
|
|
2935
2955
|
isLabelOnLeft() {
|
|
2936
2956
|
const label = this.cardData.value?.label;
|
|
@@ -2942,26 +2962,26 @@ class PTMetricCardComponent {
|
|
|
2942
2962
|
}
|
|
2943
2963
|
getMetricCardContainerStyle() {
|
|
2944
2964
|
return {
|
|
2945
|
-
|
|
2946
|
-
|
|
2965
|
+
minWidth: this.cardData.size?.minWidth || '100%',
|
|
2966
|
+
maxWidth: this.cardData.size?.maxWidth || 'calc(25% - 16px)',
|
|
2947
2967
|
width: this.cardData.size?.fixedWidth || 'auto',
|
|
2948
2968
|
};
|
|
2949
2969
|
}
|
|
2950
2970
|
getMetricCardStyle() {
|
|
2951
2971
|
return {
|
|
2952
|
-
|
|
2972
|
+
backgroundColor: this.cardData.appearance?.backgroundColor ||
|
|
2953
2973
|
PTMetricCardComponent.DEFAULT_BACKGROUND_COLOR,
|
|
2954
|
-
|
|
2955
|
-
|
|
2974
|
+
minWidth: this.cardData.size?.minWidth || '100%',
|
|
2975
|
+
maxWidth: this.cardData.size?.maxWidth || 'calc(25% - 16px)',
|
|
2956
2976
|
width: this.cardData.size?.fixedWidth || 'auto',
|
|
2957
2977
|
};
|
|
2958
2978
|
}
|
|
2959
2979
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMetricCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2960
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTMetricCardComponent, selector: "pt-metric-card", inputs: { cardData: "cardData" }, ngImport: i0, template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8'
|
|
2980
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTMetricCardComponent, selector: "pt-metric-card", inputs: { cardData: "cardData" }, ngImport: i0, template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8',\n }\"\n ></div>\n\n <div class=\"metric-card\" [ngStyle]=\"getMetricCardStyle()\">\n <div class=\"metric-card-header\">\n <i\n *ngIf=\"isIconObject()\"\n [ngClass]=\"getIconText()\"\n [ngStyle]=\"getIconStyles()\"\n ></i>\n <i *ngIf=\"!isIconObject()\" [ngClass]=\"cardData.icon\"></i>\n\n <span\n *ngIf=\"isTitleObject()\"\n class=\"metric-card-header-text\"\n [ngStyle]=\"getTitleStyles()\"\n >\n {{ getTitleText() }}\n </span>\n <span *ngIf=\"!isTitleObject()\" class=\"metric-card-header-text\">\n {{ cardData.title }}\n </span>\n </div>\n\n <div class=\"metric-card-content\">\n <div class=\"metric-value\" [ngStyle]=\"getValueStyles()\">\n <span\n *ngIf=\"isLabelOnLeft()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('left')\"\n >\n {{ getLabelText() }}\n </span>\n\n <span class=\"metric-value-text\" [ngStyle]=\"getValueTextStyles()\">\n {{ getValueText() }}\n </span>\n\n <span\n *ngIf=\"isLabelOnRight()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('right')\"\n >\n {{ getLabelText() }}\n </span>\n </div>\n\n <div\n *ngIf=\"cardData.divider?.show\"\n class=\"metric-divider\"\n [ngStyle]=\"{ backgroundColor: cardData.divider?.color || '#e2e8f0' }\"\n ></div>\n\n <div\n *ngIf=\"isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ getAdditionalInfoText() }}\n </div>\n <div\n *ngIf=\"!isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ cardData.additionalInfo }}\n </div>\n </div>\n </div>\n</div>\n", styles: [".metric-card-container{display:flex;align-items:stretch;box-sizing:border-box}.vertical-line{width:4px;border-radius:8px 0 0 8px;margin-right:-4px;z-index:2}.metric-card{background-color:#fff;border-radius:5px;box-shadow:0 1px 3px #0000001a;padding:16px;display:flex;flex-direction:column;box-sizing:border-box;margin-left:0;width:100%}.metric-card-header{display:flex;align-items:center;margin-bottom:16px}.metric-card-header i.icon-text{margin-right:8px}.metric-card-header-text{margin-left:6px}.metric-card-content{display:flex;flex-direction:column;justify-content:space-between;width:100%;flex:1}.metric-value{width:100%;display:flex;align-items:center;gap:6px;box-sizing:border-box}.metric-value-text{display:inline-block;width:100%;line-height:1.2}.metric-number{font-weight:700}.metric-label,.value-label{margin-left:8px;white-space:nowrap}.metric-divider{width:100%;height:1px;margin:16px 0}.metric-additional-info{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
2961
2981
|
}
|
|
2962
2982
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMetricCardComponent, decorators: [{
|
|
2963
2983
|
type: Component,
|
|
2964
|
-
args: [{ selector: 'pt-metric-card', template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8'
|
|
2984
|
+
args: [{ selector: 'pt-metric-card', template: "<div class=\"metric-card-container\" [ngStyle]=\"getMetricCardContainerStyle()\">\n <div\n *ngIf=\"cardData.verticalLine?.show\"\n class=\"vertical-line\"\n [ngStyle]=\"{\n 'background-color': cardData.verticalLine?.color || '#5a67d8',\n }\"\n ></div>\n\n <div class=\"metric-card\" [ngStyle]=\"getMetricCardStyle()\">\n <div class=\"metric-card-header\">\n <i\n *ngIf=\"isIconObject()\"\n [ngClass]=\"getIconText()\"\n [ngStyle]=\"getIconStyles()\"\n ></i>\n <i *ngIf=\"!isIconObject()\" [ngClass]=\"cardData.icon\"></i>\n\n <span\n *ngIf=\"isTitleObject()\"\n class=\"metric-card-header-text\"\n [ngStyle]=\"getTitleStyles()\"\n >\n {{ getTitleText() }}\n </span>\n <span *ngIf=\"!isTitleObject()\" class=\"metric-card-header-text\">\n {{ cardData.title }}\n </span>\n </div>\n\n <div class=\"metric-card-content\">\n <div class=\"metric-value\" [ngStyle]=\"getValueStyles()\">\n <span\n *ngIf=\"isLabelOnLeft()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('left')\"\n >\n {{ getLabelText() }}\n </span>\n\n <span class=\"metric-value-text\" [ngStyle]=\"getValueTextStyles()\">\n {{ getValueText() }}\n </span>\n\n <span\n *ngIf=\"isLabelOnRight()\"\n class=\"value-label\"\n [ngStyle]=\"getLabelStyles('right')\"\n >\n {{ getLabelText() }}\n </span>\n </div>\n\n <div\n *ngIf=\"cardData.divider?.show\"\n class=\"metric-divider\"\n [ngStyle]=\"{ backgroundColor: cardData.divider?.color || '#e2e8f0' }\"\n ></div>\n\n <div\n *ngIf=\"isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ getAdditionalInfoText() }}\n </div>\n <div\n *ngIf=\"!isAdditionalInfoObject()\"\n class=\"metric-additional-info\"\n [ngStyle]=\"getAdditionalInfoStyles()\"\n >\n {{ cardData.additionalInfo }}\n </div>\n </div>\n </div>\n</div>\n", styles: [".metric-card-container{display:flex;align-items:stretch;box-sizing:border-box}.vertical-line{width:4px;border-radius:8px 0 0 8px;margin-right:-4px;z-index:2}.metric-card{background-color:#fff;border-radius:5px;box-shadow:0 1px 3px #0000001a;padding:16px;display:flex;flex-direction:column;box-sizing:border-box;margin-left:0;width:100%}.metric-card-header{display:flex;align-items:center;margin-bottom:16px}.metric-card-header i.icon-text{margin-right:8px}.metric-card-header-text{margin-left:6px}.metric-card-content{display:flex;flex-direction:column;justify-content:space-between;width:100%;flex:1}.metric-value{width:100%;display:flex;align-items:center;gap:6px;box-sizing:border-box}.metric-value-text{display:inline-block;width:100%;line-height:1.2}.metric-number{font-weight:700}.metric-label,.value-label{margin-left:8px;white-space:nowrap}.metric-divider{width:100%;height:1px;margin:16px 0}.metric-additional-info{margin-top:8px}\n"] }]
|
|
2965
2985
|
}], propDecorators: { cardData: [{
|
|
2966
2986
|
type: Input
|
|
2967
2987
|
}] } });
|