@hmcts/opal-frontend-common 0.0.89 → 0.0.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/fesm2022/{hmcts-opal-frontend-common-access-denied.component-DNNxndx-.mjs → hmcts-opal-frontend-common-access-denied.component-BCLRLZqh.mjs} +4 -4
  2. package/fesm2022/{hmcts-opal-frontend-common-account-created.component-3MER1dhS.mjs → hmcts-opal-frontend-common-account-created.component-D0g9FjWl.mjs} +4 -4
  3. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.mjs +3 -3
  4. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.mjs +3 -3
  5. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +3 -3
  6. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs +3 -3
  7. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs +3 -3
  8. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs +3 -3
  9. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs +3 -3
  10. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +3 -3
  11. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +3 -3
  12. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs +3 -3
  13. package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs +3 -3
  14. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs +3 -3
  15. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs +3 -3
  16. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs +3 -3
  17. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs +3 -3
  18. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs +3 -3
  19. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs +3 -3
  20. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs +3 -3
  21. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs +3 -3
  22. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs +3 -3
  23. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.mjs +3 -3
  24. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.mjs +3 -3
  25. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs +3 -3
  26. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs +3 -3
  27. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs +3 -3
  28. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs +3 -3
  29. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs +3 -3
  30. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs +3 -3
  31. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs +3 -3
  32. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs +3 -3
  33. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs +3 -3
  34. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs +12 -12
  35. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs +3 -3
  36. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs +3 -3
  37. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs +3 -3
  38. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs +3 -3
  39. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs +6 -6
  40. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs +3 -3
  41. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs +3 -3
  42. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs +3 -3
  43. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs +3 -3
  44. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs +3 -3
  45. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs +3 -3
  46. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs +3 -3
  47. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs +12 -12
  48. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs +3 -3
  49. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs +6 -6
  50. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs +12 -12
  51. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs +12 -12
  52. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs +3 -3
  53. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs +3 -3
  54. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs +3 -3
  55. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs +3 -3
  56. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs +6 -6
  57. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs +3 -3
  58. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs +3 -3
  59. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs +3 -3
  60. package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs +3 -3
  61. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs +21 -21
  62. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs +3 -3
  63. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs +3 -3
  64. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs +3 -3
  65. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs +3 -3
  66. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs +3 -3
  67. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-item.mjs +3 -3
  68. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-keyword.mjs +3 -3
  69. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs +3 -3
  70. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.mjs +3 -3
  71. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs +3 -3
  72. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs +3 -3
  73. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs +3 -3
  74. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs +6 -6
  75. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs +3 -3
  76. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs +3 -3
  77. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs +3 -3
  78. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs +3 -3
  79. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs +6 -6
  80. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs +18 -18
  81. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs +6 -6
  82. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs +3 -3
  83. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs +6 -6
  84. package/fesm2022/{hmcts-opal-frontend-common-concurrency-failure.component-UnC_Qex5.mjs → hmcts-opal-frontend-common-concurrency-failure.component-CdkYMvv-.mjs} +4 -4
  85. package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs +3 -3
  86. package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs +3 -3
  87. package/fesm2022/hmcts-opal-frontend-common-directives-moj-multi-select.mjs +6 -6
  88. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-retry-constants.mjs +16 -0
  89. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-retry-interfaces.mjs +4 -0
  90. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-retry.mjs +162 -0
  91. package/fesm2022/{hmcts-opal-frontend-common-internal-server-error.component-Cj-ueGWj.mjs → hmcts-opal-frontend-common-internal-server-error.component-CinCBLVo.mjs} +4 -4
  92. package/fesm2022/{hmcts-opal-frontend-common-pages-access-denied.component-DNNxndx-.mjs → hmcts-opal-frontend-common-pages-access-denied.component-BCLRLZqh.mjs} +4 -4
  93. package/fesm2022/{hmcts-opal-frontend-common-pages-account-created.component-3MER1dhS.mjs → hmcts-opal-frontend-common-pages-account-created.component-D0g9FjWl.mjs} +4 -4
  94. package/fesm2022/{hmcts-opal-frontend-common-pages-concurrency-failure.component-UnC_Qex5.mjs → hmcts-opal-frontend-common-pages-concurrency-failure.component-CdkYMvv-.mjs} +4 -4
  95. package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs +3 -3
  96. package/fesm2022/{hmcts-opal-frontend-common-pages-internal-server-error.component-Cj-ueGWj.mjs → hmcts-opal-frontend-common-pages-internal-server-error.component-CinCBLVo.mjs} +4 -4
  97. package/fesm2022/{hmcts-opal-frontend-common-pages-permission-denied.component-ClXrjyA5.mjs → hmcts-opal-frontend-common-pages-permission-denied.component-BPb5CZQD.mjs} +4 -4
  98. package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in-stub.component-Cxvc5NV2.mjs → hmcts-opal-frontend-common-pages-sign-in-stub.component-Cnlwqv_f.mjs} +4 -4
  99. package/fesm2022/{hmcts-opal-frontend-common-pages-sign-in.component-dBd0gJTr.mjs → hmcts-opal-frontend-common-pages-sign-in.component-DWLTU9wd.mjs} +4 -4
  100. package/fesm2022/hmcts-opal-frontend-common-pages.mjs +6 -6
  101. package/fesm2022/{hmcts-opal-frontend-common-permission-denied.component-ClXrjyA5.mjs → hmcts-opal-frontend-common-permission-denied.component-BPb5CZQD.mjs} +4 -4
  102. package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs +3 -3
  103. package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs +3 -3
  104. package/fesm2022/hmcts-opal-frontend-common-pipes-monetary.mjs +3 -3
  105. package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs +3 -3
  106. package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs +3 -3
  107. package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs +3 -3
  108. package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs +3 -3
  109. package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs +3 -3
  110. package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs +3 -3
  111. package/fesm2022/hmcts-opal-frontend-common-services-history-transformation-service.mjs +3 -3
  112. package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs +3 -3
  113. package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs +119 -10
  114. package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs +3 -3
  115. package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs +3 -3
  116. package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs +3 -3
  117. package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs +3 -3
  118. package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs +3 -3
  119. package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs +3 -3
  120. package/fesm2022/{hmcts-opal-frontend-common-sign-in-stub.component-Cxvc5NV2.mjs → hmcts-opal-frontend-common-sign-in-stub.component-Cnlwqv_f.mjs} +4 -4
  121. package/fesm2022/{hmcts-opal-frontend-common-sign-in.component-jf34_3Vv.mjs → hmcts-opal-frontend-common-sign-in.component-DIZlLA6t.mjs} +4 -4
  122. package/fesm2022/hmcts-opal-frontend-common.mjs +6 -6
  123. package/package.json +16 -1
  124. package/types/hmcts-opal-frontend-common-interceptors-http-retry-constants.d.ts +11 -0
  125. package/types/hmcts-opal-frontend-common-interceptors-http-retry-interfaces.d.ts +10 -0
  126. package/types/hmcts-opal-frontend-common-interceptors-http-retry.d.ts +27 -0
  127. package/types/hmcts-opal-frontend-common-services-opal-user-service.d.ts +56 -4
