@bizdoc/core 3.2.10 → 3.3.3

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 (450) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +52 -6
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +52 -8
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo-amber.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/fesm2022/bizdoc-core.mjs +2129 -1873
  10. package/fesm2022/bizdoc-core.mjs.map +1 -1
  11. package/lib/admin/admin-menu.component.d.ts +1 -3
  12. package/lib/admin/architecture/designer.base.d.ts +3 -3
  13. package/lib/admin/architecture/elements/form.component.d.ts +1 -1
  14. package/lib/compose/form-ref.d.ts +1 -0
  15. package/lib/compose/trace/trace.base.d.ts +1 -1
  16. package/lib/core/base.d.ts +5 -0
  17. package/lib/core/fields/options.base.d.ts +2 -2
  18. package/lib/core/inputs/combination-picker-body.d.ts +0 -2
  19. package/lib/core/inputs/combination-picker.d.ts +1 -1
  20. package/lib/core/session.service.d.ts +2 -2
  21. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  22. package/lib/core/translate.service.d.ts +2 -2
  23. package/lib/cube/cube.service.d.ts +1 -1
  24. package/lib/cube/matrix/matrix.base.d.ts +1 -1
  25. package/lib/cube/view-base.d.ts +1 -1
  26. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  27. package/lib/home/home-base.component.d.ts +1 -1
  28. package/lib/home/home.desktop.component.d.ts +5 -3
  29. package/lib/notifications/types/notification-base.d.ts +1 -1
  30. package/lib/reports/cube/usage-base.d.ts +1 -1
  31. package/lib/views/cube/cube-base.d.ts +1 -1
  32. package/package.json +31 -33
  33. package/esm2022/bizdoc-core.mjs +0 -5
  34. package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
  35. package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
  36. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
  37. package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
  38. package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
  39. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
  40. package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
  41. package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
  42. package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
  43. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
  44. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
  45. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
  46. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
  47. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
  48. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
  49. package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
  50. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
  51. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
  52. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
  53. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
  54. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
  55. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
  56. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
  57. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
  58. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
  59. package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
  60. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
  61. package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
  62. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
  63. package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
  64. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
  65. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
  66. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
  67. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
  68. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
  69. package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
  70. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
  71. package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
  72. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
  73. package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
  74. package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
  75. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
  76. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
  77. package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
  78. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
  79. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
  80. package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
  81. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
  82. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
  83. package/esm2022/lib/admin/core/ace.input.mjs +0 -144
  84. package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
  85. package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
  86. package/esm2022/lib/admin/core/search.input.mjs +0 -52
  87. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
  88. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
  89. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
  90. package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
  91. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
  92. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
  93. package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
  94. package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
  95. package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
  96. package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
  97. package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
  98. package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
  99. package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
  100. package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
  101. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
  102. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
  103. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
  104. package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
  105. package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
  106. package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
  107. package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
  108. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
  109. package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
  110. package/esm2022/lib/admin/system.service.mjs +0 -127
  111. package/esm2022/lib/admin/utility-ref.mjs +0 -39
  112. package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
  113. package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
  114. package/esm2022/lib/app.component.mjs +0 -73
  115. package/esm2022/lib/bizdoc.module.mjs +0 -110
  116. package/esm2022/lib/browse/browse-items.component.mjs +0 -496
  117. package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
  118. package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
  119. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
  120. package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
  121. package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
  122. package/esm2022/lib/chat/chat-info.mjs +0 -77
  123. package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
  124. package/esm2022/lib/chat/chat.service.mjs +0 -122
  125. package/esm2022/lib/chat/contacts.component.mjs +0 -107
  126. package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
  127. package/esm2022/lib/chat/conversation.component.mjs +0 -196
  128. package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
  129. package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
  130. package/esm2022/lib/compose/action/action-ref.mjs +0 -19
  131. package/esm2022/lib/compose/action/action.base.mjs +0 -50
  132. package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
  133. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
  134. package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
  135. package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
  136. package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
  137. package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
  138. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
  139. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
  140. package/esm2022/lib/compose/box/box.component.mjs +0 -44
  141. package/esm2022/lib/compose/box/control.component.mjs +0 -50
  142. package/esm2022/lib/compose/box/row.component.mjs +0 -41
  143. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
  144. package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
  145. package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
  146. package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
  147. package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
  148. package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
  149. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
  150. package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
  151. package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
  152. package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
  153. package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
  154. package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
  155. package/esm2022/lib/compose/dismiss.service.mjs +0 -25
  156. package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
  157. package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
  158. package/esm2022/lib/compose/document.component.mjs +0 -48
  159. package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
  160. package/esm2022/lib/compose/document.pane.component.mjs +0 -27
  161. package/esm2022/lib/compose/events/events.component.mjs +0 -29
  162. package/esm2022/lib/compose/form-ref.mjs +0 -43
  163. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
  164. package/esm2022/lib/compose/form.component.mjs +0 -512
  165. package/esm2022/lib/compose/new-menu.component.mjs +0 -94
  166. package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
  167. package/esm2022/lib/compose/privilage.directive.mjs +0 -64
  168. package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
  169. package/esm2022/lib/compose/state.component.mjs +0 -37
  170. package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
  171. package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
  172. package/esm2022/lib/compose/trace/people.component.mjs +0 -39
  173. package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
  174. package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
  175. package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
  176. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
  177. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -343
  178. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
  179. package/esm2022/lib/core/account.service.mjs +0 -38
  180. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
  181. package/esm2022/lib/core/animations.mjs +0 -168
  182. package/esm2022/lib/core/authentication.mjs +0 -4
  183. package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
  184. package/esm2022/lib/core/base.mjs +0 -2
  185. package/esm2022/lib/core/checkbox.mjs +0 -38
  186. package/esm2022/lib/core/colors.mjs +0 -322
  187. package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
  188. package/esm2022/lib/core/configuration.mjs +0 -17
  189. package/esm2022/lib/core/datasource.service.mjs +0 -75
  190. package/esm2022/lib/core/decorators.mjs +0 -46
  191. package/esm2022/lib/core/document-factory.service.mjs +0 -156
  192. package/esm2022/lib/core/fields/address.designer.mjs +0 -39
  193. package/esm2022/lib/core/fields/address.field.mjs +0 -65
  194. package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
  195. package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
  196. package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
  197. package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
  198. package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
  199. package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
  200. package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
  201. package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
  202. package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
  203. package/esm2022/lib/core/fields/date.designer.mjs +0 -40
  204. package/esm2022/lib/core/fields/date.field.mjs +0 -40
  205. package/esm2022/lib/core/fields/expression.field.mjs +0 -87
  206. package/esm2022/lib/core/fields/file.designer.mjs +0 -39
  207. package/esm2022/lib/core/fields/file.field.mjs +0 -35
  208. package/esm2022/lib/core/fields/html.designer.mjs +0 -61
  209. package/esm2022/lib/core/fields/html.field.mjs +0 -44
  210. package/esm2022/lib/core/fields/input.designer.mjs +0 -38
  211. package/esm2022/lib/core/fields/input.field.mjs +0 -54
  212. package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
  213. package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
  214. package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
  215. package/esm2022/lib/core/fields/options.base.mjs +0 -41
  216. package/esm2022/lib/core/fields/options.component.mjs +0 -58
  217. package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
  218. package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
  219. package/esm2022/lib/core/fields/select.designer.mjs +0 -104
  220. package/esm2022/lib/core/fields/select.field.mjs +0 -36
  221. package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
  222. package/esm2022/lib/core/fields/signature.field.mjs +0 -52
  223. package/esm2022/lib/core/fields/switch.field.mjs +0 -35
  224. package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
  225. package/esm2022/lib/core/fields/tags.field.mjs +0 -51
  226. package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
  227. package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
  228. package/esm2022/lib/core/fields/time.designer.mjs +0 -41
  229. package/esm2022/lib/core/fields/time.field.mjs +0 -39
  230. package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
  231. package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
  232. package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
  233. package/esm2022/lib/core/firebase.service.mjs +0 -51
  234. package/esm2022/lib/core/functions.mjs +0 -225
  235. package/esm2022/lib/core/guide/guide.component.mjs +0 -220
  236. package/esm2022/lib/core/guide/guide.service.mjs +0 -124
  237. package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
  238. package/esm2022/lib/core/http.interceptor.mjs +0 -63
  239. package/esm2022/lib/core/hub.service.mjs +0 -117
  240. package/esm2022/lib/core/identity/identity.component.mjs +0 -66
  241. package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
  242. package/esm2022/lib/core/info/document-info.service.mjs +0 -21
  243. package/esm2022/lib/core/info/location-info.component.mjs +0 -60
  244. package/esm2022/lib/core/info/map-info.mjs +0 -42
  245. package/esm2022/lib/core/inputs/address.input.mjs +0 -203
  246. package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
  247. package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
  248. package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
  249. package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
  250. package/esm2022/lib/core/inputs/file.input.mjs +0 -432
  251. package/esm2022/lib/core/inputs/select.input.mjs +0 -254
  252. package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
  253. package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
  254. package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
  255. package/esm2022/lib/core/layout.component.mjs +0 -93
  256. package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
  257. package/esm2022/lib/core/mailbox.service.mjs +0 -445
  258. package/esm2022/lib/core/models.mjs +0 -25
  259. package/esm2022/lib/core/none.component.mjs +0 -37
  260. package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
  261. package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
  262. package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
  263. package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
  264. package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
  265. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
  266. package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
  267. package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
  268. package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
  269. package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
  270. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
  271. package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
  272. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
  273. package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
  274. package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
  275. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
  276. package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
  277. package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
  278. package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
  279. package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
  280. package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
  281. package/esm2022/lib/core/popup/popup.component.mjs +0 -36
  282. package/esm2022/lib/core/popup/popup.service.mjs +0 -158
  283. package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
  284. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
  285. package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
  286. package/esm2022/lib/core/prompt.service.mjs +0 -88
  287. package/esm2022/lib/core/router.mjs +0 -37
  288. package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
  289. package/esm2022/lib/core/session.service.mjs +0 -291
  290. package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
  291. package/esm2022/lib/core/slots/router.directive.mjs +0 -68
  292. package/esm2022/lib/core/slots/router.service.mjs +0 -40
  293. package/esm2022/lib/core/slots/slots.component.mjs +0 -1193
  294. package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
  295. package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
  296. package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -238
  297. package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
  298. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
  299. package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
  300. package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -136
  301. package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
  302. package/esm2022/lib/core/tagging/users.component.mjs +0 -32
  303. package/esm2022/lib/core/translate.service.mjs +0 -125
  304. package/esm2022/lib/core/translations.mjs +0 -1068
  305. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
  306. package/esm2022/lib/core/window-title.service.mjs +0 -65
  307. package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
  308. package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
  309. package/esm2022/lib/cube/cube-info.service.mjs +0 -103
  310. package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
  311. package/esm2022/lib/cube/cube-view.component.mjs +0 -186
  312. package/esm2022/lib/cube/cube.service.mjs +0 -446
  313. package/esm2022/lib/cube/declarations.mjs +0 -2
  314. package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
  315. package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
  316. package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
  317. package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
  318. package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
  319. package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
  320. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
  321. package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
  322. package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
  323. package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
  324. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
  325. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
  326. package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
  327. package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
  328. package/esm2022/lib/cube/parallel/item.mjs +0 -40
  329. package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
  330. package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
  331. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
  332. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
  333. package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
  334. package/esm2022/lib/cube/view-base.mjs +0 -74
  335. package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
  336. package/esm2022/lib/cube/view.pane.component.mjs +0 -99
  337. package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
  338. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
  339. package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
  340. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
  341. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
  342. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
  343. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
  344. package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
  345. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
  346. package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
  347. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
  348. package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
  349. package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
  350. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
  351. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
  352. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
  353. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
  354. package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
  355. package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
  356. package/esm2022/lib/designer.module.mjs +0 -106
  357. package/esm2022/lib/desktop.module.mjs +0 -140
  358. package/esm2022/lib/home/about/about.dialog.mjs +0 -25
  359. package/esm2022/lib/home/home-base.component.mjs +0 -92
  360. package/esm2022/lib/home/home.desktop.component.mjs +0 -286
  361. package/esm2022/lib/home/home.mobile.component.mjs +0 -131
  362. package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
  363. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
  364. package/esm2022/lib/home/sign/sign.component.mjs +0 -56
  365. package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
  366. package/esm2022/lib/mobile.module.mjs +0 -63
  367. package/esm2022/lib/modules/chart.module.mjs +0 -44
  368. package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
  369. package/esm2022/lib/modules/date.adapter.mjs +0 -23
  370. package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
  371. package/esm2022/lib/modules/dayjs.module.mjs +0 -43
  372. package/esm2022/lib/modules/diagram.module.mjs +0 -43
  373. package/esm2022/lib/modules/gantt.module.mjs +0 -22
  374. package/esm2022/lib/modules/grid.module.mjs +0 -26
  375. package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
  376. package/esm2022/lib/modules/material.module.mjs +0 -182
  377. package/esm2022/lib/modules/paginator.intl.mjs +0 -21
  378. package/esm2022/lib/modules/pivot.module.mjs +0 -24
  379. package/esm2022/lib/modules/schedule.module.mjs +0 -24
  380. package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
  381. package/esm2022/lib/modules/stepper.intl.mjs +0 -17
  382. package/esm2022/lib/modules/texteditor.module.mjs +0 -26
  383. package/esm2022/lib/notifications/filter.component.mjs +0 -24
  384. package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
  385. package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
  386. package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
  387. package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
  388. package/esm2022/lib/notifications/notifications.service.mjs +0 -78
  389. package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
  390. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
  391. package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
  392. package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
  393. package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
  394. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
  395. package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
  396. package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
  397. package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
  398. package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
  399. package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
  400. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
  401. package/esm2022/lib/options/options.component.mjs +0 -308
  402. package/esm2022/lib/options/options.desktop.component.mjs +0 -26
  403. package/esm2022/lib/options/options.mobile.component.mjs +0 -23
  404. package/esm2022/lib/reports/arguments-component.mjs +0 -81
  405. package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
  406. package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
  407. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
  408. package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
  409. package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
  410. package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
  411. package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
  412. package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
  413. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
  414. package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
  415. package/esm2022/lib/reports/report-ref.mjs +0 -38
  416. package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
  417. package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
  418. package/esm2022/lib/reports/report.pane.component.mjs +0 -109
  419. package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
  420. package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
  421. package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
  422. package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
  423. package/esm2022/lib/routes.desktop.mjs +0 -209
  424. package/esm2022/lib/routes.mobile.mjs +0 -84
  425. package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
  426. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
  427. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
  428. package/esm2022/lib/search/cube.component.mjs +0 -47
  429. package/esm2022/lib/search/declarations.mjs +0 -7
  430. package/esm2022/lib/search/document.component.mjs +0 -41
  431. package/esm2022/lib/search/guide.component.mjs +0 -28
  432. package/esm2022/lib/search/path.component.mjs +0 -44
  433. package/esm2022/lib/search/search.service.mjs +0 -155
  434. package/esm2022/lib/shared.module.mjs +0 -622
  435. package/esm2022/lib/system.module.mjs +0 -562
  436. package/esm2022/lib/views/cube/chart.component.mjs +0 -74
  437. package/esm2022/lib/views/cube/cube-base.mjs +0 -101
  438. package/esm2022/lib/views/cube/explore.component.mjs +0 -85
  439. package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
  440. package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
  441. package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
  442. package/esm2022/lib/views/cube/sum.component.mjs +0 -66
  443. package/esm2022/lib/views/cube/view.component.mjs +0 -101
  444. package/esm2022/lib/views/document-view-ref.mjs +0 -27
  445. package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
  446. package/esm2022/lib/views/view-item.component.mjs +0 -68
  447. package/esm2022/lib/views/views.component.mjs +0 -32
  448. package/esm2022/lib/views/views.mobile.component.mjs +0 -21
  449. package/esm2022/lib/views/views.pane.component.mjs +0 -29
  450. package/esm2022/public-api.mjs +0 -182
