@igo2/common 1.14.1 → 1.14.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 (351) hide show
  1. package/esm2020/igo2-common.mjs +4 -4
  2. package/esm2020/lib/action/action.module.mjs +26 -26
  3. package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +251 -251
  4. package/esm2020/lib/action/actionbar/actionbar.component.mjs +369 -369
  5. package/esm2020/lib/action/actionbar/actionbar.module.mjs +56 -56
  6. package/esm2020/lib/action/index.mjs +2 -2
  7. package/esm2020/lib/action/shared/action.enums.mjs +6 -6
  8. package/esm2020/lib/action/shared/action.interfaces.mjs +1 -1
  9. package/esm2020/lib/action/shared/index.mjs +3 -3
  10. package/esm2020/lib/action/shared/store.mjs +7 -7
  11. package/esm2020/lib/backdrop/backdrop.component.mjs +25 -25
  12. package/esm2020/lib/backdrop/backdrop.module.mjs +24 -24
  13. package/esm2020/lib/backdrop/index.mjs +1 -1
  14. package/esm2020/lib/badge-icon/badge-icon.directive.mjs +141 -125
  15. package/esm2020/lib/badge-icon/badge-icon.module.mjs +25 -25
  16. package/esm2020/lib/badge-icon/index.mjs +1 -1
  17. package/esm2020/lib/clickout/clickout.directive.mjs +31 -31
  18. package/esm2020/lib/clickout/clickout.module.mjs +23 -23
  19. package/esm2020/lib/clickout/index.mjs +1 -1
  20. package/esm2020/lib/clone/clone.module.mjs +23 -23
  21. package/esm2020/lib/clone/clone.pipe.mjs +23 -23
  22. package/esm2020/lib/clone/index.mjs +1 -1
  23. package/esm2020/lib/collapsible/collapse.directive.mjs +54 -54
  24. package/esm2020/lib/collapsible/collapsible.component.mjs +56 -56
  25. package/esm2020/lib/collapsible/collapsible.module.mjs +26 -26
  26. package/esm2020/lib/collapsible/index.mjs +2 -2
  27. package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +43 -43
  28. package/esm2020/lib/confirm-dialog/confirm-dialog.module.mjs +28 -28
  29. package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +21 -21
  30. package/esm2020/lib/confirm-dialog/index.mjs +2 -2
  31. package/esm2020/lib/context-menu/context-menu.directive.mjs +102 -102
  32. package/esm2020/lib/context-menu/context-menu.module.mjs +24 -24
  33. package/esm2020/lib/context-menu/index.mjs +2 -2
  34. package/esm2020/lib/context-menu/long-press.directive.mjs +62 -62
  35. package/esm2020/lib/custom-html/custom-html.component.mjs +27 -27
  36. package/esm2020/lib/custom-html/custom-html.module.mjs +46 -46
  37. package/esm2020/lib/custom-html/custom-html.pipe.mjs +17 -17
  38. package/esm2020/lib/custom-html/index.mjs +2 -2
  39. package/esm2020/lib/dom/dom.interfaces.mjs +1 -1
  40. package/esm2020/lib/dom/dom.module.mjs +22 -22
  41. package/esm2020/lib/dom/dom.service.mjs +29 -29
  42. package/esm2020/lib/dom/index.mjs +2 -2
  43. package/esm2020/lib/drag-drop/drag-drop.directive.mjs +87 -87
  44. package/esm2020/lib/drag-drop/drag-drop.module.mjs +23 -23
  45. package/esm2020/lib/drag-drop/index.mjs +1 -1
  46. package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +30 -30
  47. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +121 -121
  48. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +27 -27
  49. package/esm2020/lib/dynamic-component/index.mjs +2 -2
  50. package/esm2020/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +1 -1
  51. package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +173 -173
  52. package/esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs +28 -28
  53. package/esm2020/lib/dynamic-component/shared/index.mjs +3 -3
  54. package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +193 -193
  55. package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +31 -31
  56. package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +136 -136
  57. package/esm2020/lib/entity/entity-table/entity-table.component.mjs +1368 -1368
  58. package/esm2020/lib/entity/entity-table/entity-table.module.mjs +101 -101
  59. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +131 -131
  60. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +1 -1
  61. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +27 -27
  62. package/esm2020/lib/entity/entity.module.mjs +30 -30
  63. package/esm2020/lib/entity/index.mjs +5 -5
  64. package/esm2020/lib/entity/shared/entity.enums.mjs +27 -27
  65. package/esm2020/lib/entity/shared/entity.interfaces.mjs +1 -1
  66. package/esm2020/lib/entity/shared/entity.utils.mjs +66 -66
  67. package/esm2020/lib/entity/shared/index.mjs +9 -9
  68. package/esm2020/lib/entity/shared/state.mjs +190 -190
  69. package/esm2020/lib/entity/shared/store.mjs +287 -287
  70. package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +78 -78
  71. package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +83 -83
  72. package/esm2020/lib/entity/shared/strategies/index.mjs +3 -3
  73. package/esm2020/lib/entity/shared/strategies/strategy.mjs +74 -74
  74. package/esm2020/lib/entity/shared/transaction.mjs +315 -315
  75. package/esm2020/lib/entity/shared/view.mjs +314 -314
  76. package/esm2020/lib/entity/shared/watcher.mjs +119 -119
  77. package/esm2020/lib/flexible/flexible.component.mjs +147 -147
  78. package/esm2020/lib/flexible/flexible.module.mjs +23 -23
  79. package/esm2020/lib/flexible/flexible.type.mjs +1 -1
  80. package/esm2020/lib/flexible/index.mjs +2 -2
  81. package/esm2020/lib/form/form/form.component.mjs +116 -116
  82. package/esm2020/lib/form/form/form.module.mjs +39 -39
  83. package/esm2020/lib/form/form-field/form-field-select.component.mjs +126 -126
  84. package/esm2020/lib/form/form-field/form-field-text.component.mjs +103 -103
  85. package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +104 -104
  86. package/esm2020/lib/form/form-field/form-field.component.mjs +71 -71
  87. package/esm2020/lib/form/form-field/form-field.module.mjs +73 -73
  88. package/esm2020/lib/form/form-field/index.mjs +4 -4
  89. package/esm2020/lib/form/form-group/form-group.component.mjs +104 -104
  90. package/esm2020/lib/form/form-group/form-group.module.mjs +39 -39
  91. package/esm2020/lib/form/form.module.mjs +48 -48
  92. package/esm2020/lib/form/index.mjs +4 -4
  93. package/esm2020/lib/form/shared/form-field-component.mjs +6 -6
  94. package/esm2020/lib/form/shared/form-field.service.mjs +28 -28
  95. package/esm2020/lib/form/shared/form.interfaces.mjs +1 -1
  96. package/esm2020/lib/form/shared/form.service.mjs +80 -80
  97. package/esm2020/lib/form/shared/form.utils.mjs +39 -39
  98. package/esm2020/lib/form/shared/index.mjs +5 -5
  99. package/esm2020/lib/home-button/home-button.component.mjs +30 -30
  100. package/esm2020/lib/home-button/home-button.module.mjs +40 -40
  101. package/esm2020/lib/home-button/index.mjs +1 -1
  102. package/esm2020/lib/image/image-error.directive.mjs +34 -34
  103. package/esm2020/lib/image/image.module.mjs +24 -24
  104. package/esm2020/lib/image/index.mjs +2 -2
  105. package/esm2020/lib/image/secure-image.pipe.mjs +58 -58
  106. package/esm2020/lib/interactive-tour/index.mjs +4 -4
  107. package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +134 -134
  108. package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +1 -1
  109. package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +43 -43
  110. package/esm2020/lib/interactive-tour/interactive-tour.module.mjs +39 -39
  111. package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +284 -284
  112. package/esm2020/lib/json-dialog/index.mjs +2 -2
  113. package/esm2020/lib/json-dialog/json-dialog.component.mjs +108 -108
  114. package/esm2020/lib/json-dialog/json-dialog.module.mjs +28 -28
  115. package/esm2020/lib/json-dialog/json-dialog.service.mjs +23 -23
  116. package/esm2020/lib/keyvalue/index.mjs +1 -1
  117. package/esm2020/lib/keyvalue/keyvalue.module.mjs +23 -23
  118. package/esm2020/lib/keyvalue/keyvalue.pipe.mjs +17 -17
  119. package/esm2020/lib/list/index.mjs +2 -2
  120. package/esm2020/lib/list/list-item.directive.mjs +164 -164
  121. package/esm2020/lib/list/list.component.mjs +261 -261
  122. package/esm2020/lib/list/list.module.mjs +28 -28
  123. package/esm2020/lib/panel/index.mjs +1 -1
  124. package/esm2020/lib/panel/panel.component.mjs +58 -58
  125. package/esm2020/lib/panel/panel.module.mjs +18 -18
  126. package/esm2020/lib/sidenav/index.mjs +1 -1
  127. package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +54 -54
  128. package/esm2020/lib/sidenav/sidenav.module.mjs +23 -23
  129. package/esm2020/lib/spinner/index.mjs +2 -2
  130. package/esm2020/lib/spinner/spinner-activity.directive.mjs +46 -46
  131. package/esm2020/lib/spinner/spinner.component.mjs +34 -34
  132. package/esm2020/lib/spinner/spinner.module.mjs +20 -20
  133. package/esm2020/lib/stop-propagation/index.mjs +2 -2
  134. package/esm2020/lib/stop-propagation/stop-drop-propagation.directive.mjs +21 -21
  135. package/esm2020/lib/stop-propagation/stop-propagation.directive.mjs +20 -20
  136. package/esm2020/lib/stop-propagation/stop-propagation.module.mjs +24 -24
  137. package/esm2020/lib/table/index.mjs +5 -5
  138. package/esm2020/lib/table/table-action-color.enum.mjs +6 -6
  139. package/esm2020/lib/table/table-database.mjs +27 -27
  140. package/esm2020/lib/table/table-datasource.mjs +60 -60
  141. package/esm2020/lib/table/table-model.interface.mjs +1 -1
  142. package/esm2020/lib/table/table.component.mjs +296 -296
  143. package/esm2020/lib/table/table.module.mjs +66 -66
  144. package/esm2020/lib/tool/index.mjs +2 -2
  145. package/esm2020/lib/tool/shared/index.mjs +5 -5
  146. package/esm2020/lib/tool/shared/tool-component.mjs +8 -8
  147. package/esm2020/lib/tool/shared/tool.interface.mjs +1 -1
  148. package/esm2020/lib/tool/shared/tool.service.mjs +42 -42
  149. package/esm2020/lib/tool/shared/toolbox.enums.mjs +6 -6
  150. package/esm2020/lib/tool/shared/toolbox.mjs +178 -178
  151. package/esm2020/lib/tool/tool.module.mjs +31 -31
  152. package/esm2020/lib/tool/toolbox/toolbox.animation.mjs +9 -9
  153. package/esm2020/lib/tool/toolbox/toolbox.component.mjs +254 -254
  154. package/esm2020/lib/tool/toolbox/toolbox.module.mjs +35 -35
  155. package/esm2020/lib/widget/index.mjs +2 -2
  156. package/esm2020/lib/widget/shared/index.mjs +3 -3
  157. package/esm2020/lib/widget/shared/widget.interfaces.mjs +1 -1
  158. package/esm2020/lib/widget/shared/widget.mjs +3 -3
  159. package/esm2020/lib/widget/shared/widget.service.mjs +19 -19
  160. package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +115 -115
  161. package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +31 -31
  162. package/esm2020/lib/widget/widget.module.mjs +31 -31
  163. package/esm2020/lib/workspace/index.mjs +3 -3
  164. package/esm2020/lib/workspace/shared/index.mjs +3 -3
  165. package/esm2020/lib/workspace/shared/store.mjs +39 -39
  166. package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +1 -1
  167. package/esm2020/lib/workspace/shared/workspace.mjs +116 -116
  168. package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +50 -50
  169. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +31 -31
  170. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +87 -87
  171. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +31 -31
  172. package/esm2020/lib/workspace/workspace.module.mjs +26 -26
  173. package/esm2020/public_api.mjs +73 -73
  174. package/fesm2015/igo2-common.mjs +10003 -9987
  175. package/fesm2015/igo2-common.mjs.map +1 -1
  176. package/fesm2020/igo2-common.mjs +9306 -9290
  177. package/fesm2020/igo2-common.mjs.map +1 -1
  178. package/index.d.ts +5 -5
  179. package/lib/action/action.module.d.ts +8 -8
  180. package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
  181. package/lib/action/actionbar/actionbar.component.d.ts +146 -146
  182. package/lib/action/actionbar/actionbar.module.d.ts +20 -20
  183. package/lib/action/index.d.ts +2 -2
  184. package/lib/action/shared/action.enums.d.ts +5 -5
  185. package/lib/action/shared/action.interfaces.d.ts +17 -17
  186. package/lib/action/shared/index.d.ts +3 -3
  187. package/lib/action/shared/store.d.ts +8 -8
  188. package/lib/backdrop/backdrop.component.d.ts +9 -9
  189. package/lib/backdrop/backdrop.module.d.ts +10 -10
  190. package/lib/backdrop/index.d.ts +1 -1
  191. package/lib/badge-icon/badge-icon.directive.d.ts +36 -32
  192. package/lib/badge-icon/badge-icon.module.d.ts +11 -11
  193. package/lib/badge-icon/index.d.ts +1 -1
  194. package/lib/clickout/clickout.directive.d.ts +10 -10
  195. package/lib/clickout/clickout.module.d.ts +9 -9
  196. package/lib/clickout/index.d.ts +1 -1
  197. package/lib/clone/clone.module.d.ts +9 -9
  198. package/lib/clone/clone.pipe.d.ts +7 -7
  199. package/lib/clone/index.d.ts +1 -1
  200. package/lib/collapsible/collapse.directive.d.ts +19 -19
  201. package/lib/collapsible/collapsible.component.d.ts +13 -13
  202. package/lib/collapsible/collapsible.module.d.ts +12 -12
  203. package/lib/collapsible/index.d.ts +2 -2
  204. package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
  205. package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -12
  206. package/lib/confirm-dialog/confirm-dialog.service.d.ts +10 -10
  207. package/lib/confirm-dialog/index.d.ts +2 -2
  208. package/lib/context-menu/context-menu.directive.d.ts +21 -21
  209. package/lib/context-menu/context-menu.module.d.ts +10 -10
  210. package/lib/context-menu/index.d.ts +2 -2
  211. package/lib/context-menu/long-press.directive.d.ts +20 -20
  212. package/lib/custom-html/custom-html.component.d.ts +9 -9
  213. package/lib/custom-html/custom-html.module.d.ts +16 -16
  214. package/lib/custom-html/custom-html.pipe.d.ts +10 -10
  215. package/lib/custom-html/index.d.ts +2 -2
  216. package/lib/dom/dom.interfaces.d.ts +10 -10
  217. package/lib/dom/dom.module.d.ts +8 -8
  218. package/lib/dom/dom.service.d.ts +10 -10
  219. package/lib/dom/index.d.ts +2 -2
  220. package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
  221. package/lib/drag-drop/drag-drop.module.d.ts +9 -9
  222. package/lib/drag-drop/index.d.ts +1 -1
  223. package/lib/dynamic-component/dynamic-component.module.d.ts +8 -8
  224. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
  225. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -11
  226. package/lib/dynamic-component/index.d.ts +2 -2
  227. package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
  228. package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
  229. package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
  230. package/lib/dynamic-component/shared/index.d.ts +3 -3
  231. package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
  232. package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -13
  233. package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
  234. package/lib/entity/entity-table/entity-table.component.d.ts +327 -327
  235. package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
  236. package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
  237. package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
  238. package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -11
  239. package/lib/entity/entity.module.d.ts +10 -10
  240. package/lib/entity/index.d.ts +5 -5
  241. package/lib/entity/shared/entity.enums.d.ts +23 -23
  242. package/lib/entity/shared/entity.interfaces.d.ts +114 -114
  243. package/lib/entity/shared/entity.utils.d.ts +49 -49
  244. package/lib/entity/shared/index.d.ts +9 -9
  245. package/lib/entity/shared/state.d.ts +103 -103
  246. package/lib/entity/shared/store.d.ts +176 -176
  247. package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
  248. package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
  249. package/lib/entity/shared/strategies/index.d.ts +3 -3
  250. package/lib/entity/shared/strategies/strategy.d.ts +56 -56
  251. package/lib/entity/shared/transaction.d.ts +168 -168
  252. package/lib/entity/shared/view.d.ts +193 -193
  253. package/lib/entity/shared/watcher.d.ts +72 -72
  254. package/lib/flexible/flexible.component.d.ts +41 -41
  255. package/lib/flexible/flexible.module.d.ts +9 -9
  256. package/lib/flexible/flexible.type.d.ts +2 -2
  257. package/lib/flexible/index.d.ts +2 -2
  258. package/lib/form/form/form.component.d.ts +53 -53
  259. package/lib/form/form/form.module.d.ts +12 -12
  260. package/lib/form/form-field/form-field-select.component.d.ts +48 -48
  261. package/lib/form/form-field/form-field-text.component.d.ts +41 -41
  262. package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
  263. package/lib/form/form-field/form-field.component.d.ts +34 -34
  264. package/lib/form/form-field/form-field.module.d.ts +21 -21
  265. package/lib/form/form-field/index.d.ts +4 -4
  266. package/lib/form/form-group/form-group.component.d.ts +49 -49
  267. package/lib/form/form-group/form-group.module.d.ts +14 -14
  268. package/lib/form/form.module.d.ts +13 -13
  269. package/lib/form/index.d.ts +4 -4
  270. package/lib/form/shared/form-field-component.d.ts +1 -1
  271. package/lib/form/shared/form-field.service.d.ts +19 -19
  272. package/lib/form/shared/form.interfaces.d.ts +57 -57
  273. package/lib/form/shared/form.service.d.ts +15 -15
  274. package/lib/form/shared/form.utils.d.ts +11 -11
  275. package/lib/form/shared/index.d.ts +5 -5
  276. package/lib/home-button/home-button.component.d.ts +9 -9
  277. package/lib/home-button/home-button.module.d.ts +15 -15
  278. package/lib/home-button/index.d.ts +1 -1
  279. package/lib/image/image-error.directive.d.ts +11 -11
  280. package/lib/image/image.module.d.ts +10 -10
  281. package/lib/image/index.d.ts +2 -2
  282. package/lib/image/secure-image.pipe.d.ts +13 -13
  283. package/lib/interactive-tour/index.d.ts +4 -4
  284. package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
  285. package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
  286. package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
  287. package/lib/interactive-tour/interactive-tour.module.d.ts +12 -12
  288. package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
  289. package/lib/json-dialog/index.d.ts +2 -2
  290. package/lib/json-dialog/json-dialog.component.d.ts +13 -13
  291. package/lib/json-dialog/json-dialog.module.d.ts +13 -13
  292. package/lib/json-dialog/json-dialog.service.d.ts +10 -10
  293. package/lib/keyvalue/index.d.ts +1 -1
  294. package/lib/keyvalue/keyvalue.module.d.ts +9 -9
  295. package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
  296. package/lib/list/index.d.ts +2 -2
  297. package/lib/list/list-item.directive.d.ts +43 -43
  298. package/lib/list/list.component.d.ts +51 -51
  299. package/lib/list/list.module.d.ts +14 -14
  300. package/lib/panel/index.d.ts +1 -1
  301. package/lib/panel/panel.component.d.ts +10 -10
  302. package/lib/panel/panel.module.d.ts +8 -8
  303. package/lib/sidenav/index.d.ts +1 -1
  304. package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
  305. package/lib/sidenav/sidenav.module.d.ts +9 -9
  306. package/lib/spinner/index.d.ts +2 -2
  307. package/lib/spinner/spinner-activity.directive.d.ts +32 -32
  308. package/lib/spinner/spinner.component.d.ts +12 -12
  309. package/lib/spinner/spinner.module.d.ts +10 -10
  310. package/lib/stop-propagation/index.d.ts +2 -2
  311. package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
  312. package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
  313. package/lib/stop-propagation/stop-propagation.module.d.ts +10 -10
  314. package/lib/table/index.d.ts +5 -5
  315. package/lib/table/table-action-color.enum.d.ts +5 -5
  316. package/lib/table/table-database.d.ts +10 -10
  317. package/lib/table/table-datasource.d.ts +17 -17
  318. package/lib/table/table-model.interface.d.ts +28 -28
  319. package/lib/table/table.component.d.ts +40 -40
  320. package/lib/table/table.module.d.ts +20 -20
  321. package/lib/tool/index.d.ts +2 -2
  322. package/lib/tool/shared/index.d.ts +5 -5
  323. package/lib/tool/shared/tool-component.d.ts +2 -2
  324. package/lib/tool/shared/tool.interface.d.ts +18 -18
  325. package/lib/tool/shared/tool.service.d.ts +30 -30
  326. package/lib/tool/shared/toolbox.d.ts +95 -95
  327. package/lib/tool/shared/toolbox.enums.d.ts +5 -5
  328. package/lib/tool/tool.module.d.ts +10 -10
  329. package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
  330. package/lib/tool/toolbox/toolbox.component.d.ts +127 -127
  331. package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
  332. package/lib/widget/index.d.ts +2 -2
  333. package/lib/widget/shared/index.d.ts +3 -3
  334. package/lib/widget/shared/widget.d.ts +4 -4
  335. package/lib/widget/shared/widget.interfaces.d.ts +12 -12
  336. package/lib/widget/shared/widget.service.d.ts +10 -10
  337. package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
  338. package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -12
  339. package/lib/widget/widget.module.d.ts +8 -8
  340. package/lib/workspace/index.d.ts +3 -3
  341. package/lib/workspace/shared/index.d.ts +3 -3
  342. package/lib/workspace/shared/store.d.ts +20 -20
  343. package/lib/workspace/shared/workspace.d.ts +108 -108
  344. package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
  345. package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +39 -39
  346. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -12
  347. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
  348. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -12
  349. package/lib/workspace/workspace.module.d.ts +9 -9
  350. package/package.json +3 -3
  351. package/public_api.d.ts +70 -70
