@hmcts/ccd-case-ui-toolkit 7.3.64 → 7.3.65-exui-3740

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, DOCUMENT, Injectable, Inject, InjectionToken, Optional, ChangeDetectorRef, Directive, ViewChild, ChangeDetectionStrategy, Injector, ViewContainerRef, SecurityContext, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+ import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, Injectable, DOCUMENT, Inject, InjectionToken, Optional, ChangeDetectorRef, Directive, ViewChild, ChangeDetectionStrategy, Injector, ViewContainerRef, SecurityContext, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
3
  import * as i5 from '@angular/common';
4
4
  import { CommonModule, AsyncPipe, CurrencyPipe, formatDate } from '@angular/common';
5
5
  import * as i1 from 'rpx-xui-translation';
@@ -1321,6 +1321,140 @@ class CaseEditorConfig {
1321
1321
  enable_service_specific_multi_followups;
1322
1322
  }
1323
1323
 
1324
+ class StructuredLoggerService {
1325
+ static CIRCULAR_VALUE = '[Circular]';
1326
+ static MAX_DEPTH_VALUE = '[MaxDepth]';
1327
+ static MAX_REDACTION_DEPTH = 10;
1328
+ static REDACTED_VALUE = '[REDACTED]';
1329
+ static KEY_VALUE_PATTERN = /\b([a-z][\w-]*(?:[ _-][a-z][\w-]*)?)([ \t]*[:=][ \t]*)((?:Bearer[ \t]+)?)([^,;&\s]+)/gi;
1330
+ static SENSITIVE_KEY_PATTERN = /(password|passcode|pwd|secret|token|authori[sz]ation|authentication|auth[-_ ]?context|^auth$|api[-_ ]?key|cookie|session|credential)/i;
1331
+ static BEARER_TOKEN_PATTERN = /\bBearer\s+([\w.~+/-]+=*)/gi;
1332
+ debug(message, context) {
1333
+ this.write('debug', message, context);
1334
+ }
1335
+ error(message, context) {
1336
+ this.write('error', message, context);
1337
+ }
1338
+ info(message, context) {
1339
+ this.write('info', message, context);
1340
+ }
1341
+ warn(message, context) {
1342
+ this.write('warn', message, context);
1343
+ }
1344
+ redact(value) {
1345
+ return this.redactValue(value, new WeakSet(), false, 0);
1346
+ }
1347
+ write(level, message, context) {
1348
+ const entry = {
1349
+ level,
1350
+ message,
1351
+ timestamp: new Date().toISOString()
1352
+ };
1353
+ if (context !== undefined) {
1354
+ entry.context = this.redact(context);
1355
+ }
1356
+ switch (level) {
1357
+ case 'error':
1358
+ console.error(entry);
1359
+ break;
1360
+ case 'warn':
1361
+ console.warn(entry);
1362
+ break;
1363
+ default:
1364
+ console.log(entry);
1365
+ }
1366
+ }
1367
+ redactValue(value, seen, redactCurrentValue, depth) {
1368
+ if (redactCurrentValue) {
1369
+ return StructuredLoggerService.REDACTED_VALUE;
1370
+ }
1371
+ if (value === null || value === undefined) {
1372
+ return value;
1373
+ }
1374
+ if (typeof value === 'string') {
1375
+ return this.redactSensitiveString(value);
1376
+ }
1377
+ if (typeof value !== 'object') {
1378
+ return value;
1379
+ }
1380
+ if (seen.has(value)) {
1381
+ return StructuredLoggerService.CIRCULAR_VALUE;
1382
+ }
1383
+ if (depth >= StructuredLoggerService.MAX_REDACTION_DEPTH) {
1384
+ return StructuredLoggerService.MAX_DEPTH_VALUE;
1385
+ }
1386
+ seen.add(value);
1387
+ let redactedValue;
1388
+ if (value instanceof Date) {
1389
+ redactedValue = value.toISOString();
1390
+ }
1391
+ else if (value instanceof Error) {
1392
+ redactedValue = this.redactError(value, seen, depth);
1393
+ }
1394
+ else if (Array.isArray(value)) {
1395
+ redactedValue = value.map(item => this.redactValue(item, seen, false, depth + 1));
1396
+ }
1397
+ else {
1398
+ redactedValue = this.redactObject(value, seen, depth);
1399
+ }
1400
+ seen.delete(value);
1401
+ return redactedValue;
1402
+ }
1403
+ redactError(error, seen, depth) {
1404
+ const redactedError = {
1405
+ name: this.redactValue(error.name, seen, false, depth + 1),
1406
+ message: this.redactValue(error.message, seen, false, depth + 1)
1407
+ };
1408
+ if (error.stack) {
1409
+ redactedError.stack = this.redactValue(error.stack, seen, false, depth + 1);
1410
+ }
1411
+ const errorContext = error;
1412
+ Object.keys(errorContext).forEach(key => {
1413
+ redactedError[key] = this.redactValue(errorContext[key], seen, this.isSensitiveKey(key), depth + 1);
1414
+ });
1415
+ return redactedError;
1416
+ }
1417
+ redactObject(value, seen, depth) {
1418
+ const redactedValue = {};
1419
+ const hasSensitiveNamedValue = this.hasSensitiveNamedValue(value);
1420
+ Object.keys(value).forEach(key => {
1421
+ redactedValue[key] = this.redactValue(value[key], seen, this.isSensitiveKey(key) || (hasSensitiveNamedValue && this.isValueKey(key)), depth + 1);
1422
+ });
1423
+ return redactedValue;
1424
+ }
1425
+ redactSensitiveString(value) {
1426
+ return value
1427
+ .replace(StructuredLoggerService.KEY_VALUE_PATTERN, (match, key, separator, bearerPrefix) => {
1428
+ return this.isSensitiveKey(key) ? `${key}${separator}${bearerPrefix}${StructuredLoggerService.REDACTED_VALUE}` : match;
1429
+ })
1430
+ .replace(StructuredLoggerService.BEARER_TOKEN_PATTERN, 'Bearer [REDACTED]');
1431
+ }
1432
+ hasSensitiveNamedValue(value) {
1433
+ return Object.keys(value)
1434
+ .some(key => {
1435
+ const namedValue = value[key];
1436
+ return this.isNameKey(key) && typeof namedValue === 'string' && this.isSensitiveKey(namedValue);
1437
+ });
1438
+ }
1439
+ isNameKey(key) {
1440
+ return ['key', 'name'].includes(key.toLowerCase());
1441
+ }
1442
+ isSensitiveKey(key) {
1443
+ return StructuredLoggerService.SENSITIVE_KEY_PATTERN.test(key);
1444
+ }
1445
+ isValueKey(key) {
1446
+ return ['value', 'values'].includes(key.toLowerCase());
1447
+ }
1448
+ static ɵfac = function StructuredLoggerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || StructuredLoggerService)(); };
1449
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StructuredLoggerService, factory: StructuredLoggerService.ɵfac, providedIn: 'root' });
1450
+ }
1451
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StructuredLoggerService, [{
1452
+ type: Injectable,
1453
+ args: [{
1454
+ providedIn: 'root'
1455
+ }]
1456
+ }], null, null); })();
1457
+
1324
1458
  class HttpError {
1325
1459
  constructor() {
1326
1460
  this.timestamp = new Date().toISOString();
@@ -1461,6 +1595,7 @@ class LoadingModule {
1461
1595
  class HttpErrorService {
1462
1596
  authService;
1463
1597
  loadingService;
1598
+ static logger = new StructuredLoggerService();
1464
1599
  constructor(authService, loadingService) {
1465
1600
  this.authService = authService;
1466
1601
  this.loadingService = loadingService;
@@ -1479,7 +1614,7 @@ class HttpErrorService {
1479
1614
  httpError = HttpError.from(error);
1480
1615
  }
1481
1616
  catch (e) {
1482
- console.error(e, e.message);
1617
+ HttpErrorService.logger.error('Unable to convert HTTP error response.', { error: e });
1483
1618
  }
1484
1619
  }
1485
1620
  if (!httpError.status) {
@@ -1505,8 +1640,6 @@ class HttpErrorService {
1505
1640
  return error;
1506
1641
  }
1507
1642
  handle(error, redirectIfNotAuthorised = true) {
1508
- console.error('Handling error in http error service.');
1509
- console.error(error);
1510
1643
  if (this.loadingService.hasSharedSpinner()) {
1511
1644
  this.loadingService.unregisterSharedSpinner();
1512
1645
  }
@@ -1646,6 +1779,7 @@ class SessionStorageService {
1646
1779
  }]
1647
1780
  }], null, null); })();
