@hmcts/opal-frontend-common 0.0.2 → 0.0.4

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 (441) hide show
  1. package/components/abstract/abstract-form-alias-base/abstract-form-alias-base.d.ts +117 -0
  2. package/components/abstract/abstract-form-alias-base/interfaces/abstract-form-alias-base-alias-controls.interface.d.ts +4 -0
  3. package/components/abstract/abstract-form-array-base/abstract-form-array-base.d.ts +158 -0
  4. package/components/abstract/abstract-form-array-parent-base/abstract-form-array-parent-base.component.d.ts +13 -0
  5. package/components/abstract/abstract-form-array-removal-base/abstract-form-array-removal-base.component.d.ts +44 -0
  6. package/components/abstract/abstract-form-array-removal-base/interfaces/abstract-form-array-removal-base-control-value.interface.d.ts +5 -0
  7. package/components/abstract/abstract-form-base/abstract-form-base.component.d.ts +232 -0
  8. package/components/abstract/abstract-form-base/interfaces/abstract-form-base-field-error.interface.d.ts +6 -0
  9. package/components/abstract/abstract-form-base/interfaces/abstract-form-base-field-errors.interface.d.ts +4 -0
  10. package/components/abstract/abstract-form-base/interfaces/abstract-form-base-form-error.interface.d.ts +6 -0
  11. package/components/abstract/abstract-form-base/interfaces/abstract-form-base-form.interface.d.ts +4 -0
  12. package/components/abstract/abstract-form-base/interfaces/abstract-form-base-high-priority-form-error.interface.d.ts +5 -0
  13. package/components/abstract/abstract-form-base/interfaces/abstract-form-base-status.interface.d.ts +3 -0
  14. package/components/abstract/abstract-form-parent-base/abstract-form-parent-base.component.d.ts +29 -0
  15. package/components/abstract/abstract-sortable-table/abstract-sortable-table.component.d.ts +79 -0
  16. package/components/abstract/abstract-sortable-table/interfaces/abstract-sortable-table-interfaces.d.ts +7 -0
  17. package/components/abstract/abstract-sortable-table-pagination/abstract-sortable-table-pagination.component.d.ts +31 -0
  18. package/components/abstract/index.d.ts +5 -0
  19. package/components/abstract/interfaces/abstract-form-array-control-validation.interface.d.ts +5 -0
  20. package/components/abstract/interfaces/abstract-form-array-control.interface.d.ts +5 -0
  21. package/components/abstract/interfaces/abstract-form-array-controls.interface.d.ts +4 -0
  22. package/components/abstract/interfaces/abstract-form-base-form-error-summary-message.interface.d.ts +4 -0
  23. package/components/abstract/interfaces/abstract-form-control-error-message.interface.d.ts +3 -0
  24. package/components/abstract/public-api.d.ts +21 -0
  25. package/components/alphagov/alphagov-accessible-autocomplete/alphagov-accessible-autocomplete.component.d.ts +59 -0
  26. package/components/alphagov/alphagov-accessible-autocomplete/interfaces/alphagov-accessible-autocomplete-item.interface.d.ts +4 -0
  27. package/components/alphagov/index.d.ts +5 -0
  28. package/components/alphagov/public-api.d.ts +2 -0
  29. package/components/govuk/govuk-accordion/govuk-accordion.component.d.ts +13 -0
  30. package/components/govuk/govuk-back-link/govuk-back-link.component.d.ts +14 -0
  31. package/components/govuk/govuk-cancel-link/govuk-cancel-link.component.d.ts +12 -0
  32. package/components/govuk/govuk-checkboxes/govuk-checkboxes-conditional/govuk-checkboxes-conditional.component.d.ts +10 -0
  33. package/components/govuk/govuk-checkboxes/govuk-checkboxes-divider/govuk-checkboxes-divider.component.d.ts +5 -0
  34. package/components/govuk/govuk-checkboxes/govuk-checkboxes-item/govuk-checkboxes-item.component.d.ts +16 -0
  35. package/components/govuk/govuk-checkboxes/govuk-checkboxes.component.d.ts +10 -0
  36. package/components/govuk/govuk-checkboxes/interfaces/govuk-checkboxes-input.interface.d.ts +17 -0
  37. package/components/govuk/govuk-date-input/govuk-date-input.component.d.ts +18 -0
  38. package/components/govuk/govuk-date-input/interfaces/govuk-date-input.interface.d.ts +12 -0
  39. package/components/govuk/govuk-details/govuk-details.component.d.ts +6 -0
  40. package/components/govuk/govuk-error-summary/govuk-error-summary.component.d.ts +16 -0
  41. package/components/govuk/govuk-footer/constants/govuk-footer-links.constant.d.ts +2 -0
  42. package/components/govuk/govuk-footer/govuk-footer.component.d.ts +6 -0
  43. package/components/govuk/govuk-footer/interfaces/govuk-footer-links.interface.d.ts +5 -0
  44. package/components/govuk/govuk-header/constants/govuk-header-links.constant.d.ts +2 -0
  45. package/components/govuk/govuk-header/govuk-header-navigation-item/govuk-header-navigation-item.component.d.ts +12 -0
  46. package/components/govuk/govuk-header/govuk-header.component.d.ts +6 -0
  47. package/components/govuk/govuk-header/interfaces/govuk-header-links.interface.d.ts +4 -0
  48. package/components/govuk/govuk-heading-with-caption/govuk-heading-with-caption.component.d.ts +9 -0
  49. package/components/govuk/govuk-inset-text/govuk-inset-text.component.d.ts +6 -0
  50. package/components/govuk/govuk-notification-banner/govuk-notification-banner.component.d.ts +10 -0
  51. package/components/govuk/govuk-pagination/govuk-pagination.component.d.ts +44 -0
  52. package/components/govuk/govuk-panel/govuk-panel.component.d.ts +7 -0
  53. package/components/govuk/govuk-radio/govuk-radio.component.d.ts +11 -0
  54. package/components/govuk/govuk-radio/govuk-radios-conditional/govuk-radios-conditional.component.d.ts +10 -0
  55. package/components/govuk/govuk-radio/govuk-radios-divider/govuk-radios-divider.component.d.ts +5 -0
  56. package/components/govuk/govuk-radio/govuk-radios-item/govuk-radios-item.component.d.ts +18 -0
  57. package/components/govuk/govuk-radio/interfaces/govuk-radio-input.interface.d.ts +17 -0
  58. package/components/govuk/govuk-radio/interfaces/govuk-radio-options.interface.d.ts +4 -0
  59. package/components/govuk/govuk-select/govuk-select.component.d.ts +18 -0
  60. package/components/govuk/govuk-select/interfaces/govuk-select-options.interface.d.ts +4 -0
  61. package/components/govuk/govuk-summary-card-list/govuk-summary-card-action/govuk-summary-card-action.component.d.ts +17 -0
  62. package/components/govuk/govuk-summary-card-list/govuk-summary-card-list.component.d.ts +12 -0
  63. package/components/govuk/govuk-summary-list/govuk-summary-list-row/govuk-summary-list-row-actions/govuk-summary-list-row-action-item/govuk-summary-list-row-action-item.component.d.ts +15 -0
  64. package/components/govuk/govuk-summary-list/govuk-summary-list-row/govuk-summary-list-row-actions/govuk-summary-list-row-actions.component.d.ts +5 -0
  65. package/components/govuk/govuk-summary-list/govuk-summary-list-row/govuk-summary-list-row.component.d.ts +20 -0
  66. package/components/govuk/govuk-summary-list/govuk-summary-list.component.d.ts +7 -0
  67. package/components/govuk/govuk-table/govuk-table-body-row/govuk-table-body-row-data/govuk-table-body-row-data.component.d.ts +8 -0
  68. package/components/govuk/govuk-table/govuk-table-body-row/govuk-table-body-row.component.d.ts +7 -0
  69. package/components/govuk/govuk-table/govuk-table-heading/govuk-table-heading.component.d.ts +7 -0
  70. package/components/govuk/govuk-table/govuk-table.component.d.ts +6 -0
  71. package/components/govuk/govuk-tabs/govuk-tab-list-item/govuk-tab-list-item.component.d.ts +11 -0
  72. package/components/govuk/govuk-tabs/govuk-tab-panel/govuk-tab-panel.component.d.ts +9 -0
  73. package/components/govuk/govuk-tabs/govuk-tabs.component.d.ts +14 -0
  74. package/components/govuk/govuk-tag/govuk-tag.component.d.ts +7 -0
  75. package/components/govuk/govuk-task-list/govuk-task-list-item/govuk-task-list-item.component.d.ts +8 -0
  76. package/components/govuk/govuk-task-list/govuk-task-list.component.d.ts +7 -0
  77. package/components/govuk/govuk-text-area/govuk-text-area.component.d.ts +21 -0
  78. package/components/govuk/govuk-text-input-prefix-suffix/govuk-text-input-prefix-suffix.component.d.ts +22 -0
  79. package/components/govuk/index.d.ts +5 -0
  80. package/components/govuk/public-api.d.ts +52 -0
  81. package/components/moj/index.d.ts +5 -0
  82. package/components/moj/moj-badge/moj.badge.component.d.ts +7 -0
  83. package/components/moj/moj-banner/moj-banner.component.d.ts +8 -0
  84. package/components/moj/moj-button-menu/moj-button-menu-item/moj-button-menu-item.component.d.ts +8 -0
  85. package/components/moj/moj-button-menu/moj-button-menu.component.d.ts +10 -0
  86. package/components/moj/moj-date-picker/moj-date-picker.component.d.ts +40 -0
  87. package/components/moj/moj-header/constants/moj-header-links.constant.d.ts +2 -0
  88. package/components/moj/moj-header/interfaces/moj-header-links.interface.d.ts +4 -0
  89. package/components/moj/moj-header/moj-header-navigation-item/moj-header-navigation-item.component.d.ts +12 -0
  90. package/components/moj/moj-header/moj-header.component.d.ts +6 -0
  91. package/components/moj/moj-notification-badge/moj-notification-badge.component.d.ts +6 -0
  92. package/components/moj/moj-page-header/moj-page-header.component.d.ts +6 -0
  93. package/components/moj/moj-pagination/moj-pagination-item/moj-pagination-item.component.d.ts +6 -0
  94. package/components/moj/moj-pagination/moj-pagination-link/moj-pagination-link.component.d.ts +43 -0
  95. package/components/moj/moj-pagination/moj-pagination-list/moj-pagination-list.component.d.ts +6 -0
  96. package/components/moj/moj-pagination/moj-pagination.component.d.ts +108 -0
  97. package/components/moj/moj-primary-navigation/moj-primary-navigation-item/moj-primary-navigation-item.component.d.ts +18 -0
  98. package/components/moj/moj-primary-navigation/moj-primary-navigation.component.d.ts +26 -0
  99. package/components/moj/moj-sortable-table/moj-sortable-table-header/moj-sortable-table-header.component.d.ts +24 -0
  100. package/components/moj/moj-sortable-table/moj-sortable-table-row/moj-sortable-table-row-data/moj-sortable-table-row-data.component.d.ts +8 -0
  101. package/components/moj/moj-sortable-table/moj-sortable-table-row/moj-sortable-table-row.component.d.ts +7 -0
  102. package/components/moj/moj-sortable-table/moj-sortable-table-status/moj-sortable-table-status.component.d.ts +7 -0
  103. package/components/moj/moj-sortable-table/moj-sortable-table.component.d.ts +6 -0
  104. package/components/moj/moj-sub-navigation/moj-sub-navigation-item/moj-sub-navigation-item.component.d.ts +18 -0
  105. package/components/moj/moj-sub-navigation/moj-sub-navigation.component.d.ts +21 -0
  106. package/components/moj/moj-ticket-panel/moj-ticket-panel.component.d.ts +8 -0
  107. package/components/moj/moj-timeline/moj-timeline-item/moj-timeline-item.component.d.ts +5 -0
  108. package/components/moj/moj-timeline/moj-timeline.component.d.ts +5 -0
  109. package/components/moj/public-api.d.ts +27 -0
  110. package/constants/index.d.ts +5 -0
  111. package/constants/public-api.d.ts +4 -0
  112. package/constants/src/routing-paths.constant.d.ts +2 -0
  113. package/constants/src/routing-titles.constant.d.ts +2 -0
  114. package/constants/src/session-endpoints.constant.d.ts +2 -0
  115. package/constants/src/sso-endpoints.constant.d.ts +2 -0
  116. package/fesm2022/hmcts-opal-frontend-common-components-abstract.mjs +1288 -0
  117. package/fesm2022/hmcts-opal-frontend-common-components-abstract.mjs.map +1 -0
  118. package/fesm2022/hmcts-opal-frontend-common-components-alphagov.mjs +170 -0
  119. package/fesm2022/hmcts-opal-frontend-common-components-alphagov.mjs.map +1 -0
  120. package/fesm2022/hmcts-opal-frontend-common-components-govuk.mjs +1259 -0
  121. package/fesm2022/hmcts-opal-frontend-common-components-govuk.mjs.map +1 -0
  122. package/fesm2022/hmcts-opal-frontend-common-components-moj.mjs +861 -0
  123. package/fesm2022/hmcts-opal-frontend-common-components-moj.mjs.map +1 -0
  124. package/fesm2022/hmcts-opal-frontend-common-constants.mjs +36 -0
  125. package/fesm2022/hmcts-opal-frontend-common-constants.mjs.map +1 -0
  126. package/fesm2022/hmcts-opal-frontend-common-guards.mjs +134 -0
  127. package/fesm2022/hmcts-opal-frontend-common-guards.mjs.map +1 -0
  128. package/fesm2022/hmcts-opal-frontend-common-interceptors.mjs +31 -0
  129. package/fesm2022/hmcts-opal-frontend-common-interceptors.mjs.map +1 -0
  130. package/fesm2022/hmcts-opal-frontend-common-interfaces.mjs +4 -0
  131. package/fesm2022/hmcts-opal-frontend-common-interfaces.mjs.map +1 -0
  132. package/fesm2022/hmcts-opal-frontend-common-mocks.mjs +429 -0
  133. package/fesm2022/hmcts-opal-frontend-common-mocks.mjs.map +1 -0
  134. package/fesm2022/hmcts-opal-frontend-common-pages-sign-in-stub.component-eGVOJLC2.mjs +41 -0
  135. package/fesm2022/hmcts-opal-frontend-common-pages-sign-in-stub.component-eGVOJLC2.mjs.map +1 -0
  136. package/fesm2022/hmcts-opal-frontend-common-pages.mjs +109 -0
  137. package/fesm2022/hmcts-opal-frontend-common-pages.mjs.map +1 -0
  138. package/fesm2022/hmcts-opal-frontend-common-pipes.mjs +64 -0
  139. package/fesm2022/hmcts-opal-frontend-common-pipes.mjs.map +1 -0
  140. package/fesm2022/hmcts-opal-frontend-common-resolvers.mjs +40 -0
  141. package/fesm2022/hmcts-opal-frontend-common-resolvers.mjs.map +1 -0
  142. package/fesm2022/hmcts-opal-frontend-common-services.mjs +817 -0
  143. package/fesm2022/hmcts-opal-frontend-common-services.mjs.map +1 -0
  144. package/fesm2022/hmcts-opal-frontend-common-stores.mjs +40 -0
  145. package/fesm2022/hmcts-opal-frontend-common-stores.mjs.map +1 -0
  146. package/fesm2022/hmcts-opal-frontend-common-types.mjs +4 -0
  147. package/fesm2022/hmcts-opal-frontend-common-types.mjs.map +1 -0
  148. package/fesm2022/hmcts-opal-frontend-common-validators.mjs +278 -0
  149. package/fesm2022/hmcts-opal-frontend-common-validators.mjs.map +1 -0
  150. package/fesm2022/hmcts-opal-frontend-common.mjs +0 -1943
  151. package/fesm2022/hmcts-opal-frontend-common.mjs.map +1 -1
  152. package/{lib/guards → guards}/can-deactivate/can-deactivate.guard.d.ts +1 -1
  153. package/{lib/guards → guards}/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.d.ts +1 -1
  154. package/{lib/guards → guards}/helpers/get-guard-with-dummy-url.d.ts +1 -1
  155. package/{lib/guards → guards}/helpers/handle-observable-result.d.ts +1 -1
  156. package/{lib/guards → guards}/helpers/run-has-flow-state-guard-with-context.d.ts +1 -1
  157. package/guards/index.d.ts +5 -0
  158. package/guards/public-api.d.ts +9 -0
  159. package/interceptors/index.d.ts +5 -0
  160. package/interceptors/public-api.d.ts +1 -0
  161. package/interfaces/index.d.ts +5 -0
  162. package/interfaces/public-api.d.ts +13 -0
  163. package/interfaces/src/parent-routing-paths.interface.d.ts +7 -0
  164. package/{lib/pages/routing/interfaces → interfaces/src}/routing-paths.interface.d.ts +1 -1
  165. package/mocks/index.d.ts +5 -0
  166. package/mocks/public-api.d.ts +8 -0
  167. package/mocks/src/route-permissions.mock.d.ts +3 -0
  168. package/mocks/src/session-token-expiry.mock.d.ts +2 -0
  169. package/mocks/src/session-user-state.mock.d.ts +2 -0
  170. package/mocks/src/transfer-state.mock.d.ts +2 -0
  171. package/package.json +106 -9
  172. package/pages/index.d.ts +5 -0
  173. package/{lib/pages → pages}/sign-in/sign-in.component.d.ts +10 -10
  174. package/pipes/date-format/date-format.pipe.d.ts +10 -0
  175. package/pipes/days-ago/days-ago.pipe.d.ts +7 -0
  176. package/pipes/index.d.ts +5 -0
  177. package/pipes/public-api.d.ts +2 -0
  178. package/public-api.d.ts +1 -10
  179. package/resolvers/index.d.ts +5 -0
  180. package/resolvers/public-api.d.ts +2 -0
  181. package/{lib/resolvers → resolvers}/user-state/user-state.resolver.d.ts +1 -1
  182. package/{lib/services → services}/date-service/date.service.d.ts +8 -0
  183. package/services/index.d.ts +5 -0
  184. package/{lib/services → services}/permissions-service/permissions.service.d.ts +1 -1
  185. package/services/public-api.d.ts +11 -0
  186. package/{lib/services → services}/session-service/session.service.d.ts +1 -1
  187. package/services/sort-service/interfaces/sort-service-values.interface.d.ts +7 -0
  188. package/{lib/services → services}/sort-service/sort-service.d.ts +1 -1
  189. package/{lib/services → services}/transfer-state-service/transfer-state.service.d.ts +1 -1
  190. package/{lib/services → services}/transformation-service/transformation.service.d.ts +1 -1
  191. package/{lib/stores → stores}/global/global.store.d.ts +1 -4
  192. package/stores/index.d.ts +5 -0
  193. package/stores/public-api.d.ts +1 -0
  194. package/types/index.d.ts +5 -0
  195. package/types/public-api.d.ts +4 -0
  196. package/types/src/abstract-sortable-table.type.d.ts +1 -0
  197. package/types/src/global-store.type.d.ts +2 -0
  198. package/types/src/sort-service.type.d.ts +1 -0
  199. package/validators/index.d.ts +5 -0
  200. package/{lib/validators → validators}/over-eighteen/over-eighteen.validator.d.ts +1 -1
  201. package/validators/public-api.d.ts +18 -0
  202. package/esm2022/hmcts-opal-frontend-common.mjs +0 -5
  203. package/esm2022/lib/components/govuk/govuk-button/govuk-button.component.mjs +0 -34
  204. package/esm2022/lib/components/govuk/govuk-text-input/govuk-text-input.component.mjs +0 -57
  205. package/esm2022/lib/components/govuk/index.mjs +0 -3
  206. package/esm2022/lib/guards/auth/auth.guard.mjs +0 -20
  207. package/esm2022/lib/guards/auth/index.mjs +0 -2
  208. package/esm2022/lib/guards/can-deactivate/can-deactivate.guard.mjs +0 -6
  209. package/esm2022/lib/guards/can-deactivate/index.mjs +0 -5
  210. package/esm2022/lib/guards/can-deactivate/interfaces/can-deactivate-can-component-deactivate.interface.mjs +0 -2
  211. package/esm2022/lib/guards/can-deactivate/interfaces/index.mjs +0 -2
  212. package/esm2022/lib/guards/has-flow-state/has-flow-state.guard.mjs +0 -16
  213. package/esm2022/lib/guards/has-flow-state/index.mjs +0 -2
  214. package/esm2022/lib/guards/helpers/get-guard-with-dummy-url.mjs +0 -19
  215. package/esm2022/lib/guards/helpers/handle-observable-result.mjs +0 -13
  216. package/esm2022/lib/guards/helpers/index.mjs +0 -5
  217. package/esm2022/lib/guards/helpers/run-auth-guard-with-context.mjs +0 -15
  218. package/esm2022/lib/guards/helpers/run-has-flow-state-guard-with-context.mjs +0 -9
  219. package/esm2022/lib/guards/index.mjs +0 -10
  220. package/esm2022/lib/guards/route-permissions/index.mjs +0 -2
  221. package/esm2022/lib/guards/route-permissions/route-permissions.guard.mjs +0 -25
  222. package/esm2022/lib/guards/signed-in/index.mjs +0 -3
  223. package/esm2022/lib/guards/signed-in/signed-in.guard.mjs +0 -20
  224. package/esm2022/lib/guards/types/can-deactivate.type.mjs +0 -2
  225. package/esm2022/lib/guards/types/guard-return.type.mjs +0 -2
  226. package/esm2022/lib/guards/types/index.mjs +0 -3
  227. package/esm2022/lib/interceptors/http-error/http-error.interceptor.mjs +0 -24
  228. package/esm2022/lib/interceptors/index.mjs +0 -3
  229. package/esm2022/lib/opal-frontend-common.module.mjs +0 -22
  230. package/esm2022/lib/pages/access-denied/access-denied.component.mjs +0 -18
  231. package/esm2022/lib/pages/index.mjs +0 -4
  232. package/esm2022/lib/pages/routing/constants/routing-paths.constant.mjs +0 -9
  233. package/esm2022/lib/pages/routing/constants/routing-titles.constant.mjs +0 -9
  234. package/esm2022/lib/pages/routing/interfaces/routing-paths.interface.mjs +0 -2
  235. package/esm2022/lib/pages/routing/pages.routes.mjs +0 -24
  236. package/esm2022/lib/pages/sign-in/interfaces/index.mjs +0 -2
  237. package/esm2022/lib/pages/sign-in/interfaces/sign-in-stub-form.interface.mjs +0 -2
  238. package/esm2022/lib/pages/sign-in/sign-in-sso/sign-in-sso.component.mjs +0 -23
  239. package/esm2022/lib/pages/sign-in/sign-in-stub/sign-in-stub.component.mjs +0 -39
  240. package/esm2022/lib/pages/sign-in/sign-in.component.mjs +0 -38
  241. package/esm2022/lib/resolvers/index.mjs +0 -3
  242. package/esm2022/lib/resolvers/title/index.mjs +0 -2
  243. package/esm2022/lib/resolvers/title/title.resolver.mjs +0 -22
  244. package/esm2022/lib/resolvers/user-state/index.mjs +0 -2
  245. package/esm2022/lib/resolvers/user-state/user-state.resolver.mjs +0 -12
  246. package/esm2022/lib/routing/constants/index.mjs +0 -2
  247. package/esm2022/lib/routing/constants/sso-endpoints.constant.mjs +0 -7
  248. package/esm2022/lib/routing/index.mjs +0 -3
  249. package/esm2022/lib/routing/interfaces/child-routing-paths.interface.mjs +0 -2
  250. package/esm2022/lib/routing/interfaces/index.mjs +0 -4
  251. package/esm2022/lib/routing/interfaces/nested-routes.interface.mjs +0 -2
  252. package/esm2022/lib/routing/interfaces/sso-endpoints.interface.mjs +0 -2
  253. package/esm2022/lib/services/app-initializer-service/app-initializer.service.mjs +0 -36
  254. package/esm2022/lib/services/app-initializer-service/index.mjs +0 -2
  255. package/esm2022/lib/services/app-insights/app-insights.service.mjs +0 -73
  256. package/esm2022/lib/services/app-insights/index.mjs +0 -4
  257. package/esm2022/lib/services/auth-service/auth.service.mjs +0 -36
  258. package/esm2022/lib/services/auth-service/index.mjs +0 -2
  259. package/esm2022/lib/services/date-service/date.service.mjs +0 -182
  260. package/esm2022/lib/services/date-service/index.mjs +0 -4
  261. package/esm2022/lib/services/index.mjs +0 -12
  262. package/esm2022/lib/services/launch-darkly/index.mjs +0 -5
  263. package/esm2022/lib/services/launch-darkly/launch-darkly.service.mjs +0 -94
  264. package/esm2022/lib/services/launch-darkly/mocks/index.mjs +0 -3
  265. package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-change-flags.mock.mjs +0 -5
  266. package/esm2022/lib/services/launch-darkly/mocks/launch-darkly-flags.mock.mjs +0 -5
  267. package/esm2022/lib/services/permissions-service/index.mjs +0 -4
  268. package/esm2022/lib/services/permissions-service/permissions.service.mjs +0 -40
  269. package/esm2022/lib/services/session-service/constants/index.mjs +0 -2
  270. package/esm2022/lib/services/session-service/constants/session-endpoints.constant.mjs +0 -5
  271. package/esm2022/lib/services/session-service/index.mjs +0 -7
  272. package/esm2022/lib/services/session-service/interfaces/index.mjs +0 -4
  273. package/esm2022/lib/services/session-service/interfaces/session-endpoints.interface.mjs +0 -2
  274. package/esm2022/lib/services/session-service/interfaces/session-token-expiry.interface.mjs +0 -2
  275. package/esm2022/lib/services/session-service/interfaces/session-user-state.interface.mjs +0 -2
  276. package/esm2022/lib/services/session-service/mocks/index.mjs +0 -3
  277. package/esm2022/lib/services/session-service/mocks/session-token-expiry.mock.mjs +0 -5
  278. package/esm2022/lib/services/session-service/mocks/session-user-state.mock.mjs +0 -386
  279. package/esm2022/lib/services/session-service/session.service.mjs +0 -64
  280. package/esm2022/lib/services/sort-service/index.mjs +0 -6
  281. package/esm2022/lib/services/sort-service/interfaces/index.mjs +0 -3
  282. package/esm2022/lib/services/sort-service/interfaces/sort-service-values.interface.mjs +0 -2
  283. package/esm2022/lib/services/sort-service/interfaces/sort-service.interface.mjs +0 -2
  284. package/esm2022/lib/services/sort-service/sort-service.mjs +0 -90
  285. package/esm2022/lib/services/sort-service/types/index.mjs +0 -2
  286. package/esm2022/lib/services/sort-service/types/sort-service.type.mjs +0 -2
  287. package/esm2022/lib/services/transfer-state-service/index.mjs +0 -6
  288. package/esm2022/lib/services/transfer-state-service/interfaces/index.mjs +0 -4
  289. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-app-insights-config.interface.mjs +0 -2
  290. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-launch-darkly-config.interface.mjs +0 -2
  291. package/esm2022/lib/services/transfer-state-service/interfaces/transfer-state-server-state.interface.mjs +0 -2
  292. package/esm2022/lib/services/transfer-state-service/mocks/index.mjs +0 -4
  293. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-app-insights-config.mock.mjs +0 -6
  294. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state-launch-darkly-config.mock.mjs +0 -6
  295. package/esm2022/lib/services/transfer-state-service/mocks/transfer-state.mock.mjs +0 -8
  296. package/esm2022/lib/services/transfer-state-service/transfer-state.service.mjs +0 -59
  297. package/esm2022/lib/services/transformation-service/index.mjs +0 -5
  298. package/esm2022/lib/services/transformation-service/interfaces/index.mjs +0 -2
  299. package/esm2022/lib/services/transformation-service/interfaces/transform-item.interface.mjs +0 -2
  300. package/esm2022/lib/services/transformation-service/transformation.service.mjs +0 -69
  301. package/esm2022/lib/services/utils/index.mjs +0 -4
  302. package/esm2022/lib/services/utils/utils.service.mjs +0 -86
  303. package/esm2022/lib/stores/global/global.store.mjs +0 -33
  304. package/esm2022/lib/stores/global/index.mjs +0 -6
  305. package/esm2022/lib/stores/global/interfaces/error-state.interface.mjs +0 -2
  306. package/esm2022/lib/stores/global/interfaces/index.mjs +0 -2
  307. package/esm2022/lib/stores/global/types/global-store.type.mjs +0 -2
  308. package/esm2022/lib/stores/global/types/index.mjs +0 -2
  309. package/esm2022/lib/stores/index.mjs +0 -2
  310. package/esm2022/lib/validators/alphabetical-text/alphabetical-text.validator.mjs +0 -10
  311. package/esm2022/lib/validators/amount/amount.validator.mjs +0 -15
  312. package/esm2022/lib/validators/date-after-year/date-after-year.validator.mjs +0 -12
  313. package/esm2022/lib/validators/date-before/date-before.validator.mjs +0 -15
  314. package/esm2022/lib/validators/date-of-birth/date-of-birth.validator.mjs +0 -18
  315. package/esm2022/lib/validators/future-date/future-date.validator.mjs +0 -15
  316. package/esm2022/lib/validators/index.mjs +0 -20
  317. package/esm2022/lib/validators/invalid-value/invalid-value.validator.mjs +0 -9
  318. package/esm2022/lib/validators/national-insurance-number/national-insurance-number.validator.mjs +0 -16
  319. package/esm2022/lib/validators/numerical-only/numerical-only.validator.mjs +0 -10
  320. package/esm2022/lib/validators/optional-max-length/optional-max-length.validator.mjs +0 -10
  321. package/esm2022/lib/validators/optional-valid-date/optional-valid-date.validator.mjs +0 -23
  322. package/esm2022/lib/validators/optional-valid-email-address/optional-valid-email-address.validator.mjs +0 -11
  323. package/esm2022/lib/validators/optional-valid-telephone/optional-valid-telephone.validator.mjs +0 -14
  324. package/esm2022/lib/validators/over-eighteen/over-eighteen.validator.mjs +0 -45
  325. package/esm2022/lib/validators/past-date/past-date.validator.mjs +0 -16
  326. package/esm2022/lib/validators/special-characters/special-characters.validator.mjs +0 -11
  327. package/esm2022/lib/validators/two-decimal-places/two-decimal-places.validator.mjs +0 -12
  328. package/esm2022/lib/validators/valid-value/valid-value.validator.mjs +0 -9
  329. package/esm2022/public-api.mjs +0 -11
  330. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs +0 -41
  331. package/fesm2022/hmcts-opal-frontend-common-sign-in-stub.component-CysPzJGJ.mjs.map +0 -1
  332. package/lib/components/govuk/index.d.ts +0 -2
  333. package/lib/guards/auth/index.d.ts +0 -1
  334. package/lib/guards/can-deactivate/index.d.ts +0 -2
  335. package/lib/guards/can-deactivate/interfaces/index.d.ts +0 -2
  336. package/lib/guards/has-flow-state/index.d.ts +0 -1
  337. package/lib/guards/helpers/index.d.ts +0 -4
  338. package/lib/guards/index.d.ts +0 -7
  339. package/lib/guards/route-permissions/index.d.ts +0 -1
  340. package/lib/guards/signed-in/index.d.ts +0 -1
  341. package/lib/guards/types/index.d.ts +0 -2
  342. package/lib/interceptors/index.d.ts +0 -2
  343. package/lib/opal-frontend-common.module.d.ts +0 -14
  344. package/lib/pages/routing/constants/routing-paths.constant.d.ts +0 -2
  345. package/lib/pages/routing/constants/routing-titles.constant.d.ts +0 -2
  346. package/lib/resolvers/index.d.ts +0 -2
  347. package/lib/resolvers/title/index.d.ts +0 -1
  348. package/lib/resolvers/user-state/index.d.ts +0 -1
  349. package/lib/routing/constants/index.d.ts +0 -1
  350. package/lib/routing/constants/sso-endpoints.constant.d.ts +0 -2
  351. package/lib/routing/index.d.ts +0 -2
  352. package/lib/routing/interfaces/index.d.ts +0 -3
  353. package/lib/services/app-initializer-service/index.d.ts +0 -1
  354. package/lib/services/app-insights/index.d.ts +0 -1
  355. package/lib/services/auth-service/index.d.ts +0 -1
  356. package/lib/services/date-service/index.d.ts +0 -1
  357. package/lib/services/index.d.ts +0 -11
  358. package/lib/services/launch-darkly/index.d.ts +0 -2
  359. package/lib/services/launch-darkly/mocks/index.d.ts +0 -2
  360. package/lib/services/permissions-service/index.d.ts +0 -1
  361. package/lib/services/session-service/constants/index.d.ts +0 -1
  362. package/lib/services/session-service/constants/session-endpoints.constant.d.ts +0 -2
  363. package/lib/services/session-service/index.d.ts +0 -4
  364. package/lib/services/session-service/interfaces/index.d.ts +0 -3
  365. package/lib/services/session-service/mocks/index.d.ts +0 -2
  366. package/lib/services/session-service/mocks/session-token-expiry.mock.d.ts +0 -2
  367. package/lib/services/session-service/mocks/session-user-state.mock.d.ts +0 -2
  368. package/lib/services/sort-service/index.d.ts +0 -3
  369. package/lib/services/sort-service/interfaces/index.d.ts +0 -2
  370. package/lib/services/sort-service/interfaces/sort-service-values.interface.d.ts +0 -6
  371. package/lib/services/sort-service/types/index.d.ts +0 -1
  372. package/lib/services/sort-service/types/sort-service.type.d.ts +0 -1
  373. package/lib/services/transfer-state-service/index.d.ts +0 -3
  374. package/lib/services/transfer-state-service/interfaces/index.d.ts +0 -3
  375. package/lib/services/transfer-state-service/mocks/index.d.ts +0 -3
  376. package/lib/services/transfer-state-service/mocks/transfer-state.mock.d.ts +0 -2
  377. package/lib/services/transformation-service/index.d.ts +0 -2
  378. package/lib/services/transformation-service/interfaces/index.d.ts +0 -1
  379. package/lib/services/utils/index.d.ts +0 -1
  380. package/lib/stores/global/index.d.ts +0 -3
  381. package/lib/stores/global/interfaces/index.d.ts +0 -1
  382. package/lib/stores/global/types/global-store.type.d.ts +0 -2
  383. package/lib/stores/global/types/index.d.ts +0 -1
  384. package/lib/stores/index.d.ts +0 -1
  385. package/lib/validators/index.d.ts +0 -19
  386. /package/{lib/components → components}/govuk/govuk-button/govuk-button.component.d.ts +0 -0
  387. /package/{lib/components → components}/govuk/govuk-text-input/govuk-text-input.component.d.ts +0 -0
  388. /package/{lib/guards → guards}/auth/auth.guard.d.ts +0 -0
  389. /package/{lib/guards → guards}/has-flow-state/has-flow-state.guard.d.ts +0 -0
  390. /package/{lib/guards → guards}/helpers/run-auth-guard-with-context.d.ts +0 -0
  391. /package/{lib/guards → guards}/route-permissions/route-permissions.guard.d.ts +0 -0
  392. /package/{lib/guards → guards}/signed-in/signed-in.guard.d.ts +0 -0
  393. /package/{lib/guards → guards}/types/guard-return.type.d.ts +0 -0
  394. /package/{lib/interceptors → interceptors}/http-error/http-error.interceptor.d.ts +0 -0
  395. /package/{lib/routing/interfaces → interfaces/src}/child-routing-paths.interface.d.ts +0 -0
  396. /package/{lib/stores/global/interfaces → interfaces/src}/error-state.interface.d.ts +0 -0
  397. /package/{lib/routing/interfaces → interfaces/src}/nested-routes.interface.d.ts +0 -0
  398. /package/{lib/services/session-service/interfaces → interfaces/src}/session-endpoints.interface.d.ts +0 -0
  399. /package/{lib/services/session-service/interfaces → interfaces/src}/session-token-expiry.interface.d.ts +0 -0
  400. /package/{lib/services/session-service/interfaces → interfaces/src}/session-user-state.interface.d.ts +0 -0
  401. /package/{lib/routing/interfaces → interfaces/src}/sso-endpoints.interface.d.ts +0 -0
  402. /package/{lib/services/transfer-state-service/interfaces → interfaces/src}/transfer-state-app-insights-config.interface.d.ts +0 -0
  403. /package/{lib/services/transfer-state-service/interfaces → interfaces/src}/transfer-state-launch-darkly-config.interface.d.ts +0 -0
  404. /package/{lib/services/transfer-state-service/interfaces → interfaces/src}/transfer-state-server-state.interface.d.ts +0 -0
  405. /package/{lib/services/transformation-service/interfaces → interfaces/src}/transform-item.interface.d.ts +0 -0
  406. /package/{lib/services/launch-darkly/mocks → mocks/src}/launch-darkly-change-flags.mock.d.ts +0 -0
  407. /package/{lib/services/launch-darkly/mocks → mocks/src}/launch-darkly-flags.mock.d.ts +0 -0
  408. /package/{lib/services/transfer-state-service/mocks → mocks/src}/transfer-state-app-insights-config.mock.d.ts +0 -0
  409. /package/{lib/services/transfer-state-service/mocks → mocks/src}/transfer-state-launch-darkly-config.mock.d.ts +0 -0
  410. /package/{lib/pages → pages}/access-denied/access-denied.component.d.ts +0 -0
  411. /package/{lib/pages/index.d.ts → pages/public-api.d.ts} +0 -0
  412. /package/{lib/pages → pages}/routing/pages.routes.d.ts +0 -0
  413. /package/{lib/pages → pages}/sign-in/interfaces/index.d.ts +0 -0
  414. /package/{lib/pages → pages}/sign-in/interfaces/sign-in-stub-form.interface.d.ts +0 -0
  415. /package/{lib/pages → pages}/sign-in/sign-in-sso/sign-in-sso.component.d.ts +0 -0
  416. /package/{lib/pages → pages}/sign-in/sign-in-stub/sign-in-stub.component.d.ts +0 -0
  417. /package/{lib/resolvers → resolvers}/title/title.resolver.d.ts +0 -0
  418. /package/{lib/services → services}/app-initializer-service/app-initializer.service.d.ts +0 -0
  419. /package/{lib/services → services}/app-insights/app-insights.service.d.ts +0 -0
  420. /package/{lib/services → services}/auth-service/auth.service.d.ts +0 -0
  421. /package/{lib/services → services}/launch-darkly/launch-darkly.service.d.ts +0 -0
  422. /package/{lib/services → services}/sort-service/interfaces/sort-service.interface.d.ts +0 -0
  423. /package/{lib/services → services}/utils/utils.service.d.ts +0 -0
  424. /package/{lib/guards/types → types/src}/can-deactivate.type.d.ts +0 -0
  425. /package/{lib/validators → validators}/alphabetical-text/alphabetical-text.validator.d.ts +0 -0
  426. /package/{lib/validators → validators}/amount/amount.validator.d.ts +0 -0
  427. /package/{lib/validators → validators}/date-after-year/date-after-year.validator.d.ts +0 -0
  428. /package/{lib/validators → validators}/date-before/date-before.validator.d.ts +0 -0
  429. /package/{lib/validators → validators}/date-of-birth/date-of-birth.validator.d.ts +0 -0
  430. /package/{lib/validators → validators}/future-date/future-date.validator.d.ts +0 -0
  431. /package/{lib/validators → validators}/invalid-value/invalid-value.validator.d.ts +0 -0
  432. /package/{lib/validators → validators}/national-insurance-number/national-insurance-number.validator.d.ts +0 -0
  433. /package/{lib/validators → validators}/numerical-only/numerical-only.validator.d.ts +0 -0
  434. /package/{lib/validators → validators}/optional-max-length/optional-max-length.validator.d.ts +0 -0
  435. /package/{lib/validators → validators}/optional-valid-date/optional-valid-date.validator.d.ts +0 -0
  436. /package/{lib/validators → validators}/optional-valid-email-address/optional-valid-email-address.validator.d.ts +0 -0
  437. /package/{lib/validators → validators}/optional-valid-telephone/optional-valid-telephone.validator.d.ts +0 -0
  438. /package/{lib/validators → validators}/past-date/past-date.validator.d.ts +0 -0
  439. /package/{lib/validators → validators}/special-characters/special-characters.validator.d.ts +0 -0
  440. /package/{lib/validators → validators}/two-decimal-places/two-decimal-places.validator.d.ts +0 -0
  441. /package/{lib/validators → validators}/valid-value/valid-value.validator.d.ts +0 -0
