@hmcts/rpx-xui-common-lib 1.7.0 → 1.8.0-angular-upgrade-9

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 (271) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +4078 -6583
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +15 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +2 -7
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +13 -17
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +45 -127
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +16 -23
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +31 -78
  10. package/esm2015/lib/components/due-date/due-date.component.js +24 -110
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +29 -34
  12. package/esm2015/lib/components/find-location/find-location.component.js +61 -131
  13. package/esm2015/lib/components/find-person/find-person.component.js +93 -174
  14. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
  15. package/esm2015/lib/components/generic-filter/generic-filter.component.js +54 -289
  16. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +20 -29
  17. package/esm2015/lib/components/index.js +2 -7
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +23 -33
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +34 -35
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +16 -22
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -38
  22. package/esm2015/lib/components/public_api.js +33 -33
  23. package/esm2015/lib/components/search-judicials/search-judicials.component.js +70 -156
  24. package/esm2015/lib/components/search-location/search-location.component.js +76 -177
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +62 -154
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +54 -191
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -53
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +38 -68
  29. package/esm2015/lib/components/service-message/service-message.component.js +23 -32
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +29 -77
  31. package/esm2015/lib/components/share-case/share-case.component.js +45 -104
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +27 -50
  33. package/esm2015/lib/components/tab/tab.component.js +19 -37
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +20 -29
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -17
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -17
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -23
  38. package/esm2015/lib/components/user-details/user-details.component.js +47 -57
  39. package/esm2015/lib/components/user-list/user-list.component.js +19 -28
  40. package/esm2015/lib/components/user-select/user-select.component.js +23 -64
  41. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +21 -67
  42. package/esm2015/lib/directives/index.js +2 -7
  43. package/esm2015/lib/directives/let/let.directive.js +16 -49
  44. package/esm2015/lib/directives/public-api.js +3 -8
  45. package/esm2015/lib/exui-common-lib.module.js +31 -35
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +23 -34
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +18 -23
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +30 -68
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +19 -25
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +19 -28
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -36
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -28
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -35
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +15 -22
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +23 -35
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +18 -23
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -34
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +32 -47
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +22 -29
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +20 -26
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +26 -56
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +17 -27
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +40 -52
  64. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +29 -36
  65. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +18 -35
  66. package/esm2015/lib/gov-ui/components/index.js +2 -7
  67. package/esm2015/lib/gov-ui/components/public_api.js +21 -7
  68. package/esm2015/lib/gov-ui/directives/index.js +2 -0
  69. package/esm2015/lib/gov-ui/directives/public_api.js +2 -0
  70. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +12 -30
  71. package/esm2015/lib/gov-ui/gov-ui.service.js +12 -16
  72. package/esm2015/lib/gov-ui/index.js +2 -7
  73. package/esm2015/lib/gov-ui/models/banner-data-model.js +1 -16
  74. package/esm2015/lib/gov-ui/models/checkboxes-model.js +1 -22
  75. package/esm2015/lib/gov-ui/models/error-messages-model.js +1 -16
  76. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +1 -36
  77. package/esm2015/lib/gov-ui/models/index.js +1 -7
  78. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +1 -24
  79. package/esm2015/lib/gov-ui/models/public_api.js +1 -10
  80. package/esm2015/lib/gov-ui/public_api.js +5 -9
  81. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
  82. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  83. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  84. package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
  85. package/esm2015/lib/gov-ui/validators/index.js +2 -7
  86. package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
  87. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
  88. package/esm2015/lib/models/case-share.model.js +1 -26
  89. package/esm2015/lib/models/contact-details.model.js +7 -31
  90. package/esm2015/lib/models/due-date.model.js +7 -14
  91. package/esm2015/lib/models/feature-user.js +1 -16
  92. package/esm2015/lib/models/filter.model.js +1 -112
  93. package/esm2015/lib/models/idle-config.model.js +1 -20
  94. package/esm2015/lib/models/index.js +6 -18
  95. package/esm2015/lib/models/location.model.js +1 -108
  96. package/esm2015/lib/models/person.model.js +17 -92
  97. package/esm2015/lib/models/public_api.js +4 -11
  98. package/esm2015/lib/models/search-options.model.js +1 -22
  99. package/esm2015/lib/models/tcDocument.model.js +1 -18
  100. package/esm2015/lib/models/timeout-notification.model.js +1 -18
  101. package/esm2015/lib/models/user-details.model.js +1 -22
  102. package/esm2015/lib/models/user.model.js +1 -25
  103. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +19 -92
  104. package/esm2015/lib/services/cookie/cookie.service.js +19 -78
  105. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +16 -51
  106. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +11 -35
  107. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +21 -101
  108. package/esm2015/lib/services/filter/filter.service.js +11 -63
  109. package/esm2015/lib/services/find-person/find-person.service.js +25 -130
  110. package/esm2015/lib/services/google-analytics/google-analytics.service.js +21 -70
  111. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +23 -71
  112. package/esm2015/lib/services/index.js +2 -7
  113. package/esm2015/lib/services/loading/loading.service.js +11 -48
  114. package/esm2015/lib/services/locations/location.service.js +22 -35
  115. package/esm2015/lib/services/manage-session/manage-session.services.js +21 -70
  116. package/esm2015/lib/services/public-api.js +13 -18
  117. package/esm2015/lib/services/role-guard/role.guard.js +24 -61
  118. package/esm2015/lib/services/role-guard/role.service.js +11 -28
  119. package/esm2015/lib/services/session-storage/session-storage.service.js +12 -24
  120. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +20 -82
  121. package/esm2015/lib/window.js +1 -10
  122. package/esm2015/public-api.js +8 -13
  123. package/esm5/hmcts-rpx-xui-common-lib.js +2 -7
  124. package/esm5/lib/components/accessibility/accessibility.component.js +10 -15
  125. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +57 -232
  126. package/esm5/lib/components/contact-details/contact-details.component.js +14 -22
  127. package/esm5/lib/components/cookie-banner/cookie-banner.component.js +36 -106
  128. package/esm5/lib/components/due-date/due-date.component.js +29 -142
  129. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +27 -33
  130. package/esm5/lib/components/find-location/find-location.component.js +71 -167
  131. package/esm5/lib/components/find-person/find-person.component.js +97 -193
  132. package/esm5/lib/components/generic-filter/generic-filter-utils.js +13 -57
  133. package/esm5/lib/components/generic-filter/generic-filter.component.js +83 -408
  134. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +19 -32
  135. package/esm5/lib/components/index.js +2 -7
  136. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +23 -37
  137. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +32 -34
  138. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +14 -21
  139. package/esm5/lib/components/pagination/pagination.component.js +28 -45
  140. package/esm5/lib/components/public_api.js +33 -33
  141. package/esm5/lib/components/search-judicials/search-judicials.component.js +78 -198
  142. package/esm5/lib/components/search-location/search-location.component.js +84 -207
  143. package/esm5/lib/components/search-venue/search-venue.component.js +71 -199
  144. package/esm5/lib/components/selected-case/selected-case.component.js +72 -279
  145. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -61
  146. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +39 -82
  147. package/esm5/lib/components/service-message/service-message.component.js +22 -36
  148. package/esm5/lib/components/service-messages/service-messages.component.js +30 -91
  149. package/esm5/lib/components/share-case/share-case.component.js +52 -138
  150. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +25 -49
  151. package/esm5/lib/components/tab/tab.component.js +18 -41
  152. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +19 -32
  153. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +10 -15
  154. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +10 -15
  155. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +14 -22
  156. package/esm5/lib/components/user-details/user-details.component.js +48 -71
  157. package/esm5/lib/components/user-list/user-list.component.js +18 -32
  158. package/esm5/lib/components/user-select/user-select.component.js +27 -92
  159. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +21 -70
  160. package/esm5/lib/directives/index.js +2 -7
  161. package/esm5/lib/directives/let/let.directive.js +15 -51
  162. package/esm5/lib/directives/public-api.js +3 -8
  163. package/esm5/lib/exui-common-lib.module.js +22 -28
  164. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +22 -37
  165. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +16 -22
  166. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +32 -89
  167. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +17 -24
  168. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +18 -31
  169. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -43
  170. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +21 -27
  171. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -45
  172. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +13 -21
  173. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +18 -44
  174. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +16 -22
  175. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +26 -37
  176. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +31 -51
  177. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +21 -32
  178. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +18 -25
  179. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +28 -71
  180. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +16 -27
  181. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -60
  182. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +28 -36
  183. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +16 -34
  184. package/esm5/lib/gov-ui/components/index.js +2 -7
  185. package/esm5/lib/gov-ui/components/public_api.js +21 -7
  186. package/esm5/lib/gov-ui/directives/index.js +2 -0
  187. package/esm5/lib/gov-ui/directives/public_api.js +2 -0
  188. package/esm5/lib/gov-ui/directives/remove-host.directive.js +10 -29
  189. package/esm5/lib/gov-ui/gov-ui.service.js +9 -14
  190. package/esm5/lib/gov-ui/index.js +2 -7
  191. package/esm5/lib/gov-ui/models/banner-data-model.js +1 -16
  192. package/esm5/lib/gov-ui/models/checkboxes-model.js +1 -22
  193. package/esm5/lib/gov-ui/models/error-messages-model.js +1 -16
  194. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +1 -36
  195. package/esm5/lib/gov-ui/models/index.js +1 -7
  196. package/esm5/lib/gov-ui/models/isession-storage.interface.js +1 -24
  197. package/esm5/lib/gov-ui/models/public_api.js +1 -10
  198. package/esm5/lib/gov-ui/public_api.js +5 -9
  199. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +3 -34
  200. package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
  201. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  202. package/esm5/lib/gov-ui/validators/date.validator.js +3 -20
  203. package/esm5/lib/gov-ui/validators/index.js +2 -7
  204. package/esm5/lib/gov-ui/validators/public_api.js +4 -9
  205. package/esm5/lib/gov-ui/validators/radio-group.validator.js +3 -15
  206. package/esm5/lib/models/case-share.model.js +1 -26
  207. package/esm5/lib/models/contact-details.model.js +7 -31
  208. package/esm5/lib/models/due-date.model.js +7 -14
  209. package/esm5/lib/models/feature-user.js +1 -16
  210. package/esm5/lib/models/filter.model.js +1 -112
  211. package/esm5/lib/models/idle-config.model.js +1 -20
  212. package/esm5/lib/models/index.js +6 -18
  213. package/esm5/lib/models/location.model.js +1 -108
  214. package/esm5/lib/models/person.model.js +17 -92
  215. package/esm5/lib/models/public_api.js +4 -11
  216. package/esm5/lib/models/search-options.model.js +1 -22
  217. package/esm5/lib/models/tcDocument.model.js +1 -18
  218. package/esm5/lib/models/timeout-notification.model.js +1 -18
  219. package/esm5/lib/models/user-details.model.js +1 -22
  220. package/esm5/lib/models/user.model.js +1 -25
  221. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +27 -132
  222. package/esm5/lib/services/cookie/cookie.service.js +21 -104
  223. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +13 -61
  224. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +12 -70
  225. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +21 -142
  226. package/esm5/lib/services/filter/filter.service.js +15 -101
  227. package/esm5/lib/services/find-person/find-person.service.js +27 -152
  228. package/esm5/lib/services/google-analytics/google-analytics.service.js +21 -78
  229. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +23 -79
  230. package/esm5/lib/services/index.js +2 -7
  231. package/esm5/lib/services/loading/loading.service.js +14 -69
  232. package/esm5/lib/services/locations/location.service.js +11 -50
  233. package/esm5/lib/services/manage-session/manage-session.services.js +20 -73
  234. package/esm5/lib/services/public-api.js +13 -18
  235. package/esm5/lib/services/role-guard/role.guard.js +22 -60
  236. package/esm5/lib/services/role-guard/role.service.js +10 -28
  237. package/esm5/lib/services/session-storage/session-storage.service.js +12 -61
  238. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +19 -111
  239. package/esm5/lib/window.js +1 -10
  240. package/esm5/public-api.js +8 -13
  241. package/fesm2015/hmcts-rpx-xui-common-lib.js +3152 -4924
  242. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  243. package/fesm5/hmcts-rpx-xui-common-lib.js +3458 -6178
  244. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  245. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  246. package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
  247. package/lib/components/due-date/due-date.component.d.ts +4 -4
  248. package/lib/components/find-location/find-location.component.d.ts +4 -2
  249. package/lib/components/generic-filter/generic-filter.component.d.ts +4 -2
  250. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  251. package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
  252. package/lib/components/public_api.d.ts +9 -4
  253. package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
  254. package/lib/components/search-location/search-location.component.d.ts +4 -2
  255. package/lib/components/search-venue/search-venue.component.d.ts +1 -1
  256. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  257. package/lib/directives/let/let.directive.d.ts +1 -1
  258. package/lib/exui-common-lib.module.d.ts +1 -1
  259. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  260. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  261. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  262. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  263. package/lib/gov-ui/components/public_api.d.ts +19 -0
  264. package/lib/gov-ui/directives/index.d.ts +1 -0
  265. package/lib/gov-ui/directives/public_api.d.ts +1 -0
  266. package/lib/gov-ui/public_api.d.ts +2 -1
  267. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  268. package/lib/services/loading/loading.service.d.ts +2 -2
  269. package/lib/services/role-guard/role.service.d.ts +2 -1
  270. package/lib/window.d.ts +2 -2
  271. package/package.json +2 -6
