@hmcts/ccd-case-ui-toolkit 7.3.64 → 7.3.65-3582-rc-1

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());
@@ -4320,7 +4458,7 @@ class FieldsUtils {
4320
4458
  }
4321
4459
  }
4322
4460
  catch (error) {
4323
- console.log(error);
4461
+ FieldsUtils.logger.error('Error setting dynamic list definition.', { error });
4324
4462
  }
4325
4463
  });
4326
4464
  }
@@ -4763,6 +4901,7 @@ const conditionSource = `{
4763
4901
  var peg = generate(conditionSource);
4764
4902
 
4765
4903
  class ConditionParser {
4904
+ static logger = new StructuredLoggerService();
4766
4905
  /**
4767
4906
  * Parse the raw formula and output structured condition data
4768
4907
  * that can be used in evaluating show/hide logic
@@ -4939,14 +5078,14 @@ class ConditionParser {
4939
5078
  return (fields[head][arrayIndex] !== undefined) ? this.findValueForComplexCondition(fields[head][arrayIndex]['value'], tail[0], tail.slice(1), dropNumberPath.join('_')) : null;
4940
5079
  }
4941
5080
  catch (e) {
4942
- console.error('Error while parsing number', pathTail[0], e);
5081
+ this.logger.error('Error while parsing form array path index.', { error: e, pathIndex: pathTail[0] });
4943
5082
  }
4944
5083
  }
4945
5084
  }
4946
5085
  else {
4947
5086
  // 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');
5087
+ path ? this.logger.error('Path in formArray should start with the expected field.', { expectedHead: head, path }) :
5088
+ this.logger.info('Path not present in formArray.');
4950
5089
  }
4951
5090
  }
4952
5091
  static removeStarChar(str) {
@@ -6418,6 +6557,60 @@ class FormValueService {
6418
6557
  }
6419
6558
  }
6420
6559
  }
6560
+ // exui-3582 When a form field becomes hidden based on user’s input in the event journey,
6561
+ // its stored value must be cleared and it must not be submitted or persisted.
6562
+ removeHiddenField(data, caseFields, clearNonCase, formControls) {
6563
+ if (clearNonCase && data && caseFields && caseFields.length > 0) {
6564
+ for (const field of caseFields) {
6565
+ if (!FormValueService.isLabel(field) && FormValueService.isReadOnly(field)) {
6566
+ // Retain anything that is readonly and not a label.
6567
+ continue;
6568
+ }
6569
+ // Check if formControls[field.id] exists before accessing its properties
6570
+ const caseField = formControls[field.id] ? formControls[field.id]['caseField'] : undefined;
6571
+ if (caseField === undefined || field.hidden === true) {
6572
+ continue;
6573
+ }
6574
+ const hasValue = data.hasOwnProperty(field.id) && data[field.id] != null &&
6575
+ (typeof data[field.id] !== 'object' || Object.keys(data[field.id]).length > 0);
6576
+ if (caseField?.hidden === true &&
6577
+ field.display_context !== 'HIDDEN' &&
6578
+ field.display_context !== 'HIDDEN_TEMP' &&
6579
+ !field.retain_hidden_value &&
6580
+ field.id !== 'caseLinks' &&
6581
+ hasValue) {
6582
+ data[field.id] = null;
6583
+ continue; // If field is now hidden, skip checking its children
6584
+ }
6585
+ if (field.field_type) {
6586
+ switch (field.field_type.type) {
6587
+ case 'Complex':
6588
+ const complexData = data[field.id] ?? data['value'];
6589
+ if (complexData && formControls[field.id] && formControls[field.id]['controls']) {
6590
+ this.removeHiddenField(complexData, field.field_type.complex_fields, clearNonCase, formControls[field.id]['controls']);
6591
+ }
6592
+ break;
6593
+ case 'Collection':
6594
+ const collection = data[field.id];
6595
+ if (collection && Array.isArray(collection) && field.field_type.collection_field_type.type === 'Complex') {
6596
+ collection.forEach((item, index) => {
6597
+ if (formControls[field.id] && formControls[field.id]['controls'] && formControls[field.id]['controls'][index]) {
6598
+ const itemControls = formControls[field.id]?.['controls']?.[index]?.['controls']?.['value'];
6599
+ const collectionData = item['value'] ?? item;
6600
+ if (collectionData && itemControls?.['controls']) {
6601
+ this.removeHiddenField(collectionData, field.field_type.collection_field_type.complex_fields, clearNonCase, itemControls['controls']);
6602
+ }
6603
+ }
6604
+ });
6605
+ }
6606
+ break;
6607
+ default:
6608
+ break;
6609
+ }
6610
+ }
6611
+ }
6612
+ }
6613
+ }
6421
6614
  /**
6422
6615
  * Remove any empty collection fields where a value of greater than zero is specified in the field's {@link FieldType}
6423
6616
  * `min` attribute.
@@ -8163,13 +8356,17 @@ class ArtificialDelayContext {
8163
8356
  }
8164
8357
  }
8165
8358
  class RetryUtil {
8359
+ logger = new StructuredLoggerService();
8166
8360
  pipeTimeoutMechanismOn(in$, preferredArtificialDelay, timeoutPeriods) {
8167
8361
  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()}.`);
