@hmcts/rpx-xui-common-lib 1.9.0-consume-jrd-e-links-api-new-version-v2 → 1.9.0-error-message-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.
Files changed (91) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +584 -189
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +27 -24
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +2 -2
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +12 -4
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +2 -2
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +2 -2
  10. package/esm2015/lib/components/due-date/due-date.component.js +12 -4
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +2 -2
  12. package/esm2015/lib/components/find-person/find-person.component.js +2 -2
  13. package/esm2015/lib/components/find-service/find-service.component.js +2 -2
  14. package/esm2015/lib/components/generic-filter/generic-filter.component.js +2 -2
  15. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +2 -2
  16. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +12 -4
  17. package/esm2015/lib/components/pagination/pagination.component.js +2 -2
  18. package/esm2015/lib/components/public_api.js +3 -1
  19. package/esm2015/lib/components/search-location/search-location.component.js +5 -32
  20. package/esm2015/lib/components/selected-case/selected-case.component.js +2 -2
  21. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +2 -2
  22. package/esm2015/lib/components/service-message/service-message.component.js +2 -2
  23. package/esm2015/lib/components/service-messages/service-messages.component.js +2 -2
  24. package/esm2015/lib/components/share-case/share-case.component.js +2 -2
  25. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +2 -2
  26. package/esm2015/lib/components/tab/tab.component.js +2 -2
  27. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +2 -2
  28. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +2 -2
  29. package/esm2015/lib/components/user-details/user-details.component.js +2 -2
  30. package/esm2015/lib/components/user-list/user-list.component.js +2 -2
  31. package/esm2015/lib/components/user-select/user-select.component.js +2 -2
  32. package/esm2015/lib/components/write-address/write-address.component.js +182 -0
  33. package/esm2015/lib/components/write-address-inputs/write-address-inputs.component.js +30 -0
  34. package/esm2015/lib/exui-common-lib.module.js +9 -3
  35. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +2 -2
  36. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +2 -2
  37. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -2
  38. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +2 -2
  39. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +2 -2
  40. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +2 -2
  41. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +2 -2
  42. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  43. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +2 -2
  44. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +2 -2
  45. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +2 -2
  46. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +2 -2
  47. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -2
  48. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
  49. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +2 -2
  50. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +2 -2
  51. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +2 -2
  52. package/esm2015/lib/models/address-message.enum.js +11 -0
  53. package/esm2015/lib/models/address-option.model.js +21 -0
  54. package/esm2015/lib/models/address.model.js +4 -0
  55. package/esm2015/lib/models/index.js +4 -1
  56. package/esm2015/lib/models/location.model.js +1 -1
  57. package/esm2015/lib/models/person.model.js +1 -1
  58. package/esm2015/lib/services/address/address-parser.js +76 -0
  59. package/esm2015/lib/services/address/address-type.enum.js +7 -0
  60. package/esm2015/lib/services/address/address.service.js +50 -0
  61. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +3 -2
  62. package/esm2015/lib/services/find-person/find-person.service.js +3 -2
  63. package/esm2015/lib/services/locations/location.service.js +3 -6
  64. package/esm2015/lib/services/public-api.js +2 -1
  65. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +19 -10
  66. package/fesm2015/hmcts-rpx-xui-common-lib.js +520 -145
  67. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  68. package/hmcts-rpx-xui-common-lib.d.ts +26 -23
  69. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  70. package/lib/components/checkbox-list/checkbox-list.component.d.ts +5 -2
  71. package/lib/components/due-date/due-date.component.d.ts +5 -2
  72. package/lib/components/loading-spinner/loading-spinner.component.d.ts +5 -1
  73. package/lib/components/public_api.d.ts +2 -0
  74. package/lib/components/search-location/search-location.component.d.ts +1 -0
  75. package/lib/components/write-address/write-address.component.d.ts +42 -0
  76. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +13 -0
  77. package/lib/exui-common-lib.module.d.ts +5 -1
  78. package/lib/models/address-message.enum.d.ts +9 -0
  79. package/lib/models/address-option.model.d.ts +9 -0
  80. package/lib/models/address.model.d.ts +9 -0
  81. package/lib/models/index.d.ts +3 -0
  82. package/lib/models/location.model.d.ts +5 -5
  83. package/lib/models/person.model.d.ts +8 -7
  84. package/lib/services/address/address-parser.d.ts +17 -0
  85. package/lib/services/address/address-type.enum.d.ts +5 -0
  86. package/lib/services/address/address.service.d.ts +12 -0
  87. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +1 -0
  88. package/lib/services/locations/location.service.d.ts +1 -1
  89. package/lib/services/public-api.d.ts +1 -0
  90. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +5 -2
  91. package/package.json +3 -2
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('rxjs'), require('@angular/router'), require('rxjs/operators'), require('launchdarkly-js-client-sdk'), require('@angular/platform-browser'), require('@ng-idle/core'), require('@ng-idle/keepalive'), require('@angular/common/http'), require('rxjs/internal/observable/of'), require('@angular/material/autocomplete'), require('@angular/material/input'), require('@angular/material/tabs'), require('ngx-pagination')) :
3
- typeof define === 'function' && define.amd ? define('@hmcts/rpx-xui-common-lib', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'rxjs', '@angular/router', 'rxjs/operators', 'launchdarkly-js-client-sdk', '@angular/platform-browser', '@ng-idle/core', '@ng-idle/keepalive', '@angular/common/http', 'rxjs/internal/observable/of', '@angular/material/autocomplete', '@angular/material/input', '@angular/material/tabs', 'ngx-pagination'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.hmcts = global.hmcts || {}, global.hmcts["rpx-xui-common-lib"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.rxjs, global.ng.router, global.rxjs.operators, global.LDClient, global.ng.platformBrowser, global.i1$1, global.i2$1, global.ng.common.http, global.rxjs["internal/observable/of"], global.ng.material.autocomplete, global.ng.material.input, global.ng.material.tabs, global.ngxPagination));
5
- })(this, (function (exports, i0, i4, forms, rxjs, i1, operators, LDClient, i2, i1$1, i2$1, i1$2, of, autocomplete, input, tabs, ngxPagination) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('rxjs'), require('@angular/router'), require('rxjs/operators'), require('launchdarkly-js-client-sdk'), require('@angular/common/http'), require('@angular/platform-browser'), require('@ng-idle/core'), require('@ng-idle/keepalive'), require('rxjs/internal/observable/of'), require('@angular/material/autocomplete'), require('@angular/material/input'), require('@angular/material/tabs'), require('ngx-pagination'), require('rpx-xui-translation')) :
3
+ typeof define === 'function' && define.amd ? define('@hmcts/rpx-xui-common-lib', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'rxjs', '@angular/router', 'rxjs/operators', 'launchdarkly-js-client-sdk', '@angular/common/http', '@angular/platform-browser', '@ng-idle/core', '@ng-idle/keepalive', 'rxjs/internal/observable/of', '@angular/material/autocomplete', '@angular/material/input', '@angular/material/tabs', 'ngx-pagination', 'rpx-xui-translation'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.hmcts = global.hmcts || {}, global.hmcts["rpx-xui-common-lib"] = {}), global.ng.core, global.ng.common, global.ng.forms, global.rxjs, global.ng.router, global.rxjs.operators, global.LDClient, global.ng.common.http, global.ng.platformBrowser, global.i1$2, global.i2$1, global.rxjs["internal/observable/of"], global.ng.material.autocomplete, global.ng.material.input, global.ng.material.tabs, global.ngxPagination, global.rpxXuiTranslation));
5
+ })(this, (function (exports, i0, i4, forms, rxjs, i1, operators, LDClient, i1$1, i2, i1$2, i2$1, of, autocomplete, input, tabs, ngxPagination, rpxXuiTranslation) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -26,10 +26,10 @@
26
26
  var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
27
27
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
28
  var LDClient__namespace = /*#__PURE__*/_interopNamespace(LDClient);
29
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$1);
29
30
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
30
- var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
31
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
31
32
  var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
32
- var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
33
33
 
34
34
  var AccessibilityComponent = /** @class */ (function () {
35
35
  function AccessibilityComponent() {
@@ -39,7 +39,7 @@
39
39
  AccessibilityComponent.decorators = [
40
40
  { type: i0.Component, args: [{
41
41
  selector: 'xuilib-accessibility',
42
- template: "<h1 class=\"govuk-heading-xl\" id=\"Accessibility-statement-for-Expert-UI\">Accessibility statement for Expert UI</h1>\n\n<ul class=\"govuk-list\">\n <li><a href=\"accessibility#immigration\">Immigration and Asylum</a></li>\n <li><a href=\"accessibility#family\">Family Public Law </a></li>\n</ul>\n\n<p class=\"govuk-body\">This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>change colours, contrast levels and fonts</li>\n <li>zoom in up to 300% without the text spilling off the screen</li>\n <li>navigate most of the website using just a keyboard</li>\n <li>navigate most of the website using speech recognition software</li>\n <li>listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)\n </li>\n</ul>\n\n<p class=\"govuk-body\">We\u2019ve also made the website text as simple as possible to understand.</p>\n\n<p class=\"govuk-body\"><a rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://mcmw.abilitynet.org.uk/\">AbilityNet</a>\n has advice on making your device easier to use if you have a disability.</p>\n\n<h2 class=\"govuk-heading-l\" id=\"How-accessible-this-website-is\">How accessible this website is</h2>\n\n<p class=\"govuk-body\">We know some parts of the website are not fully accessible:</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>some pages are difficult to navigate using just a keyboard</li>\n <li>some pages can\u2019t be listened to in full using a screen reader</li>\n <li>some pages have problems with colour contrasts between text and background</li>\n <li>some PDFs may not be fully accessible to a screen reader</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"What-to-do-if-you-cannot-access-parts-of-this-website\">Feedback and contact\n information</h2>\n\n<p class=\"govuk-body\">If you need information on this website in a different format like accessible PDF, large print,\n easy read, audio recording or braille, you can:</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>email: <a href=\"mailto:HMCTSforms@justice.gov.uk\"> HMCTSforms@justice.gov.uk</a></li>\n <li>call: +44 (0) 300 123 1711</li>\n <li>contact your service representative</li>\n</ul>\n\n<p class=\"govuk-body\">We\u2019ll consider your request and get back to you in 10 working days.</p>\n\n<h2 class=\"govuk-heading-l\" id=\"Reporting-accessibility-problems-with-this-website\">Reporting accessibility problems\n with this website</h2>\n\n<p class=\"govuk-body\">We\u2019re always looking to improve the accessibility of this website. If you find any problems not\n listed on this page or think we\u2019re not meeting accessibility requirements, contact:</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>email: <a href=\"mailto:customer.service@justice.gov.uk\"> customer.service@justice.gov.uk</a></li>\n <li>telephone: +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Enforcement-procedure \">Enforcement procedure</h2>\n\n<p class=\"govuk-body\">The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the \u2018accessibility\n regulations\u2019). </p>\n\n<p class=\"govuk-body\">If you\u2019re not happy with how we respond to your complaint, <a rel=\"noopener noreferrer\"\n target=\"_blank\"\n href=\"https://www.equalityadvisoryservice.com/\">contact\n the Equality Advisory and Support Service (EASS).</a></p>\n\n<h1 class=\"govuk-heading-l\" id=\"Contacting-us-by-phone-or-visiting-us-in-person\">Contacting us by phone or visiting us\n in person</h1>\n\n<p class=\"govuk-body\">We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.</p>\n\n<p class=\"govuk-body\">Our offices and tribunal venues have audio induction loops, or if you contact us before your visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.</p>\n\n<p class=\"govuk-body\">If you have a question about accessibility in our Tribunal venues, you can contact the First-tier\n Tribunal enquiry line: +44 (0) 300 123 1711. You can <a target=\"_blank\"\n href=\"https://courttribunalfinder.service.gov.uk/search/\">find\n the contact details for court and tribunal venues</a>. </p>\n\n<p class=\"govuk-body\">You can also contact your service representative for more information.</p>\n\n<h1 class=\"govuk-heading-l\" id=\"Technical-information-about-this-website\u2019s-accessibility\">Technical information about\n this website\u2019s accessibility</h1>\n\n<p class=\"govuk-body\">HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies\n (Websites and Mobile Applications) (No.2) Accessibility Regulations 2018.</p>\n\n<p class=\"govuk-body\">This website is partially compliant with the <a rel=\"noopener noreferrer\" target=\"_blank\"\n href=\"https://www.w3.org/TR/WCAG21/\">Web Content\n Accessibility Guidelines version 2.1</a>, due to the non-compliances listed below.</p>\n\n<h1 class=\"govuk-heading-l\" id=\"Non-accessible-content\">Non-accessible content </h1>\n\n<p class=\"govuk-body\">The content listed below is non-compliant for the following reasons.</p>\n\n<h2 class=\"govuk-heading-l\" id=\"Non-compliance-with-the-accessibility-regulations\">Non-compliance with the accessibility\n regulations</h2>\n\n<p class=\"govuk-body\">Some pages cannot be navigated completely using just a keyboard, so some people won\u2019t be able to\n tab through the pages. This fails WCAG 2.1 success criterion 2.1 (keyboard accessible).</p>\n\n<p class=\"govuk-body\">Some pages can\u2019t be listened to in full using a screen reader, so some people won\u2019t be able to\n access the information. This fails WCAG 2.1 success criterion 1.2.5 (audio description \u2013 prerecorded).</p>\n\n<p class=\"govuk-body\">Some of the contrast ratios don\u2019t meet the current accessibility requirements. This fails WCAG 2.1\n success criterion 1.4.3 (contrast \u2013 minimum).</p>\n\n<h3 class=\"govuk-heading-m\" id=\"immigration\">Immigration and Asylum</h3>\n\n<p class=\"govuk-body\">Some of the images on the service include text and are not accessible for some low vision users.\n We have identified a solution for this issue that we will implement as soon as possible.</p>\n\n<h3 class=\"govuk-heading-m\" id=\"family\">Family Public Law </h3>\n\n<ol class=\"govuk-list govuk-list--alpha\">\n <li>The navigation system used in family public law cannot be rendered well by screen readers, so features can\u2019t be\n listened to in full\n </li>\n <li>Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers\n </li>\n <li>Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers\n </li>\n</ol>\n\n<h2 class=\"govuk-heading-m\" id=\"Disproportionate burden \">Disproportionate burden </h2>\n\n<p class=\"govuk-body\">For Manage organisation, Register organisation, Approve organisations and Manage cases, we found\n the following issues that are currently being triaged to find out if there is a disproportionate burden:</p>\n\n<ol class=\"govuk-list govuk-list--alpha\">\n <li>Screen readers can\u2019t switch between headers, read content in tabs and buttons</li>\n <li>Screen readers can\u2019t tab between radio buttons, read links or content</li>\n <li>Colour contrast ratios uneven between page background and content</li>\n <li>Some labels, fields, error messages and other content can\u2019t be clearly identified by screen readers and voice\n activation software\n </li>\n <li>Some page headings and titles don\u2019t follow a logical structure for screen readers</li>\n <li>The navigation of some pages isn\u2019t clear</li>\n <li>Some headings, links and button labels aren\u2019t clearly descriptive</li>\n</ol>\n\n<h2 class=\"govuk-heading-m\" id=\"Content-that\u2019s-not-within-the-scope-of-the-accessibility-regulations\">Content that\u2019s not\n within the scope of the accessibility regulations </h2>\n\n<p class=\"govuk-body\">PDFs, documents and attachments to email notifications published before 23 September 2018 may not\n meet accessibility standards. For example, they may not be structured so they\u2019re accessible to a screen reader.</p>\n\n<p class=\"govuk-body\">Any new PDFs or Word documents we publish will meet accessibility standards.</p>\n\n<h1 class=\"govuk-heading-l\" id=\"what-to-improve-accessibility\">What we\u2019re doing to improve accessibility</h1>\n\n<p class=\"govuk-body\">We\u2019re committed to ensuring our services are accessible to all our users and that they comply with\n level AA of the Web Content Accessibility Guidelines \u2013 WCAG 2.1.</p>\n\n<p class=\"govuk-body\">We\u2019re actively working to improve the identified issues and make them AA-compliant by 23 September\n 2020. We\u2019re also continuing to improve all other AAA-level accessibility issues as we iterate the service.</p>\n\n<h1 class=\"govuk-heading-l\" id=\"preparation-of-this-accessibility-statement\">Preparation of this accessibility\n statement</h1>\n\n<p class=\"govuk-body\">This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.</p>\n\n<p class=\"govuk-body\">This website was last tested on 19 May 2020. The test was carried out by the <a target=\"_blank\"\n href=\"https://digitalaccessibilitycentre.org/\">Digital\n Accessibility Centre (DAC)</a>.</p>\n\n<h3 class=\"govuk-heading-m\">Family Private Law:</h3>\n\n<p class=\"govuk-body\">This service has not yet been tested for accessibility issues. In the future, we will conduct an\n accessibility audit in order to find out if there are any accessibility issues. The accessibility statement will be\n updated with any relevant changes that we find.</p>\n\n<p class=\"govuk-body\">If there are any issues with accessing information or using this website please contact:</p>\n\n<ol class=\"govuk-list govuk-list--bullet\">\n <li>Nicola Whitcher - 02380 384324</li>\n <li>Hannah Townley - 02380 384313</li>\n</ol>",
42
+ template: "<h1 class=\"govuk-heading-xl\" id=\"Accessibility-statement-for-Expert-UI\">{{'Accessibility statement for Expert UI' | rpxTranslate}}</h1>\n\n<ul class=\"govuk-list\">\n <li><a href=\"accessibility#immigration\">{{'Immigration and Asylum' | rpxTranslate}}</a></li>\n <li><a href=\"accessibility#family\">{{'Family Public Law' | rpxTranslate}} </a></li>\n</ul>\n\n<p class=\"govuk-body\">{{'This website is run by HM Courts & Tribunals Service. We want as many people as possible to be\n able to use this website. For example, you should be able to:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'change colours, contrast levels and fonts' | rpxTranslate}}</li>\n <li>{{'zoom in up to 300% without the text spilling off the screen' | rpxTranslate}}</li>\n <li>{{'navigate most of the website using just a keyboard' | rpxTranslate}}</li>\n <li>{{'navigate most of the website using speech recognition software' | rpxTranslate}}</li>\n <li>{{'listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and\n VoiceOver)' | rpxTranslate}}\n </li>\n</ul>\n\n<p class=\"govuk-body\">{{'We\\\u2019ve also made the website text as simple as possible to understand.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\"><a rel=\"noopener noreferrer\" target=\"_blank\" href=\"https://mcmw.abilitynet.org.uk/\">{{'AbilityNet' | rpxTranslate}}</a>\n {{'has advice on making your device easier to use if you have a disability.' | rpxTranslate}}</p>\n\n<h2 class=\"govuk-heading-l\" id=\"How-accessible-this-website-is\">{{'How accessible this website is' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'We know some parts of the website are not fully accessible:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'some pages are difficult to navigate using just a keyboard' | rpxTranslate}}</li>\n <li>{{'some pages can\\\u2019t be listened to in full using a screen reader' | rpxTranslate}}</li>\n <li>{{'some pages have problems with colour contrasts between text and background' | rpxTranslate}}</li>\n <li>{{'some PDFs may not be fully accessible to a screen reader' | rpxTranslate}}</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"What-to-do-if-you-cannot-access-parts-of-this-website\">{{'Feedback and contact\n information' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'If you need information on this website in a different format like accessible PDF, large print,\n easy read, audio recording or braille, you can:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'email:' | rpxTranslate}} <a href=\"mailto:HMCTSforms@justice.gov.uk\"> HMCTSforms@justice.gov.uk</a></li>\n <li>{{'call:' | rpxTranslate}} +44 (0) 300 123 1711</li>\n <li>{{'contact your service representative' | rpxTranslate}}</li>\n</ul>\n\n<p class=\"govuk-body\">{{'We\\\u2019ll consider your request and get back to you in 10 working days.' | rpxTranslate}}</p>\n\n<h2 class=\"govuk-heading-l\" id=\"Reporting-accessibility-problems-with-this-website\">{{'Reporting accessibility problems\n with this website' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'We\\\u2019re always looking to improve the accessibility of this website. If you find any problems not\n listed on this page or think we\\\u2019re not meeting accessibility requirements, contact:' | rpxTranslate}}</p>\n\n<ul class=\"govuk-list govuk-list--bullet\">\n <li>{{'email:' | rpxTranslate}} <a href=\"mailto:customer.service@justice.gov.uk\"> customer.service@justice.gov.uk</a></li>\n <li>{{'telephone:' | rpxTranslate}} +44 (0) 300 123 1711</li>\n</ul>\n\n<h2 class=\"govuk-heading-l\" id=\"Enforcement-procedure \">{{'Enforcement procedure' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector\n Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the \\\u2018accessibility\n regulations\\\u2019).' | rpxTranslate}} </p>\n\n<p class=\"govuk-body\">{{'If you\\\u2019re not happy with how we respond to your complaint,' | rpxTranslate}} <a rel=\"noopener noreferrer\"\n target=\"_blank\"\n href=\"https://www.equalityadvisoryservice.com/\">{{'contact\n the Equality Advisory and Support Service (EASS).' | rpxTranslate}}</a></p>\n\n<h1 class=\"govuk-heading-l\" id=\"Contacting-us-by-phone-or-visiting-us-in-person\">{{'Contacting us by phone or visiting us\n in person' | rpxTranslate}}</h1>\n\n<p class=\"govuk-body\">{{'We provide a text relay service for people who are D/deaf, hearing impaired or have a speech\n impediment.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Our offices and tribunal venues have audio induction loops, or if you contact us before your visit\n we can arrange a British Sign Language (BSL) interpreter. You can also request step-free access or a foreign language\n interpreter.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'If you have a question about accessibility in our Tribunal venues, you can contact the First-tier\n Tribunal enquiry line:' | rpxTranslate}} +44 (0) 300 123 1711. You can <a target=\"_blank\"\n href=\"https://courttribunalfinder.service.gov.uk/search/\">{{'find\n the contact details for court and tribunal venues' | rpxTranslate}}</a>. </p>\n\n<p class=\"govuk-body\">{{'You can also contact your service representative for more information.' | rpxTranslate}}</p>\n\n<h1 class=\"govuk-heading-l\" id=\"Technical-information-about-this-website\u2019s-accessibility\">{{'Technical information about\n this website\\\u2019s accessibility' | rpxTranslate}}</h1>\n\n<p class=\"govuk-body\">{{'HMCTS is committed to making its website accessible, in accordance with the Public Sector Bodies\n (Websites and Mobile Applications) (No.2) Accessibility Regulations 2018.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'This website is partially compliant with the' | rpxTranslate}} <a rel=\"noopener noreferrer\" target=\"_blank\"\n href=\"https://www.w3.org/TR/WCAG21/\">{{'Web Content\n Accessibility Guidelines version 2.1' | rpxTranslate}}</a>{{', due to the non-compliances listed below.' | rpxTranslate}}</p>\n\n<h1 class=\"govuk-heading-l\" id=\"Non-accessible-content\">{{'Non-accessible content' | rpxTranslate}} </h1>\n\n<p class=\"govuk-body\">{{'The content listed below is non-compliant for the following reasons.' | rpxTranslate}}</p>\n\n<h2 class=\"govuk-heading-l\" id=\"Non-compliance-with-the-accessibility-regulations\">{{'Non-compliance with the accessibility\n regulations' | rpxTranslate}}</h2>\n\n<p class=\"govuk-body\">{{'Some pages cannot be navigated completely using just a keyboard, so some people won\\\u2019t be able to\n tab through the pages. This fails WCAG 2.1 success criterion 2.1 (keyboard accessible).' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Some pages can\\\u2019t be listened to in full using a screen reader, so some people won\\\u2019t be able to\n access the information. This fails WCAG 2.1 success criterion 1.2.5 (audio description \u2013 prerecorded).' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Some of the contrast ratios don\\\u2019t meet the current accessibility requirements. This fails WCAG 2.1\n success criterion 1.4.3 (contrast \u2013 minimum).' | rpxTranslate}}</p>\n\n<h3 class=\"govuk-heading-m\" id=\"immigration\">{{'Immigration and Asylum' | rpxTranslate}}</h3>\n\n<p class=\"govuk-body\">{{'Some of the images on the service include text and are not accessible for some low vision users.\n We have identified a solution for this issue that we will implement as soon as possible.' | rpxTranslate}}</p>\n\n<h3 class=\"govuk-heading-m\" id=\"family\">{{'Family Public Law' | rpxTranslate}} </h3>\n\n<ol class=\"govuk-list govuk-list--alpha\">\n <li>{{'The navigation system used in family public law cannot be rendered well by screen readers, so features can\\\u2019t be\n listened to in full' | rpxTranslate}}\n </li>\n <li>{{'Some essential functions within the family public law digital service cannot be accessed properly using screen\n readers' | rpxTranslate}}\n </li>\n <li>{{'Some complex forms within the service will not be rendered correctly or cannot be listened to by screen readers' | rpxTranslate}}\n </li>\n</ol>\n\n<h2 class=\"govuk-heading-m\" id=\"Disproportionate burden \">{{'Disproportionate burden' | rpxTranslate}} </h2>\n\n<p class=\"govuk-body\">{{'For Manage organisation, Register organisation, Approve organisations and Manage cases, we found\n the following issues that are currently being triaged to find out if there is a disproportionate burden:' | rpxTranslate}}</p>\n\n<ol class=\"govuk-list govuk-list--alpha\">\n <li>{{'Screen readers can\\\u2019t switch between headers, read content in tabs and buttons' | rpxTranslate}}</li>\n <li>{{'Screen readers can\\\u2019t tab between radio buttons, read links or content' | rpxTranslate}}</li>\n <li>{{'Colour contrast ratios uneven between page background and content' | rpxTranslate}}</li>\n <li>{{'Some labels, fields, error messages and other content can\\\u2019t be clearly identified by screen readers and voice\n activation software' | rpxTranslate}}\n </li>\n <li>{{'Some page headings and titles don\\\u2019t follow a logical structure for screen readers' | rpxTranslate}}</li>\n <li>{{'The navigation of some pages isn\\\u2019t clear' | rpxTranslate}}</li>\n <li>{{'Some headings, links and button labels aren\\\u2019t clearly descriptive' | rpxTranslate}}</li>\n</ol>\n\n<h2 class=\"govuk-heading-m\" id=\"Content-that\u2019s-not-within-the-scope-of-the-accessibility-regulations\">{{'Content that\\\u2019s not\n within the scope of the accessibility regulations' | rpxTranslate}} </h2>\n\n<p class=\"govuk-body\">{{'PDFs, documents and attachments to email notifications published before 23 September 2018 may not\n meet accessibility standards. For example, they may not be structured so they\\\u2019re accessible to a screen reader.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'Any new PDFs or Word documents we publish will meet accessibility standards.' | rpxTranslate}}</p>\n\n<h1 class=\"govuk-heading-l\" id=\"what-to-improve-accessibility\">{{'What we\\\u2019re doing to improve accessibility' | rpxTranslate}}</h1>\n\n<p class=\"govuk-body\">{{'We\\\u2019re committed to ensuring our services are accessible to all our users and that they comply with\n level AA of the Web Content Accessibility Guidelines \u2013 WCAG 2.1.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'We\\\u2019re actively working to improve the identified issues and make them AA-compliant by 23 September\n 2020. We\\\u2019re also continuing to improve all other AAA-level accessibility issues as we iterate the service.' | rpxTranslate}}</p>\n\n<h1 class=\"govuk-heading-l\" id=\"preparation-of-this-accessibility-statement\">{{'Preparation of this accessibility\n statement' | rpxTranslate}}</h1>\n\n<p class=\"govuk-body\">{{'This statement was prepared on 16 September 2019. It was last reviewed on 16 September 2020.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'This website was last tested on 19 May 2020. The test was carried out by the' | rpxTranslate}} <a target=\"_blank\"\n href=\"https://digitalaccessibilitycentre.org/\">{{'Digital\n Accessibility Centre (DAC)' | rpxTranslate}}</a>.</p>\n\n<h3 class=\"govuk-heading-m\">{{'Family Private Law:' | rpxTranslate}}</h3>\n\n<p class=\"govuk-body\">{{'This service has not yet been tested for accessibility issues. In the future, we will conduct an\n accessibility audit in order to find out if there are any accessibility issues. The accessibility statement will be\n updated with any relevant changes that we find.' | rpxTranslate}}</p>\n\n<p class=\"govuk-body\">{{'If there are any issues with accessing information or using this website please contact:' | rpxTranslate}}</p>\n\n<ol class=\"govuk-list govuk-list--bullet\">\n <li>Nicola Whitcher - 02380 384324</li>\n <li>Hannah Townley - 02380 384313</li>\n</ol>",
43
43
  styles: [".govuk-list--alpha{padding-left:20px;list-style-type:lower-alpha}"]
44
44
  },] }
45
45
  ];
@@ -373,7 +373,8 @@
373
373
  }
374
374
 
375
375
  var CheckboxListComponent = /** @class */ (function () {
376
- function CheckboxListComponent() {
376
+ function CheckboxListComponent(ref) {
377
+ this.ref = ref;
377
378
  /**
378
379
  * The options to show checkboxes for. Note that the type
379
380
  * within the array corresponds to the one for the component.
@@ -417,6 +418,10 @@
417
418
  // Now check the current selection to make sure it's valid.
418
419
  this.checkSelection();
419
420
  };
421
+ // checks the data projected into the component
422
+ CheckboxListComponent.prototype.ngAfterContentChecked = function () {
423
+ this.ref.detectChanges();
424
+ };
420
425
  Object.defineProperty(CheckboxListComponent.prototype, "hasOptions", {
421
426
  /**
422
427
  * Indicates whether or not there are any options to render.
@@ -558,11 +563,14 @@
558
563
  CheckboxListComponent.decorators = [
559
564
  { type: i0.Component, args: [{
560
565
  selector: 'xuilib-checkbox-list',
561
- template: "<div class=\"xui-checkbox-list govuk-checkboxes govuk-checkboxes--small\" *ngIf=\"isFunctional\">\n <div class=\"select-all govuk-checkboxes__item\">\n <input type=\"checkbox\" id=\"select_all\" class=\"govuk-checkboxes__input\" [checked]=\"allSelected\"\n (change)=\"toggleSelectAll()\" />\n <label for=\"select_all\" class=\"govuk-label govuk-checkboxes__label\">Select all / Deselect all</label>\n </div>\n <div class=\"checkbox-items\">\n <div *ngFor=\"let item of options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" [id]=\"'select_' + i\" class=\"govuk-checkboxes__input\" [checked]=\"isSelected(item)\"\n (change)=\"toggleItemSelection(item)\" />\n <label [for]=\"'select_' + i\" class=\"govuk-label govuk-checkboxes__label\">{{labelFunction(item)}}</label>\n </div>\n </div>\n</div>\n",
566
+ template: "<div class=\"xui-checkbox-list govuk-checkboxes govuk-checkboxes--small\" *ngIf=\"isFunctional\">\n <div class=\"select-all govuk-checkboxes__item\">\n <input type=\"checkbox\" id=\"select_all\" class=\"govuk-checkboxes__input\" [checked]=\"allSelected\"\n (change)=\"toggleSelectAll()\" />\n <label for=\"select_all\" class=\"govuk-label govuk-checkboxes__label\">{{'Select all / Deselect all' | rpxTranslate}}</label>\n </div>\n <div class=\"checkbox-items\">\n <div *ngFor=\"let item of options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" [id]=\"'select_' + i\" class=\"govuk-checkboxes__input\" [checked]=\"isSelected(item)\"\n (change)=\"toggleItemSelection(item)\" />\n <label [for]=\"'select_' + i\" class=\"govuk-label govuk-checkboxes__label\">{{labelFunction(item) | rpxTranslate}}</label>\n </div>\n </div>\n</div>\n",
562
567
  encapsulation: i0.ViewEncapsulation.None,
563
568
  styles: [".xui-checkbox-list .select-all{margin-bottom:10px}.xui-checkbox-list .checkbox-items{display:flex;flex-direction:column;flex-wrap:wrap;height:100%;max-height:100%;align-items:flex-start;align-content:flex-start;width:100%;max-width:100%;overflow-x:scroll}"]
564
569
  },] }
565
570
  ];
571
+ CheckboxListComponent.ctorParameters = function () { return [
572
+ { type: i0.ChangeDetectorRef }
573
+ ]; };
566
574
  CheckboxListComponent.propDecorators = {
567
575
  options: [{ type: i0.Input }],
568
576
  preselection: [{ type: i0.Input }],
@@ -579,7 +587,7 @@
579
587
  ContactDetailsComponent.decorators = [
580
588
  { type: i0.Component, args: [{
581
589
  selector: 'xuilib-contact-details',
582
- template: "<div class=\"contact-details\" *ngIf=\"data\">\n <h3 class=\"govuk-heading-m\" *ngIf=\"data.title\">{{ data.title }}</h3>\n <p *ngIf=\"data.badgeText\"><span [className]=\"'hmcts-badge ' + data.badgeColour\">{{ data.badgeText }}</span></p>\n <div class=\"email\" *ngIf=\"data.email\"><span class=\"govuk-!-font-weight-bold\">Email: </span> <a href=\"mailto:{{ data.email }}\">{{ data.email }}</a></div>\n <div class=\"phone\" *ngIf=\"data.phone\"><span class=\"govuk-!-font-weight-bold\">Phone: </span>{{ data.phone }}</div>\n <div class=\"opening-times\" *ngIf=\"data.openingTimes\"><span class=\"govuk-!-font-weight-bold\">Opening times: </span>{{ data.openingTimes}}</div>\n</div>\n\n",
590
+ template: "<div class=\"contact-details\" *ngIf=\"data\">\n <h3 class=\"govuk-heading-m\" *ngIf=\"data.title\">{{ data.title }}</h3>\n <p *ngIf=\"data.badgeText\"><span [className]=\"'hmcts-badge ' + data.badgeColour\">{{ data.badgeText }}</span></p>\n <div class=\"email\" *ngIf=\"data.email\"><span class=\"govuk-!-font-weight-bold\">{{'Email:' | rpxTranslate}} </span> <a href=\"mailto:{{ data.email }}\">{{ data.email }}</a></div>\n <div class=\"phone\" *ngIf=\"data.phone\"><span class=\"govuk-!-font-weight-bold\">{{'Phone:' | rpxTranslate}} </span>{{ data.phone }}</div>\n <div class=\"opening-times\" *ngIf=\"data.openingTimes\"><span class=\"govuk-!-font-weight-bold\">{{'Opening times:' | rpxTranslate }} </span>{{ data.openingTimes}}</div>\n</div>\n\n",
583
591
  styles: [".contact-details{margin-top:30px}.contact-details h3,.contact-details p{margin-bottom:10px}"]
584
592
  },] }
585
593
  ];
@@ -597,7 +605,8 @@
597
605
  var SECONDS_IN_A_DAY = 60 * 60 * 24;
598
606
 
599
607
  var DueDateComponent = /** @class */ (function () {
600
- function DueDateComponent() {
608
+ function DueDateComponent(ref) {
609
+ this.ref = ref;
601
610
  /**
602
611
  * This should be considered HIGH urgency if there are fewer than this
603
612
  * many days until the due date.
@@ -661,6 +670,10 @@
661
670
  DueDateComponent.prototype.ngOnChanges = function () {
662
671
  this.handleInputChanges();
663
672
  };
673
+ // checks the data projected into the component
674
+ DueDateComponent.prototype.ngAfterContentChecked = function () {
675
+ this.ref.detectChanges();
676
+ };
664
677
  // Set up the label, urgency class, and accessibility fields.
665
678
  DueDateComponent.prototype.handleInputChanges = function () {
666
679
  // If we don't have a dueDate, skip out of here.
@@ -714,11 +727,14 @@
714
727
  DueDateComponent.decorators = [
715
728
  { type: i0.Component, args: [{
716
729
  selector: 'xuilib-due-date',
717
- template: "<span *ngIf=\"dueDate\" class=\"due-date hmcts-badge\" [ngClass]=\"badge\"\n [title]=\"accessibleLabel\" [attr.aria-label]=\"accessibleLabel\">\n {{label}}\n</span>",
730
+ template: "<span *ngIf=\"dueDate\" class=\"due-date hmcts-badge\" [ngClass]=\"badge\"\n [title]=\"accessibleLabel | rpxTranslate\" [attr.aria-label]=\"accessibleLabel | rpxTranslate\">\n {{label | rpxTranslate}}\n</span>",
718
731
  encapsulation: i0.ViewEncapsulation.None,
719
732
  styles: [".due-date{white-space:nowrap}.due-date.hmcts-badge--orange{color:#f47738;border-color:#f47738}"]
720
733
  },] }
721
734
  ];
735
+ DueDateComponent.ctorParameters = function () { return [
736
+ { type: i0.ChangeDetectorRef }
737
+ ]; };
722
738
  DueDateComponent.propDecorators = {
723
739
  dueDate: [{ type: i0.Input }],
724
740
  highUrgencyCutoff: [{ type: i0.Input }],
@@ -763,11 +779,12 @@
763
779
  * in the data array for the route:
764
780
  * - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
765
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
766
783
  * @param route Automatically provided by Angular
767
784
  */
768
785
  FeatureToggleGuard.prototype.canActivate = function (route) {
769
786
  var _this = this;
770
- 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); }));
771
788
  };
772
789
  return FeatureToggleGuard;
773
790
  }());
@@ -841,6 +858,235 @@
841
858
  },] }
842
859
  ];
843
860
 
861
+ exports.AddressMessageEnum = void 0;
862
+ (function (AddressMessageEnum) {
863
+ AddressMessageEnum["NO_OPTION_SELECTED"] = "Select an option";
864
+ AddressMessageEnum["NO_STREET_SELECTED"] = "Enter building and street";
865
+ AddressMessageEnum["NO_CITY_SELECTED"] = "Enter town or city";
866
+ AddressMessageEnum["NO_COUNTRY_SELECTED"] = "Enter country";
867
+ AddressMessageEnum["NO_POSTCODE_SELECTED"] = "Enter a valid postcode";
868
+ AddressMessageEnum["SELECT_ADDRESS"] = "Select an address";
869
+ AddressMessageEnum["INVALID_POSTCODE"] = "Enter valid postcode";
870
+ })(exports.AddressMessageEnum || (exports.AddressMessageEnum = {}));
871
+
872
+ var AddressOption = /** @class */ (function () {
873
+ function AddressOption(addressModel, description) {
874
+ if (description === null) {
875
+ this.value = addressModel;
876
+ this.description = this.getDescription();
877
+ }
878
+ else {
879
+ this.description = description;
880
+ }
881
+ }
882
+ AddressOption.prototype.getDescription = function () {
883
+ return this.removeInitialCommaIfPresent("" + (this.value.addressLine1 === undefined ? '' : this.value.addressLine1) + this.prefixWithCommaIfPresent(this.value.addressLine2) + this.prefixWithCommaIfPresent(this.value.addressLine3) + ", " + this.value.postTown);
884
+ };
885
+ AddressOption.prototype.prefixWithCommaIfPresent = function (value) {
886
+ return value ? ", " + value : value;
887
+ };
888
+ AddressOption.prototype.removeInitialCommaIfPresent = function (value) {
889
+ return value.replace(new RegExp('^,', 'gi'), '');
890
+ };
891
+ return AddressOption;
892
+ }());
893
+
894
+ // tslint:disable:variable-name
895
+ var AddressModel = /** @class */ (function () {
896
+ function AddressModel() {
897
+ }
898
+ return AddressModel;
899
+ }());
900
+
901
+ exports.SharedCaseErrorMessages = void 0;
902
+ (function (SharedCaseErrorMessages) {
903
+ SharedCaseErrorMessages["OneCaseMustBeSelected"] = "At least one case must be selected";
904
+ SharedCaseErrorMessages["NoChangesRequested"] = "You have not requested any changes to case sharing";
905
+ SharedCaseErrorMessages["OnePersonMustBeAssigned"] = "At least one person must be assigned to each case";
906
+ })(exports.SharedCaseErrorMessages || (exports.SharedCaseErrorMessages = {}));
907
+
908
+ exports.BadgeColour = void 0;
909
+ (function (BadgeColour) {
910
+ BadgeColour["BADGE_RED"] = "hmcts-badge--red";
911
+ BadgeColour["BADGE_BLUE"] = "hmcts-badge--blue";
912
+ BadgeColour["BADGE_GREEN"] = "hmcts-badge--green";
913
+ })(exports.BadgeColour || (exports.BadgeColour = {}));
914
+
915
+ var AnonymousFeatureUser = /** @class */ (function () {
916
+ function AnonymousFeatureUser() {
917
+ }
918
+ return AnonymousFeatureUser;
919
+ }());
920
+ var LoggedInFeatureUser = /** @class */ (function () {
921
+ function LoggedInFeatureUser() {
922
+ }
923
+ return LoggedInFeatureUser;
924
+ }());
925
+
926
+ var RadioFilterFieldConfig = /** @class */ (function () {
927
+ function RadioFilterFieldConfig() {
928
+ }
929
+ return RadioFilterFieldConfig;
930
+ }());
931
+
932
+ exports.BookingCheckType = void 0;
933
+ (function (BookingCheckType) {
934
+ BookingCheckType["NO_CHECK"] = "NO_CHECK";
935
+ BookingCheckType["BOOKINGS_AND_BASE"] = "BOOKINGS_AND_BASE";
936
+ BookingCheckType["POSSIBLE_BOOKINGS"] = "POSSIBLE_BOOKINGS";
937
+ })(exports.BookingCheckType || (exports.BookingCheckType = {}));
938
+
939
+ exports.PersonRole = void 0;
940
+ (function (PersonRole) {
941
+ PersonRole["JUDICIAL"] = "Judicial";
942
+ PersonRole["CASEWORKER"] = "Legal Ops";
943
+ PersonRole["ADMIN"] = "Admin";
944
+ PersonRole["CTSC"] = "CTSC";
945
+ PersonRole["ALL"] = "All";
946
+ })(exports.PersonRole || (exports.PersonRole = {}));
947
+ // Note: RoleCategory could replace PersonRole possibly
948
+ // However a lot of webapp logic is based on current PersonRole understanding
949
+ exports.RoleCategory = void 0;
950
+ (function (RoleCategory) {
951
+ RoleCategory["JUDICIAL"] = "JUDICIAL";
952
+ RoleCategory["CASEWORKER"] = "LEGAL_OPERATIONS";
953
+ RoleCategory["ADMIN"] = "ADMIN";
954
+ RoleCategory["CTSC"] = "CTSC";
955
+ RoleCategory["ALL"] = "ALL";
956
+ })(exports.RoleCategory || (exports.RoleCategory = {}));
957
+
958
+ var AddressType;
959
+ (function (AddressType) {
960
+ AddressType["DPA"] = "DPA";
961
+ AddressType["UK"] = "United Kingdom";
962
+ AddressType["RD06"] = "RD06";
963
+ })(AddressType || (AddressType = {}));
964
+
965
+ /**
966
+ * Moving all this logic here into Address Parser class, so that it
967
+ * will be easier for us when we move this parsing logic to into
968
+ * `Shim` java service.
969
+ */
970
+ var AddressParser = /** @class */ (function () {
971
+ function AddressParser() {
972
+ }
973
+ AddressParser.prototype.parse = function (address) {
974
+ var classification = "" + address.CLASSIFICATION_CODE;
975
+ var addressModel = new AddressModel();
976
+ addressModel.addressLine1 = this.parseAddressLine1(classification, address);
977
+ addressModel.addressLine2 = this.parseAddressLine2(classification, address);
978
+ addressModel.addressLine3 = this.parseAddressLine3(classification, address);
979
+ addressModel.postCode = address.POSTCODE;
980
+ addressModel.postTown = address.POST_TOWN;
981
+ addressModel.country = AddressType.UK;
982
+ return addressModel;
983
+ };
984
+ AddressParser.prototype.parseAddressLine1 = function (classification, address) {
985
+ var addressLine;
986
+ if (classification === AddressType.RD06) {
987
+ addressLine =
988
+ address.SUB_BUILDING_NAME + " " + address.ORGANISATION_NAME + " " + address.DEPARTMENT_NAME + " " + address.PO_BOX_NUMBER;
989
+ }
990
+ else {
991
+ addressLine =
992
+ "" + address.ORGANISATION_NAME + this.prefixWithCommaIfPresent(address.BUILDING_NAME) +
993
+ (address.DEPARTMENT_NAME + " " + address.PO_BOX_NUMBER);
994
+ }
995
+ return this.removeNonAddressValues(addressLine);
996
+ };
997
+ AddressParser.prototype.parseAddressLine2 = function (classification, address) {
998
+ var addressLine;
999
+ if (classification === AddressType.RD06) {
1000
+ addressLine = address.BUILDING_NAME + " ";
1001
+ }
1002
+ else {
1003
+ addressLine =
1004
+ address.SUB_BUILDING_NAME + " " + address.BUILDING_NUMBER + " " + address.THOROUGHFARE_NAME;
1005
+ }
1006
+ return this.removeNonAddressValues(addressLine);
1007
+ };
1008
+ AddressParser.prototype.parseAddressLine3 = function (classification, address) {
1009
+ var addressLine;
1010
+ if (classification === AddressType.RD06) {
1011
+ addressLine =
1012
+ address.BUILDING_NUMBER + " " + address.THOROUGHFARE_NAME;
1013
+ }
1014
+ else {
1015
+ addressLine =
1016
+ address.DEPENDENT_LOCALITY + " " + address.DOUBLE_DEPENDENT_LOCALITY + " " + address.DEPENDENT_THOROUGHFARE_NAME;
1017
+ }
1018
+ return this.removeNonAddressValues(addressLine);
1019
+ };
1020
+ AddressParser.prototype.removeNonAddressValues = function (line) {
1021
+ line = line.replace(' null', ' ').replace('null ', ' ');
1022
+ line = this.removeUndefinedString(line);
1023
+ line = this.removeInitialComma(line);
1024
+ line = this.removeEmptySpaces(line);
1025
+ return line;
1026
+ };
1027
+ AddressParser.prototype.removeUndefinedString = function (value) {
1028
+ return value.replace(new RegExp('undefined', 'gi'), '');
1029
+ };
1030
+ AddressParser.prototype.removeEmptySpaces = function (value) {
1031
+ return value.replace(new RegExp(' +', 'gi'), ' ').trim();
1032
+ };
1033
+ AddressParser.prototype.removeInitialComma = function (value) {
1034
+ return value.replace(new RegExp('^,', 'gi'), '');
1035
+ };
1036
+ AddressParser.prototype.prefixWithCommaIfPresent = function (value) {
1037
+ return value ? ", " + value : value;
1038
+ };
1039
+ return AddressParser;
1040
+ }());
1041
+
1042
+ var AddressService = /** @class */ (function () {
1043
+ function AddressService(http) {
1044
+ this.http = http;
1045
+ }
1046
+ AddressService.prototype.getAddressesForPostcode = function (postcode) {
1047
+ var _this = this;
1048
+ return this.http
1049
+ .get('/external/addresses?postcode=${postcode}'.replace('${postcode}', postcode), undefined)
1050
+ .pipe(operators.map(function (res) { return res.results; }))
1051
+ .pipe(operators.map(function (output) { return output ? output.map(function (addresses) { return _this.format(new AddressParser().parse(addresses[AddressType.DPA])); }) : []; }));
1052
+ };
1053
+ AddressService.prototype.format = function (addressModel) {
1054
+ return this.formatAddressLines(this.shiftAddressLinesUp(addressModel));
1055
+ };
1056
+ AddressService.prototype.formatAddressLines = function (addressModel) {
1057
+ var _this = this;
1058
+ ['addressLine1', 'addressLine2', 'addressLine3', 'postTown'].forEach(function (value) {
1059
+ addressModel[value] = _this.toCapitalCase(addressModel[value]);
1060
+ });
1061
+ return addressModel;
1062
+ };
1063
+ AddressService.prototype.shiftAddressLinesUp = function (addressModel) {
1064
+ if (addressModel.addressLine2 === '') {
1065
+ addressModel.addressLine2 = addressModel.addressLine3;
1066
+ addressModel.addressLine3 = '';
1067
+ }
1068
+ if (addressModel.addressLine1 === '') {
1069
+ addressModel.addressLine1 = addressModel.addressLine2;
1070
+ addressModel.addressLine2 = '';
1071
+ }
1072
+ return addressModel;
1073
+ };
1074
+ AddressService.prototype.toCapitalCase = function (sentence) {
1075
+ sentence = sentence.toLowerCase();
1076
+ sentence.split(' ').forEach(function (value) {
1077
+ sentence = sentence.replace(value, value.charAt(0).toUpperCase() + value.substr(1));
1078
+ });
1079
+ return sentence;
1080
+ };
1081
+ return AddressService;
1082
+ }());
1083
+ AddressService.decorators = [
1084
+ { type: i0.Injectable }
1085
+ ];
1086
+ AddressService.ctorParameters = function () { return [
1087
+ { type: i1$1.HttpClient }
1088
+ ]; };
1089
+
844
1090
  var windowToken = new i0.InjectionToken('Window');
845
1091
  function windowProvider() { return window; }
846
1092
 
@@ -972,7 +1218,7 @@
972
1218
  var _this = this;
973
1219
  this.idle.setIdleName(idleConfig.idleServiceName);
974
1220
  this.idle.setTimeout(idleConfig.timeout);
975
- var interrupt = new i1$1.DocumentInterruptSource('mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll');
1221
+ var interrupt = new i1$2.DocumentInterruptSource('mousedown keydown DOMMouseScroll mousewheel touchstart touchmove scroll');
976
1222
  this.idle.setInterrupts([interrupt]);
977
1223
  // adding delay so that user can click on sign out before the modal shuts
978
1224
  this.idle.onIdleEnd.pipe(operators.delay(250)).subscribe(function () {
@@ -1004,7 +1250,7 @@
1004
1250
  },] }
