@hmcts/ccpay-web-component 5.0.1-beta62 → 5.0.1-beta69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +367 -68
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +32 -31
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +47 -24
  7. package/esm2015/lib/components/case-transactions/case-transactions.component.js +2 -2
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +313 -0
  9. package/esm2015/lib/components/payment-list/payment-list.component.js +2 -2
  10. package/esm2015/lib/components/payment-view/payment-view.component.js +4 -3
  11. package/esm2015/lib/components/process-refund/process-refund.component.js +3 -8
  12. package/esm2015/lib/components/processed-payments/processed-payments.component.js +2 -2
  13. package/esm2015/lib/components/refund-status/refund-status.component.js +5 -3
  14. package/esm2015/lib/components/service-request/service-request.component.js +2 -2
  15. package/esm2015/lib/components/table/table.component.js +2 -2
  16. package/esm2015/lib/interfaces/IRefundContactDetails.js +27 -0
  17. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +6 -2
  18. package/esm2015/lib/payment-lib.module.js +3 -1
  19. package/esm5/hmcts-ccpay-web-component.js +32 -31
  20. package/esm5/lib/components/add-remission/add-remission.component.js +54 -24
  21. package/esm5/lib/components/case-transactions/case-transactions.component.js +2 -2
  22. package/esm5/lib/components/contact-details/contact-details.component.js +333 -0
  23. package/esm5/lib/components/payment-list/payment-list.component.js +2 -2
  24. package/esm5/lib/components/payment-view/payment-view.component.js +4 -3
  25. package/esm5/lib/components/process-refund/process-refund.component.js +3 -8
  26. package/esm5/lib/components/processed-payments/processed-payments.component.js +2 -2
  27. package/esm5/lib/components/refund-status/refund-status.component.js +5 -3
  28. package/esm5/lib/components/service-request/service-request.component.js +2 -2
  29. package/esm5/lib/components/table/table.component.js +2 -2
  30. package/esm5/lib/interfaces/IRefundContactDetails.js +27 -0
  31. package/esm5/lib/interfaces/PostRefundRetroRemission.js +5 -2
  32. package/esm5/lib/payment-lib.module.js +3 -1
  33. package/fesm2015/hmcts-ccpay-web-component.js +311 -39
  34. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  35. package/fesm5/hmcts-ccpay-web-component.js +336 -39
  36. package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
  37. package/hmcts-ccpay-web-component.d.ts +31 -30
  38. package/hmcts-ccpay-web-component.metadata.json +1 -1
  39. package/lib/components/add-remission/add-remission.component.d.ts +4 -0
  40. package/lib/components/contact-details/contact-details.component.d.ts +38 -0
  41. package/lib/components/process-refund/process-refund.component.d.ts +0 -1
  42. package/lib/components/refund-status/refund-status.component.d.ts +1 -0
  43. package/lib/interfaces/IRefundContactDetails.d.ts +10 -0
  44. package/lib/interfaces/PostRefundRetroRemission.d.ts +3 -1
  45. package/package.json +1 -1
