@bizdoc/core 2.3.32 → 2.3.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/assets/bizdoc-schema.json +1 -0
  2. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  3. package/esm2022/lib/admin/admin-menu.component.mjs +5 -5
  4. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  5. package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
  6. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  7. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  8. package/esm2022/lib/admin/architecture/designer.component.mjs +16 -8
  9. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  12. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  13. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  14. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  15. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  28. package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  33. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  35. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  47. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  48. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  50. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  51. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  52. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  53. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  54. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +5 -5
  55. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  56. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  57. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  58. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +3 -3
  59. package/esm2022/lib/admin/form/designer/design-control.component.mjs +3 -3
  60. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  61. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  62. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  63. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  64. package/esm2022/lib/admin/form/workflow/node.component.mjs +3 -3
  65. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +3 -3
  66. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  67. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  68. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  69. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  70. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  71. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  72. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  73. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  74. package/esm2022/lib/admin/system.service.mjs +3 -3
  75. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  76. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  77. package/esm2022/lib/app.component.mjs +6 -6
  78. package/esm2022/lib/bizdoc.module.mjs +4 -4
  79. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  80. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  81. package/esm2022/lib/browse/browse.pane.component.mjs +22 -11
  82. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  83. package/esm2022/lib/browse/filter/filter.component.mjs +28 -38
  84. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  85. package/esm2022/lib/chat/chat-info.mjs +3 -3
  86. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  87. package/esm2022/lib/chat/chat.service.mjs +3 -3
  88. package/esm2022/lib/chat/contacts.component.mjs +15 -14
  89. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  90. package/esm2022/lib/chat/conversation.component.mjs +5 -5
  91. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -3
  92. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  93. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  94. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  95. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  96. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  97. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  98. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  99. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  100. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  101. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  102. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  103. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  104. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  105. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  106. package/esm2022/lib/compose/comments/comments.component.mjs +3 -3
  107. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  108. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  109. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  110. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  111. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  112. package/esm2022/lib/compose/compose-resolve.service.mjs +6 -6
  113. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  114. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  115. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  116. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  117. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  118. package/esm2022/lib/compose/document.component.mjs +3 -3
  119. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  120. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  121. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  122. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  123. package/esm2022/lib/compose/form.component.mjs +3 -3
  124. package/esm2022/lib/compose/new-menu.component.mjs +5 -5
  125. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  126. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  127. package/esm2022/lib/compose/state.component.mjs +3 -3
  128. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  129. package/esm2022/lib/compose/trace/flow.component.mjs +8 -4
  130. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  131. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  132. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  133. package/esm2022/lib/compose/trace/trace.pane.component.mjs +7 -9
  134. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  135. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  136. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  137. package/esm2022/lib/core/StickyToolbar.mjs +3 -3
  138. package/esm2022/lib/core/account.service.mjs +3 -3
  139. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  140. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  141. package/esm2022/lib/core/checkbox.mjs +3 -3
  142. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  143. package/esm2022/lib/core/datasource.service.mjs +3 -3
  144. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  145. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  146. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  147. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  148. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  149. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  150. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  151. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  152. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  153. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  154. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  155. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  156. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  157. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  158. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  159. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  160. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  161. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  162. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  163. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  166. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  167. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  168. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  169. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  170. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  171. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  172. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  173. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  174. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  175. package/esm2022/lib/core/fields/tags.field.mjs +3 -3
  176. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  177. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  178. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  179. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  180. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  181. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  183. package/esm2022/lib/core/guide/guide.component.mjs +8 -8
  184. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  185. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  186. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  187. package/esm2022/lib/core/hub.service.mjs +3 -3
  188. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  189. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  190. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  191. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  192. package/esm2022/lib/core/info/map-info.mjs +3 -3
  193. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  194. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  195. package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
  196. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  197. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  198. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  199. package/esm2022/lib/core/inputs/select.input.mjs +3 -3
  200. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  201. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  202. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  203. package/esm2022/lib/core/layout.component.mjs +3 -3
  204. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  205. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  206. package/esm2022/lib/core/none.component.mjs +3 -3
  207. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  208. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  209. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  210. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  211. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  212. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  213. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  215. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  216. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  218. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  219. package/esm2022/lib/core/pipes/sort.pipe.mjs +9 -9
  220. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  221. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
  222. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  223. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  224. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  225. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  226. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  227. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  228. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  229. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  230. package/esm2022/lib/core/prompt.service.mjs +3 -3
  231. package/esm2022/lib/core/router.mjs +6 -6
  232. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  233. package/esm2022/lib/core/session.service.mjs +3 -3
  234. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  235. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  236. package/esm2022/lib/core/slots/slots.component.mjs +32 -32
  237. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  238. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  239. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  240. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  241. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  242. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  243. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  244. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  245. package/esm2022/lib/core/translate.service.mjs +3 -3
  246. package/esm2022/lib/core/translations.mjs +27 -7
  247. package/esm2022/lib/core/window-title.service.mjs +3 -3
  248. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  249. package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
  250. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  251. package/esm2022/lib/cube/cube-menu.component.mjs +5 -5
  252. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  253. package/esm2022/lib/cube/cube.service.mjs +3 -3
  254. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  255. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  256. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  257. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  258. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  259. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  260. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  261. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  262. package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
  263. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  264. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  265. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  266. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  267. package/esm2022/lib/cube/matrix/table.component.mjs +122 -101
  268. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  269. package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
  270. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
  271. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.mjs +3 -3
  272. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  273. package/esm2022/lib/cube/view-base.mjs +3 -3
  274. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  275. package/esm2022/lib/cube/view.pane.component.mjs +27 -13
  276. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  277. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  278. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  279. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  280. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  281. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  282. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  283. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  284. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  285. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  286. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  287. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  288. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  289. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  290. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  291. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  292. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  293. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  294. package/esm2022/lib/designer.module.mjs +4 -4
  295. package/esm2022/lib/desktop.module.mjs +5 -8
  296. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  297. package/esm2022/lib/home/home-base.component.mjs +5 -5
  298. package/esm2022/lib/home/home.desktop.component.mjs +133 -42
  299. package/esm2022/lib/home/home.mobile.component.mjs +5 -5
  300. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  301. package/esm2022/lib/home/options/options.component.mjs +34 -37
  302. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +5 -5
  303. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  304. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  305. package/esm2022/lib/mobile.module.mjs +4 -4
  306. package/esm2022/lib/modules/chart.module.mjs +4 -4
  307. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  308. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  309. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  310. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  311. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  312. package/esm2022/lib/modules/grid.module.mjs +4 -4
  313. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  314. package/esm2022/lib/modules/material.module.mjs +4 -4
  315. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  316. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  317. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  318. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  319. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  320. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  321. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  322. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  323. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  324. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  325. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  326. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  327. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  328. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  329. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  330. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  331. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  332. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  333. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  334. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  335. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  336. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  337. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  338. package/esm2022/lib/options/options.component.mjs +72 -81
  339. package/esm2022/lib/options/options.service.mjs +9 -29
  340. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  341. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  342. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  343. package/esm2022/lib/reports/cube/role-performance.component.mjs +3 -3
  344. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  345. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  346. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  347. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  348. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  349. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  350. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  351. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  352. package/esm2022/lib/reports/report.pane.component.mjs +28 -11
  353. package/esm2022/lib/reports/reports-menu.component.mjs +5 -5
  354. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  355. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  356. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  357. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  358. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  359. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  360. package/esm2022/lib/search/cube.component.mjs +9 -7
  361. package/esm2022/lib/search/document.component.mjs +6 -6
  362. package/esm2022/lib/search/guide.component.mjs +10 -9
  363. package/esm2022/lib/search/path.component.mjs +6 -6
  364. package/esm2022/lib/search/search.service.mjs +3 -3
  365. package/esm2022/lib/shared.module.mjs +7 -7
  366. package/esm2022/lib/system.module.mjs +9 -5
  367. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  368. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  369. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  370. package/esm2022/lib/views/cube/matrix.component.mjs +7 -5
  371. package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
  372. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  373. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  374. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  375. package/esm2022/lib/views/timeline/timeline.component.mjs +3 -3
  376. package/esm2022/lib/views/view-item.component.mjs +3 -3
  377. package/esm2022/lib/views/views.component.mjs +3 -3
  378. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  379. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  380. package/esm2022/public-api.mjs +2 -1
  381. package/fesm2022/bizdoc-core.mjs +3203 -3120
  382. package/fesm2022/bizdoc-core.mjs.map +1 -1
  383. package/lib/admin/architecture/designer.component.d.ts +2 -1
  384. package/lib/browse/browse.pane.component.d.ts +3 -2
  385. package/lib/browse/filter/filter.component.d.ts +2 -5
  386. package/lib/compose/trace/trace.pane.component.d.ts +1 -1
  387. package/lib/core/guide/guide.component.d.ts +1 -1
  388. package/lib/core/slots/slots.component.d.ts +6 -4
  389. package/lib/core/translations.d.ts +22 -2
  390. package/lib/cube/matrix/table.component.d.ts +13 -7
  391. package/lib/cube/view.pane.component.d.ts +8 -3
  392. package/lib/desktop.module.d.ts +37 -38
  393. package/lib/home/home-base.component.d.ts +1 -1
  394. package/lib/home/home.desktop.component.d.ts +31 -6
  395. package/lib/home/home.mobile.component.d.ts +1 -1
  396. package/lib/home/options/options.component.d.ts +10 -13
  397. package/lib/options/options.component.d.ts +18 -21
  398. package/lib/options/options.service.d.ts +2 -7
  399. package/lib/reports/report.pane.component.d.ts +8 -2
  400. package/lib/shared.module.d.ts +1 -1
  401. package/lib/views/cube/matrix.component.d.ts +2 -0
  402. package/package.json +6 -6
  403. package/public-api.d.ts +1 -0
  404. package/esm2022/lib/home/tools.component.mjs +0 -82
  405. package/lib/home/tools.component.d.ts +0 -35