1005
1251
  ];
1006
1252
  ManageSessionServices.ctorParameters = function () { return [
1007
- { type: i1$1.Idle },
1253
+ { type: i1$2.Idle },
1008
1254
  { type: i2$1.Keepalive }
1009
1255
  ]; };
1010
1256
 
@@ -1012,7 +1258,7 @@
1012
1258
  * TimeoutNotificationsService
1013
1259
  *
1014
1260
  * The Timeout Notification Service allows your application to receive notifications
1015
- * when a User is approaching the the total time that a User has been idle for.
1261
+ * when a User is approaching the total time that a User has been idle for.
1016
1262
  *
1017
1263
  * This can be set by your application using the Timeout Notification Config object.
1018
1264
  *
@@ -1026,6 +1272,7 @@
1026
1272
  function TimeoutNotificationsService(idle, keepalive) {
1027
1273
  this.idle = idle;
1028
1274
  this.keepalive = keepalive;
1275
+ this.subs = [];
1029
1276
  /**
1030
1277
  * Convert milliseconds to seconds.
1031
1278
  *
@@ -1060,25 +1307,33 @@
1060
1307
  var idleModalDisplayTimeInSeconds = this.millisecondsToSeconds(idleModalDisplayTime);
1061
1308
  var totalIdleTimeInSeconds = this.millisecondsToSeconds(totalIdleTime);
1062
1309
  this.idle.setTimeout(idleModalDisplayTimeInSeconds);
1063
- var docInterrupts = new i1$1.DocumentInterruptSource(DOCUMENT_INTERRUPTS);
1064
- var windowInterrupts = new i1$1.WindowInterruptSource(DOCUMENT_INTERRUPTS);
1310
+ var docInterrupts = new i1$2.DocumentInterruptSource(DOCUMENT_INTERRUPTS);
1311
+ var windowInterrupts = new i1$2.WindowInterruptSource(DOCUMENT_INTERRUPTS);
1065
1312
  this.idle.setInterrupts([docInterrupts, windowInterrupts]);
1066
- this.idle.onTimeout.subscribe(function () {
1313
+ this.subs.push(this.idle.onTimeout.subscribe(function () {
1067
1314
  _this.eventEmitter.next({ eventType: SIGNOUT_EVENT });
1068
- });
1069
- this.idle.onTimeoutWarning.pipe(operators.map(function (sec) { return (sec > 60) ? Math.ceil(sec / 60) + MINUTES : sec + SECONDS; }), operators.distinctUntilChanged()).subscribe(function (countdown) {
1315
+ }));
1316
+ this.subs.push(this.idle.onTimeoutWarning.pipe(operators.map(function (sec) { return (sec > 60) ? Math.ceil(sec / 60) + MINUTES : sec + SECONDS; }), operators.distinctUntilChanged()).subscribe(function (countdown) {
1070
1317
  _this.eventEmitter.next({ eventType: COUNTDOWN_EVENT, readableCountdown: countdown });
1071
- });
1072
- this.idle.onIdleStart.subscribe(function () { return console.log('You\'ve gone idle!'); });
1073
- this.idle.onIdleEnd.subscribe(function () { return console.log('You\'re no longer idle!'); });
1318
+ }));
1319
+ this.subs.push(this.idle.onIdleStart.subscribe(function () { return console.log('You\'ve gone idle!'); }));
1320
+ this.subs.push(this.idle.onIdleEnd.subscribe(function () { return console.log('You\'re no longer idle!'); }));
1074
1321
  this.keepalive.interval(15);
1075
- this.keepalive.onPing.subscribe(function () {
1322
+ this.subs.push(this.keepalive.onPing.subscribe(function () {
1076
1323
  _this.eventEmitter.next({ eventType: KEEP_ALIVE_EVENT });
1077
- });
1324
+ }));
1078
1325
  var idleInSeconds = Math.floor(totalIdleTimeInSeconds) - idleModalDisplayTimeInSeconds;
1079
1326
  this.idle.setIdle(idleInSeconds);
1080
1327
  this.idle.watch();
1081
1328
  };
1329
+ TimeoutNotificationsService.prototype.reset = function () {
1330
+ this.idle.watch();
1331
+ };
1332
+ TimeoutNotificationsService.prototype.close = function () {
1333
+ this.subs.forEach(function (s) { return s.unsubscribe(); });
1334
+ this.idle.stop();
1335
+ this.idle.clearInterrupts();
1336
+ };
1082
1337
  /**
1083
1338
  * Expose the notification events, so that a 3rd party service can listen to the notifications.
1084
1339
  */
@@ -1094,7 +1349,7 @@
1094
1349
  },] }
