@hmcts/opal-frontend-common 0.0.108 → 0.0.110

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 (417) hide show
  1. package/fesm2022/hmcts-opal-frontend-common-access-denied.component-DuQgLlU6.mjs +57 -0
  2. package/fesm2022/hmcts-opal-frontend-common-account-created.component-DtlFlzU9.mjs +47 -0
  3. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.mjs +73 -81
  4. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.mjs +71 -92
  5. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base-interfaces.mjs +0 -4
  6. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.mjs +133 -233
  7. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base-interfaces.mjs +0 -4
  8. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.mjs +123 -251
  9. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-parent-base.mjs +24 -43
  10. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base-interfaces.mjs +0 -4
  11. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.mjs +66 -94
  12. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base-interfaces.mjs +0 -4
  13. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-base.mjs +340 -616
  14. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-form-parent-base.mjs +25 -61
  15. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.mjs +88 -142
  16. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-report-instances-table-base.mjs +48 -29
  17. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base-constants.mjs +14 -19
  18. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base-interfaces.mjs +0 -4
  19. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base-types.mjs +0 -4
  20. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base.mjs +144 -273
  21. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-interfaces.mjs +0 -4
  22. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs +104 -129
  23. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-types.mjs +0 -4
  24. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs +123 -204
  25. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-tab-data.mjs +35 -121
  26. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter-interfaces.mjs +0 -4
  27. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter-types.mjs +0 -4
  28. package/fesm2022/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.mjs +111 -183
  29. package/fesm2022/hmcts-opal-frontend-common-components-abstract-interfaces.mjs +0 -4
  30. package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete-interfaces.mjs +0 -4
  31. package/fesm2022/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.mjs +278 -263
  32. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-accessible-monetary.mjs +66 -53
  33. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.mjs +44 -21
  34. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.mjs +44 -21
  35. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.mjs +54 -27
  36. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-account-information.mjs +38 -17
  37. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-action-links.mjs +70 -37
  38. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-deferred-live-region-announcement.mjs +109 -119
  39. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.mjs +38 -17
  40. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-page-header.mjs +40 -17
  41. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.mjs +66 -27
  42. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.mjs +44 -21
  43. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.mjs +54 -27
  44. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.mjs +54 -27
  45. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.mjs +67 -42
  46. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.mjs +40 -17
  47. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.mjs +66 -27
  48. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.mjs +42 -21
  49. package/fesm2022/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.mjs +36 -17
  50. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-accordion.mjs +125 -119
  51. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-back-link.mjs +46 -30
  52. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-button.mjs +72 -39
  53. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.mjs +54 -34
  54. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes-interfaces.mjs +0 -4
  55. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.mjs +303 -134
  56. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input-interfaces.mjs +0 -4
  57. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-date-input.mjs +163 -79
  58. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-details.mjs +45 -21
  59. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.mjs +49 -33
  60. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer-interfaces.mjs +0 -4
  61. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-footer.mjs +42 -20
  62. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header-interfaces.mjs +0 -4
  63. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-header.mjs +103 -41
  64. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption-types.mjs +0 -4
  65. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.mjs +90 -39
  66. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.mjs +60 -26
  67. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.mjs +53 -30
  68. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-list.mjs +36 -17
  69. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.mjs +75 -44
  70. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-pagination.mjs +80 -85
  71. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-panel.mjs +53 -25
  72. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio-interfaces.mjs +0 -4
  73. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-radio.mjs +397 -267
  74. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select-interfaces.mjs +0 -4
  75. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-select.mjs +164 -80
  76. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.mjs +153 -85
  77. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.mjs +246 -121
  78. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-table.mjs +224 -90
  79. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.mjs +99 -76
  80. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.mjs +78 -51
  81. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tabs.mjs +79 -72
  82. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-tag.mjs +55 -25
  83. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-task-list.mjs +112 -46
  84. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-area.mjs +185 -104
  85. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.mjs +165 -95
  86. package/fesm2022/hmcts-opal-frontend-common-components-govuk-govuk-text-input.mjs +151 -81
  87. package/fesm2022/hmcts-opal-frontend-common-components-govuk-helpers.mjs +5 -16
  88. package/fesm2022/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.mjs +65 -32
  89. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-alert.mjs +396 -243
  90. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-badge.mjs +55 -25
  91. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.mjs +53 -28
  92. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-button-menu.mjs +92 -60
  93. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-date-picker.mjs +216 -165
  94. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.mjs +44 -21
  95. 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 +64 -42
  96. 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 +68 -47
  97. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.mjs +52 -33
  98. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.mjs +61 -40
  99. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.mjs +63 -42
  100. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.mjs +38 -17
  101. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-filter.mjs +56 -34
  102. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header-interfaces.mjs +0 -4
  103. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-header.mjs +100 -41
  104. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-inset-text.mjs +62 -26
  105. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-notification-badge.mjs +46 -21
  106. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-page-header.mjs +47 -21
  107. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-pagination.mjs +119 -164
  108. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.mjs +225 -172
  109. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sortable-table.mjs +355 -188
  110. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.mjs +152 -96
  111. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.mjs +61 -29
  112. package/fesm2022/hmcts-opal-frontend-common-components-moj-moj-timeline.mjs +74 -26
  113. package/fesm2022/hmcts-opal-frontend-common-concurrency-failure.component-BqsP0gj2.mjs +41 -0
  114. package/fesm2022/hmcts-opal-frontend-common-constants.mjs +7 -13
  115. package/fesm2022/hmcts-opal-frontend-common-directives-capitalisation.mjs +55 -43
  116. package/fesm2022/hmcts-opal-frontend-common-directives-govuk-button.mjs +86 -60
  117. package/fesm2022/hmcts-opal-frontend-common-directives-moj-multi-select.mjs +184 -223
  118. package/fesm2022/hmcts-opal-frontend-common-directives-trim-leading-trailing-whitespace.mjs +56 -40
  119. package/fesm2022/hmcts-opal-frontend-common-guards-account.mjs +17 -37
  120. package/fesm2022/hmcts-opal-frontend-common-guards-auth.mjs +30 -41
  121. package/fesm2022/hmcts-opal-frontend-common-guards-business-unit-route-permissions.mjs +31 -90
  122. package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate-interfaces.mjs +0 -4
  123. package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate-types.mjs +0 -4
  124. package/fesm2022/hmcts-opal-frontend-common-guards-can-deactivate.mjs +3 -9
  125. package/fesm2022/hmcts-opal-frontend-common-guards-feature-flag.mjs +29 -64
  126. package/fesm2022/hmcts-opal-frontend-common-guards-has-flow-state.mjs +13 -20
  127. package/fesm2022/hmcts-opal-frontend-common-guards-has-url-state-match.mjs +19 -48
  128. package/fesm2022/hmcts-opal-frontend-common-guards-helpers.mjs +21 -54
  129. package/fesm2022/hmcts-opal-frontend-common-guards-route-permissions.mjs +20 -30
  130. package/fesm2022/hmcts-opal-frontend-common-guards-signed-in.mjs +13 -24
  131. package/fesm2022/hmcts-opal-frontend-common-guards-types.mjs +0 -4
  132. package/fesm2022/hmcts-opal-frontend-common-interceptors-content-digest.mjs +59 -107
  133. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-error-constants.mjs +11 -17
  134. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-error-interfaces.mjs +0 -4
  135. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-error.mjs +74 -148
  136. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-retry-constants.mjs +18 -13
  137. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-retry-interfaces.mjs +0 -4
  138. package/fesm2022/hmcts-opal-frontend-common-interceptors-http-retry.mjs +65 -134
  139. package/fesm2022/hmcts-opal-frontend-common-internal-server-error.component-8EP_PgKk.mjs +55 -0
  140. package/fesm2022/hmcts-opal-frontend-common-pages-access-denied.component-DuQgLlU6.mjs +57 -0
  141. package/fesm2022/hmcts-opal-frontend-common-pages-account-created.component-DtlFlzU9.mjs +47 -0
  142. package/fesm2022/hmcts-opal-frontend-common-pages-concurrency-failure.component-BqsP0gj2.mjs +41 -0
  143. package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.mjs +0 -4
  144. package/fesm2022/hmcts-opal-frontend-common-pages-dashboard-page.mjs +112 -62
  145. package/fesm2022/hmcts-opal-frontend-common-pages-internal-server-error.component-8EP_PgKk.mjs +55 -0
  146. package/fesm2022/hmcts-opal-frontend-common-pages-permission-denied.component-B3EkD8uw.mjs +41 -0
  147. package/fesm2022/hmcts-opal-frontend-common-pages-routing-constants.mjs +22 -27
  148. package/fesm2022/hmcts-opal-frontend-common-pages-routing-interfaces.mjs +0 -4
  149. package/fesm2022/hmcts-opal-frontend-common-pages-sign-in-stub.component-CT2Bh7gD.mjs +127 -0
  150. package/fesm2022/hmcts-opal-frontend-common-pages-sign-in.component-BxpouMug.mjs +55 -0
  151. package/fesm2022/hmcts-opal-frontend-common-pages.mjs +51 -52
  152. package/fesm2022/hmcts-opal-frontend-common-permission-denied.component-B3EkD8uw.mjs +41 -0
  153. package/fesm2022/hmcts-opal-frontend-common-pipes-date-format.mjs +41 -28
  154. package/fesm2022/hmcts-opal-frontend-common-pipes-days-ago.mjs +43 -40
  155. package/fesm2022/hmcts-opal-frontend-common-pipes-monetary.mjs +43 -39
  156. package/fesm2022/hmcts-opal-frontend-common-pipes-national-insurance.mjs +41 -29
  157. package/fesm2022/hmcts-opal-frontend-common-resolvers-title.mjs +37 -25
  158. package/fesm2022/hmcts-opal-frontend-common-services-app-initializer-service.mjs +68 -91
  159. package/fesm2022/hmcts-opal-frontend-common-services-app-insights-service.mjs +74 -65
  160. package/fesm2022/hmcts-opal-frontend-common-services-auth-service-constants.mjs +6 -10
  161. package/fesm2022/hmcts-opal-frontend-common-services-auth-service-interfaces.mjs +0 -4
  162. package/fesm2022/hmcts-opal-frontend-common-services-auth-service.mjs +49 -42
  163. package/fesm2022/hmcts-opal-frontend-common-services-date-service-interfaces.mjs +0 -4
  164. package/fesm2022/hmcts-opal-frontend-common-services-date-service.mjs +118 -233
  165. package/fesm2022/hmcts-opal-frontend-common-services-history-transformation-service.mjs +185 -484
  166. package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service-mocks.mjs +12 -11
  167. package/fesm2022/hmcts-opal-frontend-common-services-launch-darkly-service.mjs +77 -115
  168. package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-interfaces.mjs +0 -4
  169. package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service-mocks.mjs +150 -159
  170. package/fesm2022/hmcts-opal-frontend-common-services-opal-user-service.mjs +119 -202
  171. package/fesm2022/hmcts-opal-frontend-common-services-permissions-service.mjs +47 -68
  172. package/fesm2022/hmcts-opal-frontend-common-services-session-service-constants.mjs +3 -9
  173. package/fesm2022/hmcts-opal-frontend-common-services-session-service-interfaces.mjs +0 -4
  174. package/fesm2022/hmcts-opal-frontend-common-services-session-service-mocks.mjs +4 -8
  175. package/fesm2022/hmcts-opal-frontend-common-services-session-service.mjs +50 -40
  176. package/fesm2022/hmcts-opal-frontend-common-services-sort-service-interfaces.mjs +0 -4
  177. package/fesm2022/hmcts-opal-frontend-common-services-sort-service.mjs +56 -96
  178. package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service-interfaces.mjs +0 -4
  179. package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service-mocks.mjs +19 -26
  180. package/fesm2022/hmcts-opal-frontend-common-services-transfer-state-service.mjs +71 -99
  181. package/fesm2022/hmcts-opal-frontend-common-services-transformation-service-constants.mjs +4 -8
  182. package/fesm2022/hmcts-opal-frontend-common-services-transformation-service-interfaces.mjs +0 -4
  183. package/fesm2022/hmcts-opal-frontend-common-services-transformation-service.mjs +65 -106
  184. package/fesm2022/hmcts-opal-frontend-common-services-utils-service.mjs +102 -193
  185. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CT2Bh7gD.mjs +127 -0
  186. package/fesm2022/hmcts-opal-frontend-common-sign-in.component-Dz97ji3i.mjs +55 -0
  187. package/fesm2022/hmcts-opal-frontend-common-stores-global-constants.mjs +6 -10
  188. package/fesm2022/hmcts-opal-frontend-common-stores-global-interfaces.mjs +0 -4
  189. package/fesm2022/hmcts-opal-frontend-common-stores-global-types.mjs +0 -4
  190. package/fesm2022/hmcts-opal-frontend-common-stores-global.mjs +52 -57
  191. package/fesm2022/hmcts-opal-frontend-common-types.mjs +0 -4
  192. package/fesm2022/hmcts-opal-frontend-common-validators-amount.mjs +7 -18
  193. package/fesm2022/hmcts-opal-frontend-common-validators-date-after-year.mjs +8 -15
  194. package/fesm2022/hmcts-opal-frontend-common-validators-date-before.mjs +9 -18
  195. package/fesm2022/hmcts-opal-frontend-common-validators-date-of-birth.mjs +13 -21
  196. package/fesm2022/hmcts-opal-frontend-common-validators-future-date.mjs +9 -18
  197. package/fesm2022/hmcts-opal-frontend-common-validators-invalid-value.mjs +6 -12
  198. package/fesm2022/hmcts-opal-frontend-common-validators-national-insurance-number.mjs +9 -17
  199. package/fesm2022/hmcts-opal-frontend-common-validators-non-negative-value.mjs +10 -26
  200. package/fesm2022/hmcts-opal-frontend-common-validators-non-zero-value.mjs +10 -26
  201. package/fesm2022/hmcts-opal-frontend-common-validators-optional-max-length.mjs +7 -14
  202. package/fesm2022/hmcts-opal-frontend-common-validators-optional-valid-date.mjs +13 -26
  203. package/fesm2022/hmcts-opal-frontend-common-validators-optional-valid-telephone.mjs +12 -17
  204. package/fesm2022/hmcts-opal-frontend-common-validators-over-eighteen.mjs +19 -48
  205. package/fesm2022/hmcts-opal-frontend-common-validators-past-date.mjs +11 -19
  206. package/fesm2022/hmcts-opal-frontend-common-validators-pattern-validator.mjs +7 -26
  207. package/fesm2022/hmcts-opal-frontend-common-validators-valid-value.mjs +6 -12
  208. package/fesm2022/hmcts-opal-frontend-common.mjs +56 -76
  209. package/package.json +3 -3
  210. package/types/hmcts-opal-frontend-common-components-abstract-abstract-account-summary-base.d.ts +95 -104
  211. package/types/hmcts-opal-frontend-common-components-abstract-abstract-creditor-details-base.d.ts +75 -78
  212. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base-interfaces.d.ts +4 -7
  213. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-alias-base.d.ts +123 -126
  214. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base-interfaces.d.ts +4 -7
  215. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-array-base.d.ts +156 -159
  216. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-array-parent-base.d.ts +13 -16
  217. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base-interfaces.d.ts +5 -7
  218. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-array-removal-base.d.ts +46 -50
  219. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-base-interfaces.d.ts +27 -35
  220. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-base.d.ts +323 -328
  221. package/types/hmcts-opal-frontend-common-components-abstract-abstract-form-parent-base.d.ts +33 -36
  222. package/types/hmcts-opal-frontend-common-components-abstract-abstract-nested-form-base.d.ts +75 -78
  223. package/types/hmcts-opal-frontend-common-components-abstract-abstract-report-instances-table-base.d.ts +15 -13
  224. package/types/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base-constants.d.ts +16 -19
  225. package/types/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base-interfaces.d.ts +23 -30
  226. package/types/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base-types.d.ts +1 -3
  227. package/types/hmcts-opal-frontend-common-components-abstract-abstract-report-summary-list-base.d.ts +179 -188
  228. package/types/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-interfaces.d.ts +6 -9
  229. package/types/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.d.ts +66 -66
  230. package/types/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-types.d.ts +2 -5
  231. package/types/hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.d.ts +112 -113
  232. package/types/hmcts-opal-frontend-common-components-abstract-abstract-tab-data.d.ts +83 -86
  233. package/types/hmcts-opal-frontend-common-components-abstract-abstract-table-filter-interfaces.d.ts +12 -15
  234. package/types/hmcts-opal-frontend-common-components-abstract-abstract-table-filter-types.d.ts +1 -3
  235. package/types/hmcts-opal-frontend-common-components-abstract-abstract-table-filter.d.ts +113 -116
  236. package/types/hmcts-opal-frontend-common-components-abstract-interfaces.d.ts +16 -23
  237. package/types/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete-interfaces.d.ts +4 -6
  238. package/types/hmcts-opal-frontend-common-components-alphagov-alphagov-accessible-autocomplete.d.ts +136 -93
  239. package/types/hmcts-opal-frontend-common-components-custom-custom-accessible-monetary.d.ts +35 -29
  240. package/types/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-label.d.ts +6 -9
  241. package/types/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item-custom-account-information-item-value.d.ts +6 -9
  242. package/types/hmcts-opal-frontend-common-components-custom-custom-account-information-custom-account-information-item.d.ts +12 -10
  243. package/types/hmcts-opal-frontend-common-components-custom-custom-account-information.d.ts +5 -8
  244. package/types/hmcts-opal-frontend-common-components-custom-custom-action-links.d.ts +18 -12
  245. package/types/hmcts-opal-frontend-common-components-custom-custom-deferred-live-region-announcement.d.ts +67 -57
  246. package/types/hmcts-opal-frontend-common-components-custom-custom-horizontal-scroll-pane.d.ts +5 -8
  247. package/types/hmcts-opal-frontend-common-components-custom-custom-page-header.d.ts +5 -8
  248. package/types/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes-custom-scrollable-panes-inner-pane.d.ts +16 -10
  249. package/types/hmcts-opal-frontend-common-components-custom-custom-scrollable-panes.d.ts +11 -9
  250. package/types/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-label.d.ts +12 -10
  251. package/types/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item-custom-summary-metric-bar-item-value.d.ts +12 -10
  252. package/types/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar-custom-summary-metric-bar-item.d.ts +26 -20
  253. package/types/hmcts-opal-frontend-common-components-custom-custom-summary-metric-bar.d.ts +5 -8
  254. package/types/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-inner-pane.d.ts +16 -10
  255. package/types/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane-custom-vertical-scroll-pane-outer-pane.d.ts +11 -9
  256. package/types/hmcts-opal-frontend-common-components-custom-custom-vertical-scroll-pane.d.ts +5 -8
  257. package/types/hmcts-opal-frontend-common-components-govuk-govuk-accordion.d.ts +72 -64
  258. package/types/hmcts-opal-frontend-common-components-govuk-govuk-back-link.d.ts +16 -17
  259. package/types/hmcts-opal-frontend-common-components-govuk-govuk-button.d.ts +29 -17
  260. package/types/hmcts-opal-frontend-common-components-govuk-govuk-cancel-link.d.ts +22 -18
  261. package/types/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes-interfaces.d.ts +14 -16
  262. package/types/hmcts-opal-frontend-common-components-govuk-govuk-checkboxes.d.ts +96 -43
  263. package/types/hmcts-opal-frontend-common-components-govuk-govuk-date-input-interfaces.d.ts +13 -15
  264. package/types/hmcts-opal-frontend-common-components-govuk-govuk-date-input.d.ts +75 -34
  265. package/types/hmcts-opal-frontend-common-components-govuk-govuk-details.d.ts +11 -9
  266. package/types/hmcts-opal-frontend-common-components-govuk-govuk-error-summary.d.ts +23 -19
  267. package/types/hmcts-opal-frontend-common-components-govuk-govuk-footer-interfaces.d.ts +5 -7
  268. package/types/hmcts-opal-frontend-common-components-govuk-govuk-footer.d.ts +14 -13
  269. package/types/hmcts-opal-frontend-common-components-govuk-govuk-header-interfaces.d.ts +4 -6
  270. package/types/hmcts-opal-frontend-common-components-govuk-govuk-header.d.ts +25 -23
  271. package/types/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption-types.d.ts +1 -3
  272. package/types/hmcts-opal-frontend-common-components-govuk-govuk-heading-with-caption.d.ts +32 -14
  273. package/types/hmcts-opal-frontend-common-components-govuk-govuk-inset-text.d.ts +16 -10
  274. package/types/hmcts-opal-frontend-common-components-govuk-govuk-list-govuk-list-link.d.ts +16 -12
  275. package/types/hmcts-opal-frontend-common-components-govuk-govuk-list.d.ts +5 -8
  276. package/types/hmcts-opal-frontend-common-components-govuk-govuk-notification-banner.d.ts +37 -20
  277. package/types/hmcts-opal-frontend-common-components-govuk-govuk-pagination.d.ts +59 -47
  278. package/types/hmcts-opal-frontend-common-components-govuk-govuk-panel.d.ts +12 -10
  279. package/types/hmcts-opal-frontend-common-components-govuk-govuk-radio-interfaces.d.ts +17 -20
  280. package/types/hmcts-opal-frontend-common-components-govuk-govuk-radio.d.ts +162 -101
  281. package/types/hmcts-opal-frontend-common-components-govuk-govuk-select-interfaces.d.ts +4 -6
  282. package/types/hmcts-opal-frontend-common-components-govuk-govuk-select.d.ts +67 -26
  283. package/types/hmcts-opal-frontend-common-components-govuk-govuk-summary-card-list.d.ts +67 -35
  284. package/types/hmcts-opal-frontend-common-components-govuk-govuk-summary-list.d.ts +80 -47
  285. package/types/hmcts-opal-frontend-common-components-govuk-govuk-table.d.ts +47 -30
  286. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-list-item.d.ts +44 -34
  287. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tabs-govuk-tabs-panel.d.ts +19 -17
  288. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tabs.d.ts +44 -36
  289. package/types/hmcts-opal-frontend-common-components-govuk-govuk-tag.d.ts +16 -10
  290. package/types/hmcts-opal-frontend-common-components-govuk-govuk-task-list.d.ts +35 -17
  291. package/types/hmcts-opal-frontend-common-components-govuk-govuk-text-area.d.ts +83 -29
  292. package/types/hmcts-opal-frontend-common-components-govuk-govuk-text-input-prefix-suffix.d.ts +74 -28
  293. package/types/hmcts-opal-frontend-common-components-govuk-govuk-text-input.d.ts +65 -23
  294. package/types/hmcts-opal-frontend-common-components-govuk-helpers.d.ts +1 -3
  295. package/types/hmcts-opal-frontend-common-components-hod-hod-loading-spinner.d.ts +18 -12
  296. package/types/hmcts-opal-frontend-common-components-moj-moj-alert.d.ts +89 -69
  297. package/types/hmcts-opal-frontend-common-components-moj-moj-badge.d.ts +16 -10
  298. package/types/hmcts-opal-frontend-common-components-moj-moj-button-menu-moj-button-menu-item.d.ts +16 -12
  299. package/types/hmcts-opal-frontend-common-components-moj-moj-button-menu.d.ts +32 -26
  300. package/types/hmcts-opal-frontend-common-components-moj-moj-date-picker.d.ts +116 -60
  301. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-header.d.ts +11 -9
  302. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-item.d.ts +33 -29
  303. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option-moj-filter-panel-option-form-group-keyword.d.ts +34 -22
  304. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-option.d.ts +22 -18
  305. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected-moj-filter-panel-selected-tag.d.ts +32 -24
  306. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel-moj-filter-panel-selected.d.ts +29 -21
  307. package/types/hmcts-opal-frontend-common-components-moj-moj-filter-moj-filter-panel.d.ts +5 -8
  308. package/types/hmcts-opal-frontend-common-components-moj-moj-filter.d.ts +23 -17
  309. package/types/hmcts-opal-frontend-common-components-moj-moj-header-interfaces.d.ts +4 -6
  310. package/types/hmcts-opal-frontend-common-components-moj-moj-header.d.ts +25 -23
  311. package/types/hmcts-opal-frontend-common-components-moj-moj-inset-text.d.ts +16 -10
  312. package/types/hmcts-opal-frontend-common-components-moj-moj-notification-badge.d.ts +11 -9
  313. package/types/hmcts-opal-frontend-common-components-moj-moj-page-header.d.ts +11 -9
  314. package/types/hmcts-opal-frontend-common-components-moj-moj-pagination.d.ts +99 -83
  315. package/types/hmcts-opal-frontend-common-components-moj-moj-primary-navigation.d.ts +102 -67
  316. package/types/hmcts-opal-frontend-common-components-moj-moj-sortable-table.d.ts +83 -51
  317. package/types/hmcts-opal-frontend-common-components-moj-moj-sub-navigation.d.ts +62 -42
  318. package/types/hmcts-opal-frontend-common-components-moj-moj-ticket-panel.d.ts +21 -11
  319. package/types/hmcts-opal-frontend-common-components-moj-moj-timeline.d.ts +8 -12
  320. package/types/hmcts-opal-frontend-common-constants.d.ts +20 -25
  321. package/types/hmcts-opal-frontend-common-directives-capitalisation.d.ts +17 -15
  322. package/types/hmcts-opal-frontend-common-directives-govuk-button.d.ts +33 -21
  323. package/types/hmcts-opal-frontend-common-directives-moj-multi-select.d.ts +92 -69
  324. package/types/hmcts-opal-frontend-common-directives-trim-leading-trailing-whitespace.d.ts +13 -11
  325. package/types/hmcts-opal-frontend-common-guards-account.d.ts +2 -5
  326. package/types/hmcts-opal-frontend-common-guards-auth.d.ts +4 -7
  327. package/types/hmcts-opal-frontend-common-guards-business-unit-route-permissions.d.ts +14 -19
  328. package/types/hmcts-opal-frontend-common-guards-can-deactivate-interfaces.d.ts +4 -7
  329. package/types/hmcts-opal-frontend-common-guards-can-deactivate-types.d.ts +3 -6
  330. package/types/hmcts-opal-frontend-common-guards-can-deactivate.d.ts +4 -8
  331. package/types/hmcts-opal-frontend-common-guards-feature-flag.d.ts +4 -7
  332. package/types/hmcts-opal-frontend-common-guards-has-flow-state.d.ts +2 -5
  333. package/types/hmcts-opal-frontend-common-guards-has-url-state-match.d.ts +2 -5
  334. package/types/hmcts-opal-frontend-common-guards-helpers.d.ts +8 -15
  335. package/types/hmcts-opal-frontend-common-guards-route-permissions.d.ts +2 -5
  336. package/types/hmcts-opal-frontend-common-guards-signed-in.d.ts +2 -5
  337. package/types/hmcts-opal-frontend-common-guards-types.d.ts +2 -5
  338. package/types/hmcts-opal-frontend-common-interceptors-content-digest.d.ts +2 -5
  339. package/types/hmcts-opal-frontend-common-interceptors-http-error-constants.d.ts +4 -9
  340. package/types/hmcts-opal-frontend-common-interceptors-http-error-interfaces.d.ts +9 -11
  341. package/types/hmcts-opal-frontend-common-interceptors-http-error.d.ts +2 -5
  342. package/types/hmcts-opal-frontend-common-interceptors-http-retry-constants.d.ts +5 -11
  343. package/types/hmcts-opal-frontend-common-interceptors-http-retry-interfaces.d.ts +7 -9
  344. package/types/hmcts-opal-frontend-common-interceptors-http-retry.d.ts +9 -15
  345. package/types/hmcts-opal-frontend-common-pages-dashboard-page-interfaces.d.ts +17 -21
  346. package/types/hmcts-opal-frontend-common-pages-dashboard-page.d.ts +89 -96
  347. package/types/hmcts-opal-frontend-common-pages-routing-constants.d.ts +3 -7
  348. package/types/hmcts-opal-frontend-common-pages-routing-interfaces.d.ts +24 -29
  349. package/types/hmcts-opal-frontend-common-pages.d.ts +2 -5
  350. package/types/hmcts-opal-frontend-common-pipes-date-format.d.ts +8 -11
  351. package/types/hmcts-opal-frontend-common-pipes-days-ago.d.ts +7 -10
  352. package/types/hmcts-opal-frontend-common-pipes-monetary.d.ts +8 -11
  353. package/types/hmcts-opal-frontend-common-pipes-national-insurance.d.ts +7 -10
  354. package/types/hmcts-opal-frontend-common-resolvers-title.d.ts +8 -11
  355. package/types/hmcts-opal-frontend-common-services-app-initializer-service.d.ts +37 -41
  356. package/types/hmcts-opal-frontend-common-services-app-insights-service.d.ts +14 -17
  357. package/types/hmcts-opal-frontend-common-services-auth-service-constants.d.ts +2 -5
  358. package/types/hmcts-opal-frontend-common-services-auth-service-interfaces.d.ts +6 -8
  359. package/types/hmcts-opal-frontend-common-services-auth-service.d.ts +8 -12
  360. package/types/hmcts-opal-frontend-common-services-date-service-interfaces.d.ts +7 -9
  361. package/types/hmcts-opal-frontend-common-services-date-service.d.ts +149 -153
  362. package/types/hmcts-opal-frontend-common-services-history-transformation-service.d.ts +104 -125
  363. package/types/hmcts-opal-frontend-common-services-launch-darkly-service-mocks.d.ts +13 -16
  364. package/types/hmcts-opal-frontend-common-services-launch-darkly-service.d.ts +46 -49
  365. package/types/hmcts-opal-frontend-common-services-opal-user-service-interfaces.d.ts +28 -36
  366. package/types/hmcts-opal-frontend-common-services-opal-user-service-mocks.d.ts +4 -9
  367. package/types/hmcts-opal-frontend-common-services-opal-user-service.d.ts +97 -104
  368. package/types/hmcts-opal-frontend-common-services-permissions-service.d.ts +33 -36
  369. package/types/hmcts-opal-frontend-common-services-session-service-constants.d.ts +2 -5
  370. package/types/hmcts-opal-frontend-common-services-session-service-interfaces.d.ts +6 -9
  371. package/types/hmcts-opal-frontend-common-services-session-service-mocks.d.ts +2 -5
  372. package/types/hmcts-opal-frontend-common-services-session-service.d.ts +17 -20
  373. package/types/hmcts-opal-frontend-common-services-sort-service-interfaces.d.ts +9 -13
  374. package/types/hmcts-opal-frontend-common-services-sort-service.d.ts +64 -67
  375. package/types/hmcts-opal-frontend-common-services-transfer-state-service-interfaces.d.ts +20 -26
  376. package/types/hmcts-opal-frontend-common-services-transfer-state-service-mocks.d.ts +11 -17
  377. package/types/hmcts-opal-frontend-common-services-transfer-state-service.d.ts +44 -47
  378. package/types/hmcts-opal-frontend-common-services-transformation-service-constants.d.ts +2 -5
  379. package/types/hmcts-opal-frontend-common-services-transformation-service-interfaces.d.ts +12 -14
  380. package/types/hmcts-opal-frontend-common-services-transformation-service.d.ts +41 -44
  381. package/types/hmcts-opal-frontend-common-services-utils-service.d.ts +111 -114
  382. package/types/hmcts-opal-frontend-common-stores-global-constants.d.ts +2 -5
  383. package/types/hmcts-opal-frontend-common-stores-global-interfaces.d.ts +6 -8
  384. package/types/hmcts-opal-frontend-common-stores-global-types.d.ts +2 -5
  385. package/types/hmcts-opal-frontend-common-stores-global.d.ts +52 -57
  386. package/types/hmcts-opal-frontend-common-types.d.ts +1 -3
  387. package/types/hmcts-opal-frontend-common-validators-amount.d.ts +2 -5
  388. package/types/hmcts-opal-frontend-common-validators-date-after-year.d.ts +2 -5
  389. package/types/hmcts-opal-frontend-common-validators-date-before.d.ts +2 -5
  390. package/types/hmcts-opal-frontend-common-validators-date-of-birth.d.ts +2 -5
  391. package/types/hmcts-opal-frontend-common-validators-future-date.d.ts +2 -5
  392. package/types/hmcts-opal-frontend-common-validators-invalid-value.d.ts +2 -5
  393. package/types/hmcts-opal-frontend-common-validators-national-insurance-number.d.ts +2 -5
  394. package/types/hmcts-opal-frontend-common-validators-non-negative-value.d.ts +2 -5
  395. package/types/hmcts-opal-frontend-common-validators-non-zero-value.d.ts +2 -5
  396. package/types/hmcts-opal-frontend-common-validators-optional-max-length.d.ts +2 -5
  397. package/types/hmcts-opal-frontend-common-validators-optional-valid-date.d.ts +2 -5
  398. package/types/hmcts-opal-frontend-common-validators-optional-valid-telephone.d.ts +2 -5
  399. package/types/hmcts-opal-frontend-common-validators-over-eighteen.d.ts +3 -6
  400. package/types/hmcts-opal-frontend-common-validators-past-date.d.ts +2 -5
  401. package/types/hmcts-opal-frontend-common-validators-pattern-validator.d.ts +2 -5
  402. package/types/hmcts-opal-frontend-common-validators-valid-value.d.ts +2 -5
  403. package/types/hmcts-opal-frontend-common.d.ts +23 -31
  404. package/fesm2022/hmcts-opal-frontend-common-access-denied.component-BDTGvQ4J.mjs +0 -21
  405. package/fesm2022/hmcts-opal-frontend-common-account-created.component-6jzTqXSI.mjs +0 -15
  406. package/fesm2022/hmcts-opal-frontend-common-concurrency-failure.component-D43W-peK.mjs +0 -14
  407. package/fesm2022/hmcts-opal-frontend-common-internal-server-error.component-DftC2eY-.mjs +0 -26
  408. package/fesm2022/hmcts-opal-frontend-common-pages-access-denied.component-BDTGvQ4J.mjs +0 -21
  409. package/fesm2022/hmcts-opal-frontend-common-pages-account-created.component-6jzTqXSI.mjs +0 -15
  410. package/fesm2022/hmcts-opal-frontend-common-pages-concurrency-failure.component-D43W-peK.mjs +0 -14
  411. package/fesm2022/hmcts-opal-frontend-common-pages-internal-server-error.component-DftC2eY-.mjs +0 -26
  412. package/fesm2022/hmcts-opal-frontend-common-pages-permission-denied.component-CNGPX5k_.mjs +0 -14
  413. package/fesm2022/hmcts-opal-frontend-common-pages-sign-in-stub.component-BIgTV7f1.mjs +0 -42
  414. package/fesm2022/hmcts-opal-frontend-common-pages-sign-in.component-0pu6fIcO.mjs +0 -28
  415. package/fesm2022/hmcts-opal-frontend-common-permission-denied.component-CNGPX5k_.mjs +0 -14
  416. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-BIgTV7f1.mjs +0 -42
  417. package/fesm2022/hmcts-opal-frontend-common-sign-in.component-BxUlQIYI.mjs +0 -28
