@hmcts/rpx-xui-common-lib 2.0.41 → 2.0.43-angular-upgrade-rc1

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 (94) hide show
  1. package/esm2022/lib/components/accessibility/accessibility.component.mjs +2 -2
  2. package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +2 -2
  3. package/esm2022/lib/components/contact-details/contact-details.component.mjs +2 -2
  4. package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +2 -2
  5. package/esm2022/lib/components/due-date/due-date.component.mjs +2 -2
  6. package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +2 -2
  7. package/esm2022/lib/components/find-location/find-location.component.mjs +2 -2
  8. package/esm2022/lib/components/find-person/find-person.component.mjs +2 -2
  9. package/esm2022/lib/components/find-service/find-service.component.mjs +2 -2
  10. package/esm2022/lib/components/find-task-name/find-task-name.component.mjs +2 -2
  11. package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +15 -5
  12. package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +2 -2
  13. package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +2 -2
  14. package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +2 -2
  15. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +2 -2
  16. package/esm2022/lib/components/pagination/pagination.component.mjs +2 -2
  17. package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +2 -2
  18. package/esm2022/lib/components/search-location/search-location.component.mjs +2 -2
  19. package/esm2022/lib/components/search-service/search-service.component.mjs +23 -12
  20. package/esm2022/lib/components/search-venue/search-venue.component.mjs +2 -2
  21. package/esm2022/lib/components/selected-case/selected-case.component.mjs +2 -2
  22. package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +2 -2
  23. package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +2 -2
  24. package/esm2022/lib/components/service-message/service-message.component.mjs +2 -2
  25. package/esm2022/lib/components/service-messages/service-messages.component.mjs +2 -2
  26. package/esm2022/lib/components/share-case/share-case.component.mjs +14 -7
  27. package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +2 -2
  28. package/esm2022/lib/components/tab/tab.component.mjs +2 -2
  29. package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +2 -2
  30. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +2 -2
  31. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +2 -2
  32. package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +2 -2
  33. package/esm2022/lib/components/user-details/user-details.component.mjs +2 -2
  34. package/esm2022/lib/components/user-list/user-list.component.mjs +2 -2
  35. package/esm2022/lib/components/user-select/user-select.component.mjs +13 -13
  36. package/esm2022/lib/components/write-address/write-address.component.mjs +2 -2
  37. package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +2 -2
  38. package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +2 -2
  39. package/esm2022/lib/directives/let/let.directive.mjs +2 -2
  40. package/esm2022/lib/exui-common-lib.module.mjs +2 -2
  41. package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +2 -2
  42. package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +2 -2
  43. package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +2 -2
  44. package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +2 -2
  45. package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +2 -2
  46. package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +2 -2
  47. package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +2 -2
  48. package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +2 -2
  49. package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +2 -2
  50. package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +2 -2
  51. package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +2 -2
  52. package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +2 -2
  53. package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +2 -2
  54. package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +2 -2
  55. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +2 -2
  56. package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +2 -2
  57. package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +2 -2
  58. package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +2 -2
  59. package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +2 -2
  60. package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +2 -2
  61. package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +2 -2
  62. package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +2 -2
  63. package/esm2022/lib/gov-ui/gov-ui.service.mjs +2 -2
  64. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +2 -2
  65. package/esm2022/lib/services/address/address.service.mjs +2 -2
  66. package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +2 -2
  67. package/esm2022/lib/services/cookie/cookie.service.mjs +2 -2
  68. package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +5 -2
  69. package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +2 -2
  70. package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +2 -2
  71. package/esm2022/lib/services/filter/filter.service.mjs +2 -2
  72. package/esm2022/lib/services/find-person/find-person.service.mjs +2 -2
  73. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +8 -3
  74. package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +22 -7
  75. package/esm2022/lib/services/loading/loading.service.mjs +2 -2
  76. package/esm2022/lib/services/locations/location.service.mjs +2 -2
  77. package/esm2022/lib/services/manage-session/manage-session.services.mjs +2 -2
  78. package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +2 -2
  79. package/esm2022/lib/services/ref-data/ref-data.service.mjs +2 -2
  80. package/esm2022/lib/services/role-guard/role.guard.mjs +7 -2
  81. package/esm2022/lib/services/role-guard/role.service.mjs +2 -2
  82. package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +2 -2
  83. package/esm2022/lib/services/task-name/task-name.service.mjs +2 -2
  84. package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +2 -2
  85. package/fesm2022/hmcts-rpx-xui-common-lib.mjs +172 -115
  86. package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -1
  87. package/lib/components/generic-filter/generic-filter.component.d.ts +3 -2
  88. package/lib/components/search-service/search-service.component.d.ts +4 -2
  89. package/lib/components/share-case/share-case.component.d.ts +1 -0
  90. package/lib/components/user-select/user-select.component.d.ts +0 -1
  91. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +2 -0
  92. package/lib/services/google-analytics/google-analytics.service.d.ts +1 -1
  93. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +2 -1
  94. package/package.json +1 -1
@@ -52,7 +52,7 @@ class AccessibilityComponent {
52
52
  this.isEndpointMC = false;
53
53
  }
54
54
  }
55
- static { this.ɵfac = function AccessibilityComponent_Factory(t) { return new (t || AccessibilityComponent)(); }; }
55
+ static { this.ɵfac = function AccessibilityComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AccessibilityComponent)(); }; }
56
56
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AccessibilityComponent, selectors: [["xuilib-accessibility"]], decls: 440, vars: 409, consts: [[1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-list", "govuk-list--bullet"], ["href", "accessibility#immigration"], ["href", "accessibility#family-public-law"], ["href", "accessibility#adoption"], ["href", "accessibility#civil-damages"], ["href", "accessibility#divorce"], ["href", "accessibility#civil-money-claims"], ["href", "accessibility#private-law"], ["href", "accessibility#probate"], ["href", "accessibility#social-security#"], ["rel", "noopener noreferrer", "target", "_blank", "href", "https://mcmw.abilitynet.org.uk/"], [1, "govuk-heading-l"], ["href", "mailto:HMCTSforms@justice.gov.uk"], ["id", "adoption", 1, "govuk-heading-l"], ["id", "civil-damages", 1, "govuk-heading-l"], ["id", "divorce", 1, "govuk-heading-l"], ["id", "family-public-law", 1, "govuk-heading-l"], ["id", "immigration", 1, "govuk-heading-l"], ["id", "civil-money-claims", 1, "govuk-heading-l"], ["id", "private-law", 1, "govuk-heading-l"], ["id", "probate", 1, "govuk-heading-l"], ["id", "social-security", 1, "govuk-heading-l"], ["class", "govuk-body", 4, "ngIf"], ["href", "mailto:customer.service@justice.gov.uk"], ["rel", "noopener noreferrer", "target", "_blank", "href", "https://www.equalityadvisoryservice.com/"], ["target", "_blank", "href", "https://www.w3.org/TR/WCAG22/"], [1, "govuk-!-font-weight-bold"], [1, "govuk-heading-m"], ["rel", "noopener noreferrer", "target", "_blank", "href", "https://digitalaccessibilitycentre.org/"]], template: function AccessibilityComponent_Template(rf, ctx) { if (rf & 1) {
57
57
  i0.ɵɵelementStart(0, "h1", 0);
58
58
  i0.ɵɵtext(1);
@@ -1061,7 +1061,7 @@ class CheckboxListComponent {
1061
1061
  }
1062
1062
  }
1063
1063
  }
1064
- static { this.ɵfac = function CheckboxListComponent_Factory(t) { return new (t || CheckboxListComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
1064
+ static { this.ɵfac = function CheckboxListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CheckboxListComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
1065
1065
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CheckboxListComponent, selectors: [["xuilib-checkbox-list"]], inputs: { options: "options", preselection: "preselection", labelFunction: "labelFunction", selection: "selection" }, outputs: { selectionChange: "selectionChange" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "xui-checkbox-list govuk-checkboxes govuk-checkboxes--small", 4, "ngIf"], [1, "xui-checkbox-list", "govuk-checkboxes", "govuk-checkboxes--small"], [1, "select-all", "govuk-checkboxes__item"], ["type", "checkbox", "id", "select_all", 1, "govuk-checkboxes__input", 3, "change", "checked"], ["for", "select_all", 1, "govuk-label", "govuk-checkboxes__label"], [1, "checkbox-items"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "checked"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"]], template: function CheckboxListComponent_Template(rf, ctx) { if (rf & 1) {
1066
1066
  i0.ɵɵtemplate(0, CheckboxListComponent_div_0_Template, 8, 5, "div", 0);
1067
1067
  } if (rf & 2) {
@@ -1188,7 +1188,7 @@ function ContactDetailsComponent_div_0_Template(rf, ctx) { if (rf & 1) {
1188
1188
  class ContactDetailsComponent {
1189
1189
  constructor() {
1190
1190
  }
1191
- static { this.ɵfac = function ContactDetailsComponent_Factory(t) { return new (t || ContactDetailsComponent)(); }; }
1191
+ static { this.ɵfac = function ContactDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ContactDetailsComponent)(); }; }
1192
1192
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ContactDetailsComponent, selectors: [["xuilib-contact-details"]], inputs: { data: "data" }, decls: 1, vars: 1, consts: [["class", "contact-details", 4, "ngIf"], [1, "contact-details"], ["class", "govuk-heading-m", 4, "ngIf"], [4, "ngIf"], ["class", "email", 4, "ngIf"], ["class", "contactDetails", 4, "ngIf"], ["class", "phone", 4, "ngIf"], ["class", "opening-times", 4, "ngIf"], [1, "govuk-heading-m"], [3, "className"], [1, "email"], [1, "govuk-!-font-weight-bold"], [3, "href"], [1, "contactDetails"], ["rel", "external", 3, "href"], [1, "phone"], [1, "opening-times"]], template: function ContactDetailsComponent_Template(rf, ctx) { if (rf & 1) {
1193
1193
  i0.ɵɵtemplate(0, ContactDetailsComponent_div_0_Template, 7, 6, "div", 0);
1194
1194
  } if (rf & 2) {
@@ -1327,7 +1327,7 @@ class DueDateComponent {
1327
1327
  const diffSecs = Math.floor((toEpoch - fromEpoch) / 1000);
1328
1328
  return Math.floor(diffSecs / SECONDS_IN_A_DAY);
1329
1329
  }
1330
- static { this.ɵfac = function DueDateComponent_Factory(t) { return new (t || DueDateComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
1330
+ static { this.ɵfac = function DueDateComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DueDateComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
1331
1331
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DueDateComponent, selectors: [["xuilib-due-date"]], inputs: { dueDate: "dueDate", highUrgencyCutoff: "highUrgencyCutoff", mediumUrgencyCutoff: "mediumUrgencyCutoff" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [["class", "due-date hmcts-badge", 3, "ngClass", "title", 4, "ngIf"], [1, "due-date", "hmcts-badge", 3, "ngClass", "title"]], template: function DueDateComponent_Template(rf, ctx) { if (rf & 1) {
1332
1332
  i0.ɵɵtemplate(0, DueDateComponent_span_0_Template, 5, 10, "span", 0);
1333
1333
  } if (rf & 2) {
@@ -1367,7 +1367,7 @@ class FeatureToggleService {
1367
1367
  getValueSync(feature, defaultValue) {
1368
1368
  throw new Error(`Not implemented ${feature}:${defaultValue}`);
1369
1369
  }
1370
- static { this.ɵfac = function FeatureToggleService_Factory(t) { return new (t || FeatureToggleService)(); }; }
1370
+ static { this.ɵfac = function FeatureToggleService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FeatureToggleService)(); }; }
1371
1371
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FeatureToggleService, factory: FeatureToggleService.ɵfac, providedIn: 'root' }); }
1372
1372
  }
1373
1373
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureToggleService, [{
@@ -1382,6 +1382,7 @@ class FeatureToggleGuard {
1382
1382
  this.featureToggleService = featureToggleService;
1383
1383
  this.router = router;
1384
1384
  }
1385
+ // TEST-TODO
1385
1386
  /**
1386
1387
  * Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
1387
1388
  * in the data array for the route:
@@ -1389,11 +1390,13 @@ class FeatureToggleGuard {
1389
1390
  * - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
1390
1391
  * - expectFeatureEnabled: Sets whether a route should be enabled/disabled based on whether feature is present
1391
1392
  * @param route Automatically provided by Angular
1393
+ * Note: Per Angular 18, when a guard returns a UrlTree as a redirect,
1394
+ * the redirecting navigation will now use replaceUrl if the initial navigation was also using the replaceUrl option.
1392
1395
  */
1393
1396
  canActivate(route) {
1394
1397
  return combineLatest([...route.data.needsFeaturesEnabled.map(feature => this.featureToggleService.getValueOnce(feature, false))]).pipe(map(featureStatuses => featureStatuses.every(status => status)), map(status => (route.data.expectFeatureEnabled !== false && status) || (route.data.expectFeatureEnabled === false && !status) || this.router.parseUrl(route.data.featureDisabledRedirect)));
1395
1398
  }
1396
- static { this.ɵfac = function FeatureToggleGuard_Factory(t) { return new (t || FeatureToggleGuard)(i0.ɵɵinject(FeatureToggleService), i0.ɵɵinject(i2$1.Router)); }; }
1399
+ static { this.ɵfac = function FeatureToggleGuard_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FeatureToggleGuard)(i0.ɵɵinject(FeatureToggleService), i0.ɵɵinject(i2$1.Router)); }; }
1397
1400
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FeatureToggleGuard, factory: FeatureToggleGuard.ɵfac, providedIn: 'root' }); }
1398
1401
  }
1399
1402
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureToggleGuard, [{
@@ -1453,7 +1456,7 @@ class LaunchDarklyService {
1453
1456
  getValueSync(feature, defaultValue) {
1454
1457
  return this.client.variation(feature, defaultValue);
1455
1458
  }
1456
- static { this.ɵfac = function LaunchDarklyService_Factory(t) { return new (t || LaunchDarklyService)(); }; }
1459
+ static { this.ɵfac = function LaunchDarklyService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LaunchDarklyService)(); }; }
1457
1460
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LaunchDarklyService, factory: LaunchDarklyService.ɵfac, providedIn: 'root' }); }
1458
1461
  }
1459
1462
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LaunchDarklyService, [{
@@ -1668,7 +1671,7 @@ class AddressService {
1668
1671
  });
1669
1672
  return sentence;
1670
1673
  }
1671
- static { this.ɵfac = function AddressService_Factory(t) { return new (t || AddressService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
1674
+ static { this.ɵfac = function AddressService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AddressService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
1672
1675
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AddressService, factory: AddressService.ɵfac }); }
1673
1676
  }
1674
1677
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressService, [{
@@ -1720,9 +1723,14 @@ class GoogleAnalyticsService {
1720
1723
  }
1721
1724
  }
1722
1725
  event(eventName, params) {
1723
- this.window.gtag('event', eventName, params);
1726
+ if (typeof window.gtag === 'function') {
1727
+ this.window.gtag('event', eventName, params);
1728
+ }
1729
+ else {
1730
+ console.warn('Google Analytics is not available.');
1731
+ }
1724
1732
  }
1725
- static { this.ɵfac = function GoogleAnalyticsService_Factory(t) { return new (t || GoogleAnalyticsService)(i0.ɵɵinject(i2$1.Router), i0.ɵɵinject(i2$2.Title), i0.ɵɵinject(windowToken), i0.ɵɵinject(DOCUMENT)); }; }
1733
+ static { this.ɵfac = function GoogleAnalyticsService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GoogleAnalyticsService)(i0.ɵɵinject(i2$1.Router), i0.ɵɵinject(i2$2.Title), i0.ɵɵinject(windowToken), i0.ɵɵinject(DOCUMENT)); }; }
1726
1734
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GoogleAnalyticsService, factory: GoogleAnalyticsService.ɵfac, providedIn: 'root' }); }
1727
1735
  }
