@coolon/angular-ui-powerups 12.4.8 → 13.0.0

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 (316) hide show
  1. package/assets/activities/activities.scss +1 -1
  2. package/assets/cards.scss +1 -1
  3. package/assets/form.scss +1 -1
  4. package/assets/interaction/editor/inline-string-editor.scss +1 -1
  5. package/assets/interaction.scss +1 -1
  6. package/assets/mixins.scss +2 -2
  7. package/assets/pills.scss +1 -1
  8. package/assets/styles.scss +1 -1
  9. package/{esm2015/lib/angular-ui-powerups.module.js → esm2020/lib/angular-ui-powerups.module.mjs} +5 -5
  10. package/esm2020/lib/components/busy-overlay/busy-overlay.component.mjs +32 -0
  11. package/{esm2015/lib/components/cards/abstract-card-container.component.js → esm2020/lib/components/cards/abstract-card-container.component.mjs} +4 -4
  12. package/esm2020/lib/components/cards/card-container/card-container.component.mjs +129 -0
  13. package/esm2020/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  14. package/esm2020/lib/components/commands/command/command.component.mjs +96 -0
  15. package/{esm2015/lib/components/commands/command-face/command-face.component.js → esm2020/lib/components/commands/command-face/command-face.component.mjs} +5 -10
  16. package/esm2020/lib/components/commands/command-face.mjs +112 -0
  17. package/{esm2015/lib/components/commands/flex.component.js → esm2020/lib/components/commands/flex.component.mjs} +4 -4
  18. package/esm2020/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +84 -0
  19. package/esm2020/lib/components/commands/group/popup-menu/more-menu.component.mjs +57 -0
  20. package/esm2020/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +101 -0
  21. package/esm2020/lib/components/commands/group/popup-menu/popup-menu.component.mjs +53 -0
  22. package/esm2020/lib/components/commands/group/tool-bar/tool-bar.component.mjs +31 -0
  23. package/{esm2015/lib/components/commands/separator.component.js → esm2020/lib/components/commands/separator.component.mjs} +5 -5
  24. package/{esm2015/lib/components/components.module.js → esm2020/lib/components/components.module.mjs} +6 -6
  25. package/{esm2015/lib/components/disposable-component.js → esm2020/lib/components/disposable-component.mjs} +4 -4
  26. package/{esm2015/lib/components/empty-state/empty-state.component.js → esm2020/lib/components/empty-state/empty-state.component.mjs} +6 -10
  27. package/{esm2015/lib/components/focus-container/focus-container.component.js → esm2020/lib/components/focus-container/focus-container.component.mjs} +6 -11
  28. package/{esm2015/lib/components/focusable.component.js → esm2020/lib/components/focusable.component.mjs} +6 -8
  29. package/{esm2015/lib/components/forms/abstract-input.component.js → esm2020/lib/components/forms/abstract-input.component.mjs} +4 -4
  30. package/{esm2015/lib/components/forms/abstract-list-input.component.js → esm2020/lib/components/forms/abstract-list-input.component.mjs} +4 -4
  31. package/{esm2015/lib/components/forms/abstract-value-input.component.js → esm2020/lib/components/forms/abstract-value-input.component.mjs} +4 -4
  32. package/esm2020/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +72 -0
  33. package/esm2020/lib/components/forms/checkbox-input/checkbox-input.component.mjs +29 -0
  34. package/esm2020/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +52 -0
  35. package/esm2020/lib/components/forms/number-input/number-input.component.mjs +33 -0
  36. package/esm2020/lib/components/forms/password-input/password-input.component.mjs +24 -0
  37. package/esm2020/lib/components/forms/select-input/select-input.component.mjs +57 -0
  38. package/esm2020/lib/components/forms/string-input/string-input.component.mjs +48 -0
  39. package/esm2020/lib/components/forms/text-input/text-input.component.mjs +30 -0
  40. package/esm2020/lib/components/icon/icon.component.mjs +52 -0
  41. package/esm2020/lib/components/labelled-value/labelled-value.component.mjs +20 -0
  42. package/esm2020/lib/components/loading-container/loading-container.component.mjs +50 -0
  43. package/esm2020/lib/components/noop/noop.component.mjs +13 -0
  44. package/{esm2015/lib/components/resize-aware.component.js → esm2020/lib/components/resize-aware.component.mjs} +4 -4
  45. package/esm2020/lib/components/scroll-container/scroll-container.component.mjs +15 -0
  46. package/esm2020/lib/components/section-header/section-header.component.mjs +36 -0
  47. package/{esm2015/lib/components/switch-case/switch-case.component.js → esm2020/lib/components/switch-case/switch-case.component.mjs} +11 -15
  48. package/esm2020/lib/components/tables/abstract-table-model.mjs +185 -0
  49. package/esm2020/lib/components/tables/abstract-table.component.mjs +168 -0
  50. package/{esm2015/lib/components/tables/column-list-model.js → esm2020/lib/components/tables/column-list-model.mjs} +2 -2
  51. package/{esm2015/lib/components/tables/table/cell-portal-ref.js → esm2020/lib/components/tables/table/cell-portal-ref.mjs} +2 -2
  52. package/esm2020/lib/components/tables/table/column-model.mjs +392 -0
  53. package/esm2020/lib/components/tables/table/column-template/column-template.directive.mjs +35 -0
  54. package/esm2020/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.mjs +22 -0
  55. package/esm2020/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.mjs +15 -0
  56. package/esm2020/lib/components/tables/table/edit-row-controls/edit-row-controls.component.mjs +55 -0
  57. package/esm2020/lib/components/tables/table/paginator/paginator.component.mjs +40 -0
  58. package/esm2020/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.mjs +26 -0
  59. package/esm2020/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.mjs +31 -0
  60. package/esm2020/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.mjs +93 -0
  61. package/esm2020/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.mjs +32 -0
  62. package/{esm2015/lib/components/tables/table/table-row-menu/table-row-menu.component.js → esm2020/lib/components/tables/table/table-row-menu/table-row-menu.component.mjs} +5 -5
  63. package/esm2020/lib/components/tables/table/table.component.mjs +95 -0
  64. package/esm2020/lib/components/tables/tree-table/decorated-tree-node.mjs +171 -0
  65. package/esm2020/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +72 -0
  66. package/esm2020/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +91 -0
  67. package/{esm2015/lib/components/tables/tree-table/tree-label-column-model.js → esm2020/lib/components/tables/tree-table/tree-label-column-model.mjs} +2 -2
  68. package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +95 -0
  69. package/esm2020/lib/components/tables/tree-table/tree-table-model.mjs +94 -0
  70. package/{esm2015/lib/components/text/markdown/markdown.component.js → esm2020/lib/components/text/markdown/markdown.component.mjs} +6 -10
  71. package/{esm2015/lib/components/vertical-focus-container/vertical-focus-container.component.js → esm2020/lib/components/vertical-focus-container/vertical-focus-container.component.mjs} +6 -11
  72. package/{esm2015/lib/directives/command.directive.js → esm2020/lib/directives/command.directive.mjs} +4 -4
  73. package/{esm2015/lib/directives/directives.module.js → esm2020/lib/directives/directives.module.mjs} +5 -5
  74. package/{esm2015/lib/directives/focus-binding-factory.js → esm2020/lib/directives/focus-binding-factory.mjs} +4 -4
  75. package/{esm2015/lib/directives/focus-binding.directive.js → esm2020/lib/directives/focus-binding.directive.mjs} +4 -4
  76. package/{esm2015/lib/directives/highlight-text-model.directive.js → esm2020/lib/directives/highlight-text-model.directive.mjs} +4 -4
  77. package/{esm2015/lib/directives/highlight.pipe.js → esm2020/lib/directives/highlight.pipe.mjs} +7 -8
  78. package/esm2020/lib/interaction/activity.mjs +87 -0
  79. package/{esm2015/lib/interaction/alert.js → esm2020/lib/interaction/alert.mjs} +2 -2
  80. package/{esm2015/lib/interaction/components/abstract-confirm-dialog.component.js → esm2020/lib/interaction/components/abstract-confirm-dialog.component.mjs} +4 -4
  81. package/{esm2015/lib/interaction/components/abstract-dialog.component.js → esm2020/lib/interaction/components/abstract-dialog.component.mjs} +4 -4
  82. package/esm2020/lib/interaction/components/activity-actions/activity-actions.component.mjs +109 -0
  83. package/esm2020/lib/interaction/components/activity-body/activity-body.component.mjs +23 -0
  84. package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs +205 -0
  85. package/{esm2015/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.js → esm2020/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs} +5 -9
  86. package/esm2020/lib/interaction/components/activity-title/activity-title.component.mjs +41 -0
  87. package/{esm2015/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.js → esm2020/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs} +5 -6
  88. package/esm2020/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +24 -0
  89. package/esm2020/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +22 -0
  90. package/esm2020/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +30 -0
  91. package/esm2020/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +91 -0
  92. package/esm2020/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +73 -0
  93. package/esm2020/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +30 -0
  94. package/esm2020/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +30 -0
  95. package/esm2020/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +34 -0
  96. package/esm2020/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +29 -0
  97. package/esm2020/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +173 -0
  98. package/esm2020/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +91 -0
  99. package/esm2020/lib/interaction/components/input-activities/input-activity.mjs +103 -0
  100. package/{esm2015/lib/interaction/components/input-activities/select-input-activity.js → esm2020/lib/interaction/components/input-activities/select-input-activity.mjs} +6 -8
  101. package/{esm2015/lib/interaction/components/input-activities/string-input-activity.js → esm2020/lib/interaction/components/input-activities/string-input-activity.mjs} +4 -4
  102. package/{esm2015/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.js → esm2020/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs} +5 -9
  103. package/{esm2015/lib/interaction/directives/interaction-context-trigger-for.directive.js → esm2020/lib/interaction/directives/interaction-context-trigger-for.directive.mjs} +5 -5
  104. package/{esm2015/lib/interaction/interaction.module.js → esm2020/lib/interaction/interaction.module.mjs} +5 -11
  105. package/{esm2015/lib/interaction/services/interaction.service.js → esm2020/lib/interaction/services/interaction.service.mjs} +4 -4
  106. package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +47 -0
  107. package/esm2020/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +61 -0
  108. package/{esm2015/lib/place/components/abstract-place-navigation.component.js → esm2020/lib/place/components/abstract-place-navigation.component.mjs} +4 -4
  109. package/esm2020/lib/place/components/list-place-nav/list-place-nav.component.mjs +23 -0
  110. package/esm2020/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +13 -0
  111. package/esm2020/lib/place/components/place-outlet/place-outlet.component.mjs +256 -0
  112. package/esm2020/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +93 -0
  113. package/esm2020/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +22 -0
  114. package/{esm2015/lib/place/guards/consolidated-param-map.js → esm2020/lib/place/guards/consolidated-param-map.mjs} +2 -2
  115. package/esm2020/lib/place/guards/noop-auth-guard.service.mjs +18 -0
  116. package/esm2020/lib/place/guards/place.guard.mjs +109 -0
  117. package/esm2020/lib/place/navigation/place-component-deactivation-handler.mjs +83 -0
  118. package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +43 -0
  119. package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +152 -0
  120. package/esm2020/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +62 -0
  121. package/{esm2015/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.js → esm2020/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs} +2 -2
  122. package/esm2020/lib/place/navigation/session/navigation-session.mjs +157 -0
  123. package/esm2020/lib/place/place-component.mjs +198 -0
  124. package/{esm2015/lib/place/place-definition.js → esm2020/lib/place/place-definition.mjs} +2 -2
  125. package/esm2020/lib/place/place-history.mjs +138 -0
  126. package/esm2020/lib/place/place-router.mjs +331 -0
  127. package/esm2020/lib/place/place.decorator.mjs +18 -0
  128. package/{esm2015/lib/place/place.module.js → esm2020/lib/place/place.module.mjs} +5 -6
  129. package/{esm2015/lib/place/route/formatter.js → esm2020/lib/place/route/formatter.mjs} +2 -2
  130. package/esm2020/lib/place/route/parameter-definition.mjs +123 -0
  131. package/esm2020/lib/place/route/visit-sanitiser.mjs +41 -0
  132. package/{esm2015/lib/place/url-service.js → esm2020/lib/place/url-service.mjs} +4 -4
  133. package/{esm2015/lib/place/url-snapshot.js → esm2020/lib/place/url-snapshot.mjs} +2 -2
  134. package/esm2020/lib/place/visit.mjs +69 -0
  135. package/{esm2015/lib/services/markdown/markdown.service.js → esm2020/lib/services/markdown/markdown.service.mjs} +5 -5
  136. package/esm2020/lib/services/markdown/pill-plugin.mjs +37 -0
  137. package/{esm2015/lib/services/visibility-service.js → esm2020/lib/services/visibility-service.mjs} +4 -4
  138. package/fesm2015/{coolon-angular-ui-powerups.js → coolon-angular-ui-powerups.mjs} +1202 -1417
  139. package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -0
  140. package/fesm2020/coolon-angular-ui-powerups.mjs +9891 -0
  141. package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -0
  142. package/package.json +39 -26
  143. package/schematics/activity/index.js +3 -3
  144. package/schematics/activity/index.js.map +1 -1
  145. package/schematics/aup-i18n/index.js +7 -7
  146. package/schematics/aup-i18n/index.js.map +1 -1
  147. package/schematics/bootstrap-app/index.js +9 -9
  148. package/schematics/bootstrap-app/index.js.map +1 -1
  149. package/schematics/bootstrap-app/templates/src/styles.scss.template +2 -2
  150. package/schematics/component/index.js +3 -3
  151. package/schematics/component/index.js.map +1 -1
  152. package/schematics/ng-add/index.js +2 -2
  153. package/schematics/ng-add/index.js.map +1 -1
  154. package/schematics/place-add/index.js +3 -3
  155. package/schematics/place-add/index.js.map +1 -1
  156. package/schematics/place-bootstrap/index.js +1 -1
  157. package/schematics/place-bootstrap/index.js.map +1 -1
  158. package/schematics/place-routes/place-builder.js +6 -6
  159. package/schematics/place-routes/place-builder.js.map +1 -1
  160. package/schematics/place-routes/place-class-scanner.js +4 -4
  161. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  162. package/schematics/place-routes/place-def.js +4 -4
  163. package/schematics/place-routes/place-def.js.map +1 -1
  164. package/schematics/utils/decorators/decorated-class.js +1 -1
  165. package/schematics/utils/decorators/decorated-class.js.map +1 -1
  166. package/schematics/utils/import-def.js +3 -3
  167. package/schematics/utils/import-def.js.map +1 -1
  168. package/schematics/utils/method-scanner.js +5 -5
  169. package/schematics/utils/method-scanner.js.map +1 -1
  170. package/schematics/utils/path-helper.js +3 -3
  171. package/schematics/utils/path-helper.js.map +1 -1
  172. package/schematics/utils/source-file-scanner.js +6 -6
  173. package/schematics/utils/source-file-scanner.js.map +1 -1
  174. package/schematics/utils/source-file-utilities.js +2 -2
  175. package/schematics/utils/source-file-utilities.js.map +1 -1
  176. package/schematics/utils/template-utilities.js +4 -4
  177. package/schematics/utils/template-utilities.js.map +1 -1
  178. package/bundles/coolon-angular-ui-powerups.umd.js +0 -11847
  179. package/bundles/coolon-angular-ui-powerups.umd.js.map +0 -1
  180. package/esm2015/lib/components/busy-overlay/busy-overlay.component.js +0 -36
  181. package/esm2015/lib/components/cards/card-container/card-container.component.js +0 -133
  182. package/esm2015/lib/components/cards/card-stack/card-stack.component.js +0 -85
  183. package/esm2015/lib/components/commands/command/command.component.js +0 -100
  184. package/esm2015/lib/components/commands/command-face.js +0 -112
  185. package/esm2015/lib/components/commands/group/popup-menu/abstract-popup-menu.component.js +0 -89
  186. package/esm2015/lib/components/commands/group/popup-menu/more-menu.component.js +0 -61
  187. package/esm2015/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.js +0 -104
  188. package/esm2015/lib/components/commands/group/popup-menu/popup-menu.component.js +0 -58
  189. package/esm2015/lib/components/commands/group/tool-bar/tool-bar.component.js +0 -36
  190. package/esm2015/lib/components/forms/autocomplete-input/autocomplete-input.component.js +0 -76
  191. package/esm2015/lib/components/forms/checkbox-input/checkbox-input.component.js +0 -33
  192. package/esm2015/lib/components/forms/multiple-select-input/multiple-select-input.component.js +0 -56
  193. package/esm2015/lib/components/forms/number-input/number-input.component.js +0 -37
  194. package/esm2015/lib/components/forms/password-input/password-input.component.js +0 -28
  195. package/esm2015/lib/components/forms/select-input/select-input.component.js +0 -61
  196. package/esm2015/lib/components/forms/string-input/string-input.component.js +0 -52
  197. package/esm2015/lib/components/forms/text-input/text-input.component.js +0 -34
  198. package/esm2015/lib/components/icon/icon.component.js +0 -56
  199. package/esm2015/lib/components/labelled-value/labelled-value.component.js +0 -24
  200. package/esm2015/lib/components/loading-container/loading-container.component.js +0 -54
  201. package/esm2015/lib/components/noop/noop.component.js +0 -17
  202. package/esm2015/lib/components/scroll-container/scroll-container.component.js +0 -19
  203. package/esm2015/lib/components/section-header/section-header.component.js +0 -40
  204. package/esm2015/lib/components/tables/abstract-table-model.js +0 -188
  205. package/esm2015/lib/components/tables/abstract-table.component.js +0 -170
  206. package/esm2015/lib/components/tables/table/column-model.js +0 -389
  207. package/esm2015/lib/components/tables/table/column-template/column-template.directive.js +0 -36
  208. package/esm2015/lib/components/tables/table/default-cell-renderer/default-cell-renderer.component.js +0 -26
  209. package/esm2015/lib/components/tables/table/default-header-cell-renderer/default-header-cell-renderer.component.js +0 -19
  210. package/esm2015/lib/components/tables/table/edit-row-controls/edit-row-controls.component.js +0 -60
  211. package/esm2015/lib/components/tables/table/paginator/paginator.component.js +0 -44
  212. package/esm2015/lib/components/tables/table/select-cell-renderer/select-cell-renderer.component.js +0 -32
  213. package/esm2015/lib/components/tables/table/select-header-cell-renderer/select-header-cell-renderer.component.js +0 -37
  214. package/esm2015/lib/components/tables/table/table-cell-renderer/table-cell-renderer.component.js +0 -98
  215. package/esm2015/lib/components/tables/table/table-header-cell-renderer/table-header-cell-renderer.component.js +0 -36
  216. package/esm2015/lib/components/tables/table/table.component.js +0 -100
  217. package/esm2015/lib/components/tables/tree-table/decorated-tree-node.js +0 -171
  218. package/esm2015/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.js +0 -76
  219. package/esm2015/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.js +0 -96
  220. package/esm2015/lib/components/tables/tree-table/tree-table-component.js +0 -100
  221. package/esm2015/lib/components/tables/tree-table/tree-table-model.js +0 -94
  222. package/esm2015/lib/interaction/activity.js +0 -88
  223. package/esm2015/lib/interaction/components/activity-actions/activity-actions.component.js +0 -113
  224. package/esm2015/lib/interaction/components/activity-body/activity-body.component.js +0 -27
  225. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +0 -214
  226. package/esm2015/lib/interaction/components/activity-title/activity-title.component.js +0 -45
  227. package/esm2015/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.js +0 -28
  228. package/esm2015/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.js +0 -26
  229. package/esm2015/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.js +0 -34
  230. package/esm2015/lib/interaction/components/add-card-activity/add-card-activity.component.js +0 -95
  231. package/esm2015/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.js +0 -77
  232. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +0 -34
  233. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +0 -34
  234. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +0 -39
  235. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +0 -33
  236. package/esm2015/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.js +0 -176
  237. package/esm2015/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.js +0 -96
  238. package/esm2015/lib/interaction/components/input-activities/input-activity.js +0 -107
  239. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.js +0 -41
  240. package/esm2015/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.js +0 -58
  241. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +0 -27
  242. package/esm2015/lib/place/components/not-authorised-notice/not-authorised-notice.component.js +0 -17
  243. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +0 -263
  244. package/esm2015/lib/place/components/side-place-navigation/side-place-navigation.component.js +0 -97
  245. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +0 -26
  246. package/esm2015/lib/place/guards/noop-auth-guard.service.js +0 -21
  247. package/esm2015/lib/place/guards/place.guard.js +0 -116
  248. package/esm2015/lib/place/navigation/place-component-deactivation-handler.js +0 -88
  249. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.js +0 -46
  250. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.js +0 -159
  251. package/esm2015/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.js +0 -65
  252. package/esm2015/lib/place/navigation/session/navigation-session.js +0 -160
  253. package/esm2015/lib/place/place-component.js +0 -204
  254. package/esm2015/lib/place/place-history.js +0 -139
  255. package/esm2015/lib/place/place-router.js +0 -336
  256. package/esm2015/lib/place/place.decorator.js +0 -19
  257. package/esm2015/lib/place/route/parameter-definition.js +0 -128
  258. package/esm2015/lib/place/route/visit-sanitiser.js +0 -44
  259. package/esm2015/lib/place/visit.js +0 -69
  260. package/esm2015/lib/services/markdown/pill-plugin.js +0 -38
  261. package/fesm2015/coolon-angular-ui-powerups.js.map +0 -1
  262. /package/{esm2015/coolon-angular-ui-powerups.js → esm2020/coolon-angular-ui-powerups.mjs} +0 -0
  263. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  264. /package/{esm2015/lib/animations/exports.js → esm2020/lib/animations/exports.mjs} +0 -0
  265. /package/{esm2015/lib/animations/slide-animations.js → esm2020/lib/animations/slide-animations.mjs} +0 -0
  266. /package/{esm2015/lib/components/alignment.js → esm2020/lib/components/alignment.mjs} +0 -0
  267. /package/{esm2015/lib/components/commands/group/command-container.js → esm2020/lib/components/commands/group/command-container.mjs} +0 -0
  268. /package/{esm2015/lib/components/commands/group/popup-aware.component.js → esm2020/lib/components/commands/group/popup-aware.component.mjs} +0 -0
  269. /package/{esm2015/lib/components/commands/group/popup-container.js → esm2020/lib/components/commands/group/popup-container.mjs} +0 -0
  270. /package/{esm2015/lib/components/exports.js → esm2020/lib/components/exports.mjs} +0 -0
  271. /package/{esm2015/lib/components/tables/edit-session.js → esm2020/lib/components/tables/edit-session.mjs} +0 -0
  272. /package/{esm2015/lib/components/tables/table/cell-editors.js → esm2020/lib/components/tables/table/cell-editors.mjs} +0 -0
  273. /package/{esm2015/lib/components/tables/table/cell-renderer.js → esm2020/lib/components/tables/table/cell-renderer.mjs} +0 -0
  274. /package/{esm2015/lib/components/tables/table/column-text-properties.js → esm2020/lib/components/tables/table/column-text-properties.mjs} +0 -0
  275. /package/{esm2015/lib/components/tables/table/mutable-cell-renderer.js → esm2020/lib/components/tables/table/mutable-cell-renderer.mjs} +0 -0
  276. /package/{esm2015/lib/components/tables/table/table-def.js → esm2020/lib/components/tables/table/table-def.mjs} +0 -0
  277. /package/{esm2015/lib/components/tables/table/table-model.js → esm2020/lib/components/tables/table/table-model.mjs} +0 -0
  278. /package/{esm2015/lib/components/tables/table/text-search-predicate.js → esm2020/lib/components/tables/table/text-search-predicate.mjs} +0 -0
  279. /package/{esm2015/lib/components/tables/tree-table/flattened-tree-list-model.js → esm2020/lib/components/tables/tree-table/flattened-tree-list-model.mjs} +0 -0
  280. /package/{esm2015/lib/components/tables/tree-table/tree-expansion-model.js → esm2020/lib/components/tables/tree-table/tree-expansion-model.mjs} +0 -0
  281. /package/{esm2015/lib/components/track-by.js → esm2020/lib/components/track-by.mjs} +0 -0
  282. /package/{esm2015/lib/components/types/bounds.class.js → esm2020/lib/components/types/bounds.class.mjs} +0 -0
  283. /package/{esm2015/lib/components/types/dimension.class.js → esm2020/lib/components/types/dimension.class.mjs} +0 -0
  284. /package/{esm2015/lib/components/types/point.class.js → esm2020/lib/components/types/point.class.mjs} +0 -0
  285. /package/{esm2015/lib/directives/exports.js → esm2020/lib/directives/exports.mjs} +0 -0
  286. /package/{esm2015/lib/directives/focus-binding.js → esm2020/lib/directives/focus-binding.mjs} +0 -0
  287. /package/{esm2015/lib/interaction/abstract-interaction-context.js → esm2020/lib/interaction/abstract-interaction-context.mjs} +0 -0
  288. /package/{esm2015/lib/interaction/activity-ref.js → esm2020/lib/interaction/activity-ref.mjs} +0 -0
  289. /package/{esm2015/lib/interaction/components/editors/edit-context.js → esm2020/lib/interaction/components/editors/edit-context.mjs} +0 -0
  290. /package/{esm2015/lib/interaction/components/editors/inline-string-editor/inline-editor-model.js → esm2020/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs} +0 -0
  291. /package/{esm2015/lib/interaction/confirm.js → esm2020/lib/interaction/confirm.mjs} +0 -0
  292. /package/{esm2015/lib/interaction/exports.js → esm2020/lib/interaction/exports.mjs} +0 -0
  293. /package/{esm2015/lib/interaction/in-place-interaction-context.js → esm2020/lib/interaction/in-place-interaction-context.mjs} +0 -0
  294. /package/{esm2015/lib/interaction/interaction-context.js → esm2020/lib/interaction/interaction-context.mjs} +0 -0
  295. /package/{esm2015/lib/interaction/route-synchronisation-adapter.js → esm2020/lib/interaction/route-synchronisation-adapter.mjs} +0 -0
  296. /package/{esm2015/lib/interaction/services/interaction-service-routing-adapter.js → esm2020/lib/interaction/services/interaction-service-routing-adapter.mjs} +0 -0
  297. /package/{esm2015/lib/interaction/services/modal-interaction-context.factory.js → esm2020/lib/interaction/services/modal-interaction-context.factory.mjs} +0 -0
  298. /package/{esm2015/lib/place/components/place-outlet/route-animations.js → esm2020/lib/place/components/place-outlet/route-animations.mjs} +0 -0
  299. /package/{esm2015/lib/place/exports.js → esm2020/lib/place/exports.mjs} +0 -0
  300. /package/{esm2015/lib/place/nav-item.js → esm2020/lib/place/nav-item.mjs} +0 -0
  301. /package/{esm2015/lib/place/navigation/session/abstract-pop-state-navigation.js → esm2020/lib/place/navigation/session/abstract-pop-state-navigation.mjs} +0 -0
  302. /package/{esm2015/lib/place/navigation/session/event-cleanup/event-clean-up-session.js → esm2020/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs} +0 -0
  303. /package/{esm2015/lib/place/navigation/session/interactions/navigating-during-interaction.js → esm2020/lib/place/navigation/session/interactions/navigating-during-interaction.mjs} +0 -0
  304. /package/{esm2015/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.js → esm2020/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs} +0 -0
  305. /package/{esm2015/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.js → esm2020/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs} +0 -0
  306. /package/{esm2015/lib/place/navigation/session/navigating.js → esm2020/lib/place/navigation/session/navigating.mjs} +0 -0
  307. /package/{esm2015/lib/place/navigation/session/navigation-context.js → esm2020/lib/place/navigation/session/navigation-context.mjs} +0 -0
  308. /package/{esm2015/lib/place/navigation/session/pop-state-navigation.js → esm2020/lib/place/navigation/session/pop-state-navigation.mjs} +0 -0
  309. /package/{esm2015/lib/place/place-access-guard.js → esm2020/lib/place/place-access-guard.mjs} +0 -0
  310. /package/{esm2015/lib/place/place-config.js → esm2020/lib/place/place-config.mjs} +0 -0
  311. /package/{esm2015/lib/place/route/json-types.js → esm2020/lib/place/route/json-types.mjs} +0 -0
  312. /package/{esm2015/lib/place/route/parameter-decorators.js → esm2020/lib/place/route/parameter-decorators.mjs} +0 -0
  313. /package/{esm2015/lib/place/route/parameter-sanitiser.js → esm2020/lib/place/route/parameter-sanitiser.mjs} +0 -0
  314. /package/{esm2015/lib/place/route/parameter-snapshot.js → esm2020/lib/place/route/parameter-snapshot.mjs} +0 -0
  315. /package/{esm2015/lib/services/exports.js → esm2020/lib/services/exports.mjs} +0 -0
  316. /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
