@bizdoc/core 1.13.36 → 1.14.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/assets/bizdoc-schema.json +5 -0
  2. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  3. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  4. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  5. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  6. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  7. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +3 -3
  8. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
  9. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  10. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +3 -3
  11. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  12. package/esm2020/lib/admin/form/form.service.mjs +3 -3
  13. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  14. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  15. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +5 -5
  16. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  17. package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
  18. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  19. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  20. package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
  21. package/esm2020/lib/admin/profiler/profiler.component.mjs +3 -3
  22. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  23. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  24. package/esm2020/lib/app.component.mjs +8 -8
  25. package/esm2020/lib/bizdoc.module.mjs +4 -4
  26. package/esm2020/lib/browse/browse-items.component.mjs +3 -3
  27. package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
  28. package/esm2020/lib/browse/browse.pane.component.mjs +3 -3
  29. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +17 -12
  30. package/esm2020/lib/browse/filter/filter.component.mjs +3 -3
  31. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  32. package/esm2020/lib/chat/chat-info.mjs +5 -6
  33. package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
  34. package/esm2020/lib/chat/chat.service.mjs +3 -3
  35. package/esm2020/lib/chat/contacts.component.mjs +6 -6
  36. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  37. package/esm2020/lib/chat/conversation.component.mjs +5 -5
  38. package/esm2020/lib/chat/conversation.pane.component.mjs +14 -5
  39. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  40. package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
  41. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  42. package/esm2020/lib/compose/action/assign-action.component.mjs +21 -45
  43. package/esm2020/lib/compose/action/moveto-action.component.mjs +3 -3
  44. package/esm2020/lib/compose/action/return-action.component.mjs +18 -18
  45. package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
  46. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  47. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  48. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  49. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
  50. package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
  51. package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
  52. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  53. package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
  54. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  55. package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
  56. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  57. package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
  58. package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
  59. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  60. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  61. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  62. package/esm2020/lib/compose/document.component.mjs +3 -3
  63. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  64. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  65. package/esm2020/lib/compose/events/events.component.mjs +3 -3
  66. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  67. package/esm2020/lib/compose/form.component.mjs +3 -3
  68. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  69. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  70. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  71. package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
  72. package/esm2020/lib/compose/state.component.mjs +3 -3
  73. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  74. package/esm2020/lib/compose/trace/flow.component.mjs +74 -32
  75. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  76. package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
  77. package/esm2020/lib/compose/trace/trace.component.mjs +13 -6
  78. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  79. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  80. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  81. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  82. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  83. package/esm2020/lib/core/account.service.mjs +3 -3
  84. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  85. package/esm2020/lib/core/animations.mjs +3 -3
  86. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  87. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  88. package/esm2020/lib/core/controls/address.input.mjs +3 -3
  89. package/esm2020/lib/core/controls/auto-complete.input.mjs +6 -6
  90. package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
  91. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  92. package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
  93. package/esm2020/lib/core/controls/file.input.mjs +144 -116
  94. package/esm2020/lib/core/controls/select.input.mjs +19 -19
  95. package/esm2020/lib/core/controls/time-picker.mjs +3 -3
  96. package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
  97. package/esm2020/lib/core/datasource.service.mjs +3 -3
  98. package/esm2020/lib/core/guide/guide.component.mjs +3 -3
  99. package/esm2020/lib/core/guide/guide.service.mjs +16 -5
  100. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  101. package/esm2020/lib/core/hub.service.mjs +3 -3
  102. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  103. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  104. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  105. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  106. package/esm2020/lib/core/info/map-info.mjs +3 -3
  107. package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
  108. package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
  109. package/esm2020/lib/core/layout/checkbox.mjs +3 -3
  110. package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
  111. package/esm2020/lib/core/layout/date.field.mjs +3 -3
  112. package/esm2020/lib/core/layout/expression.field.mjs +3 -3
  113. package/esm2020/lib/core/layout/file.field.mjs +3 -3
  114. package/esm2020/lib/core/layout/html.field.mjs +3 -3
  115. package/esm2020/lib/core/layout/input.base.mjs +3 -3
  116. package/esm2020/lib/core/layout/input.field.mjs +3 -3
  117. package/esm2020/lib/core/layout/layout.component.mjs +3 -3
  118. package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
  119. package/esm2020/lib/core/layout/select.field.mjs +3 -3
  120. package/esm2020/lib/core/layout/switch.field.mjs +3 -3
  121. package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
  122. package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
  123. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  124. package/esm2020/lib/core/mailbox.service.mjs +19 -4
  125. package/esm2020/lib/core/models.mjs +1 -1
  126. package/esm2020/lib/core/none.component.mjs +3 -3
  127. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  128. package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
  129. package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
  130. package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
  131. package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
  132. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
  133. package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
  134. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  135. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  136. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  137. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  138. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  139. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  140. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +3 -3
  141. package/esm2020/lib/core/pipes/translate.pipe.mjs +6 -6
  142. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  143. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  144. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  145. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  146. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  147. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  148. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  149. package/esm2020/lib/core/prompt.service.mjs +3 -3
  150. package/esm2020/lib/core/router.mjs +6 -6
  151. package/esm2020/lib/core/session.service.mjs +3 -3
  152. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  153. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  154. package/esm2020/lib/core/slots/slots.component.mjs +5 -5
  155. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  156. package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
  157. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  158. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  159. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  160. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  161. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  162. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  163. package/esm2020/lib/core/translate.service.mjs +3 -3
  164. package/esm2020/lib/core/translations.mjs +11 -7
  165. package/esm2020/lib/core/window-title.service.mjs +3 -3
  166. package/esm2020/lib/cube/accum/accum.component.mjs +3 -3
  167. package/esm2020/lib/cube/chart/chart.component.mjs +20 -5
  168. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  169. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  170. package/esm2020/lib/cube/cube-view.component.mjs +3 -3
  171. package/esm2020/lib/cube/cube.service.mjs +3 -3
  172. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  173. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  174. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
  175. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  176. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  177. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  178. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  179. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  180. package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
  181. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +3 -3
  182. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  183. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  184. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  185. package/esm2020/lib/cube/matrix/popup.component.mjs +3 -3
  186. package/esm2020/lib/cube/matrix/table.component.mjs +5 -5
  187. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  188. package/esm2020/lib/cube/pivot/pivot.component.mjs +16 -5
  189. package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
  190. package/esm2020/lib/cube/view-base.mjs +3 -3
  191. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  192. package/esm2020/lib/cube/view.pane.component.mjs +3 -3
  193. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  194. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  195. package/esm2020/lib/dashboard/cube/compare.widget.mjs +3 -3
  196. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  197. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  198. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  199. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  200. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  201. package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
  202. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  203. package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
  204. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
  205. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  206. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  207. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
  208. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  209. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
  210. package/esm2020/lib/desktop.module.mjs +4 -4
  211. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  212. package/esm2020/lib/home/home-base.component.mjs +3 -3
  213. package/esm2020/lib/home/home.desktop.component.mjs +6 -6
  214. package/esm2020/lib/home/home.mobile.component.mjs +3 -3
  215. package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
  216. package/esm2020/lib/home/options/options.component.mjs +3 -3
  217. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  218. package/esm2020/lib/home/search.service.mjs +3 -3
  219. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  220. package/esm2020/lib/home/tools.component.mjs +3 -3
  221. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  222. package/esm2020/lib/mobile.module.mjs +4 -4
  223. package/esm2020/lib/modules/chart.module.mjs +4 -4
  224. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  225. package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
  226. package/esm2020/lib/modules/dayjs.module.mjs +4 -4
  227. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  228. package/esm2020/lib/modules/gantt.module.mjs +4 -4
  229. package/esm2020/lib/modules/grid.module.mjs +4 -4
  230. package/esm2020/lib/modules/material.module.mjs +4 -4
  231. package/esm2020/lib/modules/paginator.intl.mjs +3 -3
  232. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  233. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  234. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  235. package/esm2020/lib/modules/stepper.intl.mjs +3 -3
  236. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  237. package/esm2020/lib/notifications/filter.component.mjs +3 -3
  238. package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
  239. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  240. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  241. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  242. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  243. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  244. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  245. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  246. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  247. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  248. package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
  249. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  250. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  251. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  252. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  253. package/esm2020/lib/options/options.component.mjs +3 -3
  254. package/esm2020/lib/options/options.service.mjs +3 -3
  255. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  256. package/esm2020/lib/reports/cube/documents.component.mjs +3 -3
  257. package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
  258. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  259. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  260. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  261. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  262. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  263. package/esm2020/lib/reports/cube/usage.component.mjs +3 -3
  264. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  265. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  266. package/esm2020/lib/reports/report.pane.component.mjs +3 -3
  267. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  268. package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
  269. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  270. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  271. package/esm2020/lib/scheduler/schedule.component.mjs +3 -3
  272. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  273. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
  274. package/esm2020/lib/shared.module.mjs +4 -4
  275. package/esm2020/lib/system.module.mjs +4 -4
  276. package/esm2020/lib/views/cube/chart.component.mjs +3 -3
  277. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  278. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  279. package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
  280. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  281. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  282. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  283. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  284. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
  285. package/esm2020/lib/views/view-item.component.mjs +3 -3
  286. package/esm2020/lib/views/views.component.mjs +3 -3
  287. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  288. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  289. package/esm2020/public-api.mjs +2 -2
  290. package/fesm2015/bizdoc-core.mjs +1288 -1158
  291. package/fesm2015/bizdoc-core.mjs.map +1 -1
  292. package/fesm2020/bizdoc-core.mjs +1288 -1160
  293. package/fesm2020/bizdoc-core.mjs.map +1 -1
  294. package/lib/compose/action/assign-action.component.d.ts +3 -9
  295. package/lib/compose/action/return-action.component.d.ts +4 -2
  296. package/lib/core/animations.d.ts +1 -1
  297. package/lib/core/controls/file.input.d.ts +15 -4
  298. package/lib/core/controls/select.input.d.ts +5 -5
  299. package/lib/core/guide/guide.service.d.ts +8 -2
  300. package/lib/core/mailbox.service.d.ts +1 -0
  301. package/lib/core/models.d.ts +2 -0
  302. package/lib/core/translations.d.ts +6 -2
  303. package/lib/home/home.desktop.component.d.ts +1 -1
  304. package/package.json +10 -9
  305. package/public-api.d.ts +1 -1
  306. package/assets/themes/brown.min.css +0 -85
  307. package/assets/themes/dark.min.css +0 -80
  308. package/assets/themes/deep-purple-light-blue.min.css +0 -92
  309. package/assets/themes/deep-purple-teal.min.css +0 -92
  310. package/assets/themes/default.min.css +0 -92
  311. package/assets/themes/green.min.css +0 -85
  312. package/assets/themes/indigo.min.css +0 -85