1648
1781
 
1782
+ const logger = new StructuredLoggerService();
1649
1783
  function safeJsonParse(value, fallback = null) {
1650
1784
  if (!value) {
1651
1785
  return fallback;
@@ -1655,8 +1789,7 @@ function safeJsonParse(value, fallback = null) {
1655
1789
  }
1656
1790
  catch (error) {
1657
1791
  // Log for diagnostics, then return fallback to avoid UI crashes.
1658
- // eslint-disable-next-line no-console
1659
- console.error('safeJsonParse failed to parse JSON', error);
1792
+ logger.error('safeJsonParse failed to parse JSON.', { error });
1660
1793
  return fallback;
1661
1794
  }
1662
1795
  }
@@ -1668,6 +1801,7 @@ class SessionStorageGuard {
1668
1801
  router;
1669
1802
  errorRoute;
1670
1803
  errorLogger;
1804
+ logger = new StructuredLoggerService();
1671
1805
  constructor(sessionStorageService, router, errorRoute, errorLogger) {
1672
1806
  this.sessionStorageService = sessionStorageService;
1673
1807
  this.router = router;
@@ -1688,8 +1822,7 @@ class SessionStorageGuard {
1688
1822
  this.errorLogger(error);
1689
1823
  }
1690
1824
  else {
1691
- // eslint-disable-next-line no-console
1692
- console.error('Invalid userDetails in session storage', error);
1825
+ this.logger.error('Invalid userDetails in session storage.', { error });
1693
1826
  }
1694
1827
  this.router.navigate([this.errorRoute || '/session-error']);
1695
1828
  return false;
@@ -1740,6 +1873,7 @@ class ActivityService {
1740
1873
  sessionStorageService;
1741
1874
  static get ACTIVITY_VIEW() { return 'view'; }
1742
1875
  static get ACTIVITY_EDIT() { return 'edit'; }
1876
+ logger = new StructuredLoggerService();
1743
1877
  constructor(http, appConfig, sessionStorageService) {
1744
1878
  this.http = http;
1745
1879
  this.appConfig = appConfig;
@@ -1778,7 +1912,7 @@ class ActivityService {
1778
1912
  .pipe(map(response => response));
1779
1913
  }
1780
1914
  catch (error) {
1781
- console.log(`user may not be authenticated.${error}`);
1915
+ this.logUserMayNotBeAuthenticated(error);
1782
1916
  }
1783
1917
  }
1784
1918
  postActivity(caseId, activity) {
@@ -1791,7 +1925,7 @@ class ActivityService {
1791
1925
  .pipe(map(response => response));
1792
1926
  }
1793
1927
  catch (error) {
1794
- console.log(`user may not be authenticated.${error}`);
1928
+ this.logUserMayNotBeAuthenticated(error);
1795
1929
  }
1796
1930
  }
1797
1931
  verifyUserIsAuthorized() {
@@ -1804,6 +1938,9 @@ class ActivityService {
1804
1938
  activityUrl() {
1805
1939
  return this.appConfig.getActivityUrl();
1806
1940
  }
1941
+ logUserMayNotBeAuthenticated(error) {
1942
+ this.logger.error('User may not be authenticated. Activity request was not sent.', { error });
1943
+ }
1807
1944
  static ɵfac = function ActivityService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActivityService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(SessionStorageService)); };
1808
1945
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityService, factory: ActivityService.ɵfac });
1809
1946
  }
@@ -1816,6 +1953,7 @@ class ActivityPollingService {
1816
1953
  activityService;
1817
1954
  ngZone;
1818
1955
  config;
1956
+ logger = new StructuredLoggerService();
1819
1957
  pendingRequests = new Map();
1820
1958
  currentTimeoutHandle;
1821
1959
  pollActivitiesSubscription;
@@ -1859,7 +1997,6 @@ class ActivityPollingService {
1859
1997
  }
1860
1998
  }
1861
1999
  if (this.pendingRequests.size >= this.maxRequestsPerBatch) {
1862
- // console.log('max pending hit: flushing requests');
1863
2000
  this.flushRequests();
1864
2001
  }
1865
2002
  return subject;
@@ -1895,7 +2032,6 @@ class ActivityPollingService {
1895
2032
  }
1896
2033
  performBatchRequest(requests) {
1897
2034
  const caseIds = Array.from(requests.keys()).join();
1898
- // console.log('issuing batch request for cases: ' + caseIds);
1899
2035
  this.ngZone.runOutsideAngular(() => {
1900
2036
  // run polling outside angular zone so it does not trigger change detection
1901
2037
  this.pollActivitiesSubscription = this.pollActivities(caseIds).subscribe({
@@ -1907,7 +2043,7 @@ class ActivityPollingService {
1907
2043
  });
1908
2044
  }),
1909
2045
  error: (err) => this.ngZone.run(() => {
1910
- console.log(`error: ${err}`);
2046
+ this.logger.error('Error while polling activities.', { error: err });
1911
2047
  Array.from(requests.values()).forEach((subject) => subject.error(err));
1912
2048
  })
1913
2049
  });
@@ -3408,6 +3544,7 @@ __decorate([
3408
3544
 
3409
3545
  // @dynamic
3410
3546
  class CaseField {
3547
+ static logger = new StructuredLoggerService();
3411
3548
  id;
3412
3549
  hidden;
3413
3550
  hiddenCannotChange;
@@ -3550,7 +3687,7 @@ class CaseField {
3550
3687
  }
3551
3688
  }
3552
3689
  else {
3553
- console.log("Path too long, possible circular reference in case field hierarchy");
3690
+ CaseField.logger.error('Path too long, possible circular reference in case field hierarchy.');
3554
3691
  return this.id;
3555
3692
  }
3556
3693
  }
@@ -4033,6 +4170,7 @@ class WorkbasketInput {
4033
4170
 
4034
4171
  // @dynamic
4035
4172
  class FieldsUtils {
4173
+ static logger = new StructuredLoggerService();
4036
4174
  static caseLevelCaseFlagsFieldId = 'caseFlags';
4037
4175
  static currencyPipe = new CurrencyPipe('en-GB');
4038
4176
  static datePipe = new DatePipe(new FormatTranslatorService());
@@ -4297,7 +4435,11 @@ class FieldsUtils {
4297
4435
  caseFieldType.complex_fields.forEach(field => {
4298
4436
  try {
4299
4437
  const isDynamicField = FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE.indexOf(field.field_type.type) !== -1;
4300
- if (isDynamicField) {
4438
+ const isDynamicMultiSelectField = field.field_type.type === 'DynamicMultiSelectList';
4439
+ if (isDynamicMultiSelectField) {
4440
+ this.setDynamicMultiSelectListDefinition(field, rootCaseField);
4441
+ }
4442
+ else if (isDynamicField) {
4301
4443
  const dynamicListValue = this.getDynamicListValue(rootCaseField.value, field.id);
4302
4444
  if (dynamicListValue) {
4303
4445
  const list_items = dynamicListValue[0].list_items;
@@ -4320,7 +4462,7 @@ class FieldsUtils {
4320
4462
  }
4321
4463
  }
4322
4464
  catch (error) {
4323
- console.log(error);
4465
+ FieldsUtils.logger.error('Error setting dynamic list definition.', { error });
4324
4466
  }
4325
4467
  });
4326
4468
  }
@@ -4330,6 +4472,29 @@ class FieldsUtils {
4330
4472
  }
4331
4473
  }
4332
4474
  }
4475
+ static setDynamicMultiSelectListDefinition(field, rootCaseField) {
4476
+ const dynamicListValue = this.getDynamicListValue(rootCaseField.value, field.id);
4477
+ if (dynamicListValue) {
4478
+ const list_items = dynamicListValue.find(data => data?.list_items !== undefined)?.list_items;
4479
+ if (list_items !== undefined) {
4480
+ field.list_items = list_items;
4481
+ field.formatted_value = {
4482
+ ...field.formatted_value,
4483
+ list_items
4484
+ };
4485
+ }
4486
+ if (rootCaseField.field_type.type !== FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_COLLECTION) {
4487
+ const value = dynamicListValue[0]?.value;
4488
+ if (value !== undefined) {
4489
+ field.value = value;
4490
+ field.formatted_value = {
4491
+ ...field.formatted_value,
4492
+ value
4493
+ };
4494
+ }
4495
+ }
4496
+ }
4497
+ }
4333
4498
  static getDynamicListValue(jsonBlock, key) {
4334
4499
  const data = jsonBlock ? this.getNestedFieldValues(jsonBlock, key, []) : [];
4335
4500
  return data.length > 0 ? data : null;
@@ -4763,6 +4928,7 @@ const conditionSource = `{
4763
4928
  var peg = generate(conditionSource);
4764
4929
 
4765
4930
  class ConditionParser {
4931
+ static logger = new StructuredLoggerService();
4766
4932
  /**
4767
4933
  * Parse the raw formula and output structured condition data
4768
4934
  * that can be used in evaluating show/hide logic
@@ -4939,14 +5105,14 @@ class ConditionParser {
4939
5105
  return (fields[head][arrayIndex] !== undefined) ? this.findValueForComplexCondition(fields[head][arrayIndex]['value'], tail[0], tail.slice(1), dropNumberPath.join('_')) : null;
4940
5106
  }
4941
5107
  catch (e) {
4942
- console.error('Error while parsing number', pathTail[0], e);
5108
+ this.logger.error('Error while parsing form array path index.', { error: e, pathIndex: pathTail[0] });
4943
5109
  }
4944
5110
  }
4945
5111
  }
4946
5112
  else {
4947
5113
  // EXUI-2460 - if path present then show error, otherwise log message to stop unnecessary console errors
4948
- path ? console.error('Path in formArray should start with ', head, ', full path: ', path) :
4949
- console.log('Path not present in formArray');
5114
+ path ? this.logger.error('Path in formArray should start with the expected field.', { expectedHead: head, path }) :
5115
+ this.logger.info('Path not present in formArray.');
4950
5116
  }
4951
5117
  }
4952
5118
  static removeStarChar(str) {
@@ -5980,8 +6146,12 @@ class FieldTypeSanitiser {
5980
6146
  break;
5981
6147
  case FieldTypeSanitiser.FIELD_TYPE_COLLECTION:
5982
6148
  if (Array.isArray(data[caseField.id])) {
5983
- data[caseField.id].forEach((formElement) => {
5984
- this.sanitiseLists(caseField.field_type.collection_field_type.complex_fields, formElement.value);
6149
+ data[caseField.id].forEach((formElement, index) => {
6150
+ const matchingItem = Array.isArray(caseField.value) && formElement?.id !== undefined
6151
+ ? caseField.value.find((item) => item?.id === formElement.id)
6152
+ : null;
6153
+ const collectionItem = matchingItem || (Array.isArray(caseField.value) ? caseField.value[index] : null);
6154
+ this.sanitiseLists(this.copyCaseFieldsWithCollectionData(caseField.field_type.collection_field_type.complex_fields, collectionItem?.value || collectionItem), formElement.value);
5985
6155
  });
5986
6156
  }
5987
6157
  break;
@@ -6021,6 +6191,25 @@ class FieldTypeSanitiser {
6021
6191
  }
6022
6192
  });
6023
6193
  }
6194
+ copyCaseFieldsWithCollectionData(caseFields, collectionItemData) {
6195
+ return caseFields.map((field) => {
6196
+ const fieldData = collectionItemData?.[field.id];
6197
+ if (field.field_type.type === FieldTypeSanitiser.FIELD_TYPE_COMPLEX) {
6198
+ return {
6199
+ ...field,
6200
+ field_type: {
6201
+ ...field.field_type,
6202
+ complex_fields: this.copyCaseFieldsWithCollectionData(field.field_type.complex_fields, fieldData)
6203
+ }
6204
+ };
6205
+ }
6206
+ return this.isDynamicList(field.field_type.type) &&
6207
+ field.display_context !== 'HIDDEN' &&
6208
+ fieldData?.list_items !== undefined
6209
+ ? { ...field, list_items: fieldData.list_items }
6210
+ : field;
6211
+ });
6212
+ }
6024
6213
  isDynamicList(fieldType) {
6025
6214
  return FieldTypeSanitiser.DYNAMIC_LIST_TYPE.indexOf(fieldType) !== -1;
6026
6215
  }
@@ -8163,13 +8352,17 @@ class ArtificialDelayContext {
8163
8352
  }
8164
8353
  }
8165
8354
  class RetryUtil {
8355
+ logger = new StructuredLoggerService();
8166
8356
  pipeTimeoutMechanismOn(in$, preferredArtificialDelay, timeoutPeriods) {
8167
8357
  const artificialDelayContext = new ArtificialDelayContext(preferredArtificialDelay);
8168
- console.info(`Piping a retry mechanism with timeouts {${timeoutPeriods}}.`);
8169
- console.info(`Artificial delay will be applied: ${artificialDelayContext.shouldApplyArtificialDelay()}.`);
8358
+ this.logger.info('Piping a retry mechanism with timeouts.', { timeoutPeriods });
8359
+ this.logger.info('Artificial delay setting resolved.', { artificialDelayApplied: artificialDelayContext.shouldApplyArtificialDelay() });
8170
8360
  let out$ = in$;
8171
8361
  if (artificialDelayContext.shouldApplyArtificialDelay()) {
8172
- console.info(`Preferred artificial delay: ${preferredArtificialDelay} seconds. Actual delay selected: ${artificialDelayContext.getActualDelay()}`);
8362
+ this.logger.info('Preferred artificial delay selected.', {
8363
+ actualDelaySeconds: artificialDelayContext.getActualDelay(),
8364
+ preferredDelaySeconds: preferredArtificialDelay
8365
+ });
8173
8366
  out$ = this.pipeArtificialDelayOn(out$, artificialDelayContext);
8174
8367
  }
8175
8368
  out$ = this.pipeTimeOutControlOn(out$, timeoutPeriods);
@@ -8178,36 +8371,35 @@ class RetryUtil {
8178
8371
  }
8179
8372
  pipeTimeOutControlOn(in$, timeoutPeriods) {
8180
8373
  const timeOutAfterSeconds = timeoutPeriods[0];
8181
- console.info(`Piping timeout control with ${timeOutAfterSeconds} seconds.`);
8374
+ this.logger.info('Piping timeout control.', { timeoutSeconds: timeOutAfterSeconds });
8182
8375
  const out$ = in$.pipe(timeout(timeOutAfterSeconds * 1000));
8183
8376
  return out$;
8184
8377
  }
8185
8378
  pipeRetryMechanismOn(in$, artificialDelayContext) {
8186
8379
  const retryStrategy = (errors) => {
8187
8380
  return errors.pipe(mergeMap((error, i) => {
8188
- console.error(`Mapping error ${error?.name}, ${i}`);
8189
- console.error(error);
8381
+ this.logger.error('Mapping retry error.', { error, errorName: error?.name, attempt: i });
8190
8382
  if (error?.name === 'TimeoutError' && i === 0) {
8191
8383
  artificialDelayContext.turnOffArtificialDelays();
8192
- console.info('Will retry, after a timeout error.');
8384
+ this.logger.info('Will retry after a timeout error.');
8193
8385
  }
8194
8386
  else {
8195
- console.error('Will NOT retry.');
8387
+ this.logger.error('Will not retry request after error.', { error, errorName: error?.name, attempt: i });
8196
8388
  throw error;
8197
8389
  }
8198
8390
  return timer(0);
8199
- }), finalize(() => console.log('We are done!')));
8391
+ }), finalize(() => undefined));
8200
8392
  };
8201
8393
  const out$ = in$.pipe(retryWhen(retryStrategy));
8202
8394
  return out$;
8203
8395
  }
8204
8396
  pipeArtificialDelayOn(in$, artificialDelayContext) {
8205
8397
  let out$ = in$.pipe(tap(() => {
8206
- console.log(`Artificially delaying for ${artificialDelayContext.getActualDelay()} seconds..`);
8398
+ this.logger.info('Artificial delay started.', { delaySeconds: artificialDelayContext.getActualDelay() });
8207
8399
  }));
8208
8400
  out$ = out$.pipe(delayWhen(() => timer(artificialDelayContext.getActualDelay() * 1000)));
8209
8401
  out$ = out$.pipe(tap(() => {
8210
- console.log(`Artificially delayed for ${artificialDelayContext.getActualDelay()} seconds..`);
8402
+ this.logger.info('Artificial delay completed.', { delaySeconds: artificialDelayContext.getActualDelay() });
8211
8403
  }));
8212
8404
  return out$;
8213
8405
  }
@@ -8420,6 +8612,7 @@ class SearchResultViewItemComparatorFactory {
8420
8612
  class OrganisationService {
8421
8613
  http;
8422
8614
  appconfig;
8615
+ logger = new StructuredLoggerService();
8423
8616
  constructor(http, appconfig) {
8424
8617
  this.http = http;
8425
8618
  this.appconfig = appconfig;
@@ -8452,7 +8645,7 @@ class OrganisationService {
8452
8645
  const cacheTimeOut = this.appconfig.getCacheTimeOut();
8453
8646
  this.organisations$ = this.http.get(url)
8454
8647
  .pipe(map((orgs) => OrganisationService.mapOrganisation(orgs)), publishReplay(1, cacheTimeOut), refCount(), take(1), catchError(e => {
8455
- console.log(e);
8648
+ this.logger.error('Error while retrieving active organisations.', { error: e });
8456
8649
  // Handle error and return blank Observable array
8457
8650
  return of([]);
8458
8651
  }));
@@ -9192,7 +9385,6 @@ class EventCompletionStateMachineService {
9192
9385
  }
9193
9386
  entryActionForStateFinal(state, context) {
9194
9387
  // Final actions can be performed here, the state machine finished running
9195
- console.log('FINAL');
9196
9388
  }
9197
9389
  addTransitionsForStateCheckTasksCanBeCompleted() {
9198
9390
  // Complete event and task
@@ -9344,7 +9536,6 @@ class WorkAllocationService {
9344
9536
  // explicitly eat away 401 error and 400 error
9345
9537
  if (error && error.status && (error.status === 401 || error.status === 400)) {
9346
9538
  // do nothing
9347
- console.log('error status 401 or 400', error);
9348
9539
  }
9349
9540
  else {
9350
9541
  return throwError(error);
@@ -9818,8 +10009,10 @@ class CaseEditComponent {
9818
10009
  return form.value.event.id;
9819
10010
  }
9820
10011
  generateCaseEventData({ eventTrigger, form }) {
10012
+ const formData = this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields);
10013
+ this.formValueService.sanitiseDynamicLists(eventTrigger.case_fields, { data: formData });
9821
10014
  const caseEventData = {
9822
- data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields), this.isCaseFlagSubmission)),
10015
+ data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(formData, this.isCaseFlagSubmission)),
9823
10016
  event: form.value.event
9824
10017
  };
9825
10018
  this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);
@@ -10201,6 +10394,7 @@ class CasesService {
10201
10394
  loadingService;
10202
10395
  sessionStorageService;
10203
10396
  retryUtil;
10397
+ logger = new StructuredLoggerService();
10204
10398
  // Internal (UI) API
10205
10399
  static V2_MEDIATYPE_CASE_VIEW = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-case-view.v2+json';
10206
10400
  static V2_MEDIATYPE_START_CASE_TRIGGER = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-start-case-trigger.v2+json;charset=UTF-8';
@@ -10255,12 +10449,11 @@ class CasesService {
10255
10449
  let http$ = this.http.get(url, { headers, observe: 'body' });
10256
10450
  const artificialDelay = this.appConfig.getTimeoutsCaseRetrievalArtificialDelay();
10257
10451
  const timeoutPeriods = this.appConfig.getTimeoutsForCaseRetrieval();
10258
- console.log(`Timeout periods: ${timeoutPeriods} seconds.`);
10259
10452
  if (timeoutPeriods && timeoutPeriods.length > 0 && timeoutPeriods[0] > 0) {
10260
10453
  http$ = this.retryUtil.pipeTimeoutMechanismOn(http$, artificialDelay, timeoutPeriods);
10261
10454
  }
10262
10455
  else {
10263
- console.warn('Skipping to pipe a retry mechanism!');
10456
+ this.logger.warn('Skipping retry mechanism for case view retrieval.');
10264
10457
  }
10265
10458
  http$ = this.pipeErrorProcessor(http$);
10266
10459
  http$ = http$.pipe(finalize(() => this.finalizeGetCaseViewWith(caseId, loadingToken)));
@@ -10268,8 +10461,11 @@ class CasesService {
10268
10461
  }
10269
10462
  pipeErrorProcessor(in$) {
10270
10463
  const out$ = in$.pipe(catchError(error => {
10271
- console.error(`Error while getting case view with getCaseViewV2! Error type: '${typeof error}, Error name: '${error?.name}'`);
10272
- console.error(error);
10464
+ this.logger.error('Error while getting case view with getCaseViewV2.', {
10465
+ error,
10466
+ errorName: error?.name,
10467
+ errorType: typeof error
10468
+ });
10273
10469
  this.errorService.setError(error);
10274
10470
  return throwError(error);
10275
10471
  }));
@@ -11381,6 +11577,7 @@ class CaseEditPageComponent {
11381
11577
  dialogRefAfterClosedSub;
11382
11578
  saveDraftSub;
11383
11579
  caseFormValidationErrorsSub;
11580
+ logger = new StructuredLoggerService();
11384
11581
  static scrollToTop() {
11385
11582
  window.scrollTo(0, 0);
11386
11583
  }
@@ -11712,7 +11909,6 @@ class CaseEditPageComponent {
11712
11909
  }
11713
11910
  if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
11714
11911
  this.addressService.setMandatoryError(false);
11715
- console.log('Case Edit Error', this.caseEdit.error);
11716
11912
  if (this.caseEdit.validPageList.findIndex(page => page.id === this.currentPage.id) === -1) {
11717
11913
  this.caseEdit.validPageList.push(this.currentPage);
11718
11914
  }
@@ -11925,7 +12121,7 @@ class CaseEditPageComponent {
11925
12121
  this.formErrorService
11926
12122
  .mapFieldErrors(this.caseEdit.error.details.field_errors, this.editForm?.controls?.['data'], 'validation');
11927
12123
  }
11928
- console.log('handleError ', error);
12124
+ this.logger.error('Case edit page handled an error.', { error });
11929
12125
  }
11930
12126
  resetErrors() {
11931
12127
  this.clearValidationErrors();
@@ -13032,6 +13228,7 @@ function WriteAddressFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
13032
13228
  } }
13033
13229
  class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
13034
13230
  isCompoundPipe;
13231
+ logger = new StructuredLoggerService();
13035
13232
  writeComplexFieldComponent;
13036
13233
  focusElementDirectives;
13037
13234
  static REQUIRED_ERROR_MESSAGE = 'Enter a Postcode';
@@ -13084,7 +13281,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
13084
13281
  });