@@ -0,0 +1,861 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Input, ChangeDetectionStrategy, Component, EventEmitter, Output, inject, afterNextRender, HostBinding, signal } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import * as i1 from '@angular/forms';
5
+ import { ReactiveFormsModule } from '@angular/forms';
6
+ import { DateService } from '@hmcts/opal-frontend-common/services';
7
+ import { RouterLink, Router, ActivatedRoute } from '@angular/router';
8
+ import { Subject, takeUntil } from 'rxjs';
9
+
10
+ class MojBadgeComponent {
11
+ badgeId;
12
+ badgeClasses;
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojBadgeComponent, isStandalone: true, selector: "opal-lib-moj-badge", inputs: { badgeId: "badgeId", badgeClasses: "badgeClasses" }, ngImport: i0, template: "<span class=\"moj-badge {{ badgeClasses }}\" [id]=\"badgeId\"><ng-content></ng-content> </span>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojBadgeComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'opal-lib-moj-badge', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"moj-badge {{ badgeClasses }}\" [id]=\"badgeId\"><ng-content></ng-content> </span>\n" }]
19
+ }], propDecorators: { badgeId: [{
20
+ type: Input,
21
+ args: [{ required: true }]
22
+ }], badgeClasses: [{
23
+ type: Input,
24
+ args: [{ required: false }]
25
+ }] } });
26
+
27
+ class MojBannerComponent {
28
+ text;
29
+ type = 'success';
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: MojBannerComponent, isStandalone: true, selector: "opal-lib-moj-banner", inputs: { text: "text", type: "type" }, ngImport: i0, template: "<section class=\"moj-banner moj-banner--{{ type }}\">\n <svg\n class=\"moj-banner__icon\"\n fill=\"currentColor\"\n role=\"presentation\"\n focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 25 25\"\n height=\"25\"\n width=\"25\"\n >\n @if (type === 'success') {\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\" />\n }\n @if (type === 'warning') {\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n }\n @if (type === 'information') {\n <path\n d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n\tC13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"\n />\n }\n </svg>\n <div id=\"{{ type }}-message\" class=\"moj-banner__message\" role=\"alert\">{{ text }}</div>\n</section>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojBannerComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'opal-lib-moj-banner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"moj-banner moj-banner--{{ type }}\">\n <svg\n class=\"moj-banner__icon\"\n fill=\"currentColor\"\n role=\"presentation\"\n focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 25 25\"\n height=\"25\"\n width=\"25\"\n >\n @if (type === 'success') {\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\" />\n }\n @if (type === 'warning') {\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" />\n }\n @if (type === 'information') {\n <path\n d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n\tC13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"\n />\n }\n </svg>\n <div id=\"{{ type }}-message\" class=\"moj-banner__message\" role=\"alert\">{{ text }}</div>\n</section>\n" }]
36
+ }], propDecorators: { text: [{
37
+ type: Input,
38
+ args: [{ required: true }]
39
+ }], type: [{
40
+ type: Input,
41
+ args: [{ required: true }]
42
+ }] } });
43
+
44
+ class MojButtonMenuItemComponent {
45
+ actionClick = new EventEmitter();
46
+ handleClick(event) {
47
+ event.preventDefault();
48
+ this.actionClick.emit(true);
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojButtonMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojButtonMenuItemComponent, isStandalone: true, selector: "opal-lib-moj-button-menu-item", outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<a\n href=\"\"\n role=\"menuitem\"\n draggable=\"false\"\n class=\"moj-button-menu__item\"\n data-module=\"govuk-button\"\n data-secondary=\"true\"\n (click)=\"handleClick($event)\"\n>\n <ng-content select=\"[linkText]\"></ng-content>\n</a>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojButtonMenuItemComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'opal-lib-moj-button-menu-item', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n href=\"\"\n role=\"menuitem\"\n draggable=\"false\"\n class=\"moj-button-menu__item\"\n data-module=\"govuk-button\"\n data-secondary=\"true\"\n (click)=\"handleClick($event)\"\n>\n <ng-content select=\"[linkText]\"></ng-content>\n</a>\n" }]
56
+ }], propDecorators: { actionClick: [{
57
+ type: Output
58
+ }] } });
59
+
60
+ class MojButtonMenuComponent {
61
+ menuButtonTitle;
62
+ /**
63
+ * Toggles the button menu by changing the `aria-expanded` attribute of the toggle button.
64
+ */
65
+ toggleButtonMenu() {
66
+ const button = document.querySelector('.moj-button-menu__toggle-button');
67
+ const isExpanded = button.getAttribute('aria-expanded') === 'true';
68
+ button.setAttribute('aria-expanded', String(!isExpanded));
69
+ }
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojButtonMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojButtonMenuComponent, isStandalone: true, selector: "opal-lib-moj-button-menu", inputs: { menuButtonTitle: "menuButtonTitle" }, ngImport: i0, template: "<div class=\"moj-button-menu\">\n <button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary moj-button-menu__toggle-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleButtonMenu()\"\n >\n {{ menuButtonTitle }}\n </button>\n <div class=\"moj-button-menu__wrapper\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojButtonMenuComponent, decorators: [{
74
+ type: Component,
75
+ args: [{ selector: 'opal-lib-moj-button-menu', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"moj-button-menu\">\n <button\n class=\"govuk-button moj-button-menu__toggle-button govuk-button--secondary moj-button-menu__toggle-button--secondary\"\n type=\"button\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleButtonMenu()\"\n >\n {{ menuButtonTitle }}\n </button>\n <div class=\"moj-button-menu__wrapper\" role=\"menu\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
76
+ }], propDecorators: { menuButtonTitle: [{
77
+ type: Input,
78
+ args: [{ required: true }]
79
+ }] } });
80
+
81
+ class MojDatePickerComponent {
82
+ _control;
83
+ disabledDatesConcatenated;
84
+ dateService = inject(DateService);
85
+ labelText;
86
+ labelClasses;
87
+ hintText;
88
+ inputId;
89
+ inputName;
90
+ inputClasses;
91
+ minDate;
92
+ maxDate;
93
+ disabledDates;
94
+ disabledDays;
95
+ errors = null;
96
+ dateChange = new EventEmitter();
97
+ set control(abstractControl) {
98
+ // Form controls are passed in as abstract controls, we need to re-cast it.
99
+ this._control = abstractControl;
100
+ }
101
+ get getControl() {
102
+ return this._control;
103
+ }
104
+ constructor() {
105
+ afterNextRender(() => {
106
+ // Only trigger the render of the component in the browser
107
+ this.configureDatePicker();
108
+ });
109
+ }
110
+ /**
111
+ * Retrieves the disabled dates and concatenates them into a single string.
112
+ */
113
+ concatenateDisabledDates() {
114
+ this.disabledDatesConcatenated = this.disabledDates ? this.disabledDates.join(' ') : '';
115
+ }
116
+ /**
117
+ * Sets the date value and emits the updated value through the `dateChange` event.
118
+ *
119
+ * @param value - The new date value to set.
120
+ */
121
+ setDateValue(value) {
122
+ const parsedDate = this.dateService.getFromFormat(value, 'd/M/yyyy');
123
+ if (parsedDate.isValid) {
124
+ const formattedDate = parsedDate.toFormat('dd/MM/yyyy'); // Formats with leading zeros
125
+ this.dateChange.emit(formattedDate);
126
+ }
127
+ else {
128
+ this.dateChange.emit(value);
129
+ }
130
+ }
131
+ /**
132
+ * Configures the date picker functionality using the moj library.
133
+ */
134
+ configureDatePicker() {
135
+ import('@ministryofjustice/frontend/moj/all').then((datePicker) => {
136
+ datePicker.initAll();
137
+ });
138
+ }
139
+ ngOnInit() {
140
+ this.concatenateDisabledDates();
141
+ }
142
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojDatePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: MojDatePickerComponent, isStandalone: true, selector: "opal-lib-moj-date-picker", inputs: { labelText: "labelText", labelClasses: "labelClasses", hintText: "hintText", inputId: "inputId", inputName: "inputName", inputClasses: "inputClasses", minDate: "minDate", maxDate: "maxDate", disabledDates: "disabledDates", disabledDays: "disabledDays", errors: "errors", control: "control" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<div\n class=\"moj-datepicker\"\n data-module=\"moj-date-picker\"\n [attr.data-min-date]=\"minDate\"\n [attr.data-max-date]=\"maxDate\"\n [attr.data-excluded-dates]=\"disabledDatesConcatenated\"\n [attr.data-excluded-days]=\"disabledDays\"\n>\n <div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n\n @if (hintText) {\n <div id=\"date-hint\" class=\"govuk-hint\">{{ hintText }}</div>\n }\n\n @if (errors) {\n <p id=\"{{ inputId }}-date-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input moj-js-datepicker-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n aria-describedby=\"date-hint\"\n autocomplete=\"off\"\n [formControl]=\"getControl\"\n (change)=\"setDateValue($any($event).target.value)\"\n />\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ }
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojDatePickerComponent, decorators: [{
146
+ type: Component,
147
+ args: [{ selector: 'opal-lib-moj-date-picker', imports: [CommonModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"moj-datepicker\"\n data-module=\"moj-date-picker\"\n [attr.data-min-date]=\"minDate\"\n [attr.data-max-date]=\"maxDate\"\n [attr.data-excluded-dates]=\"disabledDatesConcatenated\"\n [attr.data-excluded-days]=\"disabledDays\"\n>\n <div class=\"govuk-form-group\" [class.govuk-form-group--error]=\"!!errors\">\n <label class=\"govuk-label {{ labelClasses }}\" [for]=\"inputId\"> {{ labelText }} </label>\n\n @if (hintText) {\n <div id=\"date-hint\" class=\"govuk-hint\">{{ hintText }}</div>\n }\n\n @if (errors) {\n <p id=\"{{ inputId }}-date-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error: </span> {{ errors }}\n </p>\n }\n\n <input\n class=\"govuk-input moj-js-datepicker-input {{ inputClasses }}\"\n [id]=\"inputId\"\n [name]=\"inputName\"\n type=\"text\"\n aria-describedby=\"date-hint\"\n autocomplete=\"off\"\n [formControl]=\"getControl\"\n (change)=\"setDateValue($any($event).target.value)\"\n />\n </div>\n</div>\n" }]
148
+ }], ctorParameters: () => [], propDecorators: { labelText: [{
149
+ type: Input,
150
+ args: [{ required: true }]
151
+ }], labelClasses: [{
152
+ type: Input,
153
+ args: [{ required: false }]
154
+ }], hintText: [{
155
+ type: Input,
156
+ args: [{ required: false }]
157
+ }], inputId: [{
158
+ type: Input,
159
+ args: [{ required: true }]
160
+ }], inputName: [{
161
+ type: Input,
162
+ args: [{ required: true }]
163
+ }], inputClasses: [{
164
+ type: Input,
165
+ args: [{ required: false }]
166
+ }], minDate: [{
167
+ type: Input,
168
+ args: [{ required: false }]
169
+ }], maxDate: [{
170
+ type: Input,
171
+ args: [{ required: false }]
172
+ }], disabledDates: [{
173
+ type: Input,
174
+ args: [{ required: false }]
175
+ }], disabledDays: [{
176
+ type: Input,
177
+ args: [{ required: false }]
178
+ }], errors: [{
179
+ type: Input,
180
+ args: [{ required: false }]
181
+ }], dateChange: [{
182
+ type: Output
183
+ }], control: [{
184
+ type: Input,
185
+ args: [{ required: true }]
186
+ }] } });
187
+
188
+ class MojHeaderNavigationItemComponent {
189
+ actionClick = new EventEmitter();
190
+ /**
191
+ * Handles the click event for the action button.
192
+ * @param event - The click event.
193
+ */
194
+ handleClick(event) {
195
+ event.preventDefault();
196
+ this.actionClick.emit(true);
197
+ }
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojHeaderNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojHeaderNavigationItemComponent, isStandalone: true, selector: "opal-lib-moj-header-navigation-item, [opal-lib-moj-header-navigation-item]", outputs: { actionClick: "actionClick" }, ngImport: i0, template: "<li class=\"moj-header__navigation-item\" role=\"listitem\">\n <a\n class=\"moj-header__navigation-link\"\n (click)=\"handleClick($event)\"\n (keyup.enter)=\"handleClick($event)\"\n tabindex=\"0\"\n href=\"#\"\n >\n <ng-content select=\"[linkText]\"></ng-content>\n </a>\n</li>\n" });
200
+ }
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojHeaderNavigationItemComponent, decorators: [{
202
+ type: Component,
203
+ args: [{ selector: 'opal-lib-moj-header-navigation-item, [opal-lib-moj-header-navigation-item]', template: "<li class=\"moj-header__navigation-item\" role=\"listitem\">\n <a\n class=\"moj-header__navigation-link\"\n (click)=\"handleClick($event)\"\n (keyup.enter)=\"handleClick($event)\"\n tabindex=\"0\"\n href=\"#\"\n >\n <ng-content select=\"[linkText]\"></ng-content>\n </a>\n</li>\n" }]
204
+ }], propDecorators: { actionClick: [{
205
+ type: Output
206
+ }] } });
207
+
208
+ const MOJ_HEADER_LINKS = {
209
+ govukLink: 'https://www.gov.uk/',
210
+ serviceLink: '/',
211
+ };
212
+
213
+ class MojHeaderComponent {
214
+ headerLinks = MOJ_HEADER_LINKS;
215
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
216
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: MojHeaderComponent, isStandalone: true, selector: "opal-lib-moj-header", ngImport: i0, template: "<header class=\"moj-header\" role=\"banner\">\n <div class=\"moj-header__container\">\n <div class=\"moj-header__logo\">\n <a [href]=\"headerLinks.govukLink\" class=\"govuk-header__link\" title=\"GOV.UK\" aria-label=\"GOV.UK home page\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"moj-header__logotype-crest\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n >\n <path\n fill=\"#ffffff\"\n fill-rule=\"evenodd\"\n d=\"M38.1 16.9c.1 1.8 2.2 1.3 1.9 2.7 0-.9-3-.8-3-2.6 0-.3.1-.7.3-.9-.1-.1-.2-.1-.5-.1-.6 0-1.2.6-1.2 1.3 0 2.2 3 2.6 3 5.1 0 .6-.2 1-.6 1.2.2 0 .7-.1.8-.3-.2 1-1.2 1-1.6.6h-.3c.2.4.4.8.9.7-.9.7-2-.2-1.8-1.2-.2-.3-.4-.7-.6-.9-.1-.2-.2-.1-.2.1 0 .8-.6 1.6-.6 2.1 0 .6.6 1.1.8 1.1s.3-.2.4-.2c.1.1.1.2.1.7 0 .2 0 1 .1 1.7 0-.2.2-.3.3-.4.2-.1.4-.2.7-.1.1 0 .3.1.3.2.1.1.1.2.1.3 0 .2-.2.4-.3.6-.2.1-.3.2-.6.1-.2 0-.3-.1-.4-.2v-.1.7c0 .6-.1.8-.3.9 0-.1-.2-.2-.3-.2-.1 0-.3.1-.3.2 0 .2.3.2.3.6s-.8.8-1.3.8c.1-.2.2-.8.3-1.1-.1.1-.3.3-.4.7-.1.4-.3.4-.6.3.2-.2.6-1.1 1-1.3.4-.3.6-.4.7-1.1.1-.7 0-1.1 0-1.7 0-.8-.3-.7-.6-.7-.6 0-2.6-1.3-2.6-2.7v-.4c-.9 0-1.5.2-1.5 1.1 0 .3 0 .6.2.8.2.1.3.3 0 .4-.3.1-3.1 1.3-3.1 1.3-.3.1-.4 0-.6-.2-.1-.2-.3-.2-.4-.1-.2.1.1.2.1.4s-.1.7-1.3.6l.3-.6c.1-.2.1-.3.1-.3-.1 0-.1.1-.2.3l-.3.4h-.4l1-1c.2-.2.6-.4 1.1-.4.7-.1 2.9-.4 2.9-1.1 0-.8-.9-.8-.9-1.9 0-1 .4-2 3-1.9-.2-.7-.9-1.1-1.6-1.2-1.3-.3-1.7-1.2-1.8-2.1h-1c-.8 0-1.2-.3-1.5-.1-.1.1-.1.2 0 .3.1.2.3.7.6 1 .1 0 .4 0 .4.2s-.1.2-.1.3 0 .2.1.2.1-.1.1-.2c.1-.1.3-.1.7 0 .2.2.6.6.7 1-.3-.1-.8-.3-.9-.3s-.1.1 0 .1.4.2.6.3v.3c-.1-.1-.7-.4-1.1-.6-.3-.1-.6-.2-.8-.7-.2-.4-.8-1.6-1-1.9-.1-.2-.1-.3 0-.4.1-.1.1-.2.2-.3.1-.2.2-.2.4-.2s.8 0 1-.1c0 0 .1 0 .2-.1-.6-.6-1.2-1.4-1.2-1.6-.1-.1-.2-.2-.3-.2s-.2 0-.3.1l-.1.1c0-.1-.1-.1-.1-.2l-.3-.3c.2-.1.3-.3.4-.3.1-.1.2-.2.3-.2h.3c.2 0 .2 0 .3.1.2.2.6.4.8.7 0 0 .1 0 .1.1l.1-.1c.1-.1.2-.1.3-.1s.2.1.3.2.2.3.2.6v.2l.6.6c.1-.7.4-1.4.9-2h-.1v-.1c.1-.3.2-.9.3-1.1v-.3l.8.3.1-.1c.7-.7 2.3-1.1 2.3-2.1 0-.2-.1-.6-.3-.8.1.1.1.3.1.6 0 .2-.4.8-1.1.8-.3 0-.7-.3-.8-.3s-.2.1-.3.1c0 .4-.2.8-.3.8.1-.2 0-.6 0-.6-.1 0-.1.1-.1.4 0 .3-.2.7-.7.7.1-.1.2-.6.1-.7-.1-.1-.2.1-.3.1s-.2-.1-.2-.2-.2 0-.2-.1.2-.3.4-.3c.2-.1.6-.2.6-.4-.1-.2-.9.1-1.1.3-.4.3-.2-.1-.3-.2-.2-.4 0-.4.2-.7.2-.2.8-.7 1.5-1 0-.2.1-.3.3-.4.2-.1.6-.2.8-.3l-3.8-4c-.1-.1-.1-.1 0-.2 0 0 .1 0 .2.1l4 3.9c.3-.6.4-.9.3-1.3.4.2.9.7 1 1.2 1.2 0 1.6.8 1.9.4 0 .2-.1.3-.6.4 1.5.3 1 1.3 1.8 1.4-.1.1-.3.2-.6.1.9 1.3 0 2.1.7 2.8-.2.1-.7-.1-.9-.6.2 1.1-.1 1.7.1 2.1-.3.1-.6-.2-.7-.6-.1.2-.1.4-.2.7l.3.1-.1.1c-.6.6-.8.9-.9 1l-.1.1-.1-.1c-.3.4-.7.8-.7 1.2 0 .4.6 1.3 1.2 2.1v-.2c0-.1.1-.3.2-.4.1-.1.2-.1.4-.1s.4.1.6.3c.1.2.2.3.2.6 0 .1-.1.3-.2.4-.1.1-.2.1-.4.1-.1 0-.3-.1-.4-.1.4.6.9 1.2 1.1 1.7.4.9.9 1.4 1.3 1.4.6 0 1.1-.4 1.1-1.1 0-2.3-3-2.6-3-5.2 0-1.2 1-1.8 1.7-1.8.4 0 .7.1.9.3h.2c1.5 0 .6 1.9 1.7 2-.3.5-1 .2-1.3-.7zM30.3 10c.3-.2.8-.3 1.2-.3-.3-.1-.6-.3-.8-.3-.4-.1-.3.4-.4.6zm-2.7 5.5c0-.1 0-.3-.1-.3 0 0-.1-.1-.2-.1s-.1 0-.2.1-.1.2-.1.3c0 .2.1.4.3.4.1 0 .1 0 .2-.1 0 0 .1-.1.1-.3zm8.7 12.6v.2c.1.2.4.2.7 0 .1-.1.2-.2.2-.3v-.2c-.1-.1-.1-.1-.2-.1s-.3 0-.4.1c-.2.1-.3.2-.3.3zm-1.9-8.3c0 .1.1.3.2.4.1.1.2.2.4.2.1 0 .1 0 .2-.1s.1-.1.1-.2-.1-.3-.2-.4c-.1-.1-.2-.2-.4-.2-.1 0-.1 0-.2.1s-.1.1-.1.2zm-.8-3.2c.3-.3.9-1 .9-1l-.3-.3v.6c-.1-.1-.2-.2-.2-.3l-.2.3c.1 0 .3 0 .3.1-.2.2-.6.1-.7 0-.2-.2-.3-.3-.3-.4.1-.1.3-.1.4.1.2 0 .2-.2.2-.3-.1-.1-.2-.1-.3-.1.3-.2.6-.4.4-.9-.4.1-.6.3-.7.7 0-.1-.1-.3-.2-.3s-.3.1-.3.3c.2-.1.4.1.3.3-.1.1-.3.1-.6 0-.3-.4-.3-.6-.1-.9.1.1.1.2.1.4l.3-.6c-.1 0-.2.1-.3 0 .1-.1.2-.2.4-.3l-.7-.2c.1.2 0 .4 0 .6-.1-.1-.2-.2-.2-.3l-.3.6c.1-.1.3-.1.4-.1-.1.2-.4.3-.7.2-.2-.1-.3-.3-.3-.4.1-.1.3-.1.4.1.2-.1.2-.3.1-.4-.1-.1-.2-.1-.4 0 .3-.3.4-.6.3-1-.3.1-.6.4-.6.8 0-.1-.1-.2-.2-.2s-.3.1-.2.3c.2-.1.4.1.3.3-.1.1-.2.1-.6 0-.2-.1-.4-.2-.3-.6.1 0 .2.2.3.2l.1-.4h-.3c.1-.1.3-.2.4-.3l-.4-.2s-.2.9-.4 1.3l4.2 2.3zm0 7.9c.1-.2.1-.6 0-.7-.2-.1-.4 0-.7.2-.1.2-.1.6 0 .7.1.1.5 0 .7-.2zm1.1-1.9c.1-.2.1-.6 0-.7-.2-.1-.4 0-.7.2-.1.2-.1.6 0 .7.3.1.6 0 .7-.2zM27.4 18c.2-.1.4 0 .7 0 .2.1.3.3.4.4v.4l-.3.3c-.2.1-.4 0-.7 0-.5-.1-.6-.4-.5-.8.1-.2.2-.3.4-.3zm.2 1c.1.1.3.1.4 0 .1 0 .1-.1.2-.1v-.2c0-.1-.1-.2-.3-.3-.1-.1-.3-.1-.4 0-.1 0-.1.1-.2.1-.1.1.1.3.3.5zm4.8 7.2c.1-.1.2-.2.4-.2s.3.1.4.2c.1.1.2.3.2.6 0 .2-.1.4-.2.6-.1.1-.2.2-.4.2-.1 0-.3-.1-.4-.2-.1-.1-.2-.3-.2-.6 0-.2 0-.5.2-.6zm.3 1.1c.1 0 .2 0 .2-.1.1-.1.1-.2.2-.4 0-.3-.1-.6-.3-.6-.1 0-.2 0-.2.1-.1.1-.1.2-.2.4 0 .2 0 .3.1.4.1.1.1.2.2.2zm-4.8-13.8c.2-.1.3-.2.6-.2.1 0 .2.1.3.2s.1.2.1.4-.1.3-.3.6c-.3.2-.8.2-.9 0-.1-.3 0-.6.2-1zm0 .7v.2c.1.1.3.1.6 0 .1-.1.2-.2.2-.3v-.2c0-.1-.1-.1-.2-.1s-.2 0-.3.1c-.2 0-.3.2-.3.3zm5.7 13.7c.2-.1.4-.2.7-.1.4.1.8.4.7.8 0 .2-.1.3-.3.4-.1.1-.3.1-.6.1s-.3-.1-.6-.2c-.1-.1-.2-.3-.1-.6-.1-.2 0-.3.2-.4zm.4.9c.3 0 .6-.1.6-.3 0-.2-.2-.3-.4-.4-.2 0-.3 0-.4.1 0 0-.1.1-.1.2-.2.1 0 .3.3.4zm3.3-1.9c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1c-.5 0-1-.4-1-1zm.3 0c0 .4.3.8.8.8s.8-.3.8-.8c0-.4-.3-.8-.8-.8-.4.1-.8.5-.8.8zm-23.3-5.8c-.1.3.1.3.1.7 0 .3-.2.4-.6.6.2-.4 0-.7-.3-.8.1.8-.6.9-.8.8.2 0 .3-.4.2-.8-.1.2-.4.4-.7.4s-.4-.2-.6-.4c.3.2.6 0 .6-.2 0-.1-.3-.2-.3-.4 0-.6.6-.3.6-.8 0-.2-.1-.3-.2-.3s-.3.1-.3.3c-.3-.2 0-.9-.1-1.2 0 .7-.4.6-.6.9-.2-.2 0-.7-.2-1.2-.1.6-.3.4-.3.9-.6-.3-1.7-.2-2 .2 1 .8 2.2 1.2 2.2 2.4 0 .9-1.5 1.3-1.5 1.9 0 .6 1.5 2 2.2 2 .2 0 .3-.3.6-.3h.6c.2 0 .3.2.3.3.3 0 .8.6.3 1-.1-.2-.3-.6-.8-.3.2.4 0 .8-.4 1 .1-.2.2-.6-.1-.6s0 .2-.7.2c-.6 0-.6 0-.8-.3-.2-.3-.4-.4-.6-.4s-.2.3 0 .6c-1.2 0-.7-1.2-1.3-1.6v.9c-.4-.5-.8-.9-.8-1.3-.1-.3 0-.6-.3-.8-.1 0-.2-.1-.2-.3 0-.1.1-.1.3-.2.2-.1.6-.3.6-1 0-.4-.1-1.1-.9-1.7.1 1 0 1.9-.4 2.7-.6 1-1.7 1.7-2.2 1.9-.6.2-1.3.4-1.3 1.2 0 1.4.7 2.2 1.2 2.2.4 0 .3-.4.9-.4.2 0 .6.1.6.3.3-.1.7.1.7.4 0 .3-.1.4-.3.6.2-.4-.3-.4-.4-.4-.1.1 0 .2 0 .4s-.1.4-.4.6c.1-.1.1-.3-.2-.3-.2 0-.3.4-.7.4-.6 0-.7-.2-1.2-.1-.3.1-.3.3-.2.3-.7 0-.6-.8-.4-.9.1-.1.2-.2 0-.4-.2-.1-.6 0-.7.3-.6-1.1.2-1 0-2.2-.1.6-.4.9-.7 1 .1-.2-.1-.8-.1-1.2 0-.9.6-1.2.6-1.4 0-.2-.2-.4 0-.6.1-.1.3.1.6.1.7 0 1.2-.9 1.3-2 .1-1.2.7-2.1 1.1-3 0-.1 0-.3.1-.4-.6.7-1 1.6-1.7 2.1.1.8-1.5 1.7-2.3 1 .3 0 .8-.1 1-.6-.1 0-.2 0-.3-.1-.6.3-1.3-.1-1.3-.7.2.2.4.3.8.2.2-.1.1-.4.1-.8 0-2.3 3.6-3.9 3.6-5.8 0-.6-.3-.9-.8-.9-.2 0-.4.1-.7.2.2.1.3.3.3.6 0 2.1-3.5 1.9-3.7 3.3-.1-1.8 2-1.4 2.1-2.9-.4.7-1.2 1.1-1.7.9 1.1 0 .8-2.2 2-2.2.1 0 .2 0 .4.1.3-.3.8-.4 1.1-.4.6 0 1.3.3 1.3 1.3 0 2.2-3.6 3.7-3.6 5.8 0 .7.4 1 1 1 1.2 0 2.1-2.2 3.5-4.1.9-1.2 1.5-3.7 2-4.9-.7.4-.8 1.8-1.6 1.9.4-.3.1-1.4.4-2.3.1-.3.1-.6.1-.9-.4.6-.3 2.2-1.1 2.4.3-.3 0-.9 0-1.4 0-1 .6-1.1.6-2.1-.4.2-.3 1.4-1.2 1.4.7-.7 0-1.3.8-2.1-.4-.2-.8-.6-.8-.9.3-.2.7-.3 1-.3-.3-.2-.2-.4 0-.7.1.2.2.3.3.3.3-.1.8-.6 1.5-.8.5-.2 1.3-.5 1.6-.5.1 0 .1-.2.1-.3.2 0 .6 0 .7.3.2-.2.6-.3.9-.3.2.4.2.8 0 1.2.4 0 .7.4 1.1.3-.3.4-.8.3-1.2.2 1.2.3 1.5 1.6 2.1 1.7-1.2.7-1.7-.3-2.3-.3 1.7.9 1.7 1.9 2.1 1.9-.6.4-.9-.1-1.6-.3 1.3.9 1.3 1.6 1.2 2.1.3.2.2.6.2 1 .2-.1.6-.2.8-.2-.1.1-.2.2-.2.3-.7.8-1.1 1.4-1.5 2.4-.3-.2-.6-.6-.8-.7-.2-.2-.6-.2-.7-.2.4.4 1.8 2 2.2 2.4.4.4.3.8.4 1.2.4.4.8.7.7.9zM7.5 10.2c.4 0 .6-.6.4-.9-.4.2-1 .3-1.3.4.5.2.5.5.9.5zm2.3 2.5c.4-.2.4-.7.3-.9-.1-.2-.2-.4-.3-.4-.2 0-.4-.1-.4-.3-.1-.2.2-.3.4-.6-.2-.1-.4-.2-.2-.3.2-.1.4.1.4 0 .1-.1-.1-.2-.2-.3s-.2-.1-.3 0l-1.2.4c-.1 0-.3 0-.3.1s-.1.3 0 .3.1-.3.3-.3.2.1 0 .4c.4 0 .6-.1.7.2.1.2 0 .3-.1.6-.1.1 0 .3 0 .6.1.2.5.7.9.5zm.1-3.5c.2-.2 0-.4.3-.9-.3.2-.8.5-1.3.7.3.3.7.5 1 .2zm-.7-3.1c.1.1.1.2.1.3-.1 0-.1-.1-.3-.2v.6c.1-.1.2-.1.2-.2 0 .3-.1.6-.3.6l-.3-.3c0-.1.1-.2.2-.1 0-.3-.2-.3-.3-.2.1-.4.1-.6-.2-.7-.3.3-.1.4.1.6-.2-.1-.5.1-.2.4 0-.2.2-.1.2 0s-.1.3-.4.4c-.3.1-.4-.1-.5-.3.1 0 .2 0 .4.1l.1-.5c-.1.3-.2.3-.3.4 0-.1.1-.4.1-.4l-.7.2s.3.1.4.2c0 0-.1.1-.4 0l.2.4c0-.2.1-.3.2-.3.1.2.1.4-.2.6-.2.2-.4.1-.4 0-.1-.1 0-.3.2-.2 0-.3-.3-.3-.3-.1 0-.3-.1-.6-.4-.6-.1.3 0 .6.3.7-.2 0-.3.1-.1.3 0-.2.1-.2.2-.1s0 .2-.1.3c-.1.1-.3.1-.6-.2h.2L6 7.3v.3c-.1-.1-.1-.1-.1-.3l-.2.2c.2.2.6.5.9.9.3-.2 1-.6 1.5-.7.4-.2 1.1-.4 1.6-.4-.1-.6 0-1 0-1.2h-.5zm-2.7-.7l.2.4.1-.3v.6c0 .1.1.3.3.3.1 0 .3-.1.3-.3 0-.1-.1-.2-.1-.2 0-.1-.2-.3-.3-.4h.4v-.4l-.4.2v-.4l-.4.1.2.3-.3.1zm1.4.4c.1-.2.1-.3 0-.4-.1-.1-.2-.1-.3 0-.1.1-.1.2 0 .3.1.1.2.1.3.1zm.6-.5c.1-.1.1-.2 0-.3s-.2-.1-.3 0-.2.2 0 .3c.1.1.2.1.3 0zm.5.1c.1-.1.1-.2 0-.3s-.2-.1-.3 0c-.1.1-.1.2 0 .3.1.1.3.1.3 0zm.2.5c.1.1.2.1.3 0s.1-.2 0-.3h-.3c-.2 0-.2.3 0 .3zm-2.7.4c.1 0 .2-.1.2-.2s-.1-.2-.2-.2-.2.1-.2.2.1.2.2.2zm-.7.1c.1 0 .2-.1.2-.2S6 6 5.8 6c-.1 0-.2.1-.2.2s.1.2.2.2zm-.1.2c0-.1-.1-.2-.2-.2s-.2.1-.2.2.1.2.2.2.2 0 .2-.2zm.1.7c0-.1-.1-.2-.2-.2s-.2.1-.2.2.1.2.2.2.2-.1.2-.2zm15.7 16.9c-.1 0-.1.1-.1.1 0 .1 1-.1 1 .1 0 .1-.2.2-.6.2h-.1c0 .1.1.1.1.1v.1s0 .1 0 0h-.1s-.1 0 0 .1h-.1v-.1h-.1v-.1h.1l.1.1.1-.1-.1-.1h-.3c.1.1.1.2.1.3v.1h-.1s0 .1-.1.1H21c0-.1.1 0 .1-.1 0 0 0-.1.1-.1s.1.1.2.1h.1-.1v-.1c-.1 0-.1.1-.2.1 0 .1-.1.2-.1.2l-.1.1c-.1 0-.1 0-.1.1v-.1h-.1l-.1.1v-.1s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1 0-.1-.1h.1v.1h.4v-.1c-.1 0-.1 0-.1-.1-.4-.2-.4-.3-.4-.3-.1 0-.2 0-.1-.1 0 .1.1.1.1 0 0 0-.1 0 0-.1v-.1h.1-.1.1l.1.1h.1v.1c0 .1 0 .1.1.1s.1.2.2.2v-.2s0-.1.1-.1l.1-.1v-.1h.2s.1 0 .1.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.4-.1.8 0 .9 0 .2 0 .4-.1.4-.1 0-.1-1 .1-1-.1-.4-.4-.3-.4-.2-.4 0 0 0-.1 0 0 .2-.2.6 0 .7-.1 0 0-.2.1-.3.1.3.1.4-.1.8 0-.3-.1-.7.3-1.2 0 0 .1 0 0 0 0zm-.7 0c0 .1 0 .1 0 0 .1.1.1.1 0 0 .1.1.1.1 0 0zm0 0s-.1 0 0 0c-.1 0-.1 0 0 0-.1.1 0 0 0 0zm-.1.3s0 .1 0 0c0 .1.1.1 0 0 .1 0 .1 0 0 0 .1 0 .1 0 0 0 .1-.1.1-.1.1 0h-.1c0-.2 0-.2 0 0 0-.2.1-.2 0 0zm1.1-1.6c-.1 0-.3 0-.3.1s.7.1.9.1c.3 0 .3.1.3.1 0 .1-.3.1-.6.1h.3c.1 0 0 0 0 0h.1v.2h-.1c0 .1-.1 0-.1.1v.1h-.1v-.1s0 .1-.1.1 0-.1.1-.1H22s0-.1.1-.1h.1v-.1h-.5v.1s.1.1 0 .1h-.1s0 .1-.1.1h-.3c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.1c-.1 0 0-.1 0-.2h-.1c-.4-.1-.2.1-.4.1 0 0 0 .1-.1.1 0 .1-.1.2-.2.1-.1 0-.2 0-.2.1v-.1h-.1c0 .1-.1.1-.1.1v-.2s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1h.1v.1c0 .1.2 0 .2 0h.2v-.1h-.1c-.1-.1-.1 0-.1 0-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1 0 0-.1v-.1s0-.1.1 0h-.1.1l.1.1h.1v.1c0 .1 0 .1.1.1h.1v-.1s0-.1.1-.1l.1-.1V23h.2s.1 0 .1.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.3-.1 1 0 1.2 0 .1 0 .4 0 .4-.1 0 0 0-.1-.2-.1s-1 .2-1-.1c-.2-.3.1-.3.2-.2.1-.1.1-.1 0 0 .2-.2.6 0 .7-.1 0 0-.2.1-.3.1.3.1.4-.1.8 0-.3-.1-.8.1-1.2 0 .1 0 .1 0 0 0zm-.9 0s-.1-.1 0 0c-.1 0-.1 0 0 0zm.1.1s-.1 0 0 0l-.1-.1c-.1.1 0 .1.1.1h-.1v.1l.1-.1c-.1.1-.1.1 0 0-.1.1-.1.1 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0zm0 0c0-.1 0-.1 0 0 0-.1 0 0 0 0zm2.2-.9s0 .1 0 0c0 .1 0 .1 0 0 0 .1 0 .1 0 0v.1c0 .1-.1 0-.1.1 0 0 .1 0 0 .1H23v-.1s0 .1-.1.1v-.1h-.2s0-.1.1-.1h.1v-.1h-.2c-.1 0-.1.1-.2.1h-.2v.1s.1.1 0 .1h-.1s0 .1-.1.1h-.3c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.2c-.1 0-.1-.1 0-.2 0 0 0 .1-.1.1-.6-.1-.3.2-.8.1 0 0 0 .1-.1.1h-.1l-.1.1c-.1 0-.1 0-.2.1v-.1h-.1c0 .1-.1.1-.1.1v-.2s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1h.1v.1c0 .1.2 0 .2 0h.2s-.1-.1 0-.1v-.1h-.1l-.2-.2v-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1-.1 0-.1v-.1s0-.1.1 0c0 0-.1 0-.1-.1h.1s0 .1.1.1h.1v.1c0 .1 0 .1.1.1s.1.1.2.1v-.1s0-.1.1-.1l.1-.1v-.1h.3s.1 0 .1.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.4-.1 1.5 0 1.7 0 .1 0 .4 0 .4-.1 0 0 0-.1-.3-.1-.2 0-1.3.2-1.3-.1 0-.2.3-.1.7-.1.1-.1.6 0 .7 0 0 0-.2.1-.3.1.3.1.4-.1.8 0-.2-.1-.7.2-1.1.1h-.1c-.2 0-.6 0-.6.1 0 .2.9.1 1.2.1.3 0 .4.1.4.1 0 .1-.3.1-.4.1h.3c-.4-.1-.4-.1-.3 0-.1 0 0-.1 0 0zm-2.2-.5s0 .1 0 0c.1.1.1.1.1 0H21zm-.1 0s0-.2 0 0c0 0-.1 0 0 0zm-.1.2c.1.1.1 0 0 0 .1 0 .1 0 0 0 .1 0 .1-.1 0 0l.1-.1h-.1c.1 0 .1 0 0 .1.1-.1.1-.1 0 0 .1-.1 0 0 0 0zm-1.9-2c0 .1-.3.1-.4.1h.5v.2c0 .1-.1 0-.1.1 0 0 .1 0 0 .1h-.1v-.1.1-.1h-.2s0-.1.1-.1h.1V20h-.2c-.1 0-.1.1-.2.1h-.2v.1s.1.1 0 .1H18s0 .1-.1.1h-.3c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.1c-.1 0-.1-.1 0-.1h-.1c-.6-.1-.3.2-.8.1 0 0 0 .1-.1.1l-.1.1h-.1c-.1 0-.2 0-.2.1v-.2h-.1c0 .1-.1.1-.1.1v-.2s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1v.1c0 .1.2 0 .2 0h.2v-.1h-.1l-.2-.2v-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1-.1 0-.1v-.1s0-.1.1 0c0 0-.1 0-.1-.1h.1s0 .1.1.1h.1v.1c0 .1 0 .1.1.1s.1.1.1.1v-.1s0-.1.1-.1l.1-.1v-.1h.3s.1 0 .1.1h.1s0 .1-.1.1c0 .1 0 .1-.1.2.5-.1 1.5 0 1.8 0-.4.1-.1 0 0 0-.1-.1-.1-.1-.4-.1-.2 0-1.3.2-1.3-.1 0-.2.3-.1.7-.1.1-.1.6 0 .7 0 0 0-.2.1-.3.1.3.1.6-.1.8 0-.3-.1-.7.2-1.1.1h-.1c-.2 0-.6 0-.6.1 0 .2.9.1 1.2.1.3-.3.4-.2.4-.1zm-2.3-.2c.1.1.1.1.1 0h-.1zm-.1-.2s-.1 0 0 0c-.1 0-.1 0 0 0 0 .2 0 0 0 0zm-.1.3c0 .1 0 .1 0 0 0 .1.1.1 0 0 .1.1.1 0 0 0 .1 0 .1 0 0 0l.1-.1h-.1c.1 0 .1 0 0 .1.1 0 .1 0 0 0 .1 0 0 0 0 0zm2.6-1.4c0 .1-.3.2-.6.2h.6v.2h-.1c0 .1-.1 0-.1.1 0 0 .1 0 0 .1h-.1v-.1.2-.1h-.2s0-.1.1-.1h.1v-.1h-.2c-.1 0-.1.1-.2.1h-.2v.1c.1 0 .1.1 0 .1H18s0 .1-.1.1h-.1.1-.2c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.2.2.1h.1-.1c-.1 0-.1-.1 0-.2h-.1c-.4-.1-.2.2-.6.2h-.1c0 .1-.2.2-.2.2-.1.1-.1 0-.2.1v-.2h-.1c0 .1-.1.1-.1.1V19s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1V19c-.2 0-.2-.1-.2-.1s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1H16v.1c0 .1.2 0 .2 0h.2v-.1h-.1c-.1 0-.1-.1-.1-.1v-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1-.1 0-.1v-.1s0-.1.1 0c0 0-.1 0-.1-.1h.1s0 .1.1.1V18s.1 0 .1.1v.1c0 .1 0 .1.1.1s.1.1.1.1h.1v-.1s0-.1.1-.1l.1-.1V18h.3s.1 0 .1.1v.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.4-.1 1.1 0 1.3 0 0-.1.3-.1.4-.2-.1-.1-.1-.1-.4-.1-.2 0-1.1.2-1.1-.1 0-.1.2-.1.4-.1.2-.1.4 0 .6-.1 0 0-.1.1-.2.1.3.1.6-.1.9.1-.2-.1-.8.1-1.1 0H18c-.2 0-.3 0-.3.1 0 .2.7.1 1 .1.2-.1.3-.1.3 0zm-2.5.3c-.1 0-.1 0 0 0zm.5-.5c.1.1.1.1.1 0H17zm-.1-.1s-.2 0 0 0c0 .1 0 .1 0 0zm-.2.3c.2.1.2 0 0 0 .2 0 .2 0 0 0 .2-.1.2-.1 0 0l.1-.1h-.1c.2 0 .2 0 0 .1.2-.1.2-.1 0 0 .2-.1 0-.1 0 0zm1.8-1.2c.1 0 .2.1.3.1h.2v.2c0 .1-.1 0-.1.1 0 0 .1 0 0 .1h-.1v-.2h-.2s0-.1.1-.1h.1v-.1h-.4v.2h-.1v.1h-.4c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.1v-.2h-.1c-.3 0-.1.1-.2.1 0 0-.1.1-.2.1v-.1h-.1l-.1.1c-.1 0-.1 0-.1.1v-.1h-.1l-.1.1v-.1s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1 0-.1-.1h.1v.1h.3s.1 0 .2-.1l-.1-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1 0 0-.1v-.1h.1-.1.1v.1h.1v.2l.1.1V17s0-.1.1-.1l.1-.1v-.1h.4s0 .1-.1.1c0 0-.1.1-.1.2.1-.1.2 0 .4.1.3-.1.5-.1.5-.2 0-.2-.9 0-.9-.3 0 0 0-.1.1-.1v-.1c.1-.1.2-.1.3-.2 0 0 0 .1-.1.2.2 0 .2-.3.7-.2-.3.1-.3.3-.8.4l-.1.1c0 .2.9 0 .9.3-.1 0-.2.1-.6.1zm-.7-.4c0 .1 0 .1 0 0 .1.1.1.1 0 0 .1.1 0 0 0 0zm0 0c-.2 0-.2 0 0 0-.2 0-.2 0 0 0-.2 0-.2 0 0 0zm-.2.2c-.1 0-.1 0 0 0 0 .1 0 0 0 0 .1-.1.1-.1.1 0h-.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0zm1.3 5.1c.1 0 .1 0 .1.1s-.1.1-.2.1l-.1 2.4h.1v.2c0 .1-.1.1-.2.1 0 .3-.2.4-.4.4-.1 0-.3-.1-.3-.3 0-.1.1-.2.2-.2s.1 0 .1.1-.2 0-.2.1 0 .1.1.1.2-.1.2-.2c0-.2-.2-.2-.4-.2-1.3-.4-2.1-1.8-2.1-2.8h-.1l.1-.2-.1.1c-.1 0-.2-.1-.2-.2s.1-.2.2-.2.2.1.2.2l.1-.2c.2.1.6.2.9.2.7 0 1.2-.3 1.5-.3.2.1.4.4.5.7zm-2.6.2c-.1 1.2.8 2.1 1.7 2.4l-1.7-2.4zm1.8 2.3c0-.1 0-.3.1-.4l-1.3-1.8h-.3l1.5 2.2zm.1-.8c0-.1 0-.3.1-.4l-.8-1.1c-.1 0-.2.1-.3.1l1 1.4zm.2-1.7c0-.2 0-.3-.1-.3s-.4.1-.7.2l.7 1c0-.2.1-.4.1-.7v-.1c-.1 0-.1-.1-.1-.1h.1zm4.3-2.6c.1 0 .1-.1.1-.1h-.1s.1 0 0-.1c0-.1-.1-.1-.1 0s-.4 0-.4-.3l.1.1h.1c.1 0 .1-.1.1-.1 0-.1-.1-.2-.3-.3-.1 0-.1-.1-.1-.1 0-.1 0-.2-.1-.4v-.2c-.1.1-.1.3.1.6.1.1.4.3.4.4 0 0 0 .1-.1.1h-.1s-.1 0-.1-.1c-.1-.1-.2-.3-.3-.4-.1-.2-.1-.3-.1-.6.1-.1-.1-.4-.1-.6v-.1h-.1s0-.1-.1-.1-.1 0-.1-.1c0 0 0 .1-.1.1h-.4c-.1 0-.1 0 0 .1v.2-.1h.1v.1h-.1v.1h.3c0 .1-.2.1-.2.3l-.1-.1-.1-.1-.1-.1c-.1 0-.1-.1-.1-.1v-.1l-.1-.1v.2s0-.1-.1-.1c0 0 0-.1-.1 0 0 0 0 .1.1.1h-.1v.2h-.1c-.1.1 0 .2.1.1v.3c0 .1.1.2.3.3l-.2.2s-.1.1-.2.1l-.1-.1h-.2.2-.1s-.1.1 0 .1v-.1s.1.1.1 0v.1s.1.1.1 0l-.1-.1v-.1s0 .1.1 0v-.1h.2s0-.1.1-.1h.1s0-.1.1-.1c0 .3.3.2.4.4-.1 0-.2-.1-.3-.1s-.2.1-.2.2.1.2.1.3h-.2c-.1 0-.1-.1-.2-.1 0 0-.1 0-.1.1h.1s-.1 0-.1.1c0 0 0 .1.1 0 0 0 0 .1.1 0h.1s0-.1.1 0h.2v-.1c0-.1-.1-.1-.1-.1 0-.1.1-.2.2-.2 0 .1.1.3.3.4.1 0 .2-.1.2-.1v.1h-.1s-.1 0-.1.1h.1s.1.1.1 0c0 0-.1.1 0 .1s0-.1.1-.1v.1h.1v-.1s.1 0 .1-.1c1 .6 1 .6 1 .4 0 .2 0 .2 0 0 0 .2 0 0 0 0zm.7.6c.1 0 .2.1.2.2l-.1.1s.1.1.1.2c-.1 0-.1 0-.2-.1 0 .1 0 .1-.1.1s-.2 0-.2-.1c0 .1.2 0 .1 0h-1.5c0 .1 0 .2-.1.3-.1-.1-.1-.2-.1-.3h-1.3c0 .1.1.1.1 0 0 .1-.1.2-.2.2H20s-.1.1-.2.1c0-.1 0-.1.1-.2-.1 0-.1 0-.1-.1s0-.2.2-.2c-.1 0 0 .2 0 .1v-1.9c-.1 0-.2 0-.3-.1.1-.1.2-.1.3-.1v-1.8c-.1 0-.1.1 0 .1-.1 0-.2-.1-.1-.2l.1-.1s-.1-.1-.1-.2c.1 0 .1 0 .2.1 0-.1 0-.1.1-.1s.2 0 .2.2c0-.1-.1-.1-.1 0 .3.1.8.2 1.1.4.3.2.7.6 1 .9l.1.1c0-.1.1-.1.3-.1-.2.3-.3.3-.3.3.4.7.8 1.4.9 2.3V20zm-1.3-2.3c-.2-.3-.6-.6-.9-.8-.2-.2-.6-.3-.9-.4v.2c-.1 0-.1 0-.1-.1v1.2c.1 0 .1 0 .1.1v.1c.1 0 .1 0 .2.1-.1.1-.1.1-.2.1.1 0 .1.1 0 .1l-.1.1V20s.1-.1.2-.1c0 .1 0 .1-.1.2h1c0-.1 0-.1.1-.1h.1c0-.1 0-.1.1-.2.1.1.1.1.1.2 0-.1.1-.1.1 0l.1.1H23s-.1-.1-.1-.2h.1c-.1-.7-.3-1.2-.7-1.8h-.1s-.1-.1 0-.1c0 0-.1.1-.2 0 0-.1 0-.1.1-.2v-.1zm4.2 2.7v.4c0 1-.2 2.1-.6 3-.3.9-.9 1.8-1.5 2.4-.3.3-.7.7-1 .9-.1.1-.4.2-2-.2-.2 0-.3-.1-.6-.1 0-.2 0-.3.1-.4.1-.2.1-.3.2-.4.1 0 .1-.1.2-.1.6-.2 1-.7 1.5-1.2.4-.6.8-1.1 1-1.8.2-.7.3-1.3.3-2h-4.5v5c.3 0 1 .1 1 .1-.1.2-.2.4-.2.8-.6-.1-1-.3-1.6-.6.4-.2.6-.2.8-.2v-4.9h-4.7c0-.2-.1-.6-.2-.7-.2-.3-.3-.4-.3-.9 0-.2-.1-.6-.3-.8-.1-.1-.7-.8-.8-.9.3-.9.9-1.8 1.5-2.4.4-.4.9-.9 1.5-1.2-.2-.2-.6-.4-.6-.9 0-.2.1-.4.2-.6-.3-.9-.8-2-1.2-2.6l.9-.4c-.2.3-.2.8-.2 1 .2-.2.4-.4.6-.7 0 .3.2.8.3 1-.2 0-.4-.1-.8 0 .1.2.6.6 1.1.3.3-.1.7-.2.7-.6 0-.1-.1-.3-.3-.3s-.2.3-.1.4c-.2-.1-.6-.9-.1-1 .3-.1.7.3.8.7 0-.2.2-.7.6-.7.4 0 .3.8.1 1 0-.2-.2-.4-.3-.4s-.2.1-.2.3c0 .2.3.4.8.4.3 0 1.1-.1 1.1-.9-.2 0-.7.2-.8.4V9.4c.2.3.6.6.8.6-.1-.3-.3-.7-.7-.9h1.7c-.3.2-.6.6-.7.9.2 0 .6-.2.8-.4v1.2c-.2-.2-.6-.4-.8-.4.1.8.8.9 1.1.9.4 0 .8-.1.8-.4 0-.2-.1-.3-.2-.3s-.2.1-.3.4c0-.2-.2-1.1.2-1.1.3 0 .4.3.6.8.1-.3.4-.8.8-.7.3.1.1.9-.1 1 .1-.1 0-.4-.1-.4-.2 0-.3.1-.3.3 0 .2.3.4.7.6.6.1 1-.2 1.1-.4-.2-.1-.4-.1-.8.1.1-.2.3-.8.3-1 .1.3.2.6.6.7 0-.2 0-.7-.2-1l.9.4c-.4.4-1 1.6-1.2 2.6.2.1.3.3.3.7 0 .4-.2.7-.6.9.6.3 1 .8 1.5 1.2.3.3.6.8.9 1.2 0 0-.1.1-.1.2-.1.1-.2.2-.2.3-.1.1-.1.2-.1.3 0 .1 0 .2.1.4l1 2c-.6 0-.4.2-.2.3zm-7-5c-.6 0-1.2.1-1.8.4-.6.2-1.1.7-1.5 1.2-.4.6-.8 1.1-1 1.8-.2.7-.3 1.3-.3 2.1h4.6v-5.5zm.1-2.2c1.6 0 2.6.4 3.2.9.3-.2.6-.4.6-.7 0-.9-2.5-1-3.7-1-1.2 0-3.7.1-3.7 1 0 .2.1.4.6.7.5-.4 1.5-.9 3-.9zm4.7 7.7c0-.7-.1-1.4-.3-2.1-.2-.7-.6-1.2-1-1.8-.4-.6-.9-.9-1.5-1.2-.6-.2-1.1-.4-1.7-.4v5.5h4.5zm11 11.1c0-.1-.1-.1-.1-.1-1.5.4-3.2-.8-4.9-1.9-1.5-1-2.8-1.9-4-1.9-.4 0-.8.1-1.1.2-.4.2-.7.6-.9 1.1-.2.4-.4.8-.6 1.1-.2.3-.3.6-.3.8 0 .2.1.4.3.7.1.2.4.3.8.6.1 0 .1.1.2.1.3.1.4.2.4.4-.6.2-1.3.4-2.1.6-.9.1-2 .2-3.1.2s-2.1-.1-3.1-.2c-.9-.1-1.6-.3-2.1-.6 0-.2.2-.3.6-.4.1 0 .1-.1.2-.1.3-.1.6-.3.8-.4.2-.2.3-.3.3-.6s-.1-.6-.3-.8c-.1-.2-.3-.6-.6-1.1-.2-.4-.6-.9-.9-1.1-.3-.2-.7-.2-1.1-.2-1.2 0-2.6.9-4 1.9-1.8 1.1-3.6 2.3-4.9 1.9-.1 0-.1 0-.1.1s0 .1.1.1c.4.2.8.4 1.2.8.6.4 1 .8 1.6.8.6 0 1.1-.1 1.8-.6.6-.3 1.2-.7 1.8-1.1 1.1-.8 2.3-1.6 3.5-1.7l-.3.3c-.3.3-.7.6-.7 1.1 0 .4.1.7.3 1.1.1.1.1.2.2.4s.2.4.2.8c0 .1.1.3.1.4.1.2.2.8 1 1.2 1 .4 2.6.8 4.9.8 2.2 0 3.9-.2 4.9-.8.8-.4 1-.9 1-1.2 0-.2.1-.3.1-.4.1-.3.1-.6.2-.8.1-.2.2-.3.2-.6.2-.3.3-.6.3-.9 0-.6-.3-.8-.7-1.1l-.3-.3c1.1.1 2.3.9 3.5 1.7.6.4 1.2.8 1.8 1.1.7.3 1.2.6 1.8.6.6 0 1-.3 1.6-.8.3-.3.8-.6 1.2-.8-.9-.2-.7-.3-.7-.4zm-14.6-1.4c.4 0 .7.3.7.7 0 .3-.2.6-.3.8-.1-.2-.1-.3-.2-.3-.2 0-.1 1.1-.8 1.1v.2c0 .2-.2.4-.4.4s-.5-.3-.5-.5v-.2c-.7 0-.6-1.1-.8-1.1-.1 0-.2.1-.2.3-.1-.2-.3-.4-.3-.8 0-.3.2-.7.7-.7h.2V29c.7.1 1.2.2 1.8.2v1.2c0 .2 0 .2.1.2zm-1.1 2.6c.1 0 .2-.1.2-.2s-.1-.2-.2-.2-.2.1-.2.2.1.2.2.2zm1.5-1.5c.1-.1.1-.3.1-.4 0-.2-.1-.4-.4-.4-.6 0-.4.8-.7.8-.1 0-.2-.1-.2-.2 0-.2.3-.4.3-.8s-.3-.6-.6-.8c-.3.2-.6.6-.6.8 0 .3.3.6.3.8 0 .1-.1.2-.2.2-.2 0-.1-.8-.7-.8-.3 0-.4.3-.4.4 0 .1 0 .2.1.4l.2-.2c.4 0 .2 1.1.8 1.1.2 0 .3-.1.3-.3 0-.1-.1-.2-.1-.3 0-.1.1-.2.2-.2s.2 0 .2.2c0 .1-.1.2-.1.3s.1.3.3.3c.4 0 .3-1.1.8-1.1.3 0 .3.1.4.2zm.3-4.1c.7.1 1.5.3 1.9.2l-.1.1c-.2.2-.4.3-.7.6-.7.4-1.3.7-1.8.7-.6 0-1.3-.1-2.1-.3-.7-.2-1.3-.4-1.8-.7-.2.2-.6.2-.9.1-.3-.1-.6-.6-.6-.8v-.1l-.7-.7c-.7-.7-1.1-1.6-1.5-2.4-.1-.4-.3-.9-.3-1.3.6.2.8 0 1-.2.1 0 .1.2.1.2.7 0 1-.4 1.1-.8.1.4.1.8.3 1.1.2.7.6 1.2 1 1.8.1.2.3.3.4.4.1 0 .2-.1.3-.1.2 0 .4.1.7.3.2.2.2.4.2.7 1.3.4 2.5.8 3.5 1.2zM17.4 26c.1 0 .1.1.2.1 0-.1-.1-.2-.2-.4-.1-.1-.3-.2-.6-.2-.4 0-.8.4-1 .6-.1 0-.2 0-.3-.1 0 .1.1.2.1.3-.2.3-.3.7-.3.9 0 .1.2.4.4.7.2.1.3.1.6 0-.1-.1-.2-.1-.3-.2-.1 0-.2-.1-.2-.2v-.1c0-.1 0-.2.1-.3v-.3h.1c.1.1.3.1.4.1 0 0 .1 0 .1-.1.1-.1 0-.3-.2-.4l-.1-.4.1-.1c.1-.1.1-.2.2-.2.5.1.6.1.9.3zm.7 1.9c.2 0 .4-.2.4-.4s-.2-.4-.4-.4-.4.2-.4.4c-.1.3.2.4.4.4zm1.9.7c.2 0 .4-.2.4-.4s-.2-.4-.4-.4-.4.2-.4.4c0 .1.2.4.4.4zM20 5c-.2-.2-.4-.4-.4-.8.2 0 .6.2.8.4V3.5c-.3.3-.5.5-.9.5 0-.2.2-.6.4-.8h-1.1c.2.3.4.6.4.8-.2 0-.6-.2-.8-.4v1.1c.2-.2.4-.4.8-.4 0 .3-.2.6-.4.8H20zm-1.6 1.4c.1.4.6.8 1 .8s.9-.3 1-.8h-2zm1.2-.4h.8c-.1-.4-.4-.8-.8-.8V6zm-.4 0v-.8c-.4.1-.8.4-.8.8h.8zm.8 1.5c-.1 0-.2.1-.3.1V9h.3V7.5zm-1.1 1.6h.3V7.7c-.1 0-.2-.1-.3-.1v1.5zm1.2-1.8c0 .2.1.3.3.3s.3-.1.3-.3c0-.2-.1-.3-.3-.3s-.3.1-.3.3zm1-.1c.2 0 .3-.1.3-.3 0-.1-.1-.2-.3-.2s-.3.1-.3.3c0 .1.2.2.3.2zM22 7c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 .2.1.3.3.3zm2.2.8c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 .2.2.3.3.3zm-.5-.6c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.2 0 .3.3.3zm-.9-.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.1.2.3.3.3zm1.8 2.4c-.2 0-.3.1-.3.3 0 .2.1.3.3.3s.3-.1.3-.3c0-.2-.1-.3-.3-.3zm.1-.7c-.2 0-.3.1-.3.3 0 .2.1.3.3.3s.3-.1.3-.3c0-.2-.1-.3-.3-.3zm-.4-.5c0 .2.1.3.3.3s.4-.1.4-.3c0-.2-.1-.3-.3-.3s-.4.1-.4.3zm-5.9-.5c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 0 .2.3.3.3zm-.8-.5c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c.1.2.2.3.3.3zm-.7-.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.2.1.3.3.3zm-2.3.8c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 .2.1.3.3.3zm.6-.6c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.2.2.3.3.3zm.9-.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.1.1.3.3.3zm-1.5 2.8c0-.2-.1-.3-.3-.3s-.3 0-.3.3c0 .2.1.3.3.3.1 0 .3-.1.3-.3zm-.2-.8c0-.2-.1-.3-.3-.3-.2 0-.3.1-.3.3 0 .2.1.3.3.3.2 0 .3-.2.3-.3zm-.2-.5c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.4.1-.4.3c0 .1.3.3.4.3zm7.7.3c-.1.1-.4.4-.4.8 0 .2.2.6.3.8.1-.3.4-.4.4-.8 0-.3-.2-.5-.3-.8zm-4.9 0c-.2.3-.3.6-.3.9 0 .3.3.4.4.8.1-.3.3-.6.3-.8 0-.5-.3-.8-.4-.9z\"\n ></path>\n </svg>\n </a>\n\n @if (headerLinks.serviceLink) {\n <a [routerLink]=\"headerLinks.serviceLink\" class=\"moj-header__link moj-header__link--organisation-name\">\n <ng-content select=\"[organisationName]\"></ng-content>\n </a>\n\n <a [routerLink]=\"headerLinks.serviceLink\" class=\"moj-header__link moj-header__link--service-name\">\n <ng-content select=\"[serviceName]\"></ng-content>\n </a>\n } @else {\n <span class=\"moj-header__link--organisation-name\">\n <ng-content select=\"[organisationName]\"></ng-content>\n </span>\n\n <span class=\"moj-header__link--service-name\">\n <ng-content select=\"[serviceName]\"></ng-content>\n </span>\n }\n </div>\n <div class=\"moj-header__content\">\n <nav class=\"moj-header__navigation\" aria-label=\"Account navigation\">\n <!--PO-322\n For accessibility we need to add a role to prevent any accessibility issues\n-->\n <ul class=\"moj-header__navigation-list\" role=\"list\">\n <ng-content></ng-content>\n </ul>\n </nav>\n </div>\n </div>\n</header>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
217
+ }
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojHeaderComponent, decorators: [{
219
+ type: Component,
220
+ args: [{ selector: 'opal-lib-moj-header', imports: [RouterLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header class=\"moj-header\" role=\"banner\">\n <div class=\"moj-header__container\">\n <div class=\"moj-header__logo\">\n <a [href]=\"headerLinks.govukLink\" class=\"govuk-header__link\" title=\"GOV.UK\" aria-label=\"GOV.UK home page\">\n <svg\n aria-hidden=\"true\"\n focusable=\"false\"\n class=\"moj-header__logotype-crest\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n >\n <path\n fill=\"#ffffff\"\n fill-rule=\"evenodd\"\n d=\"M38.1 16.9c.1 1.8 2.2 1.3 1.9 2.7 0-.9-3-.8-3-2.6 0-.3.1-.7.3-.9-.1-.1-.2-.1-.5-.1-.6 0-1.2.6-1.2 1.3 0 2.2 3 2.6 3 5.1 0 .6-.2 1-.6 1.2.2 0 .7-.1.8-.3-.2 1-1.2 1-1.6.6h-.3c.2.4.4.8.9.7-.9.7-2-.2-1.8-1.2-.2-.3-.4-.7-.6-.9-.1-.2-.2-.1-.2.1 0 .8-.6 1.6-.6 2.1 0 .6.6 1.1.8 1.1s.3-.2.4-.2c.1.1.1.2.1.7 0 .2 0 1 .1 1.7 0-.2.2-.3.3-.4.2-.1.4-.2.7-.1.1 0 .3.1.3.2.1.1.1.2.1.3 0 .2-.2.4-.3.6-.2.1-.3.2-.6.1-.2 0-.3-.1-.4-.2v-.1.7c0 .6-.1.8-.3.9 0-.1-.2-.2-.3-.2-.1 0-.3.1-.3.2 0 .2.3.2.3.6s-.8.8-1.3.8c.1-.2.2-.8.3-1.1-.1.1-.3.3-.4.7-.1.4-.3.4-.6.3.2-.2.6-1.1 1-1.3.4-.3.6-.4.7-1.1.1-.7 0-1.1 0-1.7 0-.8-.3-.7-.6-.7-.6 0-2.6-1.3-2.6-2.7v-.4c-.9 0-1.5.2-1.5 1.1 0 .3 0 .6.2.8.2.1.3.3 0 .4-.3.1-3.1 1.3-3.1 1.3-.3.1-.4 0-.6-.2-.1-.2-.3-.2-.4-.1-.2.1.1.2.1.4s-.1.7-1.3.6l.3-.6c.1-.2.1-.3.1-.3-.1 0-.1.1-.2.3l-.3.4h-.4l1-1c.2-.2.6-.4 1.1-.4.7-.1 2.9-.4 2.9-1.1 0-.8-.9-.8-.9-1.9 0-1 .4-2 3-1.9-.2-.7-.9-1.1-1.6-1.2-1.3-.3-1.7-1.2-1.8-2.1h-1c-.8 0-1.2-.3-1.5-.1-.1.1-.1.2 0 .3.1.2.3.7.6 1 .1 0 .4 0 .4.2s-.1.2-.1.3 0 .2.1.2.1-.1.1-.2c.1-.1.3-.1.7 0 .2.2.6.6.7 1-.3-.1-.8-.3-.9-.3s-.1.1 0 .1.4.2.6.3v.3c-.1-.1-.7-.4-1.1-.6-.3-.1-.6-.2-.8-.7-.2-.4-.8-1.6-1-1.9-.1-.2-.1-.3 0-.4.1-.1.1-.2.2-.3.1-.2.2-.2.4-.2s.8 0 1-.1c0 0 .1 0 .2-.1-.6-.6-1.2-1.4-1.2-1.6-.1-.1-.2-.2-.3-.2s-.2 0-.3.1l-.1.1c0-.1-.1-.1-.1-.2l-.3-.3c.2-.1.3-.3.4-.3.1-.1.2-.2.3-.2h.3c.2 0 .2 0 .3.1.2.2.6.4.8.7 0 0 .1 0 .1.1l.1-.1c.1-.1.2-.1.3-.1s.2.1.3.2.2.3.2.6v.2l.6.6c.1-.7.4-1.4.9-2h-.1v-.1c.1-.3.2-.9.3-1.1v-.3l.8.3.1-.1c.7-.7 2.3-1.1 2.3-2.1 0-.2-.1-.6-.3-.8.1.1.1.3.1.6 0 .2-.4.8-1.1.8-.3 0-.7-.3-.8-.3s-.2.1-.3.1c0 .4-.2.8-.3.8.1-.2 0-.6 0-.6-.1 0-.1.1-.1.4 0 .3-.2.7-.7.7.1-.1.2-.6.1-.7-.1-.1-.2.1-.3.1s-.2-.1-.2-.2-.2 0-.2-.1.2-.3.4-.3c.2-.1.6-.2.6-.4-.1-.2-.9.1-1.1.3-.4.3-.2-.1-.3-.2-.2-.4 0-.4.2-.7.2-.2.8-.7 1.5-1 0-.2.1-.3.3-.4.2-.1.6-.2.8-.3l-3.8-4c-.1-.1-.1-.1 0-.2 0 0 .1 0 .2.1l4 3.9c.3-.6.4-.9.3-1.3.4.2.9.7 1 1.2 1.2 0 1.6.8 1.9.4 0 .2-.1.3-.6.4 1.5.3 1 1.3 1.8 1.4-.1.1-.3.2-.6.1.9 1.3 0 2.1.7 2.8-.2.1-.7-.1-.9-.6.2 1.1-.1 1.7.1 2.1-.3.1-.6-.2-.7-.6-.1.2-.1.4-.2.7l.3.1-.1.1c-.6.6-.8.9-.9 1l-.1.1-.1-.1c-.3.4-.7.8-.7 1.2 0 .4.6 1.3 1.2 2.1v-.2c0-.1.1-.3.2-.4.1-.1.2-.1.4-.1s.4.1.6.3c.1.2.2.3.2.6 0 .1-.1.3-.2.4-.1.1-.2.1-.4.1-.1 0-.3-.1-.4-.1.4.6.9 1.2 1.1 1.7.4.9.9 1.4 1.3 1.4.6 0 1.1-.4 1.1-1.1 0-2.3-3-2.6-3-5.2 0-1.2 1-1.8 1.7-1.8.4 0 .7.1.9.3h.2c1.5 0 .6 1.9 1.7 2-.3.5-1 .2-1.3-.7zM30.3 10c.3-.2.8-.3 1.2-.3-.3-.1-.6-.3-.8-.3-.4-.1-.3.4-.4.6zm-2.7 5.5c0-.1 0-.3-.1-.3 0 0-.1-.1-.2-.1s-.1 0-.2.1-.1.2-.1.3c0 .2.1.4.3.4.1 0 .1 0 .2-.1 0 0 .1-.1.1-.3zm8.7 12.6v.2c.1.2.4.2.7 0 .1-.1.2-.2.2-.3v-.2c-.1-.1-.1-.1-.2-.1s-.3 0-.4.1c-.2.1-.3.2-.3.3zm-1.9-8.3c0 .1.1.3.2.4.1.1.2.2.4.2.1 0 .1 0 .2-.1s.1-.1.1-.2-.1-.3-.2-.4c-.1-.1-.2-.2-.4-.2-.1 0-.1 0-.2.1s-.1.1-.1.2zm-.8-3.2c.3-.3.9-1 .9-1l-.3-.3v.6c-.1-.1-.2-.2-.2-.3l-.2.3c.1 0 .3 0 .3.1-.2.2-.6.1-.7 0-.2-.2-.3-.3-.3-.4.1-.1.3-.1.4.1.2 0 .2-.2.2-.3-.1-.1-.2-.1-.3-.1.3-.2.6-.4.4-.9-.4.1-.6.3-.7.7 0-.1-.1-.3-.2-.3s-.3.1-.3.3c.2-.1.4.1.3.3-.1.1-.3.1-.6 0-.3-.4-.3-.6-.1-.9.1.1.1.2.1.4l.3-.6c-.1 0-.2.1-.3 0 .1-.1.2-.2.4-.3l-.7-.2c.1.2 0 .4 0 .6-.1-.1-.2-.2-.2-.3l-.3.6c.1-.1.3-.1.4-.1-.1.2-.4.3-.7.2-.2-.1-.3-.3-.3-.4.1-.1.3-.1.4.1.2-.1.2-.3.1-.4-.1-.1-.2-.1-.4 0 .3-.3.4-.6.3-1-.3.1-.6.4-.6.8 0-.1-.1-.2-.2-.2s-.3.1-.2.3c.2-.1.4.1.3.3-.1.1-.2.1-.6 0-.2-.1-.4-.2-.3-.6.1 0 .2.2.3.2l.1-.4h-.3c.1-.1.3-.2.4-.3l-.4-.2s-.2.9-.4 1.3l4.2 2.3zm0 7.9c.1-.2.1-.6 0-.7-.2-.1-.4 0-.7.2-.1.2-.1.6 0 .7.1.1.5 0 .7-.2zm1.1-1.9c.1-.2.1-.6 0-.7-.2-.1-.4 0-.7.2-.1.2-.1.6 0 .7.3.1.6 0 .7-.2zM27.4 18c.2-.1.4 0 .7 0 .2.1.3.3.4.4v.4l-.3.3c-.2.1-.4 0-.7 0-.5-.1-.6-.4-.5-.8.1-.2.2-.3.4-.3zm.2 1c.1.1.3.1.4 0 .1 0 .1-.1.2-.1v-.2c0-.1-.1-.2-.3-.3-.1-.1-.3-.1-.4 0-.1 0-.1.1-.2.1-.1.1.1.3.3.5zm4.8 7.2c.1-.1.2-.2.4-.2s.3.1.4.2c.1.1.2.3.2.6 0 .2-.1.4-.2.6-.1.1-.2.2-.4.2-.1 0-.3-.1-.4-.2-.1-.1-.2-.3-.2-.6 0-.2 0-.5.2-.6zm.3 1.1c.1 0 .2 0 .2-.1.1-.1.1-.2.2-.4 0-.3-.1-.6-.3-.6-.1 0-.2 0-.2.1-.1.1-.1.2-.2.4 0 .2 0 .3.1.4.1.1.1.2.2.2zm-4.8-13.8c.2-.1.3-.2.6-.2.1 0 .2.1.3.2s.1.2.1.4-.1.3-.3.6c-.3.2-.8.2-.9 0-.1-.3 0-.6.2-1zm0 .7v.2c.1.1.3.1.6 0 .1-.1.2-.2.2-.3v-.2c0-.1-.1-.1-.2-.1s-.2 0-.3.1c-.2 0-.3.2-.3.3zm5.7 13.7c.2-.1.4-.2.7-.1.4.1.8.4.7.8 0 .2-.1.3-.3.4-.1.1-.3.1-.6.1s-.3-.1-.6-.2c-.1-.1-.2-.3-.1-.6-.1-.2 0-.3.2-.4zm.4.9c.3 0 .6-.1.6-.3 0-.2-.2-.3-.4-.4-.2 0-.3 0-.4.1 0 0-.1.1-.1.2-.2.1 0 .3.3.4zm3.3-1.9c0-.6.4-1 1-1s1 .4 1 1-.4 1-1 1c-.5 0-1-.4-1-1zm.3 0c0 .4.3.8.8.8s.8-.3.8-.8c0-.4-.3-.8-.8-.8-.4.1-.8.5-.8.8zm-23.3-5.8c-.1.3.1.3.1.7 0 .3-.2.4-.6.6.2-.4 0-.7-.3-.8.1.8-.6.9-.8.8.2 0 .3-.4.2-.8-.1.2-.4.4-.7.4s-.4-.2-.6-.4c.3.2.6 0 .6-.2 0-.1-.3-.2-.3-.4 0-.6.6-.3.6-.8 0-.2-.1-.3-.2-.3s-.3.1-.3.3c-.3-.2 0-.9-.1-1.2 0 .7-.4.6-.6.9-.2-.2 0-.7-.2-1.2-.1.6-.3.4-.3.9-.6-.3-1.7-.2-2 .2 1 .8 2.2 1.2 2.2 2.4 0 .9-1.5 1.3-1.5 1.9 0 .6 1.5 2 2.2 2 .2 0 .3-.3.6-.3h.6c.2 0 .3.2.3.3.3 0 .8.6.3 1-.1-.2-.3-.6-.8-.3.2.4 0 .8-.4 1 .1-.2.2-.6-.1-.6s0 .2-.7.2c-.6 0-.6 0-.8-.3-.2-.3-.4-.4-.6-.4s-.2.3 0 .6c-1.2 0-.7-1.2-1.3-1.6v.9c-.4-.5-.8-.9-.8-1.3-.1-.3 0-.6-.3-.8-.1 0-.2-.1-.2-.3 0-.1.1-.1.3-.2.2-.1.6-.3.6-1 0-.4-.1-1.1-.9-1.7.1 1 0 1.9-.4 2.7-.6 1-1.7 1.7-2.2 1.9-.6.2-1.3.4-1.3 1.2 0 1.4.7 2.2 1.2 2.2.4 0 .3-.4.9-.4.2 0 .6.1.6.3.3-.1.7.1.7.4 0 .3-.1.4-.3.6.2-.4-.3-.4-.4-.4-.1.1 0 .2 0 .4s-.1.4-.4.6c.1-.1.1-.3-.2-.3-.2 0-.3.4-.7.4-.6 0-.7-.2-1.2-.1-.3.1-.3.3-.2.3-.7 0-.6-.8-.4-.9.1-.1.2-.2 0-.4-.2-.1-.6 0-.7.3-.6-1.1.2-1 0-2.2-.1.6-.4.9-.7 1 .1-.2-.1-.8-.1-1.2 0-.9.6-1.2.6-1.4 0-.2-.2-.4 0-.6.1-.1.3.1.6.1.7 0 1.2-.9 1.3-2 .1-1.2.7-2.1 1.1-3 0-.1 0-.3.1-.4-.6.7-1 1.6-1.7 2.1.1.8-1.5 1.7-2.3 1 .3 0 .8-.1 1-.6-.1 0-.2 0-.3-.1-.6.3-1.3-.1-1.3-.7.2.2.4.3.8.2.2-.1.1-.4.1-.8 0-2.3 3.6-3.9 3.6-5.8 0-.6-.3-.9-.8-.9-.2 0-.4.1-.7.2.2.1.3.3.3.6 0 2.1-3.5 1.9-3.7 3.3-.1-1.8 2-1.4 2.1-2.9-.4.7-1.2 1.1-1.7.9 1.1 0 .8-2.2 2-2.2.1 0 .2 0 .4.1.3-.3.8-.4 1.1-.4.6 0 1.3.3 1.3 1.3 0 2.2-3.6 3.7-3.6 5.8 0 .7.4 1 1 1 1.2 0 2.1-2.2 3.5-4.1.9-1.2 1.5-3.7 2-4.9-.7.4-.8 1.8-1.6 1.9.4-.3.1-1.4.4-2.3.1-.3.1-.6.1-.9-.4.6-.3 2.2-1.1 2.4.3-.3 0-.9 0-1.4 0-1 .6-1.1.6-2.1-.4.2-.3 1.4-1.2 1.4.7-.7 0-1.3.8-2.1-.4-.2-.8-.6-.8-.9.3-.2.7-.3 1-.3-.3-.2-.2-.4 0-.7.1.2.2.3.3.3.3-.1.8-.6 1.5-.8.5-.2 1.3-.5 1.6-.5.1 0 .1-.2.1-.3.2 0 .6 0 .7.3.2-.2.6-.3.9-.3.2.4.2.8 0 1.2.4 0 .7.4 1.1.3-.3.4-.8.3-1.2.2 1.2.3 1.5 1.6 2.1 1.7-1.2.7-1.7-.3-2.3-.3 1.7.9 1.7 1.9 2.1 1.9-.6.4-.9-.1-1.6-.3 1.3.9 1.3 1.6 1.2 2.1.3.2.2.6.2 1 .2-.1.6-.2.8-.2-.1.1-.2.2-.2.3-.7.8-1.1 1.4-1.5 2.4-.3-.2-.6-.6-.8-.7-.2-.2-.6-.2-.7-.2.4.4 1.8 2 2.2 2.4.4.4.3.8.4 1.2.4.4.8.7.7.9zM7.5 10.2c.4 0 .6-.6.4-.9-.4.2-1 .3-1.3.4.5.2.5.5.9.5zm2.3 2.5c.4-.2.4-.7.3-.9-.1-.2-.2-.4-.3-.4-.2 0-.4-.1-.4-.3-.1-.2.2-.3.4-.6-.2-.1-.4-.2-.2-.3.2-.1.4.1.4 0 .1-.1-.1-.2-.2-.3s-.2-.1-.3 0l-1.2.4c-.1 0-.3 0-.3.1s-.1.3 0 .3.1-.3.3-.3.2.1 0 .4c.4 0 .6-.1.7.2.1.2 0 .3-.1.6-.1.1 0 .3 0 .6.1.2.5.7.9.5zm.1-3.5c.2-.2 0-.4.3-.9-.3.2-.8.5-1.3.7.3.3.7.5 1 .2zm-.7-3.1c.1.1.1.2.1.3-.1 0-.1-.1-.3-.2v.6c.1-.1.2-.1.2-.2 0 .3-.1.6-.3.6l-.3-.3c0-.1.1-.2.2-.1 0-.3-.2-.3-.3-.2.1-.4.1-.6-.2-.7-.3.3-.1.4.1.6-.2-.1-.5.1-.2.4 0-.2.2-.1.2 0s-.1.3-.4.4c-.3.1-.4-.1-.5-.3.1 0 .2 0 .4.1l.1-.5c-.1.3-.2.3-.3.4 0-.1.1-.4.1-.4l-.7.2s.3.1.4.2c0 0-.1.1-.4 0l.2.4c0-.2.1-.3.2-.3.1.2.1.4-.2.6-.2.2-.4.1-.4 0-.1-.1 0-.3.2-.2 0-.3-.3-.3-.3-.1 0-.3-.1-.6-.4-.6-.1.3 0 .6.3.7-.2 0-.3.1-.1.3 0-.2.1-.2.2-.1s0 .2-.1.3c-.1.1-.3.1-.6-.2h.2L6 7.3v.3c-.1-.1-.1-.1-.1-.3l-.2.2c.2.2.6.5.9.9.3-.2 1-.6 1.5-.7.4-.2 1.1-.4 1.6-.4-.1-.6 0-1 0-1.2h-.5zm-2.7-.7l.2.4.1-.3v.6c0 .1.1.3.3.3.1 0 .3-.1.3-.3 0-.1-.1-.2-.1-.2 0-.1-.2-.3-.3-.4h.4v-.4l-.4.2v-.4l-.4.1.2.3-.3.1zm1.4.4c.1-.2.1-.3 0-.4-.1-.1-.2-.1-.3 0-.1.1-.1.2 0 .3.1.1.2.1.3.1zm.6-.5c.1-.1.1-.2 0-.3s-.2-.1-.3 0-.2.2 0 .3c.1.1.2.1.3 0zm.5.1c.1-.1.1-.2 0-.3s-.2-.1-.3 0c-.1.1-.1.2 0 .3.1.1.3.1.3 0zm.2.5c.1.1.2.1.3 0s.1-.2 0-.3h-.3c-.2 0-.2.3 0 .3zm-2.7.4c.1 0 .2-.1.2-.2s-.1-.2-.2-.2-.2.1-.2.2.1.2.2.2zm-.7.1c.1 0 .2-.1.2-.2S6 6 5.8 6c-.1 0-.2.1-.2.2s.1.2.2.2zm-.1.2c0-.1-.1-.2-.2-.2s-.2.1-.2.2.1.2.2.2.2 0 .2-.2zm.1.7c0-.1-.1-.2-.2-.2s-.2.1-.2.2.1.2.2.2.2-.1.2-.2zm15.7 16.9c-.1 0-.1.1-.1.1 0 .1 1-.1 1 .1 0 .1-.2.2-.6.2h-.1c0 .1.1.1.1.1v.1s0 .1 0 0h-.1s-.1 0 0 .1h-.1v-.1h-.1v-.1h.1l.1.1.1-.1-.1-.1h-.3c.1.1.1.2.1.3v.1h-.1s0 .1-.1.1H21c0-.1.1 0 .1-.1 0 0 0-.1.1-.1s.1.1.2.1h.1-.1v-.1c-.1 0-.1.1-.2.1 0 .1-.1.2-.1.2l-.1.1c-.1 0-.1 0-.1.1v-.1h-.1l-.1.1v-.1s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1 0-.1-.1h.1v.1h.4v-.1c-.1 0-.1 0-.1-.1-.4-.2-.4-.3-.4-.3-.1 0-.2 0-.1-.1 0 .1.1.1.1 0 0 0-.1 0 0-.1v-.1h.1-.1.1l.1.1h.1v.1c0 .1 0 .1.1.1s.1.2.2.2v-.2s0-.1.1-.1l.1-.1v-.1h.2s.1 0 .1.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.4-.1.8 0 .9 0 .2 0 .4-.1.4-.1 0-.1-1 .1-1-.1-.4-.4-.3-.4-.2-.4 0 0 0-.1 0 0 .2-.2.6 0 .7-.1 0 0-.2.1-.3.1.3.1.4-.1.8 0-.3-.1-.7.3-1.2 0 0 .1 0 0 0 0zm-.7 0c0 .1 0 .1 0 0 .1.1.1.1 0 0 .1.1.1.1 0 0zm0 0s-.1 0 0 0c-.1 0-.1 0 0 0-.1.1 0 0 0 0zm-.1.3s0 .1 0 0c0 .1.1.1 0 0 .1 0 .1 0 0 0 .1 0 .1 0 0 0 .1-.1.1-.1.1 0h-.1c0-.2 0-.2 0 0 0-.2.1-.2 0 0zm1.1-1.6c-.1 0-.3 0-.3.1s.7.1.9.1c.3 0 .3.1.3.1 0 .1-.3.1-.6.1h.3c.1 0 0 0 0 0h.1v.2h-.1c0 .1-.1 0-.1.1v.1h-.1v-.1s0 .1-.1.1 0-.1.1-.1H22s0-.1.1-.1h.1v-.1h-.5v.1s.1.1 0 .1h-.1s0 .1-.1.1h-.3c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.1c-.1 0 0-.1 0-.2h-.1c-.4-.1-.2.1-.4.1 0 0 0 .1-.1.1 0 .1-.1.2-.2.1-.1 0-.2 0-.2.1v-.1h-.1c0 .1-.1.1-.1.1v-.2s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1h.1v.1c0 .1.2 0 .2 0h.2v-.1h-.1c-.1-.1-.1 0-.1 0-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1 0 0-.1v-.1s0-.1.1 0h-.1.1l.1.1h.1v.1c0 .1 0 .1.1.1h.1v-.1s0-.1.1-.1l.1-.1V23h.2s.1 0 .1.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.3-.1 1 0 1.2 0 .1 0 .4 0 .4-.1 0 0 0-.1-.2-.1s-1 .2-1-.1c-.2-.3.1-.3.2-.2.1-.1.1-.1 0 0 .2-.2.6 0 .7-.1 0 0-.2.1-.3.1.3.1.4-.1.8 0-.3-.1-.8.1-1.2 0 .1 0 .1 0 0 0zm-.9 0s-.1-.1 0 0c-.1 0-.1 0 0 0zm.1.1s-.1 0 0 0l-.1-.1c-.1.1 0 .1.1.1h-.1v.1l.1-.1c-.1.1-.1.1 0 0-.1.1-.1.1 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0zm0 0c0-.1 0-.1 0 0 0-.1 0 0 0 0zm2.2-.9s0 .1 0 0c0 .1 0 .1 0 0 0 .1 0 .1 0 0v.1c0 .1-.1 0-.1.1 0 0 .1 0 0 .1H23v-.1s0 .1-.1.1v-.1h-.2s0-.1.1-.1h.1v-.1h-.2c-.1 0-.1.1-.2.1h-.2v.1s.1.1 0 .1h-.1s0 .1-.1.1h-.3c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.2c-.1 0-.1-.1 0-.2 0 0 0 .1-.1.1-.6-.1-.3.2-.8.1 0 0 0 .1-.1.1h-.1l-.1.1c-.1 0-.1 0-.2.1v-.1h-.1c0 .1-.1.1-.1.1v-.2s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1h.1v.1c0 .1.2 0 .2 0h.2s-.1-.1 0-.1v-.1h-.1l-.2-.2v-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1-.1 0-.1v-.1s0-.1.1 0c0 0-.1 0-.1-.1h.1s0 .1.1.1h.1v.1c0 .1 0 .1.1.1s.1.1.2.1v-.1s0-.1.1-.1l.1-.1v-.1h.3s.1 0 .1.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.4-.1 1.5 0 1.7 0 .1 0 .4 0 .4-.1 0 0 0-.1-.3-.1-.2 0-1.3.2-1.3-.1 0-.2.3-.1.7-.1.1-.1.6 0 .7 0 0 0-.2.1-.3.1.3.1.4-.1.8 0-.2-.1-.7.2-1.1.1h-.1c-.2 0-.6 0-.6.1 0 .2.9.1 1.2.1.3 0 .4.1.4.1 0 .1-.3.1-.4.1h.3c-.4-.1-.4-.1-.3 0-.1 0 0-.1 0 0zm-2.2-.5s0 .1 0 0c.1.1.1.1.1 0H21zm-.1 0s0-.2 0 0c0 0-.1 0 0 0zm-.1.2c.1.1.1 0 0 0 .1 0 .1 0 0 0 .1 0 .1-.1 0 0l.1-.1h-.1c.1 0 .1 0 0 .1.1-.1.1-.1 0 0 .1-.1 0 0 0 0zm-1.9-2c0 .1-.3.1-.4.1h.5v.2c0 .1-.1 0-.1.1 0 0 .1 0 0 .1h-.1v-.1.1-.1h-.2s0-.1.1-.1h.1V20h-.2c-.1 0-.1.1-.2.1h-.2v.1s.1.1 0 .1H18s0 .1-.1.1h-.3c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.1c-.1 0-.1-.1 0-.1h-.1c-.6-.1-.3.2-.8.1 0 0 0 .1-.1.1l-.1.1h-.1c-.1 0-.2 0-.2.1v-.2h-.1c0 .1-.1.1-.1.1v-.2s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1v.1c0 .1.2 0 .2 0h.2v-.1h-.1l-.2-.2v-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1-.1 0-.1v-.1s0-.1.1 0c0 0-.1 0-.1-.1h.1s0 .1.1.1h.1v.1c0 .1 0 .1.1.1s.1.1.1.1v-.1s0-.1.1-.1l.1-.1v-.1h.3s.1 0 .1.1h.1s0 .1-.1.1c0 .1 0 .1-.1.2.5-.1 1.5 0 1.8 0-.4.1-.1 0 0 0-.1-.1-.1-.1-.4-.1-.2 0-1.3.2-1.3-.1 0-.2.3-.1.7-.1.1-.1.6 0 .7 0 0 0-.2.1-.3.1.3.1.6-.1.8 0-.3-.1-.7.2-1.1.1h-.1c-.2 0-.6 0-.6.1 0 .2.9.1 1.2.1.3-.3.4-.2.4-.1zm-2.3-.2c.1.1.1.1.1 0h-.1zm-.1-.2s-.1 0 0 0c-.1 0-.1 0 0 0 0 .2 0 0 0 0zm-.1.3c0 .1 0 .1 0 0 0 .1.1.1 0 0 .1.1.1 0 0 0 .1 0 .1 0 0 0l.1-.1h-.1c.1 0 .1 0 0 .1.1 0 .1 0 0 0 .1 0 0 0 0 0zm2.6-1.4c0 .1-.3.2-.6.2h.6v.2h-.1c0 .1-.1 0-.1.1 0 0 .1 0 0 .1h-.1v-.1.2-.1h-.2s0-.1.1-.1h.1v-.1h-.2c-.1 0-.1.1-.2.1h-.2v.1c.1 0 .1.1 0 .1H18s0 .1-.1.1h-.1.1-.2c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.2.2.1h.1-.1c-.1 0-.1-.1 0-.2h-.1c-.4-.1-.2.2-.6.2h-.1c0 .1-.2.2-.2.2-.1.1-.1 0-.2.1v-.2h-.1c0 .1-.1.1-.1.1V19s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1V19c-.2 0-.2-.1-.2-.1s0-.1.1-.1h.1c-.1 0-.1-.1-.1-.1H16v.1c0 .1.2 0 .2 0h.2v-.1h-.1c-.1 0-.1-.1-.1-.1v-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1-.1 0-.1v-.1s0-.1.1 0c0 0-.1 0-.1-.1h.1s0 .1.1.1V18s.1 0 .1.1v.1c0 .1 0 .1.1.1s.1.1.1.1h.1v-.1s0-.1.1-.1l.1-.1V18h.3s.1 0 .1.1v.1h.1s0 .1-.1.1c0 0 0 .1-.1.2.4-.1 1.1 0 1.3 0 0-.1.3-.1.4-.2-.1-.1-.1-.1-.4-.1-.2 0-1.1.2-1.1-.1 0-.1.2-.1.4-.1.2-.1.4 0 .6-.1 0 0-.1.1-.2.1.3.1.6-.1.9.1-.2-.1-.8.1-1.1 0H18c-.2 0-.3 0-.3.1 0 .2.7.1 1 .1.2-.1.3-.1.3 0zm-2.5.3c-.1 0-.1 0 0 0zm.5-.5c.1.1.1.1.1 0H17zm-.1-.1s-.2 0 0 0c0 .1 0 .1 0 0zm-.2.3c.2.1.2 0 0 0 .2 0 .2 0 0 0 .2-.1.2-.1 0 0l.1-.1h-.1c.2 0 .2 0 0 .1.2-.1.2-.1 0 0 .2-.1 0-.1 0 0zm1.8-1.2c.1 0 .2.1.3.1h.2v.2c0 .1-.1 0-.1.1 0 0 .1 0 0 .1h-.1v-.2h-.2s0-.1.1-.1h.1v-.1h-.4v.2h-.1v.1h-.4c0-.1.1 0 .1-.1h-.1s0-.1.1-.1.1.1.2.1h.1-.1v-.2h-.1c-.3 0-.1.1-.2.1 0 0-.1.1-.2.1v-.1h-.1l-.1.1c-.1 0-.1 0-.1.1v-.1h-.1l-.1.1v-.1s0 .1-.1.1c0 0-.1 0-.1-.1v.2s-.1 0-.1-.1v-.1c-.1.1-.1 0-.1 0s0-.1.1-.1h.1c-.1 0-.1 0-.1-.1h.1v.1h.3s.1 0 .2-.1l-.1-.1c-.1 0-.2 0-.1-.1 0 .1.1.1.1 0-.1 0-.1 0 0-.1v-.1h.1-.1.1v.1h.1v.2l.1.1V17s0-.1.1-.1l.1-.1v-.1h.4s0 .1-.1.1c0 0-.1.1-.1.2.1-.1.2 0 .4.1.3-.1.5-.1.5-.2 0-.2-.9 0-.9-.3 0 0 0-.1.1-.1v-.1c.1-.1.2-.1.3-.2 0 0 0 .1-.1.2.2 0 .2-.3.7-.2-.3.1-.3.3-.8.4l-.1.1c0 .2.9 0 .9.3-.1 0-.2.1-.6.1zm-.7-.4c0 .1 0 .1 0 0 .1.1.1.1 0 0 .1.1 0 0 0 0zm0 0c-.2 0-.2 0 0 0-.2 0-.2 0 0 0-.2 0-.2 0 0 0zm-.2.2c-.1 0-.1 0 0 0 0 .1 0 0 0 0 .1-.1.1-.1.1 0h-.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0zm1.3 5.1c.1 0 .1 0 .1.1s-.1.1-.2.1l-.1 2.4h.1v.2c0 .1-.1.1-.2.1 0 .3-.2.4-.4.4-.1 0-.3-.1-.3-.3 0-.1.1-.2.2-.2s.1 0 .1.1-.2 0-.2.1 0 .1.1.1.2-.1.2-.2c0-.2-.2-.2-.4-.2-1.3-.4-2.1-1.8-2.1-2.8h-.1l.1-.2-.1.1c-.1 0-.2-.1-.2-.2s.1-.2.2-.2.2.1.2.2l.1-.2c.2.1.6.2.9.2.7 0 1.2-.3 1.5-.3.2.1.4.4.5.7zm-2.6.2c-.1 1.2.8 2.1 1.7 2.4l-1.7-2.4zm1.8 2.3c0-.1 0-.3.1-.4l-1.3-1.8h-.3l1.5 2.2zm.1-.8c0-.1 0-.3.1-.4l-.8-1.1c-.1 0-.2.1-.3.1l1 1.4zm.2-1.7c0-.2 0-.3-.1-.3s-.4.1-.7.2l.7 1c0-.2.1-.4.1-.7v-.1c-.1 0-.1-.1-.1-.1h.1zm4.3-2.6c.1 0 .1-.1.1-.1h-.1s.1 0 0-.1c0-.1-.1-.1-.1 0s-.4 0-.4-.3l.1.1h.1c.1 0 .1-.1.1-.1 0-.1-.1-.2-.3-.3-.1 0-.1-.1-.1-.1 0-.1 0-.2-.1-.4v-.2c-.1.1-.1.3.1.6.1.1.4.3.4.4 0 0 0 .1-.1.1h-.1s-.1 0-.1-.1c-.1-.1-.2-.3-.3-.4-.1-.2-.1-.3-.1-.6.1-.1-.1-.4-.1-.6v-.1h-.1s0-.1-.1-.1-.1 0-.1-.1c0 0 0 .1-.1.1h-.4c-.1 0-.1 0 0 .1v.2-.1h.1v.1h-.1v.1h.3c0 .1-.2.1-.2.3l-.1-.1-.1-.1-.1-.1c-.1 0-.1-.1-.1-.1v-.1l-.1-.1v.2s0-.1-.1-.1c0 0 0-.1-.1 0 0 0 0 .1.1.1h-.1v.2h-.1c-.1.1 0 .2.1.1v.3c0 .1.1.2.3.3l-.2.2s-.1.1-.2.1l-.1-.1h-.2.2-.1s-.1.1 0 .1v-.1s.1.1.1 0v.1s.1.1.1 0l-.1-.1v-.1s0 .1.1 0v-.1h.2s0-.1.1-.1h.1s0-.1.1-.1c0 .3.3.2.4.4-.1 0-.2-.1-.3-.1s-.2.1-.2.2.1.2.1.3h-.2c-.1 0-.1-.1-.2-.1 0 0-.1 0-.1.1h.1s-.1 0-.1.1c0 0 0 .1.1 0 0 0 0 .1.1 0h.1s0-.1.1 0h.2v-.1c0-.1-.1-.1-.1-.1 0-.1.1-.2.2-.2 0 .1.1.3.3.4.1 0 .2-.1.2-.1v.1h-.1s-.1 0-.1.1h.1s.1.1.1 0c0 0-.1.1 0 .1s0-.1.1-.1v.1h.1v-.1s.1 0 .1-.1c1 .6 1 .6 1 .4 0 .2 0 .2 0 0 0 .2 0 0 0 0zm.7.6c.1 0 .2.1.2.2l-.1.1s.1.1.1.2c-.1 0-.1 0-.2-.1 0 .1 0 .1-.1.1s-.2 0-.2-.1c0 .1.2 0 .1 0h-1.5c0 .1 0 .2-.1.3-.1-.1-.1-.2-.1-.3h-1.3c0 .1.1.1.1 0 0 .1-.1.2-.2.2H20s-.1.1-.2.1c0-.1 0-.1.1-.2-.1 0-.1 0-.1-.1s0-.2.2-.2c-.1 0 0 .2 0 .1v-1.9c-.1 0-.2 0-.3-.1.1-.1.2-.1.3-.1v-1.8c-.1 0-.1.1 0 .1-.1 0-.2-.1-.1-.2l.1-.1s-.1-.1-.1-.2c.1 0 .1 0 .2.1 0-.1 0-.1.1-.1s.2 0 .2.2c0-.1-.1-.1-.1 0 .3.1.8.2 1.1.4.3.2.7.6 1 .9l.1.1c0-.1.1-.1.3-.1-.2.3-.3.3-.3.3.4.7.8 1.4.9 2.3V20zm-1.3-2.3c-.2-.3-.6-.6-.9-.8-.2-.2-.6-.3-.9-.4v.2c-.1 0-.1 0-.1-.1v1.2c.1 0 .1 0 .1.1v.1c.1 0 .1 0 .2.1-.1.1-.1.1-.2.1.1 0 .1.1 0 .1l-.1.1V20s.1-.1.2-.1c0 .1 0 .1-.1.2h1c0-.1 0-.1.1-.1h.1c0-.1 0-.1.1-.2.1.1.1.1.1.2 0-.1.1-.1.1 0l.1.1H23s-.1-.1-.1-.2h.1c-.1-.7-.3-1.2-.7-1.8h-.1s-.1-.1 0-.1c0 0-.1.1-.2 0 0-.1 0-.1.1-.2v-.1zm4.2 2.7v.4c0 1-.2 2.1-.6 3-.3.9-.9 1.8-1.5 2.4-.3.3-.7.7-1 .9-.1.1-.4.2-2-.2-.2 0-.3-.1-.6-.1 0-.2 0-.3.1-.4.1-.2.1-.3.2-.4.1 0 .1-.1.2-.1.6-.2 1-.7 1.5-1.2.4-.6.8-1.1 1-1.8.2-.7.3-1.3.3-2h-4.5v5c.3 0 1 .1 1 .1-.1.2-.2.4-.2.8-.6-.1-1-.3-1.6-.6.4-.2.6-.2.8-.2v-4.9h-4.7c0-.2-.1-.6-.2-.7-.2-.3-.3-.4-.3-.9 0-.2-.1-.6-.3-.8-.1-.1-.7-.8-.8-.9.3-.9.9-1.8 1.5-2.4.4-.4.9-.9 1.5-1.2-.2-.2-.6-.4-.6-.9 0-.2.1-.4.2-.6-.3-.9-.8-2-1.2-2.6l.9-.4c-.2.3-.2.8-.2 1 .2-.2.4-.4.6-.7 0 .3.2.8.3 1-.2 0-.4-.1-.8 0 .1.2.6.6 1.1.3.3-.1.7-.2.7-.6 0-.1-.1-.3-.3-.3s-.2.3-.1.4c-.2-.1-.6-.9-.1-1 .3-.1.7.3.8.7 0-.2.2-.7.6-.7.4 0 .3.8.1 1 0-.2-.2-.4-.3-.4s-.2.1-.2.3c0 .2.3.4.8.4.3 0 1.1-.1 1.1-.9-.2 0-.7.2-.8.4V9.4c.2.3.6.6.8.6-.1-.3-.3-.7-.7-.9h1.7c-.3.2-.6.6-.7.9.2 0 .6-.2.8-.4v1.2c-.2-.2-.6-.4-.8-.4.1.8.8.9 1.1.9.4 0 .8-.1.8-.4 0-.2-.1-.3-.2-.3s-.2.1-.3.4c0-.2-.2-1.1.2-1.1.3 0 .4.3.6.8.1-.3.4-.8.8-.7.3.1.1.9-.1 1 .1-.1 0-.4-.1-.4-.2 0-.3.1-.3.3 0 .2.3.4.7.6.6.1 1-.2 1.1-.4-.2-.1-.4-.1-.8.1.1-.2.3-.8.3-1 .1.3.2.6.6.7 0-.2 0-.7-.2-1l.9.4c-.4.4-1 1.6-1.2 2.6.2.1.3.3.3.7 0 .4-.2.7-.6.9.6.3 1 .8 1.5 1.2.3.3.6.8.9 1.2 0 0-.1.1-.1.2-.1.1-.2.2-.2.3-.1.1-.1.2-.1.3 0 .1 0 .2.1.4l1 2c-.6 0-.4.2-.2.3zm-7-5c-.6 0-1.2.1-1.8.4-.6.2-1.1.7-1.5 1.2-.4.6-.8 1.1-1 1.8-.2.7-.3 1.3-.3 2.1h4.6v-5.5zm.1-2.2c1.6 0 2.6.4 3.2.9.3-.2.6-.4.6-.7 0-.9-2.5-1-3.7-1-1.2 0-3.7.1-3.7 1 0 .2.1.4.6.7.5-.4 1.5-.9 3-.9zm4.7 7.7c0-.7-.1-1.4-.3-2.1-.2-.7-.6-1.2-1-1.8-.4-.6-.9-.9-1.5-1.2-.6-.2-1.1-.4-1.7-.4v5.5h4.5zm11 11.1c0-.1-.1-.1-.1-.1-1.5.4-3.2-.8-4.9-1.9-1.5-1-2.8-1.9-4-1.9-.4 0-.8.1-1.1.2-.4.2-.7.6-.9 1.1-.2.4-.4.8-.6 1.1-.2.3-.3.6-.3.8 0 .2.1.4.3.7.1.2.4.3.8.6.1 0 .1.1.2.1.3.1.4.2.4.4-.6.2-1.3.4-2.1.6-.9.1-2 .2-3.1.2s-2.1-.1-3.1-.2c-.9-.1-1.6-.3-2.1-.6 0-.2.2-.3.6-.4.1 0 .1-.1.2-.1.3-.1.6-.3.8-.4.2-.2.3-.3.3-.6s-.1-.6-.3-.8c-.1-.2-.3-.6-.6-1.1-.2-.4-.6-.9-.9-1.1-.3-.2-.7-.2-1.1-.2-1.2 0-2.6.9-4 1.9-1.8 1.1-3.6 2.3-4.9 1.9-.1 0-.1 0-.1.1s0 .1.1.1c.4.2.8.4 1.2.8.6.4 1 .8 1.6.8.6 0 1.1-.1 1.8-.6.6-.3 1.2-.7 1.8-1.1 1.1-.8 2.3-1.6 3.5-1.7l-.3.3c-.3.3-.7.6-.7 1.1 0 .4.1.7.3 1.1.1.1.1.2.2.4s.2.4.2.8c0 .1.1.3.1.4.1.2.2.8 1 1.2 1 .4 2.6.8 4.9.8 2.2 0 3.9-.2 4.9-.8.8-.4 1-.9 1-1.2 0-.2.1-.3.1-.4.1-.3.1-.6.2-.8.1-.2.2-.3.2-.6.2-.3.3-.6.3-.9 0-.6-.3-.8-.7-1.1l-.3-.3c1.1.1 2.3.9 3.5 1.7.6.4 1.2.8 1.8 1.1.7.3 1.2.6 1.8.6.6 0 1-.3 1.6-.8.3-.3.8-.6 1.2-.8-.9-.2-.7-.3-.7-.4zm-14.6-1.4c.4 0 .7.3.7.7 0 .3-.2.6-.3.8-.1-.2-.1-.3-.2-.3-.2 0-.1 1.1-.8 1.1v.2c0 .2-.2.4-.4.4s-.5-.3-.5-.5v-.2c-.7 0-.6-1.1-.8-1.1-.1 0-.2.1-.2.3-.1-.2-.3-.4-.3-.8 0-.3.2-.7.7-.7h.2V29c.7.1 1.2.2 1.8.2v1.2c0 .2 0 .2.1.2zm-1.1 2.6c.1 0 .2-.1.2-.2s-.1-.2-.2-.2-.2.1-.2.2.1.2.2.2zm1.5-1.5c.1-.1.1-.3.1-.4 0-.2-.1-.4-.4-.4-.6 0-.4.8-.7.8-.1 0-.2-.1-.2-.2 0-.2.3-.4.3-.8s-.3-.6-.6-.8c-.3.2-.6.6-.6.8 0 .3.3.6.3.8 0 .1-.1.2-.2.2-.2 0-.1-.8-.7-.8-.3 0-.4.3-.4.4 0 .1 0 .2.1.4l.2-.2c.4 0 .2 1.1.8 1.1.2 0 .3-.1.3-.3 0-.1-.1-.2-.1-.3 0-.1.1-.2.2-.2s.2 0 .2.2c0 .1-.1.2-.1.3s.1.3.3.3c.4 0 .3-1.1.8-1.1.3 0 .3.1.4.2zm.3-4.1c.7.1 1.5.3 1.9.2l-.1.1c-.2.2-.4.3-.7.6-.7.4-1.3.7-1.8.7-.6 0-1.3-.1-2.1-.3-.7-.2-1.3-.4-1.8-.7-.2.2-.6.2-.9.1-.3-.1-.6-.6-.6-.8v-.1l-.7-.7c-.7-.7-1.1-1.6-1.5-2.4-.1-.4-.3-.9-.3-1.3.6.2.8 0 1-.2.1 0 .1.2.1.2.7 0 1-.4 1.1-.8.1.4.1.8.3 1.1.2.7.6 1.2 1 1.8.1.2.3.3.4.4.1 0 .2-.1.3-.1.2 0 .4.1.7.3.2.2.2.4.2.7 1.3.4 2.5.8 3.5 1.2zM17.4 26c.1 0 .1.1.2.1 0-.1-.1-.2-.2-.4-.1-.1-.3-.2-.6-.2-.4 0-.8.4-1 .6-.1 0-.2 0-.3-.1 0 .1.1.2.1.3-.2.3-.3.7-.3.9 0 .1.2.4.4.7.2.1.3.1.6 0-.1-.1-.2-.1-.3-.2-.1 0-.2-.1-.2-.2v-.1c0-.1 0-.2.1-.3v-.3h.1c.1.1.3.1.4.1 0 0 .1 0 .1-.1.1-.1 0-.3-.2-.4l-.1-.4.1-.1c.1-.1.1-.2.2-.2.5.1.6.1.9.3zm.7 1.9c.2 0 .4-.2.4-.4s-.2-.4-.4-.4-.4.2-.4.4c-.1.3.2.4.4.4zm1.9.7c.2 0 .4-.2.4-.4s-.2-.4-.4-.4-.4.2-.4.4c0 .1.2.4.4.4zM20 5c-.2-.2-.4-.4-.4-.8.2 0 .6.2.8.4V3.5c-.3.3-.5.5-.9.5 0-.2.2-.6.4-.8h-1.1c.2.3.4.6.4.8-.2 0-.6-.2-.8-.4v1.1c.2-.2.4-.4.8-.4 0 .3-.2.6-.4.8H20zm-1.6 1.4c.1.4.6.8 1 .8s.9-.3 1-.8h-2zm1.2-.4h.8c-.1-.4-.4-.8-.8-.8V6zm-.4 0v-.8c-.4.1-.8.4-.8.8h.8zm.8 1.5c-.1 0-.2.1-.3.1V9h.3V7.5zm-1.1 1.6h.3V7.7c-.1 0-.2-.1-.3-.1v1.5zm1.2-1.8c0 .2.1.3.3.3s.3-.1.3-.3c0-.2-.1-.3-.3-.3s-.3.1-.3.3zm1-.1c.2 0 .3-.1.3-.3 0-.1-.1-.2-.3-.2s-.3.1-.3.3c0 .1.2.2.3.2zM22 7c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 .2.1.3.3.3zm2.2.8c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 .2.2.3.3.3zm-.5-.6c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.2 0 .3.3.3zm-.9-.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.1.2.3.3.3zm1.8 2.4c-.2 0-.3.1-.3.3 0 .2.1.3.3.3s.3-.1.3-.3c0-.2-.1-.3-.3-.3zm.1-.7c-.2 0-.3.1-.3.3 0 .2.1.3.3.3s.3-.1.3-.3c0-.2-.1-.3-.3-.3zm-.4-.5c0 .2.1.3.3.3s.4-.1.4-.3c0-.2-.1-.3-.3-.3s-.4.1-.4.3zm-5.9-.5c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 0 .2.3.3.3zm-.8-.5c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c.1.2.2.3.3.3zm-.7-.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.2.1.3.3.3zm-2.3.8c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c0 .2.1.3.3.3zm.6-.6c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.2.2.3.3.3zm.9-.2c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.3.1-.3.3c-.1.1.1.3.3.3zm-1.5 2.8c0-.2-.1-.3-.3-.3s-.3 0-.3.3c0 .2.1.3.3.3.1 0 .3-.1.3-.3zm-.2-.8c0-.2-.1-.3-.3-.3-.2 0-.3.1-.3.3 0 .2.1.3.3.3.2 0 .3-.2.3-.3zm-.2-.5c.2 0 .3-.1.3-.3 0-.2-.1-.3-.3-.3s-.4.1-.4.3c0 .1.3.3.4.3zm7.7.3c-.1.1-.4.4-.4.8 0 .2.2.6.3.8.1-.3.4-.4.4-.8 0-.3-.2-.5-.3-.8zm-4.9 0c-.2.3-.3.6-.3.9 0 .3.3.4.4.8.1-.3.3-.6.3-.8 0-.5-.3-.8-.4-.9z\"\n ></path>\n </svg>\n </a>\n\n @if (headerLinks.serviceLink) {\n <a [routerLink]=\"headerLinks.serviceLink\" class=\"moj-header__link moj-header__link--organisation-name\">\n <ng-content select=\"[organisationName]\"></ng-content>\n </a>\n\n <a [routerLink]=\"headerLinks.serviceLink\" class=\"moj-header__link moj-header__link--service-name\">\n <ng-content select=\"[serviceName]\"></ng-content>\n </a>\n } @else {\n <span class=\"moj-header__link--organisation-name\">\n <ng-content select=\"[organisationName]\"></ng-content>\n </span>\n\n <span class=\"moj-header__link--service-name\">\n <ng-content select=\"[serviceName]\"></ng-content>\n </span>\n }\n </div>\n <div class=\"moj-header__content\">\n <nav class=\"moj-header__navigation\" aria-label=\"Account navigation\">\n <!--PO-322\n For accessibility we need to add a role to prevent any accessibility issues\n-->\n <ul class=\"moj-header__navigation-list\" role=\"list\">\n <ng-content></ng-content>\n </ul>\n </nav>\n </div>\n </div>\n</header>\n" }]
221
+ }] });
222
+
223
+ class MojNotificationBadgeComponent {
224
+ badgeId;
225
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojNotificationBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
226
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojNotificationBadgeComponent, isStandalone: true, selector: "opal-lib-moj-notification-badge", inputs: { badgeId: "badgeId" }, ngImport: i0, template: "<span id=\"{{ badgeId }}-notifications\" class=\"moj-notification-badge\"><ng-content></ng-content></span>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
227
+ }
228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojNotificationBadgeComponent, decorators: [{
229
+ type: Component,
230
+ args: [{ selector: 'opal-lib-moj-notification-badge', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span id=\"{{ badgeId }}-notifications\" class=\"moj-notification-badge\"><ng-content></ng-content></span>\n" }]
231
+ }], propDecorators: { badgeId: [{
232
+ type: Input,
233
+ args: [{ required: true }]
234
+ }] } });
235
+
236
+ class MojPageHeaderComponent {
237
+ title;
238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojPageHeaderComponent, isStandalone: true, selector: "opal-lib-moj-page-header", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"moj-page-header-actions\">\n <div class=\"moj-page-header-actions__title\">\n <h1 class=\"govuk-heading-xl\">{{ title }}</h1>\n </div>\n <div class=\"moj-page-header-actions__actions\">\n <div class=\"moj-button-menu\">\n <div class=\"moj-button-menu__wrapper\">\n <ng-content select=\"[buttons]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".moj-page-header-actions__actions{float:right}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
240
+ }
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPageHeaderComponent, decorators: [{
242
+ type: Component,
243
+ args: [{ selector: 'opal-lib-moj-page-header', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"moj-page-header-actions\">\n <div class=\"moj-page-header-actions__title\">\n <h1 class=\"govuk-heading-xl\">{{ title }}</h1>\n </div>\n <div class=\"moj-page-header-actions__actions\">\n <div class=\"moj-button-menu\">\n <div class=\"moj-button-menu__wrapper\">\n <ng-content select=\"[buttons]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".moj-page-header-actions__actions{float:right}\n"] }]
244
+ }], propDecorators: { title: [{
245
+ type: Input,
246
+ args: [{ required: true }]
247
+ }] } });
248
+
249
+ class MojPaginationItemComponent {
250
+ class = 'moj-pagination__item';
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojPaginationItemComponent, isStandalone: true, selector: "opal-lib-moj-pagination-item , [opal-lib-moj-pagination-item]", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
253
+ }
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationItemComponent, decorators: [{
255
+ type: Component,
256
+ args: [{ selector: 'opal-lib-moj-pagination-item , [opal-lib-moj-pagination-item]', imports: [], template: "<ng-content></ng-content>\n" }]
257
+ }], propDecorators: { class: [{
258
+ type: HostBinding,
259
+ args: ['class']
260
+ }] } });
261
+
262
+ class MojPaginationLinkComponent {
263
+ page = 1;
264
+ currentPage = 1;
265
+ totalPages = 1;
266
+ changePage = new EventEmitter();
267
+ /**
268
+ * Checks if the given page number is not the current page.
269
+ *
270
+ * @param page - The page number to check.
271
+ * @returns A boolean indicating whether the given page is not the current page.
272
+ */
273
+ pageIsNotCurrentPage(page) {
274
+ return page !== this.currentPage;
275
+ }
276
+ /**
277
+ * Checks if the given page number is not negative.
278
+ *
279
+ * @param page - The page number to check.
280
+ * @returns `true` if the page number is greater than 0, otherwise `false`.
281
+ */
282
+ pageIsNotNegative(page) {
283
+ return page > 0;
284
+ }
285
+ /**
286
+ * Checks if the given page number is not greater than the total number of pages.
287
+ *
288
+ * @param page - The page number to check.
289
+ * @returns `true` if the page number is less than or equal to the total number of pages, otherwise `false`.
290
+ */
291
+ pageIsNotGreaterThanTotalPages(page) {
292
+ return page <= this.totalPages;
293
+ }
294
+ /**
295
+ * Handles the page change event.
296
+ *
297
+ * @param event - The mouse event that triggered the page change.
298
+ * @param page - The page number to change to.
299
+ *
300
+ * Prevents the default action of the event and checks if the page number is valid.
301
+ * A valid page number is one that is not the current page, is greater than 0,
302
+ * and is less than or equal to the total number of pages.
303
+ * If the page number is valid, emits the changePage event with the new page number.
304
+ */
305
+ changePageEvent(event, page) {
306
+ event.preventDefault();
307
+ if (this.pageIsNotCurrentPage(page) && this.pageIsNotNegative(page) && this.pageIsNotGreaterThanTotalPages(page)) {
308
+ this.changePage.emit(page);
309
+ }
310
+ }
311
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
312
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojPaginationLinkComponent, isStandalone: true, selector: "opal-lib-moj-pagination-link", inputs: { page: "page", currentPage: "currentPage", totalPages: "totalPages", changePage: "changePage" }, ngImport: i0, template: "<a class=\"moj-pagination__link\" href=\"#\" (click)=\"changePageEvent($event, +page)\"> <ng-content></ng-content></a>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
313
+ }
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationLinkComponent, decorators: [{
315
+ type: Component,
316
+ args: [{ selector: 'opal-lib-moj-pagination-link', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a class=\"moj-pagination__link\" href=\"#\" (click)=\"changePageEvent($event, +page)\"> <ng-content></ng-content></a>\n" }]
317
+ }], propDecorators: { page: [{
318
+ type: Input,
319
+ args: [{ required: true }]
320
+ }], currentPage: [{
321
+ type: Input,
322
+ args: [{ required: true }]
323
+ }], totalPages: [{
324
+ type: Input,
325
+ args: [{ required: true }]
326
+ }], changePage: [{
327
+ type: Input
328
+ }] } });
329
+
330
+ class MojPaginationListComponent {
331
+ class = 'moj-pagination__list';
332
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
333
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojPaginationListComponent, isStandalone: true, selector: "opal-lib-moj-pagination-list , [opal-lib-moj-pagination-list]", host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<ng-content></ng-content>\n" });
334
+ }
335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationListComponent, decorators: [{
336
+ type: Component,
337
+ args: [{ selector: 'opal-lib-moj-pagination-list , [opal-lib-moj-pagination-list]', imports: [], template: "<ng-content></ng-content>\n" }]
338
+ }], propDecorators: { class: [{
339
+ type: HostBinding,
340
+ args: ['class']
341
+ }] } });
342
+
343
+ class MojPaginationComponent {
344
+ currentPage = 1;
345
+ total = 0;
346
+ maxPagesToShow = 5;
347
+ limit = 100;
348
+ ariaLabel = 'Pagination navigation';
349
+ changePage = new EventEmitter();
350
+ pages = signal([]);
351
+ totalPages = signal(0);
352
+ startItem = signal(0);
353
+ endItem = signal(0);
354
+ totalItems = signal(0);
355
+ /**
356
+ * Updates the pagination signals based on the current state.
357
+ *
358
+ * This method recalculates and sets the following signals:
359
+ * - `totalPages`: The total number of pages based on the total items and items per page limit.
360
+ * - `startItem`: The index of the first item on the current page.
361
+ * - `endItem`: The index of the last item on the current page.
362
+ * - `pages`: The array of page numbers to be displayed.
363
+ * - `totalItems`: The total number of items.
364
+ *
365
+ * @private
366
+ */
367
+ setSignals() {
368
+ this.totalPages.set(this.getTotalPages(this.total, this.limit));
369
+ this.startItem.set(this.getStartItem(this.currentPage, this.limit));
370
+ this.endItem.set(this.getEndItem(this.currentPage, this.limit, this.total));
371
+ this.setPages();
372
+ this.setTotalItems();
373
+ }
374
+ /**
375
+ * Calculates the total number of pages based on the total number of items and the limit of items per page.
376
+ *
377
+ * @param total - The total number of items.
378
+ * @param limit - The number of items per page.
379
+ * @returns The total number of pages.
380
+ */
381
+ getTotalPages(total, limit) {
382
+ return Math.ceil(total / limit);
383
+ }
384
+ /**
385
+ * Sets the pagination pages based on the current page and total pages.
386
+ * This method updates the `pages` property with the result of the `getPages` method.
387
+ *
388
+ * @private
389
+ */
390
+ setPages() {
391
+ this.pages.set(this.getPages(this.currentPage, this.totalPages()));
392
+ }
393
+ /**
394
+ * Calculates the starting item index for pagination.
395
+ *
396
+ * @param currentPage - The current page number.
397
+ * @param limit - The number of items per page.
398
+ * @returns The starting item index for the given page.
399
+ */
400
+ getStartItem(currentPage, limit) {
401
+ return (currentPage - 1) * limit + 1;
402
+ }
403
+ /**
404
+ * Calculates the end item index for pagination.
405
+ *
406
+ * @param currentPage - The current page number.
407
+ * @param limit - The number of items per page.
408
+ * @param total - The total number of items.
409
+ * @returns The index of the last item on the current page, or the total number of items if the end of the list is reached.
410
+ */
411
+ getEndItem(currentPage, limit, total) {
412
+ return Math.min(currentPage * limit, total);
413
+ }
414
+ /**
415
+ * Updates the total number of items by setting the value of `totalItems` to the current `total`.
416
+ *
417
+ * @private
418
+ */
419
+ setTotalItems() {
420
+ this.totalItems.set(this.total);
421
+ }
422
+ /**
423
+ * Generates an array of page numbers and ellipses for pagination display.
424
+ *
425
+ * @param currentPage - The current active page number.
426
+ * @param totalPages - The total number of pages available.
427
+ * @returns An array of page numbers and ellipses representing the pagination.
428
+ *
429
+ * The function ensures that the pagination display shows a maximum of 5 pages at a time.
430
+ * It calculates the range of pages to display based on the current page and total pages.
431
+ * If the start page is greater than 1, it adds an ellipsis and the first page at the beginning.
432
+ * If the end page is less than the total pages, it adds an ellipsis and the last page at the end.
433
+ */
434
+ getPages(currentPage, totalPages) {
435
+ const halfPagesToShow = Math.floor(this.maxPagesToShow / 2);
436
+ const eclipses = '...';
437
+ const startPage = this.calculateStartPage(currentPage, totalPages, halfPagesToShow);
438
+ const endPage = this.calculateEndPage(currentPage, totalPages, halfPagesToShow);
439
+ const pages = this.generatePageNumbers(startPage, endPage);
440
+ if (startPage > 1) {
441
+ pages.unshift(eclipses);
442
+ pages.unshift(1);
443
+ }
444
+ if (endPage < totalPages) {
445
+ pages.push(eclipses);
446
+ pages.push(totalPages);
447
+ }
448
+ return pages;
449
+ }
450
+ /**
451
+ * Calculates the start page for pagination based on the current page, total pages, and the number of pages to show on either side of the current page.
452
+ *
453
+ * @param currentPage - The current active page number.
454
+ * @param totalPages - The total number of pages available.
455
+ * @param halfPagesToShow - The number of pages to show on either side of the current page.
456
+ * @returns The start page number for pagination.
457
+ */
458
+ calculateStartPage(currentPage, totalPages, halfPagesToShow) {
459
+ let startPage = Math.max(1, currentPage - halfPagesToShow);
460
+ if (currentPage - halfPagesToShow <= 0) {
461
+ startPage = 1;
462
+ }
463
+ else if (currentPage + halfPagesToShow > totalPages) {
464
+ startPage = Math.max(1, startPage - (currentPage + halfPagesToShow - totalPages));
465
+ }
466
+ return startPage;
467
+ }
468
+ /**
469
+ * Calculates the end page number for pagination based on the current page, total pages, and the number of pages to show.
470
+ *
471
+ * @param currentPage - The current page number.
472
+ * @param totalPages - The total number of pages.
473
+ * @param halfPagesToShow - Half the number of pages to show around the current page.
474
+ * @returns The calculated end page number.
475
+ */
476
+ calculateEndPage(currentPage, totalPages, halfPagesToShow) {
477
+ let endPage = Math.min(totalPages, currentPage + halfPagesToShow);
478
+ if (currentPage - halfPagesToShow <= 0) {
479
+ endPage = Math.min(totalPages, endPage + (halfPagesToShow - currentPage + 1));
480
+ }
481
+ else if (currentPage + halfPagesToShow > totalPages) {
482
+ endPage = totalPages;
483
+ }
484
+ return endPage;
485
+ }
486
+ /**
487
+ * Generates an array of page numbers from the startPage to the endPage.
488
+ *
489
+ * @param startPage - The starting page number.
490
+ * @param endPage - The ending page number.
491
+ * @returns An array of page numbers from startPage to endPage.
492
+ */
493
+ generatePageNumbers(startPage, endPage) {
494
+ const pages = [];
495
+ for (let i = startPage; i <= endPage; i++) {
496
+ pages.push(i);
497
+ }
498
+ return pages;
499
+ }
500
+ ngOnChanges() {
501
+ this.setSignals();
502
+ }
503
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
504
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: MojPaginationComponent, isStandalone: true, selector: "opal-lib-moj-pagination,", inputs: { currentPage: "currentPage", total: "total", maxPagesToShow: "maxPagesToShow", limit: "limit", ariaLabel: "ariaLabel" }, outputs: { changePage: "changePage" }, usesOnChanges: true, ngImport: i0, template: "<nav class=\"moj-pagination moj-pagination-alignment\" [attr.aria-label]=\"ariaLabel\">\n <ul opal-lib-moj-pagination-list>\n <li opal-lib-moj-pagination-item class=\"moj-pagination__item moj-pagination__item--prev\">\n @if (currentPage > 1) {\n <opal-lib-moj-pagination-link\n [changePage]=\"changePage\"\n [page]=\"currentPage - 1\"\n [currentPage]=\"currentPage\"\n [totalPages]=\"totalPages()\"\n >Previous<span class=\"govuk-visually-hidden\"> page </span></opal-lib-moj-pagination-link\n >\n }\n </li>\n @for (page of pages(); track page) {\n <li\n opal-lib-moj-pagination-item\n [class.moj-pagination__item--active]=\"page === currentPage\"\n [class.moj-pagination__item--dot]=\"page === '...'\"\n >\n @if (page !== currentPage && page !== '...') {\n <opal-lib-moj-pagination-link\n [changePage]=\"changePage\"\n [page]=\"+page\"\n [currentPage]=\"currentPage\"\n [totalPages]=\"totalPages()\"\n >\n {{ page }}\n </opal-lib-moj-pagination-link>\n } @else if (page === '...') {\n <strong>...</strong>\n } @else {\n {{ page }}\n }\n </li>\n }\n\n <li opal-lib-moj-pagination-item class=\"moj-pagination__item moj-pagination__item--next\">\n @if (currentPage < totalPages()) {\n <opal-lib-moj-pagination-link\n [changePage]=\"changePage\"\n [page]=\"currentPage + 1\"\n [currentPage]=\"currentPage\"\n [totalPages]=\"totalPages()\"\n >Next<span class=\"govuk-visually-hidden\"> page</span></opal-lib-moj-pagination-link\n >\n }\n </li>\n </ul>\n <p class=\"moj-pagination__results\">\n Showing <b>{{ startItem() - 1 }}</b> to <b>{{ endItem() }}</b> of <b>{{ totalItems() }}</b> results\n </p>\n</nav>\n", styles: [".moj-pagination-alignment{width:100%;display:grid;grid-template-columns:.5fr .5fr}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: MojPaginationItemComponent, selector: "opal-lib-moj-pagination-item , [opal-lib-moj-pagination-item]" }, { kind: "component", type: MojPaginationListComponent, selector: "opal-lib-moj-pagination-list , [opal-lib-moj-pagination-list]" }, { kind: "component", type: MojPaginationLinkComponent, selector: "opal-lib-moj-pagination-link", inputs: ["page", "currentPage", "totalPages", "changePage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
505
+ }
506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPaginationComponent, decorators: [{
507
+ type: Component,
508
+ args: [{ selector: 'opal-lib-moj-pagination,', imports: [CommonModule, MojPaginationItemComponent, MojPaginationListComponent, MojPaginationLinkComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"moj-pagination moj-pagination-alignment\" [attr.aria-label]=\"ariaLabel\">\n <ul opal-lib-moj-pagination-list>\n <li opal-lib-moj-pagination-item class=\"moj-pagination__item moj-pagination__item--prev\">\n @if (currentPage > 1) {\n <opal-lib-moj-pagination-link\n [changePage]=\"changePage\"\n [page]=\"currentPage - 1\"\n [currentPage]=\"currentPage\"\n [totalPages]=\"totalPages()\"\n >Previous<span class=\"govuk-visually-hidden\"> page </span></opal-lib-moj-pagination-link\n >\n }\n </li>\n @for (page of pages(); track page) {\n <li\n opal-lib-moj-pagination-item\n [class.moj-pagination__item--active]=\"page === currentPage\"\n [class.moj-pagination__item--dot]=\"page === '...'\"\n >\n @if (page !== currentPage && page !== '...') {\n <opal-lib-moj-pagination-link\n [changePage]=\"changePage\"\n [page]=\"+page\"\n [currentPage]=\"currentPage\"\n [totalPages]=\"totalPages()\"\n >\n {{ page }}\n </opal-lib-moj-pagination-link>\n } @else if (page === '...') {\n <strong>...</strong>\n } @else {\n {{ page }}\n }\n </li>\n }\n\n <li opal-lib-moj-pagination-item class=\"moj-pagination__item moj-pagination__item--next\">\n @if (currentPage < totalPages()) {\n <opal-lib-moj-pagination-link\n [changePage]=\"changePage\"\n [page]=\"currentPage + 1\"\n [currentPage]=\"currentPage\"\n [totalPages]=\"totalPages()\"\n >Next<span class=\"govuk-visually-hidden\"> page</span></opal-lib-moj-pagination-link\n >\n }\n </li>\n </ul>\n <p class=\"moj-pagination__results\">\n Showing <b>{{ startItem() - 1 }}</b> to <b>{{ endItem() }}</b> of <b>{{ totalItems() }}</b> results\n </p>\n</nav>\n", styles: [".moj-pagination-alignment{width:100%;display:grid;grid-template-columns:.5fr .5fr}\n"] }]
509
+ }], propDecorators: { currentPage: [{
510
+ type: Input
511
+ }], total: [{
512
+ type: Input
513
+ }], maxPagesToShow: [{
514
+ type: Input
515
+ }], limit: [{
516
+ type: Input
517
+ }], ariaLabel: [{
518
+ type: Input
519
+ }], changePage: [{
520
+ type: Output
521
+ }] } });
522
+
523
+ class MojPrimaryNavigationItemComponent {
524
+ router = inject(Router);
525
+ route = inject(ActivatedRoute);
526
+ primaryNavigationItemId;
527
+ primaryNavigationItemFragment;
528
+ primaryNavigationItemText;
529
+ activeItemFragment;
530
+ isLastItem = false;
531
+ /**
532
+ * Handles the click event of a sub-navigation item.
533
+ * @param event - The click event.
534
+ * @param item - The item string.
535
+ */
536
+ handleItemClick(event, item) {
537
+ event.preventDefault();
538
+ // Basically we want to mimic the behaviour of the GDS tabs component, as this is how these will be used.
539
+ this.router.navigate(['./'], { relativeTo: this.route, fragment: item });
540
+ }
541
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPrimaryNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
542
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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" }, ngImport: i0, template: "<li class=\"moj-primary-navigation__item\" [class.last-item]=\"isLastItem\" [id]=\"primaryNavigationItemId\">\n <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 (keyup.enter)=\"handleItemClick($event, primaryNavigationItemFragment)\"\n >{{ primaryNavigationItemText }}</a\n >\n</li>\n", styles: [".moj-primary-navigation__item.last-item{margin-right:initial!important}.moj-primary-navigation__item{margin-right:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
543
+ }
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPrimaryNavigationItemComponent, decorators: [{
545
+ type: Component,
546
+ args: [{ selector: 'opal-lib-moj-primary-navigation-item, [opal-lib-moj-primary-navigation-item]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<li class=\"moj-primary-navigation__item\" [class.last-item]=\"isLastItem\" [id]=\"primaryNavigationItemId\">\n <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 (keyup.enter)=\"handleItemClick($event, primaryNavigationItemFragment)\"\n >{{ primaryNavigationItemText }}</a\n >\n</li>\n", styles: [".moj-primary-navigation__item.last-item{margin-right:initial!important}.moj-primary-navigation__item{margin-right:20px}\n"] }]
547
+ }], propDecorators: { primaryNavigationItemId: [{
548
+ type: Input,
549
+ args: [{ required: true }]
550
+ }], primaryNavigationItemFragment: [{
551
+ type: Input,
552
+ args: [{ required: true }]
553
+ }], primaryNavigationItemText: [{
554
+ type: Input,
555
+ args: [{ required: true }]
556
+ }], activeItemFragment: [{
557
+ type: Input,
558
+ args: [{ required: true }]
559
+ }], isLastItem: [{
560
+ type: Input,
561
+ args: [{ required: false }]
562
+ }] } });
563
+
564
+ class MojPrimaryNavigationComponent {
565
+ router = inject(Router);
566
+ route = inject(ActivatedRoute);
567
+ ngUnsubscribe = new Subject();
568
+ primaryNavigationId;
569
+ activeItemFragment = new EventEmitter();
570
+ /**
571
+ * Sets up the listeners for the route fragment changes.
572
+ * Emits the active navigation item when a fragment is present in the route.
573
+ */
574
+ setupListeners() {
575
+ // Basically we want to mimic the behaviour of the GDS tabs component, as this is how these will be used.
576
+ this.route.fragment.pipe(takeUntil(this.ngUnsubscribe)).subscribe((fragment) => {
577
+ if (fragment) {
578
+ this.activeItemFragment.emit(fragment);
579
+ }
580
+ });
581
+ }
582
+ /**
583
+ * Initializes the component.
584
+ * This method is called after the component has been created and initialized.
585
+ */
586
+ ngOnInit() {
587
+ this.setupListeners();
588
+ }
589
+ /**
590
+ * Lifecycle hook that is called when the component is about to be destroyed.
591
+ * Unsubscribes from the route fragment subscription.
592
+ */
593
+ ngOnDestroy() {
594
+ this.ngUnsubscribe.next();
595
+ this.ngUnsubscribe.complete();
596
+ }
597
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPrimaryNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
598
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: MojPrimaryNavigationComponent, isStandalone: true, selector: "opal-lib-moj-primary-navigation", inputs: { primaryNavigationId: "primaryNavigationId" }, outputs: { activeItemFragment: "activeItemFragment" }, 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 });
599
+ }
600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojPrimaryNavigationComponent, decorators: [{
601
+ type: Component,
602
+ args: [{ selector: 'opal-lib-moj-primary-navigation', imports: [], 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" }]
603
+ }], propDecorators: { primaryNavigationId: [{
604
+ type: Input,
605
+ args: [{ required: true }]
606
+ }], activeItemFragment: [{
607
+ type: Output
608
+ }] } });
609
+
610
+ class MojSortableTableHeaderComponent {
611
+ columnKey;
612
+ sortDirection = 'none';
613
+ dataIndex = 0;
614
+ sortChange = new EventEmitter();
615
+ get ariaSort() {
616
+ return this.sortDirection;
617
+ }
618
+ hostScope = 'col';
619
+ get hostClass() {
620
+ return 'govuk-table__header';
621
+ }
622
+ /**
623
+ * Toggles the sort direction between 'ascending' and 'descending' for the table column.
624
+ * Emits a sortChange event with the column key and the new sort direction.
625
+ *
626
+ * @public
627
+ * @returns {void}
628
+ */
629
+ toggleSort() {
630
+ const newDirection = this.sortDirection === 'ascending' ? 'descending' : 'ascending';
631
+ this.sortChange.emit({
632
+ key: this.columnKey,
633
+ sortType: newDirection,
634
+ });
635
+ }
636
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
637
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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", "scope": "this.hostScope", "class": "this.hostClass" } }, ngImport: i0, template: "<button [attr.data-index]=\"dataIndex\" (click)=\"toggleSort()\" type=\"button\">\n <ng-content></ng-content>\n</button>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
638
+ }
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableHeaderComponent, decorators: [{
640
+ type: Component,
641
+ args: [{ selector: 'opal-lib-moj-sortable-table-header, [opal-lib-moj-sortable-table-header]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button [attr.data-index]=\"dataIndex\" (click)=\"toggleSort()\" type=\"button\">\n <ng-content></ng-content>\n</button>\n" }]
642
+ }], propDecorators: { columnKey: [{
643
+ type: Input
644
+ }], sortDirection: [{
645
+ type: Input
646
+ }], dataIndex: [{
647
+ type: Input
648
+ }], sortChange: [{
649
+ type: Output
650
+ }], ariaSort: [{
651
+ type: HostBinding,
652
+ args: ['attr.aria-sort']
653
+ }], hostScope: [{
654
+ type: HostBinding,
655
+ args: ['scope']
656
+ }], hostClass: [{
657
+ type: HostBinding,
658
+ args: ['class']
659
+ }] } });
660
+
661
+ class MojSortableTableRowDataComponent {
662
+ id;
663
+ hostClass = 'govuk-table__cell';
664
+ get hostId() {
665
+ return this.id;
666
+ }
667
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableRowDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
668
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 });
669
+ }
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableRowDataComponent, decorators: [{
671
+ type: Component,
672
+ 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" }]
673
+ }], propDecorators: { id: [{
674
+ type: Input,
675
+ args: [{ required: true }]
676
+ }], hostClass: [{
677
+ type: HostBinding,
678
+ args: ['class']
679
+ }], hostId: [{
680
+ type: HostBinding,
681
+ args: ['id']
682
+ }] } });
683
+
684
+ class MojSortableTableRowComponent {
685
+ bodyRowClasses = '';
686
+ get hostClass() {
687
+ return `govuk-table__row ${this.bodyRowClasses}`;
688
+ }
689
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
690
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 });
691
+ }
692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableRowComponent, decorators: [{
693
+ type: Component,
694
+ args: [{ selector: 'opal-lib-moj-sortable-table-row,[opal-lib-moj-sortable-table-row]', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
695
+ }], propDecorators: { bodyRowClasses: [{
696
+ type: Input,
697
+ args: [{ required: false }]
698
+ }], hostClass: [{
699
+ type: HostBinding,
700
+ args: ['class']
701
+ }] } });
702
+
703
+ class MojSortableTableStatusComponent {
704
+ columnTitle;
705
+ sortDirection;
706
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
707
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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" });
708
+ }
709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableStatusComponent, decorators: [{
710
+ type: Component,
711
+ 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" }]
712
+ }], propDecorators: { columnTitle: [{
713
+ type: Input,
714
+ args: [{ required: false }]
715
+ }], sortDirection: [{
716
+ type: Input,
717
+ args: [{ required: false }]
718
+ }] } });
719
+
720
+ class MojSortableTableComponent {
721
+ tableClasses;
722
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
723
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 <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 });
724
+ }
725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSortableTableComponent, decorators: [{
726
+ type: Component,
727
+ args: [{ selector: 'opal-lib-moj-sortable-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"govuk-table {{ tableClasses }}\" data-module=\"moj-sortable-table\">\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" }]
728
+ }], propDecorators: { tableClasses: [{
729
+ type: Input,
730
+ args: [{ required: false }]
731
+ }] } });
732
+
733
+ class MojSubNavigationItemComponent {
734
+ router = inject(Router);
735
+ route = inject(ActivatedRoute);
736
+ subNavItemId;
737
+ subNavItemFragment;
738
+ subNavItemText;
739
+ activeSubNavItemFragment;
740
+ count;
741
+ /**
742
+ * Handles the click event of a sub-navigation item.
743
+ * @param event - The click event.
744
+ * @param item - The item string.
745
+ */
746
+ handleItemClick(event, item) {
747
+ event.preventDefault();
748
+ // Basically we want to mimic the behaviour of the GDS tabs component, as this is how these will be used.
749
+ this.router.navigate(['./'], { relativeTo: this.route, fragment: item });
750
+ }
751
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSubNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
752
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.5", type: MojSubNavigationItemComponent, isStandalone: true, selector: "opal-lib-moj-sub-navigation-item", inputs: { subNavItemId: "subNavItemId", subNavItemFragment: "subNavItemFragment", subNavItemText: "subNavItemText", activeSubNavItemFragment: "activeSubNavItemFragment", count: "count" }, ngImport: i0, template: "<li class=\"moj-sub-navigation__item\" [id]=\"subNavItemId\">\n <a\n class=\"moj-sub-navigation__link cursor-pointer\"\n [attr.aria-current]=\"subNavItemFragment === activeSubNavItemFragment ? 'page' : ''\"\n (click)=\"handleItemClick($event, subNavItemFragment)\"\n (keyup.enter)=\"handleItemClick($event, subNavItemFragment)\"\n role=\"link\"\n tabindex=\"0\"\n >\n @if (count) {\n {{ subNavItemText }}\n <opal-lib-moj-notification-badge [badgeId]=\"subNavItemId\">{{ count }}</opal-lib-moj-notification-badge>\n } @else {\n {{ subNavItemText }}\n }\n </a>\n</li>\n", dependencies: [{ kind: "component", type: MojNotificationBadgeComponent, selector: "opal-lib-moj-notification-badge", inputs: ["badgeId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
753
+ }
754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSubNavigationItemComponent, decorators: [{
755
+ type: Component,
756
+ args: [{ selector: 'opal-lib-moj-sub-navigation-item', imports: [MojNotificationBadgeComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<li class=\"moj-sub-navigation__item\" [id]=\"subNavItemId\">\n <a\n class=\"moj-sub-navigation__link cursor-pointer\"\n [attr.aria-current]=\"subNavItemFragment === activeSubNavItemFragment ? 'page' : ''\"\n (click)=\"handleItemClick($event, subNavItemFragment)\"\n (keyup.enter)=\"handleItemClick($event, subNavItemFragment)\"\n role=\"link\"\n tabindex=\"0\"\n >\n @if (count) {\n {{ subNavItemText }}\n <opal-lib-moj-notification-badge [badgeId]=\"subNavItemId\">{{ count }}</opal-lib-moj-notification-badge>\n } @else {\n {{ subNavItemText }}\n }\n </a>\n</li>\n" }]
757
+ }], propDecorators: { subNavItemId: [{
758
+ type: Input,
759
+ args: [{ required: true }]
760
+ }], subNavItemFragment: [{
761
+ type: Input,
762
+ args: [{ required: true }]
763
+ }], subNavItemText: [{
764
+ type: Input,
765
+ args: [{ required: true }]
766
+ }], activeSubNavItemFragment: [{
767
+ type: Input,
768
+ args: [{ required: true }]
769
+ }], count: [{
770
+ type: Input,
771
+ args: [{ required: false }]
772
+ }] } });
773
+
774
+ class MojSubNavigationComponent {
775
+ route = inject(ActivatedRoute);
776
+ ngUnsubscribe = new Subject();
777
+ subNavId;
778
+ activeSubNavItemFragment = new EventEmitter();
779
+ /**
780
+ * Sets up the listeners for the route fragment changes.
781
+ * Emits the active navigation item when a fragment is present in the route.
782
+ */
783
+ setupListeners() {
784
+ // Basically we want to mimic the behaviour of the GDS tabs component, as this is how these will be used.
785
+ this.route.fragment.pipe(takeUntil(this.ngUnsubscribe)).subscribe((fragment) => {
786
+ if (fragment) {
787
+ this.activeSubNavItemFragment.emit(fragment);
788
+ }
789
+ });
790
+ }
791
+ ngOnInit() {
792
+ this.setupListeners();
793
+ }
794
+ /**
795
+ * Lifecycle hook that is called when the component is about to be destroyed.
796
+ * Unsubscribes from the route fragment subscription.
797
+ */
798
+ ngOnDestroy() {
799
+ this.ngUnsubscribe.next();
800
+ this.ngUnsubscribe.complete();
801
+ }
802
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSubNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
803
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 });
804
+ }
805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojSubNavigationComponent, decorators: [{
806
+ type: Component,
807
+ 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" }]
808
+ }], propDecorators: { subNavId: [{
809
+ type: Input,
810
+ args: [{ required: true }]
811
+ }], activeSubNavItemFragment: [{
812
+ type: Output
813
+ }] } });
814
+
815
+ class MojTicketPanelComponent {
816
+ componentClasses;
817
+ sectionClasses;
818
+ alert;
819
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojTicketPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
820
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 });
821
+ }
822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojTicketPanelComponent, decorators: [{
823
+ type: Component,
824
+ 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" }]
825
+ }], propDecorators: { componentClasses: [{
826
+ type: Input,
827
+ args: [{ required: false }]
828
+ }], sectionClasses: [{
829
+ type: Input,
830
+ args: [{ required: false }]
831
+ }], alert: [{
832
+ type: Input,
833
+ args: [{ required: false }]
834
+ }] } });
835
+
836
+ class MojTimelineItemComponent {
837
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojTimelineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
838
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 });
839
+ }
840
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojTimelineItemComponent, decorators: [{
841
+ type: Component,
842
+ 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" }]
843
+ }] });
844
+
845
+ class MojTimelineComponent {
846
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
847
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", 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 });
848
+ }
849
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: MojTimelineComponent, decorators: [{
850
+ type: Component,
851
+ args: [{ selector: 'opal-lib-moj-timeline', imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"moj-timeline\"><ng-content></ng-content></div>\n" }]
852
+ }] });
853
+
854
+ // COMPONENTS
855
+
856
+ /**
857
+ * Generated bundle index. Do not edit.
858
+ */
859
+
860
+ export { MOJ_HEADER_LINKS, MojBadgeComponent, MojBannerComponent, MojButtonMenuComponent, MojButtonMenuItemComponent, MojDatePickerComponent, MojHeaderComponent, MojHeaderNavigationItemComponent, MojNotificationBadgeComponent, MojPageHeaderComponent, MojPaginationComponent, MojPaginationItemComponent, MojPaginationLinkComponent, MojPaginationListComponent, MojPrimaryNavigationComponent, MojPrimaryNavigationItemComponent, MojSortableTableComponent, MojSortableTableHeaderComponent, MojSortableTableRowComponent, MojSortableTableRowDataComponent, MojSortableTableStatusComponent, MojSubNavigationComponent, MojSubNavigationItemComponent, MojTicketPanelComponent, MojTimelineComponent, MojTimelineItemComponent };
861
+ //# sourceMappingURL=hmcts-opal-frontend-common-components-moj.mjs.map