@@ -13,9 +13,9 @@ export class ChatComponent {
13
13
  this.contactChange.emit(contact);
14
14
  }
15
15
  }
16
- ChatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- ChatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ChatComponent, selector: "bizdoc-chat", inputs: { contact: "contact" }, outputs: { contactChange: "contactChange" }, ngImport: i0, template: "<ng-container *ngIf=\"contact; else contacts\">\r\n <bizdoc-chat-conversation [contact]=\"contact\" fxFlex></bizdoc-chat-conversation>\r\n</ng-container>\r\n<ng-template #contacts>\r\n <bizdoc-contacts (selected)=\"selected($event)\"></bizdoc-contacts>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:300px}\n"], components: [{ type: i1.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }, { type: i2.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ChatComponent, decorators: [{
16
+ ChatComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ ChatComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ChatComponent, selector: "bizdoc-chat", inputs: { contact: "contact" }, outputs: { contactChange: "contactChange" }, ngImport: i0, template: "<ng-container *ngIf=\"contact; else contacts\">\r\n <bizdoc-chat-conversation [contact]=\"contact\" fxFlex></bizdoc-chat-conversation>\r\n</ng-container>\r\n<ng-template #contacts>\r\n <bizdoc-contacts (selected)=\"selected($event)\"></bizdoc-contacts>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:300px}\n"], components: [{ type: i1.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }, { type: i2.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ChatComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'bizdoc-chat', template: "<ng-container *ngIf=\"contact; else contacts\">\r\n <bizdoc-chat-conversation [contact]=\"contact\" fxFlex></bizdoc-chat-conversation>\r\n</ng-container>\r\n<ng-template #contacts>\r\n <bizdoc-contacts (selected)=\"selected($event)\"></bizdoc-contacts>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;width:300px}\n"] }]
21
21
  }], propDecorators: { contact: [{
@@ -113,9 +113,9 @@ export class ChatService {
113
113
  }));
114
114
  }
115
115
  }
116
- ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.HubService }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Injectable });
117
- ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ChatService, providedIn: 'root' });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ChatService, decorators: [{
116
+ ChatService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.HubService }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Injectable });
117
+ ChatService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ChatService, providedIn: 'root' });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ChatService, decorators: [{
119
119
  type: Injectable,
120
120
  args: [{ providedIn: 'root' }]
121
121
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HubService }, { type: i3.SessionService }]; } });
@@ -39,9 +39,9 @@ export class HtmlSimplePipe {
39
39
  return value.replace(HTML_EXP, '');
40
40
  }
41
41
  }
42
- HtmlSimplePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: HtmlSimplePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
43
- HtmlSimplePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: HtmlSimplePipe, name: "htmlToText" });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: HtmlSimplePipe, decorators: [{
42
+ HtmlSimplePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: HtmlSimplePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
43
+ HtmlSimplePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: HtmlSimplePipe, name: "htmlToText" });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: HtmlSimplePipe, decorators: [{
45
45
  type: Pipe,
46
46
  args: [{ name: 'htmlToText' }]
47
47
  }] });
@@ -92,9 +92,9 @@ export class ContactsComponent {
92
92
  this._destroy.complete();
93
93
  }
94
94
  }