@@ -1,130 +1,105 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, Injector, effect, signal, computed, afterNextRender, ElementRef, Input, ViewChildren, Component } from '@angular/core';
3
- import { AbstractSortableTableComponent } from '@hmcts/opal-frontend-common/components/abstract/abstract-sortable-table';
4
- import { UtilsService } from '@hmcts/opal-frontend-common/services/utils-service';
5
-
6
- class AbstractSortableTablePaginationComponent extends AbstractSortableTableComponent {
7
- injector = inject(Injector);
8
- paginationFocusUtilsService = inject(UtilsService);
9
- paginationFocusTargets;
10
- /**
11
- * Keeps the current page within the available range when the data set or page size changes.
12
- */
13
- clampCurrentPageEffect = effect(() => {
14
- const totalPages = Math.max(1, Math.ceil(this.sortedTableDataSignal().length / this.itemsPerPageSignal()));
15
- if (this.currentPageSignal() > totalPages) {
16
- this.currentPageSignal.set(totalPages);
17
- }
18
- }, ...(ngDevMode ? [{ debugName: "clampCurrentPageEffect" }] : /* istanbul ignore next */ []));
19
- // Signal for the current page. Used to calculate the start and end indices for pagination.
20
- currentPageSignal = signal(1, ...(ngDevMode ? [{ debugName: "currentPageSignal" }] : /* istanbul ignore next */ []));
21
- // Signal for the number of items per page. Determines how many items are displayed on each page.
22
- itemsPerPageSignal = signal(10, ...(ngDevMode ? [{ debugName: "itemsPerPageSignal" }] : /* istanbul ignore next */ []));
23
- // Optional page title included in the announcement exposed to the consuming template.
24
- paginationPageTitle = '';
25
- // Announcement for a consuming template to render in a live status region.
26
- pageChangeAnnouncement = signal('', ...(ngDevMode ? [{ debugName: "pageChangeAnnouncement" }] : /* istanbul ignore next */ []));
27
- // Signal for the start index (1-based). Automatically updates when `currentPageSignal` or `itemsPerPageSignal` changes.
28
- startIndexComputed = computed(() => {
29
- const currentPage = this.currentPageSignal();
30
- return (currentPage - 1) * this.itemsPerPageSignal() + 1;
31
- }, ...(ngDevMode ? [{ debugName: "startIndexComputed" }] : /* istanbul ignore next */ []));
32
- /**
33
- * Computes the end index for the current page of the sorted table data.
34
- * Ensures the end index does not exceed the total number of items.
35
- *
36
- * @returns The zero-based index of the last item to display on the current page.
37
- */
38
- endIndexComputed = computed(() => {
39
- return Math.min(this.sortedTableDataSignal().length, this.startIndexComputed() + this.itemsPerPageSignal() - 1);
40
- }, ...(ngDevMode ? [{ debugName: "endIndexComputed" }] : /* istanbul ignore next */ []));
41
- // Computed signal for paginated table data. Reactively slices `displayTableDataSignal` based on `startIndexComputed` and `endIndexComputed`.
42
- paginatedTableDataComputed = computed(() => {
43
- const data = this.sortedTableDataSignal(); // Full table data
44
- return data.slice(this.startIndexComputed() - 1, this.endIndexComputed()); // Return paginated data subset
45
- }, ...(ngDevMode ? [{ debugName: "paginatedTableDataComputed" }] : /* istanbul ignore next */ []));
46
- /**
47
- * Focuses the first target rendered for the new page and lets the browser scroll it into view.
48
- * Falls back to the main content landmark when the table has no marked focus target.
49
- */
50
- focusNewPageContent() {
51
- const focusTarget = this.paginationFocusTargets.first?.nativeElement;
52
- if (focusTarget) {
53
- const hasTabindex = focusTarget.hasAttribute('tabindex');
54
- if (!hasTabindex) {
55
- focusTarget.setAttribute('tabindex', '-1');
56
- focusTarget.addEventListener('blur', () => focusTarget.removeAttribute('tabindex'), { once: true });
57
- }
58
- focusTarget.focus();
59
- return;
60
- }
61
- this.paginationFocusUtilsService.focusAndScrollToTop();
62
- }
63
- /**
64
- * Handles sorting changes and resets the page to the first page.
65
- *
66
- * @param event - The sorting event containing:
67
- * - `key`: The column key to sort by.
68
- * - `sortType`: The sorting order, either 'ascending' or 'descending'.
69
- *
70
- * Resets `currentPageSignal` to 1 and triggers re-sorting of `displayTableDataSignal`.
71
- */
72
- onSortChange(event) {
73
- super.onSortChange(event); // Update the sort state and sort the data
74
- this.currentPageSignal.set(1); // Reset the page to the first page
75
- }
76
- /**
77
- * Applies the current filters to the table data.
78
- *
79
- * Overrides the base implementation to additionally reset the pagination to the first page
80
- * after filters are applied.
81
- *
82
- * @override
83
- */
84
- onApplyFilters() {
85
- super.onApplyFilters();
86
- this.currentPageSignal.set(1); // Reset to first page after filtering
87
- }
88
- /**
89
- * Handles the event when the page is changed.
90
- * Moves focus to the first marked target, or the main content fallback, after committing a different page.
91
- *
92
- * @param newPage - The new page number to set. If the provided page number is out of range,
93
- * it will be clamped between 1 and the total number of pages.
94
- */
95
- onPageChange(newPage) {
96
- const totalPages = Math.ceil(this.sortedTableDataSignal().length / this.itemsPerPageSignal());
97
- const nextPage = Math.max(1, Math.min(newPage, totalPages));
98
- if (nextPage === this.currentPageSignal()) {
99
- return;
100
- }
101
- const pageTitle = this.paginationPageTitle.trim();
102
- const pageContext = `${nextPage} of ${totalPages}`;
103
- this.pageChangeAnnouncement.set(pageTitle ? `${pageTitle}, page ${pageContext}` : `Page ${pageContext}`);
104
- this.currentPageSignal.set(nextPage);
105
- afterNextRender({
106
- mixedReadWrite: () => this.focusNewPageContent(),
107
- }, { injector: this.injector });
108
- }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: AbstractSortableTablePaginationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: AbstractSortableTablePaginationComponent, isStandalone: true, selector: "ng-component", inputs: { paginationPageTitle: "paginationPageTitle" }, viewQueries: [{ propertyName: "paginationFocusTargets", predicate: ["paginationFocusTarget"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
111
- }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: AbstractSortableTablePaginationComponent, decorators: [{
113
- type: Component,
114
- args: [{
115
- template: '',
116
- }]
117
- }], propDecorators: { paginationFocusTargets: [{
118
- type: ViewChildren,
119
- args: ['paginationFocusTarget', { read: ElementRef }]
120
- }], paginationPageTitle: [{
121
- type: Input,
122
- args: [{ required: false }]
123
- }] } });
124
-
125
- /**
126
- * Generated bundle index. Do not edit.
127
- */
128
-
1
+ import * as i0 from "@angular/core";
2
+ import { Component, ElementRef, Injector, Input, ViewChildren, afterNextRender, computed, effect, inject, signal } from "@angular/core";
3
+ import { AbstractSortableTableComponent } from "@hmcts/opal-frontend-common/components/abstract/abstract-sortable-table";
4
+ import { UtilsService } from "@hmcts/opal-frontend-common/services/utils-service";
5
+ var AbstractSortableTablePaginationComponent = class AbstractSortableTablePaginationComponent extends AbstractSortableTableComponent {
6
+ injector = inject(Injector);
7
+ paginationFocusUtilsService = inject(UtilsService);
8
+ paginationFocusTargets;
9
+ clampCurrentPageEffect = effect(() => {
10
+ const totalPages = Math.max(1, Math.ceil(this.sortedTableDataSignal().length / this.itemsPerPageSignal()));
11
+ if (this.currentPageSignal() > totalPages) this.currentPageSignal.set(totalPages);
12
+ }, ...ngDevMode ? [{ debugName: "clampCurrentPageEffect" }] : /* istanbul ignore next */ []);
13
+ currentPageSignal = signal(1, ...ngDevMode ? [{ debugName: "currentPageSignal" }] : /* istanbul ignore next */ []);
14
+ itemsPerPageSignal = signal(10, ...ngDevMode ? [{ debugName: "itemsPerPageSignal" }] : /* istanbul ignore next */ []);
15
+ paginationPageTitle = "";
16
+ pageChangeAnnouncement = signal("", ...ngDevMode ? [{ debugName: "pageChangeAnnouncement" }] : /* istanbul ignore next */ []);
17
+ startIndexComputed = computed(() => {
18
+ return (this.currentPageSignal() - 1) * this.itemsPerPageSignal() + 1;
19
+ }, ...ngDevMode ? [{ debugName: "startIndexComputed" }] : /* istanbul ignore next */ []);
20
+ endIndexComputed = computed(() => {
21
+ return Math.min(this.sortedTableDataSignal().length, this.startIndexComputed() + this.itemsPerPageSignal() - 1);
22
+ }, ...ngDevMode ? [{ debugName: "endIndexComputed" }] : /* istanbul ignore next */ []);
23
+ paginatedTableDataComputed = computed(() => {
24
+ return this.sortedTableDataSignal().slice(this.startIndexComputed() - 1, this.endIndexComputed());
25
+ }, ...ngDevMode ? [{ debugName: "paginatedTableDataComputed" }] : /* istanbul ignore next */ []);
26
+ focusNewPageContent() {
27
+ const focusTarget = this.paginationFocusTargets.first?.nativeElement;
28
+ if (focusTarget) {
29
+ if (!focusTarget.hasAttribute("tabindex")) {
30
+ focusTarget.setAttribute("tabindex", "-1");
31
+ focusTarget.addEventListener("blur", () => focusTarget.removeAttribute("tabindex"), { once: true });
32
+ }
33
+ focusTarget.focus();
34
+ return;
35
+ }
36
+ this.paginationFocusUtilsService.focusAndScrollToTop();
37
+ }
38
+ onSortChange(event) {
39
+ super.onSortChange(event);
40
+ this.currentPageSignal.set(1);
41
+ }
42
+ onApplyFilters() {
43
+ super.onApplyFilters();
44
+ this.currentPageSignal.set(1);
45
+ }
46
+ onPageChange(newPage) {
47
+ const totalPages = Math.ceil(this.sortedTableDataSignal().length / this.itemsPerPageSignal());
48
+ const nextPage = Math.max(1, Math.min(newPage, totalPages));
49
+ if (nextPage === this.currentPageSignal()) return;
50
+ const pageTitle = this.paginationPageTitle.trim();
51
+ const pageContext = `${nextPage} of ${totalPages}`;
52
+ this.pageChangeAnnouncement.set(pageTitle ? `${pageTitle}, page ${pageContext}` : `Page ${pageContext}`);
53
+ this.currentPageSignal.set(nextPage);
54
+ afterNextRender({ mixedReadWrite: () => this.focusNewPageContent() }, { injector: this.injector });
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({
57
+ minVersion: "12.0.0",
58
+ version: "21.2.25",
59
+ ngImport: i0,
60
+ type: AbstractSortableTablePaginationComponent,
61
+ deps: null,
62
+ target: i0.ɵɵFactoryTarget.Component
63
+ });
64
+ static ɵcmp = i0.ɵɵngDeclareComponent({
65
+ minVersion: "14.0.0",
66
+ version: "21.2.25",
67
+ type: AbstractSortableTablePaginationComponent,
68
+ isStandalone: true,
69
+ selector: "ng-component",
70
+ inputs: { paginationPageTitle: "paginationPageTitle" },
71
+ viewQueries: [{
72
+ propertyName: "paginationFocusTargets",
73
+ predicate: ["paginationFocusTarget"],
74
+ descendants: true,
75
+ read: ElementRef
76
+ }],
77
+ usesInheritance: true,
78
+ ngImport: i0,
79
+ template: "",
80
+ isInline: true
81
+ });
82
+ };
83
+ i0.ɵɵngDeclareClassMetadata({
84
+ minVersion: "12.0.0",
85
+ version: "21.2.25",
86
+ ngImport: i0,
87
+ type: AbstractSortableTablePaginationComponent,
88
+ decorators: [{
89
+ type: Component,
90
+ args: [{ template: "" }]
91
+ }],
92
+ propDecorators: {
93
+ paginationFocusTargets: [{
94
+ type: ViewChildren,
95
+ args: ["paginationFocusTarget", { read: ElementRef }]
96
+ }],
97
+ paginationPageTitle: [{
98
+ type: Input,
99
+ args: [{ required: false }]
100
+ }]
101
+ }
102
+ });
129
103
  export { AbstractSortableTablePaginationComponent };
130
- //# sourceMappingURL=hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs.map
104
+
105
+ //# sourceMappingURL=hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-pagination.mjs.map
@@ -1,4 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- //# sourceMappingURL=hmcts-opal-frontend-common-components-abstract-abstract-sortable-table-types.mjs.map
@@ -1,205 +1,124 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, effect, signal, EventEmitter, Output, Component } from '@angular/core';
3
- import { SortService } from '@hmcts/opal-frontend-common/services/sort-service';
4
- import { AbstractTableFilterComponent } from '@hmcts/opal-frontend-common/components/abstract/abstract-table-filter';
5
-
6
- class AbstractSortableTableComponent extends AbstractTableFilterComponent {
7
- sortService = inject(SortService);
8
- /**
9
- * Synchronizes the sorted table data with the current filter and sort state.
10
- *
11
- * This effect observes changes to the filtered table data and the sort state signals.
12
- * If no active sort key is found (i.e., no sorting is applied), it sets the sorted table data
13
- * to a shallow copy of the filtered data. Otherwise, sorting logic should be applied elsewhere.
14
- *
15
- * @protected
16
- */
17
- syncSortedDataEffect = effect(() => {
18
- const filtered = this.filteredTableDataSignal();
19
- const currentSort = this.sortStateSignal();
20
- const activeSortKey = Object.keys(currentSort).some((k) => currentSort[k] !== 'none');
21
- if (!activeSortKey) {
22
- // No sort applied – use filtered data directly
23
- this.sortedTableDataSignal.set([...filtered]);
24
- }
25
- }, ...(ngDevMode ? [{ debugName: "syncSortedDataEffect" }] : /* istanbul ignore next */ []));
26
- displayTableDataSignal = signal([], ...(ngDevMode ? [{ debugName: "displayTableDataSignal" }] : /* istanbul ignore next */ []));
27
- filteredTableDataSignal = signal([], ...(ngDevMode ? [{ debugName: "filteredTableDataSignal" }] : /* istanbul ignore next */ []));
28
- sortedTableDataSignal = signal([], ...(ngDevMode ? [{ debugName: "sortedTableDataSignal" }] : /* istanbul ignore next */ []));
29
- abstractExistingSortState = null;
30
- sortStateSignal = signal({}, ...(ngDevMode ? [{ debugName: "sortStateSignal" }] : /* istanbul ignore next */ []));
31
- sortedColumnTitleSignal = signal('', ...(ngDevMode ? [{ debugName: "sortedColumnTitleSignal" }] : /* istanbul ignore next */ []));
32
- sortedColumnDirectionSignal = signal('none', ...(ngDevMode ? [{ debugName: "sortedColumnDirectionSignal" }] : /* istanbul ignore next */ []));
33
- abstractSortState = new EventEmitter();
34
- /**
35
- * Creates an initial sort state for a table based on the provided table data.
36
- *
37
- * @param tableData - Array of table data objects representing table rows.
38
- * @returns Initial sort state object with column names as keys and 'none' as values.
39
- */
40
- createSortState(tableData) {
41
- return tableData?.length
42
- ? Object.keys(tableData[0]).reduce((state, key) => {
43
- state[key] = 'none';
44
- return state;
45
- }, {})
46
- : {};
47
- }
48
- /**
49
- * Initializes the sort state for the sortable table component.
50
- *
51
- * This method sets the initial sort state based on the existing sort state or creates a new one
52
- * if none exists. It then updates the sort state signal with the initial sort state.
53
- *
54
- * If an existing sort state is found, it iterates over each entry and triggers the sort change
55
- * for each key that has a sort type other than 'none'.
56
- *
57
- * @private
58
- * @returns {void}
59
- */
60
- initialiseSortState() {
61
- const existingSortState = this.abstractExistingSortState;
62
- const initialSortState = existingSortState || this.createSortState(this.displayTableDataSignal());
63
- this.applyFilterState();
64
- this.sortStateSignal.set(initialSortState);
65
- if (existingSortState) {
66
- for (const [key, sortType] of Object.entries(existingSortState)) {
67
- if (sortType !== 'none') {
68
- this.onSortChange({ key, sortType });
69
- }
70
- }
71
- }
72
- this.getSortedColumn();
73
- }
74
- /**
75
- * Updates the sort state for a given column key and sort type.
76
- * Resets the sort state for all other columns to 'none'.
77
- *
78
- * @param key - The column to sort by.
79
- * @param sortType - Sorting order ('ascending' or 'descending').
80
- */
81
- updateSortState(key, sortType) {
82
- this.sortStateSignal.set(Object.keys(this.sortStateSignal()).reduce((state, columnKey) => {
83
- state[columnKey] = columnKey === key ? sortType : 'none';
84
- return state;
85
- }, {}));
86
- }
87
- /**
88
- * Retrieves the sorted table data based on the specified key and sort type.
89
- *
90
- * @param key - The key of the property to sort by.
91
- * @param sortType - The type of sorting to apply, either 'ascending' or 'descending'.
92
- * @returns An array of sorted table data objects.
93
- */
94
- getSortedTableData(key, sortType) {
95
- return sortType === 'ascending'
96
- ? this.sortService.sortObjectArrayAsc(this.filteredTableDataSignal(), key)
97
- : this.sortService.sortObjectArrayDesc(this.filteredTableDataSignal(), key);
98
- }
99
- /**
100
- * Determines the first column with a sort state other than 'none' and updates the sorted column signals accordingly.
101
- *
102
- * - If a sorted column is found, updates the `sortedColumnTitleSignal` and `sortedColumnDirectionSignal` with the column key and state.
103
- * - If no sorted column is found, sets the `sortedColumnTitleSignal` to an empty string and `sortedColumnDirectionSignal` to 'none'.
104
- *
105
- * @private
106
- * @returns {void}
107
- */
108
- getSortedColumn() {
109
- // Find the first column that has a sort state other than 'none'
110
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
- const sortedColumn = Object.entries(this.sortStateSignal()).find(([_, state]) => state !== 'none');
112
- // If a sorted column is found, set the signal to the sorted column key and state
113
- if (sortedColumn) {
114
- const [columnKey, state] = sortedColumn;
115
- this.sortedColumnTitleSignal.set(columnKey);
116
- this.sortedColumnDirectionSignal.set(state);
117
- }
118
- else {
119
- // Otherwise, set the signal to null
120
- this.sortedColumnTitleSignal.set('');
121
- this.sortedColumnDirectionSignal.set('none');
122
- }
123
- }
124
- /**
125
- * Handles the change in sorting for the table.
126
- *
127
- * @param event - An object containing the key to sort by and the sort type.
128
- * @param event.key - The key of the column to sort.
129
- * @param event.sortType - The type of sorting to apply ('ascending' or 'descending').
130
- *
131
- * This method updates the sort state, sorts the table data based on the provided key and sort type,
132
- * updates the table data signal, and emits the updated sort state.
133
- */
134
- onSortChange(event) {
135
- const { key, sortType } = event;
136
- this.updateSortState(key, sortType);
137
- this.getSortedColumn();
138
- const sortedData = this.getSortedTableData(key, sortType);
139
- // Update the table data signal
140
- this.sortedTableDataSignal.set(sortedData);
141
- // Emit the updated sort state
142
- this.abstractSortState.emit(this.sortStateSignal());
143
- }
144
- /**
145
- * Lifecycle hook to initialise the sort state.
146
- */
147
- ngOnInit() {
148
- this.initialiseSortState();
149
- }
150
- /**
151
- * Applies the current filters to the table data and updates the sorted data accordingly.
152
- *
153
- * This method overrides the parent implementation to additionally handle sorting.
154
- * If there is an active sort key, it applies the corresponding sort to the filtered data.
155
- * If no sort key is active, it simply updates the sorted data to match the filtered data.
156
- *
157
- * @override
158
- */
159
- onApplyFilters() {
160
- super.onApplyFilters();
161
- const key = this.sortedColumnTitleSignal();
162
- const sortType = this.sortedColumnDirectionSignal();
163
- if (!key || sortType === 'none') {
164
- this.sortedTableDataSignal.set([...this.filteredTableDataSignal()]);
165
- }
166
- else {
167
- this.onSortChange({ key, sortType });
168
- }
169
- }
170
- /**
171
- * Clears all filters applied to the table and restores the data to its unfiltered state.
172
- * If a sort is currently active, re-applies the sort after clearing filters.
173
- * Otherwise, resets the sorted table data to match the filtered data.
174
- *
175
- * @override
176
- */
177
- clearAllFilters() {
178
- super.clearAllFilters();
179
- const key = this.sortedColumnTitleSignal();
180
- const sortType = this.sortedColumnDirectionSignal();
181
- if (!key || sortType === 'none') {
182
- this.sortedTableDataSignal.set([...this.filteredTableDataSignal()]);
183
- }
184
- else {
185
- this.onSortChange({ key, sortType });
186
- }
187
- }
188
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: AbstractSortableTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
189
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.21", type: AbstractSortableTableComponent, isStandalone: true, selector: "ng-component", outputs: { abstractSortState: "abstractSortState" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
190
- }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.21", ngImport: i0, type: AbstractSortableTableComponent, decorators: [{
192
- type: Component,
193
- args: [{
194
- template: '',
195
- }]
196
- }], propDecorators: { abstractSortState: [{
197
- type: Output
198
- }] } });
199
-
200
- /**
201
- * Generated bundle index. Do not edit.
202
- */
203
-
1
+ import * as i0 from "@angular/core";
2
+ import { Component, EventEmitter, Output, effect, inject, signal } from "@angular/core";
3
+ import { SortService } from "@hmcts/opal-frontend-common/services/sort-service";
4
+ import { AbstractTableFilterComponent } from "@hmcts/opal-frontend-common/components/abstract/abstract-table-filter";
5
+ var AbstractSortableTableComponent = class AbstractSortableTableComponent extends AbstractTableFilterComponent {
6
+ sortService = inject(SortService);
7
+ syncSortedDataEffect = effect(() => {
8
+ const filtered = this.filteredTableDataSignal();
9
+ const currentSort = this.sortStateSignal();
10
+ if (!Object.keys(currentSort).some((k) => currentSort[k] !== "none")) this.sortedTableDataSignal.set([...filtered]);
11
+ }, ...ngDevMode ? [{ debugName: "syncSortedDataEffect" }] : /* istanbul ignore next */ []);
12
+ displayTableDataSignal = signal([], ...ngDevMode ? [{ debugName: "displayTableDataSignal" }] : /* istanbul ignore next */ []);
13
+ filteredTableDataSignal = signal([], ...ngDevMode ? [{ debugName: "filteredTableDataSignal" }] : /* istanbul ignore next */ []);
14
+ sortedTableDataSignal = signal([], ...ngDevMode ? [{ debugName: "sortedTableDataSignal" }] : /* istanbul ignore next */ []);
15
+ abstractExistingSortState = null;
16
+ sortStateSignal = signal({}, ...ngDevMode ? [{ debugName: "sortStateSignal" }] : /* istanbul ignore next */ []);
17
+ sortedColumnTitleSignal = signal("", ...ngDevMode ? [{ debugName: "sortedColumnTitleSignal" }] : /* istanbul ignore next */ []);
18
+ sortedColumnDirectionSignal = signal("none", ...ngDevMode ? [{ debugName: "sortedColumnDirectionSignal" }] : /* istanbul ignore next */ []);
19
+ abstractSortState = new EventEmitter();
20
+ createSortState(tableData) {
21
+ return tableData?.length ? Object.keys(tableData[0]).reduce((state, key) => {
22
+ state[key] = "none";
23
+ return state;
24
+ }, {}) : {};
25
+ }
26
+ initialiseSortState() {
27
+ const existingSortState = this.abstractExistingSortState;
28
+ const initialSortState = existingSortState || this.createSortState(this.displayTableDataSignal());
29
+ this.applyFilterState();
30
+ this.sortStateSignal.set(initialSortState);
31
+ if (existingSortState) {
32
+ for (const [key, sortType] of Object.entries(existingSortState)) if (sortType !== "none") this.onSortChange({
33
+ key,
34
+ sortType
35
+ });
36
+ }
37
+ this.getSortedColumn();
38
+ }
39
+ updateSortState(key, sortType) {
40
+ this.sortStateSignal.set(Object.keys(this.sortStateSignal()).reduce((state, columnKey) => {
41
+ state[columnKey] = columnKey === key ? sortType : "none";
42
+ return state;
43
+ }, {}));
44
+ }
45
+ getSortedTableData(key, sortType) {
46
+ return sortType === "ascending" ? this.sortService.sortObjectArrayAsc(this.filteredTableDataSignal(), key) : this.sortService.sortObjectArrayDesc(this.filteredTableDataSignal(), key);
47
+ }
48
+ getSortedColumn() {
49
+ const sortedColumn = Object.entries(this.sortStateSignal()).find(([_, state]) => state !== "none");
50
+ if (sortedColumn) {
51
+ const [columnKey, state] = sortedColumn;
52
+ this.sortedColumnTitleSignal.set(columnKey);
53
+ this.sortedColumnDirectionSignal.set(state);
54
+ } else {
55
+ this.sortedColumnTitleSignal.set("");
56
+ this.sortedColumnDirectionSignal.set("none");
57
+ }
58
+ }
59
+ onSortChange(event) {
60
+ const { key, sortType } = event;
61
+ this.updateSortState(key, sortType);
62
+ this.getSortedColumn();
63
+ const sortedData = this.getSortedTableData(key, sortType);
64
+ this.sortedTableDataSignal.set(sortedData);
65
+ this.abstractSortState.emit(this.sortStateSignal());
66
+ }
67
+ ngOnInit() {
68
+ this.initialiseSortState();
69
+ }
70
+ onApplyFilters() {
71
+ super.onApplyFilters();
72
+ const key = this.sortedColumnTitleSignal();
73
+ const sortType = this.sortedColumnDirectionSignal();
74
+ if (!key || sortType === "none") this.sortedTableDataSignal.set([...this.filteredTableDataSignal()]);
75
+ else this.onSortChange({
76
+ key,
77
+ sortType
78
+ });
79
+ }
80
+ clearAllFilters() {
81
+ super.clearAllFilters();
82
+ const key = this.sortedColumnTitleSignal();
83
+ const sortType = this.sortedColumnDirectionSignal();
84
+ if (!key || sortType === "none") this.sortedTableDataSignal.set([...this.filteredTableDataSignal()]);
85
+ else this.onSortChange({
86
+ key,
87
+ sortType
88
+ });
89
+ }
90
+ static ɵfac = i0.ɵɵngDeclareFactory({
91
+ minVersion: "12.0.0",
92
+ version: "21.2.25",
93
+ ngImport: i0,
94
+ type: AbstractSortableTableComponent,
95
+ deps: null,
96
+ target: i0.ɵɵFactoryTarget.Component
97
+ });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({
99
+ minVersion: "14.0.0",
100
+ version: "21.2.25",
101
+ type: AbstractSortableTableComponent,
102
+ isStandalone: true,
103
+ selector: "ng-component",
104
+ outputs: { abstractSortState: "abstractSortState" },
105
+ usesInheritance: true,
106
+ ngImport: i0,
107
+ template: "",
108
+ isInline: true
109
+ });
110
+ };
111
+ i0.ɵɵngDeclareClassMetadata({
112
+ minVersion: "12.0.0",
113
+ version: "21.2.25",
114
+ ngImport: i0,
115
+ type: AbstractSortableTableComponent,
116
+ decorators: [{
117
+ type: Component,
118
+ args: [{ template: "" }]
119
+ }],
120
+ propDecorators: { abstractSortState: [{ type: Output }] }
121
+ });
204
122
  export { AbstractSortableTableComponent };
205
- //# sourceMappingURL=hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs.map
123
+
124
+ //# sourceMappingURL=hmcts-opal-frontend-common-components-abstract-abstract-sortable-table.mjs.map