@@ -1,9 +1,5 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/find-person/find-person.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
7
3
  import { FormControl, FormGroup } from '@angular/forms';
8
4
  import { of, zip } from 'rxjs';
9
5
  import { catchError, debounceTime, filter, map, switchMap, tap } from 'rxjs/operators';
@@ -32,107 +28,40 @@ var FindPersonComponent = /** @class */ (function () {
32
28
  this.filteredOptions = [];
33
29
  this.minSearchCharacters = 2;
34
30
  }
35
- /**
36
- * @return {?}
37
- */
38
- FindPersonComponent.prototype.ngOnDestroy = /**
39
- * @return {?}
40
- */
41
- function () {
31
+ FindPersonComponent.prototype.ngOnDestroy = function () {
42
32
  if (this.sub) {
43
33
  this.sub.unsubscribe();
44
34
  }
45
35
  };
46
- /**
47
- * @return {?}
48
- */
49
- FindPersonComponent.prototype.ngOnInit = /**
50
- * @return {?}
51
- */
52
- function () {
36
+ FindPersonComponent.prototype.ngOnInit = function () {
53
37
  var _this = this;
54
38
  this.findPersonControl = new FormControl(this.selectedPerson);
55
39
  this.findPersonGroup.addControl('findPersonControl', this.findPersonControl);
56
- this.sub = this.findPersonControl.valueChanges.pipe(tap((/**
57
- * @return {?}
58
- */
59
- function () { return _this.showAutocomplete = false; })), tap((/**
60
- * @return {?}
61
- */
62
- function () { return _this.filteredOptions = []; })), debounceTime(300), tap((/**
63
- * @param {?} searchTerm
64
- * @return {?}
65
- */
66
- function (searchTerm) { return typeof searchTerm === 'string' ? _this.personSelected.emit(null) : void 0; })), filter((/**
67
- * @param {?} searchTerm
68
- * @return {?}
69
- */
70
- function (searchTerm) { return searchTerm && searchTerm.length > _this.minSearchCharacters; })), switchMap((/**
71
- * @param {?} searchTerm
72
- * @return {?}
73
- */
74
- function (searchTerm) { return _this.filter(searchTerm).pipe(tap((/**
75
- * @return {?}
76
- */
77
- function () { return _this.showAutocomplete = true; })), catchError((/**
78
- * @return {?}
79
- */
80
- function () { return _this.filteredOptions = []; }))); }))).subscribe((/**
81
- * @param {?} people
82
- * @return {?}
83
- */
84
- function (people) {
40
+ this.sub = this.findPersonControl.valueChanges.pipe(tap(function () { return _this.showAutocomplete = false; }), tap(function () { return _this.filteredOptions = []; }), debounceTime(300), tap(function (searchTerm) { return typeof searchTerm === 'string' ? _this.personSelected.emit(null) : void 0; }), filter(function (searchTerm) { return searchTerm && searchTerm.length > _this.minSearchCharacters; }), switchMap(function (searchTerm) { return _this.filter(searchTerm).pipe(tap(function () { return _this.showAutocomplete = true; }), catchError(function () { return _this.filteredOptions = []; })); })).subscribe(function (people) {
85
41
  _this.filteredOptions = people;
86
42
  _this.cd.detectChanges();
87
- }));
43
+ });
88
44
  };
89
- /**
90
- * @param {?} searchTerm
91
- * @return {?}
92
- */
93
- FindPersonComponent.prototype.filter = /**
94
- * @param {?} searchTerm
95
- * @return {?}
96
- */
97
- function (searchTerm) {
45
+ FindPersonComponent.prototype.filter = function (searchTerm) {
98
46
  var _this = this;
99
- /** @type {?} */
100
47
  var findJudicialPeople = this.findPersonService.find({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
101
- /** @type {?} */
102
48
  var findCaseworkersOrAdmins = this.findPersonService.findCaseworkers({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
103
49
  if (searchTerm && searchTerm.length > this.minSearchCharacters) {
104
50
  switch (this.domain) {
105
51
  case PersonRole.JUDICIAL: {
106
- return findJudicialPeople.pipe(map((/**
107
- * @param {?} persons
108
- * @return {?}
109
- */
110
- function (persons) {
111
- /** @type {?} */
112
- var ids = _this.selectedPersons.map((/**
113
- * @param {?} __0
114
- * @return {?}
115
- */
116
- function (_a) {
52
+ return findJudicialPeople.pipe(map(function (persons) {
53
+ var ids = _this.selectedPersons.map(function (_a) {
117
54
  var id = _a.id;
118
55
  return id;
119
- }));
120
- return persons.filter((/**
121
- * @param {?} __0
122
- * @return {?}
123
- */
124
- function (_a) {
56
+ });
57
+ return persons.filter(function (_a) {
125
58
  var id = _a.id;
126
59
  return !ids.includes(id);
127
- }));
128
- })));
60
+ });
61
+ }));
129
62
  }
130
63
  case PersonRole.ALL: {
131
- return zip(findJudicialPeople, findCaseworkersOrAdmins).pipe(map((/**
132
- * @param {?} separatePeople
133
- * @return {?}
134
- */
135
- function (separatePeople) { return separatePeople[0].concat(separatePeople[1]); })));
64
+ return zip(findJudicialPeople, findCaseworkersOrAdmins).pipe(map(function (separatePeople) { return separatePeople[0].concat(separatePeople[1]); }));
136
65
  }
137
66
  case PersonRole.CASEWORKER:
138
67
  case PersonRole.ADMIN: {
@@ -145,27 +74,11 @@ var FindPersonComponent = /** @class */ (function () {
145
74
  }
146
75
  return of([]);
147
76
  };
148
- /**
149
- * @param {?} selectedPerson
150
- * @return {?}
151
- */
152
- FindPersonComponent.prototype.onSelectionChange = /**
153
- * @param {?} selectedPerson
154
- * @return {?}
155
- */
156
- function (selectedPerson) {
77
+ FindPersonComponent.prototype.onSelectionChange = function (selectedPerson) {
157
78
  this.personSelected.emit(selectedPerson);
158
79
  this.findPersonControl.setValue(this.getDisplayName(selectedPerson), { emitEvent: false, onlySelf: true });
159
80
  };
160
- /**
161
- * @param {?} selectedPerson
162
- * @return {?}
163
- */
164
- FindPersonComponent.prototype.getDisplayName = /**
165
- * @param {?} selectedPerson
166
- * @return {?}
167
- */
168
- function (selectedPerson) {
81
+ FindPersonComponent.prototype.getDisplayName = function (selectedPerson) {
169
82
  if (!selectedPerson) {
170
83
  return '';
171
84
  }
@@ -174,100 +87,91 @@ var FindPersonComponent = /** @class */ (function () {
174
87
  }
175
88
  return selectedPerson.email ? selectedPerson.name + "(" + selectedPerson.email + ")" : selectedPerson.name;
176
89
  };
177
- FindPersonComponent.decorators = [
178
- { type: Component, args: [{
179
- selector: 'xuilib-find-person',
180
- template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
181
- styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]
182
- }] }
183
- ];
184
- /** @nocollapse */
185
90
  FindPersonComponent.ctorParameters = function () { return [
186
91
  { type: FindAPersonService },
187
92
  { type: ChangeDetectorRef }
188
93
  ]; };
189
- FindPersonComponent.propDecorators = {
190
- personSelected: [{ type: Output }],
191
- title: [{ type: Input }],
192
- boldTitle: [{ type: Input }],
193
- subTitle: [{ type: Input }],
194
- domain: [{ type: Input }],
195
- findPersonGroup: [{ type: Input }],
196
- selectedPerson: [{ type: Input }],
197
- submitted: [{ type: Input }],
198
- userIncluded: [{ type: Input }],
199
- assignedUser: [{ type: Input }],
200
- placeholderContent: [{ type: Input }],
201
- isNoResultsShown: [{ type: Input }],
202
- showUpdatedColor: [{ type: Input }],
203
- selectedPersons: [{ type: Input }],
204
- errorMessage: [{ type: Input }],
205
- idValue: [{ type: Input }],
206
- services: [{ type: Input }],
207
- disabled: [{ type: Input }]
208
- };
94
+ __decorate([
95
+ Output(),
96
+ __metadata("design:type", Object)
97
+ ], FindPersonComponent.prototype, "personSelected", void 0);
98
+ __decorate([
99
+ Input(),
100
+ __metadata("design:type", String)
101
+ ], FindPersonComponent.prototype, "title", void 0);
102
+ __decorate([
103
+ Input(),
104
+ __metadata("design:type", Object)
105
+ ], FindPersonComponent.prototype, "boldTitle", void 0);
106
+ __decorate([
107
+ Input(),
108
+ __metadata("design:type", Object)
109
+ ], FindPersonComponent.prototype, "subTitle", void 0);
110
+ __decorate([
111
+ Input(),
112
+ __metadata("design:type", Object)
113
+ ], FindPersonComponent.prototype, "domain", void 0);
114
+ __decorate([
115
+ Input(),
116
+ __metadata("design:type", FormGroup)
117
+ ], FindPersonComponent.prototype, "findPersonGroup", void 0);
118
+ __decorate([
119
+ Input(),
120
+ __metadata("design:type", String)
121
+ ], FindPersonComponent.prototype, "selectedPerson", void 0);
122
+ __decorate([
123
+ Input(),
124
+ __metadata("design:type", Boolean)
125
+ ], FindPersonComponent.prototype, "submitted", void 0);
126
+ __decorate([
127
+ Input(),
128
+ __metadata("design:type", Boolean)
129
+ ], FindPersonComponent.prototype, "userIncluded", void 0);
130
+ __decorate([
131
+ Input(),
132
+ __metadata("design:type", String)
133
+ ], FindPersonComponent.prototype, "assignedUser", void 0);
134
+ __decorate([
135
+ Input(),
136
+ __metadata("design:type", String)
137
+ ], FindPersonComponent.prototype, "placeholderContent", void 0);
138
+ __decorate([
139
+ Input(),
140
+ __metadata("design:type", Boolean)
141
+ ], FindPersonComponent.prototype, "isNoResultsShown", void 0);
142
+ __decorate([
143
+ Input(),
144
+ __metadata("design:type", Boolean)
145
+ ], FindPersonComponent.prototype, "showUpdatedColor", void 0);
146
+ __decorate([
147
+ Input(),
148
+ __metadata("design:type", Array)
149
+ ], FindPersonComponent.prototype, "selectedPersons", void 0);
150
+ __decorate([
151
+ Input(),
152
+ __metadata("design:type", String)
153
+ ], FindPersonComponent.prototype, "errorMessage", void 0);
154
+ __decorate([
155
+ Input(),
156
+ __metadata("design:type", String)
157
+ ], FindPersonComponent.prototype, "idValue", void 0);
158
+ __decorate([
159
+ Input(),
160
+ __metadata("design:type", Array)
161
+ ], FindPersonComponent.prototype, "services", void 0);
162
+ __decorate([
163
+ Input(),
164
+ __metadata("design:type", Boolean)
165
+ ], FindPersonComponent.prototype, "disabled", void 0);
166
+ FindPersonComponent = __decorate([
167
+ Component({
168
+ selector: 'xuilib-find-person',
169
+ template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
170
+ styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]
171
+ }),
172
+ __metadata("design:paramtypes", [FindAPersonService, ChangeDetectorRef])
173
+ ], FindPersonComponent);
209
174
  return FindPersonComponent;
210
175
  }());
211
176
  export { FindPersonComponent };
212
- if (false) {
213
- /** @type {?} */
214
- FindPersonComponent.prototype.personSelected;
215
- /** @type {?} */
216
- FindPersonComponent.prototype.title;
217
- /** @type {?} */
218
- FindPersonComponent.prototype.boldTitle;
219
- /** @type {?} */
220
- FindPersonComponent.prototype.subTitle;
221
- /** @type {?} */
222
- FindPersonComponent.prototype.domain;
223
- /** @type {?} */
224
- FindPersonComponent.prototype.findPersonGroup;
225
- /** @type {?} */
226
- FindPersonComponent.prototype.selectedPerson;
227
- /** @type {?} */
228
- FindPersonComponent.prototype.submitted;
229
- /** @type {?} */
230
- FindPersonComponent.prototype.userIncluded;
231
- /** @type {?} */
232
- FindPersonComponent.prototype.assignedUser;
233
- /** @type {?} */
234
- FindPersonComponent.prototype.placeholderContent;
235
- /** @type {?} */
236
- FindPersonComponent.prototype.isNoResultsShown;
237
- /** @type {?} */
238
- FindPersonComponent.prototype.showUpdatedColor;
239
- /** @type {?} */
240
- FindPersonComponent.prototype.selectedPersons;
241
- /** @type {?} */
242
- FindPersonComponent.prototype.errorMessage;
243
- /** @type {?} */
244
- FindPersonComponent.prototype.idValue;
245
- /** @type {?} */
246
- FindPersonComponent.prototype.services;
247
- /** @type {?} */
248
- FindPersonComponent.prototype.disabled;
249
- /** @type {?} */
250
- FindPersonComponent.prototype.showAutocomplete;
251
- /** @type {?} */
252
- FindPersonComponent.prototype.findPersonControl;
253
- /** @type {?} */
254
- FindPersonComponent.prototype.filteredOptions;
255
- /** @type {?} */
256
- FindPersonComponent.prototype.minSearchCharacters;
257
- /**
258
- * @type {?}
259
- * @private
260
- */
261
- FindPersonComponent.prototype.sub;
262
- /**
263
- * @type {?}
264
- * @private
265
- */
266
- FindPersonComponent.prototype.findPersonService;
267
- /**
268
- * @type {?}
269
- * @private
270
- */
271
- FindPersonComponent.prototype.cd;
272
- }
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFhLEVBQUUsRUFBZ0IsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBUyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFbEY7SUErQkUsNkJBQTZCLGlCQUFxQyxFQUFtQixFQUFxQjtRQUE3RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBeEJ6RixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFN0MsY0FBUyxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLGFBQVEsR0FBRyw4Q0FBOEMsQ0FBQztRQUMxRCxXQUFNLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUN4QixvQkFBZSxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsaUJBQVksR0FBYSxLQUFLLENBQUM7UUFFL0IsdUJBQWtCLEdBQVcs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QUs7bUNBQ0wsS0FBSztrQ0FDTCxLQUFLOytCQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7O0lBMkVSLDBCQUFDO0NBQUEsQUFuR0QsSUFtR0M7U0E3RlksbUJBQW1COzs7SUFDOUIsNkNBQTZEOztJQUM3RCxvQ0FBOEI7O0lBQzlCLHdDQUE4Qzs7SUFDOUMsdUNBQTBFOztJQUMxRSxxQ0FBd0M7O0lBQ3hDLDhDQUErRDs7SUFDL0QsNkNBQXVDOztJQUN2Qyx3Q0FBMEM7O0lBQzFDLDJDQUErQzs7SUFDL0MsMkNBQXNDOztJQUN0QyxpREFBZ0Q7O0lBQ2hELCtDQUFpRDs7SUFDakQsK0NBQWtEOztJQUNsRCw4Q0FBK0M7O0lBQy9DLDJDQUFnRTs7SUFDaEUsc0NBQXFDOztJQUNyQyx1Q0FBNEM7O0lBQzVDLHVDQUF5Qzs7SUFDekMsK0NBQXlDOztJQUN6QyxnREFBc0M7O0lBQ3RDLDhDQUFzQzs7SUFDdEMsa0RBQXdDOzs7OztJQUN4QyxrQ0FBMEI7Ozs7O0lBRWQsZ0RBQXNEOzs7OztJQUFFLGlDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgemlwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGVyc29uLCBQZXJzb25Sb2xlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtGaW5kQVBlcnNvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1wZXJzb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC1wZXJzb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maW5kLXBlcnNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEZpbmRQZXJzb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGVyc29uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBlcnNvbj4oKTtcbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkVGl0bGUgPSAnRmluZCB0aGUgcGVyc29uJztcbiAgQElucHV0KCkgcHVibGljIHN1YlRpdGxlID0gJ1R5cGUgdGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBhbmQgc2VsZWN0IHRoZW0uJztcbiAgQElucHV0KCkgcHVibGljIGRvbWFpbiA9IFBlcnNvblJvbGUuQUxMO1xuICBASW5wdXQoKSBwdWJsaWMgZmluZFBlcnNvbkdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkUGVyc29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgdXNlckluY2x1ZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYXNzaWduZWRVc2VyPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGlzTm9SZXN1bHRzU2hvd246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1VwZGF0ZWRDb2xvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRQZXJzb25zOiBQZXJzb25bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VzOiBzdHJpbmdbXSA9IFsnSUEnXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZpbmRQZXJzb25Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUGVyc29uW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAyO1xuICBwcml2YXRlIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmluZFBlcnNvblNlcnZpY2U6IEZpbmRBUGVyc29uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZFBlcnNvbkNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5zZWxlY3RlZFBlcnNvbik7XG4gICAgdGhpcy5maW5kUGVyc29uR3JvdXAuYWRkQ29udHJvbCgnZmluZFBlcnNvbkNvbnRyb2wnLCB0aGlzLmZpbmRQZXJzb25Db250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFBlcnNvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMucGVyc29uU2VsZWN0ZWQuZW1pdChudWxsKSA6IHZvaWQgMCksXG4gICAgICBmaWx0ZXIoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgocGVvcGxlOiBQZXJzb25bXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBwZW9wbGU7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IGZpbmRKdWRpY2lhbFBlb3BsZSA9IHRoaXMuZmluZFBlcnNvblNlcnZpY2UuZmluZCh7c2VhcmNoVGVybSwgdXNlclJvbGU6IHRoaXMuZG9tYWluLCBzZXJ2aWNlczogdGhpcy5zZXJ2aWNlcywgdXNlckluY2x1ZGVkOiB0aGlzLnVzZXJJbmNsdWRlZCwgYXNzaWduZWRVc2VyOiB0aGlzLmFzc2lnbmVkVXNlcn0pO1xuICAgIGNvbnN0IGZpbmRDYXNld29ya2Vyc09yQWRtaW5zID0gdGhpcy5maW5kUGVyc29uU2VydmljZS5maW5kQ2FzZXdvcmtlcnMoe3NlYXJjaFRlcm0sIHVzZXJSb2xlOiB0aGlzLmRvbWFpbiwgc2VydmljZXM6IHRoaXMuc2VydmljZXMsIHVzZXJJbmNsdWRlZDogdGhpcy51c2VySW5jbHVkZWQsIGFzc2lnbmVkVXNlcjogdGhpcy5hc3NpZ25lZFVzZXJ9KTtcbiAgICBpZiAoc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgc3dpdGNoICh0aGlzLmRvbWFpbikge1xuICAgICAgICBjYXNlIFBlcnNvblJvbGUuSlVESUNJQUw6IHtcbiAgICAgICAgICByZXR1cm4gZmluZEp1ZGljaWFsUGVvcGxlLnBpcGUobWFwKHBlcnNvbnMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWRzOiBzdHJpbmdbXSA9IHRoaXMuc2VsZWN0ZWRQZXJzb25zLm1hcCgoe2lkfSkgPT4gaWQpO1xuICAgICAgICAgICAgcmV0dXJuIHBlcnNvbnMuZmlsdGVyKCh7IGlkIH0pID0+ICFpZHMuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBQZXJzb25Sb2xlLkFMTDoge1xuICAgICAgICAgIHJldHVybiB6aXAoZmluZEp1ZGljaWFsUGVvcGxlLCBmaW5kQ2FzZXdvcmtlcnNPckFkbWlucykucGlwZShtYXAoc2VwYXJhdGVQZW9wbGUgPT4gc2VwYXJhdGVQZW9wbGVbMF0uY29uY2F0KHNlcGFyYXRlUGVvcGxlWzFdKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUGVyc29uUm9sZS5DQVNFV09SS0VSOlxuICAgICAgICBjYXNlIFBlcnNvblJvbGUuQURNSU46IHtcbiAgICAgICAgICByZXR1cm4gZmluZENhc2V3b3JrZXJzT3JBZG1pbnM7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogdm9pZCB7XG4gICAgdGhpcy5wZXJzb25TZWxlY3RlZC5lbWl0KHNlbGVjdGVkUGVyc29uKTtcbiAgICB0aGlzLmZpbmRQZXJzb25Db250cm9sLnNldFZhbHVlKHRoaXMuZ2V0RGlzcGxheU5hbWUoc2VsZWN0ZWRQZXJzb24pLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogc3RyaW5nIHtcbiAgICBpZiAoIXNlbGVjdGVkUGVyc29uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZFBlcnNvbi5kb21haW4gPT09IFBlcnNvblJvbGUuSlVESUNJQUwgJiYgc2VsZWN0ZWRQZXJzb24ua25vd25Bcykge1xuICAgICAgcmV0dXJuIGAke3NlbGVjdGVkUGVyc29uLmtub3duQXN9KCR7c2VsZWN0ZWRQZXJzb24uZW1haWx9KWA7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZFBlcnNvbi5lbWFpbCA/IGAke3NlbGVjdGVkUGVyc29uLm5hbWV9KCR7c2VsZWN0ZWRQZXJzb24uZW1haWx9KWAgOiBzZWxlY3RlZFBlcnNvbi5uYW1lO1xuICB9XG59XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFhLEVBQUUsRUFBZ0IsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBUyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFRbEY7SUF5QkUsNkJBQTZCLGlCQUFxQyxFQUFtQixFQUFxQjtRQUE3RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBeEJ6RixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFN0MsY0FBUyxHQUFHLGlCQUFpQixDQUFDO1FBQzlCLGFBQVEsR0FBRyw4Q0FBOEMsQ0FBQztRQUMxRCxXQUFNLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUN4QixvQkFBZSxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsaUJBQVksR0FBYSxLQUFLLENBQUM7UUFF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O1FBQVIsS0FBSyxFQUFFOzswREFBa0M7SUFDakM7UUFBUixLQUFLLEVBQUU7OzZEQUF1QztJQUN0QztRQUFSLEtBQUssRUFBRTs7NkRBQThCO0lBQzdCO1FBQVIsS0FBSyxFQUFFOzttRUFBd0M7SUFDdkM7UUFBUixLQUFLLEVBQUU7O2lFQUF5QztJQUN4QztRQUFSLEtBQUssRUFBRTs7aUVBQTBDO0lBQ3pDO1FBQVIsS0FBSyxFQUFFOztnRUFBdUM7SUFDdEM7UUFBUixLQUFLLEVBQUU7OzZEQUF3RDtJQUN2RDtRQUFSLEtBQUssRUFBRTs7d0RBQTZCO0lBQzVCO1FBQVIsS0FBSyxFQUFFOzt5REFBb0M7SUFDbkM7UUFBUixLQUFLLEVBQUU7O3lEQUFpQztJQWxCOUIsbUJBQW1CO1FBTi9CLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsNHNEQUEyQzs7U0FFNUMsQ0FBQzt5Q0EyQmdELGtCQUFrQixFQUF1QixpQkFBaUI7T0F6Qi9GLG1CQUFtQixDQTZGL0I7SUFBRCwwQkFBQztDQUFBLEFBN0ZELElBNkZDO1NBN0ZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgemlwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGVyc29uLCBQZXJzb25Sb2xlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtGaW5kQVBlcnNvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1wZXJzb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC1wZXJzb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maW5kLXBlcnNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEZpbmRQZXJzb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGVyc29uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBlcnNvbj4oKTtcbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkVGl0bGUgPSAnRmluZCB0aGUgcGVyc29uJztcbiAgQElucHV0KCkgcHVibGljIHN1YlRpdGxlID0gJ1R5cGUgdGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBhbmQgc2VsZWN0IHRoZW0uJztcbiAgQElucHV0KCkgcHVibGljIGRvbWFpbiA9IFBlcnNvblJvbGUuQUxMO1xuICBASW5wdXQoKSBwdWJsaWMgZmluZFBlcnNvbkdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkUGVyc29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgdXNlckluY2x1ZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYXNzaWduZWRVc2VyPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGlzTm9SZXN1bHRzU2hvd246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1VwZGF0ZWRDb2xvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRQZXJzb25zOiBQZXJzb25bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VzOiBzdHJpbmdbXSA9IFsnSUEnXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZpbmRQZXJzb25Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUGVyc29uW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAyO1xuICBwcml2YXRlIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmluZFBlcnNvblNlcnZpY2U6IEZpbmRBUGVyc29uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZFBlcnNvbkNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5zZWxlY3RlZFBlcnNvbik7XG4gICAgdGhpcy5maW5kUGVyc29uR3JvdXAuYWRkQ29udHJvbCgnZmluZFBlcnNvbkNvbnRyb2wnLCB0aGlzLmZpbmRQZXJzb25Db250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFBlcnNvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMucGVyc29uU2VsZWN0ZWQuZW1pdChudWxsKSA6IHZvaWQgMCksXG4gICAgICBmaWx0ZXIoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgocGVvcGxlOiBQZXJzb25bXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBwZW9wbGU7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IGZpbmRKdWRpY2lhbFBlb3BsZSA9IHRoaXMuZmluZFBlcnNvblNlcnZpY2UuZmluZCh7c2VhcmNoVGVybSwgdXNlclJvbGU6IHRoaXMuZG9tYWluLCBzZXJ2aWNlczogdGhpcy5zZXJ2aWNlcywgdXNlckluY2x1ZGVkOiB0aGlzLnVzZXJJbmNsdWRlZCwgYXNzaWduZWRVc2VyOiB0aGlzLmFzc2lnbmVkVXNlcn0pO1xuICAgIGNvbnN0IGZpbmRDYXNld29ya2Vyc09yQWRtaW5zID0gdGhpcy5maW5kUGVyc29uU2VydmljZS5maW5kQ2FzZXdvcmtlcnMoe3NlYXJjaFRlcm0sIHVzZXJSb2xlOiB0aGlzLmRvbWFpbiwgc2VydmljZXM6IHRoaXMuc2VydmljZXMsIHVzZXJJbmNsdWRlZDogdGhpcy51c2VySW5jbHVkZWQsIGFzc2lnbmVkVXNlcjogdGhpcy5hc3NpZ25lZFVzZXJ9KTtcbiAgICBpZiAoc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgc3dpdGNoICh0aGlzLmRvbWFpbikge1xuICAgICAgICBjYXNlIFBlcnNvblJvbGUuSlVESUNJQUw6IHtcbiAgICAgICAgICByZXR1cm4gZmluZEp1ZGljaWFsUGVvcGxlLnBpcGUobWFwKHBlcnNvbnMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWRzOiBzdHJpbmdbXSA9IHRoaXMuc2VsZWN0ZWRQZXJzb25zLm1hcCgoe2lkfSkgPT4gaWQpO1xuICAgICAgICAgICAgcmV0dXJuIHBlcnNvbnMuZmlsdGVyKCh7IGlkIH0pID0+ICFpZHMuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBQZXJzb25Sb2xlLkFMTDoge1xuICAgICAgICAgIHJldHVybiB6aXAoZmluZEp1ZGljaWFsUGVvcGxlLCBmaW5kQ2FzZXdvcmtlcnNPckFkbWlucykucGlwZShtYXAoc2VwYXJhdGVQZW9wbGUgPT4gc2VwYXJhdGVQZW9wbGVbMF0uY29uY2F0KHNlcGFyYXRlUGVvcGxlWzFdKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUGVyc29uUm9sZS5DQVNFV09SS0VSOlxuICAgICAgICBjYXNlIFBlcnNvblJvbGUuQURNSU46IHtcbiAgICAgICAgICByZXR1cm4gZmluZENhc2V3b3JrZXJzT3JBZG1pbnM7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogdm9pZCB7XG4gICAgdGhpcy5wZXJzb25TZWxlY3RlZC5lbWl0KHNlbGVjdGVkUGVyc29uKTtcbiAgICB0aGlzLmZpbmRQZXJzb25Db250cm9sLnNldFZhbHVlKHRoaXMuZ2V0RGlzcGxheU5hbWUoc2VsZWN0ZWRQZXJzb24pLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogc3RyaW5nIHtcbiAgICBpZiAoIXNlbGVjdGVkUGVyc29uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZFBlcnNvbi5kb21haW4gPT09IFBlcnNvblJvbGUuSlVESUNJQUwgJiYgc2VsZWN0ZWRQZXJzb24ua25vd25Bcykge1xuICAgICAgcmV0dXJuIGAke3NlbGVjdGVkUGVyc29uLmtub3duQXN9KCR7c2VsZWN0ZWRQZXJzb24uZW1haWx9KWA7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZFBlcnNvbi5lbWFpbCA/IGAke3NlbGVjdGVkUGVyc29uLm5hbWV9KCR7c2VsZWN0ZWRQZXJzb24uZW1haWx9KWAgOiBzZWxlY3RlZFBlcnNvbi5uYW1lO1xuICB9XG59XG4iXX0=
@@ -1,66 +1,22 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/generic-filter/generic-filter-utils.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import * as tslib_1 from "tslib";
7
- /**
8
- * @template T
9
- * @param {?} min
10
- * @return {?}
11
- */
1
+ import { __read, __spread } from "tslib";
12
2
  export function minSelectedValidator(min) {
13
- return (/**
14
- * @param {?} control
15
- * @return {?}
16
- */
17
- function (control) {
18
- /** @type {?} */
19
- var values = (/** @type {?} */ (control.value));
20
- return values.length && values.filter((/**
21
- * @param {?} value
22
- * @return {?}
23
- */
24
- function (value) { return value; })).length >= min ? null : { minLength: true };
25
- });
3
+ return function (control) {
4
+ var values = control.value;
5
+ return values.length && values.filter(function (value) { return value; }).length >= min ? null : { minLength: true };
6
+ };
26
7
  }
27
- /**
28
- * @template T
29
- * @param {?} max
30
- * @return {?}
31
- */
32
8
  export function maxSelectedValidator(max) {
33
- return (/**
34
- * @param {?} control
35
- * @return {?}
36
- */
37
- function (control) {
38
- /** @type {?} */
39
- var values = (/** @type {?} */ (control.value));
40
- return values.length && values.filter((/**
41
- * @param {?} value
42
- * @return {?}
43
- */
44
- function (value) { return value; })).length <= max ? null : { maxLength: true };
45
- });
9
+ return function (control) {
10
+ var values = control.value;
11
+ return values.length && values.filter(function (value) { return value; }).length <= max ? null : { maxLength: true };
12
+ };
46
13
  }
47
- /**
48
- * @param {?} options
49
- * @param {?} values
50
- * @return {?}
51
- */
52
14
  export function getValues(options, values) {
53
- return options.reduce((/**
54
- * @param {?} acc
55
- * @param {?} option
56
- * @param {?} index
57
- * @return {?}
58
- */
59
- function (acc, option, index) {
15
+ return options.reduce(function (acc, option, index) {
60
16
  if (values[index]) {
61
- return tslib_1.__spread(acc, [option.key]);
17
+ return __spread(acc, [option.key]);
62
18
  }
63
19
  return acc;
64
- }), []);
20
+ }, []);
65
21
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXItdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQSxNQUFNLFVBQVUsb0JBQW9CLENBQUksR0FBVztJQUNqRDs7OztJQUFPLFVBQUMsT0FBd0I7O1lBQ3hCLE1BQU0sR0FBRyxtQkFBQSxPQUFPLENBQUMsS0FBSyxFQUFPO1FBQ25DLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssRUFBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakcsQ0FBQyxFQUFDO0FBQ0osQ0FBQzs7Ozs7O0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEdBQVc7SUFDakQ7Ozs7SUFBTyxVQUFDLE9BQXdCOztZQUN4QixNQUFNLEdBQUcsbUJBQUEsT0FBTyxDQUFDLEtBQUssRUFBTztRQUNuQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU07Ozs7UUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUMsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO0lBQ2pHLENBQUMsRUFBQztBQUNKLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMkQsRUFBRSxNQUFhO0lBQ2xHLE9BQU8sT0FBTyxDQUFDLE1BQU07Ozs7OztJQUFDLFVBQUMsR0FBYSxFQUFFLE1BQXNDLEVBQUUsS0FBYTtRQUN6RixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQix3QkFBVyxHQUFHLEdBQUUsTUFBTSxDQUFDLEdBQUcsR0FBRTtTQUM3QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxHQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gbWluU2VsZWN0ZWRWYWxpZGF0b3I8VD4obWluOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbnRyb2wudmFsdWUgYXMgVFtdO1xuICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICYmIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUpLmxlbmd0aCA+PSBtaW4gPyBudWxsIDoge21pbkxlbmd0aDogdHJ1ZX07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXhTZWxlY3RlZFZhbGlkYXRvcjxUPihtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWVzID0gY29udHJvbC52YWx1ZSBhcyBUW107XG4gICAgcmV0dXJuIHZhbHVlcy5sZW5ndGggJiYgdmFsdWVzLmZpbHRlcih2YWx1ZSA9PiB2YWx1ZSkubGVuZ3RoIDw9IG1heCA/IG51bGwgOiB7bWF4TGVuZ3RoOiB0cnVlfTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlcyhvcHRpb25zOiB7IGtleTogc3RyaW5nLCBsYWJlbDogc3RyaW5nLCBzZWxlY3RBbGw/OiB0cnVlIH1bXSwgdmFsdWVzOiBhbnlbXSk6IGFueVtdIHtcbiAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKChhY2M6IHN0cmluZ1tdLCBvcHRpb246IHsga2V5OiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIGlmICh2YWx1ZXNbaW5kZXhdKSB7XG4gICAgICByZXR1cm4gWy4uLmFjYywgb3B0aW9uLmtleV07XG4gICAgfVxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcbn1cblxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXItdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxHQUFXO0lBQ2pELE9BQU8sVUFBQyxPQUF3QjtRQUM5QixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBWSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakcsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxHQUFXO0lBQ2pELE9BQU8sVUFBQyxPQUF3QjtRQUM5QixJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBWSxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSyxFQUFMLENBQUssQ0FBQyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDakcsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBMkQsRUFBRSxNQUFhO0lBQ2xHLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFDLEdBQWEsRUFBRSxNQUFzQyxFQUFFLEtBQWE7UUFDekYsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsZ0JBQVcsR0FBRyxHQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUU7U0FDN0I7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1pblNlbGVjdGVkVmFsaWRhdG9yPFQ+KG1pbjogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb250cm9sLnZhbHVlIGFzIFRbXTtcbiAgICByZXR1cm4gdmFsdWVzLmxlbmd0aCAmJiB2YWx1ZXMuZmlsdGVyKHZhbHVlID0+IHZhbHVlKS5sZW5ndGggPj0gbWluID8gbnVsbCA6IHttaW5MZW5ndGg6IHRydWV9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4U2VsZWN0ZWRWYWxpZGF0b3I8VD4obWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbnRyb2wudmFsdWUgYXMgVFtdO1xuICAgIHJldHVybiB2YWx1ZXMubGVuZ3RoICYmIHZhbHVlcy5maWx0ZXIodmFsdWUgPT4gdmFsdWUpLmxlbmd0aCA8PSBtYXggPyBudWxsIDoge21heExlbmd0aDogdHJ1ZX07XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWYWx1ZXMob3B0aW9uczogeyBrZXk6IHN0cmluZywgbGFiZWw6IHN0cmluZywgc2VsZWN0QWxsPzogdHJ1ZSB9W10sIHZhbHVlczogYW55W10pOiBhbnlbXSB7XG4gIHJldHVybiBvcHRpb25zLnJlZHVjZSgoYWNjOiBzdHJpbmdbXSwgb3B0aW9uOiB7IGtleTogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH0sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBpZiAodmFsdWVzW2luZGV4XSkge1xuICAgICAgcmV0dXJuIFsuLi5hY2MsIG9wdGlvbi5rZXldO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbiJdfQ==