@hmcts/rpx-xui-common-lib 2.1.7-angular-upgrade-11 → 2.1.7-javascript-void

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 (361) hide show
  1. package/README.md +1 -1
  2. package/esm2022/hmcts-rpx-xui-common-lib.mjs +5 -0
  3. package/esm2022/lib/components/accessibility/accessibility.component.mjs +833 -0
  4. package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
  5. package/esm2022/lib/components/contact-details/contact-details.component.mjs +123 -0
  6. package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
  7. package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
  8. package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
  9. package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
  10. package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
  11. package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
  12. package/esm2022/lib/components/find-task-name/find-task-name.component.mjs +200 -0
  13. package/esm2022/lib/components/generic-filter/generic-filter-utils.mjs +21 -0
  14. package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1224 -0
  15. package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
  16. package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
  17. package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
  18. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
  19. package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
  20. package/esm2022/lib/components/public_api.mjs +39 -0
  21. package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
  22. package/esm2022/lib/components/search-location/search-location.component.mjs +240 -0
  23. package/esm2022/lib/components/search-service/search-service.component.mjs +94 -0
  24. package/esm2022/lib/components/search-venue/search-venue.component.mjs +188 -0
  25. package/esm2022/lib/components/selected-case/selected-case.component.mjs +381 -0
  26. package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
  27. package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
  28. package/esm2022/lib/components/service-message/service-message.component.mjs +62 -0
  29. package/esm2022/lib/components/service-messages/service-messages.component.mjs +167 -0
  30. package/esm2022/lib/components/share-case/share-case.component.mjs +427 -0
  31. package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
  32. package/esm2022/lib/components/tab/tab.component.mjs +40 -0
  33. package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
  34. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
  35. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
  36. package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
  37. package/esm2022/lib/components/user-details/user-details.component.mjs +276 -0
  38. package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
  39. package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
  40. package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
  41. package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
  42. package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
  43. package/esm2022/lib/directives/let/let.directive.mjs +29 -0
  44. package/esm2022/lib/exui-common-lib.module.mjs +313 -0
  45. package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
  46. package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
  47. package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +127 -0
  48. package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
  49. package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
  50. package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
  51. package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
  52. package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
  53. package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
  54. package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
  55. package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
  56. package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
  57. package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
  58. package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
  59. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +2 -0
  60. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
  61. package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
  62. package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
  63. package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
  64. package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
  65. package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
  66. package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
  67. package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
  68. package/esm2022/lib/gov-ui/gov-ui.service.mjs +14 -0
  69. package/esm2022/lib/gov-ui/models/checkboxes-model.mjs +2 -0
  70. package/{esm2015/lib/gov-ui/models/gov-ui-config-model.js → esm2022/lib/gov-ui/models/gov-ui-config-model.mjs} +1 -1
  71. package/{esm2015/lib/gov-ui/models/public_api.js → esm2022/lib/gov-ui/models/public_api.mjs} +1 -2
  72. package/esm2022/lib/gov-ui/models/radio-buttons.model.mjs +2 -0
  73. package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
  74. package/{esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js → esm2022/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs} +1 -1
  75. package/{esm2015/lib/gov-ui/validators/date.validator.js → esm2022/lib/gov-ui/validators/date.validator.mjs} +1 -1
  76. package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
  77. package/esm2022/lib/models/address-message.enum.mjs +11 -0
  78. package/esm2022/lib/models/address-option.model.mjs +21 -0
  79. package/esm2022/lib/models/address.model.mjs +4 -0
  80. package/{esm2015/lib/models/contact-details.model.js → esm2022/lib/models/contact-details.model.mjs} +1 -1
  81. package/esm2022/lib/models/feature-user.mjs +5 -0
  82. package/esm2022/lib/models/filter.model.mjs +3 -0
  83. package/esm2022/lib/models/index.mjs +19 -0
  84. package/esm2022/lib/models/location.model.mjs +7 -0
  85. package/esm2022/lib/models/person.model.mjs +21 -0
  86. package/{esm2015/lib/models/public_api.js → esm2022/lib/models/public_api.mjs} +2 -1
  87. package/{esm2015/lib/models/search-options.model.js → esm2022/lib/models/search-options.model.mjs} +1 -1
  88. package/esm2022/lib/models/service-message.model.mjs +2 -0
  89. package/esm2022/lib/models/task-name.model.mjs +2 -0
  90. package/esm2022/lib/models/user-access-type.model.mjs +2 -0
  91. package/esm2022/lib/models/user-details.model.mjs +2 -0
  92. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +15 -0
  93. package/esm2022/lib/pipes/index.mjs +2 -0
  94. package/esm2022/lib/services/address/address-parser.mjs +76 -0
  95. package/esm2022/lib/services/address/address-type.enum.mjs +7 -0
  96. package/esm2022/lib/services/address/address.service.mjs +55 -0
  97. package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
  98. package/esm2022/lib/services/cookie/cookie.service.mjs +48 -0
  99. package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +37 -0
  100. package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +33 -0
  101. package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +70 -0
  102. package/esm2022/lib/services/filter/filter.service.mjs +95 -0
  103. package/esm2022/lib/services/find-person/find-person.service.mjs +92 -0
  104. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +73 -0
  105. package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +85 -0
  106. package/{esm2015/lib/services/loading/loading.service.js → esm2022/lib/services/loading/loading.service.mjs} +8 -6
  107. package/esm2022/lib/services/locations/location.service.mjs +38 -0
  108. package/{esm2015/lib/services/manage-session/manage-session.services.js → esm2022/lib/services/manage-session/manage-session.services.mjs} +8 -10
  109. package/esm2022/lib/services/public-api.mjs +18 -0
  110. package/esm2022/lib/services/ref-data/index.mjs +4 -0
  111. package/esm2022/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +2 -0
  112. package/esm2022/lib/services/ref-data/models/ref-data-region.model.mjs +2 -0
  113. package/esm2022/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +2 -0
  114. package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
  115. package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
  116. package/esm2022/lib/services/role-guard/role.guard.mjs +43 -0
  117. package/esm2022/lib/services/role-guard/role.service.mjs +22 -0
  118. package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
  119. package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
  120. package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +103 -0
  121. package/{esm2015/public-api.js → esm2022/public-api.mjs} +2 -1
  122. package/fesm2022/hmcts-rpx-xui-common-lib.mjs +10386 -0
  123. package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
  124. package/index.d.ts +5 -0
  125. package/lib/components/accessibility/accessibility.component.d.ts +7 -1
  126. package/lib/components/checkbox-list/checkbox-list.component.d.ts +8 -2
  127. package/lib/components/contact-details/contact-details.component.d.ts +3 -0
  128. package/lib/components/cookie-banner/cookie-banner.component.d.ts +5 -1
  129. package/lib/components/due-date/due-date.component.d.ts +8 -2
  130. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +3 -0
  131. package/lib/components/find-location/find-location.component.d.ts +12 -6
  132. package/lib/components/find-person/find-person.component.d.ts +5 -2
  133. package/lib/components/find-service/find-service.component.d.ts +24 -9
  134. package/lib/components/find-task-name/find-task-name.component.d.ts +44 -0
  135. package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
  136. package/lib/components/generic-filter/generic-filter.component.d.ts +25 -6
  137. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +3 -0
  138. package/lib/components/invite-user-form/invite-user-form.component.d.ts +3 -0
  139. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +3 -0
  140. package/lib/components/loading-spinner/loading-spinner.component.d.ts +8 -1
  141. package/lib/components/pagination/pagination.component.d.ts +3 -0
  142. package/lib/components/public_api.d.ts +6 -0
  143. package/lib/components/search-judicials/search-judicials.component.d.ts +3 -0
  144. package/lib/components/search-location/search-location.component.d.ts +25 -20
  145. package/lib/components/search-service/search-service.component.d.ts +16 -9
  146. package/lib/components/search-venue/search-venue.component.d.ts +3 -1
  147. package/lib/components/selected-case/selected-case.component.d.ts +3 -0
  148. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +3 -0
  149. package/lib/components/selected-case-list/selected-case-list.component.d.ts +3 -0
  150. package/lib/components/service-message/service-message.component.d.ts +9 -4
  151. package/lib/components/service-messages/service-messages.component.d.ts +15 -5
  152. package/lib/components/share-case/share-case.component.d.ts +4 -0
  153. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +3 -0
  154. package/lib/components/tab/tab.component.d.ts +3 -0
  155. package/lib/components/tc-confirm/tc-confirm.component.d.ts +3 -0
  156. package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +3 -0
  157. package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +3 -0
  158. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +3 -0
  159. package/lib/components/user-details/user-details.component.d.ts +4 -0
  160. package/lib/components/user-list/user-list.component.d.ts +3 -0
  161. package/lib/components/user-select/user-select.component.d.ts +5 -3
  162. package/lib/components/write-address/write-address.component.d.ts +45 -0
  163. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +16 -0
  164. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +3 -0
  165. package/lib/directives/let/let.directive.d.ts +3 -0
  166. package/lib/exui-common-lib.module.d.ts +83 -4
  167. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +3 -0
  168. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +17 -5
  169. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  170. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  171. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  172. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +3 -0
  173. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +3 -0
  174. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +4 -2
  175. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +4 -0
  176. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +3 -0
  177. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +5 -2
  178. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +3 -0
  179. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +3 -0
  180. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +3 -0
  181. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
  182. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +7 -2
  183. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +3 -0
  184. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +3 -0
  185. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +6 -3
  186. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +3 -0
  187. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +3 -0
  188. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +3 -0
  189. package/lib/gov-ui/directives/remove-host.directive.d.ts +3 -0
  190. package/lib/gov-ui/gov-ui.service.d.ts +3 -0
  191. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  192. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  193. package/lib/gov-ui/models/public_api.d.ts +0 -1
  194. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  195. package/lib/models/address-message.enum.d.ts +9 -0
  196. package/lib/models/address-option.model.d.ts +9 -0
  197. package/lib/models/address.model.d.ts +9 -0
  198. package/lib/models/contact-details.model.d.ts +4 -0
  199. package/lib/models/feature-user.d.ts +4 -6
  200. package/lib/models/filter.model.d.ts +42 -9
  201. package/lib/models/index.d.ts +4 -0
  202. package/lib/models/location.model.d.ts +12 -12
  203. package/lib/models/person.model.d.ts +5 -3
  204. package/lib/models/public_api.d.ts +1 -0
  205. package/lib/models/search-options.model.d.ts +1 -1
  206. package/lib/models/service-message.model.d.ts +8 -0
  207. package/lib/models/task-name.model.d.ts +4 -0
  208. package/lib/models/user-access-type.model.d.ts +6 -0
  209. package/lib/models/user-details.model.d.ts +2 -0
  210. package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
  211. package/lib/pipes/index.d.ts +1 -0
  212. package/lib/services/address/address-parser.d.ts +17 -0
  213. package/lib/services/address/address-type.enum.d.ts +5 -0
  214. package/lib/services/address/address.service.d.ts +15 -0
  215. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +3 -0
  216. package/lib/services/cookie/cookie.service.d.ts +3 -0
  217. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +8 -2
  218. package/lib/services/feature-toggle/feature-toggle.service.d.ts +4 -0
  219. package/lib/services/feature-toggle/launch-darkly.service.d.ts +14 -10
  220. package/lib/services/filter/filter.service.d.ts +6 -0
  221. package/lib/services/find-person/find-person.service.d.ts +5 -2
  222. package/lib/services/google-analytics/google-analytics.service.d.ts +4 -1
  223. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +5 -1
  224. package/lib/services/loading/loading.service.d.ts +3 -0
  225. package/lib/services/locations/location.service.d.ts +4 -1
  226. package/lib/services/manage-session/manage-session.services.d.ts +3 -0
  227. package/lib/services/public-api.d.ts +2 -0
  228. package/lib/services/ref-data/index.d.ts +3 -0
  229. package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
  230. package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
  231. package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
  232. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +18 -0
  233. package/lib/services/ref-data/ref-data.service.d.ts +17 -0
  234. package/lib/services/role-guard/role.guard.d.ts +7 -3
  235. package/lib/services/role-guard/role.service.d.ts +8 -4
  236. package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +3 -0
  237. package/lib/services/task-name/task-name.service.d.ts +17 -0
  238. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +8 -2
  239. package/package.json +21 -11
  240. package/public-api.d.ts +1 -0
  241. package/bundles/hmcts-rpx-xui-common-lib.umd.js +0 -5141
  242. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +0 -1
  243. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +0 -2
  244. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +0 -1
  245. package/esm2015/hmcts-rpx-xui-common-lib.js +0 -70
  246. package/esm2015/lib/components/accessibility/accessibility.component.js +0 -14
  247. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +0 -177
  248. package/esm2015/lib/components/contact-details/contact-details.component.js +0 -17
  249. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +0 -68
  250. package/esm2015/lib/components/due-date/due-date.component.js +0 -115
  251. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -28
  252. package/esm2015/lib/components/find-location/find-location.component.js +0 -124
  253. package/esm2015/lib/components/find-person/find-person.component.js +0 -118
  254. package/esm2015/lib/components/find-service/find-service.component.js +0 -31
  255. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +0 -21
  256. package/esm2015/lib/components/generic-filter/generic-filter.component.js +0 -387
  257. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -27
  258. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +0 -25
  259. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -25
  260. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +0 -18
  261. package/esm2015/lib/components/pagination/pagination.component.js +0 -28
  262. package/esm2015/lib/components/public_api.js +0 -33
  263. package/esm2015/lib/components/search-judicials/search-judicials.component.js +0 -126
  264. package/esm2015/lib/components/search-location/search-location.component.js +0 -133
  265. package/esm2015/lib/components/search-service/search-service.component.js +0 -31
  266. package/esm2015/lib/components/search-venue/search-venue.component.js +0 -123
  267. package/esm2015/lib/components/selected-case/selected-case.component.js +0 -158
  268. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -36
  269. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +0 -49
  270. package/esm2015/lib/components/service-message/service-message.component.js +0 -22
  271. package/esm2015/lib/components/service-messages/service-messages.component.js +0 -48
  272. package/esm2015/lib/components/share-case/share-case.component.js +0 -205
  273. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +0 -34
  274. package/esm2015/lib/components/tab/tab.component.js +0 -21
  275. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +0 -22
  276. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -13
  277. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -13
  278. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -16
  279. package/esm2015/lib/components/user-details/user-details.component.js +0 -41
  280. package/esm2015/lib/components/user-list/user-list.component.js +0 -33
  281. package/esm2015/lib/components/user-select/user-select.component.js +0 -58
  282. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +0 -42
  283. package/esm2015/lib/directives/let/let.directive.js +0 -30
  284. package/esm2015/lib/exui-common-lib.module.js +0 -160
  285. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -31
  286. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -21
  287. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -64
  288. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -22
  289. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -28
  290. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -35
  291. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -23
  292. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -34
  293. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -21
  294. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -33
  295. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -21
  296. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -27
  297. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -39
  298. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -27
  299. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -23
  300. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -48
  301. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -19
  302. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -41
  303. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -28
  304. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -23
  305. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -15
  306. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +0 -29
  307. package/esm2015/lib/gov-ui/gov-ui.service.js +0 -13
  308. package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -2
  309. package/esm2015/lib/gov-ui/models/checkboxes-model.js +0 -2
  310. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +0 -2
  311. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +0 -22
  312. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -22
  313. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +0 -15
  314. package/esm2015/lib/models/feature-user.js +0 -5
  315. package/esm2015/lib/models/filter.model.js +0 -3
  316. package/esm2015/lib/models/index.js +0 -15
  317. package/esm2015/lib/models/location.model.js +0 -7
  318. package/esm2015/lib/models/person.model.js +0 -19
  319. package/esm2015/lib/models/user-details.model.js +0 -2
  320. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +0 -157
  321. package/esm2015/lib/services/cookie/cookie.service.js +0 -47
  322. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +0 -35
  323. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +0 -27
  324. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +0 -59
  325. package/esm2015/lib/services/filter/filter.service.js +0 -64
  326. package/esm2015/lib/services/find-person/find-person.service.js +0 -106
  327. package/esm2015/lib/services/google-analytics/google-analytics.service.js +0 -68
  328. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +0 -71
  329. package/esm2015/lib/services/locations/location.service.js +0 -39
  330. package/esm2015/lib/services/public-api.js +0 -16
  331. package/esm2015/lib/services/role-guard/role.guard.js +0 -37
  332. package/esm2015/lib/services/role-guard/role.service.js +0 -20
  333. package/esm2015/lib/services/session-storage/session-storage.service.js +0 -41
  334. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +0 -94
  335. package/fesm2015/hmcts-rpx-xui-common-lib.js +0 -4174
  336. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +0 -1
  337. package/hmcts-rpx-xui-common-lib.d.ts +0 -69
  338. package/hmcts-rpx-xui-common-lib.metadata.json +0 -1
  339. package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
  340. package/lib/gov-ui/models/isession-storage.interface.d.ts +0 -4
  341. package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +0 -6
  342. /package/{esm2015/lib/components/index.js → esm2022/lib/components/index.mjs} +0 -0
  343. /package/{esm2015/lib/directives/index.js → esm2022/lib/directives/index.mjs} +0 -0
  344. /package/{esm2015/lib/directives/public-api.js → esm2022/lib/directives/public-api.mjs} +0 -0
  345. /package/{esm2015/lib/gov-ui/components/index.js → esm2022/lib/gov-ui/components/index.mjs} +0 -0
  346. /package/{esm2015/lib/gov-ui/components/public_api.js → esm2022/lib/gov-ui/components/public_api.mjs} +0 -0
  347. /package/{esm2015/lib/gov-ui/index.js → esm2022/lib/gov-ui/index.mjs} +0 -0
  348. /package/{esm2015/lib/gov-ui/models/error-messages-model.js → esm2022/lib/gov-ui/models/error-messages-model.mjs} +0 -0
  349. /package/{esm2015/lib/gov-ui/models/index.js → esm2022/lib/gov-ui/models/index.mjs} +0 -0
  350. /package/{esm2015/lib/gov-ui/public_api.js → esm2022/lib/gov-ui/public_api.mjs} +0 -0
  351. /package/{esm2015/lib/gov-ui/validators/index.js → esm2022/lib/gov-ui/validators/index.mjs} +0 -0
  352. /package/{esm2015/lib/gov-ui/validators/public_api.js → esm2022/lib/gov-ui/validators/public_api.mjs} +0 -0
  353. /package/{esm2015/lib/models/case-share.model.js → esm2022/lib/models/case-share.model.mjs} +0 -0
  354. /package/{esm2015/lib/models/due-date.model.js → esm2022/lib/models/due-date.model.mjs} +0 -0
  355. /package/{esm2015/lib/models/idle-config.model.js → esm2022/lib/models/idle-config.model.mjs} +0 -0
  356. /package/{esm2015/lib/models/pagination.model.js → esm2022/lib/models/pagination.model.mjs} +0 -0
  357. /package/{esm2015/lib/models/tcDocument.model.js → esm2022/lib/models/tcDocument.model.mjs} +0 -0
  358. /package/{esm2015/lib/models/timeout-notification.model.js → esm2022/lib/models/timeout-notification.model.mjs} +0 -0
  359. /package/{esm2015/lib/models/user.model.js → esm2022/lib/models/user.model.mjs} +0 -0
  360. /package/{esm2015/lib/services/index.js → esm2022/lib/services/index.mjs} +0 -0
  361. /package/{esm2015/lib/window.js → esm2022/lib/window.mjs} +0 -0