1095
1350
  ];
1096
1351
  TimeoutNotificationsService.ctorParameters = function () { return [
1097
- { type: i1$1.Idle },
1352
+ { type: i1$2.Idle },
1098
1353
  { type: i2$1.Keepalive }
1099
1354
  ]; };
1100
1355
 
@@ -1348,7 +1603,7 @@
1348
1603
  return this.http.get(RefDataDataAccessService.refDataUrl + "/regions");
1349
1604
  };
1350
1605
  RefDataDataAccessService.prototype.getLocationsByServiceCode = function (serviceCode) {
1351
- var httpParams = new i1$2.HttpParams()
1606
+ var httpParams = new i1$1.HttpParams()
1352
1607
  .append('service_code', serviceCode);
1353
1608
  return this.http.get(RefDataDataAccessService.refDataUrl + "/locations-by-service-code", { params: httpParams });
1354
1609
  };
@@ -1365,7 +1620,7 @@
1365
1620
  },] }
1366
1621
  ];
1367
1622
  RefDataDataAccessService.ctorParameters = function () { return [
1368
- { type: i1$2.HttpClient }
1623
+ { type: i1$1.HttpClient }
1369
1624
  ]; };
1370
1625
 
1371
1626
  var RefDataService = /** @class */ (function () {
@@ -2151,7 +2406,7 @@
2151
2406
  GenericFilterComponent.decorators = [
2152
2407
  { type: i0.Component, args: [{
2153
2408
  selector: 'xuilib-generic-filter',
2154
- template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'group-title'\">\n <div [class]=\"field.titleClasses ? field.titleClasses: 'govuk-label govuk-label--m govuk-!-margin-bottom-4'\">\n {{ field.name | capitalize }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.required || form.get(field.name).errors?.minlength || form.get(field.name).errors?.maxLength)}\">\n <div *ngIf=\"field.title\" class=\"xui-generic-filter__field-title\">\n <h3 [class]=\"field.titleClasses ? field.titleClasses : 'govuk-heading-s'\" style=\"margin-bottom: 0!important\">\n {{field.title | capitalize}}\n </h3>\n <div *ngIf=\"field?.titleHint\" class=\"govuk-!-margin-left-2\">\n {{ field.titleHint }}\n </div>\n </div>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <div *ngIf=\"field.hintText\"\n [id]=\"field.hintText + '-hint'\" class=\"govuk-hint\">\n {{ field.hintText }}\n </div>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && (form.get(field.name).errors?.required || form.get(field.name).errors?.minlength)\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\"\n *ngIf=\"field.emailError && submitted && form.get(field.name).errors?.email\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.emailError}}\n </span>\n <div class=\"govuk-body\" [class.govuk-body--maxWidth480px]=\"field.maxWidth480px\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option *ngIf=\"field.defaultOption\" [attr.selected]=\"true\" [value]=\"field.defaultOption.key\">{{field.defaultOption.label}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'group-select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option *ngIf=\"field.defaultOption\" selected [value]=\"field.defaultOption.key\">{{field.defaultOption.label}}</option>\n <optgroup *ngFor = 'let grp of filteredSkillsByServices' label=\"{{grp.group | titlecase}}\">\n <option *ngFor = 'let item of grp.options' [value]=\"item.key\">{{item.label}}</option>\n </optgroup>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'nested-checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of filteredSkillsByServicesCheckbox; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n [services]=\"form.get(field.servicesField)?.value\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [submitted]=\"submitted\"\n [field]=\"field\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [formSubmissionEvent$]=\"formSubmissionEvent$\"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-task-name'\">\n <xuilib-find-task-name subTitle=\"\" (taskNameSelected)=\"updateTaskNameControls($event, field)\"\n (taskNameFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findTaskNameGroup]=\"form\"\n [selectedTaskName]=\"form.get(field.name)?.value?.task_type_name\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n [services]=\"form.get(field.servicesField)?.value\"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputServiceChanged(field)\"\n [field]=\"field\"\n [form]=\"form\"\n [formSubmissionEvent$]=\"formSubmissionEvent$\"\n [disabled]=\"disabled(field, form)\">\n </xuilib-find-service>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text-input'\">\n <input class=\"govuk-input\" type=\"text\"\n [formControlName]=\"field.name\"\n [id]=\"field.name\"\n [attr.disabled]=\"disabled(field, form)\"\n (change)=\"fieldChanged(field, form)\"\n [attr.maxlength]=\"field.maxlength ? field.maxlength : null\"\n [readonly]=\"field.readonly\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'email-input'\">\n <input class=\"govuk-input\" type=\"email\"\n [formControlName]=\"field.name\"\n [id]=\"field.name\"\n [attr.disabled]=\"disabled(field, form)\"\n (change)=\"fieldChanged(field, form)\"\n [readonly]=\"field.readonly\"\n />\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ng-container>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
2409
+ template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'group-title'\">\n <div [class]=\"field.titleClasses ? field.titleClasses: 'govuk-label govuk-label--m govuk-!-margin-bottom-4'\">\n {{ field.name | capitalize }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.required || form.get(field.name).errors?.minlength || form.get(field.name).errors?.maxLength)}\">\n <div *ngIf=\"field.title\" class=\"xui-generic-filter__field-title\">\n <h3 [class]=\"field.titleClasses ? field.titleClasses : 'govuk-heading-s'\" style=\"margin-bottom: 0!important\">\n {{field.title | capitalize}}\n </h3>\n <div *ngIf=\"field?.titleHint\" class=\"govuk-!-margin-left-2\">\n {{ field.titleHint }}\n </div>\n </div>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <div *ngIf=\"field.hintText\"\n [id]=\"field.hintText + '-hint'\" class=\"govuk-hint\">\n {{ field.hintText | rpxTranslate }}\n </div>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && (form.get(field.name).errors?.required || form.get(field.name).errors?.minlength)\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate}}</span> {{field.minSelectedError | rpxTranslate }}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate}}</span> {{field.maxSelectedError | rpxTranslate }}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\"\n *ngIf=\"field.emailError && submitted && form.get(field.name).errors?.email\">\n <span class=\"govuk-visually-hidden\">{{ 'Error:' | rpxTranslate }}</span> {{field.emailError | rpxTranslate }}\n </span>\n <div class=\"govuk-body\" [class.govuk-body--maxWidth480px]=\"field.maxWidth480px\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option *ngIf=\"field.defaultOption\" [attr.selected]=\"true\" [value]=\"field.defaultOption.key\">{{field.defaultOption.label}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'group-select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option *ngIf=\"field.defaultOption\" selected [value]=\"field.defaultOption.key\">{{field.defaultOption.label}}</option>\n <optgroup *ngFor = 'let grp of filteredSkillsByServices' label=\"{{grp.group | titlecase}}\">\n <option *ngFor = 'let item of grp.options' [value]=\"item.key\">{{item.label}}</option>\n </optgroup>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'nested-checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of filteredSkillsByServicesCheckbox; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label | rpxTranslate}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label | rpxTranslate}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label | rpxTranslate}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n [services]=\"form.get(field.servicesField)?.value\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [submitted]=\"submitted\"\n [field]=\"field\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [formSubmissionEvent$]=\"formSubmissionEvent$\"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-task-name'\">\n <xuilib-find-task-name subTitle=\"\" (taskNameSelected)=\"updateTaskNameControls($event, field)\"\n (taskNameFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findTaskNameGroup]=\"form\"\n [selectedTaskName]=\"form.get(field.name)?.value?.task_type_name\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n [services]=\"form.get(field.servicesField)?.value\"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputServiceChanged(field)\"\n [field]=\"field\"\n [form]=\"form\"\n [formSubmissionEvent$]=\"formSubmissionEvent$\"\n [disabled]=\"disabled(field, form)\">\n </xuilib-find-service>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text-input'\">\n <input class=\"govuk-input\" type=\"text\"\n [formControlName]=\"field.name\"\n [id]=\"field.name\"\n [attr.disabled]=\"disabled(field, form)\"\n (change)=\"fieldChanged(field, form)\"\n [attr.maxlength]=\"field.maxlength ? field.maxlength : null\"\n [readonly]=\"field.readonly\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'email-input'\">\n <input class=\"govuk-input\" type=\"email\"\n [formControlName]=\"field.name\"\n [id]=\"field.name\"\n [attr.disabled]=\"disabled(field, form)\"\n (change)=\"fieldChanged(field, form)\"\n [readonly]=\"field.readonly\"\n />\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ng-container>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{(config.applyButtonText || 'Apply') | rpxTranslate}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ (config.cancelButtonText || 'Cancel') | rpxTranslate}}</button>\n </div>\n </div>\n</form>\n",
2155
2410
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
2156
2411
  encapsulation: i0.ViewEncapsulation.None,
2157
2412
  styles: [".contain-classes .elevated-break{margin-bottom:20px}@media (min-width:40.0625em){.contain-classes .elevated-break{margin-bottom:30px}}.contain-classes .govuk-body--maxWidth480px{max-width:480px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}.contain-classes .xui-generic-filter__field-title{display:flex;align-items:center;margin-bottom:10px}.contain-classes .govuk-select{width:100%}"]
@@ -2183,7 +2438,7 @@
2183
2438
  HmctsSessionDialogComponent.decorators = [
2184
2439
  { type: i0.Component, args: [{
2185
2440
  selector: 'xuilib-session-dialog',
2186
- template: "<div class=\"gem-c-modal-dialogue\" data-module=\"modal-dialogue\" id=\"modal-default\" style=\"display: block;\">\n <div class=\"gem-c-modal-dialogue__overlay\"></div>\n <dialog class=\"gem-c-modal-dialogue__box\" aria-modal=\"true\" role=\"dialog\" tabindex=\"0\" [ngStyle]=\"{'margin-top': positionTop}\">\n <div class=\"gem-c-modal-dialogue__header\">\n <svg role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 38 38\" height=\"33\" width=\"33\">\n <style type=\"text/css\">\n .st0{fill:#FFFFFF;}\n </style>\n <g id=\"_4_-_granular_components_warning_icon\" transform=\"translate(0.5 0.5)\">\n <g id=\"Warning_icon\" transform=\"translate(0)\">\n <path id=\"Exclusion_1\" class=\"st0\" d=\"M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z\"/>\n </g>\n </g>\n </svg>\n <div class=\"gem-c-modal-dialogue__title\">We are about to sign you out</div>\n </div>\n <div class=\"gem-c-modal-dialogue__content\">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n",
2441
+ template: "<div class=\"gem-c-modal-dialogue\" data-module=\"modal-dialogue\" id=\"modal-default\" style=\"display: block;\">\n <div class=\"gem-c-modal-dialogue__overlay\"></div>\n <dialog class=\"gem-c-modal-dialogue__box\" aria-modal=\"true\" role=\"dialog\" tabindex=\"0\" [ngStyle]=\"{'margin-top': positionTop}\">\n <div class=\"gem-c-modal-dialogue__header\">\n <svg role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 38 38\" height=\"33\" width=\"33\">\n <style type=\"text/css\">\n .st0{fill:#FFFFFF;}\n </style>\n <g id=\"_4_-_granular_components_warning_icon\" transform=\"translate(0.5 0.5)\">\n <g id=\"Warning_icon\" transform=\"translate(0)\">\n <path id=\"Exclusion_1\" class=\"st0\" d=\"M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z\"/>\n </g>\n </g>\n </svg>\n <div class=\"gem-c-modal-dialogue__title\">{{'We are about to sign you out' | rpxTranslate}}</div>\n </div>\n <div class=\"gem-c-modal-dialogue__content\">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n",
2187
2442
  styles: [".gem-c-modal-dialogue{display:none;z-index:1000;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue,.gem-c-modal-dialogue__box{position:fixed;top:0;left:0;width:100%;height:100%}.gem-c-modal-dialogue__box{display:block;background:#fff;right:0;bottom:0;margin:0;padding:0;overflow-y:auto;border:0;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:3px solid #fd0}@media print{.gem-c-modal-dialogue__box{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737}}@media print{.gem-c-modal-dialogue__box{font-size:14pt;line-height:1.15;color:#000}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{position:relative;top:inherit;right:inherit;bottom:inherit;left:inherit;width:auto;max-width:640px;height:auto;margin:30px auto;border:2px solid #0b0c0c}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}}@media (min-width:40.0625em) and (max-width:64em){.gem-c-modal-dialogue__box--wide{margin:30px}}.gem-c-modal-dialogue__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;background:#0b0c0c;pointer-events:none;touch-action:none}@media screen{.gem-o-template--modal{overflow-y:inherit}}.gem-o-template__body--modal{overflow:hidden}.gem-o-template__body--blur .govuk-footer,.gem-o-template__body--blur .govuk-header,.gem-o-template__body--blur .govuk-main-wrapper,.gem-o-template__body--blur .govuk-phase-banner,.gem-o-template__body--blur .govuk-skip-link,.gem-o-template__body--blur .govuk-width-container .govuk-back-link{filter:blur(2px)}.govuk-warning-text__icon{margin:0 0 0 12px}.gem-c-modal-dialogue__header{padding:9px 15px 10px;color:#fff;background:#d4351d;display:flex}.gem-c-modal-dialogue__title{margin:5px 0 4px 12px}.gem-c-modal-dialogue__logotype-crown{fill:currentColor;vertical-align:middle}.gem-c-modal-dialogue__logotype-crown-fallback-image{width:30px;height:26px;border:0;vertical-align:middle}.gem-c-modal-dialogue__content{padding:15px;background:#fff}.gem-c-modal-dialogue__close-button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;color:#fff;background:none;cursor:pointer;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:1.5rem;line-height:1.3}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-size:24pt;line-height:1.3}}@media (max-width:40.0525em){.gem-c-modal-dialogue__close-button{font-size:36px;line-height:1.3}}.gem-c-modal-dialogue__close-button:focus,.gem-c-modal-dialogue__close-button:hover{color:#0b0c0c;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none;outline:none;background:#fd0}"]
2188
2443
  },] }
2189
2444
  ];
@@ -2246,19 +2501,27 @@
2246
2501
  };
2247
2502
 
2248
2503
  var LoadingSpinnerComponent = /** @class */ (function () {
2249
- function LoadingSpinnerComponent() {
2504
+ function LoadingSpinnerComponent(ref) {
2505
+ this.ref = ref;
2250
2506
  this.loadingText = 'Loading';
2251
2507
  }
2508
+ // checks the data projected into the component
2509
+ LoadingSpinnerComponent.prototype.ngAfterContentChecked = function () {
2510
+ this.ref.detectChanges();
2511
+ };
2252
2512
  return LoadingSpinnerComponent;
2253
2513
  }());
2254
2514
  LoadingSpinnerComponent.decorators = [
2255
2515
  { type: i0.Component, args: [{
2256
2516
  selector: 'xuilib-loading-spinner',
2257
- template: "<div class=\"spinner-container\">\n <div class=\"spinner-inner-container\">\n <p>{{loadingText}}</p>\n <div class=\"spinner\" style=\"margin: auto;\"></div>\n </div>\n</div>\n",
2517
+ template: "<div class=\"spinner-container\">\n <div class=\"spinner-inner-container\">\n <p>{{loadingText | rpxTranslate}}</p>\n <div class=\"spinner\" style=\"margin: auto;\"></div>\n </div>\n</div>\n",
2258
2518
  encapsulation: i0.ViewEncapsulation.None,
2259
2519
  styles: [".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.5);z-index:99}.spinner-container .spinner-inner-container p{text-align:center}.spinner-container .spinner-inner-container .spinner{border:10px solid #ddd;border-top-color:#000;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]
2260
2520
  },] }
2261
2521
  ];
2522
+ LoadingSpinnerComponent.ctorParameters = function () { return [
2523
+ { type: i0.ChangeDetectorRef }
2524
+ ]; };
2262
2525
  LoadingSpinnerComponent.propDecorators = {
2263
2526
  loadingText: [{ type: i0.Input }]
2264
2527
  };
@@ -2479,7 +2742,7 @@
2479
2742
  SelectedCaseConfirmComponent.decorators = [
2480
2743
  { type: i0.Component, args: [{
2481
2744
  selector: 'xuilib-selected-case-confirm',
2482
- template: "<div id=\"user-access-block-{{ sharedCase.caseId }}\" *ngIf=\"showUserAccessBlock()\">\n <h2 class=\"govuk-heading-m case-share-confirm__title\">{{ sharedCase.caseTitle }}</h2>\n <div class=\"case-share-confirm__caption-area\">\n <div class=\"govuk-caption-m case-share-confirm__caption\">\n {{ sharedCase.caseId }}\n </div>\n <a [routerLink]=\"changeLink\" class=\"case-share-confirm__change-link govuk-link govuk-!-font-size-19\">Change</a>\n </div>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Name</th>\n <th class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Email address</th>\n <th class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">Actions</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of sharedCase.pendingShares; trackBy: trackByUserId\">\n <td class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <span class=\"hmcts-badge\">To be added</span>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngFor=\"let user of sharedCase.pendingUnshares; trackBy: trackByUserId\">\n <td class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <span class=\"hmcts-badge hmcts-badge--red\">To be removed</span>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n",
2745
+ template: "<div id=\"user-access-block-{{ sharedCase.caseId }}\" *ngIf=\"showUserAccessBlock()\">\n <h2 class=\"govuk-heading-m case-share-confirm__title\">{{ sharedCase.caseTitle }}</h2>\n <div class=\"case-share-confirm__caption-area\">\n <div class=\"govuk-caption-m case-share-confirm__caption\">\n {{ sharedCase.caseId }}\n </div>\n <a [routerLink]=\"changeLink\" class=\"case-share-confirm__change-link govuk-link govuk-!-font-size-19\">{{'Change' | rpxTranslate}}</a>\n </div>\n <table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\n <th class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\n <th class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of sharedCase.pendingShares; trackBy: trackByUserId\">\n <td class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <span class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngFor=\"let user of sharedCase.pendingUnshares; trackBy: trackByUserId\">\n <td class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <span class=\"hmcts-badge hmcts-badge--red\">\n {{'To be removed' | rpxTranslate}}\n </span>\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n",
2483
2746
  styles: [".case-share-confirm__title{margin-bottom:0}.case-share-confirm__caption-area{border-bottom:1px solid #b1b4b6;padding-bottom:10px;display:inline-block;width:100%;clear:both}.case-share-confirm__caption{float:left}.case-share-confirm__change-link{float:right}.govuk-table-column-header{width:45%}.govuk-table-column-actions{width:10%}"]
2484
2747
  },] }
2485
2748
  ];
@@ -2721,7 +2984,7 @@
2721
2984
  SelectedCaseComponent.decorators = [
2722
2985
  { type: i0.Component, args: [{
2723
2986
  selector: 'xuilib-selected-case',
2724
- template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\n <div class=\"govuk-grid-row govuk-case-header\">\n <div class=\"govuk-grid-column-three-quarters\">\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle }}</h3>\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId }}</h1>\n </div>\n <div class=\"govuk-grid-column-twenty-percent\">\n <button *ngIf=\"caseCount > 1\"\n id=\"{{buildElementId('btn-deselect-case')}}\" \n class=\"govuk-button hmcts-button--secondary\" \n (click)=\"onDeselect(sharedCase)\" \n title=\"Deselect case\">Deselect case\n </button>\n </div>\n <div class=\"govuk-accordion__section-header govuk-grid-column-five-percent\">\n <div class=\"govuk-accordion__section-heading\">\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" title=\"Expand or Collapse\">\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\n </div>\n </div>\n </div>\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">No users from your organisation currently have access to this case.</span>\n </div>\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">Users from your organisation with access to this case.</span>\n </div>\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Name</th>\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Email address</th>\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">Actions</th>\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">Status</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">Remove <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} from case</span></a>\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">Cancel <span class=\"govuk-visually-hidden\">adding {{ user.firstName + ' ' + user.lastName }} to case</span></a>\n </td>\n <td class=\"govuk-table__cell\">\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">To be removed</span>\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n",
2987
+ template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\n <div class=\"govuk-grid-row govuk-case-header\">\n <div class=\"govuk-grid-column-three-quarters\">\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle | rpxTranslate }}</h3>\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId | rpxTranslate }}</h1>\n </div>\n <div class=\"govuk-grid-column-twenty-percent\">\n <button *ngIf=\"caseCount > 1\"\n id=\"{{buildElementId('btn-deselect-case')}}\"\n class=\"govuk-button hmcts-button--secondary\"\n (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">\n {{'Deselect case' | rpxTranslate}}\n </button>\n </div>\n <div class=\"govuk-accordion__section-header govuk-grid-column-five-percent\">\n <div class=\"govuk-accordion__section-heading\">\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" [title]=\"'Expand or Collapse' | rpxTranslate\">\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\n </div>\n </div>\n </div>\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">\n {{'No users from your organisation currently have access to this case.' | rpxTranslate}}\n </span>\n </div>\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">\n {{'Users from your organisation with access to this case.' | rpxTranslate}}\n </span>\n </div>\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">{{'Email address' | rpxTranslate}}</th>\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">{{'Actions' | rpxTranslate}}</th>\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">{{ 'Status' | rpxTranslate }}</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">{{'Remove' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} {{'from case' | rpxTranslate}}</span></a>\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">{{'Cancel' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'adding' | rpxTranslate}} {{ user.firstName + ' ' + user.lastName }} {{'to case' | rpxTranslate}}</span></a>\n </td>\n <td class=\"govuk-table__cell\">\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">{{'To be removed' | rpxTranslate}}</span>\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">{{'To be added' | rpxTranslate}}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n",
2725
2988
  styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-size:24px;color:#005ea5;font-weight:700}.govuk-case-sub-title,.govuk-case-title{font-family:nta,Arial,sans-serif;padding-left:0}.govuk-case-sub-title{font-size:1rem!important;color:#6f777b;font-weight:400}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:38%}.govuk-table-column-actions,.govuk-table-column-label{width:12%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]
2726
2989
  },] }
2727
2990
  ];
@@ -2750,7 +3013,7 @@
2750
3013
  ServiceMessageComponent.decorators = [
2751
3014
  { type: i0.Component, args: [{
2752
3015
  selector: 'xuilib-service-message',
2753
- template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">Warning</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message\"></h2>\n <a [routerLink]=\"\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\">Hide message</a>\n </div>\n\n</div>"
3016
+ template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message | rpxTranslate\"></h2>\n <a [routerLink]=\"\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\">{{'Hide message' | rpxTranslate}}</a>\n </div>\n\n</div>"
2754
3017
  },] }
2755
3018
  ];
2756
3019
  ServiceMessageComponent.ctorParameters = function () { return []; };
@@ -2797,7 +3060,7 @@
2797
3060
  ServiceMessagesComponent.decorators = [
2798
3061
  { type: i0.Component, args: [{
2799
3062
  selector: 'xuilib-service-messages',
2800
- template: "<div *ngIf=\"filteredMessages?.size > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages | keyvalue\" [key]=\"message.key\"\n [message]=\"message.value\" (hideMessage)=\"hideMessage($event)\"></xuilib-service-message>\n</div>"
3063
+ template: "<div *ngIf=\"filteredMessages?.size > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages | keyvalue\" [key]=\"message.key\"\n [message]=\"message.value | rpxTranslate\" (hideMessage)=\"hideMessage($event)\"></xuilib-service-message>\n</div>"
2801
3064
  },] }
2802
3065
  ];
2803
3066
  ServiceMessagesComponent.ctorParameters = function () { return [
@@ -2829,7 +3092,7 @@
2829
3092
  ShareCaseConfirmComponent.decorators = [
2830
3093
  { type: i0.Component, args: [{
2831
3094
  selector: 'xuilib-share-case-confirm',
2832
- template: "<div id=\"casesToConfirm\">\n <h3 class=\"govuk-heading-l\">Cases</h3>\n <div *ngIf=\"shareCases && shareCases.length > 0\" id=\"summarySections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [toConfirm]=\"true\"\n [changeLink]=\"changeLink\">\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" *ngIf=\"shareCases && shareCases.length > 0\">\n <button class=\"govuk-button\" title=\"Confirm\" [routerLink]=\"completeLink\">Confirm</button>\n</div>\n",
3095
+ template: "<div id=\"casesToConfirm\">\n <h3 class=\"govuk-heading-l\">{{'Cases' | rpxTranslate}}</h3>\n <div *ngIf=\"shareCases && shareCases.length > 0\" id=\"summarySections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [toConfirm]=\"true\"\n [changeLink]=\"changeLink\">\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\">\n {{'No cases to display.' | rpxTranslate}}\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" *ngIf=\"shareCases && shareCases.length > 0\">\n <button class=\"govuk-button\" title=\"Confirm\" [routerLink]=\"completeLink\">{{'Confirm' | rpxTranslate}}</button>\n</div>\n",
2833
3096
  styles: [""]
2834
3097
  },] }
2835
3098
  ];
@@ -2842,13 +3105,6 @@
2842
3105
  completeLink: [{ type: i0.Input }]
2843
3106
  };
2844
3107
 
2845
- exports.SharedCaseErrorMessages = void 0;
2846
- (function (SharedCaseErrorMessages) {
2847
- SharedCaseErrorMessages["OneCaseMustBeSelected"] = "At least one case must be selected";
2848
- SharedCaseErrorMessages["NoChangesRequested"] = "You have not requested any changes to case sharing";
2849
- SharedCaseErrorMessages["OnePersonMustBeAssigned"] = "At least one person must be assigned to each case";
2850
- })(exports.SharedCaseErrorMessages || (exports.SharedCaseErrorMessages = {}));
2851
-
2852
3108
  var UserSelectComponent = /** @class */ (function () {
2853
3109
  function UserSelectComponent() {
2854
3110
  this.selected = new i0.EventEmitter();
@@ -2896,7 +3152,7 @@
2896
3152
  UserSelectComponent.decorators = [
2897
3153
  { type: i0.Component, args: [{
2898
3154
  selector: 'xuilib-user-select',
2899
- template: "<input class=\"govuk-input\" type=\"text\" [matAutocomplete]=\"dropdown\" [formControl]=\"control\" (ngModelChange)=\"onUserChange($event)\" aria-labelledby=\"add-user-hint\">\n\n<mat-autocomplete #dropdown=\"matAutocomplete\" [displayWith]=\"displayValue\" autoActiveFirstOption (optionSelected)=\"onSelected($event)\">\n <mat-option *ngFor=\"let user of filteredUsers | async\" [value]=\"user\">\n {{ user.firstName }} {{ user.lastName }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>",
3155
+ template: "<input class=\"govuk-input\" type=\"text\" [matAutocomplete]=\"dropdown\" [formControl]=\"control\" (ngModelChange)=\"onUserChange($event)\"\n [attr.aria-labelledby]=\"'add-user-hint' | rpxTranslate\">\n\n<mat-autocomplete #dropdown=\"matAutocomplete\" [displayWith]=\"displayValue\" autoActiveFirstOption (optionSelected)=\"onSelected($event)\">\n <mat-option *ngFor=\"let user of filteredUsers | async\" [value]=\"user\">\n {{ user.firstName | rpxTranslate }} {{ user.lastName | rpxTranslate }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>\n",
2900
3156
  styles: [""]
2901
3157
  },] }
2902
3158
  ];
@@ -3106,7 +3362,7 @@
3106
3362
  ShareCaseComponent.decorators = [
3107
3363
  { type: i0.Component, args: [{
3108
3364
  selector: 'xuilib-share-case',
3109
- template: "<xuilib-hmcts-error-summary\n [errorMessages]=\"validationErrors\"\n [header]=\"'There is a problem'\"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf=\"title\" class=\"govuk-heading-xl govuk-!-margin-top-2\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\" class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\" title=\"Add user to selected cases\">Add</button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n Can't find an email address?\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n If you can't find your colleague's email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">Remove a person from all cases</label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n Select a person to remove them from all selected cases.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select [(ngModel)]=\"selectedUserToRemove\" class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option [ngValue]=\"null\" selected>Select a person</option>\n <option *ngFor=\"let user of assignedUsers\" [ngValue]=\"user\">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" (click)=\"removeUser()\" class=\"govuk-button govuk-button--secondary\" title=\"Remove user from selected cases\">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\" [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]=\"selectedCasesErrorMessageConfig\" [errorMessage]=\"shareCaseErrorMessage\"></xuilib-gov-uk-error-message>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\"\n [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button id=\"btn-continue\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"onContinue()\" title=\"Continue\">Continue</button>\n <button id=\"btn-cancel\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"Cancel\" [routerLink]=\"cancelLink\">Cancel</button>\n</div>\n",
3365
+ template: "<xuilib-hmcts-error-summary\n [errorMessages]=\"validationErrors\"\n [header]=\"'There is a problem'\"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf=\"title\" class=\"govuk-heading-xl govuk-!-margin-top-2\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle | rpxTranslate}}</span>\n {{title | rpxTranslate}}\n</h1>\n<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel | rpxTranslate}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n {{'Search by name or email address. You can share access with as many people as you need.' | rpxTranslate}}\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\"\n class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\"\n title=\"{{'Add user to selected cases' | rpxTranslate}}\">\n {{'Add' | rpxTranslate}}\n </button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n {{\"Can't find an email address?\" | rpxTranslate}}\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n {{\"If you can't find your colleague's email address, they will need to complete their registration. Contact your administrator for help.\" | rpxTranslate}}\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">\n {{'Remove a person from all cases' | rpxTranslate}}\n </label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n {{'Select a person to remove them from all selected cases.' | rpxTranslate}}\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select [(ngModel)]=\"selectedUserToRemove\" class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option [ngValue]=\"null\" selected>Select a person</option>\n <option *ngFor=\"let user of assignedUsers\" [ngValue]=\"user\">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" (click)=\"removeUser()\" class=\"govuk-button govuk-button--secondary\" title=\"{{'Remove user from selected cases' | rpxTranslate}}\">\n {{'Remove' | rpxTranslate}}\n </button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\" [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">\n {{'Selected cases' | rpxTranslate}}\n </h3>\n <xuilib-gov-uk-error-message [config]=\"selectedCasesErrorMessageConfig\" [errorMessage]=\"shareCaseErrorMessage\"></xuilib-gov-uk-error-message>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\"\n [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n {{'No cases to display.' | rpxTranslate}}\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button id=\"btn-continue\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"onContinue()\" title=\"{{'Continue' | rpxTranslate}}\">\n {{'Continue' | rpxTranslate}}\n </button>\n <button id=\"btn-cancel\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"{{'Cancel' | rpxTranslate}}\" [routerLink]=\"cancelLink\">\n {{'Cancel' | rpxTranslate}}\n </button>\n</div>\n",
3110
3366
  styles: ["select{width:100%}"]
3111
3367
  },] }
3112
3368
  ];
@@ -3141,7 +3397,7 @@
3141
3397
  TabComponent.decorators = [
3142
3398
  { type: i0.Component, args: [{
3143
3399
  selector: 'xuilib-tab',
3144
- template: "<mat-tab-group animationDuration=\"0ms\" (selectedTabChange)=\"tabChanged($event)\">\n <mat-tab *ngFor=\"let tabItem of tabItems; let last = last;\" [label]=\"tabItem.text\">\n </mat-tab>\n</mat-tab-group>"
3400
+ template: "<mat-tab-group animationDuration=\"0ms\" (selectedTabChange)=\"tabChanged($event)\">\n <mat-tab *ngFor=\"let tabItem of tabItems; let last = last;\" [label]=\"tabItem.text | rpxTranslate\">\n </mat-tab>\n</mat-tab-group>"
3145
3401
  },] }
3146
3402
  ];
3147
3403
  TabComponent.ctorParameters = function () { return []; };
@@ -3162,7 +3418,7 @@
3162
3418
  TcConfirmComponent.decorators = [
3163
3419
  { type: i0.Component, args: [{
3164
3420
  selector: 'xuilib-tc-confirm',
3165
- template: "<div class=\"govuk-width-container\">\n <main role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <div class=\"column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">Using this service</h1>\n <h2 class=\"govuk-heading-m\">Terms and conditions</h2>\n <p>We've recently updated the\n <a\n routerLink=\"/terms-and-conditions\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >terms and conditions</a\n >.\n </p>\n <p>You must review and accept them.\n </p>\n <p>\n <button class=\"govuk-button\" (click)=\"onClick()\">\n {{ buttonText }}\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class=\"govuk-grid-column-one-third\"></div>\n </main>\n</div>\n",
3421
+ template: "<div class=\"govuk-width-container\">\n <main role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <div class=\"column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">{{'Using this service' | rpxTranslate}}</h1>\n <h2 class=\"govuk-heading-m\">{{'Terms and conditions' | rpxTranslate}}</h2>\n <p>{{'We\\'ve recently updated the' | rpxTranslate}}\n <a\n routerLink=\"/terms-and-conditions\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >{{'terms and conditions' | rpxTranslate}}</a\n >.\n </p>\n <p>{{'You must review and accept them.' | rpxTranslate}}\n </p>\n <p>\n <button class=\"govuk-button\" (click)=\"onClick()\">\n {{ buttonText | rpxTranslate }}\n </button>\n </p>\n </div>\n </div>\n </div>\n <div class=\"govuk-grid-column-one-third\"></div>\n </main>\n</div>\n",
3166
3422
  styles: [""]
3167
3423
  },] }
3168
3424
  ];
@@ -3208,7 +3464,7 @@
3208
3464
  TermsAndConditionsComponent.decorators = [
3209
3465
  { type: i0.Component, args: [{
3210
3466
  selector: 'xuilib-terms-and-conditions',
3211
- template: "<ng-container [ngSwitch]=\"document.mimeType\">\n <xuilib-tc-display-html *ngSwitchCase=\"'text/html'\">\n <div [innerHTML]=\"document.content\"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase=\"'text/plain'\">\n {{ document.content }}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n An error occured. Please try again.\n </div>\n</ng-container>\n",
3467
+ template: "<ng-container [ngSwitch]=\"document.mimeType\">\n <xuilib-tc-display-html *ngSwitchCase=\"'text/html'\">\n <div [innerHTML]=\"document.content | rpxTranslate\"></div>\n </xuilib-tc-display-html>\n <xuilib-tc-display-plain *ngSwitchCase=\"'text/plain'\">\n {{ document.content | rpxTranslate}}\n </xuilib-tc-display-plain>\n <div *ngSwitchDefault>\n {{'An error occured. Please try again.' | rpxTranslate}}\n </div>\n</ng-container>\n",
3212
3468
  styles: [":host{display:block;width:100%}"]
3213
3469
  },] }
3214
3470
  ];
@@ -3242,7 +3498,7 @@
3242
3498
  UserDetailsComponent.decorators = [
3243
3499
  { type: i0.Component, args: [{
3244
3500
  selector: 'xuilib-user-details',
3245
- template: "<div class=\"govuk-warning-text\" *ngIf=\"warningTitle && warningTitle !== ''\">\n<span class=\"govuk-warning-text__icon\">!</span>\n<strong class=\"govuk-warning-text__text\">\n {{ warningTitle }}\n</strong>\n</div>\n<table class=\"govuk-table\" *ngIf=\"user\">\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">Name</th>\n <td class=\"govuk-table__cell\">{{user.fullName}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">Email address</th>\n <td class=\"govuk-table__cell\">{{user.email}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!user.resendInvite\">\n <th class=\"govuk-table__header\" scope=\"row\">Permissions</th>\n <td class=\"govuk-table__cell\">\n <div *ngIf=\"user.manageOrganisations === 'Yes'\">Manage organisations</div>\n <div *ngIf=\"user.manageUsers === 'Yes'\">Manage users</div>\n <div *ngIf=\"user.manageCases === 'Yes'\">Manage cases</div>\n <div *ngIf=\"userHasRole('pui-caa')\">Case access administrator</div>\n <div *ngIf=\"userHasRole('pui-finance-manager')\">Manage fee accounts</div>\n </td>\n <td class=\"govuk-table__cell\"><a *ngIf=\"editPermissionRouterLink && showEditLink\" [routerLink]=\"editPermissionRouterLink\">Change <span class=\"govuk-visually-hidden\">roles</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf=\"showSuspendUserButton\" class=\"govuk-button govuk-button--warning\" (click)=\"suspendUser(user)\">\n Suspend account\n</button>\n<div *ngIf=\"user && user.resendInvite\">\n <div class=\"govuk-inset-text\">\n <p>This user has already been invited but has not activated their account.</p>\n <p>If you resend an invitation, they'll receive an email from HM Courts and Tribunals to finish setting up their account.</p>\n <p>You can't invite the same user more than once an hour.</p>\n </div>\n <a role=\"button\" draggable=\"false\" class=\"govuk-button\" (click)=\"reinviteClick(user)\" id=\"resend-invite-button\">\n Resend invitation\n </a>\n</div>\n<p class=\"govuk-body\" *ngIf=\"showHelpLink && suspendHelpLink\"><a [routerLink]=\"suspendHelpLink\" target=\"_blank\">Get help</a> to reactivate this account.</p>\n",
3501
+ template: "<div class=\"govuk-warning-text\" *ngIf=\"warningTitle && warningTitle !== ''\">\n<span class=\"govuk-warning-text__icon\">!</span>\n<strong class=\"govuk-warning-text__text\">\n {{ warningTitle | rpxTranslate}}\n</strong>\n</div>\n<table class=\"govuk-table\" *ngIf=\"user\">\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Name' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.fullName | rpxTranslate}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Email address' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.email}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!user.resendInvite\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Permissions' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">\n <div *ngIf=\"user.manageOrganisations === 'Yes'\">{{'Manage organisations' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageUsers === 'Yes'\">{{'Manage users' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageCases === 'Yes'\">{{'Manage cases' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-caa')\">{{'Case access administrator' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-finance-manager')\">{{'Manage fee accounts' | rpxTranslate}}</div>\n </td>\n <td class=\"govuk-table__cell\"><a *ngIf=\"editPermissionRouterLink && showEditLink\" [routerLink]=\"editPermissionRouterLink\">{{'Change' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'roles' | rpxTranslate}}</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf=\"showSuspendUserButton\" class=\"govuk-button govuk-button--warning\" (click)=\"suspendUser(user)\">\n {{'Suspend account' | rpxTranslate}}\n</button>\n<div *ngIf=\"user && user.resendInvite\">\n <div class=\"govuk-inset-text\">\n <p>{{'This user has already been invited but has not activated their account.' | rpxTranslate}}</p>\n <p>{{'If you resend an invitation, they\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.' | rpxTranslate}}</p>\n <p>{{'You can\\'t invite the same user more than once an hour.' | rpxTranslate}}</p>\n </div>\n <a role=\"button\" draggable=\"false\" class=\"govuk-button\" (click)=\"reinviteClick(user)\" id=\"resend-invite-button\">\n {{'Resend invitation' | rpxTranslate}}\n </a>\n</div>\n<p class=\"govuk-body\" *ngIf=\"showHelpLink && suspendHelpLink\"><a [routerLink]=\"suspendHelpLink\" target=\"_blank\">{{'Get help' | rpxTranslate}}</a> {{'to reactivate this account.' | rpxTranslate}}</p>\n",
3246
3502
  styles: [":host{display:block}"]
3247
3503
  },] }
3248
3504
  ];
@@ -3279,7 +3535,7 @@
3279
3535
  UserListComponent.decorators = [
3280
3536
  { type: i0.Component, args: [{
3281
3537
  selector: 'xuilib-user-list',
3282
- template: "<table class=\"govuk-table\">\n\n <thead clas=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Name</th>\n <th class=\"govuk-table__header\" scope=\"col\">Email</th>\n <th class=\"govuk-table__header\" scope=\"col\">Status</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-container *ngFor=\"let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }\">\n <tr class=\"govuk-table__row\" data-selector=\"table-row\">\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">\n <a class=\"govuk-link\" [attr.title]=\"u.routerLinkTitle\" [routerLink]=\"u.routerLink\" (click)=\"onUserClick(u)\">{{ u.fullName }}</a>\n </td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.email }}</td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)=\"emitPageClickEvent($event)\" [pageSize]=\"pagination.itemsPerPage\"></xuilib-hmcts-pagination>\n",
3538
+ template: "<table class=\"govuk-table\">\n\n <thead clas=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">{{'Name' | rpxTranslate}}</th>\n <th class=\"govuk-table__header\" scope=\"col\">{{'Email' | rpxTranslate}}</th>\n <th class=\"govuk-table__header\" scope=\"col\">{{'Status' | rpxTranslate}}</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-container *ngFor=\"let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }\">\n <tr class=\"govuk-table__row\" data-selector=\"table-row\">\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">\n <a class=\"govuk-link\" [attr.title]=\"u.routerLinkTitle\" [routerLink]=\"u.routerLink\" (click)=\"onUserClick(u)\">{{ u.fullName }}</a>\n </td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.email }}</td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)=\"emitPageClickEvent($event)\" [pageSize]=\"pagination.itemsPerPage\"></xuilib-hmcts-pagination>\n",
3283
3539
  styles: [":host{display:block}"]
3284
3540
  },] }
3285
3541
  ];
@@ -3344,7 +3600,7 @@
3344
3600
  CookieBannerComponent.decorators = [
3345
3601
  { type: i0.Component, args: [{
3346
3602
  selector: 'xuilib-cookie-banner',
3347
- template: "<div class=\"govuk-cookie-banner \" role=\"region\" attr.aria-label=\"'Cookies on {{appName}}'\" *ngIf=\"isCookieBannerVisible\">\n <div class=\"govuk-cookie-banner__message govuk-width-container\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h2 class=\"govuk-cookie-banner__heading govuk-heading-m\">Cookies on {{appName}}</h2>\n\n <div class=\"govuk-cookie-banner__content\">\n <p>We use some essential cookies to make this service work.</p>\n <p>We\u2019d also like to use analytics cookies so we can understand how you use the service and make improvements.</p>\n </div>\n </div>\n </div>\n\n <div class=\"govuk-button-group\">\n <button value=\"accept\" type=\"button\" name=\"cookies\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"acceptCookie()\">\n Accept analytics cookies\n </button>\n <button value=\"reject\" type=\"button\" name=\"cookies\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"rejectCookie()\">\n Reject analytics cookies\n </button>\n <a class=\"govuk-link\" routerLink=\"/cookies\">View cookies</a>\n </div>\n </div>\n</div>"
3603
+ template: "<div class=\"govuk-cookie-banner \" role=\"region\" attr.aria-label=\"'Cookies on {{appName}}'\" *ngIf=\"isCookieBannerVisible\">\n <div class=\"govuk-cookie-banner__message govuk-width-container\">\n\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h2 class=\"govuk-cookie-banner__heading govuk-heading-m\">{{'Cookies on' | rpxTranslate}} {{appName | rpxTranslate}}</h2>\n\n <div class=\"govuk-cookie-banner__content\">\n <p>{{'We use some essential cookies to make this service work.' | rpxTranslate}}</p>\n <p>{{'We\\\u2019d also like to use analytics cookies so we can understand how you use the service and make improvements.' | rpxTranslate}}</p>\n </div>\n </div>\n </div>\n\n <div class=\"govuk-button-group\">\n <button value=\"accept\" type=\"button\" name=\"cookies\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"acceptCookie()\">\n {{'Accept analytics cookies' | rpxTranslate}}\n </button>\n <button value=\"reject\" type=\"button\" name=\"cookies\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"rejectCookie()\">\n {{'Reject analytics cookies' | rpxTranslate}}\n </button>\n <a class=\"govuk-link\" routerLink=\"/cookies\">{{'View cookies' | rpxTranslate}}</a>\n </div>\n </div>\n</div>\n"
3348
3604
  },] }
3349
3605
  ];
3350
3606
  CookieBannerComponent.ctorParameters = function () { return [
@@ -3507,7 +3763,7 @@
3507
3763
  FindServiceComponent.decorators = [
3508
3764
  { type: i0.Component, args: [{
3509
3765
  selector: 'xuilib-find-service',
3510
- template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle }}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addOption(tempSelectedService)\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n Add\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection)\" href=\"javascript:void(0)\">\n {{ selection.label }}\n </a>\n </li>\n </ul>\n</div>\n",
3766
+ template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle | rpxTranslate}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addOption(tempSelectedService)\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n {{ 'Add' | rpxTranslate}}\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection)\" href=\"javascript:void(0)\">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n",
3511
3767
  styles: ["#add-service{background-color:#ddd}"]
3512
3768
  },] }
3513
3769
  ];
@@ -3521,56 +3777,6 @@
3521
3777
  serviceFieldChanged: [{ type: i0.Output }]
3522
3778
  };
3523
3779
 
3524
- exports.BadgeColour = void 0;
3525
- (function (BadgeColour) {
3526
- BadgeColour["BADGE_RED"] = "hmcts-badge--red";
3527
- BadgeColour["BADGE_BLUE"] = "hmcts-badge--blue";
3528
- BadgeColour["BADGE_GREEN"] = "hmcts-badge--green";
3529
- })(exports.BadgeColour || (exports.BadgeColour = {}));
3530
-
3531
- var AnonymousFeatureUser = /** @class */ (function () {
3532
- function AnonymousFeatureUser() {
3533
- }
3534
- return AnonymousFeatureUser;
3535
- }());
3536
- var LoggedInFeatureUser = /** @class */ (function () {
3537
- function LoggedInFeatureUser() {
3538
- }
3539
- return LoggedInFeatureUser;
3540
- }());
3541
-
3542
- var RadioFilterFieldConfig = /** @class */ (function () {
3543
- function RadioFilterFieldConfig() {
3544
- }
3545
- return RadioFilterFieldConfig;
3546
- }());
3547
-
3548
- exports.BookingCheckType = void 0;
3549
- (function (BookingCheckType) {
3550
- BookingCheckType["NO_CHECK"] = "NO_CHECK";
3551
- BookingCheckType["BOOKINGS_AND_BASE"] = "BOOKINGS_AND_BASE";
3552
- BookingCheckType["POSSIBLE_BOOKINGS"] = "POSSIBLE_BOOKINGS";
3553
- })(exports.BookingCheckType || (exports.BookingCheckType = {}));
3554
-
3555
- exports.PersonRole = void 0;
3556
- (function (PersonRole) {
3557
- PersonRole["JUDICIAL"] = "Judicial";
3558
- PersonRole["CASEWORKER"] = "Legal Ops";
3559
- PersonRole["ADMIN"] = "Admin";
3560
- PersonRole["CTSC"] = "CTSC";
3561
- PersonRole["ALL"] = "All";
3562
- })(exports.PersonRole || (exports.PersonRole = {}));
3563
- // Note: RoleCategory could replace PersonRole possibly
3564
- // However a lot of webapp logic is based on current PersonRole understanding
3565
- exports.RoleCategory = void 0;
3566
- (function (RoleCategory) {
3567
- RoleCategory["JUDICIAL"] = "JUDICIAL";
3568
- RoleCategory["CASEWORKER"] = "LEGAL_OPERATIONS";
3569
- RoleCategory["ADMIN"] = "ADMIN";
3570
- RoleCategory["CTSC"] = "CTSC";
3571
- RoleCategory["ALL"] = "ALL";
3572
- })(exports.RoleCategory || (exports.RoleCategory = {}));
3573
-
3574
3780
  var LocationService = /** @class */ (function () {
3575
3781
  function LocationService(http) {
3576
3782
  this.http = http;
@@ -3582,11 +3788,8 @@
3582
3788
  * @param searchTerm: any search term for postcode | site name | venue name |court name | court address etc.
3583
3789
  * @return Observable<LocationByEPIMMSModel[]>: Array of locationModel in Observable
3584
3790
  */
3585
- // EUI-7909 - replace definition
3586
- /* public getAllLocations(serviceIds: string, locationType: string, searchTerm: string, userLocations: LocationsByService[]): Observable<LocationByEPIMMSModel[]> {
3587
- return this.http.post<LocationByEPIMMSModel[]>(`api/locations/getLocations`, {serviceIds, locationType, searchTerm, userLocations}); */
3588
- LocationService.prototype.getAllLocations = function (serviceIds, locationType, searchTerm, userLocations, bookingLocations) {
3589
- return this.http.post("api/locations/getLocations", { serviceIds: serviceIds, locationType: locationType, searchTerm: searchTerm, userLocations: userLocations, bookingLocations: bookingLocations });
3791
+ LocationService.prototype.getAllLocations = function (locationUrl, serviceIds, locationType, searchTerm, userLocations) {
3792
+ return this.http.post(locationUrl, { serviceIds: serviceIds, locationType: locationType, searchTerm: searchTerm, userLocations: userLocations });
3590
3793
  };
3591
3794
  /**
3592
3795
  * @description searchLocations from service Ids/location type/search term
@@ -3607,7 +3810,7 @@
3607
3810
  },] }
3608
3811
  ];
3609
3812
  LocationService.ctorParameters = function () { return [
3610
- { type: i1$2.HttpClient }
3813
+ { type: i1$1.HttpClient }
3611
3814
  ]; };
3612
3815
 
3613
3816
  var SessionStorageService = /** @class */ (function () {
@@ -3727,50 +3930,22 @@
3727
3930
  };
3728
3931
  SearchLocationComponent.prototype.getLocations = function (term) {
3729
3932
  var userLocations;
3730
- // EUI-7909 - remove line below
3731
- var bookingLocations;
3732
3933
  // Booking type info - can create more
3733
3934
  // NO_CHECK - All work - Do not filter out locations - Default assumption
3734
3935
  // BOOKINGS_AND_BASE - My work - Try to only show base locations/regions
3735
3936
  // POSSIBLE_BOOKINGS - Create booking screen - Show only potential bookings
3736
3937
  if (this.bookingCheck === exports.BookingCheckType.BOOKINGS_AND_BASE) {
3737
3938
  userLocations = JSON.parse(this.sessionStorageService.getItem('userLocations'));
3738
- // EUI - 7909 remove up to next reference of 7909
3739
- bookingLocations = JSON.parse(this.sessionStorageService.getItem('bookingLocations'));
3740
- var bookableServices = JSON.parse(this.sessionStorageService.getItem('bookableServices'));
3741
- var knownBookableServices_1 = [];
3742
- // we do below in order to enable booking locations to be searched for bookable role assignments without base location or region
3743
- // first get all bookable services existing in userLocations
3744
- userLocations.forEach(function (userLocation) {
3745
- if (userLocation.bookable) {
3746
- knownBookableServices_1.push(userLocation.service);
3747
- }
3748
- });
3749
- // then, from the full list of bookable services, add ones that are missing
3750
- // this is so that booking locations will be checked for all relevant services
3751
- bookableServices.forEach(function (bookableService) {
3752
- if (!knownBookableServices_1.includes(bookableService)) {
3753
- userLocations.push({ service: bookableService, locations: [], bookable: true });
3754
- }
3755
- });
3756
- // EUI-7909
3757
3939
  }
3758
3940
  else if (this.bookingCheck === exports.BookingCheckType.POSSIBLE_BOOKINGS) {
3759
3941
  this.serviceIds = this.serviceIds && this.serviceIds.length ? this.serviceIds : JSON.parse(this.sessionStorageService.getItem('bookableServices'));
3760
- // EUI-7909 - remove next three lines
3761
- userLocations = JSON.parse(this.sessionStorageService.getItem('userLocations'));
3762
- // filter out any non-bookable services
3763
- userLocations = userLocations.filter(function (userLocation) { return userLocation.bookable; });
3764
- // EUI-7909 - uncomment out line below
3765
- // userLocations = JSON.parse(this.sessionStorageService.getItem('bookableUserLocations')) as LocationsByService[];
3942
+ userLocations = JSON.parse(this.sessionStorageService.getItem('bookableUserLocations'));
3766
3943
  }
3767
3944
  // get all locations will resolve filter setting using objects above
3768
3945
  // if no userLocations, NO_CHECK
3769
3946
  // if just getting all substantive user locations, BOOKINGS_AND_BASE
3770
3947
  // fee paid user locations are used for POSSIBLE_BOOKINGS
3771
- // EUI-7909 - swap lines below
3772
- // return this.locationService.getAllLocations(this.serviceIds, this.locationType, term, userLocations);
3773
- return this.locationService.getAllLocations(this.serviceIds, this.locationType, term, userLocations, bookingLocations);
3948
+ return this.locationService.getAllLocations(SearchLocationComponent.allLocationAPI, this.serviceIds, this.locationType, term, userLocations);
3774
3949
  };
3775
3950
  SearchLocationComponent.prototype.resetSearchTerm = function () {
3776
3951
  this.searchTermFormControl.setValue('');
@@ -3784,10 +3959,11 @@
3784
3959
  };
3785
3960
  return SearchLocationComponent;
3786
3961
  }());
3962
+ SearchLocationComponent.allLocationAPI = "api/locations/getLocations";
3787
3963
  SearchLocationComponent.decorators = [
3788
3964
  { type: i0.Component, args: [{
3789
3965
  selector: 'exui-search-location',
3790
- template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">No results found</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n",
3966
+ template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n",
3791
3967
  styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}"]
3792
3968
  },] }
3793
3969
  ];
@@ -4001,7 +4177,7 @@
4001
4177
  PaginationComponent.decorators = [
4002
4178
  { type: i0.Component, args: [{
4003
4179
  selector: 'xuilib-pagination',
4004
- template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">Pagination navigation</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious()\" href=\"javascript:void(0)\">\n Previous page\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">Previous page</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext()\" href=\"javascript:void(0)\">Next page</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">Next page</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n",
4180
+ template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious()\" href=\"javascript:void(0)\">\n {{'Previous page' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">{{'Previous page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext()\" href=\"javascript:void(0)\">{{'Next page' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">{{'Next page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n",
4005
4181
  styles: ["span.hmcts-pagination__link:hover{color:revert}"]
4006
4182
  },] }
4007
4183
  ];
@@ -4175,7 +4351,8 @@
4175
4351
  }
4176
4352
  this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
4177
4353
  return this.http.post('/workallocation/findPerson', { searchOptions: searchOptions })
4178
- .pipe(operators.map(function (judiciary) { return judiciary.filter(function (judge) { return !([_this.assignedUser, _this.userId].includes(judge.id)); }); }));
4354
+ .pipe(operators.map(function (judiciary) { return judiciary.filter(function (judge) { return !([_this.assignedUser].includes(judge.id)); }); }));
4355
+ // Removed the current user id to fix EUI-8465.
4179
4356
  };
4180
4357
  FindAPersonService.prototype.findCaseworkers = function (searchOptions) {
4181
4358
  var _this = this;
@@ -4265,7 +4442,7 @@
4265
4442
  },] }
4266
4443
  ];
4267
4444
  FindAPersonService.ctorParameters = function () { return [
4268
- { type: i1$2.HttpClient },
4445
+ { type: i1$1.HttpClient },
4269
4446
  { type: SessionStorageService }
4270
4447
  ]; };
4271
4448
 
@@ -4490,7 +4667,7 @@
4490
4667
  FindPersonComponent.decorators = [
4491
4668
  { type: i0.Component, args: [{
4492
4669
  selector: 'xuilib-find-person',
4493
- template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
4670
+ template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title | rpxTranslate}}</span>\n {{boldTitle | rpxTranslate}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle | rpxTranslate}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option) | rpxTranslate}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">{{'No results found' | rpxTranslate}}</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
4494
4671
  styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]
4495
4672
  },] }
4496
4673
  ];