1728
1736
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GoogleAnalyticsService, [{
@@ -1766,7 +1774,7 @@ class GoogleTagManagerService {
1766
1774
  }
1767
1775
  listenForRouteChanges() {
1768
1776
  if (this.googleTagManagerKey) {
1769
- this.router.events.subscribe(event => {
1777
+ this.router.events.subscribe((event) => {
1770
1778
  if (event instanceof NavigationEnd) {
1771
1779
  this.window.dataLayer.push({
1772
1780
  event: 'pageview',
@@ -1779,13 +1787,28 @@ class GoogleTagManagerService {
1779
1787
  });
1780
1788
  }
1781
1789
  }
1790
+ virtualPageView(path, title, metadata) {
1791
+ if (this.window.dataLayer) {
1792
+ this.window.dataLayer.push({
1793
+ event: 'pageview',
1794
+ page: {
1795
+ path,
1796
+ title
1797
+ },
1798
+ ...metadata
1799
+ });
1800
+ }
1801
+ }
1782
1802
  event(eventName, params) {
1783
- this.window.dataLayer.push({
1784
- event: eventName,
1785
- params
1786
- });
1803
+ if (this.window.dataLayer) {
1804
+ console.log('Pushing event to GTM', eventName, params);
1805
+ this.window.dataLayer.push({
1806
+ event: eventName,
1807
+ ...params
1808
+ });
1809
+ }
1787
1810
  }
1788
- static { this.ɵfac = function GoogleTagManagerService_Factory(t) { return new (t || GoogleTagManagerService)(i0.ɵɵinject(i2$1.Router), i0.ɵɵinject(i2$2.Title), i0.ɵɵinject(windowToken), i0.ɵɵinject(DOCUMENT)); }; }
1811
+ static { this.ɵfac = function GoogleTagManagerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GoogleTagManagerService)(i0.ɵɵinject(i2$1.Router), i0.ɵɵinject(i2$2.Title), i0.ɵɵinject(windowToken), i0.ɵɵinject(DOCUMENT)); }; }
1789
1812
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GoogleTagManagerService, factory: GoogleTagManagerService.ɵfac, providedIn: 'root' }); }
1790
1813
  }
1791
1814
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GoogleTagManagerService, [{
@@ -1833,7 +1856,7 @@ class ManageSessionServices {
1833
1856
  appStateChanges() {
1834
1857
  return this.appStateEmitter.asObservable();
1835
1858
  }
1836
- static { this.ɵfac = function ManageSessionServices_Factory(t) { return new (t || ManageSessionServices)(i0.ɵɵinject(i1$2.Idle), i0.ɵɵinject(i2$3.Keepalive)); }; }
1859
+ static { this.ɵfac = function ManageSessionServices_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ManageSessionServices)(i0.ɵɵinject(i1$2.Idle), i0.ɵɵinject(i2$3.Keepalive)); }; }
1837
1860
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ManageSessionServices, factory: ManageSessionServices.ɵfac, providedIn: 'root' }); }
1838
1861
  }
1839
1862
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ManageSessionServices, [{
@@ -1928,7 +1951,7 @@ class TimeoutNotificationsService {
1928
1951
  notificationOnChange() {
1929
1952
  return this.eventEmitter.asObservable();
1930
1953
  }
1931
- static { this.ɵfac = function TimeoutNotificationsService_Factory(t) { return new (t || TimeoutNotificationsService)(i0.ɵɵinject(i1$2.Idle), i0.ɵɵinject(i2$3.Keepalive)); }; }
1954
+ static { this.ɵfac = function TimeoutNotificationsService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TimeoutNotificationsService)(i0.ɵɵinject(i1$2.Idle), i0.ɵɵinject(i2$3.Keepalive)); }; }
1932
1955
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TimeoutNotificationsService, factory: TimeoutNotificationsService.ɵfac, providedIn: 'root' }); }
1933
1956
  }
1934
1957
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeoutNotificationsService, [{
@@ -1946,7 +1969,7 @@ class RoleService {
1946
1969
  set roles(roles) {
1947
1970
  this.pRoles.next(roles);
1948
1971
  }
1949
- static { this.ɵfac = function RoleService_Factory(t) { return new (t || RoleService)(); }; }
1972
+ static { this.ɵfac = function RoleService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RoleService)(); }; }
1950
1973
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RoleService, factory: RoleService.ɵfac, providedIn: 'root' }); }
1951
1974
  }
1952
1975
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RoleService, [{
@@ -1966,6 +1989,11 @@ class RoleGuard {
1966
1989
  this.roleService = roleService;
1967
1990
  this.router = router;
1968
1991
  }
1992
+ // TEST-TODO
1993
+ /*
1994
+ * Note: Per Angular 18, when a guard returns a UrlTree as a redirect,
1995
+ * the redirecting navigation will now use replaceUrl if the initial navigation was also using the replaceUrl option.
1996
+ * */
1969
1997
  canActivate(route) {
1970
1998
  return this.roleService.roles$.pipe(map(roles => {
1971
1999
  const canActivateRoles = route.data.needsRole;
@@ -1977,7 +2005,7 @@ class RoleGuard {
1977
2005
  return match || this.router.parseUrl(route.data.noRoleMatchRedirect);
1978
2006
  }));
1979
2007
  }
1980
- static { this.ɵfac = function RoleGuard_Factory(t) { return new (t || RoleGuard)(i0.ɵɵinject(RoleService), i0.ɵɵinject(i2$1.Router)); }; }
2008
+ static { this.ɵfac = function RoleGuard_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RoleGuard)(i0.ɵɵinject(RoleService), i0.ɵɵinject(i2$1.Router)); }; }
1981
2009
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RoleGuard, factory: RoleGuard.ɵfac, providedIn: 'root' }); }
1982
2010
  }
1983
2011
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RoleGuard, [{
@@ -2019,7 +2047,7 @@ class CookieService {
2019
2047
  checkCookie(key) {
2020
2048
  return this.document.cookie.split('; ').some(item => item.trim().startsWith(`${key}=`));
2021
2049
  }
2022
- static { this.ɵfac = function CookieService_Factory(t) { return new (t || CookieService)(i0.ɵɵinject(DOCUMENT)); }; }
2050
+ static { this.ɵfac = function CookieService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CookieService)(i0.ɵɵinject(DOCUMENT)); }; }
2023
2051
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CookieService, factory: CookieService.ɵfac, providedIn: 'root' }); }
2024
2052
  }
2025
2053
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CookieService, [{
@@ -2059,7 +2087,7 @@ class LoadingService {
2059
2087
  const timestamp = window.performance.now();
2060
2088
  return `common-lib-loading-${timestamp}`; // format: [source-library]-[unique incrementing number]
2061
2089
  }
2062
- static { this.ɵfac = function LoadingService_Factory(t) { return new (t || LoadingService)(); }; }
2090
+ static { this.ɵfac = function LoadingService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoadingService)(); }; }
2063
2091
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoadingService, factory: LoadingService.ɵfac, providedIn: 'root' }); }
2064
2092
  }
2065
2093
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingService, [{
@@ -2151,7 +2179,7 @@ class FilterService {
2151
2179
  }
2152
2180
  return userId;
2153
2181
  }
2154
- static { this.ɵfac = function FilterService_Factory(t) { return new (t || FilterService)(); }; }
2182
+ static { this.ɵfac = function FilterService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FilterService)(); }; }
2155
2183
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FilterService, factory: FilterService.ɵfac, providedIn: 'root' }); }
2156
2184
  }
2157
2185
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FilterService, [{
@@ -2180,7 +2208,7 @@ class RefDataDataAccessService {
2180
2208
  getLocations() {
2181
2209
  return this.http.get(`${RefDataDataAccessService.refDataUrl}/locations`);
2182
2210
  }
2183
- static { this.ɵfac = function RefDataDataAccessService_Factory(t) { return new (t || RefDataDataAccessService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
2211
+ static { this.ɵfac = function RefDataDataAccessService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RefDataDataAccessService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
2184
2212
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RefDataDataAccessService, factory: RefDataDataAccessService.ɵfac, providedIn: 'root' }); }
2185
2213
  }
2186
2214
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RefDataDataAccessService, [{
@@ -2208,7 +2236,7 @@ class RefDataService {
2208
2236
  });
2209
2237
  return forkJoin(observables).pipe(map((values) => values.reduce((acc, val) => acc.concat(val)), []), take(1));
2210
2238
  }
2211
- static { this.ɵfac = function RefDataService_Factory(t) { return new (t || RefDataService)(i0.ɵɵinject(RefDataDataAccessService)); }; }
2239
+ static { this.ɵfac = function RefDataService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RefDataService)(i0.ɵɵinject(RefDataDataAccessService)); }; }
2212
2240
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RefDataService, factory: RefDataService.ɵfac, providedIn: 'root' }); }
2213
2241
  }
2214
2242
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RefDataService, [{
@@ -2274,7 +2302,7 @@ class SessionStorageService {
2274
2302
  clear() {
2275
2303
  sessionStorage.clear();
2276
2304
  }
2277
- static { this.ɵfac = function SessionStorageService_Factory(t) { return new (t || SessionStorageService)(); }; }
2305
+ static { this.ɵfac = function SessionStorageService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionStorageService)(); }; }
2278
2306
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac, providedIn: 'root' }); }
2279
2307
  }
2280
2308
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
@@ -2358,7 +2386,7 @@ class FindAPersonService {
2358
2386
  searchJudicial(value, serviceId) {
2359
2387
  return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });
2360
2388
  }
2361
- static { this.ɵfac = function FindAPersonService_Factory(t) { return new (t || FindAPersonService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(SessionStorageService)); }; }
2389
+ static { this.ɵfac = function FindAPersonService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindAPersonService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(SessionStorageService)); }; }
2362
2390
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FindAPersonService, factory: FindAPersonService.ɵfac, providedIn: 'root' }); }
2363
2391
  }