13085
13282
  }, (error) => {
13086
13283
  this.loadingAddresses = false;
13087
- console.log(`An error occurred retrieving addresses for postcode ${postcode}. ${error}`);
13284
+ this.logger.error('An error occurred retrieving addresses for postcode.', { error });
13088
13285
  });
13089
13286
  this.addressList.setValue(undefined);
13090
13287
  this.refocusElement();
@@ -13184,7 +13381,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
13184
13381
  type: ViewChildren,
13185
13382
  args: [FocusElementDirective]
13186
13383
  }] }); })();
13187
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber: 18 }); })();
13384
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber: 19 }); })();
13188
13385
 
13189
13386
  var PaletteContext;
13190
13387
  (function (PaletteContext) {
@@ -15175,6 +15372,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
15175
15372
  scrollToService;
15176
15373
  profileNotifier;
15177
15374
  cdRef;
15375
+ logger = new StructuredLoggerService();
15178
15376
  caseFields = [];
15179
15377
  formArray;
15180
15378
  profile;
@@ -15322,7 +15520,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
15322
15520
  duration: 1000,
15323
15521
  offset: -150,
15324
15522
  })
15325
- .subscribe(() => { }, console.error);
15523
+ .subscribe(() => { }, error => this.logger.error('Error while scrolling collection item into view.', { error }));
15326
15524
  }
