@hmcts/rpx-xui-common-lib 1.9.0-postcode-validation → 1.9.0-postcode-style-change

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.
@@ -779,11 +779,12 @@
779
779
  * in the data array for the route:
780
780
  * - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
781
781
  * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
782
+ * - expectFeatureEnabled: Sets whether a route should be enabled/disabled based on whether feature is present
782
783
  * @param route Automatically provided by Angular
783
784
  */
784
785
  FeatureToggleGuard.prototype.canActivate = function (route) {
785
786
  var _this = this;
786
- return rxjs.combineLatest.apply(void 0, __spread(route.data.needsFeaturesEnabled.map(function (feature) { return _this.featureToggleService.getValueOnce(feature, false); }))).pipe(operators.map(function (featureStatuses) { return featureStatuses.every(function (status) { return status; }); }), operators.map(function (status) { return status || _this.router.parseUrl(route.data.featureDisabledRedirect); }));
787
+ return rxjs.combineLatest(__spread(route.data.needsFeaturesEnabled.map(function (feature) { return _this.featureToggleService.getValueOnce(feature, false); }))).pipe(operators.map(function (featureStatuses) { return featureStatuses.every(function (status) { return status; }); }), operators.map(function (status) { return (route.data.expectFeatureEnabled !== false && status) || (route.data.expectFeatureEnabled === false && !status) || _this.router.parseUrl(route.data.featureDisabledRedirect); }));
787
788
  };
788
789
  return FeatureToggleGuard;
789
790
  }());
@@ -859,11 +860,12 @@
859
860
 
860
861
  exports.AddressMessageEnum = void 0;
861
862
  (function (AddressMessageEnum) {
862
- AddressMessageEnum["NO_OPTION_SELECTED"] = "Please select an answer";
863
+ AddressMessageEnum["NO_OPTION_SELECTED"] = "Select an option";
863
864
  AddressMessageEnum["NO_STREET_SELECTED"] = "Enter building and street";
864
865
  AddressMessageEnum["NO_CITY_SELECTED"] = "Enter town or city";
865
866
  AddressMessageEnum["NO_COUNTRY_SELECTED"] = "Enter country";
866
- AddressMessageEnum["NO_POSTCODE_SELECTED"] = "Enter postcode";
867
+ AddressMessageEnum["NO_POSTCODE_SELECTED"] = "Enter a valid postcode";
868
+ AddressMessageEnum["SELECT_ADDRESS"] = "Select an address";
867
869
  AddressMessageEnum["INVALID_POSTCODE"] = "Enter valid postcode";
868
870
  })(exports.AddressMessageEnum || (exports.AddressMessageEnum = {}));
869
871
 
@@ -1046,7 +1048,7 @@
1046
1048
  return this.http
1047
1049
  .get('/external/addresses?postcode=${postcode}'.replace('${postcode}', postcode), undefined)
1048
1050
  .pipe(operators.map(function (res) { return res.results; }))
1049
- .pipe(operators.map(function (output) { return output.map(function (addresses) { return _this.format(new AddressParser().parse(addresses[AddressType.DPA])); }); }));
1051
+ .pipe(operators.map(function (output) { return output ? output.map(function (addresses) { return _this.format(new AddressParser().parse(addresses[AddressType.DPA])); }) : []; }));
1050
1052
  };