@@ -30,10 +30,10 @@ class MojPrimaryNavigationItemComponent {
30
30
  // Basically we want to mimic the behaviour of the GDS tabs component, as this is how these will be used.
31
31
  this.router.navigate(['./'], { relativeTo: this.route, fragment: item });
32
32
  }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojPrimaryNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojPrimaryNavigationItemComponent, isStandalone: true, selector: "opal-lib-moj-primary-navigation-item, [opal-lib-moj-primary-navigation-item]", inputs: { primaryNavigationItemId: "primaryNavigationItemId", primaryNavigationItemFragment: "primaryNavigationItemFragment", primaryNavigationItemText: "primaryNavigationItemText", activeItemFragment: "activeItemFragment", isLastItem: "isLastItem", useFragmentNavigation: "useFragmentNavigation" }, outputs: { navigationItemSelected: "navigationItemSelected" }, host: { properties: { "class": "this.hostClass", "id": "this.hostId", "class.last-item": "this.hostLastItem" } }, ngImport: i0, template: "<a\n href=\"\"\n class=\"moj-primary-navigation__link cursor-pointer\"\n [attr.aria-current]=\"primaryNavigationItemFragment === activeItemFragment ? 'page' : null\"\n (click)=\"handleItemClick($event, primaryNavigationItemFragment)\"\n >{{ primaryNavigationItemText }}</a\n>\n", styles: [".moj-primary-navigation__item.last-item{margin-right:initial!important}.moj-primary-navigation__item{margin-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojPrimaryNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojPrimaryNavigationItemComponent, isStandalone: true, selector: "opal-lib-moj-primary-navigation-item, [opal-lib-moj-primary-navigation-item]", inputs: { primaryNavigationItemId: "primaryNavigationItemId", primaryNavigationItemFragment: "primaryNavigationItemFragment", primaryNavigationItemText: "primaryNavigationItemText", activeItemFragment: "activeItemFragment", isLastItem: "isLastItem", useFragmentNavigation: "useFragmentNavigation" }, outputs: { navigationItemSelected: "navigationItemSelected" }, host: { properties: { "class": "this.hostClass", "id": "this.hostId", "class.last-item": "this.hostLastItem" } }, ngImport: i0, template: "<a\n href=\"\"\n class=\"moj-primary-navigation__link cursor-pointer\"\n [attr.aria-current]=\"primaryNavigationItemFragment === activeItemFragment ? 'page' : null\"\n (click)=\"handleItemClick($event, primaryNavigationItemFragment)\"\n >{{ primaryNavigationItemText }}</a\n>\n", styles: [".moj-primary-navigation__item.last-item{margin-right:initial!important}.moj-primary-navigation__item{margin-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojPrimaryNavigationItemComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojPrimaryNavigationItemComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'opal-lib-moj-primary-navigation-item, [opal-lib-moj-primary-navigation-item]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n href=\"\"\n class=\"moj-primary-navigation__link cursor-pointer\"\n [attr.aria-current]=\"primaryNavigationItemFragment === activeItemFragment ? 'page' : null\"\n (click)=\"handleItemClick($event, primaryNavigationItemFragment)\"\n >{{ primaryNavigationItemText }}</a\n>\n", styles: [".moj-primary-navigation__item.last-item{margin-right:initial!important}.moj-primary-navigation__item{margin-right:20px}\n"] }]