@@ -13,8 +13,8 @@ let SignatureControlDesigner = class SignatureControlDesigner {
13
13
  hint: null,
14
14
  });
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SignatureControlDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: SignatureControlDesigner, selector: "ng-component", ngImport: i0, template: `
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SignatureControlDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SignatureControlDesigner, selector: "ng-component", ngImport: i0, template: `
18
18
  <form autocomplete="off" [formGroup]="form" class="column">
19
19
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
20
20
  <bizdoc-localized-string [placeholder]="'Hint'|translate" formControlName="hint"></bizdoc-localized-string>
@@ -24,7 +24,7 @@ SignatureControlDesigner = __decorate([
24
24
  BizDoc({ selector: 'signature-control-designer' })
25
25
  ], SignatureControlDesigner);
26
26
  export { SignatureControlDesigner };
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SignatureControlDesigner, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SignatureControlDesigner, decorators: [{
28
28
  type: Component,
29
29
  args: [{
30
30
  template: `
@@ -35,14 +35,14 @@ let SignatureField = class SignatureField {
35
35
  this.control = new FormControl();
36
36
  _session.themeChange.pipe(startWith(_session.theme)).subscribe(t => this.strokeColor = t.dark ? 'white' : 'black');
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SignatureField, deps: [{ token: i1.SessionService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: SignatureField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <div class=\"column signature-pad\">\n <mat-label>{{label |localizedString}}</mat-label>\n <canvas ejs-signature #signature id=\"signature\" (created)=\"created()\" (change)=\"change($event)\" [strokeColor]=\"strokeColor\"></canvas>\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n <div class=\"tools\">\n <button mat-icon-button (click)=\"clear()\" [bizdocTooltip]=\"'Clear'|translate\" [disabled]=\"!control.value\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </div>\n </div>\n} @else {\n <img [src]=\"src\" />\n}\n", styles: [".signature-pad{position:relative}.tools{position:absolute;left:0;bottom:0}\n"], dependencies: [{ kind: "component", type: i3.SignatureComponent, selector: "[ejs-signature]", inputs: ["backgroundColor", "backgroundImage", "disabled", "enablePersistence", "enableRtl", "isReadOnly", "locale", "maxStrokeWidth", "minStrokeWidth", "saveWithBackground", "strokeColor", "velocity"], outputs: ["focus", "blur", "beforeSave", "change", "created"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { 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: "pipe", type: i8.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SignatureField, deps: [{ token: i1.SessionService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: SignatureField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <div class=\"column signature-pad\">\n <mat-label>{{label |localizedString}}</mat-label>\n <canvas ejs-signature #signature id=\"signature\" (created)=\"created()\" (change)=\"change($event)\" [strokeColor]=\"strokeColor\"></canvas>\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n <div class=\"tools\">\n <button mat-icon-button (click)=\"clear()\" [bizdocTooltip]=\"'Clear'|translate\" [disabled]=\"!control.value\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </div>\n </div>\n} @else {\n <img [src]=\"src\" />\n}\n", styles: [".signature-pad{position:relative}.tools{position:absolute;left:0;bottom:0}\n"], dependencies: [{ kind: "component", type: i3.SignatureComponent, selector: "[ejs-signature]", inputs: ["backgroundColor", "backgroundImage", "disabled", "enablePersistence", "enableRtl", "isReadOnly", "locale", "maxStrokeWidth", "minStrokeWidth", "saveWithBackground", "strokeColor", "velocity"], outputs: ["focus", "blur", "beforeSave", "change", "created"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { 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: "pipe", type: i8.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
40
40
  };
41
41
  SignatureField = __decorate([
42
42
  BizDoc({ selector: 'signature-control' })
43
43
  ], SignatureField);
44
44
  export { SignatureField };
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SignatureField, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SignatureField, decorators: [{
46
46
  type: Component,
47
47
  args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <div class=\"column signature-pad\">\n <mat-label>{{label |localizedString}}</mat-label>\n <canvas ejs-signature #signature id=\"signature\" (created)=\"created()\" (change)=\"change($event)\" [strokeColor]=\"strokeColor\"></canvas>\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n <div class=\"tools\">\n <button mat-icon-button (click)=\"clear()\" [bizdocTooltip]=\"'Clear'|translate\" [disabled]=\"!control.value\" type=\"button\"><mat-icon>delete</mat-icon></button>\n </div>\n </div>\n} @else {\n <img [src]=\"src\" />\n}\n", styles: [".signature-pad{position:relative}.tools{position:absolute;left:0;bottom:0}\n"] }]
48
48
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.DomSanitizer }], propDecorators: { input: [{
@@ -18,14 +18,14 @@ let SwitchField = class SwitchField {
18
18
  this.required && this.control.addValidators(Validators.requiredTrue);
19
19
  this.mode !== 'compose' && this.control.disable();
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SwitchField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: SwitchField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatSlideToggle, descendants: true }], ngImport: i0, template: "@if (mode === 'compose') {\n <div>\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-slide-toggle [formControl]=control> {{ label |localizedString }}</mat-slide-toggle>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n <mat-slide-toggle [formControl]=control> {{ label |localizedString }}</mat-slide-toggle>\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i4.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SwitchField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: SwitchField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatSlideToggle, descendants: true }], ngImport: i0, template: "@if (mode === 'compose') {\n <div>\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-slide-toggle [formControl]=control> {{ label |localizedString }}</mat-slide-toggle>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n <mat-slide-toggle [formControl]=control> {{ label |localizedString }}</mat-slide-toggle>\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i4.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
23
23
  };
24
24
  SwitchField = __decorate([
25
25
  BizDoc({ selector: 'switch-control' })
26
26
  ], SwitchField);
27
27
  export { SwitchField };
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: SwitchField, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SwitchField, decorators: [{
29
29
  type: Component,
30
30
  args: [{ host: { class: 'field' }, template: "@if (mode === 'compose') {\n <div>\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-slide-toggle [formControl]=control> {{ label |localizedString }}</mat-slide-toggle>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n <mat-slide-toggle [formControl]=control> {{ label |localizedString }}</mat-slide-toggle>\n}\n" }]
31
31
  }], propDecorators: { input: [{
@@ -14,14 +14,14 @@ let TagsControlDesigner = class TagsControlDesigner {
14
14
  }
15
15
  onBind(model) {
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TagsControlDesigner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: TagsControlDesigner, selector: "bizdoc-tags-designer", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <div class=\"row\">\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.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: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TagsControlDesigner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: TagsControlDesigner, selector: "bizdoc-tags-designer", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <div class=\"row\">\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.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: i2.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
19
19
  };
20
20
  TagsControlDesigner = __decorate([
21
21
  BizDoc({ selector: 'tags-control-designer' })
22
22
  ], TagsControlDesigner);
23
23
  export { TagsControlDesigner };
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TagsControlDesigner, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TagsControlDesigner, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'bizdoc-tags-designer', template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <div class=\"row\">\r\n </div>\r\n</form>\r\n" }]
27
27
  }] });
@@ -34,14 +34,14 @@ let ChipsField = class ChipsField {
34
34
  this.tags.remove(name);
35
35
  this.control.setValue(this.tags.length ? this.tags : null);
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: ChipsField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: ChipsField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance class=\"flex\">\n <mat-label>{{label |localizedString}}</mat-label>\n <mat-chip-grid #chips\n [formControl]=\"control\"\n [attr.aria-label]=\"label\">\n @for (t of (control.value || []); track t) {\n <mat-chip-row\n removable (removed)=\"removeTag(t)\">\n {{t}}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n <input [matChipInputFor]=\"chips\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addTag($event)\">\n </mat-chip-grid>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n </mat-form-field>\n } @else {\n @if (control.value) {\n <mat-chip-set>\n @for (t of control.value; track t) {\n <mat-chip>{{t}}</mat-chip>\n }\n </mat-chip-set>\n }\n }\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.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: i2.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ChipsField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: ChipsField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance class=\"flex\">\n <mat-label>{{label |localizedString}}</mat-label>\n <mat-chip-grid #chips\n [formControl]=\"control\"\n [attr.aria-label]=\"label\">\n @for (t of (control.value || []); track t) {\n <mat-chip-row\n removable (removed)=\"removeTag(t)\">\n {{t}}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n <input [matChipInputFor]=\"chips\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addTag($event)\">\n </mat-chip-grid>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n </mat-form-field>\n } @else {\n @if (control.value) {\n <mat-chip-set>\n @for (t of control.value; track t) {\n <mat-chip>{{t}}</mat-chip>\n }\n </mat-chip-set>\n }\n }\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.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: i2.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i2.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i2.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i2.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
39
39
  };
40
40
  ChipsField = __decorate([
41
41
  BizDoc({ selector: 'tags-control' })
42
42
  ], ChipsField);
43
43
  export { ChipsField };
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: ChipsField, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ChipsField, decorators: [{
45
45
  type: Component,
46
46
  args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance class=\"flex\">\n <mat-label>{{label |localizedString}}</mat-label>\n <mat-chip-grid #chips\n [formControl]=\"control\"\n [attr.aria-label]=\"label\">\n @for (t of (control.value || []); track t) {\n <mat-chip-row\n removable (removed)=\"removeTag(t)\">\n {{t}}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n <input [matChipInputFor]=\"chips\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\n [matChipInputAddOnBlur]=\"true\"\n (matChipInputTokenEnd)=\"addTag($event)\">\n </mat-chip-grid>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n </mat-form-field>\n } @else {\n @if (control.value) {\n <mat-chip-set>\n @for (t of control.value; track t) {\n <mat-chip>{{t}}</mat-chip>\n }\n </mat-chip-set>\n }\n }\n" }]
47
47
  }], propDecorators: { input: [{
@@ -19,14 +19,14 @@ let TextAreaFieldDesigner = class TextAreaFieldDesigner {
19
19
  suffixIcon: null
20
20
  });
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TextAreaFieldDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: TextAreaFieldDesigner, selector: "bizdoc-textarea-designer", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <div class=\"row\">\r\n <mat-form-field flex>\r\n <mat-label>{{'MinLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"minLength\" type=\"number\" />\r\n </mat-form-field>&nbsp;\r\n <mat-form-field flex>\r\n <mat-label>{{'MaxLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"maxLength\" type=\"number\" />\r\n </mat-form-field>\r\n </div>\r\n</form>\r\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.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: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TextAreaFieldDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: TextAreaFieldDesigner, selector: "bizdoc-textarea-designer", ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <div class=\"row\">\r\n <mat-form-field flex>\r\n <mat-label>{{'MinLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"minLength\" type=\"number\" />\r\n </mat-form-field>&nbsp;\r\n <mat-form-field flex>\r\n <mat-label>{{'MaxLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"maxLength\" type=\"number\" />\r\n </mat-form-field>\r\n </div>\r\n</form>\r\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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { 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.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: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.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: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
24
24
  };
25
25
  TextAreaFieldDesigner = __decorate([
26
26
  BizDoc({ selector: 'textarea-control-designer' })
27
27
  ], TextAreaFieldDesigner);
28
28
  export { TextAreaFieldDesigner };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TextAreaFieldDesigner, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TextAreaFieldDesigner, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'bizdoc-textarea-designer', template: "<form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <bizdoc-localized-string [placeholder]=\"'Label'|translate\" formControlName=\"label\"></bizdoc-localized-string>\r\n <bizdoc-localized-string [placeholder]=\"'Placeholder'|translate\" formControlName=\"placeholder\"></bizdoc-localized-string>\r\n <div class=\"row\">\r\n <mat-form-field flex>\r\n <mat-label>{{'MinLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"minLength\" type=\"number\" />\r\n </mat-form-field>&nbsp;\r\n <mat-form-field flex>\r\n <mat-label>{{'MaxLength'|translate}}</mat-label>\r\n <input matInput formControlName=\"maxLength\" type=\"number\" />\r\n </mat-form-field>\r\n </div>\r\n</form>\r\n" }]
32
32
  }], ctorParameters: () => [{ type: i1.FormBuilder }] });
@@ -20,14 +20,14 @@ let TextareaField = class TextareaField {
20
20
  this.required && this.control.addValidators(Validators.required);
21
21
  }
22
22
  focus() { this.input.focus(); }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TextareaField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: TextareaField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance class=\"flex\">\n <mat-label>{{label |localizedString}}</mat-label>\n <textarea matInput [formControl]=control cdkTextareaAutosize [placeholder]=\"placeholder|localizedString\"\n [required]=\"required\" [minlength]=\"minLength\" [maxlength]=\"maxLength\" [pattern]=\"pattern\"></textarea>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (maxLength) {\n <mat-hint align=\"end\">{{control.value?.length || 0}} / {{maxLength}}</mat-hint>\n }\n </mat-form-field>\n} @else {\n <p [innerHTML]=\"control.value\"></p>\n}\n", dependencies: [{ 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TextareaField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: TextareaField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance class=\"flex\">\n <mat-label>{{label |localizedString}}</mat-label>\n <textarea matInput [formControl]=control cdkTextareaAutosize [placeholder]=\"placeholder|localizedString\"\n [required]=\"required\" [minlength]=\"minLength\" [maxlength]=\"maxLength\" [pattern]=\"pattern\"></textarea>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (maxLength) {\n <mat-hint align=\"end\">{{control.value?.length || 0}} / {{maxLength}}</mat-hint>\n }\n </mat-form-field>\n} @else {\n <p [innerHTML]=\"control.value\"></p>\n}\n", dependencies: [{ 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "pipe", type: i5.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
25
25
  };
26
26
  TextareaField = __decorate([
27
27
  BizDoc({ selector: 'textarea-control' })
28
28
  ], TextareaField);
29
29
  export { TextareaField };
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TextareaField, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TextareaField, decorators: [{
31
31
  type: Component,
32
32
  args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance class=\"flex\">\n <mat-label>{{label |localizedString}}</mat-label>\n <textarea matInput [formControl]=control cdkTextareaAutosize [placeholder]=\"placeholder|localizedString\"\n [required]=\"required\" [minlength]=\"minLength\" [maxlength]=\"maxLength\" [pattern]=\"pattern\"></textarea>\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n @if (maxLength) {\n <mat-hint align=\"end\">{{control.value?.length || 0}} / {{maxLength}}</mat-hint>\n }\n </mat-form-field>\n} @else {\n <p [innerHTML]=\"control.value\"></p>\n}\n" }]
33
33
  }], propDecorators: { input: [{
@@ -16,8 +16,8 @@ let TimeControlDesigner = class TimeControlDesigner {
16
16
  max: null,
17
17
  });
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimeControlDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: TimeControlDesigner, selector: "bizdoc-time-designer", ngImport: i0, template: `
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimeControlDesigner, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: TimeControlDesigner, selector: "bizdoc-time-designer", ngImport: i0, template: `
21
21
  <form autocomplete="off" [formGroup]="form" class="column">
22
22
  <bizdoc-localized-string [placeholder]="'Label'|translate" formControlName="label"></bizdoc-localized-string>
23
23
  <bizdoc-localized-string [placeholder]="'Placeholder'|translate" formControlName="placeholder"></bizdoc-localized-string>
@@ -27,7 +27,7 @@ TimeControlDesigner = __decorate([
27
27
  BizDoc({ selector: 'time-control-designer' })
28
28
  ], TimeControlDesigner);
29
29
  export { TimeControlDesigner };
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimeControlDesigner, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimeControlDesigner, decorators: [{
31
31
  type: Component,
32
32
  args: [{
33
33
  selector: 'bizdoc-time-designer',
@@ -22,14 +22,14 @@ let TimeField = class TimeField {
22
22
  this.min && this.control.addValidators(Validators.min(this.min));
23
23
  this.max && this.control.addValidators(Validators.max(this.max));
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimeField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: TimeField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance>\n <mat-label>{{label|localizedString}}</mat-label>\n <mat-time-picker [placeholder]=\"placeholder|localizedString\" [formControl]=control\n [required]=\"required\">\n </mat-time-picker>\n @if (hint) {\n <mat-hint> {{ hint|localizedString }}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </mat-form-field>\n} @else {\n @if (control.value) {\n <span>{{control.value | amDateFormat: 'll'}}</span>\n }\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3.TimePicker, selector: "mat-time-picker", inputs: ["dateControlName", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: i4.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i5.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimeField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: TimeField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatInput, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance>\n <mat-label>{{label|localizedString}}</mat-label>\n <mat-time-picker [placeholder]=\"placeholder|localizedString\" [formControl]=control\n [required]=\"required\">\n </mat-time-picker>\n @if (hint) {\n <mat-hint> {{ hint|localizedString }}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </mat-form-field>\n} @else {\n @if (control.value) {\n <span>{{control.value | amDateFormat: 'll'}}</span>\n }\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i3.TimePicker, selector: "mat-time-picker", inputs: ["dateControlName", "placeholder", "required", "disabled", "value"] }, { kind: "pipe", type: i4.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i5.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
27
27
  };
28
28
  TimeField = __decorate([
29
29
  BizDoc({ selector: 'time-control' })
30
30
  ], TimeField);
31
31
  export { TimeField };
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimeField, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimeField, decorators: [{
33
33
  type: Component,
34
34
  args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <mat-form-field [appearance]=appearance>\n <mat-label>{{label|localizedString}}</mat-label>\n <mat-time-picker [placeholder]=\"placeholder|localizedString\" [formControl]=control\n [required]=\"required\">\n </mat-time-picker>\n @if (hint) {\n <mat-hint> {{ hint|localizedString }}</mat-hint>\n }\n @if (control.hasError('required')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </mat-form-field>\n} @else {\n @if (control.value) {\n <span>{{control.value | amDateFormat: 'll'}}</span>\n }\n}\n" }]
35
35
  }], propDecorators: { input: [{
@@ -18,8 +18,8 @@ let TimespanField = class TimespanField {
18
18
  ngOnInit() {
19
19
  this.required && this.control.addValidators(Validators.required);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimespanField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: TimespanField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: TimespanInput, descendants: true }], ngImport: i0, template: `<mat-form-field [appearance]=appearance>
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimespanField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: TimespanField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: TimespanInput, descendants: true }], ngImport: i0, template: `<mat-form-field [appearance]=appearance>
23
23
  <mat-label >{{label |localizedString}}</mat-label>
24
24
  <bizdoc-timespan-input
25
25
  [placeholder]="placeholder|localizedString" [formControl]=control
@@ -37,7 +37,7 @@ TimespanField = __decorate([
37
37
  BizDoc({ selector: 'timespan-control' })
38
38
  ], TimespanField);
39
39
  export { TimespanField };
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimespanField, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimespanField, decorators: [{
41
41
  type: Component,
42
42
  args: [{
43
43
  template: `<mat-form-field [appearance]=appearance>
@@ -65,14 +65,14 @@ let TimespanControlDesigner = class TimespanControlDesigner {
65
65
  }
66
66
  ngOnInit() {
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimespanControlDesigner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: TimespanControlDesigner, selector: "ng-component", ngImport: i0, template: ``, isInline: true }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimespanControlDesigner, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: TimespanControlDesigner, selector: "ng-component", ngImport: i0, template: ``, isInline: true }); }
70
70
  };