15327
15525
  this.focusLastItem();
15328
15526
  }
@@ -15530,7 +15728,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
15530
15728
  type: ViewChildren,
15531
15729
  args: ['collectionItem']
15532
15730
  }] }); })();
15533
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 33 }); })();
15731
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 34 }); })();
15534
15732
 
15535
15733
  function ReadComplexFieldComponent_ccd_read_complex_field_raw_1_Template(rf, ctx) { if (rf & 1) {
15536
15734
  i0.ɵɵelement(0, "ccd-read-complex-field-raw", 4);
@@ -15902,8 +16100,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15902
16100
  this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
15903
16101
  this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15904
16102
  this.caseId = null;
15905
- console.log(this.jurisdictionId);
15906
- console.log(this.caseTypeId);
15907
16103
  }
15908
16104
  // use the documentManagement service to check if the document upload should use CDAM
15909
16105
  if (this.documentManagement.isDocumentSecureModeEnabled()) {
@@ -21686,6 +21882,7 @@ const CIVIL_JURISDICTION = 'CIVIL';
21686
21882
  class QueryManagementService {
21687
21883
  router;
21688
21884
  sessionStorageService;
21885
+ logger = new StructuredLoggerService();
21689
21886
  caseQueriesCollections;
21690
21887
  fieldId;
21691
21888
  constructor(router, sessionStorageService) {
@@ -21705,7 +21902,7 @@ class QueryManagementService {
21705
21902
  currentUserDetails = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS), {});
21706
21903
  }
21707
21904
  catch (e) {
21708
- console.error('Could not parse USER_DETAILS from session storage:', e);
21905
+ this.logger.error('Could not parse USER_DETAILS from session storage.', { error: e });
21709
21906
  currentUserDetails = {};
21710
21907
  }
21711
21908
  const isHmctsStaff = (this.isJudiciaryUser() || this.isInternalUser()) ? 'Yes' : 'No';
@@ -21715,7 +21912,7 @@ class QueryManagementService {
21715
21912
  const isNewQuery = queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
21716
21913
  // Check if the field ID has been set dynamically
21717
21914
  if (!this.fieldId) {
21718
- console.error('Error: Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
21915
+ this.logger.error('Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
21719
21916
  this.router.navigate(['/', 'service-down']);
21720
21917
  throw new Error('Field ID for CaseQueriesCollection not found. Aborting query data generation.');
21721
21918
  }
@@ -21775,7 +21972,7 @@ class QueryManagementService {
21775
21972
  setCaseQueriesCollectionData(eventData, queryCreateContext, caseDetails, messageId) {
21776
21973
  const resolvedFieldId = this.resolveFieldId(eventData, queryCreateContext, caseDetails, messageId);
21777
21974
  if (!resolvedFieldId) {
21778
- console.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
21975
+ this.logger.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
21779
21976
  return;
21780
21977
  }
21781
21978
  this.fieldId = resolvedFieldId;
@@ -21795,7 +21992,7 @@ class QueryManagementService {
21795
21992
  field.field_type.type === FIELD_TYPE_COMPLEX &&
21796
21993
  field.display_context !== DISPLAY_CONTEXT_READONLY);
21797
21994
  if (!candidateFields?.length) {
21798
- console.warn('No editable CaseQueriesCollection fields found.');
21995
+ this.logger.warn('No editable CaseQueriesCollection fields found.');
21799
21996
  return null;
21800
21997
  }
21801
21998
  const numberOfCollections = candidateFields.length;
@@ -21822,12 +22019,12 @@ class QueryManagementService {
21822
22019
  }
21823
22020
  }
21824
22021
  else {
21825
- console.error(`Error: Multiple CaseQueriesCollections are not supported yet for the ${jurisdictionId} jurisdiction`);
22022
+ this.logger.error('Multiple CaseQueriesCollections are not supported yet for this jurisdiction.', { jurisdictionId });
21826
22023
  return null;
21827
22024
  }
21828
22025
  }
21829
22026
  // Step 4: Fallback — if none of the above succeeded
21830
- console.warn('Could not determine fieldId for context:', queryCreateContext);
22027
+ this.logger.warn('Could not determine fieldId for context.', { queryCreateContext });
21831
22028
  return null;
21832
22029
  }
21833
22030
  getCaseQueriesCollectionFieldOrderFromWizardPages(eventData) {
@@ -22439,6 +22636,7 @@ class QueryCheckYourAnswersComponent {
22439
22636
  queryManagementService;
22440
22637
  errorNotifierService;
22441
22638
  alertService;
22639
+ logger = new StructuredLoggerService();
22442
22640
  RAISE_A_QUERY_EVENT_TRIGGER_ID = 'queryManagementRaiseQuery';
22443
22641
  RESPOND_TO_QUERY_EVENT_TRIGGER_ID = 'queryManagementRespondQuery';
22444
22642
  CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
@@ -22526,7 +22724,7 @@ class QueryCheckYourAnswersComponent {
22526
22724
  if (error.status !== 401 && error.status !== 403) {
22527
22725
  this.errorNotifierService.announceError(error);
22528
22726
  this.alertService.error({ phrase: error.message });
22529
- console.error('Error occurred while fetching event data:', error);
22727
+ this.logger.error('Error occurred while fetching event data.', { error });
22530
22728
  this.callbackErrorsSubject.next(error);
22531
22729
  }
22532
22730
  else {
@@ -22579,7 +22777,7 @@ class QueryCheckYourAnswersComponent {
22579
22777
  });
22580
22778
  }
22581
22779
  else {
22582
- console.error('Error: No task to complete was found');
22780
+ this.logger.error('No task to complete was found.');
22583
22781
  this.errorMessages = [
22584
22782
  {
22585
22783
  title: 'Error',
@@ -22623,7 +22821,7 @@ class QueryCheckYourAnswersComponent {
22623
22821
  this.isSubmitting = false;
22624
22822
  }
22625
22823
  handleError(error) {
22626
- console.error('Error in API calls:', error);
22824
+ this.logger.error('Error in query management API calls.', { error });
22627
22825
  this.isSubmitting = false;
22628
22826
  if (this.isServiceErrorFound(error)) {
22629
22827
  this.error = null;
@@ -22651,7 +22849,7 @@ class QueryCheckYourAnswersComponent {
22651
22849
  }
22652
22850
  setCaseQueriesCollectionData() {
22653
22851
  if (!this.eventData) {
22654
- console.warn('Event data not available; skipping collection setup.');
22852
+ this.logger.warn('Event data not available; skipping collection setup.');
22655
22853
  }
22656
22854
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
22657
22855
  }
@@ -22686,7 +22884,7 @@ class QueryCheckYourAnswersComponent {
22686
22884
  }], createEventResponse: [{
22687
22885
  type: Output
22688
22886
  }] }); })();
22689
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 32 }); })();
22887
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 33 }); })();
22690
22888
 
