@pega/angular-sdk-components 0.24.8 → 0.25.1

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 (290) hide show
  1. package/fesm2022/pega-angular-sdk-components.mjs +2835 -1810
  2. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  3. package/lib/_bridge/helpers/sdk-pega-component-map.d.ts +4 -0
  4. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  5. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  6. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  7. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +2 -1
  8. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  9. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +2 -3
  10. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +8 -3
  11. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -1
  12. package/lib/_components/field/check-box/check-box.component.d.ts +5 -3
  13. package/lib/_components/field/currency/currency.component.d.ts +6 -4
  14. package/lib/_components/field/date/date.component.d.ts +17 -7
  15. package/lib/_components/field/date-time/date-time.component.d.ts +10 -3
  16. package/lib/_components/field/decimal/decimal.component.d.ts +4 -4
  17. package/lib/_components/field/dropdown/dropdown.component.d.ts +14 -3
  18. package/lib/_components/field/email/email.component.d.ts +2 -1
  19. package/lib/_components/field/group/group.component.d.ts +0 -1
  20. package/lib/_components/field/integer/integer.component.d.ts +2 -1
  21. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  22. package/lib/_components/field/location/location.component.d.ts +71 -0
  23. package/lib/_components/field/multiselect/multiselect.component.d.ts +3 -3
  24. package/lib/_components/field/percentage/percentage.component.d.ts +6 -3
  25. package/lib/_components/field/phone/phone.component.d.ts +6 -8
  26. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +4 -2
  27. package/lib/_components/field/rich-text/rich-text.component.d.ts +3 -2
  28. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -1
  29. package/lib/_components/field/selectable-card/selectable-card.component.d.ts +75 -0
  30. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -1
  31. package/lib/_components/field/text/text.component.d.ts +3 -2
  32. package/lib/_components/field/text-area/text-area.component.d.ts +2 -1
  33. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  34. package/lib/_components/field/text-input/text-input.component.d.ts +2 -1
  35. package/lib/_components/field/time/time.component.d.ts +3 -1
  36. package/lib/_components/field/url/url.component.d.ts +2 -1
  37. package/lib/_components/field/user-reference/user-reference.component.d.ts +7 -1
  38. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -2
  39. package/lib/_components/infra/Containers/flow-container/helpers.d.ts +1 -0
  40. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  41. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +1 -4
  42. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  43. package/lib/_components/infra/Containers/view-container/helper.d.ts +2 -0
  44. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  45. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  46. package/lib/_components/infra/assignment/assignment.component.d.ts +6 -4
  47. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +0 -1
  48. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  49. package/lib/_components/infra/defer-load/defer-load.component.d.ts +3 -3
  50. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  51. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  52. package/lib/_components/infra/navbar/navbar.component.d.ts +2 -3
  53. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  54. package/lib/_components/infra/region/region.component.d.ts +0 -1
  55. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -2
  56. package/lib/_components/infra/stages/stages.component.d.ts +0 -1
  57. package/lib/_components/infra/view/view.component.d.ts +1 -1
  58. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -1
  59. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  60. package/lib/_components/template/base/details-template-base.d.ts +21 -0
  61. package/lib/_components/template/base/form-template-base.d.ts +10 -0
  62. package/lib/_components/template/case-summary/case-summary.component.d.ts +3 -3
  63. package/lib/_components/template/case-view/case-view.component.d.ts +1 -3
  64. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  65. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -1
  66. package/lib/_components/template/default-form/default-form.component.d.ts +8 -7
  67. package/lib/_components/template/details/details.component.d.ts +3 -12
  68. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +3 -12
  69. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +3 -14
  70. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +3 -14
  71. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +3 -14
  72. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +3 -14
  73. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +3 -14
  74. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +1 -1
  75. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +12 -9
  76. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  77. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  78. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  79. package/lib/_components/template/list-view/list-view.component.d.ts +6 -4
  80. package/lib/_components/template/list-view/listViewHelpers.d.ts +1 -1
  81. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  82. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  83. package/lib/_components/template/one-column/one-column.component.d.ts +2 -2
  84. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  85. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  86. package/lib/_components/template/page/page.component.d.ts +0 -1
  87. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  88. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  89. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  90. package/lib/_components/template/simple-table-manual/helpers.d.ts +19 -4
  91. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +10 -3
  92. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  93. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -1
  94. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  95. package/lib/_components/template/three-column/three-column.component.d.ts +2 -2
  96. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  97. package/lib/_components/template/two-column/two-column.component.d.ts +2 -2
  98. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  99. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  100. package/lib/_components/template/utils.d.ts +7 -0
  101. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +2 -2
  102. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +1 -2
  103. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +3 -4
  104. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  105. package/lib/_components/widget/attachment/attachment.component.d.ts +3 -4
  106. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  107. package/lib/_components/widget/feed-container/feed-container.component.d.ts +2 -3
  108. package/lib/_components/widget/file-utility/file-utility.component.d.ts +1 -2
  109. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  110. package/lib/_components/widget/todo/todo.component.d.ts +10 -14
  111. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  112. package/lib/_helpers/common.d.ts +1 -1
  113. package/lib/_helpers/createstage-utils.d.ts +1 -0
  114. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  115. package/lib/_helpers/formatters/common.d.ts +2 -2
  116. package/lib/_helpers/formatters/currency.d.ts +1 -2
  117. package/lib/_helpers/formatters/date.d.ts +1 -2
  118. package/lib/_helpers/formatters/index.d.ts +1 -2
  119. package/lib/_helpers/utils.d.ts +12 -0
  120. package/lib/_messages/error-messages.service.d.ts +1 -1
  121. package/lib/_services/banner.service.d.ts +8 -0
  122. package/lib/_services/case.service.d.ts +1 -1
  123. package/lib/_services/datapage.service.d.ts +1 -1
  124. package/lib/_services/endpoints.d.ts +0 -1
  125. package/lib/_services/google-maps-loader.service.d.ts +7 -0
  126. package/lib/doc/KeyReleaseUpdates.md +35 -1
  127. package/package.json +20 -6
  128. package/public-api.d.ts +15 -11
  129. package/esm2022/lib/_bridge/angular-pconnect.mjs +0 -428
  130. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +0 -114
  131. package/esm2022/lib/_bridge/helpers/sdk-pega-component-map.mjs +0 -239
  132. package/esm2022/lib/_bridge/helpers/sdk_component_map.mjs +0 -142
  133. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +0 -50
  134. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +0 -29
  135. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +0 -31
  136. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +0 -51
  137. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +0 -31
  138. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +0 -83
  139. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +0 -37
  140. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +0 -31
  141. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +0 -36
  142. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +0 -25
  143. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +0 -28
  144. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +0 -42
  145. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +0 -143
  146. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +0 -33
  147. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +0 -93
  148. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +0 -18
  149. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +0 -286
  150. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +0 -96
  151. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +0 -223
  152. package/esm2022/lib/_components/field/currency/currency.component.mjs +0 -177
  153. package/esm2022/lib/_components/field/date/date.component.mjs +0 -225
  154. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +0 -181
  155. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +0 -185
  156. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +0 -192
  157. package/esm2022/lib/_components/field/email/email.component.mjs +0 -150
  158. package/esm2022/lib/_components/field/group/group.component.mjs +0 -64
  159. package/esm2022/lib/_components/field/integer/integer.component.mjs +0 -155
  160. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +0 -44
  161. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +0 -307
  162. package/esm2022/lib/_components/field/multiselect/utils.mjs +0 -187
  163. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +0 -174
  164. package/esm2022/lib/_components/field/phone/phone.component.mjs +0 -167
  165. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +0 -184
  166. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +0 -103
  167. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +0 -96
  168. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +0 -57
  169. package/esm2022/lib/_components/field/text/text.component.mjs +0 -138
  170. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +0 -153
  171. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +0 -69
  172. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +0 -152
  173. package/esm2022/lib/_components/field/time/time.component.mjs +0 -153
  174. package/esm2022/lib/_components/field/url/url.component.mjs +0 -152
  175. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +0 -187
  176. package/esm2022/lib/_components/infra/Containers/base-components/flow-container-base.component.mjs +0 -18
  177. package/esm2022/lib/_components/infra/Containers/base-components/helper.mjs +0 -71
  178. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +0 -487
  179. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +0 -68
  180. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +0 -24
  181. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +0 -342
  182. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +0 -32
  183. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +0 -218
  184. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +0 -31
  185. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +0 -383
  186. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +0 -47
  187. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +0 -87
  188. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +0 -141
  189. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +0 -18
  190. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +0 -80
  191. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +0 -136
  192. package/esm2022/lib/_components/infra/reference/reference.component.mjs +0 -133
  193. package/esm2022/lib/_components/infra/region/region.component.mjs +0 -33
  194. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +0 -228
  195. package/esm2022/lib/_components/infra/stages/stages.component.mjs +0 -62
  196. package/esm2022/lib/_components/infra/view/view.component.mjs +0 -173
  197. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +0 -140
  198. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +0 -43
  199. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +0 -101
  200. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +0 -190
  201. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +0 -68
  202. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +0 -237
  203. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +0 -61
  204. package/esm2022/lib/_components/template/details/details.component.mjs +0 -103
  205. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +0 -72
  206. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +0 -71
  207. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +0 -66
  208. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +0 -80
  209. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +0 -77
  210. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +0 -77
  211. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +0 -64
  212. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +0 -23
  213. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +0 -124
  214. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +0 -24
  215. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +0 -22
  216. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +0 -40
  217. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +0 -14
  218. package/esm2022/lib/_components/template/list-view/DefaultViewMeta.mjs +0 -208
  219. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +0 -1202
  220. package/esm2022/lib/_components/template/list-view/listViewHelpers.mjs +0 -60
  221. package/esm2022/lib/_components/template/list-view/utils.mjs +0 -662
  222. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +0 -44
  223. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +0 -30
  224. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +0 -30
  225. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +0 -16
  226. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +0 -30
  227. package/esm2022/lib/_components/template/page/page.component.mjs +0 -52
  228. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +0 -149
  229. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +0 -138
  230. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +0 -104
  231. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +0 -270
  232. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +0 -781
  233. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +0 -129
  234. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +0 -16
  235. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +0 -67
  236. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +0 -30
  237. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +0 -16
  238. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +0 -30
  239. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +0 -40
  240. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +0 -30
  241. package/esm2022/lib/_components/template/utils.mjs +0 -22
  242. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +0 -30
  243. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +0 -53
  244. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +0 -137
  245. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +0 -24
  246. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +0 -395
  247. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +0 -80
  248. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +0 -521
  249. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +0 -638
  250. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +0 -57
  251. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +0 -75
  252. package/esm2022/lib/_components/widget/todo/todo.component.mjs +0 -214
  253. package/esm2022/lib/_components/widget/utility/utility.component.mjs +0 -34
  254. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +0 -28
  255. package/esm2022/lib/_helpers/case-utils.mjs +0 -71
  256. package/esm2022/lib/_helpers/common.mjs +0 -20
  257. package/esm2022/lib/_helpers/currency-utils.mjs +0 -57
  258. package/esm2022/lib/_helpers/date-format-utils.mjs +0 -68
  259. package/esm2022/lib/_helpers/event-util.mjs +0 -18
  260. package/esm2022/lib/_helpers/field-group-utils.mjs +0 -47
  261. package/esm2022/lib/_helpers/filter-utils.mjs +0 -106
  262. package/esm2022/lib/_helpers/formatters/boolean.mjs +0 -20
  263. package/esm2022/lib/_helpers/formatters/common.mjs +0 -16
  264. package/esm2022/lib/_helpers/formatters/currency-map.mjs +0 -903
  265. package/esm2022/lib/_helpers/formatters/currency.mjs +0 -68
  266. package/esm2022/lib/_helpers/formatters/date.mjs +0 -69
  267. package/esm2022/lib/_helpers/formatters/format-utils.mjs +0 -68
  268. package/esm2022/lib/_helpers/formatters/index.mjs +0 -110
  269. package/esm2022/lib/_helpers/instructions-utils.mjs +0 -36
  270. package/esm2022/lib/_helpers/tab-utils.mjs +0 -59
  271. package/esm2022/lib/_helpers/template-utils.mjs +0 -56
  272. package/esm2022/lib/_helpers/utils.mjs +0 -386
  273. package/esm2022/lib/_helpers/versionHelpers.mjs +0 -12
  274. package/esm2022/lib/_messages/error-messages.service.mjs +0 -31
  275. package/esm2022/lib/_messages/get-login-status.service.mjs +0 -26
  276. package/esm2022/lib/_messages/oauth-response.service.mjs +0 -30
  277. package/esm2022/lib/_messages/progress-spinner.service.mjs +0 -30
  278. package/esm2022/lib/_messages/reset-pconnect.service.mjs +0 -31
  279. package/esm2022/lib/_messages/update-worklist.service.mjs +0 -30
  280. package/esm2022/lib/_services/case.service.mjs +0 -32
  281. package/esm2022/lib/_services/datapage.service.mjs +0 -52
  282. package/esm2022/lib/_services/endpoints.mjs +0 -61
  283. package/esm2022/lib/_services/server-config.service.mjs +0 -52
  284. package/esm2022/lib/_types/PConnProps.interface.mjs +0 -2
  285. package/esm2022/pega-angular-sdk-components.mjs +0 -5
  286. package/esm2022/public-api.mjs +0 -141
  287. package/esm2022/sdk-local-component-map.mjs +0 -9
  288. package/lib/_messages/get-login-status.service.d.ts +0 -10
  289. package/lib/_messages/oauth-response.service.d.ts +0 -14
  290. package/lib/_messages/reset-pconnect.service.d.ts +0 -15