8362
+ this.logger.info('Piping a retry mechanism with timeouts.', { timeoutPeriods });
8363
+ this.logger.info('Artificial delay setting resolved.', { artificialDelayApplied: artificialDelayContext.shouldApplyArtificialDelay() });
8170
8364
  let out$ = in$;
8171
8365
  if (artificialDelayContext.shouldApplyArtificialDelay()) {
8172
- console.info(`Preferred artificial delay: ${preferredArtificialDelay} seconds. Actual delay selected: ${artificialDelayContext.getActualDelay()}`);
8366
+ this.logger.info('Preferred artificial delay selected.', {
8367
+ actualDelaySeconds: artificialDelayContext.getActualDelay(),
8368
+ preferredDelaySeconds: preferredArtificialDelay
8369
+ });
8173
8370
  out$ = this.pipeArtificialDelayOn(out$, artificialDelayContext);
8174
8371
  }
8175
8372
  out$ = this.pipeTimeOutControlOn(out$, timeoutPeriods);
@@ -8178,36 +8375,35 @@ class RetryUtil {
8178
8375
  }
8179
8376
  pipeTimeOutControlOn(in$, timeoutPeriods) {
8180
8377
  const timeOutAfterSeconds = timeoutPeriods[0];
8181
- console.info(`Piping timeout control with ${timeOutAfterSeconds} seconds.`);
8378
+ this.logger.info('Piping timeout control.', { timeoutSeconds: timeOutAfterSeconds });
8182
8379
  const out$ = in$.pipe(timeout(timeOutAfterSeconds * 1000));
8183
8380
  return out$;
8184
8381
  }
8185
8382
  pipeRetryMechanismOn(in$, artificialDelayContext) {
8186
8383
  const retryStrategy = (errors) => {
8187
8384
  return errors.pipe(mergeMap((error, i) => {
8188
- console.error(`Mapping error ${error?.name}, ${i}`);
8189
- console.error(error);
8385
+ this.logger.error('Mapping retry error.', { error, errorName: error?.name, attempt: i });
8190
8386
  if (error?.name === 'TimeoutError' && i === 0) {
8191
8387
  artificialDelayContext.turnOffArtificialDelays();
8192
- console.info('Will retry, after a timeout error.');
8388
+ this.logger.info('Will retry after a timeout error.');
8193
8389
  }
8194
8390
  else {
8195
- console.error('Will NOT retry.');
8391
+ this.logger.error('Will not retry request after error.', { error, errorName: error?.name, attempt: i });
8196
8392
  throw error;
8197
8393
  }
8198
8394
  return timer(0);
8199
- }), finalize(() => console.log('We are done!')));
8395
+ }), finalize(() => undefined));
8200
8396
  };
8201
8397
  const out$ = in$.pipe(retryWhen(retryStrategy));
8202
8398
  return out$;
8203
8399
  }
8204
8400
  pipeArtificialDelayOn(in$, artificialDelayContext) {
8205
8401
  let out$ = in$.pipe(tap(() => {
8206
- console.log(`Artificially delaying for ${artificialDelayContext.getActualDelay()} seconds..`);
8402
+ this.logger.info('Artificial delay started.', { delaySeconds: artificialDelayContext.getActualDelay() });
8207
8403
  }));
8208
8404
  out$ = out$.pipe(delayWhen(() => timer(artificialDelayContext.getActualDelay() * 1000)));
8209
8405
  out$ = out$.pipe(tap(() => {
8210
- console.log(`Artificially delayed for ${artificialDelayContext.getActualDelay()} seconds..`);
8406
+ this.logger.info('Artificial delay completed.', { delaySeconds: artificialDelayContext.getActualDelay() });
8211
8407
  }));
8212
8408
  return out$;
8213
8409
  }