39
39
  }], propDecorators: { primaryNavigationItemId: [{
@@ -144,10 +144,10 @@ class MojPrimaryNavigationComponent {
144
144
  this.ngUnsubscribe.next();
145
145
  this.ngUnsubscribe.complete();
146
146
  }
147
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojPrimaryNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojPrimaryNavigationComponent, isStandalone: true, selector: "opal-lib-moj-primary-navigation", inputs: { primaryNavigationId: "primaryNavigationId", useFragmentNavigation: "useFragmentNavigation" }, outputs: { activeItemFragment: "activeItemFragment", navigationItemSelected: "navigationItemSelected" }, queries: [{ propertyName: "primaryNavigationItems", predicate: MojPrimaryNavigationItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"moj-primary-navigation\" [id]=\"primaryNavigationId\">\n <div class=\"moj-primary-navigation__container\">\n <div class=\"moj-primary-navigation__nav\">\n <nav class=\"moj-primary-navigation\" aria-label=\"Primary navigation\">\n <ul class=\"moj-primary-navigation__list\">\n <ng-content></ng-content>\n </ul>\n </nav>\n </div>\n </div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojPrimaryNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojPrimaryNavigationComponent, isStandalone: true, selector: "opal-lib-moj-primary-navigation", inputs: { primaryNavigationId: "primaryNavigationId", useFragmentNavigation: "useFragmentNavigation" }, outputs: { activeItemFragment: "activeItemFragment", navigationItemSelected: "navigationItemSelected" }, queries: [{ propertyName: "primaryNavigationItems", predicate: MojPrimaryNavigationItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div class=\"moj-primary-navigation\" [id]=\"primaryNavigationId\">\n <div class=\"moj-primary-navigation__container\">\n <div class=\"moj-primary-navigation__nav\">\n <nav class=\"moj-primary-navigation\" aria-label=\"Primary navigation\">\n <ul class=\"moj-primary-navigation__list\">\n <ng-content></ng-content>\n </ul>\n </nav>\n </div>\n </div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojPrimaryNavigationComponent, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojPrimaryNavigationComponent, decorators: [{
151
151
  type: Component,
152
152
  args: [{ selector: 'opal-lib-moj-primary-navigation', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"moj-primary-navigation\" [id]=\"primaryNavigationId\">\n <div class=\"moj-primary-navigation__container\">\n <div class=\"moj-primary-navigation__nav\">\n <nav class=\"moj-primary-navigation\" aria-label=\"Primary navigation\">\n <ul class=\"moj-primary-navigation__list\">\n <ng-content></ng-content>\n </ul>\n </nav>\n </div>\n </div>\n</div>\n" }]
153
153
  }], propDecorators: { primaryNavigationItems: [{
@@ -46,10 +46,10 @@ class MojSortableTableHeaderSortIconDirective {
46
46
  svg.appendChild(path);
47
47
  }
48
48
  }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableHeaderSortIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: MojSortableTableHeaderSortIconDirective, isStandalone: true, selector: "[opalLibMojSortableTableHeaderSortIcon]", inputs: { sortDirection: ["opalLibMojSortableTableHeaderSortIcon", "sortDirection"] }, usesOnChanges: true, ngImport: i0 });
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableHeaderSortIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
50
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: MojSortableTableHeaderSortIconDirective, isStandalone: true, selector: "[opalLibMojSortableTableHeaderSortIcon]", inputs: { sortDirection: ["opalLibMojSortableTableHeaderSortIcon", "sortDirection"] }, usesOnChanges: true, ngImport: i0 });
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableHeaderSortIconDirective, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableHeaderSortIconDirective, decorators: [{
53
53
  type: Directive,
54
54
  args: [{
55
55
  selector: '[opalLibMojSortableTableHeaderSortIcon]',
@@ -86,10 +86,10 @@ class MojSortableTableHeaderComponent {
86
86
  sortType: newDirection,
87
87
  });
88
88
  }
89
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSortableTableHeaderComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-header, [opal-lib-moj-sortable-table-header]", inputs: { columnKey: "columnKey", sortDirection: "sortDirection", dataIndex: "dataIndex" }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.aria-sort": "this.ariaSort", "attr.scope": "this.hostScope", "class": "this.hostClass" } }, ngImport: i0, template: "<button type=\"button\" (click)=\"toggleSort()\" [attr.data-index]=\"dataIndex\">\n <ng-content></ng-content>\n <svg\n [opalLibMojSortableTableHeaderSortIcon]=\"sortDirection\"\n width=\"22\"\n height=\"22\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"img\"\n vviewBox=\"0 0 22 22\"\n ></svg>\n</button>\n", dependencies: [{ kind: "directive", type: MojSortableTableHeaderSortIconDirective, selector: "[opalLibMojSortableTableHeaderSortIcon]", inputs: ["opalLibMojSortableTableHeaderSortIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSortableTableHeaderComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-header, [opal-lib-moj-sortable-table-header]", inputs: { columnKey: "columnKey", sortDirection: "sortDirection", dataIndex: "dataIndex" }, outputs: { sortChange: "sortChange" }, host: { properties: { "attr.aria-sort": "this.ariaSort", "attr.scope": "this.hostScope", "class": "this.hostClass" } }, ngImport: i0, template: "<button type=\"button\" (click)=\"toggleSort()\" [attr.data-index]=\"dataIndex\">\n <ng-content></ng-content>\n <svg\n [opalLibMojSortableTableHeaderSortIcon]=\"sortDirection\"\n width=\"22\"\n height=\"22\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"img\"\n vviewBox=\"0 0 22 22\"\n ></svg>\n</button>\n", dependencies: [{ kind: "directive", type: MojSortableTableHeaderSortIconDirective, selector: "[opalLibMojSortableTableHeaderSortIcon]", inputs: ["opalLibMojSortableTableHeaderSortIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
91
  }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableHeaderComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableHeaderComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'opal-lib-moj-sortable-table-header, [opal-lib-moj-sortable-table-header]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MojSortableTableHeaderSortIconDirective], template: "<button type=\"button\" (click)=\"toggleSort()\" [attr.data-index]=\"dataIndex\">\n <ng-content></ng-content>\n <svg\n [opalLibMojSortableTableHeaderSortIcon]=\"sortDirection\"\n width=\"22\"\n height=\"22\"\n focusable=\"false\"\n aria-hidden=\"true\"\n role=\"img\"\n vviewBox=\"0 0 22 22\"\n ></svg>\n</button>\n" }]
95
95
  }], propDecorators: { columnKey: [{
@@ -117,10 +117,10 @@ class MojSortableTableRowDataComponent {
117
117
  get hostId() {
118
118
  return this.id;
119
119
  }
120
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableRowDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSortableTableRowDataComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-row-data,[opal-lib-moj-sortable-table-row-data]", inputs: { id: "id" }, host: { properties: { "class": "this.hostClass", "id": "this.hostId" } }, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableRowDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSortableTableRowDataComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-row-data,[opal-lib-moj-sortable-table-row-data]", inputs: { id: "id" }, host: { properties: { "class": "this.hostClass", "id": "this.hostId" } }, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
122
122
  }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableRowDataComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableRowDataComponent, decorators: [{
124
124
  type: Component,
125
125
  args: [{ selector: 'opal-lib-moj-sortable-table-row-data,[opal-lib-moj-sortable-table-row-data]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
126
126
  }], propDecorators: { id: [{
@@ -139,10 +139,10 @@ class MojSortableTableRowComponent {
139
139
  get hostClass() {
140
140
  return `govuk-table__row ${this.bodyRowClasses}`;
141
141
  }
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSortableTableRowComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-row,[opal-lib-moj-sortable-table-row]", inputs: { bodyRowClasses: "bodyRowClasses" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSortableTableRowComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-row,[opal-lib-moj-sortable-table-row]", inputs: { bodyRowClasses: "bodyRowClasses" }, host: { properties: { "class": "this.hostClass" } }, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableRowComponent, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableRowComponent, decorators: [{
146
146
  type: Component,
147
147
  args: [{ selector: 'opal-lib-moj-sortable-table-row,[opal-lib-moj-sortable-table-row]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
148
148
  }], propDecorators: { bodyRowClasses: [{
@@ -156,10 +156,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
156
156
  class MojSortableTableStatusComponent {
157
157
  columnTitle;
158
158
  sortDirection;
159
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
160
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSortableTableStatusComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-status", inputs: { columnTitle: "columnTitle", sortDirection: "sortDirection" }, ngImport: i0, template: "<output aria-live=\"polite\" aria-atomic=\"true\" class=\"govuk-visually-hidden\">\n Sorted by {{ columnTitle }} ({{ sortDirection }})\n</output>\n" });
159
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
160
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSortableTableStatusComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table-status", inputs: { columnTitle: "columnTitle", sortDirection: "sortDirection" }, ngImport: i0, template: "<output aria-live=\"polite\" aria-atomic=\"true\" class=\"govuk-visually-hidden\">\n Sorted by {{ columnTitle }} ({{ sortDirection }})\n</output>\n" });
161
161
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableStatusComponent, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableStatusComponent, decorators: [{
163
163
  type: Component,
164
164
  args: [{ selector: 'opal-lib-moj-sortable-table-status', standalone: true, template: "<output aria-live=\"polite\" aria-atomic=\"true\" class=\"govuk-visually-hidden\">\n Sorted by {{ columnTitle }} ({{ sortDirection }})\n</output>\n" }]
165
165
  }], propDecorators: { columnTitle: [{
@@ -172,10 +172,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImpo
172
172
 
173
173
  class MojSortableTableComponent {
174
174
  tableClasses;
175
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSortableTableComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table", inputs: { tableClasses: "tableClasses" }, ngImport: i0, template: "<table class=\"govuk-table {{ tableClasses }}\" data-module=\"moj-sortable-table\">\n <caption class=\"govuk-table__caption\">\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <ng-content select=\"[head]\"></ng-content>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-content select=\"[row]\"></ng-content>\n <ng-content select=\"[results]\"></ng-content>\n </tbody>\n</table>\n<ng-content select=\"[status]\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSortableTableComponent, isStandalone: true, selector: "opal-lib-moj-sortable-table", inputs: { tableClasses: "tableClasses" }, ngImport: i0, template: "<table class=\"govuk-table {{ tableClasses }}\" data-module=\"moj-sortable-table\">\n <caption class=\"govuk-table__caption\">\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <ng-content select=\"[head]\"></ng-content>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-content select=\"[row]\"></ng-content>\n <ng-content select=\"[results]\"></ng-content>\n </tbody>\n</table>\n<ng-content select=\"[status]\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSortableTableComponent, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSortableTableComponent, decorators: [{
179
179
  type: Component,
180
180
  args: [{ selector: 'opal-lib-moj-sortable-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"govuk-table {{ tableClasses }}\" data-module=\"moj-sortable-table\">\n <caption class=\"govuk-table__caption\">\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <ng-content select=\"[head]\"></ng-content>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-content select=\"[row]\"></ng-content>\n <ng-content select=\"[results]\"></ng-content>\n </tbody>\n</table>\n<ng-content select=\"[status]\"></ng-content>\n" }]
181
181
  }], propDecorators: { tableClasses: [{
@@ -22,10 +22,10 @@ class MojSubNavigationItemComponent {
22
22
  // Basically we want to mimic the behaviour of the GDS tabs component, as this is how these will be used.
23
23
  this.router.navigate(['./'], { relativeTo: this.route, fragment: item });
24
24
  }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSubNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSubNavigationItemComponent, isStandalone: true, selector: "opal-lib-moj-sub-navigation-item, [opal-lib-moj-sub-navigation-item]", inputs: { subNavItemId: "subNavItemId", subNavItemFragment: "subNavItemFragment", subNavItemText: "subNavItemText", activeSubNavItemFragment: "activeSubNavItemFragment" }, host: { properties: { "class": "this.hostClass", "id": "this.hostId" } }, ngImport: i0, template: "<a\n class=\"moj-sub-navigation__link\"\n [attr.aria-current]=\"subNavItemFragment === activeSubNavItemFragment ? 'page' : ''\"\n (click)=\"handleItemClick($event, subNavItemFragment)\"\n (keyup.enter)=\"handleItemClick($event, subNavItemFragment)\"\n tabindex=\"0\"\n href=\"#\"\n>\n {{ subNavItemText }}\n <ng-content select=\"[badge]\"></ng-content>\n</a>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSubNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSubNavigationItemComponent, isStandalone: true, selector: "opal-lib-moj-sub-navigation-item, [opal-lib-moj-sub-navigation-item]", inputs: { subNavItemId: "subNavItemId", subNavItemFragment: "subNavItemFragment", subNavItemText: "subNavItemText", activeSubNavItemFragment: "activeSubNavItemFragment" }, host: { properties: { "class": "this.hostClass", "id": "this.hostId" } }, ngImport: i0, template: "<a\n class=\"moj-sub-navigation__link\"\n [attr.aria-current]=\"subNavItemFragment === activeSubNavItemFragment ? 'page' : ''\"\n (click)=\"handleItemClick($event, subNavItemFragment)\"\n (keyup.enter)=\"handleItemClick($event, subNavItemFragment)\"\n tabindex=\"0\"\n href=\"#\"\n>\n {{ subNavItemText }}\n <ng-content select=\"[badge]\"></ng-content>\n</a>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSubNavigationItemComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSubNavigationItemComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'opal-lib-moj-sub-navigation-item, [opal-lib-moj-sub-navigation-item]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"moj-sub-navigation__link\"\n [attr.aria-current]=\"subNavItemFragment === activeSubNavItemFragment ? 'page' : ''\"\n (click)=\"handleItemClick($event, subNavItemFragment)\"\n (keyup.enter)=\"handleItemClick($event, subNavItemFragment)\"\n tabindex=\"0\"\n href=\"#\"\n>\n {{ subNavItemText }}\n <ng-content select=\"[badge]\"></ng-content>\n</a>\n" }]
31
31
  }], propDecorators: { subNavItemId: [{
@@ -76,10 +76,10 @@ class MojSubNavigationComponent {
76
76
  this.ngUnsubscribe.next();
77
77
  this.ngUnsubscribe.complete();
78
78
  }
79
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSubNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojSubNavigationComponent, isStandalone: true, selector: "opal-lib-moj-sub-navigation", inputs: { subNavId: "subNavId" }, outputs: { activeSubNavItemFragment: "activeSubNavItemFragment" }, ngImport: i0, template: "<nav class=\"moj-sub-navigation\" aria-label=\"Sub navigation\" [id]=\"subNavId\">\n <ul class=\"moj-sub-navigation__list\">\n <ng-content></ng-content>\n </ul>\n</nav>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSubNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
80
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojSubNavigationComponent, isStandalone: true, selector: "opal-lib-moj-sub-navigation", inputs: { subNavId: "subNavId" }, outputs: { activeSubNavItemFragment: "activeSubNavItemFragment" }, ngImport: i0, template: "<nav class=\"moj-sub-navigation\" aria-label=\"Sub navigation\" [id]=\"subNavId\">\n <ul class=\"moj-sub-navigation__list\">\n <ng-content></ng-content>\n </ul>\n</nav>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojSubNavigationComponent, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojSubNavigationComponent, decorators: [{
83
83
  type: Component,
84
84
  args: [{ selector: 'opal-lib-moj-sub-navigation', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"moj-sub-navigation\" aria-label=\"Sub navigation\" [id]=\"subNavId\">\n <ul class=\"moj-sub-navigation__list\">\n <ng-content></ng-content>\n </ul>\n</nav>\n" }]
85
85
  }], propDecorators: { subNavId: [{
@@ -5,10 +5,10 @@ class MojTicketPanelComponent {
5
5
  componentClasses;
6
6
  sectionClasses;
7
7
  alert;
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojTicketPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojTicketPanelComponent, isStandalone: true, selector: "opal-lib-moj-ticket-panel", inputs: { componentClasses: "componentClasses", sectionClasses: "sectionClasses", alert: "alert" }, ngImport: i0, template: "<article class=\"moj-ticket-panel {{ componentClasses }}\">\n <section class=\"moj-ticket-panel__content {{ sectionClasses }}\" [attr.role]=\"alert ? 'alert' : ''\">\n <ng-content></ng-content>\n </section>\n</article>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojTicketPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojTicketPanelComponent, isStandalone: true, selector: "opal-lib-moj-ticket-panel", inputs: { componentClasses: "componentClasses", sectionClasses: "sectionClasses", alert: "alert" }, ngImport: i0, template: "<article class=\"moj-ticket-panel {{ componentClasses }}\">\n <section class=\"moj-ticket-panel__content {{ sectionClasses }}\" [attr.role]=\"alert ? 'alert' : ''\">\n <ng-content></ng-content>\n </section>\n</article>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojTicketPanelComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojTicketPanelComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'opal-lib-moj-ticket-panel', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<article class=\"moj-ticket-panel {{ componentClasses }}\">\n <section class=\"moj-ticket-panel__content {{ sectionClasses }}\" [attr.role]=\"alert ? 'alert' : ''\">\n <ng-content></ng-content>\n </section>\n</article>\n" }]
14
14
  }], propDecorators: { componentClasses: [{
@@ -2,19 +2,19 @@ import * as i0 from '@angular/core';
2
2
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
4
  class MojTimelineItemComponent {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojTimelineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojTimelineItemComponent, isStandalone: true, selector: "opal-lib-moj-timeline-item", ngImport: i0, template: "<div class=\"moj-timeline__item\">\n <div class=\"moj-timeline__header\">\n <h2 class=\"moj-timeline__title\"><ng-content select=\"[title]\"></ng-content></h2>\n\n <p class=\"moj-timeline__byline\">&nbsp;by <ng-content select=\"[user]\"></ng-content></p>\n </div>\n <p class=\"moj-timeline__date\">\n <time datetime=\"\"><ng-content select=\"[date]\"></ng-content></time>\n </p>\n <div class=\"moj-timeline__description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojTimelineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojTimelineItemComponent, isStandalone: true, selector: "opal-lib-moj-timeline-item", ngImport: i0, template: "<div class=\"moj-timeline__item\">\n <div class=\"moj-timeline__header\">\n <h2 class=\"moj-timeline__title\"><ng-content select=\"[title]\"></ng-content></h2>\n\n <p class=\"moj-timeline__byline\">&nbsp;by <ng-content select=\"[user]\"></ng-content></p>\n </div>\n <p class=\"moj-timeline__date\">\n <time datetime=\"\"><ng-content select=\"[date]\"></ng-content></time>\n </p>\n <div class=\"moj-timeline__description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojTimelineItemComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojTimelineItemComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'opal-lib-moj-timeline-item', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"moj-timeline__item\">\n <div class=\"moj-timeline__header\">\n <h2 class=\"moj-timeline__title\"><ng-content select=\"[title]\"></ng-content></h2>\n\n <p class=\"moj-timeline__byline\">&nbsp;by <ng-content select=\"[user]\"></ng-content></p>\n </div>\n <p class=\"moj-timeline__date\">\n <time datetime=\"\"><ng-content select=\"[date]\"></ng-content></time>\n </p>\n <div class=\"moj-timeline__description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n</div>\n" }]
11
11
  }] });
12
12
 
13
13
  class MojTimelineComponent {
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: MojTimelineComponent, isStandalone: true, selector: "opal-lib-moj-timeline", ngImport: i0, template: "<div class=\"moj-timeline\"><ng-content></ng-content></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: MojTimelineComponent, isStandalone: true, selector: "opal-lib-moj-timeline", ngImport: i0, template: "<div class=\"moj-timeline\"><ng-content></ng-content></div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojTimelineComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojTimelineComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'opal-lib-moj-timeline', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"moj-timeline\"><ng-content></ng-content></div>\n" }]
20
20
  }] });
@@ -2,13 +2,13 @@ import * as i0 from '@angular/core';
2
2
  import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
 
4
4
  class ConcurrencyFailureComponent {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ConcurrencyFailureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: ConcurrencyFailureComponent, isStandalone: true, selector: "opal-lib-concurrency-failure", ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Sorry, there is a problem</h1>\n <p class=\"govuk-body\">Something else was changed while you were doing this.</p>\n <p class=\"govuk-body\">Your changes have not been saved. You will need to start again.</p>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ConcurrencyFailureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: ConcurrencyFailureComponent, isStandalone: true, selector: "opal-lib-concurrency-failure", ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Sorry, there is a problem</h1>\n <p class=\"govuk-body\">Something else was changed while you were doing this.</p>\n <p class=\"govuk-body\">Your changes have not been saved. You will need to start again.</p>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
7
  }
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: ConcurrencyFailureComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ConcurrencyFailureComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'opal-lib-concurrency-failure', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Sorry, there is a problem</h1>\n <p class=\"govuk-body\">Something else was changed while you were doing this.</p>\n <p class=\"govuk-body\">Your changes have not been saved. You will need to start again.</p>\n</div>\n" }]
11
11
  }] });
12
12
 
13
13
  export { ConcurrencyFailureComponent };
14
- //# sourceMappingURL=hmcts-opal-frontend-common-concurrency-failure.component-UnC_Qex5.mjs.map
14
+ //# sourceMappingURL=hmcts-opal-frontend-common-concurrency-failure.component-CdkYMvv-.mjs.map
@@ -23,10 +23,10 @@ class CapitalisationDirective {
23
23
  this.destroy$.next();
24
24
  this.destroy$.complete();
25
25
  }
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CapitalisationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: CapitalisationDirective, isStandalone: true, selector: "[opalLibCapitaliseAllCharacters]", inputs: { control: ["opalLibCapitaliseAllCharacters", "control"] }, ngImport: i0 });
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: CapitalisationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: CapitalisationDirective, isStandalone: true, selector: "[opalLibCapitaliseAllCharacters]", inputs: { control: ["opalLibCapitaliseAllCharacters", "control"] }, ngImport: i0 });
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: CapitalisationDirective, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: CapitalisationDirective, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: '[opalLibCapitaliseAllCharacters]',
@@ -22,10 +22,10 @@ class GovukButtonDirective {
22
22
  handleButtonClick() {
23
23
  this.buttonClickEvent.emit(true);
24
24
  }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GovukButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: GovukButtonDirective, isStandalone: true, selector: "[opalLibGovukButton]", inputs: { buttonId: "buttonId", buttonClasses: "buttonClasses", type: "type" }, outputs: { buttonClickEvent: "buttonClickEvent" }, host: { properties: { "attr.id": "this.id", "attr.type": "this.buttonType", "class": "this.classes", "attr.data-module": "this.dataModule" } }, ngImport: i0 });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: GovukButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: GovukButtonDirective, isStandalone: true, selector: "[opalLibGovukButton]", inputs: { buttonId: "buttonId", buttonClasses: "buttonClasses", type: "type" }, outputs: { buttonClickEvent: "buttonClickEvent" }, host: { properties: { "attr.id": "this.id", "attr.type": "this.buttonType", "class": "this.classes", "attr.data-module": "this.dataModule" } }, ngImport: i0 });
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: GovukButtonDirective, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: GovukButtonDirective, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: '[opalLibGovukButton]',
@@ -57,10 +57,10 @@ class MojMultiSelectBodyDirective {
57
57
  }