71
71
  TimespanControlDesigner = __decorate([
72
72
  BizDoc({ selector: 'timespan-control-designer' })
73
73
  ], TimespanControlDesigner);
74
74
  export { TimespanControlDesigner };
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: TimespanControlDesigner, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TimespanControlDesigner, decorators: [{
76
76
  type: Component,
77
77
  args: [{ template: `` }]
78
78
  }] });
@@ -20,8 +20,8 @@ let YesNoControlDesigner = class YesNoControlDesigner extends OptionsControlDesi
20
20
  defaultValue: null,
21
21
  });
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: YesNoControlDesigner, deps: [{ token: i1.SystemService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: YesNoControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: YesNoControlDesigner, deps: [{ token: i1.SystemService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: YesNoControlDesigner, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
25
25
  <form autocomplete="off" [formGroup]="form" class="column">
26
26
  @if (datatypes) {
27
27
  <mat-form-field>
@@ -58,7 +58,7 @@ YesNoControlDesigner = __decorate([
58
58
  BizDoc({ selector: 'yesno-control-designer' })
59
59
  ], YesNoControlDesigner);
60
60
  export { YesNoControlDesigner };
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: YesNoControlDesigner, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: YesNoControlDesigner, decorators: [{
62
62
  type: Component,
63
63
  args: [{
64
64
  template: `
@@ -17,14 +17,14 @@ let YesNoField = class YesNoField {
17
17
  ngOnInit() {
18
18
  this.required && this.control.addValidators(Validators.requiredTrue);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: YesNoField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: YesNoField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <div>\n <!-- @if (label)<mat-label>{{label|localizedString}}</mat-label>}-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: i4.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: YesNoField, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: YesNoField, selector: "ng-component", host: { classAttribute: "field" }, viewQueries: [{ propertyName: "input", first: true, predicate: MatRadioButton, descendants: true }], ngImport: i0, template: "@if (mode==='compose') {\n <div>\n <!-- @if (label)<mat-label>{{label|localizedString}}</mat-label>}-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: i4.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
22
22
  };
23
23
  YesNoField = __decorate([
24
24
  BizDoc({ selector: 'yesno-control' })
25
25
  ], YesNoField);
26
26
  export { YesNoField };
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: YesNoField, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: YesNoField, decorators: [{
28
28
  type: Component,
29
29
  args: [{ host: { class: 'field' }, template: "@if (mode==='compose') {\n <div>\n <!-- @if (label)<mat-label>{{label|localizedString}}</mat-label>}-->\n @if (hint) {\n <mat-hint> {{ hint |localizedString}}</mat-hint>\n }\n <mat-radio-group [formControl]=control>\n <mat-radio-button [value]=\"true\">{{'Yes'|translate}}</mat-radio-button>\n <mat-radio-button [value]=\"false\">{{'No'|translate}}</mat-radio-button>\n </mat-radio-group>\n @if (control.hasError('requiredTrue')) {\n <mat-error [innerHTML]=\"'RequiredErr'|translate:(label|localizedString)\"></mat-error>\n }\n </div>\n} @else {\n {{(control.value?'Yes':'No')|translate}}\n}\n" }]
30
30
  }], propDecorators: { input: [{
@@ -162,7 +162,7 @@ export class GuideComponent {
162
162
  }
163
163
  else
164
164
  positionStrategy = this._overlay.position().global().centerVertically().centerHorizontally();
165
- //this._data.name && localStorage.setItem(this._data.name + '_guide_step', this.index.toString());
165
+ this._data.name && localStorage.setItem(this._data.name + '_guide_step', this.index.toString());
166
166
  this.index = index;
167
167
  this.step = step;
168
168
  this.working = false;
@@ -194,22 +194,22 @@ export class GuideComponent {
194
194
  prev() {
195
195
  this._moveBy(-1);
196
196
  }
197
- close(dismiss) {
197
+ close(done) {
198
198
  this._overlayRef.detach();
199
- this._clear();
199
+ done && this._clear();
200
200
  }
201
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: GuideComponent, deps: [{ token: TOUR_TOKEN }, { token: i1.SessionService }, { token: i2.Overlay }, { token: i3.Router }, { token: i2.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
202
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\n <div class=\"column content\">\n <div class=\"row\">\n @if (step?.title) {\n <h2 class=\"mat-h2\">{{step?.title}}</h2>\n }\n <span class=\"divider\"></span>\n @if (index < count - 1) {\n <button mat-icon-button (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n </div>\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\n </p>\n <div class=\"row center\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n @if (index >= count - 1) {\n <button mat-button (click)=\"close()\">{{'GuideFinish'|translate}}</button>\n }\n </div>\n </div>\n <div class=\"tooltip-container\">\n <div class=\"tooltip\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [trigger('body', [
201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GuideComponent, deps: [{ token: TOUR_TOKEN }, { token: i1.SessionService }, { token: i2.Overlay }, { token: i3.Router }, { token: i2.OverlayRef }], target: i0.ɵɵFactoryTarget.Component }); }
202
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: GuideComponent, selector: "ng-component", host: { listeners: { "window:keydown": "keydown($event)" } }, ngImport: i0, template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\n <div class=\"column content\">\n <div class=\"row\">\n @if (step?.title) {\n <h2 class=\"mat-h2\">{{step?.title}}</h2>\n }\n <span class=\"divider\"></span>\n @if (index < count - 1) {\n <button mat-icon-button (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n </div>\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\n </p>\n <div class=\"row center\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n @if (index >= count - 1) {\n <button mat-button (click)=\"close(true)\">{{'GuideFinish'|translate}}</button>\n }\n </div>\n </div>\n <div class=\"tooltip-container\">\n <div class=\"tooltip\"></div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [trigger('body', [
203
203
  state('here', style({ width: '*', height: '*' })),
204
204
  transition('*<=>*', animate('250ms', style({})))
205
205
  ])] }); }
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: GuideComponent, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GuideComponent, decorators: [{
208
208
  type: Component,
209
209
  args: [{ animations: [trigger('body', [
210
210
  state('here', style({ width: '*', height: '*' })),
211
211
  transition('*<=>*', animate('250ms', style({})))
212
- ])], template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\n <div class=\"column content\">\n <div class=\"row\">\n @if (step?.title) {\n <h2 class=\"mat-h2\">{{step?.title}}</h2>\n }\n <span class=\"divider\"></span>\n @if (index < count - 1) {\n <button mat-icon-button (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n </div>\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\n </p>\n <div class=\"row center\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n @if (index >= count - 1) {\n <button mat-button (click)=\"close()\">{{'GuideFinish'|translate}}</button>\n }\n </div>\n </div>\n <div class=\"tooltip-container\">\n <div class=\"tooltip\"></div>\n </div>\n</div>\n" }]
212
+ ])], template: "<div class=\"container\" [style.display]=\"step ? '': 'none'\" cdkTrapFocus>\n <div class=\"column content\">\n <div class=\"row\">\n @if (step?.title) {\n <h2 class=\"mat-h2\">{{step?.title}}</h2>\n }\n <span class=\"divider\"></span>\n @if (index < count - 1) {\n <button mat-icon-button (click)=\"close()\"><mat-icon>close</mat-icon></button>\n }\n </div>\n <p class=\"mat-body\" [innerHTML]=\"step?.content | sanitizeHtml\">\n </p>\n <div class=\"row center\">\n <span class=\"divider\"></span>\n <button mat-icon-button (click)=\"prev()\" [disabled]=\"index < 1 || working\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\n <button mat-icon-button (click)=\"next()\" [disabled]=\"index >= count - 1 || working\" cdkFocusInitial><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_right</mat-icon></button>\n @if (index >= count - 1) {\n <button mat-button (click)=\"close(true)\">{{'GuideFinish'|translate}}</button>\n }\n </div>\n </div>\n <div class=\"tooltip-container\">\n <div class=\"tooltip\"></div>\n </div>\n</div>\n" }]
213
213
  }], ctorParameters: () => [{ type: undefined, decorators: [{
214
214
  type: Inject,
215
215
  args: [TOUR_TOKEN]
@@ -217,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
217
217
  type: HostListener,
218
218
  args: ['window:keydown', ['$event']]
219
219
  }] } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2d1aWRlL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9ndWlkZS9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFHMUMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFRLE9BQU8sQ0FBQyxDQUFDO0FBRTdELE1BQU0sS0FBSyxHQUF3QixDQUFDO1FBQ2xDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztLQUMvQixFQUFFO1FBQ0QsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLEtBQUs7UUFDZixVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO0tBQ2hDLEVBQUU7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8s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QUFPLENBQUMsTUFBTSxFQUFFOzRCQUMzQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ2pELFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFBQyxDQUFDLENBQUM7OzBCQVFsRCxNQUFNOzJCQUFDLFVBQVU7MElBbUZwQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgZmlyc3RWYWx1ZUZyb20sIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHdWlkZVN0ZXAsIEd1aWRlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgb3V0T2ZCb3VuZCB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBUT1VSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEd1aWRlPignZ3VpZGUnKTtcclxuXHJcbmNvbnN0IEJFTE9XOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW3tcclxuICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gIG9yaWdpblk6ICdib3R0b20nLFxyXG4gIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gIG92ZXJsYXlZOiAndG9wJyxcclxuICBwYW5lbENsYXNzOiBbJ2JlbG93JywgJ3N0YXJ0J11cclxufSwge1xyXG4gIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gIG9yaWdpblk6ICdib3R0b20nLFxyXG4gIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgcGFuZWxDbGFzczogWydiZWxvdycsICdjZW50ZXInXVxyXG59LCB7XHJcbiAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gIG92ZXJsYXlZOiAndG9wJyxcclxuICBwYW5lbENsYXNzOiBbJ2JlbG93JywgJ2VuZCddXHJcbn1dLFxyXG4gIEFCT1ZFOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW3tcclxuICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhYm92ZScsICdzdGFydCddXHJcbiAgfSxcclxuICB7XHJcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhYm92ZScsICdjZW50ZXInXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhYm92ZScsICdlbmQnXVxyXG4gIH1dLFxyXG4gIEFGVEVSOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW3tcclxuICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWZ0ZXInLCAnc3RhcnQnXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgcGFuZWxDbGFzczogWydhZnRlcicsICdjZW50ZXInXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhZnRlcicsICdlbmQnXVxyXG4gIH1dLFxyXG4gIEJFRk9SRTogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICBwYW5lbENsYXNzOiBbJ2JlZm9yZScsICdzdGFydCddXHJcbiAgfSwge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgcGFuZWxDbGFzczogWydiZWZvcmUnLCAnY2VudGVyJ11cclxuICB9LCB7XHJcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICBwYW5lbENsYXNzOiBbJ2JlZm9yZScsICdlbmQnXVxyXG4gIH1dO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2d1aWRlLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignYm9keScsIFtcclxuICAgIHN0YXRlKCdoZXJlJywgc3R5bGUoeyB3aWR0aDogJyonLCBoZWlnaHQ6ICcqJyB9KSksXHJcbiAgICB0cmFuc2l0aW9uKCcqPD0+KicsIGFuaW1hdGUoJzI1MG1zJywgc3R5bGUoe30pKSldKV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEd1aWRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzdGVwOiBHdWlkZVN0ZXA7XHJcbiAgaW5kZXggPSAtMTtcclxuICByZWFkb25seSBjb3VudDogbnVtYmVyID0gdGhpcy5fZGF0YS5zdGVwcy5sZW5ndGg7XHJcbiAgd29ya2luZyA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFRPVVJfVE9LRU4pXHJcbiAgICBwcml2YXRlIF9kYXRhOiBHdWlkZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX25nUm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2RhdGEubmFtZSkge1xyXG4gICAgICBjb25zdCBsYXN0aW5kZXggPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9kYXRhLm5hbWUgKyAnX2d1aWRlX3N0ZXAnKTtcclxuICAgICAgaWYgKGxhc3RpbmRleCkge1xyXG4gICAgICAgIHRoaXMuaW5kZXggPSBOdW1iZXIucGFyc2VJbnQobGFzdGluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fbW92ZUJ5KDEpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gc3RlcHNcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIF9tb3ZlQnkoc3RlcHM6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4ICsgc3RlcHM7XHJcbiAgICBpZiAoKGluZGV4IDwgMCkgfHwgKGluZGV4ID4gdGhpcy5jb3VudCAtIDEpKSB7XHJcbiAgICAgIHRoaXMuX2NsZWFyKCk7XHJcbiAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuX2RhdGEuc3RlcHNbaW5kZXhdO1xyXG4gICAgY29uc3QgeyBzZWxlY3RvciwgcG9zaXRpb24sIG5hdmlnYXRlLCBleGVjdXRlIH0gPSBzdGVwO1xyXG4gICAgaWYgKG5hdmlnYXRlKVxyXG4gICAgICBhd2FpdCB0aGlzLl9uZ1JvdXRlci5uYXZpZ2F0ZUJ5VXJsKG5hdmlnYXRlKTtcclxuICAgIGxldCBwb3NpdGlvblN0cmF0ZWd5OiBQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgaWYgKHNlbGVjdG9yKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKGBHdWlkZSAke3RoaXMuX2RhdGEubmFtZX0gc2VsZWN0b3IgJyR7c2VsZWN0b3J9JyBub3QgZm91bmQuIHNraXBwaW5nLmApO1xyXG4gICAgICAgIHRoaXMuX21vdmVCeShzdGVwcyA8IDAgPyBzdGVwcyAtIDEgOiBzdGVwcyArIDEpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsZXQgcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdO1xyXG4gICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnQWJvdmUnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkFCT1ZFLCAuLi5CRUxPVywgLi4uQUZURVIsIC4uLkJFRk9SRV07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdFbmQnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkFGVEVSLCAuLi5CRUZPUkUsIC4uLkJFTE9XLCAuLi5BQk9WRV07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdTdGFydCc6XHJcbiAgICAgICAgICBwb3NpdGlvbnMgPSBbLi4uQkVGT1JFLCAuLi5BRlRFUiwgLi4uQkVMT1csIC4uLkFCT1ZFXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0JlbG93JzpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUxPVywgLi4uQkVGT1JFLCAuLi5BQk9WRSwgLi4uQUZURVJdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUZPUkUsIC4uLkJFTE9XLCAuLi5BQk9WRSwgLi4uQUZURVJdO1xyXG4gICAgICB9XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuXHJcbiAgICAgICAgZmxleGlibGVDb25uZWN0ZWRUbyhuZXcgRWxlbWVudFJlZihlbGVtZW50KSkuXHJcbiAgICAgICAgd2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpLlxyXG4gICAgICAgIHdpdGhHcm93QWZ0ZXJPcGVuKCk7XHJcbiAgICAgIGlmIChvdXRPZkJvdW5kKGVsZW1lbnQpKSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbShpbnRlcnZhbCgxNTApLnBpcGUoXHJcbiAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4gb3V0T2ZCb3VuZChlbGVtZW50KSkpKTtcclxuICAgICAgfVxyXG4gICAgICBleGVjdXRlICYmXHJcbiAgICAgICAgZWxlbWVudC5jbGljaygpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlclZlcnRpY2FsbHkoKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcclxuXHJcbiAgICAvL3RoaXMuX2RhdGEubmFtZSAmJiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9kYXRhLm5hbWUgKyAnX2d1aWRlX3N0ZXAnLCB0aGlzLmluZGV4LnRvU3RyaW5nKCkpO1xyXG4gICAgdGhpcy5pbmRleCA9IGluZGV4O1xyXG4gICAgdGhpcy5zdGVwID0gc3RlcDtcclxuICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3kpO1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jbGVhcigpIHtcclxuICAgIHRoaXMuX2RhdGEubmFtZSAmJiBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLl9kYXRhLm5hbWUgKyAnX2d1aWRlX3N0ZXAnKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBrZXlkb3duKGV2dDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKHRoaXMud29ya2luZykgcmV0dXJuO1xyXG4gICAgc3dpdGNoIChldnQua2V5KSB7XHJcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XHJcbiAgICAgICAgdGhpcy5fbW92ZUJ5KHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uID09PSAnbHRyJyA/IC0xIDogMSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxyXG4gICAgICAgIHRoaXMuX21vdmVCeSh0aGlzLl9zZXNzaW9uLmRpcmVjdGlvbiA9PT0gJ2x0cicgPyAxIDogLTEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdFc2NhcGUnOlxyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLl9tb3ZlQnkoMSk7XHJcbiAgfVxyXG4gIHByZXYoKSB7XHJcbiAgICB0aGlzLl9tb3ZlQnkoLTEpO1xyXG4gIH1cclxuICBjbG9zZShkaXNtaXNzPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuX2NsZWFyKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbc3R5bGUuZGlzcGxheV09XCJzdGVwID8gJyc6ICdub25lJ1wiIGNka1RyYXBGb2N1cz5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgQGlmIChzdGVwPy50aXRsZSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJtYXQtaDJcIj57e3N0ZXA/LnRpdGxlfX08L2gyPlxuICAgICAgfVxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgQGlmIChpbmRleCA8IGNvdW50IC0gMSkge1xuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiPjxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPHAgY2xhc3M9XCJtYXQtYm9keVwiIFtpbm5lckhUTUxdPVwic3RlcD8uY29udGVudCB8IHNhbml0aXplSHRtbFwiPlxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGNlbnRlclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInByZXYoKVwiIFtkaXNhYmxlZF09XCJpbmRleCA8IDEgfHwgd29ya2luZ1wiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJuZXh0KClcIiBbZGlzYWJsZWRdPVwiaW5kZXggPj0gY291bnQgLSAxIHx8IHdvcmtpbmdcIiBjZGtGb2N1c0luaXRpYWw+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIEBpZiAoaW5kZXggPj0gY291bnQgLSAxKSB7XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiPnt7J0d1aWRlRmluaXNoJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInRvb2x0aXBcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2d1aWRlL2d1aWRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9ndWlkZS9ndWlkZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUFHMUMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFRLE9BQU8sQ0FBQyxDQUFDO0FBRTdELE1BQU0sS0FBSyxHQUF3QixDQUFDO1FBQ2xDLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztLQUMvQixFQUFFO1FBQ0QsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLEtBQUs7UUFDZixVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO0tBQ2hDLEVBQUU7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8s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QUM7Z0JBQ2pELFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUFDLENBQUMsQ0FBQzs7MkZBRTFDLGNBQWM7a0JBTjFCLFNBQVM7aUNBRUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFOzRCQUMzQixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7NEJBQ2pELFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFBQyxDQUFDLENBQUM7OzBCQVFsRCxNQUFNOzJCQUFDLFVBQVU7MElBbUZwQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbmplY3Rpb25Ub2tlbiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYsIFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCwgZmlyc3RWYWx1ZUZyb20sIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHdWlkZVN0ZXAsIEd1aWRlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgb3V0T2ZCb3VuZCB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBUT1VSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEd1aWRlPignZ3VpZGUnKTtcclxuXHJcbmNvbnN0IEJFTE9XOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW3tcclxuICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gIG9yaWdpblk6ICdib3R0b20nLFxyXG4gIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gIG92ZXJsYXlZOiAndG9wJyxcclxuICBwYW5lbENsYXNzOiBbJ2JlbG93JywgJ3N0YXJ0J11cclxufSwge1xyXG4gIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gIG9yaWdpblk6ICdib3R0b20nLFxyXG4gIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgcGFuZWxDbGFzczogWydiZWxvdycsICdjZW50ZXInXVxyXG59LCB7XHJcbiAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gIG92ZXJsYXlZOiAndG9wJyxcclxuICBwYW5lbENsYXNzOiBbJ2JlbG93JywgJ2VuZCddXHJcbn1dLFxyXG4gIEFCT1ZFOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW3tcclxuICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhYm92ZScsICdzdGFydCddXHJcbiAgfSxcclxuICB7XHJcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhYm92ZScsICdjZW50ZXInXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhYm92ZScsICdlbmQnXVxyXG4gIH1dLFxyXG4gIEFGVEVSOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW3tcclxuICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgIHBhbmVsQ2xhc3M6IFsnYWZ0ZXInLCAnc3RhcnQnXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgcGFuZWxDbGFzczogWydhZnRlcicsICdjZW50ZXInXVxyXG4gIH0sXHJcbiAge1xyXG4gICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgcGFuZWxDbGFzczogWydhZnRlcicsICdlbmQnXVxyXG4gIH1dLFxyXG4gIEJFRk9SRTogQ29ubmVjdGVkUG9zaXRpb25bXSA9IFt7XHJcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICBwYW5lbENsYXNzOiBbJ2JlZm9yZScsICdzdGFydCddXHJcbiAgfSwge1xyXG4gICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgcGFuZWxDbGFzczogWydiZWZvcmUnLCAnY2VudGVyJ11cclxuICB9LCB7XHJcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxyXG4gICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICBvdmVybGF5WDogJ2VuZCcsXHJcbiAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICBwYW5lbENsYXNzOiBbJ2JlZm9yZScsICdlbmQnXVxyXG4gIH1dO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2d1aWRlLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbdHJpZ2dlcignYm9keScsIFtcclxuICAgIHN0YXRlKCdoZXJlJywgc3R5bGUoeyB3aWR0aDogJyonLCBoZWlnaHQ6ICcqJyB9KSksXHJcbiAgICB0cmFuc2l0aW9uKCcqPD0+KicsIGFuaW1hdGUoJzI1MG1zJywgc3R5bGUoe30pKSldKV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEd1aWRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzdGVwOiBHdWlkZVN0ZXA7XHJcbiAgaW5kZXggPSAtMTtcclxuICByZWFkb25seSBjb3VudDogbnVtYmVyID0gdGhpcy5fZGF0YS5zdGVwcy5sZW5ndGg7XHJcbiAgd29ya2luZyA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KFRPVVJfVE9LRU4pXHJcbiAgICBwcml2YXRlIF9kYXRhOiBHdWlkZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcclxuICAgIHByaXZhdGUgX25nUm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2RhdGEubmFtZSkge1xyXG4gICAgICBjb25zdCBsYXN0aW5kZXggPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9kYXRhLm5hbWUgKyAnX2d1aWRlX3N0ZXAnKTtcclxuICAgICAgaWYgKGxhc3RpbmRleCkge1xyXG4gICAgICAgIHRoaXMuaW5kZXggPSBOdW1iZXIucGFyc2VJbnQobGFzdGluZGV4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5fbW92ZUJ5KDEpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gc3RlcHNcclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIF9tb3ZlQnkoc3RlcHM6IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmluZGV4ICsgc3RlcHM7XHJcbiAgICBpZiAoKGluZGV4IDwgMCkgfHwgKGluZGV4ID4gdGhpcy5jb3VudCAtIDEpKSB7XHJcbiAgICAgIHRoaXMuX2NsZWFyKCk7XHJcbiAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuX2RhdGEuc3RlcHNbaW5kZXhdO1xyXG4gICAgY29uc3QgeyBzZWxlY3RvciwgcG9zaXRpb24sIG5hdmlnYXRlLCBleGVjdXRlIH0gPSBzdGVwO1xyXG4gICAgaWYgKG5hdmlnYXRlKVxyXG4gICAgICBhd2FpdCB0aGlzLl9uZ1JvdXRlci5uYXZpZ2F0ZUJ5VXJsKG5hdmlnYXRlKTtcclxuICAgIGxldCBwb3NpdGlvblN0cmF0ZWd5OiBQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgaWYgKHNlbGVjdG9yKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgICAgY29uc29sZS53YXJuKGBHdWlkZSAke3RoaXMuX2RhdGEubmFtZX0gc2VsZWN0b3IgJyR7c2VsZWN0b3J9JyBub3QgZm91bmQuIHNraXBwaW5nLmApO1xyXG4gICAgICAgIHRoaXMuX21vdmVCeShzdGVwcyA8IDAgPyBzdGVwcyAtIDEgOiBzdGVwcyArIDEpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsZXQgcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdO1xyXG4gICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnQWJvdmUnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkFCT1ZFLCAuLi5CRUxPVywgLi4uQUZURVIsIC4uLkJFRk9SRV07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdFbmQnOlxyXG4gICAgICAgICAgcG9zaXRpb25zID0gWy4uLkFGVEVSLCAuLi5CRUZPUkUsIC4uLkJFTE9XLCAuLi5BQk9WRV07XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdTdGFydCc6XHJcbiAgICAgICAgICBwb3NpdGlvbnMgPSBbLi4uQkVGT1JFLCAuLi5BRlRFUiwgLi4uQkVMT1csIC4uLkFCT1ZFXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0JlbG93JzpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUxPVywgLi4uQkVGT1JFLCAuLi5BQk9WRSwgLi4uQUZURVJdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHBvc2l0aW9ucyA9IFsuLi5CRUZPUkUsIC4uLkJFTE9XLCAuLi5BQk9WRSwgLi4uQUZURVJdO1xyXG4gICAgICB9XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuXHJcbiAgICAgICAgZmxleGlibGVDb25uZWN0ZWRUbyhuZXcgRWxlbWVudFJlZihlbGVtZW50KSkuXHJcbiAgICAgICAgd2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpLlxyXG4gICAgICAgIHdpdGhHcm93QWZ0ZXJPcGVuKCk7XHJcbiAgICAgIGlmIChvdXRPZkJvdW5kKGVsZW1lbnQpKSB7XHJcbiAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbShpbnRlcnZhbCgxNTApLnBpcGUoXHJcbiAgICAgICAgICB0YWtlV2hpbGUoKCkgPT4gb3V0T2ZCb3VuZChlbGVtZW50KSkpKTtcclxuICAgICAgfVxyXG4gICAgICBleGVjdXRlICYmXHJcbiAgICAgICAgZWxlbWVudC5jbGljaygpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlclZlcnRpY2FsbHkoKS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcclxuXHJcbiAgICB0aGlzLl9kYXRhLm5hbWUgJiYgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fZGF0YS5uYW1lICsgJ19ndWlkZV9zdGVwJywgdGhpcy5pbmRleC50b1N0cmluZygpKTtcclxuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuc3RlcCA9IHN0ZXA7XHJcbiAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9kYXRhLm5hbWUgJiYgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fZGF0YS5uYW1lICsgJ19ndWlkZV9zdGVwJyk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAga2V5ZG93bihldnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLndvcmtpbmcpIHJldHVybjtcclxuICAgIHN3aXRjaCAoZXZ0LmtleSkge1xyXG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxyXG4gICAgICAgIHRoaXMuX21vdmVCeSh0aGlzLl9zZXNzaW9uLmRpcmVjdGlvbiA9PT0gJ2x0cicgPyAtMSA6IDEpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcclxuICAgICAgICB0aGlzLl9tb3ZlQnkodGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb24gPT09ICdsdHInID8gMSA6IC0xKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnRXNjYXBlJzpcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5fbW92ZUJ5KDEpO1xyXG4gIH1cclxuICBwcmV2KCkge1xyXG4gICAgdGhpcy5fbW92ZUJ5KC0xKTtcclxuICB9XHJcbiAgY2xvc2UoZG9uZT86IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICBkb25lICYmIHRoaXMuX2NsZWFyKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbc3R5bGUuZGlzcGxheV09XCJzdGVwID8gJyc6ICdub25lJ1wiIGNka1RyYXBGb2N1cz5cbiAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgQGlmIChzdGVwPy50aXRsZSkge1xuICAgICAgICA8aDIgY2xhc3M9XCJtYXQtaDJcIj57e3N0ZXA/LnRpdGxlfX08L2gyPlxuICAgICAgfVxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgQGlmIChpbmRleCA8IGNvdW50IC0gMSkge1xuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoKVwiPjxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPHAgY2xhc3M9XCJtYXQtYm9keVwiIFtpbm5lckhUTUxdPVwic3RlcD8uY29udGVudCB8IHNhbml0aXplSHRtbFwiPlxuICAgIDwvcD5cbiAgICA8ZGl2IGNsYXNzPVwicm93IGNlbnRlclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInByZXYoKVwiIFtkaXNhYmxlZF09XCJpbmRleCA8IDEgfHwgd29ya2luZ1wiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5rZXlib2FyZF9hcnJvd19sZWZ0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJuZXh0KClcIiBbZGlzYWJsZWRdPVwiaW5kZXggPj0gY291bnQgLSAxIHx8IHdvcmtpbmdcIiBjZGtGb2N1c0luaXRpYWw+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmtleWJvYXJkX2Fycm93X3JpZ2h0PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIEBpZiAoaW5kZXggPj0gY291bnQgLSAxKSB7XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UodHJ1ZSlcIj57eydHdWlkZUZpbmlzaCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwXCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -107,10 +107,10 @@ export class GuideService {
107
107
  !this.seen(guide.name) && this._session.guide(guide.name).subscribe();
108
108
  return gRef;
109
109
  }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: GuideService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: GuideService, providedIn: 'root' }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GuideService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
111
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GuideService, providedIn: 'root' }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: GuideService, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GuideService, decorators: [{
114
114
  type: Injectable,
115
115
  args: [{ providedIn: 'root' }]
116
116
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.SessionService }, { type: i3.TranslateService }, { type: undefined, decorators: [{
@@ -22,8 +22,8 @@ export class HelpTipComponent {
22
22
  localStorage.setItem(this.name + 'tip', '1');
23
23
  this.showTip = false;
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: HelpTipComponent, deps: [{ token: i1.GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: HelpTipComponent, selector: "bizdoc-help-tip", inputs: { name: "name" }, ngImport: i0, template: `
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HelpTipComponent, deps: [{ token: i1.GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: HelpTipComponent, selector: "bizdoc-help-tip", inputs: { name: "name" }, ngImport: i0, template: `
27
27
  @if (showTip) {
28
28
  <p class="row form-help-tip">
29
29
  <mat-icon>help_outline</mat-icon> &nbsp;<span (click)="open($event)" [innerHTML]="'HelpTip'|translate: _message" class="mat-body-1"></span>
@@ -32,7 +32,7 @@ export class HelpTipComponent {
32
32
  }
33
33
  `, isInline: true, styles: [".form-help-tip{align-items:center;border:1px rgb(0 0 0 / 38%) solid;margin:10px;border-radius:3px;padding:0 8px}\n"], dependencies: [{ kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: HelpTipComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HelpTipComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ template: `
38
38
  @if (showTip) {
@@ -49,10 +49,10 @@ export class AppHttpInterceptor {
49
49
  this._ongoingCounter$ = new Subject();
50
50
  this.active$ = this._ongoingCounter$.asObservable().pipe(map(c => c > 0));
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: AppHttpInterceptor, deps: [{ token: i1.SessionService }, { token: i2.AuthenticationImpl }, { token: i3.HubService }], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: AppHttpInterceptor, providedIn: 'root' }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AppHttpInterceptor, deps: [{ token: i1.SessionService }, { token: i2.AuthenticationImpl }, { token: i3.HubService }], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AppHttpInterceptor, providedIn: 'root' }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: AppHttpInterceptor, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AppHttpInterceptor, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{ providedIn: 'root' }]
58
58
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.AuthenticationImpl }, { type: i3.HubService }] });