@@ -1,285 +1,285 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@igo2/core";
4
- import * as i2 from "./interactive-tour.loader";
5
- import * as i3 from "angular-shepherd";
6
- export class InteractiveTourService {
7
- constructor(configService, mediaService, languageService, interactiveTourLoader, shepherdService) {
8
- this.configService = configService;
9
- this.mediaService = mediaService;
10
- this.languageService = languageService;
11
- this.interactiveTourLoader = interactiveTourLoader;
12
- this.shepherdService = shepherdService;
13
- this.nextIndex = 1;
14
- if (this.isAppHaveTour()) {
15
- this.interactiveTourLoader.loadConfigTour();
16
- }
17
- }
18
- isAppHaveTour() {
19
- const haveTour = this.configService.getConfig('interactiveTour.activateInteractiveTour');
20
- if (haveTour === undefined) {
21
- return true;
22
- }
23
- else {
24
- return haveTour;
25
- }
26
- }
27
- isToolHaveTourConfig(toolName) {
28
- const checkTourActiveOptions = this.interactiveTourLoader.getTourOptionData(toolName);
29
- if (checkTourActiveOptions === undefined) {
30
- return false;
31
- }
32
- else {
33
- return true;
34
- }
35
- }
36
- disabledTourButton(toolName) {
37
- const stepConfig = this.interactiveTourLoader.getTourOptionData(toolName);
38
- if (stepConfig?.conditions) {
39
- for (const condition of stepConfig?.conditions) {
40
- if (document.querySelector(condition) === null) {
41
- return true;
42
- }
43
- }
44
- }
45
- return false;
46
- }
47
- isMobile() {
48
- return this.mediaService.isMobile();
49
- }
50
- isTourDisplayInMobile() {
51
- const showInMobile = this.configService.getConfig('interactiveTour.tourInMobile');
52
- if (showInMobile === undefined) {
53
- return true;
54
- }
55
- return this.configService.getConfig('interactiveTour.tourInMobile');
56
- }
57
- getButtons(buttonKind) {
58
- if (buttonKind === 'noBackButton') {
59
- return [
60
- {
61
- classes: 'shepherd-button-primary',
62
- text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
63
- type: 'next'
64
- }
65
- ];
66
- }
67
- if (buttonKind === 'first') {
68
- return [
69
- {
70
- classes: 'shepherd-button-secondary',
71
- text: this.languageService.translate.instant('igo.common.interactiveTour.exitButton'),
72
- type: 'cancel'
73
- },
74
- {
75
- classes: 'shepherd-button-primary',
76
- text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
77
- type: 'next'
78
- }
79
- ];
80
- }
81
- if (buttonKind === 'last') {
82
- return [
83
- {
84
- classes: 'shepherd-button-secondary',
85
- text: this.languageService.translate.instant('igo.common.interactiveTour.backButton'),
86
- type: 'back'
87
- },
88
- {
89
- classes: 'shepherd-button-primary',
90
- text: this.languageService.translate.instant('igo.common.interactiveTour.exitButton'),
91
- type: 'cancel'
92
- }
93
- ];
94
- }
95
- return [
96
- {
97
- classes: 'shepherd-button-secondary',
98
- text: this.languageService.translate.instant('igo.common.interactiveTour.backButton'),
99
- type: 'back'
100
- },
101
- {
102
- classes: 'shepherd-button-primary',
103
- text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
104
- type: 'next'
105
- }
106
- ];
107
- }
108
- getAction(actionName) {
109
- const action = {
110
- click: 'click'
111
- };
112
- return action[actionName.toLowerCase()];
113
- }
114
- addProgress() {
115
- const self = this;
116
- let nbTry = 0;
117
- const maxTry = 21;
118
- const checkExist = setInterval(() => {
119
- if (self.getCurrentStep()) {
120
- if (self.getCurrentStep().options.attachTo.element && !document.querySelector(self.getCurrentStep().options.attachTo.element)) {
121
- self.cancel();
122
- clearInterval(checkExist);
123
- return;
124
- }
125
- else {
126
- const currentStepElement = self.getCurrentStep().getElement();
127
- if (currentStepElement) {
128
- const shepherdList = currentStepElement.querySelectorAll('.shepherd-content, .shepherd-text');
129
- shepherdList.forEach(element => {
130
- element.classList.add('mat-typography');
131
- });
132
- }
133
- const header = currentStepElement
134
- ? currentStepElement.querySelector('.shepherd-header')
135
- : undefined;
136
- nbTry++;
137
- if (header || nbTry > maxTry) {
138
- clearInterval(checkExist);
139
- }
140
- if (header) {
141
- const stepsArray = self.steps;
142
- const progress = document.createElement('span');
143
- progress.className = 'shepherd-progress';
144
- progress.innerText = `${stepsArray.indexOf(self.getCurrentStep()) + 1}/${stepsArray.length}`;
145
- header.insertBefore(progress, currentStepElement.querySelector('.shepherd-cancel-icon'));
146
- }
147
- }
148
- }
149
- }, 100);
150
- }
151
- checkNext(index, tour, service) {
152
- if (tour.getCurrentStep()) {
153
- if (tour.getCurrentStep().options.attachTo.element && document.querySelector(tour.getCurrentStep().options.attachTo.element)) {
154
- tour.complete();
155
- return;
156
- }
157
- if (index.index === tour.steps.length - 1) {
158
- tour.complete();
159
- return;
160
- }
161
- tour.steps.splice(index.index, 1);
162
- const nextStep = tour.steps[index.index];
163
- if (nextStep.options.attachTo.element && !document.querySelector(nextStep.options.attachTo.element)) {
164
- service.checkNext(index, tour, service);
165
- }
166
- else {
167
- tour._setupModal();
168
- tour.show(nextStep.id);
169
- }
170
- }
171
- }
172
- executeAction(step, actionConfig) {
173
- if (!actionConfig) {
174
- return;
175
- }
176
- if (actionConfig.condition &&
177
- ((actionConfig.condition.charAt(0) === '!' &&
178
- document.querySelector(actionConfig.condition.slice(1))) ||
179
- (actionConfig.condition.charAt(0) !== '!' &&
180
- !document.querySelector(actionConfig.condition)))) {
181
- return;
182
- }
183
- const element = document.querySelector(actionConfig.element || step.element);
184
- const action = this.getAction(actionConfig.action);
185
- if (element && action) {
186
- element[action]();
187
- }
188
- }
189
- executeActionPromise(step, actionConfig) {
190
- return new Promise((resolve) => {
191
- this.executeAction(step, actionConfig);
192
- if (!actionConfig || !actionConfig.waitFor) {
193
- resolve();
194
- return;
195
- }
196
- let nbTry = 0;
197
- const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;
198
- const checkExist = setInterval(() => {
199
- nbTry++;
200
- if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {
201
- clearInterval(checkExist);
202
- resolve();
203
- }
204
- }, 100);
205
- });
206
- }
207
- getShepherdSteps(stepConfig) {
208
- const shepherdSteps = [];
209
- let i = 0;
210
- for (const step of stepConfig.steps) {
211
- shepherdSteps.push({
212
- attachTo: {
213
- element: step.element,
214
- on: step.position || stepConfig.position
215
- },
216
- popperOptions: {
217
- modifiers: [{ name: 'offset', options: { offset: [0, 15] } }]
218
- },
219
- beforeShowPromise: () => {
220
- return Promise.all([
221
- this.executeActionPromise(this.previousStep, this.previousStep ? this.previousStep.beforeChange : undefined),
222
- this.executeActionPromise(step, step.beforeShow)
223
- ]);
224
- },
225
- buttons: this.getButtons(i === 0
226
- ? 'first'
227
- : i + 1 === stepConfig.steps.length
228
- ? 'last'
229
- : stepConfig.steps[i].noBackButton
230
- ? 'noBackButton'
231
- : undefined),
232
- classes: step.class,
233
- highlightClass: step.highlightClass,
234
- scrollTo: step.scrollToElement || stepConfig.scrollToElement || true,
235
- canClickTarget: step.disableInteraction
236
- ? !step.disableInteraction
237
- : undefined,
238
- title: this.languageService.translate.instant(step.title || stepConfig.title),
239
- text: [this.languageService.translate.instant(step.text)],
240
- when: {
241
- show: () => {
242
- this.executeAction(step, step.onShow);
243
- },
244
- hide: () => {
245
- this.previousStep = step;
246
- this.executeAction(step, step.onHide);
247
- }
248
- }
249
- });
250
- i++;
251
- }
252
- return shepherdSteps;
253
- }
254
- startTour(toolName) {
255
- const stepConfig = this.interactiveTourLoader.getTourOptionData(toolName);
256
- this.shepherdService.defaultStepOptions = {
257
- classes: stepConfig.class,
258
- highlightClass: stepConfig.highlightClass,
259
- canClickTarget: stepConfig.disableInteraction
260
- ? !stepConfig.disableInteraction
261
- : true,
262
- cancelIcon: {
263
- enabled: true
264
- }
265
- };
266
- const shepherdSteps = this.getShepherdSteps(stepConfig);
267
- this.shepherdService.modal = true;
268
- this.shepherdService.confirmCancel = false;
269
- this.shepherdService.addSteps(shepherdSteps);
270
- this.shepherdService.tourObject.on('show', this.addProgress);
271
- this.shepherdService.tourObject.on('cancel', (index) => {
272
- this.checkNext(index, this.shepherdService.tourObject, this);
273
- });
274
- this.shepherdService.start();
275
- }
276
- }
277
- InteractiveTourService.ɵfac = function InteractiveTourService_Factory(t) { return new (t || InteractiveTourService)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i1.MediaService), i0.ɵɵinject(i1.LanguageService), i0.ɵɵinject(i2.InteractiveTourLoader), i0.ɵɵinject(i3.ShepherdService)); };
278
- InteractiveTourService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: InteractiveTourService, factory: InteractiveTourService.ɵfac, providedIn: 'root' });
279
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourService, [{
280
- type: Injectable,
281
- args: [{
282
- providedIn: 'root'
283
- }]
284
- }], function () { return [{ type: i1.ConfigService }, { type: i1.MediaService }, { type: i1.LanguageService }, { type: i2.InteractiveTourLoader }, { type: i3.ShepherdService }]; }, null); })();
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@igo2/core";
4
+ import * as i2 from "./interactive-tour.loader";
5
+ import * as i3 from "angular-shepherd";
6
+ export class InteractiveTourService {
7
+ constructor(configService, mediaService, languageService, interactiveTourLoader, shepherdService) {
8
+ this.configService = configService;
9
+ this.mediaService = mediaService;
10
+ this.languageService = languageService;
11
+ this.interactiveTourLoader = interactiveTourLoader;
12
+ this.shepherdService = shepherdService;
13
+ this.nextIndex = 1;
14
+ if (this.isAppHaveTour()) {
15
+ this.interactiveTourLoader.loadConfigTour();
16
+ }
17
+ }
18
+ isAppHaveTour() {
19
+ const haveTour = this.configService.getConfig('interactiveTour.activateInteractiveTour');
20
+ if (haveTour === undefined) {
21
+ return true;
22
+ }
23
+ else {
24
+ return haveTour;
25
+ }
26
+ }
27
+ isToolHaveTourConfig(toolName) {
28
+ const checkTourActiveOptions = this.interactiveTourLoader.getTourOptionData(toolName);
29
+ if (checkTourActiveOptions === undefined) {
30
+ return false;
31
+ }
32
+ else {
33
+ return true;
34
+ }
35
+ }
36
+ disabledTourButton(toolName) {
37
+ const stepConfig = this.interactiveTourLoader.getTourOptionData(toolName);
38
+ if (stepConfig?.conditions) {
39
+ for (const condition of stepConfig?.conditions) {
40
+ if (document.querySelector(condition) === null) {
41
+ return true;
42
+ }
43
+ }
44
+ }
45
+ return false;
46
+ }
47
+ isMobile() {
48
+ return this.mediaService.isMobile();
49
+ }
50
+ isTourDisplayInMobile() {
51
+ const showInMobile = this.configService.getConfig('interactiveTour.tourInMobile');
52
+ if (showInMobile === undefined) {
53
+ return true;
54
+ }
55
+ return this.configService.getConfig('interactiveTour.tourInMobile');
56
+ }
57
+ getButtons(buttonKind) {
58
+ if (buttonKind === 'noBackButton') {
59
+ return [
60
+ {
61
+ classes: 'shepherd-button-primary',
62
+ text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
63
+ type: 'next'
64
+ }
65
+ ];
66
+ }
67
+ if (buttonKind === 'first') {
68
+ return [
69
+ {
70
+ classes: 'shepherd-button-secondary',
71
+ text: this.languageService.translate.instant('igo.common.interactiveTour.exitButton'),
72
+ type: 'cancel'
73
+ },
74
+ {
75
+ classes: 'shepherd-button-primary',
76
+ text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
77
+ type: 'next'
78
+ }
79
+ ];
80
+ }
81
+ if (buttonKind === 'last') {
82
+ return [
83
+ {
84
+ classes: 'shepherd-button-secondary',
85
+ text: this.languageService.translate.instant('igo.common.interactiveTour.backButton'),
86
+ type: 'back'
87
+ },
88
+ {
89
+ classes: 'shepherd-button-primary',
90
+ text: this.languageService.translate.instant('igo.common.interactiveTour.exitButton'),
91
+ type: 'cancel'
92
+ }
93
+ ];
94
+ }
95
+ return [
96
+ {
97
+ classes: 'shepherd-button-secondary',
98
+ text: this.languageService.translate.instant('igo.common.interactiveTour.backButton'),
99
+ type: 'back'
100
+ },
101
+ {
102
+ classes: 'shepherd-button-primary',
103
+ text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
104
+ type: 'next'
105
+ }
106
+ ];
107
+ }
108
+ getAction(actionName) {
109
+ const action = {
110
+ click: 'click'
111
+ };
112
+ return action[actionName.toLowerCase()];
113
+ }
114
+ addProgress() {
115
+ const self = this;
116
+ let nbTry = 0;
117
+ const maxTry = 21;
118
+ const checkExist = setInterval(() => {
119
+ if (self.getCurrentStep()) {
120
+ if (self.getCurrentStep().options.attachTo.element && !document.querySelector(self.getCurrentStep().options.attachTo.element)) {
121
+ self.cancel();
122
+ clearInterval(checkExist);
123
+ return;
124
+ }
125
+ else {
126
+ const currentStepElement = self.getCurrentStep().getElement();
127
+ if (currentStepElement) {
128
+ const shepherdList = currentStepElement.querySelectorAll('.shepherd-content, .shepherd-text');
129
+ shepherdList.forEach(element => {
130
+ element.classList.add('mat-typography');
131
+ });
132
+ }
133
+ const header = currentStepElement
134
+ ? currentStepElement.querySelector('.shepherd-header')
135
+ : undefined;
136
+ nbTry++;
137
+ if (header || nbTry > maxTry) {
138
+ clearInterval(checkExist);
139
+ }
140
+ if (header) {
141
+ const stepsArray = self.steps;
142
+ const progress = document.createElement('span');
143
+ progress.className = 'shepherd-progress';
144
+ progress.innerText = `${stepsArray.indexOf(self.getCurrentStep()) + 1}/${stepsArray.length}`;
145
+ header.insertBefore(progress, currentStepElement.querySelector('.shepherd-cancel-icon'));
146
+ }
147
+ }
148
+ }
149
+ }, 100);
150
+ }
151
+ checkNext(index, tour, service) {
152
+ if (tour.getCurrentStep()) {
153
+ if (tour.getCurrentStep().options.attachTo.element && document.querySelector(tour.getCurrentStep().options.attachTo.element)) {
154
+ tour.complete();
155
+ return;
156
+ }
157
+ if (index.index === tour.steps.length - 1) {
158
+ tour.complete();
159
+ return;
160
+ }
161
+ tour.steps.splice(index.index, 1);
162
+ const nextStep = tour.steps[index.index];
163
+ if (nextStep.options.attachTo.element && !document.querySelector(nextStep.options.attachTo.element)) {
164
+ service.checkNext(index, tour, service);
165
+ }
166
+ else {
167
+ tour._setupModal();
168
+ tour.show(nextStep.id);
169
+ }
170
+ }
171
+ }
172
+ executeAction(step, actionConfig) {
173
+ if (!actionConfig) {
174
+ return;
175
+ }
176
+ if (actionConfig.condition &&
177
+ ((actionConfig.condition.charAt(0) === '!' &&
178
+ document.querySelector(actionConfig.condition.slice(1))) ||
179
+ (actionConfig.condition.charAt(0) !== '!' &&
180
+ !document.querySelector(actionConfig.condition)))) {
181
+ return;
182
+ }
183
+ const element = document.querySelector(actionConfig.element || step.element);
184
+ const action = this.getAction(actionConfig.action);
185
+ if (element && action) {
186
+ element[action]();
187
+ }
188
+ }
189
+ executeActionPromise(step, actionConfig) {
190
+ return new Promise((resolve) => {
191
+ this.executeAction(step, actionConfig);
192
+ if (!actionConfig || !actionConfig.waitFor) {
193
+ resolve();
194
+ return;
195
+ }
196
+ let nbTry = 0;
197
+ const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;
198
+ const checkExist = setInterval(() => {
199
+ nbTry++;
200
+ if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {
201
+ clearInterval(checkExist);
202
+ resolve();
203
+ }
204
+ }, 100);
205
+ });
206
+ }
207
+ getShepherdSteps(stepConfig) {
208
+ const shepherdSteps = [];
209
+ let i = 0;
210
+ for (const step of stepConfig.steps) {
211
+ shepherdSteps.push({
212
+ attachTo: {
213
+ element: step.element,
214
+ on: step.position || stepConfig.position
215
+ },
216
+ popperOptions: {
217
+ modifiers: [{ name: 'offset', options: { offset: [0, 15] } }]
218
+ },
219
+ beforeShowPromise: () => {
220
+ return Promise.all([
221
+ this.executeActionPromise(this.previousStep, this.previousStep ? this.previousStep.beforeChange : undefined),
222
+ this.executeActionPromise(step, step.beforeShow)
223
+ ]);
224
+ },
225
+ buttons: this.getButtons(i === 0
226
+ ? 'first'
227
+ : i + 1 === stepConfig.steps.length
228
+ ? 'last'
229
+ : stepConfig.steps[i].noBackButton
230
+ ? 'noBackButton'
231
+ : undefined),
232
+ classes: step.class,
233
+ highlightClass: step.highlightClass,
234
+ scrollTo: step.scrollToElement || stepConfig.scrollToElement || true,
235
+ canClickTarget: step.disableInteraction
236
+ ? !step.disableInteraction
237
+ : undefined,
238
+ title: this.languageService.translate.instant(step.title || stepConfig.title),
239
+ text: [this.languageService.translate.instant(step.text)],
240
+ when: {
241
+ show: () => {
242
+ this.executeAction(step, step.onShow);
243
+ },
244
+ hide: () => {
245
+ this.previousStep = step;
246
+ this.executeAction(step, step.onHide);
247
+ }
248
+ }
249
+ });
250
+ i++;
251
+ }
252
+ return shepherdSteps;
253
+ }
254
+ startTour(toolName) {
255
+ const stepConfig = this.interactiveTourLoader.getTourOptionData(toolName);
256
+ this.shepherdService.defaultStepOptions = {
257
+ classes: stepConfig.class,
258
+ highlightClass: stepConfig.highlightClass,
259
+ canClickTarget: stepConfig.disableInteraction
260
+ ? !stepConfig.disableInteraction
261
+ : true,
262
+ cancelIcon: {
263
+ enabled: true
264
+ }
265
+ };
266
+ const shepherdSteps = this.getShepherdSteps(stepConfig);
267
+ this.shepherdService.modal = true;
268
+ this.shepherdService.confirmCancel = false;
269
+ this.shepherdService.addSteps(shepherdSteps);
270
+ this.shepherdService.tourObject.on('show', this.addProgress);
271
+ this.shepherdService.tourObject.on('cancel', (index) => {
272
+ this.checkNext(index, this.shepherdService.tourObject, this);
273
+ });
274
+ this.shepherdService.start();
275
+ }
276
+ }
277
+ InteractiveTourService.ɵfac = function InteractiveTourService_Factory(t) { return new (t || InteractiveTourService)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i1.MediaService), i0.ɵɵinject(i1.LanguageService), i0.ɵɵinject(i2.InteractiveTourLoader), i0.ɵɵinject(i3.ShepherdService)); };
278
+ InteractiveTourService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: InteractiveTourService, factory: InteractiveTourService.ɵfac, providedIn: 'root' });
279
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourService, [{
280
+ type: Injectable,
281
+ args: [{
282
+ providedIn: 'root'
283
+ }]
284
+ }], function () { return [{ type: i1.ConfigService }, { type: i1.MediaService }, { type: i1.LanguageService }, { type: i2.InteractiveTourLoader }, { type: i3.ShepherdService }]; }, null); })();
285
285
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFjM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGFBQTRCLEVBQzVCLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLHFCQUE0QyxFQUM1QyxlQUFnQztRQUpoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFQbEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQVNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxRQUFnQjtRQUMxQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FDekUsUUFBUSxDQUNULENBQUM7UUFDRixJQUFJLHNCQUFzQixLQUFLLFNBQVMsRUFBRTtZQUN4QyxPQUFPLEtB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VSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7U0FDRixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs0RkFyVlUsc0JBQXNCOzRFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCLG1CQUZyQixNQUFNO3VGQUVQLHNCQUFzQjtjQUhsQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGVwaGVyZFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLXNoZXBoZXJkJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTWVkaWFTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aXZlVG91ckxvYWRlciB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5sb2FkZXInO1xuaW1wb3J0IHtcbiAgSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyxcbiAgSW50ZXJhY3RpdmVUb3VyU3RlcCxcbiAgSW50ZXJhY3RpdmVUb3VyQWN0aW9uXG59IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBwcmV2aW91c1N0ZXA6IEludGVyYWN0aXZlVG91clN0ZXA7XG4gIHByaXZhdGUgbmV4dEluZGV4ID0gMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZXJhY3RpdmVUb3VyTG9hZGVyOiBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIsXG4gICAgcHJpdmF0ZSBzaGVwaGVyZFNlcnZpY2U6IFNoZXBoZXJkU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5pc0FwcEhhdmVUb3VyKCkpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmxvYWRDb25maWdUb3VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQXBwSGF2ZVRvdXIoKSB7XG4gICAgY29uc3QgaGF2ZVRvdXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdpbnRlcmFjdGl2ZVRvdXIuYWN0aXZhdGVJbnRlcmFjdGl2ZVRvdXInKTtcbiAgICBpZiAoaGF2ZVRvdXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBoYXZlVG91cjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNUb29sSGF2ZVRvdXJDb25maWcodG9vbE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoZWNrVG91ckFjdGl2ZU9wdGlvbnMgPSB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YShcbiAgICAgIHRvb2xOYW1lXG4gICAgKTtcbiAgICBpZiAoY2hlY2tUb3VyQWN0aXZlT3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlZFRvdXJCdXR0b24odG9vbE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0ZXBDb25maWc6IEludGVyYWN0aXZlVG91ck9wdGlvbnMgPSB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YShcbiAgICAgIHRvb2xOYW1lXG4gICAgKTtcblxuICAgIGlmIChzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNvbmRpdGlvbikgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNUb3VyRGlzcGxheUluTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3dJbk1vYmlsZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXG4gICAgICAnaW50ZXJhY3RpdmVUb3VyLnRvdXJJbk1vYmlsZSdcbiAgICApO1xuICAgIGlmIChzaG93SW5Nb2JpbGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdpbnRlcmFjdGl2ZVRvdXIudG91ckluTW9iaWxlJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1dHRvbnMoYnV0dG9uS2luZD86ICdmaXJzdCcgfCAnbGFzdCcgfCAnbm9CYWNrQnV0dG9uJykge1xuICAgIGlmIChidXR0b25LaW5kID09PSAnbm9CYWNrQnV0dG9uJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIubmV4dEJ1dHRvbidcbiAgICAgICAgICApLFxuICAgICAgICAgIHR5cGU6ICduZXh0J1xuICAgICAgICB9XG4gICAgICBdO1xuICAgIH1cbiAgICBpZiAoYnV0dG9uS2luZCA9PT0gJ2ZpcnN0Jykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tc2Vjb25kYXJ5JyxcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIubmV4dEJ1dHRvbidcbiAgICAgICAgICApLFxuICAgICAgICAgIHR5cGU6ICduZXh0J1xuICAgICAgICB9XG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmIChidXR0b25LaW5kID09PSAnbGFzdCcpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYmFja0J1dHRvbidcbiAgICAgICAgICApLFxuICAgICAgICAgIHR5cGU6ICdiYWNrJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1wcmltYXJ5JyxcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXG4gICAgICAgIHRleHQ6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5iYWNrQnV0dG9uJ1xuICAgICAgICApLFxuICAgICAgICB0eXBlOiAnYmFjaydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXG4gICAgICAgIHRleHQ6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xuICAgICAgICApLFxuICAgICAgICB0eXBlOiAnbmV4dCdcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpb24oYWN0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWN0aW9uID0ge1xuICAgICAgY2xpY2s6ICdjbGljaydcbiAgICB9O1xuICAgIHJldHVybiBhY3Rpb25bYWN0aW9uTmFtZS50b0xvd2VyQ2FzZSgpXTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUHJvZ3Jlc3MoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXMgYXMgYW55O1xuICAgIGxldCBuYlRyeSA9IDA7XG4gICAgY29uc3QgbWF4VHJ5ID0gMjE7XG4gICAgY29uc3QgY2hlY2tFeGlzdCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmIChzZWxmLmdldEN1cnJlbnRTdGVwKCkpIHtcbiAgICAgICAgaWYgKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiYgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZi5nZXRDdXJyZW50U3RlcCgpLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudCkpIHtcbiAgICAgICAgICBzZWxmLmNhbmNlbCgpO1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tFeGlzdCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGVwRWxlbWVudCA9IHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5nZXRFbGVtZW50KCk7XG4gICAgICAgICAgaWYgKGN1cnJlbnRTdGVwRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgc2hlcGhlcmRMaXN0ID0gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zaGVwaGVyZC1jb250ZW50LCAuc2hlcGhlcmQtdGV4dCcpO1xuICAgICAgICAgICAgc2hlcGhlcmRMaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbWF0LXR5cG9ncmFwaHknKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBoZWFkZXIgPSBjdXJyZW50U3RlcEVsZW1lbnRcbiAgICAgICAgICAgID8gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1oZWFkZXInKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBuYlRyeSsrO1xuICAgICAgICAgIGlmIChoZWFkZXIgfHwgbmJUcnkgPiBtYXhUcnkpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tFeGlzdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhlYWRlcikge1xuICAgICAgICAgICAgY29uc3Qgc3RlcHNBcnJheSA9IHNlbGYuc3RlcHM7XG4gICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgIHByb2dyZXNzLmNsYXNzTmFtZSA9ICdzaGVwaGVyZC1wcm9ncmVzcyc7XG4gICAgICAgICAgICBwcm9ncmVzcy5pbm5lclRleHQgPSBgJHtcbiAgICAgICAgICAgICAgc3RlcHNBcnJheS5pbmRleE9mKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKSkgKyAxXG4gICAgICAgICAgICB9LyR7c3RlcHNBcnJheS5sZW5ndGh9YDtcbiAgICAgICAgICAgIGhlYWRlci5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgIHByb2dyZXNzLFxuICAgICAgICAgICAgICBjdXJyZW50U3RlcEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNoZXBoZXJkLWNhbmNlbC1pY29uJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOZXh0KGluZGV4LCB0b3VyLCBzZXJ2aWNlKSB7XG4gICAgaWYgKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKSkge1xuICAgICAgaWYgKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0b3VyLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50KSkge1xuICAgICAgICB0b3VyLmNvbXBsZXRlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGluZGV4LmluZGV4ID09PSB0b3VyLnN0ZXBzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdG91ci5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRvdXIuc3RlcHMuc3BsaWNlKGluZGV4LmluZGV4LCAxKTtcbiAgICAgIGNvbnN0IG5leHRTdGVwID0gdG91ci5zdGVwc1tpbmRleC5pbmRleF07XG4gICAgICBpZiAobmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG5leHRTdGVwLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudCkpIHtcbiAgICAgICAgc2VydmljZS5jaGVja05leHQoaW5kZXgsIHRvdXIsIHNlcnZpY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG91ci5fc2V0dXBNb2RhbCgpO1xuICAgICAgICB0b3VyLnNob3cobmV4dFN0ZXAuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZUFjdGlvbihcbiAgICBzdGVwOiBJbnRlcmFjdGl2ZVRvdXJTdGVwLFxuICAgIGFjdGlvbkNvbmZpZzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uXG4gICkge1xuICAgIGlmICghYWN0aW9uQ29uZmlnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgYWN0aW9uQ29uZmlnLmNvbmRpdGlvbiAmJlxuICAgICAgKChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSA9PT0gJyEnICYmXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLmNvbmRpdGlvbi5zbGljZSgxKSkpIHx8XG4gICAgICAgIChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSAhPT0gJyEnICYmXG4gICAgICAgICAgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLmNvbmRpdGlvbikpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGFjdGlvbkNvbmZpZy5lbGVtZW50IHx8IHN0ZXAuZWxlbWVudFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oYWN0aW9uQ29uZmlnLmFjdGlvbik7XG4gICAgaWYgKGVsZW1lbnQgJiYgYWN0aW9uKSB7XG4gICAgICBlbGVtZW50W2FjdGlvbl0oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxuICAgIHN0ZXA6IEludGVyYWN0aXZlVG91clN0ZXAsXG4gICAgYWN0aW9uQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb25cbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgYWN0aW9uQ29uZmlnKTtcbiAgICAgIGlmICghYWN0aW9uQ29uZmlnIHx8ICFhY3Rpb25Db25maWcud2FpdEZvcikge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxldCBuYlRyeSA9IDA7XG4gICAgICBjb25zdCBtYXhUcnkgPSBhY3Rpb25Db25maWcubWF4V2FpdCA/IGFjdGlvbkNvbmZpZy5tYXhXYWl0IC8gMTAwIDogMjA7XG4gICAgICBjb25zdCBjaGVja0V4aXN0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBuYlRyeSsrO1xuICAgICAgICBpZiAobmJUcnkgPiBtYXhUcnkgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3Rpb25Db25maWcud2FpdEZvcikpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hlcGhlcmRTdGVwcyhzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zKSB7XG4gICAgY29uc3Qgc2hlcGhlcmRTdGVwcyA9IFtdO1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiBzdGVwQ29uZmlnLnN0ZXBzKSB7XG4gICAgICBzaGVwaGVyZFN0ZXBzLnB1c2goe1xuICAgICAgICBhdHRhY2hUbzoge1xuICAgICAgICAgIGVsZW1lbnQ6IHN0ZXAuZWxlbWVudCxcbiAgICAgICAgICBvbjogc3RlcC5wb3NpdGlvbiB8fCBzdGVwQ29uZmlnLnBvc2l0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIHBvcHBlck9wdGlvbnM6IHtcbiAgICAgICAgICBtb2RpZmllcnM6IFt7IG5hbWU6ICdvZmZzZXQnLCBvcHRpb25zOiB7IG9mZnNldDogWzAsIDE1XSB9IH1dXG4gICAgICAgIH0sXG4gICAgICAgIGJlZm9yZVNob3dQcm9taXNlOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2UoXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwLFxuICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzU3RlcCA/IHRoaXMucHJldmlvdXNTdGVwLmJlZm9yZUNoYW5nZSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2Uoc3RlcCwgc3RlcC5iZWZvcmVTaG93KVxuICAgICAgICAgIF0pO1xuICAgICAgICB9LFxuICAgICAgICBidXR0b25zOiB0aGlzLmdldEJ1dHRvbnMoXG4gICAgICAgICAgaSA9PT0gMFxuICAgICAgICAgICAgPyAnZmlyc3QnXG4gICAgICAgICAgICA6IGkgKyAxID09PSBzdGVwQ29uZmlnLnN0ZXBzLmxlbmd0aFxuICAgICAgICAgICAgPyAnbGFzdCdcbiAgICAgICAgICAgIDogc3RlcENvbmZpZy5zdGVwc1tpXS5ub0JhY2tCdXR0b25cbiAgICAgICAgICAgID8gJ25vQmFja0J1dHRvbidcbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICksXG4gICAgICAgIGNsYXNzZXM6IHN0ZXAuY2xhc3MsXG4gICAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwLmhpZ2hsaWdodENsYXNzLFxuICAgICAgICBzY3JvbGxUbzogc3RlcC5zY3JvbGxUb0VsZW1lbnQgfHwgc3RlcENvbmZpZy5zY3JvbGxUb0VsZW1lbnQgfHwgdHJ1ZSxcbiAgICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXAuZGlzYWJsZUludGVyYWN0aW9uXG4gICAgICAgICAgPyAhc3RlcC5kaXNhYmxlSW50ZXJhY3Rpb25cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgIHN0ZXAudGl0bGUgfHwgc3RlcENvbmZpZy50aXRsZVxuICAgICAgICApLFxuICAgICAgICB0ZXh0OiBbdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoc3RlcC50ZXh0KV0sXG4gICAgICAgIHdoZW46IHtcbiAgICAgICAgICBzaG93OiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vblNob3cpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaGlkZTogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBzdGVwO1xuICAgICAgICAgICAgdGhpcy5leGVjdXRlQWN0aW9uKHN0ZXAsIHN0ZXAub25IaWRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaSsrO1xuICAgIH1cblxuICAgIHJldHVybiBzaGVwaGVyZFN0ZXBzO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0VG91cih0b29sTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc3RlcENvbmZpZzogSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyA9IHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmdldFRvdXJPcHRpb25EYXRhKFxuICAgICAgdG9vbE5hbWVcbiAgICApO1xuXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UuZGVmYXVsdFN0ZXBPcHRpb25zID0ge1xuICAgICAgY2xhc3Nlczogc3RlcENvbmZpZy5jbGFzcyxcbiAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwQ29uZmlnLmhpZ2hsaWdodENsYXNzLFxuICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXBDb25maWcuZGlzYWJsZUludGVyYWN0aW9uXG4gICAgICAgID8gIXN0ZXBDb25maWcuZGlzYWJsZUludGVyYWN0aW9uXG4gICAgICAgIDogdHJ1ZSxcbiAgICAgIGNhbmNlbEljb246IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBzaGVwaGVyZFN0ZXBzID0gdGhpcy5nZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWcpO1xuXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UubW9kYWwgPSB0cnVlO1xuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmNvbmZpcm1DYW5jZWwgPSBmYWxzZTtcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5hZGRTdGVwcyhzaGVwaGVyZFN0ZXBzKTtcblxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ3Nob3cnLCB0aGlzLmFkZFByb2dyZXNzKTtcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS50b3VyT2JqZWN0Lm9uKCdjYW5jZWwnLCAoaW5kZXgpID0+wqB7XG4gICAgICB0aGlzLmNoZWNrTmV4dChpbmRleCwgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdCwgdGhpcyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5zdGFydCgpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './json-dialog.component';
2
- export * from './json-dialog.service';
1
+ export * from './json-dialog.component';
2
+ export * from './json-dialog.service';
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9qc29uLWRpYWxvZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2pzb24tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2pzb24tZGlhbG9nLnNlcnZpY2UnO1xuIl19