95
- ContactsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ContactsComponent, deps: [{ token: i1.ChatService }, { token: i2.PromptService }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i0.ChangeDetectorRef }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component });
96
- ContactsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ContactsComponent, selector: "bizdoc-contacts", outputs: { selected: "selected" }, ngImport: i0, template: " <!-- search -->\r\n<mat-form-field floatLabel=\"never\" class=\"search\">\r\n <input type=\"search\" matInput [formControl]=\"searchControl\" [matAutocomplete]=\"user\" placeholder=\"{{'SearchContacts' | translate}}\" />\r\n <button mat-button *ngIf=\"searchControl.value\" matSuffix mat-icon-button aria-label=\"\" (click)=\"searchControl.setValue('')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete #user (optionSelected)=\"optionSelected($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n<!-- contacts -->\r\n<mat-nav-list>\r\n <mat-list-item *ngFor=\"let c of contacts |filter:'forgotten':undefined| sort : 'time' : 'desc'\" (click)=\"open(c)\" [class.read]=\"c.visited>=c.time\">\r\n <bizdoc-avatar [person]=\"c\" *ngIf=\"c.name\" [interactive]=\"false\"></bizdoc-avatar>\r\n <h3 matLine>\r\n {{c.nick || c.name}}\r\n </h3>\r\n <div matLine>\r\n <div class=\"chat-text\" [innerText]=\"c.text | htmlToText\"></div>\r\n </div>\r\n <p matLine>\r\n <small [bizdocTooltip]=\"c.time | amCalendar\">{{c.time | amTimeAgo}}</small>\r\n <small *ngIf=\"!c.accepted\">\r\n {{'You' | translate }}\r\n </small>\r\n <mat-icon *ngIf=\"!c.accepted && c.watermark>=c.time\" class=\"watermark\">done_all</mat-icon>\r\n </p>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\" class=\"tool\">\r\n <mat-icon [matBadge]=\"c.count\" [matBadgeHidden]=\"!c.count\" matBadgeSize=\"medium\" matBadgeColor=\"accent\" matBadgePosition=\"before\" matBadgeOverlap=\"false\">more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"forget(c)\">{{'Forget'|translate}}</button>\r\n </mat-menu>\r\n </mat-list-item>\r\n</mat-nav-list>\r\n", styles: [":host{display:flex;flex-direction:column}.search{padding:8px 8px 0;animation:width ease-in-out 1}.search.collapse{width:0}mat-nav-list{flex:1 1 auto;overflow:auto}mat-nav-list mat-list-item .chat-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block}mat-nav-list mat-list-item .watermark{width:16px;height:16px;font-size:16px}mat-nav-list mat-list-item .tool{opacity:0}mat-nav-list mat-list-item:hover .tool{opacity:1}\n"], components: [{ type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }, { type: i13.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i13.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i15.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatSuffix, selector: "[matSuffix]" }, { type: i16.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.MatLine, selector: "[mat-line], [matLine]" }, { type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i13.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i18.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": i19.TranslatePipe, "async": i16.AsyncPipe, "sort": i20.ArraySortPipe, "filter": i20.FilterPipe, "htmlToText": HtmlSimplePipe, "amCalendar": i21.CalendarPipe, "amTimeAgo": i22.TimeAgoPipe } });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ContactsComponent, decorators: [{
95
+ ContactsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ContactsComponent, deps: [{ token: i1.ChatService }, { token: i2.PromptService }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i0.ChangeDetectorRef }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component });
96
+ ContactsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ContactsComponent, selector: "bizdoc-contacts", outputs: { selected: "selected" }, ngImport: i0, template: " <!-- search -->\r\n<mat-form-field floatLabel=\"never\" class=\"search\">\r\n <input type=\"search\" matInput [formControl]=\"searchControl\" [matAutocomplete]=\"user\" placeholder=\"{{'SearchContacts' | translate}}\" />\r\n <button mat-button *ngIf=\"searchControl.value\" matSuffix mat-icon-button aria-label=\"\" (click)=\"searchControl.setValue('')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete #user (optionSelected)=\"optionSelected($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n<!-- contacts -->\r\n<mat-nav-list>\r\n <mat-list-item *ngFor=\"let c of contacts |filter:'forgotten':undefined| sort : 'time' : 'desc'\" (click)=\"open(c)\" [class.read]=\"c.visited>=c.time\">\r\n <bizdoc-avatar [person]=\"c\" *ngIf=\"c.name\" [interactive]=\"false\"></bizdoc-avatar>\r\n <h3 matLine>\r\n {{c.nick || c.name}}\r\n </h3>\r\n <div matLine>\r\n <div class=\"chat-text\" [innerText]=\"c.text | htmlToText\"></div>\r\n </div>\r\n <p matLine>\r\n <small [bizdocTooltip]=\"c.time | amCalendar\">{{c.time | amTimeAgo}}</small>\r\n <small *ngIf=\"!c.accepted\">\r\n {{'You' | translate }}\r\n </small>\r\n <mat-icon *ngIf=\"!c.accepted && c.watermark>=c.time\" class=\"watermark\">done_all</mat-icon>\r\n </p>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\" class=\"tool\">\r\n <mat-icon [matBadge]=\"c.count\" [matBadgeHidden]=\"!c.count\" matBadgeSize=\"medium\" matBadgeColor=\"accent\" matBadgePosition=\"before\" matBadgeOverlap=\"false\">more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"forget(c)\">{{'Forget'|translate}}</button>\r\n </mat-menu>\r\n </mat-list-item>\r\n</mat-nav-list>\r\n", styles: [":host{display:flex;flex-direction:column}.search{padding:8px 8px 0;animation:width ease-in-out 1}.search.collapse{width:0}mat-nav-list{flex:1 1 auto;overflow:auto}mat-nav-list mat-list-item .chat-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block}mat-nav-list mat-list-item .watermark{width:16px;height:16px;font-size:16px}mat-nav-list mat-list-item .tool{opacity:0}mat-nav-list mat-list-item:hover .tool{opacity:1}\n"], components: [{ type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }, { type: i13.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i13.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i14.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i15.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i15.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatSuffix, selector: "[matSuffix]" }, { type: i16.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.MatLine, selector: "[mat-line], [matLine]" }, { type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i13.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i18.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": i19.TranslatePipe, "async": i16.AsyncPipe, "sort": i20.ArraySortPipe, "filter": i20.FilterPipe, "htmlToText": HtmlSimplePipe, "amCalendar": i21.CalendarPipe, "amTimeAgo": i22.TimeAgoPipe } });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ContactsComponent, decorators: [{
98
98
  type: Component,
99
99
  args: [{ selector: 'bizdoc-contacts', template: " <!-- search -->\r\n<mat-form-field floatLabel=\"never\" class=\"search\">\r\n <input type=\"search\" matInput [formControl]=\"searchControl\" [matAutocomplete]=\"user\" placeholder=\"{{'SearchContacts' | translate}}\" />\r\n <button mat-button *ngIf=\"searchControl.value\" matSuffix mat-icon-button aria-label=\"\" (click)=\"searchControl.setValue('')\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <mat-autocomplete #user (optionSelected)=\"optionSelected($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n </mat-option>\r\n </mat-autocomplete>\r\n</mat-form-field>\r\n<!-- contacts -->\r\n<mat-nav-list>\r\n <mat-list-item *ngFor=\"let c of contacts |filter:'forgotten':undefined| sort : 'time' : 'desc'\" (click)=\"open(c)\" [class.read]=\"c.visited>=c.time\">\r\n <bizdoc-avatar [person]=\"c\" *ngIf=\"c.name\" [interactive]=\"false\"></bizdoc-avatar>\r\n <h3 matLine>\r\n {{c.nick || c.name}}\r\n </h3>\r\n <div matLine>\r\n <div class=\"chat-text\" [innerText]=\"c.text | htmlToText\"></div>\r\n </div>\r\n <p matLine>\r\n <small [bizdocTooltip]=\"c.time | amCalendar\">{{c.time | amTimeAgo}}</small>\r\n <small *ngIf=\"!c.accepted\">\r\n {{'You' | translate }}\r\n </small>\r\n <mat-icon *ngIf=\"!c.accepted && c.watermark>=c.time\" class=\"watermark\">done_all</mat-icon>\r\n </p>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\" class=\"tool\">\r\n <mat-icon [matBadge]=\"c.count\" [matBadgeHidden]=\"!c.count\" matBadgeSize=\"medium\" matBadgeColor=\"accent\" matBadgePosition=\"before\" matBadgeOverlap=\"false\">more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"forget(c)\">{{'Forget'|translate}}</button>\r\n </mat-menu>\r\n </mat-list-item>\r\n</mat-nav-list>\r\n", styles: [":host{display:flex;flex-direction:column}.search{padding:8px 8px 0;animation:width ease-in-out 1}.search.collapse{width:0}mat-nav-list{flex:1 1 auto;overflow:auto}mat-nav-list mat-list-item .chat-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block}mat-nav-list mat-list-item .watermark{width:16px;height:16px;font-size:16px}mat-nav-list mat-list-item .tool{opacity:0}mat-nav-list mat-list-item:hover .tool{opacity:1}\n"] }]
100
100
  }], ctorParameters: function () { return [{ type: i1.ChatService }, { type: i2.PromptService }, { type: i3.SessionService }, { type: i4.AccountService }, { type: i0.ChangeDetectorRef }, { type: i5.HubService }]; }, propDecorators: { selected: [{
@@ -15,9 +15,9 @@ export class ContactsPaneComponent {
15
15
  });
16
16
  }
17
17
  }