1051
1053
  AddressService.prototype.format = function (addressModel) {
1052
1054
  return this.formatAddressLines(this.shiftAddressLinesUp(addressModel));
@@ -4854,9 +4856,15 @@
4854
4856
  this.addressesService = addressesService;
4855
4857
  this.internationalMode = false;
4856
4858
  this.submissionAttempted = false;
4859
+ this.addressChosen = false;
4857
4860
  this.postcodeOptionSelected = new i0.EventEmitter();
4858
4861
  this.internationalModeStart = new i0.EventEmitter();
4859
4862
  this.ukAddressOptionSelected = new i0.EventEmitter();
4863
+ // indicated what error to display to user
4864
+ this.canSelectAddress = new i0.EventEmitter();
4865
+ // tells parent to reset submission attempted field
4866
+ // only relevant to when user re-clicks find address
4867
+ this.resetSubmission = new i0.EventEmitter();
4860
4868
  this.addressField = {
4861
4869
  addressLine1: '',
4862
4870
  addressLine2: '',
@@ -4867,9 +4875,11 @@
4867
4875
  county: ''
4868
4876
  };
4869
4877
  this.optionErrorsPresent = false;
4870
- this.addressChosen = false;
4878
+ this.addressSelectable = false;
4871
4879
  this.missingPostcode = false;
4872
4880
  this.optionErrorMessage = exports.AddressMessageEnum.NO_OPTION_SELECTED;
4881
+ this.postcodeErrorMessage = exports.AddressMessageEnum.NO_POSTCODE_SELECTED;
4882
+ this.selectErrorMessage = exports.AddressMessageEnum.SELECT_ADDRESS;
4873
4883
  }
4874
4884
  WriteAddressFieldComponent.prototype.ngOnInit = function () {
4875
4885
  if (!this.formGroup.get('address')) {
@@ -4883,11 +4893,14 @@
4883
4893
  postcode: new forms.FormControl(''),
4884
4894
  addressList: new forms.FormControl('')
4885
4895
  });
4896
+ this.setPostcodeForm();
4886
4897
  };
4887
4898
  WriteAddressFieldComponent.prototype.findAddress = function () {
4888
4899
  var _this = this;
4900
+ this.resetSubmission.emit();
4889
4901
  if (!this.addressFormGroup.get('postcode').value) {
4890
4902
  this.missingPostcode = true;
4903
+ this.canSelectAddress.emit(false);
4891
4904
  }
4892
4905
  else {
4893
4906
  this.missingPostcode = false;
@@ -4900,6 +4913,7 @@
4900
4913
  });
4901
4914
  _this.addressOptions.unshift(new AddressOption(undefined, _this.defaultLabel(_this.addressOptions.length)));
4902
4915
  }, function (error) {
4916
+ // Edited this so that errors not produced if there are no results for a postcode
4903
4917
  console.log("An error occurred retrieving addresses for postcode " + postcode_1 + ". " + error);
4904
4918
  _this.addressOptions.unshift(new AddressOption(undefined, _this.defaultLabel(_this.addressOptions.length)));
4905
4919
  });
@@ -4908,6 +4922,7 @@
4908
4922
  };
4909
4923
  WriteAddressFieldComponent.prototype.blankAddress = function () {
4910
4924
  this.setFormValue();
4925
+ this.resetSubmission.emit();
4911
4926
  if (this.internationalMode) {
4912
4927
  this.internationalModeStart.emit();
4913
4928
  }
@@ -4928,6 +4943,7 @@
4928
4943
  return hasAddress;
4929
4944
  };
4930
4945
  WriteAddressFieldComponent.prototype.addressSelected = function () {
4946
+ this.missingPostcode = false;
4931
4947
  this.addressField = this.addressFormGroup.get('addressList').value;
4932
4948
  this.addressChosen = true;
4933
4949
  this.setFormValue();
@@ -4942,12 +4958,17 @@
4942
4958
  if (internationalChange && this.addressFormGroup && this.addressFormGroup.get('ukAddress')) {
4943
4959
  this.addressFormGroup.get('ukAddress').patchValue(this.isInternational ? 'no' : 'yes');
4944
4960
  }
4961
+ if (!this.addressChosen && this.addressFormGroup && this.addressFormGroup.get('addressList')) {
4962
+ // resets address options on internal back
4963
+ this.addressFormGroup.get('addressList').patchValue(undefined);
4964
+ }
4945
4965
  this.checkIfErrorsNeeded();
4946
4966
  };
4947
4967
  WriteAddressFieldComponent.prototype.checkIfErrorsNeeded = function () {
4948
- if (this.submissionAttempted && this.shouldShowDetailFields() && this.internationalMode && !this.addressChosen) {
4968
+ if (this.submissionAttempted && this.internationalMode && !this.postcodeLookupVisible()) {
4949
4969
  // ensure errors present when submission attmempted on international radio buttons
4950
4970
  this.optionErrorsPresent = true;
4971
+ this.optionErrorMessage = exports.AddressMessageEnum.NO_OPTION_SELECTED;
4951
4972
  }
4952
4973
  else {
4953
4974
  this.optionErrorsPresent = false;
@@ -4961,7 +4982,16 @@
4961
4982
  this.isInternational = isInternational;
4962
4983
  this.ukAddressOptionSelected.emit(this.isInternational);
4963
4984
  };
4985
+ WriteAddressFieldComponent.prototype.postcodeErrorPresent = function (isPostcodeField) {
4986
+ var checkForField = isPostcodeField ? !this.addressSelectable : this.addressSelectable;
4987
+ return this.submissionAttempted && checkForField;
4988
+ };
4989
+ WriteAddressFieldComponent.prototype.postcodeLookupVisible = function () {
4990
+ return !this.shouldShowDetailFields() || (!this.startedInternational && !this.addressChosen);
4991
+ };
4964
4992
  WriteAddressFieldComponent.prototype.defaultLabel = function (numberOfAddresses) {
4993
+ this.addressSelectable = numberOfAddresses > 0 ? true : false;
4994
+ this.canSelectAddress.emit(this.addressSelectable);
4965
4995
  return numberOfAddresses === 0 ? 'No address found'
4966
4996
  : "" + numberOfAddresses + (numberOfAddresses === 1 ? ' address ' : ' addresses ') + "found";
4967
4997
  };
@@ -4970,13 +5000,17 @@
4970
5000
  this.formGroup.get('address').patchValue(this.addressField);
4971
5001
  }
4972
5002
  };
5003
+ WriteAddressFieldComponent.prototype.setPostcodeForm = function () {
5004
+ var postcodeNeeded = this.isInternational === undefined && this.formGroup.get('address') && this.formGroup.get('address').get('postCode');
5005
+ this.addressFormGroup.get('postcode').patchValue(postcodeNeeded ? this.formGroup.get('address').get('postCode').value : '');
5006
+ };
4973
5007
  return WriteAddressFieldComponent;
4974
5008
  }());
4975
5009
  WriteAddressFieldComponent.decorators = [
4976
5010
  { type: i0.Component, args: [{
4977
5011
  selector: 'xuilib-write-address-field',
4978
- template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\" [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\">\n <div class=\"govuk-form-group postcodeLookup\" id=\"addressLookup\"\n [ngClass]=\"{'form-group-error': missingPostcode}\">\n <label for=\"postcodeInput\">\n <span class=\"govuk-label\"><b>Provide address details</b></span>\n <span class=\"govuk-label\">Enter a UK postcode</span>\n </label>\n <span class=\"error-message\" *ngIf=\"missingPostcode\">Enter the Postcode</span>\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-two-thirds postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button\" (click)=\"findAddress()\">Find address</button>\n </div>\n\n <div class=\"govuk-form-group\" *ngIf=\"addressOptions\" id=\"selectAddress\">\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\" (click)=\"blankAddress()\"\n href=\"javascript:void(0)\">I can't enter a UK postcode</a>\n </div>\n\n <div class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\" data-aria-controls=\"address-fields\"\n (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\" data-aria-controls=\"address-fields\"\n (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\" [isInternational]=\"isInternational\"\n [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\"></xuilib-write-address-inputs>\n\n</div>",
4979
- styles: [".manual-link{cursor:pointer;text-decoration:underline}.manual-link,:host{display:block}"]
5012
+ template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\" [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"postcodeLookupVisible()\">\n <span class=\"govuk-label\"><strong>Provide address details</strong></span>\n <div class=\"govuk-body postcodeLookup\" id=\"addressLookup\" [ngClass]=\"{'govuk-form-group--error': missingPostcode || postcodeErrorPresent(true)}\">\n <p class=\"govuk-error-message\" *ngIf=\"missingPostcode || postcodeErrorPresent(true)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{postcodeErrorMessage}}\n </p>\n <label for=\"postcodeInput\">\n <span class=\"govuk-hint\">Enter a UK postcode</span>\n </label>\n <div class=\"govuk-body\">\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-one-third postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button\" (click)=\"findAddress()\">Find address</button>\n </div>\n </div>\n\n <div class=\"govuk-body\"\n *ngIf=\"addressOptions\" id=\"selectAddress\">\n <div class=\"govuk-body\"\n [ngClass]=\"{'govuk-form-group--error': postcodeErrorPresent(false)}\">\n <p class=\"govuk-error-message\" *ngIf=\"postcodeErrorPresent(false)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{selectErrorMessage}}\n </p>\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\" (click)=\"blankAddress()\"\n href=\"javascript:void(0)\">I can't enter a UK postcode</a>\n </div>\n\n <div id=\"govuk-radios\" class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\" data-aria-controls=\"address-fields\"\n (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\" data-aria-controls=\"address-fields\"\n (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\" [isInternational]=\"isInternational\"\n [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\"></xuilib-write-address-inputs>\n\n</div>",
5013
+ styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline}.postcodeLookup{margin-bottom:-30px}:host{display:block}"]
4980
5014
  },] }