@@ -1,33 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class StickyToolbar {
4
- constructor(_vc) {
5
- this._vc = _vc;
6
- this._previousTop = 0;
7
- this._visible = true;
8
- }
9
- _listener(evt) {
10
- const top = evt.currentTarget.scrollTop;
11
- if (this._visible !== this._previousTop > top && top > 0) {
12
- this._visible = !this._visible;
13
- this._vc.element.nativeElement.classList.toggle('sticky');
14
- }
15
- this._previousTop = top;
16
- }
17
- get _parentElement() {
18
- return this._vc.element.nativeElement.parentElement;
19
- }
20
- ngOnInit() {
21
- this._parentElement.addEventListener('scroll', this._listener.bind(this));
22
- }
23
- ngOnDestroy() {
24
- this._parentElement.removeEventListener('scroll', this._listener);
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: StickyToolbar, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: StickyToolbar, selector: "bizdoc-sticky", ngImport: i0 }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: StickyToolbar, decorators: [{
30
- type: Directive,
31
- args: [{ selector: 'bizdoc-sticky' }]
32
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LXRvb2xiYXIuZXhwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvc3RpY2t5LXRvb2xiYXIuZXhwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLE1BQU0sZUFBZSxDQUFDOztBQUkvRSxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFvQixHQUFxQjtRQUFyQixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUZqQyxpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixhQUFRLEdBQUcsSUFBSSxDQUFDO0lBR3hCLENBQUM7SUFDTyxTQUFTLENBQUMsR0FBVTtRQUMxQixNQUFNLEdBQUcsR0FBSSxHQUFHLENBQUMsYUFBZ0MsQ0FBQyxTQUFTLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUE2QixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFZLGNBQWM7UUFDeEIsT0FBUSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUE2QixDQUFDLGFBQWMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFlLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEUsQ0FBQzs4R0F0QlUsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdiaXpkb2Mtc3RpY2t5JyB9KVxyXG5leHBvcnQgY2xhc3MgU3RpY2t5VG9vbGJhciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9wcmV2aW91c1RvcCA9IDA7XHJcbiAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYpIHtcclxuXHJcbiAgfVxyXG4gIHByaXZhdGUgX2xpc3RlbmVyKGV2dDogRXZlbnQpIHtcclxuICAgIGNvbnN0IHRvcCA9IChldnQuY3VycmVudFRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuc2Nyb2xsVG9wO1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgIT09IHRoaXMuX3ByZXZpb3VzVG9wID4gdG9wICYmIHRvcCA+IDApIHtcclxuICAgICAgdGhpcy5fdmlzaWJsZSA9ICF0aGlzLl92aXNpYmxlO1xyXG4gICAgICAodGhpcy5fdmMuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3QudG9nZ2xlKCdzdGlja3knKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3ByZXZpb3VzVG9wID0gdG9wO1xyXG4gIH1cclxuICBwcml2YXRlIGdldCBfcGFyZW50RWxlbWVudCgpIHtcclxuICAgIHJldHVybiAodGhpcy5fdmMuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ITtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYXJlbnRFbGVtZW50IS5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLl9saXN0ZW5lci5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYXJlbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuX2xpc3RlbmVyKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,25 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import { TaggingComponentBase } from "./tagging.component-base";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../mailbox.service";
5
- import * as i2 from "@angular/material/core";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "./tagging-item.directive";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "../pipes/form.pipe";
10
- export class DocumentTaggingComponent extends TaggingComponentBase {
11
- constructor(_mailbox) {
12
- super();
13
- this._mailbox = _mailbox;
14
- }
15
- onBind(value) {
16
- this.items = this._mailbox.findAll({ contains: value }, { take: 8 });
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DocumentTaggingComponent, deps: [{ token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: DocumentTaggingComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n @for (item of items | async; track item) {\r\n <bizdoc-tag-item [key]='item.number' [value]='item.documentId' [attr.aria-label]='item.number' matRipple>\r\n <div class=\"row\">\r\n <mat-icon>{{item.formId | form : 'icon' }}</mat-icon>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.number}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n }\r\n</div>\r\n", styles: [".tag-list{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:#d3d3d3}\n"], dependencies: [{ kind: "directive", type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.TaggingItemDirective, selector: "bizdoc-tag-item", inputs: ["key", "value"], outputs: ["selected"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.FormPipe, name: "form" }] }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: DocumentTaggingComponent, decorators: [{
22
- type: Component,
23
- args: [{ template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n @for (item of items | async; track item) {\r\n <bizdoc-tag-item [key]='item.number' [value]='item.documentId' [attr.aria-label]='item.number' matRipple>\r\n <div class=\"row\">\r\n <mat-icon>{{item.formId | form : 'icon' }}</mat-icon>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.number}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n }\r\n</div>\r\n", styles: [".tag-list{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:#d3d3d3}\n"] }]
24
- }], ctorParameters: () => [{ type: i1.MailboxService }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL3RhZ2dpbmcvZG9jdW1lbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL3RhZ2dpbmcvZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBTWhFLE1BQU0sT0FDRSx3QkFBeUIsU0FBUSxvQkFBaUM7SUFDeEUsWUFDVSxRQUF3QjtRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURBLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBRWxDLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs4R0FQSyx3QkFBd0I7a0dBQXhCLHdCQUF3QiwyRUNWaEMsc2VBYUE7OzJGREhRLHdCQUF3QjtrQkFML0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEhlYWRlck1vZGVsIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gXCIuLi9tYWlsYm94LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVGFnZ2luZ0NvbXBvbmVudEJhc2UgfSBmcm9tIFwiLi90YWdnaW5nLmNvbXBvbmVudC1iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vZG9jdW1lbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWdnaW5nLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgRG9jdW1lbnRUYWdnaW5nQ29tcG9uZW50IGV4dGVuZHMgVGFnZ2luZ0NvbXBvbmVudEJhc2U8SGVhZGVyTW9kZWw+IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBvbkJpbmQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuX21haWxib3guZmluZEFsbCh7IGNvbnRhaW5zOiB2YWx1ZSB9LCB7IHRha2U6IDggfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgcm9sZT1cImxpc3Rib3hcIiBjZGtUcmFwRm9jdXMgY2xhc3M9XCJ0YWctbGlzdFwiPlxyXG4gIEBmb3IgKGl0ZW0gb2YgaXRlbXMgfCBhc3luYzsgdHJhY2sgaXRlbSkge1xyXG4gICAgPGJpemRvYy10YWctaXRlbSBba2V5XT0naXRlbS5udW1iZXInIFt2YWx1ZV09J2l0ZW0uZG9jdW1lbnRJZCcgW2F0dHIuYXJpYS1sYWJlbF09J2l0ZW0ubnVtYmVyJyBtYXRSaXBwbGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8bWF0LWljb24+e3tpdGVtLmZvcm1JZCB8IGZvcm0gOiAnaWNvbicgfX08L21hdC1pY29uPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICAgIDxzcGFuPnt7aXRlbS5udW1iZXJ9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2JpemRvYy10YWctaXRlbT5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,238 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { RichTextEditorComponent, ToolbarType } from '@syncfusion/ej2-angular-richtexteditor';
4
- import { UserTaggingComponent } from './users.component';
5
- import { DocumentTaggingComponent } from './documents.component';
6
- import { EmojiHostComponent } from './emoji.component';
7
- import { takeUntil } from 'rxjs/operators';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "../popup/popup.service";
10
- import * as i2 from "@syncfusion/ej2-angular-richtexteditor";
11
- import * as i3 from "@angular/material/form-field";
12
- import * as i4 from "@angular/material/button";
13
- import * as i5 from "@angular/material/input";
14
- import * as i6 from "@angular/cdk/text-field";
15
- import * as i7 from "@angular/material/icon";
16
- import * as i8 from "./tagging.directive";
17
- import * as i9 from "../popup/tooltip.directive";
18
- import * as i10 from "../pipes/translate.pipe";
19
- export const HTML_EXP = /<[\/\w]+>/g;
20
- export class EditInputComponent {
21
- get text() {
22
- return this._text;
23
- }
24
- //@ContentChild('[editHint]') hint?: NgTemplate;
25
- //@ContentChild('[editLabel]') label?: NgTemplate;
26
- set text(value) {
27
- this._originalText = value;
28
- this._text = value;
29
- this.mode = value && HTML_EXP.test(value) ? 'html' : 'text';
30
- }
31
- set image(value) {
32
- this._originalImage = value;
33
- this._image = value;
34
- }
35
- get resource() {
36
- return this._resource;
37
- }
38
- set resource(value) {
39
- this._resource = value;
40
- }
41
- get autofocus() {
42
- return this._autofocus;
43
- }
44
- set autofocus(value) {
45
- this._autofocus = coerceBooleanProperty(value);
46
- }
47
- constructor(_popup, _cd) {
48
- this._popup = _popup;
49
- this._cd = _cd;
50
- this.toolbarSettings = {
51
- items: ['Bold', 'Italic', 'Underline', 'StrikeThrough',
52
- '|',
53
- 'Formats', 'Alignments', 'OrderedList', 'UnorderedList',
54
- 'Outdent', 'Indent'],
55
- type: ToolbarType.MultiRow
56
- };
57
- this._text = null;
58
- this.mode = 'text';
59
- this.change = new EventEmitter();
60
- this.onOk = new EventEmitter();
61
- this.onFocus = new EventEmitter();
62
- this.onBlur = new EventEmitter();
63
- }
64
- ngAfterViewInit() {
65
- if (this._text) {
66
- if (this.mode === 'html')
67
- this._rte.value = this._text;
68
- else
69
- this._textElement.nativeElement.value = this._text;
70
- }
71
- this.autofocus && setTimeout(this.focus.bind(this));
72
- }
73
- _key(evt) {
74
- if (evt.key === 'Enter' && !evt.shiftKey) {
75
- this._submit();
76
- evt.preventDefault();
77
- evt.stopPropagation();
78
- }
79
- else if (evt.key === 'Escape') {
80
- if (this._textElement.nativeElement.value && this._textElement.nativeElement.value.length) {
81
- this._textElement.nativeElement.value = '';
82
- evt.preventDefault();
83
- evt.stopPropagation();
84
- }
85
- }
86
- }
87
- _submit() {
88
- if (this.disabled)
89
- return;
90
- const text = this.mode === 'text' ?
91
- this._textElement.nativeElement.value.trim()
92
- :
93
- this._rte.value.trim();
94
- if ((text && text.length && text !== this._originalText) ||
95
- (this._originalImage && this._image !== this._originalImage))
96
- this.onOk.emit({
97
- text,
98
- resource: this._resource,
99
- image: this._image
100
- });
101
- }
102
- _textChange(evt) {
103
- this._text = evt.target.value;
104
- this.change.emit(this._text);
105
- }
106
- _htmlChange(evt) {
107
- this._text = evt.value;
108
- this.change.emit(this._text);
109
- }
110
- _toggleHtml() {
111
- if (this.mode === 'html') {
112
- if (this._text)
113
- this._text = this._rte.getText();
114
- this.mode = 'text';
115
- }
116
- else
117
- this.mode = 'html';
118
- this._cd.detectChanges();
119
- this.focus();
120
- }
121
- _ok() {
122
- this._submit();
123
- this.focus();
124
- }
125
- clear() {
126
- delete this._image;
127
- delete this._resource;
128
- this._text = null;
129
- if (this.mode === 'text')
130
- this._textElement.nativeElement.value = '';
131
- else
132
- this._rte.value = '';
133
- }
134
- focus() {
135
- if (this.mode === 'text')
136
- setTimeout(() => this._textElement.nativeElement.focus(), 0);
137
- else
138
- this._rte.focusIn();
139
- }
140
- _openDocument(evt) {
141
- this._tag(DocumentTaggingComponent, evt, '#');
142
- }
143
- /**
144
- *
145
- * @param component
146
- * @param evt
147
- * @param prefix
148
- */
149
- _tag(component, evt, prefix) {
150
- const popupRef = this._popup.open(component, evt.target, { position: 'above' });
151
- popupRef.opened().subscribe(e => {
152
- e.onBind();
153
- e.selected.pipe(takeUntil(popupRef.closed())).subscribe(e => {
154
- this._textElement.nativeElement.value += prefix + e.key;
155
- const args = {};
156
- args[e.key] = e.value;
157
- if (!this.resource)
158
- this.resource = args;
159
- else
160
- Object.assign(this.resource, args);
161
- popupRef.close();
162
- this.focus();
163
- });
164
- });
165
- }
166
- _openMention(evt) {
167
- this._tag(UserTaggingComponent, evt, '@');
168
- }
169
- _openEmoji(evt) {
170
- this._popup.open(EmojiHostComponent, evt.target, { position: 'above' }).closed().
171
- subscribe((e) => {
172
- if (e) {
173
- this._textElement.nativeElement.value += e.native;
174
- this.focus();
175
- }
176
- });
177
- }
178
- _addEmoji(event) {
179
- this._textElement.nativeElement.value += event.emoji.native;
180
- }
181
- _paste(event) {
182
- const { items } = event.clipboardData;
183
- const me = this;
184
- for (let index in items) {
185
- let item = items[index];
186
- if (item.kind === 'file') {
187
- let blob = item.getAsFile();
188
- let reader = new FileReader();
189
- reader.onload = function (event) {
190
- const { result } = event.target;
191
- me._image = result.substring(22);
192
- };
193
- reader.readAsDataURL(blob);
194
- }
195
- }
196
- }
197
- _clearImage() {
198
- delete this._image;
199
- }
200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EditInputComponent, deps: [{ token: i1.Popup }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: EditInputComponent, selector: "bizdoc-edit-text", inputs: { placeholder: "placeholder", text: "text", image: "image", resource: "resource", disabled: "disabled", autofocus: "autofocus", cache: "cache" }, outputs: { change: "change", onOk: "ok", onFocus: "focus", onBlur: "blur" }, viewQueries: [{ propertyName: "_textElement", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "_rte", first: true, predicate: RichTextEditorComponent, descendants: true }], ngImport: i0, template: "<div class=\"column\">\r\n @switch (mode) {\r\n @case ('html') {\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n }\r\n @default {\r\n <mat-form-field floatLabel=\"never\" class=\"flex\">\r\n <textarea matInput cdkTextareaAutosize [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [placeholder]=\"placeholder ? (placeholder | translate) : null\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n maxlength=\"2000\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n }\r\n }\r\n <div class=\"row nav-toolbar\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>alternate_email</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n@if (_image) {\r\n<div>\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n}\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.mat-mdc-form-field{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto;padding:0 8px}.mat-mdc-form-field textarea{overflow:hidden}img{max-width:300px}\n"], dependencies: [{ kind: "component", type: i2.RichTextEditorComponent, selector: "ejs-richtexteditor", inputs: ["autoSaveOnIdle", "backgroundColor", "bulletFormatList", "cssClass", "editorMode", "emojiPickerSettings", "enableAutoUrl", "enableHtmlEncode", "enableHtmlSanitizer", "enablePersistence", "enableResize", "enableRtl", "enableTabKey", "enableXhtml", "enabled", "enterKey", "exportPdf", "exportWord", "fileManagerSettings", "floatingToolbarOffset", "fontColor", "fontFamily", "fontSize", "format", "formatPainterSettings", "formatter", "height", "htmlAttributes", "iframeSettings", "importWord", "inlineMode", "insertAudioSettings", "insertImageSettings", "insertVideoSettings", "keyConfig", "locale", "maxLength", "numberFormatList", "pasteCleanupSettings", "placeholder", "quickToolbarSettings", "readonly", "saveInterval", "shiftEnterKey", "showCharCount", "showTooltip", "slashMenuSettings", "tableSettings", "toolbarSettings", "undoRedoSteps", "undoRedoTimer", "value", "valueTemplate", "width"], outputs: ["actionBegin", "actionComplete", "afterImageDelete", "afterMediaDelete", "afterPasteCleanup", "beforeDialogClose", "beforeDialogOpen", "beforeFileUpload", "beforeImageDrop", "beforeImageUpload", "beforePasteCleanup", "beforeQuickToolbarOpen", "beforeSanitizeHtml", "blur", "change", "created", "destroyed", "dialogClose", "dialogOpen", "fileRemoving", "fileSelected", "fileUploadFailed", "fileUploadSuccess", "fileUploading", "focus", "imageRemoving", "imageSelected", "imageUploadFailed", "imageUploadSuccess", "imageUploading", "quickToolbarClose", "quickToolbarOpen", "resizeStart", "resizeStop", "resizing", "slashMenuItemSelect", "toolbarClick", "toolbarStatusUpdate", "updatedToolbarStatus", "valueChange"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i5.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: i6.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TaggingDirective, selector: "[bizdocTagging]", inputs: ["bizdocTagging"], outputs: ["bizdocTaggingChange"] }, { kind: "directive", type: i9.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
202
- }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EditInputComponent, decorators: [{
204
- type: Component,
205
- args: [{ selector: 'bizdoc-edit-text', template: "<div class=\"column\">\r\n @switch (mode) {\r\n @case ('html') {\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n }\r\n @default {\r\n <mat-form-field floatLabel=\"never\" class=\"flex\">\r\n <textarea matInput cdkTextareaAutosize [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [placeholder]=\"placeholder ? (placeholder | translate) : null\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n maxlength=\"2000\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n }\r\n }\r\n <div class=\"row nav-toolbar\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>alternate_email</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n@if (_image) {\r\n<div>\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n}\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.mat-mdc-form-field{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto;padding:0 8px}.mat-mdc-form-field textarea{overflow:hidden}img{max-width:300px}\n"] }]
206
- }], ctorParameters: () => [{ type: i1.Popup }, { type: i0.ChangeDetectorRef }], propDecorators: { placeholder: [{
207
- type: Input
208
- }], text: [{
209
- type: Input
210
- }], image: [{
211
- type: Input
212
- }], resource: [{
213
- type: Input
214
- }], disabled: [{
215
- type: Input
216
- }], autofocus: [{
217
- type: Input
218
- }], cache: [{
219
- type: Input
220
- }], change: [{
221
- type: Output
222
- }], onOk: [{
223
- type: Output,
224
- args: ['ok']
225
- }], onFocus: [{
226
- type: Output,
227
- args: ['focus']
228
- }], onBlur: [{
229
- type: Output,
230
- args: ['blur']
231
- }], _textElement: [{
232
- type: ViewChild,
233
- args: ['textArea']
234
- }], _rte: [{
235
- type: ViewChild,
236
- args: [RichTextEditorComponent]
237
- }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS90YWdnaW5nL2VkaXQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc5RCxPQUFPLEVBQW1CLHVCQUF1QixFQUF3QixXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVySSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7OztBQUUzQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDO0FBT3JDLE1BQU0sT0FBTyxrQkFBa0I7SUFVN0IsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxnREFBZ0Q7SUFDaEQsa0RBQWtEO0lBQ2xELElBQ1csSUFBSSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxL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SSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzhHQS9MVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixnYUFzRGxCLHVCQUF1QixnREN6RXBDLDB0RUEwQ0E7OzJGRHZCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0Usa0JBQWtCOzBHQWlCbkIsV0FBVztzQkFBbkIsS0FBSztnQkFJSyxJQUFJO3NCQURkLEtBQUs7Z0JBT0ssS0FBSztzQkFEZixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFJYSxNQUFNO3NCQUF4QixNQUFNO2dCQUNnQixJQUFJO3NCQUExQixNQUFNO3VCQUFDLElBQUk7Z0JBQ2MsT0FBTztzQkFBaEMsTUFBTTt1QkFBQyxPQUFPO2dCQUNVLE1BQU07c0JBQTlCLE1BQU07dUJBQUMsTUFBTTtnQkFDUyxZQUFZO3NCQUFsQyxTQUFTO3VCQUFDLFVBQVU7Z0JBQ2UsSUFBSTtzQkFBdkMsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IEVtb2ppRGF0YSB9IGZyb20gJ0BjdHJsL25neC1lbW9qaS1tYXJ0L25neC1lbW9qaSc7XHJcbmltcG9ydCB7IENoYW5nZUV2ZW50QXJncywgUmljaFRleHRFZGl0b3JDb21wb25lbnQsIFRvb2xiYXJTZXR0aW5nc01vZGVsLCBUb29sYmFyVHlwZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXJpY2h0ZXh0ZWRpdG9yJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclRhZ2dpbmdDb21wb25lbnQgfSBmcm9tICcuL3VzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ2dpbmdDb21wb25lbnRCYXNlIH0gZnJvbSAnLi90YWdnaW5nLmNvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgRW1vamlIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgY29uc3QgSFRNTF9FWFAgPSAvPFtcXC9cXHddKz4vZztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWVkaXQtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VkaXQtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcmVhZG9ubHkgdG9vbGJhclNldHRpbmdzID0ge1xyXG4gICAgaXRlbXM6IFsnQm9sZCcsICdJdGFsaWMnLCAnVW5kZXJsaW5lJywgJ1N0cmlrZVRocm91Z2gnLFxyXG4gICAgICAnfCcsXHJcbiAgICAgICdGb3JtYXRzJywgJ0FsaWdubWVudHMnLCAnT3JkZXJlZExpc3QnLCAnVW5vcmRlcmVkTGlzdCcsXHJcbiAgICAgICdPdXRkZW50JywgJ0luZGVudCddLFxyXG4gICAgdHlwZTogVG9vbGJhclR5cGUuTXVsdGlSb3dcclxuICB9IGFzIFRvb2xiYXJTZXR0aW5nc01vZGVsO1xyXG4gIHByaXZhdGUgX3RleHQ/OiBzdHJpbmd8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsVGV4dDogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0O1xyXG4gIH1cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRIaW50XScpIGhpbnQ/OiBOZ1RlbXBsYXRlO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRMYWJlbF0nKSBsYWJlbD86IE5nVGVtcGxhdGU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLm1vZGUgPSB2YWx1ZSAmJiBIVE1MX0VYUC50ZXN0KHZhbHVlKSA/ICdodG1sJyA6ICd0ZXh0J1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxJbWFnZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgbW9kZTogJ2h0bWwnIHwgJ3RleHQnID0gJ3RleHQnO1xyXG4gIHByaXZhdGUgX3Jlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnk7IH07XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHJlc291cmNlKCk6IHsgW2tleTogc3RyaW5nXTogYW55OyB9IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZTtcclxuICB9XHJcbiAgcHVibGljIHNldCByZXNvdXJjZSh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0pIHtcclxuICAgIHRoaXMuX3Jlc291cmNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX2F1dG9mb2N1czogYm9vbGVhbjtcclxuICBwdWJsaWMgZ2V0IGF1dG9mb2N1cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9hdXRvZm9jdXM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhdXRvZm9jdXModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2F1dG9mb2N1cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgY2FjaGU6IHN0cmluZztcclxuICBfaW1hZ2U/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfb3JpZ2luYWxJbWFnZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCdvaycpIHJlYWRvbmx5IG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRUZXh0RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgnZm9jdXMnKSByZWFkb25seSBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoJ2JsdXInKSByZWFkb25seSBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgndGV4dEFyZWEnKSBfdGV4dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChSaWNoVGV4dEVkaXRvckNvbXBvbmVudCkgX3J0ZTogUmljaFRleHRFZGl0b3JDb21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdGV4dCkge1xyXG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnaHRtbCcpXHJcbiAgICAgICAgdGhpcy5fcnRlLnZhbHVlID0gdGhpcy5fdGV4dDtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLl90ZXh0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRvZm9jdXMgJiYgc2V0VGltZW91dCh0aGlzLmZvY3VzLmJpbmQodGhpcykpO1xyXG4gIH1cclxuICBfa2V5KGV2dDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2dC5rZXkgPT09ICdFbnRlcicgJiYgIWV2dC5zaGlmdEtleSkge1xyXG4gICAgICB0aGlzLl9zdWJtaXQoKTtcclxuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2dC5rZXkgPT09ICdFc2NhcGUnKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdGV4dCA9IHRoaXMubW9kZSA9PT0gJ3RleHQnID9cclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS50cmltKClcclxuICAgICAgOlxyXG4gICAgICB0aGlzLl9ydGUudmFsdWUudHJpbSgpO1xyXG5cclxuICAgIGlmICgodGV4dCAmJiB0ZXh0Lmxlbmd0aCAmJiB0ZXh0ICE9PSB0aGlzLl9vcmlnaW5hbFRleHQpIHx8XHJcbiAgICAgICh0aGlzLl9vcmlnaW5hbEltYWdlICYmIHRoaXMuX2ltYWdlICE9PSB0aGlzLl9vcmlnaW5hbEltYWdlKSlcclxuICAgICAgdGhpcy5vbk9rLmVtaXQoe1xyXG4gICAgICAgIHRleHQsXHJcbiAgICAgICAgcmVzb3VyY2U6IHRoaXMuX3Jlc291cmNlLFxyXG4gICAgICAgIGltYWdlOiB0aGlzLl9pbWFnZVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgX3RleHRDaGFuZ2UoZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLl90ZXh0ID0gKGV2dC50YXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3RleHQpO1xyXG4gIH1cclxuICBfaHRtbENoYW5nZShldnQ6IENoYW5nZUV2ZW50QXJncykge1xyXG4gICAgdGhpcy5fdGV4dCA9IGV2dC52YWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdGV4dCk7XHJcbiAgfVxyXG4gIF90b2dnbGVIdG1sKCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2h0bWwnKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZXh0KSB0aGlzLl90ZXh0ID0gdGhpcy5fcnRlLmdldFRleHQoKTtcclxuICAgICAgdGhpcy5tb2RlID0gJ3RleHQnO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm1vZGUgPSAnaHRtbCc7XHJcbiAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG4gIF9vaygpIHtcclxuICAgIHRoaXMuX3N1Ym1pdCgpO1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBjbGVhcigpIHtcclxuICAgIGRlbGV0ZSB0aGlzLl9pbWFnZTtcclxuICAgIGRlbGV0ZSB0aGlzLl9yZXNvdXJjZTtcclxuICAgIHRoaXMuX3RleHQgPSBudWxsO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RleHQnKVxyXG4gICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9ICcnO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCksIDApO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl9ydGUuZm9jdXNJbigpO1xyXG4gIH1cclxuICBfb3BlbkRvY3VtZW50KGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fdGFnKERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCwgZXZ0LCAnIycpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tcG9uZW50XHJcbiAgICogQHBhcmFtIGV2dFxyXG4gICAqIEBwYXJhbSBwcmVmaXhcclxuICAgKi9cclxuICBwcml2YXRlIF90YWcoY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRhZ2dpbmdDb21wb25lbnRCYXNlPGFueT4+LCBldnQ6IE1vdXNlRXZlbnQsIHByZWZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwb3B1cFJlZiA9IHRoaXMuX3BvcHVwLm9wZW4oY29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnYWJvdmUnIH0pO1xyXG4gICAgcG9wdXBSZWYub3BlbmVkKCkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBlLm9uQmluZCgpO1xyXG4gICAgICBlLnNlbGVjdGVkLnBpcGUodGFrZVVudGlsKHBvcHVwUmVmLmNsb3NlZCgpKSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgKz0gcHJlZml4ICsgZS5rZXk7XHJcbiAgICAgICAgY29uc3QgYXJncyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgICAgICAgYXJnc1tlLmtleV0gPSBlLnZhbHVlO1xyXG4gICAgICAgIGlmICghdGhpcy5yZXNvdXJjZSlcclxuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBhcmdzO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZXNvdXJjZSwgYXJncyk7XHJcbiAgICAgICAgcG9wdXBSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIF9vcGVuTWVudGlvbihldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuX3RhZyhVc2VyVGFnZ2luZ0NvbXBvbmVudCwgZXZ0LCAnQCcpO1xyXG4gIH1cclxuICBfb3BlbkVtb2ppKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihFbW9qaUhvc3RDb21wb25lbnQsIGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdhYm92ZScgfSkuY2xvc2VkKCkuXHJcbiAgICAgIHN1YnNjcmliZSgoZTogRW1vamlEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgKz0gZS5uYXRpdmU7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgX2FkZEVtb2ppKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgKz0gZXZlbnQuZW1vamkubmF0aXZlO1xyXG4gIH1cclxuICBfcGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCB7IGl0ZW1zIH0gPSBldmVudC5jbGlwYm9hcmREYXRhITtcclxuICAgIGNvbnN0IG1lID0gdGhpcztcclxuICAgIGZvciAobGV0IGluZGV4IGluIGl0ZW1zKSB7XHJcbiAgICAgIGxldCBpdGVtID0gaXRlbXNbaW5kZXhdO1xyXG4gICAgICBpZiAoaXRlbS5raW5kID09PSAnZmlsZScpIHtcclxuICAgICAgICBsZXQgYmxvYiA9IGl0ZW0uZ2V0QXNGaWxlKCkhO1xyXG4gICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBldmVudC50YXJnZXQhO1xyXG4gICAgICAgICAgbWUuX2ltYWdlID0gKHJlc3VsdCBhcyBzdHJpbmcpLnN1YnN0cmluZygyMik7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBfY2xlYXJJbWFnZSgpIHtcclxuICAgIGRlbGV0ZSB0aGlzLl9pbWFnZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdFRleHRFdmVudCB7XHJcbiAgaW1hZ2U/OiBzdHJpbmc7XHJcbiAgdGV4dD86IHN0cmluZztcclxuICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gIEBzd2l0Y2ggKG1vZGUpIHtcclxuICBAY2FzZSAoJ2h0bWwnKSB7XHJcbiAgPGVqcy1yaWNodGV4dGVkaXRvciBbdmFsdWVdPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIl9odG1sQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2xiYXJTZXR0aW5nc109XCJ0b29sYmFyU2V0dGluZ3NcIj48L2Vqcy1yaWNodGV4dGVkaXRvcj5cclxuICB9XHJcbiAgQGRlZmF1bHQge1xyXG4gIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwibmV2ZXJcIiBjbGFzcz1cImZsZXhcIj5cclxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBjZGtUZXh0YXJlYUF1dG9zaXplIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgICAgICAgICAgICBbKGJpemRvY1RhZ2dpbmcpXT1cInJlc291cmNlXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJfa2V5KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChpbnB1dCk9XCJfdGV4dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbdmFsdWVdPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgKHBhc3RlKT1cIl9wYXN0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyAocGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwib25CbHVyLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMjAwMFwiXHJcbiAgICAgICAgICAgICAgI3RleHRBcmVhPjwvdGV4dGFyZWE+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICB9XHJcbiAgfVxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbmF2LXRvb2xiYXJcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3BlbkRvY3VtZW50KCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRG9jdW1lbnQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCIgW2Rpc2FibGVkXT1cIm1vZGUgIT09ICd0ZXh0J1wiPjxtYXQtaWNvbj5hcnRpY2xlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3Blbk1lbnRpb24oJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidNZW50aW9uJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiIFtkaXNhYmxlZF09XCJtb2RlICE9PSAndGV4dCdcIj48bWF0LWljb24+YWx0ZXJuYXRlX2VtYWlsPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfb3BlbkVtb2ppKCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRW1vamknfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCIgW2Rpc2FibGVkXT1cIm1vZGUgIT09ICd0ZXh0J1wiPjxtYXQtaWNvbj5pbnNlcnRfZW1vdGljb248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl90b2dnbGVIdG1sKClcIiBbYml6ZG9jVG9vbHRpcF09XCInVGV4dCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24+dGV4dF9maWVsZHM8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vaygpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgY2xhc3M9XCJ0b29sXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5zZW5kPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuQGlmIChfaW1hZ2UpIHtcclxuPGRpdj5cclxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnKyBfaW1hZ2VcIiAvPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJfY2xlYXJJbWFnZSgpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxufVxyXG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../popup/popup-ref";
4
- import * as i2 from "../session.service";
5
- import * as i3 from "../translate.service";
6
- import * as i4 from "@ctrl/ngx-emoji-mart";
7
- export class EmojiHostComponent {
8
- constructor(_ref, _session, _translate) {
9
- this._ref = _ref;
10
- this._session = _session;
11
- this._translate = _translate;
12
- this.exclude = ['flags'];
13
- this.i18n = this._translate.i18n('emoji');
14
- this.darkMode = this._session.theme.dark;
15
- this.color = this._session.getAccent();
16
- }
17
- add(event) {
18
- this._ref.close(event.emoji);
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EmojiHostComponent, deps: [{ token: i1.PopupRef }, { token: i2.SessionService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: EmojiHostComponent, selector: "ng-component", ngImport: i0, template: `
22
- <emoji-mart class="emoji-mart" (emojiClick)="add($event)" set="twitter"
23
- [autoFocus]=true [enableSearch]=false [showPreview]=false [darkMode]=darkMode [color]=color [i18n]=i18n>
24
- </emoji-mart>`, isInline: true, dependencies: [{ kind: "component", type: i4.PickerComponent, selector: "emoji-mart", inputs: ["perLine", "totalFrequentLines", "i18n", "style", "title", "emoji", "darkMode", "color", "hideObsolete", "categories", "activeCategories", "set", "skin", "isNative", "emojiSize", "sheetSize", "emojisToShowFilter", "showPreview", "emojiTooltip", "autoFocus", "custom", "hideRecent", "imageUrlFn", "include", "exclude", "notFoundEmoji", "categoriesIcons", "searchIcons", "useButton", "enableFrequentEmojiSort", "enableSearch", "showSingleCategory", "virtualize", "virtualizeOffset", "recent", "backgroundImageFn"], outputs: ["emojiClick", "emojiSelect", "skinChange"] }] }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: EmojiHostComponent, decorators: [{
27
- type: Component,
28
- args: [{
29
- template: `
30
- <emoji-mart class="emoji-mart" (emojiClick)="add($event)" set="twitter"
31
- [autoFocus]=true [enableSearch]=false [showPreview]=false [darkMode]=darkMode [color]=color [i18n]=i18n>
32
- </emoji-mart>`
33
- }]
34
- }], ctorParameters: () => [{ type: i1.PopupRef }, { type: i2.SessionService }, { type: i3.TranslateService }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvdGFnZ2luZy9lbW9qaS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWTFDLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBb0IsSUFBa0MsRUFBVSxRQUF3QixFQUM5RSxVQUE0QjtRQURsQixTQUFJLEdBQUosSUFBSSxDQUE4QjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQzlFLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBSDdCLFlBQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLFNBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUdyQyxhQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3BDLFVBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRkQsQ0FBQztJQUczQyxHQUFHLENBQUMsS0FBaUI7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7OEdBVFUsa0JBQWtCO2tHQUFsQixrQkFBa0Isb0RBTG5COzs7Z0JBR0k7OzJGQUVILGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7OztnQkFHSTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQb3B1cFJlZiB9IGZyb20gJy4uL3BvcHVwL3BvcHVwLXJlZic7XHJcbmltcG9ydCB7IEVtb2ppRXZlbnQgfSBmcm9tICdAY3RybC9uZ3gtZW1vamktbWFydC9uZ3gtZW1vamknO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDxlbW9qaS1tYXJ0IGNsYXNzPVwiZW1vamktbWFydFwiIChlbW9qaUNsaWNrKT1cImFkZCgkZXZlbnQpXCIgc2V0PVwidHdpdHRlclwiXHJcbiAgICBbYXV0b0ZvY3VzXT10cnVlIFtlbmFibGVTZWFyY2hdPWZhbHNlIFtzaG93UHJldmlld109ZmFsc2UgW2RhcmtNb2RlXT1kYXJrTW9kZSBbY29sb3JdPWNvbG9yIFtpMThuXT1pMThuPlxyXG4gIDwvZW1vamktbWFydD5gXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbW9qaUhvc3RDb21wb25lbnQge1xyXG4gIHJlYWRvbmx5IGV4Y2x1ZGUgPSBbJ2ZsYWdzJ107XHJcbiAgcmVhZG9ubHkgaTE4biA9IHRoaXMuX3RyYW5zbGF0ZS5pMThuKCdlbW9qaScpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlZjogUG9wdXBSZWY8RW1vamlIb3N0Q29tcG9uZW50PiwgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxyXG4gIHJlYWRvbmx5IGRhcmtNb2RlID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrO1xyXG4gIHJlYWRvbmx5IGNvbG9yID0gdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoKTtcclxuICBhZGQoZXZlbnQ6IEVtb2ppRXZlbnQpIHtcclxuICAgIHRoaXMuX3JlZi5jbG9zZShldmVudC5lbW9qaSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class TaggingItemDirective {
4
- constructor() {
5
- this.selected = new EventEmitter();
6
- }
7
- setActiveStyles() {
8
- this.active = true;
9
- }
10
- setInactiveStyles() {
11
- this.active = false;
12
- }
13
- ngOnDestroy() {
14
- this.selected.unsubscribe();
15
- }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TaggingItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TaggingItemDirective, selector: "bizdoc-tag-item", inputs: { key: "key", value: "value" }, outputs: { selected: "selected" }, host: { attributes: { "role": "listitem", "tabindex": "-1" }, listeners: { "click": "selected.emit()" }, properties: { "class.active": "active" }, classAttribute: "tag-item" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TaggingItemDirective, decorators: [{
20
- type: Component,
21
- args: [{
22
- selector: 'bizdoc-tag-item',
23
- template: '<ng-content></ng-content>',
24
- host: {
25
- 'role': 'listitem',
26
- 'tabindex': '-1',
27
- 'class': 'tag-item',
28
- '[class.active]': 'active',
29
- '(click)': 'selected.emit()'
30
- }
31
- }]
32
- }], propDecorators: { selected: [{
33
- type: Output
34
- }], key: [{
35
- type: Input
36
- }], value: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZy1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWNsRixNQUFNLE9BQU8sb0JBQW9CO0lBWGpDO1FBWXFCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBa0JsRDtJQVhDLGVBQWU7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBbEJVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLG1UQVRyQiwyQkFBMkI7OzJGQVMxQixvQkFBb0I7a0JBWGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxVQUFVO3dCQUNsQixVQUFVLEVBQUUsSUFBSTt3QkFDaEIsT0FBTyxFQUFFLFVBQVU7d0JBQ25CLGdCQUFnQixFQUFFLFFBQVE7d0JBQzFCLFNBQVMsRUFBRSxpQkFBaUI7cUJBQzdCO2lCQUNGOzhCQUVvQixRQUFRO3NCQUExQixNQUFNO2dCQUVFLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtdGFnLWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXHJcbiAgaG9zdDoge1xyXG4gICAgJ3JvbGUnOiAnbGlzdGl0ZW0nLFxyXG4gICAgJ3RhYmluZGV4JzogJy0xJyxcclxuICAgICdjbGFzcyc6ICd0YWctaXRlbScsXHJcbiAgICAnW2NsYXNzLmFjdGl2ZV0nOiAnYWN0aXZlJyxcclxuICAgICcoY2xpY2spJzogJ3NlbGVjdGVkLmVtaXQoKSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWdnaW5nSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIEhpZ2hsaWdodGFibGUsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBrZXk6IHN0cmluZztcclxuICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG5cclxuICBhY3RpdmU6IGJvb2xlYW47XHJcblxyXG4gIHNldEFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICB9XHJcbiAgc2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gIH1cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,29 +0,0 @@
1
- import { Directive, EventEmitter, ViewChildren } from "@angular/core";
2
- import { ActiveDescendantKeyManager } from "@angular/cdk/a11y";
3
- import { TaggingItemDirective } from "./tagging-item.directive";
4
- import * as i0 from "@angular/core";
5
- export class TaggingComponentBase {
6
- constructor() {
7
- this.selected = new EventEmitter();
8
- }
9
- ngAfterViewInit() {
10
- this.keyManager = new ActiveDescendantKeyManager(this.options).
11
- withWrap();
12
- this.options.changes.subscribe(() => {
13
- this.options.toArray().forEach(i => i.selected.subscribe(() => this.selected.emit({ key: i.key, value: i.value })));
14
- //this.options.length && this.keyManager.setFirstItemActive();
15
- });
16
- }
17
- ngOnDestroy() {
18
- this.selected.unsubscribe();
19
- }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TaggingComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: TaggingComponentBase, viewQueries: [{ propertyName: "options", predicate: TaggingItemDirective, descendants: true }], ngImport: i0 }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TaggingComponentBase, decorators: [{
24
- type: Directive
25
- }], propDecorators: { options: [{
26
- type: ViewChildren,
27
- args: [TaggingItemDirective]
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZy5jb21wb25lbnQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL3RhZ2dpbmcvdGFnZ2luZy5jb21wb25lbnQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQXdCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFJaEUsTUFBTSxPQUFnQixvQkFBb0I7SUFEMUM7UUFHVyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7S0FtQm5FO0lBZkMsZUFBZTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSwwQkFBMEIsQ0FBdUIsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNsRixRQUFRLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELDhEQUE4RDtRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQXBCbUIsb0JBQW9CO2tHQUFwQixvQkFBb0Isc0RBQzFCLG9CQUFvQjs7MkZBRGQsb0JBQW9CO2tCQUR6QyxTQUFTOzhCQUU0QixPQUFPO3NCQUExQyxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFRhZ2dpbmdJdGVtRGlyZWN0aXZlIH0gZnJvbSBcIi4vdGFnZ2luZy1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGFnZ2luZ0NvbXBvbmVudEJhc2U8VD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGRyZW4oVGFnZ2luZ0l0ZW1EaXJlY3RpdmUpIG9wdGlvbnM6IFF1ZXJ5TGlzdDxUYWdnaW5nSXRlbURpcmVjdGl2ZT47XHJcbiAgcmVhZG9ubHkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsga2V5OiBhbnk7IHZhbHVlOiBhbnk7IH0+KCk7XHJcbiAgaXRlbXM6IE9ic2VydmFibGU8VFtdPjtcclxuICBrZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxUYWdnaW5nSXRlbURpcmVjdGl2ZT47XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxUYWdnaW5nSXRlbURpcmVjdGl2ZT4odGhpcy5vcHRpb25zKS5cclxuICAgICAgd2l0aFdyYXAoKTtcclxuICAgIHRoaXMub3B0aW9ucy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy50b0FycmF5KCkuZm9yRWFjaChpID0+IGkuc2VsZWN0ZWQuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KHsga2V5OiBpLmtleSwgdmFsdWU6IGkudmFsdWUgfSkpKTtcclxuICAgICAgLy90aGlzLm9wdGlvbnMubGVuZ3RoICYmIHRoaXMua2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3Qgb25CaW5kKHZhbHVlPzogc3RyaW5nKTogdm9pZDtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==