2364
2392
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindAPersonService, [{
@@ -2512,7 +2540,7 @@ class FindPersonComponent {
2512
2540
  onInput() {
2513
2541
  this.personFieldChanged.emit();
2514
2542
  }
2515
- static { this.ɵfac = function FindPersonComponent_Factory(t) { return new (t || FindPersonComponent)(i0.ɵɵdirectiveInject(FindAPersonService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
2543
+ static { this.ɵfac = function FindPersonComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindPersonComponent)(i0.ɵɵdirectiveInject(FindAPersonService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
2516
2544
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindPersonComponent, selectors: [["xuilib-find-person"]], inputs: { title: "title", boldTitle: "boldTitle", subTitle: "subTitle", domain: "domain", findPersonGroup: "findPersonGroup", selectedPerson: "selectedPerson", submitted: "submitted", userIncluded: "userIncluded", assignedUser: "assignedUser", placeholderContent: "placeholderContent", isNoResultsShown: "isNoResultsShown", showUpdatedColor: "showUpdatedColor", selectedPersons: "selectedPersons", errorMessage: "errorMessage", idValue: "idValue", services: "services", disabled: "disabled" }, outputs: { personSelected: "personSelected", personFieldChanged: "personFieldChanged" }, decls: 10, vars: 14, consts: [["auto", "matAutocomplete"], ["class", "govuk-heading-l", 4, "ngIf"], [1, "govuk-form-group", 3, "formGroup", "ngClass"], ["aria-describedby", "sub-title-hint", 1, "govuk-fieldset"], ["id", "sub-title-hint", "class", "govuk-hint", 4, "ngIf"], ["id", "validation-error", "class", "govuk-error-message", 4, "ngIf"], ["type", "text", "aria-label", "select a person", "formControlName", "findPersonControl", 1, "govuk-input", "govuk-!-width-one-third", 3, "input", "id", "matAutocomplete", "placeholder"], ["autoActiveFirstOption", "", 3, "optionSelected"], [3, "value", "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngIf"], [1, "govuk-heading-l"], [1, "govuk-caption-l"], ["id", "sub-title-hint", 1, "govuk-hint"], ["id", "validation-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [3, "value", "ngClass"], [3, "ngClass"]], template: function FindPersonComponent_Template(rf, ctx) { if (rf & 1) {
2517
2545
  const _r1 = i0.ɵɵgetCurrentView();
2518
2546
  i0.ɵɵtemplate(0, FindPersonComponent_h1_0_Template, 6, 6, "h1", 1);
@@ -2612,7 +2640,7 @@ class LocationService {
2612
2640
  searchLocations(serviceIds, locationType, searchTerm) {
2613
2641
  return this.http.get(`api/prd/location/getLocations?serviceIds=${serviceIds}&locationType=${locationType}&searchTerm=${searchTerm}`);
2614
2642
  }
2615
- static { this.ɵfac = function LocationService_Factory(t) { return new (t || LocationService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
2643
+ static { this.ɵfac = function LocationService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LocationService)(i0.ɵɵinject(i1$1.HttpClient)); }; }
2616
2644
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LocationService, factory: LocationService.ɵfac, providedIn: 'root' }); }
2617
2645
  }
2618
2646
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LocationService, [{
@@ -2790,7 +2818,7 @@ class SearchLocationComponent {
2790
2818
  }
2791
2819
  return pressed && (/[a-zA-Z \s'-]/).test(pressed);
2792
2820
  }
2793
- static { this.ɵfac = function SearchLocationComponent_Factory(t) { return new (t || SearchLocationComponent)(i0.ɵɵdirectiveInject(LocationService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(RefDataService)); }; }
2821
+ static { this.ɵfac = function SearchLocationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchLocationComponent)(i0.ɵɵdirectiveInject(LocationService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(RefDataService)); }; }
2794
2822
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 7, vars: 6, consts: [["char", ""], ["autoSearchLocation", "matAutocomplete"], [1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "keydown", "input", "formControl", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) { if (rf & 1) {
2795
2823
  const _r1 = i0.ɵɵgetCurrentView();
2796
2824
  i0.ɵɵelementStart(0, "div", 2)(1, "input", 3, 0);
@@ -2997,7 +3025,7 @@ class FindLocationComponent {
2997
3025
  ngOnDestroy() {
2998
3026
  this.formSubmissionEventSubscription?.unsubscribe();
2999
3027
  }
3000
- static { this.ɵfac = function FindLocationComponent_Factory(t) { return new (t || FindLocationComponent)(); }; }
3028
+ static { this.ɵfac = function FindLocationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindLocationComponent)(); }; }
3001
3029
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindLocationComponent, selectors: [["xuilib-find-location"]], viewQuery: function FindLocationComponent_Query(rf, ctx) { if (rf & 1) {
3002
3030
  i0.ɵɵviewQuery(SearchLocationComponent, 7);
3003
3031
  } if (rf & 2) {
@@ -3074,7 +3102,7 @@ class TaskNameService {
3074
3102
  }
3075
3103
  return this.http.post(`/workallocation/taskNames`, { service }).pipe(tap(taskNames => this.sessionStorageService.setItem(serviceTaskTypeKey, JSON.stringify(taskNames))));
3076
3104
  }
3077
- static { this.ɵfac = function TaskNameService_Factory(t) { return new (t || TaskNameService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(SessionStorageService)); }; }
3105
+ static { this.ɵfac = function TaskNameService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TaskNameService)(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(SessionStorageService)); }; }
3078
3106
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TaskNameService, factory: TaskNameService.ɵfac, providedIn: 'root' }); }
3079
3107
  }
3080
3108
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TaskNameService, [{
@@ -3198,7 +3226,7 @@ class FindTaskNameComponent {
3198
3226
  onInput() {
3199
3227
  this.taskNameFieldChanged.emit();
3200
3228
  }
3201
- static { this.ɵfac = function FindTaskNameComponent_Factory(t) { return new (t || FindTaskNameComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(TaskNameService)); }; }
3229
+ static { this.ɵfac = function FindTaskNameComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindTaskNameComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(TaskNameService)); }; }
3202
3230
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindTaskNameComponent, selectors: [["xuilib-find-task-name"]], inputs: { title: "title", boldTitle: "boldTitle", subTitle: "subTitle", domain: "domain", findTaskNameGroup: "findTaskNameGroup", selectedTaskName: "selectedTaskName", submitted: "submitted", assignedUser: "assignedUser", placeholderContent: "placeholderContent", isNoResultsShown: "isNoResultsShown", showUpdatedColor: "showUpdatedColor", selectedTaskNames: "selectedTaskNames", errorMessage: "errorMessage", idValue: "idValue", services: "services", disabled: "disabled" }, outputs: { taskNameSelected: "taskNameSelected", taskNameFieldChanged: "taskNameFieldChanged" }, decls: 10, vars: 14, consts: [["auto", "matAutocomplete"], ["class", "govuk-heading-l", 4, "ngIf"], [1, "govuk-form-group", 3, "formGroup", "ngClass"], ["aria-describedby", "sub-title-hint", 1, "govuk-fieldset"], ["id", "sub-title-hint", "class", "govuk-hint", 4, "ngIf"], ["id", "validation-error", "class", "govuk-error-message", 4, "ngIf"], ["type", "text", "aria-label", "select a task name", "formControlName", "findTaskNameControl", 1, "govuk-input", "govuk-!-width-one-third", 3, "input", "id", "matAutocomplete", "placeholder"], ["autoActiveFirstOption", "", 3, "optionSelected"], [3, "value", "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngIf"], [1, "govuk-heading-l"], [1, "govuk-caption-l"], ["id", "sub-title-hint", 1, "govuk-hint"], ["id", "validation-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [3, "value", "ngClass"], [3, "ngClass"]], template: function FindTaskNameComponent_Template(rf, ctx) { if (rf & 1) {
3203
3231
  const _r1 = i0.ɵɵgetCurrentView();
3204
3232
  i0.ɵɵtemplate(0, FindTaskNameComponent_h1_0_Template, 4, 2, "h1", 1);
@@ -3293,8 +3321,9 @@ function SearchServiceComponent_mat_option_5_Template(rf, ctx) { if (rf & 1) {
3293
3321
  class SearchServiceComponent {
3294
3322
  constructor() {
3295
3323
  this.showAutocomplete = false;
3324
+ this.searchTerm = ''; // Removed ngModel use here for Angular best practice
3325
+ this.searchTermChange = new EventEmitter(); // Emit changes to searchTerm
3296
3326
  this.optionChanged = new EventEmitter();
3297
- this.searchTerm = '';
3298
3327
  this.MIN_SEARCH_CHARACTERS = 3;
3299
3328
  }
3300
3329
  get filteredOptions() {
@@ -3303,8 +3332,16 @@ class SearchServiceComponent {
3303
3332
  remainingServices.filter((s) => s.label.toLowerCase().includes(this.searchTerm.toLowerCase()))
3304
3333
  : remainingServices;
3305
3334
  }
3335
+ // TEST-TODO
3306
3336
  resetSearchTerm() {
3307
3337
  this.searchTerm = '';
3338
+ this.searchTermChange.emit(this.searchTerm); // Emit the reset value
3339
+ }
3340
+ // TEST-TODO
3341
+ // TODO: Confirm this works correctly post Angular 18 upgrade as has been changed
3342
+ onSearchTermChanged(value) {
3343
+ this.searchTerm = value;
3344
+ this.searchTermChange.emit(this.searchTerm); // Emit the updated value
3308
3345
  }
3309
3346
  onSelectionChanged($event) {
3310
3347
  const label = $event.source?.value;
@@ -3313,11 +3350,11 @@ class SearchServiceComponent {
3313
3350
  this.optionChanged.emit(selectedService);
3314
3351
  }
3315
3352
  }
3316
- static { this.ɵfac = function SearchServiceComponent_Factory(t) { return new (t || SearchServiceComponent)(); }; }
3317
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchServiceComponent, selectors: [["exui-search-service"]], inputs: { options: "options", selectedOptions: "selectedOptions", disabled: "disabled", showAutocomplete: "showAutocomplete" }, outputs: { optionChanged: "optionChanged" }, decls: 6, vars: 5, consts: [["autoSearchService", "matAutocomplete"], [1, "auto-complete-container"], ["id", "inputServiceSearch", 1, "govuk-input", 3, "ngModelChange", "ngModel", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], [3, "value", "onSelectionChange", 4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "onSelectionChange", "value"]], template: function SearchServiceComponent_Template(rf, ctx) { if (rf & 1) {
3353
+ static { this.ɵfac = function SearchServiceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchServiceComponent)(); }; }
3354
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchServiceComponent, selectors: [["exui-search-service"]], inputs: { options: "options", selectedOptions: "selectedOptions", disabled: "disabled", showAutocomplete: "showAutocomplete", searchTerm: "searchTerm" }, outputs: { searchTermChange: "searchTermChange", optionChanged: "optionChanged" }, decls: 6, vars: 5, consts: [["autoSearchService", "matAutocomplete"], [1, "auto-complete-container"], ["id", "inputServiceSearch", 1, "govuk-input", 3, "input", "value", "matAutocomplete"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], [3, "value", "onSelectionChange", 4, "ngFor", "ngForOf"], [4, "ngIf"], [3, "onSelectionChange", "value"]], template: function SearchServiceComponent_Template(rf, ctx) { if (rf & 1) {
3318
3355
  const _r1 = i0.ɵɵgetCurrentView();
3319
3356
  i0.ɵɵelementStart(0, "div", 1)(1, "input", 2);
3320
- i0.ɵɵtwoWayListener("ngModelChange", function SearchServiceComponent_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); i0.ɵɵtwoWayBindingSet(ctx.searchTerm, $event) || (ctx.searchTerm = $event); return i0.ɵɵresetView($event); });
3357
+ i0.ɵɵlistener("input", function SearchServiceComponent_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSearchTermChanged($event.target.value)); });
3321
3358
  i0.ɵɵelementEnd();
3322
3359
  i0.ɵɵelementStart(2, "mat-autocomplete", 3, 0);
3323
3360
  i0.ɵɵtemplate(4, SearchServiceComponent_mat_option_4_Template, 2, 2, "mat-option", 4)(5, SearchServiceComponent_mat_option_5_Template, 2, 0, "mat-option", 5);
@@ -3325,18 +3362,17 @@ class SearchServiceComponent {
3325
3362
  } if (rf & 2) {
3326
3363
  const autoSearchService_r5 = i0.ɵɵreference(3);
3327
3364
  i0.ɵɵadvance();
3328
- i0.ɵɵtwoWayProperty("ngModel", ctx.searchTerm);
3329
- i0.ɵɵproperty("matAutocomplete", autoSearchService_r5);
3365
+ i0.ɵɵproperty("value", ctx.searchTerm)("matAutocomplete", autoSearchService_r5);
3330
3366
  i0.ɵɵattribute("disabled", ctx.disabled);
3331
3367
  i0.ɵɵadvance(3);
3332
3368
  i0.ɵɵproperty("ngForOf", ctx.filteredOptions);
3333
3369
  i0.ɵɵadvance();
3334
3370
  i0.ɵɵproperty("ngIf", !(ctx.filteredOptions == null ? null : ctx.filteredOptions.length) && ctx.showAutocomplete);
3335
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2$4.DefaultValueAccessor, i2$4.NgControlStatus, i2$4.NgModel, i4.MatLegacyAutocomplete, i4.MatLegacyAutocompleteTrigger, i5.MatLegacyOption], styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}"] }); }
3371
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i4.MatLegacyAutocomplete, i4.MatLegacyAutocompleteTrigger, i5.MatLegacyOption], styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}"] }); }
3336
3372
  }
3337
3373
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchServiceComponent, [{
3338
3374
  type: Component,
3339
- args: [{ selector: 'exui-search-service', template: "<div class=\"auto-complete-container\">\n <input id=\"inputServiceSearch\"\n class=\"govuk-input\"\n [(ngModel)]=\"searchTerm\"\n [matAutocomplete]=\"autoSearchService\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of filteredOptions\" (onSelectionChange)=\"onSelectionChanged($event)\" [value]=\"service.label\">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf=\"!filteredOptions?.length && showAutocomplete\">\n No results found\n </mat-option>\n </mat-autocomplete>\n</div>\n", 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:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;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{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
3375
+ args: [{ selector: 'exui-search-service', template: "<div class=\"auto-complete-container\">\n <input id=\"inputServiceSearch\"\n class=\"govuk-input\"\n [value]=\"searchTerm\"\n (input)=\"onSearchTermChanged($event.target.value)\"\n [matAutocomplete]=\"autoSearchService\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of filteredOptions\" (onSelectionChange)=\"onSelectionChanged($event)\" [value]=\"service.label\">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf=\"!filteredOptions?.length && showAutocomplete\">\n No results found\n </mat-option>\n </mat-autocomplete>\n</div>\n", 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:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;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{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
3340
3376
  }], null, { options: [{
3341
3377
  type: Input
3342
3378
  }], selectedOptions: [{
@@ -3345,6 +3381,10 @@ class SearchServiceComponent {
3345
3381
  type: Input
3346
3382
  }], showAutocomplete: [{
3347
3383
  type: Input
3384
+ }], searchTerm: [{
3385
+ type: Input
3386
+ }], searchTermChange: [{
3387
+ type: Output
3348
3388
  }], optionChanged: [{
3349
3389
  type: Output
3350
3390
  }] }); })();
@@ -3486,7 +3526,7 @@ class FindServiceComponent {
3486
3526
  ngOnDestroy() {
3487
3527
  this.formSubmissionEventSubscription?.unsubscribe();
3488
3528
  }
3489
- static { this.ɵfac = function FindServiceComponent_Factory(t) { return new (t || FindServiceComponent)(); }; }
3529
+ static { this.ɵfac = function FindServiceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindServiceComponent)(); }; }
3490
3530
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindServiceComponent, selectors: [["xuilib-find-service"]], viewQuery: function FindServiceComponent_Query(rf, ctx) { if (rf & 1) {
3491
3531
  i0.ɵɵviewQuery(SearchServiceComponent, 7);
3492
3532
  } if (rf & 2) {
@@ -3540,7 +3580,7 @@ class CapitalizePipe {
3540
3580
  const lowerCaseString = value.toLowerCase();
3541
3581
  return lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);
3542
3582
  }
3543
- static { this.ɵfac = function CapitalizePipe_Factory(t) { return new (t || CapitalizePipe)(); }; }
3583
+ static { this.ɵfac = function CapitalizePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CapitalizePipe)(); }; }
3544
3584
  static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "capitalize", type: CapitalizePipe, pure: true }); }
3545
3585
  }
3546
3586
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CapitalizePipe, [{
@@ -4086,9 +4126,10 @@ function GenericFilterComponent_button_8_Template(rf, ctx) { if (rf & 1) {
4086
4126
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r2.config.cancelButtonText || "Cancel"));
4087
4127
  } }
4088
4128
  class GenericFilterComponent {
4089
- constructor(filterService, fb) {
4129
+ constructor(filterService, fb, cdr) {
4090
4130
  this.filterService = filterService;
4091
4131
  this.fb = fb;
4132
+ this.cdr = cdr;
4092
4133
  this.submitted = false;
4093
4134
  this.previousSelectedNestedCheckbox = [];
4094
4135
  this.formSubmissionEvent$ = new Subject();
@@ -4150,6 +4191,8 @@ class GenericFilterComponent {
4150
4191
  this.initValuesFromCacheForSkillsByServices();
4151
4192
  }
4152
4193
  }
4194
+ // Note: the usage of this is ensure host binding updates (for Angular 18 usage of OnPush)
4195
+ this.cdr.markForCheck();
4153
4196
  }
4154
4197
  ngOnDestroy() {
4155
4198
  this.filterService.givenErrors.next(null);
@@ -4235,6 +4278,7 @@ class GenericFilterComponent {
4235
4278
  idamId: this.filterService.getUserId(),
4236
4279
  fields: this.getSelectedValues(form.value, this.config)
4237
4280
  };
4281
+ this.cdr.markForCheck();
4238
4282
  this.filterService.givenErrors.next(null);
4239
4283
  const settings = { ...this.settings, reset: false };
4240
4284
  this.filterService.persist(settings, this.config.persistence);
@@ -4254,6 +4298,7 @@ class GenericFilterComponent {
4254
4298
  this.resetField(resetField, form);
4255
4299
  }
4256
4300
  }
4301
+ this.cdr.markForCheck();
4257
4302
  }
4258
4303
  // when user enters input change radio button
4259
4304
  inputChanged(field) {
@@ -4280,6 +4325,7 @@ class GenericFilterComponent {
4280
4325
  else {
4281
4326
  this.isServiceSelected = true;
4282
4327
  }
4328
+ this.cdr.markForCheck();
4283
4329
  }
4284
4330
  }
4285
4331
  cancelFilter() {
@@ -4291,6 +4337,7 @@ class GenericFilterComponent {
4291
4337
  this.filterService.persist(settings, this.config.persistence);
4292
4338
  this.filterService.givenErrors.next(null);
4293
4339
  this.submitted = false;
4340
+ this.cdr.markForCheck();
4294
4341
  if (this.config.cancelButtonCallback) {
4295
4342
  this.config.cancelButtonCallback();
4296
4343
  }
@@ -4389,6 +4436,7 @@ class GenericFilterComponent {
4389
4436
  }
4390
4437
  }
4391
4438
  }
4439
+ this.cdr.markForCheck();
4392
4440
  }
4393
4441
  startFilterSkillsByServices(form, field) {
4394
4442
  const servicesArray = [];
@@ -4589,6 +4637,7 @@ class GenericFilterComponent {
4589
4637
  this.form.get('user-skills').setValue(cachedValues);
4590
4638
  }
4591
4639
  }
4640
+ this.cdr.markForCheck();
4592
4641
  }
4593
4642
  filterSkillsByServices(services, config) {
4594
4643
  this.filteredSkillsByServices = [];
@@ -4681,6 +4730,7 @@ class GenericFilterComponent {
4681
4730
  }
4682
4731
  return this.filteredSkillsByServicesCheckbox;
4683
4732
  }
4733
+ this.cdr.markForCheck();
4684
4734
  }
4685
4735
  this.filteredSkillsByServices = this.sortGroupOptions(this.filteredSkillsByServices);
4686
4736
  return this.filteredSkillsByServices;
@@ -4713,7 +4763,7 @@ class GenericFilterComponent {
4713
4763
  });
4714
4764
  return sortedResults;
4715
4765
  }
4716
- static { this.ɵfac = function GenericFilterComponent_Factory(t) { return new (t || GenericFilterComponent)(i0.ɵɵdirectiveInject(FilterService), i0.ɵɵdirectiveInject(i2$4.FormBuilder)); }; }
4766
+ static { this.ɵfac = function GenericFilterComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GenericFilterComponent)(i0.ɵɵdirectiveInject(FilterService), i0.ɵɵdirectiveInject(i2$4.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
4717
4767
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GenericFilterComponent, selectors: [["xuilib-generic-filter"]], inputs: { config: "config", settings: "settings" }, decls: 9, vars: 7, consts: [[3, "ngSubmit", "formGroup"], ["class", "contain-classes", 4, "ngFor", "ngForOf"], [1, "govuk-section-break", "govuk-section-break--m", "govuk-section-break--visible"], [1, "govuk-grid-row"], [1, "govuk-grid-column-full"], ["type", "submit", "id", "applyFilter", 1, "govuk-button", "govuk-!-margin-right-1", "govuk-!-margin-bottom-0", 3, "disabled"], ["class", "govuk-button govuk-button--secondary govuk-!-margin-bottom-0", "type", "button", "id", "cancelFilter", 3, "click", 4, "ngIf"], [1, "contain-classes"], ["class", "govuk-section-break govuk-section-break--visible elevated-break", 4, "ngIf"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "govuk-section-break", "govuk-section-break--visible", "elevated-break"], [1, "govuk-form-group", "xui-generic-filter", 3, "hidden", "id", "ngClass"], ["class", "xui-generic-filter__field-title", 4, "ngIf"], ["class", "govuk-body", 4, "ngIf"], ["class", "govuk-hint", 3, "id", 4, "ngIf"], ["class", "govuk-error-message", 3, "id", 4, "ngIf"], [1, "govuk-body", 3, "ngSwitch"], [1, "xui-generic-filter__field-title"], [2, "margin-bottom", "0!important"], ["class", "govuk-!-margin-left-2", 4, "ngIf"], [1, "govuk-!-margin-left-2"], [1, "govuk-body"], [1, "govuk-hint", 3, "id"], [1, "govuk-error-message", 3, "id"], [1, "govuk-visually-hidden"], [1, "govuk-select", 3, "change", "name", "id", "formControlName"], ["disabled", "", "selected", "", "hidden", "", "value", ""], [3, "value", 4, "ngIf"], ["class", "govuk-radios__item", 3, "value", 4, "ngFor", "ngForOf"], [3, "value"], [1, "govuk-radios__item", 3, "value"], ["selected", "", 3, "value", 4, "ngIf"], [3, "label", 4, "ngFor", "ngForOf"], ["selected", "", 3, "value"], [3, "label"], [3, "value", 4, "ngFor", "ngForOf"], [1, "govuk-checkboxes", "govuk-checkboxes--small", 3, "formGroupName", "id"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "formControlName", "value", "id", "name"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for", "ngClass"], [1, "govuk-checkboxes", 3, "formGroupName", "id"], [1, "govuk-radios"], ["class", "govuk-radios__item", 4, "ngFor", "ngForOf"], [1, "govuk-radios__item"], ["type", "radio", 1, "govuk-radios__input", 3, "change", "formControlName", "id", "checked", "value"], [1, "govuk-label", "govuk-radios__label", 3, "for"], ["subTitle", "", 3, "personSelected", "personFieldChanged", "submitted", "disabled", "domain", "findPersonGroup", "selectedPerson", "userIncluded", "placeholderContent", "services"], [3, "locationFieldChanged", "form", "fields", "locationTitle", "enableAddLocationButton", "disabled", "disableInputField", "submitted", "field", "services", "formSubmissionEvent$"], ["subTitle", "", 3, "taskNameSelected", "taskNameFieldChanged", "submitted", "disabled", "domain", "findTaskNameGroup", "selectedTaskName", "placeholderContent", "services"], ["class", "govuk-error-message", 4, "ngIf"], [3, "serviceFieldChanged", "field", "form", "formSubmissionEvent$", "disabled"], [1, "govuk-error-message"], ["type", "text", 1, "govuk-input", 3, "change", "formControlName", "id", "readonly"], ["type", "email", 1, "govuk-input", 3, "change", "formControlName", "id", "readonly"], ["type", "button", "id", "cancelFilter", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-bottom-0", 3, "click"]], template: function GenericFilterComponent_Template(rf, ctx) { if (rf & 1) {
4718
4768
  i0.ɵɵelementStart(0, "form", 0);
4719
4769
  i0.ɵɵlistener("ngSubmit", function GenericFilterComponent_Template_form_ngSubmit_0_listener() { return ctx.applyFilter(ctx.form); });
@@ -4740,7 +4790,7 @@ class GenericFilterComponent {
4740
4790
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GenericFilterComponent, [{
4741
4791
  type: Component,
4742
4792
  args: [{ selector: 'xuilib-generic-filter', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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 <span class=\"govuk-error-message\" *ngIf=\"isServiceSelected\">{{serviceErrorMsg | rpxTranslate}}</span>\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", 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%}\n"] }]
4743
- }], () => [{ type: FilterService }, { type: i2$4.FormBuilder }], { config: [{
4793
+ }], () => [{ type: FilterService }, { type: i2$4.FormBuilder }, { type: i0.ChangeDetectorRef }], { config: [{
4744
4794
  type: Input
4745
4795
  }], settings: [{
4746
4796
  type: Input
@@ -4761,7 +4811,7 @@ class HmctsSessionDialogComponent {
4761
4811
  onClose() {
4762
4812
  this.close.emit();
4763
4813
  }
4764
- static { this.ɵfac = function HmctsSessionDialogComponent_Factory(t) { return new (t || HmctsSessionDialogComponent)(); }; }
4814
+ static { this.ɵfac = function HmctsSessionDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsSessionDialogComponent)(); }; }
4765
4815
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsSessionDialogComponent, selectors: [["xuilib-session-dialog"]], inputs: { positionTop: "positionTop" }, outputs: { close: "close" }, ngContentSelectors: _c0$k, decls: 15, vars: 6, consts: [["data-module", "modal-dialogue", "id", "modal-default", 1, "gem-c-modal-dialogue", 2, "display", "block"], [1, "gem-c-modal-dialogue__overlay"], ["aria-modal", "true", "role", "dialog", "tabindex", "0", 1, "gem-c-modal-dialogue__box", 3, "ngStyle"], [1, "gem-c-modal-dialogue__header"], ["role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 38 38", "height", "33", "width", "33"], ["type", "text/css"], ["id", "_4_-_granular_components_warning_icon", "transform", "translate(0.5 0.5)"], ["id", "Warning_icon", "transform", "translate(0)"], ["id", "Exclusion_1", "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", 1, "st0"], [1, "gem-c-modal-dialogue__title"], [1, "gem-c-modal-dialogue__content"]], template: function HmctsSessionDialogComponent_Template(rf, ctx) { if (rf & 1) {
4766
4816
  i0.ɵɵprojectionDef();
4767
4817
  i0.ɵɵelementStart(0, "div", 0);
@@ -4863,7 +4913,7 @@ function GovUkLabelComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
4863
4913
  * */
4864
4914
  class GovUkLabelComponent {
4865
4915
  constructor() { }
4866
- static { this.ɵfac = function GovUkLabelComponent_Factory(t) { return new (t || GovUkLabelComponent)(); }; }
4916
+ static { this.ɵfac = function GovUkLabelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkLabelComponent)(); }; }
4867
4917
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkLabelComponent, selectors: [["xuilib-gov-label"]], inputs: { config: "config" }, decls: 3, vars: 2, consts: [["noHeading", ""], [4, "ngIf", "ngIfElse"], [3, "for", "class", 4, "ngIf"], [3, "for"], ["class", "govuk-label__optional", 4, "ngIf"], [1, "govuk-label__optional"]], template: function GovUkLabelComponent_Template(rf, ctx) { if (rf & 1) {
4868
4918
  i0.ɵɵtemplate(0, GovUkLabelComponent_h1_0_Template, 2, 1, "h1", 1)(1, GovUkLabelComponent_ng_template_1_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
4869
4919
  } if (rf & 2) {
@@ -4897,7 +4947,7 @@ class RemoveHostDirective {
4897
4947
  }
4898
4948
  parentElement.removeChild(nativeElement);
4899
4949
  }
4900
- static { this.ɵfac = function RemoveHostDirective_Factory(t) { return new (t || RemoveHostDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
4950
+ static { this.ɵfac = function RemoveHostDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RemoveHostDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
4901
4951
  static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: RemoveHostDirective, selectors: [["", "appRemoveHost", ""]] }); }
4902
4952
  }
4903
4953
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoveHostDirective, [{
@@ -4922,7 +4972,7 @@ class GovUkCheckboxComponent {
4922
4972
  this.config.classes = this.config.classes ?
4923
4973
  this.config.classes.concat(' govuk-checkboxes__label') : 'govuk-checkboxes__label';
4924
4974
  }
4925
- static { this.ɵfac = function GovUkCheckboxComponent_Factory(t) { return new (t || GovUkCheckboxComponent)(); }; }
4975
+ static { this.ɵfac = function GovUkCheckboxComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkCheckboxComponent)(); }; }
4926
4976
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkCheckboxComponent, selectors: [["xuilib-gov-checkbox"]], inputs: { group: "group", config: "config", isChecked: "isChecked" }, decls: 6, vars: 11, consts: [[1, "govuk-checkboxes__item", 3, "formGroup"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "id", "name", "formControlName", "checked"], ["appRemoveHost", "", 3, "config"], [1, "govuk-hint", "govuk-checkboxes__hint", 3, "id"]], template: function GovUkCheckboxComponent_Template(rf, ctx) { if (rf & 1) {
4927
4977
  i0.ɵɵelementStart(0, "div", 0);
4928
4978
  i0.ɵɵelement(1, "input", 1)(2, "xuilib-gov-label", 2);
@@ -4980,7 +5030,7 @@ function GovUkErrorMessageComponent_span_0_Template(rf, ctx) { if (rf & 1) {
4980
5030
  * */
4981
5031
  class GovUkErrorMessageComponent {
4982
5032
  constructor() { }
4983
- static { this.ɵfac = function GovUkErrorMessageComponent_Factory(t) { return new (t || GovUkErrorMessageComponent)(); }; }
5033
+ static { this.ɵfac = function GovUkErrorMessageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkErrorMessageComponent)(); }; }
4984
5034
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkErrorMessageComponent, selectors: [["xuilib-gov-uk-error-message"]], inputs: { config: "config", errorMessage: "errorMessage" }, decls: 1, vars: 1, consts: [["class", "govuk-error-message", 3, "id", 4, "ngFor", "ngForOf"], [1, "govuk-error-message", 3, "id"], [1, "govuk-visually-hidden"]], template: function GovUkErrorMessageComponent_Template(rf, ctx) { if (rf & 1) {
4985
5035
  i0.ɵɵtemplate(0, GovUkErrorMessageComponent_span_0_Template, 6, 7, "span", 0);
4986
5036
  } if (rf & 2) {
@@ -5066,7 +5116,7 @@ class GovUkFieldsetComponent {
5066
5116
  setDescribedBy() {
5067
5117
  return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
5068
5118
  }
5069
- static { this.ɵfac = function GovUkFieldsetComponent_Factory(t) { return new (t || GovUkFieldsetComponent)(); }; }
5119
+ static { this.ɵfac = function GovUkFieldsetComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkFieldsetComponent)(); }; }
5070
5120
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkFieldsetComponent, selectors: [["xuilib-gov-uk-fieldset"]], inputs: { config: "config", errorMessage: "errorMessage" }, ngContentSelectors: _c0$j, decls: 5, vars: 4, consts: [[1, "govuk-fieldset"], [3, "class", 4, "ngIf"], ["class", "govuk-hint", 3, "id", 4, "ngIf"], [1, "govuk-hint", 3, "id"]], template: function GovUkFieldsetComponent_Template(rf, ctx) { if (rf & 1) {
5071
5121
  i0.ɵɵprojectionDef();
5072
5122
  i0.ɵɵelementStart(0, "fieldset", 0);
@@ -5105,7 +5155,7 @@ const _c3$2 = a0 => ({ id: a0 });
5105
5155
  * */
5106
5156
  class GovUkFormGroupWrapperComponent {
5107
5157
  constructor() { }
5108
- static { this.ɵfac = function GovUkFormGroupWrapperComponent_Factory(t) { return new (t || GovUkFormGroupWrapperComponent)(); }; }
5158
+ static { this.ɵfac = function GovUkFormGroupWrapperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkFormGroupWrapperComponent)(); }; }
5109
5159
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkFormGroupWrapperComponent, selectors: [["xuilib-gov-uk-form-group-wrapper"]], inputs: { error: "error", group: "group", config: "config" }, ngContentSelectors: _c0$i, decls: 4, vars: 15, consts: [[1, "govuk-form-group", 3, "ngClass"], [3, "config", "errorMessage"]], template: function GovUkFormGroupWrapperComponent_Template(rf, ctx) { if (rf & 1) {
5110
5160
  i0.ɵɵprojectionDef();
5111
5161
  i0.ɵɵelementStart(0, "div", 0)(1, "xuilib-gov-uk-fieldset", 1);
@@ -5144,7 +5194,7 @@ class InviteUserPermissionComponent {
5144
5194
  this.isPuiOrganisationManager = false;
5145
5195
  this.isPuiFinanceManager = false;
5146
5196
  }
5147
- static { this.ɵfac = function InviteUserPermissionComponent_Factory(t) { return new (t || InviteUserPermissionComponent)(); }; }
5197
+ static { this.ɵfac = function InviteUserPermissionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InviteUserPermissionComponent)(); }; }
5148
5198
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InviteUserPermissionComponent, selectors: [["xuilib-invite-permission-form"]], inputs: { inviteUserForm: "inviteUserForm", isPuiCaseManager: "isPuiCaseManager", isPuiUserManager: "isPuiUserManager", isPuiOrganisationManager: "isPuiOrganisationManager", isPuiFinanceManager: "isPuiFinanceManager", errorMessages: "errorMessages" }, decls: 6, vars: 17, consts: [[3, "formGroup"], [3, "config", "formGroupName", "error"], [1, "govuk-checkboxes"], [3, "group", "isChecked", "config"]], template: function InviteUserPermissionComponent_Template(rf, ctx) { if (rf & 1) {
5149
5199
  i0.ɵɵelementContainerStart(0, 0);
5150
5200
  i0.ɵɵelementStart(1, "xuilib-gov-uk-form-group-wrapper", 1)(2, "div", 2);
@@ -5210,7 +5260,7 @@ class GovUkInputComponent {
5210
5260
  setDescribedBy() {
5211
5261
  return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
5212
5262
  }
5213
- static { this.ɵfac = function GovUkInputComponent_Factory(t) { return new (t || GovUkInputComponent)(); }; }
5263
+ static { this.ɵfac = function GovUkInputComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkInputComponent)(); }; }
5214
5264
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkInputComponent, selectors: [["xuilib-gov-uk-input"]], inputs: { errorMessage: "errorMessage", group: "group", config: "config" }, decls: 5, vars: 19, consts: [[1, "govuk-form-group", "gov-uk-input", 3, "formGroup", "ngClass"], [3, "config"], ["class", "govuk-hint", 3, "id", 4, "ngIf"], [3, "config", "errorMessage"], [1, "govuk-input", 3, "ngClass", "id", "name", "type", "formControlName"], [1, "govuk-hint", 3, "id"]], template: function GovUkInputComponent_Template(rf, ctx) { if (rf & 1) {
5215
5265
  i0.ɵɵelementStart(0, "div", 0);
5216
5266
  i0.ɵɵelement(1, "xuilib-gov-label", 1);
@@ -5256,7 +5306,7 @@ class InviteUserFormComponent {
5256
5306
  onSubmit() {
5257
5307
  this.submitForm.emit();
5258
5308
  }
5259
- static { this.ɵfac = function InviteUserFormComponent_Factory(t) { return new (t || InviteUserFormComponent)(); }; }
5309
+ static { this.ɵfac = function InviteUserFormComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || InviteUserFormComponent)(); }; }
5260
5310
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: InviteUserFormComponent, selectors: [["xuilib-invite-user-form"]], inputs: { inviteUserForm: "inviteUserForm", errorMessages: "errorMessages" }, outputs: { submitForm: "submitForm" }, decls: 7, vars: 15, consts: [[3, "ngSubmit", "formGroup"], [3, "config", "errorMessage", "group"], [3, "inviteUserForm", "errorMessages"], ["type", "submit", 1, "govuk-button"]], template: function InviteUserFormComponent_Template(rf, ctx) { if (rf & 1) {
5261
5311
  i0.ɵɵelementStart(0, "form", 0);
5262
5312
  i0.ɵɵlistener("ngSubmit", function InviteUserFormComponent_Template_form_ngSubmit_0_listener() { return ctx.onSubmit(); });
@@ -5297,7 +5347,7 @@ class LoadingSpinnerComponent {
5297
5347
  ngAfterContentChecked() {
5298
5348
  this.ref.detectChanges();
5299
5349
  }
5300
- static { this.ɵfac = function LoadingSpinnerComponent_Factory(t) { return new (t || LoadingSpinnerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
5350
+ static { this.ɵfac = function LoadingSpinnerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoadingSpinnerComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
5301
5351
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoadingSpinnerComponent, selectors: [["xuilib-loading-spinner"]], inputs: { loadingText: "loadingText" }, decls: 6, vars: 3, consts: [[1, "spinner-container"], [1, "spinner-inner-container"], [1, "spinner", 2, "margin", "auto"]], template: function LoadingSpinnerComponent_Template(rf, ctx) { if (rf & 1) {
5302
5352
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "p");
5303
5353
  i0.ɵɵtext(3);
@@ -5474,7 +5524,7 @@ class CaseSharingStateService {
5474
5524
  }
5475
5525
  return false;
5476
5526
  }
5477
- static { this.ɵfac = function CaseSharingStateService_Factory(t) { return new (t || CaseSharingStateService)(); }; }
5527
+ static { this.ɵfac = function CaseSharingStateService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseSharingStateService)(); }; }
5478
5528
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CaseSharingStateService, factory: CaseSharingStateService.ɵfac, providedIn: 'root' }); }
5479
5529
  }
5480
5530
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseSharingStateService, [{
@@ -5595,7 +5645,7 @@ class SelectedCaseConfirmComponent {
5595
5645
  }
5596
5646
  return this.sharedCase.pendingUnshares && this.sharedCase.pendingUnshares.length > 0;
5597
5647
  }
5598
- static { this.ɵfac = function SelectedCaseConfirmComponent_Factory(t) { return new (t || SelectedCaseConfirmComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
5648
+ static { this.ɵfac = function SelectedCaseConfirmComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseConfirmComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
5599
5649
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseConfirmComponent, selectors: [["xuilib-selected-case-confirm"]], inputs: { sharedCase: "sharedCase", changeLink: "changeLink" }, decls: 1, vars: 1, consts: [[3, "id", 4, "ngIf"], [3, "id"], [1, "govuk-heading-m", "case-share-confirm__title"], [1, "case-share-confirm__caption-area"], [1, "govuk-caption-m", "case-share-confirm__caption"], [1, "case-share-confirm__change-link", "govuk-link", "govuk-!-font-size-19", 3, "routerLink"], [1, "govuk-visually-hidden"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell"], [1, "hmcts-badge"], [1, "hmcts-badge", "hmcts-badge--red"]], template: function SelectedCaseConfirmComponent_Template(rf, ctx) { if (rf & 1) {
5600
5650
  i0.ɵɵtemplate(0, SelectedCaseConfirmComponent_div_0_Template, 27, 24, "div", 0);
5601
5651
  } if (rf & 2) {
@@ -5919,7 +5969,7 @@ class SelectedCaseComponent {
5919
5969
  buildElementId(elementName) {
5920
5970
  return `${elementName}-${this.sharedCase.caseId}`;
5921
5971
  }
5922
- static { this.ɵfac = function SelectedCaseComponent_Factory(t) { return new (t || SelectedCaseComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
5972
+ static { this.ɵfac = function SelectedCaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
5923
5973
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseComponent, selectors: [["xuilib-selected-case"]], inputs: { sharedCase: "sharedCase", selectedUser: "selectedUser", opened: "opened", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", caseCount: "caseCount" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, features: [i0.ɵɵNgOnChangesFeature], decls: 20, vars: 20, consts: [[1, "govuk-accordion__section", 3, "id"], [1, "govuk-grid-row", "govuk-case-header"], [1, "govuk-grid-column-three-quarters"], [1, "govuk-case-title", 3, "id"], [1, "govuk-case-sub-title", 3, "id"], [1, "govuk-grid-column-ten-percent"], ["class", "govuk-button hmcts-button--secondary", "title", "Deselect case", 3, "id", "click", 4, "ngIf"], [1, "govuk-accordion__section-header", "govuk-grid-column-ten-percent"], [1, "govuk-accordion__section-heading"], ["type", "button", "aria-expanded", "false", 1, "govuk-accordion__section-button", 3, "id", "title"], ["aria-hidden", "true", 1, "govuk-accordion__icon"], [1, "govuk-accordion__section-content", 3, "id"], ["class", "govuk-grid-row", 4, "ngIf"], ["class", "govuk-table", 4, "ngIf"], ["title", "Deselect case", 1, "govuk-button", "hmcts-button--secondary", 3, "click", "id"], [1, "govuk-grid-row"], [1, "govuk-div-align-left", 3, "id"], [1, "govuk-table"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-header", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-actions", 3, "id"], ["scope", "col", 1, "govuk-table__header", "govuk-table-column-label", 3, "id"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "govuk-table__cell", 3, "id"], [1, "govuk-table__cell"], ["href", "javascript:void(0);", 3, "click", 4, "ngIf"], ["class", "hmcts-badge hmcts-badge--red", 4, "ngIf"], ["class", "hmcts-badge", 4, "ngIf"], ["href", "javascript:void(0);", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-badge", "hmcts-badge--red"], [1, "hmcts-badge"]], template: function SelectedCaseComponent_Template(rf, ctx) { if (rf & 1) {
5924
5974
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "h3", 3);
5925
5975
  i0.ɵɵtext(4);
@@ -6049,7 +6099,7 @@ class SelectedCaseListComponent {
6049
6099
  trackByCaseId(sharedCase) {
6050
6100
  return sharedCase.caseId;
6051
6101
  }
6052
- static { this.ɵfac = function SelectedCaseListComponent_Factory(t) { return new (t || SelectedCaseListComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
6102
+ static { this.ɵfac = function SelectedCaseListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseListComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
6053
6103
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseListComponent, selectors: [["xuilib-selected-case-list"]], inputs: { shareCases$: "shareCases$", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", toConfirm: "toConfirm", changeLink: "changeLink" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "sharedCase", "caseCount", "removeUserFromCaseToggleOn", "unselect", "synchronizeStore", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "unselect", "synchronizeStore", "sharedCase", "caseCount", "removeUserFromCaseToggleOn"], [3, "sharedCase", "changeLink", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "sharedCase", "changeLink"]], template: function SelectedCaseListComponent_Template(rf, ctx) { if (rf & 1) {
6054
6104
  i0.ɵɵtemplate(0, SelectedCaseListComponent_ng_container_0_Template, 3, 4, "ng-container", 0)(1, SelectedCaseListComponent_ng_container_1_Template, 3, 4, "ng-container", 0);
6055
6105
  } if (rf & 2) {
@@ -6089,7 +6139,7 @@ class ServiceMessageComponent {
6089
6139
  onHideMessageEvent(key) {
6090
6140
  this.hideMessage.emit(key);
6091
6141
  }
6092
- static { this.ɵfac = function ServiceMessageComponent_Factory(t) { return new (t || ServiceMessageComponent)(); }; }
6142
+ static { this.ɵfac = function ServiceMessageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ServiceMessageComponent)(); }; }
6093
6143
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessageComponent, selectors: [["xuilib-service-message"]], inputs: { message_en: "message_en", message_cy: "message_cy", key: "key" }, outputs: { hideMessage: "hideMessage" }, decls: 12, vars: 8, consts: [[1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "img", "aria-label", "hmcts-warning-icon", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["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"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s", 3, "innerHTML"], ["class", "govuk-heading-s", 3, "innerHTML", 4, "ngIf"], ["tabindex", "0", 1, "govuk-link--no-visited-state", 3, "click", "keyup.enter", "routerLink"]], template: function ServiceMessageComponent_Template(rf, ctx) { if (rf & 1) {
6094
6144
  i0.ɵɵelementStart(0, "div", 0);
6095
6145
  i0.ɵɵnamespaceSVG();
@@ -6270,7 +6320,7 @@ class ServiceMessagesComponent {
6270
6320
  const cookie = cookies.find((row) => row.startsWith(name + '='));
6271
6321
  return cookie ? JSON.parse(decodeURIComponent(cookie.split('=')[1])) : [];
6272
6322
  }
6273
- static { this.ɵfac = function ServiceMessagesComponent_Factory(t) { return new (t || ServiceMessagesComponent)(i0.ɵɵdirectiveInject(FeatureToggleService)); }; }
6323
+ static { this.ɵfac = function ServiceMessagesComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ServiceMessagesComponent)(i0.ɵɵdirectiveInject(FeatureToggleService)); }; }
6274
6324
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessagesComponent, selectors: [["xuilib-service-messages"]], inputs: { userRoles: "userRoles", featureToggleKey: "featureToggleKey", serviceMessageCookie: "serviceMessageCookie" }, decls: 2, vars: 2, consts: [["class", "govuk-width-container govuk-!-margin-top-6", 4, "ngIf"], [1, "govuk-width-container", "govuk-!-margin-top-6"], ["class", "hmcts-banner hmcts-banner--warning", 4, "ngFor", "ngForOf"], [1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["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"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s"], [3, "innerHTML"], [3, "key", "message_en", "message_cy", "hideMessage", 4, "ngFor", "ngForOf"], [3, "hideMessage", "key", "message_en", "message_cy"]], template: function ServiceMessagesComponent_Template(rf, ctx) { if (rf & 1) {
6275
6325
  i0.ɵɵtemplate(0, ServiceMessagesComponent_div_0_Template, 2, 1, "div", 0)(1, ServiceMessagesComponent_div_1_Template, 2, 1, "div", 0);
6276
6326
  } if (rf & 2) {
@@ -6335,7 +6385,7 @@ class ShareCaseConfirmComponent {
6335
6385
  });
6336
6386
  this.shareCases$ = this.stateService.state;
6337
6387
  }
6338
- static { this.ɵfac = function ShareCaseConfirmComponent_Factory(t) { return new (t || ShareCaseConfirmComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
6388
+ static { this.ɵfac = function ShareCaseConfirmComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShareCaseConfirmComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService)); }; }
6339
6389
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareCaseConfirmComponent, selectors: [["xuilib-share-case-confirm"]], inputs: { shareCases$: "shareCases$", changeLink: "changeLink", completeLink: "completeLink" }, decls: 7, vars: 6, consts: [["id", "casesToConfirm"], [1, "govuk-heading-l"], ["id", "summarySections", 4, "ngIf"], ["id", "noCaseDisplay", "class", "govuk-hint", 4, "ngIf"], ["id", "share-case-nav", 4, "ngIf"], ["id", "summarySections"], [3, "shareCases$", "toConfirm", "changeLink"], ["id", "noCaseDisplay", 1, "govuk-hint"], ["id", "share-case-nav"], ["title", "Confirm", 1, "govuk-button", 3, "routerLink"]], template: function ShareCaseConfirmComponent_Template(rf, ctx) { if (rf & 1) {
6340
6390
  i0.ɵɵelementStart(0, "div", 0)(1, "h3", 1);
6341
6391
  i0.ɵɵtext(2);
@@ -6386,7 +6436,14 @@ class UserSelectComponent {
6386
6436
  }
6387
6437
  ngOnInit() {
6388
6438
  this.filteredUsers = this.control.valueChanges.pipe(map(value => typeof value === typeof 'string' ? this.filterUsers(value) : this.users));
6389
- this.selected.emit(null);
6439
+ // TEST-TODO
6440
+ // these are changes made per ngModel 18 upgrade and may not be correct
6441
+ // TODO: Confirm changes are correctly picked up post Angular 18 upgrade
6442
+ this.control.valueChanges.subscribe(newUserValue => {
6443
+ if (!newUserValue || !newUserValue.email) {
6444
+ this.selected.emit(null);
6445
+ }
6446
+ });
6390
6447
  }
6391
6448
  displayValue(user) {
6392
6449
  return user ? `${user.firstName} ${user.lastName} - ${user.email}` : '';
@@ -6397,11 +6454,6 @@ class UserSelectComponent {
6397
6454
  clear() {
6398
6455
  this.control.setValue(null);
6399
6456
  }
6400
- onUserChange(newUserValue) {
6401
- if (!newUserValue || !newUserValue.email) {
6402
- this.selected.emit(null);
6403
- }
6404
- }
6405
6457
  filterUsers(value) {
6406
6458
  if (value) {
6407
6459
  value = value.toLowerCase();
@@ -6420,13 +6472,11 @@ class UserSelectComponent {
6420
6472
  }
6421
6473
  return [];
6422
6474
  }
6423
- static { this.ɵfac = function UserSelectComponent_Factory(t) { return new (t || UserSelectComponent)(); }; }
6424
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserSelectComponent, selectors: [["xuilib-user-select"]], inputs: { users: "users" }, outputs: { selected: "selected" }, decls: 6, vars: 9, consts: [["dropdown", "matAutocomplete"], ["type", "text", 1, "govuk-input", 3, "ngModelChange", "matAutocomplete", "formControl"], ["autoActiveFirstOption", "", 3, "optionSelected", "displayWith"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]], template: function UserSelectComponent_Template(rf, ctx) { if (rf & 1) {
6475
+ static { this.ɵfac = function UserSelectComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserSelectComponent)(); }; }
6476
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserSelectComponent, selectors: [["xuilib-user-select"]], inputs: { users: "users" }, outputs: { selected: "selected" }, decls: 6, vars: 9, consts: [["dropdown", "matAutocomplete"], ["type", "text", 1, "govuk-input", 3, "matAutocomplete", "formControl"], ["autoActiveFirstOption", "", 3, "optionSelected", "displayWith"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]], template: function UserSelectComponent_Template(rf, ctx) { if (rf & 1) {
6425
6477
  const _r1 = i0.ɵɵgetCurrentView();
6426
- i0.ɵɵelementStart(0, "input", 1);
6478
+ i0.ɵɵelement(0, "input", 1);
6427
6479
  i0.ɵɵpipe(1, "rpxTranslate");
6428
- i0.ɵɵlistener("ngModelChange", function UserSelectComponent_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onUserChange($event)); });
6429
- i0.ɵɵelementEnd();
6430
6480
  i0.ɵɵelementStart(2, "mat-autocomplete", 2, 0);
6431
6481
  i0.ɵɵlistener("optionSelected", function UserSelectComponent_Template_mat_autocomplete_optionSelected_2_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onSelected($event)); });
6432
6482
  i0.ɵɵtemplate(4, UserSelectComponent_mat_option_4_Template, 4, 8, "mat-option", 3);
@@ -6444,7 +6494,7 @@ class UserSelectComponent {
6444
6494
  }
6445
6495
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserSelectComponent, [{
6446
6496
  type: Component,
6447
- args: [{ selector: 'xuilib-user-select', 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" }]
6497
+ args: [{ selector: 'xuilib-user-select', template: "<input class=\"govuk-input\" type=\"text\" [matAutocomplete]=\"dropdown\" [formControl]=\"control\"\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" }]
6448
6498
  }], () => [], { users: [{
6449
6499
  type: Input
6450
6500
  }], selected: [{
@@ -6562,7 +6612,7 @@ class HmctsErrorSummaryComponent {
6562
6612
  hasElement(selector) {
6563
6613
  return this.document.querySelector(`#${selector}`);
6564
6614
  }
6565
- static { this.ɵfac = function HmctsErrorSummaryComponent_Factory(t) { return new (t || HmctsErrorSummaryComponent)(i0.ɵɵdirectiveInject(DOCUMENT)); }; }
6615
+ static { this.ɵfac = function HmctsErrorSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsErrorSummaryComponent)(i0.ɵɵdirectiveInject(DOCUMENT)); }; }
6566
6616
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsErrorSummaryComponent, selectors: [["xuilib-hmcts-error-summary"]], inputs: { errorMessages: "errorMessages", header: "header", showWarningMessage: "showWarningMessage" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [["id", "errorSummary", "class", "govuk-error-summary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 4, "ngIf"], ["class", "hmcts-banner hmcts-banner--warning", 4, "ngIf"], ["id", "errorSummary", "aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], [3, "routerLink", "fragment", "click", 4, "ngIf"], [4, "ngIf"], [3, "click", "routerLink", "fragment"], [1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["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"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], ["class", "govuk-body", 4, "ngFor", "ngForOf"], [1, "govuk-body"]], template: function HmctsErrorSummaryComponent_Template(rf, ctx) { if (rf & 1) {
6567
6617
  i0.ɵɵtemplate(0, HmctsErrorSummaryComponent_div_0_Template, 7, 4, "div", 0)(1, HmctsErrorSummaryComponent_div_1_Template, 8, 4, "div", 1);
6568
6618
  } if (rf & 2) {
@@ -6631,7 +6681,7 @@ function ShareCaseComponent_div_29_Template(rf, ctx) { if (rf & 1) {
6631
6681
  i0.ɵɵpipe(6, "rpxTranslate");
6632
6682
  i0.ɵɵelementEnd();
6633
6683
  i0.ɵɵelementStart(7, "div", 6)(8, "div", 7)(9, "select", 30);
6634
- i0.ɵɵtwoWayListener("ngModelChange", function ShareCaseComponent_div_29_Template_select_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedUserToRemove, $event) || (ctx_r0.selectedUserToRemove = $event); return i0.ɵɵresetView($event); });
6684
+ i0.ɵɵlistener("change", function ShareCaseComponent_div_29_Template_select_change_9_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onSelectedUserToRemoveChanged($event.target.value)); });
6635
6685
  i0.ɵɵelementStart(10, "option", 31);
6636
6686
  i0.ɵɵtext(11, "Select a person");
6637
6687
  i0.ɵɵelementEnd();
@@ -6653,7 +6703,7 @@ function ShareCaseComponent_div_29_Template(rf, ctx) { if (rf & 1) {
6653
6703
  i0.ɵɵadvance(3);
6654
6704
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 10, "Select a person to remove them from all selected cases."), " ");
6655
6705
  i0.ɵɵadvance(4);
6656
- i0.ɵɵtwoWayProperty("ngModel", ctx_r0.selectedUserToRemove);
6706
+ i0.ɵɵproperty("value", ctx_r0.selectedUserToRemove);
6657
6707
  i0.ɵɵadvance();
6658
6708
  i0.ɵɵproperty("ngValue", null);
6659
6709
  i0.ɵɵadvance(2);
@@ -6857,13 +6907,20 @@ class ShareCaseComponent {
6857
6907
  (!sharedCase.pendingShares || sharedCase.pendingShares.length === 0);
6858
6908
  });
6859
6909
  }
6860
- static { this.ɵfac = function ShareCaseComponent_Factory(t) { return new (t || ShareCaseComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService), i0.ɵɵdirectiveInject(i2$1.Router)); }; }
6910
+ // TEST-TODO
6911
+ // Another place where ngModel use is removed for Angular best practice
6912
+ // May cause issues but based on understanding should work
6913
+ // TODO: Confirm this works correctly after Angular 18 upgrade
6914
+ onSelectedUserToRemoveChanged(value) {
6915
+ this.selectedUserToRemove = this.assignedUsers.find(user => `${user.firstName} ${user.lastName} - ${user.email}` === value) || null;
6916
+ }
6917
+ static { this.ɵfac = function ShareCaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShareCaseComponent)(i0.ɵɵdirectiveInject(CaseSharingStateService), i0.ɵɵdirectiveInject(i2$1.Router)); }; }
6861
6918
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareCaseComponent, selectors: [["xuilib-share-case"]], viewQuery: function ShareCaseComponent_Query(rf, ctx) { if (rf & 1) {
6862
6919
  i0.ɵɵviewQuery(UserSelectComponent, 7);
6863
6920
  } if (rf & 2) {
6864
6921
  let _t;
6865
6922
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.userSelect = _t.first);
6866
- } }, inputs: { removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", shareCases$: "shareCases$", users: "users", confirmLink: "confirmLink", cancelLink: "cancelLink", addUserLabel: "addUserLabel", showRemoveUsers: "showRemoveUsers", fnTitle: "fnTitle", title: "title" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, decls: 46, vars: 50, consts: [[3, "errorMessages", "header"], ["class", "govuk-heading-xl govuk-!-margin-top-2", 4, "ngIf"], ["id", "add-user"], [1, "govuk-form-group"], ["for", "add-user-input", 1, "govuk-label", "govuk-!-font-weight-bold"], ["id", "add-user-hint", 1, "govuk-hint"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], ["id", "add-user-input", "aria-describedby", "add-user-hint", 3, "selected", "users"], [1, "govuk-grid-column-one-thirds"], ["id", "btn-add-user", 1, "govuk-button", "govuk-button--secondary", 3, "click", "disabled", "title"], [1, "govuk-visually-hidden"], ["id", "add-user-help", "data-module", "govuk-details", 1, "govuk-details"], [1, "govuk-details__summary"], ["id", "content-why-can-not-find-email", 1, "govuk-details__summary-text"], ["id", "content-reason-can-not-find-email", 1, "govuk-details__text"], ["class", "govuk-form-group", 4, "ngIf"], ["id", "cases", 3, "ngClass"], ["id", "title-selected-cases", 1, "govuk-heading-m"], [3, "config", "errorMessage"], ["class", "govuk-accordion", "data-module", "govuk-accordion", "id", "accordion-with-summary-sections", 4, "ngIf"], ["id", "noCaseDisplay", "class", "govuk-hint", 3, "ngClass", 4, "ngIf"], ["id", "share-case-nav", 1, "govuk-button-group"], ["id", "btn-continue", "data-module", "govuk-button", 1, "govuk-button", 3, "click", "title"], ["id", "btn-cancel", "data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "title", "routerLink"], [1, "govuk-heading-xl", "govuk-!-margin-top-2"], ["class", "govuk-caption-xl", 4, "ngIf"], [1, "govuk-caption-xl"], ["for", "remove-user-input", 1, "govuk-label", "govuk-!-font-weight-bold"], ["id", "remove-user-hint", 1, "govuk-hint"], ["id", "remove-user-input", "aria-describedby", "remove-user-hint", 1, "govuk-select", 3, "ngModelChange", "ngModel"], ["selected", "", 3, "ngValue"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["id", "btn-remove-user", 1, "govuk-button", "govuk-button--secondary", 3, "click", "title"], [3, "ngValue"], ["data-module", "govuk-accordion", "id", "accordion-with-summary-sections", 1, "govuk-accordion"], [3, "unselect", "synchronizeStore", "shareCases$", "removeUserFromCaseToggleOn"], ["id", "noCaseDisplay", 1, "govuk-hint", 3, "ngClass"]], template: function ShareCaseComponent_Template(rf, ctx) { if (rf & 1) {
6923
+ } }, inputs: { removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", shareCases$: "shareCases$", users: "users", confirmLink: "confirmLink", cancelLink: "cancelLink", addUserLabel: "addUserLabel", showRemoveUsers: "showRemoveUsers", fnTitle: "fnTitle", title: "title" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, decls: 46, vars: 50, consts: [[3, "errorMessages", "header"], ["class", "govuk-heading-xl govuk-!-margin-top-2", 4, "ngIf"], ["id", "add-user"], [1, "govuk-form-group"], ["for", "add-user-input", 1, "govuk-label", "govuk-!-font-weight-bold"], ["id", "add-user-hint", 1, "govuk-hint"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], ["id", "add-user-input", "aria-describedby", "add-user-hint", 3, "selected", "users"], [1, "govuk-grid-column-one-thirds"], ["id", "btn-add-user", 1, "govuk-button", "govuk-button--secondary", 3, "click", "disabled", "title"], [1, "govuk-visually-hidden"], ["id", "add-user-help", "data-module", "govuk-details", 1, "govuk-details"], [1, "govuk-details__summary"], ["id", "content-why-can-not-find-email", 1, "govuk-details__summary-text"], ["id", "content-reason-can-not-find-email", 1, "govuk-details__text"], ["class", "govuk-form-group", 4, "ngIf"], ["id", "cases", 3, "ngClass"], ["id", "title-selected-cases", 1, "govuk-heading-m"], [3, "config", "errorMessage"], ["class", "govuk-accordion", "data-module", "govuk-accordion", "id", "accordion-with-summary-sections", 4, "ngIf"], ["id", "noCaseDisplay", "class", "govuk-hint", 3, "ngClass", 4, "ngIf"], ["id", "share-case-nav", 1, "govuk-button-group"], ["id", "btn-continue", "data-module", "govuk-button", 1, "govuk-button", 3, "click", "title"], ["id", "btn-cancel", "data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "title", "routerLink"], [1, "govuk-heading-xl", "govuk-!-margin-top-2"], ["class", "govuk-caption-xl", 4, "ngIf"], [1, "govuk-caption-xl"], ["for", "remove-user-input", 1, "govuk-label", "govuk-!-font-weight-bold"], ["id", "remove-user-hint", 1, "govuk-hint"], ["id", "remove-user-input", "aria-describedby", "remove-user-hint", 1, "govuk-select", 3, "change", "value"], ["selected", "", 3, "ngValue"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["id", "btn-remove-user", 1, "govuk-button", "govuk-button--secondary", 3, "click", "title"], [3, "ngValue"], ["data-module", "govuk-accordion", "id", "accordion-with-summary-sections", 1, "govuk-accordion"], [3, "unselect", "synchronizeStore", "shareCases$", "removeUserFromCaseToggleOn"], ["id", "noCaseDisplay", 1, "govuk-hint", 3, "ngClass"]], template: function ShareCaseComponent_Template(rf, ctx) { if (rf & 1) {
6867
6924
  i0.ɵɵelement(0, "xuilib-hmcts-error-summary", 0);
6868
6925
  i0.ɵɵtemplate(1, ShareCaseComponent_h1_1_Template, 4, 4, "h1", 1);
6869
6926
  i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "label", 4);
@@ -6956,11 +7013,11 @@ class ShareCaseComponent {
6956
7013
  i0.ɵɵproperty("routerLink", ctx.cancelLink);
6957
7014
  i0.ɵɵadvance(2);
6958
7015
  i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(45, 46, "Cancel"), " ");
6959
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2$4.NgSelectOption, i2$4.ɵNgSelectMultipleOption, i2$4.SelectControlValueAccessor, i2$4.NgControlStatus, i2$4.NgModel, i2$1.RouterLink, SelectedCaseListComponent, UserSelectComponent, HmctsErrorSummaryComponent, GovUkErrorMessageComponent, i2.RpxTranslatePipe], styles: ["select[_ngcontent-%COMP%]{width:100%}"] }); }
7016
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2$4.NgSelectOption, i2$4.ɵNgSelectMultipleOption, i2$1.RouterLink, SelectedCaseListComponent, UserSelectComponent, HmctsErrorSummaryComponent, GovUkErrorMessageComponent, i2.RpxTranslatePipe], styles: ["select[_ngcontent-%COMP%]{width:100%}"] }); }
6960
7017
  }
6961
7018
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareCaseComponent, [{
6962
7019
  type: Component,
6963
- args: [{ selector: 'xuilib-share-case', 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 <span class=\"govuk-visually-hidden\">{{'user' | rpxTranslate}}</span>\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 <span class=\"govuk-visually-hidden\"> {{'user' | rpxTranslate}}</span>\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", styles: ["select{width:100%}\n"] }]
7020
+ args: [{ selector: 'xuilib-share-case', 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 <span class=\"govuk-visually-hidden\">{{'user' | rpxTranslate}}</span>\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 [value]=\"selectedUserToRemove\" (change)=\"onSelectedUserToRemoveChanged($event.target.value)\" 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 <span class=\"govuk-visually-hidden\"> {{'user' | rpxTranslate}}</span>\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", styles: ["select{width:100%}\n"] }]
6964
7021
  }], () => [{ type: CaseSharingStateService }, { type: i2$1.Router }], { removeUserFromCaseToggleOn: [{
6965
7022
  type: Input
6966
7023
  }], shareCases$: [{
@@ -7003,7 +7060,7 @@ class TabComponent {
7003
7060
  tabChanged(event) {
7004
7061
  this.tabChange.emit(event);
7005
7062
  }
7006
- static { this.ɵfac = function TabComponent_Factory(t) { return new (t || TabComponent)(); }; }
7063
+ static { this.ɵfac = function TabComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TabComponent)(); }; }
7007
7064
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TabComponent, selectors: [["xuilib-tab"]], inputs: { tabItems: "tabItems" }, outputs: { tabChange: "tabChange" }, decls: 2, vars: 1, consts: [["animationDuration", "0ms", 3, "selectedTabChange"], [3, "label", 4, "ngFor", "ngForOf"], [3, "label"]], template: function TabComponent_Template(rf, ctx) { if (rf & 1) {
7008
7065
  i0.ɵɵelementStart(0, "mat-tab-group", 0);
7009
7066
  i0.ɵɵlistener("selectedTabChange", function TabComponent_Template_mat_tab_group_selectedTabChange_0_listener($event) { return ctx.tabChanged($event); });
@@ -7031,7 +7088,7 @@ class TcConfirmComponent {
7031
7088
  onClick() {
7032
7089
  this.confirm.emit();
7033
7090
  }
7034
- static { this.ɵfac = function TcConfirmComponent_Factory(t) { return new (t || TcConfirmComponent)(); }; }
7091
+ static { this.ɵfac = function TcConfirmComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TcConfirmComponent)(); }; }
7035
7092
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TcConfirmComponent, selectors: [["xuilib-tc-confirm"]], inputs: { buttonText: "buttonText" }, outputs: { confirm: "confirm" }, decls: 26, vars: 18, consts: [[1, "govuk-width-container"], ["role", "main", 1, "govuk-main-wrapper"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], [1, "column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-heading-m"], ["routerLink", "/terms-and-conditions", "rel", "noopener noreferrer", "target", "_blank"], [1, "govuk-button", 3, "click"], [1, "govuk-grid-column-one-third"]], template: function TcConfirmComponent_Template(rf, ctx) { if (rf & 1) {
7036
7093
  i0.ɵɵelementStart(0, "div", 0)(1, "main", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "h1", 5);
7037
7094
  i0.ɵɵtext(6);
@@ -7089,7 +7146,7 @@ class TcConfirmComponent {
7089
7146
  const _c0$d = ["*"];
7090
7147
  class TcDisplayHtmlComponent {
7091
7148
  constructor() { }
7092
- static { this.ɵfac = function TcDisplayHtmlComponent_Factory(t) { return new (t || TcDisplayHtmlComponent)(); }; }
7149
+ static { this.ɵfac = function TcDisplayHtmlComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TcDisplayHtmlComponent)(); }; }
7093
7150
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TcDisplayHtmlComponent, selectors: [["xuilib-tc-display-html"]], ngContentSelectors: _c0$d, decls: 1, vars: 0, template: function TcDisplayHtmlComponent_Template(rf, ctx) { if (rf & 1) {
7094
7151
  i0.ɵɵprojectionDef();
7095
7152
  i0.ɵɵprojection(0);
@@ -7104,7 +7161,7 @@ class TcDisplayHtmlComponent {
7104
7161
  const _c0$c = ["*"];
7105
7162
  class TcDisplayPlainComponent {
7106
7163
  constructor() { }
7107
- static { this.ɵfac = function TcDisplayPlainComponent_Factory(t) { return new (t || TcDisplayPlainComponent)(); }; }
7164
+ static { this.ɵfac = function TcDisplayPlainComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TcDisplayPlainComponent)(); }; }
7108
7165
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TcDisplayPlainComponent, selectors: [["xuilib-tc-display-plain"]], ngContentSelectors: _c0$c, decls: 1, vars: 0, template: function TcDisplayPlainComponent_Template(rf, ctx) { if (rf & 1) {
7109
7166
  i0.ɵɵprojectionDef();
7110
7167
  i0.ɵɵprojection(0);
@@ -7147,7 +7204,7 @@ function TermsAndConditionsComponent_div_3_Template(rf, ctx) { if (rf & 1) {
7147
7204
  } }
7148
7205
  class TermsAndConditionsComponent {
7149
7206
  constructor() { }
7150
- static { this.ɵfac = function TermsAndConditionsComponent_Factory(t) { return new (t || TermsAndConditionsComponent)(); }; }
7207
+ static { this.ɵfac = function TermsAndConditionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TermsAndConditionsComponent)(); }; }
7151
7208
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TermsAndConditionsComponent, selectors: [["xuilib-terms-and-conditions"]], inputs: { document: "document" }, decls: 4, vars: 3, consts: [[3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [3, "innerHTML"]], template: function TermsAndConditionsComponent_Template(rf, ctx) { if (rf & 1) {
7152
7209
  i0.ɵɵelementContainerStart(0, 0);
7153
7210
  i0.ɵɵtemplate(1, TermsAndConditionsComponent_xuilib_tc_display_html_1_Template, 3, 3, "xuilib-tc-display-html", 1)(2, TermsAndConditionsComponent_xuilib_tc_display_plain_2_Template, 3, 3, "xuilib-tc-display-plain", 1)(3, TermsAndConditionsComponent_div_3_Template, 3, 3, "div", 2);
@@ -7398,7 +7455,7 @@ class UserDetailsComponent {
7398
7455
  }
7399
7456
  return false;
7400
7457
  }
7401
- static { this.ɵfac = function UserDetailsComponent_Factory(t) { return new (t || UserDetailsComponent)(); }; }
7458
+ static { this.ɵfac = function UserDetailsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserDetailsComponent)(); }; }
7402
7459
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDetailsComponent, selectors: [["xuilib-user-details"]], inputs: { user: "user", enabledAccessTypes: "enabledAccessTypes", editPermissionRouterLink: "editPermissionRouterLink", warningTitle: "warningTitle", showEditLink: "showEditLink", showHelpLink: "showHelpLink", suspendHelpLink: "suspendHelpLink", showSuspendUserButton: "showSuspendUserButton" }, outputs: { suspendUserEvent: "suspendUserEvent", reinvite: "reinvite" }, decls: 5, vars: 5, consts: [["class", "govuk-warning-text", 4, "ngIf"], ["class", "govuk-table", "role", "presentation", 4, "ngIf"], ["class", "govuk-button govuk-button--warning", "tabindex", "0", 3, "click", "keyup.enter", 4, "ngIf"], [4, "ngIf"], ["class", "govuk-body", 4, "ngIf"], [1, "govuk-warning-text"], [1, "govuk-warning-text__icon"], [1, "govuk-visually-hidden"], [1, "govuk-warning-text__text"], ["role", "presentation", 1, "govuk-table"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["role", "link", 3, "routerLink", 4, "ngIf"], ["role", "link", 3, "routerLink"], ["tabindex", "0", 1, "govuk-button", "govuk-button--warning", 3, "click", "keyup.enter"], [1, "govuk-inset-text"], ["tabindex", "0", "id", "resend-invite-button", 1, "govuk-button", 3, "click", "keyup.enter"], [1, "govuk-body"], ["target", "_blank", 3, "routerLink"]], template: function UserDetailsComponent_Template(rf, ctx) { if (rf & 1) {
7403
7460
  i0.ɵɵtemplate(0, UserDetailsComponent_div_0_Template, 8, 3, "div", 0)(1, UserDetailsComponent_table_1_Template, 18, 11, "table", 1)(2, UserDetailsComponent_button_2_Template, 3, 3, "button", 2)(3, UserDetailsComponent_div_3_Template, 14, 12, "div", 3)(4, UserDetailsComponent_p_4_Template, 6, 7, "p", 4);
7404
7461
  } if (rf & 2) {
@@ -7595,7 +7652,7 @@ class HmctsPaginationComponent {
7595
7652
  this.pageChange = new EventEmitter();
7596
7653
  this.pageBoundsCorrection = new EventEmitter();
7597
7654
  }
7598
- static { this.ɵfac = function HmctsPaginationComponent_Factory(t) { return new (t || HmctsPaginationComponent)(); }; }
7655
+ static { this.ɵfac = function HmctsPaginationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsPaginationComponent)(); }; }
7599
7656
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsPaginationComponent, selectors: [["xuilib-hmcts-pagination"]], inputs: { id: "id", maxSize: "maxSize", pageSize: "pageSize", showPageNumbers: "showPageNumbers", showResultCount: "showResultCount" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection" }, decls: 8, vars: 7, consts: [["p", "paginationApi"], [3, "pageChange", "pageBoundsCorrection", "id", "maxSize"], ["id", "pagination-label", 1, "hmcts-pagination"], ["aria-labelledby", "pagination-label", 1, "govuk-visually-hidden"], ["class", "hmcts-pagination__list", 4, "ngIf"], ["class", "hmcts-pagination__results", 4, "ngIf"], [1, "hmcts-pagination__list"], [1, "hmcts-pagination__item", "hmcts-pagination__item--prev"], ["class", "hmcts-pagination__link", 3, "routerLink", "keyup.enter", "click", 4, "ngIf"], [4, "ngIf"], [1, "hmcts-pagination__item", "hmcts-pagination__item--next"], [1, "hmcts-pagination__link", 3, "keyup.enter", "click", "routerLink"], [1, "govuk-visually-hidden"], ["class", "hmcts-pagination__item", 3, "hmcts-pagination__item--active", "hmcts-pagination__item--dots", 4, "ngFor", "ngForOf"], [1, "hmcts-pagination__item"], [1, "hmcts-pagination__results"]], template: function HmctsPaginationComponent_Template(rf, ctx) { if (rf & 1) {
7600
7657
  const _r1 = i0.ɵɵgetCurrentView();
7601
7658
  i0.ɵɵelementStart(0, "pagination-template", 1, 0);
@@ -7680,7 +7737,7 @@ class UserListComponent {
7680
7737
  this.currentPageNumber = pageNumber;
7681
7738
  this.pageChange.emit(pageNumber);
7682
7739
  }
7683
- static { this.ɵfac = function UserListComponent_Factory(t) { return new (t || UserListComponent)(); }; }
7740
+ static { this.ɵfac = function UserListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserListComponent)(); }; }
7684
7741
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserListComponent, selectors: [["xuilib-user-list"]], inputs: { users: "users", currentPageNumber: "currentPageNumber", pageTotalSize: "pageTotalSize" }, outputs: { userClick: "userClick", pageChange: "pageChange" }, decls: 16, vars: 18, consts: [[1, "govuk-table"], ["clas", "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", 1, "govuk-table__header"], [1, "govuk-table__body"], [4, "ngFor", "ngForOf"], [3, "pageChange", "pageSize"], ["data-selector", "table-row", 1, "govuk-table__row"], ["data-selector", "table-cell", 1, "govuk-table__cell"], [1, "govuk-link", 3, "click", "routerLink"]], template: function UserListComponent_Template(rf, ctx) { if (rf & 1) {
7685
7742
  i0.ɵɵelementStart(0, "table", 0)(1, "thead", 1)(2, "tr", 2)(3, "th", 3);
7686
7743
  i0.ɵɵtext(4);
@@ -7847,7 +7904,7 @@ class CookieBannerComponent {
7847
7904
  now.setTime(expireTime);
7848
7905
  return now.toUTCString();
7849
7906
  }
7850
- static { this.ɵfac = function CookieBannerComponent_Factory(t) { return new (t || CookieBannerComponent)(i0.ɵɵdirectiveInject(CookieService), i0.ɵɵdirectiveInject(windowToken)); }; }
7907
+ static { this.ɵfac = function CookieBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CookieBannerComponent)(i0.ɵɵdirectiveInject(CookieService), i0.ɵɵdirectiveInject(windowToken)); }; }
7851
7908
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CookieBannerComponent, selectors: [["xuilib-cookie-banner"]], inputs: { identifier: "identifier", appName: "appName", enableDynatrace: "enableDynatrace" }, outputs: { rejectionNotifier: "rejectionNotifier", acceptanceNotifier: "acceptanceNotifier" }, decls: 1, vars: 1, consts: [["class", "govuk-cookie-banner ", "role", "region", 4, "ngIf"], ["role", "region", 1, "govuk-cookie-banner"], [1, "govuk-cookie-banner__message", "govuk-width-container"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-cookie-banner__heading", "govuk-heading-m"], [1, "govuk-cookie-banner__content"], [1, "govuk-button-group"], ["value", "accept", "type", "button", "name", "cookies", "data-module", "govuk-button", 1, "govuk-button", 3, "click"], ["value", "reject", "type", "button", "name", "cookies", "data-module", "govuk-button", 1, "govuk-button", 3, "click"], ["routerLink", "/cookies", 1, "govuk-link"]], template: function CookieBannerComponent_Template(rf, ctx) { if (rf & 1) {
7852
7909
  i0.ɵɵtemplate(0, CookieBannerComponent_div_0_Template, 25, 23, "div", 0);
7853
7910
  } if (rf & 2) {
@@ -7924,7 +7981,7 @@ class PaginationComponent {
7924
7981
  onNext() {
7925
7982
  this.nextPage.emit(null);
7926
7983
  }
7927
- static { this.ɵfac = function PaginationComponent_Factory(t) { return new (t || PaginationComponent)(); }; }
7984
+ static { this.ɵfac = function PaginationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PaginationComponent)(); }; }
7928
7985
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["xuilib-pagination"]], inputs: { moreItems: "moreItems", firstRecord: "firstRecord" }, outputs: { previousPage: "previousPage", nextPage: "nextPage" }, decls: 13, vars: 7, consts: [["noPrevious", ""], ["noNext", ""], ["id", "pagination-label", 1, "hmcts-pagination"], ["aria-labelledby", "pagination-label", 1, "govuk-visually-hidden"], [1, "hmcts-pagination__list"], [1, "hmcts-pagination__item", "hmcts-pagination__item--prev"], ["class", "hmcts-pagination__link", "href", "javascript:void(0)", 3, "click", 4, "ngIf", "ngIfElse"], [1, "hmcts-pagination__item", "hmcts-pagination__item--next"], ["href", "javascript:void(0)", 1, "hmcts-pagination__link", 3, "click"], [1, "hmcts-pagination__link"]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
7929
7986
  i0.ɵɵelementStart(0, "nav", 2)(1, "p", 3);
7930
7987
  i0.ɵɵtext(2);
@@ -8098,7 +8155,7 @@ class SearchVenueComponent {
8098
8155
  return this.findLocationFormGroup && this.findLocationFormGroup.controls && this.findLocationFormGroup.controls.locationSelectedFormControl.value ?
8099
8156
  this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name : '';
8100
8157
  }
8101
- static { this.ɵfac = function SearchVenueComponent_Factory(t) { return new (t || SearchVenueComponent)(i0.ɵɵdirectiveInject(LocationService), i0.ɵɵdirectiveInject(i2$4.FormBuilder)); }; }
8158
+ static { this.ɵfac = function SearchVenueComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchVenueComponent)(i0.ɵɵdirectiveInject(LocationService), i0.ɵɵdirectiveInject(i2$4.FormBuilder)); }; }
8102
8159
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchVenueComponent, selectors: [["xuilib-search-venue"]], viewQuery: function SearchVenueComponent_Query(rf, ctx) { if (rf & 1) {
8103
8160
  i0.ɵɵviewQuery(_c0$a, 5, ElementRef);
8104
8161
  } if (rf & 2) {
@@ -8257,7 +8314,7 @@ class SearchJudicialsComponent {
8257
8314
  return this.formGroup && this.formGroup.controls && this.formGroup.controls.selectedFormControl.value ?
8258
8315
  this.getDisplayName(this.formGroup.controls.selectedFormControl.value) : '';
8259
8316
  }
8260
- static { this.ɵfac = function SearchJudicialsComponent_Factory(t) { return new (t || SearchJudicialsComponent)(i0.ɵɵdirectiveInject(FindAPersonService), i0.ɵɵdirectiveInject(i2$4.FormBuilder)); }; }
8317
+ static { this.ɵfac = function SearchJudicialsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SearchJudicialsComponent)(i0.ɵɵdirectiveInject(FindAPersonService), i0.ɵɵdirectiveInject(i2$4.FormBuilder)); }; }
8261
8318
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchJudicialsComponent, selectors: [["xuilib-search-judicials"]], viewQuery: function SearchJudicialsComponent_Query(rf, ctx) { if (rf & 1) {
8262
8319
  i0.ɵɵviewQuery(_c0$9, 7, ElementRef);
8263
8320
  } if (rf & 2) {
@@ -8361,7 +8418,7 @@ function ExuiPageWrapperComponent_h1_5_Template(rf, ctx) { if (rf & 1) {
8361
8418
  */
8362
8419
  class ExuiPageWrapperComponent {
8363
8420
  constructor() { }
8364
- static { this.ɵfac = function ExuiPageWrapperComponent_Factory(t) { return new (t || ExuiPageWrapperComponent)(); }; }
8421
+ static { this.ɵfac = function ExuiPageWrapperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ExuiPageWrapperComponent)(); }; }
8365
8422
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExuiPageWrapperComponent, selectors: [["exui-page-wrapper"]], inputs: { backLink: "backLink", title: "title", fnTitle: "fnTitle" }, ngContentSelectors: _c0$8, decls: 7, vars: 2, consts: [[1, "page"], ["class", "govuk-back-link", 3, "routerLink", 4, "ngIf"], [1, "govuk-width-container"], ["id", "content", "role", "main", 1, "govuk-main-wrapper"], [1, "govuk-grid-row"], ["class", "govuk-heading-xl", 4, "ngIf"], [1, "govuk-back-link", 3, "routerLink"], [1, "govuk-heading-xl"], ["class", "govuk-caption-xl", 4, "ngIf"], [1, "govuk-caption-xl"]], template: function ExuiPageWrapperComponent_Template(rf, ctx) { if (rf & 1) {
8366
8423
  i0.ɵɵprojectionDef();
8367
8424
  i0.ɵɵelementStart(0, "div", 0);
@@ -8470,7 +8527,7 @@ class WriteAddressInputsComponent {
8470
8527
  // if there is an issue with the formgroup, ensure error styling is displayed
8471
8528
  this.errorsPresent = !this.formGroup.get('address').valid;
8472
8529
  }
8473
- static { this.ɵfac = function WriteAddressInputsComponent_Factory(t) { return new (t || WriteAddressInputsComponent)(); }; }
8530
+ static { this.ɵfac = function WriteAddressInputsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WriteAddressInputsComponent)(); }; }
8474
8531
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressInputsComponent, selectors: [["xuilib-write-address-inputs"]], inputs: { formGroup: "formGroup", isInternational: "isInternational", submissionAttempted: "submissionAttempted" }, features: [i0.ɵɵNgOnChangesFeature], decls: 34, vars: 17, consts: [[3, "formGroup"], ["formGroupName", "address", 1, "govuk-body"], [1, "govuk-label", "govuk-!-font-weight-bold"], [1, "govuk-body", 3, "ngClass"], ["for", "addressLine1", 1, "govuk-label"], ["class", "govuk-error-message", 4, "ngIf"], ["id", "addressLine1", "name", "addressLine1", "type", "text", "formControlName", "addressLine1", 1, "govuk-input", "govuk-!-width-full"], [1, "govuk-body"], ["for", "addressLine2", 1, "govuk-label"], ["id", "addressLine2", "name", "addressLine2", "type", "text", "formControlName", "addressLine2", 1, "govuk-input", "govuk-!-width-full"], ["for", "addressLine3", 1, "govuk-label"], ["id", "addressLine3", "name", "addressLine3", "type", "text", "formControlName", "addressLine3", 1, "govuk-input", "govuk-!-width-full"], ["for", "postTown", 1, "govuk-label"], ["id", "postTown", "name", "postTown", "type", "text", "formControlName", "postTown", 1, "govuk-input", "govuk-!-width-two-thirds"], ["for", "county", 1, "govuk-label"], ["id", "county", "name", "county", "type", "text", "formControlName", "county", 1, "govuk-input", "govuk-!-width-two-thirds"], ["class", "govuk-body", 3, "ngClass", 4, "ngIf"], ["for", "postCode", 1, "govuk-label"], ["id", "postCode", "name", "postCode", "type", "text", "formControlName", "postCode", 1, "govuk-input", "govuk-!-width-one-third"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], ["for", "country", 1, "govuk-label"], ["id", "country", "name", "country", "type", "text", "formControlName", "country", 1, "govuk-input", "govuk-!-width-two-thirds"]], template: function WriteAddressInputsComponent_Template(rf, ctx) { if (rf & 1) {
8475
8532
  i0.ɵɵelementContainerStart(0);
8476
8533
  i0.ɵɵelementStart(1, "form", 0)(2, "div", 1)(3, "label", 2);
@@ -8835,7 +8892,7 @@ class WriteAddressFieldComponent {
8835
8892
  const postcodeNeeded = this.isInternational === undefined && this.formGroup.get('address') && this.formGroup.get('address').get('postCode');
8836
8893
  this.addressFormGroup.get('postcode').patchValue(postcodeNeeded ? this.formGroup.get('address').get('postCode').value : '');
8837
8894
  }
8838
- static { this.ɵfac = function WriteAddressFieldComponent_Factory(t) { return new (t || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(AddressService)); }; }
8895
+ static { this.ɵfac = function WriteAddressFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(AddressService)); }; }
8839
8896
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["xuilib-write-address-field"]], inputs: { formGroup: "formGroup", internationalMode: "internationalMode", isInternational: "isInternational", submissionAttempted: "submissionAttempted", startedInternational: "startedInternational", addressChosen: "addressChosen" }, outputs: { postcodeOptionSelected: "postcodeOptionSelected", internationalModeStart: "internationalModeStart", ukAddressOptionSelected: "ukAddressOptionSelected", canSelectAddress: "canSelectAddress", resetSubmission: "resetSubmission" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 8, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [4, "ngIf"], ["id", "govuk-radios", "class", "govuk-radios", "data-module", "govuk-radios", 4, "ngIf"], [3, "formGroup", "isInternational", "submissionAttempted", 4, "ngIf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-label"], ["id", "addressLookup", 1, "govuk-body", "postcode-lookup", 3, "ngClass"], ["for", "postcodeInput"], [1, "govuk-hint"], [1, "govuk-body"], ["type", "text", "id", "postcodeInput", "name", "postcode", "formControlName", "postcode", 1, "govuk-input", "govuk-!-width-one-third", "postcodeinput", "inline-block", 3, "ngClass"], ["type", "button", 1, "govuk-button", "find-address", 3, "click"], ["class", "govuk-body", "id", "selectAddress", 4, "ngIf"], ["class", "manual-link govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["id", "selectAddress", 1, "govuk-body"], [1, "govuk-body", 3, "ngClass"], ["for", "addressList", 1, "govuk-label"], [1, "form-label"], ["id", "addressList", "name", "address", "formControlName", "addressList", "focusElement", "", 1, "form-control", "govuk-select", "ccd-dropdown", "addressList", 3, "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "javascript:void(0)", 1, "manual-link", "govuk-link", 3, "click"], ["id", "govuk-radios", "data-module", "govuk-radios", 1, "govuk-radios"], [1, "govuk-radios__item"], ["id", "yes", "value", "yes", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "yes", 1, "govuk-label", "govuk-radios__label"], ["id", "no", "value", "no", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "no", 1, "govuk-label", "govuk-radios__label"], ["id", "address-fields", 1, "govuk-radios__conditional"], [3, "formGroup", "isInternational", "submissionAttempted"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
8840
8897
  i0.ɵɵelementStart(0, "div", 0);
8841
8898
  i0.ɵɵtemplate(1, WriteAddressFieldComponent_p_1_Template, 4, 1, "p", 1)(2, WriteAddressFieldComponent_div_2_Template, 15, 9, "div", 2)(3, WriteAddressFieldComponent_div_3_Template, 11, 1, "div", 3)(4, WriteAddressFieldComponent_xuilib_write_address_inputs_4_Template, 1, 3, "xuilib-write-address-inputs", 4);
@@ -8905,7 +8962,7 @@ class FeatureToggleDirective {
8905
8962
  }
8906
8963
  });
8907
8964
  }
8908
- static { this.ɵfac = function FeatureToggleDirective_Factory(t) { return new (t || FeatureToggleDirective)(i0.ɵɵdirectiveInject(FeatureToggleService), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
8965
+ static { this.ɵfac = function FeatureToggleDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FeatureToggleDirective)(i0.ɵɵdirectiveInject(FeatureToggleService), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
8909
8966
  static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FeatureToggleDirective, selectors: [["", "xuilibFeatureToggle", ""]], inputs: { xuilibFeatureToggle: "xuilibFeatureToggle" } }); }
8910
8967
  }
8911
8968
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FeatureToggleDirective, [{
@@ -8932,7 +8989,7 @@ class LetDirective {
8932
8989
  set xuilibLet(condition) {
8933
8990
  this.context.$implicit = this.context.xuilibLet = condition;
8934
8991
  }
8935
- static { this.ɵfac = function LetDirective_Factory(t) { return new (t || LetDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
8992
+ static { this.ɵfac = function LetDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LetDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.TemplateRef)); }; }
8936
8993
  static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: LetDirective, selectors: [["", "xuilibLet", ""]], inputs: { xuilibLet: "xuilibLet" } }); }
8937
8994
  }
8938
8995
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LetDirective, [{
@@ -9038,7 +9095,7 @@ class GovUkCheckboxesComponent {
9038
9095
  return [this.items];
9039
9096
  }
9040
9097
  }
9041
- static { this.ɵfac = function GovUkCheckboxesComponent_Factory(t) { return new (t || GovUkCheckboxesComponent)(); }; }
9098
+ static { this.ɵfac = function GovUkCheckboxesComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkCheckboxesComponent)(); }; }
9042
9099
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkCheckboxesComponent, selectors: [["xuilib-gov-uk-checkboxes"]], inputs: { group: "group", config: "config", items: "items", errorMessage: "errorMessage" }, decls: 6, vars: 9, consts: [[1, "govuk-form-group", "gov-uk-input", 3, "formGroup", "ngClass"], [3, "config"], ["class", "govuk-hint", 3, "id", 4, "ngIf"], [3, "config", "errorMessage"], ["data-module", "govuk-checkboxes", 1, "govuk-checkboxes", "govuk-checkboxes--small", "govuk-checkboxes-multi-column"], ["class", "govuk-checkboxes-multi-column__single", 4, "ngFor", "ngForOf"], [1, "govuk-hint", 3, "id"], [1, "govuk-checkboxes-multi-column__single"], ["class", "govuk-checkboxes__item", 4, "ngFor", "ngForOf"], [1, "govuk-checkboxes__item"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "change", "id", "name", "checked", "value"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["class", "govuk-hint govuk-checkboxes__hint", 4, "ngIf"], [1, "govuk-hint", "govuk-checkboxes__hint"]], template: function GovUkCheckboxesComponent_Template(rf, ctx) { if (rf & 1) {
9043
9100
  i0.ɵɵelementStart(0, "div", 0);
9044
9101
  i0.ɵɵelement(1, "xuilib-gov-label", 1);
@@ -9137,7 +9194,7 @@ class GovUkDateComponent {
9137
9194
  return !this.isValidDate(new Date(year, month, day), month, +year) ? { dateComponent: true } : null;
9138
9195
  };
9139
9196
  }
9140
- static { this.ɵfac = function GovUkDateComponent_Factory(t) { return new (t || GovUkDateComponent)(); }; }
9197
+ static { this.ɵfac = function GovUkDateComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkDateComponent)(); }; }
9141
9198
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkDateComponent, selectors: [["xuilib-gov-uk-date"]], inputs: { config: "config", errorMessage: "errorMessage", formGroup: "formGroup", isOptional: "isOptional" }, decls: 20, vars: 53, consts: [[1, "govuk-form-group", 3, "ngClass", "formGroup"], [1, "date-input-container"], [3, "config", "errorMessage"], [3, "config", "errorMessage", 4, "ngIf"], [1, "govuk-date-input", 3, "id"], [1, "govuk-date-input__item"], [1, "govuk-form-group"], [3, "config"], ["type", "text", "value", "", "pattern", "\\d*", "maxlength", "2", 1, "govuk-input", "govuk-date-input__input", "govuk-input--width-2", 3, "ngClass", "id", "name", "formControlName"], ["type", "text", "value", "", "pattern", "\\d*", "maxlength", "4", 1, "govuk-input", "govuk-date-input__input", "govuk-input--width-4", 3, "ngClass", "id", "name", "formControlName"]], template: function GovUkDateComponent_Template(rf, ctx) { if (rf & 1) {
9142
9199
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "xuilib-gov-uk-fieldset", 2);
9143
9200
  i0.ɵɵtemplate(3, GovUkDateComponent_xuilib_gov_uk_error_message_3_Template, 1, 3, "xuilib-gov-uk-error-message", 3);
@@ -9230,7 +9287,7 @@ class GovUkFileUploadComponent {
9230
9287
  setDescribedBy() {
9231
9288
  return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
9232
9289
  }
9233
- static { this.ɵfac = function GovUkFileUploadComponent_Factory(t) { return new (t || GovUkFileUploadComponent)(); }; }
9290
+ static { this.ɵfac = function GovUkFileUploadComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkFileUploadComponent)(); }; }
9234
9291
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkFileUploadComponent, selectors: [["xuilib-gov-uk-file-upload"]], inputs: { errorMessage: "errorMessage", group: "group", config: "config" }, decls: 5, vars: 9, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], [3, "config"], ["class", "govuk-hint", 3, "id", 4, "ngIf"], [3, "config", "errorMessage"], ["class", "govuk-file-upload", "type", "file", 3, "formControlName", "ngClass", "id", "name", 4, "ngIf"], [1, "govuk-hint", 3, "id"], ["type", "file", 1, "govuk-file-upload", 3, "formControlName", "ngClass", "id", "name"]], template: function GovUkFileUploadComponent_Template(rf, ctx) { if (rf & 1) {
9235
9292
  i0.ɵɵelementStart(0, "div", 0);
9236
9293
  i0.ɵɵelement(1, "xuilib-gov-label", 1);
@@ -9280,7 +9337,7 @@ class GovUkRadioComponent {
9280
9337
  this.config.classes = this.config.classes ?
9281
9338
  this.config.classes.concat(' govuk-radios__label') : 'govuk-radios__label';
9282
9339
  }
9283
- static { this.ɵfac = function GovUkRadioComponent_Factory(t) { return new (t || GovUkRadioComponent)(); }; }
9340
+ static { this.ɵfac = function GovUkRadioComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkRadioComponent)(); }; }
9284
9341
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkRadioComponent, selectors: [["xuilib-gov-radio"]], inputs: { group: "group", config: "config" }, decls: 3, vars: 8, consts: [[1, "govuk-radios__item", 3, "formGroup"], ["type", "radio", 3, "className", "id", "value", "name", "formControl"], ["appRemoveHost", "", 3, "config"]], template: function GovUkRadioComponent_Template(rf, ctx) { if (rf & 1) {
9285
9342
  i0.ɵɵelementStart(0, "div", 0);
9286
9343
  i0.ɵɵelement(1, "input", 1)(2, "xuilib-gov-label", 2);
@@ -9319,7 +9376,7 @@ function GovUkRadiosComponent_xuilib_gov_radio_2_Template(rf, ctx) { if (rf & 1)
9319
9376
  * @param: errors - array of error stings
9320
9377
  * */
9321
9378
  class GovUkRadiosComponent {
9322
- static { this.ɵfac = function GovUkRadiosComponent_Factory(t) { return new (t || GovUkRadiosComponent)(); }; }
9379
+ static { this.ɵfac = function GovUkRadiosComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkRadiosComponent)(); }; }
9323
9380
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkRadiosComponent, selectors: [["xuilib-gov-uk-radios"]], inputs: { options: "options", errors: "errors" }, decls: 3, vars: 4, consts: [[3, "error", "config", "group"], [1, "govuk-radios"], ["appRemoveHost", "", 3, "group", "config", 4, "ngFor", "ngForOf"], ["appRemoveHost", "", 3, "group", "config"]], template: function GovUkRadiosComponent_Template(rf, ctx) { if (rf & 1) {
9324
9381
  i0.ɵɵelementStart(0, "xuilib-gov-uk-form-group-wrapper", 0)(1, "div", 1);
9325
9382
  i0.ɵɵtemplate(2, GovUkRadiosComponent_xuilib_gov_radio_2_Template, 1, 2, "xuilib-gov-radio", 2);
@@ -9372,7 +9429,7 @@ class GovUkSelectComponent {
9372
9429
  setDescribedBy() {
9373
9430
  return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
9374
9431
  }
9375
- static { this.ɵfac = function GovUkSelectComponent_Factory(t) { return new (t || GovUkSelectComponent)(); }; }
9432
+ static { this.ɵfac = function GovUkSelectComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkSelectComponent)(); }; }
9376
9433
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkSelectComponent, selectors: [["xuilib-gov-select"]], inputs: { errorMessage: "errorMessage", group: "group", config: "config", items: "items" }, decls: 6, vars: 15, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], [3, "config"], ["class", "govuk-hint", 3, "id", 4, "ngIf"], [3, "config", "errorMessage"], [1, "govuk-select", 3, "id", "name", "formControlName"], [3, "value", 4, "ngFor", "ngForOf"], [1, "govuk-hint", 3, "id"], [3, "value"]], template: function GovUkSelectComponent_Template(rf, ctx) { if (rf & 1) {
9377
9434
  i0.ɵɵelementStart(0, "div", 0);
9378
9435
  i0.ɵɵelement(1, "xuilib-gov-label", 1);
@@ -9545,7 +9602,7 @@ class GovukTableComponent {
9545
9602
  formatDate(date) {
9546
9603
  return formatDate(date, 'dd/MM/yyyy', 'en-UK');
9547
9604
  }
9548
- static { this.ɵfac = function GovukTableComponent_Factory(t) { return new (t || GovukTableComponent)(); }; }
9605
+ static { this.ɵfac = function GovukTableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovukTableComponent)(); }; }
9549
9606
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovukTableComponent, selectors: [["xuilib-gov-uk-table"]], inputs: { classes: "classes", caption: "caption", firstCellIsHeader: "firstCellIsHeader", rows: "rows", columnConfig: "columnConfig" }, decls: 9, vars: 8, consts: [[1, "govuk-table__caption"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["class", "govuk-table__header", "scope", "col", 4, "ngFor", "ngForOf"], [1, "govuk-table__body"], ["data-selector", "table-row", "class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["scope", "col", 1, "govuk-table__header"], ["data-selector", "table-row", 1, "govuk-table__row"], [4, "ngFor", "ngForOf"], ["data-selector", "table-header", "class", "govuk-table__header", "scope", "row", 4, "ngIf"], ["data-selector", "table-cell", "class", "govuk-table__cell", 4, "ngIf"], ["data-selector", "table-header", "scope", "row", 1, "govuk-table__header"], [4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["data-selector", "table-cell", 1, "govuk-table__cell"]], template: function GovukTableComponent_Template(rf, ctx) { if (rf & 1) {
9550
9607
  i0.ɵɵelementStart(0, "table")(1, "caption", 0);
9551
9608
  i0.ɵɵtext(2);
@@ -9603,7 +9660,7 @@ class GovUkTextareaComponent {
9603
9660
  setDescribedBy() {
9604
9661
  return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
9605
9662
  }
9606
- static { this.ɵfac = function GovUkTextareaComponent_Factory(t) { return new (t || GovUkTextareaComponent)(); }; }
9663
+ static { this.ɵfac = function GovUkTextareaComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUkTextareaComponent)(); }; }
9607
9664
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GovUkTextareaComponent, selectors: [["xuilib-gov-uk-textarea"]], inputs: { config: "config", errorMessage: "errorMessage", group: "group" }, decls: 7, vars: 17, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], [3, "config"], ["id", "more-detail-hint", 1, "govuk-hint"], [3, "config", "errorMessage"], ["name", "more-detail", 1, "govuk-textarea", 3, "formControlName", "ngClass", "id", "rows"]], template: function GovUkTextareaComponent_Template(rf, ctx) { if (rf & 1) {
9608
9665
  i0.ɵɵelementStart(0, "div", 0);
9609
9666
  i0.ɵɵelement(1, "xuilib-gov-label", 1);
@@ -9722,7 +9779,7 @@ class HmctsBannerComponent {
9722
9779
  this.showMessageIcon = false;
9723
9780
  this.messageBoldText = false;
9724
9781
  }
9725
- static { this.ɵfac = function HmctsBannerComponent_Factory(t) { return new (t || HmctsBannerComponent)(); }; }
9782
+ static { this.ɵfac = function HmctsBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsBannerComponent)(); }; }
9726
9783
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsBannerComponent, selectors: [["xuilib-hmcts-banner"]], inputs: { message: "message", type: "type", title: "title", showMessageIcon: "showMessageIcon", messageBoldText: "messageBoldText" }, decls: 1, vars: 1, consts: [[4, "ngIf"], [3, "class", 4, "ngIf"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "hmcts-banner__message-text", "govuk-!-font-weight-bold"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon", "hmcts-banner__icon--warning"], ["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"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon", "hmcts-banner__icon--success"], ["d", "M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon", "hmcts-banner__icon--information"], ["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"]], template: function HmctsBannerComponent_Template(rf, ctx) { if (rf & 1) {
9727
9784
  i0.ɵɵtemplate(0, HmctsBannerComponent_ng_container_0_Template, 11, 13, "ng-container", 0);
9728
9785
  } if (rf & 2) {
@@ -9760,7 +9817,7 @@ class HmctsIdentityBarComponent {
9760
9817
  this.value = value.name;
9761
9818
  }
9762
9819
  constructor() { }
9763
- static { this.ɵfac = function HmctsIdentityBarComponent_Factory(t) { return new (t || HmctsIdentityBarComponent)(); }; }
9820
+ static { this.ɵfac = function HmctsIdentityBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsIdentityBarComponent)(); }; }
9764
9821
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsIdentityBarComponent, selectors: [["xuilib-hmcts-identity-bar"]], inputs: { content: "content" }, decls: 1, vars: 1, consts: [["class", "hmcts-identity-bar", 4, "ngIf"], [1, "hmcts-identity-bar"], [1, "hmcts-identity-bar__container"], [1, "hmcts-identity-bar__details"], [1, "hmcts-identity-bar__title"]], template: function HmctsIdentityBarComponent_Template(rf, ctx) { if (rf & 1) {
9765
9822
  i0.ɵɵtemplate(0, HmctsIdentityBarComponent_div_0_Template, 6, 3, "div", 0);
9766
9823
  } if (rf & 2) {
@@ -9855,7 +9912,7 @@ class HmctsMainWrapperComponent {
9855
9912
  onGoBack() {
9856
9913
  this.backEvent.emit();
9857
9914
  }
9858
- static { this.ɵfac = function HmctsMainWrapperComponent_Factory(t) { return new (t || HmctsMainWrapperComponent)(); }; }
9915
+ static { this.ɵfac = function HmctsMainWrapperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsMainWrapperComponent)(); }; }
9859
9916
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsMainWrapperComponent, selectors: [["xuilib-hmcts-main-wrapper"]], inputs: { backLink: "backLink", title: "title", summaryErrors: "summaryErrors", banner: "banner", actionButtons: "actionButtons", showWarningMessage: "showWarningMessage" }, outputs: { backEvent: "backEvent" }, ngContentSelectors: _c0, decls: 9, vars: 5, consts: [["class", "govuk-back-link", 3, "routerLink", "click", 4, "ngIf"], ["id", "content", "role", "main", 1, "govuk-main-wrapper"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], [3, "errorMessages", "header", "showWarningMessage", 4, "ngIf"], [3, "type", "message", 4, "ngIf"], ["class", "govuk-heading-xl", 4, "ngIf"], ["class", "govuk-grid-column-one-third", 4, "ngIf"], [1, "govuk-back-link", 3, "click", "routerLink"], [3, "errorMessages", "header", "showWarningMessage"], [3, "type", "message"], [1, "govuk-heading-xl"], [1, "govuk-grid-column-one-third"], [1, "hmcts-page-heading__actions-wrapper"], ["role", "button", "draggable", "false", 3, "class", "click", 4, "ngFor", "ngForOf"], ["role", "button", "draggable", "false", 3, "click"]], template: function HmctsMainWrapperComponent_Template(rf, ctx) { if (rf & 1) {
9860
9917
  i0.ɵɵprojectionDef();
9861
9918
  i0.ɵɵtemplate(0, HmctsMainWrapperComponent_a_0_Template, 3, 4, "a", 0);
@@ -9931,7 +9988,7 @@ class HmctsPrimaryNavigationComponent {
9931
9988
  }
9932
9989
  constructor() {
9933
9990
  }
9934
- static { this.ɵfac = function HmctsPrimaryNavigationComponent_Factory(t) { return new (t || HmctsPrimaryNavigationComponent)(); }; }
9991
+ static { this.ɵfac = function HmctsPrimaryNavigationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsPrimaryNavigationComponent)(); }; }
9935
9992
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsPrimaryNavigationComponent, selectors: [["xuilib-hmcts-primary-navigation"]], inputs: { userLoggedIn: "userLoggedIn", label: "label", items: "items", isBrandedHeader: "isBrandedHeader" }, decls: 1, vars: 1, consts: [["class", "hmcts-primary-navigation", 4, "ngIf"], [1, "hmcts-primary-navigation"], [1, "hmcts-primary-navigation__container"], ["class", "govuk-header__logo", 4, "ngIf"], [1, "hmcts-primary-navigation__list"], ["class", "hmcts-primary-navigation__item", 4, "ngFor", "ngForOf"], [1, "govuk-header__logo"], [1, "hmcts-primary-navigation__item"], [1, "hmcts-primary-navigation__link", 3, "routerLink", "innerHTML"]], template: function HmctsPrimaryNavigationComponent_Template(rf, ctx) { if (rf & 1) {
9936
9993
  i0.ɵɵtemplate(0, HmctsPrimaryNavigationComponent_nav_0_Template, 5, 3, "nav", 0);
9937
9994
  } if (rf & 2) {
@@ -9988,7 +10045,7 @@ function HmctsSubNavigationComponent_nav_0_Template(rf, ctx) { if (rf & 1) {
9988
10045
  i0.ɵɵproperty("ngForOf", ctx_r1.items);
9989
10046
  } }
9990
10047
  class HmctsSubNavigationComponent {
9991
- static { this.ɵfac = function HmctsSubNavigationComponent_Factory(t) { return new (t || HmctsSubNavigationComponent)(); }; }
10048
+ static { this.ɵfac = function HmctsSubNavigationComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || HmctsSubNavigationComponent)(); }; }
9992
10049
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsSubNavigationComponent, selectors: [["xuilib-hmcts-sub-navigation"]], inputs: { label: "label", items: "items" }, decls: 1, vars: 1, consts: [["class", "hmcts-sub-navigation", "role", "navigation", 4, "ngIf"], ["role", "navigation", 1, "hmcts-sub-navigation"], [1, "hmcts-sub-navigation__list"], ["class", "hmcts-sub-navigation__item", 4, "ngFor", "ngForOf"], [1, "hmcts-sub-navigation__item"], ["data-selector", "sub-nav-link", 1, "hmcts-sub-navigation__link", 3, "routerLink"], ["class", "xui-alert-link__number", 4, "ngIf"], [1, "xui-alert-link__number"]], template: function HmctsSubNavigationComponent_Template(rf, ctx) { if (rf & 1) {
9993
10050
  i0.ɵɵtemplate(0, HmctsSubNavigationComponent_nav_0_Template, 3, 2, "nav", 0);
9994
10051
  } if (rf & 2) {
@@ -10074,7 +10131,7 @@ const pipes = [
10074
10131
  CapitalizePipe
10075
10132
  ];
10076
10133
  class ExuiCommonLibModule {
10077
- static { this.ɵfac = function ExuiCommonLibModule_Factory(t) { return new (t || ExuiCommonLibModule)(); }; }
10134
+ static { this.ɵfac = function ExuiCommonLibModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ExuiCommonLibModule)(); }; }
10078
10135
  static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ExuiCommonLibModule }); }
10079
10136
  static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
10080
10137
  { provide: windowToken, useFactory: windowProvider }
@@ -10245,7 +10302,7 @@ class ExuiCommonLibModule {
10245
10302
 
10246
10303
  class GovUiService {
10247
10304
  constructor() { }
10248
- static { this.ɵfac = function GovUiService_Factory(t) { return new (t || GovUiService)(); }; }
10305
+ static { this.ɵfac = function GovUiService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || GovUiService)(); }; }
10249
10306
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GovUiService, factory: GovUiService.ɵfac, providedIn: 'root' }); }
10250
10307
  }
10251
10308
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GovUiService, [{