@@ -1,174 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
- import { MatInputModule } from '@angular/material/input';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { interval } from 'rxjs';
7
- import { NgxCurrencyDirective, NgxCurrencyInputMode } from 'ngx-currency';
8
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
9
- import { handleEvent } from '../../../_helpers/event-util';
10
- import { getCurrencyCharacters } from '../../../_helpers/currency-utils';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../../_bridge/angular-pconnect";
13
- import * as i2 from "../../../_helpers/utils";
14
- import * as i3 from "@angular/common";
15
- import * as i4 from "@angular/forms";
16
- import * as i5 from "@angular/material/form-field";
17
- import * as i6 from "@angular/material/input";
18
- export class PercentageComponent {
19
- constructor(angularPConnect, cdRef, utils) {
20
- this.angularPConnect = angularPConnect;
21
- this.cdRef = cdRef;
22
- this.utils = utils;
23
- // Used with AngularPConnect
24
- this.angularPConnectData = {};
25
- this.label$ = '';
26
- this.bRequired$ = false;
27
- this.bReadonly$ = false;
28
- this.bDisabled$ = false;
29
- this.bVisible$ = true;
30
- this.displayMode$ = '';
31
- this.bHasForm$ = true;
32
- this.componentReference = '';
33
- this.fieldControl = new FormControl(null, null);
34
- }
35
- ngOnInit() {
36
- // First thing in initialization is registering and subscribing to the AngularPConnect service
37
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
38
- this.controlName$ = this.angularPConnect.getComponentID(this);
39
- // Then, continue on with other initialization
40
- // call updateSelf when initializing
41
- // this.updateSelf();
42
- this.checkAndUpdate();
43
- if (this.formGroup$) {
44
- // add control to formGroup
45
- this.formGroup$.addControl(this.controlName$, this.fieldControl);
46
- this.fieldControl.setValue(this.value$);
47
- this.bHasForm$ = true;
48
- }
49
- else {
50
- this.bReadonly$ = true;
51
- this.bHasForm$ = false;
52
- }
53
- }
54
- ngOnDestroy() {
55
- if (this.formGroup$) {
56
- this.formGroup$.removeControl(this.controlName$);
57
- }
58
- if (this.angularPConnectData.unsubscribeFn) {
59
- this.angularPConnectData.unsubscribeFn();
60
- }
61
- }
62
- // Callback passed when subscribing to store change
63
- onStateChange() {
64
- this.checkAndUpdate();
65
- }
66
- checkAndUpdate() {
67
- // Should always check the bridge to see if the component should
68
- // update itself (re-render)
69
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
70
- // ONLY call updateSelf when the component should update
71
- if (bUpdateSelf) {
72
- this.updateSelf();
73
- }
74
- }
75
- // updateSelf
76
- updateSelf() {
77
- // moved this from ngOnInit() and call this from there instead...
78
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
79
- this.testId = this.configProps$.testId;
80
- this.label$ = this.configProps$.label;
81
- this.displayMode$ = this.configProps$.displayMode;
82
- this.inputMode = NgxCurrencyInputMode.Natural;
83
- let nValue = this.configProps$.value;
84
- if (nValue) {
85
- if (typeof nValue === 'string') {
86
- nValue = parseInt(nValue, 10);
87
- }
88
- this.value$ = nValue;
89
- }
90
- this.helperText = this.configProps$.helperText;
91
- this.placeholder = this.configProps$.placeholder || '';
92
- const showGroupSeparators = this.configProps$.showGroupSeparators;
93
- const theSymbols = getCurrencyCharacters('');
94
- this.currDec = theSymbols.theDecimalIndicator || '2';
95
- this.currSep = showGroupSeparators ? theSymbols.theDigitGroupSeparator : '';
96
- // timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
97
- setTimeout(() => {
98
- if (this.configProps$.required != null) {
99
- this.bRequired$ = this.utils.getBooleanValue(this.configProps$.required);
100
- }
101
- this.cdRef.detectChanges();
102
- });
103
- if (this.configProps$.visibility != null) {
104
- this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
105
- }
106
- // disabled
107
- if (this.configProps$.disabled != undefined) {
108
- this.bDisabled$ = this.utils.getBooleanValue(this.configProps$.disabled);
109
- }
110
- if (this.bDisabled$) {
111
- this.fieldControl.disable();
112
- }
113
- else {
114
- this.fieldControl.enable();
115
- }
116
- if (this.configProps$.readOnly != null) {
117
- this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
118
- }
119
- this.decimalPrecision = this.configProps$?.decimalPrecision ?? 2;
120
- this.componentReference = this.pConn$.getStateProps().value;
121
- // trigger display of error message with field control
122
- if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
123
- const timer = interval(100).subscribe(() => {
124
- this.fieldControl.setErrors({ message: true });
125
- this.fieldControl.markAsTouched();
126
- timer.unsubscribe();
127
- });
128
- }
129
- }
130
- fieldOnChange(event) {
131
- this.angularPConnectData.actions?.onChange(this, event);
132
- }
133
- fieldOnBlur(event) {
134
- const actionsApi = this.pConn$?.getActionsApi();
135
- const propName = (this.pConn$?.getStateProps()).value;
136
- let value = event?.target?.value;
137
- value = value?.replace('%', '');
138
- if (this.currSep === ',') {
139
- value = value.replace(/,/g, '');
140
- }
141
- else {
142
- value = value?.replace(/\./g, '');
143
- value = value?.replace(/,/g, '.');
144
- }
145
- handleEvent(actionsApi, 'changeNblur', propName, value);
146
- }
147
- getErrorMessage() {
148
- // field control gets error message from here
149
- let errMessage = '';
150
- // look for validation messages for json, pre-defined or just an error pushed from workitem (400)
151
- if (this.fieldControl.hasError('message')) {
152
- errMessage = this.angularPConnectData.validateMessage ?? '';
153
- return errMessage;
154
- }
155
- if (this.fieldControl.hasError('required')) {
156
- errMessage = 'You must enter a value';
157
- }
158
- else if (this.fieldControl.errors) {
159
- errMessage = this.fieldControl.errors.toString();
160
- }
161
- return errMessage;
162
- }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PercentageComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PercentageComponent, isStandalone: true, selector: "app-percentage", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: '',\n suffix: '%',\n thousands: currSep,\n decimal: currDec,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n step=\".01\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.DefaultValueAccessor), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.RequiredValidator), selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlName), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatInputModule) }, { kind: "directive", type: i0.forwardRef(() => i6.MatInput), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i0.forwardRef(() => NgxCurrencyDirective), selector: "[currencyMask]", inputs: ["options"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PercentageComponent, decorators: [{
167
- type: Component,
168
- args: [{ selector: 'app-percentage', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, MatInputModule, NgxCurrencyDirective, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"bHasForm$; else noEdit\">\n <div [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <mat-label>{{ label$ }}</mat-label>\n <input\n type=\"text\"\n matInput\n currencyMask\n [options]=\"{\n prefix: '',\n suffix: '%',\n thousands: currSep,\n decimal: currDec,\n align: 'left',\n nullable: true,\n precision: decimalPrecision,\n inputMode: inputMode\n }\"\n [placeholder]=\"placeholder\"\n step=\".01\"\n [formControlName]=\"controlName$\"\n [required]=\"bRequired$\"\n [formControl]=\"fieldControl\"\n [attr.data-test-id]=\"testId\"\n (change)=\"fieldOnChange($event)\"\n (blur)=\"fieldOnBlur($event)\"\n [readonly]=\"bReadonly$\"\n />\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}\n"] }]
169
- }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: i2.Utils }], propDecorators: { pConn$: [{
170
- type: Input
171
- }], formGroup$: [{
172
- type: Input
173
- }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvZmllbGQvcGVyY2VudGFnZS9wZXJjZW50YWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9maWVsZC9wZXJjZW50YWdlL3BlcmNlbnRhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXFCLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBZ0J6RSxNQUFNLE9BQU8sbUJBQW1CO0lBMkI5QixZQUNVLGVBQXVDLEVBQ3ZDLEtBQXdCLEVBQ3hCLEtBQVk7UUFGWixvQkFBZSxHQUFmLGVBQWUs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QUFDO0lBRUQsZUFBZTtRQUNiLDZDQUE2QztRQUM3QyxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDcEIsaUdBQWlHO1FBQ2pHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7WUFDNUQsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxVQUFVLEdBQUcsd0JBQXdCLENBQUM7UUFDeEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7K0dBaExVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtJQzNCaEMsa2dEQXdDQSxrWkRmWSxZQUFZLDRLQUFFLG1CQUFtQiwyNUNBQUUsa0JBQWtCLDJkQUFFLGNBQWMscVpBQUUsb0JBQW9CLHFHQUFtQix3QkFBd0I7OzRGQUVySSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzsrSUFHekksTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZ3hDdXJyZW5jeURpcmVjdGl2ZSwgTmd4Q3VycmVuY3lJbnB1dE1vZGUgfSBmcm9tICduZ3gtY3VycmVuY3knO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL3V0aWxzJztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBoYW5kbGVFdmVudCB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL2V2ZW50LXV0aWwnO1xuaW1wb3J0IHsgZ2V0Q3VycmVuY3lDaGFyYWN0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vX2hlbHBlcnMvY3VycmVuY3ktdXRpbHMnO1xuaW1wb3J0IHsgUENvbm5GaWVsZFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vX3R5cGVzL1BDb25uUHJvcHMuaW50ZXJmYWNlJztcblxuaW50ZXJmYWNlIFBlcmNlbnRhZ2VQcm9wcyBleHRlbmRzIFBDb25uRmllbGRQcm9wcyB7XG4gIHNob3dHcm91cFNlcGFyYXRvcnM/OiBzdHJpbmc7XG4gIGRlY2ltYWxQcmVjaXNpb24/OiBudW1iZXI7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gUGVyY2VudGFnZSBoZXJlXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wZXJjZW50YWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BlcmNlbnRhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZXJjZW50YWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE5neEN1cnJlbmN5RGlyZWN0aXZlLCBmb3J3YXJkUmVmKCgpID0+IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCldXG59KVxuZXhwb3J0IGNsYXNzIFBlcmNlbnRhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBmb3JtR3JvdXAkOiBGb3JtR3JvdXA7XG5cbiAgLy8gVXNlZCB3aXRoIEFuZ3VsYXJQQ29ubmVjdFxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbmZpZ1Byb3BzJDogUGVyY2VudGFnZVByb3BzO1xuXG4gIGxhYmVsJCA9ICcnO1xuICB2YWx1ZSQ6IG51bWJlcjtcbiAgYlJlcXVpcmVkJCA9IGZhbHNlO1xuICBiUmVhZG9ubHkkID0gZmFsc2U7XG4gIGJEaXNhYmxlZCQgPSBmYWxzZTtcbiAgYlZpc2libGUkID0gdHJ1ZTtcbiAgZGlzcGxheU1vZGUkPzogc3RyaW5nID0gJyc7XG4gIGNvbnRyb2xOYW1lJDogc3RyaW5nO1xuICBiSGFzRm9ybSQgPSB0cnVlO1xuICBjb21wb25lbnRSZWZlcmVuY2UgPSAnJztcbiAgdGVzdElkOiBzdHJpbmc7XG4gIGhlbHBlclRleHQ6IHN0cmluZztcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgY3VyckRlYzogc3RyaW5nO1xuICBjdXJyU2VwOiBzdHJpbmc7XG4gIGlucHV0TW9kZTogYW55O1xuICBkZWNpbWFsUHJlY2lzaW9uOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGZpZWxkQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPihudWxsLCBudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFuZ3VsYXJQQ29ubmVjdDogQW5ndWxhclBDb25uZWN0U2VydmljZSxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHV0aWxzOiBVdGlsc1xuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gRmlyc3QgdGhpbmcgaW4gaW5pdGlhbGl6YXRpb24gaXMgcmVnaXN0ZXJpbmcgYW5kIHN1YnNjcmliaW5nIHRvIHRoZSBBbmd1bGFyUENvbm5lY3Qgc2VydmljZVxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgdGhpcy5jb250cm9sTmFtZSQgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5nZXRDb21wb25lbnRJRCh0aGlzKTtcblxuICAgIC8vIFRoZW4sIGNvbnRpbnVlIG9uIHdpdGggb3RoZXIgaW5pdGlhbGl6YXRpb25cbiAgICAvLyBjYWxsIHVwZGF0ZVNlbGYgd2hlbiBpbml0aWFsaXppbmdcbiAgICAvLyB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlKCk7XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXAkKSB7XG4gICAgICAvLyBhZGQgY29udHJvbCB0byBmb3JtR3JvdXBcbiAgICAgIHRoaXMuZm9ybUdyb3VwJC5hZGRDb250cm9sKHRoaXMuY29udHJvbE5hbWUkLCB0aGlzLmZpZWxkQ29udHJvbCk7XG4gICAgICB0aGlzLmZpZWxkQ29udHJvbC5zZXRWYWx1ZSh0aGlzLnZhbHVlJCk7XG4gICAgICB0aGlzLmJIYXNGb3JtJCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYlJlYWRvbmx5JCA9IHRydWU7XG4gICAgICB0aGlzLmJIYXNGb3JtJCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cCQpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwJC5yZW1vdmVDb250cm9sKHRoaXMuY29udHJvbE5hbWUkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4pIHtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsbGJhY2sgcGFzc2VkIHdoZW4gc3Vic2NyaWJpbmcgdG8gc3RvcmUgY2hhbmdlXG4gIG9uU3RhdGVDaGFuZ2UoKSB7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuICB9XG5cbiAgY2hlY2tBbmRVcGRhdGUoKSB7XG4gICAgLy8gU2hvdWxkIGFsd2F5cyBjaGVjayB0aGUgYnJpZGdlIHRvIHNlZSBpZiB0aGUgY29tcG9uZW50IHNob3VsZFxuICAgIC8vIHVwZGF0ZSBpdHNlbGYgKHJlLXJlbmRlcilcbiAgICBjb25zdCBiVXBkYXRlU2VsZiA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnNob3VsZENvbXBvbmVudFVwZGF0ZSh0aGlzKTtcblxuICAgIC8vIE9OTFkgY2FsbCB1cGRhdGVTZWxmIHdoZW4gdGhlIGNvbXBvbmVudCBzaG91bGQgdXBkYXRlXG4gICAgaWYgKGJVcGRhdGVTZWxmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVNlbGYoKTtcbiAgICB9XG4gIH1cblxuICAvLyB1cGRhdGVTZWxmXG4gIHVwZGF0ZVNlbGYoKTogdm9pZCB7XG4gICAgLy8gbW92ZWQgdGhpcyBmcm9tIG5nT25Jbml0KCkgYW5kIGNhbGwgdGhpcyBmcm9tIHRoZXJlIGluc3RlYWQuLi5cbiAgICB0aGlzLmNvbmZpZ1Byb3BzJCA9IHRoaXMucENvbm4kLnJlc29sdmVDb25maWdQcm9wcyh0aGlzLnBDb25uJC5nZXRDb25maWdQcm9wcygpKSBhcyBQZXJjZW50YWdlUHJvcHM7XG4gICAgdGhpcy50ZXN0SWQgPSB0aGlzLmNvbmZpZ1Byb3BzJC50ZXN0SWQ7XG4gICAgdGhpcy5sYWJlbCQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5sYWJlbDtcbiAgICB0aGlzLmRpc3BsYXlNb2RlJCA9IHRoaXMuY29uZmlnUHJvcHMkLmRpc3BsYXlNb2RlO1xuICAgIHRoaXMuaW5wdXRNb2RlID0gTmd4Q3VycmVuY3lJbnB1dE1vZGUuTmF0dXJhbDtcbiAgICBsZXQgblZhbHVlOiBhbnkgPSB0aGlzLmNvbmZpZ1Byb3BzJC52YWx1ZTtcbiAgICBpZiAoblZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIG5WYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgblZhbHVlID0gcGFyc2VJbnQoblZhbHVlLCAxMCk7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbHVlJCA9IG5WYWx1ZTtcbiAgICB9XG4gICAgdGhpcy5oZWxwZXJUZXh0ID0gdGhpcy5jb25maWdQcm9wcyQuaGVscGVyVGV4dDtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5jb25maWdQcm9wcyQucGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgY29uc3Qgc2hvd0dyb3VwU2VwYXJhdG9ycyA9IHRoaXMuY29uZmlnUHJvcHMkLnNob3dHcm91cFNlcGFyYXRvcnM7XG5cbiAgICBjb25zdCB0aGVTeW1ib2xzID0gZ2V0Q3VycmVuY3lDaGFyYWN0ZXJzKCcnKTtcbiAgICB0aGlzLmN1cnJEZWMgPSB0aGVTeW1ib2xzLnRoZURlY2ltYWxJbmRpY2F0b3IgfHwgJzInO1xuICAgIHRoaXMuY3VyclNlcCA9IHNob3dHcm91cFNlcGFyYXRvcnMgPyB0aGVTeW1ib2xzLnRoZURpZ2l0R3JvdXBTZXBhcmF0b3IgOiAnJztcblxuICAgIC8vIHRpbWVvdXQgYW5kIGRldGVjdENoYW5nZXMgdG8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLnJlcXVpcmVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5iUmVxdWlyZWQkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQucmVxdWlyZWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQudmlzaWJpbGl0eSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmJWaXNpYmxlJCA9IHRoaXMudXRpbHMuZ2V0Qm9vbGVhblZhbHVlKHRoaXMuY29uZmlnUHJvcHMkLnZpc2liaWxpdHkpO1xuICAgIH1cblxuICAgIC8vIGRpc2FibGVkXG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLmRpc2FibGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5iRGlzYWJsZWQkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQuZGlzYWJsZWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJEaXNhYmxlZCQpIHtcbiAgICAgIHRoaXMuZmllbGRDb250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWVsZENvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29uZmlnUHJvcHMkLnJlYWRPbmx5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuYlJlYWRvbmx5JCA9IHRoaXMudXRpbHMuZ2V0Qm9vbGVhblZhbHVlKHRoaXMuY29uZmlnUHJvcHMkLnJlYWRPbmx5KTtcbiAgICB9XG5cbiAgICB0aGlzLmRlY2ltYWxQcmVjaXNpb24gPSB0aGlzLmNvbmZpZ1Byb3BzJD8uZGVjaW1hbFByZWNpc2lvbiA/PyAyO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWZlcmVuY2UgPSAodGhpcy5wQ29ubiQuZ2V0U3RhdGVQcm9wcygpIGFzIGFueSkudmFsdWU7XG5cbiAgICAvLyB0cmlnZ2VyIGRpc3BsYXkgb2YgZXJyb3IgbWVzc2FnZSB3aXRoIGZpZWxkIGNvbnRyb2xcbiAgICBpZiAodGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnZhbGlkYXRlTWVzc2FnZSAhPSBudWxsICYmIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS52YWxpZGF0ZU1lc3NhZ2UgIT0gJycpIHtcbiAgICAgIGNvbnN0IHRpbWVyID0gaW50ZXJ2YWwoMTAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmZpZWxkQ29udHJvbC5zZXRFcnJvcnMoeyBtZXNzYWdlOiB0cnVlIH0pO1xuICAgICAgICB0aGlzLmZpZWxkQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIHRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBmaWVsZE9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEuYWN0aW9ucz8ub25DaGFuZ2UodGhpcywgZXZlbnQpO1xuICB9XG5cbiAgZmllbGRPbkJsdXIoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGFjdGlvbnNBcGkgPSB0aGlzLnBDb25uJD8uZ2V0QWN0aW9uc0FwaSgpO1xuICAgIGNvbnN0IHByb3BOYW1lID0gKHRoaXMucENvbm4kPy5nZXRTdGF0ZVByb3BzKCkgYXMgYW55KS52YWx1ZTtcbiAgICBsZXQgdmFsdWUgPSBldmVudD8udGFyZ2V0Py52YWx1ZTtcbiAgICB2YWx1ZSA9IHZhbHVlPy5yZXBsYWNlKCclJywgJycpO1xuICAgIGlmICh0aGlzLmN1cnJTZXAgPT09ICcsJykge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8sL2csICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSB2YWx1ZT8ucmVwbGFjZSgvXFwuL2csICcnKTtcbiAgICAgIHZhbHVlID0gdmFsdWU/LnJlcGxhY2UoLywvZywgJy4nKTtcbiAgICB9XG4gICAgaGFuZGxlRXZlbnQoYWN0aW9uc0FwaSwgJ2NoYW5nZU5ibHVyJywgcHJvcE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZSgpIHtcbiAgICAvLyBmaWVsZCBjb250cm9sIGdldHMgZXJyb3IgbWVzc2FnZSBmcm9tIGhlcmVcbiAgICBsZXQgZXJyTWVzc2FnZSA9ICcnO1xuICAgIC8vIGxvb2sgZm9yIHZhbGlkYXRpb24gbWVzc2FnZXMgZm9yIGpzb24sIHByZS1kZWZpbmVkIG9yIGp1c3QgYW4gZXJyb3IgcHVzaGVkIGZyb20gd29ya2l0ZW0gKDQwMClcbiAgICBpZiAodGhpcy5maWVsZENvbnRyb2wuaGFzRXJyb3IoJ21lc3NhZ2UnKSkge1xuICAgICAgZXJyTWVzc2FnZSA9IHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS52YWxpZGF0ZU1lc3NhZ2UgPz8gJyc7XG4gICAgICByZXR1cm4gZXJyTWVzc2FnZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZmllbGRDb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICBlcnJNZXNzYWdlID0gJ1lvdSBtdXN0IGVudGVyIGEgdmFsdWUnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWVsZENvbnRyb2wuZXJyb3JzKSB7XG4gICAgICBlcnJNZXNzYWdlID0gdGhpcy5maWVsZENvbnRyb2wuZXJyb3JzLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiBlcnJNZXNzYWdlO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGlzcGxheU1vZGUkOyBlbHNlIG5vRGlzcGxheU1vZGVcIj5cbiAgPGNvbXBvbmVudC1tYXBwZXIgKm5nSWY9XCJiVmlzaWJsZSQgIT09IGZhbHNlXCIgbmFtZT1cIkZpZWxkVmFsdWVMaXN0XCIgW3Byb3BzXT1cInsgbGFiZWwkLCB2YWx1ZSQsIGRpc3BsYXlNb2RlJCB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI25vRGlzcGxheU1vZGU+XG4gIDxkaXYgKm5nSWY9XCJiSGFzRm9ybSQ7IGVsc2Ugbm9FZGl0XCI+XG4gICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCRcIiAqbmdJZj1cImJWaXNpYmxlJFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHNkay1mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIFtoaW50TGFiZWxdPVwiaGVscGVyVGV4dFwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsJCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICBjdXJyZW5jeU1hc2tcbiAgICAgICAgICBbb3B0aW9uc109XCJ7XG4gICAgICAgICAgICBwcmVmaXg6ICcnLFxuICAgICAgICAgICAgc3VmZml4OiAnJScsXG4gICAgICAgICAgICB0aG91c2FuZHM6IGN1cnJTZXAsXG4gICAgICAgICAgICBkZWNpbWFsOiBjdXJyRGVjLFxuICAgICAgICAgICAgYWxpZ246ICdsZWZ0JyxcbiAgICAgICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgICAgcHJlY2lzaW9uOiBkZWNpbWFsUHJlY2lzaW9uLFxuICAgICAgICAgICAgaW5wdXRNb2RlOiBpbnB1dE1vZGVcbiAgICAgICAgICB9XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgIHN0ZXA9XCIuMDFcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29udHJvbE5hbWUkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwiYlJlcXVpcmVkJFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZpZWxkQ29udHJvbFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10ZXN0LWlkXT1cInRlc3RJZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJmaWVsZE9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChibHVyKT1cImZpZWxkT25CbHVyKCRldmVudClcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJiUmVhZG9ubHkkXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZpZWxkQ29udHJvbC5pbnZhbGlkXCI+e3sgZ2V0RXJyb3JNZXNzYWdlKCkgfX08L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjbm9FZGl0PlxuICA8Y29tcG9uZW50LW1hcHBlciAqbmdJZj1cImJWaXNpYmxlJCAhPT0gZmFsc2VcIiBuYW1lPVwiVGV4dFwiIFtwcm9wc109XCJ7IHBDb25uJCwgZm9ybWF0QXMkOiAndGV4dCcgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,167 +0,0 @@
1
- import { Component, Input, forwardRef } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { interval } from 'rxjs';
6
- import { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';
7
- import { handleEvent } from '../../../_helpers/event-util';
8
- import { ComponentMapperComponent } from '../../../_bridge/component-mapper/component-mapper.component';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../../_bridge/angular-pconnect";
11
- import * as i2 from "../../../_helpers/utils";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/forms";
14
- import * as i5 from "@angular/material/form-field";
15
- export class PhoneComponent {
16
- constructor(angularPConnect, cdRef, utils) {
17
- this.angularPConnect = angularPConnect;
18
- this.cdRef = cdRef;
19
- this.utils = utils;
20
- // Used with AngularPConnect
21
- this.angularPConnectData = {};
22
- this.label$ = '';
23
- this.bRequired$ = false;
24
- this.bReadonly$ = false;
25
- this.bDisabled$ = false;
26
- this.bVisible$ = true;
27
- this.displayMode$ = '';
28
- this.bHasForm$ = true;
29
- this.componentReference = '';
30
- this.separateDialCode = false;
31
- this.fieldControl = new FormControl('', null);
32
- this.phoneForm = new FormGroup({
33
- phone: new FormControl(null)
34
- });
35
- }
36
- ngOnInit() {
37
- // First thing in initialization is registering and subscribing to the AngularPConnect service
38
- this.angularPConnectData = this.angularPConnect.registerAndSubscribeComponent(this, this.onStateChange);
39
- this.controlName$ = this.angularPConnect.getComponentID(this);
40
- // Then, continue on with other initialization
41
- // call updateSelf when initializing
42
- // this.updateSelf();
43
- this.checkAndUpdate();
44
- if (this.formGroup$) {
45
- // add control to formGroup
46
- this.formGroup$.addControl(this.controlName$, this.fieldControl);
47
- this.fieldControl.setValue(this.value$);
48
- this.bHasForm$ = true;
49
- }
50
- else {
51
- this.bReadonly$ = true;
52
- this.bHasForm$ = false;
53
- }
54
- }
55
- ngOnDestroy() {
56
- if (this.formGroup$) {
57
- this.formGroup$.removeControl(this.controlName$);
58
- }
59
- if (this.angularPConnectData.unsubscribeFn) {
60
- this.angularPConnectData.unsubscribeFn();
61
- }
62
- }
63
- // Callback passed when subscribing to store change
64
- onStateChange() {
65
- this.checkAndUpdate();
66
- }
67
- checkAndUpdate() {
68
- // Should always check the bridge to see if the component should
69
- // update itself (re-render)
70
- const bUpdateSelf = this.angularPConnect.shouldComponentUpdate(this);
71
- // ONLY call updateSelf when the component should update
72
- if (bUpdateSelf) {
73
- this.updateSelf();
74
- }
75
- }
76
- // updateSelf
77
- updateSelf() {
78
- // moved this from ngOnInit() and call this from there instead...
79
- this.configProps$ = this.pConn$.resolveConfigProps(this.pConn$.getConfigProps());
80
- this.label$ = this.configProps$.label;
81
- this.displayMode$ = this.configProps$.displayMode;
82
- this.testId = this.configProps$.testId;
83
- if (this.configProps$.value != undefined) {
84
- this.value$ = this.configProps$.value;
85
- }
86
- this.helperText = this.configProps$.helperText;
87
- // timeout and detectChanges to avoid ExpressionChangedAfterItHasBeenCheckedError
88
- setTimeout(() => {
89
- if (this.configProps$.required != null) {
90
- this.bRequired$ = this.utils.getBooleanValue(this.configProps$.required);
91
- }
92
- this.cdRef.detectChanges();
93
- });
94
- if (this.configProps$.visibility != null) {
95
- this.bVisible$ = this.utils.getBooleanValue(this.configProps$.visibility);
96
- }
97
- // disabled
98
- if (this.configProps$.disabled != undefined) {
99
- this.bDisabled$ = this.utils.getBooleanValue(this.configProps$.disabled);
100
- }
101
- if (this.bDisabled$) {
102
- this.fieldControl.disable();
103
- }
104
- else {
105
- this.fieldControl.enable();
106
- }
107
- if (this.configProps$.readOnly != null) {
108
- this.bReadonly$ = this.utils.getBooleanValue(this.configProps$.readOnly);
109
- }
110
- if (this.bReadonly$) {
111
- this.phoneForm.setValue({ phone: this.value$ });
112
- }
113
- // trigger display of error message with field control
114
- if (this.angularPConnectData.validateMessage != null && this.angularPConnectData.validateMessage != '') {
115
- const timer = interval(100).subscribe(() => {
116
- this.fieldControl.setErrors({ message: true });
117
- this.fieldControl.markAsTouched();
118
- timer.unsubscribe();
119
- });
120
- }
121
- }
122
- fieldOnChange() {
123
- if (this.formGroup$.controls[this.controlName$].value) {
124
- const actionsApi = this.pConn$?.getActionsApi();
125
- const propName = (this.pConn$?.getStateProps()).value;
126
- const value = this.formGroup$.controls[this.controlName$].value;
127
- const eventObj = {
128
- target: {
129
- value
130
- }
131
- };
132
- this.afterBlur = true;
133
- this.angularPConnectData.actions?.onChange(this, eventObj);
134
- handleEvent(actionsApi, 'blur', propName, value);
135
- }
136
- }
137
- fieldOnBlur(event) {
138
- // PConnect wants to use eventHandler for onBlur
139
- this.angularPConnectData.actions?.onBlur(this, event);
140
- }
141
- getErrorMessage() {
142
- let errMessage = '';
143
- // look for validation messages for json, pre-defined or just an error pushed from workitem (400)
144
- if (this.fieldControl.hasError('message')) {
145
- errMessage = this.angularPConnectData.validateMessage ?? '';
146
- return errMessage;
147
- }
148
- if (this.fieldControl.hasError('required')) {
149
- errMessage = 'You must enter a value';
150
- }
151
- else if (this.fieldControl.errors) {
152
- errMessage = 'Invalid Phone';
153
- }
154
- return errMessage;
155
- }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
157
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PhoneComponent, isStandalone: true, selector: "app-phone", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, ngImport: i0, template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div #f=\"ngForm\" [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <ngx-mat-intl-tel-input\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n [preferredCountries]=\"['us']\"\n [enablePlaceholder]=\"true\"\n [enableSearch]=\"true\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n >\n </ngx-mat-intl-tel-input>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}.phone-label-readonly{opacity:54%;font-size:.7rem}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i3.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => ReactiveFormsModule) }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i4.NgControlStatusGroup), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(() => i4.FormControlDirective), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(() => i4.FormGroupDirective), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatFormFieldModule) }, { kind: "component", type: i0.forwardRef(() => i5.MatFormField), selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(() => i5.MatLabel), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(() => i5.MatError), selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i0.forwardRef(() => NgxMatIntlTelInputComponent), selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
158
- }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneComponent, decorators: [{
160
- type: Component,
161
- args: [{ selector: 'app-phone', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatFormFieldModule, NgxMatIntlTelInputComponent, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"displayMode$; else noDisplayMode\">\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"FieldValueList\" [props]=\"{ label$, value$, displayMode$ }\"></component-mapper>\n</div>\n<ng-template #noDisplayMode>\n <div *ngIf=\"!bReadonly$ && bHasForm$; else noEdit\">\n <div #f=\"ngForm\" [formGroup]=\"formGroup$\" *ngIf=\"bVisible$\">\n <mat-form-field class=\"psdk-full-width\" subscriptSizing=\"dynamic\" [hintLabel]=\"helperText\">\n <ngx-mat-intl-tel-input\n [attr.data-test-id]=\"testId\"\n [formControl]=\"fieldControl\"\n [preferredCountries]=\"['us']\"\n [enablePlaceholder]=\"true\"\n [enableSearch]=\"true\"\n (change)=\"fieldOnChange()\"\n (blur)=\"fieldOnBlur($event)\"\n >\n </ngx-mat-intl-tel-input>\n <mat-label>{{ label$ }}</mat-label>\n <mat-error *ngIf=\"fieldControl.invalid\">{{ getErrorMessage() }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n</ng-template>\n<ng-template #noEdit>\n <component-mapper *ngIf=\"bVisible$ !== false\" name=\"Text\" [props]=\"{ pConn$, formatAs$: 'text' }\"></component-mapper>\n</ng-template>\n", styles: [".psdk-full-width{width:100%}.psdk-label-readonly{font-size:1rem;display:block;transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.psdk-data-readonly{padding-top:.625rem;width:100%}::ng-deep .mat-mdc-form-field-infix{width:auto}.phone-label-readonly{opacity:54%;font-size:.7rem}\n"] }]
162
- }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: i2.Utils }], propDecorators: { pConn$: [{
163
- type: Input
164
- }], formGroup$: [{
165
- type: Input
166
- }] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1zZGstY29tcG9uZW50cy9zcmMvbGliL19jb21wb25lbnRzL2ZpZWxkL3Bob25lL3Bob25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9maWVsZC9waG9uZS9waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBcUIsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0FBY3hHLE1BQU0sT0FBTyxjQUFjO0lBNkJ6QixZQUNVLGVBQXVDLEVBQ3ZDLEtBQXdCLEVBQ3hCLEtBQVk7UUFGWixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQTVCdEIsNEJBQTRCO1FBQzVCLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFHOUMsV0FBTSxHQUFH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MkIsNlZBQW1CLHdCQUF3Qjs7NEZBRTVILGNBQWM7a0JBUDFCLFNBQVM7K0JBQ0UsV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQzsrSUFHaEksTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmd4TWF0SW50bFRlbElucHV0Q29tcG9uZW50IH0gZnJvbSAnbmd4LW1hdC1pbnRsLXRlbC1pbnB1dCc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uLy4uL19oZWxwZXJzL3V0aWxzJztcbmltcG9ydCB7IEFuZ3VsYXJQQ29ubmVjdERhdGEsIEFuZ3VsYXJQQ29ubmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2FuZ3VsYXItcGNvbm5lY3QnO1xuaW1wb3J0IHsgaGFuZGxlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9faGVscGVycy9ldmVudC11dGlsJztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQQ29ubkZpZWxkUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fdHlwZXMvUENvbm5Qcm9wcy5pbnRlcmZhY2UnO1xuXG5pbnRlcmZhY2UgUGhvbmVQcm9wcyBleHRlbmRzIFBDb25uRmllbGRQcm9wcyB7XG4gIC8vIElmIGFueSwgZW50ZXIgYWRkaXRpb25hbCBwcm9wcyB0aGF0IG9ubHkgZXhpc3Qgb24gUGhvbmUgaGVyZVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGhvbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waG9uZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE5neE1hdEludGxUZWxJbnB1dENvbXBvbmVudCwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBQaG9uZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCQ6IEZvcm1Hcm91cDtcblxuICAvLyBVc2VkIHdpdGggQW5ndWxhclBDb25uZWN0XG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcbiAgY29uZmlnUHJvcHMkOiBQaG9uZVByb3BzO1xuXG4gIGxhYmVsJCA9ICcnO1xuICB2YWx1ZSQ6IHN0cmluZztcbiAgYlJlcXVpcmVkJCA9IGZhbHNlO1xuICBiUmVhZG9ubHkkID0gZmFsc2U7XG4gIGJEaXNhYmxlZCQgPSBmYWxzZTtcbiAgYlZpc2libGUkID0gdHJ1ZTtcbiAgZGlzcGxheU1vZGUkPzogc3RyaW5nID0gJyc7XG4gIGNvbnRyb2xOYW1lJDogc3RyaW5nO1xuICBiSGFzRm9ybSQgPSB0cnVlO1xuICBjb21wb25lbnRSZWZlcmVuY2UgPSAnJztcbiAgdGVzdElkOiBzdHJpbmc7XG4gIHNlcGFyYXRlRGlhbENvZGUgPSBmYWxzZTtcbiAgYWZ0ZXJCbHVyOiBib29sZWFuO1xuICBoZWxwZXJUZXh0OiBzdHJpbmc7XG5cbiAgZmllbGRDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnLCBudWxsKTtcblxuICBwaG9uZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBwaG9uZTogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdXRpbHM6IFV0aWxzXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGaXJzdCB0aGluZyBpbiBpbml0aWFsaXphdGlvbiBpcyByZWdpc3RlcmluZyBhbmQgc3Vic2NyaWJpbmcgdG8gdGhlIEFuZ3VsYXJQQ29ubmVjdCBzZXJ2aWNlXG4gICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhID0gdGhpcy5hbmd1bGFyUENvbm5lY3QucmVnaXN0ZXJBbmRTdWJzY3JpYmVDb21wb25lbnQodGhpcywgdGhpcy5vblN0YXRlQ2hhbmdlKTtcbiAgICB0aGlzLmNvbnRyb2xOYW1lJCA9IHRoaXMuYW5ndWxhclBDb25uZWN0LmdldENvbXBvbmVudElEKHRoaXMpO1xuXG4gICAgLy8gVGhlbiwgY29udGludWUgb24gd2l0aCBvdGhlciBpbml0aWFsaXphdGlvblxuXG4gICAgLy8gY2FsbCB1cGRhdGVTZWxmIHdoZW4gaW5pdGlhbGl6aW5nXG4gICAgLy8gdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZSgpO1xuXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwJCkge1xuICAgICAgLy8gYWRkIGNvbnRyb2wgdG8gZm9ybUdyb3VwXG4gICAgICB0aGlzLmZvcm1Hcm91cCQuYWRkQ29udHJvbCh0aGlzLmNvbnRyb2xOYW1lJCwgdGhpcy5maWVsZENvbnRyb2wpO1xuICAgICAgdGhpcy5maWVsZENvbnRyb2wuc2V0VmFsdWUodGhpcy52YWx1ZSQpO1xuICAgICAgdGhpcy5iSGFzRm9ybSQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJSZWFkb25seSQgPSB0cnVlO1xuICAgICAgdGhpcy5iSGFzRm9ybSQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAkKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cCQucmVtb3ZlQ29udHJvbCh0aGlzLmNvbnRyb2xOYW1lJCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS51bnN1YnNjcmliZUZuKSB7XG4gICAgICB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbigpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGxiYWNrIHBhc3NlZCB3aGVuIHN1YnNjcmliaW5nIHRvIHN0b3JlIGNoYW5nZVxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIHRoaXMuY2hlY2tBbmRVcGRhdGUoKTtcbiAgfVxuXG4gIGNoZWNrQW5kVXBkYXRlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgYlVwZGF0ZVNlbGYgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdC5zaG91bGRDb21wb25lbnRVcGRhdGUodGhpcyk7XG5cbiAgICAvLyBPTkxZIGNhbGwgdXBkYXRlU2VsZiB3aGVuIHRoZSBjb21wb25lbnQgc2hvdWxkIHVwZGF0ZVxuICAgIGlmIChiVXBkYXRlU2VsZikge1xuICAgICAgdGhpcy51cGRhdGVTZWxmKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gdXBkYXRlU2VsZlxuICB1cGRhdGVTZWxmKCk6IHZvaWQge1xuICAgIC8vIG1vdmVkIHRoaXMgZnJvbSBuZ09uSW5pdCgpIGFuZCBjYWxsIHRoaXMgZnJvbSB0aGVyZSBpbnN0ZWFkLi4uXG4gICAgdGhpcy5jb25maWdQcm9wcyQgPSB0aGlzLnBDb25uJC5yZXNvbHZlQ29uZmlnUHJvcHModGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKSkgYXMgUGhvbmVQcm9wcztcblxuICAgIHRoaXMubGFiZWwkID0gdGhpcy5jb25maWdQcm9wcyQubGFiZWw7XG4gICAgdGhpcy5kaXNwbGF5TW9kZSQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5kaXNwbGF5TW9kZTtcbiAgICB0aGlzLnRlc3RJZCA9IHRoaXMuY29uZmlnUHJvcHMkLnRlc3RJZDtcbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQudmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlJCA9IHRoaXMuY29uZmlnUHJvcHMkLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmhlbHBlclRleHQgPSB0aGlzLmNvbmZpZ1Byb3BzJC5oZWxwZXJUZXh0O1xuXG4gICAgLy8gdGltZW91dCBhbmQgZGV0ZWN0Q2hhbmdlcyB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb25maWdQcm9wcyQucmVxdWlyZWQgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLmJSZXF1aXJlZCQgPSB0aGlzLnV0aWxzLmdldEJvb2xlYW5WYWx1ZSh0aGlzLmNvbmZpZ1Byb3BzJC5yZXF1aXJlZCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZ1Byb3BzJC52aXNpYmlsaXR5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuYlZpc2libGUkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQudmlzaWJpbGl0eSk7XG4gICAgfVxuXG4gICAgLy8gZGlzYWJsZWRcbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQuZGlzYWJsZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJEaXNhYmxlZCQgPSB0aGlzLnV0aWxzLmdldEJvb2xlYW5WYWx1ZSh0aGlzLmNvbmZpZ1Byb3BzJC5kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYkRpc2FibGVkJCkge1xuICAgICAgdGhpcy5maWVsZENvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ29udHJvbC5lbmFibGUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25maWdQcm9wcyQucmVhZE9ubHkgIT0gbnVsbCkge1xuICAgICAgdGhpcy5iUmVhZG9ubHkkID0gdGhpcy51dGlscy5nZXRCb29sZWFuVmFsdWUodGhpcy5jb25maWdQcm9wcyQucmVhZE9ubHkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJSZWFkb25seSQpIHtcbiAgICAgIHRoaXMucGhvbmVGb3JtLnNldFZhbHVlKHsgcGhvbmU6IHRoaXMudmFsdWUkIH0pO1xuICAgIH1cblxuICAgIC8vIHRyaWdnZXIgZGlzcGxheSBvZiBlcnJvciBtZXNzYWdlIHdpdGggZmllbGQgY29udHJvbFxuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudmFsaWRhdGVNZXNzYWdlICE9IG51bGwgJiYgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnZhbGlkYXRlTWVzc2FnZSAhPSAnJykge1xuICAgICAgY29uc3QgdGltZXIgPSBpbnRlcnZhbCgxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRDb250cm9sLnNldEVycm9ycyh7IG1lc3NhZ2U6IHRydWUgfSk7XG4gICAgICAgIHRoaXMuZmllbGRDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcblxuICAgICAgICB0aW1lci51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZmllbGRPbkNoYW5nZSgpIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAkLmNvbnRyb2xzW3RoaXMuY29udHJvbE5hbWUkXS52YWx1ZSkge1xuICAgICAgY29uc3QgYWN0aW9uc0FwaSA9IHRoaXMucENvbm4kPy5nZXRBY3Rpb25zQXBpKCk7XG4gICAgICBjb25zdCBwcm9wTmFtZSA9ICh0aGlzLnBDb25uJD8uZ2V0U3RhdGVQcm9wcygpIGFzIGFueSkudmFsdWU7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUdyb3VwJC5jb250cm9sc1t0aGlzLmNvbnRyb2xOYW1lJF0udmFsdWU7XG4gICAgICBjb25zdCBldmVudE9iaiA9IHtcbiAgICAgICAgdGFyZ2V0OiB7XG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHRoaXMuYWZ0ZXJCbHVyID0gdHJ1ZTtcbiAgICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS5hY3Rpb25zPy5vbkNoYW5nZSh0aGlzLCBldmVudE9iaik7XG4gICAgICBoYW5kbGVFdmVudChhY3Rpb25zQXBpLCAnYmx1cicsIHByb3BOYW1lLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZmllbGRPbkJsdXIoZXZlbnQ6IGFueSkge1xuICAgIC8vIFBDb25uZWN0IHdhbnRzIHRvIHVzZSBldmVudEhhbmRsZXIgZm9yIG9uQmx1clxuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YS5hY3Rpb25zPy5vbkJsdXIodGhpcywgZXZlbnQpO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCkge1xuICAgIGxldCBlcnJNZXNzYWdlID0gJyc7XG5cbiAgICAvLyBsb29rIGZvciB2YWxpZGF0aW9uIG1lc3NhZ2VzIGZvciBqc29uLCBwcmUtZGVmaW5lZCBvciBqdXN0IGFuIGVycm9yIHB1c2hlZCBmcm9tIHdvcmtpdGVtICg0MDApXG4gICAgaWYgKHRoaXMuZmllbGRDb250cm9sLmhhc0Vycm9yKCdtZXNzYWdlJykpIHtcbiAgICAgIGVyck1lc3NhZ2UgPSB0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudmFsaWRhdGVNZXNzYWdlID8/ICcnO1xuICAgICAgcmV0dXJuIGVyck1lc3NhZ2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmZpZWxkQ29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgZXJyTWVzc2FnZSA9ICdZb3UgbXVzdCBlbnRlciBhIHZhbHVlJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuZmllbGRDb250cm9sLmVycm9ycykge1xuICAgICAgZXJyTWVzc2FnZSA9ICdJbnZhbGlkIFBob25lJztcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyTWVzc2FnZTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImRpc3BsYXlNb2RlJDsgZWxzZSBub0Rpc3BsYXlNb2RlXCI+XG4gIDxjb21wb25lbnQtbWFwcGVyICpuZ0lmPVwiYlZpc2libGUkICE9PSBmYWxzZVwiIG5hbWU9XCJGaWVsZFZhbHVlTGlzdFwiIFtwcm9wc109XCJ7IGxhYmVsJCwgdmFsdWUkLCBkaXNwbGF5TW9kZSQgfVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0Rpc3BsYXlNb2RlPlxuICA8ZGl2ICpuZ0lmPVwiIWJSZWFkb25seSQgJiYgYkhhc0Zvcm0kOyBlbHNlIG5vRWRpdFwiPlxuICAgIDxkaXYgI2Y9XCJuZ0Zvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cCRcIiAqbmdJZj1cImJWaXNpYmxlJFwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicHNkay1mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIFtoaW50TGFiZWxdPVwiaGVscGVyVGV4dFwiPlxuICAgICAgICA8bmd4LW1hdC1pbnRsLXRlbC1pbnB1dFxuICAgICAgICAgIFthdHRyLmRhdGEtdGVzdC1pZF09XCJ0ZXN0SWRcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmaWVsZENvbnRyb2xcIlxuICAgICAgICAgIFtwcmVmZXJyZWRDb3VudHJpZXNdPVwiWyd1cyddXCJcbiAgICAgICAgICBbZW5hYmxlUGxhY2Vob2xkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgW2VuYWJsZVNlYXJjaF09XCJ0cnVlXCJcbiAgICAgICAgICAoY2hhbmdlKT1cImZpZWxkT25DaGFuZ2UoKVwiXG4gICAgICAgICAgKGJsdXIpPVwiZmllbGRPbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9uZ3gtbWF0LWludGwtdGVsLWlucHV0PlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsJCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZmllbGRDb250cm9sLmludmFsaWRcIj57eyBnZXRFcnJvck1lc3NhZ2UoKSB9fTwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNub0VkaXQ+XG4gIDxjb21wb25lbnQtbWFwcGVyICpuZ0lmPVwiYlZpc2libGUkICE9PSBmYWxzZVwiIG5hbWU9XCJUZXh0XCIgW3Byb3BzXT1cInsgcENvbm4kLCBmb3JtYXRBcyQ6ICd0ZXh0JyB9XCI+PC9jb21wb25lbnQtbWFwcGVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==