58
58
  this.selectionChange.emit({ rowId: this.rowId, checked: target.checked });
59
59
  }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojMultiSelectBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: MojMultiSelectBodyDirective, isStandalone: true, selector: "opal-lib-govuk-checkboxes-item[opalLibMojMultiSelectBody], [opal-lib-govuk-checkboxes-item][opalLibMojMultiSelectBody]", inputs: { rowId: "rowId", ariaLabel: "ariaLabel", extraClasses: "extraClasses" }, outputs: { selectionChange: "selectionChange" }, host: { listeners: { "change": "onCheckboxChange($event)" }, properties: { "class": "this.classes" } }, usesOnChanges: true, ngImport: i0 });
60
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojMultiSelectBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
61
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: MojMultiSelectBodyDirective, isStandalone: true, selector: "opal-lib-govuk-checkboxes-item[opalLibMojMultiSelectBody], [opal-lib-govuk-checkboxes-item][opalLibMojMultiSelectBody]", inputs: { rowId: "rowId", ariaLabel: "ariaLabel", extraClasses: "extraClasses" }, outputs: { selectionChange: "selectionChange" }, host: { listeners: { "change": "onCheckboxChange($event)" }, properties: { "class": "this.classes" } }, usesOnChanges: true, ngImport: i0 });
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojMultiSelectBodyDirective, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojMultiSelectBodyDirective, decorators: [{
64
64
  type: Directive,
65
65
  args: [{
66
66
  selector: 'opal-lib-govuk-checkboxes-item[opalLibMojMultiSelectBody], [opal-lib-govuk-checkboxes-item][opalLibMojMultiSelectBody]',
@@ -127,10 +127,10 @@ class MojMultiSelectHeadDirective {
127
127
  }
128
128
  this.toggleAll.emit(target.checked);
129
129
  }
130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojMultiSelectHeadDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
131
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.17", type: MojMultiSelectHeadDirective, isStandalone: true, selector: "opal-lib-govuk-checkboxes-item[opalLibMojMultiSelectHead], [opal-lib-govuk-checkboxes-item][opalLibMojMultiSelectHead]", inputs: { extraClasses: "extraClasses", selectAllIndeterminate: "selectAllIndeterminate", ariaLabel: "ariaLabel" }, outputs: { toggleAll: "toggleAll" }, host: { listeners: { "change": "onCheckboxChange($event)" }, properties: { "class": "this.classes" } }, usesOnChanges: true, ngImport: i0 });
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojMultiSelectHeadDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
131
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: MojMultiSelectHeadDirective, isStandalone: true, selector: "opal-lib-govuk-checkboxes-item[opalLibMojMultiSelectHead], [opal-lib-govuk-checkboxes-item][opalLibMojMultiSelectHead]", inputs: { extraClasses: "extraClasses", selectAllIndeterminate: "selectAllIndeterminate", ariaLabel: "ariaLabel" }, outputs: { toggleAll: "toggleAll" }, host: { listeners: { "change": "onCheckboxChange($event)" }, properties: { "class": "this.classes" } }, usesOnChanges: true, ngImport: i0 });
132
132
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: MojMultiSelectHeadDirective, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: MojMultiSelectHeadDirective, decorators: [{
134
134
  type: Directive,
135
135
  args: [{
136
136
  selector: 'opal-lib-govuk-checkboxes-item[opalLibMojMultiSelectHead], [opal-lib-govuk-checkboxes-item][opalLibMojMultiSelectHead]',
@@ -0,0 +1,16 @@
1
+ const MAX_HTTP_RETRY_BACKOFF_MULTIPLIER = 10;
2
+
3
+ const MAX_HTTP_RETRY_COUNT = 2;
4
+
5
+ const MAX_HTTP_RETRY_DELAY_MS = 30000;
6
+
7
+ const HTTP_NON_RETRYABLE_STATUS_CODES = Object.freeze([400, 401, 403, 404, 409, 422]);
8
+
9
+ const HTTP_RETRYABLE_STATUS_CODES = Object.freeze([0, 408, 502, 503, 504]);
10
+
11
+ /**
12
+ * Generated bundle index. Do not edit.
13
+ */
14
+
15
+ export { HTTP_NON_RETRYABLE_STATUS_CODES, HTTP_RETRYABLE_STATUS_CODES, MAX_HTTP_RETRY_BACKOFF_MULTIPLIER, MAX_HTTP_RETRY_COUNT, MAX_HTTP_RETRY_DELAY_MS };
16
+ //# sourceMappingURL=hmcts-opal-frontend-common-interceptors-http-retry-constants.mjs.map
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ //# sourceMappingURL=hmcts-opal-frontend-common-interceptors-http-retry-interfaces.mjs.map
@@ -0,0 +1,162 @@
1
+ import { retry, throwError, timer, of } from 'rxjs';
2
+ import { HttpContextToken, HttpErrorResponse, HttpContext } from '@angular/common/http';
3
+
4
+ /**
5
+ * Stores per-request HTTP retry policy options in an Angular HTTP context.
6
+ */
7
+ const HTTP_RETRY_POLICY = new HttpContextToken(() => ({}));
8
+
9
+ const MAX_HTTP_RETRY_BACKOFF_MULTIPLIER = 10;
10
+
11
+ const HTTP_NON_RETRYABLE_STATUS_CODES = Object.freeze([400, 401, 403, 404, 409, 422]);
12
+
13
+ const HTTP_RETRYABLE_STATUS_CODES = Object.freeze([0, 408, 502, 503, 504]);
14
+
15
+ const MAX_HTTP_RETRY_COUNT = 2;
16
+
17
+ const MAX_HTTP_RETRY_DELAY_MS = 30000;
18
+
19
+ /**
20
+ * Returns whether the request is eligible for retry under the supplied policy.
21
+ */
22
+ function canRetryRequest(req, policy) {
23
+ return policy.retryCount > 0 && isGetRequest(req);
24
+ }
25
+ /**
26
+ * Calculates the delay before the next retry attempt, including backoff and maximum delay bounds.
27
+ */
28
+ function getRetryDelayMs(policy, retryAttempt) {
29
+ const retryDelayMs = policy.delayMs * Math.pow(policy.backoffMultiplier, Math.max(retryAttempt - 1, 0));
30
+ return Math.min(Math.round(retryDelayMs), policy.maxDelayMs);
31
+ }
32
+ /**
33
+ * Returns whether the error status is retryable and has not been explicitly marked non-retriable.
34
+ */
35
+ function isRetryableError(error, policy) {
36
+ if (isApiNonRetriableError(error)) {
37
+ return false;
38
+ }
39
+ const statusCode = getStatusCode(error);
40
+ if (statusCode === undefined || HTTP_NON_RETRYABLE_STATUS_CODES.includes(statusCode)) {
41
+ return false;
42
+ }
43
+ return policy.retryableStatusCodes.includes(statusCode);
44
+ }
45
+ /**
46
+ * Normalizes partial retry options into a bounded retry policy with default values.
47
+ */
48
+ function normalizeHttpRetryPolicy(policy = {}) {
49
+ const delayMs = getBoundedInteger(policy.delayMs, 0, MAX_HTTP_RETRY_DELAY_MS);
50
+ return {
51
+ retryCount: getBoundedInteger(policy.retryCount, 0, MAX_HTTP_RETRY_COUNT),
52
+ delayMs,
53
+ backoffMultiplier: getBoundedNumber(policy.backoffMultiplier, 1, 1, MAX_HTTP_RETRY_BACKOFF_MULTIPLIER),
54
+ maxDelayMs: getBoundedInteger(policy.maxDelayMs, delayMs, MAX_HTTP_RETRY_DELAY_MS),
55
+ retryableStatusCodes: getRetryableStatusCodes(policy.retryableStatusCodes),
56
+ };
57
+ }
58
+ /**
59
+ * Returns whether the request uses the GET method.
60
+ */
61
+ function isGetRequest(req) {
62
+ return req.method.toUpperCase() === 'GET';
63
+ }
64
+ /**
65
+ * Extracts an HTTP status code from an Angular error response or compatible error shape.
66
+ */
67
+ function getStatusCode(error) {
68
+ if (!(error instanceof HttpErrorResponse) && (typeof error !== 'object' || error === null)) {
69
+ return undefined;
70
+ }
71
+ if (typeof error === 'object' && error !== null && 'status' in error) {
72
+ const statusError = error;
73
+ if (typeof statusError.status === 'number') {
74
+ return statusError.status;
75
+ }
76
+ }
77
+ if (typeof error === 'object' && error !== null && 'error' in error) {
78
+ const nestedError = error;
79
+ if (typeof nestedError.error?.status === 'number') {
80
+ return nestedError.error.status;
81
+ }
82
+ }
83
+ return undefined;
84
+ }
85
+ /**
86
+ * Returns whether the API response body explicitly marks the error as non-retriable.
87
+ */
88
+ function isApiNonRetriableError(error) {
89
+ if (typeof error !== 'object' || error === null || !('error' in error)) {
90
+ return false;
91
+ }
92
+ const responseError = error.error;
93
+ return typeof responseError === 'object' && responseError !== null && 'retriable' in responseError
94
+ ? responseError.retriable === false
95
+ : false;
96
+ }
97
+ /**
98
+ * Returns a finite integer clamped between zero and the supplied maximum.
99
+ */
100
+ function getBoundedInteger(value, fallback, max) {
101
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
102
+ return fallback;
103
+ }
104
+ return Math.min(Math.max(Math.floor(value), 0), max);
105
+ }
106
+ /**
107
+ * Returns a finite number clamped between the supplied minimum and maximum.
108
+ */
109
+ function getBoundedNumber(value, fallback, min, max) {
110
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
111
+ return fallback;
112
+ }
113
+ return Math.min(Math.max(value, min), max);
114
+ }
115
+ /**
116
+ * Filters and de-duplicates configured retryable status codes against the supported retryable list.
117
+ */
118
+ function getRetryableStatusCodes(statusCodes) {
119
+ const codes = statusCodes ?? HTTP_RETRYABLE_STATUS_CODES;
120
+ return [...new Set(codes.filter((statusCode) => HTTP_RETRYABLE_STATUS_CODES.includes(statusCode)))];
121
+ }
122
+
123
+ /**
124
+ * Retries opted-in GET requests when they fail with configured transient HTTP errors.
125
+ */
126
+ const httpRetryInterceptor = (req, next) => {
127
+ const retryPolicy = normalizeHttpRetryPolicy(req.context.get(HTTP_RETRY_POLICY));
128
+ if (!canRetryRequest(req, retryPolicy)) {
129
+ return next(req);
130
+ }
131
+ return next(req).pipe(retry({
132
+ count: retryPolicy.retryCount,
133
+ delay: (error, retryAttempt) => {
134
+ if (!isRetryableError(error, retryPolicy)) {
135
+ return throwError(() => error);
136
+ }
137
+ const delayMs = getRetryDelayMs(retryPolicy, retryAttempt);
138
+ return delayMs > 0 ? timer(delayMs) : of(0);
139
+ },
140
+ }));
141
+ };
142
+
143
+ /**
144
+ * Enables HTTP retry for a request by adding the normalized retry policy to its context.
145
+ */
146
+ function withHttpRetry(policy, context = new HttpContext()) {
147
+ return context.set(HTTP_RETRY_POLICY, normalizeHttpRetryPolicy(policy));
148
+ }
149
+
150
+ /**
151
+ * Disables HTTP retry for a request by setting a zero retry count on its context.
152
+ */
153
+ function withoutHttpRetry(context = new HttpContext()) {
154
+ return context.set(HTTP_RETRY_POLICY, { retryCount: 0 });
155
+ }
156
+
157
+ /**
158
+ * Generated bundle index. Do not edit.
159
+ */
160
+
161
+ export { httpRetryInterceptor, withHttpRetry, withoutHttpRetry };
162
+ //# sourceMappingURL=hmcts-opal-frontend-common-interceptors-http-retry.mjs.map
@@ -14,13 +14,13 @@ class InternalServerErrorComponent {
14
14
  const operationId = [queryParamOperationId, navigationState?.operationId, persistedState?.operationId].find((id) => id?.trim());
15
15
  return operationId?.trim() ?? 'Unavailable';
16
16
  }, ...(ngDevMode ? [{ debugName: "operationIdDisplay" }] : /* istanbul ignore next */ []));
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: InternalServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: InternalServerErrorComponent, isStandalone: true, selector: "opal-lib-internal-server-error", ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\" data-testid=\"error-code\">Error code: {{ operationIdDisplay() }}.</p>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: InternalServerErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: InternalServerErrorComponent, isStandalone: true, selector: "opal-lib-internal-server-error", ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\" data-testid=\"error-code\">Error code: {{ operationIdDisplay() }}.</p>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: InternalServerErrorComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: InternalServerErrorComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'opal-lib-internal-server-error', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\" data-testid=\"error-code\">Error code: {{ operationIdDisplay() }}.</p>\n</div>\n" }]
23
23
  }] });