@@ -8420,6 +8616,7 @@ class SearchResultViewItemComparatorFactory {
8420
8616
  class OrganisationService {
8421
8617
  http;
8422
8618
  appconfig;
8619
+ logger = new StructuredLoggerService();
8423
8620
  constructor(http, appconfig) {
8424
8621
  this.http = http;
8425
8622
  this.appconfig = appconfig;
@@ -8452,7 +8649,7 @@ class OrganisationService {
8452
8649
  const cacheTimeOut = this.appconfig.getCacheTimeOut();
8453
8650
  this.organisations$ = this.http.get(url)
8454
8651
  .pipe(map((orgs) => OrganisationService.mapOrganisation(orgs)), publishReplay(1, cacheTimeOut), refCount(), take(1), catchError(e => {
8455
- console.log(e);
8652
+ this.logger.error('Error while retrieving active organisations.', { error: e });
8456
8653
  // Handle error and return blank Observable array
8457
8654
  return of([]);
8458
8655
  }));
@@ -9192,7 +9389,6 @@ class EventCompletionStateMachineService {
9192
9389
  }
9193
9390
  entryActionForStateFinal(state, context) {
9194
9391
  // Final actions can be performed here, the state machine finished running
9195
- console.log('FINAL');
9196
9392
  }
9197
9393
  addTransitionsForStateCheckTasksCanBeCompleted() {
9198
9394
  // Complete event and task
@@ -9344,7 +9540,6 @@ class WorkAllocationService {
9344
9540
  // explicitly eat away 401 error and 400 error
9345
9541
  if (error && error.status && (error.status === 401 || error.status === 400)) {
9346
9542
  // do nothing
9347
- console.log('error status 401 or 400', error);
9348
9543
  }
9349
9544
  else {
9350
9545
  return throwError(error);
@@ -9842,6 +10037,11 @@ class CaseEditComponent {
9842
10037
  if (!this.isCaseFlagSubmission) {
9843
10038
  this.formValueService.removeUnnecessaryFields(caseEventData.data, pageListCaseFields, true, true);
9844
10039
  }
10040
+ // removeHiddenFields while are hidden in the UI
10041
+ // Only remove hidden fields if editForm and its controls are available
10042
+ if (form?.controls?.['data']?.['controls']) {
10043
+ this.formValueService.removeHiddenField(caseEventData.data, pageListCaseFields, true, form.controls['data']['controls']);
10044
+ }
9845
10045
  caseEventData.event_token = eventTrigger.event_token;
9846
10046
  caseEventData.ignore_warning = this.ignoreWarning;
9847
10047
  if (this.confirmation) {
@@ -10201,6 +10401,7 @@ class CasesService {
10201
10401
  loadingService;
10202
10402
  sessionStorageService;
10203
10403
  retryUtil;
10404
+ logger = new StructuredLoggerService();
10204
10405
  // Internal (UI) API
10205
10406
  static V2_MEDIATYPE_CASE_VIEW = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-case-view.v2+json';
10206
10407
  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 +10456,11 @@ class CasesService {
10255
10456
  let http$ = this.http.get(url, { headers, observe: 'body' });
10256
10457
  const artificialDelay = this.appConfig.getTimeoutsCaseRetrievalArtificialDelay();
10257
10458
  const timeoutPeriods = this.appConfig.getTimeoutsForCaseRetrieval();
10258
- console.log(`Timeout periods: ${timeoutPeriods} seconds.`);
10259
10459
  if (timeoutPeriods && timeoutPeriods.length > 0 && timeoutPeriods[0] > 0) {
10260
10460
  http$ = this.retryUtil.pipeTimeoutMechanismOn(http$, artificialDelay, timeoutPeriods);
10261
10461
  }
10262
10462
  else {
10263
- console.warn('Skipping to pipe a retry mechanism!');
10463
+ this.logger.warn('Skipping retry mechanism for case view retrieval.');
10264
10464
  }
10265
10465
  http$ = this.pipeErrorProcessor(http$);
10266
10466
  http$ = http$.pipe(finalize(() => this.finalizeGetCaseViewWith(caseId, loadingToken)));
@@ -10268,8 +10468,11 @@ class CasesService {
10268
10468
  }
10269
10469
  pipeErrorProcessor(in$) {
10270
10470
  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);
10471
+ this.logger.error('Error while getting case view with getCaseViewV2.', {
10472
+ error,
10473
+ errorName: error?.name,
10474
+ errorType: typeof error
10475
+ });
10273
10476
  this.errorService.setError(error);
10274
10477
  return throwError(error);
10275
10478
  }));
@@ -11381,6 +11584,7 @@ class CaseEditPageComponent {
11381
11584
  dialogRefAfterClosedSub;
11382
11585
  saveDraftSub;
11383
11586
  caseFormValidationErrorsSub;
11587
+ logger = new StructuredLoggerService();
11384
11588
  static scrollToTop() {
11385
11589
  window.scrollTo(0, 0);
11386
11590
  }
@@ -11712,7 +11916,6 @@ class CaseEditPageComponent {
11712
11916
  }
11713
11917
  if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
11714
11918
  this.addressService.setMandatoryError(false);
11715
- console.log('Case Edit Error', this.caseEdit.error);
11716
11919
  if (this.caseEdit.validPageList.findIndex(page => page.id === this.currentPage.id) === -1) {
11717
11920
  this.caseEdit.validPageList.push(this.currentPage);
11718
11921
  }
@@ -11925,7 +12128,7 @@ class CaseEditPageComponent {
11925
12128
  this.formErrorService
11926
12129
  .mapFieldErrors(this.caseEdit.error.details.field_errors, this.editForm?.controls?.['data'], 'validation');
11927
12130
  }
11928
- console.log('handleError ', error);
12131
+ this.logger.error('Case edit page handled an error.', { error });
11929
12132
  }
11930
12133
  resetErrors() {
11931
12134
  this.clearValidationErrors();
@@ -12003,6 +12206,11 @@ class CaseEditPageComponent {
12003
12206
  this.validPageListCaseFieldsService.deleteNonValidatedFields(this.caseEdit.validPageList, caseEventData.data, this.eventTrigger.case_fields, fromPreviousPage, this.editForm.controls['data'].value);
12004
12207
  // Tidy it up before we return it.
12005
12208
  this.formValueService.removeUnnecessaryFields(caseEventData.data, caseFields, clearEmpty, clearNonCase, fromPreviousPage, this.currentPage.case_fields);
12209
+ // removeHiddenFields while are hidden in the UI
12210
+ // Only remove hidden fields if editForm and its controls are available
12211
+ if (this.editForm?.controls?.['data']?.['controls']) {
12212
+ this.formValueService.removeHiddenField(caseEventData.data, caseFields, clearNonCase, this.editForm.controls['data']['controls']);
12213
+ }
12006
12214
  return caseEventData;
12007
12215
  }
12008
12216
  syncCaseEditDataService() {
@@ -13032,6 +13240,7 @@ function WriteAddressFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
13032
13240
  } }
13033
13241
  class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
13034
13242
  isCompoundPipe;
13243
+ logger = new StructuredLoggerService();
13035
13244
  writeComplexFieldComponent;
13036
13245
  focusElementDirectives;
13037
13246
  static REQUIRED_ERROR_MESSAGE = 'Enter a Postcode';
@@ -13084,7 +13293,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
13084
13293
  });
13085
13294
  }, (error) => {
13086
13295
  this.loadingAddresses = false;
13087
- console.log(`An error occurred retrieving addresses for postcode ${postcode}. ${error}`);
13296
+ this.logger.error('An error occurred retrieving addresses for postcode.', { error });
13088
13297
  });
13089
13298
  this.addressList.setValue(undefined);
13090
13299
  this.refocusElement();
@@ -13184,7 +13393,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
13184
13393
  type: ViewChildren,
13185
13394
  args: [FocusElementDirective]
13186
13395
  }] }); })();