@@ -0,0 +1,87 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, HostBinding, InjectionToken, ViewChild } from '@angular/core';
3
+ import { Command, DelegatingValueModel, Dsl, TrackExternal } from '@coolon/pectin';
4
+ import { assert } from '@coolon/typescript-utilities';
5
+ import { DisposableComponent } from '../components/disposable-component';
6
+ import { ActivityActionsComponent } from './components/activity-actions/activity-actions.component';
7
+ import * as i0 from "@angular/core";
8
+ export const ACTIVITY_DATA = new InjectionToken('InteractionActivityData');
9
+ export class Activity extends DisposableComponent {
10
+ constructor() {
11
+ super();
12
+ this._busyModel = this.registerDisposable(new DelegatingValueModel().withDefault(false));
13
+ this._focusedModel = this.registerDisposable(new DelegatingValueModel());
14
+ this.class = 'aup-activity';
15
+ this.busyWhile(this.confirmCommand.busy);
16
+ }
17
+ get isFocused() {
18
+ return this._focusedModel.value;
19
+ }
20
+ initialise(nestedInteractionContext, activityContext) {
21
+ const { chain, when } = Dsl.disposeWith(this);
22
+ assert.isNil(this._activityContext);
23
+ this._activityContext = activityContext;
24
+ this._interactionContext = nestedInteractionContext;
25
+ this._focusedModel.setDelegate(activityContext.focused);
26
+ when(this._focusedModel).becomesTruthy(() => {
27
+ this.onActivityReady();
28
+ });
29
+ }
30
+ ngAfterViewInit() {
31
+ this.activityActions?.initCommands(this);
32
+ }
33
+ get interactionContext() {
34
+ assert.isTruthy(this.isInitialised());
35
+ return this._interactionContext;
36
+ }
37
+ done(result) {
38
+ return this._activityContext.onDone(result);
39
+ }
40
+ cancel(error) {
41
+ this._activityContext.onCancel(error);
42
+ }
43
+ // @Trace()
44
+ onActivityReady() {
45
+ }
46
+ get busy() {
47
+ return this._busyModel.readonly;
48
+ }
49
+ get focused() {
50
+ return this._focusedModel.readonly;
51
+ }
52
+ busyWhile(busyModel) {
53
+ this._busyModel.setDelegate(busyModel);
54
+ }
55
+ isBusy() {
56
+ return this._busyModel.value;
57
+ }
58
+ isInitialised() {
59
+ return !!this._activityContext;
60
+ }
61
+ }
62
+ Activity.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: Activity, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ Activity.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: Activity, selector: "ng-component", host: { properties: { "class": "this.class", "attr.focused": "this.isFocused" } }, viewQueries: [{ propertyName: "activityActions", first: true, predicate: ActivityActionsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
64
+ __decorate([
65
+ TrackExternal(),
66
+ __metadata("design:type", Command)
67
+ ], Activity.prototype, "confirmCommand", void 0);
68
+ __decorate([
69
+ TrackExternal(),
70
+ __metadata("design:type", Command)
71
+ ], Activity.prototype, "cancelCommand", void 0);
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: Activity, decorators: [{
73
+ type: Component,
74
+ args: [{
75
+ template: ''
76
+ }]
77
+ }], ctorParameters: function () { return []; }, propDecorators: { activityActions: [{
78
+ type: ViewChild,
79
+ args: [ActivityActionsComponent]
80
+ }], confirmCommand: [], cancelCommand: [], class: [{
81
+ type: HostBinding,
82
+ args: ['class']
83
+ }], isFocused: [{
84
+ type: HostBinding,
85
+ args: ['attr.focused']
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsV0FBVyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQVMsYUFBYSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOztBQUdwRyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQU0seUJBQXlCLENBQUMsQ0FBQztBQUtoRixNQUFNLE9BQU8sUUFBd0IsU0FBUSxtQkFBbUI7SUF5QjlEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF4Qk8sZUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEcsa0JBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLENBQUM7UUFlL0QsVUFBSyxHQUFHLGNBQWMsQ0FBQztRQVMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQVJELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQU9ELFVBQVUsQ0FBQyx3QkFBNEMsRUFBRSxlQUF1QztRQUM5RixNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFO1lBQzFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBUztRQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7SUFDWCxlQUFlO0lBQ2YsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUE4QjtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQzs7cUdBaEZVLFFBQVE7eUZBQVIsUUFBUSx3TEFNUix3QkFBd0IsdUVBUnpCLEVBQUU7QUFZWjtJQURDLGFBQWEsRUFBRTs4QkFDTyxPQUFPO2dEQUFVO0FBR3hDO0lBREMsYUFBYSxFQUFFOzhCQUNNLE9BQU87K0NBQVU7MkZBYjVCLFFBQVE7a0JBSHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7MEVBUVcsZUFBZTtzQkFEeEIsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBSTVCLGNBQWMsTUFHZCxhQUFhLE1BS0UsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUdoQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdGlvblRva2VuLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1hbmQsIERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBEc2wsIFRyYWNlLCBUcmFja0V4dGVybmFsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aXZpdHktYWN0aW9ucy9hY3Rpdml0eS1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICcuL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdJbnRlcmFjdGlvbkFjdGl2aXR5RGF0YScpO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5PEQsIFIsIEUgPSBhbnk+IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1c3lNb2RlbCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKSk7XG4gIHByaXZhdGUgX2ZvY3VzZWRNb2RlbCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKTtcbiAgcHJpdmF0ZSBfYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eS5Db250ZXh0PFIsIEU+O1xuXG4gIEBWaWV3Q2hpbGQoQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50KVxuICBwcm90ZWN0ZWQgYWN0aXZpdHlBY3Rpb25zOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQ7XG5cbiAgQFRyYWNrRXh0ZXJuYWwoKVxuICBwdWJsaWMgY29uZmlybUNvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj47XG5cbiAgQFRyYWNrRXh0ZXJuYWwoKVxuICBwdWJsaWMgY2FuY2VsQ29tbWFuZDogQ29tbWFuZDx1bmtub3duPjtcblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIF9pbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnYXVwLWFjdGl2aXR5JztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZm9jdXNlZCcpXG4gIGdldCBpc0ZvY3VzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRNb2RlbC52YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5idXN5V2hpbGUodGhpcy5jb25maXJtQ29tbWFuZC5idXN5KTtcbiAgfVxuXG4gIGluaXRpYWxpc2UobmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsIGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHkuQ29udGV4dDxSLCBFPik6IHZvaWQge1xuICAgIGNvbnN0IHsgY2hhaW4sIHdoZW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fYWN0aXZpdHlDb250ZXh0KTtcbiAgICB0aGlzLl9hY3Rpdml0eUNvbnRleHQgPSBhY3Rpdml0eUNvbnRleHQ7XG4gICAgdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0ID0gbmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0O1xuICAgIHRoaXMuX2ZvY3VzZWRNb2RlbC5zZXREZWxlZ2F0ZShhY3Rpdml0eUNvbnRleHQuZm9jdXNlZCk7XG4gICAgd2hlbih0aGlzLl9mb2N1c2VkTW9kZWwpLmJlY29tZXNUcnV0aHkoKCkgPT4ge1xuICAgICAgdGhpcy5vbkFjdGl2aXR5UmVhZHkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFjdGl2aXR5QWN0aW9ucz8uaW5pdENvbW1hbmRzKHRoaXMpO1xuICB9XG5cbiAgZ2V0IGludGVyYWN0aW9uQ29udGV4dCgpIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpO1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQ7XG4gIH1cblxuICBkb25lKHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICB9XG5cbiAgY2FuY2VsKGVycm9yPzogRSk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2aXR5Q29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbkFjdGl2aXR5UmVhZHkoKSB7XG4gIH1cblxuICBnZXQgYnVzeSgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYnVzeU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGZvY3VzZWQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRNb2RlbC5yZWFkb25seTtcbiAgfVxuXG4gIGJ1c3lXaGlsZShidXN5TW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9idXN5TW9kZWwuc2V0RGVsZWdhdGUoYnVzeU1vZGVsKTtcbiAgfVxuXG4gIGlzQnVzeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYnVzeU1vZGVsLnZhbHVlO1xuICB9XG5cbiAgaXNJbml0aWFsaXNlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9hY3Rpdml0eUNvbnRleHQ7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBY3Rpdml0eSB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBDb250ZXh0PFIsIEU+IHtcbiAgICBvbkRvbmU6IChyZXN1bHQ6IFIpID0+IHZvaWQsXG4gICAgb25DYW5jZWw6IChlcnJvcjogRSkgPT4gdm9pZCxcbiAgICBmb2N1c2VkOiBWYWx1ZU1vZGVsPGJvb2xlYW4+XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { isFunction } from 'lodash-es';
1
+ import { isFunction } from 'lodash';
2
2
  export var Alert;
3
3
  (function (Alert) {
4
4
  function getContent(alert) {
@@ -15,4 +15,4 @@ export var Alert;
15
15
  }
16
16
  Alert.getColor = getColor;
17
17
  })(Alert || (Alert = {}));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBWXZDLE1BQU0sS0FBVyxLQUFLLENBY3JCO0FBZEQsV0FBaUIsS0FBSztJQUVwQixTQUFnQixVQUFVLENBQUMsS0FBWTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUhlLGdCQUFVLGFBR3pCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7QUFDSCxDQUFDLEVBZGdCLEtBQUssS0FBTCxLQUFLLFFBY3JCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuZXhwb3J0IGludGVyZmFjZSBBbGVydCB7XG4gIHRpdGxlPygpOiBzdHJpbmc7XG5cbiAgY29sb3I/KCk6IHN0cmluZztcblxuICBjb250ZW50KCk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIG9rKCk6IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBbGVydCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRlbnQoYWxlcnQ6IEFsZXJ0KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhbGVydC5jb250ZW50KCk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29udGVudCkgPyBjb250ZW50IDogW2NvbnRlbnRdO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRpdGxlKGFsZXJ0OiBBbGVydCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oYWxlcnQudGl0bGUpID8gYWxlcnQudGl0bGUoKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvcihhbGVydDogQWxlcnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGFsZXJ0LmNvbG9yKSA/IGFsZXJ0LmNvbG9yKCkgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBWXBDLE1BQU0sS0FBVyxLQUFLLENBY3JCO0FBZEQsV0FBaUIsS0FBSztJQUVwQixTQUFnQixVQUFVLENBQUMsS0FBWTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUhlLGdCQUFVLGFBR3pCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7QUFDSCxDQUFDLEVBZGdCLEtBQUssS0FBTCxLQUFLLFFBY3JCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGludGVyZmFjZSBBbGVydCB7XG4gIHRpdGxlPygpOiBzdHJpbmc7XG5cbiAgY29sb3I/KCk6IHN0cmluZztcblxuICBjb250ZW50KCk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIG9rKCk6IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBbGVydCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRlbnQoYWxlcnQ6IEFsZXJ0KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhbGVydC5jb250ZW50KCk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29udGVudCkgPyBjb250ZW50IDogW2NvbnRlbnRdO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRpdGxlKGFsZXJ0OiBBbGVydCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oYWxlcnQudGl0bGUpID8gYWxlcnQudGl0bGUoKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvcihhbGVydDogQWxlcnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGFsZXJ0LmNvbG9yKSA/IGFsZXJ0LmNvbG9yKCkgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -13,9 +13,9 @@ export class AbstractConfirmDialogComponent extends AbstractDialogComponent {
13
13
  });
14
14
  }
15
15
  }
16
- AbstractConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
17
- AbstractConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AbstractConfirmDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
16
+ AbstractConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
17
+ AbstractConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AbstractConfirmDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{
21
21
  template: ''
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
24
24
  type: Inject,
25
25
  args: [ALERT_CONFIG]
26
26
  }] }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvaW50ZXJhY3Rpb24vY29tcG9uZW50cy9hYnN0cmFjdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFVLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLcEYsTUFBTSxPQUFPLDhCQUE4QyxTQUFRLHVCQUFnQztJQUlqRyxZQUFrQyxNQUFlO1FBQy9DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7U0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs0SEFaVSw4QkFBOEIsa0JBSXJCLFlBQVk7Z0hBSnJCLDhCQUE4QiwyRUFGL0IsRUFBRTs0RkFFRCw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQUtjLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQsIENvbW1hbmQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEFic3RyYWN0RGlhbG9nQ29tcG9uZW50LCBBTEVSVF9DT05GSUcgfSBmcm9tICcuL2Fic3RyYWN0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0Q29uZmlybURpYWxvZ0NvbXBvbmVudDxELCBSLCBFID0gYW55PiBleHRlbmRzIEFic3RyYWN0RGlhbG9nQ29tcG9uZW50PEQsIFIsIEU+IHtcblxuICByZWFkb25seSBjYW5jZWxGYWNlOiBDb21tYW5kRmFjZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFMRVJUX0NPTkZJRykgY29uZmlnOiBDb25maXJtKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcbiAgICB0aGlzLmNhbmNlbEZhY2UgPSB7XG4gICAgICB0ZXh0OiAoKSA9PiBjb25maWcuY2FuY2VsKClcbiAgICB9O1xuICAgIHRoaXMuY2FuY2VsQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvaW50ZXJhY3Rpb24vY29tcG9uZW50cy9hYnN0cmFjdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFVLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLcEYsTUFBTSxPQUFPLDhCQUE4QyxTQUFRLHVCQUFnQztJQUlqRyxZQUFrQyxNQUFlO1FBQy9DLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDaEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7U0FDNUIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsySEFaVSw4QkFBOEIsa0JBSXJCLFlBQVk7K0dBSnJCLDhCQUE4QiwyRUFGL0IsRUFBRTsyRkFFRCw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQUtjLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQsIENvbW1hbmQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEFic3RyYWN0RGlhbG9nQ29tcG9uZW50LCBBTEVSVF9DT05GSUcgfSBmcm9tICcuL2Fic3RyYWN0LWRpYWxvZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0Q29uZmlybURpYWxvZ0NvbXBvbmVudDxELCBSLCBFID0gYW55PiBleHRlbmRzIEFic3RyYWN0RGlhbG9nQ29tcG9uZW50PEQsIFIsIEU+IHtcblxuICByZWFkb25seSBjYW5jZWxGYWNlOiBDb21tYW5kRmFjZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFMRVJUX0NPTkZJRykgY29uZmlnOiBDb25maXJtKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcbiAgICB0aGlzLmNhbmNlbEZhY2UgPSB7XG4gICAgICB0ZXh0OiAoKSA9PiBjb25maWcuY2FuY2VsKClcbiAgICB9O1xuICAgIHRoaXMuY2FuY2VsQ29tbWFuZCA9IENvbW1hbmQuY3JlYXRlKCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmNhbmNlbCgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -42,9 +42,9 @@ export class AbstractDialogComponent extends Activity {
42
42
  return isFunction(this.config['destructive']) && this.config.destructive();
43
43
  }
