@hmcts/rpx-xui-common-lib 2.0.19 → 2.0.21

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 (279) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/components/accessibility/accessibility.component.mjs +725 -0
  3. package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
  4. package/esm2022/lib/components/contact-details/contact-details.component.mjs +104 -0
  5. package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
  6. package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
  7. package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
  8. package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
  9. package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
  10. package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
  11. package/{esm2020 → esm2022}/lib/components/find-task-name/find-task-name.component.mjs +53 -53
  12. package/{esm2020 → esm2022}/lib/components/generic-filter/generic-filter-utils.mjs +1 -1
  13. package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1184 -0
  14. package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
  15. package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
  16. package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
  17. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
  18. package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
  19. package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
  20. package/esm2022/lib/components/search-location/search-location.component.mjs +237 -0
  21. package/esm2022/lib/components/search-service/search-service.component.mjs +83 -0
  22. package/esm2022/lib/components/search-venue/search-venue.component.mjs +190 -0
  23. package/esm2022/lib/components/selected-case/selected-case.component.mjs +379 -0
  24. package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
  25. package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
  26. package/esm2022/lib/components/service-message/service-message.component.mjs +51 -0
  27. package/esm2022/lib/components/service-messages/service-messages.component.mjs +76 -0
  28. package/esm2022/lib/components/share-case/share-case.component.mjs +420 -0
  29. package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
  30. package/esm2022/lib/components/tab/tab.component.mjs +40 -0
  31. package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
  32. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
  33. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
  34. package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
  35. package/esm2022/lib/components/user-details/user-details.component.mjs +273 -0
  36. package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
  37. package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
  38. package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
  39. package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
  40. package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
  41. package/{esm2020 → esm2022}/lib/directives/let/let.directive.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/exui-common-lib.module.mjs +15 -15
  43. package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
  44. package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
  45. package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +121 -0
  46. package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
  47. package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
  48. package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
  49. package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
  50. package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
  51. package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
  52. package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
  53. package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
  54. package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
  55. package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
  56. package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
  57. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
  58. package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
  59. package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
  60. package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
  61. package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
  62. package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
  63. package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
  64. package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
  65. package/{esm2020 → esm2022}/lib/gov-ui/gov-ui.service.mjs +5 -5
  66. package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
  67. package/{esm2020 → esm2022}/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs +1 -1
  68. package/{esm2020 → esm2022}/lib/gov-ui/validators/date.validator.mjs +1 -1
  69. package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
  70. package/esm2022/lib/models/address-option.model.mjs +21 -0
  71. package/{esm2020 → esm2022}/lib/pipes/capitalize/capitalize.pipe.mjs +4 -4
  72. package/esm2022/lib/services/address/address-parser.mjs +76 -0
  73. package/esm2022/lib/services/address/address.service.mjs +55 -0
  74. package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
  75. package/{esm2020 → esm2022}/lib/services/cookie/cookie.service.mjs +6 -6
  76. package/{esm2020 → esm2022}/lib/services/feature-toggle/feature-toggle.guard.mjs +5 -5
  77. package/{esm2020 → esm2022}/lib/services/feature-toggle/feature-toggle.service.mjs +4 -4
  78. package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
  79. package/esm2022/lib/services/filter/filter.service.mjs +95 -0
  80. package/esm2022/lib/services/find-person/find-person.service.mjs +83 -0
  81. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +68 -0
  82. package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +71 -0
  83. package/{esm2020 → esm2022}/lib/services/loading/loading.service.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/services/locations/location.service.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/services/manage-session/manage-session.services.mjs +5 -5
  86. package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
  87. package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
  88. package/{esm2020 → esm2022}/lib/services/role-guard/role.guard.mjs +5 -5
  89. package/{esm2020 → esm2022}/lib/services/role-guard/role.service.mjs +4 -4
  90. package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
  91. package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
  92. package/{esm2020 → esm2022}/lib/services/timeout-notifications/timeout-notifications.service.mjs +5 -5
  93. package/{fesm2020 → fesm2022}/hmcts-rpx-xui-common-lib.mjs +2823 -2835
  94. package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
  95. package/lib/components/checkbox-list/checkbox-list.component.d.ts +1 -1
  96. package/lib/components/contact-details/contact-details.component.d.ts +1 -1
  97. package/lib/components/cookie-banner/cookie-banner.component.d.ts +1 -1
  98. package/lib/components/due-date/due-date.component.d.ts +1 -1
  99. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +1 -1
  100. package/lib/components/find-location/find-location.component.d.ts +1 -1
  101. package/lib/components/find-person/find-person.component.d.ts +1 -1
  102. package/lib/components/find-service/find-service.component.d.ts +1 -1
  103. package/lib/components/find-task-name/find-task-name.component.d.ts +1 -1
  104. package/lib/components/generic-filter/generic-filter.component.d.ts +1 -1
  105. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  106. package/lib/components/invite-user-form/invite-user-form.component.d.ts +1 -1
  107. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +1 -1
  108. package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -1
  109. package/lib/components/pagination/pagination.component.d.ts +1 -1
  110. package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
  111. package/lib/components/search-location/search-location.component.d.ts +1 -1
  112. package/lib/components/search-service/search-service.component.d.ts +1 -1
  113. package/lib/components/search-venue/search-venue.component.d.ts +1 -1
  114. package/lib/components/selected-case/selected-case.component.d.ts +1 -1
  115. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +1 -1
  116. package/lib/components/selected-case-list/selected-case-list.component.d.ts +1 -1
  117. package/lib/components/service-message/service-message.component.d.ts +1 -1
  118. package/lib/components/service-messages/service-messages.component.d.ts +1 -1
  119. package/lib/components/share-case/share-case.component.d.ts +1 -1
  120. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +1 -1
  121. package/lib/components/tab/tab.component.d.ts +1 -1
  122. package/lib/components/tc-confirm/tc-confirm.component.d.ts +1 -1
  123. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +1 -1
  124. package/lib/components/user-details/user-details.component.d.ts +1 -1
  125. package/lib/components/user-list/user-list.component.d.ts +1 -1
  126. package/lib/components/user-select/user-select.component.d.ts +1 -1
  127. package/lib/components/write-address/write-address.component.d.ts +1 -1
  128. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +1 -1
  129. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  130. package/lib/directives/let/let.directive.d.ts +1 -1
  131. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +1 -1
  132. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +1 -1
  133. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +1 -1
  134. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
  135. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
  136. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +1 -1
  137. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +1 -1
  138. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -1
  139. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -1
  140. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +1 -1
  141. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +1 -1
  142. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +1 -1
  143. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +1 -1
  144. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +1 -1
  145. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +1 -1
  146. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  147. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  148. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  149. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +1 -1
  150. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  151. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +1 -1
  152. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +2 -2
  153. package/lib/services/role-guard/role.guard.d.ts +2 -2
  154. package/package.json +5 -11
  155. package/esm2020/lib/components/accessibility/accessibility.component.mjs +0 -737
  156. package/esm2020/lib/components/checkbox-list/checkbox-list.component.mjs +0 -231
  157. package/esm2020/lib/components/contact-details/contact-details.component.mjs +0 -107
  158. package/esm2020/lib/components/cookie-banner/cookie-banner.component.mjs +0 -150
  159. package/esm2020/lib/components/due-date/due-date.component.mjs +0 -140
  160. package/esm2020/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +0 -79
  161. package/esm2020/lib/components/find-location/find-location.component.mjs +0 -219
  162. package/esm2020/lib/components/find-person/find-person.component.mjs +0 -234
  163. package/esm2020/lib/components/find-service/find-service.component.mjs +0 -192
  164. package/esm2020/lib/components/generic-filter/generic-filter.component.mjs +0 -1198
  165. package/esm2020/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +0 -55
  166. package/esm2020/lib/components/invite-user-form/invite-user-form.component.mjs +0 -50
  167. package/esm2020/lib/components/invite-user-permissions/invite-user-permission.component.mjs +0 -54
  168. package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +0 -32
  169. package/esm2020/lib/components/pagination/pagination.component.mjs +0 -93
  170. package/esm2020/lib/components/search-judicials/search-judicials.component.mjs +0 -184
  171. package/esm2020/lib/components/search-location/search-location.component.mjs +0 -236
  172. package/esm2020/lib/components/search-service/search-service.component.mjs +0 -81
  173. package/esm2020/lib/components/search-venue/search-venue.component.mjs +0 -188
  174. package/esm2020/lib/components/selected-case/selected-case.component.mjs +0 -380
  175. package/esm2020/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +0 -135
  176. package/esm2020/lib/components/selected-case-list/selected-case-list.component.mjs +0 -98
  177. package/esm2020/lib/components/service-message/service-message.component.mjs +0 -50
  178. package/esm2020/lib/components/service-messages/service-messages.component.mjs +0 -75
  179. package/esm2020/lib/components/share-case/share-case.component.mjs +0 -420
  180. package/esm2020/lib/components/share-case-confirm/share-case-confirm.component.mjs +0 -85
  181. package/esm2020/lib/components/tab/tab.component.mjs +0 -39
  182. package/esm2020/lib/components/tc-confirm/tc-confirm.component.mjs +0 -65
  183. package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +0 -16
  184. package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +0 -16
  185. package/esm2020/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +0 -59
  186. package/esm2020/lib/components/user-details/user-details.component.mjs +0 -281
  187. package/esm2020/lib/components/user-list/user-list.component.mjs +0 -99
  188. package/esm2020/lib/components/user-select/user-select.component.mjs +0 -92
  189. package/esm2020/lib/components/write-address/write-address.component.mjs +0 -345
  190. package/esm2020/lib/components/write-address-inputs/write-address-inputs.component.mjs +0 -165
  191. package/esm2020/lib/directives/feature-toggle/feature-toggle.directive.mjs +0 -41
  192. package/esm2020/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +0 -54
  193. package/esm2020/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +0 -136
  194. package/esm2020/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +0 -120
  195. package/esm2020/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -45
  196. package/esm2020/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -80
  197. package/esm2020/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +0 -78
  198. package/esm2020/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +0 -45
  199. package/esm2020/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +0 -70
  200. package/esm2020/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +0 -84
  201. package/esm2020/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +0 -47
  202. package/esm2020/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +0 -41
  203. package/esm2020/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +0 -79
  204. package/esm2020/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +0 -188
  205. package/esm2020/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +0 -56
  206. package/esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +0 -112
  207. package/esm2020/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +0 -141
  208. package/esm2020/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +0 -33
  209. package/esm2020/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +0 -130
  210. package/esm2020/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +0 -204
  211. package/esm2020/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +0 -59
  212. package/esm2020/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +0 -57
  213. package/esm2020/lib/gov-ui/directives/remove-host.directive.mjs +0 -30
  214. package/esm2020/lib/gov-ui/util/helpers/html-templates.helper.mjs +0 -22
  215. package/esm2020/lib/gov-ui/validators/radio-group.validator.mjs +0 -15
  216. package/esm2020/lib/models/address-option.model.mjs +0 -21
  217. package/esm2020/lib/services/address/address-parser.mjs +0 -76
  218. package/esm2020/lib/services/address/address.service.mjs +0 -55
  219. package/esm2020/lib/services/case-sharing-state/case-sharing-state.service.mjs +0 -170
  220. package/esm2020/lib/services/feature-toggle/launch-darkly.service.mjs +0 -65
  221. package/esm2020/lib/services/filter/filter.service.mjs +0 -95
  222. package/esm2020/lib/services/find-person/find-person.service.mjs +0 -83
  223. package/esm2020/lib/services/google-analytics/google-analytics.service.mjs +0 -68
  224. package/esm2020/lib/services/google-tag-manager/google-tag-manager.service.mjs +0 -71
  225. package/esm2020/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +0 -33
  226. package/esm2020/lib/services/ref-data/ref-data.service.mjs +0 -34
  227. package/esm2020/lib/services/storage/session-storage/session-storage.service.mjs +0 -43
  228. package/esm2020/lib/services/task-name/task-name.service.mjs +0 -35
  229. package/fesm2015/hmcts-rpx-xui-common-lib.mjs +0 -11073
  230. package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +0 -1
  231. package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +0 -1
  232. /package/{esm2020 → esm2022}/hmcts-rpx-xui-common-lib.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/components/public_api.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/gov-ui/components/index.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/gov-ui/components/public_api.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/gov-ui/index.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/gov-ui/models/checkboxes-model.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/gov-ui/models/error-messages-model.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/gov-ui/models/gov-ui-config-model.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/gov-ui/models/index.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/gov-ui/models/public_api.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/gov-ui/models/radio-buttons.model.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/gov-ui/public_api.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/gov-ui/validators/index.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/gov-ui/validators/public_api.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/models/address-message.enum.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/models/address.model.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/models/case-share.model.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/models/contact-details.model.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/models/due-date.model.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/models/feature-user.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/models/filter.model.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/models/idle-config.model.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/models/location.model.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/models/pagination.model.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/models/person.model.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/models/public_api.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/models/search-options.model.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/models/task-name.model.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/models/tcDocument.model.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/models/timeout-notification.model.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/models/user-access-type.model.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/models/user-details.model.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/models/user.model.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/services/address/address-type.enum.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/services/public-api.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/services/ref-data/index.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/services/ref-data/models/ref-data-region.model.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/window.mjs +0 -0
  279. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1,57 +0,0 @@
1
- import { Component, Input } 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 HmctsSubNavigationComponent_nav_0_li_2_span_4_Template(rf, ctx) { if (rf & 1) {
7
- i0.ɵɵelementStart(0, "span", 7);
8
- i0.ɵɵtext(1);
9
- i0.ɵɵelementEnd();
10
- } if (rf & 2) {
11
- const item_r2 = i0.ɵɵnextContext().$implicit;
12
- i0.ɵɵadvance(1);
13
- i0.ɵɵtextInterpolate1(" ", item_r2.roundel, " ");
14
- } }
15
- function HmctsSubNavigationComponent_nav_0_li_2_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelementStart(0, "li", 4)(1, "a", 5);
17
- i0.ɵɵtext(2);
18
- i0.ɵɵpipe(3, "rpxTranslate");
19
- i0.ɵɵtemplate(4, HmctsSubNavigationComponent_nav_0_li_2_span_4_Template, 2, 1, "span", 6);
20
- i0.ɵɵelementEnd()();
21
- } if (rf & 2) {
22
- const item_r2 = ctx.$implicit;
23
- i0.ɵɵadvance(1);
24
- i0.ɵɵproperty("routerLink", item_r2.href);
25
- i0.ɵɵattribute("aria-current", item_r2.active ? "page" : null);
26
- i0.ɵɵadvance(1);
27
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, item_r2.text), " ");
28
- i0.ɵɵadvance(2);
29
- i0.ɵɵproperty("ngIf", item_r2.roundel && item_r2.roundel > 0);
30
- } }
31
- function HmctsSubNavigationComponent_nav_0_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "nav", 1)(1, "ul", 2);
33
- i0.ɵɵtemplate(2, HmctsSubNavigationComponent_nav_0_li_2_Template, 5, 6, "li", 3);
34
- i0.ɵɵelementEnd()();
35
- } if (rf & 2) {
36
- const ctx_r0 = i0.ɵɵnextContext();
37
- i0.ɵɵattribute("aria-label", ctx_r0.label);
38
- i0.ɵɵadvance(2);
39
- i0.ɵɵproperty("ngForOf", ctx_r0.items);
40
- } }
41
- export class HmctsSubNavigationComponent {
42
- }
43
- HmctsSubNavigationComponent.ɵfac = function HmctsSubNavigationComponent_Factory(t) { return new (t || HmctsSubNavigationComponent)(); };
44
- HmctsSubNavigationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HmctsSubNavigationComponent, selectors: [["xuilib-hmcts-sub-navigation"]], inputs: { label: "label", items: "items" }, decls: 1, vars: 1, consts: [["class", "hmcts-sub-navigation", "role", "navigation", 4, "ngIf"], ["role", "navigation", 1, "hmcts-sub-navigation"], [1, "hmcts-sub-navigation__list"], ["class", "hmcts-sub-navigation__item", 4, "ngFor", "ngForOf"], [1, "hmcts-sub-navigation__item"], ["data-selector", "sub-nav-link", 1, "hmcts-sub-navigation__link", 3, "routerLink"], ["class", "xui-alert-link__number", 4, "ngIf"], [1, "xui-alert-link__number"]], template: function HmctsSubNavigationComponent_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵtemplate(0, HmctsSubNavigationComponent_nav_0_Template, 3, 2, "nav", 0);
46
- } if (rf & 2) {
47
- i0.ɵɵproperty("ngIf", ctx.items);
48
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RouterLink, i3.RpxTranslatePipe], styles: [".xui-alert-link__number[_ngcontent-%COMP%]{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}"] });
49
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HmctsSubNavigationComponent, [{
50
- type: Component,
51
- args: [{ selector: 'xuilib-hmcts-sub-navigation', 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", 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}\n"] }]
52
- }], null, { label: [{
53
- type: Input
54
- }], items: [{
55
- type: Input
56
- }] }); })();
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtc3ViLW5hdmlnYXRpb24vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtc3ViLW5hdmlnYXRpb24vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ01qQywrQkFBK0U7SUFBQyxZQUFpQjtJQUFBLGlCQUFPOzs7SUFBeEIsZUFBaUI7SUFBakIsZ0RBQWlCOzs7SUFKekcsNkJBQWtFLFdBQUE7SUFHMUQsWUFDQTs7SUFBQSx5RkFBd0c7SUFDNUcsaUJBQUksRUFBQTs7O0lBSitELGVBQXdCO0lBQXhCLHlDQUF3QjtJQUN4Riw4REFBaUQ7SUFDaEQsZUFDQTtJQURBLG1FQUNBO0lBQU8sZUFBc0M7SUFBdEMsNkRBQXNDOzs7SUFON0QsOEJBQThGLFlBQUE7SUFFdEYsZ0ZBTUs7SUFDVCxpQkFBSyxFQUFBOzs7SUFUeUIsMENBQTJCO0lBRUcsZUFBUTtJQUFSLHNDQUFROztBREt4RSxNQUFNLE9BQU8sMkJBQTJCOztzR0FBM0IsMkJBQTJCOzhFQUEzQiwyQkFBMkI7UUNQeEMsNEVBVU07O1FBVjJFLGdDQUFXOzt1RkRPL0UsMkJBQTJCO2NBTHZDLFNBQVM7MkJBQ0ksNkJBQTZCO2dCQUt2QixLQUFLO2tCQUFwQixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd4dWlsaWItaG1jdHMtc3ViLW5hdmlnYXRpb24nLFxuICAgIHN0eWxlVXJsczogWydobWN0cy1zdWItbmF2aWdhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1zdWItbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNTdWJOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IFN1Yk5hdmlnYXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJOYXZpZ2F0aW9uIHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgaHJlZjogc3RyaW5nO1xuICAgIGFjdGl2ZTogYm9vbGVhbjtcbiAgICB0b3RhbD86IG51bWJlcjtcbiAgICByb3VuZGVsPzogbnVtYmVyO1xufVxuXG4iLCI8bmF2IGNsYXNzPVwiaG1jdHMtc3ViLW5hdmlnYXRpb25cIiBhdHRyLmFyaWEtbGFiZWw9XCJ7e2xhYmVsfX1cIiByb2xlPVwibmF2aWdhdGlvblwiICpuZ0lmPVwiaXRlbXNcIj5cbiAgICA8dWwgY2xhc3M9XCJobWN0cy1zdWItbmF2aWdhdGlvbl9fbGlzdFwiPlxuICAgICAgICA8bGkgY2xhc3M9XCJobWN0cy1zdWItbmF2aWdhdGlvbl9faXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICA8YSBkYXRhLXNlbGVjdG9yPVwic3ViLW5hdi1saW5rXCIgY2xhc3M9XCJobWN0cy1zdWItbmF2aWdhdGlvbl9fbGlua1wiIFtyb3V0ZXJMaW5rXT1cIml0ZW0uaHJlZlwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5hY3RpdmUgPyAncGFnZScgOiBudWxsXCI+XG4gICAgICAgICAgICAgICAge3tpdGVtLnRleHQgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5yb3VuZGVsICYmIGl0ZW0ucm91bmRlbCA+IDAgXCIgY2xhc3M9XCJ4dWktYWxlcnQtbGlua19fbnVtYmVyXCI+IHt7aXRlbS5yb3VuZGVsfX0gPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Directive, ElementRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /*
4
- * Remove Host Directive
5
- * Used to remove native angular host tags tags
6
- * sometimes needed because of CSS dependencies
7
- * */
8
- export class RemoveHostDirective {
9
- constructor(el) {
10
- this.el = el;
11
- }
12
- ngOnInit() {
13
- const nativeElement = this.el.nativeElement;
14
- const parentElement = nativeElement.parentElement;
15
- // move all children out of the element
16
- while (nativeElement.firstChild) {
17
- parentElement.insertBefore(nativeElement.firstChild, nativeElement);
18
- }
19
- parentElement.removeChild(nativeElement);
20
- }
21
- }
22
- RemoveHostDirective.ɵfac = function RemoveHostDirective_Factory(t) { return new (t || RemoveHostDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
23
- RemoveHostDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: RemoveHostDirective, selectors: [["", "appRemoveHost", ""]] });
24
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RemoveHostDirective, [{
25
- type: Directive,
26
- args: [{
27
- selector: '[appRemoveHost]'
28
- }]
29
- }], function () { return [{ type: i0.ElementRef }]; }, null); })();
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWhvc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2RpcmVjdGl2ZXMvcmVtb3ZlLWhvc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDOztBQUM1RDs7OztJQUlJO0FBSUosTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUE2QixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFeEMsUUFBUTtRQUNiLE1BQU0sYUFBYSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN6RCxNQUFNLGFBQWEsR0FBZ0IsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUMvRCx1Q0FBdUM7UUFDdkMsT0FBTyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQy9CLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUNyRTtRQUNELGFBQWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7c0ZBWlUsbUJBQW1CO3NFQUFuQixtQkFBbUI7dUZBQW5CLG1CQUFtQjtjQUgvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKlxuKiBSZW1vdmUgSG9zdCBEaXJlY3RpdmVcbiogVXNlZCB0byByZW1vdmUgbmF0aXZlIGFuZ3VsYXIgaG9zdCB0YWdzIHRhZ3Ncbiogc29tZXRpbWVzIG5lZWRlZCBiZWNhdXNlIG9mIENTUyBkZXBlbmRlbmNpZXNcbiogKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thcHBSZW1vdmVIb3N0XSdcbn0pXG5leHBvcnQgY2xhc3MgUmVtb3ZlSG9zdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZikge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQgPSBuYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgLy8gbW92ZSBhbGwgY2hpbGRyZW4gb3V0IG9mIHRoZSBlbGVtZW50XG4gICAgd2hpbGUgKG5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCkge1xuICAgICAgcGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUobmF0aXZlRWxlbWVudC5maXJzdENoaWxkLCBuYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gICAgcGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChuYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuIl19
@@ -1,22 +0,0 @@
1
- /*
2
- * Helper Class
3
- * Used for dynamic templates manipulation
4
- * */
5
- export class HtmlTemplatesHelper {
6
- /*
7
- * Sets described by string depending if
8
- * there is an error, error and hit or nothing
9
- * */
10
- static setDescribedBy(errorMessage, config) {
11
- if (!errorMessage) {
12
- return config.hint ? `${config.id}-hint` : null;
13
- }
14
- else if (errorMessage && errorMessage.isInvalid) {
15
- return config.hint ? `${config.id}-hint ${config.id}-error` : `${config.id}-error`;
16
- }
17
- else {
18
- return config.hint ? `${config.id}-hint` : null;
19
- }
20
- }
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC10ZW1wbGF0ZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL3V0aWwvaGVscGVycy9odG1sLXRlbXBsYXRlcy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7OztLQUdLO0FBRUwsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7O1FBR0k7SUFDRyxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQWdDLEVBQUUsTUFBd0I7UUFDckYsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDakQ7YUFBTSxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsU0FBUyxFQUFFO1lBQ2pELE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxRQUFRLENBQUM7U0FDckY7YUFBTTtZQUNMLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNqRDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBHb3ZVaUNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dvdi11aS1jb25maWctbW9kZWwnO1xuXG4vKlxuICogSGVscGVyIENsYXNzXG4gKiBVc2VkIGZvciBkeW5hbWljIHRlbXBsYXRlcyBtYW5pcHVsYXRpb25cbiAqICovXG5cbmV4cG9ydCBjbGFzcyBIdG1sVGVtcGxhdGVzSGVscGVyIHtcbiAgLypcbiAgKiBTZXRzIGRlc2NyaWJlZCBieSBzdHJpbmcgZGVwZW5kaW5nIGlmXG4gICogdGhlcmUgaXMgYW4gZXJyb3IsIGVycm9yIGFuZCBoaXQgb3Igbm90aGluZ1xuICAqICovXG4gIHB1YmxpYyBzdGF0aWMgc2V0RGVzY3JpYmVkQnkoZXJyb3JNZXNzYWdlOiBFcnJvck1lc3NhZ2VzTW9kZWwsIGNvbmZpZzogR292VWlDb25maWdNb2RlbCkge1xuICAgIGlmICghZXJyb3JNZXNzYWdlKSB7XG4gICAgICByZXR1cm4gY29uZmlnLmhpbnQgPyBgJHtjb25maWcuaWR9LWhpbnRgIDogbnVsbDtcbiAgICB9IGVsc2UgaWYgKGVycm9yTWVzc2FnZSAmJiBlcnJvck1lc3NhZ2UuaXNJbnZhbGlkKSB7XG4gICAgICByZXR1cm4gIGNvbmZpZy5oaW50ID8gYCR7Y29uZmlnLmlkfS1oaW50ICR7Y29uZmlnLmlkfS1lcnJvcmAgOiBgJHtjb25maWcuaWR9LWVycm9yYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNvbmZpZy5oaW50ID8gYCR7Y29uZmlnLmlkfS1oaW50YCA6IG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,15 +0,0 @@
1
- export function radioGroupValidator() {
2
- return function validate(formGroup) {
3
- if (formGroup.controls) {
4
- for (const control in formGroup.controls) {
5
- if (!formGroup.controls[control].valid) {
6
- return {
7
- isRadioGroupInvalid: true,
8
- };
9
- }
10
- }
11
- }
12
- return null;
13
- };
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL3ZhbGlkYXRvcnMvcmFkaW8tZ3JvdXAudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsT0FBTyxTQUFTLFFBQVEsQ0FBQyxTQUFvQjtRQUMzQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDdEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFO2dCQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUU7b0JBQ3RDLE9BQU87d0JBQ0wsbUJBQW1CLEVBQUUsSUFBSTtxQkFDMUIsQ0FBQztpQkFDSDthQUNGO1NBQ0Y7UUFHRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmFkaW9Hcm91cFZhbGlkYXRvcigpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiBmdW5jdGlvbiB2YWxpZGF0ZShmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgIGlmIChmb3JtR3JvdXAuY29udHJvbHMpIHtcbiAgICAgIGZvciAoY29uc3QgY29udHJvbCBpbiBmb3JtR3JvdXAuY29udHJvbHMpIHtcbiAgICAgICAgaWYgKCFmb3JtR3JvdXAuY29udHJvbHNbY29udHJvbF0udmFsaWQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNSYWRpb0dyb3VwSW52YWxpZDogdHJ1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- export class AddressOption {
2
- constructor(addressModel, description) {
3
- if (description === null) {
4
- this.value = addressModel;
5
- this.description = this.getDescription();
6
- }
7
- else {
8
- this.description = description;
9
- }
10
- }
11
- getDescription() {
12
- return this.removeInitialCommaIfPresent(`${this.value.addressLine1 === undefined ? '' : this.value.addressLine1}${this.prefixWithCommaIfPresent(this.value.addressLine2)}${this.prefixWithCommaIfPresent(this.value.addressLine3)}, ${this.value.postTown}`);
13
- }
14
- prefixWithCommaIfPresent(value) {
15
- return value ? `, ${value}` : value;
16
- }
17
- removeInitialCommaIfPresent(value) {
18
- return value.replace(new RegExp('^,', 'gi'), '');
19
- }
20
- }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1vcHRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9tb2RlbHMvYWRkcmVzcy1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBYSxZQUEwQixFQUFFLFdBQW1CO1FBQzFELElBQUksV0FBVyxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FDckMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FDcE4sQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxLQUFhO1FBQzVDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVPLDJCQUEyQixDQUFDLEtBQWE7UUFDL0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGRyZXNzTW9kZWwgfSBmcm9tICcuJztcblxuZXhwb3J0IGNsYXNzIEFkZHJlc3NPcHRpb24ge1xuICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcbiAgcHVibGljIHZhbHVlOiBBZGRyZXNzTW9kZWw7XG5cbiAgY29uc3RydWN0b3IgKGFkZHJlc3NNb2RlbDogQWRkcmVzc01vZGVsLCBkZXNjcmlwdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGRlc2NyaXB0aW9uID09PSBudWxsKSB7XG4gICAgICB0aGlzLnZhbHVlID0gYWRkcmVzc01vZGVsO1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHRoaXMuZ2V0RGVzY3JpcHRpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGVzY3JpcHRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlSW5pdGlhbENvbW1hSWZQcmVzZW50KFxuICAgICAgYCR7dGhpcy52YWx1ZS5hZGRyZXNzTGluZTEgPT09IHVuZGVmaW5lZCA/ICcnIDogdGhpcy52YWx1ZS5hZGRyZXNzTGluZTF9JHt0aGlzLnByZWZpeFdpdGhDb21tYUlmUHJlc2VudCh0aGlzLnZhbHVlLmFkZHJlc3NMaW5lMil9JHt0aGlzLnByZWZpeFdpdGhDb21tYUlmUHJlc2VudCh0aGlzLnZhbHVlLmFkZHJlc3NMaW5lMyl9LCAke3RoaXMudmFsdWUucG9zdFRvd259YFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpeFdpdGhDb21tYUlmUHJlc2VudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8gYCwgJHt2YWx1ZX1gIDogdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUluaXRpYWxDb21tYUlmUHJlc2VudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cCgnXiwnLCAnZ2knKSwgJycpO1xuICB9XG59XG4iXX0=
@@ -1,76 +0,0 @@
1
- import { AddressModel } from '../../models';
2
- import { AddressType } from './address-type.enum';
3
- /**
4
- * Moving all this logic here into Address Parser class, so that it
5
- * will be easier for us when we move this parsing logic to into
6
- * `Shim` java service.
7
- */
8
- export class AddressParser {
9
- parse(address) {
10
- const classification = `${address.CLASSIFICATION_CODE}`;
11
- const addressModel = new AddressModel();
12
- addressModel.addressLine1 = this.parseAddressLine1(classification, address);
13
- addressModel.addressLine2 = this.parseAddressLine2(classification, address);
14
- addressModel.addressLine3 = this.parseAddressLine3(classification, address);
15
- addressModel.postCode = address.POSTCODE;
16
- addressModel.postTown = address.POST_TOWN;
17
- addressModel.country = AddressType.UK;
18
- return addressModel;
19
- }
20
- parseAddressLine1(classification, address) {
21
- let addressLine;
22
- if (classification === AddressType.RD06) {
23
- addressLine =
24
- `${address.SUB_BUILDING_NAME} ${address.ORGANISATION_NAME} ${address.DEPARTMENT_NAME} ${address.PO_BOX_NUMBER}`;
25
- }
26
- else {
27
- addressLine =
28
- `${address.ORGANISATION_NAME}${this.prefixWithCommaIfPresent(address.BUILDING_NAME)}` +
29
- `${address.DEPARTMENT_NAME} ${address.PO_BOX_NUMBER}`;
30
- }
31
- return this.removeNonAddressValues(addressLine);
32
- }
33
- parseAddressLine2(classification, address) {
34
- let addressLine;
35
- if (classification === AddressType.RD06) {
36
- addressLine = `${address.BUILDING_NAME} `;
37
- }
38
- else {
39
- addressLine =
40
- `${address.SUB_BUILDING_NAME} ${address.BUILDING_NUMBER} ${address.THOROUGHFARE_NAME}`;
41
- }
42
- return this.removeNonAddressValues(addressLine);
43
- }
44
- parseAddressLine3(classification, address) {
45
- let addressLine;
46
- if (classification === AddressType.RD06) {
47
- addressLine =
48
- `${address.BUILDING_NUMBER} ${address.THOROUGHFARE_NAME}`;
49
- }
50
- else {
51
- addressLine =
52
- `${address.DEPENDENT_LOCALITY} ${address.DOUBLE_DEPENDENT_LOCALITY} ${address.DEPENDENT_THOROUGHFARE_NAME}`;
53
- }
54
- return this.removeNonAddressValues(addressLine);
55
- }
56
- removeNonAddressValues(line) {
57
- line = line.replace(' null', ' ').replace('null ', ' ');
58
- line = this.removeUndefinedString(line);
59
- line = this.removeInitialComma(line);
60
- line = this.removeEmptySpaces(line);
61
- return line;
62
- }
63
- removeUndefinedString(value) {
64
- return value.replace(new RegExp('undefined', 'gi'), '');
65
- }
66
- removeEmptySpaces(value) {
67
- return value.replace(new RegExp(' +', 'gi'), ' ').trim();
68
- }
69
- removeInitialComma(value) {
70
- return value.replace(new RegExp('^,', 'gi'), '');
71
- }
72
- prefixWithCommaIfPresent(value) {
73
- return value ? `, ${value}` : value;
74
- }
75
- }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy1wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9hZGRyZXNzL2FkZHJlc3MtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxEOzs7O0dBSUc7QUFDRixNQUFNLE9BQU8sYUFBYTtJQUNsQixLQUFLLENBQUMsT0FBWTtRQUN2QixNQUFNLGNBQWMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVFLFlBQVksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1RSxZQUFZLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUUsWUFBWSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3pDLFlBQVksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUMxQyxZQUFZLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLGNBQXNCLEVBQUUsT0FBWTtRQUM1RCxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLGNBQWMsS0FBSyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3ZD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b20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBZGRyZXNzVHlwZSB9IGZyb20gJy4vYWRkcmVzcy10eXBlLmVudW0nO1xuXG4vKipcbiAqIE1vdmluZyBhbGwgdGhpcyBsb2dpYyBoZXJlIGludG8gQWRkcmVzcyBQYXJzZXIgY2xhc3MsIHNvIHRoYXQgaXRcbiAqIHdpbGwgYmUgZWFzaWVyIGZvciB1cyB3aGVuIHdlIG1vdmUgdGhpcyBwYXJzaW5nIGxvZ2ljIHRvIGludG9cbiAqIGBTaGltYCBqYXZhIHNlcnZpY2UuXG4gKi9cbiBleHBvcnQgY2xhc3MgQWRkcmVzc1BhcnNlciB7XG4gIHB1YmxpYyBwYXJzZShhZGRyZXNzOiBhbnkpIHtcbiAgICBjb25zdCBjbGFzc2lmaWNhdGlvbiA9IGAke2FkZHJlc3MuQ0xBU1NJRklDQVRJT05fQ09ERX1gO1xuICAgIGNvbnN0IGFkZHJlc3NNb2RlbCA9IG5ldyBBZGRyZXNzTW9kZWwoKTtcbiAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUxID0gdGhpcy5wYXJzZUFkZHJlc3NMaW5lMShjbGFzc2lmaWNhdGlvbiwgYWRkcmVzcyk7XG4gICAgYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMiA9IHRoaXMucGFyc2VBZGRyZXNzTGluZTIoY2xhc3NpZmljYXRpb24sIGFkZHJlc3MpO1xuICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTMgPSB0aGlzLnBhcnNlQWRkcmVzc0xpbmUzKGNsYXNzaWZpY2F0aW9uLCBhZGRyZXNzKTtcbiAgICBhZGRyZXNzTW9kZWwucG9zdENvZGUgPSBhZGRyZXNzLlBPU1RDT0RFO1xuICAgIGFkZHJlc3NNb2RlbC5wb3N0VG93biA9IGFkZHJlc3MuUE9TVF9UT1dOO1xuICAgIGFkZHJlc3NNb2RlbC5jb3VudHJ5ID0gQWRkcmVzc1R5cGUuVUs7XG4gICAgcmV0dXJuIGFkZHJlc3NNb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VBZGRyZXNzTGluZTEoY2xhc3NpZmljYXRpb246IHN0cmluZywgYWRkcmVzczogYW55KSB7XG4gICAgbGV0IGFkZHJlc3NMaW5lO1xuICAgIGlmIChjbGFzc2lmaWNhdGlvbiA9PT0gQWRkcmVzc1R5cGUuUkQwNikge1xuICAgICAgYWRkcmVzc0xpbmUgPVxuICAgICAgICBgJHthZGRyZXNzLlNVQl9CVUlMRElOR19OQU1FfSAke2FkZHJlc3MuT1JHQU5JU0FUSU9OX05BTUV9ICR7YWRkcmVzcy5ERVBBUlRNRU5UX05BTUV9ICR7YWRkcmVzcy5QT19CT1hfTlVNQkVSfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZHJlc3NMaW5lID1cbiAgICAgICAgYCR7YWRkcmVzcy5PUkdBTklTQVRJT05fTkFNRX0ke3RoaXMucHJlZml4V2l0aENvbW1hSWZQcmVzZW50KGFkZHJlc3MuQlVJTERJTkdfTkFNRSl9YCArXG4gICAgICAgIGAke2FkZHJlc3MuREVQQVJUTUVOVF9OQU1FfSAke2FkZHJlc3MuUE9fQk9YX05VTUJFUn1gO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZW1vdmVOb25BZGRyZXNzVmFsdWVzKGFkZHJlc3NMaW5lKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VBZGRyZXNzTGluZTIoY2xhc3NpZmljYXRpb246IHN0cmluZywgYWRkcmVzczogYW55KSB7XG4gICAgbGV0IGFkZHJlc3NMaW5lO1xuICAgIGlmIChjbGFzc2lmaWNhdGlvbiA9PT0gQWRkcmVzc1R5cGUuUkQwNikge1xuICAgICAgYWRkcmVzc0xpbmUgPSBgJHthZGRyZXNzLkJVSUxESU5HX05BTUV9IGA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZHJlc3NMaW5lID1cbiAgICAgICAgYCR7YWRkcmVzcy5TVUJfQlVJTERJTkdfTkFNRX0gJHthZGRyZXNzLkJVSUxESU5HX05VTUJFUn0gJHthZGRyZXNzLlRIT1JPVUdIRkFSRV9OQU1FfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlbW92ZU5vbkFkZHJlc3NWYWx1ZXMoYWRkcmVzc0xpbmUpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUFkZHJlc3NMaW5lMyhjbGFzc2lmaWNhdGlvbjogc3RyaW5nLCBhZGRyZXNzOiBhbnkpIHtcbiAgICBsZXQgYWRkcmVzc0xpbmU7XG4gICAgaWYgKGNsYXNzaWZpY2F0aW9uID09PSBBZGRyZXNzVHlwZS5SRDA2KSB7XG4gICAgICBhZGRyZXNzTGluZSA9XG4gICAgICAgIGAke2FkZHJlc3MuQlVJTERJTkdfTlVNQkVSfSAke2FkZHJlc3MuVEhPUk9VR0hGQVJFX05BTUV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgYWRkcmVzc0xpbmUgPVxuICAgICAgICBgJHthZGRyZXNzLkRFUEVOREVOVF9MT0NBTElUWX0gJHthZGRyZXNzLkRPVUJMRV9ERVBFTkRFTlRfTE9DQUxJVFl9ICR7YWRkcmVzcy5ERVBFTkRFTlRfVEhPUk9VR0hGQVJFX05BTUV9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlTm9uQWRkcmVzc1ZhbHVlcyhhZGRyZXNzTGluZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU5vbkFkZHJlc3NWYWx1ZXMobGluZTogc3RyaW5nKSB7XG4gICAgbGluZSA9IGxpbmUucmVwbGFjZSgnIG51bGwnLCAnICcpLnJlcGxhY2UoJ251bGwgJywgJyAnKTtcbiAgICBsaW5lID0gdGhpcy5yZW1vdmVVbmRlZmluZWRTdHJpbmcobGluZSk7XG4gICAgbGluZSA9IHRoaXMucmVtb3ZlSW5pdGlhbENvbW1hKGxpbmUpO1xuICAgIGxpbmUgPSB0aGlzLnJlbW92ZUVtcHR5U3BhY2VzKGxpbmUpO1xuICAgIHJldHVybiBsaW5lO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVVbmRlZmluZWRTdHJpbmcodmFsdWU6IHN0cmluZykge1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAoJ3VuZGVmaW5lZCcsICdnaScpLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUVtcHR5U3BhY2VzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKCcgKycsICdnaScpLCAnICcpLnRyaW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSW5pdGlhbENvbW1hKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKCdeLCcsICdnaScpLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpeFdpdGhDb21tYUlmUHJlc2VudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlID8gYCwgJHt2YWx1ZX1gIDogdmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { of } from 'rxjs/internal/observable/of';
4
- import { map } from 'rxjs/operators';
5
- import { AddressParser } from './address-parser';
6
- import { AddressType } from './address-type.enum';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- export class AddressService {
10
- constructor(http) {
11
- this.http = http;
12
- }
13
- getAddressesForPostcode(postcode) {
14
- if (!postcode) {
15
- return of([]);
16
- }
17
- return this.http
18
- .get('/external/addresses?postcode=${postcode}'.replace('${postcode}', postcode), undefined)
19
- .pipe(map((res) => res.results))
20
- .pipe(map(output => output ? output.map((addresses) => this.format(new AddressParser().parse(addresses[AddressType.DPA]))) : []));
21
- }
22
- format(addressModel) {
23
- return this.formatAddressLines(this.shiftAddressLinesUp(addressModel));
24
- }
25
- formatAddressLines(addressModel) {
26
- ['addressLine1', 'addressLine2', 'addressLine3', 'postTown'].forEach((value) => {
27
- addressModel[value] = this.toCapitalCase(addressModel[value]);
28
- });
29
- return addressModel;
30
- }
31
- shiftAddressLinesUp(addressModel) {
32
- if (addressModel.addressLine2 === '') {
33
- addressModel.addressLine2 = addressModel.addressLine3;
34
- addressModel.addressLine3 = '';
35
- }
36
- if (addressModel.addressLine1 === '') {
37
- addressModel.addressLine1 = addressModel.addressLine2;
38
- addressModel.addressLine2 = '';
39
- }
40
- return addressModel;
41
- }
42
- toCapitalCase(sentence) {
43
- sentence = sentence.toLowerCase();
44
- sentence.split(' ').forEach((value) => {
45
- sentence = sentence.replace(value, value.charAt(0).toUpperCase() + value.substr(1));
46
- });
47
- return sentence;
48
- }
49
- }
50
- AddressService.ɵfac = function AddressService_Factory(t) { return new (t || AddressService)(i0.ɵɵinject(i1.HttpClient)); };
51
- AddressService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AddressService, factory: AddressService.ɵfac });
52
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressService, [{
53
- type: Injectable
54
- }], function () { return [{ type: i1.HttpClient }]; }, null); })();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvYWRkcmVzcy9hZGRyZXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBNkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUM3QyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBZ0I7UUFDN0MsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFNLDBDQUEwQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLEVBQUUsU0FBbUIsQ0FBQzthQUMxRyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDM0IsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFLENBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQ25FLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNSLENBQUM7SUFDTixDQUFDO0lBRU8sTUFBTSxDQUFDLFlBQTBCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxZQUEwQjtRQUNuRCxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtZQUN4RyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUEwQjtRQUNwRCxJQUFJLFlBQVksQ0FBQyxZQUFZLEtBQUssRUFBRSxFQUFFO1lBQ3BDLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztZQUN0RCxZQUFZLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksWUFBWSxDQUFDLFlBQVksS0FBSyxFQUFFLEVBQUU7WUFDcEMsWUFBWSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO1lBQ3RELFlBQVksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFnQjtRQUNwQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7NEVBbERVLGNBQWM7b0VBQWQsY0FBYyxXQUFkLGNBQWM7dUZBQWQsY0FBYztjQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL29mJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkZHJlc3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi9hZGRyZXNzLXBhcnNlcic7XG5pbXBvcnQgeyBBZGRyZXNzVHlwZSB9IGZyb20gJy4vYWRkcmVzcy10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWRkcmVzc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgcHVibGljIGdldEFkZHJlc3Nlc0ZvclBvc3Rjb2RlKHBvc3Rjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFkZHJlc3NNb2RlbFtdPiB7XG4gICAgaWYgKCFwb3N0Y29kZSkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnk+KCcvZXh0ZXJuYWwvYWRkcmVzc2VzP3Bvc3Rjb2RlPSR7cG9zdGNvZGV9Jy5yZXBsYWNlKCcke3Bvc3Rjb2RlfScsIHBvc3Rjb2RlKSwgdW5kZWZpbmVkIGFzIG9iamVjdClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLnJlc3VsdHMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChvdXRwdXQgPT4gb3V0cHV0ID8gb3V0cHV0Lm1hcCgoYWRkcmVzc2VzOiBhbnkpID0+XG4gICAgICAgICAgdGhpcy5mb3JtYXQobmV3IEFkZHJlc3NQYXJzZXIoKS5wYXJzZShhZGRyZXNzZXNbQWRkcmVzc1R5cGUuRFBBXSkpXG4gICAgICAgICkgOiBbXSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdChhZGRyZXNzTW9kZWw6IEFkZHJlc3NNb2RlbCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdEFkZHJlc3NMaW5lcyh0aGlzLnNoaWZ0QWRkcmVzc0xpbmVzVXAoYWRkcmVzc01vZGVsKSk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEFkZHJlc3NMaW5lcyhhZGRyZXNzTW9kZWw6IEFkZHJlc3NNb2RlbCkge1xuICAgIFsnYWRkcmVzc0xpbmUxJywgJ2FkZHJlc3NMaW5lMicsICdhZGRyZXNzTGluZTMnLCAncG9zdFRvd24nXS5mb3JFYWNoKCh2YWx1ZToga2V5b2YgdHlwZW9mIGFkZHJlc3NNb2RlbCkgPT4ge1xuICAgICAgYWRkcmVzc01vZGVsW3ZhbHVlXSA9IHRoaXMudG9DYXBpdGFsQ2FzZShhZGRyZXNzTW9kZWxbdmFsdWVdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWRkcmVzc01vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzaGlmdEFkZHJlc3NMaW5lc1VwKGFkZHJlc3NNb2RlbDogQWRkcmVzc01vZGVsKSB7XG4gICAgaWYgKGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTIgPT09ICcnKSB7XG4gICAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUyID0gYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMztcbiAgICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTMgPSAnJztcbiAgICB9XG4gICAgaWYgKGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTEgPT09ICcnKSB7XG4gICAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUxID0gYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMjtcbiAgICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTIgPSAnJztcbiAgICB9XG4gICAgcmV0dXJuIGFkZHJlc3NNb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgdG9DYXBpdGFsQ2FzZShzZW50ZW5jZTogc3RyaW5nKSB7XG4gICAgc2VudGVuY2UgPSBzZW50ZW5jZS50b0xvd2VyQ2FzZSgpO1xuICAgIHNlbnRlbmNlLnNwbGl0KCcgJykuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgc2VudGVuY2UgPSBzZW50ZW5jZS5yZXBsYWNlKHZhbHVlLCB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnN1YnN0cigxKSk7XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VudGVuY2U7XG4gIH1cbn1cbiJdfQ==
@@ -1,170 +0,0 @@
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
- get state() {
7
- return this.subject.asObservable().pipe(distinctUntilChanged());
8
- }
9
- constructor() {
10
- this.caseState = [];
11
- this.subject = new BehaviorSubject(this.caseState);
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 = {
50
- ...sharedCase,
51
- pendingUnshares: newPendingUnshares,
52
- pendingShares: newPendingShares
53
- };
54
- newSharedCases.push(newSharedCase);
55
- }
56
- this.subject.next(newSharedCases);
57
- return newSharedCases;
58
- }
59
- requestUnshare(user, caseId) {
60
- const newSharedCases = [];
61
- for (const sharedCase of this.caseState) {
62
- // If no caseId, then request unshare from all shared cases
63
- if (caseId === undefined || sharedCase.caseId === caseId) {
64
- if (!sharedCase.pendingUnshares) {
65
- sharedCase.pendingUnshares = [];
66
- }
67
- const newPendingUnshares = sharedCase.pendingUnshares.slice();
68
- // If the user is pending shared access, just remove them from pendingShares
69
- let newPendingShares;
70
- let indexOfPreviouslyAddedUser = -1;
71
- if (sharedCase.pendingShares) {
72
- indexOfPreviouslyAddedUser = sharedCase.pendingShares.findIndex(u => u.idamId === user.idamId);
73
- if (indexOfPreviouslyAddedUser > -1) {
74
- newPendingShares = sharedCase.pendingShares.slice();
75
- newPendingShares.splice(indexOfPreviouslyAddedUser, 1);
76
- }
77
- }
78
- // If the user does not exist in pendingShares, and already has shared access (i.e. exists in sharedWith),
79
- // request removal of shared access
80
- if (indexOfPreviouslyAddedUser === -1 && sharedCase.sharedWith && sharedCase.sharedWith.findIndex(u => u.idamId === user.idamId) > -1) {
81
- if (!newPendingUnshares.some(u => u.email === user.email)) {
82
- newPendingUnshares.push(user);
83
- }
84
- }
85
- const newSharedCase = {
86
- ...sharedCase,
87
- pendingUnshares: newPendingUnshares,
88
- ...(newPendingShares && {
89
- pendingShares: newPendingShares
90
- })
91
- };
92
- newSharedCases.push(newSharedCase);
93
- }
94
- else {
95
- newSharedCases.push(sharedCase);
96
- }
97
- }
98
- this.subject.next(newSharedCases);
99
- return newSharedCases;
100
- }
101
- requestCancel(caseId, user) {
102
- const newSharedCases = [];
103
- for (const sharedCase of this.caseState) {
104
- if (sharedCase.caseId === caseId) {
105
- if (!sharedCase.pendingUnshares) {
106
- sharedCase.pendingUnshares = [];
107
- }
108
- const newPendingUnshares = sharedCase.pendingUnshares.slice();
109
- for (let iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
110
- if (newPendingUnshares[iPendingUnshares].email === user.email) {
111
- newPendingUnshares.splice(iPendingUnshares, 1);
112
- break;
113
- }
114
- }
115
- if (!sharedCase.pendingShares) {
116
- sharedCase.pendingShares = [];
117
- }
118
- const newPendingShares = sharedCase.pendingShares.slice();
119
- for (let iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
120
- if (newPendingShares[iPendingShares].email === user.email) {
121
- newPendingShares.splice(iPendingShares, 1);
122
- break;
123
- }
124
- }
125
- const newSharedCase = {
126
- ...sharedCase,
127
- pendingUnshares: newPendingUnshares,
128
- pendingShares: newPendingShares
129
- };
130
- newSharedCases.push(newSharedCase);
131
- }
132
- else {
133
- newSharedCases.push(sharedCase);
134
- }
135
- }
136
- this.subject.next(newSharedCases);
137
- return;
138
- }
139
- removeCase(caseId) {
140
- if (this.caseState.length > 1) {
141
- for (let i = 0, l = this.caseState.length; i < l; i++) {
142
- if (this.caseState[i].caseId === caseId) {
143
- this.caseState.splice(i, 1);
144
- this.subject.next(this.caseState);
145
- return;
146
- }
147
- }
148
- }
149
- }
150
- userHasAccess(c, user) {
151
- if (!c.sharedWith) {
152
- return false;
153
- }
154
- for (let i = 0, l = c.sharedWith.length; i < l; i++) {
155
- if (c.sharedWith[i].email === user.email) {
156
- return true;
157
- }
158
- }
159
- return false;
160
- }
161
- }
162
- CaseSharingStateService.ɵfac = function CaseSharingStateService_Factory(t) { return new (t || CaseSharingStateService)(); };
163
- CaseSharingStateService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CaseSharingStateService, factory: CaseSharingStateService.ɵfac, providedIn: 'root' });
164
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseSharingStateService, [{
165
- type: Injectable,
166
- args: [{
167
- providedIn: 'root'
168
- }]
169
- }], function () { return []; }, null); })();
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU90RCxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQ3JDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQ7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFFVixRQUFRLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztnQkFDdEgsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLEtB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Q0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OEZBcEtVLHVCQUF1Qjs2RUFBdkIsdUJBQXVCLFdBQXZCLHVCQUF1QixtQkFGdEIsTUFBTTt1RkFFUCx1QkFBdUI7Y0FIbkMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBjYXNlU3RhdGU6IFNoYXJlZENhc2VbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IHN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNoYXJlZENhc2VbXT4odGhpcy5jYXNlU3RhdGUpO1xuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBzZXRDYXNlcyhjYXNlczogU2hhcmVkQ2FzZVtdKTogdm9pZCB7XG4gICAgdGhpcy5jYXNlU3RhdGUgPSBbXTtcbiAgICBjYXNlcy5mb3JFYWNoKGFDYXNlID0+IHtcbiAgICAgIHRoaXMuY2FzZVN0YXRlLnB1c2goeyBjYXNlSWQ6IGFDYXNlLmNhc2VJZCwgY2FzZVRpdGxlOiBhQ2FzZS5jYXNlVGl0bGUsIGNhc2VUeXBlSWQ6IGFDYXNlLmNhc2VUeXBlSWQsIHJvbGVzOiBhQ2FzZS5yb2xlcyxcbiAgICAgICAgc2hhcmVkV2l0aDogYUNhc2Uuc2hhcmVkV2l0aCwgcGVuZGluZ1NoYXJlczogYUNhc2UucGVuZGluZ1NoYXJlcywgcGVuZGluZ1Vuc2hhcmVzOiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICB9XG5cbiAgcHVibGljIGdldENhc2VzKCk6IFNoYXJlZENhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZVN0YXRlO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RTaGFyZSh1c2VyOiBVc2VyRGV0YWlscyk6IFNoYXJlZENhc2VbXSB7XG4gICAgY29uc3Qgb2xkU2hhcmVkQ2FzZXM6IFNoYXJlZENhc2VbXSA9IHRoaXMuY2FzZVN0YXRlLnNsaWNlKCk7XG4gICAgY29uc3QgbmV3U2hhcmVkQ2FzZXM6IFNoYXJlZENhc2VbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qgc2hhcmVkQ2FzZSBvZiBvbGRTaGFyZWRDYXNlcykge1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzID0gW107XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzID0gW107XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCF0aGlzLnVzZXJIYXNBY2Nlc3Moc2hhcmVkQ2FzZSwgdXNlcikpIHtcbiAgICAgICAgaWYgKCFuZXdQZW5kaW5nU2hhcmVzLnNvbWUodSA9PiB1LmVtYWlsID09PSB1c2VyLmVtYWlsKSkge1xuICAgICAgICAgIG5ld1BlbmRpbmdTaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChsZXQgdSA9IDAsIHVsID0gbmV3UGVuZGluZ1Vuc2hhcmVzLmxlbmd0aDsgdSA8IHVsOyB1KyspIHtcbiAgICAgICAgICBpZiAobmV3UGVuZGluZ1Vuc2hhcmVzW3VdLmVtYWlsID09PSB1c2VyLmVtYWlsKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMuc3BsaWNlKHUsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAuLi5zaGFyZWRDYXNlLFxuICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgcGVuZGluZ1NoYXJlczogbmV3UGVuZGluZ1NoYXJlc1xuICAgICAgfTtcbiAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm4gbmV3U2hhcmVkQ2FzZXM7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFVuc2hhcmUodXNlcjogVXNlckRldGFpbHMsIGNhc2VJZD86IHN0cmluZyk6IFNoYXJlZENhc2VbXSB7XG4gICAgY29uc3QgbmV3U2hhcmVkQ2FzZXM6IFNoYXJlZENhc2VbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qgc2hhcmVkQ2FzZSBvZiB0aGlzLmNhc2VTdGF0ZSkge1xuICAgICAgLy8gSWYgbm8gY2FzZUlkLCB0aGVuIHJlcXVlc3QgdW5zaGFyZSBmcm9tIGFsbCBzaGFyZWQgY2FzZXNcbiAgICAgIGlmIChjYXNlSWQgPT09IHVuZGVmaW5lZCB8fCBzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHBlbmRpbmcgc2hhcmVkIGFjY2VzcywganVzdCByZW1vdmUgdGhlbSBmcm9tIHBlbmRpbmdTaGFyZXNcbiAgICAgICAgbGV0IG5ld1BlbmRpbmdTaGFyZXM7XG4gICAgICAgIGxldCBpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciA9IC0xO1xuICAgICAgICBpZiAoc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgICAgaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuZmluZEluZGV4KHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgICBpZiAoaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIgPiAtMSkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIsIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgdXNlciBkb2VzIG5vdCBleGlzdCBpbiBwZW5kaW5nU2hhcmVzLCBhbmQgYWxyZWFkeSBoYXMgc2hhcmVkIGFjY2VzcyAoaS5lLiBleGlzdHMgaW4gc2hhcmVkV2l0aCksXG4gICAgICAgIC8vIHJlcXVlc3QgcmVtb3ZhbCBvZiBzaGFyZWQgYWNjZXNzXG4gICAgICAgIGlmIChpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciA9PT0gLTEgJiYgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHNoYXJlZENhc2Uuc2hhcmVkV2l0aC5maW5kSW5kZXgoXG4gICAgICAgICAgdSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpID4gLTEpIHtcbiAgICAgICAgICBpZiAoIW5ld1BlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgICAgLi4uKG5ld1BlbmRpbmdTaGFyZXMgJiYge1xuICAgICAgICAgICAgcGVuZGluZ1NoYXJlczogbmV3UGVuZGluZ1NoYXJlc1xuICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RDYW5jZWwoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogdm9pZCB7XG4gICAgY29uc3QgbmV3U2hhcmVkQ2FzZXM6IFNoYXJlZENhc2VbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qgc2hhcmVkQ2FzZSBvZiB0aGlzLmNhc2VTdGF0ZSkge1xuICAgICAgaWYgKHNoYXJlZENhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgZm9yIChsZXQgaVBlbmRpbmdVbnNoYXJlcyA9IDA7IGlQZW5kaW5nVW5zaGFyZXMgPCBuZXdQZW5kaW5nVW5zaGFyZXMubGVuZ3RoOyBpUGVuZGluZ1Vuc2hhcmVzKyspIHtcbiAgICAgICAgICBpZiAobmV3UGVuZGluZ1Vuc2hhcmVzW2lQZW5kaW5nVW5zaGFyZXNdLmVtYWlsID09PSB1c2VyLmVtYWlsKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMuc3BsaWNlKGlQZW5kaW5nVW5zaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1NoYXJlcyA9IDA7IGlQZW5kaW5nU2hhcmVzIDwgbmV3UGVuZGluZ1NoYXJlcy5sZW5ndGg7IGlQZW5kaW5nU2hhcmVzKyspIHtcbiAgICAgICAgICBpZiAobmV3UGVuZGluZ1NoYXJlc1tpUGVuZGluZ1NoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdTaGFyZXMuc3BsaWNlKGlQZW5kaW5nU2hhcmVzLCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdTaGFyZWRDYXNlID0ge1xuICAgICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgICAgcGVuZGluZ1NoYXJlczogbmV3UGVuZGluZ1NoYXJlc1xuICAgICAgICB9O1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChzaGFyZWRDYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQobmV3U2hhcmVkQ2FzZXMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVDYXNlKGNhc2VJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FzZVN0YXRlLmxlbmd0aCA+IDEpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gdGhpcy5jYXNlU3RhdGUubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmICh0aGlzLmNhc2VTdGF0ZVtpXS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHRoaXMuY2FzZVN0YXRlLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB0aGlzLnN1YmplY3QubmV4dCh0aGlzLmNhc2VTdGF0ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVzZXJIYXNBY2Nlc3MoYzogU2hhcmVkQ2FzZSwgdXNlcjogVXNlckRldGFpbHMpOiBib29sZWFuIHtcbiAgICBpZiAoIWMuc2hhcmVkV2l0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGMuc2hhcmVkV2l0aC5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIGlmIChjLnNoYXJlZFdpdGhbaV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,65 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { initialize } from 'launchdarkly-js-client-sdk';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { distinctUntilChanged, filter, map } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- export class LaunchDarklyService {
7
- constructor() {
8
- this.ready = new BehaviorSubject(false);
9
- this.features = {};
10
- this.user = { anonymous: true };
11
- this.clientId = '';
12
- }
13
- initialize(user = { anonymous: true }, clientId) {
14
- this.ready.next(false);
15
- this.user = user;
16
- this.clientId = clientId;
17
- this.client = initialize(this.clientId, this.user, {});
18
- this.client.on('ready', () => {
19
- this.client.identify(this.user).then(() => this.ready.next(true));
20
- });
21
- }
22
- isEnabled(feature, defaultValue = false) {
23
- return this.getValue(feature, defaultValue);
24
- }
25
- getArray(feature) {
26
- return this.getValue(feature, []);
27
- }
28
- // Note that this function always emits its default value first, which can lead to unexpected results
29
- getValue(feature, defaultValue) {
30
- if (!this.features.hasOwnProperty(feature)) {
31
- this.features[feature] = new BehaviorSubject(defaultValue);
32
- this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue))).subscribe(value => {
33
- this.features[feature].next(value);
34
- this.client.on(`change:${feature}`, (val) => {
35
- this.features[feature].next(val);
36
- });
37
- });
38
- }
39
- return this.features[feature].pipe(distinctUntilChanged());
40
- }
41
- /**
42
- * This method returns an observable that will only get the state of the feature toggle
43
- * once. It calls the LD SDK directly, and should only be used in circumstances where
44
- * only one value should be emitted, that value coming directly from LD. This will likely
45
- * only apply for Guards, and should be used only when absolutely necessary.
46
- * @see getValue for regular usage.
47
- * @param feature string
48
- * @param defaultValue R
49
- */
50
- getValueOnce(feature, defaultValue) {
51
- return this.ready.pipe(filter(ready => ready), map(() => this.client.variation(feature, defaultValue)));
52
- }
53
- getValueSync(feature, defaultValue) {
54
- return this.client.variation(feature, defaultValue);
55
- }
56
- }
57
- LaunchDarklyService.ɵfac = function LaunchDarklyService_Factory(t) { return new (t || LaunchDarklyService)(); };
58
- LaunchDarklyService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LaunchDarklyService, factory: LaunchDarklyService.ɵfac, providedIn: 'root' });
59
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LaunchDarklyService, [{
60
- type: Injectable,
61
- args: [{
62
- providedIn: 'root'
63
- }]
64
- }], null, null); })();
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWRhcmtseS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvZmVhdHVyZS10b2dnbGUvbGF1bmNoLWRhcmtseS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBVyxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPbkUsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQU1xQixVQUFLLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLGFBQVEsR0FBeUMsRUFBRSxDQUFDO1FBQzdELFNBQUksR0FBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDeEMsYUFBUSxHQUFXLEVBQUUsQ0FBQztLQTBEakM7SUF4RFUsVUFBVSxDQUFDLE9BQW9CLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLFFBQWdCO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxTQUFTLENBQUMsT0FBZSxFQUFFLGVBQXdCLEtBQUs7UUFDM0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFVLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sUUFBUSxDQUFVLE9BQWU7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFNLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQscUdBQXFHO0lBQzlGLFFBQVEsQ0FBSSxPQUFlLEVBQUUsWUFBZTtRQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLGVBQWUsQ0FBSSxZQUFZLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDWCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUMxRCxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFNLEVBQUUsRUFBRTtvQkFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzlCLG9CQUFvQixFQUFFLENBQ3pCLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxZQUFZLENBQUksT0FBZSxFQUFFLFlBQWU7UUFDbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FDMUQsQ0FBQztJQUNOLENBQUM7SUFFTSxZQUFZLENBQUksT0FBZSxFQUFFLFlBQWU7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7c0ZBL0RRLG1CQUFtQjt5RUFBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQixtQkFGaEIsTUFBTTt1RkFFVCxtQkFBbUI7Y0FIL0IsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZSwgTERDbGllbnR9IGZyb20gJ2xhdW5jaGRhcmtseS1qcy1jbGllbnQtc2RrJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmVhdHVyZVVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmVhdHVyZS11c2VyJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hEYXJrbHlTZXJ2aWNlIGltcGxlbWVudHMgRmVhdHVyZVRvZ2dsZVNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBjbGllbnQ6IExEQ2xpZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVhZHk6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZXM6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxhbnk+PiA9IHt9O1xuICAgIHByaXZhdGUgdXNlcjogRmVhdHVyZVVzZXIgPSB7IGFub255bW91czogdHJ1ZSB9O1xuICAgIHByaXZhdGUgY2xpZW50SWQ6IHN0cmluZyA9ICcnO1xuXG4gICAgcHVibGljIGluaXRpYWxpemUodXNlcjogRmVhdHVyZVVzZXIgPSB7IGFub255bW91czogdHJ1ZSB9LCBjbGllbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVhZHkubmV4dChmYWxzZSk7XG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XG4gICAgICAgIHRoaXMuY2xpZW50SWQgPSBjbGllbnRJZDtcbiAgICAgICAgdGhpcy5jbGllbnQgPSBpbml0aWFsaXplKHRoaXMuY2xpZW50SWQsIHRoaXMudXNlciwge30pO1xuICAgICAgICB0aGlzLmNsaWVudC5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsaWVudC5pZGVudGlmeSh0aGlzLnVzZXIpLnRoZW4oKCkgPT4gdGhpcy5yZWFkeS5uZXh0KHRydWUpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRW5hYmxlZChmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlPGJvb2xlYW4+KGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFycmF5PFIgPSBhbnk+KGZlYXR1cmU6IHN0cmluZyk6IE9ic2VydmFibGU8UltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlPFJbXT4oZmVhdHVyZSwgW10pO1xuICAgIH1cblxuICAgIC8vIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGFsd2F5cyBlbWl0cyBpdHMgZGVmYXVsdCB2YWx1ZSBmaXJzdCwgd2hpY2ggY2FuIGxlYWQgdG8gdW5leHBlY3RlZCByZXN1bHRzXG4gICAgcHVibGljIGdldFZhbHVlPFI+KGZlYXR1cmU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIGlmICghdGhpcy5mZWF0dXJlcy5oYXNPd25Qcm9wZXJ0eShmZWF0dXJlKSkge1xuICAgICAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Uj4oZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucmVhZHkucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIocmVhZHkgPT4gcmVhZHkpLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmNsaWVudC52YXJpYXRpb24oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKSlcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZlYXR1cmVzW2ZlYXR1cmVdLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpZW50Lm9uKGBjaGFuZ2U6JHtmZWF0dXJlfWAsICh2YWw6IFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5uZXh0KHZhbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5waXBlKFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgb25seSBnZXQgdGhlIHN0YXRlIG9mIHRoZSBmZWF0dXJlIHRvZ2dsZVxuICAgICAqIG9uY2UuIEl0IGNhbGxzIHRoZSBMRCBTREsgZGlyZWN0bHksIGFuZCBzaG91bGQgb25seSBiZSB1c2VkIGluIGNpcmN1bXN0YW5jZXMgd2hlcmVcbiAgICAgKiBvbmx5IG9uZSB2YWx1ZSBzaG91bGQgYmUgZW1pdHRlZCwgdGhhdCB2YWx1ZSBjb21pbmcgZGlyZWN0bHkgZnJvbSBMRC4gVGhpcyB3aWxsIGxpa2VseVxuICAgICAqIG9ubHkgYXBwbHkgZm9yIEd1YXJkcywgYW5kIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlbiBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS5cbiAgICAgKiBAc2VlIGdldFZhbHVlIGZvciByZWd1bGFyIHVzYWdlLlxuICAgICAqIEBwYXJhbSBmZWF0dXJlIHN0cmluZ1xuICAgICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgUlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU9uY2U8Uj4oZmVhdHVyZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZHkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihyZWFkeSA9PiByZWFkeSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5jbGllbnQudmFyaWF0aW9uKGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFZhbHVlU3luYzxSPihmZWF0dXJlOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogUik6IFIge1xuICAgICAgcmV0dXJuIHRoaXMuY2xpZW50LnZhcmlhdGlvbihmZWF0dXJlLCBkZWZhdWx0VmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==