13187
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber: 18 }); })();
13396
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber: 19 }); })();
13188
13397
 
13189
13398
  var PaletteContext;
13190
13399
  (function (PaletteContext) {
@@ -15175,6 +15384,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
15175
15384
  scrollToService;
15176
15385
  profileNotifier;
15177
15386
  cdRef;
15387
+ logger = new StructuredLoggerService();
15178
15388
  caseFields = [];
15179
15389
  formArray;
15180
15390
  profile;
@@ -15322,7 +15532,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
15322
15532
  duration: 1000,
15323
15533
  offset: -150,
15324
15534
  })
15325
- .subscribe(() => { }, console.error);
15535
+ .subscribe(() => { }, error => this.logger.error('Error while scrolling collection item into view.', { error }));
15326
15536
  }
15327
15537
  this.focusLastItem();
15328
15538
  }
@@ -15530,7 +15740,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
15530
15740
  type: ViewChildren,
15531
15741
  args: ['collectionItem']
15532
15742
  }] }); })();
15533
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 33 }); })();
15743
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 34 }); })();
15534
15744
 
15535
15745
  function ReadComplexFieldComponent_ccd_read_complex_field_raw_1_Template(rf, ctx) { if (rf & 1) {
15536
15746
  i0.ɵɵelement(0, "ccd-read-complex-field-raw", 4);
@@ -15902,8 +16112,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15902
16112
  this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
15903
16113
  this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15904
16114
  this.caseId = null;
15905
- console.log(this.jurisdictionId);
15906
- console.log(this.caseTypeId);
15907
16115
  }
15908
16116
  // use the documentManagement service to check if the document upload should use CDAM
15909
16117
  if (this.documentManagement.isDocumentSecureModeEnabled()) {
@@ -21686,6 +21894,7 @@ const CIVIL_JURISDICTION = 'CIVIL';
21686
21894
  class QueryManagementService {
21687
21895
  router;
21688
21896
  sessionStorageService;
21897
+ logger = new StructuredLoggerService();
21689
21898
  caseQueriesCollections;
21690
21899
  fieldId;
21691
21900
  constructor(router, sessionStorageService) {
@@ -21705,7 +21914,7 @@ class QueryManagementService {
21705
21914
  currentUserDetails = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS), {});
21706
21915
  }
21707
21916
  catch (e) {
21708
- console.error('Could not parse USER_DETAILS from session storage:', e);
21917
+ this.logger.error('Could not parse USER_DETAILS from session storage.', { error: e });
21709
21918
  currentUserDetails = {};
21710
21919
  }
21711
21920
  const isHmctsStaff = (this.isJudiciaryUser() || this.isInternalUser()) ? 'Yes' : 'No';
@@ -21715,7 +21924,7 @@ class QueryManagementService {
21715
21924
  const isNewQuery = queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
21716
21925
  // Check if the field ID has been set dynamically
21717
21926
  if (!this.fieldId) {
21718
- console.error('Error: Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
21927
+ this.logger.error('Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
21719
21928
  this.router.navigate(['/', 'service-down']);
21720
21929
  throw new Error('Field ID for CaseQueriesCollection not found. Aborting query data generation.');
21721
21930
  }
@@ -21775,7 +21984,7 @@ class QueryManagementService {
21775
21984
  setCaseQueriesCollectionData(eventData, queryCreateContext, caseDetails, messageId) {
21776
21985
  const resolvedFieldId = this.resolveFieldId(eventData, queryCreateContext, caseDetails, messageId);
21777
21986
  if (!resolvedFieldId) {
21778
- console.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
21987
+ this.logger.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
21779
21988
  return;
21780
21989
  }
21781
21990
  this.fieldId = resolvedFieldId;
@@ -21795,7 +22004,7 @@ class QueryManagementService {
21795
22004
  field.field_type.type === FIELD_TYPE_COMPLEX &&
21796
22005
  field.display_context !== DISPLAY_CONTEXT_READONLY);
21797
22006
  if (!candidateFields?.length) {
21798
- console.warn('No editable CaseQueriesCollection fields found.');
22007
+ this.logger.warn('No editable CaseQueriesCollection fields found.');
21799
22008
  return null;
21800
22009
  }
21801
22010
  const numberOfCollections = candidateFields.length;
@@ -21822,12 +22031,12 @@ class QueryManagementService {
21822
22031
  }
21823
22032
  }
21824
22033
  else {
21825
- console.error(`Error: Multiple CaseQueriesCollections are not supported yet for the ${jurisdictionId} jurisdiction`);
22034
+ this.logger.error('Multiple CaseQueriesCollections are not supported yet for this jurisdiction.', { jurisdictionId });
21826
22035
  return null;
21827
22036
  }
21828
22037
  }
21829
22038
  // Step 4: Fallback — if none of the above succeeded
21830
- console.warn('Could not determine fieldId for context:', queryCreateContext);
22039
+ this.logger.warn('Could not determine fieldId for context.', { queryCreateContext });
21831
22040
  return null;
21832
22041
  }
21833
22042
  getCaseQueriesCollectionFieldOrderFromWizardPages(eventData) {
@@ -22439,6 +22648,7 @@ class QueryCheckYourAnswersComponent {
22439
22648
  queryManagementService;
22440
22649
  errorNotifierService;
22441
22650
  alertService;
22651
+ logger = new StructuredLoggerService();
22442
22652
  RAISE_A_QUERY_EVENT_TRIGGER_ID = 'queryManagementRaiseQuery';
22443
22653
  RESPOND_TO_QUERY_EVENT_TRIGGER_ID = 'queryManagementRespondQuery';
22444
22654
  CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
@@ -22526,7 +22736,7 @@ class QueryCheckYourAnswersComponent {
22526
22736
  if (error.status !== 401 && error.status !== 403) {
22527
22737
  this.errorNotifierService.announceError(error);
22528
22738
  this.alertService.error({ phrase: error.message });
22529
- console.error('Error occurred while fetching event data:', error);
22739
+ this.logger.error('Error occurred while fetching event data.', { error });
22530
22740
  this.callbackErrorsSubject.next(error);
22531
22741
  }
22532
22742
  else {
@@ -22579,7 +22789,7 @@ class QueryCheckYourAnswersComponent {
22579
22789
  });
22580
22790
  }
22581
22791
  else {
22582
- console.error('Error: No task to complete was found');
22792
+ this.logger.error('No task to complete was found.');
22583
22793
  this.errorMessages = [
22584
22794
  {
22585
22795
  title: 'Error',
@@ -22623,7 +22833,7 @@ class QueryCheckYourAnswersComponent {
22623
22833
  this.isSubmitting = false;
22624
22834
  }
22625
22835
  handleError(error) {
22626
- console.error('Error in API calls:', error);
22836
+ this.logger.error('Error in query management API calls.', { error });
22627
22837
  this.isSubmitting = false;
22628
22838
  if (this.isServiceErrorFound(error)) {
22629
22839
  this.error = null;
@@ -22651,7 +22861,7 @@ class QueryCheckYourAnswersComponent {
22651
22861
  }
22652
22862
  setCaseQueriesCollectionData() {
22653
22863
  if (!this.eventData) {
22654
- console.warn('Event data not available; skipping collection setup.');
22864
+ this.logger.warn('Event data not available; skipping collection setup.');
22655
22865
  }
22656
22866
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
22657
22867
  }
@@ -22686,7 +22896,7 @@ class QueryCheckYourAnswersComponent {
22686
22896
  }], createEventResponse: [{
22687
22897
  type: Output
22688
22898
  }] }); })();
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 }); })();
22899
+ (() => { (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
22900
 
22691
22901
  function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
22692
22902
  const _r1 = i0.ɵɵgetCurrentView();
@@ -23747,6 +23957,7 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
23747
23957
  class QueryWriteRaiseQueryComponent {
23748
23958
  queryManagementService;
23749
23959
  route;
23960
+ logger = new StructuredLoggerService();
23750
23961
  formGroup;
23751
23962
  submitted;
23752
23963
  caseDetails;
@@ -23794,7 +24005,7 @@ class QueryWriteRaiseQueryComponent {
23794
24005
  }
23795
24006
  setCaseQueriesCollectionData() {
23796
24007
  if (!this.eventData) {
23797
- console.warn('Event data not available; skipping collection setup.');
24008
+ this.logger.warn('Event data not available; skipping collection setup.');
23798
24009
  return false;
23799
24010
  }
23800
24011
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
@@ -23856,7 +24067,7 @@ class QueryWriteRaiseQueryComponent {
23856
24067
  }], queryDataCreated: [{
23857
24068
  type: Output
23858
24069
  }] }); })();
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 }); })();
24070
+ (() => { (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
24071
 
23861
24072
  function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
23862
24073
  i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
@@ -23939,6 +24150,7 @@ class QueryWriteRespondToQueryComponent {
23939
24150
  caseNotifier;
23940
24151
  route;
23941
24152
  queryManagementService;
24153
+ logger = new StructuredLoggerService();
23942
24154
  queryItem;
23943
24155
  formGroup;
23944
24156
  queryCreateContext;
@@ -23973,7 +24185,7 @@ class QueryWriteRespondToQueryComponent {
23973
24185
  this.caseDetails = caseDetails;
23974
24186
  },
23975
24187
  error: (err) => {
23976
- console.error('Error retrieving case details:', err);
24188
+ this.logger.error('Error retrieving case details.', { error: err });
23977
24189
  }
23978
24190
  });
23979
24191
  }
@@ -23983,19 +24195,19 @@ class QueryWriteRespondToQueryComponent {
23983
24195
  return;
23984
24196
  }
23985
24197
  if (!this.caseQueriesCollections[0]) {
23986
- console.error('caseQueriesCollections[0] is undefined!', this.caseQueriesCollections);
24198
+ this.logger.error('Case queries collection is undefined.');
23987
24199
  return;
23988
24200
  }
23989
24201
  this.messageId = this.route.snapshot.params?.dataid;
23990
24202
  if (!this.messageId) {
23991
- console.warn('No messageId found in route params:', this.route.snapshot.params);
24203
+ this.logger.warn('No messageId found in route params.', { routeParams: this.route.snapshot.params });
23992
24204
  return;
23993
24205
  }
23994
24206
  const allMessages = this.caseQueriesCollections
23995
24207
  .flatMap((caseData) => caseData?.caseMessages || []);
23996
24208
  const matchingMessage = allMessages.find((message) => message?.value?.id === this.messageId)?.value;
23997
24209
  if (!matchingMessage) {
23998
- console.warn('No matching message found for ID:', this.messageId);
24210
+ this.logger.warn('No matching message found for ID.', { messageId: this.messageId });
23999
24211
  return;
24000
24212
  }
24001
24213
  const caseQueriesCollections = this.caseQueriesCollections.find((collection) => collection?.caseMessages.find((c) => c.value.id === this.messageId));
@@ -24019,7 +24231,7 @@ class QueryWriteRespondToQueryComponent {
24019
24231
  }
24020
24232
  setCaseQueriesCollectionData() {
24021
24233
  if (!this.eventData) {
24022
- console.warn('Event data not available; skipping collection setup.');
24234
+ this.logger.warn('Event data not available; skipping collection setup.');
24023
24235
  return false;
24024
24236
  }
24025
24237
  this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
@@ -24084,7 +24296,7 @@ class QueryWriteRespondToQueryComponent {
24084
24296
  }], hasRespondedToQueryTask: [{
24085
24297
  type: Output
24086
24298
  }] }); })();
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 }); })();
24299
+ (() => { (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
24300
 
24089
24301
  function QueryConfirmationComponent_main_0_ng_container_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
24090
24302
  i0.ɵɵelementStart(0, "h1", 8);
@@ -24234,6 +24446,7 @@ function QueryConfirmationComponent_main_0_Template(rf, ctx) { if (rf & 1) {
24234
24446
  class QueryConfirmationComponent {
24235
24447
  route;
24236
24448
  sessionStorageService;
24449
+ logger = new StructuredLoggerService();
24237
24450
  queryCreateContext;
24238
24451
  callbackConfirmationMessageText = {};
24239
24452
  eventResponseData;
@@ -24264,7 +24477,7 @@ class QueryConfirmationComponent {
24264
24477
  resolveHmctsStaffRaisedQuery() {
24265
24478
  const messageId = this.route.snapshot.params.dataid;
24266
24479
  if (!this.eventResponseData) {
24267
- console.warn('No event response data available.');
24480
+ this.logger.warn('No event response data available.');
24268
24481
  return;
24269
24482
  }
24270
24483
  this.queryListData = new QueryListData(this.eventResponseData);
@@ -24278,7 +24491,7 @@ class QueryConfirmationComponent {
24278
24491
  ?.flatMap((p) => p.children || [])
24279
24492
  .find((c) => c.parentId === messageId);
24280
24493
  if (!child) {
24281
- console.warn('No matching child found for messageId:', messageId);
24494
+ this.logger.warn('No matching child found for messageId.', { messageId });
24282
24495
  return;
24283
24496
  }
24284
24497
  const parentItem = this.queryListData?.queries
@@ -34402,6 +34615,7 @@ class WorkbasketFiltersComponent {
34402
34615
  static PARAM_JURISDICTION = 'jurisdiction';
34403
34616
  static PARAM_CASE_TYPE = 'case-type';
34404
34617
  static PARAM_CASE_STATE = 'case-state';
34618
+ logger = new StructuredLoggerService();
34405
34619
  caseFields;
34406
34620
  jurisdictions;
34407
34621
  defaults;
@@ -34575,9 +34789,7 @@ class WorkbasketFiltersComponent {
34575
34789
  }
34576
34790
  });
34577
34791
  this.getCaseFields();
34578
- }, error => {
34579
- console.log('Workbasket input fields request will be discarded reason: ', error.message);
34580
- });
34792
+ }, error => this.logger.error('Workbasket input fields request will be discarded.', { error }));
34581
34793
  }
34582
34794
  }
34583
34795
  else {
@@ -34837,7 +35049,7 @@ class WorkbasketFiltersComponent {
34837
35049
  }], onReset: [{
34838
35050
  type: Output
34839
35051
  }] }); })();
