@bizdoc/core 2.3.24 → 2.3.28

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 (395) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +90 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +10 -10
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  9. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +5 -5
  11. package/esm2022/lib/admin/architecture/declarations.mjs +16 -13
  12. package/esm2022/lib/admin/architecture/designer-element.component.mjs +40 -22
  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 +138 -95
  16. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +5 -5
  18. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +5 -5
  19. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +5 -5
  20. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +10 -5
  21. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +5 -5
  22. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +5 -5
  23. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +5 -5
  25. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +5 -5
  26. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +5 -5
  28. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +5 -5
  29. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +5 -5
  30. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +5 -5
  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 +5 -5
  37. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +5 -5
  39. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +5 -5
  40. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +5 -5
  41. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +7 -8
  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 +5 -5
  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 +25 -14
  49. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +5 -5
  50. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +5 -5
  51. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  52. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +5 -5
  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 +3 -3
  89. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  90. package/esm2022/lib/browse/filter/filter.component.mjs +5 -5
  91. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  92. package/esm2022/lib/chat/chat-info.mjs +3 -3
  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 +3 -3
  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 +3 -3
  113. package/esm2022/lib/compose/comments/comments.component.mjs +3 -3
  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 +6 -6
  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-resolver.service.mjs +3 -3
  125. package/esm2022/lib/compose/document.component.mjs +3 -3
  126. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  127. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  128. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  129. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  130. package/esm2022/lib/compose/form.component.mjs +5 -5
  131. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  132. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  133. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  134. package/esm2022/lib/compose/state.component.mjs +3 -3
  135. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  136. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  137. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  138. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  139. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  140. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  141. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  142. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  143. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  144. package/esm2022/lib/core/StickyToolbar.mjs +3 -3
  145. package/esm2022/lib/core/account.service.mjs +3 -3
  146. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  147. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  148. package/esm2022/lib/core/checkbox.mjs +3 -3
  149. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  150. package/esm2022/lib/core/datasource.service.mjs +3 -3
  151. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  152. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  153. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  154. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  155. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  156. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  157. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  158. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  159. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  160. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  161. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  162. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  163. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  166. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  167. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  168. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  169. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  170. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  171. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  172. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  173. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  174. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  175. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  176. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  177. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  178. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  179. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  180. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  181. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/tags.field.mjs +3 -3
  183. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  184. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  185. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  186. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  187. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  188. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  189. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  190. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  191. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  192. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  193. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  194. package/esm2022/lib/core/hub.service.mjs +3 -3
  195. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  196. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  197. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  198. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  199. package/esm2022/lib/core/info/map-info.mjs +3 -3
  200. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  201. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  202. package/esm2022/lib/core/inputs/combination-picker-body.mjs +5 -5
  203. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  204. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  205. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  206. package/esm2022/lib/core/inputs/select.input.mjs +4 -4
  207. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  208. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  209. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  210. package/esm2022/lib/core/layout.component.mjs +3 -3
  211. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  212. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  213. package/esm2022/lib/core/none.component.mjs +3 -3
  214. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  215. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  216. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  218. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  219. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  220. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  221. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  222. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  223. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  224. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  225. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  226. package/esm2022/lib/core/pipes/sort.pipe.mjs +6 -6
  227. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  228. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
  229. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  230. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  231. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  232. package/esm2022/lib/core/popup/popup.component.mjs +5 -5
  233. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  234. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  235. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  236. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  237. package/esm2022/lib/core/prompt.service.mjs +3 -3
  238. package/esm2022/lib/core/router.mjs +6 -6
  239. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  240. package/esm2022/lib/core/session.service.mjs +3 -3
  241. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  242. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  243. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  244. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  245. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  246. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  247. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  248. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  249. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  250. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  251. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  252. package/esm2022/lib/core/translate.service.mjs +3 -3
  253. package/esm2022/lib/core/translations.mjs +2 -2
  254. package/esm2022/lib/core/window-title.service.mjs +3 -3
  255. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  256. package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
  257. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  258. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  259. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  260. package/esm2022/lib/cube/cube.service.mjs +3 -3
  261. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  262. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  263. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  264. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  265. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  266. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  267. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  268. package/esm2022/lib/cube/filter/filter.component.mjs +5 -5
  269. package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
  270. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  271. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  272. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  273. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  274. package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
  275. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  276. package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
  277. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
  278. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.mjs +3 -3
  279. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  280. package/esm2022/lib/cube/view-base.mjs +3 -3
  281. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  282. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  283. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  284. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  285. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  286. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  287. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  288. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  289. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  290. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  291. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  292. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  293. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  294. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  295. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  296. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  297. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  298. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  299. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  300. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  301. package/esm2022/lib/designer.module.mjs +4 -4
  302. package/esm2022/lib/desktop.module.mjs +4 -4
  303. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  304. package/esm2022/lib/home/home-base.component.mjs +3 -3
  305. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  306. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  307. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  308. package/esm2022/lib/home/options/options.component.mjs +3 -3
  309. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  310. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  311. package/esm2022/lib/home/tools.component.mjs +3 -3
  312. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  313. package/esm2022/lib/mobile.module.mjs +4 -4
  314. package/esm2022/lib/modules/chart.module.mjs +4 -4
  315. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  316. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  317. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  318. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  319. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  320. package/esm2022/lib/modules/grid.module.mjs +4 -4
  321. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  322. package/esm2022/lib/modules/material.module.mjs +4 -4
  323. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  324. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  325. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  326. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  327. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  328. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  329. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  330. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  331. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  332. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  333. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  334. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  335. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  336. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  337. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  338. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  339. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  340. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  341. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  342. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  343. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  344. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  345. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  346. package/esm2022/lib/options/options.component.mjs +3 -3
  347. package/esm2022/lib/options/options.service.mjs +3 -3
  348. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  349. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  350. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  351. package/esm2022/lib/reports/cube/role-performance.component.mjs +3 -3
  352. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  353. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  354. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  355. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  356. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  357. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  358. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  359. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  360. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  361. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  362. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  363. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  364. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  365. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  366. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  367. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  368. package/esm2022/lib/search/cube.component.mjs +3 -3
  369. package/esm2022/lib/search/document.component.mjs +3 -3
  370. package/esm2022/lib/search/guide.component.mjs +3 -3
  371. package/esm2022/lib/search/path.component.mjs +3 -3
  372. package/esm2022/lib/search/search.service.mjs +3 -3
  373. package/esm2022/lib/shared.module.mjs +4 -4
  374. package/esm2022/lib/system.module.mjs +11 -5
  375. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  376. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  377. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  378. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  379. package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
  380. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  381. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  382. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  383. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +3 -3
  384. package/esm2022/lib/views/view-item.component.mjs +3 -3
  385. package/esm2022/lib/views/views.component.mjs +3 -3
  386. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  387. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  388. package/fesm2022/bizdoc-core.mjs +1427 -1353
  389. package/fesm2022/bizdoc-core.mjs.map +1 -1
  390. package/lib/admin/architecture/declarations.d.ts +9 -3
  391. package/lib/admin/architecture/designer-element.component.d.ts +5 -2
  392. package/lib/admin/architecture/designer.component.d.ts +24 -9
  393. package/lib/admin/architecture/elements/attribute.component.d.ts +1 -0
  394. package/lib/admin/architecture/elements/state.component.d.ts +6 -0
  395. package/package.json +1 -1
