@bizdoc/core 3.2.10 → 3.3.2

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 (448) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +3 -3
  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 +8 -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 +2068 -1866
  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/trace/trace.base.d.ts +1 -1
  15. package/lib/core/base.d.ts +5 -0
  16. package/lib/core/fields/options.base.d.ts +2 -2
  17. package/lib/core/inputs/combination-picker-body.d.ts +0 -2
  18. package/lib/core/inputs/combination-picker.d.ts +1 -1
  19. package/lib/core/session.service.d.ts +2 -2
  20. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  21. package/lib/core/translate.service.d.ts +2 -2
  22. package/lib/cube/matrix/matrix.base.d.ts +1 -1
  23. package/lib/cube/view-base.d.ts +1 -1
  24. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
  25. package/lib/home/home-base.component.d.ts +1 -1
  26. package/lib/home/home.desktop.component.d.ts +5 -3
  27. package/lib/notifications/types/notification-base.d.ts +1 -1
  28. package/lib/reports/cube/usage-base.d.ts +1 -1
  29. package/lib/views/cube/cube-base.d.ts +1 -1
  30. package/package.json +31 -33
  31. package/esm2022/bizdoc-core.mjs +0 -5
  32. package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
  33. package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
  34. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
  35. package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
  36. package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
  37. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
  38. package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
  39. package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
  40. package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
  41. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
  42. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
  43. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
  44. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
  45. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
  46. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
  47. package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
  48. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
  49. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
  50. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
  51. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
  52. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
  53. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
  54. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
  55. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
  56. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
  57. package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
  58. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
  59. package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
  60. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
  61. package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
  62. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
  63. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
  64. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
  65. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
  66. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
  67. package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
  68. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
  69. package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
  70. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
  71. package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
  72. package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
  73. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
  74. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
  75. package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
  76. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
  77. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
  78. package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
  79. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
  80. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
  81. package/esm2022/lib/admin/core/ace.input.mjs +0 -144
  82. package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
  83. package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
  84. package/esm2022/lib/admin/core/search.input.mjs +0 -52
  85. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
  86. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
  87. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
  88. package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
  89. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
  90. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
  91. package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
  92. package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
  93. package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
  94. package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
  95. package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
  96. package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
  97. package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
  98. package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
  99. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
  100. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
  101. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
  102. package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
  103. package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
  104. package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
  105. package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
  106. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
  107. package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
  108. package/esm2022/lib/admin/system.service.mjs +0 -127
  109. package/esm2022/lib/admin/utility-ref.mjs +0 -39
  110. package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
  111. package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
  112. package/esm2022/lib/app.component.mjs +0 -73
  113. package/esm2022/lib/bizdoc.module.mjs +0 -110
  114. package/esm2022/lib/browse/browse-items.component.mjs +0 -496
  115. package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
  116. package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
  117. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
  118. package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
  119. package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
  120. package/esm2022/lib/chat/chat-info.mjs +0 -77
  121. package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
  122. package/esm2022/lib/chat/chat.service.mjs +0 -122
  123. package/esm2022/lib/chat/contacts.component.mjs +0 -107
  124. package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
  125. package/esm2022/lib/chat/conversation.component.mjs +0 -196
  126. package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
  127. package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
  128. package/esm2022/lib/compose/action/action-ref.mjs +0 -19
  129. package/esm2022/lib/compose/action/action.base.mjs +0 -50
  130. package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
  131. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
  132. package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
  133. package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
  134. package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
  135. package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
  136. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
  137. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
  138. package/esm2022/lib/compose/box/box.component.mjs +0 -44
  139. package/esm2022/lib/compose/box/control.component.mjs +0 -50
  140. package/esm2022/lib/compose/box/row.component.mjs +0 -41
  141. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
  142. package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
  143. package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
  144. package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
  145. package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
  146. package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
  147. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
  148. package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
  149. package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
  150. package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
  151. package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
  152. package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
  153. package/esm2022/lib/compose/dismiss.service.mjs +0 -25
  154. package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
  155. package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
  156. package/esm2022/lib/compose/document.component.mjs +0 -48
  157. package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
  158. package/esm2022/lib/compose/document.pane.component.mjs +0 -27
  159. package/esm2022/lib/compose/events/events.component.mjs +0 -29
  160. package/esm2022/lib/compose/form-ref.mjs +0 -43
  161. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
  162. package/esm2022/lib/compose/form.component.mjs +0 -512
  163. package/esm2022/lib/compose/new-menu.component.mjs +0 -94
  164. package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
  165. package/esm2022/lib/compose/privilage.directive.mjs +0 -64
  166. package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
  167. package/esm2022/lib/compose/state.component.mjs +0 -37
  168. package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
  169. package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
  170. package/esm2022/lib/compose/trace/people.component.mjs +0 -39
  171. package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
  172. package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
  173. package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
  174. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
  175. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -343
  176. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
  177. package/esm2022/lib/core/account.service.mjs +0 -38
  178. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
  179. package/esm2022/lib/core/animations.mjs +0 -168
  180. package/esm2022/lib/core/authentication.mjs +0 -4
  181. package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
  182. package/esm2022/lib/core/base.mjs +0 -2
  183. package/esm2022/lib/core/checkbox.mjs +0 -38
  184. package/esm2022/lib/core/colors.mjs +0 -322
  185. package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
  186. package/esm2022/lib/core/configuration.mjs +0 -17
  187. package/esm2022/lib/core/datasource.service.mjs +0 -75
  188. package/esm2022/lib/core/decorators.mjs +0 -46
  189. package/esm2022/lib/core/document-factory.service.mjs +0 -156
  190. package/esm2022/lib/core/fields/address.designer.mjs +0 -39
  191. package/esm2022/lib/core/fields/address.field.mjs +0 -65
  192. package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
  193. package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
  194. package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
  195. package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
  196. package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
  197. package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
  198. package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
  199. package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
  200. package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
  201. package/esm2022/lib/core/fields/date.designer.mjs +0 -40
  202. package/esm2022/lib/core/fields/date.field.mjs +0 -40
  203. package/esm2022/lib/core/fields/expression.field.mjs +0 -87
  204. package/esm2022/lib/core/fields/file.designer.mjs +0 -39
  205. package/esm2022/lib/core/fields/file.field.mjs +0 -35
  206. package/esm2022/lib/core/fields/html.designer.mjs +0 -61
  207. package/esm2022/lib/core/fields/html.field.mjs +0 -44
  208. package/esm2022/lib/core/fields/input.designer.mjs +0 -38
  209. package/esm2022/lib/core/fields/input.field.mjs +0 -54
  210. package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
  211. package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
  212. package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
  213. package/esm2022/lib/core/fields/options.base.mjs +0 -41
  214. package/esm2022/lib/core/fields/options.component.mjs +0 -58
  215. package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
  216. package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
  217. package/esm2022/lib/core/fields/select.designer.mjs +0 -104
  218. package/esm2022/lib/core/fields/select.field.mjs +0 -36
  219. package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
  220. package/esm2022/lib/core/fields/signature.field.mjs +0 -52
  221. package/esm2022/lib/core/fields/switch.field.mjs +0 -35
  222. package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
  223. package/esm2022/lib/core/fields/tags.field.mjs +0 -51
  224. package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
  225. package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
  226. package/esm2022/lib/core/fields/time.designer.mjs +0 -41
  227. package/esm2022/lib/core/fields/time.field.mjs +0 -39
  228. package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
  229. package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
  230. package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
  231. package/esm2022/lib/core/firebase.service.mjs +0 -51
  232. package/esm2022/lib/core/functions.mjs +0 -225
  233. package/esm2022/lib/core/guide/guide.component.mjs +0 -220
  234. package/esm2022/lib/core/guide/guide.service.mjs +0 -124
  235. package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
  236. package/esm2022/lib/core/http.interceptor.mjs +0 -63
  237. package/esm2022/lib/core/hub.service.mjs +0 -117
  238. package/esm2022/lib/core/identity/identity.component.mjs +0 -66
  239. package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
  240. package/esm2022/lib/core/info/document-info.service.mjs +0 -21
  241. package/esm2022/lib/core/info/location-info.component.mjs +0 -60
  242. package/esm2022/lib/core/info/map-info.mjs +0 -42
  243. package/esm2022/lib/core/inputs/address.input.mjs +0 -203
  244. package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
  245. package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
  246. package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
  247. package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
  248. package/esm2022/lib/core/inputs/file.input.mjs +0 -432
  249. package/esm2022/lib/core/inputs/select.input.mjs +0 -254
  250. package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
  251. package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
  252. package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
  253. package/esm2022/lib/core/layout.component.mjs +0 -93
  254. package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
  255. package/esm2022/lib/core/mailbox.service.mjs +0 -445
  256. package/esm2022/lib/core/models.mjs +0 -25
  257. package/esm2022/lib/core/none.component.mjs +0 -37
  258. package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
  259. package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
  260. package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
  261. package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
  262. package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
  263. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
  264. package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
  265. package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
  266. package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
  267. package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
  268. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
  269. package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
  270. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
  271. package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
  272. package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
  273. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
  274. package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
  275. package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
  276. package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
  277. package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
  278. package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
  279. package/esm2022/lib/core/popup/popup.component.mjs +0 -36
  280. package/esm2022/lib/core/popup/popup.service.mjs +0 -158
  281. package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
  282. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
  283. package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
  284. package/esm2022/lib/core/prompt.service.mjs +0 -88
  285. package/esm2022/lib/core/router.mjs +0 -37
  286. package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
  287. package/esm2022/lib/core/session.service.mjs +0 -291
  288. package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
  289. package/esm2022/lib/core/slots/router.directive.mjs +0 -68
  290. package/esm2022/lib/core/slots/router.service.mjs +0 -40
  291. package/esm2022/lib/core/slots/slots.component.mjs +0 -1193
  292. package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
  293. package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
  294. package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -238
  295. package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
  296. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
  297. package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
  298. package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -136
  299. package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
  300. package/esm2022/lib/core/tagging/users.component.mjs +0 -32
  301. package/esm2022/lib/core/translate.service.mjs +0 -125
  302. package/esm2022/lib/core/translations.mjs +0 -1068
  303. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
  304. package/esm2022/lib/core/window-title.service.mjs +0 -65
  305. package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
  306. package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
  307. package/esm2022/lib/cube/cube-info.service.mjs +0 -103
  308. package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
  309. package/esm2022/lib/cube/cube-view.component.mjs +0 -186
  310. package/esm2022/lib/cube/cube.service.mjs +0 -446
  311. package/esm2022/lib/cube/declarations.mjs +0 -2
  312. package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
  313. package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
  314. package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
  315. package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
  316. package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
  317. package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
  318. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
  319. package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
  320. package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
  321. package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
  322. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
  323. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
  324. package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
  325. package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
  326. package/esm2022/lib/cube/parallel/item.mjs +0 -40
  327. package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
  328. package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
  329. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
  330. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
  331. package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
  332. package/esm2022/lib/cube/view-base.mjs +0 -74
  333. package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
  334. package/esm2022/lib/cube/view.pane.component.mjs +0 -99
  335. package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
  336. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
  337. package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
  338. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
  339. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
  340. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
  341. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
  342. package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
  343. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
  344. package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
  345. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
  346. package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
  347. package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
  348. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
  349. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
  350. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
  351. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
  352. package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
  353. package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
  354. package/esm2022/lib/designer.module.mjs +0 -106
  355. package/esm2022/lib/desktop.module.mjs +0 -140
  356. package/esm2022/lib/home/about/about.dialog.mjs +0 -25
  357. package/esm2022/lib/home/home-base.component.mjs +0 -92
  358. package/esm2022/lib/home/home.desktop.component.mjs +0 -286
  359. package/esm2022/lib/home/home.mobile.component.mjs +0 -131
  360. package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
  361. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
  362. package/esm2022/lib/home/sign/sign.component.mjs +0 -56
  363. package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
  364. package/esm2022/lib/mobile.module.mjs +0 -63
  365. package/esm2022/lib/modules/chart.module.mjs +0 -44
  366. package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
  367. package/esm2022/lib/modules/date.adapter.mjs +0 -23
  368. package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
  369. package/esm2022/lib/modules/dayjs.module.mjs +0 -43
  370. package/esm2022/lib/modules/diagram.module.mjs +0 -43
  371. package/esm2022/lib/modules/gantt.module.mjs +0 -22
  372. package/esm2022/lib/modules/grid.module.mjs +0 -26
  373. package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
  374. package/esm2022/lib/modules/material.module.mjs +0 -182
  375. package/esm2022/lib/modules/paginator.intl.mjs +0 -21
  376. package/esm2022/lib/modules/pivot.module.mjs +0 -24
  377. package/esm2022/lib/modules/schedule.module.mjs +0 -24
  378. package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
  379. package/esm2022/lib/modules/stepper.intl.mjs +0 -17
  380. package/esm2022/lib/modules/texteditor.module.mjs +0 -26
  381. package/esm2022/lib/notifications/filter.component.mjs +0 -24
  382. package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
  383. package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
  384. package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
  385. package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
  386. package/esm2022/lib/notifications/notifications.service.mjs +0 -78
  387. package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
  388. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
  389. package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
  390. package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
  391. package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
  392. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
  393. package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
  394. package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
  395. package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
  396. package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
  397. package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
  398. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
  399. package/esm2022/lib/options/options.component.mjs +0 -308
  400. package/esm2022/lib/options/options.desktop.component.mjs +0 -26
  401. package/esm2022/lib/options/options.mobile.component.mjs +0 -23
  402. package/esm2022/lib/reports/arguments-component.mjs +0 -81
  403. package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
  404. package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
  405. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
  406. package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
  407. package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
  408. package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
  409. package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
  410. package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
  411. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
  412. package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
  413. package/esm2022/lib/reports/report-ref.mjs +0 -38
  414. package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
  415. package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
  416. package/esm2022/lib/reports/report.pane.component.mjs +0 -109
  417. package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
  418. package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
  419. package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
  420. package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
  421. package/esm2022/lib/routes.desktop.mjs +0 -209
  422. package/esm2022/lib/routes.mobile.mjs +0 -84
  423. package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
  424. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
  425. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
  426. package/esm2022/lib/search/cube.component.mjs +0 -47
  427. package/esm2022/lib/search/declarations.mjs +0 -7
  428. package/esm2022/lib/search/document.component.mjs +0 -41
  429. package/esm2022/lib/search/guide.component.mjs +0 -28
  430. package/esm2022/lib/search/path.component.mjs +0 -44
  431. package/esm2022/lib/search/search.service.mjs +0 -155
  432. package/esm2022/lib/shared.module.mjs +0 -622
  433. package/esm2022/lib/system.module.mjs +0 -562
  434. package/esm2022/lib/views/cube/chart.component.mjs +0 -74
  435. package/esm2022/lib/views/cube/cube-base.mjs +0 -101
  436. package/esm2022/lib/views/cube/explore.component.mjs +0 -85
  437. package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
  438. package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
  439. package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
  440. package/esm2022/lib/views/cube/sum.component.mjs +0 -66
  441. package/esm2022/lib/views/cube/view.component.mjs +0 -101
  442. package/esm2022/lib/views/document-view-ref.mjs +0 -27
  443. package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
  444. package/esm2022/lib/views/view-item.component.mjs +0 -68
  445. package/esm2022/lib/views/views.component.mjs +0 -32
  446. package/esm2022/lib/views/views.mobile.component.mjs +0 -21
  447. package/esm2022/lib/views/views.pane.component.mjs +0 -29
  448. package/esm2022/public-api.mjs +0 -182
