@pega/angular-sdk-components 0.242.7 → 0.242.8

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 (250) hide show
  1. package/esm2022/lib/_bridge/angular-pconnect.mjs +3 -3
  2. package/esm2022/lib/_bridge/component-mapper/component-mapper.component.mjs +3 -3
  3. package/esm2022/lib/_components/designSystemExtension/alert/alert.component.mjs +3 -3
  4. package/esm2022/lib/_components/designSystemExtension/alert-banner/alert-banner.component.mjs +3 -3
  5. package/esm2022/lib/_components/designSystemExtension/banner/banner.component.mjs +3 -3
  6. package/esm2022/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.mjs +3 -3
  7. package/esm2022/lib/_components/designSystemExtension/field-group/field-group.component.mjs +3 -3
  8. package/esm2022/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.mjs +4 -5
  9. package/esm2022/lib/_components/designSystemExtension/material-details/material-details.component.mjs +3 -3
  10. package/esm2022/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.mjs +9 -5
  11. package/esm2022/lib/_components/designSystemExtension/material-summary-item/material-summary-item.component.mjs +3 -3
  12. package/esm2022/lib/_components/designSystemExtension/material-summary-list/material-summary-list.component.mjs +3 -3
  13. package/esm2022/lib/_components/designSystemExtension/material-utility/material-utility.component.mjs +3 -3
  14. package/esm2022/lib/_components/designSystemExtension/material-vertical-tabs/material-vertical-tabs.component.mjs +3 -3
  15. package/esm2022/lib/_components/designSystemExtension/operator/operator.component.mjs +9 -7
  16. package/esm2022/lib/_components/designSystemExtension/pulse/pulse.component.mjs +3 -3
  17. package/esm2022/lib/_components/designSystemExtension/rich-text-editor/rich-text-editor.component.mjs +3 -3
  18. package/esm2022/lib/_components/designSystemExtension/wss-quick-create/wss-quick-create.component.mjs +3 -3
  19. package/esm2022/lib/_components/field/auto-complete/auto-complete.component.mjs +3 -3
  20. package/esm2022/lib/_components/field/cancel-alert/cancel-alert.component.mjs +3 -3
  21. package/esm2022/lib/_components/field/check-box/check-box.component.mjs +3 -3
  22. package/esm2022/lib/_components/field/currency/currency.component.mjs +23 -18
  23. package/esm2022/lib/_components/field/date/date.component.mjs +3 -3
  24. package/esm2022/lib/_components/field/date-time/date-time.component.mjs +21 -8
  25. package/esm2022/lib/_components/field/decimal/decimal.component.mjs +38 -20
  26. package/esm2022/lib/_components/field/dropdown/dropdown.component.mjs +15 -7
  27. package/esm2022/lib/_components/field/email/email.component.mjs +3 -3
  28. package/esm2022/lib/_components/field/group/group.component.mjs +3 -3
  29. package/esm2022/lib/_components/field/integer/integer.component.mjs +3 -3
  30. package/esm2022/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.mjs +5 -5
  31. package/esm2022/lib/_components/field/multiselect/multiselect.component.mjs +3 -3
  32. package/esm2022/lib/_components/field/percentage/percentage.component.mjs +31 -23
  33. package/esm2022/lib/_components/field/phone/phone.component.mjs +10 -15
  34. package/esm2022/lib/_components/field/radio-buttons/radio-buttons.component.mjs +3 -3
  35. package/esm2022/lib/_components/field/rich-text/rich-text.component.mjs +14 -7
  36. package/esm2022/lib/_components/field/scalar-list/scalar-list.component.mjs +3 -3
  37. package/esm2022/lib/_components/field/semantic-link/semantic-link.component.mjs +3 -3
  38. package/esm2022/lib/_components/field/text/text.component.mjs +6 -6
  39. package/esm2022/lib/_components/field/text-area/text-area.component.mjs +3 -3
  40. package/esm2022/lib/_components/field/text-content/text-content.component.mjs +3 -3
  41. package/esm2022/lib/_components/field/text-input/text-input.component.mjs +4 -4
  42. package/esm2022/lib/_components/field/time/time.component.mjs +23 -11
  43. package/esm2022/lib/_components/field/url/url.component.mjs +3 -3
  44. package/esm2022/lib/_components/field/user-reference/user-reference.component.mjs +66 -12
  45. package/esm2022/lib/_components/infra/Containers/flow-container/flow-container.component.mjs +11 -6
  46. package/esm2022/lib/_components/infra/Containers/flow-container/helpers.mjs +2 -2
  47. package/esm2022/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.mjs +3 -3
  48. package/esm2022/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.mjs +5 -6
  49. package/esm2022/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.mjs +3 -3
  50. package/esm2022/lib/_components/infra/Containers/view-container/view-container.component.mjs +3 -3
  51. package/esm2022/lib/_components/infra/action-buttons/action-buttons.component.mjs +5 -5
  52. package/esm2022/lib/_components/infra/assignment/assignment.component.mjs +4 -7
  53. package/esm2022/lib/_components/infra/assignment-card/assignment-card.component.mjs +10 -30
  54. package/esm2022/lib/_components/infra/dashboard-filter/dashboard-filter.component.mjs +3 -3
  55. package/esm2022/lib/_components/infra/defer-load/defer-load.component.mjs +7 -5
  56. package/esm2022/lib/_components/infra/error-boundary/error-boundary.component.mjs +3 -3
  57. package/esm2022/lib/_components/infra/multi-step/multi-step.component.mjs +3 -3
  58. package/esm2022/lib/_components/infra/navbar/navbar.component.mjs +3 -3
  59. package/esm2022/lib/_components/infra/reference/reference.component.mjs +68 -78
  60. package/esm2022/lib/_components/infra/region/region.component.mjs +3 -3
  61. package/esm2022/lib/_components/infra/root-container/root-container.component.mjs +24 -19
  62. package/esm2022/lib/_components/infra/stages/stages.component.mjs +3 -3
  63. package/esm2022/lib/_components/infra/view/view.component.mjs +3 -3
  64. package/esm2022/lib/_components/template/app-shell/app-shell.component.mjs +3 -3
  65. package/esm2022/lib/_components/template/banner-page/banner-page.component.mjs +3 -3
  66. package/esm2022/lib/_components/template/base/details-template-base.mjs +3 -3
  67. package/esm2022/lib/_components/template/base/form-template-base.mjs +3 -3
  68. package/esm2022/lib/_components/template/case-summary/case-summary.component.mjs +3 -3
  69. package/esm2022/lib/_components/template/case-view/case-view.component.mjs +3 -3
  70. package/esm2022/lib/_components/template/confirmation/confirmation.component.mjs +3 -3
  71. package/esm2022/lib/_components/template/data-reference/data-reference.component.mjs +3 -3
  72. package/esm2022/lib/_components/template/default-form/default-form.component.mjs +6 -7
  73. package/esm2022/lib/_components/template/details/details.component.mjs +3 -3
  74. package/esm2022/lib/_components/template/details-narrow-wide/details-narrow-wide.component.mjs +3 -3
  75. package/esm2022/lib/_components/template/details-one-column/details-one-column.component.mjs +3 -3
  76. package/esm2022/lib/_components/template/details-sub-tabs/details-sub-tabs.component.mjs +3 -3
  77. package/esm2022/lib/_components/template/details-three-column/details-three-column.component.mjs +3 -3
  78. package/esm2022/lib/_components/template/details-two-column/details-two-column.component.mjs +3 -3
  79. package/esm2022/lib/_components/template/details-wide-narrow/details-wide-narrow.component.mjs +3 -3
  80. package/esm2022/lib/_components/template/dynamic-tabs/dynamic-tabs.component.mjs +3 -3
  81. package/esm2022/lib/_components/template/field-group-list/field-group-list.component.mjs +3 -3
  82. package/esm2022/lib/_components/template/field-group-template/field-group-template.component.mjs +47 -38
  83. package/esm2022/lib/_components/template/field-group-template/utils.mjs +11 -0
  84. package/esm2022/lib/_components/template/field-value-list/field-value-list.component.mjs +5 -5
  85. package/esm2022/lib/_components/template/inline-dashboard/inline-dashboard.component.mjs +3 -3
  86. package/esm2022/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.mjs +3 -3
  87. package/esm2022/lib/_components/template/list-page/list-page.component.mjs +3 -3
  88. package/esm2022/lib/_components/template/list-view/list-view.component.mjs +5 -5
  89. package/esm2022/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.mjs +3 -3
  90. package/esm2022/lib/_components/template/narrow-wide-form/narrow-wide-form.component.mjs +3 -3
  91. package/esm2022/lib/_components/template/one-column/one-column.component.mjs +3 -3
  92. package/esm2022/lib/_components/template/one-column-page/one-column-page.component.mjs +3 -3
  93. package/esm2022/lib/_components/template/one-column-tab/one-column-tab.component.mjs +3 -3
  94. package/esm2022/lib/_components/template/page/page.component.mjs +3 -3
  95. package/esm2022/lib/_components/template/promoted-filters/promoted-filters.component.mjs +3 -3
  96. package/esm2022/lib/_components/template/repeating-structures/repeating-structures.component.mjs +3 -3
  97. package/esm2022/lib/_components/template/simple-table/simple-table.component.mjs +3 -3
  98. package/esm2022/lib/_components/template/simple-table-manual/helpers.mjs +19 -3
  99. package/esm2022/lib/_components/template/simple-table-manual/simple-table-manual.component.mjs +58 -24
  100. package/esm2022/lib/_components/template/simple-table-select/simple-table-select.component.mjs +3 -3
  101. package/esm2022/lib/_components/template/single-reference-readonly/single-reference-readonly.component.mjs +3 -3
  102. package/esm2022/lib/_components/template/sub-tabs/sub-tabs.component.mjs +3 -3
  103. package/esm2022/lib/_components/template/three-column/three-column.component.mjs +3 -3
  104. package/esm2022/lib/_components/template/three-column-page/three-column-page.component.mjs +3 -3
  105. package/esm2022/lib/_components/template/two-column/two-column.component.mjs +3 -3
  106. package/esm2022/lib/_components/template/two-column-page/two-column-page.component.mjs +3 -3
  107. package/esm2022/lib/_components/template/two-column-tab/two-column-tab.component.mjs +3 -3
  108. package/esm2022/lib/_components/template/wide-narrow-form/wide-narrow-form.component.mjs +3 -3
  109. package/esm2022/lib/_components/template/wide-narrow-page/wide-narrow-page.component.mjs +3 -3
  110. package/esm2022/lib/_components/template/wss-nav-bar/wss-nav-bar.component.mjs +3 -3
  111. package/esm2022/lib/_components/widget/app-announcement/app-announcement.component.mjs +3 -3
  112. package/esm2022/lib/_components/widget/attachment/attachment.component.mjs +3 -3
  113. package/esm2022/lib/_components/widget/case-history/case-history.component.mjs +3 -3
  114. package/esm2022/lib/_components/widget/feed-container/feed-container.component.mjs +3 -3
  115. package/esm2022/lib/_components/widget/file-utility/file-utility.component.mjs +3 -3
  116. package/esm2022/lib/_components/widget/list-utility/list-utility.component.mjs +3 -3
  117. package/esm2022/lib/_components/widget/quick-create/quick-create.component.mjs +3 -3
  118. package/esm2022/lib/_components/widget/todo/todo.component.mjs +5 -5
  119. package/esm2022/lib/_components/widget/utility/utility.component.mjs +3 -3
  120. package/esm2022/lib/_directives/thousand-seperator.directive.mjs +3 -3
  121. package/esm2022/lib/_helpers/formatters/boolean.mjs +2 -2
  122. package/esm2022/lib/_helpers/formatters/common.mjs +6 -3
  123. package/esm2022/lib/_helpers/formatters/currency.mjs +2 -2
  124. package/esm2022/lib/_helpers/formatters/date.mjs +2 -2
  125. package/esm2022/lib/_helpers/formatters/format-utils.mjs +10 -2
  126. package/esm2022/lib/_helpers/formatters/index.mjs +16 -16
  127. package/esm2022/lib/_helpers/template-utils.mjs +3 -3
  128. package/esm2022/lib/_helpers/utils.mjs +40 -18
  129. package/esm2022/lib/_messages/error-messages.service.mjs +3 -3
  130. package/esm2022/lib/_messages/progress-spinner.service.mjs +3 -3
  131. package/esm2022/lib/_messages/update-worklist.service.mjs +3 -3
  132. package/esm2022/lib/_services/banner.service.mjs +3 -3
  133. package/esm2022/lib/_services/case.service.mjs +3 -3
  134. package/esm2022/lib/_services/datapage.service.mjs +3 -3
  135. package/esm2022/lib/_services/server-config.service.mjs +3 -3
  136. package/esm2022/public-api.mjs +5 -3
  137. package/fesm2022/pega-angular-sdk-components.mjs +919 -739
  138. package/fesm2022/pega-angular-sdk-components.mjs.map +1 -1
  139. package/lib/_components/designSystemExtension/banner/banner.component.d.ts +0 -1
  140. package/lib/_components/designSystemExtension/case-create-stage/case-create-stage.component.d.ts +0 -1
  141. package/lib/_components/designSystemExtension/material-case-summary/material-case-summary.component.d.ts +1 -1
  142. package/lib/_components/designSystemExtension/material-details-fields/material-details-fields.component.d.ts +1 -0
  143. package/lib/_components/designSystemExtension/operator/operator.component.d.ts +2 -3
  144. package/lib/_components/designSystemExtension/pulse/pulse.component.d.ts +0 -1
  145. package/lib/_components/field/auto-complete/auto-complete.component.d.ts +0 -1
  146. package/lib/_components/field/cancel-alert/cancel-alert.component.d.ts +0 -1
  147. package/lib/_components/field/check-box/check-box.component.d.ts +0 -1
  148. package/lib/_components/field/currency/currency.component.d.ts +0 -1
  149. package/lib/_components/field/date/date.component.d.ts +0 -1
  150. package/lib/_components/field/date-time/date-time.component.d.ts +1 -1
  151. package/lib/_components/field/decimal/decimal.component.d.ts +1 -1
  152. package/lib/_components/field/dropdown/dropdown.component.d.ts +1 -1
  153. package/lib/_components/field/email/email.component.d.ts +0 -1
  154. package/lib/_components/field/group/group.component.d.ts +0 -1
  155. package/lib/_components/field/integer/integer.component.d.ts +0 -1
  156. package/lib/_components/field/list-view-action-buttons/list-view-action-buttons.component.d.ts +1 -2
  157. package/lib/_components/field/multiselect/multiselect.component.d.ts +0 -1
  158. package/lib/_components/field/percentage/percentage.component.d.ts +1 -2
  159. package/lib/_components/field/phone/phone.component.d.ts +0 -7
  160. package/lib/_components/field/radio-buttons/radio-buttons.component.d.ts +0 -1
  161. package/lib/_components/field/rich-text/rich-text.component.d.ts +1 -2
  162. package/lib/_components/field/scalar-list/scalar-list.component.d.ts +0 -1
  163. package/lib/_components/field/semantic-link/semantic-link.component.d.ts +0 -1
  164. package/lib/_components/field/text/text.component.d.ts +0 -1
  165. package/lib/_components/field/text-area/text-area.component.d.ts +0 -1
  166. package/lib/_components/field/text-content/text-content.component.d.ts +0 -1
  167. package/lib/_components/field/text-input/text-input.component.d.ts +0 -1
  168. package/lib/_components/field/time/time.component.d.ts +1 -2
  169. package/lib/_components/field/url/url.component.d.ts +0 -1
  170. package/lib/_components/field/user-reference/user-reference.component.d.ts +0 -1
  171. package/lib/_components/infra/Containers/flow-container/flow-container.component.d.ts +0 -1
  172. package/lib/_components/infra/Containers/hybrid-view-container/hybrid-view-container.component.d.ts +0 -1
  173. package/lib/_components/infra/Containers/modal-view-container/modal-view-container.component.d.ts +0 -2
  174. package/lib/_components/infra/Containers/preview-view-container/preview-view-container.component.d.ts +0 -1
  175. package/lib/_components/infra/Containers/view-container/view-container.component.d.ts +0 -1
  176. package/lib/_components/infra/action-buttons/action-buttons.component.d.ts +1 -1
  177. package/lib/_components/infra/assignment/assignment.component.d.ts +0 -1
  178. package/lib/_components/infra/assignment-card/assignment-card.component.d.ts +2 -11
  179. package/lib/_components/infra/dashboard-filter/dashboard-filter.component.d.ts +0 -1
  180. package/lib/_components/infra/defer-load/defer-load.component.d.ts +1 -1
  181. package/lib/_components/infra/error-boundary/error-boundary.component.d.ts +1 -1
  182. package/lib/_components/infra/multi-step/multi-step.component.d.ts +0 -1
  183. package/lib/_components/infra/navbar/navbar.component.d.ts +0 -1
  184. package/lib/_components/infra/reference/reference.component.d.ts +23 -3
  185. package/lib/_components/infra/region/region.component.d.ts +0 -1
  186. package/lib/_components/infra/root-container/root-container.component.d.ts +3 -1
  187. package/lib/_components/infra/stages/stages.component.d.ts +0 -1
  188. package/lib/_components/infra/view/view.component.d.ts +0 -1
  189. package/lib/_components/template/app-shell/app-shell.component.d.ts +0 -1
  190. package/lib/_components/template/banner-page/banner-page.component.d.ts +0 -1
  191. package/lib/_components/template/base/details-template-base.d.ts +0 -1
  192. package/lib/_components/template/case-summary/case-summary.component.d.ts +0 -1
  193. package/lib/_components/template/case-view/case-view.component.d.ts +0 -1
  194. package/lib/_components/template/confirmation/confirmation.component.d.ts +0 -1
  195. package/lib/_components/template/data-reference/data-reference.component.d.ts +0 -1
  196. package/lib/_components/template/default-form/default-form.component.d.ts +2 -3
  197. package/lib/_components/template/details/details.component.d.ts +0 -1
  198. package/lib/_components/template/details-narrow-wide/details-narrow-wide.component.d.ts +0 -1
  199. package/lib/_components/template/details-one-column/details-one-column.component.d.ts +0 -1
  200. package/lib/_components/template/details-sub-tabs/details-sub-tabs.component.d.ts +0 -1
  201. package/lib/_components/template/details-three-column/details-three-column.component.d.ts +0 -1
  202. package/lib/_components/template/details-two-column/details-two-column.component.d.ts +0 -1
  203. package/lib/_components/template/details-wide-narrow/details-wide-narrow.component.d.ts +0 -1
  204. package/lib/_components/template/dynamic-tabs/dynamic-tabs.component.d.ts +0 -1
  205. package/lib/_components/template/field-group-template/field-group-template.component.d.ts +12 -9
  206. package/lib/_components/template/field-group-template/utils.d.ts +1 -0
  207. package/lib/_components/template/inline-dashboard/inline-dashboard.component.d.ts +0 -1
  208. package/lib/_components/template/inline-dashboard-page/inline-dashboard-page.component.d.ts +0 -1
  209. package/lib/_components/template/list-page/list-page.component.d.ts +0 -1
  210. package/lib/_components/template/list-view/list-view.component.d.ts +1 -2
  211. package/lib/_components/template/multi-reference-readonly/multi-reference-readonly.component.d.ts +0 -1
  212. package/lib/_components/template/narrow-wide-form/narrow-wide-form.component.d.ts +0 -1
  213. package/lib/_components/template/one-column/one-column.component.d.ts +0 -1
  214. package/lib/_components/template/one-column-page/one-column-page.component.d.ts +0 -1
  215. package/lib/_components/template/one-column-tab/one-column-tab.component.d.ts +0 -1
  216. package/lib/_components/template/page/page.component.d.ts +0 -1
  217. package/lib/_components/template/promoted-filters/promoted-filters.component.d.ts +0 -1
  218. package/lib/_components/template/repeating-structures/repeating-structures.component.d.ts +0 -1
  219. package/lib/_components/template/simple-table/simple-table.component.d.ts +0 -1
  220. package/lib/_components/template/simple-table-manual/helpers.d.ts +9 -2
  221. package/lib/_components/template/simple-table-manual/simple-table-manual.component.d.ts +8 -3
  222. package/lib/_components/template/simple-table-select/simple-table-select.component.d.ts +0 -1
  223. package/lib/_components/template/single-reference-readonly/single-reference-readonly.component.d.ts +0 -1
  224. package/lib/_components/template/sub-tabs/sub-tabs.component.d.ts +0 -1
  225. package/lib/_components/template/three-column/three-column.component.d.ts +0 -1
  226. package/lib/_components/template/three-column-page/three-column-page.component.d.ts +0 -1
  227. package/lib/_components/template/two-column/two-column.component.d.ts +0 -1
  228. package/lib/_components/template/two-column-page/two-column-page.component.d.ts +0 -1
  229. package/lib/_components/template/two-column-tab/two-column-tab.component.d.ts +0 -1
  230. package/lib/_components/template/wide-narrow-form/wide-narrow-form.component.d.ts +0 -1
  231. package/lib/_components/template/wide-narrow-page/wide-narrow-page.component.d.ts +0 -1
  232. package/lib/_components/template/wss-nav-bar/wss-nav-bar.component.d.ts +1 -2
  233. package/lib/_components/widget/app-announcement/app-announcement.component.d.ts +0 -1
  234. package/lib/_components/widget/attachment/attachment.component.d.ts +1 -2
  235. package/lib/_components/widget/case-history/case-history.component.d.ts +0 -1
  236. package/lib/_components/widget/feed-container/feed-container.component.d.ts +0 -1
  237. package/lib/_components/widget/file-utility/file-utility.component.d.ts +0 -1
  238. package/lib/_components/widget/quick-create/quick-create.component.d.ts +0 -1
  239. package/lib/_components/widget/todo/todo.component.d.ts +1 -2
  240. package/lib/_components/widget/utility/utility.component.d.ts +0 -1
  241. package/lib/_helpers/formatters/boolean.d.ts +1 -2
  242. package/lib/_helpers/formatters/common.d.ts +1 -1
  243. package/lib/_helpers/formatters/currency.d.ts +1 -2
  244. package/lib/_helpers/formatters/date.d.ts +1 -2
  245. package/lib/_helpers/formatters/index.d.ts +1 -2
  246. package/lib/_helpers/utils.d.ts +8 -0
  247. package/package.json +1 -1
  248. package/public-api.d.ts +4 -2
  249. package/esm2022/lib/_services/idle-detection.service.mjs +0 -26
  250. package/lib/_services/idle-detection.service.d.ts +0 -9