@@ -83,10 +83,10 @@ export class BrowseMobileComponent {
83
83
  this._destroy.next();
84
84
  this._destroy.complete();
85
85
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowseMobileComponent, deps: [{ token: i1.Router }, { token: i2.WindowTitleService }, { token: i3.SessionService }, { token: i1.ActivatedRoute }, { token: i4.Directionality }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: BrowseMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "items", first: true, predicate: BrowseItemsComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" class=\"hide-xs\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n <!-- <span class=\"mat-body show-xs\">{{items.selection.selected.length}}</span>-->\n <button mat-icon-button color=\"primary\" (click)=\"items.submitAll()\" [bizdocTooltip]=\"'Submit' | translate\" [attr.aria-label]=\"'Submit' | translate\" class=\"show-xs\"><mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon></button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">@if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}</button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n }\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n <button mat-icon-button (click)=\"drawer.toggle()\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav #drawer mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @default {\n <bizdoc-browse-filter class=\"nav-filter\" [values]=filters (valuesChange)=\"filterChange($event)\" [folderId]=\"folderId\"></bizdoc-browse-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\" (open)=\"open($event)\" (view)=view($event) #items></bizdoc-browse-items>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".nav-filter{padding:8px;display:flex}\n"], dependencies: [{ kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i7.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i7.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.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: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.BrowseFilterComponent, selector: "bizdoc-browse-filter", inputs: ["values", "folderId", "exclude"], outputs: ["valuesChange"] }, { kind: "component", type: i13.BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: ["folderId", "filterType", "filters"], outputs: ["open", "view"] }, { kind: "directive", type: i14.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i16.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrowseMobileComponent, deps: [{ token: i1.Router }, { token: i2.WindowTitleService }, { token: i3.SessionService }, { token: i1.ActivatedRoute }, { token: i4.Directionality }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: BrowseMobileComponent, selector: "ng-component", viewQueries: [{ propertyName: "items", first: true, predicate: BrowseItemsComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" class=\"hide-xs\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n <!-- <span class=\"mat-body show-xs\">{{items.selection.selected.length}}</span>-->\n <button mat-icon-button color=\"primary\" (click)=\"items.submitAll()\" [bizdocTooltip]=\"'Submit' | translate\" [attr.aria-label]=\"'Submit' | translate\" class=\"show-xs\"><mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon></button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">@if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}</button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n }\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n <button mat-icon-button (click)=\"drawer.toggle()\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav #drawer mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @default {\n <bizdoc-browse-filter class=\"nav-filter\" [values]=filters (valuesChange)=\"filterChange($event)\" [folderId]=\"folderId\"></bizdoc-browse-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\" (open)=\"open($event)\" (view)=view($event) #items></bizdoc-browse-items>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".nav-filter{padding:8px;display:flex}\n"], dependencies: [{ kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i7.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i7.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "component", type: i8.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.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: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.BrowseFilterComponent, selector: "bizdoc-browse-filter", inputs: ["values", "folderId", "exclude"], outputs: ["valuesChange"] }, { kind: "component", type: i13.BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: ["folderId", "filterType", "filters"], outputs: ["open", "view"] }, { kind: "directive", type: i14.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i16.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] }); }
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowseMobileComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrowseMobileComponent, decorators: [{
90
90
  type: Component,
91
91
  args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\n <button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" class=\"hide-xs\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n <!-- <span class=\"mat-body show-xs\">{{items.selection.selected.length}}</span>-->\n <button mat-icon-button color=\"primary\" (click)=\"items.submitAll()\" [bizdocTooltip]=\"'Submit' | translate\" [attr.aria-label]=\"'Submit' | translate\" class=\"show-xs\"><mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon></button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">@if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}</button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n }\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i > 0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button class=\"hide-xs\" (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n <button mat-icon-button (click)=\"drawer.toggle()\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n</mat-toolbar>\n<mat-sidenav-container class=\"page-container\" autosize>\n <mat-sidenav #drawer mode=\"over\" position=\"end\" [opened]=\"false\">\n @switch (mode) {\n @default {\n <bizdoc-browse-filter class=\"nav-filter\" [values]=filters (valuesChange)=\"filterChange($event)\" [folderId]=\"folderId\"></bizdoc-browse-filter>\n }\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\" (open)=\"open($event)\" (view)=view($event) #items></bizdoc-browse-items>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [".nav-filter{padding:8px;display:flex}\n"] }]
