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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +6257 -0
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -0
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +2 -0
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -0
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +77 -0
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +27 -0
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +185 -0
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +17 -0
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +68 -0
  10. package/esm2015/lib/components/due-date/due-date.component.js +123 -0
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +28 -0
  12. package/esm2015/lib/components/find-location/find-location.component.js +146 -0
  13. package/esm2015/lib/components/find-person/find-person.component.js +120 -0
  14. package/esm2015/lib/components/find-service/find-service.component.js +113 -0
  15. package/esm2015/lib/components/find-task-name/find-task-name.component.js +97 -0
  16. package/esm2015/lib/components/generic-filter/generic-filter.component.js +629 -0
  17. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +27 -0
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +25 -0
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +25 -0
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +26 -0
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -0
  22. package/esm2015/lib/components/search-judicials/search-judicials.component.js +126 -0
  23. package/esm2015/lib/components/search-location/search-location.component.js +135 -0
  24. package/esm2015/lib/components/search-service/search-service.component.js +42 -0
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +123 -0
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +158 -0
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +36 -0
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +49 -0
  29. package/esm2015/lib/components/service-message/service-message.component.js +22 -0
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +48 -0
  31. package/esm2015/lib/components/share-case/share-case.component.js +205 -0
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +34 -0
  33. package/esm2015/lib/components/tab/tab.component.js +21 -0
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +22 -0
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -0
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -0
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -0
  38. package/esm2015/lib/components/user-details/user-details.component.js +41 -0
  39. package/esm2015/lib/components/user-list/user-list.component.js +33 -0
  40. package/esm2015/lib/components/user-select/user-select.component.js +58 -0
  41. package/esm2015/lib/components/write-address/write-address.component.js +182 -0
  42. package/esm2015/lib/components/write-address-inputs/write-address-inputs.component.js +36 -0
  43. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +42 -0
  44. package/esm2015/lib/directives/let/let.directive.js +30 -0
  45. package/esm2015/lib/exui-common-lib.module.js +174 -0
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +31 -0
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +60 -0
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +64 -0
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +22 -0
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +28 -0
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +35 -0
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -0
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +34 -0
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +22 -0
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +33 -0
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +21 -0
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -0
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +39 -0
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +27 -0
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +23 -0
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +48 -0
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +19 -0
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -0
  64. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +28 -0
  65. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +23 -0
  66. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +15 -0
  67. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +29 -0
  68. package/esm2015/lib/gov-ui/gov-ui.service.js +13 -0
  69. package/{esm2020/lib/models/public_api.mjs → esm2015/lib/models/public_api.js} +1 -2
  70. package/esm2015/lib/models/user-details.model.js +2 -0
  71. package/esm2015/lib/pipes/capitalize/capitalize.pipe.js +11 -0
  72. package/esm2015/lib/services/address/address.service.js +50 -0
  73. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +157 -0
  74. package/esm2015/lib/services/cookie/cookie.service.js +47 -0
  75. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +36 -0
  76. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +27 -0
  77. package/{esm2020/lib/services/feature-toggle/launch-darkly.service.mjs → esm2015/lib/services/feature-toggle/launch-darkly.service.js} +6 -8
  78. package/{esm2020/lib/services/filter/filter.service.mjs → esm2015/lib/services/filter/filter.service.js} +6 -8
  79. package/esm2015/lib/services/find-person/find-person.service.js +115 -0
  80. package/esm2015/lib/services/google-analytics/google-analytics.service.js +68 -0
  81. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +71 -0
  82. package/{esm2020/lib/services/loading/loading.service.mjs → esm2015/lib/services/loading/loading.service.js} +6 -8
  83. package/esm2015/lib/services/locations/location.service.js +39 -0
  84. package/{esm2020/lib/services/manage-session/manage-session.services.mjs → esm2015/lib/services/manage-session/manage-session.services.js} +10 -8
  85. package/esm2015/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.js +34 -0
  86. package/{esm2020/lib/services/ref-data/ref-data.service.mjs → esm2015/lib/services/ref-data/ref-data.service.js} +9 -8
  87. package/{esm2020/lib/services/role-guard/role.guard.mjs → esm2015/lib/services/role-guard/role.guard.js} +10 -8
  88. package/esm2015/lib/services/role-guard/role.service.js +20 -0
  89. package/{esm2020/lib/services/storage/session-storage/session-storage.service.mjs → esm2015/lib/services/storage/session-storage/session-storage.service.js} +6 -8
  90. package/{esm2020/lib/services/task-name/task-name.service.mjs → esm2015/lib/services/task-name/task-name.service.js} +10 -8
  91. package/{esm2020/lib/services/timeout-notifications/timeout-notifications.service.mjs → esm2015/lib/services/timeout-notifications/timeout-notifications.service.js} +10 -8
  92. package/fesm2015/hmcts-rpx-xui-common-lib.js +5227 -0
  93. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -0
  94. package/hmcts-rpx-xui-common-lib.d.ts +76 -0
  95. package/hmcts-rpx-xui-common-lib.metadata.json +1 -0
  96. package/lib/components/accessibility/accessibility.component.d.ts +4 -4
  97. package/lib/components/checkbox-list/checkbox-list.component.d.ts +0 -3
  98. package/lib/components/contact-details/contact-details.component.d.ts +0 -3
  99. package/lib/components/cookie-banner/cookie-banner.component.d.ts +1 -6
  100. package/lib/components/due-date/due-date.component.d.ts +0 -3
  101. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +0 -3
  102. package/lib/components/find-location/find-location.component.d.ts +0 -3
  103. package/lib/components/find-person/find-person.component.d.ts +0 -3
  104. package/lib/components/find-service/find-service.component.d.ts +0 -3
  105. package/lib/components/find-task-name/find-task-name.component.d.ts +0 -3
  106. package/lib/components/generic-filter/generic-filter.component.d.ts +0 -3
  107. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +0 -3
  108. package/lib/components/invite-user-form/invite-user-form.component.d.ts +0 -3
  109. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +0 -3
  110. package/lib/components/loading-spinner/loading-spinner.component.d.ts +0 -3
  111. package/lib/components/pagination/pagination.component.d.ts +0 -3
  112. package/lib/components/search-judicials/search-judicials.component.d.ts +0 -3
  113. package/lib/components/search-location/search-location.component.d.ts +1 -4
  114. package/lib/components/search-service/search-service.component.d.ts +1 -4
  115. package/lib/components/search-venue/search-venue.component.d.ts +0 -3
  116. package/lib/components/selected-case/selected-case.component.d.ts +0 -3
  117. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +0 -3
  118. package/lib/components/selected-case-list/selected-case-list.component.d.ts +0 -3
  119. package/lib/components/service-message/service-message.component.d.ts +0 -3
  120. package/lib/components/service-messages/service-messages.component.d.ts +0 -3
  121. package/lib/components/share-case/share-case.component.d.ts +0 -3
  122. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +0 -3
  123. package/lib/components/tab/tab.component.d.ts +0 -3
  124. package/lib/components/tc-confirm/tc-confirm.component.d.ts +0 -3
  125. package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +0 -3
  126. package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +0 -3
  127. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +0 -3
  128. package/lib/components/user-details/user-details.component.d.ts +0 -3
  129. package/lib/components/user-list/user-list.component.d.ts +0 -3
  130. package/lib/components/user-select/user-select.component.d.ts +2 -5
  131. package/lib/components/write-address/write-address.component.d.ts +0 -3
  132. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +3 -3
  133. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +0 -3
  134. package/lib/directives/let/let.directive.d.ts +0 -3
  135. package/lib/exui-common-lib.module.d.ts +3 -77
  136. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +0 -3
  137. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +0 -3
  138. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +0 -3
  139. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +0 -3
  140. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +0 -3
  141. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +0 -3
  142. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +0 -3
  143. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +0 -3
  144. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +0 -3
  145. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +0 -3
  146. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +0 -3
  147. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +0 -3
  148. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +0 -3
  149. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +0 -3
  150. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +0 -3
  151. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +0 -3
  152. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +0 -3
  153. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +0 -3
  154. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +0 -3
  155. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +0 -3
  156. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +0 -3
  157. package/lib/gov-ui/directives/remove-host.directive.d.ts +0 -3
  158. package/lib/gov-ui/gov-ui.service.d.ts +0 -3
  159. package/lib/models/feature-user.d.ts +1 -1
  160. package/lib/models/filter.model.d.ts +2 -2
  161. package/lib/models/public_api.d.ts +0 -1
  162. package/lib/models/user-details.model.d.ts +0 -2
  163. package/lib/pipes/capitalize/capitalize.pipe.d.ts +0 -3
  164. package/lib/services/address/address.service.d.ts +0 -3
  165. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +0 -3
  166. package/lib/services/cookie/cookie.service.d.ts +0 -3
  167. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +0 -3
  168. package/lib/services/feature-toggle/feature-toggle.service.d.ts +0 -3
  169. package/lib/services/feature-toggle/launch-darkly.service.d.ts +0 -3
  170. package/lib/services/filter/filter.service.d.ts +0 -3
  171. package/lib/services/find-person/find-person.service.d.ts +0 -3
  172. package/lib/services/google-analytics/google-analytics.service.d.ts +0 -3
  173. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +0 -3
  174. package/lib/services/loading/loading.service.d.ts +0 -3
  175. package/lib/services/locations/location.service.d.ts +0 -3
  176. package/lib/services/manage-session/manage-session.services.d.ts +0 -3
  177. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +0 -3
  178. package/lib/services/ref-data/ref-data.service.d.ts +0 -3
  179. package/lib/services/role-guard/role.guard.d.ts +0 -3
  180. package/lib/services/role-guard/role.service.d.ts +2 -5
  181. package/lib/services/storage/session-storage/session-storage.service.d.ts +0 -3
  182. package/lib/services/task-name/task-name.service.d.ts +0 -3
  183. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +0 -3
  184. package/package.json +9 -24
  185. package/esm2020/hmcts-rpx-xui-common-lib.mjs +0 -5
  186. package/esm2020/lib/components/accessibility/accessibility.component.mjs +0 -486
  187. package/esm2020/lib/components/checkbox-list/checkbox-list.component.mjs +0 -231
  188. package/esm2020/lib/components/contact-details/contact-details.component.mjs +0 -107
  189. package/esm2020/lib/components/cookie-banner/cookie-banner.component.mjs +0 -144
  190. package/esm2020/lib/components/due-date/due-date.component.mjs +0 -140
  191. package/esm2020/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +0 -79
  192. package/esm2020/lib/components/find-location/find-location.component.mjs +0 -219
  193. package/esm2020/lib/components/find-person/find-person.component.mjs +0 -234
  194. package/esm2020/lib/components/find-service/find-service.component.mjs +0 -187
  195. package/esm2020/lib/components/find-task-name/find-task-name.component.mjs +0 -200
  196. package/esm2020/lib/components/generic-filter/generic-filter.component.mjs +0 -1198
  197. package/esm2020/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +0 -55
  198. package/esm2020/lib/components/invite-user-form/invite-user-form.component.mjs +0 -50
  199. package/esm2020/lib/components/invite-user-permissions/invite-user-permission.component.mjs +0 -54
  200. package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +0 -32
  201. package/esm2020/lib/components/pagination/pagination.component.mjs +0 -93
  202. package/esm2020/lib/components/search-judicials/search-judicials.component.mjs +0 -184
  203. package/esm2020/lib/components/search-location/search-location.component.mjs +0 -205
  204. package/esm2020/lib/components/search-service/search-service.component.mjs +0 -81
  205. package/esm2020/lib/components/search-venue/search-venue.component.mjs +0 -188
  206. package/esm2020/lib/components/selected-case/selected-case.component.mjs +0 -380
  207. package/esm2020/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +0 -130
  208. package/esm2020/lib/components/selected-case-list/selected-case-list.component.mjs +0 -98
  209. package/esm2020/lib/components/service-message/service-message.component.mjs +0 -50
  210. package/esm2020/lib/components/service-messages/service-messages.component.mjs +0 -75
  211. package/esm2020/lib/components/share-case/share-case.component.mjs +0 -410
  212. package/esm2020/lib/components/share-case-confirm/share-case-confirm.component.mjs +0 -85
  213. package/esm2020/lib/components/tab/tab.component.mjs +0 -39
  214. package/esm2020/lib/components/tc-confirm/tc-confirm.component.mjs +0 -65
  215. package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +0 -16
  216. package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +0 -16
  217. package/esm2020/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +0 -59
  218. package/esm2020/lib/components/user-details/user-details.component.mjs +0 -265
  219. package/esm2020/lib/components/user-list/user-list.component.mjs +0 -99
  220. package/esm2020/lib/components/user-select/user-select.component.mjs +0 -92
  221. package/esm2020/lib/components/write-address/write-address.component.mjs +0 -345
  222. package/esm2020/lib/components/write-address-inputs/write-address-inputs.component.mjs +0 -165
  223. package/esm2020/lib/directives/feature-toggle/feature-toggle.directive.mjs +0 -41
  224. package/esm2020/lib/directives/let/let.directive.mjs +0 -29
  225. package/esm2020/lib/exui-common-lib.module.mjs +0 -313
  226. package/esm2020/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +0 -54
  227. package/esm2020/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +0 -136
  228. package/esm2020/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +0 -120
  229. package/esm2020/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -45
  230. package/esm2020/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -80
  231. package/esm2020/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +0 -78
  232. package/esm2020/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +0 -45
  233. package/esm2020/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +0 -70
  234. package/esm2020/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +0 -84
  235. package/esm2020/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +0 -47
  236. package/esm2020/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +0 -41
  237. package/esm2020/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +0 -79
  238. package/esm2020/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +0 -188
  239. package/esm2020/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +0 -56
  240. package/esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +0 -112
  241. package/esm2020/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +0 -141
  242. package/esm2020/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +0 -33
  243. package/esm2020/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +0 -130
  244. package/esm2020/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +0 -204
  245. package/esm2020/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +0 -59
  246. package/esm2020/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +0 -57
  247. package/esm2020/lib/gov-ui/directives/remove-host.directive.mjs +0 -30
  248. package/esm2020/lib/gov-ui/gov-ui.service.mjs +0 -14
  249. package/esm2020/lib/models/user-access-type.model.mjs +0 -2
  250. package/esm2020/lib/models/user-details.model.mjs +0 -2
  251. package/esm2020/lib/pipes/capitalize/capitalize.pipe.mjs +0 -15
  252. package/esm2020/lib/services/address/address.service.mjs +0 -55
  253. package/esm2020/lib/services/case-sharing-state/case-sharing-state.service.mjs +0 -170
  254. package/esm2020/lib/services/cookie/cookie.service.mjs +0 -48
  255. package/esm2020/lib/services/feature-toggle/feature-toggle.guard.mjs +0 -34
  256. package/esm2020/lib/services/feature-toggle/feature-toggle.service.mjs +0 -29
  257. package/esm2020/lib/services/find-person/find-person.service.mjs +0 -114
  258. package/esm2020/lib/services/google-analytics/google-analytics.service.mjs +0 -68
  259. package/esm2020/lib/services/google-tag-manager/google-tag-manager.service.mjs +0 -71
  260. package/esm2020/lib/services/locations/location.service.mjs +0 -38
  261. package/esm2020/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +0 -33
  262. package/esm2020/lib/services/role-guard/role.service.mjs +0 -22
  263. package/fesm2015/hmcts-rpx-xui-common-lib.mjs +0 -10735
  264. package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +0 -1
  265. package/fesm2020/hmcts-rpx-xui-common-lib.mjs +0 -9774
  266. package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +0 -1
  267. package/index.d.ts +0 -5
  268. package/lib/models/user-access-type.model.d.ts +0 -6
  269. /package/{esm2020/lib/components/generic-filter/generic-filter-utils.mjs → esm2015/lib/components/generic-filter/generic-filter-utils.js} +0 -0
  270. /package/{esm2020/lib/components/index.mjs → esm2015/lib/components/index.js} +0 -0
  271. /package/{esm2020/lib/components/public_api.mjs → esm2015/lib/components/public_api.js} +0 -0
  272. /package/{esm2020/lib/directives/index.mjs → esm2015/lib/directives/index.js} +0 -0
  273. /package/{esm2020/lib/directives/public-api.mjs → esm2015/lib/directives/public-api.js} +0 -0
  274. /package/{esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs → esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js} +0 -0
  275. /package/{esm2020/lib/gov-ui/components/index.mjs → esm2015/lib/gov-ui/components/index.js} +0 -0
  276. /package/{esm2020/lib/gov-ui/components/public_api.mjs → esm2015/lib/gov-ui/components/public_api.js} +0 -0
  277. /package/{esm2020/lib/gov-ui/index.mjs → esm2015/lib/gov-ui/index.js} +0 -0
  278. /package/{esm2020/lib/gov-ui/models/checkboxes-model.mjs → esm2015/lib/gov-ui/models/checkboxes-model.js} +0 -0
  279. /package/{esm2020/lib/gov-ui/models/error-messages-model.mjs → esm2015/lib/gov-ui/models/error-messages-model.js} +0 -0
  280. /package/{esm2020/lib/gov-ui/models/gov-ui-config-model.mjs → esm2015/lib/gov-ui/models/gov-ui-config-model.js} +0 -0
  281. /package/{esm2020/lib/gov-ui/models/index.mjs → esm2015/lib/gov-ui/models/index.js} +0 -0
  282. /package/{esm2020/lib/gov-ui/models/isession-storage.interface.mjs → esm2015/lib/gov-ui/models/isession-storage.interface.js} +0 -0
  283. /package/{esm2020/lib/gov-ui/models/public_api.mjs → esm2015/lib/gov-ui/models/public_api.js} +0 -0
  284. /package/{esm2020/lib/gov-ui/models/radio-buttons.model.mjs → esm2015/lib/gov-ui/models/radio-buttons.model.js} +0 -0
  285. /package/{esm2020/lib/gov-ui/public_api.mjs → esm2015/lib/gov-ui/public_api.js} +0 -0
  286. /package/{esm2020/lib/gov-ui/util/helpers/html-templates.helper.mjs → esm2015/lib/gov-ui/util/helpers/html-templates.helper.js} +0 -0
  287. /package/{esm2020/lib/gov-ui/util/session-storage/session-storage-utils.mjs → esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js} +0 -0
  288. /package/{esm2020/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs → esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js} +0 -0
  289. /package/{esm2020/lib/gov-ui/validators/date.validator.mjs → esm2015/lib/gov-ui/validators/date.validator.js} +0 -0
  290. /package/{esm2020/lib/gov-ui/validators/index.mjs → esm2015/lib/gov-ui/validators/index.js} +0 -0
  291. /package/{esm2020/lib/gov-ui/validators/public_api.mjs → esm2015/lib/gov-ui/validators/public_api.js} +0 -0
  292. /package/{esm2020/lib/gov-ui/validators/radio-group.validator.mjs → esm2015/lib/gov-ui/validators/radio-group.validator.js} +0 -0
  293. /package/{esm2020/lib/models/address-message.enum.mjs → esm2015/lib/models/address-message.enum.js} +0 -0
  294. /package/{esm2020/lib/models/address-option.model.mjs → esm2015/lib/models/address-option.model.js} +0 -0
  295. /package/{esm2020/lib/models/address.model.mjs → esm2015/lib/models/address.model.js} +0 -0
  296. /package/{esm2020/lib/models/case-share.model.mjs → esm2015/lib/models/case-share.model.js} +0 -0
  297. /package/{esm2020/lib/models/contact-details.model.mjs → esm2015/lib/models/contact-details.model.js} +0 -0
  298. /package/{esm2020/lib/models/due-date.model.mjs → esm2015/lib/models/due-date.model.js} +0 -0
  299. /package/{esm2020/lib/models/feature-user.mjs → esm2015/lib/models/feature-user.js} +0 -0
  300. /package/{esm2020/lib/models/filter.model.mjs → esm2015/lib/models/filter.model.js} +0 -0
  301. /package/{esm2020/lib/models/idle-config.model.mjs → esm2015/lib/models/idle-config.model.js} +0 -0
  302. /package/{esm2020/lib/models/index.mjs → esm2015/lib/models/index.js} +0 -0
  303. /package/{esm2020/lib/models/location.model.mjs → esm2015/lib/models/location.model.js} +0 -0
  304. /package/{esm2020/lib/models/pagination.model.mjs → esm2015/lib/models/pagination.model.js} +0 -0
  305. /package/{esm2020/lib/models/person.model.mjs → esm2015/lib/models/person.model.js} +0 -0
  306. /package/{esm2020/lib/models/search-options.model.mjs → esm2015/lib/models/search-options.model.js} +0 -0
  307. /package/{esm2020/lib/models/task-name.model.mjs → esm2015/lib/models/task-name.model.js} +0 -0
  308. /package/{esm2020/lib/models/tcDocument.model.mjs → esm2015/lib/models/tcDocument.model.js} +0 -0
  309. /package/{esm2020/lib/models/timeout-notification.model.mjs → esm2015/lib/models/timeout-notification.model.js} +0 -0
  310. /package/{esm2020/lib/models/user.model.mjs → esm2015/lib/models/user.model.js} +0 -0
  311. /package/{esm2020/lib/pipes/index.mjs → esm2015/lib/pipes/index.js} +0 -0
  312. /package/{esm2020/lib/services/address/address-parser.mjs → esm2015/lib/services/address/address-parser.js} +0 -0
  313. /package/{esm2020/lib/services/address/address-type.enum.mjs → esm2015/lib/services/address/address-type.enum.js} +0 -0
  314. /package/{esm2020/lib/services/index.mjs → esm2015/lib/services/index.js} +0 -0
  315. /package/{esm2020/lib/services/public-api.mjs → esm2015/lib/services/public-api.js} +0 -0
  316. /package/{esm2020/lib/services/ref-data/index.mjs → esm2015/lib/services/ref-data/index.js} +0 -0
  317. /package/{esm2020/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs → esm2015/lib/services/ref-data/models/ref-data-htmcs-service.model.js} +0 -0
  318. /package/{esm2020/lib/services/ref-data/models/ref-data-region.model.mjs → esm2015/lib/services/ref-data/models/ref-data-region.model.js} +0 -0
  319. /package/{esm2020/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs → esm2015/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.js} +0 -0
  320. /package/{esm2020/lib/window.mjs → esm2015/lib/window.js} +0 -0
  321. /package/{esm2020/public-api.mjs → esm2015/public-api.js} +0 -0