@@ -4547,7 +4724,7 @@
4547
4724
  },] }
4548
4725
  ];
4549
4726
  TaskNameService.ctorParameters = function () { return [
4550
- { type: i1$2.HttpClient },
4727
+ { type: i1$1.HttpClient },
4551
4728
  { type: SessionStorageService }
4552
4729
  ]; };
4553
4730
 
@@ -4663,7 +4840,7 @@
4663
4840
  ExuiPageWrapperComponent.decorators = [
4664
4841
  { type: i0.Component, args: [{
4665
4842
  selector: 'exui-page-wrapper',
4666
- template: "<div class=\"page\">\n <a *ngIf=\"backLink\" [routerLink]=\"backLink\" class=\"govuk-back-link\">Back</a>\n <div class=\"govuk-width-container\">\n <main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle}}</span>\n {{title}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n",
4843
+ template: "<div class=\"page\">\n <a *ngIf=\"backLink\" [routerLink]=\"backLink\" class=\"govuk-back-link\">{{'Back' | rpxTranslate}}</a>\n <div class=\"govuk-width-container\">\n <main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle | rpxTranslate}}</span>\n {{title | rpxTranslate}}\n </h1>\n <ng-content>\n\n </ng-content>\n </div>\n </main>\n </div>\n</div>\n",
4667
4844
  styles: [".page{width:100%}"]
4668
4845
  },] }
4669
4846
  ];
