vk-payments 0.2.34 → 0.2.36
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/bundles/vk-payments.umd.js +44 -4
- package/bundles/vk-payments.umd.js.map +1 -1
- package/bundles/vk-payments.umd.min.js +1 -1
- package/bundles/vk-payments.umd.min.js.map +1 -1
- package/esm2015/lib/galicia/components/galicia.component.js +37 -5
- package/esm5/lib/galicia/components/galicia.component.js +45 -5
- package/fesm2015/vk-payments.js +36 -4
- package/fesm2015/vk-payments.js.map +1 -1
- package/fesm5/vk-payments.js +44 -4
- package/fesm5/vk-payments.js.map +1 -1
- package/lib/galicia/components/galicia.component.d.ts +5 -0
- package/package.json +1 -1
- package/vk-payments.metadata.json +1 -1
|
@@ -12,6 +12,7 @@ export class GaliciaComponent {
|
|
|
12
12
|
*/
|
|
13
13
|
constructor(galiciaApiService) {
|
|
14
14
|
this.galiciaApiService = galiciaApiService;
|
|
15
|
+
this.discountRate = 0.10;
|
|
15
16
|
this.statusPay = new EventEmitter();
|
|
16
17
|
this.qrImage = '';
|
|
17
18
|
this.billNumber = '';
|
|
@@ -57,6 +58,24 @@ export class GaliciaComponent {
|
|
|
57
58
|
this.startPaymentValidation();
|
|
58
59
|
}));
|
|
59
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
get subtotalAmount() {
|
|
65
|
+
if (this.discountAmountValue !== undefined && this.discountAmountValue !== null) {
|
|
66
|
+
return this.amount + this.discountAmountValue;
|
|
67
|
+
}
|
|
68
|
+
return this.amount ? Math.round(this.amount / (1 - this.discountRate)) : 0;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* @return {?}
|
|
72
|
+
*/
|
|
73
|
+
get discountAmount() {
|
|
74
|
+
if (this.discountAmountValue !== undefined && this.discountAmountValue !== null) {
|
|
75
|
+
return this.discountAmountValue;
|
|
76
|
+
}
|
|
77
|
+
return this.subtotalAmount - (this.amount || 0);
|
|
78
|
+
}
|
|
60
79
|
/**
|
|
61
80
|
* @return {?}
|
|
62
81
|
*/
|
|
@@ -99,7 +118,7 @@ export class GaliciaComponent {
|
|
|
99
118
|
this.isLoading = false;
|
|
100
119
|
this.hasError = true;
|
|
101
120
|
this.statusPay.emit(this.paymentResult);
|
|
102
|
-
this.errorMessage = response.errorsMessages[0] || '
|
|
121
|
+
this.errorMessage = response.errorsMessages[0] || 'No se pudo generar el código QR.';
|
|
103
122
|
return;
|
|
104
123
|
}
|
|
105
124
|
/** @type {?} */
|
|
@@ -115,7 +134,7 @@ export class GaliciaComponent {
|
|
|
115
134
|
initPaymentErrorHandler(error) {
|
|
116
135
|
this.isLoading = false;
|
|
117
136
|
this.hasError = true;
|
|
118
|
-
this.errorMessage = error.errorsMessages[0] || '
|
|
137
|
+
this.errorMessage = error.errorsMessages[0] || 'No se pudo generar el código QR.';
|
|
119
138
|
this.paymentResult.success = false;
|
|
120
139
|
this.statusPay.emit(this.paymentResult);
|
|
121
140
|
}
|
|
@@ -176,6 +195,8 @@ export class GaliciaComponent {
|
|
|
176
195
|
if (!response.success) {
|
|
177
196
|
this.isLoading = false;
|
|
178
197
|
this.statusPay.emit(this.paymentResult);
|
|
198
|
+
this.errorMessage = 'No fue posible validar el pago correctamente.';
|
|
199
|
+
this.hasError = true;
|
|
179
200
|
return;
|
|
180
201
|
}
|
|
181
202
|
if (response.data.isPaid) {
|
|
@@ -199,6 +220,7 @@ export class GaliciaComponent {
|
|
|
199
220
|
*/
|
|
200
221
|
paymentStatusErrorHandler(error) {
|
|
201
222
|
clearInterval(this.validationInterval);
|
|
223
|
+
this.errorMessage = 'No fue posible validar el pago correctamente.';
|
|
202
224
|
this.hasError = true;
|
|
203
225
|
}
|
|
204
226
|
/**
|
|
@@ -207,6 +229,7 @@ export class GaliciaComponent {
|
|
|
207
229
|
showQrAgain() {
|
|
208
230
|
this.showQr = true;
|
|
209
231
|
this.expired = false;
|
|
232
|
+
this.hasError = false;
|
|
210
233
|
this.startTimer();
|
|
211
234
|
this.startPaymentValidation();
|
|
212
235
|
}
|
|
@@ -222,8 +245,8 @@ export class GaliciaComponent {
|
|
|
222
245
|
GaliciaComponent.decorators = [
|
|
223
246
|
{ type: Component, args: [{
|
|
224
247
|
selector: 'lib-galicia',
|
|
225
|
-
template: "<div class=\"gc-payment\">\n <div class=\"formRow\">\n <p>\n Escane\u00E1 el c\u00F3digo QR con tu aplicaci\u00F3n bancaria para realizar el pago.\n </p>\n </div>\n\n <div *ngIf=\"isGeneratingQr && !hasError\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Generando c\u00F3digo QR...</p>\n </div>\n\n <div *ngIf=\"showQr\">\n <div class=\"qr-container\">\n <img [src]=\"qrImage\" alt=\"QR Galicia\" />\n </div>\n\n <div class=\"timer\">\n Tiempo restante: {{ minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} \n </div>\n </div>\n\n <div *ngIf=\"hasError\" class=\"payment-error\">\n <div class=\"error-icon\">\n \u26A0\n </div>\n\n <div class=\"error-message\">\n <h3>
|
|
226
|
-
styles: [".gc-payment{display:flex;flex-direction:column;align-items:center;text-align:center}.formRow{width:100%;max-width:400px;margin-bottom:20px}.loading-container{text-align:center;padding:30px}.spinner{width:40px;height:40px;margin:0 auto 15px;border:4px solid #e0e0e0;border-top:4px solid #06c;border-radius:50%;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.qr-container{margin:20px 0}.qr-container img{max-width:300px;width:100%;height:auto}.timer{margin-top:10px;font-size:18px;font-weight:600}.payment-error{text-align:center;padding:30px;max-width:400px}.error-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#fc2626;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.error-message h3{color:#fc2626;margin-bottom:10px}.payment-success{text-align:center;padding:30px}.success-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#28a745;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.success-message h3{color:#28a745;margin-bottom:10px}@-webkit-keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}"]
|
|
248
|
+
template: "<div class=\"gc-payment\">\n\n <div class=\"summary-box\">\n <div class=\"summary-row\">\n <span class=\"summary-label\">Subtotal</span>\n <span class=\"summary-value\">${{ subtotalAmount | number:'1.2-2' }}</span>\n </div>\n <div class=\"summary-row discount\">\n <span class=\"summary-label\">\n <i class=\"material-icons\">local_offer</i>\n Descuento ({{ discountRate * 100 | number:'1.0-0' }}%)\n </span>\n <span class=\"summary-value discount-value\">-${{ discountAmount | number:'1.2-2' }}</span>\n </div>\n <div class=\"summary-row total\">\n <span class=\"summary-label\">Total a abonar</span>\n <span class=\"summary-value total-value\">\n ${{ amount | number:'1.2-2' }} \n </span>\n </div>\n </div>\n\n <div class=\"formRow\">\n <p>\n Escane\u00E1 el c\u00F3digo QR con tu aplicaci\u00F3n bancaria para realizar el pago.\n </p>\n </div>\n\n <div *ngIf=\"isGeneratingQr && !hasError\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Generando c\u00F3digo QR...</p>\n </div>\n\n <div *ngIf=\"showQr && !hasError\">\n <div class=\"qr-container\">\n <img [src]=\"qrImage\" alt=\"QR Galicia\" />\n </div>\n\n <div class=\"timer\">\n Tiempo restante: {{ minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} \n </div>\n </div>\n\n <div *ngIf=\"hasError\" class=\"payment-error\">\n <div class=\"error-icon\">\n \u26A0\n </div>\n\n <div class=\"error-message\">\n <h3>Ocurri\u00F3 un error:</h3>\n\n <p>{{ errorMessage }}</p>\n </div>\n </div>\n\n <div *ngIf=\"paymentCompleted\" class=\"payment-success\">\n <div class=\"success-icon\">\n \u2713\n </div>\n\n <div class=\"success-message\">\n <h3>Pago realizado correctamente</h3>\n\n <p>\n ID de pago Galicia: <strong>{{ paymentId }}</strong>\n </p>\n </div>\n </div>\n\n <div *ngIf=\"expired && !hasError\">\n <div class=\"pay-message info\">\n El c\u00F3digo QR expir\u00F3.\n </div>\n\n <button class=\"regen-button\" type=\"button\" (click)=\"showQrAgain()\">\n Regenerar c\u00F3digo QR\n </button>\n\n </div>\n</div>",
|
|
249
|
+
styles: [".gc-payment{display:flex;flex-direction:column;align-items:center;text-align:center}.formRow{width:100%;max-width:400px;margin-bottom:20px}.loading-container{text-align:center;padding:30px}.spinner{width:40px;height:40px;margin:0 auto 15px;border:4px solid #e0e0e0;border-top:4px solid #06c;border-radius:50%;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.qr-container{margin:20px 0}.qr-container img{max-width:300px;width:100%;height:auto}.timer{margin-top:10px;font-size:18px;font-weight:600}.payment-error{text-align:center;padding:30px;max-width:400px}.error-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#fc2626;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.error-message h3{color:#fc2626;margin-bottom:10px}.payment-success{text-align:center;padding:30px}.success-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#28a745;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.success-message h3{color:#28a745;margin-bottom:10px}.summary-box{margin:20px 0;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;width:100%;min-width:250px;max-width:400px}.summary-box .summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:16px;background-color:#fff;border-bottom:1px solid #f0f0f0}.summary-box .summary-row:last-child{border-bottom:none}.summary-box .summary-row .summary-label{display:flex;align-items:center;gap:6px;color:#555}.summary-box .summary-row .summary-label i.material-icons{font-size:14px}.summary-box .summary-row .summary-value{font-weight:600;color:#1a1a1a;display:flex;align-items:center;margin-left:45px;gap:6px}.summary-box .summary-row.discount{background-color:#f0fdf4}.summary-box .summary-row.discount .summary-label{color:#16a34a;font-weight:500}.summary-box .summary-row.discount .summary-label i.material-icons{color:#16a34a}.summary-box .summary-row.discount .discount-value{color:#16a34a;font-weight:700}.summary-box .summary-row.total{background-color:#f8f9fa;border-top:2px solid #009ee3}.summary-box .summary-row.total .summary-label{font-size:17px;font-weight:700;color:#1a1a1a}.summary-box .summary-row.total .total-value{font-size:20px;font-weight:800;color:#009ee3}.regen-button{background-color:#009ee3;color:#fff;font-size:18px;text-align:center;padding:10px 0;width:100%;border:none;border-radius:20px;margin-top:20px;min-width:250px;max-width:400px;cursor:pointer}@-webkit-keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}"]
|
|
227
250
|
}] }
|
|
228
251
|
];
|
|
229
252
|
/** @nocollapse */
|
|
@@ -240,6 +263,9 @@ GaliciaComponent.propDecorators = {
|
|
|
240
263
|
storeName: [{ type: Input }],
|
|
241
264
|
sessionId: [{ type: Input }],
|
|
242
265
|
checkoutId: [{ type: Input }],
|
|
266
|
+
amount: [{ type: Input }],
|
|
267
|
+
discountRate: [{ type: Input }],
|
|
268
|
+
discountAmountValue: [{ type: Input }],
|
|
243
269
|
data: [{ type: Input }],
|
|
244
270
|
statusPay: [{ type: Output }]
|
|
245
271
|
};
|
|
@@ -263,6 +289,12 @@ if (false) {
|
|
|
263
289
|
/** @type {?} */
|
|
264
290
|
GaliciaComponent.prototype.checkoutId;
|
|
265
291
|
/** @type {?} */
|
|
292
|
+
GaliciaComponent.prototype.amount;
|
|
293
|
+
/** @type {?} */
|
|
294
|
+
GaliciaComponent.prototype.discountRate;
|
|
295
|
+
/** @type {?} */
|
|
296
|
+
GaliciaComponent.prototype.discountAmountValue;
|
|
297
|
+
/** @type {?} */
|
|
266
298
|
GaliciaComponent.prototype.data;
|
|
267
299
|
/** @type {?} */
|
|
268
300
|
GaliciaComponent.prototype.statusPay;
|
|
@@ -307,4 +339,4 @@ if (false) {
|
|
|
307
339
|
*/
|
|
308
340
|
GaliciaComponent.prototype.galiciaApiService;
|
|
309
341
|
}
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsaWNpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9nYWxpY2lhL2NvbXBvbmVudHMvZ2FsaWNpYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUXBFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7SUFvQzNCLFlBQ1UsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUF6QnBDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUV4RCxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFHMUIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFLWixrQkFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFJcEYsQ0FBQzs7OztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7OztJ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QUFrQixDQUFDLENBQUM7UUFDdkMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7WUE1TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2Qix3NUNBQXVDOzthQUV4Qzs7OztZQVBRLGlCQUFpQjs7OzBCQVV2QixLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSztxQkFDTCxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSzttQkFDTCxLQUFLO3dCQUNMLE1BQU07Ozs7SUFWUCx1Q0FBOEI7O0lBQzlCLG9DQUEyQjs7SUFDM0Isb0NBQTJCOztJQUMzQixrQ0FBeUI7O0lBQ3pCLGtDQUF5Qjs7SUFDekIsbUNBQTBCOztJQUMxQixxQ0FBNEI7O0lBQzVCLHFDQUE0Qjs7SUFDNUIsc0NBQTZCOztJQUM3QixnQ0FBdUI7O0lBQ3ZCLHFDQUF3RDs7SUFFeEQsbUNBQXFCOztJQUNyQixzQ0FBd0I7O0lBQ3hCLHdDQUEwQjs7SUFDMUIsd0NBQTJCOztJQUUzQiwwQ0FBc0I7O0lBQ3RCLDRDQUF5Qjs7SUFDekIscUNBQWU7O0lBRWYsa0NBQWU7O0lBQ2YsbUNBQWdCOztJQUNoQixxQ0FBMkI7O0lBQzNCLG9DQUEwQjs7SUFFMUIsbUNBQVk7O0lBQ1osbUNBQVk7Ozs7O0lBRVosb0NBQXNCOztJQUN0Qiw4Q0FBd0I7O0lBRXhCLHlDQUF3Rjs7Ozs7SUFHdEYsNkNBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBHYWxpY2lhQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dhbGljaWEuYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5pdFBheW1lbnQsIFBheW1lbnRSZXN1bHQsIFJlc3BvbnNlQXBpIH0gZnJvbSAnLi4vbW9kZWxzL2dhbGljaWEubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdhbGljaWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FsaWNpYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dhbGljaWEuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHYWxpY2lhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBhY2Nlc3NUb2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgZ2FVcmxBcGkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSB1c2VySWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxvZ29HYSE6IHN0cmluZztcbiAgQElucHV0KCkgc3RvcmVJZCE6IHN0cmluZztcbiAgQElucHV0KCkgc3RvcmVOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzZXNzaW9uSWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNoZWNrb3V0SWQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRhdGEhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzdGF0dXNQYXkgPSBuZXcgRXZlbnRFbWl0dGVyPFBheW1lbnRSZXN1bHQ+KCk7XG5cbiAgcXJJbWFnZTogc3RyaW5nID0gJyc7XG4gIGJpbGxOdW1iZXI6IHN0cmluZyA9ICcnO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBPaW5pdFBheW1lbnQhOiBJbml0UGF5bWVudDtcblxuICBpc0dlbmVyYXRpbmdRciA9IHRydWU7XG4gIHBheW1lbnRDb21wbGV0ZWQgPSBmYWxzZTtcbiAgcGF5bWVudElkID0gJyc7XG5cbiAgc2hvd1FyID0gZmFsc2U7XG4gIGV4cGlyZWQgPSBmYWxzZTtcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgbWludXRlcyA9IDA7XG4gIHNlY29uZHMgPSAwO1xuXG4gIHByaXZhdGUgaW50ZXJ2YWw6IGFueTtcbiAgdmFsaWRhdGlvbkludGVydmFsOiBhbnk7XG5cbiAgcGF5bWVudFJlc3VsdDogUGF5bWVudFJlc3VsdCA9IHsgc3VjY2VzczogZmFsc2UsIHBheW1lbnRJZDogJycsIGludGVncmF0b3I6ICdHQUxJQ0lBJyB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZ2FsaWNpYUFwaVNlcnZpY2U6IEdhbGljaWFBcGlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmVhdGVJbml0UGF5bWVudCgpO1xuICB9XG5cbiAgZ2VuZXJhdGVRcihkYXRvczogc3RyaW5nKSB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGF0b2IoZGF0b3MpO1xuXG4gICAgUVJDb2RlLnRvRGF0YVVSTChkZWNvZGVkLCB7XG4gICAgICB3aWR0aDogMzAwLFxuICAgICAgbWFyZ2luOiAyXG4gICAgfSlcbiAgICAgIC50aGVuKHVybCA9PiB7XG4gICAgICAgIHRoaXMucXJJbWFnZSA9IHVybDtcblxuICAgICAgICB0aGlzLmlzR2VuZXJhdGluZ1FyID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zaG93UXIgPSB0cnVlO1xuICAgICAgICB0aGlzLmV4cGlyZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnN0YXJ0VGltZXIoKTtcblxuICAgICAgICB0aGlzLnN0YXJ0UGF5bWVudFZhbGlkYXRpb24oKTtcblxuICAgICAgfSk7XG4gIH1cblxuICBjcmVhdGVJbml0UGF5bWVudCgpIHtcbiAgICB0aGlzLk9pbml0UGF5bWVudCA9IHtcbiAgICAgIHNlc3Npb25JZDogJycsXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcklkLFxuICAgICAgc3RvcmVJZDogdGhpcy5zdG9yZUlkLFxuICAgICAgc3RvcmVOYW1lOiB0aGlzLnN0b3JlTmFtZSxcbiAgICAgIGNoZWNrb3V0SWQ6IHRoaXMuY2hlY2tvdXRJZFxuICAgIH1cblxuICAgIHRoaXMuaW5pdFBheW1lbnQoKTtcbiAgfVxuXG4gIGluaXRQYXltZW50KCkge1xuICAgIHRoaXMuaXNHZW5lcmF0aW5nUXIgPSB0cnVlO1xuXG4gICAgdGhpcy5nYWxpY2lhQXBpU2VydmljZS5pbml0UGF5bWVudCh0aGlzLnZrVXJsQXBpLCB0aGlzLk9pbml0UGF5bWVudClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodikgPT4gdGhpcy5pbml0UGF5bWVudFJlc3BvbnNlSGFuZGxlcih2KSxcbiAgICAgICAgZXJyb3I6ICh2KSA9PiB0aGlzLmluaXRQYXltZW50RXJyb3JIYW5kbGVyKHYpXG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGF5bWVudFJlc3BvbnNlSGFuZGxlcihyZXNwb25zZTogUmVzcG9uc2VBcGkpIHtcbiAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gcmVzcG9uc2UuZXJyb3JzTWVzc2FnZXNbMF0gfHwgJ09jdXJyacOzIHVuIGVycm9yIGFsIGdlbmVyYXIgZWwgY8OzZGlnbyBRUi4nO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHFyRGF0YSA9IHJlc3BvbnNlLmRhdGEuYmlsbHNbMF0ucXIuZGF0b3M7XG4gICAgdGhpcy5iaWxsTnVtYmVyID0gcmVzcG9uc2UuZGF0YS5iaWxsc1swXS5ucm9Cb2xldGE7XG5cbiAgICB0aGlzLmdlbmVyYXRlUXIocXJEYXRhKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGF5bWVudEVycm9ySGFuZGxlcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcblxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IuZXJyb3JzTWVzc2FnZXNbMF0gfHwgJ09jdXJyacOzIHVuIGVycm9yIGFsIGdlbmVyYXIgZWwgY8OzZGlnbyBRUi4nO1xuXG4gICAgdGhpcy5wYXltZW50UmVzdWx0LnN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgfVxuXG4gIHN0YXJ0VGltZXIoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcblxuICAgIHRoaXMubWludXRlcyA9IDE7XG4gICAgdGhpcy5zZWNvbmRzID0gMDtcblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zZWNvbmRzID09PSAwKSB7XG4gICAgICAgIGlmICh0aGlzLm1pbnV0ZXMgPT09IDApIHtcbiAgICAgICAgICB0aGlzLnN0b3BWYWxpZGF0aW9uKCk7XG5cbiAgICAgICAgICB0aGlzLnNob3dRciA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXhwaXJlZCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1pbnV0ZXMtLTtcbiAgICAgICAgdGhpcy5zZWNvbmRzID0gNTk7XG5cbiAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgdGhpcy5zZWNvbmRzLS07XG4gICAgICB9XG5cbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIHN0YXJ0UGF5bWVudFZhbGlkYXRpb24oKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG5cbiAgICAgIHRoaXMuZ2FsaWNpYUFwaVNlcnZpY2UucGF5bWVudFN0YXR1cyh0aGlzLnZrVXJsQXBpLCB0aGlzLmJpbGxOdW1iZXIpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6ICh2KSA9PiB0aGlzLnBheW1lbnRTdGF0dXNSZXNwb25zZUhhbmRsZXIodiksXG4gICAgICAgICAgZXJyb3I6ICh2KSA9PiB0aGlzLnBheW1lbnRTdGF0dXNFcnJvckhhbmRsZXIodilcbiAgICAgICAgfSk7XG4gICAgfSwgNTAwMCk7XG4gIH1cblxuICBwYXltZW50U3RhdHVzUmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSkge1xuICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChyZXNwb25zZS5kYXRhLmlzUGFpZCkge1xuICAgICAgdGhpcy5zdG9wVmFsaWRhdGlvbigpO1xuXG4gICAgICB0aGlzLnNob3dRciA9IGZhbHNlO1xuICAgICAgdGhpcy5leHBpcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLnBheW1lbnRDb21wbGV0ZWQgPSB0cnVlO1xuXG4gICAgICB0aGlzLnBheW1lbnRJZCA9IHJlc3BvbnNlLmRhdGEucGF5bWVudElkO1xuXG4gICAgICB0aGlzLnBheW1lbnRSZXN1bHQgPSB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIHBheW1lbnRJZDogdGhpcy5wYXltZW50SWQsXG4gICAgICAgIGludGVncmF0b3I6ICdHQUxJQ0lBJ1xuICAgICAgfTtcblxuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYXltZW50U3RhdHVzRXJyb3JIYW5kbGVyKGVycm9yOiBhbnkpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMudmFsaWRhdGlvbkludGVydmFsKTtcblxuICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgc2hvd1FyQWdhaW4oKSB7XG4gICAgdGhpcy5zaG93UXIgPSB0cnVlO1xuICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5zdGFydFRpbWVyKCk7XG4gICAgdGhpcy5zdGFydFBheW1lbnRWYWxpZGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BWYWxpZGF0aW9uKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy52YWxpZGF0aW9uSW50ZXJ2YWwpO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gIH1cbn0iXX0=
|
|
342
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsaWNpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9nYWxpY2lhL2NvbXBvbmVudHMvZ2FsaWNpYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUXBFLE1BQU0sT0FBTyxnQkFBZ0I7Ozs7SUF1QzNCLFlBQ1UsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUE1QnJDLGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBRzNCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUV4RCxZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFHMUIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFLWixrQkFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFJcEYsQ0FBQzs7OztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlC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Q0wsS0FBSzt3QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLOzJCQUNMLEtBQUs7a0NBQ0wsS0FBSzttQkFDTCxLQUFLO3dCQUNMLE1BQU07Ozs7SUFiUCx1Q0FBOEI7O0lBQzlCLG9DQUEyQjs7SUFDM0Isb0NBQTJCOztJQUMzQixrQ0FBeUI7O0lBQ3pCLGtDQUF5Qjs7SUFDekIsbUNBQTBCOztJQUMxQixxQ0FBNEI7O0lBQzVCLHFDQUE0Qjs7SUFDNUIsc0NBQTZCOztJQUM3QixrQ0FBeUI7O0lBQ3pCLHdDQUFxQzs7SUFDckMsK0NBQXNDOztJQUN0QyxnQ0FBdUI7O0lBQ3ZCLHFDQUF3RDs7SUFFeEQsbUNBQXFCOztJQUNyQixzQ0FBd0I7O0lBQ3hCLHdDQUEwQjs7SUFDMUIsd0NBQTJCOztJQUUzQiwwQ0FBc0I7O0lBQ3RCLDRDQUF5Qjs7SUFDekIscUNBQWU7O0lBRWYsa0NBQWU7O0lBQ2YsbUNBQWdCOztJQUNoQixxQ0FBMkI7O0lBQzNCLG9DQUEwQjs7SUFFMUIsbUNBQVk7O0lBQ1osbUNBQVk7Ozs7O0lBRVosb0NBQXNCOztJQUN0Qiw4Q0FBd0I7O0lBRXhCLHlDQUF3Rjs7Ozs7SUFHdEYsNkNBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5pbXBvcnQgeyBHYWxpY2lhQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dhbGljaWEuYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5pdFBheW1lbnQsIFBheW1lbnRSZXN1bHQsIFJlc3BvbnNlQXBpIH0gZnJvbSAnLi4vbW9kZWxzL2dhbGljaWEubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdhbGljaWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2FsaWNpYS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dhbGljaWEuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHYWxpY2lhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBhY2Nlc3NUb2tlbiE6IHN0cmluZztcbiAgQElucHV0KCkgZ2FVcmxBcGkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZrVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSB1c2VySWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxvZ29HYSE6IHN0cmluZztcbiAgQElucHV0KCkgc3RvcmVJZCE6IHN0cmluZztcbiAgQElucHV0KCkgc3RvcmVOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBzZXNzaW9uSWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNoZWNrb3V0SWQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGFtb3VudCE6IG51bWJlcjtcbiAgQElucHV0KCkgZGlzY291bnRSYXRlOiBudW1iZXIgPSAwLjEwO1xuICBASW5wdXQoKSBkaXNjb3VudEFtb3VudFZhbHVlPzogbnVtYmVyO1xuICBASW5wdXQoKSBkYXRhITogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXltZW50UmVzdWx0PigpO1xuXG4gIHFySW1hZ2U6IHN0cmluZyA9ICcnO1xuICBiaWxsTnVtYmVyOiBzdHJpbmcgPSAnJztcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgT2luaXRQYXltZW50ITogSW5pdFBheW1lbnQ7XG5cbiAgaXNHZW5lcmF0aW5nUXIgPSB0cnVlO1xuICBwYXltZW50Q29tcGxldGVkID0gZmFsc2U7XG4gIHBheW1lbnRJZCA9ICcnO1xuXG4gIHNob3dRciA9IGZhbHNlO1xuICBleHBpcmVkID0gZmFsc2U7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1pbnV0ZXMgPSAwO1xuICBzZWNvbmRzID0gMDtcblxuICBwcml2YXRlIGludGVydmFsOiBhbnk7XG4gIHZhbGlkYXRpb25JbnRlcnZhbDogYW55O1xuXG4gIHBheW1lbnRSZXN1bHQ6IFBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnLCBpbnRlZ3JhdG9yOiAnR0FMSUNJQScgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdhbGljaWFBcGlTZXJ2aWNlOiBHYWxpY2lhQXBpU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlSW5pdFBheW1lbnQoKTtcbiAgfVxuXG4gIGdlbmVyYXRlUXIoZGF0b3M6IHN0cmluZykge1xuICAgIGNvbnN0IGRlY29kZWQgPSBhdG9iKGRhdG9zKTtcblxuICAgIFFSQ29kZS50b0RhdGFVUkwoZGVjb2RlZCwge1xuICAgICAgd2lkdGg6IDMwMCxcbiAgICAgIG1hcmdpbjogMlxuICAgIH0pXG4gICAgICAudGhlbih1cmwgPT4ge1xuICAgICAgICB0aGlzLnFySW1hZ2UgPSB1cmw7XG5cbiAgICAgICAgdGhpcy5pc0dlbmVyYXRpbmdRciA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc2hvd1FyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5leHBpcmVkID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKCk7XG5cbiAgICAgICAgdGhpcy5zdGFydFBheW1lbnRWYWxpZGF0aW9uKCk7XG5cbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0IHN1YnRvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuZGlzY291bnRBbW91bnRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZGlzY291bnRBbW91bnRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuYW1vdW50ICsgdGhpcy5kaXNjb3VudEFtb3VudFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbW91bnQgPyBNYXRoLnJvdW5kKHRoaXMuYW1vdW50IC8gKDEgLSB0aGlzLmRpc2NvdW50UmF0ZSkpIDogMDtcbiAgfVxuXG4gIGdldCBkaXNjb3VudEFtb3VudCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmRpc2NvdW50QW1vdW50VmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRpc2NvdW50QW1vdW50VmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2NvdW50QW1vdW50VmFsdWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN1YnRvdGFsQW1vdW50IC0gKHRoaXMuYW1vdW50IHx8IDApO1xuICB9XG5cbiAgY3JlYXRlSW5pdFBheW1lbnQoKSB7XG4gICAgdGhpcy5PaW5pdFBheW1lbnQgPSB7XG4gICAgICBzZXNzaW9uSWQ6ICcnLFxuICAgICAgdXNlcklkOiB0aGlzLnVzZXJJZCxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZU5hbWUsXG4gICAgICBjaGVja291dElkOiB0aGlzLmNoZWNrb3V0SWRcbiAgICB9XG5cbiAgICB0aGlzLmluaXRQYXltZW50KCk7XG4gIH1cblxuICBpbml0UGF5bWVudCgpIHtcbiAgICB0aGlzLmlzR2VuZXJhdGluZ1FyID0gdHJ1ZTtcblxuICAgIHRoaXMuZ2FsaWNpYUFwaVNlcnZpY2UuaW5pdFBheW1lbnQodGhpcy52a1VybEFwaSwgdGhpcy5PaW5pdFBheW1lbnQpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHYpID0+IHRoaXMuaW5pdFBheW1lbnRSZXNwb25zZUhhbmRsZXIodiksXG4gICAgICAgIGVycm9yOiAodikgPT4gdGhpcy5pbml0UGF5bWVudEVycm9ySGFuZGxlcih2KVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFBheW1lbnRSZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IFJlc3BvbnNlQXBpKSB7XG4gICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yc01lc3NhZ2VzWzBdIHx8ICdObyBzZSBwdWRvIGdlbmVyYXIgZWwgY8OzZGlnbyBRUi4nO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHFyRGF0YSA9IHJlc3BvbnNlLmRhdGEuYmlsbHNbMF0ucXIuZGF0b3M7XG4gICAgdGhpcy5iaWxsTnVtYmVyID0gcmVzcG9uc2UuZGF0YS5iaWxsc1swXS5ucm9Cb2xldGE7XG5cbiAgICB0aGlzLmdlbmVyYXRlUXIocXJEYXRhKVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGF5bWVudEVycm9ySGFuZGxlcihlcnJvcjogYW55KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcblxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IuZXJyb3JzTWVzc2FnZXNbMF0gfHwgJ05vIHNlIHB1ZG8gZ2VuZXJhciBlbCBjw7NkaWdvIFFSLic7XG5cbiAgICB0aGlzLnBheW1lbnRSZXN1bHQuc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICB9XG5cbiAgc3RhcnRUaW1lcigpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuXG4gICAgdGhpcy5taW51dGVzID0gMTtcbiAgICB0aGlzLnNlY29uZHMgPSAwO1xuXG4gICAgdGhpcy5pbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnNlY29uZHMgPT09IDApIHtcbiAgICAgICAgaWYgKHRoaXMubWludXRlcyA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuc3RvcFZhbGlkYXRpb24oKTtcblxuICAgICAgICAgIHRoaXMuc2hvd1FyID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5leHBpcmVkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWludXRlcy0tO1xuICAgICAgICB0aGlzLnNlY29uZHMgPSA1OTtcblxuICAgICAgfSBlbHNlIHtcblxuICAgICAgICB0aGlzLnNlY29uZHMtLTtcbiAgICAgIH1cblxuICAgIH0sIDEwMDApO1xuICB9XG5cbiAgc3RhcnRQYXltZW50VmFsaWRhdGlvbigpIHtcbiAgICB0aGlzLnZhbGlkYXRpb25JbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcblxuICAgICAgdGhpcy5nYWxpY2lhQXBpU2VydmljZS5wYXltZW50U3RhdHVzKHRoaXMudmtVcmxBcGksIHRoaXMuYmlsbE51bWJlcilcbiAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHYpID0+IHRoaXMucGF5bWVudFN0YXR1c1Jlc3BvbnNlSGFuZGxlcih2KSxcbiAgICAgICAgICBlcnJvcjogKHYpID0+IHRoaXMucGF5bWVudFN0YXR1c0Vycm9ySGFuZGxlcih2KVxuICAgICAgICB9KTtcbiAgICB9LCA1MDAwKTtcbiAgfVxuXG4gIHBheW1lbnRTdGF0dXNSZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IFJlc3BvbnNlQXBpKSB7XG4gICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTm8gZnVlIHBvc2libGUgdmFsaWRhciBlbCBwYWdvIGNvcnJlY3RhbWVudGUuJ1xuICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocmVzcG9uc2UuZGF0YS5pc1BhaWQpIHtcbiAgICAgIHRoaXMuc3RvcFZhbGlkYXRpb24oKTtcblxuICAgICAgdGhpcy5zaG93UXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5wYXltZW50Q29tcGxldGVkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5wYXltZW50SWQgPSByZXNwb25zZS5kYXRhLnBheW1lbnRJZDtcblxuICAgICAgdGhpcy5wYXltZW50UmVzdWx0ID0ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBwYXltZW50SWQ6IHRoaXMucGF5bWVudElkLFxuICAgICAgICBpbnRlZ3JhdG9yOiAnR0FMSUNJQSdcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcblxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGF5bWVudFN0YXR1c0Vycm9ySGFuZGxlcihlcnJvcjogYW55KSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnZhbGlkYXRpb25JbnRlcnZhbCk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTm8gZnVlIHBvc2libGUgdmFsaWRhciBlbCBwYWdvIGNvcnJlY3RhbWVudGUuJ1xuXG4gICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG4gIH1cblxuICBzaG93UXJBZ2FpbigpIHtcbiAgICB0aGlzLnNob3dRciA9IHRydWU7XG4gICAgdGhpcy5leHBpcmVkID0gZmFsc2U7XG4gICAgdGhpcy5oYXNFcnJvciA9IGZhbHNlO1xuXG4gICAgdGhpcy5zdGFydFRpbWVyKCk7XG4gICAgdGhpcy5zdGFydFBheW1lbnRWYWxpZGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BWYWxpZGF0aW9uKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy52YWxpZGF0aW9uSW50ZXJ2YWwpO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG4gIH1cbn0iXX0=
|
|
@@ -9,6 +9,7 @@ import { GaliciaApiService } from '../services/galicia.api.service';
|
|
|
9
9
|
var GaliciaComponent = /** @class */ (function () {
|
|
10
10
|
function GaliciaComponent(galiciaApiService) {
|
|
11
11
|
this.galiciaApiService = galiciaApiService;
|
|
12
|
+
this.discountRate = 0.10;
|
|
12
13
|
this.statusPay = new EventEmitter();
|
|
13
14
|
this.qrImage = '';
|
|
14
15
|
this.billNumber = '';
|
|
@@ -62,6 +63,32 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
62
63
|
_this.startPaymentValidation();
|
|
63
64
|
}));
|
|
64
65
|
};
|
|
66
|
+
Object.defineProperty(GaliciaComponent.prototype, "subtotalAmount", {
|
|
67
|
+
get: /**
|
|
68
|
+
* @return {?}
|
|
69
|
+
*/
|
|
70
|
+
function () {
|
|
71
|
+
if (this.discountAmountValue !== undefined && this.discountAmountValue !== null) {
|
|
72
|
+
return this.amount + this.discountAmountValue;
|
|
73
|
+
}
|
|
74
|
+
return this.amount ? Math.round(this.amount / (1 - this.discountRate)) : 0;
|
|
75
|
+
},
|
|
76
|
+
enumerable: true,
|
|
77
|
+
configurable: true
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(GaliciaComponent.prototype, "discountAmount", {
|
|
80
|
+
get: /**
|
|
81
|
+
* @return {?}
|
|
82
|
+
*/
|
|
83
|
+
function () {
|
|
84
|
+
if (this.discountAmountValue !== undefined && this.discountAmountValue !== null) {
|
|
85
|
+
return this.discountAmountValue;
|
|
86
|
+
}
|
|
87
|
+
return this.subtotalAmount - (this.amount || 0);
|
|
88
|
+
},
|
|
89
|
+
enumerable: true,
|
|
90
|
+
configurable: true
|
|
91
|
+
});
|
|
65
92
|
/**
|
|
66
93
|
* @return {?}
|
|
67
94
|
*/
|
|
@@ -116,7 +143,7 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
116
143
|
this.isLoading = false;
|
|
117
144
|
this.hasError = true;
|
|
118
145
|
this.statusPay.emit(this.paymentResult);
|
|
119
|
-
this.errorMessage = response.errorsMessages[0] || '
|
|
146
|
+
this.errorMessage = response.errorsMessages[0] || 'No se pudo generar el código QR.';
|
|
120
147
|
return;
|
|
121
148
|
}
|
|
122
149
|
/** @type {?} */
|
|
@@ -137,7 +164,7 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
137
164
|
function (error) {
|
|
138
165
|
this.isLoading = false;
|
|
139
166
|
this.hasError = true;
|
|
140
|
-
this.errorMessage = error.errorsMessages[0] || '
|
|
167
|
+
this.errorMessage = error.errorsMessages[0] || 'No se pudo generar el código QR.';
|
|
141
168
|
this.paymentResult.success = false;
|
|
142
169
|
this.statusPay.emit(this.paymentResult);
|
|
143
170
|
};
|
|
@@ -210,6 +237,8 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
210
237
|
if (!response.success) {
|
|
211
238
|
this.isLoading = false;
|
|
212
239
|
this.statusPay.emit(this.paymentResult);
|
|
240
|
+
this.errorMessage = 'No fue posible validar el pago correctamente.';
|
|
241
|
+
this.hasError = true;
|
|
213
242
|
return;
|
|
214
243
|
}
|
|
215
244
|
if (response.data.isPaid) {
|
|
@@ -238,6 +267,7 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
238
267
|
*/
|
|
239
268
|
function (error) {
|
|
240
269
|
clearInterval(this.validationInterval);
|
|
270
|
+
this.errorMessage = 'No fue posible validar el pago correctamente.';
|
|
241
271
|
this.hasError = true;
|
|
242
272
|
};
|
|
243
273
|
/**
|
|
@@ -249,6 +279,7 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
249
279
|
function () {
|
|
250
280
|
this.showQr = true;
|
|
251
281
|
this.expired = false;
|
|
282
|
+
this.hasError = false;
|
|
252
283
|
this.startTimer();
|
|
253
284
|
this.startPaymentValidation();
|
|
254
285
|
};
|
|
@@ -267,8 +298,8 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
267
298
|
GaliciaComponent.decorators = [
|
|
268
299
|
{ type: Component, args: [{
|
|
269
300
|
selector: 'lib-galicia',
|
|
270
|
-
template: "<div class=\"gc-payment\">\n <div class=\"formRow\">\n <p>\n Escane\u00E1 el c\u00F3digo QR con tu aplicaci\u00F3n bancaria para realizar el pago.\n </p>\n </div>\n\n <div *ngIf=\"isGeneratingQr && !hasError\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Generando c\u00F3digo QR...</p>\n </div>\n\n <div *ngIf=\"showQr\">\n <div class=\"qr-container\">\n <img [src]=\"qrImage\" alt=\"QR Galicia\" />\n </div>\n\n <div class=\"timer\">\n Tiempo restante: {{ minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} \n </div>\n </div>\n\n <div *ngIf=\"hasError\" class=\"payment-error\">\n <div class=\"error-icon\">\n \u26A0\n </div>\n\n <div class=\"error-message\">\n <h3>
|
|
271
|
-
styles: [".gc-payment{display:flex;flex-direction:column;align-items:center;text-align:center}.formRow{width:100%;max-width:400px;margin-bottom:20px}.loading-container{text-align:center;padding:30px}.spinner{width:40px;height:40px;margin:0 auto 15px;border:4px solid #e0e0e0;border-top:4px solid #06c;border-radius:50%;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.qr-container{margin:20px 0}.qr-container img{max-width:300px;width:100%;height:auto}.timer{margin-top:10px;font-size:18px;font-weight:600}.payment-error{text-align:center;padding:30px;max-width:400px}.error-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#fc2626;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.error-message h3{color:#fc2626;margin-bottom:10px}.payment-success{text-align:center;padding:30px}.success-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#28a745;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.success-message h3{color:#28a745;margin-bottom:10px}@-webkit-keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}"]
|
|
301
|
+
template: "<div class=\"gc-payment\">\n\n <div class=\"summary-box\">\n <div class=\"summary-row\">\n <span class=\"summary-label\">Subtotal</span>\n <span class=\"summary-value\">${{ subtotalAmount | number:'1.2-2' }}</span>\n </div>\n <div class=\"summary-row discount\">\n <span class=\"summary-label\">\n <i class=\"material-icons\">local_offer</i>\n Descuento ({{ discountRate * 100 | number:'1.0-0' }}%)\n </span>\n <span class=\"summary-value discount-value\">-${{ discountAmount | number:'1.2-2' }}</span>\n </div>\n <div class=\"summary-row total\">\n <span class=\"summary-label\">Total a abonar</span>\n <span class=\"summary-value total-value\">\n ${{ amount | number:'1.2-2' }} \n </span>\n </div>\n </div>\n\n <div class=\"formRow\">\n <p>\n Escane\u00E1 el c\u00F3digo QR con tu aplicaci\u00F3n bancaria para realizar el pago.\n </p>\n </div>\n\n <div *ngIf=\"isGeneratingQr && !hasError\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Generando c\u00F3digo QR...</p>\n </div>\n\n <div *ngIf=\"showQr && !hasError\">\n <div class=\"qr-container\">\n <img [src]=\"qrImage\" alt=\"QR Galicia\" />\n </div>\n\n <div class=\"timer\">\n Tiempo restante: {{ minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} \n </div>\n </div>\n\n <div *ngIf=\"hasError\" class=\"payment-error\">\n <div class=\"error-icon\">\n \u26A0\n </div>\n\n <div class=\"error-message\">\n <h3>Ocurri\u00F3 un error:</h3>\n\n <p>{{ errorMessage }}</p>\n </div>\n </div>\n\n <div *ngIf=\"paymentCompleted\" class=\"payment-success\">\n <div class=\"success-icon\">\n \u2713\n </div>\n\n <div class=\"success-message\">\n <h3>Pago realizado correctamente</h3>\n\n <p>\n ID de pago Galicia: <strong>{{ paymentId }}</strong>\n </p>\n </div>\n </div>\n\n <div *ngIf=\"expired && !hasError\">\n <div class=\"pay-message info\">\n El c\u00F3digo QR expir\u00F3.\n </div>\n\n <button class=\"regen-button\" type=\"button\" (click)=\"showQrAgain()\">\n Regenerar c\u00F3digo QR\n </button>\n\n </div>\n</div>",
|
|
302
|
+
styles: [".gc-payment{display:flex;flex-direction:column;align-items:center;text-align:center}.formRow{width:100%;max-width:400px;margin-bottom:20px}.loading-container{text-align:center;padding:30px}.spinner{width:40px;height:40px;margin:0 auto 15px;border:4px solid #e0e0e0;border-top:4px solid #06c;border-radius:50%;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.qr-container{margin:20px 0}.qr-container img{max-width:300px;width:100%;height:auto}.timer{margin-top:10px;font-size:18px;font-weight:600}.payment-error{text-align:center;padding:30px;max-width:400px}.error-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#fc2626;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.error-message h3{color:#fc2626;margin-bottom:10px}.payment-success{text-align:center;padding:30px}.success-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#28a745;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.success-message h3{color:#28a745;margin-bottom:10px}.summary-box{margin:20px 0;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;width:100%;min-width:250px;max-width:400px}.summary-box .summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:16px;background-color:#fff;border-bottom:1px solid #f0f0f0}.summary-box .summary-row:last-child{border-bottom:none}.summary-box .summary-row .summary-label{display:flex;align-items:center;gap:6px;color:#555}.summary-box .summary-row .summary-label i.material-icons{font-size:14px}.summary-box .summary-row .summary-value{font-weight:600;color:#1a1a1a;display:flex;align-items:center;margin-left:45px;gap:6px}.summary-box .summary-row.discount{background-color:#f0fdf4}.summary-box .summary-row.discount .summary-label{color:#16a34a;font-weight:500}.summary-box .summary-row.discount .summary-label i.material-icons{color:#16a34a}.summary-box .summary-row.discount .discount-value{color:#16a34a;font-weight:700}.summary-box .summary-row.total{background-color:#f8f9fa;border-top:2px solid #009ee3}.summary-box .summary-row.total .summary-label{font-size:17px;font-weight:700;color:#1a1a1a}.summary-box .summary-row.total .total-value{font-size:20px;font-weight:800;color:#009ee3}.regen-button{background-color:#009ee3;color:#fff;font-size:18px;text-align:center;padding:10px 0;width:100%;border:none;border-radius:20px;margin-top:20px;min-width:250px;max-width:400px;cursor:pointer}@-webkit-keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}"]
|
|
272
303
|
}] }
|
|
273
304
|
];
|
|
274
305
|
/** @nocollapse */
|
|
@@ -285,6 +316,9 @@ var GaliciaComponent = /** @class */ (function () {
|
|
|
285
316
|
storeName: [{ type: Input }],
|
|
286
317
|
sessionId: [{ type: Input }],
|
|
287
318
|
checkoutId: [{ type: Input }],
|
|
319
|
+
amount: [{ type: Input }],
|
|
320
|
+
discountRate: [{ type: Input }],
|
|
321
|
+
discountAmountValue: [{ type: Input }],
|
|
288
322
|
data: [{ type: Input }],
|
|
289
323
|
statusPay: [{ type: Output }]
|
|
290
324
|
};
|
|
@@ -311,6 +345,12 @@ if (false) {
|
|
|
311
345
|
/** @type {?} */
|
|
312
346
|
GaliciaComponent.prototype.checkoutId;
|
|
313
347
|
/** @type {?} */
|
|
348
|
+
GaliciaComponent.prototype.amount;
|
|
349
|
+
/** @type {?} */
|
|
350
|
+
GaliciaComponent.prototype.discountRate;
|
|
351
|
+
/** @type {?} */
|
|
352
|
+
GaliciaComponent.prototype.discountAmountValue;
|
|
353
|
+
/** @type {?} */
|
|
314
354
|
GaliciaComponent.prototype.data;
|
|
315
355
|
/** @type {?} */
|
|
316
356
|
GaliciaComponent.prototype.statusPay;
|
|
@@ -355,4 +395,4 @@ if (false) {
|
|
|
355
395
|
*/
|
|
356
396
|
GaliciaComponent.prototype.galiciaApiService;
|
|
357
397
|
}
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsaWNpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9nYWxpY2lhL2NvbXBvbmVudHMvZ2FsaWNpYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3BFO0lBeUNFLDBCQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBekJwQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFeEQsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRzFCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBS1osa0JBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBSXBGLENBQUM7Ozs7SUFFTCxtQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELHFDQUFVOzs7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dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgR2FsaWNpYUFwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nYWxpY2lhLmFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEluaXRQYXltZW50LCBQYXltZW50UmVzdWx0LCBSZXNwb25zZUFwaSB9IGZyb20gJy4uL21vZGVscy9nYWxpY2lhLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nYWxpY2lhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbGljaWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nYWxpY2lhLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR2FsaWNpYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdhVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSB2a1VybEFwaSE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlcklkITogc3RyaW5nO1xuICBASW5wdXQoKSBsb2dvR2EhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3JlSWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3JlTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2Vzc2lvbklkITogc3RyaW5nO1xuICBASW5wdXQoKSBjaGVja291dElkITogbnVtYmVyO1xuICBASW5wdXQoKSBkYXRhITogc3RyaW5nO1xuICBAT3V0cHV0KCkgc3RhdHVzUGF5ID0gbmV3IEV2ZW50RW1pdHRlcjxQYXltZW50UmVzdWx0PigpO1xuXG4gIHFySW1hZ2U6IHN0cmluZyA9ICcnO1xuICBiaWxsTnVtYmVyOiBzdHJpbmcgPSAnJztcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgT2luaXRQYXltZW50ITogSW5pdFBheW1lbnQ7XG5cbiAgaXNHZW5lcmF0aW5nUXIgPSB0cnVlO1xuICBwYXltZW50Q29tcGxldGVkID0gZmFsc2U7XG4gIHBheW1lbnRJZCA9ICcnO1xuXG4gIHNob3dRciA9IGZhbHNlO1xuICBleHBpcmVkID0gZmFsc2U7XG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBoYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG1pbnV0ZXMgPSAwO1xuICBzZWNvbmRzID0gMDtcblxuICBwcml2YXRlIGludGVydmFsOiBhbnk7XG4gIHZhbGlkYXRpb25JbnRlcnZhbDogYW55O1xuXG4gIHBheW1lbnRSZXN1bHQ6IFBheW1lbnRSZXN1bHQgPSB7IHN1Y2Nlc3M6IGZhbHNlLCBwYXltZW50SWQ6ICcnLCBpbnRlZ3JhdG9yOiAnR0FMSUNJQScgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdhbGljaWFBcGlTZXJ2aWNlOiBHYWxpY2lhQXBpU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY3JlYXRlSW5pdFBheW1lbnQoKTtcbiAgfVxuXG4gIGdlbmVyYXRlUXIoZGF0b3M6IHN0cmluZykge1xuICAgIGNvbnN0IGRlY29kZWQgPSBhdG9iKGRhdG9zKTtcblxuICAgIFFSQ29kZS50b0RhdGFVUkwoZGVjb2RlZCwge1xuICAgICAgd2lkdGg6IDMwMCxcbiAgICAgIG1hcmdpbjogMlxuICAgIH0pXG4gICAgICAudGhlbih1cmwgPT4ge1xuICAgICAgICB0aGlzLnFySW1hZ2UgPSB1cmw7XG5cbiAgICAgICAgdGhpcy5pc0dlbmVyYXRpbmdRciA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc2hvd1FyID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5leHBpcmVkID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKCk7XG5cbiAgICAgICAgdGhpcy5zdGFydFBheW1lbnRWYWxpZGF0aW9uKCk7XG5cbiAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlSW5pdFBheW1lbnQoKSB7XG4gICAgdGhpcy5PaW5pdFBheW1lbnQgPSB7XG4gICAgICBzZXNzaW9uSWQ6ICcnLFxuICAgICAgdXNlcklkOiB0aGlzLnVzZXJJZCxcbiAgICAgIHN0b3JlSWQ6IHRoaXMuc3RvcmVJZCxcbiAgICAgIHN0b3JlTmFtZTogdGhpcy5zdG9yZU5hbWUsXG4gICAgICBjaGVja291dElkOiB0aGlzLmNoZWNrb3V0SWRcbiAgICB9XG5cbiAgICB0aGlzLmluaXRQYXltZW50KCk7XG4gIH1cblxuICBpbml0UGF5bWVudCgpIHtcbiAgICB0aGlzLmlzR2VuZXJhdGluZ1FyID0gdHJ1ZTtcblxuICAgIHRoaXMuZ2FsaWNpYUFwaVNlcnZpY2UuaW5pdFBheW1lbnQodGhpcy52a1VybEFwaSwgdGhpcy5PaW5pdFBheW1lbnQpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHYpID0+IHRoaXMuaW5pdFBheW1lbnRSZXNwb25zZUhhbmRsZXIodiksXG4gICAgICAgIGVycm9yOiAodikgPT4gdGhpcy5pbml0UGF5bWVudEVycm9ySGFuZGxlcih2KVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFBheW1lbnRSZXNwb25zZUhhbmRsZXIocmVzcG9uc2U6IFJlc3BvbnNlQXBpKSB7XG4gICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHJlc3BvbnNlLmVycm9yc01lc3NhZ2VzWzBdIHx8ICdPY3VycmnDsyB1biBlcnJvciBhbCBnZW5lcmFyIGVsIGPDs2RpZ28gUVIuJztcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBxckRhdGEgPSByZXNwb25zZS5kYXRhLmJpbGxzWzBdLnFyLmRhdG9zO1xuICAgIHRoaXMuYmlsbE51bWJlciA9IHJlc3BvbnNlLmRhdGEuYmlsbHNbMF0ubnJvQm9sZXRhO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVFyKHFyRGF0YSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFBheW1lbnRFcnJvckhhbmRsZXIoZXJyb3I6IGFueSkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG5cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLmVycm9yc01lc3NhZ2VzWzBdIHx8ICdPY3VycmnDsyB1biBlcnJvciBhbCBnZW5lcmFyIGVsIGPDs2RpZ28gUVIuJztcblxuICAgIHRoaXMucGF5bWVudFJlc3VsdC5zdWNjZXNzID0gZmFsc2U7XG5cbiAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG4gIH1cblxuICBzdGFydFRpbWVyKCkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk7XG5cbiAgICB0aGlzLm1pbnV0ZXMgPSAxO1xuICAgIHRoaXMuc2Vjb25kcyA9IDA7XG5cbiAgICB0aGlzLmludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2Vjb25kcyA9PT0gMCkge1xuICAgICAgICBpZiAodGhpcy5taW51dGVzID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5zdG9wVmFsaWRhdGlvbigpO1xuXG4gICAgICAgICAgdGhpcy5zaG93UXIgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmV4cGlyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5taW51dGVzLS07XG4gICAgICAgIHRoaXMuc2Vjb25kcyA9IDU5O1xuXG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIHRoaXMuc2Vjb25kcy0tO1xuICAgICAgfVxuXG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBzdGFydFBheW1lbnRWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMudmFsaWRhdGlvbkludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXG4gICAgICB0aGlzLmdhbGljaWFBcGlTZXJ2aWNlLnBheW1lbnRTdGF0dXModGhpcy52a1VybEFwaSwgdGhpcy5iaWxsTnVtYmVyKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAodikgPT4gdGhpcy5wYXltZW50U3RhdHVzUmVzcG9uc2VIYW5kbGVyKHYpLFxuICAgICAgICAgIGVycm9yOiAodikgPT4gdGhpcy5wYXltZW50U3RhdHVzRXJyb3JIYW5kbGVyKHYpXG4gICAgICAgIH0pO1xuICAgIH0sIDUwMDApO1xuICB9XG5cbiAgcGF5bWVudFN0YXR1c1Jlc3BvbnNlSGFuZGxlcihyZXNwb25zZTogUmVzcG9uc2VBcGkpIHtcbiAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocmVzcG9uc2UuZGF0YS5pc1BhaWQpIHtcbiAgICAgIHRoaXMuc3RvcFZhbGlkYXRpb24oKTtcblxuICAgICAgdGhpcy5zaG93UXIgPSBmYWxzZTtcbiAgICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5wYXltZW50Q29tcGxldGVkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5wYXltZW50SWQgPSByZXNwb25zZS5kYXRhLnBheW1lbnRJZDtcblxuICAgICAgdGhpcy5wYXltZW50UmVzdWx0ID0ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBwYXltZW50SWQ6IHRoaXMucGF5bWVudElkLFxuICAgICAgICBpbnRlZ3JhdG9yOiAnR0FMSUNJQSdcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcblxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGF5bWVudFN0YXR1c0Vycm9ySGFuZGxlcihlcnJvcjogYW55KSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnZhbGlkYXRpb25JbnRlcnZhbCk7XG5cbiAgICB0aGlzLmhhc0Vycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIHNob3dRckFnYWluKCkge1xuICAgIHRoaXMuc2hvd1FyID0gdHJ1ZTtcbiAgICB0aGlzLmV4cGlyZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuc3RhcnRUaW1lcigpO1xuICAgIHRoaXMuc3RhcnRQYXltZW50VmFsaWRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wVmFsaWRhdGlvbigpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMudmFsaWRhdGlvbkludGVydmFsKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICB9XG59Il19
|
|
398
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsaWNpYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly92ay1wYXltZW50cy8iLCJzb3VyY2VzIjpbImxpYi9nYWxpY2lhL2NvbXBvbmVudHMvZ2FsaWNpYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR3BFO0lBNENFLDBCQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBNUJyQyxpQkFBWSxHQUFXLElBQUksQ0FBQztRQUczQixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFeEQsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRzFCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBS1osa0JBQWEsR0FBa0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBSXBGLENBQUM7Ozs7SUFFTCxtQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJ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LENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7Z0JBak9GLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsMnJFQUF1Qzs7aUJBRXhDOzs7O2dCQVBRLGlCQUFpQjs7OzhCQVV2QixLQUFLOzJCQUNMLEtBQUs7MkJBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSzs0QkFDTCxLQUFLOzRCQUNMLEtBQUs7NkJBQ0wsS0FBSzt5QkFDTCxLQUFLOytCQUNMLEtBQUs7c0NBQ0wsS0FBSzt1QkFDTCxLQUFLOzRCQUNMLE1BQU07O0lBOE1ULHVCQUFDO0NBQUEsQUFsT0QsSUFrT0M7U0E3TlksZ0JBQWdCOzs7SUFFM0IsdUNBQThCOztJQUM5QixvQ0FBMkI7O0lBQzNCLG9DQUEyQjs7SUFDM0Isa0NBQXlCOztJQUN6QixrQ0FBeUI7O0lBQ3pCLG1DQUEwQjs7SUFDMUIscUNBQTRCOztJQUM1QixxQ0FBNEI7O0lBQzVCLHNDQUE2Qjs7SUFDN0Isa0NBQXlCOztJQUN6Qix3Q0FBcUM7O0lBQ3JDLCtDQUFzQzs7SUFDdEMsZ0NBQXVCOztJQUN2QixxQ0FBd0Q7O0lBRXhELG1DQUFxQjs7SUFDckIsc0NBQXdCOztJQUN4Qix3Q0FBMEI7O0lBQzFCLHdDQUEyQjs7SUFFM0IsMENBQXNCOztJQUN0Qiw0Q0FBeUI7O0lBQ3pCLHFDQUFlOztJQUVmLGtDQUFlOztJQUNmLG1DQUFnQjs7SUFDaEIscUNBQTJCOztJQUMzQixvQ0FBMEI7O0lBRTFCLG1DQUFZOztJQUNaLG1DQUFZOzs7OztJQUVaLG9DQUFzQjs7SUFDdEIsOENBQXdCOztJQUV4Qix5Q0FBd0Y7Ozs7O0lBR3RGLDZDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFFSQ29kZSBmcm9tICdxcmNvZGUnO1xuaW1wb3J0IHsgR2FsaWNpYUFwaVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9nYWxpY2lhLmFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEluaXRQYXltZW50LCBQYXltZW50UmVzdWx0LCBSZXNwb25zZUFwaSB9IGZyb20gJy4uL21vZGVscy9nYWxpY2lhLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1nYWxpY2lhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbGljaWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nYWxpY2lhLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR2FsaWNpYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYWNjZXNzVG9rZW4hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGdhVXJsQXBpITogc3RyaW5nO1xuICBASW5wdXQoKSB2a1VybEFwaSE6IHN0cmluZztcbiAgQElucHV0KCkgdXNlcklkITogc3RyaW5nO1xuICBASW5wdXQoKSBsb2dvR2EhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3JlSWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0b3JlTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2Vzc2lvbklkITogc3RyaW5nO1xuICBASW5wdXQoKSBjaGVja291dElkITogbnVtYmVyO1xuICBASW5wdXQoKSBhbW91bnQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpc2NvdW50UmF0ZTogbnVtYmVyID0gMC4xMDtcbiAgQElucHV0KCkgZGlzY291bnRBbW91bnRWYWx1ZT86IG51bWJlcjtcbiAgQElucHV0KCkgZGF0YSE6IHN0cmluZztcbiAgQE91dHB1dCgpIHN0YXR1c1BheSA9IG5ldyBFdmVudEVtaXR0ZXI8UGF5bWVudFJlc3VsdD4oKTtcblxuICBxckltYWdlOiBzdHJpbmcgPSAnJztcbiAgYmlsbE51bWJlcjogc3RyaW5nID0gJyc7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XG4gIE9pbml0UGF5bWVudCE6IEluaXRQYXltZW50O1xuXG4gIGlzR2VuZXJhdGluZ1FyID0gdHJ1ZTtcbiAgcGF5bWVudENvbXBsZXRlZCA9IGZhbHNlO1xuICBwYXltZW50SWQgPSAnJztcblxuICBzaG93UXIgPSBmYWxzZTtcbiAgZXhwaXJlZCA9IGZhbHNlO1xuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBtaW51dGVzID0gMDtcbiAgc2Vjb25kcyA9IDA7XG5cbiAgcHJpdmF0ZSBpbnRlcnZhbDogYW55O1xuICB2YWxpZGF0aW9uSW50ZXJ2YWw6IGFueTtcblxuICBwYXltZW50UmVzdWx0OiBQYXltZW50UmVzdWx0ID0geyBzdWNjZXNzOiBmYWxzZSwgcGF5bWVudElkOiAnJywgaW50ZWdyYXRvcjogJ0dBTElDSUEnIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBnYWxpY2lhQXBpU2VydmljZTogR2FsaWNpYUFwaVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZUluaXRQYXltZW50KCk7XG4gIH1cblxuICBnZW5lcmF0ZVFyKGRhdG9zOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkZWNvZGVkID0gYXRvYihkYXRvcyk7XG5cbiAgICBRUkNvZGUudG9EYXRhVVJMKGRlY29kZWQsIHtcbiAgICAgIHdpZHRoOiAzMDAsXG4gICAgICBtYXJnaW46IDJcbiAgICB9KVxuICAgICAgLnRoZW4odXJsID0+IHtcbiAgICAgICAgdGhpcy5xckltYWdlID0gdXJsO1xuXG4gICAgICAgIHRoaXMuaXNHZW5lcmF0aW5nUXIgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnNob3dRciA9IHRydWU7XG4gICAgICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuc3RhcnRUaW1lcigpO1xuXG4gICAgICAgIHRoaXMuc3RhcnRQYXltZW50VmFsaWRhdGlvbigpO1xuXG4gICAgICB9KTtcbiAgfVxuXG4gIGdldCBzdWJ0b3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmRpc2NvdW50QW1vdW50VmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRpc2NvdW50QW1vdW50VmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmFtb3VudCArIHRoaXMuZGlzY291bnRBbW91bnRWYWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50ID8gTWF0aC5yb3VuZCh0aGlzLmFtb3VudCAvICgxIC0gdGhpcy5kaXNjb3VudFJhdGUpKSA6IDA7XG4gIH1cblxuICBnZXQgZGlzY291bnRBbW91bnQoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5kaXNjb3VudEFtb3VudFZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5kaXNjb3VudEFtb3VudFZhbHVlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNjb3VudEFtb3VudFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdWJ0b3RhbEFtb3VudCAtICh0aGlzLmFtb3VudCB8fCAwKTtcbiAgfVxuXG4gIGNyZWF0ZUluaXRQYXltZW50KCkge1xuICAgIHRoaXMuT2luaXRQYXltZW50ID0ge1xuICAgICAgc2Vzc2lvbklkOiAnJyxcbiAgICAgIHVzZXJJZDogdGhpcy51c2VySWQsXG4gICAgICBzdG9yZUlkOiB0aGlzLnN0b3JlSWQsXG4gICAgICBzdG9yZU5hbWU6IHRoaXMuc3RvcmVOYW1lLFxuICAgICAgY2hlY2tvdXRJZDogdGhpcy5jaGVja291dElkXG4gICAgfVxuXG4gICAgdGhpcy5pbml0UGF5bWVudCgpO1xuICB9XG5cbiAgaW5pdFBheW1lbnQoKSB7XG4gICAgdGhpcy5pc0dlbmVyYXRpbmdRciA9IHRydWU7XG5cbiAgICB0aGlzLmdhbGljaWFBcGlTZXJ2aWNlLmluaXRQYXltZW50KHRoaXMudmtVcmxBcGksIHRoaXMuT2luaXRQYXltZW50KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICh2KSA9PiB0aGlzLmluaXRQYXltZW50UmVzcG9uc2VIYW5kbGVyKHYpLFxuICAgICAgICBlcnJvcjogKHYpID0+IHRoaXMuaW5pdFBheW1lbnRFcnJvckhhbmRsZXIodilcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGluaXRQYXltZW50UmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSkge1xuICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy5zdGF0dXNQYXkuZW1pdCh0aGlzLnBheW1lbnRSZXN1bHQpO1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSByZXNwb25zZS5lcnJvcnNNZXNzYWdlc1swXSB8fCAnTm8gc2UgcHVkbyBnZW5lcmFyIGVsIGPDs2RpZ28gUVIuJztcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBxckRhdGEgPSByZXNwb25zZS5kYXRhLmJpbGxzWzBdLnFyLmRhdG9zO1xuICAgIHRoaXMuYmlsbE51bWJlciA9IHJlc3BvbnNlLmRhdGEuYmlsbHNbMF0ubnJvQm9sZXRhO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVFyKHFyRGF0YSlcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFBheW1lbnRFcnJvckhhbmRsZXIoZXJyb3I6IGFueSkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5oYXNFcnJvciA9IHRydWU7XG5cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLmVycm9yc01lc3NhZ2VzWzBdIHx8ICdObyBzZSBwdWRvIGdlbmVyYXIgZWwgY8OzZGlnbyBRUi4nO1xuXG4gICAgdGhpcy5wYXltZW50UmVzdWx0LnN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgfVxuXG4gIHN0YXJ0VGltZXIoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKTtcblxuICAgIHRoaXMubWludXRlcyA9IDE7XG4gICAgdGhpcy5zZWNvbmRzID0gMDtcblxuICAgIHRoaXMuaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5zZWNvbmRzID09PSAwKSB7XG4gICAgICAgIGlmICh0aGlzLm1pbnV0ZXMgPT09IDApIHtcbiAgICAgICAgICB0aGlzLnN0b3BWYWxpZGF0aW9uKCk7XG5cbiAgICAgICAgICB0aGlzLnNob3dRciA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXhwaXJlZCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1pbnV0ZXMtLTtcbiAgICAgICAgdGhpcy5zZWNvbmRzID0gNTk7XG5cbiAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgdGhpcy5zZWNvbmRzLS07XG4gICAgICB9XG5cbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIHN0YXJ0UGF5bWVudFZhbGlkYXRpb24oKSB7XG4gICAgdGhpcy52YWxpZGF0aW9uSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG5cbiAgICAgIHRoaXMuZ2FsaWNpYUFwaVNlcnZpY2UucGF5bWVudFN0YXR1cyh0aGlzLnZrVXJsQXBpLCB0aGlzLmJpbGxOdW1iZXIpXG4gICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgIG5leHQ6ICh2KSA9PiB0aGlzLnBheW1lbnRTdGF0dXNSZXNwb25zZUhhbmRsZXIodiksXG4gICAgICAgICAgZXJyb3I6ICh2KSA9PiB0aGlzLnBheW1lbnRTdGF0dXNFcnJvckhhbmRsZXIodilcbiAgICAgICAgfSk7XG4gICAgfSwgNTAwMCk7XG4gIH1cblxuICBwYXltZW50U3RhdHVzUmVzcG9uc2VIYW5kbGVyKHJlc3BvbnNlOiBSZXNwb25zZUFwaSkge1xuICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RhdHVzUGF5LmVtaXQodGhpcy5wYXltZW50UmVzdWx0KTtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ05vIGZ1ZSBwb3NpYmxlIHZhbGlkYXIgZWwgcGFnbyBjb3JyZWN0YW1lbnRlLidcbiAgICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlc3BvbnNlLmRhdGEuaXNQYWlkKSB7XG4gICAgICB0aGlzLnN0b3BWYWxpZGF0aW9uKCk7XG5cbiAgICAgIHRoaXMuc2hvd1FyID0gZmFsc2U7XG4gICAgICB0aGlzLmV4cGlyZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMucGF5bWVudENvbXBsZXRlZCA9IHRydWU7XG5cbiAgICAgIHRoaXMucGF5bWVudElkID0gcmVzcG9uc2UuZGF0YS5wYXltZW50SWQ7XG5cbiAgICAgIHRoaXMucGF5bWVudFJlc3VsdCA9IHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgcGF5bWVudElkOiB0aGlzLnBheW1lbnRJZCxcbiAgICAgICAgaW50ZWdyYXRvcjogJ0dBTElDSUEnXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnN0YXR1c1BheS5lbWl0KHRoaXMucGF5bWVudFJlc3VsdCk7XG5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBheW1lbnRTdGF0dXNFcnJvckhhbmRsZXIoZXJyb3I6IGFueSkge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy52YWxpZGF0aW9uSW50ZXJ2YWwpO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ05vIGZ1ZSBwb3NpYmxlIHZhbGlkYXIgZWwgcGFnbyBjb3JyZWN0YW1lbnRlLidcblxuICAgIHRoaXMuaGFzRXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgc2hvd1FyQWdhaW4oKSB7XG4gICAgdGhpcy5zaG93UXIgPSB0cnVlO1xuICAgIHRoaXMuZXhwaXJlZCA9IGZhbHNlO1xuICAgIHRoaXMuaGFzRXJyb3IgPSBmYWxzZTtcblxuICAgIHRoaXMuc3RhcnRUaW1lcigpO1xuICAgIHRoaXMuc3RhcnRQYXltZW50VmFsaWRhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wVmFsaWRhdGlvbigpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMudmFsaWRhdGlvbkludGVydmFsKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO1xuICB9XG59Il19
|
package/fesm2015/vk-payments.js
CHANGED
|
@@ -3544,6 +3544,7 @@ class GaliciaComponent {
|
|
|
3544
3544
|
*/
|
|
3545
3545
|
constructor(galiciaApiService) {
|
|
3546
3546
|
this.galiciaApiService = galiciaApiService;
|
|
3547
|
+
this.discountRate = 0.10;
|
|
3547
3548
|
this.statusPay = new EventEmitter();
|
|
3548
3549
|
this.qrImage = '';
|
|
3549
3550
|
this.billNumber = '';
|
|
@@ -3589,6 +3590,24 @@ class GaliciaComponent {
|
|
|
3589
3590
|
this.startPaymentValidation();
|
|
3590
3591
|
}));
|
|
3591
3592
|
}
|
|
3593
|
+
/**
|
|
3594
|
+
* @return {?}
|
|
3595
|
+
*/
|
|
3596
|
+
get subtotalAmount() {
|
|
3597
|
+
if (this.discountAmountValue !== undefined && this.discountAmountValue !== null) {
|
|
3598
|
+
return this.amount + this.discountAmountValue;
|
|
3599
|
+
}
|
|
3600
|
+
return this.amount ? Math.round(this.amount / (1 - this.discountRate)) : 0;
|
|
3601
|
+
}
|
|
3602
|
+
/**
|
|
3603
|
+
* @return {?}
|
|
3604
|
+
*/
|
|
3605
|
+
get discountAmount() {
|
|
3606
|
+
if (this.discountAmountValue !== undefined && this.discountAmountValue !== null) {
|
|
3607
|
+
return this.discountAmountValue;
|
|
3608
|
+
}
|
|
3609
|
+
return this.subtotalAmount - (this.amount || 0);
|
|
3610
|
+
}
|
|
3592
3611
|
/**
|
|
3593
3612
|
* @return {?}
|
|
3594
3613
|
*/
|
|
@@ -3631,7 +3650,7 @@ class GaliciaComponent {
|
|
|
3631
3650
|
this.isLoading = false;
|
|
3632
3651
|
this.hasError = true;
|
|
3633
3652
|
this.statusPay.emit(this.paymentResult);
|
|
3634
|
-
this.errorMessage = response.errorsMessages[0] || '
|
|
3653
|
+
this.errorMessage = response.errorsMessages[0] || 'No se pudo generar el código QR.';
|
|
3635
3654
|
return;
|
|
3636
3655
|
}
|
|
3637
3656
|
/** @type {?} */
|
|
@@ -3647,7 +3666,7 @@ class GaliciaComponent {
|
|
|
3647
3666
|
initPaymentErrorHandler(error) {
|
|
3648
3667
|
this.isLoading = false;
|
|
3649
3668
|
this.hasError = true;
|
|
3650
|
-
this.errorMessage = error.errorsMessages[0] || '
|
|
3669
|
+
this.errorMessage = error.errorsMessages[0] || 'No se pudo generar el código QR.';
|
|
3651
3670
|
this.paymentResult.success = false;
|
|
3652
3671
|
this.statusPay.emit(this.paymentResult);
|
|
3653
3672
|
}
|
|
@@ -3708,6 +3727,8 @@ class GaliciaComponent {
|
|
|
3708
3727
|
if (!response.success) {
|
|
3709
3728
|
this.isLoading = false;
|
|
3710
3729
|
this.statusPay.emit(this.paymentResult);
|
|
3730
|
+
this.errorMessage = 'No fue posible validar el pago correctamente.';
|
|
3731
|
+
this.hasError = true;
|
|
3711
3732
|
return;
|
|
3712
3733
|
}
|
|
3713
3734
|
if (response.data.isPaid) {
|
|
@@ -3731,6 +3752,7 @@ class GaliciaComponent {
|
|
|
3731
3752
|
*/
|
|
3732
3753
|
paymentStatusErrorHandler(error) {
|
|
3733
3754
|
clearInterval(this.validationInterval);
|
|
3755
|
+
this.errorMessage = 'No fue posible validar el pago correctamente.';
|
|
3734
3756
|
this.hasError = true;
|
|
3735
3757
|
}
|
|
3736
3758
|
/**
|
|
@@ -3739,6 +3761,7 @@ class GaliciaComponent {
|
|
|
3739
3761
|
showQrAgain() {
|
|
3740
3762
|
this.showQr = true;
|
|
3741
3763
|
this.expired = false;
|
|
3764
|
+
this.hasError = false;
|
|
3742
3765
|
this.startTimer();
|
|
3743
3766
|
this.startPaymentValidation();
|
|
3744
3767
|
}
|
|
@@ -3754,8 +3777,8 @@ class GaliciaComponent {
|
|
|
3754
3777
|
GaliciaComponent.decorators = [
|
|
3755
3778
|
{ type: Component, args: [{
|
|
3756
3779
|
selector: 'lib-galicia',
|
|
3757
|
-
template: "<div class=\"gc-payment\">\n <div class=\"formRow\">\n <p>\n Escane\u00E1 el c\u00F3digo QR con tu aplicaci\u00F3n bancaria para realizar el pago.\n </p>\n </div>\n\n <div *ngIf=\"isGeneratingQr && !hasError\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Generando c\u00F3digo QR...</p>\n </div>\n\n <div *ngIf=\"showQr\">\n <div class=\"qr-container\">\n <img [src]=\"qrImage\" alt=\"QR Galicia\" />\n </div>\n\n <div class=\"timer\">\n Tiempo restante: {{ minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} \n </div>\n </div>\n\n <div *ngIf=\"hasError\" class=\"payment-error\">\n <div class=\"error-icon\">\n \u26A0\n </div>\n\n <div class=\"error-message\">\n <h3>
|
|
3758
|
-
styles: [".gc-payment{display:flex;flex-direction:column;align-items:center;text-align:center}.formRow{width:100%;max-width:400px;margin-bottom:20px}.loading-container{text-align:center;padding:30px}.spinner{width:40px;height:40px;margin:0 auto 15px;border:4px solid #e0e0e0;border-top:4px solid #06c;border-radius:50%;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.qr-container{margin:20px 0}.qr-container img{max-width:300px;width:100%;height:auto}.timer{margin-top:10px;font-size:18px;font-weight:600}.payment-error{text-align:center;padding:30px;max-width:400px}.error-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#fc2626;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.error-message h3{color:#fc2626;margin-bottom:10px}.payment-success{text-align:center;padding:30px}.success-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#28a745;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.success-message h3{color:#28a745;margin-bottom:10px}@-webkit-keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}"]
|
|
3780
|
+
template: "<div class=\"gc-payment\">\n\n <div class=\"summary-box\">\n <div class=\"summary-row\">\n <span class=\"summary-label\">Subtotal</span>\n <span class=\"summary-value\">${{ subtotalAmount | number:'1.2-2' }}</span>\n </div>\n <div class=\"summary-row discount\">\n <span class=\"summary-label\">\n <i class=\"material-icons\">local_offer</i>\n Descuento ({{ discountRate * 100 | number:'1.0-0' }}%)\n </span>\n <span class=\"summary-value discount-value\">-${{ discountAmount | number:'1.2-2' }}</span>\n </div>\n <div class=\"summary-row total\">\n <span class=\"summary-label\">Total a abonar</span>\n <span class=\"summary-value total-value\">\n ${{ amount | number:'1.2-2' }} \n </span>\n </div>\n </div>\n\n <div class=\"formRow\">\n <p>\n Escane\u00E1 el c\u00F3digo QR con tu aplicaci\u00F3n bancaria para realizar el pago.\n </p>\n </div>\n\n <div *ngIf=\"isGeneratingQr && !hasError\" class=\"loading-container\">\n <div class=\"spinner\"></div>\n <p>Generando c\u00F3digo QR...</p>\n </div>\n\n <div *ngIf=\"showQr && !hasError\">\n <div class=\"qr-container\">\n <img [src]=\"qrImage\" alt=\"QR Galicia\" />\n </div>\n\n <div class=\"timer\">\n Tiempo restante: {{ minutes }}:{{ seconds < 10 ? '0' + seconds : seconds }} \n </div>\n </div>\n\n <div *ngIf=\"hasError\" class=\"payment-error\">\n <div class=\"error-icon\">\n \u26A0\n </div>\n\n <div class=\"error-message\">\n <h3>Ocurri\u00F3 un error:</h3>\n\n <p>{{ errorMessage }}</p>\n </div>\n </div>\n\n <div *ngIf=\"paymentCompleted\" class=\"payment-success\">\n <div class=\"success-icon\">\n \u2713\n </div>\n\n <div class=\"success-message\">\n <h3>Pago realizado correctamente</h3>\n\n <p>\n ID de pago Galicia: <strong>{{ paymentId }}</strong>\n </p>\n </div>\n </div>\n\n <div *ngIf=\"expired && !hasError\">\n <div class=\"pay-message info\">\n El c\u00F3digo QR expir\u00F3.\n </div>\n\n <button class=\"regen-button\" type=\"button\" (click)=\"showQrAgain()\">\n Regenerar c\u00F3digo QR\n </button>\n\n </div>\n</div>",
|
|
3781
|
+
styles: [".gc-payment{display:flex;flex-direction:column;align-items:center;text-align:center}.formRow{width:100%;max-width:400px;margin-bottom:20px}.loading-container{text-align:center;padding:30px}.spinner{width:40px;height:40px;margin:0 auto 15px;border:4px solid #e0e0e0;border-top:4px solid #06c;border-radius:50%;-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.qr-container{margin:20px 0}.qr-container img{max-width:300px;width:100%;height:auto}.timer{margin-top:10px;font-size:18px;font-weight:600}.payment-error{text-align:center;padding:30px;max-width:400px}.error-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#fc2626;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.error-message h3{color:#fc2626;margin-bottom:10px}.payment-success{text-align:center;padding:30px}.success-icon{width:80px;height:80px;margin:0 auto 15px;border-radius:50%;background:#28a745;color:#fff;font-size:48px;font-weight:700;display:flex;align-items:center;justify-content:center}.success-message h3{color:#28a745;margin-bottom:10px}.summary-box{margin:20px 0;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;width:100%;min-width:250px;max-width:400px}.summary-box .summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:16px;background-color:#fff;border-bottom:1px solid #f0f0f0}.summary-box .summary-row:last-child{border-bottom:none}.summary-box .summary-row .summary-label{display:flex;align-items:center;gap:6px;color:#555}.summary-box .summary-row .summary-label i.material-icons{font-size:14px}.summary-box .summary-row .summary-value{font-weight:600;color:#1a1a1a;display:flex;align-items:center;margin-left:45px;gap:6px}.summary-box .summary-row.discount{background-color:#f0fdf4}.summary-box .summary-row.discount .summary-label{color:#16a34a;font-weight:500}.summary-box .summary-row.discount .summary-label i.material-icons{color:#16a34a}.summary-box .summary-row.discount .discount-value{color:#16a34a;font-weight:700}.summary-box .summary-row.total{background-color:#f8f9fa;border-top:2px solid #009ee3}.summary-box .summary-row.total .summary-label{font-size:17px;font-weight:700;color:#1a1a1a}.summary-box .summary-row.total .total-value{font-size:20px;font-weight:800;color:#009ee3}.regen-button{background-color:#009ee3;color:#fff;font-size:18px;text-align:center;padding:10px 0;width:100%;border:none;border-radius:20px;margin-top:20px;min-width:250px;max-width:400px;cursor:pointer}@-webkit-keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}"]
|
|
3759
3782
|
}] }
|
|
3760
3783
|
];
|
|
3761
3784
|
/** @nocollapse */
|
|
@@ -3772,6 +3795,9 @@ GaliciaComponent.propDecorators = {
|
|
|
3772
3795
|
storeName: [{ type: Input }],
|
|
3773
3796
|
sessionId: [{ type: Input }],
|
|
3774
3797
|
checkoutId: [{ type: Input }],
|
|
3798
|
+
amount: [{ type: Input }],
|
|
3799
|
+
discountRate: [{ type: Input }],
|
|
3800
|
+
discountAmountValue: [{ type: Input }],
|
|
3775
3801
|
data: [{ type: Input }],
|
|
3776
3802
|
statusPay: [{ type: Output }]
|
|
3777
3803
|
};
|
|
@@ -3795,6 +3821,12 @@ if (false) {
|
|
|
3795
3821
|
/** @type {?} */
|
|
3796
3822
|
GaliciaComponent.prototype.checkoutId;
|
|
3797
3823
|
/** @type {?} */
|
|
3824
|
+
GaliciaComponent.prototype.amount;
|
|
3825
|
+
/** @type {?} */
|
|
3826
|
+
GaliciaComponent.prototype.discountRate;
|
|
3827
|
+
/** @type {?} */
|
|
3828
|
+
GaliciaComponent.prototype.discountAmountValue;
|
|
3829
|
+
/** @type {?} */
|
|
3798
3830
|
GaliciaComponent.prototype.data;
|
|
3799
3831
|
/** @type {?} */
|
|
3800
3832
|
GaliciaComponent.prototype.statusPay;
|