24
24
 
25
25
  export { InternalServerErrorComponent };
26
- //# sourceMappingURL=hmcts-opal-frontend-common-internal-server-error.component-Cj-ueGWj.mjs.map
26
+ //# sourceMappingURL=hmcts-opal-frontend-common-internal-server-error.component-CinCBLVo.mjs.map
@@ -9,13 +9,13 @@ class AccessDeniedComponent {
9
9
  // For now, test page will act as our 'Dashboard' page
10
10
  this.router.navigate(['/']);
11
11
  }
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AccessDeniedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: AccessDeniedComponent, isStandalone: true, selector: "opal-lib-access-denied", ngImport: i0, template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Access Denied</h1>\n <p class=\"govuk-body\">You do not have the appropriate permissions to access this page.</p>\n <p class=\"govuk-body\">\n <opal-lib-govuk-button\n buttonClasses=\"govuk-button--secondary\"\n buttonId=\"go-back\"\n (buttonClickEvent)=\"handleGoBackButtonClick()\"\n >\n Back to dashboard</opal-lib-govuk-button\n >\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: GovukButtonComponent, selector: "opal-lib-govuk-button", inputs: ["buttonId", "type", "buttonClasses"], outputs: ["buttonClickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: AccessDeniedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: AccessDeniedComponent, isStandalone: true, selector: "opal-lib-access-denied", ngImport: i0, template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Access Denied</h1>\n <p class=\"govuk-body\">You do not have the appropriate permissions to access this page.</p>\n <p class=\"govuk-body\">\n <opal-lib-govuk-button\n buttonClasses=\"govuk-button--secondary\"\n buttonId=\"go-back\"\n (buttonClickEvent)=\"handleGoBackButtonClick()\"\n >\n Back to dashboard</opal-lib-govuk-button\n >\n </p>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: GovukButtonComponent, selector: "opal-lib-govuk-button", inputs: ["buttonId", "type", "buttonClasses"], outputs: ["buttonClickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AccessDeniedComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: AccessDeniedComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'opal-lib-access-denied', imports: [GovukButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-l\">Access Denied</h1>\n <p class=\"govuk-body\">You do not have the appropriate permissions to access this page.</p>\n <p class=\"govuk-body\">\n <opal-lib-govuk-button\n buttonClasses=\"govuk-button--secondary\"\n buttonId=\"go-back\"\n (buttonClickEvent)=\"handleGoBackButtonClick()\"\n >\n Back to dashboard</opal-lib-govuk-button\n >\n </p>\n </div>\n</div>\n" }]
18
18
  }] });