@@ -4674,6 +4851,213 @@
4674
4851
  fnTitle: [{ type: i0.Input }]
4675
4852
  };
4676
4853
 
4854
+ var WriteAddressFieldComponent = /** @class */ (function () {
4855
+ function WriteAddressFieldComponent(addressesService) {
4856
+ this.addressesService = addressesService;
4857
+ this.internationalMode = false;
4858
+ this.submissionAttempted = false;
4859
+ this.addressChosen = false;
4860
+ this.postcodeOptionSelected = new i0.EventEmitter();
4861
+ this.internationalModeStart = new i0.EventEmitter();
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();
4868
+ this.addressField = {
4869
+ addressLine1: '',
4870
+ addressLine2: '',
4871
+ addressLine3: '',
4872
+ postCode: '',
4873
+ postTown: '',
4874
+ country: '',
4875
+ county: ''
4876
+ };
4877
+ this.optionErrorsPresent = false;
4878
+ this.addressSelectable = false;
4879
+ this.missingPostcode = false;
4880
+ this.optionErrorMessage = exports.AddressMessageEnum.NO_OPTION_SELECTED;
4881
+ this.postcodeErrorMessage = exports.AddressMessageEnum.NO_POSTCODE_SELECTED;
4882
+ this.selectErrorMessage = exports.AddressMessageEnum.SELECT_ADDRESS;
4883
+ }
4884
+ WriteAddressFieldComponent.prototype.ngOnInit = function () {
4885
+ if (!this.formGroup.get('address')) {
4886
+ this.formGroup.addControl('address', new forms.FormControl({}));
4887
+ }
4888
+ // set the form group relevant to only the external parent component
4889
+ this.addressFormGroup = new forms.FormGroup({
4890
+ // relevant to international mode
4891
+ ukAddress: new forms.FormControl(this.isInternational !== undefined ? (this.isInternational ? 'no' : 'yes') : null),
4892
+ // relevant to postocode lookup
4893
+ postcode: new forms.FormControl(''),
4894
+ addressList: new forms.FormControl('')
4895
+ });
4896
+ this.setPostcodeForm();
4897
+ };
4898
+ WriteAddressFieldComponent.prototype.findAddress = function () {
4899
+ var _this = this;
4900
+ this.resetSubmission.emit();
4901
+ if (!this.addressFormGroup.get('postcode').value) {
4902
+ this.missingPostcode = true;
4903
+ this.canSelectAddress.emit(false);
4904
+ }
4905
+ else {
4906
+ this.missingPostcode = false;
4907
+ this.addressField = null;
4908
+ var postcode_1 = this.addressFormGroup.get('postcode').value;
4909
+ this.addressOptions = [];
4910
+ this.addressesService.getAddressesForPostcode(postcode_1.replace(' ', '').toUpperCase()).subscribe(function (result) {
4911
+ result.forEach(function (address) {
4912
+ _this.addressOptions.push(new AddressOption(address, null));
4913
+ });
4914
+ _this.addressOptions.unshift(new AddressOption(undefined, _this.defaultLabel(_this.addressOptions.length)));
4915
+ }, function (error) {
4916
+ // Edited this so that errors not produced if there are no results for a postcode
4917
+ console.log("An error occurred retrieving addresses for postcode " + postcode_1 + ". " + error);
4918
+ _this.addressOptions.unshift(new AddressOption(undefined, _this.defaultLabel(_this.addressOptions.length)));
4919
+ });
4920
+ this.addressFormGroup.get('addressList').setValue(undefined);
4921
+ }
4922
+ };
4923
+ WriteAddressFieldComponent.prototype.blankAddress = function () {
4924
+ this.setFormValue();
4925
+ this.resetSubmission.emit();
4926
+ if (this.internationalMode) {
4927
+ this.internationalModeStart.emit();
4928
+ }
4929
+ };
4930
+ WriteAddressFieldComponent.prototype.shouldShowDetailFields = function () {
4931
+ if (!this.formGroup.get('address')) {
4932
+ return false;
4933
+ }
4934
+ var address = this.formGroup.get('address').value;
4935
+ var hasAddress = false;
4936
+ if (address) {
4937
+ Object.keys(address).forEach(function (key) {
4938
+ if (address[key] !== null) {
4939
+ hasAddress = true;
4940
+ }
4941
+ });
4942
+ }
4943
+ return hasAddress;
4944
+ };
4945
+ WriteAddressFieldComponent.prototype.addressSelected = function () {
4946
+ this.missingPostcode = false;
4947
+ this.addressField = this.addressFormGroup.get('addressList').value;
4948
+ this.addressChosen = true;
4949
+ this.setFormValue();
4950
+ this.postcodeOptionSelected.emit();
4951
+ };
4952
+ WriteAddressFieldComponent.prototype.ngOnChanges = function (changes) {
4953
+ var addressChange = changes['addressField'];
4954
+ var internationalChange = changes['isInternational'];
4955
+ if (addressChange) {
4956
+ this.setFormValue();
4957
+ }
4958
+ if (internationalChange && this.addressFormGroup && this.addressFormGroup.get('ukAddress')) {
4959
+ this.addressFormGroup.get('ukAddress').patchValue(this.isInternational ? 'no' : 'yes');
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
+ }
4965
+ this.checkIfErrorsNeeded();
4966
+ };
4967
+ WriteAddressFieldComponent.prototype.checkIfErrorsNeeded = function () {
4968
+ if (this.submissionAttempted && this.internationalMode && !this.postcodeLookupVisible()) {
4969
+ // ensure errors present when submission attmempted on international radio buttons
4970
+ this.optionErrorsPresent = true;
4971
+ this.optionErrorMessage = exports.AddressMessageEnum.NO_OPTION_SELECTED;
4972
+ }
4973
+ else {
4974
+ this.optionErrorsPresent = false;
4975
+ }
4976
+ if (this.optionErrorsPresent && (this.addressChosen || this.isInternational !== undefined)) {
4977
+ // ensure parent errors not present when the child form group is present
4978
+ this.optionErrorsPresent = false;
4979
+ }
4980
+ };
4981
+ WriteAddressFieldComponent.prototype.setInternationalAddress = function (isInternational) {
4982
+ this.isInternational = isInternational;
4983
+ this.ukAddressOptionSelected.emit(this.isInternational);
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
+ };
4992
+ WriteAddressFieldComponent.prototype.defaultLabel = function (numberOfAddresses) {
4993
+ this.addressSelectable = numberOfAddresses > 0 ? true : false;
4994
+ this.canSelectAddress.emit(this.addressSelectable);
4995
+ return numberOfAddresses === 0 ? 'No address found'
4996
+ : "" + numberOfAddresses + (numberOfAddresses === 1 ? ' address ' : ' addresses ') + "found";
4997
+ };
4998
+ WriteAddressFieldComponent.prototype.setFormValue = function () {
4999
+ if (this.formGroup) {
5000
+ this.formGroup.get('address').patchValue(this.addressField);
5001
+ }
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
+ };
5007
+ return WriteAddressFieldComponent;
5008
+ }());
5009
+ WriteAddressFieldComponent.decorators = [
5010
+ { type: i0.Component, args: [{
5011
+ selector: 'xuilib-write-address-field',
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\"><b>Provide address details</b></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-two-thirds 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;text-decoration:underline;margin-top:10px}.manual-link,:host{display:block}"]
5014
+ },] }
5015
+ ];
5016
+ WriteAddressFieldComponent.ctorParameters = function () { return [
5017
+ { type: AddressService }
5018
+ ]; };
5019
+ WriteAddressFieldComponent.propDecorators = {
5020
+ formGroup: [{ type: i0.Input }],
5021
+ internationalMode: [{ type: i0.Input }],
5022
+ isInternational: [{ type: i0.Input }],
5023
+ submissionAttempted: [{ type: i0.Input }],
5024
+ startedInternational: [{ type: i0.Input }],
5025
+ addressChosen: [{ type: i0.Input }],
5026
+ postcodeOptionSelected: [{ type: i0.Output }],
5027
+ internationalModeStart: [{ type: i0.Output }],
5028
+ ukAddressOptionSelected: [{ type: i0.Output }],
5029
+ canSelectAddress: [{ type: i0.Output }],
5030
+ resetSubmission: [{ type: i0.Output }]
5031
+ };
5032
+
5033
+ var WriteAddressInputsComponent = /** @class */ (function () {
5034
+ function WriteAddressInputsComponent() {
5035
+ this.MESSAGE_ENUM = exports.AddressMessageEnum;
5036
+ this.isInternational = false;
5037
+ this.submissionAttempted = false;
5038
+ this.missingPostcode = false;
5039
+ this.errorsPresent = false;
5040
+ }
5041
+ WriteAddressInputsComponent.prototype.ngOnChanges = function () {
5042
+ var addressGroup = this.formGroup.get('address');
5043
+ // if there is an issue with the formgroup, ensure error styling is displayed
5044
+ this.errorsPresent = !addressGroup.valid;
5045
+ };
5046
+ return WriteAddressInputsComponent;
5047
+ }());
5048
+ WriteAddressInputsComponent.decorators = [
5049
+ { type: i0.Component, args: [{
5050
+ selector: 'xuilib-write-address-inputs',
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>"
5052
+ },] }
5053
+ ];
5054
+ WriteAddressInputsComponent.ctorParameters = function () { return []; };
5055
+ WriteAddressInputsComponent.propDecorators = {
5056
+ formGroup: [{ type: i0.Input }],
5057
+ isInternational: [{ type: i0.Input }],
5058
+ submissionAttempted: [{ type: i0.Input }]
5059
+ };
5060
+
4677
5061
  var FeatureToggleDirective = /** @class */ (function () {
4678
5062
  function FeatureToggleDirective(service, viewContainer, templateRef) {
4679
5063
  this.service = service;
@@ -4775,7 +5159,7 @@
4775
5159
  GovUkCheckboxComponent.decorators = [
4776
5160
  { type: i0.Component, args: [{
4777
5161
  selector: 'xuilib-gov-checkbox',
4778
- template: "<div class=\"govuk-checkboxes__item\" [formGroup]=\"group\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\" [attr.aria-describedby]=\"config.hint ? config.value+'-item-hint' : null\"\n [id]=\"config.id\" [name]=\"config.name\" [formControlName]=\"config.value\" [checked]=\"isChecked\">\n <xuilib-gov-label appRemoveHost [config]=\"config\"></xuilib-gov-label>\n <span [id]=\"config.value+'-item-hint'\" class=\"govuk-hint govuk-checkboxes__hint\">\n {{config.hint}}\n </span>\n</div>"
5162
+ template: "<div class=\"govuk-checkboxes__item\" [formGroup]=\"group\">\n <input class=\"govuk-checkboxes__input\" type=\"checkbox\" [attr.aria-describedby]=\"config.hint ? config.value+'-item-hint' : null\"\n [id]=\"config.id\" [name]=\"config.name\" [formControlName]=\"config.value\" [checked]=\"isChecked\">\n <xuilib-gov-label appRemoveHost [config]=\"config\"></xuilib-gov-label>\n <span [id]=\"config.value+'-item-hint'\" class=\"govuk-hint govuk-checkboxes__hint\">\n {{config.hint | rpxTranslate}}\n </span>\n</div>\n"
4779
5163
  },] }
4780
5164
  ];
4781
5165
  GovUkCheckboxComponent.ctorParameters = function () { return []; };
@@ -4949,7 +5333,7 @@
4949
5333
  GovUkErrorMessageComponent.decorators = [
4950
5334
  { type: i0.Component, args: [{
4951
5335
  selector: ' xuilib-gov-uk-error-message',
4952
- template: "<span class=\"govuk-error-message\" [id]=\"config.id + '-error'\" *ngFor=\"let message of errorMessage?.messages\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{message}}\n</span>"
5336
+ template: "<span class=\"govuk-error-message\" [id]=\"config.id + '-error'\" *ngFor=\"let message of errorMessage?.messages\">\n <span class=\"govuk-visually-hidden\">{{'Error' | rpxTranslate}}:</span>{{message | rpxTranslate}}\n</span>\n"
4953
5337
  },] }
4954
5338
  ];
4955
5339
  GovUkErrorMessageComponent.ctorParameters = function () { return []; };
@@ -4977,7 +5361,7 @@
4977
5361
  GovUkFieldsetComponent.decorators = [
4978
5362
  { type: i0.Component, args: [{
4979
5363
  selector: 'xuilib-gov-uk-fieldset',
4980
- template: "<fieldset class=\"govuk-fieldset\" [attr.aria-describedby]=\"setDescribedBy()\">\n <legend [class]=\"config.classes + ' govuk-fieldset__legend'\" *ngIf=\"!config.isPageHeading\">\n {{config.legend}}\n </legend>\n\n <legend [class]=\"config.classes + ' govuk-fieldset__legend'\" *ngIf=\"config.isPageHeading\">\n <h1>{{config.legend}}</h1>\n </legend>\n\n <span [id]=\"config.id+'-hint'\" class=\"govuk-hint\" *ngIf=\"config.hint\">\n {{config.hint}}\n </span>\n <ng-content></ng-content>\n</fieldset>"
5364
+ template: "<fieldset class=\"govuk-fieldset\" [attr.aria-describedby]=\"setDescribedBy()\">\n <legend [class]=\"config.classes + ' govuk-fieldset__legend'\" *ngIf=\"!config.isPageHeading\">\n {{config.legend | rpxTranslate}}\n </legend>\n\n <legend [class]=\"config.classes + ' govuk-fieldset__legend'\" *ngIf=\"config.isPageHeading\">\n <h1>{{config.legend | rpxTranslate}}</h1>\n </legend>\n\n <span [id]=\"config.id+'-hint'\" class=\"govuk-hint\" *ngIf=\"config.hint\">\n {{config.hint | rpxTranslate}}\n </span>\n <ng-content></ng-content>\n</fieldset>\n"
4981
5365
  },] }
4982
5366
  ];
4983
5367
  GovUkFieldsetComponent.ctorParameters = function () { return []; };
@@ -5009,7 +5393,7 @@
5009
5393
  GovUkFileUploadComponent.decorators = [
5010
5394
  { type: i0.Component, args: [{
5011
5395
  selector: 'xuilib-gov-uk-file-upload',
5012
- template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n <xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n <span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n </span>\n\n <xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n <input class=\"govuk-file-upload\"\n *ngIf=\"reloadInput\"\n [formControlName]=\"config.id\"\n [ngClass]=\"{'govuk-file-upload--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\" [name]=\"config.name\"\n [attr.aria-describedby]=\"setDescribedBy()\"\n type=\"file\">\n </div>"
5396
+ template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n <xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n <span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint | rpxTranslate}}\n </span>\n\n <xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n <input class=\"govuk-file-upload\"\n *ngIf=\"reloadInput\"\n [formControlName]=\"config.id\"\n [ngClass]=\"{'govuk-file-upload--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\" [name]=\"config.name\"\n [attr.aria-describedby]=\"setDescribedBy()\"\n type=\"file\">\n</div>\n"
5013
5397
  },] }
5014
5398
  ];
5015
5399
  GovUkFileUploadComponent.ctorParameters = function () { return []; };
@@ -5065,7 +5449,7 @@
5065
5449
  GovUkInputComponent.decorators = [
5066
5450
  { type: i0.Component, args: [{
5067
5451
  selector: 'xuilib-gov-uk-input',
5068
- template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<input class=\"govuk-input\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.name\"\n [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\"\n [attr.aria-describedby]='setDescribedBy()'>\n</div>\n",
5452
+ template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint | rpxTranslate}}\n</span>\n\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<input class=\"govuk-input\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.name\"\n [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\"\n [attr.aria-describedby]='setDescribedBy()'>\n</div>\n",
5069
5453
  styles: [".gov-uk-input input:disabled{background:#b1b4b6}"]
5070
5454
  },] }