34840
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber: 27 }); })();
35052
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber: 28 }); })();
34841
35053
 
34842
35054
  class WorkbasketFiltersModule {
34843
35055
  static ɵfac = function WorkbasketFiltersModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WorkbasketFiltersModule)(); };
@@ -35227,6 +35439,7 @@ class CaseHistoryComponent {
35227
35439
  orderService;
35228
35440
  caseNotifier;
35229
35441
  caseHistoryService;
35442
+ logger = new StructuredLoggerService();
35230
35443
  static PARAM_EVENT_ID = 'eid';
35231
35444
  static ERROR_MESSAGE = 'No case history to show';
35232
35445
  event;
@@ -35259,7 +35472,7 @@ class CaseHistoryComponent {
35259
35472
  this.tabs = this.orderService.sort(this.caseHistory.tabs);
35260
35473
  this.tabs = this.sortTabFieldsAndFilterTabs(this.tabs);
35261
35474
  }), catchError(error => {
35262
- console.error(error);
35475
+ this.logger.error('Error while getting case history.', { error });
35263
35476
  if (error.status !== 401 && error.status !== 403) {
35264
35477
  this.alertService.error(error.message);
35265
35478
  }
@@ -35293,7 +35506,7 @@ class CaseHistoryComponent {
35293
35506
  }], () => [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }], { event: [{
35294
35507
  type: Input
35295
35508
  }] }); })();
