@bizdoc/core 2.6.1 → 2.7.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 (405) hide show
  1. package/assets/bizdoc-schema.json +41 -43
  2. package/assets/themes/brown.min.css +1 -1
  3. package/assets/themes/dark.min.css +1 -1
  4. package/assets/themes/deep-purple-light-blue.min.css +1 -34
  5. package/assets/themes/deep-purple-teal.min.css +1 -1
  6. package/assets/themes/default.min.css +1 -34
  7. package/assets/themes/green.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  10. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  12. package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
  13. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  14. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  15. package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  28. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  33. package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  35. package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  47. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  48. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  50. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  51. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  52. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  53. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  54. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  55. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  56. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  57. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  58. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  59. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  60. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  61. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
  62. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  63. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  64. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  65. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +3 -3
  66. package/esm2022/lib/admin/form/designer/design-control.component.mjs +3 -3
  67. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  68. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  69. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  70. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  71. package/esm2022/lib/admin/form/workflow/node.component.mjs +3 -3
  72. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +3 -3
  73. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  74. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  75. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  76. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  77. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  78. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  79. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  80. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  81. package/esm2022/lib/admin/system.service.mjs +3 -3
  82. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  83. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  84. package/esm2022/lib/app.component.mjs +6 -6
  85. package/esm2022/lib/bizdoc.module.mjs +4 -4
  86. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  87. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  88. package/esm2022/lib/browse/browse.pane.component.mjs +32 -18
  89. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  90. package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
  91. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  92. package/esm2022/lib/chat/chat-info.mjs +5 -5
  93. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  94. package/esm2022/lib/chat/chat.service.mjs +3 -3
  95. package/esm2022/lib/chat/contacts.component.mjs +6 -6
  96. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  97. package/esm2022/lib/chat/conversation.component.mjs +5 -5
  98. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -3
  99. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  100. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  101. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  102. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  103. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  104. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  105. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  106. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  107. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  108. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  109. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  110. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  111. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  112. package/esm2022/lib/compose/comments/comment.component.mjs +5 -5
  113. package/esm2022/lib/compose/comments/comments.component.mjs +5 -5
  114. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  115. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  116. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  117. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  118. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  119. package/esm2022/lib/compose/compose-resolve.service.mjs +3 -3
  120. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  121. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  122. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  123. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  124. package/esm2022/lib/compose/document-resolve.service.mjs +3 -3
  125. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  126. package/esm2022/lib/compose/document.component.mjs +3 -3
  127. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  128. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  129. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  130. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  131. package/esm2022/lib/compose/form.component.mjs +5 -4
  132. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  133. package/esm2022/lib/compose/overlay.component.exp.mjs +3 -3
  134. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  135. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  136. package/esm2022/lib/compose/state.component.mjs +3 -3
  137. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  138. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  139. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  140. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  141. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  142. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  143. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  144. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  145. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  146. package/esm2022/lib/core/account.service.mjs +3 -3
  147. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  148. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  149. package/esm2022/lib/core/checkbox.mjs +3 -3
  150. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  151. package/esm2022/lib/core/configuration.mjs +1 -1
  152. package/esm2022/lib/core/datasource.service.mjs +3 -3
  153. package/esm2022/lib/core/document-factory.service.mjs +3 -3
  154. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  155. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  156. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  157. package/esm2022/lib/core/fields/axes-picker.designer.mjs +3 -3
  158. package/esm2022/lib/core/fields/axes-picker.field.mjs +3 -3
  159. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  160. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  161. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  162. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  163. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  166. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  167. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  168. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  169. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  170. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  171. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  172. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  173. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  174. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  175. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  176. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  177. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  178. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  179. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  180. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  181. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  183. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  184. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  185. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  186. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  187. package/esm2022/lib/core/fields/tags.field.mjs +3 -3
  188. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  189. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  190. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  191. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  192. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  193. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  194. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  195. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  196. package/esm2022/lib/core/guide/guide.service.mjs +5 -5
  197. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  198. package/esm2022/lib/core/http.interceptor.mjs +4 -7
  199. package/esm2022/lib/core/hub.service.mjs +5 -5
  200. package/esm2022/lib/core/identity/identity.component.mjs +5 -5
  201. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  202. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  203. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  204. package/esm2022/lib/core/info/map-info.mjs +3 -3
  205. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  206. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  207. package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
  208. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  209. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  210. package/esm2022/lib/core/inputs/file.input.mjs +184 -179
  211. package/esm2022/lib/core/inputs/select.input.mjs +3 -3
  212. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  213. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  214. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  215. package/esm2022/lib/core/layout.component.mjs +3 -3
  216. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  217. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  218. package/esm2022/lib/core/none.component.mjs +3 -3
  219. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  220. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  221. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  222. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  223. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  224. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  225. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  226. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  227. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  228. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  229. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  230. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  231. package/esm2022/lib/core/pipes/sort.pipe.mjs +9 -9
  232. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  233. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +3 -3
  234. package/esm2022/lib/core/pipes/to-now.pipe.mjs +3 -3
  235. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  236. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  237. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  238. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  239. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  240. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  241. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  242. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  243. package/esm2022/lib/core/prompt.service.mjs +3 -3
  244. package/esm2022/lib/core/router.mjs +6 -6
  245. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  246. package/esm2022/lib/core/session.service.mjs +10 -4
  247. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  248. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  249. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  250. package/esm2022/lib/core/sticky-toolbar.exp.mjs +3 -3
  251. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  252. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  253. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  254. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  255. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  256. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  257. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  258. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  259. package/esm2022/lib/core/translate.service.mjs +3 -3
  260. package/esm2022/lib/core/translations.mjs +7 -1
  261. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +6 -6
  262. package/esm2022/lib/core/window-title.service.mjs +3 -3
  263. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  264. package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
  265. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  266. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  267. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  268. package/esm2022/lib/cube/cube.service.mjs +3 -3
  269. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  270. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  271. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  272. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  273. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  274. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  275. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  276. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  277. package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
  278. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  279. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  280. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  281. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  282. package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
  283. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  284. package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
  285. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
  286. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +3 -3
  287. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  288. package/esm2022/lib/cube/view-base.mjs +3 -3
  289. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  290. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  291. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  292. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  293. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  294. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  295. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  296. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  297. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  298. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  299. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  300. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  301. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  302. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  303. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  304. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  305. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  306. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  307. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  308. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  309. package/esm2022/lib/designer.module.mjs +4 -4
  310. package/esm2022/lib/desktop.module.mjs +4 -4
  311. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  312. package/esm2022/lib/home/home-base.component.mjs +6 -6
  313. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  314. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  315. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  316. package/esm2022/lib/home/options/options.component.mjs +3 -3
  317. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  318. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  319. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  320. package/esm2022/lib/mobile.module.mjs +4 -4
  321. package/esm2022/lib/modules/chart.module.mjs +4 -4
  322. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  323. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  324. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  325. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  326. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  327. package/esm2022/lib/modules/grid.module.mjs +4 -4
  328. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  329. package/esm2022/lib/modules/material.module.mjs +4 -4
  330. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  331. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  332. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  333. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  334. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  335. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  336. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  337. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  338. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  339. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  340. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  341. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  342. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  343. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  344. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  345. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  346. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  347. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  348. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  349. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  350. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  351. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  352. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  353. package/esm2022/lib/options/options.component.mjs +3 -3
  354. package/esm2022/lib/options/options.service.mjs +3 -3
  355. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  356. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  357. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  358. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +3 -3
  359. package/esm2022/lib/reports/cube/performance-wind.component.mjs +3 -3
  360. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  361. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  362. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  363. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  364. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  365. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  366. package/esm2022/lib/reports/report-ref.mjs +17 -7
  367. package/esm2022/lib/reports/report-viewer.component.mjs +7 -7
  368. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  369. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  370. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  371. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  372. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  373. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  374. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  375. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  376. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  377. package/esm2022/lib/search/cube.component.mjs +3 -3
  378. package/esm2022/lib/search/document.component.mjs +3 -3
  379. package/esm2022/lib/search/guide.component.mjs +3 -3
  380. package/esm2022/lib/search/path.component.mjs +3 -3
  381. package/esm2022/lib/search/search.service.mjs +3 -3
  382. package/esm2022/lib/shared.module.mjs +4 -4
  383. package/esm2022/lib/system.module.mjs +4 -4
  384. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  385. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  386. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  387. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  388. package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
  389. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  390. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  391. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  392. package/esm2022/lib/views/timeline/timeline.component.mjs +3 -3
  393. package/esm2022/lib/views/view-item.component.mjs +3 -3
  394. package/esm2022/lib/views/views.component.mjs +3 -3
  395. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  396. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  397. package/fesm2022/bizdoc-core.mjs +1484 -1447
  398. package/fesm2022/bizdoc-core.mjs.map +1 -1
  399. package/lib/browse/browse.pane.component.d.ts +11 -1
  400. package/lib/core/configuration.d.ts +1 -1
  401. package/lib/core/inputs/file.input.d.ts +36 -30
  402. package/lib/core/session.service.d.ts +6 -0
  403. package/lib/core/translations.d.ts +6 -0
  404. package/lib/reports/report-ref.d.ts +14 -6
  405. package/package.json +20 -20