5071
5455
  ];
@@ -5090,7 +5474,7 @@
5090
5474
  GovUkLabelComponent.decorators = [
5091
5475
  { type: i0.Component, args: [{
5092
5476
  selector: 'xuilib-gov-label',
5093
- template: "<h1 *ngIf=\"config.isPageHeading else noHeading\">\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</ng-template>\n",
5477
+ template: "<h1 *ngIf=\"config.isPageHeading else noHeading\">\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label | rpxTranslate }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</ng-template>\n",
5094
5478
  styles: [".govuk-label{display:flex;align-items:center;flex-wrap:wrap}.govuk-label__optional{font-weight:400;font-size:16px;display:inline-block;margin-left:.75rem}"]
5095
5479
  },] }
5096
5480
  ];
@@ -5123,7 +5507,7 @@
5123
5507
  GovUkRadioComponent.decorators = [
5124
5508
  { type: i0.Component, args: [{
5125
5509
  selector: 'xuilib-gov-radio',
5126
- template: "<div class=\"govuk-radios__item\" [formGroup]=\"group\">\n <input [className]=\"'govuk-radios__input ' + config.classes\"\n [id]=\"config.id\"\n [value]=\"config.value\" type=\"radio\"\n [attr.data-aria-controls]=\"config.id\"\n [name]=\"config.name\"\n [formControl]=\"group.controls[config.name]\">\n <xuilib-gov-label appRemoveHost [config]=\"config\"></xuilib-gov-label>\n</div>"
5510
+ template: "<div class=\"govuk-radios__item\" [formGroup]=\"group\">\n <input [className]=\"'govuk-radios__input ' + config.classes\"\n [id]=\"config.id\"\n [value]=\"config.value\" type=\"radio\"\n [attr.data-aria-controls]=\"config.id\"\n [name]=\"config.name\"\n [formControl]=\"group.controls[config.name]\">\n <xuilib-gov-label appRemoveHost [config]=\"config\"></xuilib-gov-label>\n</div>\n"
5127
5511
  },] }
5128
5512
  ];