22691
22889
  function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
22692
22890
  const _r1 = i0.ɵɵgetCurrentView();
@@ -23747,6 +23945,7 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
23747
23945
  class QueryWriteRaiseQueryComponent {
23748
23946
  queryManagementService;
23749
23947
  route;
23948
+ logger = new StructuredLoggerService();
23750
23949
  formGroup;
23751
23950
  submitted;
23752
23951
  caseDetails;
@@ -23794,7 +23993,7 @@ class QueryWriteRaiseQueryComponent {
23794
23993
  }
23795
23994
  setCaseQueriesCollectionData() {
23796
23995
  if (!this.eventData) {
23797
- console.warn('Event data not available; skipping collection setup.');
23996
+ this.logger.warn('Event data not available; skipping collection setup.');
23798
23997
  return false;
23799
23998
  }
23800
23999
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
@@ -23856,7 +24055,7 @@ class QueryWriteRaiseQueryComponent {
23856
24055
  }], queryDataCreated: [{
23857
24056
  type: Output
23858
24057
  }] }); })();
23859
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRaiseQueryComponent, { className: "QueryWriteRaiseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.ts", lineNumber: 20 }); })();
24058
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRaiseQueryComponent, { className: "QueryWriteRaiseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.ts", lineNumber: 21 }); })();
23860
24059
 