@@ -1,285 +0,0 @@
1
- import { Component, Input, EventEmitter, Output, Optional, HostBinding, Self, Injector, ViewChild, TemplateRef } from "@angular/core";
2
- import { ComponentPortal } from "@angular/cdk/portal";
3
- import { MatFormFieldControl } from "@angular/material/form-field";
4
- import { coerceNumberProperty, coerceBooleanProperty } from "@angular/cdk/coercion";
5
- import { merge, Subject } from "rxjs";
6
- import { filter, tap } from "rxjs/operators";
7
- import { ACCOUNT_DELIMITER } from "../../cube/cube.service";
8
- import { CombinationPickerBody, COMBINATION_PICKER_BODY } from "./combination-picker-body";
9
- import { MatInput } from "@angular/material/input";
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/forms";
12
- import * as i2 from "@angular/material/form-field";
13
- import * as i3 from "@angular/cdk/overlay";
14
- import * as i4 from "@angular/material/dialog";
15
- import * as i5 from "@angular/cdk/a11y";
16
- import * as i6 from "@angular/cdk/bidi";
17
- import * as i7 from "@angular/common";
18
- import * as i8 from "@angular/material/input";
19
- import * as i9 from "@angular/material/icon";
20
- const RECORDS_LIMIT = 50;
21
- export class CombinationPicker {
22
- static { this.nextId = 0; }
23
- set limit(val) { this._limit = coerceNumberProperty(val); }
24
- get limit() { return this._limit; }
25
- set description(val) { this._description = val; }
26
- get description() { return this._description || ''; }
27
- get placeholder() {
28
- return this._placeholder;
29
- }
30
- set placeholder(plh) {
31
- this._placeholder = plh;
32
- this.stateChanges.next();
33
- }
34
- get empty() {
35
- return this._value === null;
36
- }
37
- get shouldLabelFloat() {
38
- return this.focused || !this.empty;
39
- }
40
- get required() {
41
- return this._required;
42
- }
43
- set required(req) {
44
- this._required = coerceBooleanProperty(req);
45
- this.stateChanges.next();
46
- }
47
- get disabled() { return this._disabled; }
48
- set disabled(value) {
49
- this._disabled = value;
50
- this.stateChanges.next();
51
- }
52
- focus() { this._input.focus(); }
53
- setDescribedByIds(ids) {
54
- this.describedBy = ids.join(' ');
55
- }
56
- onContainerClick(evt) {
57
- if (evt.target.tagName !== 'INPUT') {
58
- }
59
- this._open();
60
- }
61
- open(evt) {
62
- this._open();
63
- evt.stopPropagation();
64
- }
65
- writeValue(obj) {
66
- this.value = obj;
67
- }
68
- registerOnChange(fn) {
69
- this._onChange = fn;
70
- }
71
- registerOnTouched(fn) {
72
- this._onTouched = fn;
73
- }
74
- setDisabledState(isDisabled) {
75
- this.disabled = isDisabled;
76
- }
77
- get value() {
78
- return this._value;
79
- }
80
- set value(value) {
81
- this._value = value;
82
- this.stateChanges.next();
83
- }
84
- constructor(ngControl, _formField, _overlay, _dialog, _vc, _injector, _fm, _elementRef, _dir) {
85
- this.ngControl = ngControl;
86
- this._formField = _formField;
87
- this._overlay = _overlay;
88
- this._dialog = _dialog;
89
- this._vc = _vc;
90
- this._injector = _injector;
91
- this._fm = _fm;
92
- this._elementRef = _elementRef;
93
- this._dir = _dir;
94
- this._required = false;
95
- this._disabled = false;
96
- this._onChange = (_) => { };
97
- this._onTouched = () => { };
98
- this._opened = false;
99
- this._limit = RECORDS_LIMIT;
100
- this.stateChanges = new Subject();
101
- this._divider = ACCOUNT_DELIMITER;
102
- this.optionSelected = new EventEmitter();
103
- this.descriptionChange = new EventEmitter();
104
- this.id = `account-picker-${CombinationPicker.nextId++}`;
105
- this.focused = false;
106
- this.errorState = false;
107
- this.controlType = 'account-picker-input';
108
- this.describedBy = '';
109
- this._destroy = new Subject();
110
- if (this.ngControl != null) {
111
- this.ngControl.valueAccessor = this;
112
- }
113
- _fm.monitor(_elementRef.nativeElement, true).subscribe(origin => {
114
- if (this.focused && !origin) {
115
- this._onTouched();
116
- }
117
- this.focused = !!origin;
118
- this.stateChanges.next();
119
- });
120
- }
121
- ngOnInit() {
122
- }
123
- ngDoCheck() {
124
- if (this.ngControl) {
125
- this.errorState = this.ngControl.invalid && this.ngControl.touched;
126
- this.stateChanges.next();
127
- }
128
- }
129
- _keyDown(evt) {
130
- if (evt.altKey && evt.key === 'ArrowDown') {
131
- this._open();
132
- evt.preventDefault();
133
- }
134
- }
135
- _open() {
136
- if (this._opened)
137
- return;
138
- this._onTouched();
139
- const data = {
140
- divider: this._divider,
141
- displayDivider: this._displayDivider,
142
- limit: this._limit,
143
- value: this._value,
144
- cube: this.cube,
145
- exploreSettings: this.exploreSettings
146
- };
147
- if (this.touchUi) {
148
- this._dialogRef = this._dialog.open(CombinationPickerBody, {
149
- direction: this._dir.value,
150
- data,
151
- maxHeight: '90vh'
152
- });
153
- this._attach(this._dialogRef.componentInstance);
154
- }
155
- else {
156
- if (!this._overlayRef) {
157
- this._overlayRef = this._createOverlayRef();
158
- const injector = Injector.create({
159
- providers: [{
160
- provide: COMBINATION_PICKER_BODY, useValue: data
161
- }], parent: this._injector
162
- });
163
- this._portal = new ComponentPortal(CombinationPickerBody, this._vc, injector);
164
- }
165
- else
166
- this._reposition();
167
- const componentRef = this._overlayRef.attach(this._portal);
168
- this._attach(componentRef.instance);
169
- this._opened = true;
170
- }
171
- }
172
- _attach(body) {
173
- body.modeChange.
174
- subscribe(() => setTimeout(() => this._reposition(), 0));
175
- body.selectionChange.
176
- subscribe(e => {
177
- const { value, description } = e;
178
- this.value = value;
179
- this.description = description;
180
- this.descriptionChange.emit(description);
181
- this._onChange(this.value);
182
- this.close();
183
- this.optionSelected.emit(e);
184
- });
185
- }
186
- _reposition() {
187
- const el = this._getConnectedOverlayOrigin();
188
- this._overlayRef.updateSize({ minWidth: `${el.nativeElement.getBoundingClientRect().width}px` });
189
- }
190
- _createOverlayRef() {
191
- const el = this._getConnectedOverlayOrigin();
192
- const overlayRef = this._overlay.create({
193
- positionStrategy: this._overlay.position().flexibleConnectedTo(el).
194
- withViewportMargin(8).
195
- withFlexibleDimensions().
196
- withPositions([{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },
197
- { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' }]),
198
- hasBackdrop: true,
199
- direction: this._dir.value,
200
- backdropClass: 'cdk-overlay-transparent-backdrop',
201
- minWidth: `${el.nativeElement.getBoundingClientRect().width}px`,
202
- panelClass: 'home-panel'
203
- });
204
- merge(overlayRef.backdropClick(), overlayRef.keydownEvents().
205
- pipe(filter(e => e.key === 'Escape' || (e.key === 'ArrowUp' && e.altKey)), tap(e => e.stopPropagation()))).
206
- subscribe(() => this.close());
207
- return overlayRef;
208
- }
209
- _getConnectedOverlayOrigin() {
210
- return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
211
- }
212
- close() {
213
- if (this._overlayRef)
214
- this._overlayRef.detach();
215
- else
216
- this._dialogRef.close();
217
- this._opened = false;
218
- }
219
- ngOnDestroy() {
220
- this._destroy.next();
221
- this._destroy.complete();
222
- this._fm.stopMonitoring(this._elementRef.nativeElement);
223
- this.optionSelected.complete();
224
- this.descriptionChange.complete();
225
- this.stateChanges.complete();
226
- }
227
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CombinationPicker, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.MatFormField, optional: true }, { token: i3.Overlay }, { token: i4.MatDialog }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i5.FocusMonitor }, { token: i0.ElementRef }, { token: i6.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
228
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: CombinationPicker, selector: "bizdoc-combination-picker", inputs: { _divider: ["divider", "_divider"], _displayDivider: ["displayDivider", "_displayDivider"], limit: "limit", cube: "cube", exploreSettings: "exploreSettings", description: "description", touchUi: "touchUi", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, outputs: { optionSelected: "optionSelected", descriptionChange: "descriptionChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: CombinationPicker }], viewQueries: [{ propertyName: "_input", first: true, predicate: MatInput, descendants: true }, { propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<textarea matInput [disabled]=\"disabled\" (keydown)=\"_keyDown($event)\" [value]=\"description\" [placeholder]=\"placeholder\"></textarea>\r\n<mat-icon matSuffix tabindex=\"-1\" [ngClass]=\"{'mat-warn-text':errorState, 'disabled': disabled}\">arrow_drop_down</mat-icon>\r\n", styles: [":host{display:flex;flex-direction:row}:host textarea{resize:none;cursor:pointer;flex:1}.mat-warn-text{color:var(--sys-primary)}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
229
- }
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CombinationPicker, decorators: [{
231
- type: Component,
232
- args: [{ selector: 'bizdoc-combination-picker', providers: [{ provide: MatFormFieldControl, useExisting: CombinationPicker }], host: {
233
- '[class.floating]': 'shouldLabelFloat',
234
- '[attr.aria-describedby]': 'describedBy'
235
- }, template: "<textarea matInput [disabled]=\"disabled\" (keydown)=\"_keyDown($event)\" [value]=\"description\" [placeholder]=\"placeholder\"></textarea>\r\n<mat-icon matSuffix tabindex=\"-1\" [ngClass]=\"{'mat-warn-text':errorState, 'disabled': disabled}\">arrow_drop_down</mat-icon>\r\n", styles: [":host{display:flex;flex-direction:row}:host textarea{resize:none;cursor:pointer;flex:1}.mat-warn-text{color:var(--sys-primary)}\n"] }]
236
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
237
- type: Optional
238
- }, {
239
- type: Self
240
- }] }, { type: i2.MatFormField, decorators: [{
241
- type: Optional
242
- }] }, { type: i3.Overlay }, { type: i4.MatDialog }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i5.FocusMonitor }, { type: i0.ElementRef }, { type: i6.Directionality }], propDecorators: { _divider: [{
243
- type: Input,
244
- args: ['divider']
245
- }], _displayDivider: [{
246
- type: Input,
247
- args: ['displayDivider']
248
- }], limit: [{
249
- type: Input
250
- }], cube: [{
251
- type: Input
252
- }], exploreSettings: [{
253
- type: Input
254
- }], optionSelected: [{
255
- type: Output
256
- }], description: [{
257
- type: Input
258
- }], descriptionChange: [{
259
- type: Output
260
- }], id: [{
261
- type: HostBinding
262
- }], touchUi: [{
263
- type: Input
264
- }], placeholder: [{
265
- type: Input
266
- }], shouldLabelFloat: [{
267
- type: HostBinding,
268
- args: ['class.floating']
269
- }], required: [{
270
- type: Input
271
- }], disabled: [{
272
- type: Input
273
- }], describedBy: [{
274
- type: HostBinding,
275
- args: ['attr.aria-describedby']
276
- }], _input: [{
277
- type: ViewChild,
278
- args: [MatInput]
279
- }], value: [{
280
- type: Input
281
- }], _template: [{
282
- type: ViewChild,
283
- args: [TemplateRef]
284
- }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluYXRpb24tcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvaW5wdXRzL2NvbWJpbmF0aW9uLXBpY2tlci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL2lucHV0cy9jb21iaW5hdGlvbi1waWNrZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWEsV0FBVyxFQUFFLElBQUksRUFBbUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaE0sT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUlqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBdUIscUJBQXFCLEVBQTRCLHVCQUF1QixFQUFtQixNQUFNLDJCQUEyQixDQUFDO0FBQzNKLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFbkQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBWXpCLE1BQU0sT0FBTyxpQkFBaUI7YUFDYixXQUFNLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFlMUIsSUFBYSxLQUFLLENBQUMsR0FBVyxJ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UTs4TkFwRk8sUUFBUTtzQkFBekIsS0FBSzt1QkFBQyxTQUFTO2dCQUNTLGVBQWU7c0JBQXZDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNWLEtBQUs7c0JBQWpCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFEdEIsTUFBTTtnQkFHTSxXQUFXO3NCQUF2QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFFaUIsRUFBRTtzQkFBekIsV0FBVztnQkFDSCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkFZRixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUt6QixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVFnQyxXQUFXO3NCQUFoRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDZixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBMEJOLEtBQUs7c0JBQWpCLEtBQUs7Z0JBU0UsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q29udGFpbmVyUmVmLCBFbGVtZW50UmVmLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9wdGlvbmFsLCBPbkRlc3Ryb3ksIEhvc3RCaW5kaW5nLCBTZWxmLCBPbkluaXQsIERvQ2hlY2ssIEluamVjdG9yLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcclxuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBQ0NPVU5UX0RFTElNSVRFUiB9IGZyb20gXCIuLi8uLi9jdWJlL2N1YmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21iaW5hdGlvbkJvZHlEYXRhLCBDb21iaW5hdGlvblBpY2tlckJvZHksIENvbWJpbmF0aW9uU2VsZWN0ZWRFdmVudCwgQ09NQklOQVRJT05fUElDS0VSX0JPRFksIEV4cGxvcmVTZXR0aW5ncyB9IGZyb20gXCIuL2NvbWJpbmF0aW9uLXBpY2tlci1ib2R5XCI7XHJcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcblxyXG5jb25zdCBSRUNPUkRTX0xJTUlUID0gNTA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jb21iaW5hdGlvbi1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnY29tYmluYXRpb24tcGlja2VyLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydjb21iaW5hdGlvbi1waWNrZXIuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IENvbWJpbmF0aW9uUGlja2VyIH1dLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MuZmxvYXRpbmddJzogJ3Nob3VsZExhYmVsRmxvYXQnLFxyXG4gICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ2Rlc2NyaWJlZEJ5J1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbWJpbmF0aW9uUGlja2VyIGltcGxlbWVudHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxzdHJpbmc+LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHByaXZhdGUgX29wZW5lZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2xpbWl0OiBudW1iZXIgPSBSRUNPUkRTX0xJTUlUO1xyXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8Q29tYmluYXRpb25QaWNrZXJCb2R5PjtcclxuICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb21iaW5hdGlvblBpY2tlckJvZHk+O1xyXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQElucHV0KCdkaXZpZGVyJykgX2RpdmlkZXI6IHN0cmluZyA9IEFDQ09VTlRfREVMSU1JVEVSO1xyXG4gIEBJbnB1dCgnZGlzcGxheURpdmlkZXInKSBfZGlzcGxheURpdmlkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgbGltaXQodmFsOiBudW1iZXIpIHsgdGhpcy5fbGltaXQgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWwpOyB9XHJcbiAgZ2V0IGxpbWl0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9saW1pdDsgfVxyXG4gIEBJbnB1dCgpIGN1YmU6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBsb3JlU2V0dGluZ3M/OiBFeHBsb3JlU2V0dGluZ3M7XHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbWJpbmF0aW9uU2VsZWN0ZWRFdmVudD4oKTtcclxuICBwcml2YXRlIF9kZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBkZXNjcmlwdGlvbih2YWw6IHN0cmluZykgeyB0aGlzLl9kZXNjcmlwdGlvbiA9IHZhbDsgfVxyXG4gIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZGVzY3JpcHRpb24gfHwgJyc7IH1cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBkZXNjcmlwdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBIb3N0QmluZGluZygpIHJlYWRvbmx5IGlkID0gYGFjY291bnQtcGlja2VyLSR7Q29tYmluYXRpb25QaWNrZXIubmV4dElkKyt9YDtcclxuICBASW5wdXQoKSB0b3VjaFVpOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcclxuICB9XHJcbiAgc2V0IHBsYWNlaG9sZGVyKHBsaCkge1xyXG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGg7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgPT09IG51bGw7XHJcbiAgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgcmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG4gIHNldCByZXF1aXJlZChyZXEpIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHJlcSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGVycm9yU3RhdGUgPSBmYWxzZTtcclxuICBjb250cm9sVHlwZT86IHN0cmluZyA9ICdhY2NvdW50LXBpY2tlci1pbnB1dCc7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBkZXNjcmliZWRCeSA9ICcnO1xyXG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQpIF9pbnB1dDogTWF0SW5wdXQ7XHJcbiAgZm9jdXMoKSB7IHRoaXMuX2lucHV0LmZvY3VzKCkgfVxyXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xyXG4gIH1cclxuICBvbkNvbnRhaW5lckNsaWNrKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKChldnQudGFyZ2V0IGFzIEVsZW1lbnQpLnRhZ05hbWUgIT09ICdJTlBVVCcpIHtcclxuICAgIH1cclxuICAgIHRoaXMuX29wZW4oKTtcclxuICB9XHJcbiAgb3BlbihldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9vcGVuKCk7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuICBASW5wdXQoKSBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZilcclxuICBwcml2YXRlIF90ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2Zvcm1GaWVsZDogTWF0Rm9ybUZpZWxkLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2ZtOiBGb2N1c01vbml0b3IsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSkge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgICBfZm0ubW9uaXRvcihfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcclxuICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiAhb3JpZ2luKSB7XHJcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5mb2N1c2VkID0gISFvcmlnaW47XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9IHRoaXMubmdDb250cm9sLmludmFsaWQgYXMgYm9vbGVhbiAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkIGFzIGJvb2xlYW47XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgX2tleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZ0LmFsdEtleSAmJiBldnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICB0aGlzLl9vcGVuKCk7XHJcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9vcGVuKCkge1xyXG4gICAgaWYgKHRoaXMuX29wZW5lZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBkaXZpZGVyOiB0aGlzLl9kaXZpZGVyLFxyXG4gICAgICBkaXNwbGF5RGl2aWRlcjogdGhpcy5fZGlzcGxheURpdmlkZXIsXHJcbiAgICAgIGxpbWl0OiB0aGlzLl9saW1pdCxcclxuICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlLFxyXG4gICAgICBjdWJlOiB0aGlzLmN1YmUsXHJcbiAgICAgIGV4cGxvcmVTZXR0aW5nczogdGhpcy5leHBsb3JlU2V0dGluZ3NcclxuICAgIH0gYXMgQ29tYmluYXRpb25Cb2R5RGF0YTtcclxuICAgIGlmICh0aGlzLnRvdWNoVWkpIHtcclxuICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oQ29tYmluYXRpb25QaWNrZXJCb2R5LCB7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBtYXhIZWlnaHQ6ICc5MHZoJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fYXR0YWNoKHRoaXMuX2RpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXlSZWYoKTtcclxuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgICAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IENPTUJJTkFUSU9OX1BJQ0tFUl9CT0RZLCB1c2VWYWx1ZTogZGF0YVxyXG4gICAgICAgICAgfV0sIHBhcmVudDogdGhpcy5faW5qZWN0b3JcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKENvbWJpbmF0aW9uUGlja2VyQm9keSwgdGhpcy5fdmMsIGluamVjdG9yKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5fcmVwb3NpdGlvbigpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xyXG4gICAgICB0aGlzLl9hdHRhY2goY29tcG9uZW50UmVmLmluc3RhbmNlKTtcclxuICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfYXR0YWNoKGJvZHk6IENvbWJpbmF0aW9uUGlja2VyQm9keSkge1xyXG4gICAgYm9keS5tb2RlQ2hhbmdlLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9yZXBvc2l0aW9uKCksIDApKTtcclxuICAgIGJvZHkuc2VsZWN0aW9uQ2hhbmdlLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgZGVzY3JpcHRpb24gfSA9IGU7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ2hhbmdlLmVtaXQoZGVzY3JpcHRpb24pO1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9yZXBvc2l0aW9uKCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLl9nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBtaW5XaWR0aDogYCR7ZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXlSZWYoKTogT3ZlcmxheVJlZiB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuX2dldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsKS5cclxuICAgICAgICB3aXRoVmlld3BvcnRNYXJnaW4oOCkuXHJcbiAgICAgICAgd2l0aEZsZXhpYmxlRGltZW5zaW9ucygpLlxyXG4gICAgICAgIHdpdGhQb3NpdGlvbnMoW3sgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgICAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nIH1dKSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxyXG4gICAgICBtaW5XaWR0aDogYCR7ZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdob21lLXBhbmVsJ1xyXG4gICAgfSk7XHJcbiAgICBtZXJnZShvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSwgb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuXHJcbiAgICAgIHBpcGUoZmlsdGVyKGUgPT4gZS5rZXkgPT09ICdFc2NhcGUnIHx8IChlLmtleSA9PT0gJ0Fycm93VXAnICYmIGUuYWx0S2V5KSksXHJcbiAgICAgICAgdGFwKGUgPT4gZS5zdG9wUHJvcGFnYXRpb24oKSkpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgICByZXR1cm4gb3ZlcmxheVJlZjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGQgPyB0aGlzLl9mb3JtRmllbGQuZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpIDogdGhpcy5fZWxlbWVudFJlZjtcclxuICB9XHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIGVsc2UgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2ZtLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uQ2hhbmdlLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8dGV4dGFyZWEgbWF0SW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGtleWRvd24pPVwiX2tleURvd24oJGV2ZW50KVwiIFt2YWx1ZV09XCJkZXNjcmlwdGlvblwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiPjwvdGV4dGFyZWE+XHJcbjxtYXQtaWNvbiBtYXRTdWZmaXggdGFiaW5kZXg9XCItMVwiIFtuZ0NsYXNzXT1cInsnbWF0LXdhcm4tdGV4dCc6ZXJyb3JTdGF0ZSwgJ2Rpc2FibGVkJzogZGlzYWJsZWR9XCI+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cclxuIl19
@@ -1,105 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from "@angular/core";
2
- import { debounceTime, takeUntil, tap } from "rxjs/operators";
3
- import { Validators } from "@angular/forms";
4
- import { Subject } from "rxjs";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../cube/cube.service";
7
- import * as i2 from "@angular/forms";
8
- import * as i3 from "../session.service";
9
- import * as i4 from "@angular/material/core";
10
- import * as i5 from "@angular/material/form-field";
11
- import * as i6 from "@angular/material/select";
12
- import * as i7 from "../pipes/translate.pipe";
13
- export class CombinationPool {
14
- constructor(_service, _fb, _session) {
15
- this._service = _service;
16
- this._fb = _fb;
17
- this._session = _session;
18
- this.model = {};
19
- this.source = 'combinations';
20
- this.modelChange = new EventEmitter();
21
- this._axes = [];
22
- this.working = true;
23
- this._keys = {};
24
- this._values = {};
25
- this._destroy = new Subject();
26
- }
27
- ngOnInit() {
28
- this._cube = this.cube ? this._session.profile.cubes.find(c => c.name === this.cube) :
29
- this._session.profile.cubes[0];
30
- this._axes = this._cube.axes.filter(a => a.combination && a.selectionMode !== 'None');
31
- this._axes.forEach(a => {
32
- let control = this.form.controls[a.name];
33
- if (!control) {
34
- control = this._fb.control(null, Validators.required);
35
- this.form.addControl(a.name, control);
36
- }
37
- this._keys[a.dataType] = [];
38
- control.valueChanges.pipe(debounceTime(250), takeUntil(this._destroy)).subscribe(v => {
39
- this.model[a.name] = v;
40
- this._populate().
41
- pipe(tap(() => this.modelChange.next(this.model))).subscribe();
42
- });
43
- });
44
- this._populate().subscribe();
45
- }
46
- _populate() {
47
- this.working = true;
48
- const values = {};
49
- this._axes.forEach(a => {
50
- const val = this.model[a.name];
51
- if (val)
52
- values[a.name] = val;
53
- });
54
- return this._service.constraints(this._cube.name, values, { source: this.source }).pipe(tap(r => {
55
- Object.keys(r).forEach(t => {
56
- this._values[t] = r[t];
57
- const keys = this._keys[t] = Object.keys(r[t]);
58
- const axis = this._axes.find(a => a.dataType === t), control = this.form.controls[axis.name];
59
- if (keys.length < 2) {
60
- if (keys.length === 1)
61
- control.patchValue(this.model[axis.name] = keys[0], { emitEvent: false });
62
- control.disable({ emitEvent: false });
63
- }
64
- else if (control.disabled)
65
- control.enable({ emitEvent: false });
66
- });
67
- Object.assign(this._values, r);
68
- this.working = false;
69
- }));
70
- }
71
- clear(axis) {
72
- const control = this.form.controls[axis];
73
- control.patchValue(null);
74
- }
75
- clearAll() {
76
- const values = {};
77
- this._axes.forEach(a => {
78
- values[a.name] = null;
79
- });
80
- this.form.patchValue(values);
81
- }
82
- ngOnDestroy() {
83
- this._destroy.next();
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CombinationPool, deps: [{ token: i1.CubeService }, { token: i2.FormBuilder }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: CombinationPool, selector: "bizdoc-combination-pool", inputs: { form: ["formGroup", "form"], appearance: "appearance", cube: "cube", model: "model", source: "source" }, outputs: { modelChange: "modelChange" }, ngImport: i0, template: "<form [formGroup]=\"form\">\r\n @for (a of _axes; track a) {\r\n <mat-form-field [appearance]=\"appearance\">\r\n <mat-label>{{a.title}}</mat-label>\r\n <mat-select [formControlName]=\"a.name\">\r\n @if (form.controls[a.name].value) {\r\n <mat-option>{{'Dashes'|translate:('Clear'|translate)}}</mat-option>\r\n }\r\n @for (key of _keys[a.dataType]; track key) {\r\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\r\n }\r\n </mat-select>\r\n <mat-hint>{{form.controls[a.name].value}}</mat-hint>\r\n </mat-form-field>\r\n }\r\n</form>\r\n", styles: [":host{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}form{flex-flow:row wrap;box-sizing:border-box;display:flex;padding:0!important}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}[dir=rtl] form>*{padding:0 0 5px}@media (max-width: 599px){form{flex-flow:column}form>*{width:unset}}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CombinationPool, decorators: [{
89
- type: Component,
90
- args: [{ selector: 'bizdoc-combination-pool', template: "<form [formGroup]=\"form\">\r\n @for (a of _axes; track a) {\r\n <mat-form-field [appearance]=\"appearance\">\r\n <mat-label>{{a.title}}</mat-label>\r\n <mat-select [formControlName]=\"a.name\">\r\n @if (form.controls[a.name].value) {\r\n <mat-option>{{'Dashes'|translate:('Clear'|translate)}}</mat-option>\r\n }\r\n @for (key of _keys[a.dataType]; track key) {\r\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\r\n }\r\n </mat-select>\r\n <mat-hint>{{form.controls[a.name].value}}</mat-hint>\r\n </mat-form-field>\r\n }\r\n</form>\r\n", styles: [":host{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}form{flex-flow:row wrap;box-sizing:border-box;display:flex;padding:0!important}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}[dir=rtl] form>*{padding:0 0 5px}@media (max-width: 599px){form{flex-flow:column}form>*{width:unset}}\n"] }]
91
- }], ctorParameters: () => [{ type: i1.CubeService }, { type: i2.FormBuilder }, { type: i3.SessionService }], propDecorators: { form: [{
92
- type: Input,
93
- args: ['formGroup']
94
- }], appearance: [{
95
- type: Input
96
- }], cube: [{
97
- type: Input
98
- }], model: [{
99
- type: Input
100
- }], source: [{
101
- type: Input
102
- }], modelChange: [{
103
- type: Output
104
- }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluYXRpb24tcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL2lucHV0cy9jb21iaW5hdGlvbi1wb29sLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvaW5wdXRzL2NvbWJpbmF0aW9uLXBvb2wuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBZSxVQUFVLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUlwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFPL0IsTUFBTSxPQUFPLGVBQWU7SUFtQjFCLFlBQW9CLFFBQXFCLEVBQy9CLEdBQWdCLEVBQ2hCLFFBQXdCO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUMvQixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBYmxDLFVBQUssR0FBMEMsRUFBRSxDQUFDO1FBRWxELFdBQU0sR0FBbUMsY0FBYyxDQUFDO1FBRS9DLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQXlDLENBQUM7UUFDakYsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUV2QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ04sVUFBSyxHQUFpQyxFQUFFLENBQUM7UUFDekMsWUFBTyxHQUErQyxFQUFFLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFHVixDQUFDO0lBQ3ZDLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJ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QUFNLEdBQUcsRUFBNEIsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNyQixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQS9FVSxlQUFlO2tHQUFmLGVBQWUsMk5DYjVCLDJuQkFnQkE7OzJGREhhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UseUJBQXlCO3VJQU1uQyxJQUFJO3NCQURILEtBQUs7dUJBQUMsV0FBVztnQkFHbEIsVUFBVTtzQkFEVCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdHLFdBQVc7c0JBRG5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVBeGlzLCBDdWJlIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNvbWJpbmF0aW9uLXBvb2wnLFxyXG4gIHRlbXBsYXRlVXJsOiAnY29tYmluYXRpb24tcG9vbC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnY29tYmluYXRpb24tcG9vbC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbWJpbmF0aW9uUG9vbCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoJ2Zvcm1Hcm91cCcpXHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKVxyXG4gIGFwcGVhcmFuY2U/OiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgbW9kZWw6IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0gPSB7fTtcclxuICBASW5wdXQoKVxyXG4gIHNvdXJjZTogJ2NvbnN0cmFpbnRzJyB8ICdjb21iaW5hdGlvbnMnID0gJ2NvbWJpbmF0aW9ucyc7XHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpIH0+KCk7XHJcbiAgX2F4ZXM6IEN1YmVBeGlzW10gPSBbXTtcclxuICBfY3ViZTogQ3ViZTtcclxuICB3b3JraW5nID0gdHJ1ZTtcclxuICByZWFkb25seSBfa2V5czogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xyXG4gIHJlYWRvbmx5IF92YWx1ZXM6IHsgW3R5cGU6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfSA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpISA6XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIHRoaXMuX2F4ZXMgPSB0aGlzLl9jdWJlLmF4ZXMuZmlsdGVyKGEgPT4gYS5jb21iaW5hdGlvbiAmJiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJyk7XHJcbiAgICB0aGlzLl9heGVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgIGxldCBjb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW2EubmFtZV07XHJcbiAgICAgIGlmICghY29udHJvbCkge1xyXG4gICAgICAgIGNvbnRyb2wgPSB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGEubmFtZSwgY29udHJvbCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fa2V5c1thLmRhdGFUeXBlXSA9IFtdO1xyXG4gICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyNTApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgICB0aGlzLm1vZGVsW2EubmFtZV0gPSB2O1xyXG4gICAgICAgIHRoaXMuX3BvcHVsYXRlKCkuXHJcbiAgICAgICAgICBwaXBlKHRhcCgoKSA9PlxyXG4gICAgICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLm5leHQodGhpcy5tb2RlbCkpKS5zdWJzY3JpYmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BvcHVsYXRlKCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3BvcHVsYXRlKCkge1xyXG4gICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgICB0aGlzLl9heGVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbCA9IHRoaXMubW9kZWxbYS5uYW1lXTtcclxuICAgICAgaWYgKHZhbCkgdmFsdWVzW2EubmFtZV0gPSB2YWw7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLmNvbnN0cmFpbnRzKHRoaXMuX2N1YmUubmFtZSwgdmFsdWVzLCB7IHNvdXJjZTogdGhpcy5zb3VyY2UgfSkucGlwZSh0YXAociA9PiB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHIpLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVzW3RdID0gclt0XTtcclxuICAgICAgICBjb25zdCBrZXlzID0gdGhpcy5fa2V5c1t0XSA9IE9iamVjdC5rZXlzKHJbdF0pO1xyXG4gICAgICAgIGNvbnN0IGF4aXMgPSB0aGlzLl9heGVzLmZpbmQoYSA9PiBhLmRhdGFUeXBlID09PSB0KSEsXHJcbiAgICAgICAgICBjb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW2F4aXMubmFtZV07XHJcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgaWYgKGtleXMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUodGhpcy5tb2RlbFtheGlzLm5hbWVdID0ga2V5c1swXSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoY29udHJvbC5kaXNhYmxlZCkgY29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl92YWx1ZXMsIHIpO1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgIH0pKTtcclxuICB9XHJcbiAgY2xlYXIoYXhpczogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW2F4aXNdO1xyXG4gICAgY29udHJvbC5wYXRjaFZhbHVlKG51bGwpO1xyXG4gIH1cclxuICBjbGVhckFsbCgpIHtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgICB0aGlzLl9heGVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgIHZhbHVlc1thLm5hbWVdID0gbnVsbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodmFsdWVzKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgQGZvciAoYSBvZiBfYXhlczsgdHJhY2sgYSkge1xyXG4gICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIj5cclxuICAgICAgPG1hdC1sYWJlbD57e2EudGl0bGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiPlxyXG4gICAgICAgIEBpZiAoZm9ybS5jb250cm9sc1thLm5hbWVdLnZhbHVlKSB7XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbj57eydEYXNoZXMnfHRyYW5zbGF0ZTooJ0NsZWFyJ3x0cmFuc2xhdGUpfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgKGtleSBvZiBfa2V5c1thLmRhdGFUeXBlXTsgdHJhY2sga2V5KSB7XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwia2V5XCI+e3tfdmFsdWVzW2EuZGF0YVR5cGVdW2tleV19fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1oaW50Pnt7Zm9ybS5jb250cm9sc1thLm5hbWVdLnZhbHVlfX08L21hdC1oaW50PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICB9XHJcbjwvZm9ybT5cclxuIl19