92
92
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.WindowTitleService }, { type: i3.SessionService }, { type: i1.ActivatedRoute }, { type: i4.Directionality }, { type: i5.MatDialog }], propDecorators: { items: [{
@@ -125,10 +125,10 @@ export class BrowsePaneComponent {
125
125
  this._destroy.next();
126
126
  this._destroy.complete();
127
127
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowsePaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.SessionService }, { token: i3.Popup }, { token: i4.PanesRouter }, { token: i5.Directionality }, { token: i6.TranslateService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: BrowsePaneComponent, selector: "bizdoc-browse.pane", host: { listeners: { "document:keydown": "handleKeydown($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "items", first: true, predicate: BrowseItemsComponent, descendants: true, static: true }, { propertyName: "search", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (!items.selection.isEmpty()) {\n <!--<button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>-->\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">\n @if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}\n </button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i>0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n }\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n } @else {\n <!--<button mat-icon-button (click)=\"openSearch()\"\n [bizdocTooltip]=\"'Search'|translate\" class=\"tool\">\n <mat-icon>search</mat-icon>\n </button>\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"-->\n <input matInput\n [formControl]=\"contains\" autocomplete=\"off\" placeholder=\"{{'Search' | translate}}\"\n class=\"mat-body search-box\"\n #searchInput\n (keydown.escape)=\"clearSearch($event)\">\n @if (contains.value) {\n <mat-icon (click)=\"clearSearch()\">close</mat-icon>\n }\n <span class=\"divider\"></span>\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n }\n</mat-toolbar>\n<bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\"\n (open)=\"open($event)\" (view)=\"view($event) \" #items></bizdoc-browse-items>\n", styles: [":host{min-width:540px;display:contents!important}\n"], dependencies: [{ kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i11.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i12.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: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.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: i14.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i14.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i15.BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: ["folderId", "filterType", "filters"], outputs: ["open", "view"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i17.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }], animations: [searchAnimation] }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrowsePaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.SessionService }, { token: i3.Popup }, { token: i4.PanesRouter }, { token: i5.Directionality }, { token: i6.TranslateService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: BrowsePaneComponent, selector: "bizdoc-browse.pane", host: { listeners: { "document:keydown": "handleKeydown($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "items", first: true, predicate: BrowseItemsComponent, descendants: true, static: true }, { propertyName: "search", first: true, predicate: ["searchInput"], descendants: true, read: ElementRef }], ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\n @if (!items.selection.isEmpty()) {\n <!--<button mat-icon-button (click)=\"items.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\" [attr.aria-label]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>-->\n @if (items.isAllDraft()) {\n <button mat-icon-button (click)=\"items.discardAll()\" [bizdocTooltip]=\"'DiscardSelected' | translate : items.selection.selected.length\" [attr.aria-label]=\"'DiscardSelected' | translate : items.selection.selected.length\"><mat-icon>delete_sweep</mat-icon></button>\n <button mat-button color=\"primary\" (click)=\"items.submitAll()\">{{'SubmitSelected' | translate : items.selection.selected.length }}</button>\n }\n @if (items.sharedActions.length === 1) {\n <button mat-button color=\"primary\" (click)=\"sendAll(items.sharedActions[0].name)\" [bizdocTooltip]=\"items.sharedActions[0].title\">\n @if (items.sharedActions[0].icon) {\n <mat-icon>{{items.sharedActions[0].icon}}</mat-icon>\n }{{'SendSelected' | translate : items.selection.selected.length}}\n </button>\n }\n @else if (items.sharedActions.length > 1) {\n <button mat-button color=\"primary\" [matMenuTriggerFor]=\"action\" [bizdocTooltip]=\"'Send' | translate\" [attr.aria-label]=\"'Send' | translate\">\n {{'SendSelected'| translate : items.selection.selected.length }}\n </button>\n <mat-menu #action>\n @for (a of items.sharedActions | sort : 'group'; track a; let i = $index) {\n @if (i>0 && items.sharedActions[i-1].group !== a.group) {\n <mat-divider>\n </mat-divider>\n }\n <button mat-menu-item (click)=\"sendAll(a.name)\" [attr.aria-label]=\"a.title\">\n {{ a.title }}\n </button>\n }\n </mat-menu>\n }\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n } @else {\n <!--<button mat-icon-button (click)=\"openSearch()\"\n [bizdocTooltip]=\"'Search'|translate\" class=\"tool\">\n <mat-icon>search</mat-icon>\n </button>\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"-->\n <input matInput\n [formControl]=\"contains\" autocomplete=\"off\" placeholder=\"{{'Search' | translate}}\"\n class=\"mat-body search-box\"\n #searchInput\n (keydown.escape)=\"clearSearch($event)\">\n @if (contains.value) {\n <mat-icon (click)=\"clearSearch()\">close</mat-icon>\n }\n <span class=\"divider\"></span>\n <!--<button mat-icon-button (click)=\"items.paginator.previousPage()\" [bizdocTooltip]=\"'PrevPage' | translate\" [attr.aria-label]=\"'PrevPage' | translate\" [disabled]=\"!items.paginator.hasPreviousPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"items.paginator.nextPage()\" [bizdocTooltip]=\"'NextPage' | translate\" [attr.aria-label]=\"'NextPage' | translate\" [disabled]=\"!items.paginator.hasNextPage()\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>-->\n <button mat-icon-button (click)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter' | translate\" [attr.aria-label]=\"'Filter' | translate\"><mat-icon>filter_list</mat-icon></button>\n }\n</mat-toolbar>\n<bizdoc-browse-items [filters]=\"filters\" [folderId]=\"folderId\" [filterType]=\"filterType\"\n (open)=\"open($event)\" (view)=\"view($event) \" #items></bizdoc-browse-items>\n", styles: [":host{min-width:540px;display:contents!important}\n"], dependencies: [{ kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i11.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i12.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: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.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: i14.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i14.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i15.BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: ["folderId", "filterType", "filters"], outputs: ["open", "view"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i17.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }], animations: [searchAnimation] }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowsePaneComponent, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrowsePaneComponent, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'bizdoc-browse.pane', animations: [searchAnimation], host: {
134
134
  class: 'pane'
@@ -302,10 +302,10 @@ export class ExpandedItemComponent {
302
302
  this._destroy.complete();
303
303
  this._typingTask && clearTimeout(this._typingTask);
304
304
  }
305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: i1.PromptService }, { token: i2.ChatInfo }, { token: i3.AccountService }, { token: i4.MailboxService }, { token: i5.SessionService }, { token: i6.Directionality }, { token: i7.MatDialog }, { token: i8.TranslateService }, { token: i9.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
306
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [highlighted]=\"true\" [disableRipple]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"], dependencies: [{ kind: "component", type: i10.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { kind: "component", type: i14.DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i16.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i17.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }, { kind: "pipe", type: i19.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i20.StatePipe, name: "state" }] }); }
305
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ExpandedItemComponent, deps: [{ token: i1.PromptService }, { token: i2.ChatInfo }, { token: i3.AccountService }, { token: i4.MailboxService }, { token: i5.SessionService }, { token: i6.Directionality }, { token: i7.MatDialog }, { token: i8.TranslateService }, { token: i9.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
306
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: { model: "model" }, outputs: { sent: "sent" }, ngImport: i0, template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [highlighted]=\"true\" [disableRipple]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"], dependencies: [{ kind: "component", type: i10.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled", "tabIndex"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i10.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }, { kind: "component", type: i14.DocumentEventsComponent, selector: "bizdoc-events", inputs: ["model"] }, { kind: "directive", type: i15.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i16.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i17.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }, { kind: "pipe", type: i19.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i20.StatePipe, name: "state" }] }); }
307
307
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ExpandedItemComponent, decorators: [{
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ExpandedItemComponent, decorators: [{
309
309
  type: Component,
310
310
  args: [{ selector: 'bizdoc-expanded-item', template: "@if (model.summary) {\n <div class=\"summary\" [innerHTML]=\"model.summary\">\n </div>\n}\n<div>\n <bizdoc-attachments [model]=\"model\"></bizdoc-attachments>\n <bizdoc-events [model]=\"model\"></bizdoc-events>\n</div>\n<div class=\"row\">\n <span class=\"note\" [innerHTML]=\"note | sanitizeHtml\" (click)=\"chat($event)\"></span>\n <span class=\"divider\"></span>\n @for (a of actions; track a) {\n @if (a.icon) {\n <button mat-icon-button (click)=\"send(a.name)\" [bizdocTooltip]=\"a.title\" class=\"tool\">\n <mat-icon>{{a.icon}}</mat-icon>\n </button>\n }\n }\n</div>\n<div class=\"row\">\n <div class=\"mat-small row\">\n <span>{{model.stateId | state : 'past' }}</span>\n &nbsp;\n <span class=\"time\" [bizdocTooltip]=\"model.received | amCalendar\">{{model.received | amTimeAgo}}</span>\n &nbsp;\n <span [innerHTML]=\"sender | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>&nbsp;\n <span [innerHTML]=\"awaiting | sanitizeHtml\" (click)=\"chat($event)\" class=\"who\"></span>\n </div>\n <span class=\"divider\"></span>\n <div class=\"center center\">\n @if (typing) {\n <span class=\"mat-small\">{{'SomeoneTyping'|translate}}</span>\n }\n @if (model.comments.length) {\n <div class=\"mat-small\">\n @if (!newComments) {\n <span>{{model.comments.length > 1 ? ('CommentsCount' | translate : model.comments.length) : 'OneComment' | translate }}</span>\n } @else {\n <span [innerHTML]=\"'NewCommentsCount' | translate : model.comments.length : newComments | sanitizeHtml\"></span>\n }\n </div>\n }\n </div>\n @if (model.tags) {\n <mat-chip-set>\n @for (tag of model.tags; track tag) {\n <mat-chip [highlighted]=\"true\" [disableRipple]=\"true\">{{tag}}</mat-chip>\n }\n </mat-chip-set>\n }\n</div>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;overflow:hidden;padding-right:24px;padding-left:24px;text-align:start}.row{align-items:center;min-height:27px;flex-direction:row;box-sizing:border-box;display:flex}.note{font-weight:200}.time{text-transform:uppercase}.summary{max-width:fit-content}\n"] }]
311
311
  }], ctorParameters: () => [{ type: i1.PromptService }, { type: i2.ChatInfo }, { type: i3.AccountService }, { type: i4.MailboxService }, { type: i5.SessionService }, { type: i6.Directionality }, { type: i7.MatDialog }, { type: i8.TranslateService }, { type: i9.HubService }], propDecorators: { model: [{
@@ -132,12 +132,12 @@ export class BrowseFilterComponent {
132
132
  this._destroy.next();
133
133
  this._destroy.complete();
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowseFilterComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i0.ChangeDetectorRef }, { token: i3.MailboxService }, { token: i4.AccountService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
136
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: BrowseFilterComponent, selector: "bizdoc-browse-filter", inputs: { values: "values", folderId: "folderId", exclude: "exclude" }, outputs: { valuesChange: "valuesChange" }, viewQueries: [{ propertyName: "chips", first: true, predicate: MatChipListbox, descendants: true, static: true }, { propertyName: "contains", first: true, predicate: ["contains"], descendants: true, read: ElementRef, static: true }, { propertyName: "sender", first: true, predicate: ["sender"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\" class=\"column gap\">\n @if (!exclude || exclude.indexOf('contains') < 0) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput formControlName=\"contains\" autocomplete=\"off\" placeholder=\"{{'Contains' | translate}}\" #contains>\n @if (form.value.contains) {\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"senderId\" #sender />\n <mat-autocomplete #senders [displayWith]=\"displayFn\" (optionSelected)=\"senderSelected($event)\">\n @for (u of senders$ | async; track u) {\n <mat-option [value]=\"u\">\n <span>{{u.name}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n @if (senderId.value) {\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\n }\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\">\n {{s.title}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (f of forms; track f) {\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\n @for (tag of tags; track tag) {\n <mat-chip-option color=\"accent\">\n {{tag}}\n </mat-chip-option>\n }\n </mat-chip-listbox>\n @if (filters) {\n <bizdoc-cube-filter class=\"cube-filter\"\n [cube]=\"filters.cube\"\n [include]=\"filters.axes\"\n [axes]=\"values\"\n (axesChange)=\"axesChange($event)\"></bizdoc-cube-filter>\n }\n</form>\n", styles: [".cube-filter ::ng-deep form{padding:0}\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.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: i5.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i5.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9.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: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i11.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: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: i14.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrowseFilterComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SessionService }, { token: i0.ChangeDetectorRef }, { token: i3.MailboxService }, { token: i4.AccountService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: BrowseFilterComponent, selector: "bizdoc-browse-filter", inputs: { values: "values", folderId: "folderId", exclude: "exclude" }, outputs: { valuesChange: "valuesChange" }, viewQueries: [{ propertyName: "chips", first: true, predicate: MatChipListbox, descendants: true, static: true }, { propertyName: "contains", first: true, predicate: ["contains"], descendants: true, read: ElementRef, static: true }, { propertyName: "sender", first: true, predicate: ["sender"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\" class=\"column gap\" autocomplete=\"off\">\n @if (!exclude || exclude.indexOf('contains') < 0) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput formControlName=\"contains\" placeholder=\"{{'Contains' | translate}}\" #contains>\n @if (form.value.contains) {\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"senderId\" #sender />\n <mat-autocomplete #senders [displayWith]=\"displayFn\" (optionSelected)=\"senderSelected($event)\">\n @for (u of senders$ | async; track u) {\n <mat-option [value]=\"u\">\n <span>{{u.name}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n @if (senderId.value) {\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\n }\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\">\n {{s.title}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (f of forms; track f) {\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\n @for (tag of tags; track tag) {\n <mat-chip-option color=\"accent\">\n {{tag}}\n </mat-chip-option>\n }\n </mat-chip-listbox>\n @if (filters) {\n <bizdoc-cube-filter class=\"cube-filter\"\n [cube]=\"filters.cube\"\n [include]=\"filters.axes\"\n [axes]=\"values\"\n (axesChange)=\"axesChange($event)\"></bizdoc-cube-filter>\n }\n</form>\n", styles: [".cube-filter ::ng-deep form{padding:0}\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.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: i5.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i5.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i9.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: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i11.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: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { kind: "pipe", type: i14.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
137
137
  }
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BrowseFilterComponent, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: BrowseFilterComponent, decorators: [{
139
139
  type: Component,
140
- args: [{ selector: 'bizdoc-browse-filter', template: "<form [formGroup]=\"form\" class=\"column gap\">\n @if (!exclude || exclude.indexOf('contains') < 0) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput formControlName=\"contains\" autocomplete=\"off\" placeholder=\"{{'Contains' | translate}}\" #contains>\n @if (form.value.contains) {\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"senderId\" #sender />\n <mat-autocomplete #senders [displayWith]=\"displayFn\" (optionSelected)=\"senderSelected($event)\">\n @for (u of senders$ | async; track u) {\n <mat-option [value]=\"u\">\n <span>{{u.name}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n @if (senderId.value) {\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\n }\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\">\n {{s.title}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (f of forms; track f) {\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\n @for (tag of tags; track tag) {\n <mat-chip-option color=\"accent\">\n {{tag}}\n </mat-chip-option>\n }\n </mat-chip-listbox>\n @if (filters) {\n <bizdoc-cube-filter class=\"cube-filter\"\n [cube]=\"filters.cube\"\n [include]=\"filters.axes\"\n [axes]=\"values\"\n (axesChange)=\"axesChange($event)\"></bizdoc-cube-filter>\n }\n</form>\n", styles: [".cube-filter ::ng-deep form{padding:0}\n"] }]
140
+ args: [{ selector: 'bizdoc-browse-filter', template: "<form [formGroup]=\"form\" class=\"column gap\" autocomplete=\"off\">\n @if (!exclude || exclude.indexOf('contains') < 0) {\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput formControlName=\"contains\" placeholder=\"{{'Contains' | translate}}\" #contains>\n @if (form.value.contains) {\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-form-field>\n }\n <mat-form-field subscriptSizing=\"dynamic\">\n <input matInput [matAutocomplete]=\"senders\" [placeholder]=\"'Sender' | translate\" [formControl]=\"senderId\" #sender />\n <mat-autocomplete #senders [displayWith]=\"displayFn\" (optionSelected)=\"senderSelected($event)\">\n @for (u of senders$ | async; track u) {\n <mat-option [value]=\"u\">\n <span>{{u.name}}</span>\n </mat-option>\n }\n </mat-autocomplete>\n @if (senderId.value) {\n <button matSuffix mat-icon-button (click)=\"clearSender()\"><mat-icon>clear</mat-icon></button>\n }\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Status'|translate\" formControlName=\"state\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (s of states; track s) {\n <mat-option [value]=\"s.name\">\n {{s.title}}\n </mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-form-field subscriptSizing=\"dynamic\">\n <mat-select [placeholder]=\"'Form' | translate\" formControlName=\"form\">\n <mat-option>\n {{ 'All' | translate }}\n </mat-option>\n @for (f of forms; track f) {\n <mat-option [value]=\"f.name\">{{f.title}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <mat-chip-listbox id=\"tags\" (change)=\"toggleTag($event)\">\n @for (tag of tags; track tag) {\n <mat-chip-option color=\"accent\">\n {{tag}}\n </mat-chip-option>\n }\n </mat-chip-listbox>\n @if (filters) {\n <bizdoc-cube-filter class=\"cube-filter\"\n [cube]=\"filters.cube\"\n [include]=\"filters.axes\"\n [axes]=\"values\"\n (axesChange)=\"axesChange($event)\"></bizdoc-cube-filter>\n }\n</form>\n", styles: [".cube-filter ::ng-deep form{padding:0}\n"] }]
141
141
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.SessionService }, { type: i0.ChangeDetectorRef }, { type: i3.MailboxService }, { type: i4.AccountService }, { type: undefined, decorators: [{
142
142
  type: Inject,
143
143
  args: [BIZDOC_CONFIG]
@@ -159,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
159
159
  type: ViewChild,
160
160
  args: ['sender', { static: true, read: ElementRef }]
161
161
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYnJvd3NlL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9icm93c2UvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLFNBQVMsRUFBNEIsS0FBSyxFQUFFLFVBQVUsRUFBb0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXJMLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUF3QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUUvRSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFPNUIsNkJBQTZCO0FBQzdCLE1BQU0sT0FBTyxxQkFBcUI7SUEyQmhDLHlCQUF5QjtJQUN6QixZQUFvQixHQUFnQixFQUMxQixRQUF3QixFQUN4QixHQUFzQixFQUN0QixRQUF3QixFQUN4QixTQUF5QixFQUNGLE9BQXFCO1FBTGxDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsUUFBRyxHQUFILEdBQUcs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ZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBJbnB1dCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIHN3aXRjaE1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdGF0ZSwgRm9ybSwgVXNlckluZm8sIEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGNsZWFudXAsIGlzU3RyaW5nIH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IE1hdENoaXBMaXN0Ym94LCBNYXRDaGlwTGlzdGJveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuXHJcbmNvbnN0IEZJTFRFUl9ERUJPVU5DRSA9IDI1MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWJyb3dzZS1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiBicm93c2UtZmlsdGVyIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBCcm93c2VGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBwYXR0ZXJuID0gQVhJU19WQUxVRV9QQVRURVJOO1xyXG4gIEBJbnB1dCgpIHZhbHVlczogQnJvd3NlRmlsdGVyQXJncztcclxuICBASW5wdXQoKSBmb2xkZXJJZD86IHN0cmluZztcclxuICBASW5wdXQoKSBleGNsdWRlPzogc3RyaW5nW107XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QnJvd3NlRmlsdGVyQXJncz4oKTtcclxuICByZWFkb25seSBzZW5kZXJJZCA9IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwPEJyb3dzZUZpbHRlckFyZ3M+KHtcclxuICAgIGNvbnRhaW5zOiBudWxsLFxyXG4gICAgZm9ybTogbnVsbCxcclxuICAgIHN0YXRlOiBudWxsLFxyXG4gICAgc2VuZGVySWQ6IG51bGwsXHJcbiAgICB0YWc6IG51bGxcclxuICB9KTtcclxuICBmb3JtczogRm9ybVtdO1xyXG4gIHN0YXRlczogU3RhdGVbXTtcclxuICBzZW5kZXJzJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICB0YWdzOiBzdHJpbmdbXTtcclxuICBmaWx0ZXJzOiB7XHJcbiAgICBjdWJlPzogc3RyaW5nO1xyXG4gICAgYXhlczogc3RyaW5nW107XHJcbiAgfTtcclxuICBAVmlld0NoaWxkKE1hdENoaXBMaXN0Ym94LCB7IHN0YXRpYzogdHJ1ZSB9KSBjaGlwczogTWF0Q2hpcExpc3Rib3g7XHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbnMnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBjb250YWluczogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzZW5kZXInLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBzZW5kZXI6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgcmVhZG9ubHkgc291cmNlczogeyBbZGF0YXR5cGU6IHN0cmluZ106IE9ic2VydmFibGU8eyBbbmFtZTogc3RyaW5nXTogYW55IH0+IH0gPSB7fTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogYnJvd3NlLWZpbHRlciBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMuc3RhdGVzID0gX3Nlc3Npb24ucHJvZmlsZS5zdGF0ZXM7XHJcbiAgICB0aGlzLmZvcm1zID0gX3Nlc3Npb24ucHJvZmlsZS5mb3JtcztcclxuICAgIHRoaXMudGFncyA9IF9zZXNzaW9uLnByb2ZpbGUub3B0aW9ucy50YWdzO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbmRlcklkKSB0aGlzLnNlbmRlcnMkID0gdGhpcy5zZW5kZXJJZC52YWx1ZUNoYW5nZXMuXHJcbiAgICAgIHBpcGUoZGVib3VuY2VUaW1lKDI1MCksXHJcbiAgICAgICAgZmlsdGVyKHYgPT4gaXNTdHJpbmcodikpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgc3dpdGNoTWFwKHYgPT4gdGhpcy5fbWFpbGJveC5zZW5kZXJzKHYpKSk7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBkZWJvdW5jZVRpbWUoRklMVEVSX0RFQk9VTkNFKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZTogQnJvd3NlRmlsdGVyQXJncyA9IHsgLi4udiB9O1xyXG4gICAgICBjbGVhbnVwKHZhbHVlKTtcclxuICAgICAgdGhpcy52YWx1ZXNDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZXMpO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZSgpIHtcclxuICAgIGlmICh0aGlzLmZvbGRlcklkKSB7XHJcbiAgICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb2xkZXJzLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMuZm9sZGVySWQpO1xyXG4gICAgICBpZiAoZm9sZGVyLmZpbHRlcnMpXHJcbiAgICAgICAgdGhpcy5maWx0ZXJzID0gZm9sZGVyLmZpbHRlcnM7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jb25maWcuZm9sZGVycyAmJiB0aGlzLl9jb25maWcuZm9sZGVycy5heGVzKSB7XHJcbiAgICAgIGNvbnN0IHsgYXhlcywgY3ViZSB9ID0gdGhpcy5fY29uZmlnLmZvbGRlcnM7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgYXhlcywgY3ViZSB9O1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmZpbHRlcnMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheShrZXlWYWx1ZSkge1xyXG4gICAgcmV0dXJuIGtleVZhbHVlID8ga2V5VmFsdWUudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuICBjaGFuZ2UoYXhpczogc3RyaW5nLCBldnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sc1theGlzXS5zZXRWYWx1ZShldnQub3B0aW9uLnZhbHVlLmtleSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogQnJvd3NlRmlsdGVyQXJncykge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoT2JqZWN0LmFzc2lnbih7XHJcbiAgICAgIGNvbnRhaW5zOiBudWxsLFxyXG4gICAgICBmb3JtOiBudWxsLFxyXG4gICAgICBzdGF0ZTogbnVsbCxcclxuICAgICAgc2VuZGVySWQ6IG51bGwsXHJcbiAgICAgIGZsYWc6IG51bGwsXHJcbiAgICAgIHRhZzogbnVsbFxyXG4gICAgfSwgdmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBpZiAodmFsdWUuc2VuZGVySWQpXHJcbiAgICAgIHRoaXMuX2FjY291bnRzLmdldCh2YWx1ZS5zZW5kZXJJZCkuc3Vic2NyaWJlKHUgPT4gdGhpcy5zZW5kZXJJZC5zZXRWYWx1ZSh1LCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgdGhpcy5jaGlwcy52YWx1ZSA9IHZhbHVlLnRhZztcclxuICB9XHJcbiAgY2xlYXJTZW5kZXIoKSB7XHJcbiAgICB0aGlzLnNlbmRlcklkLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBzZW5kZXJJZDogbnVsbCB9KTtcclxuICB9XHJcbiAgYXhlc0NoYW5nZShheGVzOiBBeGVzTWFwKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgLi4udGhpcy5mb3JtLnZhbHVlLCAuLi5heGVzIH07XHJcbiAgICBjbGVhbnVwKHZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVzQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuICB0b2dnbGVUYWcoZXZ0OiBNYXRDaGlwTGlzdGJveENoYW5nZSkge1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRhZy5zZXRWYWx1ZSh0aGlzLmZvcm0uY29udHJvbHMudGFnLnZhbHVlICE9PSBldnQudmFsdWUgPyBldnQudmFsdWUgOiBudWxsKTtcclxuICB9XHJcbiAgZGlzcGxheUZuKGl0ZW06IFVzZXJJbmZvKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBpdGVtID8gaXRlbS5uYW1lIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuICBkcm9wKGV2dDogQ2RrRHJhZ0Ryb3A8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICBldnQuaXRlbS5kYXRhO1xyXG4gIH1cclxuICBzZW5kZXJTZWxlY3RlZChlOiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbmZvID0gZS5vcHRpb24udmFsdWUgYXMgVXNlckluZm87XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHNlbmRlcklkOiBpbmZvID8gaW5mby5pZCA6IG51bGwgfSk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMuY29udGFpbnMpIHRoaXMuY29udGFpbnMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5zZW5kZXIpIHRoaXMuc2VuZGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQnJvd3NlRmlsdGVyQXJncyB7XHJcbiAgZm9ybT86IHN0cmluZztcclxuICBmbGFnPzogYm9vbGVhbjtcclxuICBzdGF0ZT86IHN0cmluZztcclxuICBjb250YWlucz86IHN0cmluZztcclxuICBzZW5kZXJJZD86IHN0cmluZztcclxuICB0YWc/OiBzdHJpbmc7XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW4gZ2FwXCI+XG4gIEBpZiAoIWV4Y2x1ZGUgfHwgZXhjbHVkZS5pbmRleE9mKCdjb250YWlucycpIDwgMCkge1xuICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb250YWluc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwie3snQ29udGFpbnMnIHwgdHJhbnNsYXRlfX1cIiAjY29udGFpbnM+XG4gICAgQGlmIChmb3JtLnZhbHVlLmNvbnRhaW5zKSB7XG4gICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJcIiAoY2xpY2spPVwiZm9ybS5jb250cm9scy5jb250YWlucy5zZXRWYWx1ZShudWxsKVwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIH1cbiAgPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW21hdEF1dG9jb21wbGV0ZV09XCJzZW5kZXJzXCIgW3BsYWNlaG9sZGVyXT1cIidTZW5kZXInIHwgdHJhbnNsYXRlXCIgW2Zvcm1Db250cm9sXT1cInNlbmRlcklkXCIgI3NlbmRlciAvPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzZW5kZXJzIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIiAob3B0aW9uU2VsZWN0ZWQpPVwic2VuZGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgQGZvciAodSBvZiBzZW5kZXJzJCB8IGFzeW5jOyB0cmFjayB1KSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidVwiPlxuICAgICAgICA8c3Bhbj57e3UubmFtZX19PC9zcGFuPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICBAaWYgKHNlbmRlcklkLnZhbHVlKSB7XG4gICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhclNlbmRlcigpXCI+PG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICB9XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgPG1hdC1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cIidTdGF0dXMnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cInN0YXRlXCI+XG4gICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAge3sgJ0FsbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIEBmb3IgKHMgb2Ygc3RhdGVzOyB0cmFjayBzKSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwicy5uYW1lXCI+XG4gICAgICAgIHt7cy50aXRsZX19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCInRm9ybScgfCB0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJmb3JtXCI+XG4gICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAge3sgJ0FsbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIEBmb3IgKGYgb2YgZm9ybXM7IHRyYWNrIGYpIHtcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJmLm5hbWVcIj57e2YudGl0bGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtY2hpcC1saXN0Ym94IGlkPVwidGFnc1wiIChjaGFuZ2UpPVwidG9nZ2xlVGFnKCRldmVudClcIj5cbiAgICBAZm9yICh0YWcgb2YgdGFnczsgdHJhY2sgdGFnKSB7XG4gICAgPG1hdC1jaGlwLW9wdGlvbiBjb2xvcj1cImFjY2VudFwiPlxuICAgICAge3t0YWd9fVxuICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxuICAgIH1cbiAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICBAaWYgKGZpbHRlcnMpIHtcbiAgPGJpemRvYy1jdWJlLWZpbHRlciBjbGFzcz1cImN1YmUtZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY3ViZV09XCJmaWx0ZXJzLmN1YmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbmNsdWRlXT1cImZpbHRlcnMuYXhlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F4ZXNdPVwidmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYXhlc0NoYW5nZSk9XCJheGVzQ2hhbmdlKCRldmVudClcIj48L2JpemRvYy1jdWJlLWZpbHRlcj5cbiAgfVxuPC9mb3JtPlxuIl19
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYnJvd3NlL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9icm93c2UvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLFNBQVMsRUFBNEIsS0FBSyxFQUFFLFVBQVUsRUFBb0MsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXJMLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUF3QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUUvRSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFPNUIsNkJBQTZCO0FBQzdCLE1BQU0sT0FBTyxxQkFBcUI7SUEyQmhDLHlCQUF5QjtJQUN6QixZQUFvQixHQUFnQixFQUMxQixRQUF3QixFQUN4QixHQUFzQixFQUN0QixRQUF3QixFQUN4QixTQUF5QixFQUNGLE9BQXFCO1FBTGxDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsUUFBRyxHQUFILEdBQUcs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ZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBJbnB1dCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIHN3aXRjaE1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdGF0ZSwgRm9ybSwgVXNlckluZm8sIEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGNsZWFudXAsIGlzU3RyaW5nIH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IE1hdENoaXBMaXN0Ym94LCBNYXRDaGlwTGlzdGJveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuXHJcbmNvbnN0IEZJTFRFUl9ERUJPVU5DRSA9IDI1MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWJyb3dzZS1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiBicm93c2UtZmlsdGVyIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBCcm93c2VGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBwYXR0ZXJuID0gQVhJU19WQUxVRV9QQVRURVJOO1xyXG4gIEBJbnB1dCgpIHZhbHVlczogQnJvd3NlRmlsdGVyQXJncztcclxuICBASW5wdXQoKSBmb2xkZXJJZD86IHN0cmluZztcclxuICBASW5wdXQoKSBleGNsdWRlPzogc3RyaW5nW107XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QnJvd3NlRmlsdGVyQXJncz4oKTtcclxuICByZWFkb25seSBzZW5kZXJJZCA9IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwPEJyb3dzZUZpbHRlckFyZ3M+KHtcclxuICAgIGNvbnRhaW5zOiBudWxsLFxyXG4gICAgZm9ybTogbnVsbCxcclxuICAgIHN0YXRlOiBudWxsLFxyXG4gICAgc2VuZGVySWQ6IG51bGwsXHJcbiAgICB0YWc6IG51bGxcclxuICB9KTtcclxuICBmb3JtczogRm9ybVtdO1xyXG4gIHN0YXRlczogU3RhdGVbXTtcclxuICBzZW5kZXJzJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICB0YWdzOiBzdHJpbmdbXTtcclxuICBmaWx0ZXJzOiB7XHJcbiAgICBjdWJlPzogc3RyaW5nO1xyXG4gICAgYXhlczogc3RyaW5nW107XHJcbiAgfTtcclxuICBAVmlld0NoaWxkKE1hdENoaXBMaXN0Ym94LCB7IHN0YXRpYzogdHJ1ZSB9KSBjaGlwczogTWF0Q2hpcExpc3Rib3g7XHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbnMnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBjb250YWluczogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdzZW5kZXInLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBzZW5kZXI6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgcmVhZG9ubHkgc291cmNlczogeyBbZGF0YXR5cGU6IHN0cmluZ106IE9ic2VydmFibGU8eyBbbmFtZTogc3RyaW5nXTogYW55IH0+IH0gPSB7fTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogYnJvd3NlLWZpbHRlciBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMuc3RhdGVzID0gX3Nlc3Npb24ucHJvZmlsZS5zdGF0ZXM7XHJcbiAgICB0aGlzLmZvcm1zID0gX3Nlc3Npb24ucHJvZmlsZS5mb3JtcztcclxuICAgIHRoaXMudGFncyA9IF9zZXNzaW9uLnByb2ZpbGUub3B0aW9ucy50YWdzO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbmRlcklkKSB0aGlzLnNlbmRlcnMkID0gdGhpcy5zZW5kZXJJZC52YWx1ZUNoYW5nZXMuXHJcbiAgICAgIHBpcGUoZGVib3VuY2VUaW1lKDI1MCksXHJcbiAgICAgICAgZmlsdGVyKHYgPT4gaXNTdHJpbmcodikpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgc3dpdGNoTWFwKHYgPT4gdGhpcy5fbWFpbGJveC5zZW5kZXJzKHYpKSk7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBkZWJvdW5jZVRpbWUoRklMVEVSX0RFQk9VTkNFKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZTogQnJvd3NlRmlsdGVyQXJncyA9IHsgLi4udiB9O1xyXG4gICAgICBjbGVhbnVwKHZhbHVlKTtcclxuICAgICAgdGhpcy52YWx1ZXNDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZXMpO1xyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZSgpIHtcclxuICAgIGlmICh0aGlzLmZvbGRlcklkKSB7XHJcbiAgICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb2xkZXJzLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMuZm9sZGVySWQpO1xyXG4gICAgICBpZiAoZm9sZGVyLmZpbHRlcnMpXHJcbiAgICAgICAgdGhpcy5maWx0ZXJzID0gZm9sZGVyLmZpbHRlcnM7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLl9jb25maWcuZm9sZGVycyAmJiB0aGlzLl9jb25maWcuZm9sZGVycy5heGVzKSB7XHJcbiAgICAgIGNvbnN0IHsgYXhlcywgY3ViZSB9ID0gdGhpcy5fY29uZmlnLmZvbGRlcnM7XHJcbiAgICAgIHRoaXMuZmlsdGVycyA9IHsgYXhlcywgY3ViZSB9O1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmZpbHRlcnMgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgZGlzcGxheShrZXlWYWx1ZSkge1xyXG4gICAgcmV0dXJuIGtleVZhbHVlID8ga2V5VmFsdWUudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuICBjaGFuZ2UoYXhpczogc3RyaW5nLCBldnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sc1theGlzXS5zZXRWYWx1ZShldnQub3B0aW9uLnZhbHVlLmtleSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogQnJvd3NlRmlsdGVyQXJncykge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoT2JqZWN0LmFzc2lnbih7XHJcbiAgICAgIGNvbnRhaW5zOiBudWxsLFxyXG4gICAgICBmb3JtOiBudWxsLFxyXG4gICAgICBzdGF0ZTogbnVsbCxcclxuICAgICAgc2VuZGVySWQ6IG51bGwsXHJcbiAgICAgIGZsYWc6IG51bGwsXHJcbiAgICAgIHRhZzogbnVsbFxyXG4gICAgfSwgdmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBpZiAodmFsdWUuc2VuZGVySWQpXHJcbiAgICAgIHRoaXMuX2FjY291bnRzLmdldCh2YWx1ZS5zZW5kZXJJZCkuc3Vic2NyaWJlKHUgPT4gdGhpcy5zZW5kZXJJZC5zZXRWYWx1ZSh1LCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgdGhpcy5jaGlwcy52YWx1ZSA9IHZhbHVlLnRhZztcclxuICB9XHJcbiAgY2xlYXJTZW5kZXIoKSB7XHJcbiAgICB0aGlzLnNlbmRlcklkLnNldFZhbHVlKG51bGwpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoeyBzZW5kZXJJZDogbnVsbCB9KTtcclxuICB9XHJcbiAgYXhlc0NoYW5nZShheGVzOiBBeGVzTWFwKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgLi4udGhpcy5mb3JtLnZhbHVlLCAuLi5heGVzIH07XHJcbiAgICBjbGVhbnVwKHZhbHVlKTtcclxuICAgIHRoaXMudmFsdWVzQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuICB0b2dnbGVUYWcoZXZ0OiBNYXRDaGlwTGlzdGJveENoYW5nZSkge1xyXG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRhZy5zZXRWYWx1ZSh0aGlzLmZvcm0uY29udHJvbHMudGFnLnZhbHVlICE9PSBldnQudmFsdWUgPyBldnQudmFsdWUgOiBudWxsKTtcclxuICB9XHJcbiAgZGlzcGxheUZuKGl0ZW06IFVzZXJJbmZvKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiBpdGVtID8gaXRlbS5uYW1lIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuICBkcm9wKGV2dDogQ2RrRHJhZ0Ryb3A8c3RyaW5nLCBhbnk+KSB7XHJcbiAgICBldnQuaXRlbS5kYXRhO1xyXG4gIH1cclxuICBzZW5kZXJTZWxlY3RlZChlOiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XHJcbiAgICBjb25zdCBpbmZvID0gZS5vcHRpb24udmFsdWUgYXMgVXNlckluZm87XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHNlbmRlcklkOiBpbmZvID8gaW5mby5pZCA6IG51bGwgfSk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMuY29udGFpbnMpIHRoaXMuY29udGFpbnMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgZWxzZSBpZiAodGhpcy5zZW5kZXIpIHRoaXMuc2VuZGVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQnJvd3NlRmlsdGVyQXJncyB7XHJcbiAgZm9ybT86IHN0cmluZztcclxuICBmbGFnPzogYm9vbGVhbjtcclxuICBzdGF0ZT86IHN0cmluZztcclxuICBjb250YWlucz86IHN0cmluZztcclxuICBzZW5kZXJJZD86IHN0cmluZztcclxuICB0YWc/OiBzdHJpbmc7XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW4gZ2FwXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gIEBpZiAoIWV4Y2x1ZGUgfHwgZXhjbHVkZS5pbmRleE9mKCdjb250YWlucycpIDwgMCkge1xuICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb250YWluc1wiIHBsYWNlaG9sZGVyPVwie3snQ29udGFpbnMnIHwgdHJhbnNsYXRlfX1cIiAjY29udGFpbnM+XG4gICAgQGlmIChmb3JtLnZhbHVlLmNvbnRhaW5zKSB7XG4gICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJcIiAoY2xpY2spPVwiZm9ybS5jb250cm9scy5jb250YWlucy5zZXRWYWx1ZShudWxsKVwiPlxuICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICB9XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIH1cbiAgPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW21hdEF1dG9jb21wbGV0ZV09XCJzZW5kZXJzXCIgW3BsYWNlaG9sZGVyXT1cIidTZW5kZXInIHwgdHJhbnNsYXRlXCIgW2Zvcm1Db250cm9sXT1cInNlbmRlcklkXCIgI3NlbmRlciAvPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzZW5kZXJzIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIiAob3B0aW9uU2VsZWN0ZWQpPVwic2VuZGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgQGZvciAodSBvZiBzZW5kZXJzJCB8IGFzeW5jOyB0cmFjayB1KSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidVwiPlxuICAgICAgICA8c3Bhbj57e3UubmFtZX19PC9zcGFuPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICBAaWYgKHNlbmRlcklkLnZhbHVlKSB7XG4gICAgPGJ1dHRvbiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhclNlbmRlcigpXCI+PG1hdC1pY29uPmNsZWFyPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICB9XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgPG1hdC1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cIidTdGF0dXMnfHRyYW5zbGF0ZVwiIGZvcm1Db250cm9sTmFtZT1cInN0YXRlXCI+XG4gICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAge3sgJ0FsbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIEBmb3IgKHMgb2Ygc3RhdGVzOyB0cmFjayBzKSB7XG4gICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwicy5uYW1lXCI+XG4gICAgICAgIHt7cy50aXRsZX19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgICB9XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgIDxtYXQtc2VsZWN0IFtwbGFjZWhvbGRlcl09XCInRm9ybScgfCB0cmFuc2xhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJmb3JtXCI+XG4gICAgICA8bWF0LW9wdGlvbj5cbiAgICAgICAge3sgJ0FsbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIEBmb3IgKGYgb2YgZm9ybXM7IHRyYWNrIGYpIHtcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJmLm5hbWVcIj57e2YudGl0bGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtY2hpcC1saXN0Ym94IGlkPVwidGFnc1wiIChjaGFuZ2UpPVwidG9nZ2xlVGFnKCRldmVudClcIj5cbiAgICBAZm9yICh0YWcgb2YgdGFnczsgdHJhY2sgdGFnKSB7XG4gICAgPG1hdC1jaGlwLW9wdGlvbiBjb2xvcj1cImFjY2VudFwiPlxuICAgICAge3t0YWd9fVxuICAgIDwvbWF0LWNoaXAtb3B0aW9uPlxuICAgIH1cbiAgPC9tYXQtY2hpcC1saXN0Ym94PlxuICBAaWYgKGZpbHRlcnMpIHtcbiAgPGJpemRvYy1jdWJlLWZpbHRlciBjbGFzcz1cImN1YmUtZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY3ViZV09XCJmaWx0ZXJzLmN1YmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbmNsdWRlXT1cImZpbHRlcnMuYXhlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F4ZXNdPVwidmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYXhlc0NoYW5nZSk9XCJheGVzQ2hhbmdlKCRldmVudClcIj48L2JpemRvYy1jdWJlLWZpbHRlcj5cbiAgfVxuPC9mb3JtPlxuIl19
@@ -35,10 +35,10 @@ export class FoldersMenuComponent {
35
35
  this._mailbox.move(item.id, folder.name).subscribe();
36
36
  }
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FoldersMenuComponent, deps: [{ token: i1.SessionService }, { token: i2.MailboxService }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: { collapsed: "collapsed" }, outputs: { change: "change" }, ngImport: i0, template: "<mat-nav-list id=\"folders\" cdkDropList cdkDropListSortingDisabled (cdkDropListDropped)=\"drop($event)\"\n cdkDropListConnectedTo=\"browse-table\" [cdkDropListEnterPredicate]=\"canDrop\">\n <mat-list-item [slotRouterLink]=\"['mailbox/f/:type=flagged']\" slotRouterLinkActive=\"active\" (click)=\"change.emit()\">\n <mat-icon matListItemIcon [bizdocTooltip]=\"'Flagged'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">star_border</mat-icon>\n <span matListItemTitle>{{'Flagged'|translate}}</span>\n </mat-list-item>\n <mat-divider></mat-divider>\n @for (f of folders; track f) {\n <mat-list-item [attr.data-help]=\"'folder-'+f.name\" (click)=\"change.emit()\"\n [attr.aria-label]=\"f.title\" [slotRouterLink]=\"['mailbox/f', f.name]\" slotRouterLinkActive=\"active\">\n <mat-icon matListItemIcon [bizdocTooltip]=\"f.title\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">{{f.icon}}</mat-icon>\n <span matListItemTitle class=\"folder-title\">\n <span>\n {{f.title}}\n </span>\n @if (f.count) {\n <span>\n {{f.count}}\n </span>\n }\n </span>\n </mat-list-item>\n }\n</mat-nav-list>\n", styles: [".folder-title{display:flex!important;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.folder-title :first-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"], dependencies: [{ kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i8.SlotRouterDirective, selector: "[slotRouterLink]", inputs: ["slotRouterLink", "slotRouterLinkActive", "slotRouterLinkDisabled", "slotRouterLinkPolicy", "slotRouterLinkOptions"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [] }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FoldersMenuComponent, deps: [{ token: i1.SessionService }, { token: i2.MailboxService }], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: { collapsed: "collapsed" }, outputs: { change: "change" }, ngImport: i0, template: "<mat-nav-list id=\"folders\" cdkDropList cdkDropListSortingDisabled (cdkDropListDropped)=\"drop($event)\"\n cdkDropListConnectedTo=\"browse-table\" [cdkDropListEnterPredicate]=\"canDrop\">\n <mat-list-item [slotRouterLink]=\"['mailbox/f/:type=flagged']\" slotRouterLinkActive=\"active\" (click)=\"change.emit()\">\n <mat-icon matListItemIcon [bizdocTooltip]=\"'Flagged'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">star_border</mat-icon>\n <span matListItemTitle>{{'Flagged'|translate}}</span>\n </mat-list-item>\n <mat-divider></mat-divider>\n @for (f of folders; track f) {\n <mat-list-item [attr.data-help]=\"'folder-'+f.name\" (click)=\"change.emit()\"\n [attr.aria-label]=\"f.title\" [slotRouterLink]=\"['mailbox/f', f.name]\" slotRouterLinkActive=\"active\">\n <mat-icon matListItemIcon [bizdocTooltip]=\"f.title\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">{{f.icon}}</mat-icon>\n <span matListItemTitle class=\"folder-title\">\n <span>\n {{f.title}}\n </span>\n @if (f.count) {\n <span>\n {{f.count}}\n </span>\n }\n </span>\n </mat-list-item>\n }\n</mat-nav-list>\n", styles: [".folder-title{display:flex!important;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.folder-title :first-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"], dependencies: [{ kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i4.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i4.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i8.SlotRouterDirective, selector: "[slotRouterLink]", inputs: ["slotRouterLink", "slotRouterLinkActive", "slotRouterLinkDisabled", "slotRouterLinkPolicy", "slotRouterLinkOptions"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }], animations: [] }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FoldersMenuComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FoldersMenuComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'bizdoc-folders-menu', animations: [], template: "<mat-nav-list id=\"folders\" cdkDropList cdkDropListSortingDisabled (cdkDropListDropped)=\"drop($event)\"\n cdkDropListConnectedTo=\"browse-table\" [cdkDropListEnterPredicate]=\"canDrop\">\n <mat-list-item [slotRouterLink]=\"['mailbox/f/:type=flagged']\" slotRouterLinkActive=\"active\" (click)=\"change.emit()\">\n <mat-icon matListItemIcon [bizdocTooltip]=\"'Flagged'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">star_border</mat-icon>\n <span matListItemTitle>{{'Flagged'|translate}}</span>\n </mat-list-item>\n <mat-divider></mat-divider>\n @for (f of folders; track f) {\n <mat-list-item [attr.data-help]=\"'folder-'+f.name\" (click)=\"change.emit()\"\n [attr.aria-label]=\"f.title\" [slotRouterLink]=\"['mailbox/f', f.name]\" slotRouterLinkActive=\"active\">\n <mat-icon matListItemIcon [bizdocTooltip]=\"f.title\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">{{f.icon}}</mat-icon>\n <span matListItemTitle class=\"folder-title\">\n <span>\n {{f.title}}\n </span>\n @if (f.count) {\n <span>\n {{f.count}}\n </span>\n }\n </span>\n </mat-list-item>\n }\n</mat-nav-list>\n", styles: [".folder-title{display:flex!important;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.folder-title :first-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"] }]
44
44
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.MailboxService }], propDecorators: { collapsed: [{
@@ -55,10 +55,10 @@ export class ChatInfo {
55
55
  this._router.navigate(['contacts/c', contact.id]);
56
56
  }
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatInfo, deps: [{ token: BIZDOC_CONFIG }, { token: i1.RouterImpl }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatInfo, providedIn: 'root' }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatInfo, deps: [{ token: BIZDOC_CONFIG }, { token: i1.RouterImpl }, { token: i2.SessionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
59
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatInfo, providedIn: 'root' }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatInfo, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatInfo, decorators: [{
62
62
  type: Injectable,
63
63
  args: [{ providedIn: 'root' }]
64
64
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -10,10 +10,10 @@ export class ChatMobileComponent {
10
10
  this.contact = contact;
11
11
  this.contactChange.emit(contact);
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ChatMobileComponent, selector: "bizdoc-chat", inputs: { contact: "contact" }, outputs: { contactChange: "contactChange" }, ngImport: i0, template: "@if (contact) {\n <bizdoc-chat-conversation [contact]=\"contact\" class=\"flex\"></bizdoc-chat-conversation>\n} @else {\n <bizdoc-contacts (selected)=\"selected($event)\"></bizdoc-contacts>\n}\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;width:300px}\n"], dependencies: [{ kind: "component", type: i1.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }, { kind: "component", type: i2.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ChatMobileComponent, selector: "bizdoc-chat", inputs: { contact: "contact" }, outputs: { contactChange: "contactChange" }, ngImport: i0, template: "@if (contact) {\n <bizdoc-chat-conversation [contact]=\"contact\" class=\"flex\"></bizdoc-chat-conversation>\n} @else {\n <bizdoc-contacts (selected)=\"selected($event)\"></bizdoc-contacts>\n}\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;width:300px}\n"], dependencies: [{ kind: "component", type: i1.ConversationComponent, selector: "bizdoc-chat-conversation", inputs: ["contact"] }, { kind: "component", type: i2.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatMobileComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatMobileComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'bizdoc-chat', template: "@if (contact) {\n <bizdoc-chat-conversation [contact]=\"contact\" class=\"flex\"></bizdoc-chat-conversation>\n} @else {\n <bizdoc-contacts (selected)=\"selected($event)\"></bizdoc-contacts>\n}\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;height:100%;width:300px}\n"] }]
19
19
  }], propDecorators: { contact: [{
@@ -112,10 +112,10 @@ export class ChatService {
112
112
  });
113
113
  }));
114
114
  }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.HubService }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
116
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatService, providedIn: 'root' }); }
115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatService, deps: [{ token: i1.HttpClient }, { token: i2.HubService }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
116
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatService, providedIn: 'root' }); }
117
117
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ChatService, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ChatService, decorators: [{
119
119
  type: Injectable,
120
120
  args: [{ providedIn: 'root' }]
121
121
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.HubService }, { type: i3.SessionService }] });
@@ -38,10 +38,10 @@ export class HtmlSimplePipe {
38
38
  else
39
39
  return value.replace(HTML_EXP, '');
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HtmlSimplePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
42
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: HtmlSimplePipe, name: "htmlToText" }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: HtmlSimplePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
42
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: HtmlSimplePipe, name: "htmlToText" }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HtmlSimplePipe, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: HtmlSimplePipe, decorators: [{
45
45
  type: Pipe,
46
46
  args: [{ name: 'htmlToText' }]
47
47
  }] });
@@ -93,10 +93,10 @@ export class ContactsComponent {
93
93
  this._destroy.next();
94
94
  this._destroy.complete();
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ContactsComponent, deps: [{ token: i1.ChatService }, { token: i2.PromptService }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i0.ChangeDetectorRef }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ContactsComponent, selector: "bizdoc-contacts", outputs: { selected: "selected" }, ngImport: i0, template: "<!-- search -->\n<mat-form-field floatLabel=\"never\" class=\"search\">\n <input type=\"search\" matInput [formControl]=\"searchControl\" [matAutocomplete]=\"user\" placeholder=\"{{'SearchContacts' | translate}}\" />\n @if (searchControl.value) {\n <button mat-button matSuffix mat-icon-button aria-label=\"\" (click)=\"searchControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n <mat-autocomplete #user (optionSelected)=\"optionSelected($event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u.id\">\n {{u.name}}\n </mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>\n<!-- contacts -->\n<mat-nav-list>\n @for (c of contacts |filterBy:'forgotten':undefined| sort : 'time' : 'desc'; track c) {\n <mat-list-item (click)=\"open(c)\" [class.read]=\"c.visited>=c.time\">\n @if (c.name) {\n <bizdoc-avatar [person]=\"c\" [interactive]=\"false\"></bizdoc-avatar>\n }\n <h3 matListItemTitle>\n {{c.nick || c.name}}\n </h3>\n <div matListItemLine>\n <div class=\"chat-text\" [innerText]=\"c.text | htmlToText\"></div>\n </div>\n <p matListItemLine>\n <small [bizdocTooltip]=\"c.time | amCalendar\">{{c.time | amTimeAgo}}</small>\n @if (!c.accepted) {\n <small>\n {{'You' | translate }}\n </small>\n }\n @if (!c.accepted && c.watermark>=c.time) {\n <mat-icon class=\"watermark\">done_all</mat-icon>\n }\n </p>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\" class=\"tool\" >\n <mat-icon [matBadge]=\"c.count\" [matBadgeHidden]=\"!c.count\" matBadgeSize=\"medium\" matBadgeColor=\"accent\" matBadgePosition=\"before\" matBadgeOverlap=\"false\">more_vert</mat-icon>\n </button>\n <mat-menu #menu>\n <button mat-menu-item (click)=\"forget(c)\">{{'Forget'|translate}}</button>\n </mat-menu>\n </mat-list-item>\n }\n</mat-nav-list>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.search{padding:8px 8px 0;-moz-animation:width ease-in-out 1;-o-animation:width ease-in-out 1;-webkit-animation:width ease-in-out 1;animation:width ease-in-out 1}.search.collapse{width:0}.mat-mdc-nav-list{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}.mat-mdc-nav-list .mat-mdc-list-item .chat-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block}.mat-mdc-nav-list .mat-mdc-list-item .watermark{width:16px;height:16px;font-size:16px}.mat-mdc-nav-list .mat-mdc-list-item .tool{opacity:0}.mat-mdc-nav-list .mat-mdc-list-item:hover .tool{opacity:1}\n"], dependencies: [{ kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i8.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i9.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: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i9.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i13.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: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.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: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i16.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }, { kind: "directive", type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i18.AsyncPipe, name: "async" }, { kind: "pipe", type: i19.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i20.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: HtmlSimplePipe, name: "htmlToText" }, { kind: "pipe", type: i21.TranslatePipe, name: "translate" }, { kind: "pipe", type: i22.FilterPipe, name: "filterBy" }, { kind: "pipe", type: i22.ArraySortPipe, name: "sort" }] }); }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContactsComponent, deps: [{ token: i1.ChatService }, { token: i2.PromptService }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i0.ChangeDetectorRef }, { token: i5.HubService }], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: ContactsComponent, selector: "bizdoc-contacts", outputs: { selected: "selected" }, ngImport: i0, template: "<!-- search -->\n<mat-form-field floatLabel=\"never\" class=\"search\">\n <input type=\"search\" matInput [formControl]=\"searchControl\" [matAutocomplete]=\"user\" placeholder=\"{{'SearchContacts' | translate}}\" />\n @if (searchControl.value) {\n <button mat-button matSuffix mat-icon-button aria-label=\"\" (click)=\"searchControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n <mat-autocomplete #user (optionSelected)=\"optionSelected($event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u.id\">\n {{u.name}}\n </mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>\n<!-- contacts -->\n<mat-nav-list>\n @for (c of contacts |filterBy:'forgotten':undefined| sort : 'time' : 'desc'; track c) {\n <mat-list-item (click)=\"open(c)\" [class.read]=\"c.visited>=c.time\">\n @if (c.name) {\n <bizdoc-avatar [person]=\"c\" [interactive]=\"false\"></bizdoc-avatar>\n }\n <h3 matListItemTitle>\n {{c.nick || c.name}}\n </h3>\n <div matListItemLine>\n <div class=\"chat-text\" [innerText]=\"c.text | htmlToText\"></div>\n </div>\n <p matListItemLine>\n <small [bizdocTooltip]=\"c.time | amCalendar\">{{c.time | amTimeAgo}}</small>\n @if (!c.accepted) {\n <small>\n {{'You' | translate }}\n </small>\n }\n @if (!c.accepted && c.watermark>=c.time) {\n <mat-icon class=\"watermark\">done_all</mat-icon>\n }\n </p>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\" class=\"tool\" >\n <mat-icon [matBadge]=\"c.count\" [matBadgeHidden]=\"!c.count\" matBadgeSize=\"medium\" matBadgeColor=\"accent\" matBadgePosition=\"before\" matBadgeOverlap=\"false\">more_vert</mat-icon>\n </button>\n <mat-menu #menu>\n <button mat-menu-item (click)=\"forget(c)\">{{'Forget'|translate}}</button>\n </mat-menu>\n </mat-list-item>\n }\n</mat-nav-list>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.search{padding:8px 8px 0;-moz-animation:width ease-in-out 1;-o-animation:width ease-in-out 1;-webkit-animation:width ease-in-out 1;animation:width ease-in-out 1}.search.collapse{width:0}.mat-mdc-nav-list{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}.mat-mdc-nav-list .mat-mdc-list-item .chat-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block}.mat-mdc-nav-list .mat-mdc-list-item .watermark{width:16px;height:16px;font-size:16px}.mat-mdc-nav-list .mat-mdc-list-item .tool{opacity:0}.mat-mdc-nav-list .mat-mdc-list-item:hover .tool{opacity:1}\n"], dependencies: [{ kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i8.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i8.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i9.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: i10.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i9.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i12.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i13.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: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.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: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i16.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }, { kind: "directive", type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i18.AsyncPipe, name: "async" }, { kind: "pipe", type: i19.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i20.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: HtmlSimplePipe, name: "htmlToText" }, { kind: "pipe", type: i21.TranslatePipe, name: "translate" }, { kind: "pipe", type: i22.FilterPipe, name: "filterBy" }, { kind: "pipe", type: i22.ArraySortPipe, name: "sort" }] }); }
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ContactsComponent, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContactsComponent, decorators: [{
100
100
  type: Component,
101
101
  args: [{ selector: 'bizdoc-contacts', template: "<!-- search -->\n<mat-form-field floatLabel=\"never\" class=\"search\">\n <input type=\"search\" matInput [formControl]=\"searchControl\" [matAutocomplete]=\"user\" placeholder=\"{{'SearchContacts' | translate}}\" />\n @if (searchControl.value) {\n <button mat-button matSuffix mat-icon-button aria-label=\"\" (click)=\"searchControl.setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n }\n <mat-autocomplete #user (optionSelected)=\"optionSelected($event)\">\n @for (u of users$ | async; track u) {\n <mat-option [value]=\"u.id\">\n {{u.name}}\n </mat-option>\n }\n </mat-autocomplete>\n</mat-form-field>\n<!-- contacts -->\n<mat-nav-list>\n @for (c of contacts |filterBy:'forgotten':undefined| sort : 'time' : 'desc'; track c) {\n <mat-list-item (click)=\"open(c)\" [class.read]=\"c.visited>=c.time\">\n @if (c.name) {\n <bizdoc-avatar [person]=\"c\" [interactive]=\"false\"></bizdoc-avatar>\n }\n <h3 matListItemTitle>\n {{c.nick || c.name}}\n </h3>\n <div matListItemLine>\n <div class=\"chat-text\" [innerText]=\"c.text | htmlToText\"></div>\n </div>\n <p matListItemLine>\n <small [bizdocTooltip]=\"c.time | amCalendar\">{{c.time | amTimeAgo}}</small>\n @if (!c.accepted) {\n <small>\n {{'You' | translate }}\n </small>\n }\n @if (!c.accepted && c.watermark>=c.time) {\n <mat-icon class=\"watermark\">done_all</mat-icon>\n }\n </p>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\" class=\"tool\" >\n <mat-icon [matBadge]=\"c.count\" [matBadgeHidden]=\"!c.count\" matBadgeSize=\"medium\" matBadgeColor=\"accent\" matBadgePosition=\"before\" matBadgeOverlap=\"false\">more_vert</mat-icon>\n </button>\n <mat-menu #menu>\n <button mat-menu-item (click)=\"forget(c)\">{{'Forget'|translate}}</button>\n </mat-menu>\n </mat-list-item>\n }\n</mat-nav-list>\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.search{padding:8px 8px 0;-moz-animation:width ease-in-out 1;-o-animation:width ease-in-out 1;-webkit-animation:width ease-in-out 1;animation:width ease-in-out 1}.search.collapse{width:0}.mat-mdc-nav-list{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;overflow:auto}.mat-mdc-nav-list .mat-mdc-list-item .chat-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:150px;display:block}.mat-mdc-nav-list .mat-mdc-list-item .watermark{width:16px;height:16px;font-size:16px}.mat-mdc-nav-list .mat-mdc-list-item .tool{opacity:0}.mat-mdc-nav-list .mat-mdc-list-item:hover .tool{opacity:1}\n"] }]
102
102
  }], ctorParameters: () => [{ type: i1.ChatService }, { type: i2.PromptService }, { type: i3.SessionService }, { type: i4.AccountService }, { type: i0.ChangeDetectorRef }, { type: i5.HubService }], propDecorators: { selected: [{
@@ -14,10 +14,10 @@ export class ContactsPaneComponent {
14
14
  pathMode: 'relative'
15
15
  });
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ContactsPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ContactsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`, isInline: true, dependencies: [{ kind: "component", type: i4.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContactsPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ContactsPaneComponent, selector: "ng-component", host: { classAttribute: "pane" }, ngImport: i0, template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`, isInline: true, dependencies: [{ kind: "component", type: i4.ContactsComponent, selector: "bizdoc-contacts", outputs: ["selected"] }] }); }
19
19
  }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ContactsPaneComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ContactsPaneComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{
23
23
  template: `<bizdoc-contacts (selected)="selected($event)"></bizdoc-contacts>`,
@@ -173,10 +173,10 @@ export class ConversationComponent {
173
173
  this._input.text && this._input.text.length &&
174
174
  window.localStorage.setItem(this.contact.id, this._input.text);
175
175
  }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", 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 }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", 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 @if (!items.length) {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n\n @for (item of items; track trackBy(i, item); 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>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</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(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" }] }); }
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", 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 }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", 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 @if (!items.length) {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n\n @for (item of items; track trackBy(i, item); 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>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</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(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" }] }); }
178
178
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ConversationComponent, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ConversationComponent, decorators: [{
180
180
  type: Component,
181
181
  args: [{ selector: 'bizdoc-chat-conversation', template: "<div (wheel)=\"onScroll($event)\" class=\"chat-conversation\" #conversation>\n @if (!items.length) {\n <bizdoc-none title=\"Chat\" icon=\"chat\"></bizdoc-none>\n }\n\n @for (item of items; track trackBy(i, item); 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>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</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(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"] }]
182
182
  }], ctorParameters: () => [{ type: undefined, decorators: [{