@@ -45,7 +45,7 @@ export class ConversationComponent {
45
45
  this._top = false;
46
46
  this._textChange = new Subject();
47
47
  this._destroy = new Subject();
48
- this._preserveDraft = config.chating && config.chating.preserveDraft;
48
+ this._preserveDraft = config.chat && config.chat.preserveDraft;
49
49
  }
50
50
  ngOnInit() {
51
51
  this._messaging.chatTyping$.pipe(takeUntil(this._destroy)).subscribe(e => {
@@ -172,10 +172,10 @@ export class ConversationComponent {
172
172
  this._input.text && this._input.text.length &&
173
173
  window.localStorage.setItem(this.contact.id, this._input.text);
174
174
  }
175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.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 }); }
176
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.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>\n @for (item of items; track item.time; let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId !== contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text | taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i === items.length - 1) || item.userId !== items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time <= watermark) || (i === items.length - 1 &&item.time <= watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\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>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n placeholder=\"TypeMessageHere\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"], dependencies: [{ kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: i9.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }, { kind: "component", type: i10.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i13.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i14.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }, { kind: "pipe", type: i16.TaggingPipe, name: "taggingHtml" }] }); }
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", 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 }); }
176
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", 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>\n @for (item of items; track item.time; let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId !== contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text | taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i === items.length - 1) || item.userId !== items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time <= watermark) || (i === items.length - 1 &&item.time <= watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\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>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n placeholder=\"TypeMessageHere\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"], dependencies: [{ kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: i9.EditInputComponent, selector: "bizdoc-edit-text", inputs: ["placeholder", "text", "image", "resource", "disabled", "autofocus", "cache"], outputs: ["change", "ok", "focus", "blur"] }, { kind: "component", type: i10.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i13.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i14.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }, { kind: "pipe", type: i16.TaggingPipe, name: "taggingHtml" }] }); }
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ConversationComponent, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ConversationComponent, decorators: [{
179
179
  type: Component,
180
180
  args: [{ selector: 'bizdoc-chat-conversation', template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\n @for (item of items; track item.time; let i = $index) {\n <div class=\"chat-item\" [class.you]=\"item.userId !== contact.id\">\n <div class=\"chat-text\" [innerHTML]=\"item.text | taggingHtml:item.resource\"></div>\n @if (item.image) {\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" (click)=\"preview(item)\" />\n }\n @if ((i === items.length - 1) || item.userId !== items[i+1].userId) {\n <div class=\"chat-info\">\n <small>\n <bizdoc-identity-name [identity]=\"item.userId\" chating=\"none\">\n </bizdoc-identity-name>\n </small>\n <span class=\"divider\"></span>\n <small class=\"chat-time\" [bizdocTooltip]=\"item.time | amDateFormat: 'lll'\">{{item.time | amCalendar : null : CALENDAR_SPEC }}</small>\n </div>\n }\n </div>\n @if (watermark && ((i < items.length - 1 && items[i+1].time >\n watermark && item.time <= watermark) || (i === items.length - 1 &&item.time <= watermark))) {\n <div class=\"chat-watermark\">\n <mat-icon [bizdocTooltip]=\"'Watched' | translate : (watermark | amTimeAgo)\">done_all</mat-icon>\n </div>\n }\n }\n @empty {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n</div>\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>\n\n<bizdoc-edit-text (ok)=\"send($event)\" (focus)=\"onFocus()\"\n placeholder=\"TypeMessageHere\"\n(focusout)=\"onBlur()\" [disabled]=\"sending\" (change)=\"_textChange.next()\"></bizdoc-edit-text>\n<ng-template #previewTemplate let-item=\"item\">\n <img [src]=\"'data:image/png;base64,'+item.image\" alt=\"\" />\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;flex:1 auto;overflow-y:auto}.chat-conversation{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:0 4px}\n"] }]
181
181
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -193,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
193
193
  type: ViewChild,
194
194
  args: ['previewTemplate']
195
195
  }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBMkQsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRixNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBT3RELE1BQU0sT0FDRSxxQkFBcUI7SUF1QjNCLFlBQ3lCLE1BQW9CLEVBQ25DLFFBQXFCLEVBQ3JCLFVBQXNCLEVBQ3RCLFVBQTRCLEVBQzVCLFNBQXlCLEVBQ3pCLEdBQWtCLEVBQ2xCLEdBQXFCLEVBQ3JCLFFBQWlCO1FBTmpCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFl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QUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkRlc3Ryb3ksIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgQ2hhdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbmNvbnN0IFRZUElOR19OT1RJRlkgPSA1MDAsIENPTlRBQ1RfVFlQSU5HX05PVEUgPSAxNTAwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY2hhdC1jb252ZXJzYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnZlcnNhdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbnZlcnNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250YWN0OiBDb250YWN0O1xyXG4gIHByb2ZpbGU6IFVzZXJJbmZvO1xyXG4gIGl0ZW1zOiBDaGF0W10gPSBbXTtcclxuICB0eXBpbmcgPSBmYWxzZTtcclxuICB3YXRlcm1hcms6IERhdGU7XHJcbiAgc2VuZGluZyA9IGZhbHNlO1xyXG4gIHdvcmtpbmcgPSBmYWxzZTtcclxuICByZWFkb25seSBDQUxFTkRBUl9TUEVDOiBDYWxlbmRhclNwZWMgPSB7XHJcbiAgICBsYXN0RGF5OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZZXN0ZXJkYXlBdCcsICdISDptbScpLFxyXG4gICAgbGFzdFdlZWs6ICdkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogJ0hIOm1tJyxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFZGl0SW5wdXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29udmVyc2F0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgY29udmVyc2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJldmlld1RlbXBsYXRlJykgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9wcmVzZXJ2ZURyYWZ0OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IF90ZXh0Q2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ID0gY29uZmlnLmNoYXRpbmcgJiYgKGNvbmZpZy5jaGF0aW5nIGFzIENoYXRTZXR0aW5ncykucHJlc2VydmVEcmFmdDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFR5cGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgQ09OVEFDVF9UWVBJTkdfTk9URSk7XHJcbiAgICAgICAgdGhpcy50eXBpbmcgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChlLm1vZGVsKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX2luRm9jdXMgJiYgdGhpcy5fc2VlbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0V2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RleHRDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoVFlQSU5HX05PVElGWSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UudHlwaW5nKHRoaXMuY29udGFjdC5pZCkpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb2ZpbGUgJiZcclxuICAgICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcblxyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0KHRoaXMuY29udGFjdC5pZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogdSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlID0gdTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gICAgLy8gbGF0ZXN0XHJcbiAgICB0aGlzLndhdGVybWFyayA9IHRoaXMuY29udGFjdC52aXNpdGVkIHx8IHRoaXMuY29udGFjdC53YXRlcm1hcmsgPyAodGhpcy5jb250YWN0LnZpc2l0ZWQgJiYgdGhpcy5jb250YWN0LndhdGVybWFyayA/XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgPiB0aGlzLmNvbnRhY3QudmlzaXRlZCA/XHJcbiAgICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayA6IHRoaXMuY29udGFjdC52aXNpdGVkIDpcclxuICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayB8fCB0aGlzLmNvbnRhY3QudmlzaXRlZCkgOiBudWxsO1xyXG4gICAgLy8gZmV0Y2hcclxuICAgIHRoaXMuX3NlcnZpY2UuY29udmVyc2F0aW9ucyh0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGMgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBjLnJldmVyc2UoKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgICF0aGlzLmNvbnRhY3QuY291bnQgJiZcclxuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5fcHJlc2VydmVEcmFmdCkge1xyXG4gICAgICBjb25zdCB0ZXh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jb250YWN0LmlkKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuX2lucHV0LnRleHQgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvblNjcm9sbChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udmVyc2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsLnNjcm9sbFRvcCA8IDEwICYmICF0aGlzLl90b3AgJiYgIXRoaXMud29ya2luZykge1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkLCB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXNbMF0udGltZSA6IG51bGwpLnN1YnNjcmliZShpcyA9PiB7XHJcbiAgICAgICAgaWYgKGlzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMuaXRlbXMpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VuZChldnQ6IEVkaXRUZXh0RXZlbnQpIHtcclxuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlbmQodGhpcy5jb250YWN0LmlkLCBldnQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGMgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChjKTtcclxuICAgICAgICB0aGlzLl9pbnB1dC5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpIHtcclxuICAgIHRoaXMuX2luRm9jdXMgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5hY3RpdmUgPSB0aGlzLmNvbnRhY3QuaWQ7XHJcbiAgICB0aGlzLmNvbnRhY3QuY291bnQgJiYgdGhpcy5fc2VlbigpO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IG51bGw7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gZmFsc2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlZW4oKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlZW4odGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIHRoaXMud2F0ZXJtYXJrID0gZS50aW1lO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XHJcbiAgfVxyXG4gIHByZXZpZXcoaXRlbTogQ2hhdCkge1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICB9KTtcclxuICAgIG9SZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnByZXZpZXdUZW1wbGF0ZSwgdGhpcy5fdmMsIHsgaXRlbSB9KSk7XHJcbiAgICBtZXJnZShvUmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihrID0+IGsua2V5ID09PSAnRXNjYXBlJykpLCBvUmVmLmJhY2tkcm9wQ2xpY2soKSkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGV0YWNoKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdHlwaW5nVGFzaykgY2xlYXJUaW1lb3V0KHRoaXMuX3R5cGluZ1Rhc2spO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcblxyXG4gICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wZXJzaXN0KCkge1xyXG4gICAgdGhpcy5faW5wdXQudGV4dCAmJiB0aGlzLl9pbnB1dC50ZXh0Lmxlbmd0aCAmJlxyXG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5jb250YWN0LmlkLCB0aGlzLl9pbnB1dC50ZXh0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAod2hlZWwpPVwib25TY3JvbGwoJGV2ZW50KVwiIGNsYXNzPVwiY2hhdC1jb252ZXJzYXRpb25cIiAjY29udmVyc2F0aW9uPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLnRpbWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGRpdiBjbGFzcz1cImNoYXQtaXRlbVwiIFtjbGFzcy55b3VdPVwiaXRlbS51c2VySWQgIT09IGNvbnRhY3QuaWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LXRleHRcIiBbaW5uZXJIVE1MXT1cIml0ZW0udGV4dCB8IHRhZ2dpbmdIdG1sOml0ZW0ucmVzb3VyY2VcIj48L2Rpdj5cbiAgICAgIEBpZiAoaXRlbS5pbWFnZSkge1xuICAgICAgICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAoY2xpY2spPVwicHJldmlldyhpdGVtKVwiIC8+XG4gICAgICB9XG4gICAgICBAaWYgKChpID09PSBpdGVtcy5sZW5ndGggLSAxKSB8fCBpdGVtLnVzZXJJZCAhPT0gaXRlbXNbaSsxXS51c2VySWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtaW5mb1wiPlxuICAgICAgICAgIDxzbWFsbD5cbiAgICAgICAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSBbaWRlbnRpdHldPVwiaXRlbS51c2VySWRcIiBjaGF0aW5nPVwibm9uZVwiPlxuICAgICAgICAgICAgPC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cbiAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJjaGF0LXRpbWVcIiBbYml6ZG9jVG9vbHRpcF09XCJpdGVtLnRpbWUgfCBhbURhdGVGb3JtYXQ6ICdsbGwnXCI+e3tpdGVtLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHdhdGVybWFyayAmJiAoKGkgPCBpdGVtcy5sZW5ndGggLSAxICYmIGl0ZW1zW2krMV0udGltZSA+XG4gIHdhdGVybWFyayAmJiBpdGVtLnRpbWUgPD0gd2F0ZXJtYXJrKSB8fCAoaSA9PT0gaXRlbXMubGVuZ3RoIC0gMSAmJml0ZW0udGltZSA8PSB3YXRlcm1hcmspKSkge1xuICA8ZGl2IGNsYXNzPVwiY2hhdC13YXRlcm1hcmtcIj5cbiAgICA8bWF0LWljb24gW2JpemRvY1Rvb2x0aXBdPVwiJ1dhdGNoZWQnIHwgdHJhbnNsYXRlIDogKHdhdGVybWFyayB8IGFtVGltZUFnbylcIj5kb25lX2FsbDwvbWF0LWljb24+XG4gIDwvZGl2PlxuICB9XG4gIH1cbiAgQGVtcHR5IHtcbiAgPGJpemRvYy1ub25lIHRpdGxlPVwiQ2hhdFwiIGljb249XCJjaGF0XCI+PC9iaXpkb2Mtbm9uZT5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY2hhdC10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIiBbaW5uZXJIVE1MXT1cIihwcm9maWxlPy5nZW5kZXIgPT09ICdNYWxlJyA/ICdUeXBpbmdNYWxlJyA6IHByb2ZpbGU/LmdlbmRlciA9PT0gJ0ZlbWFsZScgPyAnVHlwaW5nRmVtYWxlJyA6ICdUeXBpbmcnKSB8IHRyYW5zbGF0ZSA6IChwcm9maWxlPy5uaWNrIHx8IHByb2ZpbGU/Lm5hbWUpXCI+PC9kaXY+XG5cbjxiaXpkb2MtZWRpdC10ZXh0IChvayk9XCJzZW5kKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZU1lc3NhZ2VIZXJlXCJcbihmb2N1c291dCk9XCJvbkJsdXIoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIj48L2JpemRvYy1lZGl0LXRleHQ+XG48bmctdGVtcGxhdGUgI3ByZXZpZXdUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPGltZyBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQXFCLEtBQUssRUFBMkQsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRixNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBT3RELE1BQU0sT0FDRSxxQkFBcUI7SUF1QjNCLFlBQ3lCLE1BQW9CLEVBQ25DLFFBQXFCLEVBQ3JCLFVBQXNCLEVBQ3RCLFVBQTRCLEVBQzVCLFNBQXlCLEVBQ3pCLEdBQWtCLEVBQ2xCLEdBQXFCLEVBQ3JCLFFBQWlCO1FBTmpCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFl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QUE1QyxTQUFTO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkRlc3Ryb3ksIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgQ2hhdFNldHRpbmdzIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbmNvbnN0IFRZUElOR19OT1RJRlkgPSA1MDAsIENPTlRBQ1RfVFlQSU5HX05PVEUgPSAxNTAwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY2hhdC1jb252ZXJzYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb252ZXJzYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnZlcnNhdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbnZlcnNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250YWN0OiBDb250YWN0O1xyXG4gIHByb2ZpbGU6IFVzZXJJbmZvO1xyXG4gIGl0ZW1zOiBDaGF0W10gPSBbXTtcclxuICB0eXBpbmcgPSBmYWxzZTtcclxuICB3YXRlcm1hcms6IERhdGU7XHJcbiAgc2VuZGluZyA9IGZhbHNlO1xyXG4gIHdvcmtpbmcgPSBmYWxzZTtcclxuICByZWFkb25seSBDQUxFTkRBUl9TUEVDOiBDYWxlbmRhclNwZWMgPSB7XHJcbiAgICBsYXN0RGF5OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZZXN0ZXJkYXlBdCcsICdISDptbScpLFxyXG4gICAgbGFzdFdlZWs6ICdkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogJ0hIOm1tJyxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFZGl0SW5wdXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29udmVyc2F0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgY29udmVyc2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJldmlld1RlbXBsYXRlJykgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9wcmVzZXJ2ZURyYWZ0OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IF90ZXh0Q2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ID0gY29uZmlnLmNoYXQgJiYgKGNvbmZpZy5jaGF0IGFzIENoYXRTZXR0aW5ncykucHJlc2VydmVEcmFmdDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFR5cGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgQ09OVEFDVF9UWVBJTkdfTk9URSk7XHJcbiAgICAgICAgdGhpcy50eXBpbmcgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChlLm1vZGVsKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX2luRm9jdXMgJiYgdGhpcy5fc2VlbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0V2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RleHRDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoVFlQSU5HX05PVElGWSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UudHlwaW5nKHRoaXMuY29udGFjdC5pZCkpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb2ZpbGUgJiZcclxuICAgICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcblxyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0KHRoaXMuY29udGFjdC5pZCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogdSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlID0gdTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gICAgLy8gbGF0ZXN0XHJcbiAgICB0aGlzLndhdGVybWFyayA9IHRoaXMuY29udGFjdC52aXNpdGVkIHx8IHRoaXMuY29udGFjdC53YXRlcm1hcmsgPyAodGhpcy5jb250YWN0LnZpc2l0ZWQgJiYgdGhpcy5jb250YWN0LndhdGVybWFyayA/XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgPiB0aGlzLmNvbnRhY3QudmlzaXRlZCA/XHJcbiAgICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayA6IHRoaXMuY29udGFjdC52aXNpdGVkIDpcclxuICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayB8fCB0aGlzLmNvbnRhY3QudmlzaXRlZCkgOiBudWxsO1xyXG4gICAgLy8gZmV0Y2hcclxuICAgIHRoaXMuX3NlcnZpY2UuY29udmVyc2F0aW9ucyh0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGMgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBjLnJldmVyc2UoKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgICF0aGlzLmNvbnRhY3QuY291bnQgJiZcclxuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5fcHJlc2VydmVEcmFmdCkge1xyXG4gICAgICBjb25zdCB0ZXh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jb250YWN0LmlkKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuX2lucHV0LnRleHQgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvblNjcm9sbChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udmVyc2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsLnNjcm9sbFRvcCA8IDEwICYmICF0aGlzLl90b3AgJiYgIXRoaXMud29ya2luZykge1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkLCB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXNbMF0udGltZSA6IG51bGwpLnN1YnNjcmliZShpcyA9PiB7XHJcbiAgICAgICAgaWYgKGlzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMuaXRlbXMpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VuZChldnQ6IEVkaXRUZXh0RXZlbnQpIHtcclxuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlbmQodGhpcy5jb250YWN0LmlkLCBldnQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IGMgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChjKTtcclxuICAgICAgICB0aGlzLl9pbnB1dC5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sIGVycm9yOiBlID0+IHtcclxuICAgICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpIHtcclxuICAgIHRoaXMuX2luRm9jdXMgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5hY3RpdmUgPSB0aGlzLmNvbnRhY3QuaWQ7XHJcbiAgICB0aGlzLmNvbnRhY3QuY291bnQgJiYgdGhpcy5fc2VlbigpO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IG51bGw7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gZmFsc2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlZW4oKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlZW4odGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIHRoaXMud2F0ZXJtYXJrID0gZS50aW1lO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XHJcbiAgfVxyXG4gIHByZXZpZXcoaXRlbTogQ2hhdCkge1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICB9KTtcclxuICAgIG9SZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnByZXZpZXdUZW1wbGF0ZSwgdGhpcy5fdmMsIHsgaXRlbSB9KSk7XHJcbiAgICBtZXJnZShvUmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihrID0+IGsua2V5ID09PSAnRXNjYXBlJykpLCBvUmVmLmJhY2tkcm9wQ2xpY2soKSkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGV0YWNoKCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdHlwaW5nVGFzaykgY2xlYXJUaW1lb3V0KHRoaXMuX3R5cGluZ1Rhc2spO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcblxyXG4gICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wZXJzaXN0KCkge1xyXG4gICAgdGhpcy5faW5wdXQudGV4dCAmJiB0aGlzLl9pbnB1dC50ZXh0Lmxlbmd0aCAmJlxyXG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5jb250YWN0LmlkLCB0aGlzLl9pbnB1dC50ZXh0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAod2hlZWwpPVwib25TY3JvbGwoJGV2ZW50KVwiIGNsYXNzPVwiY2hhdC1jb252ZXJzYXRpb25cIiAjY29udmVyc2F0aW9uPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLnRpbWU7IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGRpdiBjbGFzcz1cImNoYXQtaXRlbVwiIFtjbGFzcy55b3VdPVwiaXRlbS51c2VySWQgIT09IGNvbnRhY3QuaWRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LXRleHRcIiBbaW5uZXJIVE1MXT1cIml0ZW0udGV4dCB8IHRhZ2dpbmdIdG1sOml0ZW0ucmVzb3VyY2VcIj48L2Rpdj5cbiAgICAgIEBpZiAoaXRlbS5pbWFnZSkge1xuICAgICAgICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAoY2xpY2spPVwicHJldmlldyhpdGVtKVwiIC8+XG4gICAgICB9XG4gICAgICBAaWYgKChpID09PSBpdGVtcy5sZW5ndGggLSAxKSB8fCBpdGVtLnVzZXJJZCAhPT0gaXRlbXNbaSsxXS51c2VySWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNoYXQtaW5mb1wiPlxuICAgICAgICAgIDxzbWFsbD5cbiAgICAgICAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSBbaWRlbnRpdHldPVwiaXRlbS51c2VySWRcIiBjaGF0aW5nPVwibm9uZVwiPlxuICAgICAgICAgICAgPC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cbiAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICA8c21hbGwgY2xhc3M9XCJjaGF0LXRpbWVcIiBbYml6ZG9jVG9vbHRpcF09XCJpdGVtLnRpbWUgfCBhbURhdGVGb3JtYXQ6ICdsbGwnXCI+e3tpdGVtLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NtYWxsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHdhdGVybWFyayAmJiAoKGkgPCBpdGVtcy5sZW5ndGggLSAxICYmIGl0ZW1zW2krMV0udGltZSA+XG4gIHdhdGVybWFyayAmJiBpdGVtLnRpbWUgPD0gd2F0ZXJtYXJrKSB8fCAoaSA9PT0gaXRlbXMubGVuZ3RoIC0gMSAmJml0ZW0udGltZSA8PSB3YXRlcm1hcmspKSkge1xuICA8ZGl2IGNsYXNzPVwiY2hhdC13YXRlcm1hcmtcIj5cbiAgICA8bWF0LWljb24gW2JpemRvY1Rvb2x0aXBdPVwiJ1dhdGNoZWQnIHwgdHJhbnNsYXRlIDogKHdhdGVybWFyayB8IGFtVGltZUFnbylcIj5kb25lX2FsbDwvbWF0LWljb24+XG4gIDwvZGl2PlxuICB9XG4gIH1cbiAgQGVtcHR5IHtcbiAgPGJpemRvYy1ub25lIHRpdGxlPVwiQ2hhdFwiIGljb249XCJjaGF0XCI+PC9iaXpkb2Mtbm9uZT5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiY2hhdC10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIiBbaW5uZXJIVE1MXT1cIihwcm9maWxlPy5nZW5kZXIgPT09ICdNYWxlJyA/ICdUeXBpbmdNYWxlJyA6IHByb2ZpbGU/LmdlbmRlciA9PT0gJ0ZlbWFsZScgPyAnVHlwaW5nRmVtYWxlJyA6ICdUeXBpbmcnKSB8IHRyYW5zbGF0ZSA6IChwcm9maWxlPy5uaWNrIHx8IHByb2ZpbGU/Lm5hbWUpXCI+PC9kaXY+XG5cbjxiaXpkb2MtZWRpdC10ZXh0IChvayk9XCJzZW5kKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZU1lc3NhZ2VIZXJlXCJcbihmb2N1c291dCk9XCJvbkJsdXIoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIj48L2JpemRvYy1lZGl0LXRleHQ+XG48bmctdGVtcGxhdGUgI3ByZXZpZXdUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPGltZyBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -36,10 +36,10 @@ export class ConversationPaneComponent {
36
36
  this._destroy.next();
37
37
  this._destroy.complete();
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.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
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ConversationPaneComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', isInline: true, styles: [":host{display:flex;height:100%;min-width:320px}\n"], dependencies: [{ kind: "component", type: i6.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }] }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", 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
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: ConversationPaneComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', isInline: true, styles: [":host{display:flex;height:100%;min-width:320px}\n"], dependencies: [{ kind: "component", type: i6.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }] }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ConversationPaneComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ConversationPaneComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ template: '<bizdoc-chat-conversation [contact]=contact></bizdoc-chat-conversation>', styles: [":host{display:flex;height:100%;min-width:320px}\n"] }]
45
45
  }], ctorParameters: () => [{ type: i1.PaneRef }, { type: i2.TranslateService }, { type: i3.AccountService }, { type: i4.ChatService }, { type: i5.SessionService }] });