23861
24060
  function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
23862
24061
  i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
@@ -23939,6 +24138,7 @@ class QueryWriteRespondToQueryComponent {
23939
24138
  caseNotifier;
23940
24139
  route;
23941
24140
  queryManagementService;
24141
+ logger = new StructuredLoggerService();
23942
24142
  queryItem;
23943
24143
  formGroup;
23944
24144
  queryCreateContext;
@@ -23973,7 +24173,7 @@ class QueryWriteRespondToQueryComponent {
23973
24173
  this.caseDetails = caseDetails;
23974
24174
  },
23975
24175
  error: (err) => {
23976
- console.error('Error retrieving case details:', err);
24176
+ this.logger.error('Error retrieving case details.', { error: err });
23977
24177
  }
23978
24178
  });
23979
24179
  }
@@ -23983,19 +24183,19 @@ class QueryWriteRespondToQueryComponent {
23983
24183
  return;
23984
24184
  }
23985
24185
  if (!this.caseQueriesCollections[0]) {
23986
- console.error('caseQueriesCollections[0] is undefined!', this.caseQueriesCollections);
24186
+ this.logger.error('Case queries collection is undefined.');
23987
24187
  return;
23988
24188
  }
23989
24189
  this.messageId = this.route.snapshot.params?.dataid;