@@ -1,200 +0,0 @@
1
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { FormControl, FormGroup } from '@angular/forms';
3
- import { debounceTime, filter, mergeMap, tap } from 'rxjs/operators';
4
- import { PersonRole } from '../../models';
5
- import { TaskNameService } from '../../services/task-name/task-name.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../services/task-name/task-name.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "@angular/forms";
10
- import * as i4 from "@angular/material/legacy-autocomplete";
11
- import * as i5 from "@angular/material/legacy-core";
12
- function FindTaskNameComponent_h1_0_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelementStart(0, "h1", 10)(1, "span", 11);
14
- i0.ɵɵtext(2);
15
- i0.ɵɵelementEnd();
16
- i0.ɵɵtext(3);
17
- i0.ɵɵelementEnd();
18
- } if (rf & 2) {
19
- const ctx_r0 = i0.ɵɵnextContext();
20
- i0.ɵɵadvance(2);
21
- i0.ɵɵtextInterpolate(ctx_r0.title);
22
- i0.ɵɵadvance(1);
23
- i0.ɵɵtextInterpolate1(" ", ctx_r0.boldTitle, "\n");
24
- } }
25
- function FindTaskNameComponent_div_3_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "div", 12);
27
- i0.ɵɵtext(1);
28
- i0.ɵɵelementEnd();
29
- } if (rf & 2) {
30
- const ctx_r1 = i0.ɵɵnextContext();
31
- i0.ɵɵadvance(1);
32
- i0.ɵɵtextInterpolate1(" ", ctx_r1.subTitle, " ");
33
- } }
34
- function FindTaskNameComponent_span_4_Template(rf, ctx) { if (rf & 1) {
35
- i0.ɵɵelementStart(0, "span", 13)(1, "span", 14);
36
- i0.ɵɵtext(2, "Error:");
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵtext(3);
39
- i0.ɵɵelementEnd();
40
- } if (rf & 2) {
41
- const ctx_r2 = i0.ɵɵnextContext();
42
- i0.ɵɵadvance(3);
43
- i0.ɵɵtextInterpolate1("", ctx_r2.findTaskNameGroup.errors.error ? ctx_r2.findTaskNameGroup.errors.error : ctx_r2.errorMessage, " ");
44
- } }
45
- const _c0 = function (a0, a1) { return { "hide-autocomplete": a0, "select-option": a1 }; };
46
- function FindTaskNameComponent_mat_option_8_Template(rf, ctx) { if (rf & 1) {
47
- i0.ɵɵelementStart(0, "mat-option", 15);
48
- i0.ɵɵtext(1);
49
- i0.ɵɵelementEnd();
50
- } if (rf & 2) {
51
- const option_r6 = ctx.$implicit;
52
- const ctx_r4 = i0.ɵɵnextContext();
53
- i0.ɵɵproperty("value", option_r6)("ngClass", i0.ɵɵpureFunction2(3, _c0, !ctx_r4.showAutocomplete, ctx_r4.showUpdatedColor));
54
- i0.ɵɵadvance(1);
55
- i0.ɵɵtextInterpolate1(" ", ctx_r4.getTaskTypeName(option_r6), " ");
56
- } }
57
- const _c1 = function (a0) { return { "select-option": a0 }; };
58
- function FindTaskNameComponent_mat_option_9_Template(rf, ctx) { if (rf & 1) {
59
- i0.ɵɵelementStart(0, "mat-option", 16);
60
- i0.ɵɵtext(1, "No results found");
61
- i0.ɵɵelementEnd();
62
- } if (rf & 2) {
63
- const ctx_r5 = i0.ɵɵnextContext();
64
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c1, ctx_r5.showUpdatedColor));
65
- } }
66
- const _c2 = function (a0) { return { "form-group-error": a0 }; };
67
- export class FindTaskNameComponent {
68
- constructor(cd, taskService) {
69
- this.cd = cd;
70
- this.taskService = taskService;
71
- this.taskNameSelected = new EventEmitter();
72
- this.taskNameFieldChanged = new EventEmitter();
73
- this.boldTitle = 'Find the task name';
74
- this.subTitle = 'Type the name of the task name and select them.';
75
- this.domain = PersonRole.ALL;
76
- this.findTaskNameGroup = new FormGroup({});
77
- this.submitted = true;
78
- this.placeholderContent = '';
79
- this.isNoResultsShown = true;
80
- this.showUpdatedColor = false;
81
- this.selectedTaskNames = [];
82
- this.errorMessage = 'You must select a name';
83
- this.idValue = '';
84
- this.services = 'IA';
85
- this.disabled = null;
86
- this.showAutocomplete = false;
87
- this.filteredOptions = [];
88
- this.minSearchCharacters = 1;
89
- this.searchTerm = '';
90
- }
91
- ngOnDestroy() {
92
- if (this.sub) {
93
- this.sub.unsubscribe();
94
- }
95
- }
96
- ngOnInit() {
97
- this.findTaskNameControl = new FormControl(this.selectedTaskName);
98
- this.findTaskNameGroup.addControl('findTaskNameControl', this.findTaskNameControl);
99
- this.sub = this.findTaskNameControl.valueChanges
100
- .pipe(tap(() => this.showAutocomplete = false), tap(() => this.filteredOptions = []), debounceTime(300), tap((searchTerm) => this.searchTerm = searchTerm), tap((searchTerm) => typeof searchTerm === 'string' ? this.taskNameSelected.emit('null') : void 0), filter((searchTerm) => searchTerm && searchTerm.length >= this.minSearchCharacters), mergeMap(() => this.getTaskName())).subscribe((taskNameModel) => {
101
- this.filteredOptions = taskNameModel ? taskNameModel : [];
102
- if (this.searchTerm) {
103
- this.filteredOptions = this.filteredOptions.filter((taskType) => taskType.task_type.task_type_name.toLocaleLowerCase().includes(this.searchTerm.toLocaleLowerCase())).map(taskType => taskType);
104
- }
105
- this.cd.detectChanges();
106
- });
107
- }
108
- getTaskName() {
109
- return this.taskService.getTaskName(this.services);
110
- }
111
- onSelectionChange(selectedTaskTypeName) {
112
- if (selectedTaskTypeName) {
113
- this.taskNameSelected.emit(selectedTaskTypeName);
114
- this.findTaskNameControl.setValue(this.getTaskTypeName(selectedTaskTypeName), { emitEvent: false, onlySelf: true });
115
- }
116
- }
117
- getTaskTypeName(selectedTaskType) {
118
- if (!selectedTaskType) {
119
- return '';
120
- }
121
- return selectedTaskType.task_type.task_type_name;
122
- }
123
- onInput() {
124
- this.taskNameFieldChanged.emit();
125
- }
126
- }
127
- FindTaskNameComponent.ɵfac = function FindTaskNameComponent_Factory(t) { return new (t || FindTaskNameComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.TaskNameService)); };
128
- FindTaskNameComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindTaskNameComponent, selectors: [["xuilib-find-task-name"]], inputs: { title: "title", boldTitle: "boldTitle", subTitle: "subTitle", domain: "domain", findTaskNameGroup: "findTaskNameGroup", selectedTaskName: "selectedTaskName", submitted: "submitted", assignedUser: "assignedUser", placeholderContent: "placeholderContent", isNoResultsShown: "isNoResultsShown", showUpdatedColor: "showUpdatedColor", selectedTaskNames: "selectedTaskNames", errorMessage: "errorMessage", idValue: "idValue", services: "services", disabled: "disabled" }, outputs: { taskNameSelected: "taskNameSelected", taskNameFieldChanged: "taskNameFieldChanged" }, decls: 10, vars: 13, consts: [["class", "govuk-heading-l", 4, "ngIf"], [1, "govuk-form-group", 3, "formGroup", "ngClass"], ["aria-describedby", "sub-title-hint", 1, "govuk-fieldset"], ["id", "sub-title-hint", "class", "govuk-hint", 4, "ngIf"], ["id", "validation-error", "class", "govuk-error-message", 4, "ngIf"], ["type", "text", "aria-label", "select a task name", "formControlName", "findTaskNameControl", 1, "govuk-input", "govuk-!-width-one-third", 3, "id", "matAutocomplete", "placeholder", "input"], ["autoActiveFirstOption", "", 3, "optionSelected"], ["auto", "matAutocomplete"], [3, "value", "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngIf"], [1, "govuk-heading-l"], [1, "govuk-caption-l"], ["id", "sub-title-hint", 1, "govuk-hint"], ["id", "validation-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [3, "value", "ngClass"], [3, "ngClass"]], template: function FindTaskNameComponent_Template(rf, ctx) { if (rf & 1) {
129
- i0.ɵɵtemplate(0, FindTaskNameComponent_h1_0_Template, 4, 2, "h1", 0);
130
- i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2);
131
- i0.ɵɵtemplate(3, FindTaskNameComponent_div_3_Template, 2, 1, "div", 3);
132
- i0.ɵɵtemplate(4, FindTaskNameComponent_span_4_Template, 4, 1, "span", 4);
133
- i0.ɵɵelementStart(5, "input", 5);
134
- i0.ɵɵlistener("input", function FindTaskNameComponent_Template_input_input_5_listener() { return ctx.onInput(); });
135
- i0.ɵɵelementEnd();
136
- i0.ɵɵelementStart(6, "mat-autocomplete", 6, 7);
137
- i0.ɵɵlistener("optionSelected", function FindTaskNameComponent_Template_mat_autocomplete_optionSelected_6_listener($event) { return ctx.onSelectionChange($event.option.value); });
138
- i0.ɵɵtemplate(8, FindTaskNameComponent_mat_option_8_Template, 2, 6, "mat-option", 8);
139
- i0.ɵɵtemplate(9, FindTaskNameComponent_mat_option_9_Template, 2, 3, "mat-option", 9);
140
- i0.ɵɵelementEnd()()();
141
- } if (rf & 2) {
142
- const _r3 = i0.ɵɵreference(7);
143
- let tmp_2_0;
144
- i0.ɵɵproperty("ngIf", ctx.title && ctx.title.length);
145
- i0.ɵɵadvance(1);
146
- i0.ɵɵproperty("formGroup", ctx.findTaskNameGroup)("ngClass", i0.ɵɵpureFunction1(11, _c2, ((tmp_2_0 = ctx.findTaskNameGroup.get("findTaskNameControl")) == null ? null : tmp_2_0.invalid) && ctx.submitted));
147
- i0.ɵɵadvance(2);
148
- i0.ɵɵproperty("ngIf", ctx.subTitle && ctx.subTitle.length);
149
- i0.ɵɵadvance(1);
150
- i0.ɵɵproperty("ngIf", ctx.findTaskNameGroup && ctx.findTaskNameGroup.errors);
151
- i0.ɵɵadvance(1);
152
- i0.ɵɵpropertyInterpolate1("id", "inputSelectTaskName", ctx.idValue, "");
153
- i0.ɵɵproperty("matAutocomplete", _r3)("placeholder", ctx.placeholderContent);
154
- i0.ɵɵattribute("disabled", ctx.disabled);
155
- i0.ɵɵadvance(3);
156
- i0.ɵɵproperty("ngForOf", ctx.filteredOptions);
157
- i0.ɵɵadvance(1);
158
- i0.ɵɵproperty("ngIf", ctx.isNoResultsShown && !ctx.filteredOptions.length && ctx.showAutocomplete);
159
- } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i4.MatLegacyAutocomplete, i4.MatLegacyAutocompleteTrigger, i5.MatLegacyOption] });
160
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindTaskNameComponent, [{
161
- type: Component,
162
- args: [{ selector: 'xuilib-find-task-name', 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]=\"findTaskNameGroup\"\n [ngClass]=\"{'form-group-error': findTaskNameGroup.get('findTaskNameControl')?.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=\"findTaskNameGroup && findTaskNameGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findTaskNameGroup.errors.error ? findTaskNameGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectTaskName{{idValue}}\" type=\"text\" aria-label=\"select a task name\"\n formControlName=\"findTaskNameControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\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 {{ getTaskTypeName(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" }]
163
- }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TaskNameService }]; }, { taskNameSelected: [{
164
- type: Output
165
- }], taskNameFieldChanged: [{
166
- type: Output
167
- }], title: [{
168
- type: Input
169
- }], boldTitle: [{
170
- type: Input
171
- }], subTitle: [{
172
- type: Input
173
- }], domain: [{
174
- type: Input
175
- }], findTaskNameGroup: [{
176
- type: Input
177
- }], selectedTaskName: [{
178
- type: Input
179
- }], submitted: [{
180
- type: Input
181
- }], assignedUser: [{
182
- type: Input
183
- }], placeholderContent: [{
184
- type: Input
185
- }], isNoResultsShown: [{
186
- type: Input
187
- }], showUpdatedColor: [{
188
- type: Input
189
- }], selectedTaskNames: [{
190
- type: Input
191
- }], errorMessage: [{
192
- type: Input
193
- }], idValue: [{
194
- type: Input
195
- }], services: [{
196
- type: Input
197
- }], disabled: [{
198
- type: Input
199
- }] }); })();
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC10YXNrLW5hbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9maW5kLXRhc2stbmFtZS9maW5kLXRhc2stbmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtdGFzay1uYW1lL2ZpbmQtdGFzay1uYW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7OztJQ043RSw4QkFBMEQsZUFBQTtJQUMxQixZQUFTO0lBQUEsaUJBQU87SUFDOUMsWUFDRjtJQUFBLGlCQUFLOzs7SUFGMkIsZUFBUztJQUFULGtDQUFTO0lBQ3ZDLGVBQ0Y7SUFERSxrREFDRjs7O0lBSUksK0JBQWdGO0lBQzlFLFlBQ0Y7SUFBQSxpQkFBTTs7O0lBREosZUFDRjtJQURFLGdEQUNGOzs7SUFDQSxnQ0FBOEcsZUFBQTtJQUN0RSxzQkFBTTtJQUFBLGlCQUFPO0lBQUEsWUFDckQ7SUFBQSxpQkFBTzs7O0lBRDhDLGVBQ3JEO0lBRHFELG1JQUNyRDs7OztJQVNFLHNDQUVvRztJQUN4RixZQUNa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QUVPO1FBQ1AsZ0NBTTJCO1FBQXBCLGlHQUFTLGFBQVMsSUFBQztRQU4xQixpQkFNMkI7UUFDM0IsOENBQTBIO1FBQTFELG9JQUFrQiwwQ0FBc0MsSUFBQztRQUN2SCxvRkFJYTtRQUNiLG9GQUFpSztRQUNuSyxpQkFBbUIsRUFBQSxFQUFBOzs7O1FBM0JNLG9EQUEyQjtRQUkxQixlQUErQjtRQUEvQixpREFBK0IsMEpBQUE7UUFHWixlQUFpQztRQUFqQywwREFBaUM7UUFHckIsZUFBbUQ7UUFBbkQsNEVBQW1EO1FBR3JHLGVBQW1DO1FBQW5DLHVFQUFtQztRQUVuQyxxQ0FBd0IsdUNBQUE7UUFHeEIsd0NBQTBCO1FBR0EsZUFBa0I7UUFBbEIsNkNBQWtCO1FBS1ksZUFBcUU7UUFBckUsa0dBQXFFOzt1RkRaM0gscUJBQXFCO2NBTmpDLFNBQVM7MkJBQ0UsdUJBQXVCO2tHQU1oQixnQkFBZ0I7a0JBQWhDLE1BQU07WUFDVSxvQkFBb0I7a0JBQXBDLE1BQU07WUFDUyxLQUFLO2tCQUFwQixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxNQUFNO2tCQUFyQixLQUFLO1lBQ1UsaUJBQWlCO2tCQUFoQyxLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxrQkFBa0I7a0JBQWpDLEtBQUs7WUFDVSxnQkFBZ0I7a0JBQS9CLEtBQUs7WUFDVSxnQkFBZ0I7a0JBQS9CLEtBQUs7WUFDVSxpQkFBaUI7a0JBQWhDLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsT0FBTztrQkFBdEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWVyZ2VNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZXJzb25Sb2xlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFza05hbWVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy90YXNrLW5hbWUubW9kZWwnO1xuaW1wb3J0IHsgVGFza05hbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGFzay1uYW1lL3Rhc2stbmFtZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWZpbmQtdGFzay1uYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbmQtdGFzay1uYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC10YXNrLW5hbWUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBGaW5kVGFza05hbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdGFza05hbWVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcHVibGljIHRhc2tOYW1lRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIGJvbGRUaXRsZSA9ICdGaW5kIHRoZSB0YXNrIG5hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgc3ViVGl0bGUgPSAnVHlwZSB0aGUgbmFtZSBvZiB0aGUgdGFzayBuYW1lIGFuZCBzZWxlY3QgdGhlbS4nO1xuICBASW5wdXQoKSBwdWJsaWMgZG9tYWluID0gUGVyc29uUm9sZS5BTEw7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaW5kVGFza05hbWVHcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFRhc2tOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYXNzaWduZWRVc2VyPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGlzTm9SZXN1bHRzU2hvd246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1VwZGF0ZWRDb2xvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRUYXNrTmFtZXM6IFRhc2tOYW1lTW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VzOiBzdHJpbmcgPSAnSUEnO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBudWxsO1xuICBwdWJsaWMgc2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZmluZFRhc2tOYW1lQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueVtdID0gW107XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMTtcbiAgcHJpdmF0ZSBzdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIHNlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IHRhc2tTZXJ2aWNlOiBUYXNrTmFtZVNlcnZpY2UpIHt9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1Yikge1xuICAgICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5maW5kVGFza05hbWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMuc2VsZWN0ZWRUYXNrTmFtZSk7XG4gICAgdGhpcy5maW5kVGFza05hbWVHcm91cC5hZGRDb250cm9sKCdmaW5kVGFza05hbWVDb250cm9sJywgdGhpcy5maW5kVGFza05hbWVDb250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFRhc2tOYW1lQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBbXSksXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgIHRhcCgoc2VhcmNoVGVybSkgPT4gdGhpcy5zZWFyY2hUZXJtID0gc2VhcmNoVGVybSksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMudGFza05hbWVTZWxlY3RlZC5lbWl0KCdudWxsJykgOiB2b2lkIDApLFxuICAgICAgZmlsdGVyKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0VGFza05hbWUoKSksXG4gICAgKS5zdWJzY3JpYmUoKHRhc2tOYW1lTW9kZWw6IFRhc2tOYW1lTW9kZWxbXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0YXNrTmFtZU1vZGVsID8gdGFza05hbWVNb2RlbCA6IFtdO1xuICAgICAgaWYgKHRoaXMuc2VhcmNoVGVybSkge1xuICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuZmlsdGVyZWRPcHRpb25zLmZpbHRlcigodGFza1R5cGUpID0+IHRhc2tUeXBlLnRhc2tfdHlwZS50YXNrX3R5cGVfbmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVGVybS50b0xvY2FsZUxvd2VyQ2FzZSgpKSkubWFwKHRhc2tUeXBlPT4gdGFza1R5cGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFza05hbWUoKTogT2JzZXJ2YWJsZTxUYXNrTmFtZU1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrU2VydmljZS5nZXRUYXNrTmFtZSh0aGlzLnNlcnZpY2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFRhc2tUeXBlTmFtZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHNlbGVjdGVkVGFza1R5cGVOYW1lKSB7XG4gICAgICB0aGlzLnRhc2tOYW1lU2VsZWN0ZWQuZW1pdChzZWxlY3RlZFRhc2tUeXBlTmFtZSk7XG4gICAgICB0aGlzLmZpbmRUYXNrTmFtZUNvbnRyb2wuc2V0VmFsdWUodGhpcy5nZXRUYXNrVHlwZU5hbWUoc2VsZWN0ZWRUYXNrVHlwZU5hbWUpLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGFza1R5cGVOYW1lKHNlbGVjdGVkVGFza1R5cGU6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKCFzZWxlY3RlZFRhc2tUeXBlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBzZWxlY3RlZFRhc2tUeXBlLnRhc2tfdHlwZS50YXNrX3R5cGVfbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMudGFza05hbWVGaWVsZENoYW5nZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiAqbmdJZj1cInRpdGxlICYmIHRpdGxlLmxlbmd0aFwiPlxuICA8c3BhbiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7dGl0bGV9fTwvc3Bhbj5cbiAge3tib2xkVGl0bGV9fVxuPC9oMT5cbjxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmaW5kVGFza05hbWVHcm91cFwiXG4gICAgIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6IGZpbmRUYXNrTmFtZUdyb3VwLmdldCgnZmluZFRhc2tOYW1lQ29udHJvbCcpPy5pbnZhbGlkICYmIHN1Ym1pdHRlZH1cIj5cbiAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwic3ViLXRpdGxlLWhpbnRcIj5cbiAgICA8ZGl2IGlkPVwic3ViLXRpdGxlLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIiAqbmdJZj1cInN1YlRpdGxlICYmIHN1YlRpdGxlLmxlbmd0aFwiPlxuICAgICAge3tzdWJUaXRsZX19XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gaWQ9XCJ2YWxpZGF0aW9uLWVycm9yXCIgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJmaW5kVGFza05hbWVHcm91cCAmJiBmaW5kVGFza05hbWVHcm91cC5lcnJvcnNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tmaW5kVGFza05hbWVHcm91cC5lcnJvcnMuZXJyb3IgPyBmaW5kVGFza05hbWVHcm91cC5lcnJvcnMuZXJyb3IgOiBlcnJvck1lc3NhZ2V9fVxuICAgIDwvc3Bhbj5cbiAgICA8aW5wdXQgaWQ9XCJpbnB1dFNlbGVjdFRhc2tOYW1le3tpZFZhbHVlfX1cIiB0eXBlPVwidGV4dFwiIGFyaWEtbGFiZWw9XCJzZWxlY3QgYSB0YXNrIG5hbWVcIlxuICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmaW5kVGFza05hbWVDb250cm9sXCJcbiAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS10aGlyZFwiXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlckNvbnRlbnRcIlxuICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0KClcIj5cbiAgICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIj5cbiAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWF1dG9jb21wbGV0ZSc6ICFzaG93QXV0b2NvbXBsZXRlLCAnc2VsZWN0LW9wdGlvbic6IHNob3dVcGRhdGVkQ29sb3J9XCI+XG4gICAgICAgICAgICAgICAgICB7eyBnZXRUYXNrVHlwZU5hbWUob3B0aW9uKSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPG1hdC1vcHRpb24gW25nQ2xhc3NdPVwieydzZWxlY3Qtb3B0aW9uJzogc2hvd1VwZGF0ZWRDb2xvcn1cIiAqbmdJZj1cImlzTm9SZXN1bHRzU2hvd24gJiYgIWZpbHRlcmVkT3B0aW9ucy5sZW5ndGggJiYgc2hvd0F1dG9jb21wbGV0ZVwiPk5vIHJlc3VsdHMgZm91bmQ8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=