19
19
 
20
20
  export { AccessDeniedComponent };
21
- //# sourceMappingURL=hmcts-opal-frontend-common-pages-access-denied.component-DNNxndx-.mjs.map
21
+ //# sourceMappingURL=hmcts-opal-frontend-common-pages-access-denied.component-BCLRLZqh.mjs.map
@@ -3,13 +3,13 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { GovukPanelComponent } from '@hmcts/opal-frontend-common/components/govuk/govuk-panel';
4
4
 
5
5
  class AccountCreated {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AccountCreated, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: AccountCreated, isStandalone: true, selector: "opal-lib-account-created", ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <opal-lib-govuk-panel panelTitle=\"User account created\"></opal-lib-govuk-panel>\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h2 class=\"govuk-fieldset__heading\">Next steps</h2>\n </legend>\n <p class=\"govuk-body\">\n Your Opal account has been created but is not yet live. <br />\n Contact your team lead to activate it fully.\n </p>\n </fieldset>\n</div>\n", dependencies: [{ kind: "component", type: GovukPanelComponent, selector: "opal-lib-govuk-panel", inputs: ["panelTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: AccountCreated, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.18", type: AccountCreated, isStandalone: true, selector: "opal-lib-account-created", ngImport: i0, template: "<div class=\"govuk-grid-column-two-thirds\">\n <opal-lib-govuk-panel panelTitle=\"User account created\"></opal-lib-govuk-panel>\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h2 class=\"govuk-fieldset__heading\">Next steps</h2>\n </legend>\n <p class=\"govuk-body\">\n Your Opal account has been created but is not yet live. <br />\n Contact your team lead to activate it fully.\n </p>\n </fieldset>\n</div>\n", dependencies: [{ kind: "component", type: GovukPanelComponent, selector: "opal-lib-govuk-panel", inputs: ["panelTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: AccountCreated, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: AccountCreated, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'opal-lib-account-created', imports: [GovukPanelComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"govuk-grid-column-two-thirds\">\n <opal-lib-govuk-panel panelTitle=\"User account created\"></opal-lib-govuk-panel>\n <fieldset class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--m\">\n <h2 class=\"govuk-fieldset__heading\">Next steps</h2>\n </legend>\n <p class=\"govuk-body\">\n Your Opal account has been created but is not yet live. <br />\n Contact your team lead to activate it fully.\n </p>\n </fieldset>\n</div>\n" }]
12
12
  }] });
13
13
 
14
14
  export { AccountCreated };
15
- //# sourceMappingURL=hmcts-opal-frontend-common-pages-account-created.component-3MER1dhS.mjs.map
15
+ //# sourceMappingURL=hmcts-opal-frontend-common-pages-account-created.component-D0g9FjWl.mjs.map