23990
24190
  if (!this.messageId) {
23991
- console.warn('No messageId found in route params:', this.route.snapshot.params);
24191
+ this.logger.warn('No messageId found in route params.', { routeParams: this.route.snapshot.params });
23992
24192
  return;
23993
24193
  }
23994
24194
  const allMessages = this.caseQueriesCollections
23995
24195
  .flatMap((caseData) => caseData?.caseMessages || []);
23996
24196
  const matchingMessage = allMessages.find((message) => message?.value?.id === this.messageId)?.value;
23997
24197
  if (!matchingMessage) {
23998
- console.warn('No matching message found for ID:', this.messageId);
24198
+ this.logger.warn('No matching message found for ID.', { messageId: this.messageId });
23999
24199
  return;
24000
24200
  }
24001
24201
  const caseQueriesCollections = this.caseQueriesCollections.find((collection) => collection?.caseMessages.find((c) => c.value.id === this.messageId));
@@ -24019,7 +24219,7 @@ class QueryWriteRespondToQueryComponent {
24019
24219
  }
24020
24220
  setCaseQueriesCollectionData() {
24021
24221
  if (!this.eventData) {
24022
- console.warn('Event data not available; skipping collection setup.');
24222
+ this.logger.warn('Event data not available; skipping collection setup.');
24023
24223
  return false;
24024
24224
  }
24025
24225
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
@@ -24084,7 +24284,7 @@ class QueryWriteRespondToQueryComponent {
24084
24284
  }], hasRespondedToQueryTask: [{
24085
24285
  type: Output
24086
24286
  }] }); })();
24087
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 19 }); })();
24287
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 20 }); })();
24088
24288
 
24089
24289
  function QueryConfirmationComponent_main_0_ng_container_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
24090
24290
  i0.ɵɵelementStart(0, "h1", 8);
@@ -24234,6 +24434,7 @@ function QueryConfirmationComponent_main_0_Template(rf, ctx) { if (rf & 1) {
24234
24434
  class QueryConfirmationComponent {
24235
24435
  route;
24236
24436
  sessionStorageService;
24437
+ logger = new StructuredLoggerService();
24237
24438
  queryCreateContext;
24238
24439
  callbackConfirmationMessageText = {};
24239
24440
  eventResponseData;
@@ -24264,7 +24465,7 @@ class QueryConfirmationComponent {
24264
24465
  resolveHmctsStaffRaisedQuery() {
24265
24466
  const messageId = this.route.snapshot.params.dataid;
24266
24467
  if (!this.eventResponseData) {
24267
- console.warn('No event response data available.');
24468
+ this.logger.warn('No event response data available.');
24268
24469
  return;
24269
24470
  }
24270
24471
  this.queryListData = new QueryListData(this.eventResponseData);
@@ -24278,7 +24479,7 @@ class QueryConfirmationComponent {
24278
24479
  ?.flatMap((p) => p.children || [])
24279
24480
  .find((c) => c.parentId === messageId);
24280
24481
  if (!child) {
24281
- console.warn('No matching child found for messageId:', messageId);
24482
+ this.logger.warn('No matching child found for messageId.', { messageId });
24282
24483
  return;
24283
24484
  }
24284
24485
  const parentItem = this.queryListData?.queries
@@ -34402,6 +34603,7 @@ class WorkbasketFiltersComponent {
34402
34603
  static PARAM_JURISDICTION = 'jurisdiction';
34403
34604
  static PARAM_CASE_TYPE = 'case-type';
34404
34605
  static PARAM_CASE_STATE = 'case-state';
34606
+ logger = new StructuredLoggerService();
34405
34607
  caseFields;
34406
34608
  jurisdictions;
34407
34609
  defaults;
@@ -34575,9 +34777,7 @@ class WorkbasketFiltersComponent {
34575
34777
  }
34576
34778
  });
34577
34779
  this.getCaseFields();
34578
- }, error => {
34579
- console.log('Workbasket input fields request will be discarded reason: ', error.message);
34580
- });
34780
+ }, error => this.logger.error('Workbasket input fields request will be discarded.', { error }));
34581
34781
  }
34582
34782
  }
34583
34783
  else {
@@ -34837,7 +35037,7 @@ class WorkbasketFiltersComponent {
34837
35037
  }], onReset: [{
34838
35038
  type: Output
34839
35039
  }] }); })();
34840
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber: 27 }); })();
35040
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber: 28 }); })();
34841
35041
 
34842
35042
  class WorkbasketFiltersModule {
34843
35043
  static ɵfac = function WorkbasketFiltersModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WorkbasketFiltersModule)(); };
@@ -35227,6 +35427,7 @@ class CaseHistoryComponent {
35227
35427
  orderService;
35228
35428
  caseNotifier;
35229
35429
  caseHistoryService;
35430
+ logger = new StructuredLoggerService();
35230
35431
  static PARAM_EVENT_ID = 'eid';
35231
35432
  static ERROR_MESSAGE = 'No case history to show';
35232
35433
  event;
@@ -35259,7 +35460,7 @@ class CaseHistoryComponent {
35259
35460
  this.tabs = this.orderService.sort(this.caseHistory.tabs);
35260
35461
  this.tabs = this.sortTabFieldsAndFilterTabs(this.tabs);
35261
35462
  }), catchError(error => {
35262
- console.error(error);
35463
+ this.logger.error('Error while getting case history.', { error });
35263
35464
  if (error.status !== 401 && error.status !== 403) {
35264
35465
  this.alertService.error(error.message);
35265
35466
  }
@@ -35293,7 +35494,7 @@ class CaseHistoryComponent {
35293
35494
  }], () => [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }], { event: [{
35294
35495
  type: Input
35295
35496
  }] }); })();
35296
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber: 21 }); })();
35497
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber: 22 }); })();
35297
35498
 
