@hmcts/rpx-xui-common-lib 2.0.0-rc.6 → 2.1.0-angular-upgrade-11

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 (289) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +3840 -4140
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +59 -52
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +2 -8
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +14 -112
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +2 -12
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +68 -0
  10. package/esm2015/lib/components/due-date/due-date.component.js +7 -103
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +7 -21
  12. package/esm2015/lib/components/find-location/find-location.component.js +120 -0
  13. package/esm2015/lib/components/find-person/find-person.component.js +118 -0
  14. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +21 -0
  15. package/esm2015/lib/components/generic-filter/generic-filter.component.js +347 -106
  16. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +3 -18
  17. package/esm2015/lib/components/index.js +2 -7
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +2 -22
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +2 -21
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +7 -45
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -0
  22. package/esm2015/lib/components/public_api.js +33 -31
  23. package/esm2015/lib/components/search-judicials/search-judicials.component.js +126 -0
  24. package/esm2015/lib/components/search-location/search-location.component.js +114 -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 +20 -176
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +3 -41
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +3 -52
  29. package/esm2015/lib/components/service-message/service-message.component.js +2 -20
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +8 -66
  31. package/esm2015/lib/components/share-case/share-case.component.js +7 -88
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +4 -37
  33. package/esm2015/lib/components/tab/tab.component.js +2 -26
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +2 -17
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +2 -8
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +2 -8
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +2 -12
  38. package/esm2015/lib/components/user-details/user-details.component.js +2 -39
  39. package/esm2015/lib/components/user-list/user-list.component.js +15 -19
  40. package/esm2015/lib/components/user-select/user-select.component.js +5 -52
  41. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +3 -56
  42. package/esm2015/lib/directives/index.js +2 -7
  43. package/esm2015/lib/directives/let/let.directive.js +1 -39
  44. package/esm2015/lib/directives/public-api.js +3 -8
  45. package/esm2015/lib/exui-common-lib.module.js +31 -34
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +2 -22
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +2 -13
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +49 -27
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +2 -14
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +2 -24
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +2 -16
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -23
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +2 -12
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +6 -24
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +2 -13
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -21
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +2 -32
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +2 -18
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +2 -14
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +2 -44
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -16
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -36
  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 +2 -22
  66. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +4 -26
  67. package/esm2015/lib/gov-ui/components/index.js +2 -7
  68. package/esm2015/lib/gov-ui/components/public_api.js +22 -26
  69. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +1 -22
  70. package/esm2015/lib/gov-ui/gov-ui.service.js +2 -8
  71. package/esm2015/lib/gov-ui/index.js +2 -7
  72. package/esm2015/lib/gov-ui/models/banner-data-model.js +2 -16
  73. package/esm2015/lib/gov-ui/models/checkboxes-model.js +2 -22
  74. package/esm2015/lib/gov-ui/models/error-messages-model.js +2 -16
  75. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +2 -36
  76. package/esm2015/lib/gov-ui/models/index.js +2 -7
  77. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +2 -0
  78. package/esm2015/lib/gov-ui/models/public_api.js +5 -10
  79. package/esm2015/lib/gov-ui/public_api.js +5 -11
  80. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
  81. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +22 -0
  82. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  83. package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
  84. package/esm2015/lib/gov-ui/validators/index.js +2 -7
  85. package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
  86. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
  87. package/esm2015/lib/models/case-share.model.js +2 -26
  88. package/esm2015/lib/models/contact-details.model.js +7 -24
  89. package/esm2015/lib/models/due-date.model.js +7 -7
  90. package/esm2015/lib/models/feature-user.js +1 -16
  91. package/esm2015/lib/models/filter.model.js +1 -60
  92. package/esm2015/lib/models/idle-config.model.js +2 -20
  93. package/esm2015/lib/models/index.js +14 -7
  94. package/esm2015/lib/models/location.model.js +2 -0
  95. package/esm2015/lib/models/pagination.model.js +2 -0
  96. package/esm2015/lib/models/person.model.js +17 -0
  97. package/esm2015/lib/models/public_api.js +6 -17
  98. package/esm2015/lib/models/search-options.model.js +2 -0
  99. package/esm2015/lib/models/tcDocument.model.js +2 -18
  100. package/esm2015/lib/models/timeout-notification.model.js +2 -18
  101. package/esm2015/lib/models/user-details.model.js +2 -22
  102. package/esm2015/lib/models/user.model.js +2 -25
  103. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +9 -84
  104. package/esm2015/lib/services/cookie/cookie.service.js +47 -0
  105. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +10 -43
  106. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +3 -28
  107. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +20 -101
  108. package/esm2015/lib/services/filter/filter.service.js +4 -54
  109. package/esm2015/lib/services/find-person/find-person.service.js +106 -0
  110. package/esm2015/lib/services/google-analytics/google-analytics.service.js +8 -63
  111. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +10 -64
  112. package/esm2015/lib/services/index.js +2 -7
  113. package/esm2015/lib/services/loading/loading.service.js +2 -41
  114. package/esm2015/lib/services/locations/location.service.js +39 -0
  115. package/esm2015/lib/services/manage-session/manage-session.services.js +11 -64
  116. package/esm2015/lib/services/public-api.js +13 -18
  117. package/esm2015/lib/services/role-guard/role.guard.js +12 -53
  118. package/esm2015/lib/services/role-guard/role.service.js +2 -21
  119. package/esm2015/lib/services/session-storage/session-storage.service.js +41 -0
  120. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +10 -76
  121. package/esm2015/lib/window.js +1 -10
  122. package/esm2015/public-api.js +8 -13
  123. package/fesm2015/hmcts-rpx-xui-common-lib.js +1766 -1981
  124. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  125. package/hmcts-rpx-xui-common-lib.d.ts +57 -45
  126. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  127. package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
  128. package/lib/components/cookie-banner/cookie-banner.component.d.ts +20 -0
  129. package/lib/components/due-date/due-date.component.d.ts +4 -4
  130. package/lib/components/find-location/find-location.component.d.ts +33 -0
  131. package/lib/components/find-person/find-person.component.d.ts +40 -0
  132. package/lib/components/generic-filter/generic-filter-utils.d.ts +8 -0
  133. package/lib/components/generic-filter/generic-filter.component.d.ts +37 -11
  134. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  135. package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
  136. package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -7
  137. package/lib/components/pagination/pagination.component.d.ts +10 -0
  138. package/lib/components/public_api.d.ts +12 -5
  139. package/lib/components/search-judicials/search-judicials.component.d.ts +37 -0
  140. package/lib/components/search-location/search-location.component.d.ts +40 -0
  141. package/lib/components/search-venue/search-venue.component.d.ts +37 -0
  142. package/lib/components/user-list/user-list.component.d.ts +9 -2
  143. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  144. package/lib/directives/let/let.directive.d.ts +1 -1
  145. package/lib/exui-common-lib.module.d.ts +10 -11
  146. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +8 -0
  147. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  148. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  149. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  150. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +10 -0
  151. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  152. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +2 -0
  153. package/lib/gov-ui/components/public_api.d.ts +20 -19
  154. package/lib/gov-ui/models/isession-storage.interface.d.ts +4 -0
  155. package/lib/gov-ui/public_api.d.ts +1 -2
  156. package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +6 -0
  157. package/lib/models/contact-details.model.d.ts +5 -1
  158. package/lib/models/due-date.model.d.ts +5 -0
  159. package/lib/models/filter.model.d.ts +31 -2
  160. package/lib/models/index.d.ts +12 -0
  161. package/lib/models/location.model.d.ts +49 -0
  162. package/lib/models/pagination.model.d.ts +5 -0
  163. package/lib/models/person.model.d.ts +43 -0
  164. package/lib/models/public_api.d.ts +1 -7
  165. package/lib/models/search-options.model.d.ts +8 -0
  166. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  167. package/lib/services/cookie/cookie.service.d.ts +9 -0
  168. package/lib/services/feature-toggle/feature-toggle.service.d.ts +1 -1
  169. package/lib/services/feature-toggle/launch-darkly.service.d.ts +4 -6
  170. package/lib/services/filter/filter.service.d.ts +4 -3
  171. package/lib/services/find-person/find-person.service.d.ts +17 -0
  172. package/lib/services/loading/loading.service.d.ts +2 -2
  173. package/lib/services/locations/location.service.d.ts +23 -0
  174. package/lib/services/public-api.d.ts +3 -3
  175. package/lib/services/role-guard/role.service.d.ts +2 -1
  176. package/lib/services/session-storage/session-storage.service.d.ts +20 -0
  177. package/lib/window.d.ts +2 -2
  178. package/package.json +8 -16
  179. package/public-api.d.ts +2 -2
  180. package/esm2015/lib/gov-ui/directives/index.js +0 -7
  181. package/esm2015/lib/gov-ui/directives/public_api.js +0 -7
  182. package/esm2015/lib/models/badge-colour.enum.js +0 -14
  183. package/esm5/hmcts-rpx-xui-common-lib.js +0 -61
  184. package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
  185. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
  186. package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
  187. package/esm5/lib/components/due-date/due-date.component.js +0 -255
  188. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
  189. package/esm5/lib/components/generic-filter/generic-filter.component.js +0 -161
  190. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
  191. package/esm5/lib/components/index.js +0 -7
  192. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
  193. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
  194. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -61
  195. package/esm5/lib/components/public_api.js +0 -31
  196. package/esm5/lib/components/selected-case/selected-case.component.js +0 -430
  197. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -84
  198. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -109
  199. package/esm5/lib/components/service-message/service-message.component.js +0 -46
  200. package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
  201. package/esm5/lib/components/share-case/share-case.component.js +0 -223
  202. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
  203. package/esm5/lib/components/tab/tab.component.js +0 -51
  204. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
  205. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
  206. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
  207. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
  208. package/esm5/lib/components/user-details/user-details.component.js +0 -92
  209. package/esm5/lib/components/user-list/user-list.component.js +0 -43
  210. package/esm5/lib/components/user-select/user-select.component.js +0 -131
  211. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
  212. package/esm5/lib/directives/index.js +0 -7
  213. package/esm5/lib/directives/let/let.directive.js +0 -78
  214. package/esm5/lib/directives/public-api.js +0 -8
  215. package/esm5/lib/exui-common-lib.module.js +0 -158
  216. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
  217. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
  218. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -48
  219. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
  220. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
  221. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
  222. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
  223. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
  224. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
  225. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
  226. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
  227. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
  228. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
  229. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
  230. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
  231. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
  232. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
  233. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
  234. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
  235. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -41
  236. package/esm5/lib/gov-ui/components/index.js +0 -7
  237. package/esm5/lib/gov-ui/components/public_api.js +0 -26
  238. package/esm5/lib/gov-ui/directives/index.js +0 -7
  239. package/esm5/lib/gov-ui/directives/public_api.js +0 -7
  240. package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
  241. package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
  242. package/esm5/lib/gov-ui/index.js +0 -7
  243. package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
  244. package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
  245. package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
  246. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
  247. package/esm5/lib/gov-ui/models/index.js +0 -7
  248. package/esm5/lib/gov-ui/models/public_api.js +0 -13
  249. package/esm5/lib/gov-ui/public_api.js +0 -14
  250. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
  251. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
  252. package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
  253. package/esm5/lib/gov-ui/validators/index.js +0 -7
  254. package/esm5/lib/gov-ui/validators/public_api.js +0 -12
  255. package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
  256. package/esm5/lib/models/badge-colour.enum.js +0 -14
  257. package/esm5/lib/models/case-share.model.js +0 -26
  258. package/esm5/lib/models/contact-details.model.js +0 -24
  259. package/esm5/lib/models/due-date.model.js +0 -8
  260. package/esm5/lib/models/feature-user.js +0 -28
  261. package/esm5/lib/models/filter.model.js +0 -66
  262. package/esm5/lib/models/idle-config.model.js +0 -20
  263. package/esm5/lib/models/index.js +0 -7
  264. package/esm5/lib/models/public_api.js +0 -17
  265. package/esm5/lib/models/tcDocument.model.js +0 -18
  266. package/esm5/lib/models/timeout-notification.model.js +0 -18
  267. package/esm5/lib/models/user-details.model.js +0 -22
  268. package/esm5/lib/models/user.model.js +0 -25
  269. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -289
  270. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -83
  271. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -88
  272. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -183
  273. package/esm5/lib/services/filter/filter.service.js +0 -149
  274. package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
  275. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
  276. package/esm5/lib/services/index.js +0 -7
  277. package/esm5/lib/services/loading/loading.service.js +0 -109
  278. package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
  279. package/esm5/lib/services/public-api.js +0 -21
  280. package/esm5/lib/services/role-guard/role.guard.js +0 -81
  281. package/esm5/lib/services/role-guard/role.service.js +0 -45
  282. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
  283. package/esm5/lib/window.js +0 -13
  284. package/esm5/public-api.js +0 -16
  285. package/fesm5/hmcts-rpx-xui-common-lib.js +0 -5057
  286. package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
  287. package/lib/gov-ui/directives/index.d.ts +0 -1
  288. package/lib/gov-ui/directives/public_api.d.ts +0 -1
  289. package/lib/models/badge-colour.enum.d.ts +0 -6
@@ -1,46 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/invite-user-permissions/invite-user-permission.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, Input } from '@angular/core';
7
- import { FormGroup } from '@angular/forms';
8
- var InviteUserPermissionComponent = /** @class */ (function () {
9
- function InviteUserPermissionComponent() {
10
- this.isPuiCaseManager = false;
11
- this.isPuiUserManager = false;
12
- this.isPuiOrganisationManager = false;
13
- this.isPuiFinanceManager = false;
14
- }
15
- InviteUserPermissionComponent.decorators = [
16
- { type: Component, args: [{
17
- selector: 'xuilib-invite-permission-form',
18
- template: " <!--permissions -->\n <ng-container [formGroup]=\"inviteUserForm\">\n <xuilib-gov-uk-form-group-wrapper\n [config]=\"{hint: 'Choose what the user will be able to do. You can change this later.', legend: 'Permissions', key: 'roles'}\"\n [formGroupName]=\"'roles'\"\n [error]=\"errorMessages\">\n\n <div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiCaseManager\"\n [config]=\"{value: 'pui-case-manager', label: 'Manage Cases', name: 'roles', hint: 'View, create and progress cases.', focusOn: 'roles'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiUserManager\"\n [config]=\"{value: 'pui-user-manager', label: 'Manage Users', name: 'roles',\n hint: 'Invite users.'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiOrganisationManager\"\n [config]=\"{value: 'pui-organisation-manager', label: 'Manage Organisation', name: 'roles',\n hint: 'View organisation name and addresses.'}\">\n </xuilib-gov-checkbox>\n\n <!-- <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiFinanceManager\"\n [config]=\"{value: 'pui-finance-manager', label: 'Manage Payments', name: 'roles',\n hint: 'View account balances, available credit and transactions.'}\">\n </xuilib-gov-checkbox> -->\n </div>\n\n </xuilib-gov-uk-form-group-wrapper>\n</ng-container>"
19
- }] }
20
- ];
21
- InviteUserPermissionComponent.propDecorators = {
22
- inviteUserForm: [{ type: Input }],
23
- isPuiCaseManager: [{ type: Input }],
24
- isPuiUserManager: [{ type: Input }],
25
- isPuiOrganisationManager: [{ type: Input }],
26
- isPuiFinanceManager: [{ type: Input }],
27
- errorMessages: [{ type: Input }]
28
- };
29
- return InviteUserPermissionComponent;
30
- }());
31
- export { InviteUserPermissionComponent };
32
- if (false) {
33
- /** @type {?} */
34
- InviteUserPermissionComponent.prototype.inviteUserForm;
35
- /** @type {?} */
36
- InviteUserPermissionComponent.prototype.isPuiCaseManager;
37
- /** @type {?} */
38
- InviteUserPermissionComponent.prototype.isPuiUserManager;
39
- /** @type {?} */
40
- InviteUserPermissionComponent.prototype.isPuiOrganisationManager;
41
- /** @type {?} */
42
- InviteUserPermissionComponent.prototype.isPuiFinanceManager;
43
- /** @type {?} */
44
- InviteUserPermissionComponent.prototype.errorMessages;
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvaW52aXRlLXVzZXItcGVybWlzc2lvbnMvaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0M7SUFBQTtRQU9vQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLDZCQUF3QixHQUFZLEtBQUssQ0FBQztRQUMxQyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7SUFFdkQsQ0FBQzs7Z0JBWkYsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLHVvREFBc0Q7aUJBQ3ZEOzs7aUNBR0UsS0FBSzttQ0FDTCxLQUFLO21DQUNMLEtBQUs7MkNBQ0wsS0FBSztzQ0FDTCxLQUFLO2dDQUNMLEtBQUs7O0lBQ1Isb0NBQUM7Q0FBQSxBQVpILElBWUc7U0FQWSw2QkFBNkI7OztJQUN4Qyx1REFBMEM7O0lBQzFDLHlEQUFrRDs7SUFDbEQseURBQWtEOztJQUNsRCxpRUFBMEQ7O0lBQzFELDREQUFxRDs7SUFDckQsc0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZXNNb2RlbCB9IGZyb20gJy4uLy4uL2dvdi11aS9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3h1aWxpYi1pbnZpdGUtcGVybWlzc2lvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gIH0pXG5cbiAgZXhwb3J0IGNsYXNzIEludml0ZVVzZXJQZXJtaXNzaW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW52aXRlVXNlckZvcm06IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNQdWlDYXNlTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1B1aVVzZXJNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGlzUHVpT3JnYW5pc2F0aW9uTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1B1aUZpbmFuY2VNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZXNNb2RlbDtcbiAgfVxuIl19
@@ -1,61 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/loading-spinner/loading-spinner.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { Component, Input, Renderer2, ViewEncapsulation } from '@angular/core';
7
- var LoadingSpinnerComponent = /** @class */ (function () {
8
- function LoadingSpinnerComponent(renderer) {
9
- this.renderer = renderer;
10
- this.zIndex = 1000;
11
- this.loadingText = 'Page can take up to 30 seconds to load';
12
- }
13
- /**
14
- * @return {?}
15
- */
16
- LoadingSpinnerComponent.prototype.ngOnInit = /**
17
- * @return {?}
18
- */
19
- function () {
20
- this.renderer.addClass(document.body, 'loading-spinner-in-action');
21
- };
22
- /**
23
- * @return {?}
24
- */
25
- LoadingSpinnerComponent.prototype.ngOnDestroy = /**
26
- * @return {?}
27
- */
28
- function () {
29
- this.renderer.removeClass(document.body, 'loading-spinner-in-action');
30
- };
31
- LoadingSpinnerComponent.decorators = [
32
- { type: Component, args: [{
33
- selector: 'xuilib-loading-spinner',
34
- template: "<div class=\"loading-spinner__overlay\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"loading-spinner__box\" [ngStyle]=\"{'z-index': zIndex + 1}\">\n <div class=\"loading-spinner__fan\">\n <ng-container *ngFor=\"let i of [].constructor(12)\">\n <div></div>\n </ng-container>\n </div>\n <p>{{loadingText}}</p>\n </div>\n</div>",
35
- encapsulation: ViewEncapsulation.None,
36
- styles: [".loading-spinner-in-action{overflow:hidden}.loading-spinner-in-action .loading-spinner__overlay{position:fixed;top:0;left:0;bottom:0;right:0;background-color:rgba(255,255,255,.7)}.loading-spinner-in-action .loading-spinner__box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.loading-spinner-in-action .loading-spinner__fan{display:inline-block;position:relative;width:64px;height:64px}.loading-spinner-in-action .loading-spinner__fan div{transform-origin:32px 32px;-webkit-animation:1.2s linear infinite lds-spinner;animation:1.2s linear infinite lds-spinner}.loading-spinner-in-action .loading-spinner__fan div:after{content:\" \";display:block;position:absolute;top:3px;left:29px;width:5px;height:14px;border-radius:20%;background:#0b0c0c}.loading-spinner-in-action .loading-spinner__fan div:nth-child(1){transform:rotate(0);-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(2){transform:rotate(30deg);-webkit-animation-delay:-1s;animation-delay:-1s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(3){transform:rotate(60deg);-webkit-animation-delay:-.9s;animation-delay:-.9s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(4){transform:rotate(90deg);-webkit-animation-delay:-.8s;animation-delay:-.8s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(5){transform:rotate(120deg);-webkit-animation-delay:-.7s;animation-delay:-.7s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(6){transform:rotate(150deg);-webkit-animation-delay:-.6s;animation-delay:-.6s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(7){transform:rotate(180deg);-webkit-animation-delay:-.5s;animation-delay:-.5s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(8){transform:rotate(210deg);-webkit-animation-delay:-.4s;animation-delay:-.4s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(9){transform:rotate(240deg);-webkit-animation-delay:-.3s;animation-delay:-.3s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(10){transform:rotate(270deg);-webkit-animation-delay:-.2s;animation-delay:-.2s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(11){transform:rotate(300deg);-webkit-animation-delay:-.1s;animation-delay:-.1s}.loading-spinner-in-action .loading-spinner__fan div:nth-child(12){transform:rotate(330deg);-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes lds-spinner{0%{opacity:1}100%{opacity:0}}@keyframes lds-spinner{0%{opacity:1}100%{opacity:0}}"]
37
- }] }
38
- ];
39
- /** @nocollapse */
40
- LoadingSpinnerComponent.ctorParameters = function () { return [
41
- { type: Renderer2 }
42
- ]; };
43
- LoadingSpinnerComponent.propDecorators = {
44
- zIndex: [{ type: Input }],
45
- loadingText: [{ type: Input }]
46
- };
47
- return LoadingSpinnerComponent;
48
- }());
49
- export { LoadingSpinnerComponent };
50
- if (false) {
51
- /** @type {?} */
52
- LoadingSpinnerComponent.prototype.zIndex;
53
- /** @type {?} */
54
- LoadingSpinnerComponent.prototype.loadingText;
55
- /**
56
- * @type {?}
57
- * @private
58
- */
59
- LoadingSpinnerComponent.prototype.renderer;
60
- }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEc7SUFXRSxpQ0FBNkIsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUhoQyxXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsd0NBQXdDLENBQUM7SUFHL0UsQ0FBQzs7OztJQUVNLDBDQUFROzs7SUFBZjtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7O0lBRU0sNkNBQVc7OztJQUFsQjtRQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUN4RSxDQUFDOztnQkFwQkYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLGlYQUErQztvQkFFL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2lCQUN0Qzs7OztnQkFQNkMsU0FBUzs7O3lCQVVwRCxLQUFLOzhCQUNMLEtBQUs7O0lBWVIsOEJBQUM7Q0FBQSxBQXJCRCxJQXFCQztTQWRZLHVCQUF1Qjs7O0lBQ2xDLHlDQUFzQzs7SUFDdEMsOENBQStFOzs7OztJQUVuRSwyQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItbG9hZGluZy1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHB1YmxpYyB6SW5kZXg6IG51bWJlciA9IDEwMDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nVGV4dDogc3RyaW5nID0gJ1BhZ2UgY2FuIHRha2UgdXAgdG8gMzAgc2Vjb25kcyB0byBsb2FkJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksICdsb2FkaW5nLXNwaW5uZXItaW4tYWN0aW9uJyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhkb2N1bWVudC5ib2R5LCAnbG9hZGluZy1zcGlubmVyLWluLWFjdGlvbicpO1xuICB9XG59XG4iXX0=
@@ -1,31 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/public_api.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { AccessibilityComponent } from './accessibility/accessibility.component';
7
- export { CheckboxListComponent } from './checkbox-list/checkbox-list.component';
8
- export { ContactDetailsComponent } from './contact-details/contact-details.component';
9
- export { DueDateComponent } from './due-date/due-date.component';
10
- export { ExuiPageWrapperComponent } from './exui-main-wrapper/exui-page-wrapper.component';
11
- export { HmctsSessionDialogComponent } from './hmcts-session-dialog/hmcts-session-dialog.component';
12
- export { InviteUserFormComponent } from './invite-user-form/invite-user-form.component';
13
- export { InviteUserPermissionComponent } from './invite-user-permissions/invite-user-permission.component';
14
- export { LoadingSpinnerComponent } from './loading-spinner/loading-spinner.component';
15
- export { SelectedCaseComponent } from './selected-case/selected-case.component';
16
- export { SelectedCaseConfirmComponent } from './selected-case-confirm/selected-case-confirm.component';
17
- export { SelectedCaseListComponent } from './selected-case-list/selected-case-list.component';
18
- export { ServiceMessageComponent } from './service-message/service-message.component';
19
- export { ServiceMessagesComponent } from './service-messages/service-messages.component';
20
- export { ShareCaseComponent } from './share-case/share-case.component';
21
- export { ShareCaseConfirmComponent } from './share-case-confirm/share-case-confirm.component';
22
- export { TabComponent } from './tab/tab.component';
23
- export { TcConfirmComponent } from './tc-confirm/tc-confirm.component';
24
- export { TermsAndConditionsComponent } from './terms-and-conditions/terms-and-conditions.component';
25
- export { TcDisplayHtmlComponent } from './terms-and-conditions/tc-display/tc-display-html/tc-display-html.component';
26
- export { TcDisplayPlainComponent } from './terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component';
27
- export { UserDetailsComponent } from './user-details/user-details.component';
28
- export { UserListComponent } from './user-list/user-list.component';
29
- export { UserSelectComponent } from './user-select/user-select.component';
30
- export { GenericFilterComponent } from './generic-filter/generic-filter.component';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUNBQWMseUNBQXlDLENBQUM7QUFDeEQsc0NBQWMseUNBQXlDLENBQUM7QUFDeEQsd0NBQWMsNkNBQTZDLENBQUM7QUFDNUQsaUNBQWMsK0JBQStCLENBQUM7QUFDOUMseUNBQWMsaURBQWlELENBQUM7QUFDaEUsNENBQWMsdURBQXVELENBQUM7QUFDdEUsd0NBQWMsK0NBQStDLENBQUM7QUFDOUQsOENBQWMsNERBQTRELENBQUM7QUFDM0Usd0NBQWMsNkNBQTZDLENBQUM7QUFDNUQsc0NBQWMseUNBQXlDLENBQUM7QUFDeEQsNkNBQWMseURBQXlELENBQUM7QUFDeEUsMENBQWMsbURBQW1ELENBQUM7QUFDbEUsd0NBQWMsNkNBQTZDLENBQUM7QUFDNUQseUNBQWMsK0NBQStDLENBQUM7QUFDOUQsbUNBQWMsbUNBQW1DLENBQUM7QUFDbEQsMENBQWMsbURBQW1ELENBQUM7QUFDbEUsNkJBQWMscUJBQXFCLENBQUM7QUFDcEMsbUNBQWMsbUNBQW1DLENBQUM7QUFDbEQsNENBQWMsdURBQXVELENBQUM7QUFDdEUsdUNBQWMsNkVBQTZFLENBQUM7QUFDNUYsd0NBQWMsK0VBQStFLENBQUM7QUFDOUYscUNBQWMsdUNBQXVDLENBQUM7QUFDdEQsa0NBQWMsaUNBQWlDLENBQUM7QUFDaEQsb0NBQWMscUNBQXFDLENBQUM7QUFDcEQsdUNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1saXN0L2NoZWNrYm94LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9leHVpLW1haW4td3JhcHBlci9leHVpLXBhZ2Utd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9obWN0cy1zZXNzaW9uLWRpYWxvZy9obWN0cy1zZXNzaW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUtdXNlci1mb3JtL2ludml0ZS11c2VyLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW52aXRlLXVzZXItcGVybWlzc2lvbnMvaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RlZC1jYXNlLWNvbmZpcm0vc2VsZWN0ZWQtY2FzZS1jb25maXJtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGVkLWNhc2UtbGlzdC9zZWxlY3RlZC1jYXNlLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS1tZXNzYWdlL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLW1lc3NhZ2VzL3NlcnZpY2UtbWVzc2FnZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmUtY2FzZS9zaGFyZS1jYXNlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlLWNhc2UtY29uZmlybS9zaGFyZS1jYXNlLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFiL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90Yy1jb25maXJtL3RjLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVybXMtYW5kLWNvbmRpdGlvbnMvdGVybXMtYW5kLWNvbmRpdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVybXMtYW5kLWNvbmRpdGlvbnMvdGMtZGlzcGxheS90Yy1kaXNwbGF5LWh0bWwvdGMtZGlzcGxheS1odG1sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlcm1zLWFuZC1jb25kaXRpb25zL3RjLWRpc3BsYXkvdGMtZGlzcGxheS1wbGFpbi90Yy1kaXNwbGF5LXBsYWluLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1saXN0L3VzZXItbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLXNlbGVjdC91c2VyLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZpbHRlci9nZW5lcmljLWZpbHRlci5jb21wb25lbnQnO1xuIl19
@@ -1,430 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/selected-case/selected-case.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import * as tslib_1 from "tslib";
7
- import { Component, EventEmitter, Input, Output } from '@angular/core';
8
- import { map } from 'rxjs/operators';
9
- import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
10
- var SelectedCaseComponent = /** @class */ (function () {
11
- function SelectedCaseComponent(stateService) {
12
- this.stateService = stateService;
13
- this.opened = false;
14
- this.unselect = new EventEmitter();
15
- this.synchronizeStore = new EventEmitter();
16
- }
17
- /**
18
- * @return {?}
19
- */
20
- SelectedCaseComponent.prototype.ngOnInit = /**
21
- * @return {?}
22
- */
23
- function () {
24
- var _this = this;
25
- this.shareCases$ = this.stateService.state;
26
- this.shareCases$.subscribe((/**
27
- * @param {?} shareCases
28
- * @return {?}
29
- */
30
- function (shareCases) { return _this.shareCases = shareCases; }));
31
- };
32
- /**
33
- * @param {?} changes
34
- * @return {?}
35
- */
36
- SelectedCaseComponent.prototype.ngOnChanges = /**
37
- * @param {?} changes
38
- * @return {?}
39
- */
40
- function (changes) {
41
- if (changes.sharedCase) {
42
- /** @type {?} */
43
- var sharedWith = this.sharedCase.sharedWith ? this.sharedCase.sharedWith : [];
44
- /** @type {?} */
45
- var pendingShares = this.sharedCase.pendingShares ? this.sharedCase.pendingShares : [];
46
- this.combinedSortedShares = this.combineAndSortShares(sharedWith, pendingShares);
47
- }
48
- };
49
- /**
50
- * @return {?}
51
- */
52
- SelectedCaseComponent.prototype.onUnselect = /**
53
- * @return {?}
54
- */
55
- function () {
56
- this.unselect.emit(this.sharedCase);
57
- };
58
- /**
59
- * @param {?} c
60
- * @return {?}
61
- */
62
- SelectedCaseComponent.prototype.onDeselect = /**
63
- * @param {?} c
64
- * @return {?}
65
- */
66
- function (c) {
67
- this.unselect.emit(c);
68
- };
69
- /**
70
- * @param {?} user
71
- * @return {?}
72
- */
73
- SelectedCaseComponent.prototype.trackByUserId = /**
74
- * @param {?} user
75
- * @return {?}
76
- */
77
- function (user) {
78
- return user.idamId;
79
- };
80
- /**
81
- * @param {?} caseId
82
- * @param {?} user
83
- * @return {?}
84
- */
85
- SelectedCaseComponent.prototype.canRemove = /**
86
- * @param {?} caseId
87
- * @param {?} user
88
- * @return {?}
89
- */
90
- function (caseId, user) {
91
- var _this = this;
92
- return this.shareCases$.pipe(map((/**
93
- * @param {?} cases
94
- * @return {?}
95
- */
96
- function (cases) {
97
- var e_1, _a;
98
- if (_this.removeUserFromCaseToggleOn) {
99
- try {
100
- for (var cases_1 = tslib_1.__values(cases), cases_1_1 = cases_1.next(); !cases_1_1.done; cases_1_1 = cases_1.next()) {
101
- var aCase = cases_1_1.value;
102
- if (aCase.caseId === caseId) {
103
- if (aCase.pendingUnshares && aCase.pendingUnshares.some((/**
104
- * @param {?} u
105
- * @return {?}
106
- */
107
- function (u) { return u.idamId === user.idamId; }))) {
108
- return false;
109
- }
110
- if (aCase.sharedWith && aCase.sharedWith.some((/**
111
- * @param {?} u
112
- * @return {?}
113
- */
114
- function (u) { return u.idamId === user.idamId; }))) {
115
- return true;
116
- }
117
- }
118
- }
119
- }
120
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
121
- finally {
122
- try {
123
- if (cases_1_1 && !cases_1_1.done && (_a = cases_1.return)) _a.call(cases_1);
124
- }
125
- finally { if (e_1) throw e_1.error; }
126
- }
127
- }
128
- return false;
129
- })));
130
- };
131
- /**
132
- * @param {?} caseId
133
- * @param {?} user
134
- * @return {?}
135
- */
136
- SelectedCaseComponent.prototype.canCancel = /**
137
- * @param {?} caseId
138
- * @param {?} user
139
- * @return {?}
140
- */
141
- function (caseId, user) {
142
- return this.shareCases$.pipe(map((/**
143
- * @param {?} cases
144
- * @return {?}
145
- */
146
- function (cases) {
147
- var e_2, _a;
148
- try {
149
- for (var cases_2 = tslib_1.__values(cases), cases_2_1 = cases_2.next(); !cases_2_1.done; cases_2_1 = cases_2.next()) {
150
- var aCase = cases_2_1.value;
151
- if (aCase.caseId === caseId) {
152
- if (aCase.pendingShares && aCase.pendingShares.some((/**
153
- * @param {?} u
154
- * @return {?}
155
- */
156
- function (u) { return u.idamId === user.idamId; }))) {
157
- return true;
158
- }
159
- if (aCase.pendingUnshares && aCase.pendingUnshares.some((/**
160
- * @param {?} u
161
- * @return {?}
162
- */
163
- function (u) { return u.idamId === user.idamId; }))) {
164
- return true;
165
- }
166
- return false;
167
- }
168
- }
169
- }
170
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
171
- finally {
172
- try {
173
- if (cases_2_1 && !cases_2_1.done && (_a = cases_2.return)) _a.call(cases_2);
174
- }
175
- finally { if (e_2) throw e_2.error; }
176
- }
177
- })));
178
- };
179
- /**
180
- * @param {?} caseId
181
- * @param {?} user
182
- * @return {?}
183
- */
184
- SelectedCaseComponent.prototype.isToBeRemoved = /**
185
- * @param {?} caseId
186
- * @param {?} user
187
- * @return {?}
188
- */
189
- function (caseId, user) {
190
- return this.shareCases$.pipe(map((/**
191
- * @param {?} cases
192
- * @return {?}
193
- */
194
- function (cases) {
195
- var e_3, _a;
196
- try {
197
- for (var cases_3 = tslib_1.__values(cases), cases_3_1 = cases_3.next(); !cases_3_1.done; cases_3_1 = cases_3.next()) {
198
- var aCase = cases_3_1.value;
199
- if (aCase.caseId === caseId) {
200
- return aCase.pendingUnshares && aCase.pendingUnshares.some((/**
201
- * @param {?} u
202
- * @return {?}
203
- */
204
- function (u) { return u.idamId === user.idamId; }));
205
- }
206
- }
207
- }
208
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
209
- finally {
210
- try {
211
- if (cases_3_1 && !cases_3_1.done && (_a = cases_3.return)) _a.call(cases_3);
212
- }
213
- finally { if (e_3) throw e_3.error; }
214
- }
215
- })));
216
- };
217
- /**
218
- * @param {?} caseId
219
- * @param {?} user
220
- * @return {?}
221
- */
222
- SelectedCaseComponent.prototype.isToBeAdded = /**
223
- * @param {?} caseId
224
- * @param {?} user
225
- * @return {?}
226
- */
227
- function (caseId, user) {
228
- return this.shareCases$.pipe(map((/**
229
- * @param {?} cases
230
- * @return {?}
231
- */
232
- function (cases) {
233
- var e_4, _a;
234
- try {
235
- for (var cases_4 = tslib_1.__values(cases), cases_4_1 = cases_4.next(); !cases_4_1.done; cases_4_1 = cases_4.next()) {
236
- var aCase = cases_4_1.value;
237
- if (aCase.caseId === caseId) {
238
- return aCase.pendingShares && aCase.pendingShares.some((/**
239
- * @param {?} u
240
- * @return {?}
241
- */
242
- function (u) { return u.idamId === user.idamId; }));
243
- }
244
- }
245
- }
246
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
247
- finally {
248
- try {
249
- if (cases_4_1 && !cases_4_1.done && (_a = cases_4.return)) _a.call(cases_4);
250
- }
251
- finally { if (e_4) throw e_4.error; }
252
- }
253
- })));
254
- };
255
- /**
256
- * @param {?} user
257
- * @param {?} sharedCase
258
- * @return {?}
259
- */
260
- SelectedCaseComponent.prototype.onRemove = /**
261
- * @param {?} user
262
- * @param {?} sharedCase
263
- * @return {?}
264
- */
265
- function (user, sharedCase) {
266
- this.stateService.requestUnshare(sharedCase.caseId, user);
267
- this.synchronizeStore.emit(this.shareCases);
268
- };
269
- /**
270
- * @param {?} user
271
- * @param {?} sharedCase
272
- * @return {?}
273
- */
274
- SelectedCaseComponent.prototype.onCancel = /**
275
- * @param {?} user
276
- * @param {?} sharedCase
277
- * @return {?}
278
- */
279
- function (user, sharedCase) {
280
- this.stateService.requestCancel(sharedCase.caseId, user);
281
- this.synchronizeStore.emit(this.shareCases);
282
- };
283
- /**
284
- * @return {?}
285
- */
286
- SelectedCaseComponent.prototype.showNoUsersAccessInfo = /**
287
- * @return {?}
288
- */
289
- function () {
290
- // A user is added to a case
291
- if (this.sharedCase.pendingShares) {
292
- if (this.sharedCase.pendingShares.length > 0) {
293
- return false;
294
- }
295
- }
296
- // A case has 0 users with access to it
297
- if (this.sharedCase.sharedWith) {
298
- if (this.sharedCase.sharedWith.length === 0) {
299
- return true;
300
- }
301
- }
302
- // Access to the last user is removed
303
- if (this.sharedCase.sharedWith && this.sharedCase.pendingUnshares) {
304
- if (this.sharedCase.pendingUnshares.length > 0
305
- && this.sharedCase.sharedWith.length === this.sharedCase.pendingUnshares.length) {
306
- return true;
307
- }
308
- }
309
- return false;
310
- };
311
- /**
312
- * @return {?}
313
- */
314
- SelectedCaseComponent.prototype.showUserHasAccessInfo = /**
315
- * @return {?}
316
- */
317
- function () {
318
- return !this.showNoUsersAccessInfo();
319
- };
320
- /**
321
- * @return {?}
322
- */
323
- SelectedCaseComponent.prototype.showUserAccessTable = /**
324
- * @return {?}
325
- */
326
- function () {
327
- if (this.sharedCase.pendingShares) {
328
- if (this.sharedCase.pendingShares.length > 0) {
329
- return true;
330
- }
331
- }
332
- if (this.sharedCase.sharedWith) {
333
- if (this.sharedCase.sharedWith.length > 0) {
334
- return true;
335
- }
336
- }
337
- return false;
338
- };
339
- /**
340
- * @param {?} sharedWith
341
- * @param {?} pendingShares
342
- * @return {?}
343
- */
344
- SelectedCaseComponent.prototype.combineAndSortShares = /**
345
- * @param {?} sharedWith
346
- * @param {?} pendingShares
347
- * @return {?}
348
- */
349
- function (sharedWith, pendingShares) {
350
- return tslib_1.__spread(sharedWith, pendingShares).sort((/**
351
- * @param {?} user1
352
- * @param {?} user2
353
- * @return {?}
354
- */
355
- function (user1, user2) {
356
- return user1.firstName.toLowerCase() > user2.firstName.toLowerCase() ? 1 : (user2.firstName.toLowerCase() > user1.firstName.toLowerCase() ? -1 : 0);
357
- }));
358
- };
359
- /**
360
- * @param {?} isPending
361
- * @param {?} id
362
- * @return {?}
363
- */
364
- SelectedCaseComponent.prototype.userIdSetter = /**
365
- * @param {?} isPending
366
- * @param {?} id
367
- * @return {?}
368
- */
369
- function (isPending, id) {
370
- return isPending ? "pendingShares-" + id : "" + id;
371
- };
372
- /**
373
- * @param {?} elementName
374
- * @return {?}
375
- */
376
- SelectedCaseComponent.prototype.buildElementId = /**
377
- * @param {?} elementName
378
- * @return {?}
379
- */
380
- function (elementName) {
381
- return elementName + "-" + this.sharedCase.caseId;
382
- };
383
- SelectedCaseComponent.decorators = [
384
- { type: Component, args: [{
385
- selector: 'xuilib-selected-case',
386
- template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\n <div class=\"govuk-grid-row govuk-case-header\">\n <div class=\"govuk-grid-column-three-quarters\">\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle }}</h3>\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId }}</h1>\n </div>\n <div class=\"govuk-grid-column-twenty-percent\">\n <button id=\"{{buildElementId('btn-deselect-case')}}\" class=\"govuk-button hmcts-button--secondary\" (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">Deselect case</button>\n </div>\n <div class=\"govuk-accordion__section-header govuk-grid-column-five-percent\">\n <div class=\"govuk-accordion__section-heading\">\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" title=\"Expand or Collapse\">\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\n </div>\n </div>\n </div>\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">No users from your organisation currently have access to this case.</span>\n </div>\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">Users from your organisation with access to this case.</span>\n </div>\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Name</th>\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Email address</th>\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">Actions</th>\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\">&nbsp;&nbsp;</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">Remove <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} from case</span></a>\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">Cancel <span class=\"govuk-visually-hidden\">adding {{ user.firstName + ' ' + user.lastName }} to case</span></a>\n </td>\n <td class=\"govuk-table__cell\">\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">To be removed</span>\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n",
387
- styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:40%}.govuk-table-column-actions,.govuk-table-column-label{width:10%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]
388
- }] }
389
- ];
390
- /** @nocollapse */
391
- SelectedCaseComponent.ctorParameters = function () { return [
392
- { type: CaseSharingStateService }
393
- ]; };
394
- SelectedCaseComponent.propDecorators = {
395
- sharedCase: [{ type: Input }],
396
- selectedUser: [{ type: Input }],
397
- opened: [{ type: Input }],
398
- removeUserFromCaseToggleOn: [{ type: Input }],
399
- unselect: [{ type: Output }],
400
- synchronizeStore: [{ type: Output }]
401
- };
402
- return SelectedCaseComponent;
403
- }());
404
- export { SelectedCaseComponent };
405
- if (false) {
406
- /** @type {?} */
407
- SelectedCaseComponent.prototype.sharedCase;
408
- /** @type {?} */
409
- SelectedCaseComponent.prototype.selectedUser;
410
- /** @type {?} */
411
- SelectedCaseComponent.prototype.opened;
412
- /** @type {?} */
413
- SelectedCaseComponent.prototype.removeUserFromCaseToggleOn;
414
- /** @type {?} */
415
- SelectedCaseComponent.prototype.unselect;
416
- /** @type {?} */
417
- SelectedCaseComponent.prototype.synchronizeStore;
418
- /** @type {?} */
419
- SelectedCaseComponent.prototype.shareCases;
420
- /** @type {?} */
421
- SelectedCaseComponent.prototype.shareCases$;
422
- /** @type {?} */
423
- SelectedCaseComponent.prototype.combinedSortedShares;
424
- /**
425
- * @type {?}
426
- * @private
427
- */
428
- SelectedCaseComponent.prototype.stateService;
429
- }
430
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXZHO0lBb0JFLCtCQUE2QixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFYbEQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFPVSxDQUFDOzs7O0lBRWhFLHdDQUFROzs7SUFBZjtRQUFBLGlCQUlDO1FBSEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLFVBQVUsSUFBSSxPQUFBLEtBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxFQUE1QixDQUE0QixFQUFDLENBQUM7SUFFekUsQ0FBQzs7Ozs7SUFFTSwyQ0FBVzs7OztJQUFsQixVQUFtQixPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7O2dCQUNoQixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFOztnQkFDekUs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QUMsbUJBQWlCLEVBQUksQ0FBQyxDQUFDLENBQUMsS0FBRyxFQUFJLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFFTSw4Q0FBYzs7OztJQUFyQixVQUFzQixXQUFtQjtRQUN2QyxPQUFVLFdBQVcsU0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQVEsQ0FBQztJQUNwRCxDQUFDOztnQkF4S0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLHVsSUFBNkM7O2lCQUU5Qzs7OztnQkFOUSx1QkFBdUI7Ozs2QkFTN0IsS0FBSzsrQkFDTCxLQUFLO3lCQUNMLEtBQUs7NkNBQ0wsS0FBSzsyQkFFTCxNQUFNO21DQUNOLE1BQU07O0lBNEpULDRCQUFDO0NBQUEsQUF6S0QsSUF5S0M7U0FwS1kscUJBQXFCOzs7SUFFaEMsMkNBQXVDOztJQUN2Qyw2Q0FBMEM7O0lBQzFDLHVDQUErQjs7SUFDL0IsMkRBQW9EOztJQUVwRCx5Q0FBMkQ7O0lBQzNELGlEQUE0RDs7SUFFNUQsMkNBQWdDOztJQUNoQyw0Q0FBNkM7O0lBRTdDLHFEQUEyQzs7Ozs7SUFFL0IsNkNBQXNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VsZWN0ZWQtY2FzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkQ2FzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkVXNlcjogVXNlckRldGFpbHM7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgdW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlZENhc2U+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc3luY2hyb25pemVTdG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHB1YmxpYyBzaGFyZUNhc2VzOiBTaGFyZWRDYXNlW107XG4gIHB1YmxpYyBzaGFyZUNhc2VzJDogT2JzZXJ2YWJsZTxTaGFyZWRDYXNlW10+O1xuXG4gIHB1YmxpYyBjb21iaW5lZFNvcnRlZFNoYXJlczogVXNlckRldGFpbHNbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhdGU7XG4gICAgdGhpcy5zaGFyZUNhc2VzJC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB0aGlzLnNoYXJlQ2FzZXMgPSBzaGFyZUNhc2VzKTtcblxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zaGFyZWRDYXNlKSB7XG4gICAgICBjb25zdCBzaGFyZWRXaXRoID0gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggPyB0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCA6IFtdO1xuICAgICAgY29uc3QgcGVuZGluZ1NoYXJlcyA9IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzID8gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgOiBbXTtcbiAgICAgIHRoaXMuY29tYmluZWRTb3J0ZWRTaGFyZXMgPSB0aGlzLmNvbWJpbmVBbmRTb3J0U2hhcmVzKHNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblVuc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdCh0aGlzLnNoYXJlZENhc2UpO1xuICB9XG5cbiAgcHVibGljIG9uRGVzZWxlY3QoYzogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdChjKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5VXNlcklkKHVzZXI6IFVzZXJEZXRhaWxzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXNlci5pZGFtSWQ7XG4gIH1cblxuICBwdWJsaWMgY2FuUmVtb3ZlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGlmICh0aGlzLnJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uKSB7XG4gICAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhQ2FzZS5zaGFyZWRXaXRoICYmIGFDYXNlLnNoYXJlZFdpdGguc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGNhbkNhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVSZW1vdmVkKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNUb0JlQWRkZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1NoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nU2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlKHVzZXI6IFVzZXJEZXRhaWxzLCBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdFVuc2hhcmUoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0Q2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKTtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdCh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIHNob3dOb1VzZXJzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICAvLyBBIHVzZXIgaXMgYWRkZWQgdG8gYSBjYXNlXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEEgY2FzZSBoYXMgMCB1c2VycyB3aXRoIGFjY2VzcyB0byBpdFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCkge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQWNjZXNzIHRvIHRoZSBsYXN0IHVzZXIgaXMgcmVtb3ZlZFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGggPiAwXG4gICAgICAgICYmIHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VXNlckhhc0FjY2Vzc0luZm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnNob3dOb1VzZXJzQWNjZXNzSW5mbygpO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VyQWNjZXNzVGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNvbWJpbmVBbmRTb3J0U2hhcmVzKHNoYXJlZFdpdGg6IFVzZXJEZXRhaWxzW10sIHBlbmRpbmdTaGFyZXM6IFVzZXJEZXRhaWxzW10pOiBVc2VyRGV0YWlsc1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc2hhcmVkV2l0aCxcbiAgICAgIC4uLnBlbmRpbmdTaGFyZXNcbiAgICBdLnNvcnQoKHVzZXIxLCB1c2VyMikgPT4ge1xuICAgICAgcmV0dXJuIHVzZXIxLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAxIDogKHVzZXIyLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVzZXJJZFNldHRlcihpc1BlbmRpbmc6IGJvb2xlYW4sIGlkOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc1BlbmRpbmcgPyBgcGVuZGluZ1NoYXJlcy0ke2lkfWAgOiBgJHtpZH1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRWxlbWVudElkKGVsZW1lbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtlbGVtZW50TmFtZX0tJHt0aGlzLnNoYXJlZENhc2UuY2FzZUlkfWA7XG4gIH1cbn1cbiJdfQ==