5129
5513
  GovUkRadioComponent.ctorParameters = function () { return []; };
@@ -5170,7 +5554,7 @@
5170
5554
  GovUkSelectComponent.decorators = [
5171
5555
  { type: i0.Component, args: [{
5172
5556
  selector: 'xuilib-gov-select',
5173
- template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n <option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n</div>\n"
5557
+ template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint | rpxTranslate}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n <option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label | rpxTranslate}}</option>\n</select>\n</div>\n"
5174
5558
  },] }
5175
5559
  ];
5176
5560
  GovUkSelectComponent.ctorParameters = function () { return []; };
@@ -5199,7 +5583,7 @@
5199
5583
  GovukTableComponent.decorators = [
5200
5584
  { type: i0.Component, args: [{
5201
5585
  selector: 'xuilib-gov-uk-table',
5202
- template: "<table class=\"{{'govuk-table ' + classes}}\">\n <caption class=\"govuk-table__caption\">{{caption}}</caption>\n <thead class=\"govuk-table__head\" >\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\" *ngFor=\"let h of columnConfig\">{{h.header}}</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr data-selector=\"table-row\" class=\"govuk-table__row\" *ngFor=\"let r of rows\">\n <ng-container *ngFor=\"let col of columnConfig; first as isFirst\">\n <th data-selector=\"table-header\" class=\"govuk-table__header\" scope=\"row\" *ngIf=\"isFirst && firstCellIsHeader\">\n <ng-container *ngIf=\"!col.type || col.type === 'text' || !r.routerLink\">{{r[col.key]}}</ng-container>\n <ng-container *ngIf=\"col.type === 'link' && r.routerLink\">\n <a class=\"govuk-link\" [routerLink]=\"r.routerLink\">{{r[col.key]}}</a>\n </ng-container>\n </th>\n <td data-selector=\"table-cell\" class=\"govuk-table__cell\" *ngIf=\"!(isFirst && firstCellIsHeader)\">\n <ng-container *ngIf=\"col.type === 'date'\">{{formatDate(r[col.key])}}</ng-container>\n <ng-container *ngIf=\"!col.type || col.type === 'text' || !r.routerLink\">{{r[col.key]}}</ng-container>\n <ng-container *ngIf=\"col.type === 'link' && r.routerLink\">\n <a class=\"govuk-link\" [routerLink]=\"r.routerLink\">{{r[col.key]}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n",
5586
+ template: "<table class=\"{{'govuk-table ' + classes}}\">\n <caption class=\"govuk-table__caption\">{{caption | rpxTranslate}}</caption>\n <thead class=\"govuk-table__head\" >\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\" *ngFor=\"let h of columnConfig\">{{h.header | rpxTranslate}}</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr data-selector=\"table-row\" class=\"govuk-table__row\" *ngFor=\"let r of rows\">\n <ng-container *ngFor=\"let col of columnConfig; first as isFirst\">\n <th data-selector=\"table-header\" class=\"govuk-table__header\" scope=\"row\" *ngIf=\"isFirst && firstCellIsHeader\">\n <ng-container *ngIf=\"!col.type || col.type === 'text' || !r.routerLink\">{{r[col.key] | rpxTranslate}}</ng-container>\n <ng-container *ngIf=\"col.type === 'link' && r.routerLink\">\n <a class=\"govuk-link\" [routerLink]=\"r.routerLink\">{{r[col.key] | rpxTranslate}}</a>\n </ng-container>\n </th>\n <td data-selector=\"table-cell\" class=\"govuk-table__cell\" *ngIf=\"!(isFirst && firstCellIsHeader)\">\n <ng-container *ngIf=\"col.type === 'date'\">{{formatDate(r[col.key]) | rpxTranslate}}</ng-container>\n <ng-container *ngIf=\"!col.type || col.type === 'text' || !r.routerLink\">{{r[col.key] | rpxTranslate}}</ng-container>\n <ng-container *ngIf=\"col.type === 'link' && r.routerLink\">\n <a class=\"govuk-link\" [routerLink]=\"r.routerLink\">{{r[col.key] | rpxTranslate}}</a>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </tbody>\n</table>\n",
5203
5587
  styles: [""]
5204
5588
  },] }
5205
5589
  ];
@@ -5238,7 +5622,7 @@
5238
5622
  GovUkTextareaComponent.decorators = [
5239
5623
  { type: i0.Component, args: [{
5240
5624
  selector: 'xuilib-gov-uk-textarea',
5241
- template: "<div [formGroup]=\"group\" \nclass=\"govuk-form-group\" [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span id=\"more-detail-hint\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n<textarea\n class=\"govuk-textarea\" [formControlName]=\"config.key\"\n [ngClass]=\"{'govuk-textarea--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\" name=\"more-detail\" [rows]=\"config.rows\" [attr.aria-describedby]=\"setDescribedBy()\"></textarea>\n</div>"
5625
+ template: "<div [formGroup]=\"group\"\nclass=\"govuk-form-group\" [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span id=\"more-detail-hint\" class=\"govuk-hint\">\n {{config.hint | rpxTranslate}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n<textarea\n class=\"govuk-textarea\" [formControlName]=\"config.key\"\n [ngClass]=\"{'govuk-textarea--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\" name=\"more-detail\" [rows]=\"config.rows\" [attr.aria-describedby]=\"setDescribedBy()\"></textarea>\n</div>\n"
5242
5626
  },] }
5243
5627
  ];