44
44
  }
45
- AbstractDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
46
- AbstractDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: AbstractDialogComponent, decorators: [{
45
+ AbstractDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
46
+ AbstractDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AbstractDialogComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{
50
50
  template: ''
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
53
53
  type: Inject,
54
54
  args: [ALERT_CONFIG]
55
55
  }] }]; } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHakMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBSW5FLE1BQU0sT0FBTyx1QkFBdUMsU0FBUSxRQUFpQjtJQU8zRSxZQUFxRCxNQUF1QjtRQUMxRSxLQUFLLEVBQUUsQ0FBQztRQUQyQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUUxRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVM7WUFDcEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRVMsVUFBVSxDQUFDLFFBQWdCO1FBQ25DLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDcEQsT0FBTyxRQUF5QyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLGFBQWE7UUFDYixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RSxDQUFDOztxSEF6Q1UsdUJBQXVCLGtCQU9kLFlBQVk7eUdBUHJCLHVCQUF1QiwyRUFGeEIsRUFBRTs0RkFFRCx1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQVFjLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgbGFuZyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHtpc0Z1bmN0aW9ufSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5cbmV4cG9ydCBjb25zdCBBTEVSVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignQWxlcnRDb25maWcnKTtcbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3REaWFsb2dDb21wb25lbnQ8RCwgUiwgRSA9IGFueT4gZXh0ZW5kcyBBY3Rpdml0eTxELCBSLCBFPiB7XG5cbiAgcmVhZG9ubHkgY29uZmlybUZhY2U6IENvbW1hbmRGYWNlO1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xuICByZWFkb25seSBjb250ZW50OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgY29sb3I/OiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFMRVJUX0NPTkZJRykgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZzogQWxlcnQgfCBDb25maXJtKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGNvbmZpZyk7XG4gICAgdGhpcy50aXRsZSA9IEFsZXJ0LmdldFRpdGxlKGNvbmZpZyk7XG4gICAgdGhpcy5jb2xvciA9IHRoaXMuY2hlY2tDb2xvcihBbGVydC5nZXRDb2xvcihjb25maWcpKTtcbiAgICB0aGlzLmNvbnRlbnQgPSBBbGVydC5nZXRDb250ZW50KGNvbmZpZyk7XG5cbiAgICB0aGlzLmNvbmZpcm1GYWNlID0ge1xuICAgICAgdGV4dDogKCkgPT4gY29uZmlnLm9rKCksXG4gICAgICBjb2xvcjogKCkgPT4gdGhpcy5jb2xvciB8fCAncHJpbWFyeScsXG4gICAgICBzdHlsZTogKCkgPT4gJ3JhaXNlZCdcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q29uZmlnKCk6QWxlcnQgfCBDb25maXJtIHtcbiAgICByZXR1cm4gbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKVxuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQ29sb3IocmF3Q29sb3I6IHN0cmluZyk6ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nIHtcbiAgICBpZiAodGhpcy5pc0Rlc3RydWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiAnd2Fybic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChbJ3ByaW1hcnknLCAnYWNjZW50JywgJ3dhcm4nXS5pbmNsdWRlcyhyYXdDb2xvcikpIHtcbiAgICAgICAgcmV0dXJuIHJhd0NvbG9yIGFzICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGNvbG9yIHN0cmluZyAke3Jhd0NvbG9yfWApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzRGVzdHJ1Y3RpdmUoKTogYm9vbGVhbiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBpc0Z1bmN0aW9uKHRoaXMuY29uZmlnWydkZXN0cnVjdGl2ZSddKSAmJiB0aGlzLmNvbmZpZy5kZXN0cnVjdGl2ZSgpO1xuICB9XG5cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHakMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBSW5FLE1BQU0sT0FBTyx1QkFBdUMsU0FBUSxRQUFpQjtJQU8zRSxZQUFxRCxNQUF1QjtRQUMxRSxLQUFLLEVBQUUsQ0FBQztRQUQyQyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUUxRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVM7WUFDcEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVE7U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRVMsVUFBVSxDQUFDLFFBQWdCO1FBQ25DLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDcEQsT0FBTyxRQUF5QyxDQUFDO2FBQ2xEO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLGFBQWE7UUFDYixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RSxDQUFDOztvSEF6Q1UsdUJBQXVCLGtCQU9kLFlBQVk7d0dBUHJCLHVCQUF1QiwyRUFGeEIsRUFBRTsyRkFFRCx1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQVFjLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgbGFuZyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHtpc0Z1bmN0aW9ufSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHknO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5cbmV4cG9ydCBjb25zdCBBTEVSVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignQWxlcnRDb25maWcnKTtcbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3REaWFsb2dDb21wb25lbnQ8RCwgUiwgRSA9IGFueT4gZXh0ZW5kcyBBY3Rpdml0eTxELCBSLCBFPiB7XG5cbiAgcmVhZG9ubHkgY29uZmlybUZhY2U6IENvbW1hbmRGYWNlO1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xuICByZWFkb25seSBjb250ZW50OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgY29sb3I/OiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFMRVJUX0NPTkZJRykgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZzogQWxlcnQgfCBDb25maXJtKSB7XG4gICAgc3VwZXIoKTtcbiAgICBhc3NlcnQubm90TmlsKGNvbmZpZyk7XG4gICAgdGhpcy50aXRsZSA9IEFsZXJ0LmdldFRpdGxlKGNvbmZpZyk7XG4gICAgdGhpcy5jb2xvciA9IHRoaXMuY2hlY2tDb2xvcihBbGVydC5nZXRDb2xvcihjb25maWcpKTtcbiAgICB0aGlzLmNvbnRlbnQgPSBBbGVydC5nZXRDb250ZW50KGNvbmZpZyk7XG5cbiAgICB0aGlzLmNvbmZpcm1GYWNlID0ge1xuICAgICAgdGV4dDogKCkgPT4gY29uZmlnLm9rKCksXG4gICAgICBjb2xvcjogKCkgPT4gdGhpcy5jb2xvciB8fCAncHJpbWFyeScsXG4gICAgICBzdHlsZTogKCkgPT4gJ3JhaXNlZCdcbiAgICB9O1xuICB9XG5cbiAgZ2V0Q29uZmlnKCk6QWxlcnQgfCBDb25maXJtIHtcbiAgICByZXR1cm4gbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKVxuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQ29sb3IocmF3Q29sb3I6IHN0cmluZyk6ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nIHtcbiAgICBpZiAodGhpcy5pc0Rlc3RydWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiAnd2Fybic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChbJ3ByaW1hcnknLCAnYWNjZW50JywgJ3dhcm4nXS5pbmNsdWRlcyhyYXdDb2xvcikpIHtcbiAgICAgICAgcmV0dXJuIHJhd0NvbG9yIGFzICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGNvbG9yIHN0cmluZyAke3Jhd0NvbG9yfWApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzRGVzdHJ1Y3RpdmUoKTogYm9vbGVhbiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBpc0Z1bmN0aW9uKHRoaXMuY29uZmlnWydkZXN0cnVjdGl2ZSddKSAmJiB0aGlzLmNvbmZpZy5kZXN0cnVjdGl2ZSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,109 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectorRef, Component, HostBinding, Input } from '@angular/core';