@@ -0,0 +1,313 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, Output, EventEmitter } from '@angular/core';
6
+ import { FormBuilder, Validators, FormControl } from '@angular/forms';
7
+ import { PaymentLibComponent } from '../../payment-lib.component';
8
+ export class ContactDetailsComponent {
9
+ /**
10
+ * @param {?} formBuilder
11
+ * @param {?} paymentLibComponent
12
+ */
13
+ constructor(formBuilder, paymentLibComponent) {
14
+ this.formBuilder = formBuilder;
15
+ this.paymentLibComponent = paymentLibComponent;
16
+ this.assignContactDetails = new EventEmitter();
17
+ this.redirectToIssueRefund = new EventEmitter();
18
+ this.pageTitle = 'Payment status history';
19
+ this.isEmailSAddressClicked = true;
20
+ this.isPostcodeClicked = false;
21
+ this.isManualAddressClicked = false;
22
+ this.isEmailEmpty = false;
23
+ this.emailHasError = false;
24
+ this.isPostcodeEmpty = false;
25
+ this.postcodeHasError = false;
26
+ this.isaddressLine1Empty = false;
27
+ this.addressLine1HasError = false;
28
+ this.addressLine2HasError = false;
29
+ this.isTownOrCityEmpty = false;
30
+ this.townOrCityHasError = false;
31
+ this.isCountyEmpty = false;
32
+ this.countyHasError = false;
33
+ this.isMPostcodeEmpty = false;
34
+ this.mpostcodeHasError = false;
35
+ this.isCountryEmpty = false;
36
+ }
37
+ /**
38
+ * @return {?}
39
+ */
40
+ ngOnInit() {
41
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
42
+ this.emailAddressForm = this.formBuilder.group({
43
+ email: new FormControl('', Validators.compose([
44
+ Validators.required,
45
+ Validators.pattern('^[a-z0-9][a-z0-9-_\.]+@([a-z]|[a-z0-9]?[a-z0-9-]+[a-z0-9])\.[a-z0-9]{2,10}(?:\.[a-z]{2,10})?$')
46
+ ]))
47
+ });
48
+ this.postCodeForm = this.formBuilder.group({
49
+ postcode: new FormControl('', Validators.compose([
50
+ Validators.required,
51
+ Validators.pattern('^([A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2})')
52
+ ]))
53
+ });
54
+ this.manualAddressForm = this.formBuilder.group({
55
+ addressl1: new FormControl('', Validators.compose([
56
+ Validators.required,
57
+ Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
58
+ ])),
59
+ addressl2: new FormControl('', Validators.compose([
60
+ Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
61
+ ])),
62
+ townorcity: new FormControl('', Validators.compose([
63
+ Validators.required,
64
+ Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
65
+ ])),
66
+ county: new FormControl('', Validators.compose([
67
+ Validators.required,
68
+ Validators.pattern('^[a-zA-Z0-9\\s,\'-]*$')
69
+ ])),
70
+ mpostcode: new FormControl('', Validators.compose([
71
+ Validators.required,
72
+ Validators.pattern('^([A-Z]{1,2}[0-9]{1,2}[A-Z]{0,1} ?[0-9][A-Z]{2})')
73
+ ])),
74
+ country: new FormControl('', Validators.compose([
75
+ Validators.required
76
+ ]))
77
+ });
78
+ }
79
+ /**
80
+ * @param {?} type
81
+ * @param {?} isLinkedClied
82
+ * @return {?}
83
+ */
84
+ selectContactOption(type, isLinkedClied) {
85
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
86
+ if (type === 'Email' && isLinkedClied === 'false') {
87
+ this.isEmailSAddressClicked = true;
88
+ this.isPostcodeClicked = false;
89
+ this.isManualAddressClicked = false;
90
+ }
91
+ else if (type === 'Postcode' && isLinkedClied === 'false') {
92
+ this.isEmailSAddressClicked = false;
93
+ this.isPostcodeClicked = true;
94
+ this.isManualAddressClicked = false;
95
+ }
96
+ else if (type === 'Postcode' && isLinkedClied === 'true') {
97
+ this.isEmailSAddressClicked = false;
98
+ this.isPostcodeClicked = true;
99
+ this.isManualAddressClicked = true;
100
+ }
101
+ }
102
+ /**
103
+ * @return {?}
104
+ */
105
+ finalFormSubmit() {
106
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], 'all');
107
+ if (this.isEmailSAddressClicked) {
108
+ /** @type {?} */
109
+ const emailField = this.emailAddressForm.controls.email;
110
+ if (this.emailAddressForm.dirty && this.emailAddressForm.valid) {
111
+ this.assignContactDetails.emit({
112
+ email: emailField.value,
113
+ notification_type: 'EMAIL'
114
+ });
115
+ }
116
+ else {
117
+ if (emailField.value == '') {
118
+ this.resetForm([true, false, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
119
+ }
120
+ if (emailField.value != '' && emailField.invalid) {
121
+ this.resetForm([false, true, false, false, false, false, false, false, false, false, false, false, false, false], 'email');
122
+ }
123
+ }
124
+ }
125
+ else if (this.isPostcodeClicked && !this.isManualAddressClicked) {
126
+ this.postcodeValidation();
127
+ }
128
+ else if (this.isPostcodeClicked && this.isManualAddressClicked) {
129
+ /** @type {?} */
130
+ const fieldCtrls = this.manualAddressForm.controls;
131
+ if (this.manualAddressForm.dirty && this.manualAddressForm.valid) {
132
+ this.assignContactDetails.emit({
133
+ address_line: fieldCtrls.addressl1.value + '' + fieldCtrls.addressl2.value,
134
+ city: fieldCtrls.townorcity.value,
135
+ county: fieldCtrls.county.value,
136
+ postal_code: fieldCtrls.mpostcode.value,
137
+ country: fieldCtrls.country.value,
138
+ notification_type: 'LETTER'
139
+ });
140
+ }
141
+ else {
142
+ if (fieldCtrls.addressl1.value == '') {
143
+ this.resetForm([false, false, false, false, true, false, false, false, false, false, false, false, false, false], 'address1');
144
+ }
145
+ if (fieldCtrls.addressl1.value != '' && fieldCtrls.addressl1.invalid) {
146
+ this.resetForm([false, false, false, false, false, true, false, false, false, false, false, false, false, false], 'address1');
147
+ }
148
+ if (fieldCtrls.addressl2.value != '' && fieldCtrls.addressl2.invalid) {
149
+ this.resetForm([false, false, false, false, false, false, true, false, false, false, false, false, false, false], 'address2');
150
+ }
151
+ if (fieldCtrls.townorcity.value == '') {
152
+ this.resetForm([false, false, false, false, false, false, false, true, false, false, false, false, false, false], 'town');
153
+ }
154
+ if (fieldCtrls.townorcity.value != '' && fieldCtrls.townorcity.invalid) {
155
+ this.resetForm([false, false, false, false, false, false, false, false, true, false, false, false, false, false], 'town');
156
+ }
157
+ if (fieldCtrls.county.value == '') {
158
+ this.resetForm([false, false, false, false, false, false, false, false, false, true, false, false, false, false], 'county');
159
+ }
160
+ if (fieldCtrls.county.value != '' && fieldCtrls.county.invalid) {
161
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, true, false, false, false], 'county');
162
+ }
163
+ if (fieldCtrls.mpostcode.value == '') {
164
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, true, false, false], 'mpostcode');
165
+ }
166
+ if (fieldCtrls.mpostcode.value != '' && fieldCtrls.mpostcode.invalid) {
167
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, true, false], 'mpostcode');
168
+ }
169
+ if (fieldCtrls.country.value == '') {
170
+ this.resetForm([false, false, false, false, false, false, false, false, false, false, false, false, false, true], 'country');
171
+ }
172
+ }
173
+ }
174
+ }
175
+ /**
176
+ * @return {?}
177
+ */
178
+ postcodeValidation() {
179
+ /** @type {?} */
180
+ const postcodeField = this.postCodeForm.controls.postcode;
181
+ if (this.postCodeForm.dirty && this.postCodeForm.valid) {
182
+ this.assignContactDetails.emit({});
183
+ }
184
+ else {
185
+ if (postcodeField.value == '') {
186
+ this.resetForm([false, false, true, false, false, false, false, false, false, false, false, false, false], 'postcode');
187
+ }
188
+ if (postcodeField.value != '' && postcodeField.invalid) {
189
+ this.resetForm([false, false, false, true, false, false, false, false, false, false, false, false, false], 'postcode');
190
+ }
191
+ }
192
+ }
193
+ /**
194
+ * @return {?}
195
+ */
196
+ redirection() {
197
+ this.redirectToIssueRefund.emit();
198
+ }
199
+ /**
200
+ * @param {?} val
201
+ * @param {?} field
202
+ * @return {?}
203
+ */
204
+ resetForm(val, field) {
205
+ if (field === 'email' || field === 'all') {
206
+ this.isEmailEmpty = val[0];
207
+ this.emailHasError = val[1];
208
+ }
209
+ if (field === 'postcode' || field === 'all') {
210
+ this.isPostcodeEmpty = val[2];
211
+ this.postcodeHasError = val[3];
212
+ }
213
+ if (field === 'address1' || field === 'all') {
214
+ this.isaddressLine1Empty = val[4];
215
+ this.addressLine1HasError = val[5];
216
+ }
217
+ if (field === 'address2' || field === 'all') {
218
+ this.addressLine2HasError = val[6];
219
+ }
220
+ if (field === 'town' || field === 'all') {
221
+ this.isTownOrCityEmpty = val[7];
222
+ this.townOrCityHasError = val[8];
223
+ }
224
+ if (field === 'county' || field === 'all') {
225
+ this.isCountyEmpty = val[9];
226
+ this.countyHasError = val[10];
227
+ }
228
+ if (field === 'mpostcode' || field === 'all') {
229
+ this.isMPostcodeEmpty = val[11];
230
+ this.mpostcodeHasError = val[12];
231
+ }
232
+ if (field === 'country' || field === 'all') {
233
+ this.isCountryEmpty = val[13];
234
+ }
235
+ }
236
+ }
237
+ ContactDetailsComponent.decorators = [
238
+ { type: Component, args: [{
239
+ selector: 'ccpay-contact-details',
240
+ template: "<fieldset class=\"govuk-fieldset contact-details--size\">\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n <div class=\"govuk-form-group\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s govuk-font19px\">\n Contact information\n </legend>\n <div id=\"contact-hint\" class=\"govuk-hint govuk-font19px\">\n Notifications will be sent via email or post when this refund is issued or rejected. You can only choose one option.\n </div>\n <div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact\" name=\"contact\" (click)=\"selectContactOption('Email', 'false')\" type=\"radio\" value=\"email\" checked=\"\" aria-controls=\"conditional-contact\" aria-expanded=\"true\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact\">\n Email\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-email\" *ngIf=\"isEmailSAddressClicked\">\n <form [formGroup]=\"emailAddressForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label \" for=\"email\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this email address.</span>\n </label>\n\n <div id=\"email-hint\" class=\"govuk-hint\">\n </div>\n <input class=\"govuk-input\" id=\"email\" name=\"\" type=\"email\" [ngClass]=\"{ 'inline-error-class': isEmailEmpty || emailHasError }\" formControlName=\"email\" aria-describedby=\"email-hint\">\n <p class=\"inline-error-message\" *ngIf=\"isEmailEmpty || emailHasError\">\n <span *ngIf=\"isEmailEmpty\">Enter a email address.</span>\n <span *ngIf=\"emailHasError\">Enter a valid email address.</span>\n </p>\n </div>\n </form>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact-2\" name=\"contact\" (click)=\"selectContactOption('Postcode', 'false')\" type=\"radio\" value=\"post\" aria-controls=\"conditional-contact-2\" aria-expanded=\"false\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact-2\">\n Post\n </label>\n </div>\n <div class=\"govuk-radios__conditional govuk-radios__conditional--hidden\" id=\"conditional-contact-postcode\" *ngIf=\"isPostcodeClicked && !isManualAddressClicked\">\n <form [formGroup]=\"postCodeForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Postcode\n </label>\n <input class=\"govuk-input govuk-input--width-10\" id=\"address-postcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isPostcodeEmpty || postcodeHasError }\" formControlName=\"postcode\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isPostcodeEmpty || postcodeHasError\">\n <span *ngIf=\"isPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"postcodeHasError\">Enter a valid postcode.</span>\n </p> </div>\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-button--secondary govuk-font19px\" (click)=\"postcodeValidation()\" data-module=\"govuk-button\">\n Find address\n </button>\n </div>\n </form>\n <details class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text govuk-font19px\">\n <a href=\"Javascript:void(0);\" (click)=\"selectContactOption('Postcode', 'true')\"> Enter address manually</a>\n </span>\n </summary>\n </details>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-manual\" *ngIf=\"isPostcodeClicked && isManualAddressClicked\">\n <form [formGroup]=\"manualAddressForm\" novalidate>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-line-1\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Building and street <span class=\"govuk-visually-hidden\">line 1 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-1\" name=\"address-line-1\" [ngClass]=\"{ 'inline-error-class': isaddressLine1Empty || addressLine1HasError }\" formControlName=\"addressl1\" type=\"text\" autocomplete=\"address-line1\">\n <p class=\"inline-error-message\" *ngIf=\"isaddressLine1Empty || addressLine1HasError\">\n <span *ngIf=\"isaddressLine1Empty\">Enter a Building and street.</span>\n <span *ngIf=\"addressLine1HasError\">Enter a valid Building and street.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"address-line-2\">\n <span class=\"govuk-visually-hidden govuk-font19px\">Building and street line 2 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-2\" name=\"address-line-2\" [ngClass]=\"{ 'inline-error-class': addressLine2HasError}\" formControlName=\"addressl2\" type=\"text\" autocomplete=\"address-line2\">\n <p class=\"inline-error-message\" *ngIf=\"addressLine2HasError\">\n <span *ngIf=\"addressLine2HasError\">Enter a valid Building and street line 2 of 2.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-town\">\n Town or city\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-town\" name=\"address-town\" [ngClass]=\"{ 'inline-error-class': isTownOrCityEmpty || townOrCityHasError}\" formControlName=\"townorcity\" type=\"text\" autocomplete=\"address-level2\">\n <p class=\"inline-error-message\" *ngIf=\"isTownOrCityEmpty || townOrCityHasError\">\n <span *ngIf=\"isTownOrCityEmpty\">Enter a town or city.</span>\n <span *ngIf=\"townOrCityHasError\">Enter a town or city.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-county\">\n County\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-county\" [ngClass]=\"{ 'inline-error-class': isCountyEmpty || countyHasError}\" formControlName=\"county\" name=\"address-county\" type=\"text\">\n <p class=\"inline-error-message\" *ngIf=\"isCountyEmpty || countyHasError\">\n <span *ngIf=\"isCountyEmpty\">Enter a County.</span>\n <span *ngIf=\"countyHasError\">Enter a valid County.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n Postcode\n </label>\n <input class=\"govuk-input govuk-input--width-10 govuk-font19px\" id=\"address-postcode\" formControlName=\"mpostcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isMPostcodeEmpty || mpostcodeHasError}\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isMPostcodeEmpty || mpostcodeHasError\">\n <span *ngIf=\"isMPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"mpostcodeHasError\">Enter a valid postcode.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Country\n </label>\n <select class=\"govuk-select govuk-font19px\" id=\"country\" name=\"country\" [ngClass]=\"{ 'inline-error-class': isCountryEmpty}\" formControlName=\"country\">\n <option value=\"\" selected=\"selected\">Please select</option>\n <option value=\"United Kingdom\" selected=\"\">United Kingdom</option>\n </select>\n <p class=\"inline-error-message\" *ngIf=\"isCountryEmpty\">\n <span *ngIf=\"isCountryEmpty\">Select a Country.</span>\n </p> \n </div>\n </form>\n </div>\n </div>\n </fieldset>\n </div>\n <!---FORM--->\n </div>\n\n<hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n</fieldset>\n<div class=\"govuk-button-group\">\n<button type=\"submit\" class=\"button govuk-button--secondary govuk-font19px\" (click)=\"redirection()\"> Previous </button>\n&nbsp;\n<button type=\"submit\" class=\"button govuk-button govuk-font19px\" (click)=\"finalFormSubmit()\">\n Submit refund\n</button>\n</div>",
241
+ styles: [".govuk-font19px{font-size:19px}.inline-error-class{outline:#a71414 solid 3px;outline-offset:0}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.contact-details--size{width:50%}"]
242
+ }] }
243
+ ];
244
+ /** @nocollapse */
245
+ ContactDetailsComponent.ctorParameters = () => [
246
+ { type: FormBuilder },
247
+ { type: PaymentLibComponent }
248
+ ];
249
+ ContactDetailsComponent.propDecorators = {
250
+ assignContactDetails: [{ type: Output }],
251
+ redirectToIssueRefund: [{ type: Output }]
252
+ };
253
+ if (false) {
254
+ /** @type {?} */
255
+ ContactDetailsComponent.prototype.assignContactDetails;
256
+ /** @type {?} */
257
+ ContactDetailsComponent.prototype.redirectToIssueRefund;
258
+ /** @type {?} */
259
+ ContactDetailsComponent.prototype.pageTitle;
260
+ /** @type {?} */
261
+ ContactDetailsComponent.prototype.errorMessage;
262
+ /** @type {?} */
263
+ ContactDetailsComponent.prototype.isEmailSAddressClicked;
264
+ /** @type {?} */
265
+ ContactDetailsComponent.prototype.isPostcodeClicked;
266
+ /** @type {?} */
267
+ ContactDetailsComponent.prototype.isManualAddressClicked;
268
+ /** @type {?} */
269
+ ContactDetailsComponent.prototype.emailAddressForm;
270
+ /** @type {?} */
271
+ ContactDetailsComponent.prototype.postCodeForm;
272
+ /** @type {?} */
273
+ ContactDetailsComponent.prototype.manualAddressForm;
274
+ /** @type {?} */
275
+ ContactDetailsComponent.prototype.isEmailEmpty;
276
+ /** @type {?} */
277
+ ContactDetailsComponent.prototype.emailHasError;
278
+ /** @type {?} */
279
+ ContactDetailsComponent.prototype.isPostcodeEmpty;
280
+ /** @type {?} */
281
+ ContactDetailsComponent.prototype.postcodeHasError;
282
+ /** @type {?} */
283
+ ContactDetailsComponent.prototype.isaddressLine1Empty;
284
+ /** @type {?} */
285
+ ContactDetailsComponent.prototype.addressLine1HasError;
286
+ /** @type {?} */
287
+ ContactDetailsComponent.prototype.addressLine2HasError;
288
+ /** @type {?} */
289
+ ContactDetailsComponent.prototype.isTownOrCityEmpty;
290
+ /** @type {?} */
291
+ ContactDetailsComponent.prototype.townOrCityHasError;
292
+ /** @type {?} */
293
+ ContactDetailsComponent.prototype.isCountyEmpty;
294
+ /** @type {?} */
295
+ ContactDetailsComponent.prototype.countyHasError;
296
+ /** @type {?} */
297
+ ContactDetailsComponent.prototype.isMPostcodeEmpty;
298
+ /** @type {?} */
299
+ ContactDetailsComponent.prototype.mpostcodeHasError;
300
+ /** @type {?} */
301
+ ContactDetailsComponent.prototype.isCountryEmpty;
302
+ /**
303
+ * @type {?}
304
+ * @private
305
+ */
306
+ ContactDetailsComponent.prototype.formBuilder;
307
+ /**
308
+ * @type {?}
309
+ * @private
310
+ */
311
+ ContactDetailsComponent.prototype.paymentLibComponent;
312
+ }
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9sRSxNQUFNLE9BQU8sdUJBQXVCOzs7OztJQTJCbEMsWUFBb0IsV0FBd0IsRUFDeEIsbUJBQXdDO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUEzQmxELHlCQUFvQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdELDBCQUFxQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hFLGNBQVMsR0FBVyx3QkFBd0IsQ0FBQztRQUU3QywyQkFBc0IsR0FBWSxJQUFJLENBQUM7UUFDdkMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUt4QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLHlCQUFvQixHQUFZLEtBQUssQ0FBQztRQUN0Qyx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FB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QUNyQyx1REFBc0M7O0lBQ3RDLHVEQUFzQzs7SUFDdEMsb0RBQW1DOztJQUNuQyxxREFBb0M7O0lBQ3BDLGdEQUErQjs7SUFDL0IsaURBQWdDOztJQUNoQyxtREFBa0M7O0lBQ2xDLG9EQUFtQzs7SUFDbkMsaURBQWdDOzs7OztJQUVwQiw4Q0FBZ0M7Ozs7O0lBQ2hDLHNEQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYXltZW50TGliQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktY29udGFjdC1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29udGFjdERldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgYXNzaWduQ29udGFjdERldGFpbHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVkaXJlY3RUb0lzc3VlUmVmdW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcGFnZVRpdGxlOiBzdHJpbmcgPSAnUGF5bWVudCBzdGF0dXMgaGlzdG9yeSc7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBpc0VtYWlsU0FkZHJlc3NDbGlja2VkOiBib29sZWFuID0gdHJ1ZTtcbiAgaXNQb3N0Y29kZUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNYW51YWxBZGRyZXNzQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBlbWFpbEFkZHJlc3NGb3JtOiBGb3JtR3JvdXA7XG4gIHBvc3RDb2RlRm9ybTogRm9ybUdyb3VwO1xuICBtYW51YWxBZGRyZXNzRm9ybTogRm9ybUdyb3VwO1xuXG4gIGlzRW1haWxFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBlbWFpbEhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBwb3N0Y29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzYWRkcmVzc0xpbmUxRW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkcmVzc0xpbmUxSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkcmVzc0xpbmUySGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNUb3duT3JDaXR5RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgdG93bk9yQ2l0eUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ291bnR5RW1wdHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY291bnR5SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNNUG9zdGNvZGVFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBtcG9zdGNvZGVIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0NvdW50cnlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhbGwnKTtcblxuICAgIHRoaXMuZW1haWxBZGRyZXNzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtejAtOV1bYS16MC05LV9cXC5dK0AoW2Etel18W2EtejAtOV0/W2EtejAtOS1dK1thLXowLTldKVxcLlthLXowLTldezIsMTB9KD86XFwuW2Etel17MiwxMH0pPyQnKVxuICAgICAgXSkpXG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Q29kZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHBvc3Rjb2RlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbQS1aXXsxLDJ9WzAtOV17MSwyfVtBLVpdezAsMX0gP1swLTldW0EtWl17Mn0pJylcbiAgICAgIF0pKVxuICAgIH0pO1xuICAgIHRoaXMubWFudWFsQWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGFkZHJlc3NsMTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBhZGRyZXNzbDI6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgdG93bm9yY2l0eTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBjb3VudHk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgbXBvc3Rjb2RlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbQS1aXXsxLDJ9WzAtOV17MSwyfVtBLVpdezAsMX0gP1swLTldW0EtWl17Mn0pJylcbiAgICAgIF0pKSxcbiAgICAgIGNvdW50cnk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpXG4gICAgfSk7XG4gIH1cblxuICBzZWxlY3RDb250YWN0T3B0aW9uKHR5cGUsIGlzTGlua2VkQ2xpZWQpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWxsJyk7XG4gICAgaWYoIHR5cGUgPT09ICdFbWFpbCcgJiYgaXNMaW5rZWRDbGllZCA9PT0gJ2ZhbHNlJyl7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmKHR5cGUgPT09ICdQb3N0Y29kZScgJiYgaXNMaW5rZWRDbGllZCA9PT0gJ2ZhbHNlJykge1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZih0eXBlID09PSAnUG9zdGNvZGUnICYmIGlzTGlua2VkQ2xpZWQgPT09ICd0cnVlJykge1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG5cbiAgICB9XG4gIH1cblxuICBmaW5hbEZvcm1TdWJtaXQoKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FsbCcpO1xuICAgIGlmKCB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgKXtcbiAgICAgIGNvbnN0IGVtYWlsRmllbGQgPSB0aGlzLmVtYWlsQWRkcmVzc0Zvcm0uY29udHJvbHMuZW1haWw7XG4gICAgICBpZiAodGhpcy5lbWFpbEFkZHJlc3NGb3JtLmRpcnR5ICYmIHRoaXMuZW1haWxBZGRyZXNzRm9ybS52YWxpZCkge1xuICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzLmVtaXQoIHtcbiAgICAgICAgICBlbWFpbDogZW1haWxGaWVsZC52YWx1ZSxcbiAgICAgICAgICBub3RpZmljYXRpb25fdHlwZTogJ0VNQUlMJ1xuICAgICAgICB9ICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiggZW1haWxGaWVsZC52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdlbWFpbCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGVtYWlsRmllbGQudmFsdWUgIT0gJycgJiYgZW1haWxGaWVsZC5pbnZhbGlkICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2VtYWlsJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYoIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgJiYgIXRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCApIHtcbiAgICAgIHRoaXMucG9zdGNvZGVWYWxpZGF0aW9uKCk7XG4gICAgfSBlbHNlIGlmKHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgJiYgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkKSB7XG4gICAgICBjb25zdCBmaWVsZEN0cmxzID0gdGhpcy5tYW51YWxBZGRyZXNzRm9ybS5jb250cm9scztcbiAgICAgIGlmICh0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLmRpcnR5ICYmIHRoaXMubWFudWFsQWRkcmVzc0Zvcm0udmFsaWQpIHtcbiAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlscy5lbWl0KHtcbiAgICAgICAgICBhZGRyZXNzX2xpbmU6IGZpZWxkQ3RybHMuYWRkcmVzc2wxLnZhbHVlKycnK2ZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlLFxuICAgICAgICAgIGNpdHk6IGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSxcbiAgICAgICAgICBjb3VudHk6IGZpZWxkQ3RybHMuY291bnR5LnZhbHVlLFxuICAgICAgICAgIHBvc3RhbF9jb2RlOiBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSxcbiAgICAgICAgICBjb3VudHJ5OiBmaWVsZEN0cmxzLmNvdW50cnkudmFsdWUsXG4gICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdMRVRURVInXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYoIGZpZWxkQ3RybHMuYWRkcmVzc2wxLnZhbHVlID09ICcnICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2FkZHJlc3MxJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5hZGRyZXNzbDEuaW52YWxpZCApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdhZGRyZXNzMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKGZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlICE9ICcnICYmIGZpZWxkQ3RybHMuYWRkcmVzc2wyLmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAnYWRkcmVzczInKTtcbiAgICAgICAgfVxuICAgICAgICBpZiggZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlID09ICcnICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3Rvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZEN0cmxzLnRvd25vcmNpdHkudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy50b3dub3JjaXR5LmludmFsaWQgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAndG93bicpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCBmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZV0sICdjb3VudHknKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmNvdW50eS5pbnZhbGlkICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ2NvdW50eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSA9PSAnJyApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZV0sICdtcG9zdGNvZGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLm1wb3N0Y29kZS5pbnZhbGlkICkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSxmYWxzZSx0cnVlLGZhbHNlXSwgJ21wb3N0Y29kZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmKCBmaWVsZEN0cmxzLmNvdW50cnkudmFsdWUgPT0gJycgKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLHRydWVdLCAnY291bnRyeScpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuICBwb3N0Y29kZVZhbGlkYXRpb24oKSB7XG4gICAgY29uc3QgcG9zdGNvZGVGaWVsZCA9IHRoaXMucG9zdENvZGVGb3JtLmNvbnRyb2xzLnBvc3Rjb2RlO1xuICAgIGlmICh0aGlzLnBvc3RDb2RlRm9ybS5kaXJ0eSAmJiB0aGlzLnBvc3RDb2RlRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlscy5lbWl0KHt9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYoIHBvc3Rjb2RlRmllbGQudmFsdWUgPT0gJycgKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSxmYWxzZSx0cnVlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlLGZhbHNlXSwgJ3Bvc3Rjb2RlJyk7XG4gICAgICB9XG4gICAgICBpZihwb3N0Y29kZUZpZWxkLnZhbHVlICE9ICcnICYmIHBvc3Rjb2RlRmllbGQuaW52YWxpZCApIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLGZhbHNlLGZhbHNlLHRydWUsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2UsZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVkaXJlY3Rpb24oKSB7XG4gICAgdGhpcy5yZWRpcmVjdFRvSXNzdWVSZWZ1bmQuZW1pdCgpO1xuICB9XG4gIHJlc2V0Rm9ybSh2YWwsIGZpZWxkKSB7XG4gICAgaWYoZmllbGQ9PT0nZW1haWwnIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNFbWFpbEVtcHR5ID0gdmFsWzBdO1xuICAgICAgdGhpcy5lbWFpbEhhc0Vycm9yID0gdmFsWzFdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdwb3N0Y29kZScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlRW1wdHkgPSB2YWxbMl07XG4gICAgICB0aGlzLnBvc3Rjb2RlSGFzRXJyb3IgPSB2YWxbM107XG4gICAgfVxuICAgIGlmKGZpZWxkPT09J2FkZHJlc3MxJyB8fCBmaWVsZD09PSdhbGwnKSB7XG4gICAgICB0aGlzLmlzYWRkcmVzc0xpbmUxRW1wdHkgPSB2YWxbNF07XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMUhhc0Vycm9yID0gdmFsWzVdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdhZGRyZXNzMicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5hZGRyZXNzTGluZTJIYXNFcnJvciA9IHZhbFs2XTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0ndG93bicgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc1Rvd25PckNpdHlFbXB0eSA9IHZhbFs3XTtcbiAgICAgIHRoaXMudG93bk9yQ2l0eUhhc0Vycm9yID0gdmFsWzhdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdjb3VudHknIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNDb3VudHlFbXB0eSA9IHZhbFs5XTtcbiAgICAgIHRoaXMuY291bnR5SGFzRXJyb3IgPSB2YWxbMTBdO1xuICAgIH1cbiAgICBpZihmaWVsZD09PSdtcG9zdGNvZGUnIHx8IGZpZWxkPT09J2FsbCcpIHtcbiAgICAgIHRoaXMuaXNNUG9zdGNvZGVFbXB0eSA9IHZhbFsxMV07XG4gICAgICB0aGlzLm1wb3N0Y29kZUhhc0Vycm9yID0gdmFsWzEyXTtcbiAgICB9XG4gICAgaWYoZmllbGQ9PT0nY291bnRyeScgfHwgZmllbGQ9PT0nYWxsJykge1xuICAgICAgdGhpcy5pc0NvdW50cnlFbXB0eSA9IHZhbFsxM107XG4gICAgfVxuICBcbiAgfVxufVxuIl19
@@ -45,7 +45,7 @@ export class PaymentListComponent {
45
45
  PaymentListComponent.decorators = [
46
46
  { type: Component, args: [{
47
47
  selector: 'ccpay-payment-list',
48
- template: "<div class=\"govuk-width-container\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payments list could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!errorMessage && payments\">\n\n <table class=\"table\">\n <tr>\n <th class=\"bold font-xsmall\">Payment group reference</th>\n <th class=\"bold font-xsmall\">Payment reference</th>\n <th class=\"bold font-xsmall\">Date created</th>\n <th class=\"bold font-xsmall\">Channel</th>\n <th class=\"bold font-xsmall\">Method</th>\n <th class=\"bold font-xsmall\">Amount</th>\n <th class=\"bold font-xsmall\">Status</th>\n </tr>\n <tr *ngFor=\"let payment of payments.payments\">\n <td class=\"font-xsmall\">\n <a (click)=\"loadPaymentViewComponent(payment.payment_group_reference, payment.payment_reference, payment.method)\">{{ payment.payment_group_reference }}</a>\n <td class=\"font-xsmall\">{{ payment.payment_reference }}</td>\n <td class=\"font-xsmall\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"font-xsmall\">{{ payment.channel | titlecase }}</td>\n <td class=\"font-xsmall\">{{ payment.method | titlecase }}</td>\n <td class=\"font-xsmall\">\u00A3{{ payment.amount | number:'.2' }}</td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'online'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Failed'\">\n <div *ngFor=\"let statusHistory of payment.status_histories\">\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0010'\">\n Payment rejected due to payment method selected or payment information entered, for example, failed fraud check, a 3D Secure authentication failure, or the user does not have enough money in account\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0020'\">\n Payment was not confirmed and completed within 90 minutes of being created\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0030'\">\n User clicked on the \u201CCancel payment\u201D button during the payment journey\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0050'\">\n Multiple possible causes, for example a configuration problem with the payment provider, or incorrect login credentials\n </p>\n </div>\n </div>\n </details>\n </td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'telephony'\" class=\"font-xsmall\">\n {{ payment.status}}\n </td>\n <td *ngIf=\"payment.method === 'payment by account'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Pending'\">\n <p class=\"font-xsmall\">This means the transaction is being processed by Liberata.</p>\n </div>\n </details>\n </td>\n </tr>\n </table>\n\n </div>\n\n</div>\n",
48
+ template: "<div class=\"govuk-width-container\">\n\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Payments list could not be retrieved\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!errorMessage && payments\">\n\n <table class=\"table\">\n <tr>\n <th class=\"bold font-xsmall\">Payment group reference</th>\n <th class=\"bold font-xsmall\">Payment reference</th>\n <th class=\"bold font-xsmall\">Date created</th>\n <th class=\"bold font-xsmall\">Channel</th>\n <th class=\"bold font-xsmall\">Method</th>\n <th class=\"bold font-xsmall\">Amount</th>\n <th class=\"bold font-xsmall\">Status</th>\n </tr>\n <tr *ngFor=\"let payment of payments.payments\">\n <td class=\"font-xsmall\">\n <a href=\"javascript:void(0)\" (click)=\"loadPaymentViewComponent(payment.payment_group_reference, payment.payment_reference, payment.method)\">{{ payment.payment_group_reference }}</a>\n <td class=\"font-xsmall\">{{ payment.payment_reference }}</td>\n <td class=\"font-xsmall\">{{ payment.date_created | date:'dd MMM yyyy' }}</td>\n <td class=\"font-xsmall\">{{ payment.channel | titlecase }}</td>\n <td class=\"font-xsmall\">{{ payment.method | titlecase }}</td>\n <td class=\"font-xsmall\">\u00A3{{ payment.amount | number:'.2' }}</td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'online'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Failed'\">\n <div *ngFor=\"let statusHistory of payment.status_histories\">\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0010'\">\n Payment rejected due to payment method selected or payment information entered, for example, failed fraud check, a 3D Secure authentication failure, or the user does not have enough money in account\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0020'\">\n Payment was not confirmed and completed within 90 minutes of being created\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0030'\">\n User clicked on the \u201CCancel payment\u201D button during the payment journey\n </p>\n <p class=\"font-xsmall\" *ngIf=\"statusHistory.error_code === 'P0050'\">\n Multiple possible causes, for example a configuration problem with the payment provider, or incorrect login credentials\n </p>\n </div>\n </div>\n </details>\n </td>\n <td *ngIf=\"payment.method === 'card' && payment.channel === 'telephony'\" class=\"font-xsmall\">\n {{ payment.status}}\n </td>\n <td *ngIf=\"payment.method === 'payment by account'\">\n <details>\n <summary><span class=\"summary font-xsmall\">{{ payment.status }}</span></summary>\n <div class=\"panel panel-border-narrow\" *ngIf=\"payment.status === 'Pending'\">\n <p class=\"font-xsmall\">This means the transaction is being processed by Liberata.</p>\n </div>\n </details>\n </td>\n </tr>\n </table>\n\n </div>\n\n</div>\n",
49
49
  styles: [""]
50
50
  }] }
51
51
  ];
@@ -72,4 +72,4 @@ if (false) {
72
72
  */
73
73
  PaymentListComponent.prototype.paymentLibComponent;
74
74
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGF5bWVudC1saXN0L3BheW1lbnQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFcEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFRaEUsTUFBTSxPQUFPLG9CQUFvQjs7Ozs7SUFLL0IsWUFBb0Isa0JBQXNDLEVBQ3RDLG1CQUF3QztRQUR4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDNUQsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDO2FBQ2pJLFNBQVM7Ozs7UUFDUixRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUTs7OztRQUNwQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBSyxLQUFLLEVBQUEsRUFDL0MsQ0FBQztJQUNOLENBQUM7Ozs7Ozs7SUFFRCx3QkFBd0IsQ0FBQyxxQkFBNkIsRUFBRSxnQkFBd0IsRUFBRSxhQUFxQjtRQUNyRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDdkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDO0lBQ3JELENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsMG5IQUE0Qzs7YUFFN0M7Ozs7WUFUTyxrQkFBa0I7WUFFbEIsbUJBQW1COzs7O0lBU3pCLHdDQUFvQjs7SUFDcEIsNENBQXFCOztJQUNyQixvQ0FBYTs7Ozs7SUFFRCxrREFBOEM7Ozs7O0lBQzlDLG1EQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1BheW1lbnRMaXN0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC1saXN0L3BheW1lbnQtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7SVBheW1lbnRzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50cyc7XG5pbXBvcnQge1BheW1lbnRMaWJDb21wb25lbnR9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQge0lTdGF0dXNIaXN0b3J5fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTdGF0dXNIaXN0b3J5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcGF5bWVudC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BheW1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BheW1lbnQtbGlzdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwYXltZW50czogSVBheW1lbnRzO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGF5bWVudExpc3RTZXJ2aWNlOiBQYXltZW50TGlzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXltZW50TGlzdFNlcnZpY2UuZ2V0UGF5bWVudEJ5Q2NkQ2FzZU51bWJlcih0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSLCB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuUEFZTUVOVF9NRVRIT0QpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBwYXltZW50cyA9PiB0aGlzLnBheW1lbnRzID0gcGF5bWVudHMsXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB0aGlzLmVycm9yTWVzc2FnZSA9IDxhbnk+ZXJyb3JcbiAgICAgICk7XG4gIH1cblxuICBsb2FkUGF5bWVudFZpZXdDb21wb25lbnQocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZDogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRNZXRob2QgPSBwYXltZW50TWV0aG9kO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSBwYXltZW50R3JvdXBSZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRSZWZlcmVuY2UgPSBwYXltZW50UmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdwYXltZW50LXZpZXcnO1xuICB9XG59XG4iXX0=
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50LyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvcGF5bWVudC1saXN0L3BheW1lbnQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFFaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFcEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFRaEUsTUFBTSxPQUFPLG9CQUFvQjs7Ozs7SUFLL0IsWUFBb0Isa0JBQXNDLEVBQ3RDLG1CQUF3QztRQUR4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDNUQsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDO2FBQ2pJLFNBQVM7Ozs7UUFDUixRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUTs7OztRQUNwQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBSyxLQUFLLEVBQUEsRUFDL0MsQ0FBQztJQUNOLENBQUM7Ozs7Ozs7SUFFRCx3QkFBd0IsQ0FBQyxxQkFBNkIsRUFBRSxnQkFBd0IsRUFBRSxhQUFxQjtRQUNyRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDdkUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQzdELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDO0lBQ3JELENBQUM7OztZQTNCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIscXBIQUE0Qzs7YUFFN0M7Ozs7WUFUTyxrQkFBa0I7WUFFbEIsbUJBQW1COzs7O0lBU3pCLHdDQUFvQjs7SUFDcEIsNENBQXFCOztJQUNyQixvQ0FBYTs7Ozs7SUFFRCxrREFBOEM7Ozs7O0lBQzlDLG1EQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1BheW1lbnRMaXN0U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGF5bWVudC1saXN0L3BheW1lbnQtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7SVBheW1lbnRzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lQYXltZW50cyc7XG5pbXBvcnQge1BheW1lbnRMaWJDb21wb25lbnR9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQge0lTdGF0dXNIaXN0b3J5fSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTdGF0dXNIaXN0b3J5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NwYXktcGF5bWVudC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BheW1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BheW1lbnQtbGlzdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwYXltZW50czogSVBheW1lbnRzO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGF5bWVudExpc3RTZXJ2aWNlOiBQYXltZW50TGlzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGF5bWVudExpYkNvbXBvbmVudDogUGF5bWVudExpYkNvbXBvbmVudCkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYXltZW50TGlzdFNlcnZpY2UuZ2V0UGF5bWVudEJ5Q2NkQ2FzZU51bWJlcih0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuQ0NEX0NBU0VfTlVNQkVSLCB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuUEFZTUVOVF9NRVRIT0QpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICBwYXltZW50cyA9PiB0aGlzLnBheW1lbnRzID0gcGF5bWVudHMsXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB0aGlzLmVycm9yTWVzc2FnZSA9IDxhbnk+ZXJyb3JcbiAgICAgICk7XG4gIH1cblxuICBsb2FkUGF5bWVudFZpZXdDb21wb25lbnQocGF5bWVudEdyb3VwUmVmZXJlbmNlOiBzdHJpbmcsIHBheW1lbnRSZWZlcmVuY2U6IHN0cmluZywgcGF5bWVudE1ldGhvZDogc3RyaW5nKSB7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRNZXRob2QgPSBwYXltZW50TWV0aG9kO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5wYXltZW50R3JvdXBSZWZlcmVuY2UgPSBwYXltZW50R3JvdXBSZWZlcmVuY2U7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnBheW1lbnRSZWZlcmVuY2UgPSBwYXltZW50UmVmZXJlbmNlO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC52aWV3TmFtZSA9ICdwYXltZW50LXZpZXcnO1xuICB9XG59XG4iXX0=