5244
5628
  GovUkTextareaComponent.propDecorators = {
@@ -5258,7 +5642,7 @@
5258
5642
  HmctsBannerComponent.decorators = [
5259
5643
  { type: i0.Component, args: [{
5260
5644
  selector: 'xuilib-hmcts-banner',
5261
- template: "<ng-container *ngIf=\"message && type\">\n <div *ngIf=\"title\"\n class=\"hmcts-banner-title hmcts-banner-title--{{ type }}\">\n {{ title }}\n </div>\n <div class=\"hmcts-banner hmcts-banner--{{ type }}\">\n <ng-container *ngIf=\"showMessageIcon\">\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'warning'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--warning\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"'success'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--success\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"'information'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--information\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class=\"hmcts-banner__message\" [class.hmcts-banner__message--bold]=\"messageBoldText\">\n <span class=\"hmcts-banner__assistive\">{{ type }}</span>\n <span class=\"hmcts-banner__message-text govuk-!-font-weight-bold\">{{ message }}</span>\n </div>\n </div>\n</ng-container>\n",
5645
+ template: "<ng-container *ngIf=\"message && type\">\n <div *ngIf=\"title\"\n class=\"hmcts-banner-title hmcts-banner-title--{{ type }}\">\n {{ title }}\n </div>\n <div class=\"hmcts-banner hmcts-banner--{{ type }}\">\n <ng-container *ngIf=\"showMessageIcon\">\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'warning'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--warning\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"'success'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--success\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"'information'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--information\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class=\"hmcts-banner__message\" [class.hmcts-banner__message--bold]=\"messageBoldText\">\n <span class=\"hmcts-banner__assistive\">{{type | rpxTranslate}}</span>\n <span class=\"hmcts-banner__message-text govuk-!-font-weight-bold\">{{message | rpxTranslate}}</span>\n </div>\n </div>\n</ng-container>\n",
5262
5646
  styles: [".hmcts-banner-title{color:#fff;background-color:#1d70b8;font-weight:700;padding:10px 15px 5px}.hmcts-banner-title--success{background-color:#00703c}.hmcts-banner-title--warning{background-color:#d4351c}.hmcts-banner__message--bold{font-weight:700}"]
5263
5647
  },] }
5264
5648
  ];
@@ -5309,7 +5693,7 @@
5309
5693
  HmctsErrorSummaryComponent.decorators = [
5310
5694
  { type: i0.Component, args: [{
5311
5695
  selector: 'xuilib-hmcts-error-summary',
5312
- template: "<div *ngIf=\"!showWarningMessage && messages && messages.length > 0\" id=\"errorSummary\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{header}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let message of messages\">\n <a (click)=\"scrollTo(message['id'])\" [routerLink]=\"\" [fragment]=\"message['id']\"\n *ngIf=\"hasElement(message['id'])\">{{message['message']}}</a>\n <span *ngIf=\"!hasElement(message['id'])\">{{message['message']}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf=\"showWarningMessage\" class=\"hmcts-banner hmcts-banner--warning\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">Warning</span>\n <p class=\"govuk-body\" *ngFor=\"let message of messages\">{{ message['message'] }}</p>\n </div>\n</div>"
5696
+ template: "<div *ngIf=\"!showWarningMessage && messages && messages.length > 0\" id=\"errorSummary\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{header | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let message of messages\">\n <a (click)=\"scrollTo(message['id'])\" [routerLink]=\"\" [fragment]=\"message['id']\"\n *ngIf=\"hasElement(message['id'])\">{{message['message'] | rpxTranslate}}</a>\n <span *ngIf=\"!hasElement(message['id'])\">{{message['message'] | rpxTranslate}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf=\"showWarningMessage\" class=\"hmcts-banner hmcts-banner--warning\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <p class=\"govuk-body\" *ngFor=\"let message of messages\">{{ message['message'] | rpxTranslate}}</p>\n </div>\n</div>\n"
5313
5697
  },] }
5314
5698
  ];
5315
5699
  HmctsErrorSummaryComponent.ctorParameters = function () { return [
@@ -5336,7 +5720,7 @@
5336
5720
  HmctsIdentityBarComponent.decorators = [
5337
5721
  { type: i0.Component, args: [{
5338
5722
  selector: 'xuilib-hmcts-identity-bar',
5339
- template: "<div class=\"hmcts-identity-bar\" *ngIf=\"value\">\n\n <div class=\"hmcts-identity-bar__container\">\n\n <div class=\"hmcts-identity-bar__details\">\n \n <span class=\"hmcts-identity-bar__title\">{{value}}</span>\n \n </div> \n\n </div>\n\n</div>",
5723
+ template: "<div class=\"hmcts-identity-bar\" *ngIf=\"value\">\n\n <div class=\"hmcts-identity-bar__container\">\n\n <div class=\"hmcts-identity-bar__details\">\n\n <span class=\"hmcts-identity-bar__title\">{{value | rpxTranslate}}</span>\n\n </div>\n\n </div>\n\n</div>\n",
5340
5724
  styles: [""]
5341
5725
  },] }
5342
5726
  ];
@@ -5376,7 +5760,7 @@
5376
5760
  HmctsMainWrapperComponent.decorators = [
5377
5761
  { type: i0.Component, args: [{
5378
5762
  selector: 'xuilib-hmcts-main-wrapper',
5379
- template: "<a *ngIf=\"hasBackLink\" [routerLink]=\"backLink\" (click)=\"onGoBack()\" class=\"govuk-back-link\">Back</a>\n<main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-hmcts-error-summary\n *ngIf=\"summaryErrors && !summaryErrors.isFromValid\"\n [errorMessages]=\"summaryErrors.items\"\n [header]=\"summaryErrors.header\"\n [showWarningMessage]=\"showWarningMessage\">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf=\"bannerData\"\n [type]=\"bannerData.type\"\n [message]=\"bannerData.message\"\n ></xuilib-hmcts-banner>\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">{{title}}</h1>\n <ng-content></ng-content>\n </div>\n <div class=\"govuk-grid-column-one-third\" *ngIf=\"actionButtons?.length > 0\">\n <div class=\"hmcts-page-heading__actions-wrapper\">\n <a\n *ngFor=\"let actionButton of actionButtons\"\n (click)=\"actionButton.action()\"\n role=\"button\"\n draggable=\"false\"\n class=\"govuk-button {{ actionButton.class }}\"\n >{{ actionButton.name }}</a>\n </div>\n </div>\n </div>\n</main>\n"
5763
+ template: "<a *ngIf=\"hasBackLink\" [routerLink]=\"backLink\" (click)=\"onGoBack()\" class=\"govuk-back-link\">{{'Back' | rpxTranslate}}</a>\n<main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-hmcts-error-summary\n *ngIf=\"summaryErrors && !summaryErrors.isFromValid\"\n [errorMessages]=\"summaryErrors.items\"\n [header]=\"summaryErrors.header\"\n [showWarningMessage]=\"showWarningMessage\">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf=\"bannerData\"\n [type]=\"bannerData.type\"\n [message]=\"bannerData.message\"\n ></xuilib-hmcts-banner>\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">{{title | rpxTranslate}}</h1>\n <ng-content></ng-content>\n </div>\n <div class=\"govuk-grid-column-one-third\" *ngIf=\"actionButtons?.length > 0\">\n <div class=\"hmcts-page-heading__actions-wrapper\">\n <a\n *ngFor=\"let actionButton of actionButtons\"\n (click)=\"actionButton.action()\"\n role=\"button\"\n draggable=\"false\"\n class=\"govuk-button {{ actionButton.class }}\"\n >{{ actionButton.name | rpxTranslate }}</a>\n </div>\n </div>\n </div>\n</main>\n"
5380
5764
  },] }
5381
5765
  ];
5382
5766
  HmctsMainWrapperComponent.ctorParameters = function () { return []; };
@@ -5404,7 +5788,7 @@
5404
5788
  HmctsPaginationComponent.decorators = [
5405
5789
  { type: i0.Component, args: [{
5406
5790
  selector: 'xuilib-hmcts-pagination',
5407
- template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\">\n\n <nav class=\"hmcts-pagination\" id=\"pagination-label\">\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">Pagination navigation</p>\n <ul class=\"hmcts-pagination__list\" *ngIf=\"!(p.pages.length <= 1)\">\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\" [class.disabled]=\"p.isFirstPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"1 < p.getCurrent()\" (keyup.enter)=\"p.previous()\"\n (click)=\"p.previous()\">Previous <span class=\"govuk-visually-hidden\">set of pages</span></a>\n </li>\n\n <ng-container *ngIf=\"showPageNumbers\">\n <li class=\"hmcts-pagination__item\" [class.hmcts-pagination__item--active]=\"p.getCurrent() === page.value\"\n [class.hmcts-pagination__item--dots]=\"page.label === '...'\" *ngFor=\"let page of p.pages\">\n <a class=\"hmcts-pagination__link\" [routerLink]=\"\" (keyup.enter)=\"p.setCurrent(page.value)\"\n (click)=\"p.setCurrent(page.value)\" *ngIf=\"p.getCurrent() !== page.value\">\n <span class=\"govuk-visually-hidden\">page </span>\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\" [class.disabled]=\"p.isLastPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"!p.isLastPage()\" (keyup.enter)=\"p.next()\"\n (click)=\"p.next()\">Next<span class=\"govuk-visually-hidden\"> page</span></a>\n </li>\n\n </ul>\n <p class=\"hmcts-pagination__results\" *ngIf=\"showResultCount\">Showing <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n to <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> of <b>{{p.getTotalItems()}}</b> results</p>\n </nav>\n\n</pagination-template>",
5791
+ template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\">\n\n <nav class=\"hmcts-pagination\" id=\"pagination-label\">\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n <ul class=\"hmcts-pagination__list\" *ngIf=\"!(p.pages.length <= 1)\">\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\" [class.disabled]=\"p.isFirstPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"1 < p.getCurrent()\" (keyup.enter)=\"p.previous()\"\n (click)=\"p.previous()\">{{'Previous' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'set of pages' | rpxTranslate}}</span></a>\n </li>\n\n <ng-container *ngIf=\"showPageNumbers\">\n <li class=\"hmcts-pagination__item\" [class.hmcts-pagination__item--active]=\"p.getCurrent() === page.value\"\n [class.hmcts-pagination__item--dots]=\"page.label === '...'\" *ngFor=\"let page of p.pages\">\n <a class=\"hmcts-pagination__link\" [routerLink]=\"\" (keyup.enter)=\"p.setCurrent(page.value)\"\n (click)=\"p.setCurrent(page.value)\" *ngIf=\"p.getCurrent() !== page.value\">\n <span class=\"govuk-visually-hidden\">{{'page' | rpxTranslate}} </span>\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\" [class.disabled]=\"p.isLastPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"!p.isLastPage()\" (keyup.enter)=\"p.next()\"\n (click)=\"p.next()\">{{'Next' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'page' | rpxTranslate}}</span></a>\n </li>\n\n </ul>\n <p class=\"hmcts-pagination__results\" *ngIf=\"showResultCount\">{{'Showing' | rpxTranslate}} <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n {{'to' | rpxTranslate}} <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> {{'of' | rpxTranslate}} <b>{{p.getTotalItems()}}</b> {{'results' | rpxTranslate}}</p>\n </nav>\n\n</pagination-template>\n",
5408
5792
  styles: [".hmcts-pagination__results{float:right}"]
5409
5793
  },] }
5410
5794
  ];
@@ -5433,7 +5817,7 @@
5433
5817
  HmctsPrimaryNavigationComponent.decorators = [
5434
5818
  { type: i0.Component, args: [{
5435
5819
  selector: 'xuilib-hmcts-primary-navigation',
5436
- template: "<nav *ngIf=\"isUserLoggedIn\" class=\"hmcts-primary-navigation\" [attr.aria-label]=\"label\">\n <div class=\"hmcts-primary-navigation__container\">\n <div class=\"govuk-header__logo\" *ngIf=\"isBrandedHeader\"></div>\n <ul class=\"hmcts-primary-navigation__list\">\n <li class=\"hmcts-primary-navigation__item\" *ngFor=\"let item of items\">\n <a class=\"hmcts-primary-navigation__link\" [attr.aria-current]=\"item.active ? true: null\" [routerLink]=\"item.href\" [innerHTML]=\"item.text\"></a>\n </li>\n </ul>\n </div>\n</nav>\n",
5820
+ template: "<nav *ngIf=\"isUserLoggedIn\" class=\"hmcts-primary-navigation\" [attr.aria-label]=\"label\">\n <div class=\"hmcts-primary-navigation__container\">\n <div class=\"govuk-header__logo\" *ngIf=\"isBrandedHeader\"></div>\n <ul class=\"hmcts-primary-navigation__list\">\n <li class=\"hmcts-primary-navigation__item\" *ngFor=\"let item of items\">\n <a class=\"hmcts-primary-navigation__link\" [attr.aria-current]=\"item.active ? true: null\" [routerLink]=\"item.href\" [innerHTML]=\"item.text | rpxTranslate\"></a>\n </li>\n </ul>\n </div>\n</nav>\n",
5437
5821
  styles: [""]
5438
5822
  },] }
5439
5823
  ];
@@ -5453,7 +5837,7 @@
5453
5837
  HmctsSubNavigationComponent.decorators = [
5454
5838
  { type: i0.Component, args: [{
5455
5839
  selector: 'xuilib-hmcts-sub-navigation',
5456
- template: "<nav class=\"hmcts-sub-navigation\" attr.aria-label=\"{{label}}\" role=\"navigation\" *ngIf=\"items\">\n <ul class=\"hmcts-sub-navigation__list\">\n <li class=\"hmcts-sub-navigation__item\" *ngFor=\"let item of items\">\n <a data-selector=\"sub-nav-link\" class=\"hmcts-sub-navigation__link\" [routerLink]=\"item.href\"\n [attr.aria-current]=\"item.active ? 'page' : null\">\n {{item.text}}\n\n <span *ngIf=\"item.roundel && item.roundel > 0 \" class=\"xui-alert-link__number\"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n",
5840
+ template: "<nav class=\"hmcts-sub-navigation\" attr.aria-label=\"{{label}}\" role=\"navigation\" *ngIf=\"items\">\n <ul class=\"hmcts-sub-navigation__list\">\n <li class=\"hmcts-sub-navigation__item\" *ngFor=\"let item of items\">\n <a data-selector=\"sub-nav-link\" class=\"hmcts-sub-navigation__link\" [routerLink]=\"item.href\"\n [attr.aria-current]=\"item.active ? 'page' : null\">\n {{item.text | rpxTranslate}}\n <span *ngIf=\"item.roundel && item.roundel > 0 \" class=\"xui-alert-link__number\"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n",
5457
5841
  styles: [".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]
5458
5842
  },] }
5459
5843
  ];
@@ -5541,7 +5925,9 @@
5541
5925
  FindServiceComponent,
5542
5926
  SearchServiceComponent,
5543
5927
  SearchVenueComponent,
5544
- PaginationComponent
5928
+ PaginationComponent,
5929
+ WriteAddressFieldComponent,
5930
+ WriteAddressInputsComponent
5545
5931
  ];
5546
5932
  var GOV_UI_COMPONENTS = [
5547
5933
  HmctsIdentityBarComponent,
@@ -5587,7 +5973,8 @@
5587
5973
  autocomplete.MatAutocompleteModule,
5588
5974
  tabs.MatTabsModule,
5589
5975
  input.MatInputModule,
5590
- ngxPagination.NgxPaginationModule
5976
+ ngxPagination.NgxPaginationModule,
5977
+ rpxXuiTranslation.RpxTranslationModule.forChild()
5591
5978
  ],
5592
5979
  providers: [
5593
5980
  { provide: windowToken, useFactory: ɵ0 }
@@ -5677,6 +6064,9 @@
5677
6064
  */
5678
6065
 
5679
6066
  exports.AccessibilityComponent = AccessibilityComponent;
6067
+ exports.AddressModel = AddressModel;
6068
+ exports.AddressOption = AddressOption;
6069
+ exports.AddressService = AddressService;
5680
6070
  exports.AnonymousFeatureUser = AnonymousFeatureUser;
5681
6071
  exports.COMMON_COMPONENTS = COMMON_COMPONENTS;
5682
6072
  exports.CapitalizePipe = CapitalizePipe;
@@ -5760,6 +6150,8 @@
5760
6150
  exports.UserDetailsComponent = UserDetailsComponent;
5761
6151
  exports.UserListComponent = UserListComponent;
5762
6152
  exports.UserSelectComponent = UserSelectComponent;
6153
+ exports.WriteAddressFieldComponent = WriteAddressFieldComponent;
6154
+ exports.WriteAddressInputsComponent = WriteAddressInputsComponent;
5763
6155
  exports.checkboxesBeCheckedValidator = checkboxesBeCheckedValidator;
5764
6156
  exports.dateValidator = dateValidator;
5765
6157
  exports.radioGroupValidator = radioGroupValidator;
@@ -5789,30 +6181,33 @@
5789
6181
  exports["ɵbs"] = SearchServiceComponent;
5790
6182
  exports["ɵbt"] = SearchVenueComponent;
5791
6183
  exports["ɵbu"] = PaginationComponent;
5792
- exports["ɵbv"] = HmctsIdentityBarComponent;
5793
- exports["ɵbw"] = HmctsPaginationComponent;
5794
- exports["ɵbx"] = HmctsSubNavigationComponent;
5795
- exports["ɵby"] = HmctsPrimaryNavigationComponent;
5796
- exports["ɵbz"] = HmctsErrorSummaryComponent;
6184
+ exports["ɵbv"] = WriteAddressFieldComponent;
6185
+ exports["ɵbw"] = AddressService;
6186
+ exports["ɵbx"] = WriteAddressInputsComponent;
6187
+ exports["ɵby"] = HmctsIdentityBarComponent;
6188
+ exports["ɵbz"] = HmctsPaginationComponent;
5797
6189
  exports["ɵc"] = TcDisplayHtmlComponent;
5798
- exports["ɵca"] = HmctsMainWrapperComponent;
5799
- exports["ɵcb"] = HmctsBannerComponent;
5800
- exports["ɵcc"] = GovukTableComponent;
5801
- exports["ɵcd"] = GovUkInputComponent;
5802
- exports["ɵce"] = GovUkCheckboxComponent;
5803
- exports["ɵcf"] = GovUkFormGroupWrapperComponent;
5804
- exports["ɵcg"] = GovUkLabelComponent;
5805
- exports["ɵch"] = GovUkErrorMessageComponent;
5806
- exports["ɵci"] = GovUkFieldsetComponent;
5807
- exports["ɵcj"] = GovUkDateComponent;
5808
- exports["ɵck"] = GovUkCheckboxesComponent;
5809
- exports["ɵcl"] = GovUkRadioComponent;
5810
- exports["ɵcm"] = GovUkRadiosComponent;
5811
- exports["ɵcn"] = GovUkSelectComponent;
5812
- exports["ɵco"] = GovUkTextareaComponent;
5813
- exports["ɵcp"] = GovUkFileUploadComponent;
5814
- exports["ɵcq"] = RemoveHostDirective;
5815
- exports["ɵcr"] = CapitalizePipe;
6190
+ exports["ɵca"] = HmctsSubNavigationComponent;
6191
+ exports["ɵcb"] = HmctsPrimaryNavigationComponent;
6192
+ exports["ɵcc"] = HmctsErrorSummaryComponent;
6193
+ exports["ɵcd"] = HmctsMainWrapperComponent;
6194
+ exports["ɵce"] = HmctsBannerComponent;
6195
+ exports["ɵcf"] = GovukTableComponent;
6196
+ exports["ɵcg"] = GovUkInputComponent;
6197
+ exports["ɵch"] = GovUkCheckboxComponent;
6198
+ exports["ɵci"] = GovUkFormGroupWrapperComponent;
6199
+ exports["ɵcj"] = GovUkLabelComponent;
6200
+ exports["ɵck"] = GovUkErrorMessageComponent;
6201
+ exports["ɵcl"] = GovUkFieldsetComponent;
6202
+ exports["ɵcm"] = GovUkDateComponent;
6203
+ exports["ɵcn"] = GovUkCheckboxesComponent;
6204
+ exports["ɵco"] = GovUkRadioComponent;
6205
+ exports["ɵcp"] = GovUkRadiosComponent;
6206
+ exports["ɵcq"] = GovUkSelectComponent;
6207
+ exports["ɵcr"] = GovUkTextareaComponent;
6208
+ exports["ɵcs"] = GovUkFileUploadComponent;
6209
+ exports["ɵct"] = RemoveHostDirective;
6210
+ exports["ɵcu"] = CapitalizePipe;
5816
6211
  exports["ɵd"] = TcDisplayPlainComponent;
5817
6212
  exports["ɵe"] = TcConfirmComponent;
5818
6213
  exports["ɵf"] = ContactDetailsComponent;