@coolon/angular-ui-powerups 16.1.0-aplpha.1 → 16.1.0-aplpha.100

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 (309) hide show
  1. package/assets/activities/activities.scss +3 -3
  2. package/assets/activities/input-activities.scss +10 -2
  3. package/assets/form.scss +77 -23
  4. package/assets/icons.scss +1 -1
  5. package/assets/interaction/editor/inline-string-editor.scss +4 -0
  6. package/assets/interaction.scss +1 -1
  7. package/assets/place.scss +31 -0
  8. package/assets/styles.scss +2 -0
  9. package/assets/table.scss +39 -24
  10. package/assets/tabs.scss +2 -3
  11. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  12. package/esm2022/lib/animations/slide-animations.mjs +6 -1
  13. package/esm2022/lib/components/alignment.mjs +1 -1
  14. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +7 -12
  15. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +4 -4
  16. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  17. package/esm2022/lib/components/commands/command/command.component.mjs +29 -18
  18. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +13 -5
  19. package/esm2022/lib/components/commands/command-face.mjs +11 -11
  20. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  21. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  22. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +1 -1
  23. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  24. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +14 -14
  25. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +8 -8
  26. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +7 -7
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +9 -9
  28. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +11 -18
  29. package/esm2022/lib/components/commands/separator.component.mjs +4 -4
  30. package/esm2022/lib/components/components.module.mjs +52 -38
  31. package/esm2022/lib/components/disposable-component.mjs +22 -40
  32. package/esm2022/lib/components/empty-state/empty-state.component.mjs +5 -9
  33. package/esm2022/lib/components/exports.mjs +8 -3
  34. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  35. package/esm2022/lib/components/focusable.component.mjs +5 -5
  36. package/esm2022/lib/components/forms/abstract-input.component.mjs +66 -18
  37. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  38. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +12 -13
  40. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +7 -7
  41. package/esm2022/lib/components/forms/form-field.mjs +2 -0
  42. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +10 -10
  43. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +53 -14
  44. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +44 -7
  45. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
  46. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +17 -16
  47. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +26 -14
  48. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +7 -7
  49. package/esm2022/lib/components/icon/icon.component.mjs +10 -7
  50. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  51. package/esm2022/lib/components/loadable-component.mjs +49 -0
  52. package/esm2022/lib/components/loading-container/loading-container.component.mjs +7 -12
  53. package/esm2022/lib/components/noop/noop.component.mjs +5 -7
  54. package/esm2022/lib/components/resize-aware.component.mjs +64 -27
  55. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  56. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  57. package/esm2022/lib/components/switch-case/switch-case.component.mjs +15 -17
  58. package/esm2022/lib/components/tables/abstract-table-model.mjs +50 -26
  59. package/esm2022/lib/components/tables/abstract-table.component.mjs +22 -8
  60. package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
  61. package/esm2022/lib/components/tables/column/column-model.mjs +18 -7
  62. package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
  63. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -4
  64. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  65. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  66. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +5 -5
  67. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +6 -5
  68. package/esm2022/lib/components/tables/column/property-column-model.mjs +5 -5
  69. package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
  70. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +7 -7
  71. package/esm2022/lib/components/tables/editor/edit-session.mjs +4 -2
  72. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
  73. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  74. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +3 -2
  75. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +14 -9
  76. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +16 -2
  77. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +38 -0
  78. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  79. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +1 -1
  80. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +19 -3
  81. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +6 -8
  82. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +5 -7
  83. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +16 -8
  84. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +11 -8
  85. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +161 -51
  86. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +4 -4
  87. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +30 -0
  88. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +5 -7
  89. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +4 -4
  90. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +13 -8
  91. package/esm2022/lib/components/tables/table/table-model.mjs +1 -1
  92. package/esm2022/lib/components/tables/table/table.component.mjs +39 -64
  93. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +5 -5
  94. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +5 -4
  95. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  96. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  97. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +5 -7
  98. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +5 -5
  99. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  100. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +10 -7
  101. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +3 -3
  102. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  103. package/esm2022/lib/components/track.mjs +1 -1
  104. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  105. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  106. package/esm2022/lib/directives/command.directive.mjs +11 -11
  107. package/esm2022/lib/directives/directives.module.mjs +10 -10
  108. package/esm2022/lib/directives/exports.mjs +2 -1
  109. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -4
  110. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  111. package/esm2022/lib/directives/focus-binding.mjs +1 -1
  112. package/esm2022/lib/directives/garbage-collector.directive.mjs +5 -4
  113. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  114. package/esm2022/lib/directives/highlight.pipe.mjs +5 -5
  115. package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
  116. package/esm2022/lib/interaction/abstract-interaction-context.mjs +1 -1
  117. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  118. package/esm2022/lib/interaction/activity.mjs +7 -7
  119. package/esm2022/lib/interaction/alert.mjs +2 -2
  120. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -6
  121. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +5 -6
  122. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +8 -10
  123. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -4
  124. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +32 -15
  125. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +4 -6
  126. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  127. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +3 -3
  128. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -4
  129. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -4
  130. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -4
  131. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  132. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -4
  133. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +5 -5
  134. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +5 -5
  135. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +5 -5
  136. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +5 -5
  137. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  138. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  139. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +9 -9
  140. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +19 -8
  141. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +6 -5
  142. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +7 -4
  143. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -7
  144. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +6 -5
  145. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +129 -0
  146. package/esm2022/lib/interaction/confirm.mjs +1 -1
  147. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  148. package/esm2022/lib/interaction/exports.mjs +2 -1
  149. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  150. package/esm2022/lib/interaction/interaction-context.mjs +1 -1
  151. package/esm2022/lib/interaction/interaction.module.mjs +29 -31
  152. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  153. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +1 -1
  154. package/esm2022/lib/interaction/services/interaction.service.mjs +6 -6
  155. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +8 -9
  156. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +1 -2
  157. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  158. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +15 -5
  159. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +7 -8
  160. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +5 -7
  161. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +10 -12
  162. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  163. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +15 -10
  164. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  165. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  166. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +5 -7
  167. package/esm2022/lib/place/guards/place.guard.mjs +6 -5
  168. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  169. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  170. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  171. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  172. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  173. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  174. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  175. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  176. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +3 -3
  177. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +3 -6
  178. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  179. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  180. package/esm2022/lib/place/navigation/session/navigation-session.mjs +1 -1
  181. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  182. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  183. package/esm2022/lib/place/place-component.mjs +33 -47
  184. package/esm2022/lib/place/place-config.mjs +1 -1
  185. package/esm2022/lib/place/place-definition.mjs +3 -3
  186. package/esm2022/lib/place/place-history.mjs +6 -8
  187. package/esm2022/lib/place/place-router.mjs +39 -35
  188. package/esm2022/lib/place/place.decorator.mjs +2 -2
  189. package/esm2022/lib/place/place.module.mjs +16 -16
  190. package/esm2022/lib/place/route/formatter.mjs +2 -2
  191. package/esm2022/lib/place/route/json-types.mjs +1 -1
  192. package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
  193. package/esm2022/lib/place/route/parameter-definition.mjs +2 -2
  194. package/esm2022/lib/place/route/parameter-sanitiser.mjs +1 -1
  195. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  196. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  197. package/esm2022/lib/place/url-service.mjs +4 -4
  198. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  199. package/esm2022/lib/place/visit-segment.mjs +2 -2
  200. package/esm2022/lib/place/visit.mjs +2 -2
  201. package/esm2022/lib/services/markdown/markdown.service.mjs +5 -7
  202. package/esm2022/lib/services/markdown/pill-plugin.mjs +1 -3
  203. package/esm2022/lib/services/visibility-service.mjs +7 -7
  204. package/fesm2022/coolon-angular-ui-powerups.mjs +2913 -2275
  205. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  206. package/lib/angular-ui-powerups.module.d.ts +5 -5
  207. package/lib/animations/slide-animations.d.ts +1 -0
  208. package/lib/components/busy-overlay/busy-overlay.component.d.ts +1 -4
  209. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  210. package/lib/components/commands/command/command.component.d.ts +5 -5
  211. package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
  212. package/lib/components/commands/command-face.d.ts +5 -7
  213. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +3 -3
  214. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +1 -1
  215. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +3 -7
  216. package/lib/components/components.module.d.ts +55 -53
  217. package/lib/components/disposable-component.d.ts +12 -9
  218. package/lib/components/empty-state/empty-state.component.d.ts +1 -4
  219. package/lib/components/exports.d.ts +7 -2
  220. package/lib/components/forms/abstract-input.component.d.ts +16 -7
  221. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  222. package/lib/components/forms/form-field.d.ts +5 -0
  223. package/lib/components/forms/number-input/number-input.component.d.ts +8 -4
  224. package/lib/components/forms/password-input/password-input.component.d.ts +7 -1
  225. package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
  226. package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
  227. package/lib/components/forms/string-input/string-input.component.d.ts +3 -1
  228. package/lib/components/loadable-component.d.ts +17 -0
  229. package/lib/components/loading-container/loading-container.component.d.ts +1 -4
  230. package/lib/components/noop/noop.component.d.ts +0 -1
  231. package/lib/components/resize-aware.component.d.ts +25 -6
  232. package/lib/components/switch-case/switch-case.component.d.ts +6 -7
  233. package/lib/components/tables/abstract-table-model.d.ts +15 -7
  234. package/lib/components/tables/abstract-table.component.d.ts +6 -5
  235. package/lib/components/tables/column/column-manager.d.ts +19 -0
  236. package/lib/components/tables/column/column-model.d.ts +8 -4
  237. package/lib/components/tables/column/column-order-manager.d.ts +20 -0
  238. package/lib/components/tables/column/custom-template-column-model.d.ts +3 -2
  239. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -2
  240. package/lib/components/tables/column/editor-controls-column-model.d.ts +3 -2
  241. package/lib/components/tables/column/list-propery-column-model.d.ts +3 -2
  242. package/lib/components/tables/column/property-column-model.d.ts +3 -2
  243. package/lib/components/tables/column/selection-column-model.d.ts +3 -2
  244. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +3 -3
  245. package/lib/components/tables/editor/edit-session.d.ts +1 -1
  246. package/lib/components/tables/editor/editable-cell-renderer.d.ts +1 -1
  247. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  248. package/lib/components/tables/filter/text-search-predicate.d.ts +9 -0
  249. package/lib/components/tables/footer/footer-row-model.d.ts +22 -0
  250. package/lib/components/tables/renderer/cell-portal-ref.d.ts +16 -9
  251. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +0 -1
  252. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +0 -1
  253. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -0
  254. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +43 -19
  255. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +1 -1
  256. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +11 -0
  257. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +0 -1
  258. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +3 -2
  259. package/lib/components/tables/table/table-model.d.ts +1 -1
  260. package/lib/components/tables/table/table.component.d.ts +15 -11
  261. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +1 -1
  262. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  263. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +0 -1
  264. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  265. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -2
  266. package/lib/components/tables/tree-table/tree-table-component.d.ts +5 -2
  267. package/lib/components/tables/tree-table/tree-table-model.d.ts +1 -1
  268. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  269. package/lib/directives/command.directive.d.ts +2 -2
  270. package/lib/directives/directives.module.d.ts +5 -5
  271. package/lib/directives/exports.d.ts +1 -0
  272. package/lib/directives/resize-observer.directive.d.ts +16 -0
  273. package/lib/interaction/activity-ref.d.ts +2 -2
  274. package/lib/interaction/activity.d.ts +2 -2
  275. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +1 -0
  276. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +1 -3
  277. package/lib/interaction/components/activity-container/activity-container.component.d.ts +8 -4
  278. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +2 -3
  279. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  280. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  281. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +6 -4
  282. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  283. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +53 -0
  284. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +3 -3
  285. package/lib/interaction/exports.d.ts +1 -0
  286. package/lib/interaction/interaction.module.d.ts +30 -30
  287. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -2
  288. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +1 -2
  289. package/lib/place/components/abstract-place-navigation.component.d.ts +1 -0
  290. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +0 -1
  291. package/lib/place/components/place-outlet/place-outlet.component.d.ts +3 -4
  292. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +2 -1
  293. package/lib/place/guards/noop-auth-guard.service.d.ts +0 -1
  294. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +0 -1
  295. package/lib/place/place-component.d.ts +5 -15
  296. package/lib/place/place-history.d.ts +0 -1
  297. package/lib/place/place-router.d.ts +6 -2
  298. package/lib/place/place.decorator.d.ts +1 -1
  299. package/lib/place/place.module.d.ts +8 -8
  300. package/lib/place/route/json-types.d.ts +1 -3
  301. package/lib/place/visit-segment.d.ts +4 -4
  302. package/lib/place/visit.d.ts +2 -2
  303. package/lib/services/markdown/markdown.service.d.ts +0 -1
  304. package/lib/services/visibility-service.d.ts +1 -1
  305. package/package.json +19 -20
  306. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +0 -81
  307. package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
  308. package/lib/components/cards/card-stack/card-stack.component.d.ts +0 -68
  309. package/lib/components/tables/column/column-list-model.d.ts +0 -13
@@ -2,11 +2,12 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { Component, HostBinding, inject, InjectionToken, ViewChild } from "@angular/core";
3
3
  import { Command, DelegatingValueModel, Dsl, EventListenerList, MutableValueModel, Proxify, proxify } from "@coolon/pectin";
4
4
  import { assert } from "@coolon/typescript-utilities";
5
- import { DisposableComponent } from "../components/disposable-component";
5
+ import { LoadableComponent } from "../components/loadable-component";
6
6
  import { ActivityActionsComponent } from "./components/activity-actions/activity-actions.component";
7
7
  import * as i0 from "@angular/core";
8
8
  export const ACTIVITY_DATA = new InjectionToken("InteractionActivityData");
9
- export class Activity extends DisposableComponent {
9
+ // eslint-disable-next-line @angular-eslint/component-class-suffix
10
+ export class Activity extends LoadableComponent {
10
11
  activityData = inject(ACTIVITY_DATA);
11
12
  activityReadyListeners = new EventListenerList();
12
13
  _busy$ = this.registerDisposable(new DelegatingValueModel().withDefault(false));
@@ -61,7 +62,6 @@ export class Activity extends DisposableComponent {
61
62
  notifyActivityReady() {
62
63
  this.activityReadyListeners.fire(l => l(this));
63
64
  this._ready$.value = true;
64
- console.log("ready");
65
65
  }
66
66
  onActivityReady(callback) {
67
67
  return this.activityReadyListeners.add(callback);
@@ -94,8 +94,8 @@ export class Activity extends DisposableComponent {
94
94
  isInitialised() {
95
95
  return !!this._activityContext;
96
96
  }
97
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Activity, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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 });
97
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: Activity, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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 });
99
99
  }