@@ -39,8 +39,10 @@ export class DeferLoadComponent {
39
39
  // Should always check the bridge to see if the component should
40
40
  // update itself (re-render)
41
41
  const theRequestedAssignment = this.pConn$.getValue(PCore.getConstants().CASE_INFO.ASSIGNMENT_LABEL);
42
- if (theRequestedAssignment !== this.currentLoadedAssignment) {
42
+ const lastUpdateCaseTime = this.pConn$.getValue('caseInfo.lastUpdateTime');
43
+ if (theRequestedAssignment !== this.currentLoadedAssignment || (lastUpdateCaseTime && lastUpdateCaseTime !== this.lastUpdateCaseTime)) {
43
44
  this.currentLoadedAssignment = theRequestedAssignment;
45
+ this.lastUpdateCaseTime = lastUpdateCaseTime;
44
46
  this.loadActiveTab();
45
47
  }
46
48
  }
@@ -125,10 +127,10 @@ export class DeferLoadComponent {
125
127
  });
126
128
  }
127
129
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DeferLoadComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: DeferLoadComponent, isStandalone: true, selector: "app-defer-load", inputs: { pConn$: "pConn$", loadData$: "loadData$", name: "name" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeferLoadComponent, deps: [{ token: i1.AngularPConnectService }], target: i0.ɵɵFactoryTarget.Component }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeferLoadComponent, isStandalone: true, selector: "app-defer-load", inputs: { pConn$: "pConn$", loadData$: "loadData$", name: "name" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
130
132
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DeferLoadComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeferLoadComponent, decorators: [{
132
134
  type: Component,
133
135
  args: [{ selector: 'app-defer-load', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"loadedPConn$\">\n <component-mapper [name]=\"componentName$\" [props]=\"{ pConn$: loadedPConn$ }\" errorMsg=\"Defer Load Missing: {{ componentName$ }}\"></component-mapper>\n</div>\n" }]
134
136
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }], propDecorators: { pConn$: [{
@@ -138,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
138
140
  }], name: [{
139
141
  type: Input
140
142
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGVmZXItbG9hZC9kZWZlci1sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kZWZlci1sb2FkL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7QUFHeEc7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQW9CLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQWIzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQTJEN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xGLFNBQVMsRUFBRSxJQUFJ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SSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQyxvREFBb0Q7WUFDcEQsSUFBSSxDQUFDLE1BQU07aUJBQ1IsYUFBYSxFQUFFO2lCQUNmLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU07aUJBQ1IsYUFBYSxFQUFFO2lCQUNmLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2lCQUM5RCxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQzsrR0FoSlUsa0JBQWtCO21HQUFsQixrQkFBa0IsbUtDcEIvQixzTUFHQSw2RURlWSxZQUFZLDZLQUFtQix3QkFBd0I7OzRGQUV0RCxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDOzJGQUcxRCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgcHVibGljQ29uc3RhbnRzIH0gZnJvbSAnQHBlZ2EvcGNvcmUtcGNvbm5lY3QtdHlwZWRlZnMvY29uc3RhbnRzJztcbmltcG9ydCB7IFJlZmVyZW5jZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2luZnJhL3JlZmVyZW5jZS9yZWZlcmVuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudE1hcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvY29tcG9uZW50LW1hcHBlci9jb21wb25lbnQtbWFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyUENvbm5lY3REYXRhLCBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX2JyaWRnZS9hbmd1bGFyLXBjb25uZWN0JztcblxuLyoqXG4gKiBXQVJOSU5HOiAgSXQgaXMgbm90IGV4cGVjdGVkIHRoYXQgdGhpcyBmaWxlIHNob3VsZCBiZSBtb2RpZmllZC4gIEl0IGlzIHBhcnQgb2YgaW5mcmFzdHJ1Y3R1cmUgY29kZSB0aGF0IHdvcmtzIHdpdGhcbiAqIFJlZHV4IGFuZCBjcmVhdGlvbi91cGRhdGUgb2YgUmVkdXggY29udGFpbmVycyBhbmQgUENvbm5lY3QuICBNb2RpZnlpbmcgdGhpcyBjb2RlIGNvdWxkIGhhdmUgdW5kZXNpcmVhYmxlIHJlc3VsdHMgYW5kXG4gKiBpcyB0b3RhbGx5IGF0IHlvdXIgb3duIHJpc2suXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRlZmVyLWxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVmZXItbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlZmVyLWxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgZm9yd2FyZFJlZigoKSA9PiBDb21wb25lbnRNYXBwZXJDb21wb25lbnQpXVxufSlcbmV4cG9ydCBjbGFzcyBEZWZlckxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcENvbm4kOiB0eXBlb2YgUENvbm5lY3Q7XG4gIEBJbnB1dCgpIGxvYWREYXRhJDogYW55O1xuICBASW5wdXQoKSBuYW1lO1xuXG4gIGNvbXBvbmVudE5hbWUkOiBzdHJpbmc7XG4gIGxvYWRlZFBDb25uJDogYW55O1xuICBiU2hvd0RlZmVyJCA9IGZhbHNlO1xuXG4gIGFuZ3VsYXJQQ29ubmVjdERhdGE6IEFuZ3VsYXJQQ29ubmVjdERhdGEgPSB7fTtcbiAgY29uc3RhbnRzOiB0eXBlb2YgcHVibGljQ29uc3RhbnRzO1xuICBjdXJyZW50TG9hZGVkQXNzaWdubWVudCA9ICcnO1xuICBpc0NvbnRhaW5lclByZXZpZXc6IGJvb2xlYW47XG4gIGxvYWRWaWV3Q2FzZUlEOiBhbnk7XG4gIHJlc291cmNlVHlwZTogYW55O1xuICBkZWZlckxvYWRJZDogYW55O1xuICBjb250YWluZXJOYW1lOiBhbnk7XG4gIENBU0U6IGFueTtcbiAgUEFHRTogYW55O1xuICBEQVRBOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25zdGFudHMgPSBQQ29yZS5nZXRDb25zdGFudHMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgLy8gVGhlIGJlbG93IGNhbGwgaXMgY2F1c2luZyBhbiBlcnJvciB3aGlsZSBjcmVhdGluZy9vcGVuaW5nIGEgY2FzZSwgaGVuY2UgY29tbWVudGluZyBpdCBvdXRcbiAgICAvLyB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgdGhlUmVxdWVzdGVkQXNzaWdubWVudCA9IHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5BU1NJR05NRU5UX0xBQkVMKTtcbiAgICBpZiAodGhlUmVxdWVzdGVkQXNzaWdubWVudCAhPT0gdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCkge1xuICAgICAgdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCA9IHRoZVJlcXVlc3RlZEFzc2lnbm1lbnQ7XG4gICAgICB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLmxvYWRWaWV3Q2FzZUlEID0gdGhpcy5wQ29ubiQuZ2V0VmFsdWUodGhpcy5jb25zdGFudHMuUFpJTlNLRVkpIHx8IHRoaXMucENvbm4kLmdldFZhbHVlKHRoaXMuY29uc3RhbnRzLkNBU0VfSU5GTy5DQVNFX0lORk9fSUQpO1xuICAgIGxldCBjb250YWluZXJJdGVtRGF0YTtcbiAgICBjb25zdCB0YXJnZXROYW1lID0gdGhpcy5wQ29ubiQuZ2V0VGFyZ2V0KCk7XG4gICAgaWYgKHRhcmdldE5hbWUpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyTmFtZSA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0QWN0aXZlQ29udGFpbmVySXRlbU5hbWUodGFyZ2V0TmFtZSk7XG4gICAgICBjb250YWluZXJJdGVtRGF0YSA9IFBDb3JlLmdldENvbnRhaW5lclV0aWxzKCkuZ2V0Q29udGFpbmVySXRlbURhdGEodGFyZ2V0TmFtZSwgdGhpcy5jb250YWluZXJOYW1lKTtcbiAgICB9XG4gICAgY29uc3QgeyBDQVNFLCBQQUdFLCBEQVRBIH0gPSB0aGlzLmNvbnN0YW50cy5SRVNPVVJDRV9UWVBFUztcbiAgICB0aGlzLkNBU0UgPSBDQVNFO1xuICAgIHRoaXMuUEFHRSA9IFBBR0U7XG4gICAgdGhpcy5EQVRBID0gREFUQTtcblxuICAgIGNvbnN0IHsgcmVzb3VyY2VUeXBlID0gdGhpcy5DQVNFIH0gPSBjb250YWluZXJJdGVtRGF0YSB8fCB7IHJlc291cmNlVHlwZTogdGhpcy5sb2FkVmlld0Nhc2VJRCA/IHRoaXMuQ0FTRSA6IHRoaXMuUEFHRSB9O1xuICAgIHRoaXMucmVzb3VyY2VUeXBlID0gcmVzb3VyY2VUeXBlO1xuICAgIHRoaXMuaXNDb250YWluZXJQcmV2aWV3ID0gL3ByZXZpZXdfWzAtOV0qL2cudGVzdCh0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpKTtcblxuICAgIGNvbnN0IHRoZUNvbmZpZ1Byb3BzID0gdGhpcy5wQ29ubiQuZ2V0Q29uZmlnUHJvcHMoKTtcbiAgICB0aGlzLmRlZmVyTG9hZElkID0gdGhlQ29uZmlnUHJvcHMuZGVmZXJMb2FkSWQ7XG4gICAgdGhpcy5uYW1lID0gdGhpcy5uYW1lIHx8IHRoZUNvbmZpZ1Byb3BzLm5hbWU7XG5cbiAgICB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIGdldFZpZXdPcHRpb25zID0gKCkgPT4gKHtcbiAgICB2aWV3Q29udGV4dDogdGhpcy5yZXNvdXJjZVR5cGUsXG4gICAgcGFnZUNsYXNzOiB0aGlzLmxvYWRWaWV3Q2FzZUlEID8gJycgOiB0aGlzLnBDb25uJC5nZXREYXRhT2JqZWN0KCkucHlQb3J0YWwuY2xhc3NJRCxcbiAgICBjb250YWluZXI6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3ID8gJ3ByZXZpZXcnIDogdW5kZWZpbmVkLFxuICAgIGNvbnRhaW5lck5hbWU6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3ID8gJ3ByZXZpZXcnIDogdW5kZWZpbmVkLFxuICAgIHVwZGF0ZURhdGE6IHRoaXMuaXNDb250YWluZXJQcmV2aWV3XG4gIH0pO1xuXG4gIG9uUmVzcG9uc2UoZGF0YSkge1xuICAgIGlmICh0aGlzLmRlZmVyTG9hZElkKSB7XG4gICAgICBQQ29yZS5nZXREZWZlckxvYWRNYW5hZ2VyKCkuc3RhcnQoXG4gICAgICAgIHRoaXMubmFtZSxcbiAgICAgICAgdGhpcy5wQ29ubiQuZ2V0Q2FzZUluZm8oKS5nZXRLZXkoKSxcbiAgICAgICAgdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpLnJlcGxhY2UoJ2Nhc2VJbmZvLmNvbnRlbnQnLCAnJyksXG4gICAgICAgIHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCksXG4gICAgICAgIHRoaXMuZGVmZXJMb2FkSWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEgJiYgIShkYXRhLnR5cGUgJiYgZGF0YS50eXBlID09PSAnZXJyb3InKSkge1xuICAgICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgICBtZXRhOiBkYXRhLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgY29udGV4dDogdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSxcbiAgICAgICAgICBwYWdlUmVmZXJlbmNlOiB0aGlzLnBDb25uJC5nZXRQYWdlUmVmZXJlbmNlKClcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNvbmZpZ09iamVjdCA9IFBDb3JlLmNyZWF0ZVBDb25uZWN0KGNvbmZpZyk7XG4gICAgICBjb25maWdPYmplY3QuZ2V0UENvbm5lY3QoKS5zZXRJbmhlcml0ZWRQcm9wKCdkaXNwbGF5TW9kZScsICdESVNQTEFZX09OTFknKTtcbiAgICAgIHRoaXMubG9hZGVkUENvbm4kID0gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKGNvbmZpZ09iamVjdC5nZXRQQ29ubmVjdCgpKTtcbiAgICAgIHRoaXMuY29tcG9uZW50TmFtZSQgPSB0aGlzLmxvYWRlZFBDb25uJC5nZXRDb21wb25lbnROYW1lKCk7XG4gICAgICBpZiAodGhpcy5kZWZlckxvYWRJZCkge1xuICAgICAgICBQQ29yZS5nZXREZWZlckxvYWRNYW5hZ2VyKCkuc3RvcCh0aGlzLmRlZmVyTG9hZElkLCB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBsb2FkQWN0aXZlVGFiKCkge1xuICAgIGlmICh0aGlzLnJlc291cmNlVHlwZSA9PT0gdGhpcy5EQVRBKSB7XG4gICAgICAvLyBSZW5kZXJpbmcgZGVmZXIgbG9hZGVkIHRhYnMgaW4gZGF0YSBjb250ZXh0XG4gICAgICBpZiAodGhpcy5jb250YWluZXJOYW1lKSB7XG4gICAgICAgIGNvbnN0IGRhdGFDb250ZXh0ID0gUENvcmUuZ2V0U3RvcmVWYWx1ZSgnLmRhdGFDb250ZXh0JywgJ2RhdGFJbmZvJywgdGhpcy5jb250YWluZXJOYW1lKTtcbiAgICAgICAgY29uc3QgZGF0YUNvbnRleHRQYXJhbWV0ZXJzID0gUENvcmUuZ2V0U3RvcmVWYWx1ZSgnLmRhdGFDb250ZXh0UGFyYW1ldGVycycsICdkYXRhSW5mbycsIHRoaXMuY29udGFpbmVyTmFtZSk7XG5cbiAgICAgICAgdGhpcy5wQ29ubiRcbiAgICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgICAgLnNob3dEYXRhKHRoaXMubmFtZSwgZGF0YUNvbnRleHQsIGRhdGFDb250ZXh0UGFyYW1ldGVycywge1xuICAgICAgICAgICAgc2tpcFNlbWFudGljVXJsOiB0cnVlLFxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIE9iamVjdCBsaXRlcmFsIG1heSBvbmx5IHNwZWNpZnkga25vd24gcHJvcGVydGllcywgYW5kICdpc0RlZmVyTG9hZGVkJyBkb2VzIG5vdCBleGlzdCBpbiB0eXBlICd7IGNvbnRhaW5lck5hbWU6IHN0cmluZzsgc2tpcFNlbWFudGljVXJsOiBib29sZWFuOyB9J1xuICAgICAgICAgICAgaXNEZWZlckxvYWRlZDogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdDYW5ub3QgbG9hZCB0aGUgZGVmZXIgbG9hZGVkIHZpZXcgd2l0aG91dCBjb250YWluZXIgaW5mb3JtYXRpb24nKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucmVzb3VyY2VUeXBlID09PSB0aGlzLlBBR0UpIHtcbiAgICAgIC8vIFJlbmRlcmluZyBkZWZlciBsb2FkZWQgdGFicyBpbiBjYXNlLyBwYWdlIGNvbnRleHRcbiAgICAgIHRoaXMucENvbm4kXG4gICAgICAgIC5nZXRBY3Rpb25zQXBpKClcbiAgICAgICAgLmxvYWRWaWV3KGVuY29kZVVSSSh0aGlzLmxvYWRWaWV3Q2FzZUlEKSwgdGhpcy5uYW1lLCB0aGlzLmdldFZpZXdPcHRpb25zKCkpXG4gICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMub25SZXNwb25zZShkYXRhKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucENvbm4kXG4gICAgICAgIC5nZXRBY3Rpb25zQXBpKClcbiAgICAgICAgLnJlZnJlc2hDYXNlVmlldyhlbmNvZGVVUkkodGhpcy5sb2FkVmlld0Nhc2VJRCksIHRoaXMubmFtZSwgJycpXG4gICAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YS5yb290KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwibG9hZGVkUENvbm4kXCI+XG4gIDxjb21wb25lbnQtbWFwcGVyIFtuYW1lXT1cImNvbXBvbmVudE5hbWUkXCIgW3Byb3BzXT1cInsgcENvbm4kOiBsb2FkZWRQQ29ubiQgfVwiIGVycm9yTXNnPVwiRGVmZXIgTG9hZCBNaXNzaW5nOiB7eyBjb21wb25lbnROYW1lJCB9fVwiPjwvY29tcG9uZW50LW1hcHBlcj5cbjwvZGl2PlxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXItbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLXNkay1jb21wb25lbnRzL3NyYy9saWIvX2NvbXBvbmVudHMvaW5mcmEvZGVmZXItbG9hZC9kZWZlci1sb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9kZWZlci1sb2FkL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7QUFHeEc7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQW9CLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQWQzRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix3QkFBbUIsR0FBd0IsRUFBRSxDQUFDO1FBRTlDLDRCQUF1QixHQUFHLEVBQUUsQ0FBQztRQThEN0IsbUJBQWMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQ2xGLFNBQVMsRUFBRSxJQUFJ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RkFHMUQsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHB1YmxpY0NvbnN0YW50cyB9IGZyb20gJ0BwZWdhL3Bjb3JlLXBjb25uZWN0LXR5cGVkZWZzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRNYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9fYnJpZGdlL2NvbXBvbmVudC1tYXBwZXIvY29tcG9uZW50LW1hcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhclBDb25uZWN0RGF0YSwgQW5ndWxhclBDb25uZWN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19icmlkZ2UvYW5ndWxhci1wY29ubmVjdCc7XG5cbi8qKlxuICogV0FSTklORzogIEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kZWZlci1sb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlZmVyLWxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZWZlci1sb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIGZvcndhcmRSZWYoKCkgPT4gQ29tcG9uZW50TWFwcGVyQ29tcG9uZW50KV1cbn0pXG5leHBvcnQgY2xhc3MgRGVmZXJMb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBDb25uJDogdHlwZW9mIFBDb25uZWN0O1xuICBASW5wdXQoKSBsb2FkRGF0YSQ6IGFueTtcbiAgQElucHV0KCkgbmFtZTtcblxuICBjb21wb25lbnROYW1lJDogc3RyaW5nO1xuICBsb2FkZWRQQ29ubiQ6IGFueTtcbiAgYlNob3dEZWZlciQgPSBmYWxzZTtcblxuICBhbmd1bGFyUENvbm5lY3REYXRhOiBBbmd1bGFyUENvbm5lY3REYXRhID0ge307XG4gIGNvbnN0YW50czogdHlwZW9mIHB1YmxpY0NvbnN0YW50cztcbiAgY3VycmVudExvYWRlZEFzc2lnbm1lbnQgPSAnJztcbiAgaXNDb250YWluZXJQcmV2aWV3OiBib29sZWFuO1xuICBsb2FkVmlld0Nhc2VJRDogYW55O1xuICByZXNvdXJjZVR5cGU6IGFueTtcbiAgZGVmZXJMb2FkSWQ6IGFueTtcbiAgY29udGFpbmVyTmFtZTogYW55O1xuICBDQVNFOiBhbnk7XG4gIFBBR0U6IGFueTtcbiAgREFUQTogYW55O1xuICBsYXN0VXBkYXRlQ2FzZVRpbWU7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhclBDb25uZWN0OiBBbmd1bGFyUENvbm5lY3RTZXJ2aWNlKSB7XG4gICAgdGhpcy5jb25zdGFudHMgPSBQQ29yZS5nZXRDb25zdGFudHMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5ndWxhclBDb25uZWN0RGF0YSA9IHRoaXMuYW5ndWxhclBDb25uZWN0LnJlZ2lzdGVyQW5kU3Vic2NyaWJlQ29tcG9uZW50KHRoaXMsIHRoaXMub25TdGF0ZUNoYW5nZSk7XG4gICAgLy8gVGhlIGJlbG93IGNhbGwgaXMgY2F1c2luZyBhbiBlcnJvciB3aGlsZSBjcmVhdGluZy9vcGVuaW5nIGEgY2FzZSwgaGVuY2UgY29tbWVudGluZyBpdCBvdXRcbiAgICAvLyB0aGlzLmxvYWRBY3RpdmVUYWIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFuZ3VsYXJQQ29ubmVjdERhdGEudW5zdWJzY3JpYmVGbikge1xuICAgICAgdGhpcy5hbmd1bGFyUENvbm5lY3REYXRhLnVuc3Vic2NyaWJlRm4oKTtcbiAgICB9XG4gIH1cblxuICBvblN0YXRlQ2hhbmdlKCkge1xuICAgIC8vIFNob3VsZCBhbHdheXMgY2hlY2sgdGhlIGJyaWRnZSB0byBzZWUgaWYgdGhlIGNvbXBvbmVudCBzaG91bGRcbiAgICAvLyB1cGRhdGUgaXRzZWxmIChyZS1yZW5kZXIpXG4gICAgY29uc3QgdGhlUmVxdWVzdGVkQXNzaWdubWVudCA9IHRoaXMucENvbm4kLmdldFZhbHVlKFBDb3JlLmdldENvbnN0YW50cygpLkNBU0VfSU5GTy5BU1NJR05NRU5UX0xBQkVMKTtcbiAgICBjb25zdCBsYXN0VXBkYXRlQ2FzZVRpbWUgPSB0aGlzLnBDb25uJC5nZXRWYWx1ZSgnY2FzZUluZm8ubGFzdFVwZGF0ZVRpbWUnKTtcbiAgICBpZiAodGhlUmVxdWVzdGVkQXNzaWdubWVudCAhPT0gdGhpcy5jdXJyZW50TG9hZGVkQXNzaWdubWVudCB8fCAobGFzdFVwZGF0ZUNhc2VUaW1lICYmIGxhc3RVcGRhdGVDYXNlVGltZSAhPT0gdGhpcy5sYXN0VXBkYXRlQ2FzZVRpbWUpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRMb2FkZWRBc3NpZ25tZW50ID0gdGhlUmVxdWVzdGVkQXNzaWdubWVudDtcbiAgICAgIHRoaXMubGFzdFVwZGF0ZUNhc2VUaW1lID0gbGFzdFVwZGF0ZUNhc2VUaW1lO1xuICAgICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5sb2FkVmlld0Nhc2VJRCA9IHRoaXMucENvbm4kLmdldFZhbHVlKHRoaXMuY29uc3RhbnRzLlBaSU5TS0VZKSB8fCB0aGlzLnBDb25uJC5nZXRWYWx1ZSh0aGlzLmNvbnN0YW50cy5DQVNFX0lORk8uQ0FTRV9JTkZPX0lEKTtcbiAgICBsZXQgY29udGFpbmVySXRlbURhdGE7XG4gICAgY29uc3QgdGFyZ2V0TmFtZSA9IHRoaXMucENvbm4kLmdldFRhcmdldCgpO1xuICAgIGlmICh0YXJnZXROYW1lKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lck5hbWUgPSBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldEFjdGl2ZUNvbnRhaW5lckl0ZW1OYW1lKHRhcmdldE5hbWUpO1xuICAgICAgY29udGFpbmVySXRlbURhdGEgPSBQQ29yZS5nZXRDb250YWluZXJVdGlscygpLmdldENvbnRhaW5lckl0ZW1EYXRhKHRhcmdldE5hbWUsIHRoaXMuY29udGFpbmVyTmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IHsgQ0FTRSwgUEFHRSwgREFUQSB9ID0gdGhpcy5jb25zdGFudHMuUkVTT1VSQ0VfVFlQRVM7XG4gICAgdGhpcy5DQVNFID0gQ0FTRTtcbiAgICB0aGlzLlBBR0UgPSBQQUdFO1xuICAgIHRoaXMuREFUQSA9IERBVEE7XG5cbiAgICBjb25zdCB7IHJlc291cmNlVHlwZSA9IHRoaXMuQ0FTRSB9ID0gY29udGFpbmVySXRlbURhdGEgfHwgeyByZXNvdXJjZVR5cGU6IHRoaXMubG9hZFZpZXdDYXNlSUQgPyB0aGlzLkNBU0UgOiB0aGlzLlBBR0UgfTtcbiAgICB0aGlzLnJlc291cmNlVHlwZSA9IHJlc291cmNlVHlwZTtcbiAgICB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA9IC9wcmV2aWV3X1swLTldKi9nLnRlc3QodGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSk7XG5cbiAgICBjb25zdCB0aGVDb25maWdQcm9wcyA9IHRoaXMucENvbm4kLmdldENvbmZpZ1Byb3BzKCk7XG4gICAgdGhpcy5kZWZlckxvYWRJZCA9IHRoZUNvbmZpZ1Byb3BzLmRlZmVyTG9hZElkO1xuICAgIHRoaXMubmFtZSA9IHRoaXMubmFtZSB8fCB0aGVDb25maWdQcm9wcy5uYW1lO1xuXG4gICAgdGhpcy5sb2FkQWN0aXZlVGFiKCk7XG4gIH1cblxuICBnZXRWaWV3T3B0aW9ucyA9ICgpID0+ICh7XG4gICAgdmlld0NvbnRleHQ6IHRoaXMucmVzb3VyY2VUeXBlLFxuICAgIHBhZ2VDbGFzczogdGhpcy5sb2FkVmlld0Nhc2VJRCA/ICcnIDogdGhpcy5wQ29ubiQuZ2V0RGF0YU9iamVjdCgpLnB5UG9ydGFsLmNsYXNzSUQsXG4gICAgY29udGFpbmVyOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IHVuZGVmaW5lZCxcbiAgICBjb250YWluZXJOYW1lOiB0aGlzLmlzQ29udGFpbmVyUHJldmlldyA/ICdwcmV2aWV3JyA6IHVuZGVmaW5lZCxcbiAgICB1cGRhdGVEYXRhOiB0aGlzLmlzQ29udGFpbmVyUHJldmlld1xuICB9KTtcblxuICBvblJlc3BvbnNlKGRhdGEpIHtcbiAgICBpZiAodGhpcy5kZWZlckxvYWRJZCkge1xuICAgICAgUENvcmUuZ2V0RGVmZXJMb2FkTWFuYWdlcigpLnN0YXJ0KFxuICAgICAgICB0aGlzLm5hbWUsXG4gICAgICAgIHRoaXMucENvbm4kLmdldENhc2VJbmZvKCkuZ2V0S2V5KCksXG4gICAgICAgIHRoaXMucENvbm4kLmdldFBhZ2VSZWZlcmVuY2UoKS5yZXBsYWNlKCdjYXNlSW5mby5jb250ZW50JywgJycpLFxuICAgICAgICB0aGlzLnBDb25uJC5nZXRDb250ZXh0TmFtZSgpLFxuICAgICAgICB0aGlzLmRlZmVyTG9hZElkXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChkYXRhICYmICEoZGF0YS50eXBlICYmIGRhdGEudHlwZSA9PT0gJ2Vycm9yJykpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgbWV0YTogZGF0YSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGNvbnRleHQ6IHRoaXMucENvbm4kLmdldENvbnRleHROYW1lKCksXG4gICAgICAgICAgcGFnZVJlZmVyZW5jZTogdGhpcy5wQ29ubiQuZ2V0UGFnZVJlZmVyZW5jZSgpXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBjb25zdCBjb25maWdPYmplY3QgPSBQQ29yZS5jcmVhdGVQQ29ubmVjdChjb25maWcpO1xuICAgICAgY29uZmlnT2JqZWN0LmdldFBDb25uZWN0KCkuc2V0SW5oZXJpdGVkUHJvcCgnZGlzcGxheU1vZGUnLCAnRElTUExBWV9PTkxZJyk7XG4gICAgICB0aGlzLmxvYWRlZFBDb25uJCA9IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubihjb25maWdPYmplY3QuZ2V0UENvbm5lY3QoKSk7XG4gICAgICB0aGlzLmNvbXBvbmVudE5hbWUkID0gdGhpcy5sb2FkZWRQQ29ubiQuZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgICAgaWYgKHRoaXMuZGVmZXJMb2FkSWQpIHtcbiAgICAgICAgUENvcmUuZ2V0RGVmZXJMb2FkTWFuYWdlcigpLnN0b3AodGhpcy5kZWZlckxvYWRJZCwgdGhpcy5wQ29ubiQuZ2V0Q29udGV4dE5hbWUoKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbG9hZEFjdGl2ZVRhYigpIHtcbiAgICBpZiAodGhpcy5yZXNvdXJjZVR5cGUgPT09IHRoaXMuREFUQSkge1xuICAgICAgLy8gUmVuZGVyaW5nIGRlZmVyIGxvYWRlZCB0YWJzIGluIGRhdGEgY29udGV4dFxuICAgICAgaWYgKHRoaXMuY29udGFpbmVyTmFtZSkge1xuICAgICAgICBjb25zdCBkYXRhQ29udGV4dCA9IFBDb3JlLmdldFN0b3JlVmFsdWUoJy5kYXRhQ29udGV4dCcsICdkYXRhSW5mbycsIHRoaXMuY29udGFpbmVyTmFtZSk7XG4gICAgICAgIGNvbnN0IGRhdGFDb250ZXh0UGFyYW1ldGVycyA9IFBDb3JlLmdldFN0b3JlVmFsdWUoJy5kYXRhQ29udGV4dFBhcmFtZXRlcnMnLCAnZGF0YUluZm8nLCB0aGlzLmNvbnRhaW5lck5hbWUpO1xuXG4gICAgICAgIHRoaXMucENvbm4kXG4gICAgICAgICAgLmdldEFjdGlvbnNBcGkoKVxuICAgICAgICAgIC5zaG93RGF0YSh0aGlzLm5hbWUsIGRhdGFDb250ZXh0LCBkYXRhQ29udGV4dFBhcmFtZXRlcnMsIHtcbiAgICAgICAgICAgIHNraXBTZW1hbnRpY1VybDogdHJ1ZSxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBPYmplY3QgbGl0ZXJhbCBtYXkgb25seSBzcGVjaWZ5IGtub3duIHByb3BlcnRpZXMsIGFuZCAnaXNEZWZlckxvYWRlZCcgZG9lcyBub3QgZXhpc3QgaW4gdHlwZSAneyBjb250YWluZXJOYW1lOiBzdHJpbmc7IHNraXBTZW1hbnRpY1VybDogYm9vbGVhbjsgfSdcbiAgICAgICAgICAgIGlzRGVmZXJMb2FkZWQ6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICAgIC50aGVuKGRhdGEgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQ2Fubm90IGxvYWQgdGhlIGRlZmVyIGxvYWRlZCB2aWV3IHdpdGhvdXQgY29udGFpbmVyIGluZm9ybWF0aW9uJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlc291cmNlVHlwZSA9PT0gdGhpcy5QQUdFKSB7XG4gICAgICAvLyBSZW5kZXJpbmcgZGVmZXIgbG9hZGVkIHRhYnMgaW4gY2FzZS8gcGFnZSBjb250ZXh0XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5sb2FkVmlldyhlbmNvZGVVUkkodGhpcy5sb2FkVmlld0Nhc2VJRCksIHRoaXMubmFtZSwgdGhpcy5nZXRWaWV3T3B0aW9ucygpKVxuICAgICAgICAudGhlbihkYXRhID0+IHtcbiAgICAgICAgICB0aGlzLm9uUmVzcG9uc2UoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBDb25uJFxuICAgICAgICAuZ2V0QWN0aW9uc0FwaSgpXG4gICAgICAgIC5yZWZyZXNoQ2FzZVZpZXcoZW5jb2RlVVJJKHRoaXMubG9hZFZpZXdDYXNlSUQpLCB0aGlzLm5hbWUsICcnKVxuICAgICAgICAudGhlbigoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5vblJlc3BvbnNlKGRhdGEucm9vdCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImxvYWRlZFBDb25uJFwiPlxuICA8Y29tcG9uZW50LW1hcHBlciBbbmFtZV09XCJjb21wb25lbnROYW1lJFwiIFtwcm9wc109XCJ7IHBDb25uJDogbG9hZGVkUENvbm4kIH1cIiBlcnJvck1zZz1cIkRlZmVyIExvYWQgTWlzc2luZzoge3sgY29tcG9uZW50TmFtZSQgfX1cIj48L2NvbXBvbmVudC1tYXBwZXI+XG48L2Rpdj5cbiJdfQ==
@@ -6,10 +6,10 @@ export class ErrorBoundaryComponent {
6
6
  this.localizedVal = window.PCore.getLocaleUtils().getLocaleValue;
7
7
  this.localeCategory = 'Messages';
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorBoundaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ErrorBoundaryComponent, isStandalone: true, selector: "app-error-boundary", inputs: { message: "message" }, ngImport: i0, template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBoundaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ErrorBoundaryComponent, isStandalone: true, selector: "app-error-boundary", inputs: { message: "message" }, ngImport: i0, template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ErrorBoundaryComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBoundaryComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'app-error-boundary', standalone: true, imports: [CommonModule], template: "<p>{{ localizedVal(message, localeCategory) }}</p>\n" }]
15
15
  }], propDecorators: { message: [{
@@ -52,10 +52,10 @@ export class MultiStepComponent {
52
52
  _showHLine(index) {
53
53
  return index < this.arNavigationSteps$.length - 1;
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiStepComponent, deps: [{ token: i1.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MultiStepComponent, isStandalone: true, selector: "app-multi-step", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", bIsVertical$: "bIsVertical$", arCurrentStepIndicies$: "arCurrentStepIndicies$", arNavigationSteps$: "arNavigationSteps$" }, outputs: { actionButtonClick: "actionButtonClick" }, providers: [Utils], ngImport: i0, template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div id=\"multi-step-label\" class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:var(--app-primary-color)}.psdk-icon-not-current{color:var(--app-neutral-color)}.psdk-current-svg-icon{width:1rem;filter:var(--app-primary-color-filter)}.psdk-not-current-svg-icon{width:1rem;filter:var(--app-neutral-color-filter)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:var(--app-label-selected-color)}.psdk-sub-step-not-current{padding-left:.625rem;color:var(--app-label-color)}.psdk-flow-container-top{background-color:var(--app-form-color);padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--app-form-color)}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:var(--app-label-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:var(--app-label-selected-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:var(--app-multi-step-border-color)}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;flex-wrap:wrap;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:var(--app-label-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:var(--app-label-selected-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:var(--app-multi-step-border-color);border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiStepComponent, deps: [{ token: i1.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultiStepComponent, isStandalone: true, selector: "app-multi-step", inputs: { pConn$: "pConn$", formGroup$: "formGroup$", arMainButtons$: "arMainButtons$", arSecondaryButtons$: "arSecondaryButtons$", arChildren$: "arChildren$", bIsVertical$: "bIsVertical$", arCurrentStepIndicies$: "arCurrentStepIndicies$", arNavigationSteps$: "arNavigationSteps$" }, outputs: { actionButtonClick: "actionButtonClick" }, providers: [Utils], ngImport: i0, template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div id=\"multi-step-label\" class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:var(--app-primary-color)}.psdk-icon-not-current{color:var(--app-neutral-color)}.psdk-current-svg-icon{width:1rem;filter:var(--app-primary-color-filter)}.psdk-not-current-svg-icon{width:1rem;filter:var(--app-neutral-color-filter)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:var(--app-label-selected-color)}.psdk-sub-step-not-current{padding-left:.625rem;color:var(--app-label-color)}.psdk-flow-container-top{background-color:var(--app-form-color);padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--app-form-color)}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:var(--app-label-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:var(--app-label-selected-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:var(--app-multi-step-border-color)}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;flex-wrap:wrap;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:var(--app-label-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:var(--app-label-selected-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:var(--app-multi-step-border-color);border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i2.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i2.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MultiStepComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultiStepComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'app-multi-step', providers: [Utils], standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<div *ngIf=\"bShow$\">\n <div *ngIf=\"bIsVertical$\" class=\"psdk-vertical-stepper\">\n <div *ngFor=\"let mainStep of arNavigationSteps$; let i = index\" class=\"psdk-vertical-step\">\n <div class=\"psdk-vertical-step-header\">\n <div class=\"{{ _getVIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-vertical-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div class=\"{{ _getVLabelClass(mainStep.visited_status) }}\">\n {{ mainStep.name }}\n </div>\n </div>\n <div class=\"{{ _getVBodyClass(i) }}\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: -7px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"!bIsVertical$\" class=\"psdk-horizontal-stepper\">\n <div class=\"psdk-horizontal-stepper-header-container\">\n <ng-container *ngFor=\"let mainStep of arNavigationSteps$; let i = index\">\n <div class=\"psdk-horizontal-step-header\">\n <div class=\"{{ _getHIconClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-icon-content\">\n <span>{{ i + 1 }}</span>\n </div>\n </div>\n <div id=\"multi-step-label\" class=\"{{ _getHLabelClass(mainStep.visited_status) }}\">\n <div class=\"psdk-horizontal-step-text-label\">\n {{ mainStep.name }}\n </div>\n </div>\n </div>\n <div *ngIf=\"_showHLine(i)\" class=\"psdk-horizontal-step-line\"></div>\n </ng-container>\n </div>\n <div *ngFor=\"let mainStep of arNavigationSteps$\" class=\"psdk-horizontal-stepper-body\">\n <ng-container *ngIf=\"mainStep?.steps\">\n <ul style=\"padding-inline-start: 0rem; margin-left: 35px\">\n <li *ngFor=\"let subStep of mainStep.steps\" class=\"psdk-sub-step-list\">\n <div style=\"display: inline-flex\">\n <img *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-current-svg-icon\" src=\"{{ svgCurrent$ }}\" />\n <img *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-not-current-svg-icon\" src=\"{{ svgNotCurrent$ }}\" />\n <label *ngIf=\"subStep.visited_status == 'current'\" class=\"psdk-sub-step-current\">{{ subStep.name }}</label>\n <label *ngIf=\"subStep.visited_status != 'current'\" class=\"psdk-sub-step-not-current\">{{ subStep.name }}</label>\n </div>\n <div *ngIf=\"subStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </div>\n </li>\n </ul>\n </ng-container>\n\n <ng-container *ngIf=\"!mainStep?.steps && mainStep.visited_status == 'current'\">\n <component-mapper\n name=\"AssignmentCard\"\n [props]=\"{ pConn$, formGroup$, arChildren$, arMainButtons$, arSecondaryButtons$ }\"\n [parent]=\"this\"\n [outputEvents]=\"{ actionButtonClick: onActionButtonClick }\"\n ></component-mapper>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".psdk-case-view-divider{border-bottom:.0625rem solid var(--app-neutral-light-color)}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-icon-current{color:var(--app-primary-color)}.psdk-icon-not-current{color:var(--app-neutral-color)}.psdk-current-svg-icon{width:1rem;filter:var(--app-primary-color-filter)}.psdk-not-current-svg-icon{width:1rem;filter:var(--app-neutral-color-filter)}mat-vertical-stepper{background-color:transparent}mat-horizontal-stepper{background-color:transparent}.psdk-sub-step-current{padding-left:.625rem;font-weight:700;color:var(--app-label-selected-color)}.psdk-sub-step-not-current{padding-left:.625rem;color:var(--app-label-color)}.psdk-flow-container-top{background-color:var(--app-form-color);padding:0rem .625rem;border-radius:.3125rem}.psdk-flow-container{padding-left:2.1875rem}.psdk-sub-step-list{list-style:none;padding-bottom:.625rem}.psdk-vertical-stepper{background-color:transparent;display:block;text-align:left}.psdk-vertical-step{display:block}.psdk-vertical-step-header{overflow:hidden;outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;align-items:center;height:24px;padding:24px}.psdk-vertical-step-icon{margin-right:12px;background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-icon-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--app-form-color)}.psdk-vertical-step-icon-selected{margin-right:12px;background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative}.psdk-vertical-step-label{color:var(--app-label-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-label-selected{color:var(--app-label-selected-color);display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500}.psdk-vertical-step-body{margin-left:36px;border:0;position:relative;display:block;text-align:left}.psdk-vertical-step-line{display:block}.psdk-vertical-step-line:before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;top:-16px;bottom:-16px;border-left-color:var(--app-multi-step-border-color)}.psdk-horizontal-stepper{background-color:transparent;display:block}.psdk-horizontal-stepper-header-container{white-space:nowrap;display:flex;flex-wrap:wrap;align-items:center;text-align:left}.psdk-horizontal-step-header{outline:none;cursor:pointer;position:relative;box-sizing:content-box;display:flex;height:72px;overflow:hidden;align-items:center;padding:0 24px}.psdk-horizontal-step-icon{background-color:var(--app-neutral-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-icon-content{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.psdk-horizontal-step-icon-selected{background-color:var(--app-primary-color);color:var(--app-form-color);border-radius:50%;height:24px;width:24px;flex-shrink:0;position:relative;display:block;margin-right:8px;flex:none}.psdk-horizontal-step-label{color:var(--app-label-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-label-selected{color:var(--app-label-selected-color);display:inline-block;min-width:50px;vertical-align:middle;font-size:14px;font-weight:500;white-space:initial}.psdk-horizontal-step-line{border-top-color:var(--app-multi-step-border-color);border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px}\n"] }]
61
61
  }], ctorParameters: () => [{ type: i1.Utils }], propDecorators: { pConn$: [{
@@ -118,10 +118,10 @@ export class NavbarComponent {
118
118
  window.location.reload();
119
119
  });
120
120
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavbarComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.ProgressSpinnerService }, { token: i0.NgZone }, { token: i3.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavbarComponent, isStandalone: true, selector: "app-navbar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavbarComponent, deps: [{ token: i1.AngularPConnectService }, { token: i0.ChangeDetectorRef }, { token: i2.ProgressSpinnerService }, { token: i0.NgZone }, { token: i3.Utils }], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NavbarComponent, isStandalone: true, selector: "app-navbar", inputs: { pConn$: "pConn$", appName$: "appName$", pages$: "pages$", caseTypes$: "caseTypes$" }, providers: [Utils], ngImport: i0, template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }] }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavbarComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavbarComponent, decorators: [{
125
125
  type: Component,
126
126
  args: [{ selector: 'app-navbar', providers: [Utils], standalone: true, imports: [CommonModule, MatListModule, MatMenuModule], template: "<div class=\"psdk-appshell-nav\">\n <div class=\"psdk-nav-header\">\n <div>\n <img src=\"{{ portalLogoImage$ }}\" class=\"psdk-nav-logo\" />\n </div>\n <div class=\"psdk-nav-portal-info\">\n <div class=\"psdk-nav-portal-app\">{{ portalApp$ }}</div>\n </div>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list>\n <mat-list-item id=\"create-case-button\" (click)=\"navPanelCreateButtonClick()\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ navExpandCollapse$ }}\" />\n <span class=\"psdk-nav-button-span\">Create</span>\n </div>\n </mat-list-item>\n <mat-list *ngIf=\"bShowCaseTypes$\" style=\"margin-left: 40px\">\n <mat-list-item\n id=\"case-list-item\"\n *ngFor=\"let caseType of caseTypes$\"\n (click)=\"navPanelCreateCaseType(caseType.pyClassName, caseType.pyFlowType)\"\n >\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(caseType.pyLabel, '', localeReference) }}</span>\n </mat-list-item>\n </mat-list>\n </mat-list>\n </div>\n <div style=\"height: 100%\">\n <mat-list *ngFor=\"let page of navPages$\">\n <mat-list-item (click)=\"navPanelButtonClick(page)\">\n <div class=\"flex-box\">\n <img class=\"psdk-nav-svg-icon\" src=\"{{ page.iconName }}\" />\n <span class=\"psdk-nav-button-span\">{{ localeUtils.getLocaleValue(page.pyLabel, '', localeReference) }}</span>\n </div>\n </mat-list-item>\n </mat-list>\n </div>\n <div class=\"psdk-nav-divider\"></div>\n <div>\n <mat-list id=\"profile\">\n <mat-list-item [matMenuTriggerFor]=\"menu\" class=\"psdk-profile-list-item\">\n <div class=\"flex-box\">\n <div class=\"psdk-nav-oper-avatar\">{{ portalOperatorInitials$ }}</div>\n <span class=\"psdk-nav-button-span\">{{ portalOperator$ }}</span>\n </div>\n </mat-list-item>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item>Profile</button>\n <button mat-menu-item (click)=\"navPanelLogoutClick()\">{{ localizedVal('Log off', localeCategory) }}</button>\n </mat-menu>\n </mat-list>\n </div>\n</div>\n", styles: [".psdk-nav-divider{border-bottom:.0625rem solid var(--app-divider-color);width:100%;align-items:center}.psdk-nav-header{display:flex;padding-top:.625rem}.psdk-nav-logo{width:3.75rem;padding:.625rem;margin-right:1.25rem}.psdk-nav-svg-icon{filter:var(--app-white-color-filter);width:1.6rem;padding-right:.625rem}.psdk-nav-portal-name{font-size:.875rem}.psdk-nav-portal-app{font-size:1.25rem}.psdk-appshell-nav{z-index:199;position:fixed;display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:100%;color:var(--app-nav-color);overflow-y:auto;overflow-x:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-nav:hover{width:var(--app-nav-width-expanded)}.psdk-appshell-topnav{display:flex;flex-direction:column;justify-content:flex-start;background:var(--app-nav-bg);width:var(--app-nav-width);height:15%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-appshell-middlenav{display:flex;flex-direction:column;justify-content:space-between;background:var(--app-nav-bg);width:var(--app-nav-width);height:50%;color:var(--app-nav-color);overflow:hidden;white-space:nowrap;transition:width .3s cubic-bezier(.4,.6,.1,1);will-change:width}.psdk-nav-ul-middle{display:block;list-style-type:none;margin:0rem;padding-inline-start:30px}.psdk-nav-li-middle{box-sizing:border-box;text-align:left}.psdk-icon{padding:0rem .125rem;min-width:unset}.psdk-nav-button-span{padding:0 1rem;color:var(--app-nav-color)}.psdk-nav-oper-avatar{margin:0rem;padding:0rem;min-width:2.5rem;min-height:2.5rem;max-width:2.5rem;max-height:2.5rem;border-radius:50%;justify-content:center;align-items:center;text-align:center;display:inline-flex;background:var(--app-neutral-color);color:var(--app-form-color);font-weight:400;font-size:1rem}mat-list{padding:0}.psdk-profile-list-item{padding-left:24px}mat-list-item{padding:20px 0 20px 30px;cursor:pointer!important;height:auto!important}mat-list-item:hover{background-color:var(--app-label-color)}mat-list-item .flex-box{display:flex;align-items:center;width:100%;text-align:left}\n"] }]
127
127
  }], ctorParameters: () => [{ type: i1.AngularPConnectService }, { type: i0.ChangeDetectorRef }, { type: i2.ProgressSpinnerService }, { type: i0.NgZone }, { type: i3.Utils }], propDecorators: { pConn$: [{
@@ -8,36 +8,34 @@ import * as i0 from "@angular/core";
8
8
  export class ReferenceComponent {
9
9
  /* Used to toggle some class-wide logging */
10
10
  static { this.bLogging = false; }
11
- constructor() {
12
- this.referencedComponent = null;
13
- // With new static method approach, this shouldn't be called any more
14
- window.alert(`in ReferenceComponent constructor!`);
15
- console.error(`in ReferenceComponent constructor!`);
16
- }
17
- // onStateChange and updateSelf methods removed from original implementation
18
- // when we moved to the static method implementation.
19
- // STATIC method to create a normalized PConn (a fully realized View that the 'reference'
20
- // component refers to) from the given pConn. Has to add in some stuff as in the constructor
11
+ /**
12
+ * Creates a normalized PConn from a reference component.
13
+ * Resolves the reference to its fully realized View with proper configuration.
14
+ *
15
+ * @param inPConn - The PConn object that represents a reference component
16
+ * @returns The dereferenced PConnect object, or null if reference can't be resolved
17
+ */
21
18
  static createFullReferencedViewFromRef(inPConn) {
22
- // BAIL and ERROR if inPConn is NOT a reference!
19
+ // Validate that inPConn is a reference component
23
20
  if (inPConn.getComponentName() !== 'reference') {
24
21
  console.error(`Reference component: createFullReferencedViewFromRef inPConn is NOT a reference! ${inPConn.getComponentName()}`);
22
+ return null;
25
23
  }
26
- const referenceConfig = { ...inPConn.getComponentConfig() } || {};
27
- // Since SDK-A implements Reference as static methods and we don't rely on
28
- // the Reference component's handling of the visibility prop, we leave it in
29
- // (and also leaving the others in for now) so the referenced View can act on
30
- // the visibility prop. (The following 3 lines were carried over from React SDK)
24
+ // Get reference configuration and make a copy
25
+ const referenceConfig = { ...inPConn.getComponentConfig() };
26
+ // Remove properties that should not be inherited by the referenced view
27
+ // (Maintained from React SDK implementation)
31
28
  delete referenceConfig?.name;
32
29
  delete referenceConfig?.type;
33
30
  delete referenceConfig?.visibility;
31
+ // Get the metadata for the referenced view
34
32
  const viewMetadata = inPConn.getReferencedView();
33
+ // Return null if view metadata is not found
35
34
  if (!viewMetadata) {
36
35
  console.log('View not found ', inPConn.getComponentConfig());
37
36
  return null;
38
37
  }
39
- // If we get here, we have metadata for a View component...
40
- // const referencedComponentName = viewMetadata.type;
38
+ // Create the view object by merging metadata with reference config
41
39
  const viewObject = {
42
40
  ...viewMetadata,
43
41
  config: {
@@ -45,92 +43,84 @@ export class ReferenceComponent {
45
43
  ...referenceConfig
46
44
  }
47
45
  };
48
- const theResolvedConfigProps = inPConn.resolveConfigProps(inPConn.getConfigProps());
49
- const { visibility = true, context, readOnly = false, displayMode = '' } = theResolvedConfigProps;
46
+ // Resolve configuration properties
47
+ const resolvedConfigProps = inPConn.resolveConfigProps(inPConn.getConfigProps());
48
+ const { visibility = true, context, readOnly = false, displayMode = '' } = resolvedConfigProps;
49
+ // Log debug information if logging is enabled
50
50
  if (ReferenceComponent.bLogging) {
51
51
  console.log(`Reference: about to call createComponent with pageReference: context: ${inPConn.getContextName()}`);
52
52
  }
53
+ // Create the component with the right context
53
54
  const viewComponent = inPConn.createComponent(viewObject, null, null, {
54
55
  pageReference: context && context.startsWith('@CLASS') ? '' : context
55
56
  });
56
- // updating the referencedComponent should trigger a render
57
+ // Get the PConnect object from the created component
57
58
  const newCompPConnect = viewComponent.getPConnect();
59
+ // Set inherited configuration on the new component
58
60
  newCompPConnect.setInheritedConfig({
59
61
  ...referenceConfig,
60
62
  readOnly,
61
63
  displayMode
62
64
  });
65
+ // Log debug information if logging is enabled
63
66
  if (ReferenceComponent.bLogging) {
64
67
  console.log(`Angular Reference component: createFullReferencedViewFromRef -> newCompPConnect configProps: ${JSON.stringify(newCompPConnect.getConfigProps())}`);
65
68
  }
66
- if (visibility !== false) {
67
- return newCompPConnect;
68
- }
69
- return null;
69
+ // Return the component if it should be visible, otherwise null
70
+ return visibility !== false ? newCompPConnect : null;
70
71
  }
71
- // STATIC method that other components can call to normalize
72
- // a pConn object that might be a 'reference'. If the incoming
73
- // pConn is a reference, return its dereferenced View PConnect's
74
- // getPConnect. Otherwise, return the passed in pConn unchanged
75
- // inPConn = a PConn object (ex: { getPConnect()} )
72
+ /**
73
+ * Normalizes a PConn object that might be a 'reference'.
74
+ * If the incoming PConn is a reference, returns its dereferenced View.
75
+ * Otherwise, returns the passed in PConn unchanged.
76
+ *
77
+ * @param inPConn - A PConn object (ex: { getPConnect() } or direct PConnect)
78
+ * @returns The normalized PConn object with references resolved
79
+ */
76
80
  static normalizePConn(inPConn) {
77
- // debugger;
78
- let returnObj = false;
79
- let thePConnType = '';
80
- if (inPConn.getPConnect) {
81
- // inPConn is an object (ex: { getPConnect()} ), so we want to return
82
- // any referenced view as the object containing the
83
- // the getPConnect function
84
- returnObj = true;
85
- thePConnType = inPConn.getPConnect().getComponentName();
81
+ // Early return for null or undefined input
82
+ if (!inPConn) {
83
+ return inPConn;
86
84
  }
87
- else {
88
- // inPConn is an object with the PConnect function, so we want
89
- // to return any referenced view as the object containing the
90
- // the c11n function
91
- returnObj = false;
92
- thePConnType = inPConn.getComponentName();
93
- }
94
- if (thePConnType === 'reference') {
95
- if (returnObj) {
96
- // WAS...
97
- // const theRefViewPConn = inPConn.getPConnect().getReferencedViewPConnect(true);
98
- // Now: ALWAYS calling createFullReferencedViewFromRef to have options, PageReference, etc.
99
- // set correctly in the C11nEnv (PConnect) object
100
- // debugger;
101
- let theRefViewPConn = this.createFullReferencedViewFromRef(inPConn.getPConnect());
102
- // now return its PConnect
103
- theRefViewPConn = theRefViewPConn?.getComponent();
104
- // const theFullReference = theRefViewPConn.getPConnect().getFullReference();
105
- // console.log(`theFullReference: ${theFullReference}`);
106
- return theRefViewPConn;
85
+ // Determine if we have an object with getPConnect method or direct PConnect
86
+ const hasGetPConnectMethod = !!inPConn.getPConnect;
87
+ // Get the component name in the appropriate way based on the object type
88
+ const componentName = hasGetPConnectMethod ? inPConn.getPConnect().getComponentName() : inPConn.getComponentName();
89
+ // Only process if this is a reference component
90
+ if (componentName === 'reference') {
91
+ if (hasGetPConnectMethod) {
92
+ // For objects with getPConnect method, get the referenced view and its component
93
+ const refViewPConn = this.createFullReferencedViewFromRef(inPConn.getPConnect());
94
+ return refViewPConn?.getComponent();
107
95
  }
108
- // console.log(`created theFullRefView full reference: ${theFullRefView.getFullReference()}`);
109
- // debugger;
96
+ // For direct PConnect objects, just create the referenced view
110
97
  return this.createFullReferencedViewFromRef(inPConn);
111
98
  }
99
+ // Not a reference component, return unchanged
112
100
  return inPConn;
113
101
  }
114
- // STATIC method that other components can call to normalize
115
- // an array of pConn objects where any of the children might
116
- // be a 'reference'. The array returns an array of children
117
- // where any 'reference' is replaced with its ReferencedView
118
- // inPConnArray is an array of PConn objects or functions.
119
- // Its value is passed to normalizePConn
102
+ /**
103
+ * Normalizes an array of PConn objects by replacing any 'reference' components
104
+ * with their referenced views.
105
+ *
106
+ * @param inPConnArray - Array of PConn objects to normalize
107
+ * @returns Normalized array with references resolved, or empty array if input is invalid
108
+ */
120
109
  static normalizePConnArray(inPConnArray) {
121
- if (!(inPConnArray?.length > 0)) {
122
- // null or empty array, return what was passed in
123
- return inPConnArray;
110
+ // Handle null, undefined, or empty array case
111
+ if (!inPConnArray?.length) {
112
+ return inPConnArray || [];
124
113
  }
125
- return inPConnArray.map(child => {
126
- return ReferenceComponent.normalizePConn(child);
127
- });
114
+ // Process array: normalize each item and filter out any null/undefined results
115
+ const normalizedArray = inPConnArray.map(child => ReferenceComponent.normalizePConn(child)).filter(Boolean);
116
+ // Ensure we always return an array (even if filter removes all items)
117
+ return normalizedArray || [];
128
118
  }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ReferenceComponent, isStandalone: true, selector: "app-reference", ngImport: i0, template: "<!-- Reference component is all static methods so .html not used -->\n", styles: [""] }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReferenceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ReferenceComponent, isStandalone: true, selector: "app-reference", ngImport: i0, template: "<!-- Reference component is all static methods so .html not used -->\n", styles: [""] }); }
131
121
  }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ReferenceComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReferenceComponent, decorators: [{
133
123
  type: Component,
134
124
  args: [{ selector: 'app-reference', standalone: true, template: "<!-- Reference component is all static methods so .html not used -->\n" }]
135
- }], ctorParameters: () => [] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLDRDQUE0QzthQUM3QixhQUFRLEdBQUcsS0FBSyxBQUFSLENBQVM7SUFFaEM7UUFMQSx3QkFBbUIsR0FBUSxJQUFJLENBQUM7UUFNOUIscUVBQXFFO1FBQ3JFLE1BQU0sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUVuRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxzREFBc0Q7SUFFdEQseUZBQXlGO0lBQ3pGLDZGQUE2RjtJQUM3RixNQUFNLENBQUMsK0JBQStCLENBQUMsT0FBWTtRQUNqRCxnREFBZ0Q7UUFDaEQsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLG9GQUFvRixPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDbEksQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUVsRSww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RSxDQUFDO1lBQ2pDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2QsVUFBVTtnQkFDVixpRkFBaUY7Z0JBQ2pGLDJGQUEyRjtnQkFDM0Ysa0RBQWtEO2dCQUNsRCxZQUFZO2dCQUNaLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDbEYsMEJBQTBCO2dCQUMxQixlQUFlLEdBQUcsZUFBZSxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUVsRCw2RUFBNkU7Z0JBQzdFLHdEQUF3RDtnQkFFeEQsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQztZQUNELDhGQUE4RjtZQUM5RixZQUFZO1lBRVosT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCw0REFBNEQ7SUFDNUQsNkRBQTZEO0lBQzdELDREQUE0RDtJQUM1RCw2REFBNkQ7SUFDN0QsMkRBQTJEO0lBQzNELDJDQUEyQztJQUUzQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsWUFBaUI7UUFDMUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGlEQUFpRDtZQUNqRCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE9BQU8sa0JBQWtCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4SlUsa0JBQWtCO21HQUFsQixrQkFBa0IseUVDZC9CLHdFQUNBOzs0RkRhYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBXQVJOSU5HOiBJdCBpcyBub3QgZXhwZWN0ZWQgdGhhdCB0aGlzIGZpbGUgc2hvdWxkIGJlIG1vZGlmaWVkLiAgSXQgaXMgcGFydCBvZiBpbmZyYXN0cnVjdHVyZSBjb2RlIHRoYXQgd29ya3Mgd2l0aFxuICogUmVkdXggYW5kIGNyZWF0aW9uL3VwZGF0ZSBvZiBSZWR1eCBjb250YWluZXJzIGFuZCBQQ29ubmVjdC4gIE1vZGlmeWluZyB0aGlzIGNvZGUgY291bGQgaGF2ZSB1bmRlc2lyZWFibGUgcmVzdWx0cyBhbmRcbiAqIGlzIHRvdGFsbHkgYXQgeW91ciBvd24gcmlzay5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVmZXJlbmNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVyZW5jZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZmVyZW5jZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZUNvbXBvbmVudCB7XG4gIHJlZmVyZW5jZWRDb21wb25lbnQ6IGFueSA9IG51bGw7XG5cbiAgLyogVXNlZCB0byB0b2dnbGUgc29tZSBjbGFzcy13aWRlIGxvZ2dpbmcgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYkxvZ2dpbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBXaXRoIG5ldyBzdGF0aWMgbWV0aG9kIGFwcHJvYWNoLCB0aGlzIHNob3VsZG4ndCBiZSBjYWxsZWQgYW55IG1vcmVcbiAgICB3aW5kb3cuYWxlcnQoYGluIFJlZmVyZW5jZUNvbXBvbmVudCBjb25zdHJ1Y3RvciFgKTtcblxuICAgIGNvbnNvbGUuZXJyb3IoYGluIFJlZmVyZW5jZUNvbXBvbmVudCBjb25zdHJ1Y3RvciFgKTtcbiAgfVxuXG4gIC8vIG9uU3RhdGVDaGFuZ2UgYW5kIHVwZGF0ZVNlbGYgbWV0aG9kcyByZW1vdmVkIGZyb20gb3JpZ2luYWwgaW1wbGVtZW50YXRpb25cbiAgLy8gIHdoZW4gd2UgbW92ZWQgdG8gdGhlIHN0YXRpYyBtZXRob2QgaW1wbGVtZW50YXRpb24uXG5cbiAgLy8gU1RBVElDIG1ldGhvZCB0byBjcmVhdGUgYSBub3JtYWxpemVkIFBDb25uIChhIGZ1bGx5IHJlYWxpemVkIFZpZXcgdGhhdCB0aGUgJ3JlZmVyZW5jZSdcbiAgLy8gIGNvbXBvbmVudCByZWZlcnMgdG8pIGZyb20gdGhlIGdpdmVuIHBDb25uLiBIYXMgdG8gYWRkIGluIHNvbWUgc3R1ZmYgYXMgaW4gdGhlIGNvbnN0cnVjdG9yXG4gIHN0YXRpYyBjcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmKGluUENvbm46IGFueSkge1xuICAgIC8vIEJBSUwgYW5kIEVSUk9SIGlmIGluUENvbm4gaXMgTk9UIGEgcmVmZXJlbmNlIVxuICAgIGlmIChpblBDb25uLmdldENvbXBvbmVudE5hbWUoKSAhPT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFJlZmVyZW5jZSBjb21wb25lbnQ6IGNyZWF0ZUZ1bGxSZWZlcmVuY2VkVmlld0Zyb21SZWYgaW5QQ29ubiBpcyBOT1QgYSByZWZlcmVuY2UhICR7aW5QQ29ubi5nZXRDb21wb25lbnROYW1lKCl9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVmZXJlbmNlQ29uZmlnID0geyAuLi5pblBDb25uLmdldENvbXBvbmVudENvbmZpZygpIH0gfHwge307XG5cbiAgICAvLyBTaW5jZSBTREstQSBpbXBsZW1lbnRzIFJlZmVyZW5jZSBhcyBzdGF0aWMgbWV0aG9kcyBhbmQgd2UgZG9uJ3QgcmVseSBvblxuICAgIC8vICB0aGUgUmVmZXJlbmNlIGNvbXBvbmVudCdzIGhhbmRsaW5nIG9mIHRoZSB2aXNpYmlsaXR5IHByb3AsIHdlIGxlYXZlIGl0IGluXG4gICAgLy8gIChhbmQgYWxzbyBsZWF2aW5nIHRoZSBvdGhlcnMgaW4gZm9yIG5vdykgc28gdGhlIHJlZmVyZW5jZWQgVmlldyBjYW4gYWN0IG9uXG4gICAgLy8gIHRoZSB2aXNpYmlsaXR5IHByb3AuIChUaGUgZm9sbG93aW5nIDMgbGluZXMgd2VyZSBjYXJyaWVkIG92ZXIgZnJvbSBSZWFjdCBTREspXG4gICAgZGVsZXRlIHJlZmVyZW5jZUNvbmZpZz8ubmFtZTtcbiAgICBkZWxldGUgcmVmZXJlbmNlQ29uZmlnPy50eXBlO1xuICAgIGRlbGV0ZSByZWZlcmVuY2VDb25maWc/LnZpc2liaWxpdHk7XG5cbiAgICBjb25zdCB2aWV3TWV0YWRhdGEgPSBpblBDb25uLmdldFJlZmVyZW5jZWRWaWV3KCk7XG5cbiAgICBpZiAoIXZpZXdNZXRhZGF0YSkge1xuICAgICAgY29uc29sZS5sb2coJ1ZpZXcgbm90IGZvdW5kICcsIGluUENvbm4uZ2V0Q29tcG9uZW50Q29uZmlnKCkpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgd2UgZ2V0IGhlcmUsIHdlIGhhdmUgbWV0YWRhdGEgZm9yIGEgVmlldyBjb21wb25lbnQuLi5cbiAgICAvLyBjb25zdCByZWZlcmVuY2VkQ29tcG9uZW50TmFtZSA9IHZpZXdNZXRhZGF0YS50eXBlO1xuXG4gICAgY29uc3Qgdmlld09iamVjdCA9IHtcbiAgICAgIC4uLnZpZXdNZXRhZGF0YSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICAuLi52aWV3TWV0YWRhdGEuY29uZmlnLFxuICAgICAgICAuLi5yZWZlcmVuY2VDb25maWdcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgdGhlUmVzb2x2ZWRDb25maWdQcm9wcyA9IGluUENvbm4ucmVzb2x2ZUNvbmZpZ1Byb3BzKGluUENvbm4uZ2V0Q29uZmlnUHJvcHMoKSk7XG4gICAgY29uc3QgeyB2aXNpYmlsaXR5ID0gdHJ1ZSwgY29udGV4dCwgcmVhZE9ubHkgPSBmYWxzZSwgZGlzcGxheU1vZGUgPSAnJyB9ID0gdGhlUmVzb2x2ZWRDb25maWdQcm9wcztcblxuICAgIGlmIChSZWZlcmVuY2VDb21wb25lbnQuYkxvZ2dpbmcpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBSZWZlcmVuY2U6IGFib3V0IHRvIGNhbGwgY3JlYXRlQ29tcG9uZW50IHdpdGggcGFnZVJlZmVyZW5jZTogY29udGV4dDogJHtpblBDb25uLmdldENvbnRleHROYW1lKCl9YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgdmlld0NvbXBvbmVudCA9IGluUENvbm4uY3JlYXRlQ29tcG9uZW50KHZpZXdPYmplY3QsIG51bGwsIG51bGwsIHtcbiAgICAgIHBhZ2VSZWZlcmVuY2U6IGNvbnRleHQgJiYgY29udGV4dC5zdGFydHNXaXRoKCdAQ0xBU1MnKSA/ICcnIDogY29udGV4dFxuICAgIH0pO1xuXG4gICAgLy8gdXBkYXRpbmcgdGhlIHJlZmVyZW5jZWRDb21wb25lbnQgc2hvdWxkIHRyaWdnZXIgYSByZW5kZXJcbiAgICBjb25zdCBuZXdDb21wUENvbm5lY3QgPSB2aWV3Q29tcG9uZW50LmdldFBDb25uZWN0KCk7XG5cbiAgICBuZXdDb21wUENvbm5lY3Quc2V0SW5oZXJpdGVkQ29uZmlnKHtcbiAgICAgIC4uLnJlZmVyZW5jZUNvbmZpZyxcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgZGlzcGxheU1vZGVcbiAgICB9KTtcblxuICAgIGlmIChSZWZlcmVuY2VDb21wb25lbnQuYkxvZ2dpbmcpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgQW5ndWxhciBSZWZlcmVuY2UgY29tcG9uZW50OiBjcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmIC0+IG5ld0NvbXBQQ29ubmVjdCBjb25maWdQcm9wczogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBuZXdDb21wUENvbm5lY3QuZ2V0Q29uZmlnUHJvcHMoKVxuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHZpc2liaWxpdHkgIT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gbmV3Q29tcFBDb25uZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gU1RBVElDIG1ldGhvZCB0aGF0IG90aGVyIGNvbXBvbmVudHMgY2FuIGNhbGwgdG8gbm9ybWFsaXplXG4gIC8vICBhIHBDb25uIG9iamVjdCB0aGF0IG1pZ2h0IGJlIGEgJ3JlZmVyZW5jZScuIElmIHRoZSBpbmNvbWluZ1xuICAvLyAgcENvbm4gaXMgYSByZWZlcmVuY2UsIHJldHVybiBpdHMgZGVyZWZlcmVuY2VkIFZpZXcgUENvbm5lY3Qnc1xuICAvLyAgZ2V0UENvbm5lY3QuIE90aGVyd2lzZSwgcmV0dXJuIHRoZSBwYXNzZWQgaW4gcENvbm4gdW5jaGFuZ2VkXG4gIC8vICBpblBDb25uID0gYSBQQ29ubiBvYmplY3QgKGV4OiB7IGdldFBDb25uZWN0KCl9IClcbiAgc3RhdGljIG5vcm1hbGl6ZVBDb25uKGluUENvbm46IGFueSkge1xuICAgIC8vIGRlYnVnZ2VyO1xuXG4gICAgbGV0IHJldHVybk9iaiA9IGZhbHNlO1xuICAgIGxldCB0aGVQQ29ublR5cGUgPSAnJztcblxuICAgIGlmIChpblBDb25uLmdldFBDb25uZWN0KSB7XG4gICAgICAvLyBpblBDb25uIGlzIGFuIG9iamVjdCAoZXg6IHsgZ2V0UENvbm5lY3QoKX0gKSwgc28gd2Ugd2FudCB0byByZXR1cm5cbiAgICAgIC8vICBhbnkgcmVmZXJlbmNlZCB2aWV3IGFzIHRoZSBvYmplY3QgY29udGFpbmluZyB0aGVcbiAgICAgIC8vICB0aGUgZ2V0UENvbm5lY3QgZnVuY3Rpb25cbiAgICAgIHJldHVybk9iaiA9IHRydWU7XG4gICAgICB0aGVQQ29ublR5cGUgPSBpblBDb25uLmdldFBDb25uZWN0KCkuZ2V0Q29tcG9uZW50TmFtZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpblBDb25uIGlzIGFuIG9iamVjdCB3aXRoIHRoZSBQQ29ubmVjdCBmdW5jdGlvbiwgc28gd2Ugd2FudFxuICAgICAgLy8gIHRvIHJldHVybiBhbnkgcmVmZXJlbmNlZCB2aWV3IGFzIHRoZSBvYmplY3QgY29udGFpbmluZyB0aGVcbiAgICAgIC8vICB0aGUgYzExbiBmdW5jdGlvblxuICAgICAgcmV0dXJuT2JqID0gZmFsc2U7XG4gICAgICB0aGVQQ29ublR5cGUgPSBpblBDb25uLmdldENvbXBvbmVudE5hbWUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhlUENvbm5UeXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgaWYgKHJldHVybk9iaikge1xuICAgICAgICAvLyAgV0FTLi4uXG4gICAgICAgIC8vIGNvbnN0IHRoZVJlZlZpZXdQQ29ubiA9IGluUENvbm4uZ2V0UENvbm5lY3QoKS5nZXRSZWZlcmVuY2VkVmlld1BDb25uZWN0KHRydWUpO1xuICAgICAgICAvLyBOb3c6IEFMV0FZUyBjYWxsaW5nIGNyZWF0ZUZ1bGxSZWZlcmVuY2VkVmlld0Zyb21SZWYgdG8gaGF2ZSBvcHRpb25zLCBQYWdlUmVmZXJlbmNlLCBldGMuXG4gICAgICAgIC8vICBzZXQgY29ycmVjdGx5IGluIHRoZSBDMTFuRW52IChQQ29ubmVjdCkgb2JqZWN0XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBsZXQgdGhlUmVmVmlld1BDb25uID0gdGhpcy5jcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmKGluUENvbm4uZ2V0UENvbm5lY3QoKSk7XG4gICAgICAgIC8vIG5vdyByZXR1cm4gaXRzIFBDb25uZWN0XG4gICAgICAgIHRoZVJlZlZpZXdQQ29ubiA9IHRoZVJlZlZpZXdQQ29ubj8uZ2V0Q29tcG9uZW50KCk7XG5cbiAgICAgICAgLy8gY29uc3QgdGhlRnVsbFJlZmVyZW5jZSA9IHRoZVJlZlZpZXdQQ29ubi5nZXRQQ29ubmVjdCgpLmdldEZ1bGxSZWZlcmVuY2UoKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coYHRoZUZ1bGxSZWZlcmVuY2U6ICR7dGhlRnVsbFJlZmVyZW5jZX1gKTtcblxuICAgICAgICByZXR1cm4gdGhlUmVmVmlld1BDb25uO1xuICAgICAgfVxuICAgICAgLy8gY29uc29sZS5sb2coYGNyZWF0ZWQgdGhlRnVsbFJlZlZpZXcgZnVsbCByZWZlcmVuY2U6ICR7dGhlRnVsbFJlZlZpZXcuZ2V0RnVsbFJlZmVyZW5jZSgpfWApO1xuICAgICAgLy8gZGVidWdnZXI7XG5cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUZ1bGxSZWZlcmVuY2VkVmlld0Zyb21SZWYoaW5QQ29ubik7XG4gICAgfVxuICAgIHJldHVybiBpblBDb25uO1xuICB9XG5cbiAgLy8gU1RBVElDIG1ldGhvZCB0aGF0IG90aGVyIGNvbXBvbmVudHMgY2FuIGNhbGwgdG8gbm9ybWFsaXplXG4gIC8vICBhbiBhcnJheSBvZiBwQ29ubiBvYmplY3RzIHdoZXJlIGFueSBvZiB0aGUgY2hpbGRyZW4gbWlnaHRcbiAgLy8gIGJlIGEgJ3JlZmVyZW5jZScuIFRoZSBhcnJheSByZXR1cm5zIGFuIGFycmF5IG9mIGNoaWxkcmVuXG4gIC8vICB3aGVyZSBhbnkgJ3JlZmVyZW5jZScgaXMgcmVwbGFjZWQgd2l0aCBpdHMgUmVmZXJlbmNlZFZpZXdcbiAgLy8gIGluUENvbm5BcnJheSBpcyBhbiBhcnJheSBvZiBQQ29ubiBvYmplY3RzIG9yIGZ1bmN0aW9ucy5cbiAgLy8gICAgSXRzIHZhbHVlIGlzIHBhc3NlZCB0byBub3JtYWxpemVQQ29ublxuXG4gIHN0YXRpYyBub3JtYWxpemVQQ29ubkFycmF5KGluUENvbm5BcnJheTogYW55KSB7XG4gICAgaWYgKCEoaW5QQ29ubkFycmF5Py5sZW5ndGggPiAwKSkge1xuICAgICAgLy8gbnVsbCBvciBlbXB0eSBhcnJheSwgcmV0dXJuIHdoYXQgd2FzIHBhc3NlZCBpblxuICAgICAgcmV0dXJuIGluUENvbm5BcnJheTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5QQ29ubkFycmF5Lm1hcChjaGlsZCA9PiB7XG4gICAgICByZXR1cm4gUmVmZXJlbmNlQ29tcG9uZW50Lm5vcm1hbGl6ZVBDb25uKGNoaWxkKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLSBSZWZlcmVuY2UgY29tcG9uZW50IGlzIGFsbCBzdGF0aWMgbWV0aG9kcyBzbyAuaHRtbCBub3QgdXNlZCAtLT5cbiJdfQ==
125
+ }] });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItc2RrLWNvbXBvbmVudHMvc3JjL2xpYi9fY29tcG9uZW50cy9pbmZyYS9yZWZlcmVuY2UvcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLDRDQUE0QzthQUM3QixhQUFRLEdBQUcsS0FBSyxBQUFSLENBQVM7SUFFaEM7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLCtCQUErQixDQUFDLE9BQVk7UUFDakQsaURBQWlEO1FBQ2pELElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxvRkFBb0YsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hJLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELDhDQUE4QztRQUM5QyxNQUFNLGVBQWUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztRQUU1RCx3RUFBd0U7UUFDeEUsNkNBQTZDO1FBQzdDLE9BQU8sZUFBZSxFQUFFLElBQUksQ0FBQztRQUM3QixPQUFPLGVBQWUsRUFBRSxJQUFJLENBQUM7UUFDN0IsT0FBTyxlQUFlLEVBQUUsVUFBVSxDQUFDO1FBRW5DLDJDQUEyQztRQUMzQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMs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Q0FBQztRQUVELDhDQUE4QztRQUM5QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFlBQW1CO1FBQzVDLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE9BQU8sWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBRUQsK0VBQStFO1FBQy9FLE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUcsc0VBQXNFO1FBQ3RFLE9BQU8sZUFBZSxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOytHQXhJVSxrQkFBa0I7bUdBQWxCLGtCQUFrQix5RUNkL0Isd0VBQ0E7OzRGRGFhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFdBUk5JTkc6IEl0IGlzIG5vdCBleHBlY3RlZCB0aGF0IHRoaXMgZmlsZSBzaG91bGQgYmUgbW9kaWZpZWQuICBJdCBpcyBwYXJ0IG9mIGluZnJhc3RydWN0dXJlIGNvZGUgdGhhdCB3b3JrcyB3aXRoXG4gKiBSZWR1eCBhbmQgY3JlYXRpb24vdXBkYXRlIG9mIFJlZHV4IGNvbnRhaW5lcnMgYW5kIFBDb25uZWN0LiAgTW9kaWZ5aW5nIHRoaXMgY29kZSBjb3VsZCBoYXZlIHVuZGVzaXJlYWJsZSByZXN1bHRzIGFuZFxuICogaXMgdG90YWxseSBhdCB5b3VyIG93biByaXNrLlxuICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZWZlcmVuY2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVmZXJlbmNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVmZXJlbmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlQ29tcG9uZW50IHtcbiAgLyogVXNlZCB0byB0b2dnbGUgc29tZSBjbGFzcy13aWRlIGxvZ2dpbmcgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgYkxvZ2dpbmcgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5vcm1hbGl6ZWQgUENvbm4gZnJvbSBhIHJlZmVyZW5jZSBjb21wb25lbnQuXG4gICAqIFJlc29sdmVzIHRoZSByZWZlcmVuY2UgdG8gaXRzIGZ1bGx5IHJlYWxpemVkIFZpZXcgd2l0aCBwcm9wZXIgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGluUENvbm4gLSBUaGUgUENvbm4gb2JqZWN0IHRoYXQgcmVwcmVzZW50cyBhIHJlZmVyZW5jZSBjb21wb25lbnRcbiAgICogQHJldHVybnMgVGhlIGRlcmVmZXJlbmNlZCBQQ29ubmVjdCBvYmplY3QsIG9yIG51bGwgaWYgcmVmZXJlbmNlIGNhbid0IGJlIHJlc29sdmVkXG4gICAqL1xuICBzdGF0aWMgY3JlYXRlRnVsbFJlZmVyZW5jZWRWaWV3RnJvbVJlZihpblBDb25uOiBhbnkpOiBhbnkge1xuICAgIC8vIFZhbGlkYXRlIHRoYXQgaW5QQ29ubiBpcyBhIHJlZmVyZW5jZSBjb21wb25lbnRcbiAgICBpZiAoaW5QQ29ubi5nZXRDb21wb25lbnROYW1lKCkgIT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBSZWZlcmVuY2UgY29tcG9uZW50OiBjcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmIGluUENvbm4gaXMgTk9UIGEgcmVmZXJlbmNlISAke2luUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpfWApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gR2V0IHJlZmVyZW5jZSBjb25maWd1cmF0aW9uIGFuZCBtYWtlIGEgY29weVxuICAgIGNvbnN0IHJlZmVyZW5jZUNvbmZpZyA9IHsgLi4uaW5QQ29ubi5nZXRDb21wb25lbnRDb25maWcoKSB9O1xuXG4gICAgLy8gUmVtb3ZlIHByb3BlcnRpZXMgdGhhdCBzaG91bGQgbm90IGJlIGluaGVyaXRlZCBieSB0aGUgcmVmZXJlbmNlZCB2aWV3XG4gICAgLy8gKE1haW50YWluZWQgZnJvbSBSZWFjdCBTREsgaW1wbGVtZW50YXRpb24pXG4gICAgZGVsZXRlIHJlZmVyZW5jZUNvbmZpZz8ubmFtZTtcbiAgICBkZWxldGUgcmVmZXJlbmNlQ29uZmlnPy50eXBlO1xuICAgIGRlbGV0ZSByZWZlcmVuY2VDb25maWc/LnZpc2liaWxpdHk7XG5cbiAgICAvLyBHZXQgdGhlIG1ldGFkYXRhIGZvciB0aGUgcmVmZXJlbmNlZCB2aWV3XG4gICAgY29uc3Qgdmlld01ldGFkYXRhID0gaW5QQ29ubi5nZXRSZWZlcmVuY2VkVmlldygpO1xuXG4gICAgLy8gUmV0dXJuIG51bGwgaWYgdmlldyBtZXRhZGF0YSBpcyBub3QgZm91bmRcbiAgICBpZiAoIXZpZXdNZXRhZGF0YSkge1xuICAgICAgY29uc29sZS5sb2coJ1ZpZXcgbm90IGZvdW5kICcsIGluUENvbm4uZ2V0Q29tcG9uZW50Q29uZmlnKCkpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSB2aWV3IG9iamVjdCBieSBtZXJnaW5nIG1ldGFkYXRhIHdpdGggcmVmZXJlbmNlIGNvbmZpZ1xuICAgIGNvbnN0IHZpZXdPYmplY3QgPSB7XG4gICAgICAuLi52aWV3TWV0YWRhdGEsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgLi4udmlld01ldGFkYXRhLmNvbmZpZyxcbiAgICAgICAgLi4ucmVmZXJlbmNlQ29uZmlnXG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIFJlc29sdmUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzXG4gICAgY29uc3QgcmVzb2x2ZWRDb25maWdQcm9wcyA9IGluUENvbm4ucmVzb2x2ZUNvbmZpZ1Byb3BzKGluUENvbm4uZ2V0Q29uZmlnUHJvcHMoKSk7XG4gICAgY29uc3QgeyB2aXNpYmlsaXR5ID0gdHJ1ZSwgY29udGV4dCwgcmVhZE9ubHkgPSBmYWxzZSwgZGlzcGxheU1vZGUgPSAnJyB9ID0gcmVzb2x2ZWRDb25maWdQcm9wcztcblxuICAgIC8vIExvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBpZiBsb2dnaW5nIGlzIGVuYWJsZWRcbiAgICBpZiAoUmVmZXJlbmNlQ29tcG9uZW50LmJMb2dnaW5nKSB7XG4gICAgICBjb25zb2xlLmxvZyhgUmVmZXJlbmNlOiBhYm91dCB0byBjYWxsIGNyZWF0ZUNvbXBvbmVudCB3aXRoIHBhZ2VSZWZlcmVuY2U6IGNvbnRleHQ6ICR7aW5QQ29ubi5nZXRDb250ZXh0TmFtZSgpfWApO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSB0aGUgY29tcG9uZW50IHdpdGggdGhlIHJpZ2h0IGNvbnRleHRcbiAgICBjb25zdCB2aWV3Q29tcG9uZW50ID0gaW5QQ29ubi5jcmVhdGVDb21wb25lbnQodmlld09iamVjdCwgbnVsbCwgbnVsbCwge1xuICAgICAgcGFnZVJlZmVyZW5jZTogY29udGV4dCAmJiBjb250ZXh0LnN0YXJ0c1dpdGgoJ0BDTEFTUycpID8gJycgOiBjb250ZXh0XG4gICAgfSk7XG5cbiAgICAvLyBHZXQgdGhlIFBDb25uZWN0IG9iamVjdCBmcm9tIHRoZSBjcmVhdGVkIGNvbXBvbmVudFxuICAgIGNvbnN0IG5ld0NvbXBQQ29ubmVjdCA9IHZpZXdDb21wb25lbnQuZ2V0UENvbm5lY3QoKTtcblxuICAgIC8vIFNldCBpbmhlcml0ZWQgY29uZmlndXJhdGlvbiBvbiB0aGUgbmV3IGNvbXBvbmVudFxuICAgIG5ld0NvbXBQQ29ubmVjdC5zZXRJbmhlcml0ZWRDb25maWcoe1xuICAgICAgLi4ucmVmZXJlbmNlQ29uZmlnLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBkaXNwbGF5TW9kZVxuICAgIH0pO1xuXG4gICAgLy8gTG9nIGRlYnVnIGluZm9ybWF0aW9uIGlmIGxvZ2dpbmcgaXMgZW5hYmxlZFxuICAgIGlmIChSZWZlcmVuY2VDb21wb25lbnQuYkxvZ2dpbmcpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgQW5ndWxhciBSZWZlcmVuY2UgY29tcG9uZW50OiBjcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmIC0+IG5ld0NvbXBQQ29ubmVjdCBjb25maWdQcm9wczogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBuZXdDb21wUENvbm5lY3QuZ2V0Q29uZmlnUHJvcHMoKVxuICAgICAgICApfWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHRoZSBjb21wb25lbnQgaWYgaXQgc2hvdWxkIGJlIHZpc2libGUsIG90aGVyd2lzZSBudWxsXG4gICAgcmV0dXJuIHZpc2liaWxpdHkgIT09IGZhbHNlID8gbmV3Q29tcFBDb25uZWN0IDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGEgUENvbm4gb2JqZWN0IHRoYXQgbWlnaHQgYmUgYSAncmVmZXJlbmNlJy5cbiAgICogSWYgdGhlIGluY29taW5nIFBDb25uIGlzIGEgcmVmZXJlbmNlLCByZXR1cm5zIGl0cyBkZXJlZmVyZW5jZWQgVmlldy5cbiAgICogT3RoZXJ3aXNlLCByZXR1cm5zIHRoZSBwYXNzZWQgaW4gUENvbm4gdW5jaGFuZ2VkLlxuICAgKlxuICAgKiBAcGFyYW0gaW5QQ29ubiAtIEEgUENvbm4gb2JqZWN0IChleDogeyBnZXRQQ29ubmVjdCgpIH0gb3IgZGlyZWN0IFBDb25uZWN0KVxuICAgKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBQQ29ubiBvYmplY3Qgd2l0aCByZWZlcmVuY2VzIHJlc29sdmVkXG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplUENvbm4oaW5QQ29ubjogYW55KTogYW55IHtcbiAgICAvLyBFYXJseSByZXR1cm4gZm9yIG51bGwgb3IgdW5kZWZpbmVkIGlucHV0XG4gICAgaWYgKCFpblBDb25uKSB7XG4gICAgICByZXR1cm4gaW5QQ29ubjtcbiAgICB9XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgd2UgaGF2ZSBhbiBvYmplY3Qgd2l0aCBnZXRQQ29ubmVjdCBtZXRob2Qgb3IgZGlyZWN0IFBDb25uZWN0XG4gICAgY29uc3QgaGFzR2V0UENvbm5lY3RNZXRob2QgPSAhIWluUENvbm4uZ2V0UENvbm5lY3Q7XG5cbiAgICAvLyBHZXQgdGhlIGNvbXBvbmVudCBuYW1lIGluIHRoZSBhcHByb3ByaWF0ZSB3YXkgYmFzZWQgb24gdGhlIG9iamVjdCB0eXBlXG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IGhhc0dldFBDb25uZWN0TWV0aG9kID8gaW5QQ29ubi5nZXRQQ29ubmVjdCgpLmdldENvbXBvbmVudE5hbWUoKSA6IGluUENvbm4uZ2V0Q29tcG9uZW50TmFtZSgpO1xuXG4gICAgLy8gT25seSBwcm9jZXNzIGlmIHRoaXMgaXMgYSByZWZlcmVuY2UgY29tcG9uZW50XG4gICAgaWYgKGNvbXBvbmVudE5hbWUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICBpZiAoaGFzR2V0UENvbm5lY3RNZXRob2QpIHtcbiAgICAgICAgLy8gRm9yIG9iamVjdHMgd2l0aCBnZXRQQ29ubmVjdCBtZXRob2QsIGdldCB0aGUgcmVmZXJlbmNlZCB2aWV3IGFuZCBpdHMgY29tcG9uZW50XG4gICAgICAgIGNvbnN0IHJlZlZpZXdQQ29ubiA9IHRoaXMuY3JlYXRlRnVsbFJlZmVyZW5jZWRWaWV3RnJvbVJlZihpblBDb25uLmdldFBDb25uZWN0KCkpO1xuICAgICAgICByZXR1cm4gcmVmVmlld1BDb25uPy5nZXRDb21wb25lbnQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIGRpcmVjdCBQQ29ubmVjdCBvYmplY3RzLCBqdXN0IGNyZWF0ZSB0aGUgcmVmZXJlbmNlZCB2aWV3XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVGdWxsUmVmZXJlbmNlZFZpZXdGcm9tUmVmKGluUENvbm4pO1xuICAgIH1cblxuICAgIC8vIE5vdCBhIHJlZmVyZW5jZSBjb21wb25lbnQsIHJldHVybiB1bmNoYW5nZWRcbiAgICByZXR1cm4gaW5QQ29ubjtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemVzIGFuIGFycmF5IG9mIFBDb25uIG9iamVjdHMgYnkgcmVwbGFjaW5nIGFueSAncmVmZXJlbmNlJyBjb21wb25lbnRzXG4gICAqIHdpdGggdGhlaXIgcmVmZXJlbmNlZCB2aWV3cy5cbiAgICpcbiAgICogQHBhcmFtIGluUENvbm5BcnJheSAtIEFycmF5IG9mIFBDb25uIG9iamVjdHMgdG8gbm9ybWFsaXplXG4gICAqIEByZXR1cm5zIE5vcm1hbGl6ZWQgYXJyYXkgd2l0aCByZWZlcmVuY2VzIHJlc29sdmVkLCBvciBlbXB0eSBhcnJheSBpZiBpbnB1dCBpcyBpbnZhbGlkXG4gICAqL1xuICBzdGF0aWMgbm9ybWFsaXplUENvbm5BcnJheShpblBDb25uQXJyYXk6IGFueVtdKTogYW55W10ge1xuICAgIC8vIEhhbmRsZSBudWxsLCB1bmRlZmluZWQsIG9yIGVtcHR5IGFycmF5IGNhc2VcbiAgICBpZiAoIWluUENvbm5BcnJheT8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gaW5QQ29ubkFycmF5IHx8IFtdO1xuICAgIH1cblxuICAgIC8vIFByb2Nlc3MgYXJyYXk6IG5vcm1hbGl6ZSBlYWNoIGl0ZW0gYW5kIGZpbHRlciBvdXQgYW55IG51bGwvdW5kZWZpbmVkIHJlc3VsdHNcbiAgICBjb25zdCBub3JtYWxpemVkQXJyYXkgPSBpblBDb25uQXJyYXkubWFwKGNoaWxkID0+IFJlZmVyZW5jZUNvbXBvbmVudC5ub3JtYWxpemVQQ29ubihjaGlsZCkpLmZpbHRlcihCb29sZWFuKTtcblxuICAgIC8vIEVuc3VyZSB3ZSBhbHdheXMgcmV0dXJuIGFuIGFycmF5IChldmVuIGlmIGZpbHRlciByZW1vdmVzIGFsbCBpdGVtcylcbiAgICByZXR1cm4gbm9ybWFsaXplZEFycmF5IHx8IFtdO1xuICB9XG59XG4iLCI8IS0tIFJlZmVyZW5jZSBjb21wb25lbnQgaXMgYWxsIHN0YXRpYyBtZXRob2RzIHNvIC5odG1sIG5vdCB1c2VkIC0tPlxuIl19
@@ -19,10 +19,10 @@ export class RegionComponent {
19
19
  // The children may contain 'reference' components, so normalize the children...
20
20
  this.arChildren$ = ReferenceComponent.normalizePConnArray(this.pConn$.getChildren());
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RegionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: RegionComponent, isStandalone: true, selector: "app-region", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<!-- When adding a component here, add the same component in 'default-form' template as well -->\n<div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Region wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RegionComponent, isStandalone: true, selector: "app-region", inputs: { pConn$: "pConn$", formGroup$: "formGroup$" }, usesOnChanges: true, ngImport: i0, template: "<!-- When adding a component here, add the same component in 'default-form' template as well -->\n<div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Region wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(() => CommonModule) }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(() => ComponentMapperComponent), selector: "component-mapper", inputs: ["name", "props", "errorMsg", "outputEvents", "parent"] }] }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RegionComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegionComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{ selector: 'app-region', standalone: true, imports: [CommonModule, forwardRef(() => ComponentMapperComponent)], template: "<!-- When adding a component here, add the same component in 'default-form' template as well -->\n<div *ngFor=\"let kid of arChildren$\">\n <component-mapper\n [name]=\"kid.getPConnect().getComponentName()\"\n [props]=\"{\n pConn$: kid.getPConnect(),\n formGroup$: formGroup$\n }\"\n errorMsg=\"Region wants component not yet available: {{ kid.getPConnect().getComponentName() }}\"\n ></component-mapper>\n</div>\n" }]
28
28
  }], propDecorators: { pConn$: [{