@@ -68,10 +68,10 @@ export class ActionPicker extends ActionBase {
68
68
  }
69
69
  });
70
70
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.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
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ActionPicker, selector: "bizdoc-action-picker", inputs: { working: "working" }, outputs: { workingChange: "workingChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (actions.length) {\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\n <span>{{actions[0].title}}</span>\n </button>\n &nbsp;\n @switch (actions.length) {\n @case (2) {\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" [disabled]=\"working\" (click)=\"send(actions[1])\">\n <span>{{actions[1].title}}</span>\n </button>\n }\n @default {\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <!-- action -->\n <mat-menu #actionMenu>\n <ng-template matMenuContent>\n @for (a of actions.slice(1); track a; let i = $index) {\n @if (i > 1 && actions[i - 1].group !== a.group) {\n <mat-divider></mat-divider>\n }\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\n }\n </ng-template>\n </mat-menu>\n }\n }\n}\n", styles: [":host{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", 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
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ActionPicker, selector: "bizdoc-action-picker", inputs: { working: "working" }, outputs: { workingChange: "workingChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (actions.length) {\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\n <span>{{actions[0].title}}</span>\n </button>\n &nbsp;\n @switch (actions.length) {\n @case (2) {\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" [disabled]=\"working\" (click)=\"send(actions[1])\">\n <span>{{actions[1].title}}</span>\n </button>\n }\n @default {\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <!-- action -->\n <mat-menu #actionMenu>\n <ng-template matMenuContent>\n @for (a of actions.slice(1); track a; let i = $index) {\n @if (i > 1 && actions[i - 1].group !== a.group) {\n <mat-divider></mat-divider>\n }\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\n }\n </ng-template>\n </mat-menu>\n }\n }\n}\n", styles: [":host{display:flex;flex-direction:row}\n"], dependencies: [{ kind: "component", type: i7.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ActionPicker, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ActionPicker, decorators: [{
75
75
  type: Component,
76
76
  args: [{ selector: 'bizdoc-action-picker', template: "@if (actions.length) {\n <button mat-raised-button color=\"primary\" [attr.data-help]=\"'action-'+actions[0].name\" (click)=\"send(actions[0])\" [disabled]=\"working\">\n <span>{{actions[0].title}}</span>\n </button>\n &nbsp;\n @switch (actions.length) {\n @case (2) {\n <button mat-stroked-button [attr.data-help]=\"'action-'+actions[1].name\" [disabled]=\"working\" (click)=\"send(actions[1])\">\n <span>{{actions[1].title}}</span>\n </button>\n }\n @default {\n <button mat-stroked-button data-help=\"send\" [matMenuTriggerFor]=\"actionMenu\" [disabled]=\"working\" [bizdocTooltip]=\"'Send' | translate\">\n <span>{{'Actions' | translate}}</span> <mat-icon>arrow_drop_down</mat-icon>\n </button>\n <!-- action -->\n <mat-menu #actionMenu>\n <ng-template matMenuContent>\n @for (a of actions.slice(1); track a; let i = $index) {\n @if (i > 1 && actions[i - 1].group !== a.group) {\n <mat-divider></mat-divider>\n }\n <button mat-menu-item (click)=\"send(a)\">{{a.title}}</button>\n }\n </ng-template>\n </mat-menu>\n }\n }\n}\n", styles: [":host{display:flex;flex-direction:row}\n"] }]
77
77
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -46,10 +46,10 @@ export class ActionDialog {
46
46
  this._destroy.next();
47
47
  this._destroy.complete();
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ActionDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.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>\n<mat-dialog-content class=\"column\">\n @if (!action.arguments.length) {\n <p>\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\n </p>\n }\n @if (!action.template) {\n <bizdoc-layout [fields]=\"action.arguments\"\n [(model)]=\"arguments\"\n [(valid)]=\"valid\"></bizdoc-layout>\n } @else {\n <ng-container [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-container>\n }\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!valid\" [mat-dialog-close]=\"arguments\" color=\"primary\">{{'OK'|translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n<ng-template #template>\n <ng-container [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-container>\n</ng-template>\n", styles: [":host ::ng-deep form{display:flex}\n"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.LayoutComponent, selector: "bizdoc-layout", inputs: ["fields", "model", "dirty", "params", "valid"], outputs: ["modelChange", "dirtyChange", "validChange"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ActionDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", 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>\n<mat-dialog-content class=\"column\">\n @if (!action.arguments.length) {\n <p>\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\n </p>\n }\n @if (!action.template) {\n <bizdoc-layout [fields]=\"action.arguments\"\n [(model)]=\"arguments\"\n [(valid)]=\"valid\"></bizdoc-layout>\n } @else {\n <ng-container [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-container>\n }\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!valid\" [mat-dialog-close]=\"arguments\" color=\"primary\">{{'OK'|translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n<ng-template #template>\n <ng-container [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-container>\n</ng-template>\n", styles: [":host ::ng-deep form{display:flex}\n"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.LayoutComponent, selector: "bizdoc-layout", inputs: ["fields", "model", "dirty", "params", "valid"], outputs: ["modelChange", "dirtyChange", "validChange"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ActionDialog, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ActionDialog, decorators: [{
53
53
  type: Component,
54
54
  args: [{ template: "<h2 mat-dialog-title>{{action.title}}</h2>\n<mat-dialog-content class=\"column\">\n @if (!action.arguments.length) {\n <p>\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\n </p>\n }\n @if (!action.template) {\n <bizdoc-layout [fields]=\"action.arguments\"\n [(model)]=\"arguments\"\n [(valid)]=\"valid\"></bizdoc-layout>\n } @else {\n <ng-container [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-container>\n }\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!valid\" [mat-dialog-close]=\"arguments\" color=\"primary\">{{'OK'|translate}}</button>\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\n</mat-dialog-actions>\n<ng-template #template>\n <ng-container [cdkPortalOutlet]=\"portal\" (attached)=\"attached($event)\"></ng-container>\n</ng-template>\n", styles: [":host ::ng-deep form{display:flex}\n"] }]
55
55
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -55,10 +55,10 @@ export class ActionPaneComponent extends ActionBase {
55
55
  this._destroy.next();
56
56
  this._destroy.complete();
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ActionPaneComponent, selector: "bizdoc-action-dialog-pane", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\n<mat-dialog-content>\n @if (!action.arguments.length) {\n <p>\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\n </p>\n }\n <ng-container #container>\n </ng-container>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\n</mat-dialog-actions>\n", styles: [":host ::ng-deep form{display:flex}\n"], dependencies: [{ kind: "directive", type: i8.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i8.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i8.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ActionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.MailboxService }, { token: i3.BizDocComponentFactoryResolver }, { token: i4.AccountService }, { token: i5.PromptService }, { token: i6.TranslateService }, { token: i7.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ActionPaneComponent, selector: "bizdoc-action-dialog-pane", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 mat-dialog-title>{{action.title}}</h2>\n<mat-dialog-content>\n @if (!action.arguments.length) {\n <p>\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\n </p>\n }\n <ng-container #container>\n </ng-container>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\n</mat-dialog-actions>\n", styles: [":host ::ng-deep form{display:flex}\n"], dependencies: [{ kind: "directive", type: i8.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i8.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i8.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ActionPaneComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ActionPaneComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'bizdoc-action-dialog-pane', template: "<h2 mat-dialog-title>{{action.title}}</h2>\n<mat-dialog-content>\n @if (!action.arguments.length) {\n <p>\n {{ 'ActionAsk' | translate : (action.verb || action.title).toLowerCase() }}\n </p>\n }\n <ng-container #container>\n </ng-container>\n</mat-dialog-content>\n<mat-dialog-actions>\n <button mat-button type=\"submit\" [disabled]=\"!valid\" (click)=\"ok()\" color=\"primary\">{{'Yes'|translate}}</button>\n <button mat-button (click)='close()'>{{'No' | translate}}</button>\n</mat-dialog-actions>\n", styles: [":host ::ng-deep form{display:flex}\n"] }]
64
64
  }], ctorParameters: () => [{ type: i1.PaneRef }, { type: i2.MailboxService }, { type: i3.BizDocComponentFactoryResolver }, { type: i4.AccountService }, { type: i5.PromptService }, { type: i6.TranslateService }, { type: i7.SessionService }], propDecorators: { container: [{
@@ -58,8 +58,8 @@ let AssignActionComponent = class AssignActionComponent {
58
58
  this._destroy.next();
59
59
  this._destroy.complete();
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AssignActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i3.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: AssignActionComponent, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <input required [placeholder]=\"'AssignTo'|translate\"\n [formControl]=userId\n cdkFocusInitial matInput\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected($event)\" [displayWith]=\"displayWith\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u\">\n {{u.name}}\n @if (u.email) {\n <span>&nbsp; - {{u.email}}</span>\n }\n </mat-option>\n }\n </mat-autocomplete>\n @if (form.controls.userIds.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('AssignTo'|translate)}}</mat-error>\n }\n </mat-form-field>\n <div>\n <mat-checkbox formControlName=fyi> {{ 'AssignFYI' | translate }}</mat-checkbox>\n &nbsp;\n <!-- <mat-checkbox formControlName=roundtrip> {{ 'AssignRoundtrip' | translate }}</mat-checkbox>-->\n </div>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\n </mat-form-field>\n </form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i9.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AssignActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i3.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AssignActionComponent, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <input required [placeholder]=\"'AssignTo'|translate\"\n [formControl]=userId\n cdkFocusInitial matInput\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected($event)\" [displayWith]=\"displayWith\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u\">\n {{u.name}}\n @if (u.email) {\n <span>&nbsp; - {{u.email}}</span>\n }\n </mat-option>\n }\n </mat-autocomplete>\n @if (form.controls.userIds.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('AssignTo'|translate)}}</mat-error>\n }\n </mat-form-field>\n <div>\n <mat-checkbox formControlName=fyi> {{ 'AssignFYI' | translate }}</mat-checkbox>\n &nbsp;\n <!-- <mat-checkbox formControlName=roundtrip> {{ 'AssignRoundtrip' | translate }}</mat-checkbox>-->\n </div>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\n </mat-form-field>\n </form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i9.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
63
63
  };
64
64
  AssignActionComponent = __decorate([
65
65
  BizDoc({
@@ -67,7 +67,7 @@ AssignActionComponent = __decorate([
67
67
  })
68
68
  ], AssignActionComponent);
69
69
  export { AssignActionComponent };
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AssignActionComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AssignActionComponent, decorators: [{
71
71
  type: Component,
72
72
  args: [{ template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <input required [placeholder]=\"'AssignTo'|translate\"\n [formControl]=userId\n cdkFocusInitial matInput\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected($event)\" [displayWith]=\"displayWith\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u\">\n {{u.name}}\n @if (u.email) {\n <span>&nbsp; - {{u.email}}</span>\n }\n </mat-option>\n }\n </mat-autocomplete>\n @if (form.controls.userIds.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('AssignTo'|translate)}}</mat-error>\n }\n </mat-form-field>\n <div>\n <mat-checkbox formControlName=fyi> {{ 'AssignFYI' | translate }}</mat-checkbox>\n &nbsp;\n <!-- <mat-checkbox formControlName=roundtrip> {{ 'AssignRoundtrip' | translate }}</mat-checkbox>-->\n </div>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\n </mat-form-field>\n </form>\n" }]
73
73
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.SessionService }, { type: i3.AccountService }], propDecorators: { nameInput: [{
@@ -71,8 +71,8 @@ let MoveToActionComponent = class MoveToActionComponent {
71
71
  this._destroy.next();
72
72
  this._destroy.complete();
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MoveToActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i3.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: MoveToActionComponent, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-chip-grid #chipList [attr.aria-label]=\"'AssignTo'|translate\">\n @for (u of form.value.userIds; track u) {\n <mat-chip-row\n [removable]=\"true\"\n (removed)=\"removed(u)\">\n {{u | userName | async }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n </mat-chip-grid>\n <input required [placeholder]=\"'AssignTo'|translate\"\n [formControl]=userIds\n cdkFocusInitial\n #nameInput\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected(nameInput, $event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u.id\">\n {{u.name}}\n @if (u.email) {\n <span>&nbsp; - {{u.email}}</span>\n }\n </mat-option>\n }\n </mat-autocomplete>\n @if (form.controls.userIds.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('AssignTo'|translate)}}</mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\n </mat-form-field>\n </form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i9.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.UserNamePipe, name: "userName" }] }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MoveToActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i3.AccountService }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: MoveToActionComponent, selector: "ng-component", viewQueries: [{ propertyName: "nameInput", first: true, predicate: ["nameInput"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-chip-grid #chipList [attr.aria-label]=\"'AssignTo'|translate\">\n @for (u of form.value.userIds; track u) {\n <mat-chip-row\n [removable]=\"true\"\n (removed)=\"removed(u)\">\n {{u | userName | async }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n </mat-chip-grid>\n <input required [placeholder]=\"'AssignTo'|translate\"\n [formControl]=userIds\n cdkFocusInitial\n #nameInput\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected(nameInput, $event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u.id\">\n {{u.name}}\n @if (u.email) {\n <span>&nbsp; - {{u.email}}</span>\n }\n </mat-option>\n }\n </mat-autocomplete>\n @if (form.controls.userIds.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('AssignTo'|translate)}}</mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\n </mat-form-field>\n </form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i9.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.UserNamePipe, name: "userName" }] }); }
76
76
  };
77
77
  MoveToActionComponent = __decorate([
78
78
  BizDoc({
@@ -80,7 +80,7 @@ MoveToActionComponent = __decorate([
80
80
  })
81
81
  ], MoveToActionComponent);
82
82
  export { MoveToActionComponent };
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: MoveToActionComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: MoveToActionComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-chip-grid #chipList [attr.aria-label]=\"'AssignTo'|translate\">\n @for (u of form.value.userIds; track u) {\n <mat-chip-row\n [removable]=\"true\"\n (removed)=\"removed(u)\">\n {{u | userName | async }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n </mat-chip-grid>\n <input required [placeholder]=\"'AssignTo'|translate\"\n [formControl]=userIds\n cdkFocusInitial\n #nameInput\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipList\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"userSelected(nameInput, $event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u.id\">\n {{u.name}}\n @if (u.email) {\n <span>&nbsp; - {{u.email}}</span>\n }\n </mat-option>\n }\n </mat-autocomplete>\n @if (form.controls.userIds.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('AssignTo'|translate)}}</mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n <mat-hint>{{'AssignNoteHint'| translate}}</mat-hint>\n </mat-form-field>\n </form>\n" }]
86
86
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.SessionService }, { type: i3.AccountService }], propDecorators: { nameInput: [{
@@ -35,8 +35,8 @@ let ReturnActionComponent = class ReturnActionComponent {
35
35
  this.form.updateValueAndValidity();
36
36
  }
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ReturnActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ActionRef }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ReturnActionComponent, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-select formControlName=\"recipientId\" cdkFocusInitial [placeholder]=\"'User'|translate\" required>\n @for (r of recipients; track r) {\n <mat-option [value]=\"r.id\">{{r.userId | userName | async }}</mat-option>\n }\n </mat-select>\n @if (form.controls.recipientId.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('User'|translate)}}</mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i8.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.UserNamePipe, name: "userName" }] }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ReturnActionComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ActionRef }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: ReturnActionComponent, selector: "ng-component", ngImport: i0, template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-select formControlName=\"recipientId\" cdkFocusInitial [placeholder]=\"'User'|translate\" required>\n @for (r of recipients; track r) {\n <mat-option [value]=\"r.id\">{{r.userId | userName | async }}</mat-option>\n }\n </mat-select>\n @if (form.controls.recipientId.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('User'|translate)}}</mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i8.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }, { kind: "pipe", type: i11.UserNamePipe, name: "userName" }] }); }
40
40
  };
41
41
  ReturnActionComponent = __decorate([
42
42
  BizDoc({
@@ -44,7 +44,7 @@ ReturnActionComponent = __decorate([
44
44
  })
45
45
  ], ReturnActionComponent);
46
46
  export { ReturnActionComponent };
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ReturnActionComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ReturnActionComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ template: "<form autocomplete=\"off\" class=\"column\" [formGroup]=\"form\">\n <mat-form-field>\n <mat-select formControlName=\"recipientId\" cdkFocusInitial [placeholder]=\"'User'|translate\" required>\n @for (r of recipients; track r) {\n <mat-option [value]=\"r.id\">{{r.userId | userName | async }}</mat-option>\n }\n </mat-select>\n @if (form.controls.recipientId.hasError('required')) {\n <mat-error>{{'RequiredErr'|translate:('User'|translate)}}</mat-error>\n }\n </mat-form-field>\n <mat-form-field>\n <textarea matInput cdkTextareaAutosize formControlName=\"note\" [placeholder]=\"'Note'|translate\" maxlength=\"200\">\n </textarea>\n <mat-hint align=\"end\">{{form.controls.note.value?.length || 0}} / {{200}}</mat-hint>\n </mat-form-field>\n</form>\n" }]
50
50
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ActionRef }, { type: i3.SessionService }] });
@@ -114,10 +114,10 @@ export class AttachmentsComponent {
114
114
  else
115
115
  this._sb.ask('DeleteFileAsk', 'DeleteFile', { color: 'warn' }).subscribe(ok => ok && task());
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AttachmentsComponent, deps: [{ token: i1.MailboxService }, { token: i2.SessionService }, { token: i0.ViewContainerRef }, { token: i3.PromptService }, { token: i4.Overlay }, { token: i0.Injector }, { token: i5.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: { model: "model", viewedIndicator: "viewedIndicator", includeDeleted: "includeDeleted" }, usesOnChanges: true, ngImport: i0, template: "@for (a of attachments; track a) {\n <div>\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\"\n [progressIndicator]=\"a.progress\">\n @if (viewedIndicator && a.viewed) {\n <mat-icon>done_all</mat-icon>\n }\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\n <mat-icon>attachment</mat-icon>&nbsp;\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\n </button>\n <mat-menu #attachment>\n @if (!a.failed) {\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (canPreview(a)) {\n <button mat-menu-item (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersion(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canDelete(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n}\n", styles: [":host{display:flex;flex-flow:wrap;position:relative;z-index:0}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\n"], dependencies: [{ kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i10.ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AttachmentsComponent, deps: [{ token: i1.MailboxService }, { token: i2.SessionService }, { token: i0.ViewContainerRef }, { token: i3.PromptService }, { token: i4.Overlay }, { token: i0.Injector }, { token: i5.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AttachmentsComponent, selector: "bizdoc-attachments", inputs: { model: "model", viewedIndicator: "viewedIndicator", includeDeleted: "includeDeleted" }, usesOnChanges: true, ngImport: i0, template: "@for (a of attachments; track a) {\n <div>\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\"\n [progressIndicator]=\"a.progress\">\n @if (viewedIndicator && a.viewed) {\n <mat-icon>done_all</mat-icon>\n }\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\n <mat-icon>attachment</mat-icon>&nbsp;\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\n </button>\n <mat-menu #attachment>\n @if (!a.failed) {\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (canPreview(a)) {\n <button mat-menu-item (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersion(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canDelete(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n}\n", styles: [":host{display:flex;flex-flow:wrap;position:relative;z-index:0}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\n"], dependencies: [{ kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i10.ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AttachmentsComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AttachmentsComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'bizdoc-attachments', template: "@for (a of attachments; track a) {\n <div>\n <button mat-button class=\"attachment-link\" [matMenuTriggerFor]=\"attachment\" [bizdocTooltip]=\"a.time | amCalendar\"\n [progressIndicator]=\"a.progress\">\n @if (viewedIndicator && a.viewed) {\n <mat-icon>done_all</mat-icon>\n }\n <!--[bizdocTooltip]=\"a.viewed | amCalendar\"-->\n <mat-icon>attachment</mat-icon>&nbsp;\n <span [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\">{{a.fileName}}</span>\n </button>\n <mat-menu #attachment>\n @if (!a.failed) {\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (canPreview(a)) {\n <button mat-menu-item (click)=\"preview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersion(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canDelete(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n}\n", styles: [":host{display:flex;flex-flow:wrap;position:relative;z-index:0}.attachment-link.failed{color:red}.attachment-link .deleted{text-decoration:line-through}::ng-deep button .progress{background-color:#696969;position:absolute;height:100%}\n"] }]
123
123
  }], ctorParameters: () => [{ type: i1.MailboxService }, { type: i2.SessionService }, { type: i0.ViewContainerRef }, { type: i3.PromptService }, { type: i4.Overlay }, { type: i0.Injector }, { type: i5.Directionality }], propDecorators: { model: [{
@@ -96,8 +96,8 @@ export class AttachmentPreview {
96
96
  startExitAnimation() {
97
97
  this.animationState = 'leave';
98
98
  }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AttachmentPreview, deps: [{ token: i1.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i2.DomSanitizer }, { token: i3.MailboxService }, { token: i4.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\n @if (!loading) {\n <div class=\"toolbar-wrapper row\" [@slideDown]=\"slideDown\">\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n </div>\n }\n @if (loading) {\n <div class=\"spinner-wrapper\">\n <mat-spinner></mat-spinner>\n </div>\n }\n @if (!isImage) {\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" #obj width=\"250\"\n height=\"200\">\n </object>\n }\n @if (isImage) {\n <img (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [
99
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AttachmentPreview, deps: [{ token: i1.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i2.DomSanitizer }, { token: i3.MailboxService }, { token: i4.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\n @if (!loading) {\n <div class=\"toolbar-wrapper row\" [@slideDown]=\"slideDown\">\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\n </div>\n }\n @if (loading) {\n <div class=\"spinner-wrapper\">\n <mat-spinner></mat-spinner>\n </div>\n }\n @if (!isImage) {\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" #obj width=\"250\"\n height=\"200\">\n </object>\n }\n @if (isImage) {\n <img (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\n }\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [
101
101
  trigger('fade', [
102
102
  state('fadeOut', style({ opacity: 0 })),
103
103
  state('fadeIn', style({ opacity: 1 })),
@@ -117,7 +117,7 @@ export class AttachmentPreview {
117
117
  ])
118
118
  ] }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AttachmentPreview, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AttachmentPreview, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'bizdoc-attachment-preview', animations: [
123
123
  trigger('fade', [
@@ -13,10 +13,10 @@ export class ProgressDirective {
13
13
  ngOnChanges(_changes) {
14
14
  this.renderer.setStyle(this._progressDiv, 'width', `${this.progressIndicator}%`);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ProgressDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
17
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: ProgressDirective, selector: "[progressIndicator]", inputs: { progressIndicator: "progressIndicator" }, usesOnChanges: true, ngImport: i0 }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ProgressDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: ProgressDirective, selector: "[progressIndicator]", inputs: { progressIndicator: "progressIndicator" }, usesOnChanges: true, ngImport: i0 }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ProgressDirective, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ProgressDirective, decorators: [{
20
20
  type: Directive,
21
21
  args: [{ selector: '[progressIndicator]' }]
22
22
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { progressIndicator: [{
@@ -30,14 +30,14 @@ let BoxFormComponent = class BoxFormComponent {
30
30
  data[field.name] !== undefined && instance.control.setValue(data[field.name], { emitEvent: false });
31
31
  group.addControl(field.name, instance.control);
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BoxFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FormRef }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: BoxFormComponent, selector: "ng-component", ngImport: i0, template: "@if (mode !== 'compose') {\n <form>\n @for (s of metadata.sections; track s) {\n <section>\n <h2 class=\"mat-h2\">{{s.title|localizedString}}</h2>\n @switch (s.multiLine) {\n @case (true) {\n @for (r of s.rows; track r) {\n <div class=\"row\">\n @for (f of r.fields; track f) {\n }\n </div>\n }\n }\n @default {\n @for (r of s.rows; track r) {\n <div class=\"row\">\n @for (f of r.fields; track f) {\n <bizdoc-box-control [metadata]=\"f\"\n [mode]=\"mode\"\n [model]=\"data.model[s.name]\"\n [attr.data-field]=\"f.name\"\n [form]=\"form.get(s.name)\"></bizdoc-box-control>\n }\n </div>\n }\n }\n }\n </section>\n }\n </form>\n} @else {\n @if (guide) {\n <bizdoc-help-tip [name]=\"guide\"></bizdoc-help-tip>\n }\n <form [formGroup]=\"form\" autocomplete=\"off\">\n @for (s of metadata.sections; track s) {\n <section [attr.data-section]=\"s.name\">\n <h2 class=\"mat-h2\">{{s.title|localizedString}}</h2>\n @if (s.note) {\n <p class=\"mat-body-1\">{{s.note|localizedString}}</p>\n }\n <hr />\n @switch (s.multiLine) {\n @case (true) {\n <ng-container [formArrayName]=\"s.name\">\n <table class=\"mat-mdc-table\">\n @for (r of s.rows; track r) {\n <thead class=\"\">\n <tr class=\"mat-mdc-row\">\n @for (f of r.fields; track f) {\n <th class=\"mat-mdc-cell\">\n </th>\n }\n </tr>\n </thead>\n }\n @for (r of s.rows; track r) {\n <tbody class=\"\">\n <tr class=\"mat-mdc-row\">\n @for (f of r.fields; track f) {\n <td class=\"mat-mdc-cell\">\n </td>\n }\n <td>\n <button mat-icon-button></button>\n </td>\n </tr>\n </tbody>\n }\n </table>\n </ng-container>\n }\n @default {\n <ng-container [formGroupName]=\"s.name\">\n @for (r of s.rows; track r) {\n <div class=\"row box-row\">\n @for (f of r.fields; track f) {\n <bizdoc-box-control [metadata]=\"f\"\n [mode]=\"mode\"\n [model]=\"data.model[s.name]\"\n [attr.data-field]=\"f.name\"\n [form]=\"form.get(s.name)\"></bizdoc-box-control>\n }\n </div>\n }\n </ng-container>\n }\n }\n </section>\n }\n </form>\n}\n", styles: ["form{padding:8px}section{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}section .box-row{padding:4px}::ng-deep field{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.HelpTipComponent, selector: "bizdoc-help-tip", inputs: ["name"] }, { kind: "component", type: i5.BoxFormControlComponent, selector: "bizdoc-box-control", inputs: ["form", "mode", "model", "metadata"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }] }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BoxFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.FormRef }], target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: BoxFormComponent, selector: "ng-component", ngImport: i0, template: "@if (mode !== 'compose') {\n <form>\n @for (s of metadata.sections; track s) {\n <section>\n <h2 class=\"mat-h2\">{{s.title|localizedString}}</h2>\n @switch (s.multiLine) {\n @case (true) {\n @for (r of s.rows; track r) {\n <div class=\"row\">\n @for (f of r.fields; track f) {\n }\n </div>\n }\n }\n @default {\n @for (r of s.rows; track r) {\n <div class=\"row\">\n @for (f of r.fields; track f) {\n <bizdoc-box-control [metadata]=\"f\"\n [mode]=\"mode\"\n [model]=\"data.model[s.name]\"\n [attr.data-field]=\"f.name\"\n [form]=\"form.get(s.name)\"></bizdoc-box-control>\n }\n </div>\n }\n }\n }\n </section>\n }\n </form>\n} @else {\n @if (guide) {\n <bizdoc-help-tip [name]=\"guide\"></bizdoc-help-tip>\n }\n <form [formGroup]=\"form\" autocomplete=\"off\">\n @for (s of metadata.sections; track s) {\n <section [attr.data-section]=\"s.name\">\n <h2 class=\"mat-h2\">{{s.title|localizedString}}</h2>\n @if (s.note) {\n <p class=\"mat-body-1\">{{s.note|localizedString}}</p>\n }\n <hr />\n @switch (s.multiLine) {\n @case (true) {\n <ng-container [formArrayName]=\"s.name\">\n <table class=\"mat-mdc-table\">\n @for (r of s.rows; track r) {\n <thead class=\"\">\n <tr class=\"mat-mdc-row\">\n @for (f of r.fields; track f) {\n <th class=\"mat-mdc-cell\">\n </th>\n }\n </tr>\n </thead>\n }\n @for (r of s.rows; track r) {\n <tbody class=\"\">\n <tr class=\"mat-mdc-row\">\n @for (f of r.fields; track f) {\n <td class=\"mat-mdc-cell\">\n </td>\n }\n <td>\n <button mat-icon-button></button>\n </td>\n </tr>\n </tbody>\n }\n </table>\n </ng-container>\n }\n @default {\n <ng-container [formGroupName]=\"s.name\">\n @for (r of s.rows; track r) {\n <div class=\"row box-row\">\n @for (f of r.fields; track f) {\n <bizdoc-box-control [metadata]=\"f\"\n [mode]=\"mode\"\n [model]=\"data.model[s.name]\"\n [attr.data-field]=\"f.name\"\n [form]=\"form.get(s.name)\"></bizdoc-box-control>\n }\n </div>\n }\n </ng-container>\n }\n }\n </section>\n }\n </form>\n}\n", styles: ["form{padding:8px}section{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}section .box-row{padding:4px}::ng-deep field{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.HelpTipComponent, selector: "bizdoc-help-tip", inputs: ["name"] }, { kind: "component", type: i5.BoxFormControlComponent, selector: "bizdoc-box-control", inputs: ["form", "mode", "model", "metadata"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }] }); }
35
35
  };
36
36
  BoxFormComponent = __decorate([
37
37
  BizDoc({ selector: 'bizdoc-box-form' })
38
38
  ], BoxFormComponent);
39
39
  export { BoxFormComponent };
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: BoxFormComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BoxFormComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ template: "@if (mode !== 'compose') {\n <form>\n @for (s of metadata.sections; track s) {\n <section>\n <h2 class=\"mat-h2\">{{s.title|localizedString}}</h2>\n @switch (s.multiLine) {\n @case (true) {\n @for (r of s.rows; track r) {\n <div class=\"row\">\n @for (f of r.fields; track f) {\n }\n </div>\n }\n }\n @default {\n @for (r of s.rows; track r) {\n <div class=\"row\">\n @for (f of r.fields; track f) {\n <bizdoc-box-control [metadata]=\"f\"\n [mode]=\"mode\"\n [model]=\"data.model[s.name]\"\n [attr.data-field]=\"f.name\"\n [form]=\"form.get(s.name)\"></bizdoc-box-control>\n }\n </div>\n }\n }\n }\n </section>\n }\n </form>\n} @else {\n @if (guide) {\n <bizdoc-help-tip [name]=\"guide\"></bizdoc-help-tip>\n }\n <form [formGroup]=\"form\" autocomplete=\"off\">\n @for (s of metadata.sections; track s) {\n <section [attr.data-section]=\"s.name\">\n <h2 class=\"mat-h2\">{{s.title|localizedString}}</h2>\n @if (s.note) {\n <p class=\"mat-body-1\">{{s.note|localizedString}}</p>\n }\n <hr />\n @switch (s.multiLine) {\n @case (true) {\n <ng-container [formArrayName]=\"s.name\">\n <table class=\"mat-mdc-table\">\n @for (r of s.rows; track r) {\n <thead class=\"\">\n <tr class=\"mat-mdc-row\">\n @for (f of r.fields; track f) {\n <th class=\"mat-mdc-cell\">\n </th>\n }\n </tr>\n </thead>\n }\n @for (r of s.rows; track r) {\n <tbody class=\"\">\n <tr class=\"mat-mdc-row\">\n @for (f of r.fields; track f) {\n <td class=\"mat-mdc-cell\">\n </td>\n }\n <td>\n <button mat-icon-button></button>\n </td>\n </tr>\n </tbody>\n }\n </table>\n </ng-container>\n }\n @default {\n <ng-container [formGroupName]=\"s.name\">\n @for (r of s.rows; track r) {\n <div class=\"row box-row\">\n @for (f of r.fields; track f) {\n <bizdoc-box-control [metadata]=\"f\"\n [mode]=\"mode\"\n [model]=\"data.model[s.name]\"\n [attr.data-field]=\"f.name\"\n [form]=\"form.get(s.name)\"></bizdoc-box-control>\n }\n </div>\n }\n </ng-container>\n }\n }\n </section>\n }\n </form>\n}\n", styles: ["form{padding:8px}section{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}section .box-row{padding:4px}::ng-deep field{display:flex}\n"] }]
43
43
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.FormRef }] });