100
100
  __decorate([
101
101
  Proxify(),
@@ -105,7 +105,7 @@ __decorate([
105
105
  Proxify(),
106
106
  __metadata("design:type", Object)
107
107
  ], Activity.prototype, "cancelCommand", null);
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Activity, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: Activity, decorators: [{
109
109
  type: Component,
110
110
  args: [{
111
111
  template: ""
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
120
120
  type: HostBinding,
121
121
  args: ["attr.focused"]
122
122
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFDTCxPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxpQkFBaUIsRUFBRSxpQkFBaUIsRUFFcEMsT0FBTyxFQUNLLE9BQU8sRUFDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7O0FBR3BHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBTSx5QkFBeUIsQ0FBQyxDQUFDO0FBT2hGLE1BQU0sT0FBTyxRQUF3QixTQUFRLG1CQUFtQjtJQUVyRCxZQUFZLEdBQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRWhDLHNCQUFzQixHQUFHLElBQUksaUJBQWlCLEVBQWtDLENBQUM7SUFDakYsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFXLENBQUMsQ0FBQztJQUN6RSxnQkFBZ0IsQ0FBeUI7SUFDaEMsT0FBTyxHQUFHLElBQUksaUJBQWlCLENBQVUsS0FBSyxDQUFDLENBQUM7SUFHdkQsZUFB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QztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUE4QjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsQ0FBQzt1R0FoSFUsUUFBUTsyRkFBUixRQUFRLHdMQVVSLHdCQUF3Qix1RUFaekIsRUFBRTs7QUFnQkg7SUFEUixPQUFPLEVBQUU7OzhDQUMwQztBQUczQztJQURSLE9BQU8sRUFBRTs7NkNBQ3lDOzJGQWpCeEMsUUFBUTtrQkFIcEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFZVyxlQUFlO3NCQUR4QixTQUFTO3VCQUFDLHdCQUF3QjtnQkFJMUIsY0FBYyxNQUdkLGFBQWEsTUFLQSxLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBR2hCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENvbW1hbmQsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLCBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LCBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgVHJhY2UsXG4gIFByb3hpZnksXG4gIFZhbHVlTW9kZWwsIHByb3hpZnlcbn0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gXCIuL2ludGVyYWN0aW9uLWNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEFDVElWSVRZX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PihcIkludGVyYWN0aW9uQWN0aXZpdHlEYXRhXCIpO1xuXG50eXBlIE9uQWN0aXZpdHlSZWFkeVBhcmFtczxELCBSLCBFID0gYW55PiA9IChhY3Rpdml0eTogQWN0aXZpdHk8RCwgUiwgRT4pID0+IHZvaWQ7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogXCJcIlxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eTxELCBSLCBFID0gYW55PiBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblxuICByZWFkb25seSBhY3Rpdml0eURhdGE6IEQgPSBpbmplY3QoQUNUSVZJVFlfREFUQSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpdml0eVJlYWR5TGlzdGVuZXJzID0gbmV3IEV2ZW50TGlzdGVuZXJMaXN0PE9uQWN0aXZpdHlSZWFkeVBhcmFtczxELCBSLCBFPj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnVzeSQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSkpO1xuICBwcml2YXRlIF9mb2N1c2VkJCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpKTtcbiAgcHJpdmF0ZSBfYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eS5Db250ZXh0PFIsIEU+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZWFkeSQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBWaWV3Q2hpbGQoQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50KVxuICBwcm90ZWN0ZWQgYWN0aXZpdHlBY3Rpb25zOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQ7XG5cbiAgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBjb25maXJtQ29tbWFuZCA9IHByb3hpZnkoQ29tbWFuZDx1bmtub3duPik7XG5cbiAgQFByb3hpZnkoKVxuICBhY2Nlc3NvciBjYW5jZWxDb21tYW5kID0gcHJveGlmeShDb21tYW5kPHVua25vd24+KTtcblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIF9pbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKSBjbGFzcyA9IFwiYXVwLWFjdGl2aXR5XCI7XG5cbiAgQEhvc3RCaW5kaW5nKFwiYXR0ci5mb2N1c2VkXCIpXG4gIGdldCBpc0ZvY3VzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQkLnZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmJ1c3lXaGlsZSh0aGlzLmNvbmZpcm1Db21tYW5kLmJ1c3kkKTtcbiAgfVxuXG4gIGluaXRpYWxpc2UobmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQsIGFjdGl2aXR5Q29udGV4dDogQWN0aXZpdHkuQ29udGV4dDxSLCBFPik6IHZvaWQge1xuICAgIGNvbnN0IHsgY2hhaW4sIHdoZW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICBhc3NlcnQuaXNOaWwodGhpcy5fYWN0aXZpdHlDb250ZXh0KTtcbiAgICB0aGlzLl9hY3Rpdml0eUNvbnRleHQgPSBhY3Rpdml0eUNvbnRleHQ7XG4gICAgdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0ID0gbmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0O1xuICAgIHRoaXMuX2ZvY3VzZWQkLnNldERlbGVnYXRlKGFjdGl2aXR5Q29udGV4dC5mb2N1c2VkKTtcbiAgICB3aGVuKHRoaXMuX2ZvY3VzZWQkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMubm90aWZ5QWN0aXZpdHlSZWFkeSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5QWN0aW9ucykge1xuICAgICAgdGhpcy5pbml0aWFsaXNlQWN0aXZpdHlBY3Rpb24odGhpcy5hY3Rpdml0eUFjdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0aWFsaXNlQWN0aXZpdHlBY3Rpb24oYWN0aXZpdHlBY3Rpb25zOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQpIHtcbiAgICBhY3Rpdml0eUFjdGlvbnMuaW5pdENvbW1hbmRzKHRoaXMpO1xuICB9XG5cbiAgZ2V0IGludGVyYWN0aW9uQ29udGV4dCgpIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpO1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQ7XG4gIH1cblxuICBkb25lKHJlc3VsdD86IFIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlDb250ZXh0Lm9uRG9uZShyZXN1bHQpO1xuICB9XG5cbiAgY2FuY2VsKGVycm9yPzogRSk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2aXR5Q29udGV4dC5vbkNhbmNlbChlcnJvcik7XG4gIH1cblxuICBub3RpZnlBY3Rpdml0eVJlYWR5KCkge1xuICAgIHRoaXMuYWN0aXZpdHlSZWFkeUxpc3RlbmVycy5maXJlKGwgPT4gbCh0aGlzKSk7XG4gICAgdGhpcy5fcmVhZHkkLnZhbHVlID0gdHJ1ZTtcbiAgICBjb25zb2xlLmxvZyhcInJlYWR5XCIpXG4gIH1cblxuICBvbkFjdGl2aXR5UmVhZHkoY2FsbGJhY2s6IE9uQWN0aXZpdHlSZWFkeVBhcmFtczxELCBSLCBFPik6IERpc3Bvc2FibGUge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5UmVhZHlMaXN0ZW5lcnMuYWRkKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGF1dG9Gb2N1cyhmb2N1c2FibGU6IHsgcmVxdWVzdEZvY3VzKCk6IHZvaWQgfSkge1xuICAgIHJldHVybiB0aGlzLm9uQWN0aXZpdHlSZWFkeSgoKSA9PiBmb2N1c2FibGUucmVxdWVzdEZvY3VzKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSAjYXV0b0ZvY3VzIGluc3RlYWRcbiAgICogQHBhcmFtIGZvY3VzYWJsZVxuICAgKi9cbiAgYXV0b0ZvY3VzT25BY3Rpdml0eVJlYWR5KGZvY3VzYWJsZTogeyByZXF1ZXN0Rm9jdXMoKTogdm9pZCB9KSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0b0ZvY3VzKGZvY3VzYWJsZSk7XG4gIH1cblxuICBnZXQgcmVhZHkkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9yZWFkeSQucmVhZG9ubHkkO1xuICB9XG5cbiAgZ2V0IGJ1c3kkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9idXN5JC5yZWFkb25seSQ7XG4gIH1cblxuICBnZXQgZm9jdXNlZCQoKTogVmFsdWVNb2RlbDxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGJ1c3lXaGlsZShidXN5TW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj4pIHtcbiAgICB0aGlzLl9idXN5JC5zZXREZWxlZ2F0ZShidXN5TW9kZWwpO1xuICB9XG5cbiAgaXNCdXN5KCkge1xuICAgIHJldHVybiB0aGlzLl9idXN5JC52YWx1ZTtcbiAgfVxuXG4gIGlzSW5pdGlhbGlzZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fYWN0aXZpdHlDb250ZXh0O1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWN0aXZpdHkge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dDxSLCBFPiB7XG4gICAgb25Eb25lOiAocmVzdWx0OiBSKSA9PiB2b2lkLFxuICAgIG9uQ2FuY2VsOiAoZXJyb3I6IEUpID0+IHZvaWQsXG4gICAgZm9jdXNlZDogVmFsdWVNb2RlbDxib29sZWFuPlxuICB9XG59XG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFDTCxPQUFPLEVBQ1Asb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBRVIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMERBQTBELENBQUM7O0FBR2xHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBTSx5QkFBeUIsQ0FBQyxDQUFDO0FBT2hGLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sUUFBd0IsU0FBUSxpQkFBaUI7SUFFbkQsWUFBWSxHQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVoQyxzQkFBc0IsR0FBRyxJQUFJLGlCQUFpQixFQUFrQyxDQUFDO0lBQ2pGLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLFNBQVMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxvQkFBb0IsRUFBVyxDQUFDLENBQUM7SUFDekUsZ0JBQWdCLENBQXlCO0lBQ2hDLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixDQUFVLEtBQUssQ0FBQyxD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QUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQThCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO3VHQS9HVSxRQUFROzJGQUFSLFFBQVEsd0xBVVIsd0JBQXdCLHVFQWJ6QixFQUFFOztBQWlCSDtJQURSLE9BQU8sRUFBRTs7OENBQzBDO0FBRzNDO0lBRFIsT0FBTyxFQUFFOzs2Q0FDeUM7MkZBakJ4QyxRQUFRO2tCQUpwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzBFQWFXLGVBQWU7c0JBRHhCLFNBQVM7dUJBQUMsd0JBQXdCO2dCQUkxQixjQUFjLE1BR2QsYUFBYSxNQUtBLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTztnQkFHaEIsU0FBUztzQkFEWixXQUFXO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIENvbW1hbmQsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEV2ZW50TGlzdGVuZXJMaXN0LFxuICBNdXRhYmxlVmFsdWVNb2RlbCxcbiAgUHJveGlmeSxcbiAgcHJveGlmeSxcbiAgVmFsdWVNb2RlbFxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7YXNzZXJ0fSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHtMb2FkYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvbG9hZGFibGUtY29tcG9uZW50XCI7XG5pbXBvcnQge0FjdGl2aXR5QWN0aW9uc0NvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1hY3Rpb25zL2FjdGl2aXR5LWFjdGlvbnMuY29tcG9uZW50XCI7XG5pbXBvcnQge0ludGVyYWN0aW9uQ29udGV4dH0gZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgQUNUSVZJVFlfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KFwiSW50ZXJhY3Rpb25BY3Rpdml0eURhdGFcIik7XG5cbnR5cGUgT25BY3Rpdml0eVJlYWR5UGFyYW1zPEQsIFIsIEUgPSBhbnk+ID0gKGFjdGl2aXR5OiBBY3Rpdml0eTxELCBSLCBFPikgPT4gdm9pZDtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBcIlwiXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgQWN0aXZpdHk8RCwgUiwgRSA9IGFueT4gZXh0ZW5kcyBMb2FkYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIHJlYWRvbmx5IGFjdGl2aXR5RGF0YTogRCA9IGluamVjdChBQ1RJVklUWV9EQVRBKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2aXR5UmVhZHlMaXN0ZW5lcnMgPSBuZXcgRXZlbnRMaXN0ZW5lckxpc3Q8T25BY3Rpdml0eVJlYWR5UGFyYW1zPEQsIFIsIEU+PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9idXN5JCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxib29sZWFuPigpLndpdGhEZWZhdWx0KGZhbHNlKSk7XG4gIHByaXZhdGUgX2ZvY3VzZWQkID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkpO1xuICBwcml2YXRlIF9hY3Rpdml0eUNvbnRleHQ6IEFjdGl2aXR5LkNvbnRleHQ8UiwgRT47XG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlYWR5JCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG5cbiAgQFZpZXdDaGlsZChBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQpXG4gIHByb3RlY3RlZCBhY3Rpdml0eUFjdGlvbnM6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudDtcblxuICBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGNvbmZpcm1Db21tYW5kID0gcHJveGlmeShDb21tYW5kPHVua25vd24+KTtcblxuICBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGNhbmNlbENvbW1hbmQgPSBwcm94aWZ5KENvbW1hbmQ8dW5rbm93bj4pO1xuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgX2ludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0O1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGNsYXNzID0gXCJhdXAtYWN0aXZpdHlcIjtcblxuICBASG9zdEJpbmRpbmcoXCJhdHRyLmZvY3VzZWRcIilcbiAgZ2V0IGlzRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNlZCQudmFsdWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYnVzeVdoaWxlKHRoaXMuY29uZmlybUNvbW1hbmQuYnVzeSQpO1xuICB9XG5cbiAgaW5pdGlhbGlzZShuZXN0ZWRJbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCwgYWN0aXZpdHlDb250ZXh0OiBBY3Rpdml0eS5Db250ZXh0PFIsIEU+KTogdm9pZCB7XG4gICAgY29uc3QgeyBjaGFpbiwgd2hlbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIGFzc2VydC5pc05pbCh0aGlzLl9hY3Rpdml0eUNvbnRleHQpO1xuICAgIHRoaXMuX2FjdGl2aXR5Q29udGV4dCA9IGFjdGl2aXR5Q29udGV4dDtcbiAgICB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQgPSBuZXN0ZWRJbnRlcmFjdGlvbkNvbnRleHQ7XG4gICAgdGhpcy5fZm9jdXNlZCQuc2V0RGVsZWdhdGUoYWN0aXZpdHlDb250ZXh0LmZvY3VzZWQpO1xuICAgIHdoZW4odGhpcy5fZm9jdXNlZCQpLmJlY29tZXNUcnV0aHkoKCkgPT4ge1xuICAgICAgdGhpcy5ub3RpZnlBY3Rpdml0eVJlYWR5KCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlBY3Rpb25zKSB7XG4gICAgICB0aGlzLmluaXRpYWxpc2VBY3Rpdml0eUFjdGlvbih0aGlzLmFjdGl2aXR5QWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGluaXRpYWxpc2VBY3Rpdml0eUFjdGlvbihhY3Rpdml0eUFjdGlvbnM6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudCkge1xuICAgIGFjdGl2aXR5QWN0aW9ucy5pbml0Q29tbWFuZHModGhpcyk7XG4gIH1cblxuICBnZXQgaW50ZXJhY3Rpb25Db250ZXh0KCkge1xuICAgIGFzc2VydC5pc1RydXRoeSh0aGlzLmlzSW5pdGlhbGlzZWQoKSk7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dDtcbiAgfVxuXG4gIGRvbmUocmVzdWx0PzogUik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0eUNvbnRleHQub25Eb25lKHJlc3VsdCk7XG4gIH1cblxuICBjYW5jZWwoZXJyb3I/OiBFKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZpdHlDb250ZXh0Lm9uQ2FuY2VsKGVycm9yKTtcbiAgfVxuXG4gIG5vdGlmeUFjdGl2aXR5UmVhZHkoKSB7XG4gICAgdGhpcy5hY3Rpdml0eVJlYWR5TGlzdGVuZXJzLmZpcmUobCA9PiBsKHRoaXMpKTtcbiAgICB0aGlzLl9yZWFkeSQudmFsdWUgPSB0cnVlO1xuICB9XG5cbiAgb25BY3Rpdml0eVJlYWR5KGNhbGxiYWNrOiBPbkFjdGl2aXR5UmVhZHlQYXJhbXM8RCwgUiwgRT4pOiBEaXNwb3NhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eVJlYWR5TGlzdGVuZXJzLmFkZChjYWxsYmFjayk7XG4gIH1cblxuICBhdXRvRm9jdXMoZm9jdXNhYmxlOiB7IHJlcXVlc3RGb2N1cygpOiB2b2lkIH0pIHtcbiAgICByZXR1cm4gdGhpcy5vbkFjdGl2aXR5UmVhZHkoKCkgPT4gZm9jdXNhYmxlLnJlcXVlc3RGb2N1cygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgI2F1dG9Gb2N1cyBpbnN0ZWFkXG4gICAqIEBwYXJhbSBmb2N1c2FibGVcbiAgICovXG4gIGF1dG9Gb2N1c09uQWN0aXZpdHlSZWFkeShmb2N1c2FibGU6IHsgcmVxdWVzdEZvY3VzKCk6IHZvaWQgfSkge1xuICAgIHJldHVybiB0aGlzLmF1dG9Gb2N1cyhmb2N1c2FibGUpO1xuICB9XG5cbiAgZ2V0IHJlYWR5JCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBidXN5JCgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fYnVzeSQucmVhZG9ubHkkO1xuICB9XG5cbiAgZ2V0IGZvY3VzZWQkKCk6IFZhbHVlTW9kZWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9mb2N1c2VkJC5yZWFkb25seSQ7XG4gIH1cblxuICBidXN5V2hpbGUoYnVzeU1vZGVsOiBWYWx1ZU1vZGVsPGJvb2xlYW4+KSB7XG4gICAgdGhpcy5fYnVzeSQuc2V0RGVsZWdhdGUoYnVzeU1vZGVsKTtcbiAgfVxuXG4gIGlzQnVzeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYnVzeSQudmFsdWU7XG4gIH1cblxuICBpc0luaXRpYWxpc2VkKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2FjdGl2aXR5Q29udGV4dDtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5IHtcblxuICBleHBvcnQgaW50ZXJmYWNlIENvbnRleHQ8UiwgRT4ge1xuICAgIG9uRG9uZTogKHJlc3VsdDogUikgPT4gdm9pZCxcbiAgICBvbkNhbmNlbDogKGVycm9yOiBFKSA9PiB2b2lkLFxuICAgIGZvY3VzZWQ6IFZhbHVlTW9kZWw8Ym9vbGVhbj5cbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { isFunction } from 'lodash';
1
+ import { isFunction } from 'lodash-es';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBWXBDLE1BQU0sS0FBVyxLQUFLLENBY3JCO0FBZEQsV0FBaUIsS0FBSztJQUVwQixTQUFnQixVQUFVLENBQUMsS0FBWTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUhlLGdCQUFVLGFBR3pCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7QUFDSCxDQUFDLEVBZGdCLEtBQUssS0FBTCxLQUFLLFFBY3JCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGludGVyZmFjZSBBbGVydCB7XG4gIHRpdGxlPygpOiBzdHJpbmc7XG5cbiAgY29sb3I/KCk6IHN0cmluZztcblxuICBjb250ZW50KCk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIG9rKCk6IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBbGVydCB7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENvbnRlbnQoYWxlcnQ6IEFsZXJ0KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhbGVydC5jb250ZW50KCk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29udGVudCkgPyBjb250ZW50IDogW2NvbnRlbnRdO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRpdGxlKGFsZXJ0OiBBbGVydCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oYWxlcnQudGl0bGUpID8gYWxlcnQudGl0bGUoKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvcihhbGVydDogQWxlcnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGFsZXJ0LmNvbG9yKSA/IGFsZXJ0LmNvbG9yKCkgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9hbGVydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBWXJDLE1BQU0sS0FBVyxLQUFLLENBY3JCO0FBZEQsV0FBaUIsS0FBSztJQUVwQixTQUFnQixVQUFVLENBQUMsS0FBWTtRQUNyQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUhlLGdCQUFVLGFBR3pCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsS0FBWTtRQUNuQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzdELENBQUM7SUFGZSxjQUFRLFdBRXZCLENBQUE7QUFDSCxDQUFDLEVBZGdCLEtBQUssS0FBTCxLQUFLLFFBY3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc0Z1bmN0aW9ufSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0IHtcbiAgdGl0bGU/KCk6IHN0cmluZztcblxuICBjb2xvcj8oKTogc3RyaW5nO1xuXG4gIGNvbnRlbnQoKTogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgb2soKTogc3RyaW5nO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFsZXJ0IHtcblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0Q29udGVudChhbGVydDogQWxlcnQpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29udGVudCA9IGFsZXJ0LmNvbnRlbnQoKTtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb250ZW50KSA/IGNvbnRlbnQgOiBbY29udGVudF07XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0VGl0bGUoYWxlcnQ6IEFsZXJ0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihhbGVydC50aXRsZSkgPyBhbGVydC50aXRsZSgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yKGFsZXJ0OiBBbGVydCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oYWxlcnQuY29sb3IpID8gYWxlcnQuY29sb3IoKSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,9 +1,10 @@
1
- import { Component, Inject } from '@angular/core';
1
+ import { Component, HostBinding, Inject } from '@angular/core';
2
2
  import { Command } from '@coolon/pectin';
3
3
  import { AbstractDialogComponent, ALERT_CONFIG } from './abstract-dialog.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AbstractConfirmDialogComponent extends AbstractDialogComponent {
6
6
  cancelFace;
7
+ confirmClass = "aup-confirm-activity";
7
8
  constructor(config) {
8
9
  super(config);
9
10
  this.cancelFace = {
@@ -13,10 +14,10 @@ export class AbstractConfirmDialogComponent extends AbstractDialogComponent {
13
14
  return this.cancel();
14
15
  });
15
16
  }
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
17
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AbstractConfirmDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractConfirmDialogComponent, selector: "ng-component", host: { properties: { "class": "this.confirmClass" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
18
19
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractConfirmDialogComponent, decorators: [{
20
21
  type: Component,
21
22
  args: [{
22
23
  template: ''
@@ -24,5 +25,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
24
25
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
25
26
  type: Inject,
26
27
  args: [ALERT_CONFIG]
27
- }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvaW50ZXJhY3Rpb24vY29tcG9uZW50cy9hYnN0cmFjdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFVLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNcEYsTUFBTSxPQUFPLDhCQUE4QyxTQUFRLHVCQUFnQztJQUV4RixVQUFVLENBQWM7SUFFakMsWUFBa0MsTUFBZTtRQUMvQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1NBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FaVSw4QkFBOEIsa0JBSXJCLFlBQVk7MkZBSnJCLDhCQUE4QiwyRUFGL0IsRUFBRTs7MkZBRUQsOEJBQThCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzswQkFLYyxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0LCBDb21tYW5kIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQ29tbWFuZEZhY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi4vY29uZmlybSc7XG5pbXBvcnQgeyBBYnN0cmFjdERpYWxvZ0NvbXBvbmVudCwgQUxFUlRfQ09ORklHIH0gZnJvbSAnLi9hYnN0cmFjdC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudCB9IGZyb20gXCIuL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdENvbmZpcm1EaWFsb2dDb21wb25lbnQ8RCwgUiwgRSA9IGFueT4gZXh0ZW5kcyBBYnN0cmFjdERpYWxvZ0NvbXBvbmVudDxELCBSLCBFPiB7XG5cbiAgcmVhZG9ubHkgY2FuY2VsRmFjZTogQ29tbWFuZEZhY2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChBTEVSVF9DT05GSUcpIGNvbmZpZzogQ29uZmlybSkge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgdGhpcy5jYW5jZWxGYWNlID0ge1xuICAgICAgdGV4dDogKCkgPT4gY29uZmlnLmNhbmNlbCgpXG4gICAgfTtcbiAgICB0aGlzLmNhbmNlbENvbW1hbmQgPSBDb21tYW5kLmNyZWF0ZSgoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5jYW5jZWwoKTtcbiAgICB9KTtcbiAgfVxuXG5cbi8vIG5vdGlmeUFjdGl2aXR5UmVhZHkoKSB7XG4gIC8vICAgc3VwZXIubm90aWZ5QWN0aXZpdHlSZWFkeSgpO1xuICAvLyAgIGNvbnN0IGZvY3VzVGFyZ2V0ID0gdGhpcy5pc0Rlc3RydWN0aXZlKCkgPyB0aGlzLmNhbmNlbENvbW1hbmQgOiB0aGlzLmNvbmZpcm1Db21tYW5kO1xuICAvLyAgIGZvY3VzVGFyZ2V0LlxuICAvLyB9XG5cbn1cbiJdfQ==
28
+ }] }]; }, propDecorators: { confirmClass: [{
29
+ type: HostBinding,
30
+ args: ["class"]
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvaW50ZXJhY3Rpb24vY29tcG9uZW50cy9hYnN0cmFjdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7O0FBS2xGLE1BQU0sT0FBTyw4QkFBOEMsU0FBUSx1QkFBZ0M7SUFFeEYsVUFBVSxDQUFjO0lBRVgsWUFBWSxHQUFHLHNCQUFzQixDQUFDO0lBRTVELFlBQWtDLE1BQWU7UUFDL0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtTQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBZFUsOEJBQThCLGtCQU1yQixZQUFZOzJGQU5yQiw4QkFBOEIsbUlBRi9CLEVBQUU7OzJGQUVELDhCQUE4QjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjs7MEJBT2MsTUFBTTsyQkFBQyxZQUFZOzRDQUZWLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbWFuZH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtDb21tYW5kRmFjZX0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHtDb25maXJtfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7QWJzdHJhY3REaWFsb2dDb21wb25lbnQsIEFMRVJUX0NPTkZJR30gZnJvbSAnLi9hYnN0cmFjdC1kaWFsb2cuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdENvbmZpcm1EaWFsb2dDb21wb25lbnQ8RCwgUiwgRSA9IGFueT4gZXh0ZW5kcyBBYnN0cmFjdERpYWxvZ0NvbXBvbmVudDxELCBSLCBFPiB7XG5cbiAgcmVhZG9ubHkgY2FuY2VsRmFjZTogQ29tbWFuZEZhY2U7XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIikgY29uZmlybUNsYXNzID0gXCJhdXAtY29uZmlybS1hY3Rpdml0eVwiO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQUxFUlRfQ09ORklHKSBjb25maWc6IENvbmZpcm0pIHtcbiAgICBzdXBlcihjb25maWcpO1xuICAgIHRoaXMuY2FuY2VsRmFjZSA9IHtcbiAgICAgIHRleHQ6ICgpID0+IGNvbmZpZy5jYW5jZWwoKVxuICAgIH07XG4gICAgdGhpcy5jYW5jZWxDb21tYW5kID0gQ29tbWFuZC5jcmVhdGUoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuY2FuY2VsKCk7XG4gICAgfSk7XG4gIH1cblxuXG4vLyBub3RpZnlBY3Rpdml0eVJlYWR5KCkge1xuICAvLyAgIHN1cGVyLm5vdGlmeUFjdGl2aXR5UmVhZHkoKTtcbiAgLy8gICBjb25zdCBmb2N1c1RhcmdldCA9IHRoaXMuaXNEZXN0cnVjdGl2ZSgpID8gdGhpcy5jYW5jZWxDb21tYW5kIDogdGhpcy5jb25maXJtQ29tbWFuZDtcbiAgLy8gICBmb2N1c1RhcmdldC5cbiAgLy8gfVxuXG59XG4iXX0=
@@ -48,13 +48,12 @@ export class AbstractDialogComponent extends Activity {
48
48
  }
49
49
  }
50
50
  isDestructive() {
51
- // @ts-ignore
52
- return isFunction(this.config['destructive']) && this.config.destructive();
51
+ return isFunction(this.config['destructive']) && this.config["destructive"]();
53
52
  }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
53
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractDialogComponent, deps: [{ token: ALERT_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractDialogComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
56
55
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AbstractDialogComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractDialogComponent, decorators: [{
58
57
  type: Component,
59
58
  args: [{
60
59
  template: ''
@@ -63,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
63
62
  type: Inject,
64
63
  args: [ALERT_CONFIG]
65
64
  }] }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHakMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBSW5FLE1BQU0sT0FBTyx1QkFBdUMsU0FBUSxRQUFpQjtJQU90QjtJQUw1QyxXQUFXLENBQWM7SUFDekIsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFXO0lBQ2xCLEtBQUssQ0FBaUM7SUFFL0MsWUFBcUQsTUFBdUI7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFEMkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFMUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUN2QixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTO1lBQ3BDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO1NBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTthQUNoRztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFUyxVQUFVLENBQUMsUUFBZ0I7UUFDbkMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNwRCxPQUFPLFFBQXlDLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDakQsT0FBTyxTQUFTLENBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsYUFBYTtRQUNiLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdFLENBQUM7dUdBL0NVLHVCQUF1QixrQkFPZCxZQUFZOzJGQVByQix1QkFBdUIsMkVBRnhCLEVBQUU7OzJGQUVELHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjs7MEJBUWMsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBsYW5nIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge2lzRnVuY3Rpb259IGZyb20gXCJsb2Rhc2gtZXNcIjtcbmltcG9ydCB7IENvbW1hbmRGYWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcblxuZXhwb3J0IGNvbnN0IEFMRVJUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdBbGVydENvbmZpZycpO1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdERpYWxvZ0NvbXBvbmVudDxELCBSLCBFID0gYW55PiBleHRlbmRzIEFjdGl2aXR5PEQsIFIsIEU+IHtcblxuICByZWFkb25seSBjb25maXJtRmFjZTogQ29tbWFuZEZhY2U7XG4gIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbnRlbnQ6IHN0cmluZ1tdO1xuICByZWFkb25seSBjb2xvcj86ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQUxFUlRfQ09ORklHKSBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnOiBBbGVydCB8IENvbmZpcm0pIHtcbiAgICBzdXBlcigpO1xuICAgIGFzc2VydC5ub3ROaWwoY29uZmlnKTtcbiAgICB0aGlzLnRpdGxlID0gQWxlcnQuZ2V0VGl0bGUoY29uZmlnKTtcbiAgICB0aGlzLmNvbG9yID0gdGhpcy5jaGVja0NvbG9yKEFsZXJ0LmdldENvbG9yKGNvbmZpZykpO1xuICAgIHRoaXMuY29udGVudCA9IEFsZXJ0LmdldENvbnRlbnQoY29uZmlnKTtcblxuICAgIHRoaXMuY29uZmlybUZhY2UgPSB7XG4gICAgICB0ZXh0OiAoKSA9PiBjb25maWcub2soKSxcbiAgICAgIGNvbG9yOiAoKSA9PiB0aGlzLmNvbG9yIHx8ICdwcmltYXJ5JyxcbiAgICAgIHN0eWxlOiAoKSA9PiAncmFpc2VkJ1xuICAgIH07XG5cbiAgICB0aGlzLm9uQWN0aXZpdHlSZWFkeSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY3Rpdml0eUFjdGlvbnMpIHtcbiAgICAgICAgdGhpcy5pc0Rlc3RydWN0aXZlKCkgPyB0aGlzLmFjdGl2aXR5QWN0aW9ucy5mb2N1c0NhbmNlbCgpIDogdGhpcy5hY3Rpdml0eUFjdGlvbnMuZm9jdXNDb25maXJtKClcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENvbmZpZygpOkFsZXJ0IHwgQ29uZmlybSB7XG4gICAgcmV0dXJuIGxhbmcuYWJzdHJhY3RNZXRob2QodGhpcy5jb25zdHJ1Y3RvcilcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja0NvbG9yKHJhd0NvbG9yOiBzdHJpbmcpOiAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyB7XG4gICAgaWYgKHRoaXMuaXNEZXN0cnVjdGl2ZSgpKSB7XG4gICAgICByZXR1cm4gJ3dhcm4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoWydwcmltYXJ5JywgJ2FjY2VudCcsICd3YXJuJ10uaW5jbHVkZXMocmF3Q29sb3IpKSB7XG4gICAgICAgIHJldHVybiByYXdDb2xvciBhcyAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgSW52YWxpZCBjb2xvciBzdHJpbmcgJHtyYXdDb2xvcn1gKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0Rlc3RydWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gaXNGdW5jdGlvbih0aGlzLmNvbmZpZ1snZGVzdHJ1Y3RpdmUnXSkgJiYgdGhpcy5jb25maWcuZGVzdHJ1Y3RpdmUoKTtcbiAgfVxuXG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWJzdHJhY3QtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDckMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFVBQVUsQ0FBQzs7QUFHL0IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBSW5FLE1BQU0sT0FBTyx1QkFBdUMsU0FBUSxRQUFpQjtJQU90QjtJQUw1QyxXQUFXLENBQWM7SUFDekIsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFXO0lBQ2xCLEtBQUssQ0FBaUM7SUFFL0MsWUFBcUQsTUFBdUI7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFEMkMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFMUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUN2QixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTO1lBQ3BDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO1NBQ3RCLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQTthQUNoRztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzlDLENBQUM7SUFFUyxVQUFVLENBQUMsUUFBZ0I7UUFDbkMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUNwRCxPQUFPLFFBQXlDLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDakQsT0FBTyxTQUFTLENBQUM7YUFDbEI7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztJQUNoRixDQUFDO3VHQTlDVSx1QkFBdUIsa0JBT2QsWUFBWTsyRkFQckIsdUJBQXVCLDJFQUZ4QixFQUFFOzsyRkFFRCx1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OzBCQVFjLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YXNzZXJ0fSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge2xhbmd9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHtpc0Z1bmN0aW9ufSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge0NvbW1hbmRGYWNlfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQge0FsZXJ0fSBmcm9tICcuLi9hbGVydCc7XG5pbXBvcnQge0NvbmZpcm19IGZyb20gJy4uL2NvbmZpcm0nO1xuXG5leHBvcnQgY29uc3QgQUxFUlRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0FsZXJ0Q29uZmlnJyk7XG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGlhbG9nQ29tcG9uZW50PEQsIFIsIEUgPSBhbnk+IGV4dGVuZHMgQWN0aXZpdHk8RCwgUiwgRT4ge1xuXG4gIHJlYWRvbmx5IGNvbmZpcm1GYWNlOiBDb21tYW5kRmFjZTtcbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nW107XG4gIHJlYWRvbmx5IGNvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChBTEVSVF9DT05GSUcpIHByb3RlY3RlZCByZWFkb25seSBjb25maWc6IEFsZXJ0IHwgQ29uZmlybSkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChjb25maWcpO1xuICAgIHRoaXMudGl0bGUgPSBBbGVydC5nZXRUaXRsZShjb25maWcpO1xuICAgIHRoaXMuY29sb3IgPSB0aGlzLmNoZWNrQ29sb3IoQWxlcnQuZ2V0Q29sb3IoY29uZmlnKSk7XG4gICAgdGhpcy5jb250ZW50ID0gQWxlcnQuZ2V0Q29udGVudChjb25maWcpO1xuXG4gICAgdGhpcy5jb25maXJtRmFjZSA9IHtcbiAgICAgIHRleHQ6ICgpID0+IGNvbmZpZy5vaygpLFxuICAgICAgY29sb3I6ICgpID0+IHRoaXMuY29sb3IgfHwgJ3ByaW1hcnknLFxuICAgICAgc3R5bGU6ICgpID0+ICdyYWlzZWQnXG4gICAgfTtcblxuICAgIHRoaXMub25BY3Rpdml0eVJlYWR5KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2aXR5QWN0aW9ucykge1xuICAgICAgICB0aGlzLmlzRGVzdHJ1Y3RpdmUoKSA/IHRoaXMuYWN0aXZpdHlBY3Rpb25zLmZvY3VzQ2FuY2VsKCkgOiB0aGlzLmFjdGl2aXR5QWN0aW9ucy5mb2N1c0NvbmZpcm0oKVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q29uZmlnKCk6QWxlcnQgfCBDb25maXJtIHtcbiAgICByZXR1cm4gbGFuZy5hYnN0cmFjdE1ldGhvZCh0aGlzLmNvbnN0cnVjdG9yKVxuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrQ29sb3IocmF3Q29sb3I6IHN0cmluZyk6ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nIHtcbiAgICBpZiAodGhpcy5pc0Rlc3RydWN0aXZlKCkpIHtcbiAgICAgIHJldHVybiAnd2Fybic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChbJ3ByaW1hcnknLCAnYWNjZW50JywgJ3dhcm4nXS5pbmNsdWRlcyhyYXdDb2xvcikpIHtcbiAgICAgICAgcmV0dXJuIHJhd0NvbG9yIGFzICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGNvbG9yIHN0cmluZyAke3Jhd0NvbG9yfWApO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzRGVzdHJ1Y3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24odGhpcy5jb25maWdbJ2Rlc3RydWN0aXZlJ10pICYmIHRoaXMuY29uZmlnW1wiZGVzdHJ1Y3RpdmVcIl0oKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectorRef, Component, HostBinding, Input, ViewChild } from "@angular/core";
2
+ import { Component, HostBinding, Input, ViewChild } from "@angular/core";
3
3
  import { Command, proxify, Proxify } from '@coolon/pectin';
4
4
  import { Enum } from 'typescript-string-enums';
5
5
  import { CommandFace } from '../../../components/commands/command-face';
@@ -30,7 +30,6 @@ import * as i2 from "../../../components/commands/command/command.component";
30
30
  * </aup-activity-actions>
31
31
  */
32
32
  export class ActivityActionsComponent extends DisposableComponent {
33
- cdr;
34
33
  confirmCommandComponent;
35
34
  cancelCommandComponent;
36
35
  #confirmCommand_accessor_storage = proxify((Command));
@@ -59,9 +58,8 @@ export class ActivityActionsComponent extends DisposableComponent {
59
58
  }
60
59
  layout = ActivityActionsComponent.Layout.BLOCK;
61
60
  align = ActivityActionsComponent.Align.STRETCH;
62
- constructor(cdr) {
61
+ constructor() {
63
62
  super();
64
- this.cdr = cdr;
65
63
  }
66
64
  hasConfirmFace() {
67
65
  return !!this.confirmFace;
@@ -80,8 +78,8 @@ export class ActivityActionsComponent extends DisposableComponent {
80
78
  focusCancel() {
81
79
  this.cancelCommandComponent.requestFocus();
82
80
  }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ActivityActionsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
84
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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" } }, viewQueries: [{ propertyName: "confirmCommandComponent", first: true, predicate: ["confirmCommandComponent"], descendants: true }, { propertyName: "cancelCommandComponent", first: true, predicate: ["cancelCommandComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent 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"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }] });
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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" } }, viewQueries: [{ propertyName: "confirmCommandComponent", first: true, predicate: ["confirmCommandComponent"], descendants: true }, { propertyName: "cancelCommandComponent", first: true, predicate: ["cancelCommandComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-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"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CommandComponent, selector: "aup-command", inputs: ["command", "face$", "face", "busyFace$", "busyFace", "alignFace"] }] });
85
83
  }
86
84
  __decorate([
87
85
  Proxify(),
@@ -91,10 +89,10 @@ __decorate([
91
89
  Proxify(),
92
90
  __metadata("design:type", Object)
93
91
  ], ActivityActionsComponent.prototype, "cancelCommand", null);
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ActivityActionsComponent, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityActionsComponent, decorators: [{
95
93
  type: Component,
96
- args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent 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"] }]
97
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { confirmCommandComponent: [{
94
+ args: [{ selector: 'aup-activity-actions', template: "<div class=\"content\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"hasCancelFace()\">\n <aup-command #cancelCommandComponent class=\"cancel\" [command]=\"cancelCommand\" [face]=\"cancelFace\" data-cy=\"cancel-command\"></aup-command>\n</ng-container>\n<ng-container *ngIf=\"hasConfirmFace()\">\n <aup-command #confirmCommandComponent class=\"confirm\" [command]=\"confirmCommand\" [face]=\"confirmFace\" data-cy=\"confirm-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"] }]
95
+ }], ctorParameters: function () { return []; }, propDecorators: { confirmCommandComponent: [{
98
96
  type: ViewChild,
99
97
  args: ["confirmCommandComponent"]
100
98
  }], cancelCommandComponent: [{
@@ -134,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
134
132
  STRETCH: 'stretch'
135
133
  });
136
134
  })(ActivityActionsComponent || (ActivityActionsComponent = {}));
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE4QixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUcvRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFNSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsbUJBQW1CO0lBaURsQztJQTlDbkIsdUJBQXVCLENBQWtCO0lBR3pDLHNCQUFzQixDQUFrQjtJQU16QyxtQ0FBaUIsT0FBTyxDQUFDLENBQUEsT0FBWSxDQUFBLENBQUMsQ0FBQztJQUpoRDs7T0FFRztJQUVNLElBQUEsY0FBYyxvREFBeUI7SUFBdkMsSUFBQSxjQUFjLDBEQUF5QjtJQU12QyxrQ0FBZSxPQUFPLENBQUMsQ0FBQSxPQUFZLENBQUEsQ0FBQyxDQUFDO0lBSjlDOztPQUVHO0lBRU0sSUFBQSxhQUFhLG1EQUF3QjtJQUFyQyxJQUFBLGFBQWEseURBQXdCO0lBRTlDLElBQ0ksS0FBSyxDQUFDLEtBQXFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUdELFdBQVcsQ0FBYztJQUd6QixVQUFVLENBQWM7SUFFeEI7O09BRUc7SUFDSCxJQUNJLEtBQUssQ0FBQyxLQUFxQztRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBSUQsTUFBTSxHQUFvQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBSWhGLEtBQUssR0FBbUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUcvRSxZQUE2QixHQUFzQjtRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURtQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUVuRCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBK0U7UUFDMUYsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7dUdBekVVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLG9tQkNsQ3JDLHNlQVNBOztBRHFDVztJQURDLE9BQU8sRUFBRTs7OERBQzZCO0FBTXZDO0lBREMsT0FBTyxFQUFFOzs2REFDMkI7MkZBbEJuQyx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usc0JBQXNCO3dHQU90Qix1QkFBdUI7c0JBRGhDLFNBQVM7dUJBQUMseUJBQXlCO2dCQUkxQixzQkFBc0I7c0JBRC9CLFNBQVM7dUJBQUMsd0JBQXdCO2dCQU8xQixjQUFjO3NCQUR0QixLQUFLO2dCQU9HLGFBQWE7c0JBRHJCLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBT0YsS0FBSztzQkFEUixLQUFLO2dCQU9OLE1BQU07c0JBRkwsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxhQUFhO2dCQUsxQixLQUFLO3NCQUZKLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsWUFBWTs7QUErQjNCLFdBQWlCLHdCQUF3QjtJQUUxQiwrQkFBTSxHQUFHLElBQUksQ0FBQztRQUN6QixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsT0FBTztLQUNmLENBQUMsQ0FBQztJQUdVLDhCQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLEtBQUssRUFBRSxPQUFPO1FBQ2QsR0FBRyxFQUFFLEtBQUs7UUFDVixPQUFPLEVBQUUsU0FBUztLQUNuQixDQUFDLENBQUM7QUFRTCxDQUFDLEVBcEJnQix3QkFBd0IsS0FBeEIsd0JBQXdCLFFBb0J4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2tpcFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0NvbW1hbmQsIHByb3hpZnksIFByb3hpZnl9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEVudW0gfSBmcm9tICd0eXBlc2NyaXB0LXN0cmluZy1lbnVtcyc7XG5pbXBvcnQgeyBDb21tYW5kRmFjZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvY29tbWFuZHMvY29tbWFuZC1mYWNlJztcbmltcG9ydCB7IENvbW1hbmRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kL2NvbW1hbmQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gXCIuLi8uLi9hY3Rpdml0eVwiO1xuXG4vKipcbiAqIEBleGFtcGxlXG4gKiA8YXVwLWFjdGl2aXR5LWFjdGlvbnMgW2NvbmZpcm1GYWNlXT1cInNhdmVGYWNlXCIgW2NhbmNlbEZhY2VdPVwiY2FuY2VsRmFjZVwiPlxuICogPC9hdXAtYWN0aXZpdHktYWN0aW9ucz5cbiAqXG4gKiAgPGF1cC1hY3Rpdml0eS1hY3Rpb25zIFtmYWNlc109XCJ7Y29uZmlybTogc2F2ZUZhY2UsIGNhbmNlbDogY2FuY2VsRmFjZX1cIj5cbiAqICA8L2F1cC1hY3Rpdml0eS1hY3Rpb25zPlxuICpcbiAqIC8vIFJ1bm5pbmcgYG5nIGcgQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzOmF1cC1pMThuYCB3aWxsIGluc3RhbGwgZGVmYXVsdFxuICogLy8gc3R5bGUgZGVmaW5pdGlvbnNcbiAqIDxhdXAtYWN0aXZpdHktYWN0aW9ucyBbZmFjZXNdPVwiSTE4bi5hdXAuY29tcG9uZW50cy5hY3Rpdml0eUFjdGlvbnMuc3R5bGVzLm9rQ2FuY2VsSWNvbnNcIj5cbiAqIDwvYXVwLWFjdGl2aXR5LWFjdGlvbnM+XG4gKlxuICogLy8geW91IGNhbiBhbHNvIGFkZCBhZGRpdGlvbmFsIGNvbnRlbnQgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBhbG9uZyB3aXRoIHRoZSBidXR0b25zLlxuICogLy8gVGhlIGxvY2F0aW9uIG9mIHRoZSBjb250ZW50IGRlcGVuZHMgb24gdGhlIGFsaWdubWVudCBhdHRyaWJ1dGUuXG4gKiA8YXVwLWFjdGl2aXR5LWFjdGlvbnNcbiAqICAgICBhbGlnbj1cInN0cmV0Y2hcIlxuICogICAgIFtmYWNlc109XCJJMThuLmF1cC5jb21wb25lbnRzLmFjdGl2aXR5QWN0aW9ucy5zdHlsZXMub2tDYW5jZWxJY29uc1wiPlxuICogICAgIDxzcGFuPlRoaXMgY29udGVudCB3aWxsIGJlIGJldHdlZW4gdGhlIHR3byBjb21tYW5kczwvc3Bhbj5cbiAqIDwvYXVwLWFjdGl2aXR5LWFjdGlvbnM+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1hY3Rpdml0eS1hY3Rpb25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0eS1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgQFZpZXdDaGlsZChcImNvbmZpcm1Db21tYW5kQ29tcG9uZW50XCIpXG4gIHByb3RlY3RlZCBjb25maXJtQ29tbWFuZENvbXBvbmVudDogQ29tbWFuZENvbXBvbmVudFxuXG4gIEBWaWV3Q2hpbGQoXCJjYW5jZWxDb21tYW5kQ29tcG9uZW50XCIpXG4gIHByb3RlY3RlZCBjYW5jZWxDb21tYW5kQ29tcG9uZW50OiBDb21tYW5kQ29tcG9uZW50XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIGFjdGl2aXR5IGFjdGlvbnMgbm93IHVzZSB0aGUgY29uZmlybSBjb21tYW5kIG9mIHRoZSBhY3Rpdml0eSBhdXRvbWF0aWNhbGx5XG4gICAqL1xuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGNvbmZpcm1Db21tYW5kID0gcHJveGlmeShDb21tYW5kPGFueT4pO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBhY3Rpdml0eSBhY3Rpb25zIG5vdyB1c2UgdGhlIGNhbmNlbCBjb21tYW5kIG9mIHRoZSBhY3Rpdml0eSBhdXRvbWF0aWNhbGx5XG4gICAqL1xuICBASW5wdXQoKSBAUHJveGlmeSgpXG4gIGFjY2Vzc29yIGNhbmNlbENvbW1hbmQ9IHByb3hpZnkoQ29tbWFuZDxhbnk+KTtcblxuICBASW5wdXQoKVxuICBzZXQgZmFjZXMoZmFjZXM6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudC5TdHlsZSkge1xuICAgIHRoaXMuY29uZmlybUZhY2UgPSBmYWNlcy5jb25maXJtO1xuICAgIHRoaXMuY2FuY2VsRmFjZSA9IGZhY2VzLmNhbmNlbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbmZpcm1GYWNlOiBDb21tYW5kRmFjZTtcblxuICBASW5wdXQoKVxuICBjYW5jZWxGYWNlOiBDb21tYW5kRmFjZTtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlICNmYWNlcyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHN0eWxlKHN0eWxlOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuU3R5bGUpIHtcbiAgICB0aGlzLmZhY2VzID0gc3R5bGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIubGF5b3V0JylcbiAgbGF5b3V0OiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuTGF5b3V0ID0gQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LkxheW91dC5CTE9DSztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYWxpZ24nKVxuICBhbGlnbjogQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LkFsaWduID0gQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LkFsaWduLlNUUkVUQ0g7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgaGFzQ29uZmlybUZhY2UoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5jb25maXJtRmFjZTtcbiAgfVxuXG4gIGhhc0NhbmNlbEZhY2UoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5jYW5jZWxGYWNlO1xuICB9XG5cbiAgaW5pdENvbW1hbmRzKGFjdGl2aXR5OiB7IGNvbmZpcm1Db21tYW5kOiBDb21tYW5kPHVua25vd24+LCBjYW5jZWxDb21tYW5kOiBDb21tYW5kPHVua25vd24+IH0pIHtcbiAgICB0aGlzLmNvbmZpcm1Db21tYW5kID0gYWN0aXZpdHkuY29uZmlybUNvbW1hbmQ7XG4gICAgdGhpcy5jYW5jZWxDb21tYW5kID0gYWN0aXZpdHkuY2FuY2VsQ29tbWFuZDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBmb2N1c0NvbmZpcm0oKSB7XG4gICAgdGhpcy5jb25maXJtQ29tbWFuZENvbXBvbmVudC5yZXF1ZXN0Rm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsQ29tbWFuZENvbXBvbmVudC5yZXF1ZXN0Rm9jdXMoKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudCB7XG5cbiAgZXhwb3J0IGNvbnN0IExheW91dCA9IEVudW0oe1xuICAgIElOTElORTogJ2lubGluZScsXG4gICAgQkxPQ0s6ICdibG9jaydcbiAgfSk7XG4gIGV4cG9ydCB0eXBlIExheW91dCA9IEVudW08dHlwZW9mIExheW91dD47XG5cbiAgZXhwb3J0IGNvbnN0IEFsaWduID0gRW51bSh7XG4gICAgU1RBUlQ6ICdzdGFydCcsXG4gICAgRU5EOiAnZW5kJyxcbiAgICBTVFJFVENIOiAnc3RyZXRjaCdcbiAgfSk7XG4gIGV4cG9ydCB0eXBlIEFsaWduID0gRW51bTx0eXBlb2YgQWxpZ24+O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgU3R5bGUge1xuICAgIGNvbmZpcm06IENvbW1hbmRGYWNlO1xuICAgIGNhbmNlbDogQ29tbWFuZEZhY2U7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ29uZmlybUZhY2UoKVwiPlxuICA8YXVwLWNvbW1hbmQgI2NvbmZpcm1Db21tYW5kQ29tcG9uZW50IGNsYXNzPVwiY29uZmlybVwiIFtjb21tYW5kXT1cImNvbmZpcm1Db21tYW5kXCIgW2ZhY2VdPVwiY29uZmlybUZhY2VcIiBkYXRhLWN5PVwiY29uZmlybS1jb21tYW5kXCI+PC9hdXAtY29tbWFuZD5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0NhbmNlbEZhY2UoKVwiPlxuICA8YXVwLWNvbW1hbmQgI2NhbmNlbENvbW1hbmRDb21wb25lbnQgY2xhc3M9XCJjYW5jZWxcIiBbY29tbWFuZF09XCJjYW5jZWxDb21tYW5kXCIgW2ZhY2VdPVwiY2FuY2VsRmFjZVwiIGRhdGEtY3k9XCJjYW5jZWwtY29tbWFuZFwiPjwvYXVwLWNvbW1hbmQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWFjdGlvbnMvYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN4RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUU3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFNSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsbUJBQW1CO0lBR3JELHVCQUF1QixDQUFrQjtJQUd6QyxzQkFBc0IsQ0FBa0I7SUFNekMsbUNBQWlCLE9BQU8sQ0FBQyxDQUFBLE9BQVksQ0FBQSxDQUFDLENBQUM7SUFKaEQ7O09BRUc7SUFFTSxJQUFBLGNBQWMsb0RBQXlCO0lBQXZDLElBQUEsY0FBYywwREFBeUI7SUFNdkMsa0NBQWUsT0FBTyxDQUFDLENBQUEsT0FBWSxDQUFBLENBQUMsQ0FBQztJQUo5Qzs7T0FFRztJQUVNLElBQUEsYUFBYSxtREFBd0I7SUFBckMsSUFBQSxhQUFhLHlEQUF3QjtJQUU5QyxJQUNJLEtBQUssQ0FBQyxLQUFxQztRQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFHRCxXQUFXLENBQWM7SUFHekIsVUFBVSxDQUFjO0lBRXhCOztPQUVHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBcUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUlELE1BQU0sR0FBb0Msd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUloRixLQUFLLEdBQW1DLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFHL0U7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUErRTtRQUMxRixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQzt1R0F6RVUsd0JBQXdCOzJGQUF4Qix3QkFBd0Isb21CQ2pDckMsc2VBU0E7O0FEb0NXO0lBREMsT0FBTyxFQUFFOzs4REFDNkI7QUFNdkM7SUFEQyxPQUFPLEVBQUU7OzZEQUMyQjsyRkFsQm5DLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0I7MEVBT3RCLHVCQUF1QjtzQkFEaEMsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBSTFCLHNCQUFzQjtzQkFEL0IsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBTzFCLGNBQWM7c0JBRHRCLEtBQUs7Z0JBT0csYUFBYTtzQkFEckIsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFPRixLQUFLO3NCQURSLEtBQUs7Z0JBT04sTUFBTTtzQkFGTCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGFBQWE7Z0JBSzFCLEtBQUs7c0JBRkosS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxZQUFZOztBQStCM0IsV0FBaUIsd0JBQXdCO0lBRTFCLCtCQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQyxDQUFDO0lBR1UsOEJBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsS0FBSyxFQUFFLE9BQU87UUFDZCxHQUFHLEVBQUUsS0FBSztRQUNWLE9BQU8sRUFBRSxTQUFTO0tBQ25CLENBQUMsQ0FBQztBQVFMLENBQUMsRUFwQmdCLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFvQnhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Q29tbWFuZCwgcHJveGlmeSwgUHJveGlmeX0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtFbnVtfSBmcm9tICd0eXBlc2NyaXB0LXN0cmluZy1lbnVtcyc7XG5pbXBvcnQge0NvbW1hbmRGYWNlfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQge0NvbW1hbmRDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnRcIjtcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5cbi8qKlxuICogQGV4YW1wbGVcbiAqIDxhdXAtYWN0aXZpdHktYWN0aW9ucyBbY29uZmlybUZhY2VdPVwic2F2ZUZhY2VcIiBbY2FuY2VsRmFjZV09XCJjYW5jZWxGYWNlXCI+XG4gKiA8L2F1cC1hY3Rpdml0eS1hY3Rpb25zPlxuICpcbiAqICA8YXVwLWFjdGl2aXR5LWFjdGlvbnMgW2ZhY2VzXT1cIntjb25maXJtOiBzYXZlRmFjZSwgY2FuY2VsOiBjYW5jZWxGYWNlfVwiPlxuICogIDwvYXVwLWFjdGl2aXR5LWFjdGlvbnM+XG4gKlxuICogLy8gUnVubmluZyBgbmcgZyBAY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHM6YXVwLWkxOG5gIHdpbGwgaW5zdGFsbCBkZWZhdWx0XG4gKiAvLyBzdHlsZSBkZWZpbml0aW9uc1xuICogPGF1cC1hY3Rpdml0eS1hY3Rpb25zIFtmYWNlc109XCJJMThuLmF1cC5jb21wb25lbnRzLmFjdGl2aXR5QWN0aW9ucy5zdHlsZXMub2tDYW5jZWxJY29uc1wiPlxuICogPC9hdXAtYWN0aXZpdHktYWN0aW9ucz5cbiAqXG4gKiAvLyB5b3UgY2FuIGFsc28gYWRkIGFkZGl0aW9uYWwgY29udGVudCB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGFsb25nIHdpdGggdGhlIGJ1dHRvbnMuXG4gKiAvLyBUaGUgbG9jYXRpb24gb2YgdGhlIGNvbnRlbnQgZGVwZW5kcyBvbiB0aGUgYWxpZ25tZW50IGF0dHJpYnV0ZS5cbiAqIDxhdXAtYWN0aXZpdHktYWN0aW9uc1xuICogICAgIGFsaWduPVwic3RyZXRjaFwiXG4gKiAgICAgW2ZhY2VzXT1cIkkxOG4uYXVwLmNvbXBvbmVudHMuYWN0aXZpdHlBY3Rpb25zLnN0eWxlcy5va0NhbmNlbEljb25zXCI+XG4gKiAgICAgPHNwYW4+VGhpcyBjb250ZW50IHdpbGwgYmUgYmV0d2VlbiB0aGUgdHdvIGNvbW1hbmRzPC9zcGFuPlxuICogPC9hdXAtYWN0aXZpdHktYWN0aW9ucz5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWFjdGl2aXR5LWFjdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdHktYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGl2aXR5LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKFwiY29uZmlybUNvbW1hbmRDb21wb25lbnRcIilcbiAgcHJvdGVjdGVkIGNvbmZpcm1Db21tYW5kQ29tcG9uZW50OiBDb21tYW5kQ29tcG9uZW50XG5cbiAgQFZpZXdDaGlsZChcImNhbmNlbENvbW1hbmRDb21wb25lbnRcIilcbiAgcHJvdGVjdGVkIGNhbmNlbENvbW1hbmRDb21wb25lbnQ6IENvbW1hbmRDb21wb25lbnRcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgYWN0aXZpdHkgYWN0aW9ucyBub3cgdXNlIHRoZSBjb25maXJtIGNvbW1hbmQgb2YgdGhlIGFjdGl2aXR5IGF1dG9tYXRpY2FsbHlcbiAgICovXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgY29uZmlybUNvbW1hbmQgPSBwcm94aWZ5KENvbW1hbmQ8YW55Pik7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIGFjdGl2aXR5IGFjdGlvbnMgbm93IHVzZSB0aGUgY2FuY2VsIGNvbW1hbmQgb2YgdGhlIGFjdGl2aXR5IGF1dG9tYXRpY2FsbHlcbiAgICovXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgY2FuY2VsQ29tbWFuZD0gcHJveGlmeShDb21tYW5kPGFueT4pO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBmYWNlcyhmYWNlczogQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50LlN0eWxlKSB7XG4gICAgdGhpcy5jb25maXJtRmFjZSA9IGZhY2VzLmNvbmZpcm07XG4gICAgdGhpcy5jYW5jZWxGYWNlID0gZmFjZXMuY2FuY2VsO1xuICB9XG5cbiAgQElucHV0KClcbiAgY29uZmlybUZhY2U6IENvbW1hbmRGYWNlO1xuXG4gIEBJbnB1dCgpXG4gIGNhbmNlbEZhY2U6IENvbW1hbmRGYWNlO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgI2ZhY2VzIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc3R5bGUoc3R5bGU6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudC5TdHlsZSkge1xuICAgIHRoaXMuZmFjZXMgPSBzdHlsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5sYXlvdXQnKVxuICBsYXlvdXQ6IEFjdGl2aXR5QWN0aW9uc0NvbXBvbmVudC5MYXlvdXQgPSBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuTGF5b3V0LkJMT0NLO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnYXR0ci5hbGlnbicpXG4gIGFsaWduOiBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuQWxpZ24gPSBBY3Rpdml0eUFjdGlvbnNDb21wb25lbnQuQWxpZ24uU1RSRVRDSDtcblxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBoYXNDb25maXJtRmFjZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmNvbmZpcm1GYWNlO1xuICB9XG5cbiAgaGFzQ2FuY2VsRmFjZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLmNhbmNlbEZhY2U7XG4gIH1cblxuICBpbml0Q29tbWFuZHMoYWN0aXZpdHk6IHsgY29uZmlybUNvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj4sIGNhbmNlbENvbW1hbmQ6IENvbW1hbmQ8dW5rbm93bj4gfSkge1xuICAgIHRoaXMuY29uZmlybUNvbW1hbmQgPSBhY3Rpdml0eS5jb25maXJtQ29tbWFuZDtcbiAgICB0aGlzLmNhbmNlbENvbW1hbmQgPSBhY3Rpdml0eS5jYW5jZWxDb21tYW5kO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGZvY3VzQ29uZmlybSgpIHtcbiAgICB0aGlzLmNvbmZpcm1Db21tYW5kQ29tcG9uZW50LnJlcXVlc3RGb2N1cygpO1xuICB9XG5cbiAgZm9jdXNDYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWxDb21tYW5kQ29tcG9uZW50LnJlcXVlc3RGb2N1cygpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWN0aXZpdHlBY3Rpb25zQ29tcG9uZW50IHtcblxuICBleHBvcnQgY29uc3QgTGF5b3V0ID0gRW51bSh7XG4gICAgSU5MSU5FOiAnaW5saW5lJyxcbiAgICBCTE9DSzogJ2Jsb2NrJ1xuICB9KTtcbiAgZXhwb3J0IHR5cGUgTGF5b3V0ID0gRW51bTx0eXBlb2YgTGF5b3V0PjtcblxuICBleHBvcnQgY29uc3QgQWxpZ24gPSBFbnVtKHtcbiAgICBTVEFSVDogJ3N0YXJ0JyxcbiAgICBFTkQ6ICdlbmQnLFxuICAgIFNUUkVUQ0g6ICdzdHJldGNoJ1xuICB9KTtcbiAgZXhwb3J0IHR5cGUgQWxpZ24gPSBFbnVtPHR5cGVvZiBBbGlnbj47XG5cbiAgZXhwb3J0IGludGVyZmFjZSBTdHlsZSB7XG4gICAgY29uZmlybTogQ29tbWFuZEZhY2U7XG4gICAgY2FuY2VsOiBDb21tYW5kRmFjZTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNDYW5jZWxGYWNlKClcIj5cbiAgPGF1cC1jb21tYW5kICNjYW5jZWxDb21tYW5kQ29tcG9uZW50IGNsYXNzPVwiY2FuY2VsXCIgW2NvbW1hbmRdPVwiY2FuY2VsQ29tbWFuZFwiIFtmYWNlXT1cImNhbmNlbEZhY2VcIiBkYXRhLWN5PVwiY2FuY2VsLWNvbW1hbmRcIj48L2F1cC1jb21tYW5kPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaGFzQ29uZmlybUZhY2UoKVwiPlxuICA8YXVwLWNvbW1hbmQgI2NvbmZpcm1Db21tYW5kQ29tcG9uZW50IGNsYXNzPVwiY29uZmlybVwiIFtjb21tYW5kXT1cImNvbmZpcm1Db21tYW5kXCIgW2ZhY2VdPVwiY29uZmlybUZhY2VcIiBkYXRhLWN5PVwiY29uZmlybS1jb21tYW5kXCI+PC9hdXAtY29tbWFuZD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -3,10 +3,10 @@ import { DisposableComponent } from '../../../components/disposable-component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ActivityBodyComponent extends DisposableComponent {
5
5
  fullWidth = false;
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ActivityBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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"] });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", 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"] });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ActivityBodyComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityBodyComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'aup-activity-body', template: "<ng-content></ng-content>\n", styles: ["<ng-content></ng-content>\n"] }]
12
12
  }], propDecorators: { fullWidth: [{
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
15
15
  type: HostBinding,
16
16
  args: ["class.full-width"]
17
17
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWJvZHkvYWN0aXZpdHktYm9keS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWJvZHkvYWN0aXZpdHktYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBTy9FLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFJNUQsU0FBUyxHQUFHLEtBQUssQ0FBQzt1R0FKUCxxQkFBcUI7MkZBQXJCLHFCQUFxQixvTENYbEMsNkJBQ0E7OzJGRFVhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBUTdCLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kLCBEZWxlZ2F0aW5nQ29tbWFuZCwgUHJveGlmeSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgQ29tbWFuZEZhY2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2NvbW1hbmRzL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1hY3Rpdml0eS1ib2R5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0eS1ib2R5LmNvbXBvbmVudC5odG1sJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Qm9keUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmZ1bGwtd2lkdGhcIilcbiAgZnVsbFdpZHRoID0gZmFsc2U7XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWJvZHkvYWN0aXZpdHktYm9keS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWJvZHkvYWN0aXZpdHktYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMENBQTBDLENBQUM7O0FBTzdFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFJNUQsU0FBUyxHQUFHLEtBQUssQ0FBQzt1R0FKUCxxQkFBcUI7MkZBQXJCLHFCQUFxQixvTENSbEMsNkJBQ0E7OzJGRE9hLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBUTdCLFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1hY3Rpdml0eS1ib2R5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGl2aXR5LWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpdml0eS1ib2R5LmNvbXBvbmVudC5odG1sJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Qm9keUNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmZ1bGwtd2lkdGhcIilcbiAgZnVsbFdpZHRoID0gZmFsc2U7XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Component, Input, QueryList, ViewChild, ViewChildren } from "@angular/core";
2
- import { MatLegacyTabGroup as MatTabGroup } from "@angular/material/legacy-tabs";
2
+ import { MatTabGroup } from "@angular/material/tabs";
3
3
  import { assert, DelegatingValueModel, Dsl, GarbageCollector, MutableValueModel } from "@coolon/pectin";
4
4
  import { lang } from "@coolon/typescript-utilities";
5
5
  import { findLast } from "lodash-es";
@@ -10,7 +10,7 @@ import { ActivityOutletComponent } from "./activity-outlet/activity-outlet.compo
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "../../../place/place-router";
12
12
  import * as i2 from "@angular/common";
13
- import * as i3 from "@angular/material/legacy-tabs";
13
+ import * as i3 from "@angular/material/tabs";
14
14
  import * as i4 from "../../../components/busy-overlay/busy-overlay.component";
15
15
  import * as i5 from "@angular/cdk/a11y";
16
16
  import * as i6 from "./activity-outlet/activity-outlet.component";
@@ -20,6 +20,7 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
20
20
  tabs;
21
21
  activityOutlets;
22
22
  activityRefs = [];
23
+ animationDuration = "500ms";
23
24
  _identifier;
24
25
  _deferredCleanUp;
25
26
  interactionServiceApi;
@@ -32,6 +33,7 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
32
33
  busy = this.registerDisposable(new DelegatingValueModel().withDefault(false));
33
34
  syncTabsJob = undefined;
34
35
  stable$;
36
+ wasActive = false;
35
37
  constructor(placeRouter) {
36
38
  super();
37
39
  this.placeRouter = placeRouter;
@@ -68,7 +70,12 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
68
70
  * Returns true if an activity is currently running.
69
71
  */
70
72
  isActive() {
71
- return this.getActiveActivityCount() > 0;
73
+ const isActive = this.getActiveActivityCount() > 0;
74
+ // if (this.wasActive !== isActive) {
75
+ // console.log({was: this.wasActive, is: isActive});
76
+ // }
77
+ // this.wasActive = isActive
78
+ return isActive;
72
79
  }
73
80
  registerDisposable(disposable) {
74
81
  return this.garbage.registerDisposable(disposable);
@@ -151,7 +158,7 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
151
158
  // by activity index)
152
159
  setTimeout(() => {
153
160
  this.activityRefs = []; // we have to do it after the animation timeout or the activity disappears before the animatin finsihes
154
- }, this.getTabAnimationDuration());
161
+ }, this.getTabAnimationDurationInMillis());
155
162
  const promise = this.interactionServiceApi.notifyFinished(this);
156
163
  this._deferredCleanUp = promise
157
164
  .finally(() => {
@@ -177,7 +184,6 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
177
184
  /**
178
185
  * Synchronises the selected tab index.
179
186
  */
180
- // @Trace()
181
187
  synchroniseSelectedTabIndex() {
182
188
  assert.isTruthy(this.isActive());
183
189
  const previousIndex = this.tabs.selectedIndex;
@@ -189,10 +195,10 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
189
195
  activityRef.setFocused(false);
190
196
  this.busy.setDelegate(activityRef.activityBusy);
191
197
  this.tabs.selectedIndex = newIndex;
192
- if (this.ready$.value) {
193
- // Note: We're not using the animation done event as it's firing almost immeadiately.
194
- setTimeout(() => this.finaliseActivityStates(), animate ? this.getTabAnimationDuration() : 0);
195
- }
198
+ // if (this.ready$.value) {
199
+ // // Note: We're not using the animation done event as it's firing almost immeadiately.
200
+ // setTimeout(() => this.finaliseActivityStates(), animate ? this.getTabAnimationDurationInMillis() : 0);
201
+ // }
196
202
  }
197
203
  }
198
204
  finaliseActivityStates() {
@@ -206,7 +212,12 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
206
212
  return this.activityOutlets.toArray()[this.tabs.selectedIndex];
207
213
  }
208
214
  getTabAnimationDuration() {
209
- const match = this.tabs.animationDuration.match(/(\d+)(.*)/);
215
+ // const s = this._started$.value ? this.animationDuration : "0";
216
+ // return s
217
+ return this.animationDuration;
218
+ }
219
+ getTabAnimationDurationInMillis() {
220
+ const match = this.animationDuration.match(/(\d+)(.*)/);
210
221
  const numericValue = parseFloat(match[1]);
211
222
  switch (match[2].trim()) {
212
223
  case "ms":
@@ -232,12 +243,16 @@ export class ActivityContainerComponent extends AbstractInteractionContext {
232
243
  }
233
244
  }, 75);
234
245
  }
235
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ActivityContainerComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
236
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", 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 [busy$]=\"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"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatLegacyTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i3.MatLegacyTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i4.BusyOverlayComponent, selector: "aup-busy-overlay", inputs: ["busy$", "busy"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i6.ActivityOutletComponent, selector: "aup-activity-outlet", inputs: ["nestedInteractionContext", "activityRef"] }] });
246
+ onAnimationDone() {
247
+ this._started$.value = true;
248
+ this.finaliseActivityStates();
249
+ }
250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, deps: [{ token: i1.PlaceRouter }], target: i0.ɵɵFactoryTarget.Component });
251
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: ActivityContainerComponent, selector: "aup-activity-container", inputs: { dynamicHeight: "dynamicHeight", animationDuration: "animationDuration" }, 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 [animationDuration]=\"getTabAnimationDuration()\"\n (animationDone)=\"onAnimationDone()\"\n>\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busy$]=\"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"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple", "fitInkBarToContent", "mat-stretch-tabs"], exportAs: ["matTabGroup"] }, { kind: "component", type: i4.BusyOverlayComponent, selector: "aup-busy-overlay", inputs: ["busy$", "busy"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i6.ActivityOutletComponent, selector: "aup-activity-outlet", inputs: ["nestedInteractionContext", "activityRef"] }] });
237
252
  }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ActivityContainerComponent, decorators: [{
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: ActivityContainerComponent, decorators: [{
239
254
  type: Component,
240
- 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 [busy$]=\"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"] }]
255
+ args: [{ selector: "aup-activity-container", template: "<mat-tab-group #tabs no-tab-header\n [dynamicHeight]=\"dynamicHeight\"\n [class.full-height-tabs]=\"!dynamicHeight\"\n [animationDuration]=\"getTabAnimationDuration()\"\n (animationDone)=\"onAnimationDone()\"\n>\n <mat-tab *ngFor=\"let activityRef of activityRefs; let i = index; trackBy: activityIndex\">\n <aup-busy-overlay [busy$]=\"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"] }]
241
256
  }], ctorParameters: function () { return [{ type: i1.PlaceRouter }]; }, propDecorators: { dynamicHeight: [{
242
257
  type: Input
243
258
  }], tabs: [{
@@ -246,5 +261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
246
261
  }], activityOutlets: [{
247
262
  type: ViewChildren,
248
263
  args: [ActivityOutletComponent]
264
+ }], animationDuration: [{
265
+ type: Input
249
266
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixJQUFJLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9FLE9BQU8sRUFDTCxNQUFNLEVBR04sb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7QUFPcEYsTUFBTSxPQUFPLDBCQUFvQyxTQUFRLDBCQUEw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QUlOLElBQUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUlqQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNYXRMZWdhY3lUYWJHcm91cCBhcyBNYXRUYWJHcm91cH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10YWJzXCI7XG5pbXBvcnQge1xuICBhc3NlcnQsXG4gIEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW4sXG4gIENvbnN0cnVjdGFibGUsXG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIEdhcmJhZ2VDb2xsZWN0b3IsXG4gIE11dGFibGVWYWx1ZU1vZGVsLCBUcmFjZVxufSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7bGFuZ30gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcblxuaW1wb3J0IHtmaW5kTGFzdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtQbGFjZVJvdXRlcn0gZnJvbSBcIi4uLy4uLy4uL3BsYWNlL3BsYWNlLXJvdXRlclwiO1xuaW1wb3J0IHtBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dH0gZnJvbSBcIi4uLy4uL2Fic3RyYWN0LWludGVyYWN0aW9uLWNvbnRleHRcIjtcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCIuLi8uLi9hY3Rpdml0eVwiO1xuaW1wb3J0IHtBY3Rpdml0eVJlZn0gZnJvbSBcIi4uLy4uL2FjdGl2aXR5LXJlZlwiO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge0FjdGl2aXR5T3V0bGV0Q29tcG9uZW50fSBmcm9tIFwiLi9hY3Rpdml0eS1vdXRsZXQvYWN0aXZpdHktb3V0bGV0LmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLWFjdGl2aXR5LWNvbnRhaW5lclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50PEQsIFIsIEU+IGV4dGVuZHMgQWJzdHJhY3RJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIEBJbnB1dCgpXG4gIGR5bmFtaWNIZWlnaHQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidGFic1wiLCB7c3RhdGljOiB0cnVlfSlcbiAgdGFiczogTWF0VGFiR3JvdXA7XG5cbiAgQFZpZXdDaGlsZHJlbihBY3Rpdml0eU91dGxldENvbXBvbmVudClcbiAgYWN0aXZpdHlPdXRsZXRzOiBRdWVyeUxpc3Q8QWN0aXZpdHlPdXRsZXRDb21wb25lbnQ8YW55LCBhbnksIGFueT4+O1xuXG4gIGFjdGl2aXR5UmVmczogQWN0aXZpdHlSZWY8YW55LCBhbnksIGFueT5bXSA9IFtdO1xuXG4gIHByaXZhdGUgX2lkZW50aWZpZXI6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGVmZXJyZWRDbGVhblVwOiBQcm9taXNlPGFueT47XG5cbiAgcHJpdmF0ZSBpbnRlcmFjdGlvblNlcnZpY2VBcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGk7XG5cbiAgcHJpdmF0ZSBnYXJiYWdlID0gbmV3IEdhcmJhZ2VDb2xsZWN0b3IoKTtcbiAgcHJpdmF0ZSBzeW5jU2VsZWN0ZWRUYWJUaW1lb3V0OiBhbnk7XG4gIHByaXZhdGUgb25BbmltYXRpb25GaW5pc2hlZEpvYjogKCkgPT4gdm9pZDtcblxuICByZWFkb25seSBfc3RhcnRlZCQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBfcmVhZHkkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgX2FuaW1hdGluZyQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGJ1c3kgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Ym9vbGVhbj4oKS53aXRoRGVmYXVsdChmYWxzZSkpO1xuXG4gIHJlYWRvbmx5IHN5bmNUYWJzSm9iOiAoKSA9PiB2b2lkID0gdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5IHN0YWJsZSQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW4sIHZhbHVlT2YsIHdoZW59ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIHdoZW4odGhpcy5yZWFkeSQpLmJlY29tZXNUcnV0aHkoKCkgPT4gdGhpcy5maW5hbGlzZUFjdGl2aXR5U3RhdGVzKCkpXG4gICAgdGhpcy5zdGFibGUkID0gdmFsdWVPZi5hbGwoXG4gICAgICB0aGlzLnJlYWR5JCxcbiAgICAgIHRoaXMuX3N0YXJ0ZWQkLFxuICAgICAgY2hhaW4odGhpcy5hbmltYXRpbmckKS5pc0ZhbHNleSgpXG4gICAgKS5hcmVUcnV0aHkoKTtcbiAgfVxuXG4gIGdldCBzdGFydGVkJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRlZCQucmVhZG9ubHkkO1xuICB9XG5cbiAgZ2V0IHJlYWR5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHkkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCBhbmltYXRpbmckKCkge1xuICAgIHJldHVybiB0aGlzLl9hbmltYXRpbmckLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGluaXRpYWxpc2UoaWRlbnRpZmllcjogc3RyaW5nLCBhcGk6IEludGVyYWN0aW9uU2VydmljZS5BcGkpIHtcbiAgICBhc3NlcnQuaXNGYWxzZXkodGhpcy5pc0luaXRpYWxpc2VkKCkpO1xuICAgIGFzc2VydC5ub3ROaWwoaWRlbnRpZmllcik7XG4gICAgYXNzZXJ0Lm5vdE5pbChhcGkpO1xuICAgIHRoaXMuX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyO1xuICAgIHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlQXBpID0gYXBpO1xuICB9XG5cbiAgbm90aWZ5UmVhZHkocmVhZHk6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkeSQudmFsdWUgPSByZWFkeTtcbiAgfVxuXG4gIGdldCBpZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLl9pZGVudGlmaWVyO1xuICB9XG5cbiAgaXNJbml0aWFsaXNlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLmlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIGFuIGFjdGl2aXR5IGlzIGN1cnJlbnRseSBydW5uaW5nLlxuICAgKi9cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlQWN0aXZpdHlDb3VudCgpID4gMDtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlzcG9zYWJsZTxUIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVCk6IFQge1xuICAgIHJldHVybiB0aGlzLmdhcmJhZ2UucmVnaXN0ZXJEaXNwb3NhYmxlKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAvLyBUT0RPOiB0aGluayBhYm91dCBhdXRvIGNhbmNlbGxpbmcgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IG9uIGRpc3Bvc2UuXG4gICAgLy8gICAgICAgU2VlIE5hdmlnYXRpb25TdGF0ZS5OYXZpZ2F0aW5nIGZvciBhIHVzZS1jYXNlLlxuICAgIGFzc2VydC5pc0ZhbHNleSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICBnZXRBY3RpdmVBY3Rpdml0eVJlZigpOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKFwibm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLmFjdGl2aXR5UmVmcywgdGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSBjdXJyZW50IGFjdGl2aXR5IGFuZCByZXR1cm5zIHRydWUgdGhlIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSwgZmFsc2UgaWZcbiAgICogdGhlcmUgaXMgc3RpbGwgYW5vdGhlciBhY3Rpdml0eSBydW5uaW5nLlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5UmVmKCk7XG4gICAgYWN0aXZpdHkuY2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuaXNDbGVhbmluZ1VwKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICF0aGlzLmlzQWN0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETzogdGhpcyBoYW5kbGluZyBvZiBtdWx0aXBsZSBuZXN0ZWQgYWN0aXZpdGllcyBpcyBvbmx5IHVzZWQgYnkgdGhlIGFjdGl2aXR5IGNvbXBvbmVudCBhbmQgaXMgbm90IGEgZ2VuZXJhbCBjYXNlLlxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlQW5kTGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YTogRDEsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8UjE+IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpOyAvLyBtYWtlIHN1cmUgd2UndmUgYmVlbiBpbml0aWFsaXNlZFxuICAgIGNvbnN0IGFjdGl2aXR5UmVmID0gbmV3IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZSwgZGF0YSwgKCkgPT4ge1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSA+IDA7XG4gICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyVGFiU3luY2hyb25pc2F0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubGF1bmNoQWN0aXZpdHkoYWN0aXZpdHlSZWYpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBhY3Rpdml0eVJlZi5hY3Rpdml0eVJlc3VsdDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gY29uc29sZS5sb2coXCJjbG9zaW5nIGFjdGl2aXR5XCIsIGFjdGl2aXR5VHlwZS5uYW1lLCB0aGlzLmFjdGl2aXR5UmVmcylcbiAgICAgIGlmICghdGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIC8vIHdhaXQgdW50aWwgdGhlIGFjdGl2aXR5IHJvdXRlIHN5bmNpbmcgaGFzIGZpbmlzaGVkXG4gICAgICAgIGF3YWl0IHRoaXMucGxhY2VSb3V0ZXIud2FpdEFjdGl2aXRpZXNTeW5jaHJvbmlzZWQoKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJhY3Rpdml0eSBzeW5jaW5nIGZpbmlzaGVkXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3RpdmVBY3Rpdml0eUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlSZWZzLmZpbHRlcihyZWYgPT4gIXJlZi5pc0NvbXBsZXRlKCkpLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBpbnRlcmFjdGlvbiBjb250ZXh0IGhhcyBmaW5pc2hlZCBhbiBpcyBpbiB0aGUgcHJvY2VzcyBvZiB3YWl0aW5nXG4gICAqIGZvciBhbGwgdGhlIGluZnJhc3RydWN0dXJlIChpbmNsdWRpbmcgcm91dGUgdXBkYXRlcykgdG8gYmUgY29tcGxldGVkLlxuICAgKi9cbiAgaXNDbGVhbmluZ1VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2RlZmVycmVkQ2xlYW5VcDtcbiAgfVxuXG4gIGFzeW5jIHdhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVmZXJyZWRDbGVhblVwID9cbiAgICAgIHRoaXMuX2RlZmVycmVkQ2xlYW5VcCA6XG4gICAgICB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hBbmRTdGFydENsZWFudXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9kZWZlcnJlZENsZWFuVXApIHtcbiAgICAgIC8vIEltcG9ydGFudDpcbiAgICAgIC8vIENsZWFyIG91ciB0YWJzIHNvIHRoZSBuZXh0IGFjdGl2aXR5IHRyaWdnZXJzIGEgdGFiIGNoYW5nZS5cbiAgICAgIC8vIFdpdGhvdXQgdGhpcyBvdXIgYW5pbWF0aW9uIGRvbmUgd2Fzbid0IGNhbGxlZCB3aGVuIGEgc2luZ2xlXG4gICAgICAvLyBuZXcgYWN0aXZpdHkgZm9sbG93ZWQgYSBzaW5nbGUgdGFiIGFjdGl2aXR5IChzaW5jZSB3ZSdyZSB0cmFja2luZ1xuICAgICAgLy8gYnkgYWN0aXZpdHkgaW5kZXgpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVJlZnMgPSBbXTsgLy8gd2UgaGF2ZSB0byBkbyBpdCBhZnRlciB0aGUgYW5pbWF0aW9uIHRpbWVvdXQgb3IgdGhlIGFjdGl2aXR5IGRpc2FwcGVhcnMgYmVmb3JlIHRoZSBhbmltYXRpbiBmaW5zaWhlc1xuICAgICAgfSwgdGhpcy5nZXRUYWJBbmltYXRpb25EdXJhdGlvbigpKTtcbiAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmludGVyYWN0aW9uU2VydmljZUFwaS5ub3RpZnlGaW5pc2hlZCh0aGlzKTtcbiAgICAgIHRoaXMuX2RlZmVycmVkQ2xlYW5VcCA9IHByb21pc2VcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2RlZmVycmVkQ2xlYW5VcCA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4vLyBAVHJhY2UoKVxuICBsYXVuY2hBY3Rpdml0eTxEMSwgUjEsIEUxPihhY3Rpdml0eVJlZjogQWN0aXZpdHlSZWY8RDEsIFIxLCBFMT4pIHtcbiAgICAvLyBpZiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rpdml0eSBsZXQgdGhlIGludGVyYWN0aW9uIHNlcnZpY2Uga25vdy5cbiAgICBjb25zdCBjbGVhbmVkVGFicyA9IHRoaXMuYWN0aXZpdHlSZWZzLmZpbHRlcih0YWIgPT4gIXRhYi5pc0NvbXBsZXRlKCkpO1xuICAgIHRoaXMuYWN0aXZpdHlSZWZzID0gY2xlYW5lZFRhYnMuY29uY2F0KGFjdGl2aXR5UmVmKTtcbiAgICBjb25zdCBmaXJzdFRpbWUgPSB0aGlzLmFjdGl2aXR5UmVmcy5sZW5ndGggPT09IDE7XG4gICAgaWYgKGZpcnN0VGltZSkge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvblNlcnZpY2VBcGkubm90aWZ5QWN0aXZlKHRoaXMpO1xuICAgIH1cbiAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpO1xuICB9XG5cbiAgYWN0aXZpdHlJbmRleChpbmRleDogbnVtYmVyLCBhY3Rpdml0eVJlZjogQWN0aXZpdHlSZWY8YW55LCBhbnksIGFueT4pIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG5cbiAgLyoqXG4gICAqIFN5bmNocm9uaXNlcyB0aGUgc2VsZWN0ZWQgdGFiIGluZGV4LlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgcHJpdmF0ZSBzeW5jaHJvbmlzZVNlbGVjdGVkVGFiSW5kZXgoKTogdm9pZCB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHRoaXMuaXNBY3RpdmUoKSk7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMudGFicy5zZWxlY3RlZEluZGV4O1xuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5nZXRBY3RpdmVBY3Rpdml0eUNvdW50KCkgLSAxO1xuICAgIGNvbnN0IGFuaW1hdGUgPSB0aGlzLmFjdGl2aXR5UmVmcy5sZW5ndGggPiAxO1xuICAgIGlmIChwcmV2aW91c0luZGV4ICE9PSBuZXdJbmRleCkge1xuICAgICAgdGhpcy5fYW5pbWF0aW5nJC52YWx1ZSA9IGFuaW1hdGU7XG4gICAgICBjb25zdCBhY3Rpdml0eVJlZiA9IHRoaXMuYWN0aXZpdHlSZWZzW25ld0luZGV4XTtcbiAgICAgIGFjdGl2aXR5UmVmLnNldEZvY3VzZWQoZmFsc2UpO1xuICAgICAgdGhpcy5idXN5LnNldERlbGVnYXRlKGFjdGl2aXR5UmVmLmFjdGl2aXR5QnVzeSk7XG4gICAgICB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgaWYgKHRoaXMucmVhZHkkLnZhbHVlKSB7XG4gICAgICAgIC8vIE5vdGU6IFdlJ3JlIG5vdCB1c2luZyB0aGUgYW5pbWF0aW9uIGRvbmUgZXZlbnQgYXMgaXQncyBmaXJpbmcgYWxtb3N0IGltbWVhZGlhdGVseS5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZpbmFsaXNlQWN0aXZpdHlTdGF0ZXMoKSwgYW5pbWF0ZSA/IHRoaXMuZ2V0VGFiQW5pbWF0aW9uRHVyYXRpb24oKSA6IDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluYWxpc2VBY3Rpdml0eVN0YXRlcygpIHtcbiAgICB0aGlzLl9hbmltYXRpbmckLnZhbHVlID0gZmFsc2U7XG4gICAgdGhpcy5hY3Rpdml0eVJlZnMgPSB0aGlzLmFjdGl2aXR5UmVmcy5maWx0ZXIodGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgICB0aGlzLmFjdGl2aXR5UmVmcy5mb3JFYWNoKChyZWYsIGluZGV4KSA9PiB7XG4gICAgICByZWYuc2V0Rm9jdXNlZChpbmRleCA9PT0gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZE91dGxldCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpdml0eU91dGxldHMudG9BcnJheSgpW3RoaXMudGFicy5zZWxlY3RlZEluZGV4XTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFiQW5pbWF0aW9uRHVyYXRpb24oKTogbnVtYmVyIHtcbiAgICBjb25zdCBtYXRjaCA9IHRoaXMudGFicy5hbmltYXRpb25EdXJhdGlvbi5tYXRjaCgvKFxcZCspKC4qKS8pO1xuICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pO1xuICAgIHN3aXRjaCAobWF0Y2hbMl0udHJpbSgpKSB7XG4gICAgICBjYXNlIFwibXNcIjpcbiAgICAgICAgcmV0dXJuIG51bWVyaWNWYWx1ZTtcbiAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgIHJldHVybiAxMDAwICogbnVtZXJpY1ZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYHVuc3VwcG9ydGVkIGR1cmF0aW9uIHN0cmluZzogJHt0aGlzLnRhYnMuYW5pbWF0aW9uRHVyYXRpb259YCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBnZXRTZWxlY3RlZFRhYkluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgdHJpZ2dlclRhYlN5bmNocm9uaXNhdGlvbigpIHtcbiAgICBpZiAodGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0KTtcbiAgICB9XG4gICAgdGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN5bmNTZWxlY3RlZFRhYlRpbWVvdXQgPSBudWxsO1xuICAgICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgICAgfVxuICAgIH0sIDc1KTtcbiAgfVxufVxuIiwiPG1hdC10YWItZ3JvdXAgI3RhYnMgbm8tdGFiLWhlYWRlclxuICAgICAgICAgICAgICAgW2R5bmFtaWNIZWlnaHRdPVwiZHluYW1pY0hlaWdodFwiXG4gICAgICAgICAgICAgICBbY2xhc3MuZnVsbC1oZWlnaHQtdGFic109XCIhZHluYW1pY0hlaWdodFwiPlxuICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgYWN0aXZpdHlSZWYgb2YgYWN0aXZpdHlSZWZzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiBhY3Rpdml0eUluZGV4XCI+XG4gICAgPGF1cC1idXN5LW92ZXJsYXkgW2J1c3kkXT1cImJ1c3lcIiBjZGtUcmFwRm9jdXMgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU+XG4gICAgICA8IS0tXG4gICAgICBXZSBoYXZlIGlzc3VlcyB3aGVyZSBhbmd1bGFyIGlzIHRyaWdnZXJpbmcgYSBsZWF2ZSBhbmltYXRpb24gd2hlbiBhblxuICAgICAgbmV3IGFjdGl2aXR5IGlzIHN0YXJ0ZWQsIGJ1dCBpcyBub3QgcnVubmluZyB0aGUgZW50ZXIgYW5pbWF0aW9uXG4gICAgICB3aGVuIGl0IGlzIHNjcm9sbGVkIGJhY2sgaW50byB2aWV3LiAgU28gd2UgdHJhY2sgdGhlIHRhYiBjaGFuZ2VzIGFuZFxuICAgICAgZGlzYWJsZSBhbGwgYW5pbWF0aW9ucyBpbnNpZGUgdGhlIHRhYiB3aGlsZSB3ZSdyZSBhbmltYXRpbmcuXG4gICAgICAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1vdXRsZXQtd3JhcHBlclwiIFtALmRpc2FibGVkXT1cIiFhY3Rpdml0eVJlZi5mb2N1c2VkXCI+XG4gICAgICAgIDxhdXAtYWN0aXZpdHktb3V0bGV0IFtuZXN0ZWRJbnRlcmFjdGlvbkNvbnRleHRdPVwidGhpc1wiIFthY3Rpdml0eVJlZl09XCJhY3Rpdml0eVJlZlwiPjwvYXVwLWFjdGl2aXR5LW91dGxldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXVwLWJ1c3ktb3ZlcmxheT5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2ludGVyYWN0aW9uL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9pbnRlcmFjdGlvbi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBZSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFDTCxNQUFNLEVBR04sb0JBQW9CLEVBRXBCLEdBQUcsRUFDSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7QUFPcEYsTUFBTSxPQUFPLDBCQUFvQyxTQUFRLDBCQUEwQjtJQW9DNUQ7SUFq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Q0FBQTtJQUMvQixDQUFDO3VHQW5SVSwwQkFBMEI7MkZBQTFCLDBCQUEwQixtUkFRdkIsdUJBQXVCLHVFQ25DdkMseWdDQW9CQTs7MkZET2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHdCQUF3QjtrR0FPbEMsYUFBYTtzQkFEWixLQUFLO2dCQUlOLElBQUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUlqQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQU1yQyxpQkFBaUI7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNYXRUYWJHcm91cH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYnNcIjtcbmltcG9ydCB7XG4gIGFzc2VydCxcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERpc3Bvc2FibGUsXG4gIERzbCxcbiAgR2FyYmFnZUNvbGxlY3RvcixcbiAgTXV0YWJsZVZhbHVlTW9kZWwsIFRyYWNlXG59IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtsYW5nfSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuXG5pbXBvcnQge2ZpbmRMYXN0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tIFwiLi4vLi4vLi4vcGxhY2UvcGxhY2Utcm91dGVyXCI7XG5pbXBvcnQge0Fic3RyYWN0SW50ZXJhY3Rpb25Db250ZXh0fSBmcm9tIFwiLi4vLi4vYWJzdHJhY3QtaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIi4uLy4uL2FjdGl2aXR5XCI7XG5pbXBvcnQge0FjdGl2aXR5UmVmfSBmcm9tIFwiLi4vLi4vYWN0aXZpdHktcmVmXCI7XG5pbXBvcnQge0ludGVyYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7QWN0aXZpdHlPdXRsZXRDb21wb25lbnR9IGZyb20gXCIuL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJhdXAtYWN0aXZpdHktY29udGFpbmVyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ8RCwgUiwgRT4gZXh0ZW5kcyBBYnN0cmFjdEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgQElucHV0KClcbiAgZHluYW1pY0hlaWdodCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoXCJ0YWJzXCIsIHtzdGF0aWM6IHRydWV9KVxuICB0YWJzOiBNYXRUYWJHcm91cDtcblxuICBAVmlld0NoaWxkcmVuKEFjdGl2aXR5T3V0bGV0Q29tcG9uZW50KVxuICBhY3Rpdml0eU91dGxldHM6IFF1ZXJ5TGlzdDxBY3Rpdml0eU91dGxldENvbXBvbmVudDxhbnksIGFueSwgYW55Pj47XG5cbiAgYWN0aXZpdHlSZWZzOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PltdID0gW107XG5cbiAgQElucHV0KClcbiAgYW5pbWF0aW9uRHVyYXRpb24gPSBcIjUwMG1zXCJcblxuICBwcml2YXRlIF9pZGVudGlmaWVyOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RlZmVycmVkQ2xlYW5VcDogUHJvbWlzZTxhbnk+O1xuXG4gIHByaXZhdGUgaW50ZXJhY3Rpb25TZXJ2aWNlQXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpO1xuXG4gIHByaXZhdGUgZ2FyYmFnZSA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7XG4gIHByaXZhdGUgc3luY1NlbGVjdGVkVGFiVGltZW91dDogYW55O1xuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cbiAgcmVhZG9ubHkgX3N0YXJ0ZWQkID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgX3JlYWR5JCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IF9hbmltYXRpbmckID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBidXN5ID0gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUobmV3IERlbGVnYXRpbmdWYWx1ZU1vZGVsPGJvb2xlYW4+KCkud2l0aERlZmF1bHQoZmFsc2UpKTtcblxuICByZWFkb25seSBzeW5jVGFic0pvYjogKCkgPT4gdm9pZCA9IHVuZGVmaW5lZDtcblxuICByZWFkb25seSBzdGFibGUkOiBCb29sZWFuVmFsdWVNb2RlbENoYWluO1xuICBwcml2YXRlIHdhc0FjdGl2ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBsYWNlUm91dGVyOiBQbGFjZVJvdXRlcikge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3Qge2NoYWluLCB2YWx1ZU9mLCB3aGVufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB3aGVuKHRoaXMucmVhZHkkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHRoaXMuZmluYWxpc2VBY3Rpdml0eVN0YXRlcygpKVxuICAgIHRoaXMuc3RhYmxlJCA9IHZhbHVlT2YuYWxsKFxuICAgICAgdGhpcy5yZWFkeSQsXG4gICAgICB0aGlzLl9zdGFydGVkJCxcbiAgICAgIGNoYWluKHRoaXMuYW5pbWF0aW5nJCkuaXNGYWxzZXkoKVxuICAgICkuYXJlVHJ1dGh5KCk7XG4gIH1cblxuICBnZXQgc3RhcnRlZCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0ZWQkLnJlYWRvbmx5JDtcbiAgfVxuXG4gIGdldCByZWFkeSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWR5JC5yZWFkb25seSQ7XG4gIH1cblxuICBnZXQgYW5pbWF0aW5nJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYW5pbWF0aW5nJC5yZWFkb25seSQ7XG4gIH1cblxuICBpbml0aWFsaXNlKGlkZW50aWZpZXI6IHN0cmluZywgYXBpOiBJbnRlcmFjdGlvblNlcnZpY2UuQXBpKSB7XG4gICAgYXNzZXJ0LmlzRmFsc2V5KHRoaXMuaXNJbml0aWFsaXNlZCgpKTtcbiAgICBhc3NlcnQubm90TmlsKGlkZW50aWZpZXIpO1xuICAgIGFzc2VydC5ub3ROaWwoYXBpKTtcbiAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjtcbiAgICB0aGlzLmludGVyYWN0aW9uU2VydmljZUFwaSA9IGFwaTtcbiAgfVxuXG4gIG5vdGlmeVJlYWR5KHJlYWR5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZHkkLnZhbHVlID0gcmVhZHk7XG4gIH1cblxuICBnZXQgaWRlbnRpZmllcigpIHtcbiAgICByZXR1cm4gdGhpcy5faWRlbnRpZmllcjtcbiAgfVxuXG4gIGlzSW5pdGlhbGlzZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5pZGVudGlmaWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBhY3Rpdml0eSBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICovXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzQWN0aXZlID0gdGhpcy5nZXRBY3RpdmVBY3Rpdml0eUNvdW50KCkgPiAwO1xuICAgIC8vIGlmICh0aGlzLndhc0FjdGl2ZSAhPT0gaXNBY3RpdmUpIHtcbiAgICAvLyAgIGNvbnNvbGUubG9nKHt3YXM6IHRoaXMud2FzQWN0aXZlLCBpczogaXNBY3RpdmV9KTtcbiAgICAvLyB9XG4gICAgLy8gdGhpcy53YXNBY3RpdmUgPSBpc0FjdGl2ZVxuICAgIHJldHVybiBpc0FjdGl2ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyRGlzcG9zYWJsZTxUIGV4dGVuZHMgRGlzcG9zYWJsZT4oZGlzcG9zYWJsZTogVCk6IFQge1xuICAgIHJldHVybiB0aGlzLmdhcmJhZ2UucmVnaXN0ZXJEaXNwb3NhYmxlKGRpc3Bvc2FibGUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICAvLyBUT0RPOiB0aGluayBhYm91dCBhdXRvIGNhbmNlbGxpbmcgYW55IG91dHN0YW5kaW5nIGFjdGl2aXR5IG9uIGRpc3Bvc2UuXG4gICAgLy8gICAgICAgU2VlIE5hdmlnYXRpb25TdGF0ZS5OYXZpZ2F0aW5nIGZvciBhIHVzZS1jYXNlLlxuICAgIGFzc2VydC5pc0ZhbHNleSh0aGlzLmlzQWN0aXZlKCkpO1xuICAgIHRoaXMuZ2FyYmFnZS5kaXNwb3NlKCk7XG4gIH1cblxuICBnZXRBY3RpdmVBY3Rpdml0eVJlZigpOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55PiB7XG4gICAgaWYgKCF0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKFwibm8gYWN0aXZpdHkgaW4gcHJvZ3Jlc3NcIik7XG4gICAgfVxuICAgIHJldHVybiBmaW5kTGFzdCh0aGlzLmFjdGl2aXR5UmVmcywgdGFiID0+ICF0YWIuaXNDb21wbGV0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSBjdXJyZW50IGFjdGl2aXR5IGFuZCByZXR1cm5zIHRydWUgdGhlIGNvbnRleHQgaXMgbm8gbG9uZ2VyIGFjdGl2ZSwgZmFsc2UgaWZcbiAgICogdGhlcmUgaXMgc3RpbGwgYW5vdGhlciBhY3Rpdml0eSBydW5uaW5nLlxuICAgKi9cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuY2VsQWN0aXZlQWN0aXZpdHkoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgYWN0aXZpdHkgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5UmVmKCk7XG4gICAgYWN0aXZpdHkuY2FuY2VsKCk7XG4gICAgaWYgKHRoaXMuaXNDbGVhbmluZ1VwKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICF0aGlzLmlzQWN0aXZlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETzogdGhpcyBoYW5kbGluZyBvZiBtdWx0aXBsZSBuZXN0ZWQgYWN0aXZpdGllcyBpcyBvbmx5IHVzZWQgYnkgdGhlIGFjdGl2aXR5IGNvbXBvbmVudCBhbmQgaXMgbm90IGEgZ2VuZXJhbCBjYXNlLlxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlQW5kTGF1bmNoQWN0aXZpdHk8RDEsIFIxLCBFMT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQxLCBSMSwgRTE+PiwgZGF0YTogRDEsIGRpc2FibGVDbG9zZTogYm9vbGVhbik6IFByb21pc2U8UjE+IHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0luaXRpYWxpc2VkKCkpOyAvLyBtYWtlIHN1cmUgd2UndmUgYmVlbiBpbml0aWFsaXNlZFxuICAgIGNvbnN0IGFjdGl2aXR5UmVmID0gbmV3IEFjdGl2aXR5UmVmPEQxLCBSMSwgRTE+KGFjdGl2aXR5VHlwZSwgZGF0YSwgKCkgPT4ge1xuICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSA+IDA7XG4gICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyVGFiU3luY2hyb25pc2F0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbmlzaEFuZFN0YXJ0Q2xlYW51cCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubGF1bmNoQWN0aXZpdHkoYWN0aXZpdHlSZWYpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBhY3Rpdml0eVJlZi5hY3Rpdml0eVJlc3VsdDtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gY29uc29sZS5sb2coXCJjbG9zaW5nIGFjdGl2aXR5XCIsIGFjdGl2aXR5VHlwZS5uYW1lLCB0aGlzLmFjdGl2aXR5UmVmcylcbiAgICAgIGlmICghdGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICAgIC8vIHdhaXQgdW50aWwgdGhlIGFjdGl2aXR5IHJvdXRlIHN5bmNpbmcgaGFzIGZpbmlzaGVkXG4gICAgICAgIGF3YWl0IHRoaXMucGxhY2VSb3V0ZXIud2FpdEFjdGl2aXRpZXNTeW5jaHJvbmlzZWQoKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJhY3Rpdml0eSBzeW5jaW5nIGZpbmlzaGVkXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3RpdmVBY3Rpdml0eUNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlSZWZzLmZpbHRlcihyZWYgPT4gIXJlZi5pc0NvbXBsZXRlKCkpLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhpcyBpbnRlcmFjdGlvbiBjb250ZXh0IGhhcyBmaW5pc2hlZCBhbiBpcyBpbiB0aGUgcHJvY2VzcyBvZiB3YWl0aW5nXG4gICAqIGZvciBhbGwgdGhlIGluZnJhc3RydWN0dXJlIChpbmNsdWRpbmcgcm91dGUgdXBkYXRlcykgdG8gYmUgY29tcGxldGVkLlxuICAgKi9cbiAgaXNDbGVhbmluZ1VwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2RlZmVycmVkQ2xlYW5VcDtcbiAgfVxuXG4gIGFzeW5jIHdhaXRGb3JJbnRlcmFjdGlvbkNvbnRleHRDbGVhbnVwVG9GaW5pc2goKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVmZXJyZWRDbGVhblVwID9cbiAgICAgIHRoaXMuX2RlZmVycmVkQ2xlYW5VcCA6XG4gICAgICB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hBbmRTdGFydENsZWFudXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9kZWZlcnJlZENsZWFuVXApIHtcbiAgICAgIC8vIEltcG9ydGFudDpcbiAgICAgIC8vIENsZWFyIG91ciB0YWJzIHNvIHRoZSBuZXh0IGFjdGl2aXR5IHRyaWdnZXJzIGEgdGFiIGNoYW5nZS5cbiAgICAgIC8vIFdpdGhvdXQgdGhpcyBvdXIgYW5pbWF0aW9uIGRvbmUgd2Fzbid0IGNhbGxlZCB3aGVuIGEgc2luZ2xlXG4gICAgICAvLyBuZXcgYWN0aXZpdHkgZm9sbG93ZWQgYSBzaW5nbGUgdGFiIGFjdGl2aXR5IChzaW5jZSB3ZSdyZSB0cmFja2luZ1xuICAgICAgLy8gYnkgYWN0aXZpdHkgaW5kZXgpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpdml0eVJlZnMgPSBbXTsgLy8gd2UgaGF2ZSB0byBkbyBpdCBhZnRlciB0aGUgYW5pbWF0aW9uIHRpbWVvdXQgb3IgdGhlIGFjdGl2aXR5IGRpc2FwcGVhcnMgYmVmb3JlIHRoZSBhbmltYXRpbiBmaW5zaWhlc1xuICAgICAgfSwgdGhpcy5nZXRUYWJBbmltYXRpb25EdXJhdGlvbkluTWlsbGlzKCkpO1xuICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuaW50ZXJhY3Rpb25TZXJ2aWNlQXBpLm5vdGlmeUZpbmlzaGVkKHRoaXMpO1xuICAgICAgdGhpcy5fZGVmZXJyZWRDbGVhblVwID0gcHJvbWlzZVxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fZGVmZXJyZWRDbGVhblVwID0gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbi8vIEBUcmFjZSgpXG4gIGxhdW5jaEFjdGl2aXR5PEQxLCBSMSwgRTE+KGFjdGl2aXR5UmVmOiBBY3Rpdml0eVJlZjxEMSwgUjEsIEUxPikge1xuICAgIC8vIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFjdGl2aXR5IGxldCB0aGUgaW50ZXJhY3Rpb24gc2VydmljZSBrbm93LlxuICAgIGNvbnN0IGNsZWFuZWRUYWJzID0gdGhpcy5hY3Rpdml0eVJlZnMuZmlsdGVyKHRhYiA9PiAhdGFiLmlzQ29tcGxldGUoKSk7XG4gICAgdGhpcy5hY3Rpdml0eVJlZnMgPSBjbGVhbmVkVGFicy5jb25jYXQoYWN0aXZpdHlSZWYpO1xuICAgIGNvbnN0IGZpcnN0VGltZSA9IHRoaXMuYWN0aXZpdHlSZWZzLmxlbmd0aCA9PT0gMTtcbiAgICBpZiAoZmlyc3RUaW1lKSB7XG4gICAgICB0aGlzLmludGVyYWN0aW9uU2VydmljZUFwaS5ub3RpZnlBY3RpdmUodGhpcyk7XG4gICAgfVxuICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZFRhYkluZGV4KCk7XG4gIH1cblxuICBhY3Rpdml0eUluZGV4KGluZGV4OiBudW1iZXIsIGFjdGl2aXR5UmVmOiBBY3Rpdml0eVJlZjxhbnksIGFueSwgYW55Pikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfTtcblxuICAvKipcbiAgICogU3luY2hyb25pc2VzIHRoZSBzZWxlY3RlZCB0YWIgaW5kZXguXG4gICAqL1xuICBwcml2YXRlIHN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpOiB2b2lkIHtcbiAgICBhc3NlcnQuaXNUcnV0aHkodGhpcy5pc0FjdGl2ZSgpKTtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gdGhpcy50YWJzLnNlbGVjdGVkSW5kZXg7XG4gICAgY29uc3QgbmV3SW5kZXggPSB0aGlzLmdldEFjdGl2ZUFjdGl2aXR5Q291bnQoKSAtIDE7XG4gICAgY29uc3QgYW5pbWF0ZSA9IHRoaXMuYWN0aXZpdHlSZWZzLmxlbmd0aCA+IDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggIT09IG5ld0luZGV4KSB7XG4gICAgICB0aGlzLl9hbmltYXRpbmckLnZhbHVlID0gYW5pbWF0ZTtcbiAgICAgIGNvbnN0IGFjdGl2aXR5UmVmID0gdGhpcy5hY3Rpdml0eVJlZnNbbmV3SW5kZXhdO1xuICAgICAgYWN0aXZpdHlSZWYuc2V0Rm9jdXNlZChmYWxzZSk7XG4gICAgICB0aGlzLmJ1c3kuc2V0RGVsZWdhdGUoYWN0aXZpdHlSZWYuYWN0aXZpdHlCdXN5KTtcbiAgICAgIHRoaXMudGFicy5zZWxlY3RlZEluZGV4ID0gbmV3SW5kZXg7XG4gICAgICAvLyBpZiAodGhpcy5yZWFkeSQudmFsdWUpIHtcbiAgICAgIC8vICAgLy8gTm90ZTogV2UncmUgbm90IHVzaW5nIHRoZSBhbmltYXRpb24gZG9uZSBldmVudCBhcyBpdCdzIGZpcmluZyBhbG1vc3QgaW1tZWFkaWF0ZWx5LlxuICAgICAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmluYWxpc2VBY3Rpdml0eVN0YXRlcygpLCBhbmltYXRlID8gdGhpcy5nZXRUYWJBbmltYXRpb25EdXJhdGlvbkluTWlsbGlzKCkgOiAwKTtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBmaW5hbGlzZUFjdGl2aXR5U3RhdGVzKCkge1xuICAgIHRoaXMuX2FuaW1hdGluZyQudmFsdWUgPSBmYWxzZTtcbiAgICB0aGlzLmFjdGl2aXR5UmVmcyA9IHRoaXMuYWN0aXZpdHlSZWZzLmZpbHRlcih0YWIgPT4gIXRhYi5pc0NvbXBsZXRlKCkpO1xuICAgIHRoaXMuYWN0aXZpdHlSZWZzLmZvckVhY2goKHJlZiwgaW5kZXgpID0+IHtcbiAgICAgIHJlZi5zZXRGb2N1c2VkKGluZGV4ID09PSB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFNlbGVjdGVkT3V0bGV0KCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5T3V0bGV0cy50b0FycmF5KClbdGhpcy50YWJzLnNlbGVjdGVkSW5kZXhdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFRhYkFuaW1hdGlvbkR1cmF0aW9uKCk6IHN0cmluZyB7XG4gICAgLy8gY29uc3QgcyA9IHRoaXMuX3N0YXJ0ZWQkLnZhbHVlID8gdGhpcy5hbmltYXRpb25EdXJhdGlvbiA6IFwiMFwiO1xuICAgIC8vIHJldHVybiBzXG4gICAgcmV0dXJuIHRoaXMuYW5pbWF0aW9uRHVyYXRpb247XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0VGFiQW5pbWF0aW9uRHVyYXRpb25Jbk1pbGxpcygpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hdGNoID0gdGhpcy5hbmltYXRpb25EdXJhdGlvbi5tYXRjaCgvKFxcZCspKC4qKS8pO1xuICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pO1xuICAgIHN3aXRjaCAobWF0Y2hbMl0udHJpbSgpKSB7XG4gICAgICBjYXNlIFwibXNcIjpcbiAgICAgICAgcmV0dXJuIG51bWVyaWNWYWx1ZTtcbiAgICAgIGNhc2UgXCJzXCI6XG4gICAgICAgIHJldHVybiAxMDAwICogbnVtZXJpY1ZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYHVuc3VwcG9ydGVkIGR1cmF0aW9uIHN0cmluZzogJHt0aGlzLnRhYnMuYW5pbWF0aW9uRHVyYXRpb259YCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBnZXRTZWxlY3RlZFRhYkluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLnRhYnMuc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgdHJpZ2dlclRhYlN5bmNocm9uaXNhdGlvbigpIHtcbiAgICBpZiAodGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0KTtcbiAgICB9XG4gICAgdGhpcy5zeW5jU2VsZWN0ZWRUYWJUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN5bmNTZWxlY3RlZFRhYlRpbWVvdXQgPSBudWxsO1xuICAgICAgaWYgKHRoaXMuaXNBY3RpdmUoKSkge1xuICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRUYWJJbmRleCgpO1xuICAgICAgfVxuICAgIH0sIDc1KTtcbiAgfVxuXG4gIG9uQW5pbWF0aW9uRG9uZSgpIHtcbiAgICB0aGlzLl9zdGFydGVkJC52YWx1ZSA9IHRydWVcbiAgICB0aGlzLmZpbmFsaXNlQWN0aXZpdHlTdGF0ZXMoKVxuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCAjdGFicyBuby10YWItaGVhZGVyXG4gICAgICAgICAgICAgICBbZHluYW1pY0hlaWdodF09XCJkeW5hbWljSGVpZ2h0XCJcbiAgICAgICAgICAgICAgIFtjbGFzcy5mdWxsLWhlaWdodC10YWJzXT1cIiFkeW5hbWljSGVpZ2h0XCJcbiAgICAgICAgICAgICAgIFthbmltYXRpb25EdXJhdGlvbl09XCJnZXRUYWJBbmltYXRpb25EdXJhdGlvbigpXCJcbiAgICAgICAgICAgICAgIChhbmltYXRpb25Eb25lKT1cIm9uQW5pbWF0aW9uRG9uZSgpXCJcbj5cbiAgPG1hdC10YWIgKm5nRm9yPVwibGV0IGFjdGl2aXR5UmVmIG9mIGFjdGl2aXR5UmVmczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogYWN0aXZpdHlJbmRleFwiPlxuICAgIDxhdXAtYnVzeS1vdmVybGF5IFtidXN5JF09XCJidXN5XCIgY2RrVHJhcEZvY3VzIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlPlxuICAgICAgPCEtLVxuICAgICAgV2UgaGF2ZSBpc3N1ZXMgd2hlcmUgYW5ndWxhciBpcyB0cmlnZ2VyaW5nIGEgbGVhdmUgYW5pbWF0aW9uIHdoZW4gYW5cbiAgICAgIG5ldyBhY3Rpdml0eSBpcyBzdGFydGVkLCBidXQgaXMgbm90IHJ1bm5pbmcgdGhlIGVudGVyIGFuaW1hdGlvblxuICAgICAgd2hlbiBpdCBpcyBzY3JvbGxlZCBiYWNrIGludG8gdmlldy4gIFNvIHdlIHRyYWNrIHRoZSB0YWIgY2hhbmdlcyBhbmRcbiAgICAgIGRpc2FibGUgYWxsIGFuaW1hdGlvbnMgaW5zaWRlIHRoZSB0YWIgd2hpbGUgd2UncmUgYW5pbWF0aW5nLlxuICAgICAgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktb3V0bGV0LXdyYXBwZXJcIiBbQC5kaXNhYmxlZF09XCIhYWN0aXZpdHlSZWYuZm9jdXNlZFwiPlxuICAgICAgICA8YXVwLWFjdGl2aXR5LW91dGxldCBbbmVzdGVkSW50ZXJhY3Rpb25Db250ZXh0XT1cInRoaXNcIiBbYWN0aXZpdHlSZWZdPVwiYWN0aXZpdHlSZWZcIj48L2F1cC1hY3Rpdml0eS1vdXRsZXQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2F1cC1idXN5LW92ZXJsYXk+XG4gIDwvbWF0LXRhYj5cbjwvbWF0LXRhYi1ncm91cD5cbiJdfQ==