3
+ import { Command, TrackExternal } from '@coolon/pectin';
4
+ import { Enum } from 'typescript-string-enums';
5
+ import { CommandFace } from '../../../components/commands/command-face';
6
+ import { DisposableComponent } from '../../../components/disposable-component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../components/commands/command/command.component";
9
+ import * as i2 from "@angular/common";
10
+ /**
11
+ * @example
12
+ * <aup-activity-actions [confirmFace]="saveFace" [cancelFace]="cancelFace">
13
+ * </aup-activity-actions>
14
+ *
15
+ * <aup-activity-actions [faces]="{confirm: saveFace, cancel: cancelFace}">
16
+ * </aup-activity-actions>
17
+ *
18
+ * // Running `ng g @coolon/angular-ui-powerups:aup-i18n` will install default
19
+ * // style definitions
20
+ * <aup-activity-actions [faces]="I18n.aup.components.activityActions.styles.okCancelIcons">
21
+ * </aup-activity-actions>
22
+ *
23
+ * // you can also add additional content that will be displayed along with the buttons.
24
+ * // The location of the content depends on the alignment attribute.
25
+ * <aup-activity-actions
26
+ * align="stretch"
27
+ * [faces]="I18n.aup.components.activityActions.styles.okCancelIcons">
28
+ * <span>This content will be between the two commands</span>
29
+ * </aup-activity-actions>
30
+ */
31
+ export class ActivityActionsComponent extends DisposableComponent {
32
+ constructor(cdr) {
33
+ super();
34
+ this.cdr = cdr;
35
+ this.layout = ActivityActionsComponent.Layout.BLOCK;
36
+ this.align = ActivityActionsComponent.Align.STRETCH;
37
+ }
38
+ set faces(faces) {
39
+ this.confirmFace = faces.confirm;
40
+ this.cancelFace = faces.cancel;
41
+ }
42
+ /**
43
+ * @deprecated use #faces instead.
44
+ */
45
+ set style(style) {
46
+ this.faces = style;
47
+ }
48
+ ngOnInit() {
49
+ }
50
+ hasConfirmFace() {
51
+ return !!this.confirmFace;
52
+ }
53
+ hasCancelFace() {
54
+ return !!this.cancelFace;
55
+ }
56
+ initCommands(activity) {
57
+ this.confirmCommand = activity.confirmCommand;
58
+ this.cancelCommand = activity.cancelCommand;
59
+ this.cdr.detectChanges();
60
+ }
61
+ }
62
+ ActivityActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
63
+ ActivityActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ActivityActionsComponent, selector: "aup-activity-actions", inputs: { confirmCommand: "confirmCommand", cancelCommand: "cancelCommand", faces: "faces", confirmFace: "confirmFace", cancelFace: "cancelFace", style: "style", layout: "layout", align: "align" }, host: { properties: { "attr.layout": "this.layout", "attr.align": "this.align" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"], components: [{ type: i1.CommandComponent, selector: "aup-command", inputs: ["command", "faceModel", "face", "busyFaceModel", "busyFace", "alignFace"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
64
+ __decorate([
65
+ TrackExternal(),
66
+ __metadata("design:type", Command)
67
+ ], ActivityActionsComponent.prototype, "confirmCommand", void 0);
68
+ __decorate([
69
+ TrackExternal(),
70
+ __metadata("design:type", Command)
71
+ ], ActivityActionsComponent.prototype, "cancelCommand", void 0);
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityActionsComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n", styles: [":host{display:grid;grid-template-rows:auto;align-items:center;justify-content:end;--resolved-activity-actions-gap: var(--activity-actions-gap, 8px)}:host[layout=block][align=start]{grid-template-areas:\"cancel confirm content\";grid-template-columns:auto auto 1fr}:host[layout=block][align=start] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=end]{grid-template-areas:\"content cancel confirm\";grid-template-columns:1fr auto auto}:host[layout=block][align=end] .confirm{margin-left:var(--resolved-activity-actions-gap)}:host[layout=block][align=stretch]{grid-template-areas:\"cancel content confirm\";grid-template-columns:auto 1fr auto}:host[layout=inline]{grid-template-areas:\"confirm cancel content\";grid-template-columns:auto auto 1fr}:host[layout=inline] .cancel{margin-left:var(--resolved-activity-actions-gap)}.cancel{grid-area:cancel}.confirm{grid-area:confirm}.content{grid-area:content;text-align:left}\n"] }]
75
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { confirmCommand: [{
76
+ type: Input
77
+ }], cancelCommand: [{
78
+ type: Input
79
+ }], faces: [{
80
+ type: Input
81
+ }], confirmFace: [{
82
+ type: Input
83
+ }], cancelFace: [{
84
+ type: Input
85
+ }], style: [{
86
+ type: Input
87
+ }], layout: [{
88
+ type: Input
89
+ }, {
90
+ type: HostBinding,
91
+ args: ['attr.layout']
92
+ }], align: [{
93
+ type: Input
94
+ }, {
95
+ type: HostBinding,
96
+ args: ['attr.align']
97
+ }] } });
98
+ (function (ActivityActionsComponent) {
99
+ ActivityActionsComponent.Layout = Enum({
100
+ INLINE: 'inline',
101
+ BLOCK: 'block'
102
+ });
103
+ ActivityActionsComponent.Align = Enum({
104
+ START: 'start',
105
+ END: 'end',
106
+ STRETCH: 'stretch'
107
+ });
108
+ })(ActivityActionsComponent || (ActivityActionsComponent = {}));
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUUvRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFNSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsbUJBQW1CO0lBNkMvRCxZQUE2QixHQUFzQjtRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURtQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVBuRCxXQUFNLEdBQW9DLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFJaEYsVUFBSyxHQUFtQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBSy9FLENBQUM7SUEvQkQsSUFDSSxLQUFLLENBQUMsS0FBcUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBUUQ7O09BRUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUFxQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBZUQsUUFBUTtJQUNSLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUErRTtRQUMxRixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7cUhBaEVVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDZXQ2hDckMscWJBU0E7QUQ4QkU7SUFEQyxhQUFhLEVBQUU7OEJBQ0EsT0FBTztnRUFBTTtBQU83QjtJQURDLGFBQWEsRUFBRTs4QkFDRCxPQUFPOytEQUFNOzJGQWRqQix3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3dHQVdoQyxjQUFjO3NCQUZiLEtBQUs7Z0JBU04sYUFBYTtzQkFGWixLQUFLO2dCQUtGLEtBQUs7c0JBRFIsS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFPTixNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsYUFBYTtnQkFLMUIsS0FBSztzQkFGSixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFlBQVk7O0FBMkIzQixXQUFpQix3QkFBd0I7SUFFMUIsK0JBQU0sR0FBRyxJQUFJLENBQUM7UUFDekIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsS0FBSyxFQUFFLE9BQU87S0FDZixDQUFDLENBQUM7SUFHVSw4QkFBSyxHQUFHLElBQUksQ0FBQztRQUN4QixLQUFLLEVBQUUsT0FBTztRQUNkLEdBQUcsRUFBRSxLQUFLO1FBQ1YsT0FBTyxFQUFFLFNBQVM7S0FDbkIsQ0FBQyxDQUFDO0FBUUwsQ0FBQyxFQXBCZ0Isd0JBQXdCLEtBQXhCLHdCQUF3QixRQW9CeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbWFuZCwgVHJhY2tFeHRlcm5hbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEVudW0gfSBmcm9tICd0eXBlc2NyaXB0LXN0cmluZy1lbnVtcyc7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcblxuLyoqXG4gKiBAZXhhbXBsZVxuICogPGF1cC1hY3Rpdml0eS1hY3Rpb25zIFtjb25maXJtRmFjZV09XCJzYXZlRmFjZVwiIFtjYW5jZWxGYWNlXT1cImNhbmNlbEZhY2VcIj5cbiAqIDwvYXVwLWFjdGl2aXR5LWFjdGlvbnM+XG4gKlxuICogIDxhdXAtYWN0aXZpdHktYWN0aW9ucyBbZmFjZXNdPVwie2NvbmZpcm06IHNhdmVGYWNlLCBjYW5jZWw6IGNhbmNlbEZhY2V9XCI+XG4gKiAgPC9hdXAtYWN0aXZpdHktYWN0aW9ucz5cbiAqXG4gKiAvLyBSdW5uaW5nIGBuZyBnIEBjb29sb24vYW5ndWxhci11aS1wb3dlcnVwczphdXAtaTE4bmAgd2lsbCBpbnN0YWxsIGRlZmF1bHRcbiAqIC8vIHN0eWxlIGRlZmluaXRpb25zXG4gKiA8YXVwLWFjdGl2aXR5LWFjdGlvbnMgW2ZhY2VzXT1cIkkxOG4uYXVwLmNvbXBvbmVudHMuYWN0aXZpdHlBY3Rpb25zLnN0eWxlcy5va0NhbmNlbEljb25zXCI+XG4gKiA8L2F1cC1hY3Rpdml0eS1hY3Rpb25zPlxuICpcbiAqIC8vIHlvdSBjYW4gYWxzbyBhZGQgYWRkaXRpb25hbCBjb250ZW50IHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgYWxvbmcgd2l0aCB0aGUgYnV0dG9ucy5cbiAqIC8vIFRoZSBsb2NhdGlvbiBvZiB0aGUgY29udGVudCBkZXBlbmRzIG9uIHRoZSBhbGlnbm1lbnQgYXR0cmlidXRlLlxuICogPGF1cC1hY3Rpdml0eS1hY3Rpb25zXG4gKiAgICAgYWxpZ249XCJzdHJldGNoXCJcbiAqICAgICBbZmFjZXNdPVwiSTE4bi5hdXAuY29tcG9uZW50cy5hY3Rpdml0eUFjdGlvbnMuc3R5bGVzLm9rQ2FuY2VsSWNvbnNcIj5cbiAqICAgICA8c3Bhbj5UaGlzIGNvbnRlbnQgd2lsbCBiZSBiZXR3ZWVuIHRoZSB0d28gY29tbWFuZHM8L3NwYW4+XG4gKiA8L2F1cC1hY3Rpdml0eS1hY3Rpb25zPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWN0aXZpdHktYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0eS1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBhY3Rpdml0eSBhY3Rpb25zIG5vdyB1c2UgdGhlIGNvbmZpcm0gY29tbWFuZCBvZiB0aGUgYWN0aXZpdHkgYXV0b21hdGljYWxseVxuICAgKi9cbiAgQElucHV0KClcbiAgQFRyYWNrRXh0ZXJuYWwoKVxuICBjb25maXJtQ29tbWFuZDogQ29tbWFuZDxhbnk+O1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBhY3Rpdml0eSBhY3Rpb25zIG5vdyB1c2UgdGhlIGNhbmNlbCBjb21tYW5kIG9mIHRoZSBhY3Rpdml0eSBhdXRvbWF0aWNhbGx5XG4gICAqL1xuICBASW5wdXQoKVxuICBAVHJhY2tFeHRlcm5hbCgpXG4gIGNhbmNlbENvbW1hbmQ6IENvbW1hbmQ8YW55PjtcblxuICBASW5wdXQoKVxuICBzZXQgZmFjZXMoZmFjZXM6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudC5TdHlsZSkge1xuICAgIHRoaXMuY29uZmlybUZhY2UgPSBmYWNlcy5jb25maXJtO1xuICAgIHRoaXMuY2FuY2VsRmFjZSA9IGZhY2VzLmNhbmNlbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1GYWNlOiBDb21tYW5kRmFjZTtcblxuICBASW5wdXQoKVxuICBjYW5jZWxGYWNlOiBDb21tYW5kRmFjZTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICNmYWNlcyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHN0eWxlKHN0eWxlOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuU3R5bGUpIHtcbiAgICB0aGlzLmZhY2VzID0gc3R5bGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIubGF5b3V0JylcbiAgbGF5b3V0OiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuTGF5b3V0ID0gQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LkxheW91dC5CTE9DSztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYWxpZ24nKVxuICBhbGlnbjogQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LkFsaWduID0gQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LkFsaWduLlNUUkVUQ0g7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBoYXNDb25maXJtRmFjZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmNvbmZpcm1GYWNlO1xuICB9XG5cbiAgaGFzQ2FuY2VsRmFjZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmNhbmNlbEZhY2U7XG4gIH1cblxuICBpbml0Q29tbWFuZHMoYWN0aXZpdHk6IHsgY29uZmlybUNvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj4sIGNhbmNlbENvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj4gfSkge1xuICAgIHRoaXMuY29uZmlybUNvbW1hbmQgPSBhY3Rpdml0eS5jb25maXJtQ29tbWFuZDtcbiAgICB0aGlzLmNhbmNlbENvbW1hbmQgPSBhY3Rpdml0eS5jYW5jZWxDb21tYW5kO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50IHtcblxuICBleHBvcnQgY29uc3QgTGF5b3V0ID0gRW51bSh7XG4gICAgSU5MSU5FOiAnaW5saW5lJyxcbiAgICBCTE9DSzogJ2Jsb2NrJ1xuICB9KTtcbiAgZXhwb3J0IHR5cGUgTGF5b3V0ID0gRW51bTx0eXBlb2YgTGF5b3V0PjtcblxuICBleHBvcnQgY29uc3QgQWxpZ24gPSBFbnVtKHtcbiAgICBTVEFSVDogJ3N0YXJ0JyxcbiAgICBFTkQ6ICdlbmQnLFxuICAgIFNUUkVUQ0g6ICdzdHJldGNoJ1xuICB9KTtcbiAgZXhwb3J0IHR5cGUgQWxpZ24gPSBFbnVtPHR5cGVvZiBBbGlnbj47XG5cbiAgZXhwb3J0IGludGVyZmFjZSBTdHlsZSB7XG4gICAgY29uZmlybTogQ29tbWFuZEZhY2U7XG4gICAgY2FuY2VsOiBDb21tYW5kRmFjZTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDb25maXJtRmFjZSgpXCI+XG4gIDxhdXAtY29tbWFuZCBjbGFzcz1cImNvbmZpcm1cIiBbY29tbWFuZF09XCJjb25maXJtQ29tbWFuZFwiIFtmYWNlXT1cImNvbmZpcm1GYWNlXCIgZGF0YS1jeT1cImNvbmZpcm0tY29tbWFuZFwiPjwvYXVwLWNvbW1hbmQ+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDYW5jZWxGYWNlKClcIj5cbiAgPGF1cC1jb21tYW5kIGNsYXNzPVwiY2FuY2VsXCIgW2NvbW1hbmRdPVwiY2FuY2VsQ29tbWFuZFwiIFtmYWNlXT1cImNhbmNlbEZhY2VcIiBkYXRhLWN5PVwiY2FuY2VsLWNvbW1hbmRcIj48L2F1cC1jb21tYW5kPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import { DisposableComponent } from '../../../components/disposable-component';
3
+ import * as i0 from "@angular/core";
4
+ export class ActivityBodyComponent extends DisposableComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.fullWidth = false;
8
+ }
9
+ ngOnInit() {
10
+ }
11
+ }
12
+ ActivityBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
+ ActivityBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ActivityBodyComponent, selector: "aup-activity-body", inputs: { fullWidth: "fullWidth" }, host: { properties: { "class.full-width": "this.fullWidth" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["<ng-content></ng-content>\n"] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityBodyComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'aup-activity-body', template: "<ng-content></ng-content>\n", styles: ["<ng-content></ng-content>\n"] }]
17
+ }], propDecorators: { fullWidth: [{
18
+ type: Input
19
+ }, {
20
+ type: HostBinding,
21
+ args: ["class.full-width"]
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWJvZHkvYWN0aXZpdHktYm9keS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWJvZHkvYWN0aXZpdHktYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBTy9FLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFMOUQ7O1FBU0UsY0FBUyxHQUFHLEtBQUssQ0FBQztLQUtuQjtJQUhDLFFBQVE7SUFDUixDQUFDOztrSEFQVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixvTENYbEMsNkJBQ0E7MkZEVWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjs4QkFRN0IsU0FBUztzQkFGUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1hbmQsIERlbGVnYXRpbmdDb21tYW5kLCBUcmFja0V4dGVybmFsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuXG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWFjdGl2aXR5LWJvZHknLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktYm9keS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWJvZHkuY29tcG9uZW50Lmh0bWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlCb2R5Q29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZnVsbC13aWR0aFwiKVxuICBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -0,0 +1,205 @@
1
+ import { Component, Input, QueryList, ViewChild, ViewChildren } from '@angular/core';
2
+ import { MatTabGroup } from '@angular/material/tabs';
3
+ import { assert, DelegatingValueModel, Dsl, GarbageCollector, MutableValueModel } from '@coolon/pectin';
4
+ import { lang } from '@coolon/typescript-utilities';
5
+ import { findLast } from 'lodash';
6
+ import { AbstractInteractionContext } from '../../abstract-interaction-context';
7
+ import { ActivityRef } from '../../activity-ref';
8
+ import { ActivityOutletComponent } from './activity-outlet/activity-outlet.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/material/tabs";
11
+ import * as i2 from "../../../components/busy-overlay/busy-overlay.component";
12
+ import * as i3 from "./activity-outlet/activity-outlet.component";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "@angular/cdk/a11y";
15
+ export class ActivityContainerComponent extends AbstractInteractionContext {
16
+ constructor() {
17
+ super();
18
+ this.dynamicHeight = false;
19
+ this.activityRefs = [];
20
+ this.garbage = new GarbageCollector();
21
+ this.inAnimation = new MutableValueModel(false);
22
+ this.busy = this.registerDisposable(new DelegatingValueModel().withDefault(false));
23
+ this.registerDisposable(this.busy);
24
+ }
25
+ ngOnInit() {
26
+ }
27
+ ngAfterViewInit() {
28
+ const { chain, observe } = Dsl.disposeWith(this);
29
+ // using the component directly rather than (animationDone)=.. allows us
30
+ // to keep our callback private.
31
+ observe.valuesFrom(this.tabs.animationDone).subscribe(() => this.onAnimationFinished());
32
+ }
33
+ initialise(identifier, api) {
34
+ assert.isFalsey(this.isInitialised());
35
+ assert.notNil(identifier);
36
+ assert.notNil(api);
37
+ this._identifier = identifier;
38
+ this.interactionServiceApi = api;
39
+ }
40
+ get identifier() {
41
+ return this._identifier;
42
+ }
43
+ isInitialised() {
44
+ return !!this.identifier;
45
+ }
46
+ /**
47
+ * Returns true if an activity is currently running.
48
+ */
49
+ isActive() {
50
+ return this.getActiveActivityCount() > 0;
51
+ }
52
+ registerDisposable(disposable) {
53
+ return this.garbage.registerDisposable(disposable);
54
+ }
55
+ // @Trace()
56
+ dispose() {
57
+ // TODO: think about auto cancelling any outstanding activity on dispose.
58
+ // See NavigationState.Navigating for a use-case.
59
+ assert.isFalsey(this.isActive());
60
+ this.garbage.dispose();
61
+ }
62
+ getActiveActivityRef() {
63
+ if (!this.isActive()) {
64
+ lang.illegalState('no activity in progress');
65
+ }
66
+ return findLast(this.activityRefs, tab => !tab.isComplete());
67
+ }
68
+ /**
69
+ * Cancels the current activity and returns true the context is no longer active, false if
70
+ * there is still another activity running.
71
+ */
72
+ // @Trace()
73
+ async cancelActiveActivity() {
74
+ const activity = this.getActiveActivityRef();
75
+ activity.cancel();
76
+ if (this.isCleaningUp()) {
77
+ return this.waitForInteractionContextCleanupToFinish();
78
+ }
79
+ else {
80
+ return !this.isActive();
81
+ }
82
+ }
83
+ // TODO: this handling of multiple nested activities is only used by the activity component and is not a general case.
84
+ // @Trace()
85
+ createAndLaunchActivity(activityType, data, disableClose) {
86
+ assert.isTruthy(this.isInitialised()); // make sure we've been initialised
87
+ const activityRef = new ActivityRef(activityType, data, () => {
88
+ const activeActivityCount = this.getActiveActivityCount() > 0;
89
+ if (activeActivityCount) {
90
+ this.triggerTabSynchronisation();
91
+ }
92
+ else {
93
+ this.finishAndStartCleanup();
94
+ }
95
+ });
96
+ this.launchActivity(activityRef);
97
+ // if this is the first activity let the interaction service know.
98
+ if (this.activityRefs.length === 1) {
99
+ // console.log('Now active!!!');
100
+ this.interactionServiceApi.notifyActive(this);
101
+ }
102
+ return activityRef.activityResult;
103
+ }
104
+ getActiveActivityCount() {
105
+ return this.activityRefs.filter(ref => !ref.isComplete()).length;
106
+ }
107
+ /**
108
+ * Checks if this interaction context has finished an is in the process of waiting
109
+ * for all the infrastructure (including route updates) to be completed.
110
+ */
111
+ isCleaningUp() {
112
+ return !!this._deferredCleanUp;
113
+ }
114
+ async waitForInteractionContextCleanupToFinish() {
115
+ return this._deferredCleanUp ?
116
+ this._deferredCleanUp :
117
+ true;
118
+ }
119
+ // @Trace()
120
+ finishAndStartCleanup() {
121
+ if (!this._deferredCleanUp) {
122
+ // Important:
123
+ // Clear our tabs so the next activity triggers a tab change.
124
+ // Without this our animation done wasn't called when a single
125
+ // new activity followed a single tab activity (since we're tracking
126
+ // by activity index)
127
+ this.activityRefs = [];
128
+ const promise = this.interactionServiceApi.notifyFinished(this);
129
+ this._deferredCleanUp = promise
130
+ .finally(() => {
131
+ this._deferredCleanUp = null;
132
+ });
133
+ }
134
+ }
135
+ // @Trace()
136
+ launchActivity(activityRef) {
137
+ const cleanedTabs = this.activityRefs.filter(tab => !tab.isComplete());
138
+ this.activityRefs = cleanedTabs.concat(activityRef);
139
+ this.synchroniseSelectedTabIndex();
140
+ }
141
+ activityIndex(index, activityRef) {
142
+ return index;
143
+ }
144
+ ;
145
+ // @Trace()
146
+ onAnimationFinished() {
147
+ if (this.onAnimationFinishedJob) {
148
+ this.onAnimationFinishedJob();
149
+ this.onAnimationFinishedJob = undefined;
150
+ }
151
+ }
152
+ /**
153
+ * Synchronises the selected tab index.
154
+ */
155
+ // @Trace()
156
+ synchroniseSelectedTabIndex() {
157
+ const previousIndex = this.tabs.selectedIndex;
158
+ const newIndex = this.getActiveActivityCount() - 1;
159
+ if (previousIndex !== newIndex) {
160
+ this.inAnimation.value = true;
161
+ this.activityRefs[newIndex].setFocused(false);
162
+ this.busy.setDelegate(this.activityRefs[newIndex].activityBusy);
163
+ this.tabs.selectedIndex = newIndex;
164
+ this.onAnimationFinishedJob = () => {
165
+ this.activityRefs = this.activityRefs.filter(tab => !tab.isComplete());
166
+ this.inAnimation.value = false;
167
+ this.activityRefs.forEach((ref, index) => {
168
+ ref.setFocused(index === newIndex);
169
+ });
170
+ };
171
+ }
172
+ }
173
+ getSelectedOutlet() {
174
+ return this.activityOutlets.toArray()[this.tabs.selectedIndex];
175
+ }
176
+ // @Trace()
177
+ getSelectedTabIndex() {
178
+ return this.tabs.selectedIndex;
179
+ }
180
+ // @Trace()
181
+ triggerTabSynchronisation() {
182
+ if (this.syncSelectedTabTimeout) {
183
+ clearTimeout(this.syncSelectedTabTimeout);
184
+ }
185
+ this.syncSelectedTabTimeout = setTimeout(() => {
186
+ this.syncSelectedTabTimeout = null;
187
+ this.synchroniseSelectedTabIndex();
188
+ }, 75);
189
+ }
190
+ }
191
+ ActivityContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
192
+ ActivityContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: { dynamicHeight: "dynamicHeight" }, viewQueries: [{ propertyName: "tabs", first: true, predicate: ["tabs"], descendants: true, static: true }, { propertyName: "activityOutlets", predicate: ActivityOutletComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busyModel]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"], components: [{ type: i1.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i1.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { type: i2.BusyOverlayComponent, selector: "aup-busy-overlay", inputs: ["busyModel", "busy"] }, { type: i3.ActivityOutletComponent, selector: "aup-activity-outlet", inputs: ["nestedInteractionContext", "activityRef"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] });
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ActivityContainerComponent, decorators: [{
194
+ type: Component,
195
+ args: [{ selector: 'aup-activity-container', template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\">\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busyModel]=\"busy\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <!--\n We have issues where angular is triggering a leave animation when an\n new activity is started, but is not running the enter animation\n when it is scrolled back into view. So we track the tab changes and\n disable all animations inside the tab while we're animating.\n -->\n <div class=\"activity-outlet-wrapper\" [@.disabled]=\"!activityRef.focused\">\n <aup-activity-outlet [nestedInteractionContext]=\"this\" [activityRef]=\"activityRef\"></aup-activity-outlet>\n </div>\n </aup-busy-overlay>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host{display:flex;flex-direction:column}mat-tab-group{flex:1}aup-busy-overlay{flex:1}.activity-outlet-wrapper{flex:1}\n"] }]
196
+ }], ctorParameters: function () { return []; }, propDecorators: { dynamicHeight: [{
197
+ type: Input
198
+ }], tabs: [{
199
+ type: ViewChild,
200
+ args: ['tabs', { static: true }]
201
+ }], activityOutlets: [{
202
+ type: ViewChildren,
203
+ args: [ActivityOutletComponent]
204
+ }] } });
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsTUFBTSxFQUVOLG9CQUFvQixFQUVwQixHQUFHLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7OztBQU90RixNQUFNLE9BQU8sMEJBQW9DLFNBQVEsMEJBQTBCO0lBMEJqRjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBeEJWLGtCQUFhLEdBQUcsS0FBSyxDQUFD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QUFDO1NBQzNDO1FBQ0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNyQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDOzt1SEFyTlUsMEJBQTBCOzJHQUExQiwwQkFBMEIsMk9BUXZCLHVCQUF1Qix1RUNuQ3ZDLG01QkFpQkE7MkZEVWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3QjswRUFPbEMsYUFBYTtzQkFEWixLQUFLO2dCQUlOLElBQUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUluQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUYWJHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHtcbiAgYXNzZXJ0LFxuICBDb25zdHJ1Y3RhYmxlLFxuICBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRGlzcG9zYWJsZSxcbiAgRHNsLFxuICBHYXJiYWdlQ29sbGVjdG9yLFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2Vcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgbGFuZyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBmaW5kTGFzdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBzbGlkZURvd25PbkVudGVyQW5pbWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYW5pbWF0aW9ucy9zbGlkZS1hbmltYXRpb25zJztcbmltcG9ydCB7IEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3QtaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uLy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFjdGl2aXR5UmVmIH0gZnJvbSAnLi4vLi4vYWN0aXZpdHktcmVmJztcbmltcG9ydCB7IEludGVyYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZpdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWFjdGl2aXR5LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudDxELCBSLCBFPiBleHRlbmRzIEFic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBASW5wdXQoKVxuICBkeW5hbWljSGVpZ2h0ID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndGFicycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRhYnM6IE1hdFRhYkdyb3VwO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQWN0aXZpdHlPdXRsZXRDb21wb25lbnQpXG4gIGFjdGl2aXR5T3V0bGV0czogUXVlcnlMaXN0PEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50PGFueSwgYW55LCBhbnk+PjtcblxuICBhY3Rpdml0eVJlZnM6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+W10gPSBbXTtcblxuICBwcml2YXRlIF9pZGVudGlmaWVyOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlZmVycmVkQ2xlYW5VcDogUHJvbWlzZTxhbnk+O1xuXG4gIHByaXZhdGUgaW50ZXJhY3Rpb25TZXJ2aWNlQXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpO1xuXG4gIHByaXZhdGUgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHByaXZhdGUgc3luY1NlbGVjdGVkVGFiVGltZW91dDogYW55O1xuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cbiAgcmVhZG9ubHkgaW5BbmltYXRpb24gPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGJ1c3kgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUodGhpcy5idXN5KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY2hhaW4sIG9ic2VydmUgfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAvLyB1c2luZyB0aGUgY29tcG9uZW50IGRpcmVjdGx5IHJhdGhlciB0aGFuIChhbmltYXRpb25Eb25lKT0uLiBhbGxvd3MgdXNcbiAgICAvLyB0byBrZWVwIG91ciBjYWxsYmFjayBwcml2YXRlLlxuICAgIG9ic2VydmUudmFsdWVzRnJvbSh0aGlzLnRhYnMuYW5pbWF0aW9uRG9uZSkuc3Vic2NyaWJlKCgpID0+IHRoaXMub25BbmltYXRpb25GaW5pc2hlZCgpKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UoaWRlbnRpZmllcjogc3RyaW5nLCBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGkpIHtcbiAgICBhc3NlcnQuaXNGYWxzZXkodGhpcy5pc0luaXRpYWxpc2VkKCkpO1xuICAgIGFzc2VydC5ub3ROaWwoaWRlbnRpZmllcik7XG4gICAgYXNzZXJ0Lm5vdE5pbChhcGkpO1xuICAgIHRoaXMuX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyO1xuICAgIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlQXBpID0gYXBpO1xuICB9XG5cbiAgZ2V0IGlkZW50aWZpZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkZW50aWZpZXI7XG4gIH1cblxuICBpc0luaXRpYWxpc2VkKCkge1xuICAgIHJldHVybiAhIXRoaXMuaWRlbnRpZmllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgYW4gYWN0aXZpdHkgaXMgY3VycmVudGx5IHJ1bm5pbmcuXG4gICAqL1xuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmVBY3Rpdml0eUNvdW50KCkgPiAwO1xuICB9XG5cbiAgcmVnaXN0ZXJEaXNwb3NhYmxlPFQgZXh0ZW5kcyBEaXNwb3NhYmxlPihkaXNwb3NhYmxlOiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZ2FyYmFnZS5yZWdpc3RlckRpc3Bvc2FibGUoZGlzcG9zYWJsZSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIC8vIFRPRE86IHRoaW5rIGFib3V0IGF1dG8gY2FuY2VsbGluZyBhbnkgb3V0c3RhbmRpbmcgYWN0aXZpdHkgb24gZGlzcG9zZS5cbiAgICAvLyAgICAgICBTZWUgTmF2aWdhdGlvblN0YXRlLk5hdmlnYXRpbmcgZm9yIGEgdXNlLWNhc2UuXG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNBY3RpdmUoKSk7XG4gICAgdGhpcy5nYXJiYWdlLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIGdldEFjdGl2ZUFjdGl2aXR5UmVmKCk6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ25vIGFjdGl2aXR5IGluIHByb2dyZXNzJyk7XG4gICAgfVxuICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLmFjdGl2aXR5UmVmcywgdGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSBjdXJyZW50IGFjdGl2aXR5IGFuZCByZXR1cm5zIHRydWUgdGhlIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSwgZmFsc2UgaWZcbiAgICogdGhlcmUgaXMgc3RpbGwgYW5vdGhlciBhY3Rpdml0eSBydW5uaW5nLlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5UmVmKCk7XG4gICAgYWN0aXZpdHkuY2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuaXNDbGVhbmluZ1VwKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICF0aGlzLmlzQWN0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETzogdGhpcyBoYW5kbGluZyBvZiBtdWx0aXBsZSBuZXN0ZWQgYWN0aXZpdGllcyBpcyBvbmx5IHVzZWQgYnkgdGhlIGFjdGl2aXR5IGNvbXBvbmVudCBhbmQgaXMgbm90IGEgZ2VuZXJhbCBjYXNlLlxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgY3JlYXRlQW5kTGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YTogRDEsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8UjE+IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpOyAvLyBtYWtlIHN1cmUgd2UndmUgYmVlbiBpbml0aWFsaXNlZFxuICAgIGNvbnN0IGFjdGl2aXR5UmVmID0gbmV3IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZSwgZGF0YSwgKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aXZlQWN0aXZpdHlDb3VudCA9IHRoaXMuZ2V0QWN0aXZlQWN0aXZpdHlDb3VudCgpID4gMDtcbiAgICAgIGlmIChhY3RpdmVBY3Rpdml0eUNvdW50KSB7XG4gICAgICAgIHRoaXMudHJpZ2dlclRhYlN5bmNocm9uaXNhdGlvbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maW5pc2hBbmRTdGFydENsZWFudXAoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmxhdW5jaEFjdGl2aXR5KGFjdGl2aXR5UmVmKTtcbiAgICAvLyBpZiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rpdml0eSBsZXQgdGhlIGludGVyYWN0aW9uIHNlcnZpY2Uga25vdy5cbiAgICBpZiAodGhpcy5hY3Rpdml0eVJlZnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnTm93IGFjdGl2ZSEhIScpO1xuICAgICAgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2VBcGkubm90aWZ5QWN0aXZlKHRoaXMpO1xuICAgIH1cbiAgICByZXR1cm4gYWN0aXZpdHlSZWYuYWN0aXZpdHlSZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVJlZnMuZmlsdGVyKHJlZiA9PiAhcmVmLmlzQ29tcGxldGUoKSkubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGlzIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGZpbmlzaGVkIGFuIGlzIGluIHRoZSBwcm9jZXNzIG9mIHdhaXRpbmdcbiAgICogZm9yIGFsbCB0aGUgaW5mcmFzdHJ1Y3R1cmUgKGluY2x1ZGluZyByb3V0ZSB1cGRhdGVzKSB0byBiZSBjb21wbGV0ZWQuXG4gICAqL1xuICBpc0NsZWFuaW5nVXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fZGVmZXJyZWRDbGVhblVwO1xuICB9XG5cbiAgYXN5bmMgd2FpdEZvckludGVyYWN0aW9uQ29udGV4dENsZWFudXBUb0ZpbmlzaCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWZlcnJlZENsZWFuVXAgP1xuICAgICAgdGhpcy5fZGVmZXJyZWRDbGVhblVwIDpcbiAgICAgIHRydWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2RlZmVycmVkQ2xlYW5VcCkge1xuICAgICAgLy8gSW1wb3J0YW50OlxuICAgICAgLy8gQ2xlYXIgb3VyIHRhYnMgc28gdGhlIG5leHQgYWN0aXZpdHkgdHJpZ2dlcnMgYSB0YWIgY2hhbmdlLlxuICAgICAgLy8gV2l0aG91dCB0aGlzIG91ciBhbmltYXRpb24gZG9uZSB3YXNuJ3QgY2FsbGVkIHdoZW4gYSBzaW5nbGVcbiAgICAgIC8vIG5ldyBhY3Rpdml0eSBmb2xsb3dlZCBhIHNpbmdsZSB0YWIgYWN0aXZpdHkgKHNpbmNlIHdlJ3JlIHRyYWNraW5nXG4gICAgICAvLyBieSBhY3Rpdml0eSBpbmRleClcbiAgICAgIHRoaXMuYWN0aXZpdHlSZWZzID0gW107XG4gICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2VBcGkubm90aWZ5RmluaXNoZWQodGhpcyk7XG4gICAgICB0aGlzLl9kZWZlcnJlZENsZWFuVXAgPSBwcm9taXNlXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9kZWZlcnJlZENsZWFuVXAgPSBudWxsO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgbGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KSB7XG4gICAgY29uc3QgY2xlYW5lZFRhYnMgPSB0aGlzLmFjdGl2aXR5UmVmcy5maWx0ZXIodGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgICB0aGlzLmFjdGl2aXR5UmVmcyA9IGNsZWFuZWRUYWJzLmNvbmNhdChhY3Rpdml0eVJlZik7XG4gICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTtcbiAgfVxuXG4gIGFjdGl2aXR5SW5kZXgoaW5kZXg6IG51bWJlciwgYWN0aXZpdHlSZWY6IEFjdGl2aXR5UmVmPGFueSwgYW55LCBhbnk+KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9O1xuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZCgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3luY2hyb25pc2VzIHRoZSBzZWxlY3RlZCB0YWIgaW5kZXguXG4gICAqL1xuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIHN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSAtIDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggIT09IG5ld0luZGV4KSB7XG4gICAgICB0aGlzLmluQW5pbWF0aW9uLnZhbHVlID0gdHJ1ZTtcbiAgICAgIHRoaXMuYWN0aXZpdHlSZWZzW25ld0luZGV4XS5zZXRGb2N1c2VkKGZhbHNlKTtcbiAgICAgIHRoaXMuYnVzeS5zZXREZWxlZ2F0ZSh0aGlzLmFjdGl2aXR5UmVmc1tuZXdJbmRleF0uYWN0aXZpdHlCdXN5KVxuICAgICAgdGhpcy50YWJzLnNlbGVjdGVkSW5kZXggPSBuZXdJbmRleDtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVJlZnMgPSB0aGlzLmFjdGl2aXR5UmVmcy5maWx0ZXIodGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgICAgICAgdGhpcy5pbkFuaW1hdGlvbi52YWx1ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFjdGl2aXR5UmVmcy5mb3JFYWNoKChyZWYsIGluZGV4KSA9PiB7XG4gICAgICAgICAgcmVmLnNldEZvY3VzZWQoaW5kZXggPT09IG5ld0luZGV4KVxuICAgICAgICB9KVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkT3V0bGV0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5T3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0U2VsZWN0ZWRUYWJJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIHRyaWdnZXJUYWJTeW5jaHJvbmlzYXRpb24oKSB7XG4gICAgaWYgKHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCk7XG4gICAgfVxuICAgIHRoaXMuc3luY1NlbGVjdGVkVGFiVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0ID0gbnVsbDtcbiAgICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk7XG4gICAgfSwgNzUpO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCAjdGFicyBuby10YWItaGVhZGVyXG4gICAgICAgICAgICAgICBbZHluYW1pY0hlaWdodF09XCJkeW5hbWljSGVpZ2h0XCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5mdWxsLWhlaWdodC10YWJzXT1cIiFkeW5hbWljSGVpZ2h0XCI+XG4gIDxtYXQtdGFiICpuZ0Zvcj1cImxldCBhY3Rpdml0eVJlZiBvZiBhY3Rpdml0eVJlZnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IGFjdGl2aXR5SW5kZXhcIj5cbiAgICA8YXVwLWJ1c3ktb3ZlcmxheSBbYnVzeU1vZGVsXT1cImJ1c3lcIiBjZGtUcmFwRm9jdXMgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU+XG4gICAgICA8IS0tXG4gICAgICBXZSBoYXZlIGlzc3VlcyB3aGVyZSBhbmd1bGFyIGlzIHRyaWdnZXJpbmcgYSBsZWF2ZSBhbmltYXRpb24gd2hlbiBhblxuICAgICAgbmV3IGFjdGl2aXR5IGlzIHN0YXJ0ZWQsIGJ1dCBpcyBub3QgcnVubmluZyB0aGUgZW50ZXIgYW5pbWF0aW9uXG4gICAgICB3aGVuIGl0IGlzIHNjcm9sbGVkIGJhY2sgaW50byB2aWV3LiAgU28gd2UgdHJhY2sgdGhlIHRhYiBjaGFuZ2VzIGFuZFxuICAgICAgZGlzYWJsZSBhbGwgYW5pbWF0aW9ucyBpbnNpZGUgdGhlIHRhYiB3aGlsZSB3ZSdyZSBhbmltYXRpbmcuXG4gICAgICAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1vdXRsZXQtd3JhcHBlclwiIFtALmRpc2FibGVkXT1cIiFhY3Rpdml0eVJlZi5mb2N1c2VkXCI+XG4gICAgICAgIDxhdXAtYWN0aXZpdHktb3V0bGV0IFtuZXN0ZWRJbnRlcmFjdGlvbkNvbnRleHRdPVwidGhpc1wiIFthY3Rpdml0eVJlZl09XCJhY3Rpdml0eVJlZlwiPjwvYXVwLWFjdGl2aXR5LW91dGxldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXVwLWJ1c3ktb3ZlcmxheT5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19