@hmcts/rpx-xui-common-lib 2.0.2-pre-release-include-user-access-type → 2.0.2-pre-release-accessibility-updated-version

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 (321) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +6257 -0
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -0
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +2 -0
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -0
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +77 -0
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +27 -0
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +185 -0
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +17 -0
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +68 -0
  10. package/esm2015/lib/components/due-date/due-date.component.js +123 -0
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +28 -0
  12. package/esm2015/lib/components/find-location/find-location.component.js +146 -0
  13. package/esm2015/lib/components/find-person/find-person.component.js +120 -0
  14. package/esm2015/lib/components/find-service/find-service.component.js +113 -0
  15. package/esm2015/lib/components/find-task-name/find-task-name.component.js +97 -0
  16. package/esm2015/lib/components/generic-filter/generic-filter.component.js +629 -0
  17. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +27 -0
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +25 -0
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +25 -0
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +26 -0
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -0
  22. package/esm2015/lib/components/search-judicials/search-judicials.component.js +126 -0
  23. package/esm2015/lib/components/search-location/search-location.component.js +135 -0
  24. package/esm2015/lib/components/search-service/search-service.component.js +42 -0
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +123 -0
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +158 -0
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +36 -0
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +49 -0
  29. package/esm2015/lib/components/service-message/service-message.component.js +22 -0
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +48 -0
  31. package/esm2015/lib/components/share-case/share-case.component.js +205 -0
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +34 -0
  33. package/esm2015/lib/components/tab/tab.component.js +21 -0
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +22 -0
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -0
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -0
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -0
  38. package/esm2015/lib/components/user-details/user-details.component.js +41 -0
  39. package/esm2015/lib/components/user-list/user-list.component.js +33 -0
  40. package/esm2015/lib/components/user-select/user-select.component.js +58 -0
  41. package/esm2015/lib/components/write-address/write-address.component.js +182 -0
  42. package/esm2015/lib/components/write-address-inputs/write-address-inputs.component.js +36 -0
  43. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +42 -0
  44. package/esm2015/lib/directives/let/let.directive.js +30 -0
  45. package/esm2015/lib/exui-common-lib.module.js +174 -0
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +31 -0
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +60 -0
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +64 -0
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +22 -0
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +28 -0
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +35 -0
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -0
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +34 -0
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +22 -0
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +33 -0
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +21 -0
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -0
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +39 -0
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +27 -0
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +23 -0
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +48 -0
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +19 -0
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -0
  64. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +28 -0
  65. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +23 -0
  66. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +15 -0
  67. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +29 -0
  68. package/esm2015/lib/gov-ui/gov-ui.service.js +13 -0
  69. package/{esm2020/lib/models/public_api.mjs → esm2015/lib/models/public_api.js} +1 -2
  70. package/esm2015/lib/models/user-details.model.js +2 -0
  71. package/esm2015/lib/pipes/capitalize/capitalize.pipe.js +11 -0
  72. package/esm2015/lib/services/address/address.service.js +50 -0
  73. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +157 -0
  74. package/esm2015/lib/services/cookie/cookie.service.js +47 -0
  75. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +36 -0
  76. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +27 -0
  77. package/{esm2020/lib/services/feature-toggle/launch-darkly.service.mjs → esm2015/lib/services/feature-toggle/launch-darkly.service.js} +6 -8
  78. package/{esm2020/lib/services/filter/filter.service.mjs → esm2015/lib/services/filter/filter.service.js} +6 -8
  79. package/esm2015/lib/services/find-person/find-person.service.js +115 -0
  80. package/esm2015/lib/services/google-analytics/google-analytics.service.js +68 -0
  81. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +71 -0
  82. package/{esm2020/lib/services/loading/loading.service.mjs → esm2015/lib/services/loading/loading.service.js} +6 -8
  83. package/esm2015/lib/services/locations/location.service.js +39 -0
  84. package/{esm2020/lib/services/manage-session/manage-session.services.mjs → esm2015/lib/services/manage-session/manage-session.services.js} +10 -8
  85. package/esm2015/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.js +34 -0
  86. package/{esm2020/lib/services/ref-data/ref-data.service.mjs → esm2015/lib/services/ref-data/ref-data.service.js} +9 -8
  87. package/{esm2020/lib/services/role-guard/role.guard.mjs → esm2015/lib/services/role-guard/role.guard.js} +10 -8
  88. package/esm2015/lib/services/role-guard/role.service.js +20 -0
  89. package/{esm2020/lib/services/storage/session-storage/session-storage.service.mjs → esm2015/lib/services/storage/session-storage/session-storage.service.js} +6 -8
  90. package/{esm2020/lib/services/task-name/task-name.service.mjs → esm2015/lib/services/task-name/task-name.service.js} +10 -8
  91. package/{esm2020/lib/services/timeout-notifications/timeout-notifications.service.mjs → esm2015/lib/services/timeout-notifications/timeout-notifications.service.js} +10 -8
  92. package/fesm2015/hmcts-rpx-xui-common-lib.js +5227 -0
  93. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -0
  94. package/hmcts-rpx-xui-common-lib.d.ts +76 -0
  95. package/hmcts-rpx-xui-common-lib.metadata.json +1 -0
  96. package/lib/components/accessibility/accessibility.component.d.ts +4 -4
  97. package/lib/components/checkbox-list/checkbox-list.component.d.ts +0 -3
  98. package/lib/components/contact-details/contact-details.component.d.ts +0 -3
  99. package/lib/components/cookie-banner/cookie-banner.component.d.ts +1 -6
  100. package/lib/components/due-date/due-date.component.d.ts +0 -3
  101. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +0 -3
  102. package/lib/components/find-location/find-location.component.d.ts +0 -3
  103. package/lib/components/find-person/find-person.component.d.ts +0 -3
  104. package/lib/components/find-service/find-service.component.d.ts +0 -3
  105. package/lib/components/find-task-name/find-task-name.component.d.ts +0 -3
  106. package/lib/components/generic-filter/generic-filter.component.d.ts +0 -3
  107. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +0 -3
  108. package/lib/components/invite-user-form/invite-user-form.component.d.ts +0 -3
  109. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +0 -3
  110. package/lib/components/loading-spinner/loading-spinner.component.d.ts +0 -3
  111. package/lib/components/pagination/pagination.component.d.ts +0 -3
  112. package/lib/components/search-judicials/search-judicials.component.d.ts +0 -3
  113. package/lib/components/search-location/search-location.component.d.ts +1 -4
  114. package/lib/components/search-service/search-service.component.d.ts +1 -4
  115. package/lib/components/search-venue/search-venue.component.d.ts +0 -3
  116. package/lib/components/selected-case/selected-case.component.d.ts +0 -3
  117. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +0 -3
  118. package/lib/components/selected-case-list/selected-case-list.component.d.ts +0 -3
  119. package/lib/components/service-message/service-message.component.d.ts +0 -3
  120. package/lib/components/service-messages/service-messages.component.d.ts +0 -3
  121. package/lib/components/share-case/share-case.component.d.ts +0 -3
  122. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +0 -3
  123. package/lib/components/tab/tab.component.d.ts +0 -3
  124. package/lib/components/tc-confirm/tc-confirm.component.d.ts +0 -3
  125. package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +0 -3
  126. package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +0 -3
  127. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +0 -3
  128. package/lib/components/user-details/user-details.component.d.ts +0 -3
  129. package/lib/components/user-list/user-list.component.d.ts +0 -3
  130. package/lib/components/user-select/user-select.component.d.ts +2 -5
  131. package/lib/components/write-address/write-address.component.d.ts +0 -3
  132. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +3 -3
  133. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +0 -3
  134. package/lib/directives/let/let.directive.d.ts +0 -3
  135. package/lib/exui-common-lib.module.d.ts +3 -77
  136. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +0 -3
  137. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +0 -3
  138. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +0 -3
  139. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +0 -3
  140. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +0 -3
  141. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +0 -3
  142. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +0 -3
  143. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +0 -3
  144. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +0 -3
  145. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +0 -3
  146. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +0 -3
  147. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +0 -3
  148. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +0 -3
  149. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +0 -3
  150. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +0 -3
  151. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +0 -3
  152. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +0 -3
  153. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +0 -3
  154. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +0 -3
  155. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +0 -3
  156. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +0 -3
  157. package/lib/gov-ui/directives/remove-host.directive.d.ts +0 -3
  158. package/lib/gov-ui/gov-ui.service.d.ts +0 -3
  159. package/lib/models/feature-user.d.ts +1 -1
  160. package/lib/models/filter.model.d.ts +2 -2
  161. package/lib/models/public_api.d.ts +0 -1
  162. package/lib/models/user-details.model.d.ts +0 -2
  163. package/lib/pipes/capitalize/capitalize.pipe.d.ts +0 -3
  164. package/lib/services/address/address.service.d.ts +0 -3
  165. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +0 -3
  166. package/lib/services/cookie/cookie.service.d.ts +0 -3
  167. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +0 -3
  168. package/lib/services/feature-toggle/feature-toggle.service.d.ts +0 -3
  169. package/lib/services/feature-toggle/launch-darkly.service.d.ts +0 -3
  170. package/lib/services/filter/filter.service.d.ts +0 -3
  171. package/lib/services/find-person/find-person.service.d.ts +0 -3
  172. package/lib/services/google-analytics/google-analytics.service.d.ts +0 -3
  173. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +0 -3
  174. package/lib/services/loading/loading.service.d.ts +0 -3
  175. package/lib/services/locations/location.service.d.ts +0 -3
  176. package/lib/services/manage-session/manage-session.services.d.ts +0 -3
  177. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +0 -3
  178. package/lib/services/ref-data/ref-data.service.d.ts +0 -3
  179. package/lib/services/role-guard/role.guard.d.ts +0 -3
  180. package/lib/services/role-guard/role.service.d.ts +2 -5
  181. package/lib/services/storage/session-storage/session-storage.service.d.ts +0 -3
  182. package/lib/services/task-name/task-name.service.d.ts +0 -3
  183. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +0 -3
  184. package/package.json +9 -24
  185. package/esm2020/hmcts-rpx-xui-common-lib.mjs +0 -5
  186. package/esm2020/lib/components/accessibility/accessibility.component.mjs +0 -486
  187. package/esm2020/lib/components/checkbox-list/checkbox-list.component.mjs +0 -231
  188. package/esm2020/lib/components/contact-details/contact-details.component.mjs +0 -107
  189. package/esm2020/lib/components/cookie-banner/cookie-banner.component.mjs +0 -144
  190. package/esm2020/lib/components/due-date/due-date.component.mjs +0 -140
  191. package/esm2020/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +0 -79
  192. package/esm2020/lib/components/find-location/find-location.component.mjs +0 -219
  193. package/esm2020/lib/components/find-person/find-person.component.mjs +0 -234
  194. package/esm2020/lib/components/find-service/find-service.component.mjs +0 -187
  195. package/esm2020/lib/components/find-task-name/find-task-name.component.mjs +0 -200
  196. package/esm2020/lib/components/generic-filter/generic-filter.component.mjs +0 -1198
  197. package/esm2020/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +0 -55
  198. package/esm2020/lib/components/invite-user-form/invite-user-form.component.mjs +0 -50
  199. package/esm2020/lib/components/invite-user-permissions/invite-user-permission.component.mjs +0 -54
  200. package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +0 -32
  201. package/esm2020/lib/components/pagination/pagination.component.mjs +0 -93
  202. package/esm2020/lib/components/search-judicials/search-judicials.component.mjs +0 -184
  203. package/esm2020/lib/components/search-location/search-location.component.mjs +0 -205
  204. package/esm2020/lib/components/search-service/search-service.component.mjs +0 -81
  205. package/esm2020/lib/components/search-venue/search-venue.component.mjs +0 -188
  206. package/esm2020/lib/components/selected-case/selected-case.component.mjs +0 -380
  207. package/esm2020/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +0 -130
  208. package/esm2020/lib/components/selected-case-list/selected-case-list.component.mjs +0 -98
  209. package/esm2020/lib/components/service-message/service-message.component.mjs +0 -50
  210. package/esm2020/lib/components/service-messages/service-messages.component.mjs +0 -75
  211. package/esm2020/lib/components/share-case/share-case.component.mjs +0 -410
  212. package/esm2020/lib/components/share-case-confirm/share-case-confirm.component.mjs +0 -85
  213. package/esm2020/lib/components/tab/tab.component.mjs +0 -39
  214. package/esm2020/lib/components/tc-confirm/tc-confirm.component.mjs +0 -65
  215. package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +0 -16
  216. package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +0 -16
  217. package/esm2020/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +0 -59
  218. package/esm2020/lib/components/user-details/user-details.component.mjs +0 -265
  219. package/esm2020/lib/components/user-list/user-list.component.mjs +0 -99
  220. package/esm2020/lib/components/user-select/user-select.component.mjs +0 -92
  221. package/esm2020/lib/components/write-address/write-address.component.mjs +0 -345
  222. package/esm2020/lib/components/write-address-inputs/write-address-inputs.component.mjs +0 -165
  223. package/esm2020/lib/directives/feature-toggle/feature-toggle.directive.mjs +0 -41
  224. package/esm2020/lib/directives/let/let.directive.mjs +0 -29
  225. package/esm2020/lib/exui-common-lib.module.mjs +0 -313
  226. package/esm2020/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +0 -54
  227. package/esm2020/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +0 -136
  228. package/esm2020/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +0 -120
  229. package/esm2020/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -45
  230. package/esm2020/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -80
  231. package/esm2020/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +0 -78
  232. package/esm2020/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +0 -45
  233. package/esm2020/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +0 -70
  234. package/esm2020/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +0 -84
  235. package/esm2020/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +0 -47
  236. package/esm2020/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +0 -41
  237. package/esm2020/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +0 -79
  238. package/esm2020/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +0 -188
  239. package/esm2020/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +0 -56
  240. package/esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +0 -112
  241. package/esm2020/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +0 -141
  242. package/esm2020/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +0 -33
  243. package/esm2020/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +0 -130
  244. package/esm2020/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +0 -204
  245. package/esm2020/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +0 -59
  246. package/esm2020/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +0 -57
  247. package/esm2020/lib/gov-ui/directives/remove-host.directive.mjs +0 -30
  248. package/esm2020/lib/gov-ui/gov-ui.service.mjs +0 -14
  249. package/esm2020/lib/models/user-access-type.model.mjs +0 -2
  250. package/esm2020/lib/models/user-details.model.mjs +0 -2
  251. package/esm2020/lib/pipes/capitalize/capitalize.pipe.mjs +0 -15
  252. package/esm2020/lib/services/address/address.service.mjs +0 -55
  253. package/esm2020/lib/services/case-sharing-state/case-sharing-state.service.mjs +0 -170
  254. package/esm2020/lib/services/cookie/cookie.service.mjs +0 -48
  255. package/esm2020/lib/services/feature-toggle/feature-toggle.guard.mjs +0 -34
  256. package/esm2020/lib/services/feature-toggle/feature-toggle.service.mjs +0 -29
  257. package/esm2020/lib/services/find-person/find-person.service.mjs +0 -114
  258. package/esm2020/lib/services/google-analytics/google-analytics.service.mjs +0 -68
  259. package/esm2020/lib/services/google-tag-manager/google-tag-manager.service.mjs +0 -71
  260. package/esm2020/lib/services/locations/location.service.mjs +0 -38
  261. package/esm2020/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +0 -33
  262. package/esm2020/lib/services/role-guard/role.service.mjs +0 -22
  263. package/fesm2015/hmcts-rpx-xui-common-lib.mjs +0 -10735
  264. package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +0 -1
  265. package/fesm2020/hmcts-rpx-xui-common-lib.mjs +0 -9774
  266. package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +0 -1
  267. package/index.d.ts +0 -5
  268. package/lib/models/user-access-type.model.d.ts +0 -6
  269. /package/{esm2020/lib/components/generic-filter/generic-filter-utils.mjs → esm2015/lib/components/generic-filter/generic-filter-utils.js} +0 -0
  270. /package/{esm2020/lib/components/index.mjs → esm2015/lib/components/index.js} +0 -0
  271. /package/{esm2020/lib/components/public_api.mjs → esm2015/lib/components/public_api.js} +0 -0
  272. /package/{esm2020/lib/directives/index.mjs → esm2015/lib/directives/index.js} +0 -0
  273. /package/{esm2020/lib/directives/public-api.mjs → esm2015/lib/directives/public-api.js} +0 -0
  274. /package/{esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs → esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js} +0 -0
  275. /package/{esm2020/lib/gov-ui/components/index.mjs → esm2015/lib/gov-ui/components/index.js} +0 -0
  276. /package/{esm2020/lib/gov-ui/components/public_api.mjs → esm2015/lib/gov-ui/components/public_api.js} +0 -0
  277. /package/{esm2020/lib/gov-ui/index.mjs → esm2015/lib/gov-ui/index.js} +0 -0
  278. /package/{esm2020/lib/gov-ui/models/checkboxes-model.mjs → esm2015/lib/gov-ui/models/checkboxes-model.js} +0 -0
  279. /package/{esm2020/lib/gov-ui/models/error-messages-model.mjs → esm2015/lib/gov-ui/models/error-messages-model.js} +0 -0
  280. /package/{esm2020/lib/gov-ui/models/gov-ui-config-model.mjs → esm2015/lib/gov-ui/models/gov-ui-config-model.js} +0 -0
  281. /package/{esm2020/lib/gov-ui/models/index.mjs → esm2015/lib/gov-ui/models/index.js} +0 -0
  282. /package/{esm2020/lib/gov-ui/models/isession-storage.interface.mjs → esm2015/lib/gov-ui/models/isession-storage.interface.js} +0 -0
  283. /package/{esm2020/lib/gov-ui/models/public_api.mjs → esm2015/lib/gov-ui/models/public_api.js} +0 -0
  284. /package/{esm2020/lib/gov-ui/models/radio-buttons.model.mjs → esm2015/lib/gov-ui/models/radio-buttons.model.js} +0 -0
  285. /package/{esm2020/lib/gov-ui/public_api.mjs → esm2015/lib/gov-ui/public_api.js} +0 -0
  286. /package/{esm2020/lib/gov-ui/util/helpers/html-templates.helper.mjs → esm2015/lib/gov-ui/util/helpers/html-templates.helper.js} +0 -0
  287. /package/{esm2020/lib/gov-ui/util/session-storage/session-storage-utils.mjs → esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js} +0 -0
  288. /package/{esm2020/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs → esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js} +0 -0
  289. /package/{esm2020/lib/gov-ui/validators/date.validator.mjs → esm2015/lib/gov-ui/validators/date.validator.js} +0 -0
  290. /package/{esm2020/lib/gov-ui/validators/index.mjs → esm2015/lib/gov-ui/validators/index.js} +0 -0
  291. /package/{esm2020/lib/gov-ui/validators/public_api.mjs → esm2015/lib/gov-ui/validators/public_api.js} +0 -0
  292. /package/{esm2020/lib/gov-ui/validators/radio-group.validator.mjs → esm2015/lib/gov-ui/validators/radio-group.validator.js} +0 -0
  293. /package/{esm2020/lib/models/address-message.enum.mjs → esm2015/lib/models/address-message.enum.js} +0 -0
  294. /package/{esm2020/lib/models/address-option.model.mjs → esm2015/lib/models/address-option.model.js} +0 -0
  295. /package/{esm2020/lib/models/address.model.mjs → esm2015/lib/models/address.model.js} +0 -0
  296. /package/{esm2020/lib/models/case-share.model.mjs → esm2015/lib/models/case-share.model.js} +0 -0
  297. /package/{esm2020/lib/models/contact-details.model.mjs → esm2015/lib/models/contact-details.model.js} +0 -0
  298. /package/{esm2020/lib/models/due-date.model.mjs → esm2015/lib/models/due-date.model.js} +0 -0
  299. /package/{esm2020/lib/models/feature-user.mjs → esm2015/lib/models/feature-user.js} +0 -0
  300. /package/{esm2020/lib/models/filter.model.mjs → esm2015/lib/models/filter.model.js} +0 -0
  301. /package/{esm2020/lib/models/idle-config.model.mjs → esm2015/lib/models/idle-config.model.js} +0 -0
  302. /package/{esm2020/lib/models/index.mjs → esm2015/lib/models/index.js} +0 -0
  303. /package/{esm2020/lib/models/location.model.mjs → esm2015/lib/models/location.model.js} +0 -0
  304. /package/{esm2020/lib/models/pagination.model.mjs → esm2015/lib/models/pagination.model.js} +0 -0
  305. /package/{esm2020/lib/models/person.model.mjs → esm2015/lib/models/person.model.js} +0 -0
  306. /package/{esm2020/lib/models/search-options.model.mjs → esm2015/lib/models/search-options.model.js} +0 -0
  307. /package/{esm2020/lib/models/task-name.model.mjs → esm2015/lib/models/task-name.model.js} +0 -0
  308. /package/{esm2020/lib/models/tcDocument.model.mjs → esm2015/lib/models/tcDocument.model.js} +0 -0
  309. /package/{esm2020/lib/models/timeout-notification.model.mjs → esm2015/lib/models/timeout-notification.model.js} +0 -0
  310. /package/{esm2020/lib/models/user.model.mjs → esm2015/lib/models/user.model.js} +0 -0
  311. /package/{esm2020/lib/pipes/index.mjs → esm2015/lib/pipes/index.js} +0 -0
  312. /package/{esm2020/lib/services/address/address-parser.mjs → esm2015/lib/services/address/address-parser.js} +0 -0
  313. /package/{esm2020/lib/services/address/address-type.enum.mjs → esm2015/lib/services/address/address-type.enum.js} +0 -0
  314. /package/{esm2020/lib/services/index.mjs → esm2015/lib/services/index.js} +0 -0
  315. /package/{esm2020/lib/services/public-api.mjs → esm2015/lib/services/public-api.js} +0 -0
  316. /package/{esm2020/lib/services/ref-data/index.mjs → esm2015/lib/services/ref-data/index.js} +0 -0
  317. /package/{esm2020/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs → esm2015/lib/services/ref-data/models/ref-data-htmcs-service.model.js} +0 -0
  318. /package/{esm2020/lib/services/ref-data/models/ref-data-region.model.mjs → esm2015/lib/services/ref-data/models/ref-data-region.model.js} +0 -0
  319. /package/{esm2020/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs → esm2015/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.js} +0 -0
  320. /package/{esm2020/lib/window.mjs → esm2015/lib/window.js} +0 -0
  321. /package/{esm2020/public-api.mjs → esm2015/public-api.js} +0 -0