35296
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber: 21 }); })();
35509
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber: 22 }); })();
35297
35510
 
35298
35511
  class CaseHistoryModule {
35299
35512
  static ɵfac = function CaseHistoryModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseHistoryModule)(); };
@@ -35517,11 +35730,9 @@ class CaseResolver {
35517
35730
  const currentUrl = this.router.url ?? '';
35518
35731
  // Prevent resolving if eventId=queryManagementRespondQuery is in the URL
35519
35732
  if (currentUrl.includes(CaseResolver.EVENT_ID_QM_RESPOND_TO_QUERY)) {
35520
- console.info('Skipping resolve for event queryManagementRespondQuery.');
35521
35733
  this.goToDefaultPage();
35522
35734
  }
35523
35735
  if (!cid) {
35524
- console.info('No case ID available in the route. Will navigate to case list.');
35525
35736
  // when redirected to case view after a case created, and the user has no READ access,
35526
35737
  // the post returns no id
35527
35738
  this.navigateToCaseList();
@@ -35578,8 +35789,6 @@ class CaseResolver {
35578
35789
  }), catchError(error => this.processErrorInCaseFetch(error, cid))).toPromise();
35579
35790
  }
35580
35791
  processErrorInCaseFetch(error, caseReference) {
35581
- console.error('!!! processErrorInCaseFetch !!!');
35582
- console.error(error);
35583
35792
  // TODO Should be logged to remote logging infrastructure
35584
35793
  if (error.status === 400) {
35585
35794
  this.router.navigate(['/search/noresults']);
@@ -35607,7 +35816,6 @@ class CaseResolver {
35607
35816
  }
35608
35817
  // as discussed for EUI-5456, need functionality to go to default page
35609
35818
  goToDefaultPage() {
35610
- console.info('Going to default page!');
35611
35819
  const userDetails = safeJsonParse(this.sessionStorage.getItem(USER_DETAILS));
35612
35820
  userDetails && userDetails.roles
35613
35821
  && !userDetails.roles.includes(PUI_CASE_MANAGER)
@@ -35805,7 +36013,6 @@ class CaseEventTriggerComponent {
35805
36013
  if (this.activityPollingService.isEnabled) {
35806
36014
  this.ngZone.runOutsideAngular(() => {
35807
36015
  this.activitySubscription = this.postEditActivity().subscribe(() => {
35808
- // console.log('Posted EDIT activity and result is: ' + JSON.stringify(_resolved));
35809
36016
  });
35810
36017
  });
35811
36018
  }
@@ -35976,8 +36183,6 @@ class CaseViewComponent {
35976
36183
  }
35977
36184
  checkErrorGettingCaseView(error) {
35978
36185
  // TODO Should be logged to remote logging infrastructure
35979
- console.error('Called checkErrorGettingCaseView.');
35980
- console.error(error);
35981
36186
  if (error.status !== 401 && error.status !== 403) {
35982
36187
  this.alertService.error(error.message);
35983
36188
  }
@@ -37329,7 +37534,6 @@ class CaseViewerComponent {
37329
37534
  }
37330
37535
  else {
37331
37536
  this.caseSubscription = this.caseNotifier.caseView.subscribe((caseDetails) => {
37332
- console.info('Setting the case into case viewer component as retrieved from XHR request.');
37333
37537
  this.caseDetails = caseDetails;
37334
37538
  this.setUserAccessType(this.caseDetails);
37335
37539
  });
@@ -38197,9 +38401,7 @@ class EventStartStateMachineService {
38197
38401
  if (!task) {
38198
38402
  task = context.tasks[0];
38199
38403
  }
38200
- const taskStr = JSON.stringify(task);
38201
38404
  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
38405
  // Store task to session
38204
38406
  const currentLanguage = context.cookieService.getCookie('exui-preferred-language');
38205
38407
  const clientContext = {
@@ -38240,7 +38442,6 @@ class EventStartStateMachineService {
38240
38442
  }
38241
38443
  finalAction(state) {
38242
38444
  // Final actions can be performed here, the state machine finished running
38243
- // console.log('FINAL', state);
38244
38445
  return;
38245
38446
  }
38246
38447
  addTransitionsForStateCheckForMatchingTasks() {
@@ -40200,6 +40401,7 @@ class SearchFiltersComponent {
40200
40401
  orderService;
40201
40402
  jurisdictionService;
40202
40403
  windowService;
40404
+ logger = new StructuredLoggerService();
40203
40405
  PARAM_JURISDICTION = 'jurisdiction';
40204
40406
  PARAM_CASE_TYPE = 'case-type';
40205
40407
  PARAM_CASE_STATE = 'case-state';
@@ -40295,7 +40497,7 @@ class SearchFiltersComponent {
40295
40497
  }
40296
40498
  }
40297
40499
  catch (e) {
40298
- console.log("Failed to retrieve jurisdiction from local storage");
40500
+ this.logger.error('Failed to retrieve jurisdiction from local storage.', { error: e });
40299
40501
  this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
40300
40502
  }
40301
40503
  }
@@ -40349,9 +40551,7 @@ class SearchFiltersComponent {
40349
40551
  }
40350
40552
  });
40351
40553
  this.getCaseFields();
40352
- }, error => {
40353
- console.log('Search input fields request will be discarded reason: ', error.message);
40354
- });
40554
+ }, error => this.logger.error('Search input fields request will be discarded.', { error }));
40355
40555
  }
40356
40556
  isJurisdictionSelected() {
40357
40557
  return this.selected.jurisdiction === null ||
@@ -40488,7 +40688,7 @@ class SearchFiltersComponent {
40488
40688
  }], onJurisdiction: [{
40489
40689
  type: Output
40490
40690
  }] }); })();
40491
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber: 27 }); })();
40691
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber: 28 }); })();
40492
40692
 
40493
40693
  function SearchFiltersWrapperComponent_ccd_search_filters_0_Template(rf, ctx) { if (rf & 1) {
40494
40694
  const _r1 = i0.ɵɵgetCurrentView();
@@ -41704,5 +41904,5 @@ class TestRouteSnapshotBuilder {
41704
41904
  * Generated bundle index. Do not edit.
41705
41905
  */
41706
41906
 
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 };
41907
+ 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
41908
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map