18
- ContactsPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ContactsPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component });
19
- ContactsPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ContactsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`, isInline: true, components: [{ type: i4.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ContactsPaneComponent, decorators: [{
18
+ ContactsPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ContactsPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component });
19
+ ContactsPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ContactsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`, isInline: true, components: [{ type: i4.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ContactsPaneComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{
23
23
  template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`,
@@ -167,12 +167,12 @@ export class ConversationComponent {
167
167
  }
168
168
  _persist() {
169
169
  this._input.text && this._input.text.length &&
170
- window.localStorage.setItem(this.profile.id, this._input.text);
170
+ window.localStorage.setItem(this.contact.id, this._input.text);
171
171
  }
172
172
  }
173
- ConversationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ConversationComponent, deps: [{ token: BIZDOC_CONFIG }, { token: i1.ChatService }, { token: i2.HubService }, { token: i3.TranslateService }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i0.ViewContainerRef }, { token: i6.Overlay }], target: i0.ɵɵFactoryTarget.Component });
174
- ConversationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ConversationComponent, selector: "bizdoc-chat-conversation", inputs: { contact: "contact" }, viewQueries: [{ propertyName: "_input", first: true, predicate: EditInputComponent, descendants: true, static: true }, { propertyName: "conversationElement", first: true, predicate: ["conversation"], descendants: true, read: ElementRef, static: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\r\n <bizdoc-none *ngIf=\"!items.length\" title=\"Chat\" icon=\"chat\"></bizdoc-none>\r\n\r\n <ng-container *ngFor=\"let item of items; let i = index; trackBy: trackBy\">\r\n <div class=\"chat-item\" [class.you]=\"item.userId!==contact.id\">\r\n <div class=\"chat-text\" [innerHTML]=\"item.text|taggingHtml:item.resource\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\r\n <div class=\"chat-info\" *ngIf=\"(i===items.length - 1)||item.userId!==items[i+1].userId\">\r\n <small>\r\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\r\n </bizdoc-identity-name>\r\n </small>\r\n <span class=\"divider\"></span>\r\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\r\n </div>\r\n </div>\r\n <div class=\"chat-watermark\" *ngIf=\"watermark && ((i<items.length - 1 && items[i+1].time>watermark&&item.time<=watermark)||(i===items.length - 1 &&item.time<=watermark))\">\r\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\r\n\r\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\r\n (focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\r\n<ng-template #previewTemplate let-item=\"item\">\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"], components: [{ type: i7.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i8.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "taggingHtml": i13.TaggingPipe, "amDateFormat": i14.DateFormatPipe, "amCalendar": i15.CalendarPipe, "translate": i16.TranslatePipe, "amTimeAgo": i17.TimeAgoPipe } });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ConversationComponent, decorators: [{
173
+ ConversationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ConversationComponent, deps: [{ token: BIZDOC_CONFIG }, { token: i1.ChatService }, { token: i2.HubService }, { token: i3.TranslateService }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i0.ViewContainerRef }, { token: i6.Overlay }], target: i0.ɵɵFactoryTarget.Component });
174
+ ConversationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ConversationComponent, selector: "bizdoc-chat-conversation", inputs: { contact: "contact" }, viewQueries: [{ propertyName: "_input", first: true, predicate: EditInputComponent, descendants: true, static: true }, { propertyName: "conversationElement", first: true, predicate: ["conversation"], descendants: true, read: ElementRef, static: true }, { propertyName: "previewTemplate", first: true, predicate: ["previewTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\r\n <bizdoc-none *ngIf=\"!items.length\" title=\"Chat\" icon=\"chat\"></bizdoc-none>\r\n\r\n <ng-container *ngFor=\"let item of items; let i = index; trackBy: trackBy\">\r\n <div class=\"chat-item\" [class.you]=\"item.userId!==contact.id\">\r\n <div class=\"chat-text\" [innerHTML]=\"item.text|taggingHtml:item.resource\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\r\n <div class=\"chat-info\" *ngIf=\"(i===items.length - 1)||item.userId!==items[i+1].userId\">\r\n <small>\r\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\r\n </bizdoc-identity-name>\r\n </small>\r\n <span class=\"divider\"></span>\r\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\r\n </div>\r\n </div>\r\n <div class=\"chat-watermark\" *ngIf=\"watermark && ((i<items.length - 1 && items[i+1].time>watermark&&item.time<=watermark)||(i===items.length - 1 &&item.time<=watermark))\">\r\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\r\n\r\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\r\n (focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\r\n<ng-template #previewTemplate let-item=\"item\">\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"], components: [{ type: i7.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { type: i8.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "taggingHtml": i13.TaggingPipe, "amDateFormat": i14.DateFormatPipe, "amCalendar": i15.CalendarPipe, "translate": i16.TranslatePipe, "amTimeAgo": i17.TimeAgoPipe } });
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ConversationComponent, decorators: [{
176
176
  type: Component,
177
177
  args: [{ selector: 'bizdoc-chat-conversation', template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\r\n <bizdoc-none *ngIf=\"!items.length\" title=\"Chat\" icon=\"chat\"></bizdoc-none>\r\n\r\n <ng-container *ngFor=\"let item of items; let i = index; trackBy: trackBy\">\r\n <div class=\"chat-item\" [class.you]=\"item.userId!==contact.id\">\r\n <div class=\"chat-text\" [innerHTML]=\"item.text|taggingHtml:item.resource\"></div>\r\n <img *ngIf=\"item.image\" [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\r\n <div class=\"chat-info\" *ngIf=\"(i===items.length - 1)||item.userId!==items[i+1].userId\">\r\n <small>\r\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\r\n </bizdoc-identity-name>\r\n </small>\r\n <span class=\"divider\"></span>\r\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\r\n </div>\r\n </div>\r\n <div class=\"chat-watermark\" *ngIf=\"watermark && ((i<items.length - 1 && items[i+1].time>watermark&&item.time<=watermark)||(i===items.length - 1 &&item.time<=watermark))\">\r\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"chat-typing\" [style.visibility]=\"typing ? 'visible':'hidden'\" [innerHTML]=\"(profile?.gender === 'Male' ? 'TypingMale' : profile?.gender === 'Female' ? 'TypingFemale' : 'Typing') | translate : (profile?.nick || profile?.name)\"></div>\r\n\r\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\r\n (focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\r\n<ng-template #previewTemplate let-item=\"item\">\r\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"] }]
178
178
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
190
190
  type: ViewChild,
191
191
  args: ['previewTemplate']
192
192
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUEyRCxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFFekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFPakMsTUFBTSxPQUNFLHFCQUFxQjtJQXVCM0IsWUFDeUIsTUFBb0IsRUFDbkMsUUFBcUIsRUFDckIsVUFBc0IsRUFDdEIsVUFBNEIsRUFDNUIsU0FBeUIsRUFDekIsR0FBa0IsRUFDbEIsR0FBcUIsRUFDckIsUUFBaUI7UUFOakIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FB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bGVtZW50UmVmLCBWaWV3Q2hpbGQsIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIENoYXRTZXR0aW5ncyB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBDT05UQUNUX1RZUElOR19OT1RFID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNoYXQtY29udmVyc2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb252ZXJzYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICBwcm9maWxlOiBVc2VySW5mbztcclxuICBpdGVtczogQ2hhdFtdID0gW107XHJcbiAgdHlwaW5nID0gZmFsc2U7XHJcbiAgd2F0ZXJtYXJrOiBEYXRlO1xyXG4gIHNlbmRpbmcgPSBmYWxzZTtcclxuICB3b3JraW5nID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgQ0FMRU5EQVJfU1BFQzogQ2FsZW5kYXJTcGVjID0ge1xyXG4gICAgbGFzdERheTogYFske3RoaXMuX3RyYW5zbGF0ZS5nZXQoJ1llc3RlcmRheScpfV0gSEg6bW1gLFxyXG4gICAgbGFzdFdlZWs6ICdkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogJ0hIOm1tJyxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFZGl0SW5wdXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29udmVyc2F0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgY29udmVyc2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJldmlld1RlbXBsYXRlJykgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9wcmVzZXJ2ZURyYWZ0OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IF90ZXh0Q2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ID0gY29uZmlnLmNoYXRpbmcgJiYgKGNvbmZpZy5jaGF0aW5nIGFzIENoYXRTZXR0aW5ncykucHJlc2VydmVEcmFmdDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFR5cGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgQ09OVEFDVF9UWVBJTkdfTk9URSk7XHJcbiAgICAgICAgdGhpcy50eXBpbmcgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChlLm1vZGVsKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX2luRm9jdXMgJiYgdGhpcy5fc2VlbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0V2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RleHRDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoMzUwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fc2VydmljZS50eXBpbmcodGhpcy5jb250YWN0LmlkKSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvZmlsZSAmJlxyXG4gICAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ICYmIHRoaXMuX3BlcnNpc3QoKTtcclxuXHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUodSA9PiB7XHJcbiAgICAgIHRoaXMucHJvZmlsZSA9IHU7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIC8vIGxhdGVzdFxyXG4gICAgdGhpcy53YXRlcm1hcmsgPSB0aGlzLmNvbnRhY3QudmlzaXRlZCB8fCB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID8gKHRoaXMuY29udGFjdC52aXNpdGVkICYmIHRoaXMuY29udGFjdC53YXRlcm1hcmsgP1xyXG4gICAgICB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID4gdGhpcy5jb250YWN0LnZpc2l0ZWQgP1xyXG4gICAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgOiB0aGlzLmNvbnRhY3QudmlzaXRlZCA6XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgfHwgdGhpcy5jb250YWN0LnZpc2l0ZWQpIDogbnVsbDtcclxuICAgIC8vIGZldGNoXHJcbiAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoY3MgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gY3MucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAhdGhpcy5jb250YWN0LmNvdW50ICYmXHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfSwgKCkgPT5cclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgICBpZiAodGhpcy5fcHJlc2VydmVEcmFmdCkge1xyXG4gICAgICBjb25zdCB0ZXh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jb250YWN0LmlkKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuX2lucHV0LnRleHQgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuICB0cmFja0J5ID0gKF8sIGl0ZW06IENoYXQpID0+IGl0ZW0udGltZTtcclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvblNjcm9sbChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udmVyc2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsLnNjcm9sbFRvcCA8IDEwICYmICF0aGlzLl90b3AgJiYgIXRoaXMud29ya2luZykge1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkLCB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXNbMF0udGltZSA6IG51bGwpLnN1YnNjcmliZShpcyA9PiB7XHJcbiAgICAgICAgaWYgKGlzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMuaXRlbXMpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VuZChldnQ6IEVkaXRUZXh0RXZlbnQpIHtcclxuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlbmQodGhpcy5jb250YWN0LmlkLCBldnQpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgdGhpcy5pdGVtcy5wdXNoKGMpO1xyXG4gICAgICB0aGlzLl9pbnB1dC5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgIH0sIGUgPT4ge1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5faW5Gb2N1cyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IHRoaXMuY29udGFjdC5pZDtcclxuICAgIHRoaXMuY29udGFjdC5jb3VudCAmJiB0aGlzLl9zZWVuKCk7XHJcbiAgfVxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UuYWN0aXZlID0gbnVsbDtcclxuICAgIHRoaXMuX2luRm9jdXMgPSBmYWxzZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VlbigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2Uuc2Vlbih0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5faW5wdXQuZm9jdXMoKTtcclxuICB9XHJcbiAgcHJldmlldyhpdGVtOiBDaGF0KSB7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgIH0pO1xyXG4gICAgb1JlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucHJldmlld1RlbXBsYXRlLCB0aGlzLl92YywgeyBpdGVtIH0pKTtcclxuICAgIG1lcmdlKG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFU0NBUEUpKSwgb1JlZi5iYWNrZHJvcENsaWNrKCkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3R5cGluZ1Rhc2spIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG5cclxuICAgIHRoaXMuX3ByZXNlcnZlRHJhZnQgJiYgdGhpcy5fcGVyc2lzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGVyc2lzdCgpIHtcclxuICAgIHRoaXMuX2lucHV0LnRleHQgJiYgdGhpcy5faW5wdXQudGV4dC5sZW5ndGggJiZcclxuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMucHJvZmlsZS5pZCwgdGhpcy5faW5wdXQudGV4dCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKHdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudClcIiBjbGFzcz1cImNoYXQtY29udmVyc2F0aW9uXCIgI2NvbnZlcnNhdGlvbj5cclxuICA8Yml6ZG9jLW5vbmUgKm5nSWY9XCIhaXRlbXMubGVuZ3RoXCIgdGl0bGU9XCJDaGF0XCIgaWNvbj1cImNoYXRcIj48L2JpemRvYy1ub25lPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtXCIgW2NsYXNzLnlvdV09XCJpdGVtLnVzZXJJZCE9PWNvbnRhY3QuaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYXQtdGV4dFwiIFtpbm5lckhUTUxdPVwiaXRlbS50ZXh0fHRhZ2dpbmdIdG1sOml0ZW0ucmVzb3VyY2VcIj48L2Rpdj5cclxuICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgKGNsaWNrKT1cInByZXZpZXcoaXRlbSlcIiAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pbmZvXCIgKm5nSWY9XCIoaT09PWl0ZW1zLmxlbmd0aCAtIDEpfHxpdGVtLnVzZXJJZCE9PWl0ZW1zW2krMV0udXNlcklkXCI+XHJcbiAgICAgICAgPHNtYWxsPlxyXG4gICAgICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJpdGVtLnVzZXJJZFwiIGNoYXRpbmc9XCJub25lXCI+XHJcbiAgICAgICAgICA8L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImNoYXQtdGltZVwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0udGltZSB8IGFtRGF0ZUZvcm1hdDogJ2xsbCdcIj57e2l0ZW0udGltZSB8IGFtQ2FsZW5kYXIgOiBudWxsIDogQ0FMRU5EQVJfU1BFQyB9fTwvc21hbGw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC13YXRlcm1hcmtcIiAqbmdJZj1cIndhdGVybWFyayAmJiAoKGk8aXRlbXMubGVuZ3RoIC0gMSAmJiBpdGVtc1tpKzFdLnRpbWU+d2F0ZXJtYXJrJiZpdGVtLnRpbWU8PXdhdGVybWFyayl8fChpPT09aXRlbXMubGVuZ3RoIC0gMSAmJml0ZW0udGltZTw9d2F0ZXJtYXJrKSlcIj5cclxuICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cIidXYXRjaGVkJyB8IHRyYW5zbGF0ZSA6ICh3YXRlcm1hcmsgfCBhbVRpbWVBZ28pXCI+ZG9uZV9hbGw8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY2hhdC10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIiBbaW5uZXJIVE1MXT1cIihwcm9maWxlPy5nZW5kZXIgPT09ICdNYWxlJyA/ICdUeXBpbmdNYWxlJyA6IHByb2ZpbGU/LmdlbmRlciA9PT0gJ0ZlbWFsZScgPyAnVHlwaW5nRmVtYWxlJyA6ICdUeXBpbmcnKSB8IHRyYW5zbGF0ZSA6IChwcm9maWxlPy5uaWNrIHx8IHByb2ZpbGU/Lm5hbWUpXCI+PC9kaXY+XHJcblxyXG48Yml6ZG9jLWVkaXQtdGV4dCAob2spPVwic2VuZCgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJvbkJsdXIoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIj48L2JpemRvYy1lZGl0LXRleHQ+XHJcbjxuZy10ZW1wbGF0ZSAjcHJldmlld1RlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIDxpbWcgW3NyY109XCInZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcraXRlbS5pbWFnZVwiIGFsdD1cIlwiIC8+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUEyRCxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFFekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFPakMsTUFBTSxPQUNFLHFCQUFxQjtJQXVCM0IsWUFDeUIsTUFBb0IsRUFDbkMsUUFBcUIsRUFDckIsVUFBc0IsRUFDdEIsVUFBNEIsRUFDNUIsU0FBeUIsRUFDekIsR0FBa0IsRUFDbEIsR0FBcUIsRUFDckIsUUFBaUI7UUFOakIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FB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bGVtZW50UmVmLCBWaWV3Q2hpbGQsIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIENoYXRTZXR0aW5ncyB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBDT05UQUNUX1RZUElOR19OT1RFID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNoYXQtY29udmVyc2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb252ZXJzYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICBwcm9maWxlOiBVc2VySW5mbztcclxuICBpdGVtczogQ2hhdFtdID0gW107XHJcbiAgdHlwaW5nID0gZmFsc2U7XHJcbiAgd2F0ZXJtYXJrOiBEYXRlO1xyXG4gIHNlbmRpbmcgPSBmYWxzZTtcclxuICB3b3JraW5nID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgQ0FMRU5EQVJfU1BFQzogQ2FsZW5kYXJTcGVjID0ge1xyXG4gICAgbGFzdERheTogYFske3RoaXMuX3RyYW5zbGF0ZS5nZXQoJ1llc3RlcmRheScpfV0gSEg6bW1gLFxyXG4gICAgbGFzdFdlZWs6ICdkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogJ0hIOm1tJyxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFZGl0SW5wdXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29udmVyc2F0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgY29udmVyc2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJldmlld1RlbXBsYXRlJykgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9wcmVzZXJ2ZURyYWZ0OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IF90ZXh0Q2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ID0gY29uZmlnLmNoYXRpbmcgJiYgKGNvbmZpZy5jaGF0aW5nIGFzIENoYXRTZXR0aW5ncykucHJlc2VydmVEcmFmdDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFR5cGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgQ09OVEFDVF9UWVBJTkdfTk9URSk7XHJcbiAgICAgICAgdGhpcy50eXBpbmcgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChlLm1vZGVsKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX2luRm9jdXMgJiYgdGhpcy5fc2VlbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0V2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RleHRDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoMzUwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fc2VydmljZS50eXBpbmcodGhpcy5jb250YWN0LmlkKSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvZmlsZSAmJlxyXG4gICAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ICYmIHRoaXMuX3BlcnNpc3QoKTtcclxuXHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUodSA9PiB7XHJcbiAgICAgIHRoaXMucHJvZmlsZSA9IHU7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIC8vIGxhdGVzdFxyXG4gICAgdGhpcy53YXRlcm1hcmsgPSB0aGlzLmNvbnRhY3QudmlzaXRlZCB8fCB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID8gKHRoaXMuY29udGFjdC52aXNpdGVkICYmIHRoaXMuY29udGFjdC53YXRlcm1hcmsgP1xyXG4gICAgICB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID4gdGhpcy5jb250YWN0LnZpc2l0ZWQgP1xyXG4gICAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgOiB0aGlzLmNvbnRhY3QudmlzaXRlZCA6XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgfHwgdGhpcy5jb250YWN0LnZpc2l0ZWQpIDogbnVsbDtcclxuICAgIC8vIGZldGNoXHJcbiAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoY3MgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gY3MucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAhdGhpcy5jb250YWN0LmNvdW50ICYmXHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfSwgKCkgPT5cclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgICBpZiAodGhpcy5fcHJlc2VydmVEcmFmdCkge1xyXG4gICAgICBjb25zdCB0ZXh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jb250YWN0LmlkKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuX2lucHV0LnRleHQgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuICB0cmFja0J5ID0gKF8sIGl0ZW06IENoYXQpID0+IGl0ZW0udGltZTtcclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvblNjcm9sbChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udmVyc2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsLnNjcm9sbFRvcCA8IDEwICYmICF0aGlzLl90b3AgJiYgIXRoaXMud29ya2luZykge1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkLCB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXNbMF0udGltZSA6IG51bGwpLnN1YnNjcmliZShpcyA9PiB7XHJcbiAgICAgICAgaWYgKGlzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMuaXRlbXMpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VuZChldnQ6IEVkaXRUZXh0RXZlbnQpIHtcclxuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlbmQodGhpcy5jb250YWN0LmlkLCBldnQpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgdGhpcy5pdGVtcy5wdXNoKGMpO1xyXG4gICAgICB0aGlzLl9pbnB1dC5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgIH0sIGUgPT4ge1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5faW5Gb2N1cyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IHRoaXMuY29udGFjdC5pZDtcclxuICAgIHRoaXMuY29udGFjdC5jb3VudCAmJiB0aGlzLl9zZWVuKCk7XHJcbiAgfVxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UuYWN0aXZlID0gbnVsbDtcclxuICAgIHRoaXMuX2luRm9jdXMgPSBmYWxzZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VlbigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2Uuc2Vlbih0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5faW5wdXQuZm9jdXMoKTtcclxuICB9XHJcbiAgcHJldmlldyhpdGVtOiBDaGF0KSB7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgIH0pO1xyXG4gICAgb1JlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucHJldmlld1RlbXBsYXRlLCB0aGlzLl92YywgeyBpdGVtIH0pKTtcclxuICAgIG1lcmdlKG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFU0NBUEUpKSwgb1JlZi5iYWNrZHJvcENsaWNrKCkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3R5cGluZ1Rhc2spIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG5cclxuICAgIHRoaXMuX3ByZXNlcnZlRHJhZnQgJiYgdGhpcy5fcGVyc2lzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGVyc2lzdCgpIHtcclxuICAgIHRoaXMuX2lucHV0LnRleHQgJiYgdGhpcy5faW5wdXQudGV4dC5sZW5ndGggJiZcclxuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuY29udGFjdC5pZCwgdGhpcy5faW5wdXQudGV4dCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKHdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudClcIiBjbGFzcz1cImNoYXQtY29udmVyc2F0aW9uXCIgI2NvbnZlcnNhdGlvbj5cclxuICA8Yml6ZG9jLW5vbmUgKm5nSWY9XCIhaXRlbXMubGVuZ3RoXCIgdGl0bGU9XCJDaGF0XCIgaWNvbj1cImNoYXRcIj48L2JpemRvYy1ub25lPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtXCIgW2NsYXNzLnlvdV09XCJpdGVtLnVzZXJJZCE9PWNvbnRhY3QuaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYXQtdGV4dFwiIFtpbm5lckhUTUxdPVwiaXRlbS50ZXh0fHRhZ2dpbmdIdG1sOml0ZW0ucmVzb3VyY2VcIj48L2Rpdj5cclxuICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgKGNsaWNrKT1cInByZXZpZXcoaXRlbSlcIiAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pbmZvXCIgKm5nSWY9XCIoaT09PWl0ZW1zLmxlbmd0aCAtIDEpfHxpdGVtLnVzZXJJZCE9PWl0ZW1zW2krMV0udXNlcklkXCI+XHJcbiAgICAgICAgPHNtYWxsPlxyXG4gICAgICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJpdGVtLnVzZXJJZFwiIGNoYXRpbmc9XCJub25lXCI+XHJcbiAgICAgICAgICA8L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImNoYXQtdGltZVwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0udGltZSB8IGFtRGF0ZUZvcm1hdDogJ2xsbCdcIj57e2l0ZW0udGltZSB8IGFtQ2FsZW5kYXIgOiBudWxsIDogQ0FMRU5EQVJfU1BFQyB9fTwvc21hbGw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC13YXRlcm1hcmtcIiAqbmdJZj1cIndhdGVybWFyayAmJiAoKGk8aXRlbXMubGVuZ3RoIC0gMSAmJiBpdGVtc1tpKzFdLnRpbWU+d2F0ZXJtYXJrJiZpdGVtLnRpbWU8PXdhdGVybWFyayl8fChpPT09aXRlbXMubGVuZ3RoIC0gMSAmJml0ZW0udGltZTw9d2F0ZXJtYXJrKSlcIj5cclxuICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cIidXYXRjaGVkJyB8IHRyYW5zbGF0ZSA6ICh3YXRlcm1hcmsgfCBhbVRpbWVBZ28pXCI+ZG9uZV9hbGw8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY2hhdC10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIiBbaW5uZXJIVE1MXT1cIihwcm9maWxlPy5nZW5kZXIgPT09ICdNYWxlJyA/ICdUeXBpbmdNYWxlJyA6IHByb2ZpbGU/LmdlbmRlciA9PT0gJ0ZlbWFsZScgPyAnVHlwaW5nRmVtYWxlJyA6ICdUeXBpbmcnKSB8IHRyYW5zbGF0ZSA6IChwcm9maWxlPy5uaWNrIHx8IHByb2ZpbGU/Lm5hbWUpXCI+PC9kaXY+XHJcblxyXG48Yml6ZG9jLWVkaXQtdGV4dCAob2spPVwic2VuZCgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJvbkJsdXIoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIj48L2JpemRvYy1lZGl0LXRleHQ+XHJcbjxuZy10ZW1wbGF0ZSAjcHJldmlld1RlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIDxpbWcgW3NyY109XCInZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcraXRlbS5pbWFnZVwiIGFsdD1cIlwiIC8+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -13,7 +13,16 @@ export class ConversationPaneComponent {
13
13
  pane.paramsChange.subscribe(p => {
14
14
  pane.group = translate.get('Chat');
15
15
  const id = p['id'];
16
- this.contact = session.profile.contacts.find(c => c.id === id) || {};
16
+ this.contact = session.profile.contacts.find(c => c.id === id);
17
+ if (!this.contact) {
18
+ this.contact = {
19
+ id,
20
+ accepted: false,
21
+ time: new Date().toJSON(),
22
+ count: 0
23
+ };
24
+ session.profile.contacts.push(this.contact);
25
+ }
17
26
  accounts.get(id).subscribe(u => pane.title = u.name);
18
27
  });
19
28
  chat.change.pipe(takeUntil(this._destroy)).
@@ -27,9 +36,9 @@ export class ConversationPaneComponent {
27
36
  this._destroy.complete();
28
37
  }
29
38
  }
30
- ConversationPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ConversationPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.AccountService }, { token: i4.ChatService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component });
31
- ConversationPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ConversationPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', isInline: true, styles: [":host{min-width:320px}\n"], components: [{ type: i6.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ConversationPaneComponent, decorators: [{
39
+ ConversationPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ConversationPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.AccountService }, { token: i4.ChatService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component });
40
+ ConversationPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ConversationPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', isInline: true, styles: [":host{min-width:320px}\n"], components: [{ type: i6.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }] });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ConversationPaneComponent, decorators: [{
33
42
  type: Component,
34
43
  args: [{
35
44
  template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>',
@@ -41,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
41
50
  }
42
51
  }]
43
52
  }], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.TranslateService }, { type: i3.AccountService }, { type: i4.ChatService }, { type: i5.SessionService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQWlCMUMsTUFBTSxPQUNFLHlCQUF5QjtJQUcvQixZQUNFLElBQWEsRUFDYixTQUEyQixFQUMzQixRQUF3QixFQUN4QixJQUFpQixFQUNqQixPQUF1QjtRQU5SLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTzlDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQVMsQ0FBQztZQUM1RSxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7c0hBekJLLHlCQUF5QjswR0FBekIseUJBQXlCLHNGQVRyQix5RUFBeUU7MkZBUzdFLHlCQUF5QjtrQkFWaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUVBQXlFO29CQUNuRixNQUFNLEVBQUUsQ0FBQzs7RUFFVCxDQUFDO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhdFNlcnZpY2UgfSBmcm9tICcuL2NoYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnPGJpemRvYy1jaGF0LWNvbnZlcnNhdGlvbiBbY29udGFjdF09Y29udGFjdD48L2JpemRvYy1jaGF0LWNvbnZlcnNhdGlvbj4nLFxyXG4gIHN0eWxlczogW2A6aG9zdHtcclxuICBtaW4td2lkdGg6IDMyMHB4O1xyXG59YF0sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ29udmVyc2F0aW9uUGFuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY29udGFjdDogQ29udGFjdDtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHBhbmU6IFBhbmVSZWYsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBhY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBjaGF0OiBDaGF0U2VydmljZSxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICBwYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIHBhbmUuZ3JvdXAgPSB0cmFuc2xhdGUuZ2V0KCdDaGF0Jyk7XHJcbiAgICAgIGNvbnN0IGlkID0gcFsnaWQnXTtcclxuICAgICAgdGhpcy5jb250YWN0ID0gc2Vzc2lvbi5wcm9maWxlLmNvbnRhY3RzLmZpbmQoYyA9PiBjLmlkID09PSBpZCkgfHwge30gYXMgYW55O1xyXG4gICAgICBhY2NvdW50cy5nZXQoaWQpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgcGFuZS50aXRsZSA9IHUubmFtZSk7XHJcbiAgICB9KTtcclxuICAgIGNoYXQuY2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgIGlmIChjLmlkID09PSB0aGlzLmNvbnRhY3QuaWQpXHJcbiAgICAgICAgICBwYW5lLmJhZGdlID0gYy5jb3VudDtcclxuICAgICAgfSlcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7OztBQWlCMUMsTUFBTSxPQUNFLHlCQUF5QjtJQUcvQixZQUNFLElBQWEsRUFDYixTQUEyQixFQUMzQixRQUF3QixFQUN4QixJQUFpQixFQUNqQixPQUF1QjtRQU5SLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTzlDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHO29CQUNiLEVBQUU7b0JBQ0YsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFTO29CQUNoQyxLQUFLLEVBQUUsQ0FBQztpQkFDRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0M7WUFDRCxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7c0hBbENLLHlCQUF5QjswR0FBekIseUJBQXlCLHNGQVRyQix5RUFBeUU7MkZBUzdFLHlCQUF5QjtrQkFWaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUVBQXlFO29CQUNuRixNQUFNLEVBQUUsQ0FBQzs7RUFFVCxDQUFDO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2hhdFNlcnZpY2UgfSBmcm9tICcuL2NoYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnPGJpemRvYy1jaGF0LWNvbnZlcnNhdGlvbiBbY29udGFjdF09Y29udGFjdD48L2JpemRvYy1jaGF0LWNvbnZlcnNhdGlvbj4nLFxyXG4gIHN0eWxlczogW2A6aG9zdHtcclxuICBtaW4td2lkdGg6IDMyMHB4O1xyXG59YF0sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ29udmVyc2F0aW9uUGFuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgY29udGFjdDogQ29udGFjdDtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHBhbmU6IFBhbmVSZWYsXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBhY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBjaGF0OiBDaGF0U2VydmljZSxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICBwYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIHBhbmUuZ3JvdXAgPSB0cmFuc2xhdGUuZ2V0KCdDaGF0Jyk7XHJcbiAgICAgIGNvbnN0IGlkID0gcFsnaWQnXTtcclxuICAgICAgdGhpcy5jb250YWN0ID0gc2Vzc2lvbi5wcm9maWxlLmNvbnRhY3RzLmZpbmQoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgIGlmICghdGhpcy5jb250YWN0KSB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0ID0ge1xyXG4gICAgICAgICAgaWQsXHJcbiAgICAgICAgICBhY2NlcHRlZDogZmFsc2UsXHJcbiAgICAgICAgICB0aW1lOiBuZXcgRGF0ZSgpLnRvSlNPTigpIGFzIGFueSxcclxuICAgICAgICAgIGNvdW50OiAwXHJcbiAgICAgICAgfSBhcyBDb250YWN0O1xyXG4gICAgICAgIHNlc3Npb24ucHJvZmlsZS5jb250YWN0cy5wdXNoKHRoaXMuY29udGFjdCk7XHJcbiAgICAgIH1cclxuICAgICAgYWNjb3VudHMuZ2V0KGlkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgIHBhbmUudGl0bGUgPSB1Lm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgICBjaGF0LmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZShjID0+IHtcclxuICAgICAgICBpZiAoYy5pZCA9PT0gdGhpcy5jb250YWN0LmlkKVxyXG4gICAgICAgICAgcGFuZS5iYWRnZSA9IGMuY291bnQ7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -68,9 +68,9 @@ export class ActionPicker extends ActionBase {
68
68
  });
69
69
  }
70
70
  }
71
- ActionPicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ActionPicker, deps: [{ token: DOCUMENT_MODEL }, { token: i1.SessionService }, { token: i2.MailboxService }, { token: i3.MatDialog }, { token: i4.AccountService }, { token: i5.TranslateService }, { token: i6.PromptService }], target: i0.ɵɵFactoryTarget.Component });
72
- ActionPicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ActionPicker, selector: "bizdoc-action-picker", inputs: { working: "working" }, outputs: { workingChange: "workingChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"actions.length\">\r\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\r\n <span>{{actions[0].title}}</span>\r\n </button>\r\n &nbsp;\r\n <ng-container [ngSwitch]=\"actions.length\">\r\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" *ngSwitchCase=\"2\" [disabled]=\"working\" (click)=\"send(actions[1])\">\r\n <span>{{actions[1].title}}</span>\r\n </button>\r\n <ng-container *ngSwitchDefault>\r\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of actions.slice(1); let i = index\">\r\n <mat-divider *ngIf=\"i > 1 && actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row}\n"], components: [{ type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i11.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i9.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i13.TranslatePipe } });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ActionPicker, decorators: [{
71
+ ActionPicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ActionPicker, deps: [{ token: DOCUMENT_MODEL }, { token: i1.SessionService }, { token: i2.MailboxService }, { token: i3.MatDialog }, { token: i4.AccountService }, { token: i5.TranslateService }, { token: i6.PromptService }], target: i0.ɵɵFactoryTarget.Component });
72
+ ActionPicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ActionPicker, selector: "bizdoc-action-picker", inputs: { working: "working" }, outputs: { workingChange: "workingChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"actions.length\">\r\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\r\n <span>{{actions[0].title}}</span>\r\n </button>\r\n &nbsp;\r\n <ng-container [ngSwitch]=\"actions.length\">\r\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" *ngSwitchCase=\"2\" [disabled]=\"working\" (click)=\"send(actions[1])\">\r\n <span>{{actions[1].title}}</span>\r\n </button>\r\n <ng-container *ngSwitchDefault>\r\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of actions.slice(1); let i = index\">\r\n <mat-divider *ngIf=\"i > 1 && actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row}\n"], components: [{ type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i11.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i11.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i9.MatMenuContent, selector: "ng-template[matMenuContent]" }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i13.TranslatePipe } });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ActionPicker, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'bizdoc-action-picker', template: "<ng-container *ngIf=\"actions.length\">\r\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\r\n <span>{{actions[0].title}}</span>\r\n </button>\r\n &nbsp;\r\n <ng-container [ngSwitch]=\"actions.length\">\r\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" *ngSwitchCase=\"2\" [disabled]=\"working\" (click)=\"send(actions[1])\">\r\n <span>{{actions[1].title}}</span>\r\n </button>\r\n <ng-container *ngSwitchDefault>\r\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\r\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\r\n </button>\r\n <!-- action -->\r\n <mat-menu #actionMenu>\r\n <ng-template matMenuContent>\r\n <ng-container *ngFor=\"let a of actions.slice(1); let i = index\">\r\n <mat-divider *ngIf=\"i > 1 && actions[i - 1].group !== a.group\"></mat-divider>\r\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\r\n </ng-container>\r\n </ng-template>\r\n </mat-menu>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row}\n"] }]
76
76
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -46,9 +46,9 @@ export class ActionDialog {
46
46
  this._destroy.complete();
47
47
  }
48
48
  }
49
- ActionDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ActionDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
50
- ActionDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ActionDialog, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content fxLayout=\"column\">\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <bizdoc-layout [fields]=\"action.arguments\"\r\n *ngIf=\"!action.template; else template\"\r\n [(model)]=\"arguments\"\r\n [(valid)]=\"valid\"></bizdoc-layout>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" [mat-dialog-close]=\"arguments\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button mat-dialog-close>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #template>\r\n <ngx-component-outlet [type]=\"comp\" [injector]=\"injector\" (create)=\"bind($event)\"></ngx-component-outlet>\r\n</ng-template>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type: i3.LayoutComponent, selector: "bizdoc-layout", inputs: ["fields", "model", "dirty", "params", "valid"], outputs: ["modelChange", "dirtyChange", "validChange"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i8.NgxComponentOutlet, selector: "ngx-component-outlet", inputs: ["type", "injector", "ngxComponentOutletContent"], outputs: ["create"] }], pipes: { "translate": i9.TranslatePipe } });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ActionDialog, decorators: [{
49
+ ActionDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ActionDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
50
+ ActionDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ActionDialog, selector: "ng-component", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content fxLayout=\"column\">\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <bizdoc-layout [fields]=\"action.arguments\"\r\n *ngIf=\"!action.template; else template\"\r\n [(model)]=\"arguments\"\r\n [(valid)]=\"valid\"></bizdoc-layout>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" [mat-dialog-close]=\"arguments\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button mat-dialog-close>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #template>\r\n <ngx-component-outlet [type]=\"comp\" [injector]=\"injector\" (create)=\"bind($event)\"></ngx-component-outlet>\r\n</ng-template>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type: i3.LayoutComponent, selector: "bizdoc-layout", inputs: ["fields", "model", "dirty", "params", "valid"], outputs: ["modelChange", "dirtyChange", "validChange"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i5.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i5.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i8.NgxComponentOutlet, selector: "ngx-component-outlet", inputs: ["type", "injector", "ngxComponentOutletContent"], outputs: ["create"] }], pipes: { "translate": i9.TranslatePipe } });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ActionDialog, decorators: [{
52
52
  type: Component,
53
53
  args: [{ template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content fxLayout=\"column\">\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <bizdoc-layout [fields]=\"action.arguments\"\r\n *ngIf=\"!action.template; else template\"\r\n [(model)]=\"arguments\"\r\n [(valid)]=\"valid\"></bizdoc-layout>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" [mat-dialog-close]=\"arguments\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button mat-dialog-close>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n<ng-template #template>\r\n <ngx-component-outlet [type]=\"comp\" [injector]=\"injector\" (create)=\"bind($event)\"></ngx-component-outlet>\r\n</ng-template>\r\n", styles: [":host ::ng-deep form{display:flex}\n"] }]
54
54
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -58,9 +58,9 @@ export class ActionPaneComponent extends ActionBase {
58
58
  this._destroy.complete();
59
59
  }
60
60
  }
61
- ActionPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i0.ComponentFactoryResolver }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.SessionService }], target: i0.ɵɵFactoryTarget.Component });
62
- ActionPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: ActionPaneComponent, selector: "bizdoc-action-dialog.pane", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i9.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i9.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": i11.TranslatePipe } });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ActionPaneComponent, decorators: [{
61
+ ActionPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i0.ComponentFactoryResolver }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.SessionService }], target: i0.ɵɵFactoryTarget.Component });
62
+ ActionPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ActionPaneComponent, selector: "bizdoc-action-dialog.pane", host: { classAttribute: "pane" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\r\n<mat-dialog-content>\r\n <p *ngIf=\"!action.arguments.length\">\r\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\r\n </p>\r\n <ng-container #container>\r\n </ng-container>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\r\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\r\n</mat-dialog-actions>\r\n", styles: [":host ::ng-deep form{display:flex}\n"], components: [{ type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i9.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i9.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }], pipes: { "translate": i11.TranslatePipe } });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ActionPaneComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'bizdoc-action-dialog.pane', host: {
66
66
  class: 'pane'