@@ -0,0 +1,48 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Component, Inject, Input } from '@angular/core';
3
+ /*
4
+ Error Summary component
5
+ State Less component
6
+ @property errorMessages that is array of messages.
7
+ Component is also responsible for scrolling. Up and Down the page when user click on links
8
+ */
9
+ export class HmctsErrorSummaryComponent {
10
+ constructor(document) {
11
+ this.document = document;
12
+ }
13
+ set errorMessages(value) {
14
+ this.messages = value;
15
+ }
16
+ ngAfterViewInit() {
17
+ this.scrollTo('errorSummary');
18
+ }
19
+ ngOnChanges(changes) {
20
+ if (changes.errorMessages) {
21
+ this.scrollTo('errorSummary');
22
+ }
23
+ }
24
+ scrollTo(selector) {
25
+ if (this.document.querySelector(`#${selector}`)) {
26
+ const el = this.document.querySelector(`#${selector}`);
27
+ el.focus();
28
+ }
29
+ }
30
+ hasElement(selector) {
31
+ return this.document.querySelector(`#${selector}`);
32
+ }
33
+ }
34
+ HmctsErrorSummaryComponent.decorators = [
35
+ { type: Component, args: [{
36
+ selector: 'xuilib-hmcts-error-summary',
37
+ template: "<div *ngIf=\"!showWarningMessage && messages && messages.length > 0\" id=\"errorSummary\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{header | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let message of messages\">\n <a (click)=\"scrollTo(message['id'])\" [routerLink]=\"\" [fragment]=\"message['id']\"\n *ngIf=\"hasElement(message['id'])\">{{message['message'] | rpxTranslate}}</a>\n <span *ngIf=\"!hasElement(message['id'])\">{{message['message'] | rpxTranslate}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf=\"showWarningMessage\" class=\"hmcts-banner hmcts-banner--warning\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" 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\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <p class=\"govuk-body\" *ngFor=\"let message of messages\">{{ message['message'] | rpxTranslate}}</p>\n </div>\n</div>\n"
38
+ },] }
39
+ ];
40
+ HmctsErrorSummaryComponent.ctorParameters = () => [
41
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
42
+ ];
43
+ HmctsErrorSummaryComponent.propDecorators = {
44
+ errorMessages: [{ type: Input }],
45
+ header: [{ type: Input }],
46
+ showWarningMessage: [{ type: Input }]
47
+ };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtZXJyb3Itc3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1lcnJvci1zdW1tYXJ5L2htY3RzLWVycm9yLXN1bW1hcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUNoRzs7Ozs7RUFLRTtBQUtGLE1BQU0sT0FBTywwQkFBMEI7SUFXckMsWUFBK0MsUUFBYTtRQUFiLGFBQVEsR0FBUixRQUFRLENBQUs7SUFBSSxDQUFDO0lBVGpFLElBQW9CLGFBQWEsQ0FBQyxLQUFVO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFTTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsUUFBYTtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsRUFBRTtZQUMvQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFdkQsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQWE7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxrN0NBQW1EO2FBQ3BEOzs7NENBWWMsTUFBTSxTQUFDLFFBQVE7Ozs0QkFUM0IsS0FBSztxQkFJTCxLQUFLO2lDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKlxuICBFcnJvciBTdW1tYXJ5IGNvbXBvbmVudFxuICBTdGF0ZSBMZXNzIGNvbXBvbmVudFxuICBAcHJvcGVydHkgZXJyb3JNZXNzYWdlcyB0aGF0IGlzIGFycmF5IG9mIG1lc3NhZ2VzLlxuICBDb21wb25lbnQgaXMgYWxzbyByZXNwb25zaWJsZSBmb3Igc2Nyb2xsaW5nLiBVcCBhbmQgRG93biB0aGUgcGFnZSB3aGVuIHVzZXIgY2xpY2sgb24gbGlua3NcbiovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItaG1jdHMtZXJyb3Itc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1lcnJvci1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIbWN0c0Vycm9yU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBlcnJvck1lc3NhZ2VzKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm1lc3NhZ2VzID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93V2FybmluZ01lc3NhZ2U6IGJvb2xlYW47XG5cbiAgcHVibGljIG1lc3NhZ2VzOiBvYmplY3RbXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBhbnkpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxUbygnZXJyb3JTdW1tYXJ5Jyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmVycm9yTWVzc2FnZXMpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG8oJ2Vycm9yU3VtbWFyeScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxUbyhzZWxlY3RvcjogYW55KSB7XG4gICAgaWYgKHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCkpIHtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtzZWxlY3Rvcn1gKTtcblxuICAgICAgZWwuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFzRWxlbWVudChzZWxlY3RvcjogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class HmctsIdentityBarComponent {
3
+ constructor() { }
4
+ set content(value) {
5
+ this.value = value.name;
6
+ }
7
+ }
8
+ HmctsIdentityBarComponent.decorators = [
9
+ { type: Component, args: [{
10
+ selector: 'xuilib-hmcts-identity-bar',
11
+ template: "<div class=\"hmcts-identity-bar\" *ngIf=\"value\">\n\n <div class=\"hmcts-identity-bar__container\">\n\n <div class=\"hmcts-identity-bar__details\">\n\n <span class=\"hmcts-identity-bar__title\">{{value | rpxTranslate}}</span>\n\n </div>\n\n </div>\n\n</div>\n",
12
+ styles: [""]
13
+ },] }
14
+ ];
15
+ HmctsIdentityBarComponent.ctorParameters = () => [];
16
+ HmctsIdentityBarComponent.propDecorators = {
17
+ content: [{ type: Input }]
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtaWRlbnRpdHktYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWlkZW50aXR5LWJhci9obWN0cy1pZGVudGl0eS1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2pELE1BQU0sT0FBTyx5QkFBeUI7SUFRbEMsZ0JBQWdCLENBQUM7SUFOakIsSUFBb0IsT0FBTyxDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7OztZQVRKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywrU0FBa0Q7O2FBRXJEOzs7O3NCQUdJLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLWlkZW50aXR5LWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2htY3RzLWlkZW50aXR5LWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtaWRlbnRpdHktYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNJZGVudGl0eUJhckNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGNvbnRlbnQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ /*
3
+ * Main Content wrapper
4
+ * Responsible for:
5
+ * Wrapping content within the gov-uk html elements bellow
6
+ * @prop showBackLink - switch for back link
7
+ * @prop title = title
8
+ * @prop summaryErrors list of errors
9
+ * @prop back link, title (title), summaryErrors (array of errors)
10
+ * */
11
+ export class HmctsMainWrapperComponent {
12
+ constructor() {
13
+ this.backEvent = new EventEmitter();
14
+ }
15
+ set banner(value) {
16
+ this.bannerData = value;
17
+ }
18
+ ngOnInit() {
19
+ this.hasBackLink = this.backLink !== undefined || this.backEvent.observers.length > 0;
20
+ }
21
+ onGoBack() {
22
+ this.backEvent.emit();
23
+ }
24
+ }
25
+ HmctsMainWrapperComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: 'xuilib-hmcts-main-wrapper',
28
+ template: "<a *ngIf=\"hasBackLink\" [routerLink]=\"backLink\" (click)=\"onGoBack()\" class=\"govuk-back-link\">{{'Back' | rpxTranslate}}</a>\n<main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-hmcts-error-summary\n *ngIf=\"summaryErrors && !summaryErrors.isFromValid\"\n [errorMessages]=\"summaryErrors.items\"\n [header]=\"summaryErrors.header\"\n [showWarningMessage]=\"showWarningMessage\">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf=\"bannerData\"\n [type]=\"bannerData.type\"\n [message]=\"bannerData.message\"\n ></xuilib-hmcts-banner>\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">{{title | rpxTranslate}}</h1>\n <ng-content></ng-content>\n </div>\n <div class=\"govuk-grid-column-one-third\" *ngIf=\"actionButtons?.length > 0\">\n <div class=\"hmcts-page-heading__actions-wrapper\">\n <a\n *ngFor=\"let actionButton of actionButtons\"\n (click)=\"actionButton.action()\"\n role=\"button\"\n draggable=\"false\"\n class=\"govuk-button {{ actionButton.class }}\"\n >{{ actionButton.name | rpxTranslate }}</a>\n </div>\n </div>\n </div>\n</main>\n"
29
+ },] }
30
+ ];
31
+ HmctsMainWrapperComponent.ctorParameters = () => [];
32
+ HmctsMainWrapperComponent.propDecorators = {
33
+ backLink: [{ type: Input }],
34
+ title: [{ type: Input }],
35
+ summaryErrors: [{ type: Input }],
36
+ banner: [{ type: Input }],
37
+ actionButtons: [{ type: Input }],
38
+ showWarningMessage: [{ type: Input }],
39
+ backEvent: [{ type: Output }]
40
+ };
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtbWFpbi13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLW1haW4td3JhcHBlci9obWN0cy1tYWluLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUU7Ozs7Ozs7O0lBUUk7QUFLSixNQUFNLE9BQU8seUJBQXlCO0lBZXBDO1FBSGlCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSXRELENBQUM7SUFWRCxJQUFvQixNQUFNLENBQUMsS0FBc0I7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQVVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQTVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsNDFDQUFrRDthQUNuRDs7Ozt1QkFJRSxLQUFLO29CQUNMLEtBQUs7NEJBQ0wsS0FBSztxQkFDTCxLQUFLOzRCQUdMLEtBQUs7aUNBQ0wsS0FBSzt3QkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIbWN0c0Jhbm5lckluZm8gfSBmcm9tICcuLi9obWN0cy1iYW5uZXIvaG1jdHMtYmFubmVyLWluZm8uaW50ZXJmYWNlJztcbi8qXG4qIE1haW4gQ29udGVudCB3cmFwcGVyXG4qIFJlc3BvbnNpYmxlIGZvcjpcbiAqIFdyYXBwaW5nIGNvbnRlbnQgd2l0aGluIHRoZSBnb3YtdWsgaHRtbCBlbGVtZW50cyBiZWxsb3dcbiAqIEBwcm9wIHNob3dCYWNrTGluayAtIHN3aXRjaCBmb3IgYmFjayBsaW5rXG4gKiBAcHJvcCB0aXRsZSA9IHRpdGxlXG4gKiBAcHJvcCBzdW1tYXJ5RXJyb3JzIGxpc3Qgb2YgZXJyb3JzXG4qIEBwcm9wIGJhY2sgbGluaywgdGl0bGUgKHRpdGxlKSwgc3VtbWFyeUVycm9ycyAoYXJyYXkgb2YgZXJyb3JzKVxuKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLW1haW4td3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1tYWluLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgYmFubmVyRGF0YTogSG1jdHNCYW5uZXJJbmZvO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBiYWNrTGluazogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHN1bW1hcnlFcnJvcnM6IHtoZWFkZXI6IHN0cmluZzsgaXNGcm9tVmFsaWQ6IGJvb2xlYW47IGl0ZW1zOiB7IGlkOiBzdHJpbmc7IG1lc3NhZ2U6IGFueTsgfVtdfTtcbiAgQElucHV0KCkgcHVibGljIHNldCBiYW5uZXIodmFsdWU6IEhtY3RzQmFubmVySW5mbykge1xuICAgIHRoaXMuYmFubmVyRGF0YSA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25CdXR0b25zOiB7bmFtZTogc3RyaW5nLCBjbGFzczogc3RyaW5nLCBhY3Rpb24oKToge319W107XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93V2FybmluZ01lc3NhZ2U6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyBoYXNCYWNrTGluazogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmhhc0JhY2tMaW5rID0gdGhpcy5iYWNrTGluayAhPT0gdW5kZWZpbmVkIHx8IHRoaXMuYmFja0V2ZW50Lm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIG9uR29CYWNrKCkge1xuICAgIHRoaXMuYmFja0V2ZW50LmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ export class HmctsPaginationComponent {
3
+ constructor() {
4
+ this.maxSize = 7;
5
+ this.pageSize = 10;
6
+ this.showPageNumbers = true;
7
+ this.showResultCount = true;
8
+ this.pageChange = new EventEmitter();
9
+ this.pageBoundsCorrection = new EventEmitter();
10
+ }
11
+ }
12
+ HmctsPaginationComponent.decorators = [
13
+ { type: Component, args: [{
14
+ selector: 'xuilib-hmcts-pagination',
15
+ template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\">\n\n <nav class=\"hmcts-pagination\" id=\"pagination-label\">\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n <ul class=\"hmcts-pagination__list\" *ngIf=\"!(p.pages.length <= 1)\">\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\" [class.disabled]=\"p.isFirstPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"1 < p.getCurrent()\" (keyup.enter)=\"p.previous()\"\n (click)=\"p.previous()\">{{'Previous' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'set of pages' | rpxTranslate}}</span></a>\n </li>\n\n <ng-container *ngIf=\"showPageNumbers\">\n <li class=\"hmcts-pagination__item\" [class.hmcts-pagination__item--active]=\"p.getCurrent() === page.value\"\n [class.hmcts-pagination__item--dots]=\"page.label === '...'\" *ngFor=\"let page of p.pages\">\n <a class=\"hmcts-pagination__link\" [routerLink]=\"\" (keyup.enter)=\"p.setCurrent(page.value)\"\n (click)=\"p.setCurrent(page.value)\" *ngIf=\"p.getCurrent() !== page.value\">\n <span class=\"govuk-visually-hidden\">{{'page' | rpxTranslate}} </span>\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\" [class.disabled]=\"p.isLastPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"!p.isLastPage()\" (keyup.enter)=\"p.next()\"\n (click)=\"p.next()\">{{'Next' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'page' | rpxTranslate}}</span></a>\n </li>\n\n </ul>\n <p class=\"hmcts-pagination__results\" *ngIf=\"showResultCount\">{{'Showing' | rpxTranslate}} <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n {{'to' | rpxTranslate}} <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> {{'of' | rpxTranslate}} <b>{{p.getTotalItems()}}</b> {{'results' | rpxTranslate}}</p>\n </nav>\n\n</pagination-template>\n",
16
+ styles: [".hmcts-pagination__results{float:right}"]
17
+ },] }
18
+ ];
19
+ HmctsPaginationComponent.propDecorators = {
20
+ id: [{ type: Input }],
21
+ maxSize: [{ type: Input }],
22
+ pageSize: [{ type: Input }],
23
+ showPageNumbers: [{ type: Input }],
24
+ showResultCount: [{ type: Input }],
25
+ pageChange: [{ type: Output }],
26
+ pageBoundsCorrection: [{ type: Output }]
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1wYWdpbmF0aW9uL2htY3RzLXBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQVFrQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNGLENBQUM7OztZQWZBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxnZ0ZBQWdEOzthQUVqRDs7O2lCQUdFLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxNQUFNO21DQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItaG1jdHMtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzUGFnaW5hdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhTaXplOiBudW1iZXIgPSA3O1xuICBASW5wdXQoKSBwdWJsaWMgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1BhZ2VOdW1iZXJzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dSZXN1bHRDb3VudDogYm9vbGVhbiA9IHRydWU7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdlQm91bmRzQ29ycmVjdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class HmctsPrimaryNavigationComponent {
3
+ constructor() {
4
+ }
5
+ set userLoggedIn(value) {
6
+ this.isUserLoggedIn = value;
7
+ }
8
+ }
9
+ HmctsPrimaryNavigationComponent.decorators = [
10
+ { type: Component, args: [{
11
+ selector: 'xuilib-hmcts-primary-navigation',
12
+ template: "<nav *ngIf=\"isUserLoggedIn\" class=\"hmcts-primary-navigation\" [attr.aria-label]=\"label\">\n <div class=\"hmcts-primary-navigation__container\">\n <div class=\"govuk-header__logo\" *ngIf=\"isBrandedHeader\"></div>\n <ul class=\"hmcts-primary-navigation__list\">\n <li class=\"hmcts-primary-navigation__item\" *ngFor=\"let item of items\">\n <a class=\"hmcts-primary-navigation__link\" [attr.aria-current]=\"item.active ? true: null\" [routerLink]=\"item.href\" [innerHTML]=\"item.text | rpxTranslate\"></a>\n </li>\n </ul>\n </div>\n</nav>\n",
13
+ styles: [""]
14
+ },] }
15
+ ];
16
+ HmctsPrimaryNavigationComponent.ctorParameters = () => [];
17
+ HmctsPrimaryNavigationComponent.propDecorators = {
18
+ userLoggedIn: [{ type: Input }],
19
+ label: [{ type: Input }],
20
+ items: [{ type: Input }],
21
+ isBrandedHeader: [{ type: Input }]
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi9obWN0cy1wcmltYXJ5LW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2pELE1BQU0sT0FBTywrQkFBK0I7SUFXeEM7SUFFQSxDQUFDO0lBWEQsSUFBb0IsWUFBWSxDQUFDLEtBQVU7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs7O1lBVEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLDJrQkFBd0Q7O2FBRTNEOzs7OzJCQUdJLEtBQUs7b0JBSUwsS0FBSztvQkFDTCxLQUFLOzhCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLXByaW1hcnktbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHVzZXJMb2dnZWRJbih2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuaXNVc2VyTG9nZ2VkSW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IHthY3RpdmU6IGJvb2xlYW4sIGhyZWY6IHN0cmluZywgdGV4dDogc3RyaW5nfVtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0JyYW5kZWRIZWFkZXI6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgaXNVc2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoKSB7XG5cbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Component, Input } from '@angular/core';
2
+ export class HmctsSubNavigationComponent {
3
+ }
4
+ HmctsSubNavigationComponent.decorators = [
5
+ { type: Component, args: [{
6
+ selector: 'xuilib-hmcts-sub-navigation',
7
+ template: "<nav class=\"hmcts-sub-navigation\" attr.aria-label=\"{{label}}\" role=\"navigation\" *ngIf=\"items\">\n <ul class=\"hmcts-sub-navigation__list\">\n <li class=\"hmcts-sub-navigation__item\" *ngFor=\"let item of items\">\n <a data-selector=\"sub-nav-link\" class=\"hmcts-sub-navigation__link\" [routerLink]=\"item.href\"\n [attr.aria-current]=\"item.active ? 'page' : null\">\n {{item.text | rpxTranslate}}\n <span *ngIf=\"item.roundel && item.roundel > 0 \" class=\"xui-alert-link__number\"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n",
8
+ styles: [".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]
9
+ },] }
10
+ ];
11
+ HmctsSubNavigationComponent.propDecorators = {
12
+ label: [{ type: Input }],
13
+ items: [{ type: Input }]
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtc3ViLW5hdmlnYXRpb24vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2pELE1BQU0sT0FBTywyQkFBMkI7OztZQUx2QyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjtnQkFFdkMsdW9CQUFvRDs7YUFDdkQ7OztvQkFFSSxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLXN1Yi1uYXZpZ2F0aW9uJyxcbiAgICBzdHlsZVVybHM6IFsnaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBTdWJOYXZpZ2F0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ViTmF2aWdhdGlvbiB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGhyZWY6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgcm91bmRlbD86IG51bWJlcjtcbn1cblxuIl19
@@ -0,0 +1,29 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ /*
3
+ * Remove Host Directive
4
+ * Used to remove native angular host tags tags
5
+ * sometimes needed because of CSS dependencies
6
+ * */
7
+ export class RemoveHostDirective {
8
+ constructor(el) {
9
+ this.el = el;
10
+ }
11
+ ngOnInit() {
12
+ const nativeElement = this.el.nativeElement;
13
+ const parentElement = nativeElement.parentElement;
14
+ // move all children out of the element
15
+ while (nativeElement.firstChild) {
16
+ parentElement.insertBefore(nativeElement.firstChild, nativeElement);
17
+ }
18
+ parentElement.removeChild(nativeElement);
19
+ }
20
+ }
21
+ RemoveHostDirective.decorators = [
22
+ { type: Directive, args: [{
23
+ selector: '[appRemoveHost]'
24
+ },] }
25
+ ];
26
+ RemoveHostDirective.ctorParameters = () => [
27
+ { type: ElementRef }
28
+ ];
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWhvc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2RpcmVjdGl2ZXMvcmVtb3ZlLWhvc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzVEOzs7O0lBSUk7QUFJSixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQTZCLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV4QyxRQUFRO1FBQ2IsTUFBTSxhQUFhLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFnQixhQUFhLENBQUMsYUFBYSxDQUFDO1FBQy9ELHVDQUF1QztRQUN2QyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDL0IsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUFmRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjthQUM1Qjs7O1lBUmtCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLypcbiogUmVtb3ZlIEhvc3QgRGlyZWN0aXZlXG4qIFVzZWQgdG8gcmVtb3ZlIG5hdGl2ZSBhbmd1bGFyIGhvc3QgdGFncyB0YWdzXG4qIHNvbWV0aW1lcyBuZWVkZWQgYmVjYXVzZSBvZiBDU1MgZGVwZW5kZW5jaWVzXG4qICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwUmVtb3ZlSG9zdF0nXG59KVxuZXhwb3J0IGNsYXNzIFJlbW92ZUhvc3REaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gbmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIC8vIG1vdmUgYWxsIGNoaWxkcmVuIG91dCBvZiB0aGUgZWxlbWVudFxuICAgIHdoaWxlIChuYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCwgbmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICAgIHBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQobmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GovUiService {
4
+ constructor() { }
5
+ }
6
+ GovUiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GovUiService_Factory() { return new GovUiService(); }, token: GovUiService, providedIn: "root" });
7
+ GovUiService.decorators = [
8
+ { type: Injectable, args: [{
9
+ providedIn: 'root'
10
+ },] }
11
+ ];
12
+ GovUiService.ctorParameters = () => [];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9nb3YtdWkvZ292LXVpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsZ0JBQWdCLENBQUM7Ozs7WUFMbEIsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHb3ZVaVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
@@ -2,6 +2,5 @@ export * from './tcDocument.model';
2
2
  export * from './contact-details.model';
3
3
  export * from './feature-user';
4
4
  export * from './user.model';
5
- export * from './user-access-type.model';
6
5
  export * from './filter.model';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL21vZGVscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGNEb2N1bWVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhY3QtZGV0YWlscy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtdXNlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWFjY2Vzcy10eXBlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLm1vZGVsJztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL21vZGVscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RjRG9jdW1lbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWN0LWRldGFpbHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLm1vZGVsJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlscyB7XG4gIGNhc2VSb2xlcz86IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gIGlkYW1JZDogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ import { Pipe } from '@angular/core';
2
+ export class CapitalizePipe {
3
+ transform(value) {
4
+ const lowerCaseString = value.toLowerCase();
5
+ return lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);
6
+ }
7
+ }
8
+ CapitalizePipe.decorators = [
9
+ { type: Pipe, args: [{ name: 'capitalize' },] }
10
+ ];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvcGlwZXMvY2FwaXRhbGl6ZS9jYXBpdGFsaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHcEQsTUFBTSxPQUFPLGNBQWM7SUFDbEIsU0FBUyxDQUFDLEtBQWE7UUFDNUIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7OztZQUxGLElBQUksU0FBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtuYW1lOiAnY2FwaXRhbGl6ZSd9KVxuZXhwb3J0IGNsYXNzIENhcGl0YWxpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbG93ZXJDYXNlU3RyaW5nID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbG93ZXJDYXNlU3RyaW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbG93ZXJDYXNlU3RyaW5nLnNsaWNlKDEpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import { AddressParser } from './address-parser';
5
+ import { AddressType } from './address-type.enum';
6
+ export class AddressService {
7
+ constructor(http) {
8
+ this.http = http;
9
+ }
10
+ getAddressesForPostcode(postcode) {
11
+ return this.http
12
+ .get('/external/addresses?postcode=${postcode}'.replace('${postcode}', postcode), undefined)
13
+ .pipe(map((res) => res.results))
14
+ .pipe(map(output => output ? output.map((addresses) => this.format(new AddressParser().parse(addresses[AddressType.DPA]))) : []));
15
+ }
16
+ format(addressModel) {
17
+ return this.formatAddressLines(this.shiftAddressLinesUp(addressModel));
18
+ }
19
+ formatAddressLines(addressModel) {
20
+ ['addressLine1', 'addressLine2', 'addressLine3', 'postTown'].forEach((value) => {
21
+ addressModel[value] = this.toCapitalCase(addressModel[value]);
22
+ });
23
+ return addressModel;
24
+ }
25
+ shiftAddressLinesUp(addressModel) {
26
+ if (addressModel.addressLine2 === '') {
27
+ addressModel.addressLine2 = addressModel.addressLine3;
28
+ addressModel.addressLine3 = '';
29
+ }
30
+ if (addressModel.addressLine1 === '') {
31
+ addressModel.addressLine1 = addressModel.addressLine2;
32
+ addressModel.addressLine2 = '';
33
+ }
34
+ return addressModel;
35
+ }
36
+ toCapitalCase(sentence) {
37
+ sentence = sentence.toLowerCase();
38
+ sentence.split(' ').forEach((value) => {
39
+ sentence = sentence.replace(value, value.charAt(0).toUpperCase() + value.substr(1));
40
+ });
41
+ return sentence;
42
+ }
43
+ }
44
+ AddressService.decorators = [
45
+ { type: Injectable }
46
+ ];
47
+ AddressService.ctorParameters = () => [
48
+ { type: HttpClient }
49
+ ];
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvYWRkcmVzcy9hZGRyZXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBNkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUM3QyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBTSwwQ0FBMEMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLFNBQW1CLENBQUM7YUFDMUcsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzNCLElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRSxDQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFDO0lBQ04sQ0FBQztJQUVPLE1BQU0sQ0FBQyxZQUEwQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsWUFBMEI7UUFDbkQsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7WUFDeEcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsWUFBMEI7UUFDcEQsSUFBSSxZQUFZLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRTtZQUNwQyxZQUFZLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7WUFDdEQsWUFBWSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7U0FDaEM7UUFDRCxJQUFJLFlBQVksQ0FBQyxZQUFZLEtBQUssRUFBRSxFQUFFO1lBQ3BDLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztZQUN0RCxZQUFZLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBZ0I7UUFDcEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xDLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDLENBQ0YsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OztZQWhERixVQUFVOzs7WUFSRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkZHJlc3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi9hZGRyZXNzLXBhcnNlcic7XG5pbXBvcnQgeyBBZGRyZXNzVHlwZSB9IGZyb20gJy4vYWRkcmVzcy10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWRkcmVzc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgcHVibGljIGdldEFkZHJlc3Nlc0ZvclBvc3Rjb2RlKHBvc3Rjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFkZHJlc3NNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnk+KCcvZXh0ZXJuYWwvYWRkcmVzc2VzP3Bvc3Rjb2RlPSR7cG9zdGNvZGV9Jy5yZXBsYWNlKCcke3Bvc3Rjb2RlfScsIHBvc3Rjb2RlKSwgdW5kZWZpbmVkIGFzIG9iamVjdClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLnJlc3VsdHMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChvdXRwdXQgPT4gb3V0cHV0ID8gb3V0cHV0Lm1hcCgoYWRkcmVzc2VzOiBhbnkpID0+XG4gICAgICAgICAgdGhpcy5mb3JtYXQobmV3IEFkZHJlc3NQYXJzZXIoKS5wYXJzZShhZGRyZXNzZXNbQWRkcmVzc1R5cGUuRFBBXSkpXG4gICAgICAgICkgOiBbXSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdChhZGRyZXNzTW9kZWw6IEFkZHJlc3NNb2RlbCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdEFkZHJlc3NMaW5lcyh0aGlzLnNoaWZ0QWRkcmVzc0xpbmVzVXAoYWRkcmVzc01vZGVsKSk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEFkZHJlc3NMaW5lcyhhZGRyZXNzTW9kZWw6IEFkZHJlc3NNb2RlbCkge1xuICAgIFsnYWRkcmVzc0xpbmUxJywgJ2FkZHJlc3NMaW5lMicsICdhZGRyZXNzTGluZTMnLCAncG9zdFRvd24nXS5mb3JFYWNoKCh2YWx1ZToga2V5b2YgdHlwZW9mIGFkZHJlc3NNb2RlbCkgPT4ge1xuICAgICAgYWRkcmVzc01vZGVsW3ZhbHVlXSA9IHRoaXMudG9DYXBpdGFsQ2FzZShhZGRyZXNzTW9kZWxbdmFsdWVdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWRkcmVzc01vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzaGlmdEFkZHJlc3NMaW5lc1VwKGFkZHJlc3NNb2RlbDogQWRkcmVzc01vZGVsKSB7XG4gICAgaWYgKGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTIgPT09ICcnKSB7XG4gICAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUyID0gYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMztcbiAgICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTMgPSAnJztcbiAgICB9XG4gICAgaWYgKGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTEgPT09ICcnKSB7XG4gICAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUxID0gYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMjtcbiAgICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTIgPSAnJztcbiAgICB9XG4gICAgcmV0dXJuIGFkZHJlc3NNb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgdG9DYXBpdGFsQ2FzZShzZW50ZW5jZTogc3RyaW5nKSB7XG4gICAgc2VudGVuY2UgPSBzZW50ZW5jZS50b0xvd2VyQ2FzZSgpO1xuICAgIHNlbnRlbmNlLnNwbGl0KCcgJykuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgc2VudGVuY2UgPSBzZW50ZW5jZS5yZXBsYWNlKHZhbHVlLCB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnN1YnN0cigxKSk7XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VudGVuY2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,157 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { distinctUntilChanged } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ export class CaseSharingStateService {
6
+ constructor() {
7
+ this.caseState = [];
8
+ this.subject = new BehaviorSubject(this.caseState);
9
+ }
10
+ get state() {
11
+ return this.subject.asObservable().pipe(distinctUntilChanged());
12
+ }
13
+ setCases(cases) {
14
+ this.caseState = [];
15
+ cases.forEach(aCase => {
16
+ this.caseState.push({ caseId: aCase.caseId, caseTitle: aCase.caseTitle, caseTypeId: aCase.caseTypeId, roles: aCase.roles,
17
+ sharedWith: aCase.sharedWith, pendingShares: aCase.pendingShares, pendingUnshares: aCase.pendingUnshares });
18
+ });
19
+ this.subject.next(this.caseState);
20
+ }
21
+ getCases() {
22
+ return this.caseState;
23
+ }
24
+ requestShare(user) {
25
+ const oldSharedCases = this.caseState.slice();
26
+ const newSharedCases = [];
27
+ for (const sharedCase of oldSharedCases) {
28
+ if (!sharedCase.pendingShares) {
29
+ sharedCase.pendingShares = [];
30
+ }
31
+ const newPendingShares = sharedCase.pendingShares.slice();
32
+ if (!sharedCase.pendingUnshares) {
33
+ sharedCase.pendingUnshares = [];
34
+ }
35
+ const newPendingUnshares = sharedCase.pendingUnshares.slice();
36
+ if (!this.userHasAccess(sharedCase, user)) {
37
+ if (!newPendingShares.some(u => u.email === user.email)) {
38
+ newPendingShares.push(user);
39
+ }
40
+ }
41
+ else {
42
+ for (let u = 0, ul = newPendingUnshares.length; u < ul; u++) {
43
+ if (newPendingUnshares[u].email === user.email) {
44
+ newPendingUnshares.splice(u, 1);
45
+ break;
46
+ }
47
+ }
48
+ }
49
+ const newSharedCase = Object.assign(Object.assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
50
+ newSharedCases.push(newSharedCase);
51
+ }
52
+ this.subject.next(newSharedCases);
53
+ return newSharedCases;
54
+ }
55
+ requestUnshare(user, caseId) {
56
+ const newSharedCases = [];
57
+ for (const sharedCase of this.caseState) {
58
+ // If no caseId, then request unshare from all shared cases
59
+ if (caseId === undefined || sharedCase.caseId === caseId) {
60
+ if (!sharedCase.pendingUnshares) {
61
+ sharedCase.pendingUnshares = [];
62
+ }
63
+ const newPendingUnshares = sharedCase.pendingUnshares.slice();
64
+ // If the user is pending shared access, just remove them from pendingShares
65
+ let newPendingShares;
66
+ let indexOfPreviouslyAddedUser = -1;
67
+ if (sharedCase.pendingShares) {
68
+ indexOfPreviouslyAddedUser = sharedCase.pendingShares.findIndex(u => u.idamId === user.idamId);
69
+ if (indexOfPreviouslyAddedUser > -1) {
70
+ newPendingShares = sharedCase.pendingShares.slice();
71
+ newPendingShares.splice(indexOfPreviouslyAddedUser, 1);
72
+ }
73
+ }
74
+ // If the user does not exist in pendingShares, and already has shared access (i.e. exists in sharedWith),
75
+ // request removal of shared access
76
+ if (indexOfPreviouslyAddedUser === -1 && sharedCase.sharedWith && sharedCase.sharedWith.findIndex(u => u.idamId === user.idamId) > -1) {
77
+ if (!newPendingUnshares.some(u => u.email === user.email)) {
78
+ newPendingUnshares.push(user);
79
+ }
80
+ }
81
+ const newSharedCase = Object.assign(Object.assign(Object.assign({}, sharedCase), { pendingUnshares: newPendingUnshares }), (newPendingShares && {
82
+ pendingShares: newPendingShares
83
+ }));
84
+ newSharedCases.push(newSharedCase);
85
+ }
86
+ else {
87
+ newSharedCases.push(sharedCase);
88
+ }
89
+ }
90
+ this.subject.next(newSharedCases);
91
+ return newSharedCases;
92
+ }
93
+ requestCancel(caseId, user) {
94
+ const newSharedCases = [];
95
+ for (const sharedCase of this.caseState) {
96
+ if (sharedCase.caseId === caseId) {
97
+ if (!sharedCase.pendingUnshares) {
98
+ sharedCase.pendingUnshares = [];
99
+ }
100
+ const newPendingUnshares = sharedCase.pendingUnshares.slice();
101
+ for (let iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
102
+ if (newPendingUnshares[iPendingUnshares].email === user.email) {
103
+ newPendingUnshares.splice(iPendingUnshares, 1);
104
+ break;
105
+ }
106
+ }
107
+ if (!sharedCase.pendingShares) {
108
+ sharedCase.pendingShares = [];
109
+ }
110
+ const newPendingShares = sharedCase.pendingShares.slice();
111
+ for (let iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
112
+ if (newPendingShares[iPendingShares].email === user.email) {
113
+ newPendingShares.splice(iPendingShares, 1);
114
+ break;
115
+ }
116
+ }
117
+ const newSharedCase = Object.assign(Object.assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
118
+ newSharedCases.push(newSharedCase);
119
+ }
120
+ else {
121
+ newSharedCases.push(sharedCase);
122
+ }
123
+ }
124
+ this.subject.next(newSharedCases);
125
+ return;
126
+ }
127
+ removeCase(caseId) {
128
+ if (this.caseState.length > 1) {
129
+ for (let i = 0, l = this.caseState.length; i < l; i++) {
130
+ if (this.caseState[i].caseId === caseId) {
131
+ this.caseState.splice(i, 1);
132
+ this.subject.next(this.caseState);
133
+ return;
134
+ }
135
+ }
136
+ }
137
+ }
138
+ userHasAccess(c, user) {
139
+ if (!c.sharedWith) {
140
+ return false;
141
+ }
142
+ for (let i = 0, l = c.sharedWith.length; i < l; i++) {
143
+ if (c.sharedWith[i].email === user.email) {
144
+ return true;
145
+ }
146
+ }
147
+ return false;
148
+ }
149
+ }
150
+ CaseSharingStateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
151
+ CaseSharingStateService.decorators = [
152
+ { type: Injectable, args: [{
153
+ providedIn: 'root'
154
+ },] }
155
+ ];
156
+ CaseSharingStateService.ctorParameters = () => [];
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU90RCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDO1FBVFEsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVE3RCxDQUFDO0lBTmpCLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQ3JDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBSU0sUUFBUSxDQUFDLEtBQW1CO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ3RILFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxL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Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OztZQXZLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlIHtcblxuICBwcml2YXRlIGNhc2VTdGF0ZTogU2hhcmVkQ2FzZVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hhcmVkQ2FzZVtdPih0aGlzLmNhc2VTdGF0ZSk7XG5cbiAgcHVibGljIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIHNldENhc2VzKGNhc2VzOiBTaGFyZWRDYXNlW10pOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VTdGF0ZSA9IFtdO1xuICAgIGNhc2VzLmZvckVhY2goYUNhc2UgPT4ge1xuICAgICAgdGhpcy5jYXNlU3RhdGUucHVzaCh7IGNhc2VJZDogYUNhc2UuY2FzZUlkLCBjYXNlVGl0bGU6IGFDYXNlLmNhc2VUaXRsZSwgY2FzZVR5cGVJZDogYUNhc2UuY2FzZVR5cGVJZCwgcm9sZXM6IGFDYXNlLnJvbGVzLFxuICAgICAgICBzaGFyZWRXaXRoOiBhQ2FzZS5zaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzOiBhQ2FzZS5wZW5kaW5nU2hhcmVzLCBwZW5kaW5nVW5zaGFyZXM6IGFDYXNlLnBlbmRpbmdVbnNoYXJlcyB9KTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YmplY3QubmV4dCh0aGlzLmNhc2VTdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZXMoKTogU2hhcmVkQ2FzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5jYXNlU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFNoYXJlKHVzZXI6IFVzZXJEZXRhaWxzKTogU2hhcmVkQ2FzZVtdIHtcbiAgICBjb25zdCBvbGRTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gdGhpcy5jYXNlU3RhdGUuc2xpY2UoKTtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIG9sZFNoYXJlZENhc2VzKSB7XG4gICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1BlbmRpbmdTaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICBpZiAoIXRoaXMudXNlckhhc0FjY2VzcyhzaGFyZWRDYXNlLCB1c2VyKSkge1xuICAgICAgICBpZiAoIW5ld1BlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuZW1haWwgPT09IHVzZXIuZW1haWwpKSB7XG4gICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGxldCB1ID0gMCwgdWwgPSBuZXdQZW5kaW5nVW5zaGFyZXMubGVuZ3RoOyB1IDwgdWw7IHUrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbdV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UodSwgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgIHBlbmRpbmdVbnNoYXJlczogbmV3UGVuZGluZ1Vuc2hhcmVzLFxuICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICB9O1xuICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICB9XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQobmV3U2hhcmVkQ2FzZXMpO1xuICAgIHJldHVybiBuZXdTaGFyZWRDYXNlcztcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0VW5zaGFyZSh1c2VyOiBVc2VyRGV0YWlscywgY2FzZUlkPzogc3RyaW5nKTogU2hhcmVkQ2FzZVtdIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICAvLyBJZiBubyBjYXNlSWQsIHRoZW4gcmVxdWVzdCB1bnNoYXJlIGZyb20gYWxsIHNoYXJlZCBjYXNlc1xuICAgICAgaWYgKGNhc2VJZCA9PT0gdW5kZWZpbmVkIHx8IHNoYXJlZENhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgcGVuZGluZyBzaGFyZWQgYWNjZXNzLCBqdXN0IHJlbW92ZSB0aGVtIGZyb20gcGVuZGluZ1NoYXJlc1xuICAgICAgICBsZXQgbmV3UGVuZGluZ1NoYXJlcztcbiAgICAgICAgbGV0IGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID0gLTE7XG4gICAgICAgIGlmIChzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5maW5kSW5kZXgodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICAgIGlmIChpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciA+IC0xKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnNwbGljZShpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGRvZXMgbm90IGV4aXN0IGluIHBlbmRpbmdTaGFyZXMsIGFuZCBhbHJlYWR5IGhhcyBzaGFyZWQgYWNjZXNzIChpLmUuIGV4aXN0cyBpbiBzaGFyZWRXaXRoKSxcbiAgICAgICAgLy8gcmVxdWVzdCByZW1vdmFsIG9mIHNoYXJlZCBhY2Nlc3NcbiAgICAgICAgaWYgKGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID09PSAtMSAmJiBzaGFyZWRDYXNlLnNoYXJlZFdpdGggJiYgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmZpbmRJbmRleChcbiAgICAgICAgICB1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkgPiAtMSkge1xuICAgICAgICAgIGlmICghbmV3UGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmVtYWlsID09PSB1c2VyLmVtYWlsKSkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICAuLi4obmV3UGVuZGluZ1NoYXJlcyAmJiB7XG4gICAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm4gbmV3U2hhcmVkQ2FzZXM7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlU3RhdGUubGVuZ3RoID4gMSkge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLmNhc2VTdGF0ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgdGhpcy5jYXNlU3RhdGUuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXNlckhhc0FjY2VzcyhjOiBTaGFyZWRDYXNlLCB1c2VyOiBVc2VyRGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIGlmICghYy5zaGFyZWRXaXRoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gYy5zaGFyZWRXaXRoLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGMuc2hhcmVkV2l0aFtpXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class CookieService {
6
+ constructor(doc) {
7
+ this.document = doc;
8
+ }
9
+ setCookie(key, value, expiryDate) {
10
+ const expiry = expiryDate ? ` expires=${expiryDate}` : '';
11
+ const cookie = `${key}=${value};${expiry}`;
12
+ this.document.cookie = cookie;
13
+ }
14
+ getCookie(key) {
15
+ const cookieValue = this.document.cookie
16
+ .split('; ')
17
+ .find(row => row.startsWith(`${key}=`))
18
+ .split('=')[1];
19
+ return cookieValue;
20
+ }
21
+ deleteCookie(key, path, domain) {
22
+ const pathValue = path ? `; path=${path}` : '';
23
+ const domainValue = domain ? `; domain=${domain}` : '';
24
+ this.document.cookie = `${key}=${pathValue}${domainValue}; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0`;
25
+ }
26
+ deleteCookieByPartialMatch(key, path, domain) {
27
+ this.document.cookie
28
+ .split('; ')
29
+ .filter(row => row.startsWith(`${key}`))
30
+ .forEach(element => {
31
+ this.deleteCookie(element.split('=')[0], path, domain);
32
+ });
33
+ }
34
+ checkCookie(key) {
35
+ return this.document.cookie.split('; ').some(item => item.trim().startsWith(`${key}=`));
36
+ }
37
+ }
38
+ CookieService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
39
+ CookieService.decorators = [
40
+ { type: Injectable, args: [{
41
+ providedIn: 'root'
42
+ },] }
43
+ ];
44
+ CookieService.ctorParameters = () => [
45
+ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
46
+ ];
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jb29raWUvY29va2llLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLbkQsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFBOEIsR0FBUztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQWUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsVUFBbUI7UUFDOUQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVc7UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFDN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksU0FBUyxHQUFHLFdBQVcsb0RBQW9ELENBQUM7SUFDL0csQ0FBQztJQUVNLDBCQUEwQixDQUFDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07YUFDakIsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7OztZQXpDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FJYyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb29raWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudD86IERvY3VtZW50O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvYz86IGFueSkge1xuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2MgYXMgRG9jdW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29va2llKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBleHBpcnlEYXRlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhwaXJ5ID0gZXhwaXJ5RGF0ZSA/IGAgZXhwaXJlcz0ke2V4cGlyeURhdGV9YCA6ICcnO1xuICAgIGNvbnN0IGNvb2tpZSA9IGAke2tleX09JHt2YWx1ZX07JHtleHBpcnl9YDtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb29raWUoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvb2tpZVZhbHVlID0gdGhpcy5kb2N1bWVudC5jb29raWVcbiAgICAgIC5zcGxpdCgnOyAnKVxuICAgICAgLmZpbmQocm93ID0+IHJvdy5zdGFydHNXaXRoKGAke2tleX09YCkpXG4gICAgICAuc3BsaXQoJz0nKVsxXTtcbiAgICByZXR1cm4gY29va2llVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ29va2llKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoVmFsdWUgPSBwYXRoID8gYDsgcGF0aD0ke3BhdGh9YCA6ICcnO1xuICAgIGNvbnN0IGRvbWFpblZhbHVlID0gZG9tYWluID8gYDsgZG9tYWluPSR7ZG9tYWlufWAgOiAnJztcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGAke2tleX09JHtwYXRoVmFsdWV9JHtkb21haW5WYWx1ZX07IGV4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQ7IG1heC1hZ2U9MGA7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ29va2llQnlQYXJ0aWFsTWF0Y2goa2V5OiBzdHJpbmcsIHBhdGg/OiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maWx0ZXIocm93ID0+IHJvdy5zdGFydHNXaXRoKGAke2tleX1gKSlcbiAgICAgIC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICB0aGlzLmRlbGV0ZUNvb2tpZShlbGVtZW50LnNwbGl0KCc9JylbMF0sIHBhdGgsIGRvbWFpbik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0Nvb2tpZShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKS5zb21lKGl0ZW0gPT4gaXRlbS50cmltKCkuc3RhcnRzV2l0aChgJHtrZXl9PWApKTtcbiAgfVxufVxuIl19