35298
35499
  class CaseHistoryModule {
35299
35500
  static ɵfac = function CaseHistoryModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseHistoryModule)(); };
@@ -35517,11 +35718,9 @@ class CaseResolver {
35517
35718
  const currentUrl = this.router.url ?? '';
35518
35719
  // Prevent resolving if eventId=queryManagementRespondQuery is in the URL
35519
35720
  if (currentUrl.includes(CaseResolver.EVENT_ID_QM_RESPOND_TO_QUERY)) {
35520
- console.info('Skipping resolve for event queryManagementRespondQuery.');
35521
35721
  this.goToDefaultPage();
35522
35722
  }
35523
35723
  if (!cid) {
35524
- console.info('No case ID available in the route. Will navigate to case list.');
35525
35724
  // when redirected to case view after a case created, and the user has no READ access,
35526
35725
  // the post returns no id
35527
35726
  this.navigateToCaseList();
@@ -35578,8 +35777,6 @@ class CaseResolver {
35578
35777
  }), catchError(error => this.processErrorInCaseFetch(error, cid))).toPromise();
35579
35778
  }
35580
35779
  processErrorInCaseFetch(error, caseReference) {
35581
- console.error('!!! processErrorInCaseFetch !!!');
35582
- console.error(error);
35583
35780
  // TODO Should be logged to remote logging infrastructure
35584
35781
  if (error.status === 400) {
35585
35782
  this.router.navigate(['/search/noresults']);
@@ -35607,7 +35804,6 @@ class CaseResolver {
35607
35804
  }
35608
35805
  // as discussed for EUI-5456, need functionality to go to default page
35609
35806
  goToDefaultPage() {
35610
- console.info('Going to default page!');
35611
35807
  const userDetails = safeJsonParse(this.sessionStorage.getItem(USER_DETAILS));
35612
35808
  userDetails && userDetails.roles
35613
35809
  && !userDetails.roles.includes(PUI_CASE_MANAGER)
@@ -35805,7 +36001,6 @@ class CaseEventTriggerComponent {
35805
36001
  if (this.activityPollingService.isEnabled) {
35806
36002
  this.ngZone.runOutsideAngular(() => {
35807
36003
  this.activitySubscription = this.postEditActivity().subscribe(() => {
35808
- // console.log('Posted EDIT activity and result is: ' + JSON.stringify(_resolved));
35809
36004
  });
35810
36005
  });
35811
36006
  }
@@ -35976,8 +36171,6 @@ class CaseViewComponent {
35976
36171
  }
35977
36172
  checkErrorGettingCaseView(error) {
35978
36173
  // TODO Should be logged to remote logging infrastructure
35979
- console.error('Called checkErrorGettingCaseView.');
35980
- console.error(error);
35981
36174
  if (error.status !== 401 && error.status !== 403) {
35982
36175
  this.alertService.error(error.message);
35983
36176
  }
@@ -37329,7 +37522,6 @@ class CaseViewerComponent {
37329
37522
  }
37330
37523
  else {
37331
37524
  this.caseSubscription = this.caseNotifier.caseView.subscribe((caseDetails) => {
37332
- console.info('Setting the case into case viewer component as retrieved from XHR request.');
37333
37525
  this.caseDetails = caseDetails;
37334
37526
  this.setUserAccessType(this.caseDetails);
37335
37527
  });
@@ -38197,9 +38389,7 @@ class EventStartStateMachineService {
38197
38389
  if (!task) {
38198
38390
  task = context.tasks[0];
38199
38391
  }
38200
- const taskStr = JSON.stringify(task);
38201
38392
  this.abstractConfig?.logMessage?.(`entryActionForStateOneTaskAssignedToUser: task_state ${task?.task_state} for task id ${task?.id}`);
38202
- console.log('entryActionForStateOneTaskAssignedToUser: setting client context task_data to ' + taskStr);
38203
38393
  // Store task to session
38204
38394
  const currentLanguage = context.cookieService.getCookie('exui-preferred-language');
38205
38395
  const clientContext = {
@@ -38240,7 +38430,6 @@ class EventStartStateMachineService {
38240
38430
  }
38241
38431
  finalAction(state) {
38242
38432
  // Final actions can be performed here, the state machine finished running
38243
- // console.log('FINAL', state);
38244
38433
  return;
38245
38434
  }
38246
38435
  addTransitionsForStateCheckForMatchingTasks() {
@@ -40200,6 +40389,7 @@ class SearchFiltersComponent {
40200
40389
  orderService;
40201
40390
  jurisdictionService;
40202
40391
  windowService;
40392
+ logger = new StructuredLoggerService();
40203
40393
  PARAM_JURISDICTION = 'jurisdiction';
40204
40394
  PARAM_CASE_TYPE = 'case-type';
40205
40395
  PARAM_CASE_STATE = 'case-state';
@@ -40295,7 +40485,7 @@ class SearchFiltersComponent {
40295
40485
  }
40296
40486
  }
40297
40487
  catch (e) {
40298
- console.log("Failed to retrieve jurisdiction from local storage");
40488
+ this.logger.error('Failed to retrieve jurisdiction from local storage.', { error: e });
40299
40489
  this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
40300
40490
  }
40301
40491
  }
@@ -40349,9 +40539,7 @@ class SearchFiltersComponent {
40349
40539
  }
40350
40540
  });
40351
40541
  this.getCaseFields();
40352
- }, error => {
40353
- console.log('Search input fields request will be discarded reason: ', error.message);
40354
- });
40542
+ }, error => this.logger.error('Search input fields request will be discarded.', { error }));
40355
40543
  }
40356
40544
  isJurisdictionSelected() {
40357
40545
  return this.selected.jurisdiction === null ||
@@ -40488,7 +40676,7 @@ class SearchFiltersComponent {
40488
40676
  }], onJurisdiction: [{
40489
40677
  type: Output
40490
40678
  }] }); })();
40491
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber: 27 }); })();
40679
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber: 28 }); })();
40492
40680
 
40493
40681
  function SearchFiltersWrapperComponent_ccd_search_filters_0_Template(rf, ctx) { if (rf & 1) {
40494
40682
  const _r1 = i0.ɵɵgetCurrentView();
@@ -41704,5 +41892,5 @@ class TestRouteSnapshotBuilder {
41704
41892
  * Generated bundle index. Do not edit.
41705
41893
  */
41706
41894
 
41707
- export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryManagementService, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionErrorPageComponent, SessionErrorRoute, SessionJsonErrorLogger, SessionStorageGuard, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, TranslatedMarkdownDirective, TranslatedMarkdownModule, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, safeJsonParse, textFieldType, viewerRouting };
41895
+ export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryManagementService, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionErrorPageComponent, SessionErrorRoute, SessionJsonErrorLogger, SessionStorageGuard, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, StructuredLoggerService, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, TranslatedMarkdownDirective, TranslatedMarkdownModule, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, safeJsonParse, textFieldType, viewerRouting };
41708
41896
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map