4981
5015
  ];
4982
5016
  WriteAddressFieldComponent.ctorParameters = function () { return [
@@ -4988,9 +5022,12 @@
4988
5022
  isInternational: [{ type: i0.Input }],
4989
5023
  submissionAttempted: [{ type: i0.Input }],
4990
5024
  startedInternational: [{ type: i0.Input }],
5025
+ addressChosen: [{ type: i0.Input }],
4991
5026
  postcodeOptionSelected: [{ type: i0.Output }],
4992
5027
  internationalModeStart: [{ type: i0.Output }],
4993
- ukAddressOptionSelected: [{ type: i0.Output }]
5028
+ ukAddressOptionSelected: [{ type: i0.Output }],
5029
+ canSelectAddress: [{ type: i0.Output }],
5030
+ resetSubmission: [{ type: i0.Output }]
4994
5031
  };
4995
5032
 
4996
5033
  var WriteAddressInputsComponent = /** @class */ (function () {
@@ -5011,7 +5048,7 @@
5011
5048
  WriteAddressInputsComponent.decorators = [
5012
5049
  { type: i0.Component, args: [{
5013
5050
  selector: 'xuilib-write-address-inputs',
5014
- template: "<ng-container>\n <form [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" formGroupName=\"address\" [ngClass]=\"{'govuk-form-group--error': submissionAttempted && errorsPresent}\">\n <label class=\"govuk-label govuk-!-font-weight-bold\">\n Enter address details\n </label>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"addressLine1\">\n Building and Street\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !formGroup.get('address').get('addressLine1').valid\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_STREET_SELECTED}}\n </p>\n <input class=\"govuk-input govuk-!-width-full\" id=\"addressLine1\" name=\"addressLine1\" type=\"text\"\n formControlName=\"addressLine1\">\n </div>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"addressLine2\">\n Address line 2 (Optional)\n </label>\n <input class=\"govuk-input govuk-!-width-full\" id=\"addressLine2\" name=\"addressLine2\" type=\"text\"\n formControlName=\"addressLine2\">\n </div>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"addressLine3\">\n Address line 3 (Optional)\n </label>\n <input class=\"govuk-input govuk-!-width-full\" id=\"addressLine3\" name=\"addressLine3\" type=\"text\"\n formControlName=\"addressLine3\">\n </div>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"postTown\">\n Town or City\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !formGroup.get('address').get('postTown').valid\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_CITY_SELECTED}}\n </p>\n <input class=\"govuk-input govuk-!-width-two-thirds\" id=\"postTown\" name=\"postTown\" type=\"text\"\n formControlName=\"postTown\">\n </div>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"county\">\n County{{this.isInternational ? '/ State/ Province' : ''}} (Optional)\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds\" id=\"county\" name=\"county\" type=\"text\"\n formControlName=\"county\">\n </div>\n\n <div *ngIf=\"isInternational\" class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"country\">\n Country\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !formGroup.get('address').get('country').valid\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_COUNTRY_SELECTED}}\n </p>\n <input class=\"govuk-input govuk-!-width-two-thirds\" id=\"country\" name=\"country\" type=\"text\"\n formControlName=\"country\">\n </div>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"postCode\">\n Postcode{{this.isInternational ? ' (Optional)' : ''}}\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !isInternational && this.formGroup.get('address').get('postCode').hasError('required')\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_POSTCODE_SELECTED}}\n </p>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !isInternational && this.formGroup.get('address').get('postCode').hasError('invalidPostcode')\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.INVALID_POSTCODE}}\n </p>\n <input class=\"govuk-input govuk-!-width-one-third\" id=\"postCode\" name=\"postCode\" type=\"text\"\n formControlName=\"postCode\">\n </div>\n </div>\n</form>\n</ng-container>"
5051
+ template: "<ng-container>\n <form [formGroup]=\"formGroup\">\n <div class=\"govuk-body\" formGroupName=\"address\" [ngClass]=\"{'govuk-form-group--error': submissionAttempted && errorsPresent}\">\n <label class=\"govuk-label govuk-!-font-weight-bold\">\n Enter address details\n </label>\n\n <div class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"addressLine1\">\n Building and Street\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !formGroup.get('address').get('addressLine1').valid\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_STREET_SELECTED}}\n </p>\n <input class=\"govuk-input govuk-!-width-full\" id=\"addressLine1\" name=\"addressLine1\" type=\"text\"\n formControlName=\"addressLine1\">\n </div>\n\n <div class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"addressLine2\">\n Address line 2 (Optional)\n </label>\n <input class=\"govuk-input govuk-!-width-full\" id=\"addressLine2\" name=\"addressLine2\" type=\"text\"\n formControlName=\"addressLine2\">\n </div>\n\n <div class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"addressLine3\">\n Address line 3 (Optional)\n </label>\n <input class=\"govuk-input govuk-!-width-full\" id=\"addressLine3\" name=\"addressLine3\" type=\"text\"\n formControlName=\"addressLine3\">\n </div>\n\n <div class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"postTown\">\n Town or City\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !formGroup.get('address').get('postTown').valid\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_CITY_SELECTED}}\n </p>\n <input class=\"govuk-input govuk-!-width-two-thirds\" id=\"postTown\" name=\"postTown\" type=\"text\"\n formControlName=\"postTown\">\n </div>\n\n <div class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"county\">\n County{{this.isInternational ? '/ State/ Province' : ''}} (Optional)\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds\" id=\"county\" name=\"county\" type=\"text\"\n formControlName=\"county\">\n </div>\n\n <div *ngIf=\"isInternational\" class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"country\">\n Country\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !formGroup.get('address').get('country').valid\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_COUNTRY_SELECTED}}\n </p>\n <input class=\"govuk-input govuk-!-width-two-thirds\" id=\"country\" name=\"country\" type=\"text\"\n formControlName=\"country\">\n </div>\n\n <div class=\"govuk-body\">\n <label class=\"govuk-label\" for=\"postCode\">\n Postcode{{this.isInternational ? ' (Optional)' : ''}}\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !isInternational && this.formGroup.get('address').get('postCode').hasError('required')\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.NO_POSTCODE_SELECTED}}\n </p>\n <p class=\"govuk-error-message\" *ngIf=\"submissionAttempted && !isInternational && this.formGroup.get('address').get('postCode').hasError('invalidPostcode')\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{MESSAGE_ENUM.INVALID_POSTCODE}}\n </p>\n <input class=\"govuk-input govuk-!-width-one-third\" id=\"postCode\" name=\"postCode\" type=\"text\"\n formControlName=\"postCode\">\n </div>\n </div>\n</form>\n</ng-container>"
5015
5052
  },] }
5016
5053
  ];
5017
5054
  WriteAddressInputsComponent.ctorParameters = function () { return []; };