@@ -0,0 +1,98 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/case-sharing-state/case-sharing-state.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "../selected-case/selected-case.component";
8
+ import * as i4 from "../selected-case-confirm/selected-case-confirm.component";
9
+ function SelectedCaseListComponent_ng_container_0_xuilib_selected_case_1_Template(rf, ctx) { if (rf & 1) {
10
+ const _r1 = i0.ɵɵgetCurrentView();
11
+ i0.ɵɵelementStart(0, "xuilib-selected-case", 2);
12
+ i0.ɵɵlistener("unselect", function SelectedCaseListComponent_ng_container_0_xuilib_selected_case_1_Template_xuilib_selected_case_unselect_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onUnselect($event)); })("synchronizeStore", function SelectedCaseListComponent_ng_container_0_xuilib_selected_case_1_Template_xuilib_selected_case_synchronizeStore_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onSynchronizeStore($event)); });
13
+ i0.ɵɵelementEnd();
14
+ } if (rf & 2) {
15
+ const sharedCase_r3 = ctx.$implicit;
16
+ const ctx_r1 = i0.ɵɵnextContext(2);
17
+ i0.ɵɵproperty("sharedCase", sharedCase_r3)("caseCount", ctx_r1.caseCount)("removeUserFromCaseToggleOn", ctx_r1.removeUserFromCaseToggleOn);
18
+ } }
19
+ function SelectedCaseListComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵelementContainerStart(0);
21
+ i0.ɵɵtemplate(1, SelectedCaseListComponent_ng_container_0_xuilib_selected_case_1_Template, 1, 3, "xuilib-selected-case", 1);
22
+ i0.ɵɵpipe(2, "async");
23
+ i0.ɵɵelementContainerEnd();
24
+ } if (rf & 2) {
25
+ const ctx_r1 = i0.ɵɵnextContext();
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 2, ctx_r1.shareCases$))("ngForTrackBy", ctx_r1.trackByCaseId);
28
+ } }
29
+ function SelectedCaseListComponent_ng_container_1_xuilib_selected_case_confirm_1_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelement(0, "xuilib-selected-case-confirm", 4);
31
+ } if (rf & 2) {
32
+ const sharedCase_r4 = ctx.$implicit;
33
+ const ctx_r1 = i0.ɵɵnextContext(2);
34
+ i0.ɵɵproperty("sharedCase", sharedCase_r4)("changeLink", ctx_r1.changeLink);
35
+ } }
36
+ function SelectedCaseListComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementContainerStart(0);
38
+ i0.ɵɵtemplate(1, SelectedCaseListComponent_ng_container_1_xuilib_selected_case_confirm_1_Template, 1, 2, "xuilib-selected-case-confirm", 3);
39
+ i0.ɵɵpipe(2, "async");
40
+ i0.ɵɵelementContainerEnd();
41
+ } if (rf & 2) {
42
+ const ctx_r1 = i0.ɵɵnextContext();
43
+ i0.ɵɵadvance();
44
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 2, ctx_r1.shareCases$))("ngForTrackBy", ctx_r1.trackByCaseId);
45
+ } }
46
+ export class SelectedCaseListComponent {
47
+ constructor(stateService) {
48
+ this.stateService = stateService;
49
+ this.shareCases = [];
50
+ this.toConfirm = false;
51
+ this.changeLink = '';
52
+ this.unselect = new EventEmitter();
53
+ this.synchronizeStore = new EventEmitter();
54
+ }
55
+ ngOnInit() {
56
+ this.shareCases$ = this.stateService.state;
57
+ this.shareCases$.subscribe((shareCases) => {
58
+ this.shareCases = shareCases;
59
+ this.caseCount = this.shareCases.length;
60
+ });
61
+ }
62
+ onUnselect(sharedCase) {
63
+ this.unselect.emit(sharedCase);
64
+ this.caseCount = this.shareCases.length;
65
+ }
66
+ onSynchronizeStore(event) {
67
+ this.synchronizeStore.emit(event);
68
+ }
69
+ trackByCaseId(sharedCase) {
70
+ return sharedCase.caseId;
71
+ }
72
+ static { this.ɵfac = function SelectedCaseListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SelectedCaseListComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService)); }; }
73
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SelectedCaseListComponent, selectors: [["xuilib-selected-case-list"]], inputs: { shareCases$: "shareCases$", removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", toConfirm: "toConfirm", changeLink: "changeLink" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, decls: 2, vars: 2, consts: [[4, "ngIf"], [3, "sharedCase", "caseCount", "removeUserFromCaseToggleOn", "unselect", "synchronizeStore", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "unselect", "synchronizeStore", "sharedCase", "caseCount", "removeUserFromCaseToggleOn"], [3, "sharedCase", "changeLink", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "sharedCase", "changeLink"]], template: function SelectedCaseListComponent_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵtemplate(0, SelectedCaseListComponent_ng_container_0_Template, 3, 4, "ng-container", 0)(1, SelectedCaseListComponent_ng_container_1_Template, 3, 4, "ng-container", 0);
75
+ } if (rf & 2) {
76
+ i0.ɵɵproperty("ngIf", !ctx.toConfirm);
77
+ i0.ɵɵadvance();
78
+ i0.ɵɵproperty("ngIf", ctx.toConfirm);
79
+ } }, dependencies: [i2.NgForOf, i2.NgIf, i3.SelectedCaseComponent, i4.SelectedCaseConfirmComponent, i2.AsyncPipe] }); }
80
+ }
81
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SelectedCaseListComponent, [{
82
+ type: Component,
83
+ args: [{ selector: 'xuilib-selected-case-list', template: "<ng-container *ngIf=\"!toConfirm\">\n <xuilib-selected-case\n *ngFor=\"let sharedCase of (shareCases$ | async); trackBy: trackByCaseId\"\n [sharedCase]=\"sharedCase\"\n [caseCount]=\"caseCount\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case>\n</ng-container>\n\n<ng-container *ngIf=\"toConfirm\">\n <xuilib-selected-case-confirm\n *ngFor=\"let sharedCase of (shareCases$ | async); trackBy: trackByCaseId\"\n [sharedCase]=\"sharedCase\"\n [changeLink]=\"changeLink\">\n </xuilib-selected-case-confirm>\n</ng-container>\n" }]
84
+ }], () => [{ type: i1.CaseSharingStateService }], { shareCases$: [{
85
+ type: Input
86
+ }], removeUserFromCaseToggleOn: [{
87
+ type: Input
88
+ }], toConfirm: [{
89
+ type: Input
90
+ }], changeLink: [{
91
+ type: Input
92
+ }], unselect: [{
93
+ type: Output
94
+ }], synchronizeStore: [{
95
+ type: Output
96
+ }] }); })();
97
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SelectedCaseListComponent, { className: "SelectedCaseListComponent", filePath: "lib/components/selected-case-list/selected-case-list.component.ts", lineNumber: 11 }); })();
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS1saXN0L3NlbGVjdGVkLWNhc2UtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2UtbGlzdC9zZWxlY3RlZC1jYXNlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7OztJQ0ZyRywrQ0FPRztJQURELEFBREEsZ1BBQVkseUJBQWtCLEtBQUMsbVBBQ1gsaUNBQTBCLEtBQUM7SUFFakQsaUJBQXVCOzs7O0lBSnJCLEFBREEsQUFEQSwwQ0FBeUIsK0JBQ0YsaUVBQ2tDOzs7SUFMN0QsNkJBQWlDO0lBQy9CLDJIQU9HOzs7OztJQU5zQixjQUEwQjtJQUFBLEFBQTFCLGtFQUEwQixzQ0FBc0I7OztJQVd6RSxrREFJK0I7Ozs7SUFEN0IsQUFEQSwwQ0FBeUIsaUNBQ0E7OztJQUo3Qiw2QkFBZ0M7SUFDOUIsMklBRzRCOzs7OztJQUZILGNBQTBCO0lBQUEsQUFBMUIsa0VBQTBCLHNDQUFzQjs7QURKM0UsTUFBTSxPQUFPLHlCQUF5QjtJQWdCcEMsWUFBNkIsWUFBcUM7UUFBckMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBZDNELGVBQVUsR0FBaUIsRUFBRSxDQUFDO1FBT3JCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV2QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBRUcsQ0FBQztJQUVoRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUFDLFVBQXNCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQXNCO1FBQ3pDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDOzBIQXJDVSx5QkFBeUI7b0VBQXpCLHlCQUF5QjtZQ0V0QyxBQVpBLDRGQUFpQywrRUFZRDs7WUFaakIscUNBQWdCO1lBWWhCLGNBQWU7WUFBZixvQ0FBZTs7O2lGREZqQix5QkFBeUI7Y0FMckMsU0FBUzsyQkFDRSwyQkFBMkI7d0RBU3JCLFdBQVc7a0JBQTFCLEtBQUs7WUFFVSwwQkFBMEI7a0JBQXpDLEtBQUs7WUFFVSxTQUFTO2tCQUF4QixLQUFLO1lBRVUsVUFBVTtrQkFBekIsS0FBSztZQUVXLFFBQVE7a0JBQXhCLE1BQU07WUFDVSxnQkFBZ0I7a0JBQWhDLE1BQU07O2tGQWRJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zZWxlY3RlZC1jYXNlLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0ZWQtY2FzZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtY2FzZS1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRDYXNlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHNoYXJlQ2FzZXM6IFNoYXJlZENhc2VbXSA9IFtdO1xuICBwdWJsaWMgY2FzZUNvdW50OiBudW1iZXI7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXJlQ2FzZXMkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG5cbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0b0NvbmZpcm06IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgY2hhbmdlTGluazogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVkQ2FzZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzeW5jaHJvbml6ZVN0b3JlID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVDYXNlcyQgPSB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZTtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkLnN1YnNjcmliZSgoc2hhcmVDYXNlcykgPT4ge1xuICAgICAgdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcztcbiAgICAgIHRoaXMuY2FzZUNvdW50ID0gdGhpcy5zaGFyZUNhc2VzLmxlbmd0aDtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblVuc2VsZWN0KHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2VsZWN0LmVtaXQoc2hhcmVkQ2FzZSk7XG4gICAgdGhpcy5jYXNlQ291bnQgPSB0aGlzLnNoYXJlQ2FzZXMubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIG9uU3luY2hyb25pemVTdG9yZShldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlDYXNlSWQoc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNoYXJlZENhc2UuY2FzZUlkO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXRvQ29uZmlybVwiPlxuICA8eHVpbGliLXNlbGVjdGVkLWNhc2VcbiAgICAqbmdGb3I9XCJsZXQgc2hhcmVkQ2FzZSBvZiAoc2hhcmVDYXNlcyQgfCBhc3luYyk7IHRyYWNrQnk6IHRyYWNrQnlDYXNlSWRcIlxuICAgIFtzaGFyZWRDYXNlXT1cInNoYXJlZENhc2VcIlxuICAgIFtjYXNlQ291bnRdPVwiY2FzZUNvdW50XCJcbiAgICBbcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT25dPVwicmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT25cIlxuICAgICh1bnNlbGVjdCk9XCJvblVuc2VsZWN0KCRldmVudClcIlxuICAgIChzeW5jaHJvbml6ZVN0b3JlKT1cIm9uU3luY2hyb25pemVTdG9yZSgkZXZlbnQpXCJcbiAgICA+XG4gIDwveHVpbGliLXNlbGVjdGVkLWNhc2U+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvQ29uZmlybVwiPlxuICA8eHVpbGliLXNlbGVjdGVkLWNhc2UtY29uZmlybVxuICAgICpuZ0Zvcj1cImxldCBzaGFyZWRDYXNlIG9mIChzaGFyZUNhc2VzJCB8IGFzeW5jKTsgdHJhY2tCeTogdHJhY2tCeUNhc2VJZFwiXG4gICAgW3NoYXJlZENhc2VdPVwic2hhcmVkQ2FzZVwiXG4gICAgW2NoYW5nZUxpbmtdPVwiY2hhbmdlTGlua1wiPlxuICA8L3h1aWxpYi1zZWxlY3RlZC1jYXNlLWNvbmZpcm0+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "rpx-xui-translation";
6
+ function ServiceMessageComponent_h2_8_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "h2", 5);
8
+ } if (rf & 2) {
9
+ const ctx_r0 = i0.ɵɵnextContext();
10
+ i0.ɵɵproperty("innerHTML", ctx_r0.message_cy, i0.ɵɵsanitizeHtml);
11
+ } }
12
+ export class ServiceMessageComponent {
13
+ constructor() {
14
+ this.hideMessage = new EventEmitter();
15
+ }
16
+ onHideMessageEvent(key) {
17
+ this.hideMessage.emit(key);
18
+ }
19
+ static { this.ɵfac = function ServiceMessageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ServiceMessageComponent)(); }; }
20
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessageComponent, selectors: [["xuilib-service-message"]], inputs: { message_en: "message_en", message_cy: "message_cy", key: "key" }, outputs: { hideMessage: "hideMessage" }, decls: 12, vars: 8, consts: [[1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "img", "aria-label", "hmcts-warning-icon", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["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"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s", 3, "innerHTML"], ["class", "govuk-heading-s", 3, "innerHTML", 4, "ngIf"], ["tabindex", "0", 1, "govuk-link--no-visited-state", 3, "click", "keyup.enter", "routerLink"]], template: function ServiceMessageComponent_Template(rf, ctx) { if (rf & 1) {
21
+ i0.ɵɵelementStart(0, "div", 0);
22
+ i0.ɵɵnamespaceSVG();
23
+ i0.ɵɵelementStart(1, "svg", 1);
24
+ i0.ɵɵelement(2, "path", 2);
25
+ i0.ɵɵelementEnd();
26
+ i0.ɵɵnamespaceHTML();
27
+ i0.ɵɵelementStart(3, "div", 3)(4, "span", 4);
28
+ i0.ɵɵtext(5);
29
+ i0.ɵɵpipe(6, "rpxTranslate");
30
+ i0.ɵɵelementEnd();
31
+ i0.ɵɵelement(7, "h2", 5);
32
+ i0.ɵɵtemplate(8, ServiceMessageComponent_h2_8_Template, 1, 1, "h2", 6);
33
+ i0.ɵɵelementStart(9, "a", 7);
34
+ i0.ɵɵlistener("click", function ServiceMessageComponent_Template_a_click_9_listener() { return ctx.onHideMessageEvent(ctx.key); })("keyup.enter", function ServiceMessageComponent_Template_a_keyup_enter_9_listener() { return ctx.onHideMessageEvent(ctx.key); });
35
+ i0.ɵɵtext(10);
36
+ i0.ɵɵpipe(11, "rpxTranslate");
37
+ i0.ɵɵelementEnd()()();
38
+ } if (rf & 2) {
39
+ i0.ɵɵadvance(5);
40
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Warning"));
41
+ i0.ɵɵadvance(2);
42
+ i0.ɵɵproperty("innerHTML", ctx.message_en, i0.ɵɵsanitizeHtml);
43
+ i0.ɵɵadvance();
44
+ i0.ɵɵproperty("ngIf", ctx.message_cy);
45
+ i0.ɵɵadvance(2);
46
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 6, "Hide message"));
47
+ } }, dependencies: [i1.NgIf, i2.RouterLink, i3.RpxTranslatePipe], styles: [".govuk-link--no-visited-state[_ngcontent-%COMP%]{cursor:pointer}"] }); }
48
+ }
49
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMessageComponent, [{
50
+ type: Component,
51
+ args: [{ selector: 'xuilib-service-message', template: "<div class=\"hmcts-banner hmcts-banner--warning\">\n\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"img\" aria-label=\"hmcts-warning-icon\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\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 </svg>\n\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\" [innerHTML]=\"message_en\"></h2>\n <h2 *ngIf=\"message_cy\" class=\"govuk-heading-s\" [innerHTML]=\"message_cy\"></h2>\n <a [routerLink]=\"\" tabindex=\"0\" class=\"govuk-link--no-visited-state\" (click)=\"onHideMessageEvent(key)\" (keyup.enter)=\"onHideMessageEvent(key)\">{{'Hide message' | rpxTranslate}}</a>\n </div>\n\n</div>", styles: [".govuk-link--no-visited-state{cursor:pointer}\n"] }]
52
+ }], () => [], { message_en: [{
53
+ type: Input
54
+ }], message_cy: [{
55
+ type: Input
56
+ }], key: [{
57
+ type: Input
58
+ }], hideMessage: [{
59
+ type: Output
60
+ }] }); })();
61
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessageComponent, { className: "ServiceMessageComponent", filePath: "lib/components/service-message/service-message.component.ts", lineNumber: 9 }); })();
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VydmljZS1tZXNzYWdlL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZS9zZXJ2aWNlLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDVS9ELHdCQUE2RTs7O0lBQTlCLGdFQUF3Qjs7QURGL0UsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQztRQURpQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO0lBQ25ELENBQUM7SUFFVixrQkFBa0IsQ0FBQyxHQUFvQjtRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QixDQUFDO3dIQVRVLHVCQUF1QjtvRUFBdkIsdUJBQXVCO1lDUnBDLDhCQUFnRDs7WUFFNUMsOEJBQ2tGO1lBQzlFLDBCQUFvRztZQUN4RyxpQkFBTTs7WUFHRixBQURKLDhCQUFtQyxjQUNPO1lBQUEsWUFBNEI7O1lBQUEsaUJBQU87WUFDekUsd0JBQTBEO1lBQzFELHNFQUF3RTtZQUN4RSw0QkFBK0k7WUFBeEMsQUFBbEMsK0ZBQVMsK0JBQXVCLElBQUMsOEZBQWdCLCtCQUF1QixJQUFDO1lBQUMsYUFBaUM7O1lBR3hMLEFBRkksQUFEb0wsaUJBQUksRUFDbEwsRUFFSjs7WUFOd0MsZUFBNEI7WUFBNUIscURBQTRCO1lBQ3RDLGVBQXdCO1lBQXhCLDZEQUF3QjtZQUMvQyxjQUFnQjtZQUFoQixxQ0FBZ0I7WUFDMEgsZUFBaUM7WUFBakMsMkRBQWlDOzs7aUZESDNLLHVCQUF1QjtjQUxuQyxTQUFTOzJCQUNFLHdCQUF3QjtvQkFLbEIsVUFBVTtrQkFBekIsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxHQUFHO2tCQUFsQixLQUFLO1lBQ1csV0FBVztrQkFBM0IsTUFBTTs7a0ZBSkksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlcnZpY2VNZXNzYWdlcyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXJ2aWNlLW1lc3NhZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VydmljZS1tZXNzYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VNZXNzYWdlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIG1lc3NhZ2VfZW46IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIG1lc3NhZ2VfY3k/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBrZXk6IFNlcnZpY2VNZXNzYWdlcztcbiAgQE91dHB1dCgpIHB1YmxpYyBoaWRlTWVzc2FnZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VydmljZU1lc3NhZ2VzPigpO1xuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBvbkhpZGVNZXNzYWdlRXZlbnQoa2V5OiBTZXJ2aWNlTWVzc2FnZXMpIHtcbiAgICB0aGlzLmhpZGVNZXNzYWdlLmVtaXQoa2V5KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lciBobWN0cy1iYW5uZXItLXdhcm5pbmdcIj5cblxuICAgIDxzdmcgY2xhc3M9XCJobWN0cy1iYW5uZXJfX2ljb25cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJobWN0cy13YXJuaW5nLWljb25cIiBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCIgaGVpZ2h0PVwiMjVcIiB3aWR0aD1cIjI1XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTMuNiwxNS40aC0yLjN2LTQuNWgyLjNWMTUuNHogTTEzLjYsMTkuOGgtMi4zdi0yLjJoMi4zVjE5Ljh6IE0wLDIzLjJoMjVMMTIuNSwyTDAsMjMuMnpcIiAvPlxuICAgIDwvc3ZnPlxuXG4gICAgPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lcl9fbWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhtY3RzLWJhbm5lcl9fYXNzaXN0aXZlXCI+e3snV2FybmluZycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCIgW2lubmVySFRNTF09XCJtZXNzYWdlX2VuXCI+PC9oMj5cbiAgICAgICAgPGgyICpuZ0lmPVwibWVzc2FnZV9jeVwiIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCIgW2lubmVySFRNTF09XCJtZXNzYWdlX2N5XCI+PC9oMj5cbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiXCIgdGFiaW5kZXg9XCIwXCIgY2xhc3M9XCJnb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlXCIgKGNsaWNrKT1cIm9uSGlkZU1lc3NhZ2VFdmVudChrZXkpXCIgKGtleXVwLmVudGVyKT1cIm9uSGlkZU1lc3NhZ2VFdmVudChrZXkpXCI+e3snSGlkZSBtZXNzYWdlJyB8IHJweFRyYW5zbGF0ZX19PC9hPlxuICAgIDwvZGl2PlxuXG48L2Rpdj4iXX0=
@@ -0,0 +1,167 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FeatureToggleService } from '../../services/feature-toggle/feature-toggle.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/feature-toggle/feature-toggle.service";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "../service-message/service-message.component";
7
+ import * as i4 from "rpx-xui-translation";
8
+ function ServiceMessagesComponent_div_0_div_1_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "div", 3);
10
+ i0.ɵɵnamespaceSVG();
11
+ i0.ɵɵelementStart(1, "svg", 4);
12
+ i0.ɵɵelement(2, "path", 5);
13
+ i0.ɵɵelementEnd();
14
+ i0.ɵɵnamespaceHTML();
15
+ i0.ɵɵelementStart(3, "div", 6)(4, "span", 7);
16
+ i0.ɵɵtext(5);
17
+ i0.ɵɵpipe(6, "rpxTranslate");
18
+ i0.ɵɵelementEnd();
19
+ i0.ɵɵelementStart(7, "h2", 8);
20
+ i0.ɵɵtext(8, "Error:");
21
+ i0.ɵɵelementEnd();
22
+ i0.ɵɵelement(9, "p", 9);
23
+ i0.ɵɵelementEnd()();
24
+ } if (rf & 2) {
25
+ const errMsg_r1 = ctx.$implicit;
26
+ i0.ɵɵadvance(5);
27
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 2, "Warning"));
28
+ i0.ɵɵadvance(4);
29
+ i0.ɵɵproperty("innerHTML", errMsg_r1.message, i0.ɵɵsanitizeHtml);
30
+ } }
31
+ function ServiceMessagesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "div", 1);
33
+ i0.ɵɵtemplate(1, ServiceMessagesComponent_div_0_div_1_Template, 10, 4, "div", 2);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const ctx_r1 = i0.ɵɵnextContext();
37
+ i0.ɵɵadvance();
38
+ i0.ɵɵproperty("ngForOf", ctx_r1.bannerErrorMsgs);
39
+ } }
40
+ function ServiceMessagesComponent_div_1_xuilib_service_message_1_Template(rf, ctx) { if (rf & 1) {
41
+ const _r3 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "xuilib-service-message", 11);
43
+ i0.ɵɵpipe(1, "rpxTranslate");
44
+ i0.ɵɵpipe(2, "rpxTranslate");
45
+ i0.ɵɵlistener("hideMessage", function ServiceMessagesComponent_div_1_xuilib_service_message_1_Template_xuilib_service_message_hideMessage_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.hideMessage($event)); });
46
+ i0.ɵɵelementEnd();
47
+ } if (rf & 2) {
48
+ const message_r4 = ctx.$implicit;
49
+ i0.ɵɵproperty("key", message_r4)("message_en", i0.ɵɵpipeBind1(1, 3, message_r4 == null ? null : message_r4.message_en))("message_cy", i0.ɵɵpipeBind1(2, 5, message_r4 == null ? null : message_r4.message_cy));
50
+ } }
51
+ function ServiceMessagesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "div", 1);
53
+ i0.ɵɵtemplate(1, ServiceMessagesComponent_div_1_xuilib_service_message_1_Template, 3, 7, "xuilib-service-message", 10);
54
+ i0.ɵɵelementEnd();
55
+ } if (rf & 2) {
56
+ const ctx_r1 = i0.ɵɵnextContext();
57
+ i0.ɵɵadvance();
58
+ i0.ɵɵproperty("ngForOf", ctx_r1.filteredMessages);
59
+ } }
60
+ export class ServiceMessagesComponent {
61
+ constructor(featureToggleService) {
62
+ this.featureToggleService = featureToggleService;
63
+ this.filteredMessages = [];
64
+ this.bannerErrorMsgs = [];
65
+ this.originalMessages = [];
66
+ }
67
+ ngOnInit() {
68
+ this.getServiceMessages();
69
+ }
70
+ getServiceMessages() {
71
+ this.featureToggleService.getValue(this.featureToggleKey, null)
72
+ .subscribe(messages => {
73
+ this.originalMessages = messages;
74
+ if (!!messages) {
75
+ this.createFilteredMessages(messages);
76
+ }
77
+ });
78
+ }
79
+ createFilteredMessages(messages) {
80
+ this.hiddenBanners = this.getSessionCookie(this.serviceMessageCookie) || [];
81
+ const messageCount = messages.length;
82
+ this.filteredMessages = messages.filter((message) => {
83
+ const { roles, message_en } = message;
84
+ const regEx = new RegExp(roles);
85
+ // If userRoles is empty or undefined, allow the message through
86
+ const isRoleMatch = ((!this.userRoles || this.userRoles.length === 0) && messageCount === 1 && roles === '.+')
87
+ || (this.userRoles && this.userRoles.some((role) => regEx.test(role)));
88
+ return isRoleMatch &&
89
+ this.compareDates(message) &&
90
+ !this.hiddenBanners.includes(message_en);
91
+ });
92
+ }
93
+ compareDates(msg) {
94
+ let currentDateTime = new Date();
95
+ let beginDate = null;
96
+ let endDate = null;
97
+ this.bannerErrorMsgs = [];
98
+ // Parse beginDate if msg.begin is present and valid
99
+ if (msg.begin && !isNaN(Date.parse(msg.begin))) {
100
+ beginDate = new Date(msg.begin);
101
+ }
102
+ if (msg.end && !isNaN(Date.parse(msg.end))) {
103
+ endDate = new Date(msg.end);
104
+ }
105
+ this.originalMessages.forEach(msg => {
106
+ // Only check for errors if both beginDate and endDate are present and valid
107
+ if ((msg.begin && !isNaN(Date.parse(msg.end))) && (msg.end && !isNaN(Date.parse(msg.end))) && new Date(msg.begin) > new Date(msg.end)) {
108
+ this.isBannerError = true;
109
+ this.bannerErrorMsgs.push({
110
+ message: `The start date is greater than the end date. Message index: ${msg.index}`,
111
+ index: msg.index
112
+ });
113
+ }
114
+ // Check for invalid beginDate or endDate separately, if they are present
115
+ if (msg.begin && isNaN(Date.parse(msg.begin))) {
116
+ this.isBannerError = true;
117
+ this.bannerErrorMsgs.push({
118
+ message: `Invalid start date. Message index: ${msg.index}`,
119
+ index: msg.index
120
+ });
121
+ }
122
+ if (msg.end && isNaN(Date.parse(msg.end))) {
123
+ this.isBannerError = true;
124
+ this.bannerErrorMsgs.push({
125
+ message: `Invalid end date. Message index: ${msg.index}`,
126
+ index: msg.index
127
+ });
128
+ }
129
+ });
130
+ const beginDateOK = !msg.begin || (beginDate && beginDate < currentDateTime);
131
+ const endDateOK = !msg.end || (endDate && endDate >= currentDateTime);
132
+ return beginDateOK && endDateOK;
133
+ }
134
+ setSessionCookie(name, value) {
135
+ document.cookie = `${name}=${encodeURIComponent(JSON.stringify(value))}; path=/; SameSite=Lax`;
136
+ }
137
+ hideMessage(msg) {
138
+ this.filteredMessages = this.filteredMessages.filter((f) => f.index !== msg.index);
139
+ this.hiddenBanners.push(msg.message_en);
140
+ this.setSessionCookie(this.serviceMessageCookie, this.hiddenBanners);
141
+ }
142
+ getSessionCookie(name) {
143
+ const cookies = document.cookie.split('; ');
144
+ const cookie = cookies.find((row) => row.startsWith(name + '='));
145
+ return cookie ? JSON.parse(decodeURIComponent(cookie.split('=')[1])) : [];
146
+ }
147
+ static { this.ɵfac = function ServiceMessagesComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ServiceMessagesComponent)(i0.ɵɵdirectiveInject(i1.FeatureToggleService)); }; }
148
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ServiceMessagesComponent, selectors: [["xuilib-service-messages"]], inputs: { userRoles: "userRoles", featureToggleKey: "featureToggleKey", serviceMessageCookie: "serviceMessageCookie" }, decls: 2, vars: 2, consts: [["class", "govuk-width-container govuk-!-margin-top-6", 4, "ngIf"], [1, "govuk-width-container", "govuk-!-margin-top-6"], ["class", "hmcts-banner hmcts-banner--warning", 4, "ngFor", "ngForOf"], [1, "hmcts-banner", "hmcts-banner--warning"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["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"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "govuk-heading-s"], [3, "innerHTML"], [3, "key", "message_en", "message_cy", "hideMessage", 4, "ngFor", "ngForOf"], [3, "hideMessage", "key", "message_en", "message_cy"]], template: function ServiceMessagesComponent_Template(rf, ctx) { if (rf & 1) {
149
+ i0.ɵɵtemplate(0, ServiceMessagesComponent_div_0_Template, 2, 1, "div", 0)(1, ServiceMessagesComponent_div_1_Template, 2, 1, "div", 0);
150
+ } if (rf & 2) {
151
+ i0.ɵɵproperty("ngIf", ctx.isBannerError);
152
+ i0.ɵɵadvance();
153
+ i0.ɵɵproperty("ngIf", (ctx.filteredMessages == null ? null : ctx.filteredMessages.length) > 0);
154
+ } }, dependencies: [i2.NgForOf, i2.NgIf, i3.ServiceMessageComponent, i4.RpxTranslatePipe], encapsulation: 2 }); }
155
+ }
156
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ServiceMessagesComponent, [{
157
+ type: Component,
158
+ args: [{ selector: 'xuilib-service-messages', template: "<div *ngIf=\"isBannerError\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <div class=\"hmcts-banner hmcts-banner--warning\" *ngFor=\"let errMsg of bannerErrorMsgs\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\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 </svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <h2 class=\"govuk-heading-s\">Error:</h2>\n <p [innerHTML]=\"errMsg.message\"></p>\n </div>\n </div>\n</div>\n<div *ngIf=\"filteredMessages?.length > 0\" class=\"govuk-width-container govuk-!-margin-top-6\">\n <xuilib-service-message *ngFor=\"let message of filteredMessages\" [key]=\"message\"\n [message_en]=\"message?.message_en | rpxTranslate\" \n [message_cy]=\"message?.message_cy | rpxTranslate\"\n (hideMessage)=\"hideMessage($event)\">\n </xuilib-service-message>\n</div>" }]
159
+ }], () => [{ type: i1.FeatureToggleService }], { userRoles: [{
160
+ type: Input
161
+ }], featureToggleKey: [{
162
+ type: Input
163
+ }], serviceMessageCookie: [{
164
+ type: Input
165
+ }] }); })();
166
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ServiceMessagesComponent, { className: "ServiceMessagesComponent", filePath: "lib/components/service-messages/service-messages.component.ts", lineNumber: 10 }); })();
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7OztJQ0F4Riw4QkFBdUY7O0lBQ25GLDhCQUM4RTtJQUM5RSwwQkFBb0c7SUFDeEcsaUJBQU07O0lBRUUsQUFESiw4QkFBbUMsY0FDTztJQUFBLFlBQTRCOztJQUFBLGlCQUFPO0lBQ3pFLDZCQUE0QjtJQUFBLHNCQUFNO0lBQUEsaUJBQUs7SUFDdkMsdUJBQW9DO0lBRTVDLEFBREksaUJBQU0sRUFDSjs7O0lBSndDLGVBQTRCO0lBQTVCLHFEQUE0QjtJQUUvRCxlQUE0QjtJQUE1QixnRUFBNEI7OztJQVQzQyw4QkFBOEU7SUFDMUUsZ0ZBQXVGO0lBVzNGLGlCQUFNOzs7SUFYaUUsY0FBa0I7SUFBbEIsZ0RBQWtCOzs7O0lBYXJGLGtEQUd3Qzs7O0lBQXBDLGdQQUFlLDBCQUFtQixLQUFDO0lBQ3ZDLGlCQUF5Qjs7O0lBRnJCLEFBREEsQUFENkQsZ0NBQWUsdUZBQzNCLHVGQUNBOzs7SUFIekQsOEJBQTZGO0lBQ3pGLHNIQUd3QztJQUU1QyxpQkFBTTs7O0lBTDBDLGNBQW1CO0lBQW5CLGlEQUFtQjs7QURMbkUsTUFBTSxPQUFPLHdCQUF3QjtJ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TyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzVFLENBQUM7eUhBekdVLHdCQUF3QjtvRUFBeEIsd0JBQXdCO1lDSXJDLEFBYkEseUVBQThFLDREQWFlOztZQWJ2Rix3Q0FBbUI7WUFhbkIsY0FBa0M7WUFBbEMsOEZBQWtDOzs7aUZESjNCLHdCQUF3QjtjQUpwQyxTQUFTOzJCQUNFLHlCQUF5QjtxREFVbkIsU0FBUztrQkFBeEIsS0FBSztZQUNVLGdCQUFnQjtrQkFBL0IsS0FBSztZQUNVLG9CQUFvQjtrQkFBbkMsS0FBSzs7a0ZBVEssd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZU1lc3NhZ2VzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZpY2UtbWVzc2FnZS5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXNlcnZpY2UtbWVzc2FnZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZU1lc3NhZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGhpZGRlbkJhbm5lcnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgZmlsdGVyZWRNZXNzYWdlczogU2VydmljZU1lc3NhZ2VzW10gPSBbXTtcbiAgcHVibGljIGlzQmFubmVyRXJyb3I6IGJvb2xlYW47XG4gIHB1YmxpYyBiYW5uZXJFcnJvck1zZ3M6IHsgbWVzc2FnZTogc3RyaW5nLCBpbmRleDogbnVtYmVyIH1bXSA9IFtdO1xuICBwdWJsaWMgb3JpZ2luYWxNZXNzYWdlczogU2VydmljZU1lc3NhZ2VzW10gPSBbXTtcblxuICBASW5wdXQoKSBwdWJsaWMgdXNlclJvbGVzOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgcHVibGljIGZlYXR1cmVUb2dnbGVLZXk6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VNZXNzYWdlQ29va2llOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmZWF0dXJlVG9nZ2xlU2VydmljZTogRmVhdHVyZVRvZ2dsZVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldFNlcnZpY2VNZXNzYWdlcygpO1xuICB9XG5cbiAgcHVibGljIGdldFNlcnZpY2VNZXNzYWdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlPFNlcnZpY2VNZXNzYWdlc1tdPih0aGlzLmZlYXR1cmVUb2dnbGVLZXksIG51bGwpXG4gICAgICAuc3Vic2NyaWJlKG1lc3NhZ2VzID0+IHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbE1lc3NhZ2VzID0gbWVzc2FnZXM7XG4gICAgICAgIGlmICghIW1lc3NhZ2VzKSB7XG4gICAgICAgICAgdGhpcy5jcmVhdGVGaWx0ZXJlZE1lc3NhZ2VzKG1lc3NhZ2VzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZpbHRlcmVkTWVzc2FnZXMobWVzc2FnZXM6IFNlcnZpY2VNZXNzYWdlc1tdKTogdm9pZCB7XG4gICAgdGhpcy5oaWRkZW5CYW5uZXJzID0gdGhpcy5nZXRTZXNzaW9uQ29va2llKHRoaXMuc2VydmljZU1lc3NhZ2VDb29raWUpIHx8IFtdO1xuICAgIGNvbnN0IG1lc3NhZ2VDb3VudCA9IG1lc3NhZ2VzLmxlbmd0aDtcbiAgICB0aGlzLmZpbHRlcmVkTWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIoKG1lc3NhZ2UpID0+IHtcbiAgICAgIGNvbnN0IHsgcm9sZXMsIG1lc3NhZ2VfZW4gfSA9IG1lc3NhZ2U7XG4gICAgICBjb25zdCByZWdFeCA9IG5ldyBSZWdFeHAocm9sZXMpO1xuICAgICAgLy8gSWYgdXNlclJvbGVzIGlzIGVtcHR5IG9yIHVuZGVmaW5lZCwgYWxsb3cgdGhlIG1lc3NhZ2UgdGhyb3VnaFxuICAgICAgY29uc3QgaXNSb2xlTWF0Y2ggPVxuICAgICAgICAoKCF0aGlzLnVzZXJSb2xlcyB8fCB0aGlzLnVzZXJSb2xlcy5sZW5ndGggPT09IDApICYmIG1lc3NhZ2VDb3VudCA9PT0gMSAmJiByb2xlcyA9PT0gJy4rJylcbiAgICAgICAgfHwgKHRoaXMudXNlclJvbGVzICYmIHRoaXMudXNlclJvbGVzLnNvbWUoKHJvbGUpID0+IHJlZ0V4LnRlc3Qocm9sZSkpKTtcblxuICAgICAgcmV0dXJuIGlzUm9sZU1hdGNoICYmXG4gICAgICAgIHRoaXMuY29tcGFyZURhdGVzKG1lc3NhZ2UpICYmXG4gICAgICAgICF0aGlzLmhpZGRlbkJhbm5lcnMuaW5jbHVkZXMobWVzc2FnZV9lbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbXBhcmVEYXRlcyhtc2c6IFNlcnZpY2VNZXNzYWdlcyk6IGJvb2xlYW4ge1xuICAgIGxldCBjdXJyZW50RGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCBiZWdpbkRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZW5kRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIHRoaXMuYmFubmVyRXJyb3JNc2dzID0gW107XG5cbiAgICAvLyBQYXJzZSBiZWdpbkRhdGUgaWYgbXNnLmJlZ2luIGlzIHByZXNlbnQgYW5kIHZhbGlkXG4gICAgaWYgKG1zZy5iZWdpbiAmJiAhaXNOYU4oRGF0ZS5wYXJzZShtc2cuYmVnaW4pKSkge1xuICAgICAgYmVnaW5EYXRlID0gbmV3IERhdGUobXNnLmJlZ2luKTtcbiAgICB9XG5cbiAgICBpZiAobXNnLmVuZCAmJiAhaXNOYU4oRGF0ZS5wYXJzZShtc2cuZW5kKSkpIHtcbiAgICAgIGVuZERhdGUgPSBuZXcgRGF0ZShtc2cuZW5kKTtcbiAgICB9XG4gICAgdGhpcy5vcmlnaW5hbE1lc3NhZ2VzLmZvckVhY2gobXNnID0+IHtcbiAgICAgIC8vIE9ubHkgY2hlY2sgZm9yIGVycm9ycyBpZiBib3RoIGJlZ2luRGF0ZSBhbmQgZW5kRGF0ZSBhcmUgcHJlc2VudCBhbmQgdmFsaWRcbiAgICAgIGlmICgobXNnLmJlZ2luICYmICFpc05hTihEYXRlLnBhcnNlKG1zZy5lbmQpKSkgJiYgKG1zZy5lbmQgJiYgIWlzTmFOKERhdGUucGFyc2UobXNnLmVuZCkpKSAmJiBuZXcgRGF0ZShtc2cuYmVnaW4pID4gbmV3IERhdGUobXNnLmVuZCkpIHtcbiAgICAgICAgdGhpcy5pc0Jhbm5lckVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5iYW5uZXJFcnJvck1zZ3MucHVzaCh7XG4gICAgICAgICAgbWVzc2FnZTogYFRoZSBzdGFydCBkYXRlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgZW5kIGRhdGUuIE1lc3NhZ2UgaW5kZXg6ICR7bXNnLmluZGV4fWAsXG4gICAgICAgICAgaW5kZXg6IG1zZy5pbmRleFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gQ2hlY2sgZm9yIGludmFsaWQgYmVnaW5EYXRlIG9yIGVuZERhdGUgc2VwYXJhdGVseSwgaWYgdGhleSBhcmUgcHJlc2VudFxuICAgICAgaWYgKG1zZy5iZWdpbiAmJiBpc05hTihEYXRlLnBhcnNlKG1zZy5iZWdpbikpKSB7XG4gICAgICAgIHRoaXMuaXNCYW5uZXJFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMuYmFubmVyRXJyb3JNc2dzLnB1c2goe1xuICAgICAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIHN0YXJ0IGRhdGUuIE1lc3NhZ2UgaW5kZXg6ICR7bXNnLmluZGV4fWAsXG4gICAgICAgICAgaW5kZXg6IG1zZy5pbmRleFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChtc2cuZW5kICYmIGlzTmFOKERhdGUucGFyc2UobXNnLmVuZCkpKSB7XG4gICAgICAgIHRoaXMuaXNCYW5uZXJFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMuYmFubmVyRXJyb3JNc2dzLnB1c2goe1xuICAgICAgICAgIG1lc3NhZ2U6IGBJbnZhbGlkIGVuZCBkYXRlLiBNZXNzYWdlIGluZGV4OiAke21zZy5pbmRleH1gLFxuICAgICAgICAgIGluZGV4OiBtc2cuaW5kZXhcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBiZWdpbkRhdGVPSyA9ICFtc2cuYmVnaW4gfHwgKGJlZ2luRGF0ZSAmJiBiZWdpbkRhdGUgPCBjdXJyZW50RGF0ZVRpbWUpO1xuICAgIGNvbnN0IGVuZERhdGVPSyA9ICFtc2cuZW5kIHx8IChlbmREYXRlICYmIGVuZERhdGUgPj0gY3VycmVudERhdGVUaW1lKTtcblxuICAgIHJldHVybiBiZWdpbkRhdGVPSyAmJiBlbmREYXRlT0s7XG4gIH1cblxuICBwcml2YXRlIHNldFNlc3Npb25Db29raWUobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgZG9jdW1lbnQuY29va2llID0gYCR7bmFtZX09JHtlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkodmFsdWUpKX07IHBhdGg9LzsgU2FtZVNpdGU9TGF4YDtcbiAgfVxuXG4gIHB1YmxpYyBoaWRlTWVzc2FnZShtc2c6IFNlcnZpY2VNZXNzYWdlcyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyZWRNZXNzYWdlcyA9IHRoaXMuZmlsdGVyZWRNZXNzYWdlcy5maWx0ZXIoKGYpID0+IGYuaW5kZXggIT09IG1zZy5pbmRleCk7XG4gICAgdGhpcy5oaWRkZW5CYW5uZXJzLnB1c2gobXNnLm1lc3NhZ2VfZW4pO1xuICAgIHRoaXMuc2V0U2Vzc2lvbkNvb2tpZSh0aGlzLnNlcnZpY2VNZXNzYWdlQ29va2llLCB0aGlzLmhpZGRlbkJhbm5lcnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXNzaW9uQ29va2llKG5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgY29va2llcyA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKTtcbiAgICBjb25zdCBjb29raWUgPSBjb29raWVzLmZpbmQoKHJvdykgPT4gcm93LnN0YXJ0c1dpdGgobmFtZSArICc9JykpO1xuICAgIHJldHVybiBjb29raWUgPyBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChjb29raWUuc3BsaXQoJz0nKVsxXSkpIDogW107XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0Jhbm5lckVycm9yXCIgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXIgZ292dWstIS1tYXJnaW4tdG9wLTZcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaG1jdHMtYmFubmVyIGhtY3RzLWJhbm5lci0td2FybmluZ1wiICpuZ0Zvcj1cImxldCBlcnJNc2cgb2YgYmFubmVyRXJyb3JNc2dzXCI+XG4gICAgICAgIDxzdmcgY2xhc3M9XCJobWN0cy1iYW5uZXJfX2ljb25cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjUgMjVcIiBoZWlnaHQ9XCIyNVwiIHdpZHRoPVwiMjVcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy42LDE1LjRoLTIuM3YtNC41aDIuM1YxNS40eiBNMTMuNiwxOS44aC0yLjN2LTIuMmgyLjNWMTkuOHogTTAsMjMuMmgyNUwxMi41LDJMMCwyMy4yelwiIC8+XG4gICAgPC9zdmc+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJobWN0cy1iYW5uZXJfX21lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaG1jdHMtYmFubmVyX19hc3Npc3RpdmVcIj57eydXYXJuaW5nJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwiZ292dWstaGVhZGluZy1zXCI+RXJyb3I6PC9oMj5cbiAgICAgICAgICAgIDxwIFtpbm5lckhUTUxdPVwiZXJyTXNnLm1lc3NhZ2VcIj48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiZmlsdGVyZWRNZXNzYWdlcz8ubGVuZ3RoID4gMFwiIGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyIGdvdnVrLSEtbWFyZ2luLXRvcC02XCI+XG4gICAgPHh1aWxpYi1zZXJ2aWNlLW1lc3NhZ2UgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgZmlsdGVyZWRNZXNzYWdlc1wiIFtrZXldPVwibWVzc2FnZVwiXG4gICAgICAgIFttZXNzYWdlX2VuXT1cIm1lc3NhZ2U/Lm1lc3NhZ2VfZW4gfCBycHhUcmFuc2xhdGVcIiBcbiAgICAgICAgW21lc3NhZ2VfY3ldPVwibWVzc2FnZT8ubWVzc2FnZV9jeSB8IHJweFRyYW5zbGF0ZVwiXG4gICAgICAgIChoaWRlTWVzc2FnZSk9XCJoaWRlTWVzc2FnZSgkZXZlbnQpXCI+XG4gICAgPC94dWlsaWItc2VydmljZS1tZXNzYWdlPlxuPC9kaXY+Il19