@igo2/common 1.15.4 → 16.0.0-rc.0

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 (473) hide show
  1. package/common-theme.scss +19 -0
  2. package/{esm2020 → esm2022}/igo2-common.mjs +4 -4
  3. package/esm2022/lib/action/action.module.mjs +20 -0
  4. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +270 -0
  5. package/esm2022/lib/action/actionbar/actionbar.component.mjs +389 -0
  6. package/{esm2020 → esm2022}/lib/action/actionbar/actionbar.module.mjs +57 -57
  7. package/{esm2020 → esm2022}/lib/action/index.mjs +3 -3
  8. package/{esm2020 → esm2022}/lib/action/shared/action.enums.mjs +7 -7
  9. package/{esm2020 → esm2022}/lib/action/shared/action.interfaces.mjs +2 -2
  10. package/{esm2020 → esm2022}/lib/action/shared/index.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/action/shared/store.mjs +8 -8
  12. package/esm2022/lib/backdrop/backdrop.component.mjs +27 -0
  13. package/{esm2020 → esm2022}/lib/backdrop/backdrop.module.mjs +25 -25
  14. package/{esm2020 → esm2022}/lib/backdrop/index.mjs +2 -2
  15. package/esm2022/lib/badge-icon/badge-icon.directive.mjs +150 -0
  16. package/{esm2020 → esm2022}/lib/badge-icon/badge-icon.module.mjs +26 -26
  17. package/{esm2020 → esm2022}/lib/badge-icon/index.mjs +2 -2
  18. package/esm2022/lib/clickout/clickout.directive.mjs +33 -0
  19. package/{esm2020 → esm2022}/lib/clickout/clickout.module.mjs +24 -24
  20. package/{esm2020 → esm2022}/lib/clickout/index.mjs +2 -2
  21. package/{esm2020 → esm2022}/lib/clone/clone.module.mjs +24 -24
  22. package/esm2022/lib/clone/clone.pipe.mjs +24 -0
  23. package/{esm2020 → esm2022}/lib/clone/index.mjs +2 -2
  24. package/esm2022/lib/collapsible/collapse.directive.mjs +58 -0
  25. package/esm2022/lib/collapsible/collapsible.component.mjs +54 -0
  26. package/{esm2020 → esm2022}/lib/collapsible/collapsible.module.mjs +27 -27
  27. package/{esm2020 → esm2022}/lib/collapsible/index.mjs +3 -3
  28. package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +121 -0
  29. package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +32 -0
  30. package/esm2022/lib/color-picker-form-field/index.mjs +2 -0
  31. package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +47 -0
  32. package/{esm2020 → esm2022}/lib/confirm-dialog/confirm-dialog.module.mjs +29 -29
  33. package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +29 -0
  34. package/{esm2020 → esm2022}/lib/confirm-dialog/index.mjs +3 -3
  35. package/esm2022/lib/context-menu/context-menu.directive.mjs +110 -0
  36. package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +25 -25
  37. package/{esm2020 → esm2022}/lib/context-menu/index.mjs +3 -3
  38. package/esm2022/lib/context-menu/long-press.directive.mjs +67 -0
  39. package/esm2022/lib/custom-html/custom-html.component.mjs +27 -0
  40. package/{esm2020 → esm2022}/lib/custom-html/custom-html.module.mjs +47 -47
  41. package/{esm2020 → esm2022}/lib/custom-html/custom-html.pipe.mjs +20 -18
  42. package/{esm2020 → esm2022}/lib/custom-html/index.mjs +3 -3
  43. package/{esm2020 → esm2022}/lib/dom/dom.interfaces.mjs +2 -2
  44. package/{esm2020 → esm2022}/lib/dom/dom.module.mjs +21 -23
  45. package/esm2022/lib/dom/dom.service.mjs +35 -0
  46. package/{esm2020 → esm2022}/lib/dom/index.mjs +3 -3
  47. package/esm2022/lib/drag-drop/drag-drop.directive.mjs +85 -0
  48. package/{esm2020 → esm2022}/lib/drag-drop/drag-drop.module.mjs +24 -24
  49. package/{esm2020 → esm2022}/lib/drag-drop/index.mjs +2 -2
  50. package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +20 -0
  51. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +138 -0
  52. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +22 -0
  53. package/{esm2020 → esm2022}/lib/dynamic-component/index.mjs +3 -3
  54. package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -2
  55. package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +183 -0
  56. package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.service.mjs +30 -29
  57. package/{esm2020 → esm2022}/lib/dynamic-component/shared/index.mjs +4 -4
  58. package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +214 -0
  59. package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +24 -0
  60. package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +139 -0
  61. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +1455 -0
  62. package/esm2022/lib/entity/entity-table/entity-table.module.mjs +96 -0
  63. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +167 -0
  64. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
  65. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +22 -0
  66. package/{esm2020 → esm2022}/lib/entity/entity.module.mjs +29 -31
  67. package/{esm2020 → esm2022}/lib/entity/index.mjs +6 -6
  68. package/{esm2020 → esm2022}/lib/entity/shared/entity.enums.mjs +28 -28
  69. package/esm2022/lib/entity/shared/entity.interfaces.mjs +2 -0
  70. package/esm2022/lib/entity/shared/entity.utils.mjs +73 -0
  71. package/esm2022/lib/entity/shared/index.mjs +11 -0
  72. package/esm2022/lib/entity/shared/state.mjs +194 -0
  73. package/esm2022/lib/entity/shared/store-strategy.mjs +73 -0
  74. package/esm2022/lib/entity/shared/store.mjs +256 -0
  75. package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +80 -0
  76. package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +81 -0
  77. package/{esm2020 → esm2022}/lib/entity/shared/strategies/index.mjs +4 -4
  78. package/esm2022/lib/entity/shared/strategies/strategy.mjs +78 -0
  79. package/esm2022/lib/entity/shared/transaction.mjs +329 -0
  80. package/esm2022/lib/entity/shared/view.mjs +330 -0
  81. package/esm2022/lib/entity/shared/watcher.mjs +135 -0
  82. package/esm2022/lib/flexible/flexible.component.mjs +153 -0
  83. package/{esm2020 → esm2022}/lib/flexible/flexible.module.mjs +24 -24
  84. package/{esm2020 → esm2022}/lib/flexible/flexible.type.mjs +2 -2
  85. package/{esm2020 → esm2022}/lib/flexible/index.mjs +3 -3
  86. package/esm2022/lib/form/form/form.component.mjs +125 -0
  87. package/esm2022/lib/form/form/form.module.mjs +23 -0
  88. package/esm2022/lib/form/form-field/form-field-select.component.mjs +140 -0
  89. package/esm2022/lib/form/form-field/form-field-text.component.mjs +113 -0
  90. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +114 -0
  91. package/esm2022/lib/form/form-field/form-field.component.mjs +78 -0
  92. package/{esm2020 → esm2022}/lib/form/form-field/form-field.module.mjs +74 -74
  93. package/{esm2020 → esm2022}/lib/form/form-field/index.mjs +5 -5
  94. package/esm2022/lib/form/form-group/form-group.component.mjs +115 -0
  95. package/esm2022/lib/form/form-group/form-group.module.mjs +36 -0
  96. package/esm2022/lib/form/form.module.mjs +27 -0
  97. package/{esm2020 → esm2022}/lib/form/index.mjs +5 -5
  98. package/{esm2020 → esm2022}/lib/form/shared/form-field-component.mjs +7 -7
  99. package/esm2022/lib/form/shared/form-field.service.mjs +29 -0
  100. package/esm2022/lib/form/shared/form.interfaces.mjs +2 -0
  101. package/esm2022/lib/form/shared/form.service.mjs +82 -0
  102. package/esm2022/lib/form/shared/form.utils.mjs +40 -0
  103. package/{esm2020 → esm2022}/lib/form/shared/index.mjs +6 -6
  104. package/esm2022/lib/home-button/home-button.component.mjs +30 -0
  105. package/{esm2020 → esm2022}/lib/home-button/home-button.module.mjs +41 -41
  106. package/{esm2020 → esm2022}/lib/home-button/index.mjs +2 -2
  107. package/esm2022/lib/image/image-error.directive.mjs +36 -0
  108. package/{esm2020 → esm2022}/lib/image/image.module.mjs +25 -25
  109. package/{esm2020 → esm2022}/lib/image/index.mjs +3 -3
  110. package/esm2022/lib/image/secure-image.pipe.mjs +65 -0
  111. package/{esm2020 → esm2022}/lib/interactive-tour/index.mjs +5 -5
  112. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +161 -0
  113. package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
  114. package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +49 -0
  115. package/{esm2020 → esm2022}/lib/interactive-tour/interactive-tour.module.mjs +40 -40
  116. package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +297 -0
  117. package/{esm2020 → esm2022}/lib/json-dialog/index.mjs +3 -3
  118. package/esm2022/lib/json-dialog/json-dialog.component.mjs +114 -0
  119. package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.module.mjs +29 -29
  120. package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.service.mjs +26 -24
  121. package/{esm2020 → esm2022}/lib/keyvalue/index.mjs +2 -2
  122. package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.module.mjs +24 -24
  123. package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.pipe.mjs +18 -18
  124. package/{esm2020 → esm2022}/lib/list/index.mjs +3 -3
  125. package/esm2022/lib/list/list-item.directive.mjs +167 -0
  126. package/esm2022/lib/list/list.component.mjs +268 -0
  127. package/{esm2020 → esm2022}/lib/list/list.module.mjs +29 -29
  128. package/{esm2020 → esm2022}/lib/panel/index.mjs +2 -2
  129. package/esm2022/lib/panel/panel.component.mjs +60 -0
  130. package/{esm2020 → esm2022}/lib/panel/panel.module.mjs +19 -19
  131. package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
  132. package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +59 -0
  133. package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +24 -24
  134. package/{esm2020 → esm2022}/lib/spinner/index.mjs +3 -3
  135. package/esm2022/lib/spinner/spinner-activity.directive.mjs +55 -0
  136. package/esm2022/lib/spinner/spinner.component.mjs +38 -0
  137. package/{esm2020 → esm2022}/lib/spinner/spinner.module.mjs +21 -21
  138. package/{esm2020 → esm2022}/lib/stop-propagation/index.mjs +3 -3
  139. package/{esm2020 → esm2022}/lib/stop-propagation/stop-drop-propagation.directive.mjs +22 -22
  140. package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.directive.mjs +21 -21
  141. package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.module.mjs +25 -25
  142. package/{esm2020 → esm2022}/lib/table/index.mjs +6 -6
  143. package/{esm2020 → esm2022}/lib/table/table-action-color.enum.mjs +7 -7
  144. package/esm2022/lib/table/table-database.mjs +28 -0
  145. package/esm2022/lib/table/table-datasource.mjs +64 -0
  146. package/esm2022/lib/table/table-model.interface.mjs +2 -0
  147. package/esm2022/lib/table/table.component.mjs +302 -0
  148. package/{esm2020 → esm2022}/lib/table/table.module.mjs +67 -67
  149. package/{esm2020 → esm2022}/lib/tool/index.mjs +3 -3
  150. package/{esm2020 → esm2022}/lib/tool/shared/index.mjs +6 -6
  151. package/esm2022/lib/tool/shared/tool-component.mjs +9 -0
  152. package/esm2022/lib/tool/shared/tool.interface.mjs +2 -0
  153. package/esm2022/lib/tool/shared/tool.service.mjs +43 -0
  154. package/{esm2020 → esm2022}/lib/tool/shared/toolbox.enums.mjs +7 -7
  155. package/esm2022/lib/tool/shared/toolbox.mjs +184 -0
  156. package/esm2022/lib/tool/tool.module.mjs +26 -0
  157. package/{esm2020 → esm2022}/lib/tool/toolbox/toolbox.animation.mjs +10 -10
  158. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +273 -0
  159. package/esm2022/lib/tool/toolbox/toolbox.module.mjs +24 -0
  160. package/{esm2020 → esm2022}/lib/widget/index.mjs +3 -3
  161. package/{esm2020 → esm2022}/lib/widget/shared/index.mjs +4 -4
  162. package/esm2022/lib/widget/shared/widget.interfaces.mjs +2 -0
  163. package/{esm2020 → esm2022}/lib/widget/shared/widget.mjs +4 -4
  164. package/esm2022/lib/widget/shared/widget.service.mjs +22 -0
  165. package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +124 -0
  166. package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +23 -0
  167. package/esm2022/lib/widget/widget.module.mjs +21 -0
  168. package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
  169. package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +4 -4
  170. package/esm2022/lib/workspace/shared/store.mjs +37 -0
  171. package/{esm2020 → esm2022}/lib/workspace/shared/workspace.interfaces.mjs +2 -2
  172. package/esm2022/lib/workspace/shared/workspace.mjs +143 -0
  173. package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +58 -0
  174. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +23 -0
  175. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +94 -0
  176. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +23 -0
  177. package/esm2022/lib/workspace/workspace.module.mjs +20 -0
  178. package/esm2022/public_api.mjs +76 -0
  179. package/{fesm2020 → fesm2022}/igo2-common.mjs +9837 -9345
  180. package/fesm2022/igo2-common.mjs.map +1 -0
  181. package/index.d.ts +5 -5
  182. package/lib/action/action.module.d.ts +8 -8
  183. package/lib/action/action.theming.scss +5 -0
  184. package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
  185. package/lib/action/actionbar/actionbar-item.theming.scss +32 -0
  186. package/lib/action/actionbar/actionbar.component.d.ts +147 -146
  187. package/lib/action/actionbar/actionbar.module.d.ts +20 -20
  188. package/lib/action/actionbar/actionbar.theming.scss +22 -0
  189. package/lib/action/index.d.ts +2 -2
  190. package/lib/action/shared/action.enums.d.ts +5 -5
  191. package/lib/action/shared/action.interfaces.d.ts +17 -17
  192. package/lib/action/shared/index.d.ts +3 -3
  193. package/lib/action/shared/store.d.ts +8 -8
  194. package/lib/backdrop/backdrop.component.d.ts +9 -9
  195. package/lib/backdrop/backdrop.module.d.ts +10 -10
  196. package/lib/backdrop/index.d.ts +1 -1
  197. package/lib/badge-icon/badge-icon.directive.d.ts +36 -36
  198. package/lib/badge-icon/badge-icon.module.d.ts +11 -11
  199. package/lib/badge-icon/index.d.ts +1 -1
  200. package/lib/clickout/clickout.directive.d.ts +10 -10
  201. package/lib/clickout/clickout.module.d.ts +9 -9
  202. package/lib/clickout/index.d.ts +1 -1
  203. package/lib/clone/clone.module.d.ts +9 -9
  204. package/lib/clone/clone.pipe.d.ts +7 -7
  205. package/lib/clone/index.d.ts +1 -1
  206. package/lib/collapsible/collapse.directive.d.ts +19 -19
  207. package/lib/collapsible/collapsible.component.d.ts +13 -13
  208. package/lib/collapsible/collapsible.module.d.ts +12 -12
  209. package/lib/collapsible/collapsible.theming.scss +22 -0
  210. package/lib/collapsible/index.d.ts +2 -2
  211. package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +26 -0
  212. package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +10 -0
  213. package/lib/color-picker-form-field/index.d.ts +1 -0
  214. package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
  215. package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -12
  216. package/lib/confirm-dialog/confirm-dialog.service.d.ts +12 -12
  217. package/lib/confirm-dialog/index.d.ts +2 -2
  218. package/lib/context-menu/context-menu.directive.d.ts +21 -21
  219. package/lib/context-menu/context-menu.module.d.ts +10 -10
  220. package/lib/context-menu/index.d.ts +2 -2
  221. package/lib/context-menu/long-press.directive.d.ts +20 -20
  222. package/lib/custom-html/custom-html.component.d.ts +9 -9
  223. package/lib/custom-html/custom-html.module.d.ts +16 -16
  224. package/lib/custom-html/custom-html.pipe.d.ts +10 -10
  225. package/lib/custom-html/index.d.ts +2 -2
  226. package/lib/dom/dom.interfaces.d.ts +10 -10
  227. package/lib/dom/dom.module.d.ts +8 -8
  228. package/lib/dom/dom.service.d.ts +10 -10
  229. package/lib/dom/index.d.ts +2 -2
  230. package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
  231. package/lib/drag-drop/drag-drop.module.d.ts +9 -9
  232. package/lib/drag-drop/index.d.ts +1 -1
  233. package/lib/dynamic-component/dynamic-component.module.d.ts +8 -8
  234. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
  235. package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -11
  236. package/lib/dynamic-component/index.d.ts +2 -2
  237. package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
  238. package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
  239. package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
  240. package/lib/dynamic-component/shared/index.d.ts +3 -3
  241. package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
  242. package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -13
  243. package/lib/entity/entity-selector/entity-selector.theming.scss +21 -0
  244. package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
  245. package/lib/entity/entity-table/entity-table.component.d.ts +327 -333
  246. package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
  247. package/lib/entity/entity-table/entity-table.theming.scss +34 -0
  248. package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
  249. package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
  250. package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -11
  251. package/lib/entity/entity-table-paginator/entity-table-paginator.theming.scss +21 -0
  252. package/lib/entity/entity.module.d.ts +10 -10
  253. package/lib/entity/entity.theming.scss +10 -0
  254. package/lib/entity/index.d.ts +5 -5
  255. package/lib/entity/shared/entity.enums.d.ts +23 -23
  256. package/lib/entity/shared/entity.interfaces.d.ts +95 -114
  257. package/lib/entity/shared/entity.utils.d.ts +49 -49
  258. package/lib/entity/shared/index.d.ts +10 -9
  259. package/lib/entity/shared/state.d.ts +108 -103
  260. package/lib/entity/shared/store-strategy.d.ts +38 -0
  261. package/lib/entity/shared/store.d.ts +147 -176
  262. package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
  263. package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
  264. package/lib/entity/shared/strategies/index.d.ts +3 -3
  265. package/lib/entity/shared/strategies/strategy.d.ts +56 -56
  266. package/lib/entity/shared/transaction.d.ts +180 -168
  267. package/lib/entity/shared/view.d.ts +193 -193
  268. package/lib/entity/shared/watcher.d.ts +72 -72
  269. package/lib/flexible/flexible.component.d.ts +41 -41
  270. package/lib/flexible/flexible.module.d.ts +9 -9
  271. package/lib/flexible/flexible.type.d.ts +2 -2
  272. package/lib/flexible/index.d.ts +2 -2
  273. package/lib/form/form/form.component.d.ts +53 -53
  274. package/lib/form/form/form.module.d.ts +12 -12
  275. package/lib/form/form-field/form-field-select.component.d.ts +48 -48
  276. package/lib/form/form-field/form-field-text.component.d.ts +41 -41
  277. package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
  278. package/lib/form/form-field/form-field.component.d.ts +29 -34
  279. package/lib/form/form-field/form-field.module.d.ts +21 -21
  280. package/lib/form/form-field/index.d.ts +4 -4
  281. package/lib/form/form-group/form-group.component.d.ts +49 -49
  282. package/lib/form/form-group/form-group.module.d.ts +14 -14
  283. package/lib/form/form.module.d.ts +13 -13
  284. package/lib/form/index.d.ts +4 -4
  285. package/lib/form/shared/form-field-component.d.ts +1 -1
  286. package/lib/form/shared/form-field.service.d.ts +19 -19
  287. package/lib/form/shared/form.interfaces.d.ts +61 -57
  288. package/lib/form/shared/form.service.d.ts +15 -15
  289. package/lib/form/shared/form.utils.d.ts +11 -11
  290. package/lib/form/shared/index.d.ts +5 -5
  291. package/lib/home-button/home-button.component.d.ts +9 -9
  292. package/lib/home-button/home-button.module.d.ts +15 -15
  293. package/lib/home-button/home-button.theming.scss +18 -0
  294. package/lib/home-button/index.d.ts +1 -1
  295. package/lib/image/image-error.directive.d.ts +11 -11
  296. package/lib/image/image.module.d.ts +10 -10
  297. package/lib/image/index.d.ts +2 -2
  298. package/lib/image/secure-image.pipe.d.ts +13 -13
  299. package/lib/interactive-tour/index.d.ts +4 -4
  300. package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
  301. package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
  302. package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
  303. package/lib/interactive-tour/interactive-tour.module.d.ts +12 -12
  304. package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
  305. package/lib/interactive-tour/interactive-tour.theming.scss +32 -0
  306. package/lib/json-dialog/index.d.ts +2 -2
  307. package/lib/json-dialog/json-dialog.component.d.ts +13 -13
  308. package/lib/json-dialog/json-dialog.module.d.ts +13 -13
  309. package/lib/json-dialog/json-dialog.service.d.ts +10 -10
  310. package/lib/keyvalue/index.d.ts +1 -1
  311. package/lib/keyvalue/keyvalue.module.d.ts +9 -9
  312. package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
  313. package/lib/list/index.d.ts +2 -2
  314. package/lib/list/list-item.directive.d.ts +43 -43
  315. package/lib/list/list.component.d.ts +51 -51
  316. package/lib/list/list.module.d.ts +14 -14
  317. package/lib/list/list.theming.scss +40 -0
  318. package/lib/panel/index.d.ts +1 -1
  319. package/lib/panel/panel.component.d.ts +10 -10
  320. package/lib/panel/panel.module.d.ts +8 -8
  321. package/lib/panel/panel.theming.scss +30 -0
  322. package/lib/sidenav/index.d.ts +1 -1
  323. package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
  324. package/lib/sidenav/sidenav.module.d.ts +9 -9
  325. package/lib/spinner/index.d.ts +2 -2
  326. package/lib/spinner/spinner-activity.directive.d.ts +32 -32
  327. package/lib/spinner/spinner.component.d.ts +12 -12
  328. package/lib/spinner/spinner.module.d.ts +10 -10
  329. package/lib/stop-propagation/index.d.ts +2 -2
  330. package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
  331. package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
  332. package/lib/stop-propagation/stop-propagation.module.d.ts +10 -10
  333. package/lib/table/index.d.ts +5 -5
  334. package/lib/table/table-action-color.enum.d.ts +5 -5
  335. package/lib/table/table-database.d.ts +10 -10
  336. package/lib/table/table-datasource.d.ts +18 -17
  337. package/lib/table/table-model.interface.d.ts +28 -28
  338. package/lib/table/table.component.d.ts +40 -40
  339. package/lib/table/table.module.d.ts +20 -20
  340. package/lib/tool/index.d.ts +2 -2
  341. package/lib/tool/shared/index.d.ts +5 -5
  342. package/lib/tool/shared/tool-component.d.ts +2 -2
  343. package/lib/tool/shared/tool.interface.d.ts +18 -18
  344. package/lib/tool/shared/tool.service.d.ts +30 -30
  345. package/lib/tool/shared/toolbox.d.ts +95 -95
  346. package/lib/tool/shared/toolbox.enums.d.ts +5 -5
  347. package/lib/tool/tool.module.d.ts +10 -10
  348. package/lib/tool/tool.theming.scss +5 -0
  349. package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
  350. package/lib/tool/toolbox/toolbox.component.d.ts +128 -127
  351. package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
  352. package/lib/tool/toolbox/toolbox.theming.scss +105 -0
  353. package/lib/widget/index.d.ts +2 -2
  354. package/lib/widget/shared/index.d.ts +3 -3
  355. package/lib/widget/shared/widget.d.ts +4 -4
  356. package/lib/widget/shared/widget.interfaces.d.ts +12 -12
  357. package/lib/widget/shared/widget.service.d.ts +10 -10
  358. package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
  359. package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -12
  360. package/lib/widget/widget.module.d.ts +8 -8
  361. package/lib/workspace/index.d.ts +3 -3
  362. package/lib/workspace/shared/index.d.ts +3 -3
  363. package/lib/workspace/shared/store.d.ts +20 -20
  364. package/lib/workspace/shared/workspace.d.ts +108 -108
  365. package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
  366. package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +39 -39
  367. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -12
  368. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
  369. package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -12
  370. package/lib/workspace/workspace.module.d.ts +9 -9
  371. package/locale/en.common.json +43 -0
  372. package/locale/fr.common.json +43 -0
  373. package/package.json +30 -28
  374. package/public_api.d.ts +72 -70
  375. package/style/partial/common-utils.scss +9 -0
  376. package/style/partial/common.variables.scss +8 -8
  377. package/style/style.css +204 -0
  378. package/esm2020/lib/action/action.module.mjs +0 -27
  379. package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +0 -252
  380. package/esm2020/lib/action/actionbar/actionbar.component.mjs +0 -370
  381. package/esm2020/lib/backdrop/backdrop.component.mjs +0 -26
  382. package/esm2020/lib/badge-icon/badge-icon.directive.mjs +0 -141
  383. package/esm2020/lib/clickout/clickout.directive.mjs +0 -32
  384. package/esm2020/lib/clone/clone.pipe.mjs +0 -24
  385. package/esm2020/lib/collapsible/collapse.directive.mjs +0 -55
  386. package/esm2020/lib/collapsible/collapsible.component.mjs +0 -57
  387. package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +0 -44
  388. package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +0 -24
  389. package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -103
  390. package/esm2020/lib/context-menu/long-press.directive.mjs +0 -67
  391. package/esm2020/lib/custom-html/custom-html.component.mjs +0 -28
  392. package/esm2020/lib/dom/dom.service.mjs +0 -30
  393. package/esm2020/lib/drag-drop/drag-drop.directive.mjs +0 -88
  394. package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +0 -31
  395. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -122
  396. package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -28
  397. package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +0 -174
  398. package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +0 -194
  399. package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +0 -32
  400. package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
  401. package/esm2020/lib/entity/entity-table/entity-table.component.mjs +0 -1376
  402. package/esm2020/lib/entity/entity-table/entity-table.module.mjs +0 -102
  403. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -132
  404. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
  405. package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -28
  406. package/esm2020/lib/entity/shared/entity.interfaces.mjs +0 -2
  407. package/esm2020/lib/entity/shared/entity.utils.mjs +0 -67
  408. package/esm2020/lib/entity/shared/index.mjs +0 -10
  409. package/esm2020/lib/entity/shared/state.mjs +0 -191
  410. package/esm2020/lib/entity/shared/store.mjs +0 -288
  411. package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +0 -79
  412. package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +0 -84
  413. package/esm2020/lib/entity/shared/strategies/strategy.mjs +0 -75
  414. package/esm2020/lib/entity/shared/transaction.mjs +0 -316
  415. package/esm2020/lib/entity/shared/view.mjs +0 -315
  416. package/esm2020/lib/entity/shared/watcher.mjs +0 -120
  417. package/esm2020/lib/flexible/flexible.component.mjs +0 -148
  418. package/esm2020/lib/form/form/form.component.mjs +0 -117
  419. package/esm2020/lib/form/form/form.module.mjs +0 -40
  420. package/esm2020/lib/form/form-field/form-field-select.component.mjs +0 -127
  421. package/esm2020/lib/form/form-field/form-field-text.component.mjs +0 -104
  422. package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +0 -105
  423. package/esm2020/lib/form/form-field/form-field.component.mjs +0 -72
  424. package/esm2020/lib/form/form-group/form-group.component.mjs +0 -105
  425. package/esm2020/lib/form/form-group/form-group.module.mjs +0 -40
  426. package/esm2020/lib/form/form.module.mjs +0 -49
  427. package/esm2020/lib/form/shared/form-field.service.mjs +0 -29
  428. package/esm2020/lib/form/shared/form.interfaces.mjs +0 -2
  429. package/esm2020/lib/form/shared/form.service.mjs +0 -81
  430. package/esm2020/lib/form/shared/form.utils.mjs +0 -40
  431. package/esm2020/lib/home-button/home-button.component.mjs +0 -31
  432. package/esm2020/lib/image/image-error.directive.mjs +0 -35
  433. package/esm2020/lib/image/secure-image.pipe.mjs +0 -59
  434. package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +0 -135
  435. package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
  436. package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +0 -44
  437. package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +0 -285
  438. package/esm2020/lib/json-dialog/json-dialog.component.mjs +0 -109
  439. package/esm2020/lib/list/list-item.directive.mjs +0 -165
  440. package/esm2020/lib/list/list.component.mjs +0 -262
  441. package/esm2020/lib/panel/panel.component.mjs +0 -59
  442. package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +0 -55
  443. package/esm2020/lib/spinner/spinner-activity.directive.mjs +0 -47
  444. package/esm2020/lib/spinner/spinner.component.mjs +0 -35
  445. package/esm2020/lib/table/table-database.mjs +0 -28
  446. package/esm2020/lib/table/table-datasource.mjs +0 -61
  447. package/esm2020/lib/table/table-model.interface.mjs +0 -2
  448. package/esm2020/lib/table/table.component.mjs +0 -297
  449. package/esm2020/lib/tool/shared/tool-component.mjs +0 -9
  450. package/esm2020/lib/tool/shared/tool.interface.mjs +0 -2
  451. package/esm2020/lib/tool/shared/tool.service.mjs +0 -43
  452. package/esm2020/lib/tool/shared/toolbox.mjs +0 -179
  453. package/esm2020/lib/tool/tool.module.mjs +0 -32
  454. package/esm2020/lib/tool/toolbox/toolbox.component.mjs +0 -255
  455. package/esm2020/lib/tool/toolbox/toolbox.module.mjs +0 -36
  456. package/esm2020/lib/widget/shared/widget.interfaces.mjs +0 -2
  457. package/esm2020/lib/widget/shared/widget.service.mjs +0 -20
  458. package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -116
  459. package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -32
  460. package/esm2020/lib/widget/widget.module.mjs +0 -32
  461. package/esm2020/lib/workspace/shared/store.mjs +0 -40
  462. package/esm2020/lib/workspace/shared/workspace.mjs +0 -117
  463. package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
  464. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -32
  465. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -88
  466. package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -32
  467. package/esm2020/lib/workspace/workspace.module.mjs +0 -27
  468. package/esm2020/public_api.mjs +0 -74
  469. package/fesm2015/igo2-common.mjs +0 -10329
  470. package/fesm2015/igo2-common.mjs.map +0 -1
  471. package/fesm2020/igo2-common.mjs.map +0 -1
  472. package/style/common.theming.scss +0 -12
  473. package/style/partial/action.scss +0 -18
@@ -0,0 +1,19 @@
1
+ @use './lib/action/action.theming.scss' as action;
2
+ @use './lib/collapsible/collapsible.theming.scss' as collapsible;
3
+ @use './lib/entity/entity.theming.scss' as entity;
4
+ @use './lib/list/list.theming.scss' as list;
5
+ @use './lib/panel/panel.theming.scss' as panel;
6
+ @use './lib/tool/tool.theming.scss' as tool;
7
+ @use './lib/interactive-tour/interactive-tour.theming.scss' as interactive-tour;
8
+ @use './lib/home-button/home-button.theming.scss' as home-button;
9
+
10
+ @mixin common-component-themes($theme) {
11
+ @include action.igo-action-theming($theme);
12
+ @include collapsible.igo-collapsible-theming($theme);
13
+ @include entity.igo-entity-theming($theme);
14
+ @include list.igo-list-theming($theme);
15
+ @include panel.theme($theme);
16
+ @include tool.igo-tool-theming($theme);
17
+ @include interactive-tour.theme($theme);
18
+ @include home-button.theme($theme);
19
+ }
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1jb21tb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2lnbzItY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IgoActionbarModule } from './actionbar/actionbar.module';
4
+ import * as i0 from "@angular/core";
5
+ export class IgoActionModule {
6
+ static ɵfac = function IgoActionModule_Factory(t) { return new (t || IgoActionModule)(); };
7
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoActionModule });
8
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, IgoActionbarModule, IgoActionbarModule] });
9
+ }
10
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoActionModule, [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule, IgoActionbarModule],
14
+ exports: [IgoActionbarModule],
15
+ declarations: [],
16
+ providers: []
17
+ }]
18
+ }], null, null); })();
19
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoActionModule, { imports: [CommonModule, IgoActionbarModule], exports: [IgoActionbarModule] }); })();
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2FjdGlvbi9hY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVFsRSxNQUFNLE9BQU8sZUFBZTt5RUFBZixlQUFlOzREQUFmLGVBQWU7Z0VBTGhCLFlBQVksRUFBRSxrQkFBa0IsRUFDaEMsa0JBQWtCOzt1RkFJakIsZUFBZTtjQU4zQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDN0IsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLFNBQVMsRUFBRSxFQUFFO2FBQ2Q7O3dGQUNZLGVBQWUsY0FMaEIsWUFBWSxFQUFFLGtCQUFrQixhQUNoQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgSWdvQWN0aW9uYmFyTW9kdWxlIH0gZnJvbSAnLi9hY3Rpb25iYXIvYWN0aW9uYmFyLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElnb0FjdGlvbmJhck1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0lnb0FjdGlvbmJhck1vZHVsZV0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29BY3Rpb25Nb2R1bGUge31cclxuIl19
@@ -0,0 +1,270 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import { BehaviorSubject, isObservable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/button";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@angular/material/tooltip";
8
+ import * as i5 from "@angular/material/list";
9
+ import * as i6 from "@angular/material/checkbox";
10
+ import * as i7 from "@ngx-translate/core";
11
+ function ActionbarItemComponent_mat_list_item_0_button_4_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelement(0, "mat-icon", 7);
13
+ i0.ɵɵpipe(1, "async");
14
+ } if (rf & 2) {
15
+ const ctx_r4 = i0.ɵɵnextContext(3);
16
+ i0.ɵɵpropertyInterpolate("svgIcon", i0.ɵɵpipeBind1(1, 1, ctx_r4.icon$));
17
+ } }
18
+ function ActionbarItemComponent_mat_list_item_0_button_4_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "button", 5);
20
+ i0.ɵɵpipe(1, "async");
21
+ i0.ɵɵtemplate(2, ActionbarItemComponent_mat_list_item_0_button_4_mat_icon_2_Template, 2, 3, "mat-icon", 6);
22
+ i0.ɵɵelementEnd();
23
+ } if (rf & 2) {
24
+ const ctx_r2 = i0.ɵɵnextContext(2);
25
+ i0.ɵɵproperty("color", ctx_r2.color)("disabled", i0.ɵɵpipeBind1(1, 4, ctx_r2.disabled$))("disableRipple", true);
26
+ i0.ɵɵadvance(2);
27
+ i0.ɵɵproperty("ngIf", ctx_r2.withIcon);
28
+ } }
29
+ function ActionbarItemComponent_mat_list_item_0_span_5_Template(rf, ctx) { if (rf & 1) {
30
+ i0.ɵɵelementStart(0, "span", 8);
31
+ i0.ɵɵtext(1);
32
+ i0.ɵɵpipe(2, "translate");
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const ctx_r3 = i0.ɵɵnextContext(2);
36
+ i0.ɵɵadvance(1);
37
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r3.title));
38
+ } }
39
+ function ActionbarItemComponent_mat_list_item_0_Template(rf, ctx) { if (rf & 1) {
40
+ const _r6 = i0.ɵɵgetCurrentView();
41
+ i0.ɵɵelementStart(0, "mat-list-item", 2);
42
+ i0.ɵɵlistener("click", function ActionbarItemComponent_mat_list_item_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.onClick()); });
43
+ i0.ɵɵpipe(1, "translate");
44
+ i0.ɵɵpipe(2, "async");
45
+ i0.ɵɵpipe(3, "async");
46
+ i0.ɵɵtemplate(4, ActionbarItemComponent_mat_list_item_0_button_4_Template, 3, 6, "button", 3);
47
+ i0.ɵɵtemplate(5, ActionbarItemComponent_mat_list_item_0_span_5_Template, 3, 3, "span", 4);
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r0 = i0.ɵɵnextContext();
51
+ i0.ɵɵproperty("matTooltip", ctx_r0.withTooltip ? i0.ɵɵpipeBind1(1, 4, i0.ɵɵpipeBind1(2, 6, ctx_r0.tooltip$) || ctx_r0.title) : "")("ngClass", i0.ɵɵpipeBind1(3, 8, ctx_r0.ngClass$));
52
+ i0.ɵɵadvance(4);
53
+ i0.ɵɵproperty("ngIf", ctx_r0.withIcon);
54
+ i0.ɵɵadvance(1);
55
+ i0.ɵɵproperty("ngIf", ctx_r0.withTitle);
56
+ } }
57
+ function ActionbarItemComponent_mat_list_item_1_mat_checkbox_4_Template(rf, ctx) { if (rf & 1) {
58
+ const _r9 = i0.ɵɵgetCurrentView();
59
+ i0.ɵɵelementStart(0, "mat-checkbox", 11);
60
+ i0.ɵɵlistener("change", function ActionbarItemComponent_mat_list_item_1_mat_checkbox_4_Template_mat_checkbox_change_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.action.handler()); });
61
+ i0.ɵɵpipe(1, "async");
62
+ i0.ɵɵtext(2);
63
+ i0.ɵɵpipe(3, "translate");
64
+ i0.ɵɵelementEnd();
65
+ } if (rf & 2) {
66
+ const ctx_r7 = i0.ɵɵnextContext(2);
67
+ i0.ɵɵproperty("checked", i0.ɵɵpipeBind1(1, 2, ctx_r7.checkCondition$));
68
+ i0.ɵɵadvance(2);
69
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, ctx_r7.title), " ");
70
+ } }
71
+ function ActionbarItemComponent_mat_list_item_1_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "mat-list-item", 9);
73
+ i0.ɵɵpipe(1, "translate");
74
+ i0.ɵɵpipe(2, "async");
75
+ i0.ɵɵpipe(3, "async");
76
+ i0.ɵɵtemplate(4, ActionbarItemComponent_mat_list_item_1_mat_checkbox_4_Template, 4, 6, "mat-checkbox", 10);
77
+ i0.ɵɵelementEnd();
78
+ } if (rf & 2) {
79
+ const ctx_r1 = i0.ɵɵnextContext();
80
+ i0.ɵɵproperty("matTooltip", ctx_r1.withTooltip ? i0.ɵɵpipeBind1(1, 3, i0.ɵɵpipeBind1(2, 5, ctx_r1.tooltip$) || ctx_r1.title) : "")("ngClass", i0.ɵɵpipeBind1(3, 7, ctx_r1.ngClass$));
81
+ i0.ɵɵadvance(4);
82
+ i0.ɵɵproperty("ngIf", ctx_r1.withTitle);
83
+ } }
84
+ /**
85
+ * An action button
86
+ */
87
+ export class ActionbarItemComponent {
88
+ disabled$ = new BehaviorSubject(false);
89
+ checkCondition$ = new BehaviorSubject(undefined);
90
+ icon$ = new BehaviorSubject(undefined);
91
+ tooltip$ = new BehaviorSubject(undefined);
92
+ noDisplay$ = new BehaviorSubject(false);
93
+ ngClass$ = new BehaviorSubject({});
94
+ ngClass$$;
95
+ disabled$$;
96
+ availability$$;
97
+ icon$$;
98
+ checkCondition$$;
99
+ tooltip$$;
100
+ noDisplay$$;
101
+ display$$;
102
+ /**
103
+ * Action
104
+ */
105
+ action;
106
+ /**
107
+ * Color
108
+ */
109
+ color = 'default';
110
+ /**
111
+ * Whether the action title is displayed
112
+ */
113
+ withTitle = true;
114
+ /**
115
+ * Whether the action icon is displayed
116
+ */
117
+ withIcon = true;
118
+ /**
119
+ * Whether a tooltip should be shown
120
+ */
121
+ withTooltip = true;
122
+ /**
123
+ * Whether the action is disabled
124
+ */
125
+ set disabled(value) {
126
+ this.disabled$.next(value);
127
+ }
128
+ get disabled() {
129
+ return this.disabled$.value;
130
+ }
131
+ /**
132
+ * Whether the action is display or not
133
+ */
134
+ set noDisplay(value) {
135
+ this.noDisplay$.next(value);
136
+ }
137
+ get noDisplay() {
138
+ return this.noDisplay$.value;
139
+ }
140
+ /**
141
+ * Event emitted when the action button is clicked
142
+ */
143
+ trigger = new EventEmitter();
144
+ /**
145
+ * @internal
146
+ */
147
+ get title() {
148
+ return this.action.title;
149
+ }
150
+ constructor() { }
151
+ ngOnInit() {
152
+ const args = this.action.args || [];
153
+ if (this.action.ngClass !== undefined) {
154
+ this.ngClass$$ = this.action
155
+ .ngClass(...args)
156
+ .subscribe((ngClass) => this.updateNgClass(ngClass));
157
+ }
158
+ if (isObservable(this.action.icon)) {
159
+ this.icon$$ = this.action.icon.subscribe((icon) => this.updateIcon(icon));
160
+ }
161
+ else {
162
+ this.updateIcon(this.action.icon);
163
+ }
164
+ if (isObservable(this.action.checkCondition)) {
165
+ this.checkCondition$$ = this.action.checkCondition.subscribe((checkCondition) => this.updateCheckCondition(checkCondition));
166
+ }
167
+ else {
168
+ this.updateCheckCondition(this.action.checkCondition);
169
+ }
170
+ if (isObservable(this.action.tooltip)) {
171
+ this.tooltip$$ = this.action.tooltip.subscribe((tooltip) => this.updateTooltip(tooltip));
172
+ }
173
+ else {
174
+ this.updateTooltip(this.action.tooltip);
175
+ }
176
+ if (this.action.availability !== undefined) {
177
+ this.availability$$ = this.action
178
+ .availability(...args)
179
+ .subscribe((available) => (this.disabled = !available));
180
+ }
181
+ this.disabled$$ = this.disabled$.subscribe((disabled) => this.updateNgClass({ 'igo-actionbar-item-disabled': disabled }));
182
+ if (this.action.display !== undefined) {
183
+ this.display$$ = this.action
184
+ .display(...args)
185
+ .subscribe((display) => (this.noDisplay = !display));
186
+ }
187
+ this.noDisplay$$ = this.noDisplay$.subscribe((noDisplay) => this.updateNgClass({ 'igo-actionbar-item-no-display': noDisplay }));
188
+ }
189
+ ngOnDestroy() {
190
+ if (this.ngClass$$ !== undefined) {
191
+ this.ngClass$$.unsubscribe();
192
+ this.ngClass$$ = undefined;
193
+ }
194
+ if (this.availability$$ !== undefined) {
195
+ this.availability$$.unsubscribe();
196
+ this.availability$$ = undefined;
197
+ }
198
+ if (this.display$$ !== undefined) {
199
+ this.display$$.unsubscribe();
200
+ this.display$$ = undefined;
201
+ }
202
+ if (this.checkCondition$$ !== undefined) {
203
+ this.checkCondition$$.unsubscribe();
204
+ this.checkCondition$$ = undefined;
205
+ }
206
+ if (this.icon$$ !== undefined) {
207
+ this.icon$$.unsubscribe();
208
+ this.icon$$ = undefined;
209
+ }
210
+ if (this.tooltip$$ !== undefined) {
211
+ this.tooltip$$.unsubscribe();
212
+ this.tooltip$$ = undefined;
213
+ }
214
+ this.disabled$$.unsubscribe();
215
+ this.noDisplay$$.unsubscribe();
216
+ }
217
+ /**
218
+ * When the action button is clicked, emit the 'trigger' event but don't
219
+ * invoke the action handler. This is handled by the parent component.
220
+ * @internal
221
+ */
222
+ onClick() {
223
+ if (this.disabled === true) {
224
+ return;
225
+ }
226
+ this.trigger.emit(this.action);
227
+ }
228
+ updateNgClass(ngClass) {
229
+ this.ngClass$.next(Object.assign({}, this.ngClass$.value, ngClass));
230
+ }
231
+ updateTooltip(tooltip) {
232
+ this.tooltip$.next(tooltip);
233
+ }
234
+ updateCheckCondition(checkCondition) {
235
+ this.checkCondition$.next(checkCondition);
236
+ }
237
+ updateIcon(icon) {
238
+ this.icon$.next(icon);
239
+ }
240
+ static ɵfac = function ActionbarItemComponent_Factory(t) { return new (t || ActionbarItemComponent)(); };
241
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionbarItemComponent, selectors: [["igo-actionbar-item"]], inputs: { action: "action", color: "color", withTitle: "withTitle", withIcon: "withIcon", withTooltip: "withTooltip", disabled: "disabled", noDisplay: "noDisplay" }, outputs: { trigger: "trigger" }, decls: 2, vars: 2, consts: [["class", "actionbar-item", "matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 3, "matTooltip", "ngClass", "click", 4, "ngIf"], ["class", "item-checkbox", "matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 3, "matTooltip", "ngClass", 4, "ngIf"], ["matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 1, "actionbar-item", 3, "matTooltip", "ngClass", "click"], ["matListItemAvatar", "", "mat-icon-button", "", 3, "color", "disabled", "disableRipple", 4, "ngIf"], ["matLine", "", 4, "ngIf"], ["matListItemAvatar", "", "mat-icon-button", "", 3, "color", "disabled", "disableRipple"], [3, "svgIcon", 4, "ngIf"], [3, "svgIcon"], ["matLine", ""], ["matTooltipClass", "actionbarItemTooltip", "matTooltipShowDelay", "500", 1, "item-checkbox", 3, "matTooltip", "ngClass"], [3, "checked", "change", 4, "ngIf"], [3, "checked", "change"]], template: function ActionbarItemComponent_Template(rf, ctx) { if (rf & 1) {
242
+ i0.ɵɵtemplate(0, ActionbarItemComponent_mat_list_item_0_Template, 6, 10, "mat-list-item", 0);
243
+ i0.ɵɵtemplate(1, ActionbarItemComponent_mat_list_item_1_Template, 5, 9, "mat-list-item", 1);
244
+ } if (rf & 2) {
245
+ i0.ɵɵproperty("ngIf", !ctx.action.checkbox);
246
+ i0.ɵɵadvance(1);
247
+ i0.ɵɵproperty("ngIf", ctx.action.checkbox);
248
+ } }, dependencies: [i1.NgClass, i1.NgIf, i2.MatIconButton, i3.MatIcon, i4.MatTooltip, i5.MatListItem, i5.MatListItemAvatar, i6.MatCheckbox, i1.AsyncPipe, i7.TranslatePipe], styles: ["[_nghost-%COMP%] mat-list-item:hover{cursor:pointer}[_nghost-%COMP%] mat-list-item.igo-actionbar-item-disabled[_ngcontent-%COMP%]{color:#00000042;cursor:default!important}[_nghost-%COMP%] mat-list-item.igo-actionbar-item-no-display[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] mat-list-item[_ngcontent-%COMP%] button[matlistitemavatar]{margin-left:4px}[_nghost-%COMP%] mat-list-item[_ngcontent-%COMP%] button .mat-mdc-button-persistent-ripple{display:none}[_nghost-%COMP%] .item-checkbox[_ngcontent-%COMP%] mat-checkbox label{margin-left:28px}[_nghost-%COMP%] .actionbar-item[_ngcontent-%COMP%] [matline][_ngcontent-%COMP%]{padding-left:16px}"], changeDetection: 0 });
249
+ }
250
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionbarItemComponent, [{
251
+ type: Component,
252
+ args: [{ selector: 'igo-actionbar-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-list-item\n *ngIf=\"!action.checkbox\"\n class=\"actionbar-item\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n (click)=\"onClick()\"\n>\n <button\n *ngIf=\"withIcon\"\n matListItemAvatar\n mat-icon-button\n [color]=\"color\"\n [disabled]=\"disabled$ | async\"\n [disableRipple]=\"true\"\n >\n <mat-icon *ngIf=\"withIcon\" svgIcon=\"{{ icon$ | async }}\"></mat-icon>\n </button>\n <span *ngIf=\"withTitle\" matLine>{{ title | translate }}</span>\n</mat-list-item>\n\n<mat-list-item\n class=\"item-checkbox\"\n *ngIf=\"action.checkbox\"\n matTooltipClass=\"actionbarItemTooltip\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"withTooltip ? ((tooltip$ | async) || title | translate) : ''\"\n [ngClass]=\"ngClass$ | async\"\n>\n <mat-checkbox\n *ngIf=\"withTitle\"\n (change)=\"action.handler()\"\n [checked]=\"checkCondition$ | async\"\n >\n {{ title | translate }}\n </mat-checkbox>\n</mat-list-item>\n", styles: [":host ::ng-deep mat-list-item:hover{cursor:pointer}:host mat-list-item.igo-actionbar-item-disabled{color:#00000042;cursor:default!important}:host mat-list-item.igo-actionbar-item-no-display{display:none}:host mat-list-item ::ng-deep button[matlistitemavatar]{margin-left:4px}:host mat-list-item ::ng-deep button .mat-mdc-button-persistent-ripple{display:none}:host .item-checkbox ::ng-deep mat-checkbox label{margin-left:28px}:host .actionbar-item [matline]{padding-left:16px}\n"] }]
253
+ }], function () { return []; }, { action: [{
254
+ type: Input
255
+ }], color: [{
256
+ type: Input
257
+ }], withTitle: [{
258
+ type: Input
259
+ }], withIcon: [{
260
+ type: Input
261
+ }], withTooltip: [{
262
+ type: Input
263
+ }], disabled: [{
264
+ type: Input
265
+ }], noDisplay: [{
266
+ type: Input
267
+ }], trigger: [{
268
+ type: Output
269
+ }] }); })();
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvYWN0aW9uL2FjdGlvbmJhci9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9hY3Rpb24vYWN0aW9uYmFyL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBR3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztJQ08vRCw4QkFBb0U7Ozs7SUFBekMsdUVBQTZCOzs7SUFSMUQsaUNBT0M7O0lBQ0MsMEdBQW9FO0lBQ3RFLGlCQUFTOzs7SUFMUCxvQ0FBZSxvREFBQSx1QkFBQTtJQUlKLGVBQWM7SUFBZCxzQ0FBYzs7O0lBRTNCLCtCQUFnQztJQUFBLFlBQXVCOztJQUFBLGlCQUFPOzs7SUFBOUIsZUFBdUI7SUFBdkIsd0RBQXVCOzs7O0lBbkJ6RCx3Q0FRQztJQURDLG9MQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDOzs7O0lBRW5CLDZGQVNTO0lBQ1QseUZBQThEO0lBQ2hFLGlCQUFnQjs7O0lBZmQsa0lBQTJFLGtEQUFBO0lBS3hFLGVBQWM7SUFBZCxzQ0FBYztJQVNWLGVBQWU7SUFBZix1Q0FBZTs7OztJQVd0Qix3Q0FJQztJQUZDLHFNQUFVLGVBQUEsdUJBQWdCLENBQUEsSUFBQzs7SUFHM0IsWUFDRjs7SUFBQSxpQkFBZTs7O0lBSGIsc0VBQW1DO0lBRW5DLGVBQ0Y7SUFERSxtRUFDRjs7O0lBZEYsd0NBT0M7Ozs7SUFDQywwR0FNZTtJQUNqQixpQkFB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QkFBdUIsQ0FBQyxNQUFNO3NDQXFDdEMsTUFBTTtrQkFBZCxLQUFLO1lBS0csS0FBSztrQkFBYixLQUFLO1lBS0csU0FBUztrQkFBakIsS0FBSztZQUtHLFFBQVE7a0JBQWhCLEtBQUs7WUFLRyxXQUFXO2tCQUFuQixLQUFLO1lBTUYsUUFBUTtrQkFEWCxLQUFLO1lBWUYsU0FBUztrQkFEWixLQUFLO1lBV0ksT0FBTztrQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGlzT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL2FjdGlvbi5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBbiBhY3Rpb24gYnV0dG9uXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hY3Rpb25iYXItaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbmJhci1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb25iYXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25iYXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIHJlYWRvbmx5IGNoZWNrQ29uZGl0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcclxuICAgIHVuZGVmaW5lZFxyXG4gICk7XHJcblxyXG4gIHJlYWRvbmx5IGljb24kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgcmVhZG9ubHkgdG9vbHRpcCQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG5cclxuICByZWFkb25seSBub0Rpc3BsYXkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcmVhZG9ubHkgbmdDbGFzcyQ6IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfT4gPVxyXG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcblxyXG4gIHByaXZhdGUgbmdDbGFzcyQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgZGlzYWJsZWQkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIGF2YWlsYWJpbGl0eSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgaWNvbiQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgY2hlY2tDb25kaXRpb24kJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIHRvb2x0aXAkJDogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBwcml2YXRlIG5vRGlzcGxheSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHByaXZhdGUgZGlzcGxheSQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbjogQWN0aW9uO1xyXG5cclxuICAvKipcclxuICAgKiBDb2xvclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNvbG9yID0gJ2RlZmF1bHQnO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb24gdGl0bGUgaXMgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgd2l0aFRpdGxlID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgYWN0aW9uIGljb24gaXMgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgd2l0aEljb24gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgdG9vbHRpcCBzaG91bGQgYmUgc2hvd25cclxuICAgKi9cclxuICBASW5wdXQoKSB3aXRoVG9vbHRpcCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbiBpcyBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciB0aGUgYWN0aW9uIGlzIGRpc3BsYXkgb3Igbm90XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgbm9EaXNwbGF5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLm5vRGlzcGxheSQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBub0Rpc3BsYXkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub0Rpc3BsYXkkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGNsaWNrZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdHJpZ2dlcjogRXZlbnRFbWl0dGVyPEFjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGFyZ3MgPSB0aGlzLmFjdGlvbi5hcmdzIHx8IFtdO1xyXG5cclxuICAgIGlmICh0aGlzLmFjdGlvbi5uZ0NsYXNzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5uZ0NsYXNzJCQgPSB0aGlzLmFjdGlvblxyXG4gICAgICAgIC5uZ0NsYXNzKC4uLmFyZ3MpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobmdDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pID0+XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MobmdDbGFzcylcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24uaWNvbikpIHtcclxuICAgICAgdGhpcy5pY29uJCQgPSB0aGlzLmFjdGlvbi5pY29uLnN1YnNjcmliZSgoaWNvbjogc3RyaW5nKSA9PlxyXG4gICAgICAgIHRoaXMudXBkYXRlSWNvbihpY29uKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51cGRhdGVJY29uKHRoaXMuYWN0aW9uLmljb24pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc09ic2VydmFibGUodGhpcy5hY3Rpb24uY2hlY2tDb25kaXRpb24pKSB7XHJcbiAgICAgIHRoaXMuY2hlY2tDb25kaXRpb24kJCA9IHRoaXMuYWN0aW9uLmNoZWNrQ29uZGl0aW9uLnN1YnNjcmliZShcclxuICAgICAgICAoY2hlY2tDb25kaXRpb246IGJvb2xlYW4pID0+IHRoaXMudXBkYXRlQ2hlY2tDb25kaXRpb24oY2hlY2tDb25kaXRpb24pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVwZGF0ZUNoZWNrQ29uZGl0aW9uKHRoaXMuYWN0aW9uLmNoZWNrQ29uZGl0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNPYnNlcnZhYmxlKHRoaXMuYWN0aW9uLnRvb2x0aXApKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcCQkID0gdGhpcy5hY3Rpb24udG9vbHRpcC5zdWJzY3JpYmUoKHRvb2x0aXA6IHN0cmluZykgPT5cclxuICAgICAgICB0aGlzLnVwZGF0ZVRvb2x0aXAodG9vbHRpcClcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXBkYXRlVG9vbHRpcCh0aGlzLmFjdGlvbi50b29sdGlwKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5hY3Rpb24uYXZhaWxhYmlsaXR5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5hdmFpbGFiaWxpdHkkJCA9IHRoaXMuYWN0aW9uXHJcbiAgICAgICAgLmF2YWlsYWJpbGl0eSguLi5hcmdzKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGF2YWlsYWJsZTogYm9vbGVhbikgPT4gKHRoaXMuZGlzYWJsZWQgPSAhYXZhaWxhYmxlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kaXNhYmxlZCQkID0gdGhpcy5kaXNhYmxlZCQuc3Vic2NyaWJlKChkaXNhYmxlZDogYm9vbGVhbikgPT5cclxuICAgICAgdGhpcy51cGRhdGVOZ0NsYXNzKHsgJ2lnby1hY3Rpb25iYXItaXRlbS1kaXNhYmxlZCc6IGRpc2FibGVkIH0pXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aGlzLmFjdGlvbi5kaXNwbGF5ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5JCQgPSB0aGlzLmFjdGlvblxyXG4gICAgICAgIC5kaXNwbGF5KC4uLmFyZ3MpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZGlzcGxheTogYm9vbGVhbikgPT4gKHRoaXMubm9EaXNwbGF5ID0gIWRpc3BsYXkpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm5vRGlzcGxheSQkID0gdGhpcy5ub0Rpc3BsYXkkLnN1YnNjcmliZSgobm9EaXNwbGF5OiBib29sZWFuKSA9PlxyXG4gICAgICB0aGlzLnVwZGF0ZU5nQ2xhc3MoeyAnaWdvLWFjdGlvbmJhci1pdGVtLW5vLWRpc3BsYXknOiBub0Rpc3BsYXkgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLm5nQ2xhc3MkJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMubmdDbGFzcyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMubmdDbGFzcyQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmF2YWlsYWJpbGl0eSQkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5hdmFpbGFiaWxpdHkkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eSQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRpc3BsYXkkJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMuZGlzcGxheSQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNoZWNrQ29uZGl0aW9uJCQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJCQudW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5jaGVja0NvbmRpdGlvbiQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmljb24kJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaWNvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMuaWNvbiQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRvb2x0aXAkJCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcCQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIHRoaXMudG9vbHRpcCQkID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGlzYWJsZWQkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5ub0Rpc3BsYXkkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0aGUgYWN0aW9uIGJ1dHRvbiBpcyBjbGlja2VkLCBlbWl0IHRoZSAndHJpZ2dlcicgZXZlbnQgYnV0IGRvbid0XHJcbiAgICogaW52b2tlIHRoZSBhY3Rpb24gaGFuZGxlci4gVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBwYXJlbnQgY29tcG9uZW50LlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG9uQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyaWdnZXIuZW1pdCh0aGlzLmFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU5nQ2xhc3MobmdDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pIHtcclxuICAgIHRoaXMubmdDbGFzcyQubmV4dChPYmplY3QuYXNzaWduKHt9LCB0aGlzLm5nQ2xhc3MkLnZhbHVlLCBuZ0NsYXNzKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXAodG9vbHRpcDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRvb2x0aXAkLm5leHQodG9vbHRpcCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUNoZWNrQ29uZGl0aW9uKGNoZWNrQ29uZGl0aW9uOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmNoZWNrQ29uZGl0aW9uJC5uZXh0KGNoZWNrQ29uZGl0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlSWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuaWNvbiQubmV4dChpY29uKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0LWl0ZW1cbiAgKm5nSWY9XCIhYWN0aW9uLmNoZWNrYm94XCJcbiAgY2xhc3M9XCJhY3Rpb25iYXItaXRlbVwiXG4gIG1hdFRvb2x0aXBDbGFzcz1cImFjdGlvbmJhckl0ZW1Ub29sdGlwXCJcbiAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gIFttYXRUb29sdGlwXT1cIndpdGhUb29sdGlwID8gKCh0b29sdGlwJCB8IGFzeW5jKSB8fCB0aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3MkIHwgYXN5bmNcIlxuICAoY2xpY2spPVwib25DbGljaygpXCJcbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwid2l0aEljb25cIlxuICAgIG1hdExpc3RJdGVtQXZhdGFyXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICA+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwid2l0aEljb25cIiBzdmdJY29uPVwie3sgaWNvbiQgfCBhc3luYyB9fVwiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8c3BhbiAqbmdJZj1cIndpdGhUaXRsZVwiIG1hdExpbmU+e3sgdGl0bGUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG48L21hdC1saXN0LWl0ZW0+XG5cbjxtYXQtbGlzdC1pdGVtXG4gIGNsYXNzPVwiaXRlbS1jaGVja2JveFwiXG4gICpuZ0lmPVwiYWN0aW9uLmNoZWNrYm94XCJcbiAgbWF0VG9vbHRpcENsYXNzPVwiYWN0aW9uYmFySXRlbVRvb2x0aXBcIlxuICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgW21hdFRvb2x0aXBdPVwid2l0aFRvb2x0aXAgPyAoKHRvb2x0aXAkIHwgYXN5bmMpIHx8IHRpdGxlIHwgdHJhbnNsYXRlKSA6ICcnXCJcbiAgW25nQ2xhc3NdPVwibmdDbGFzcyQgfCBhc3luY1wiXG4+XG4gIDxtYXQtY2hlY2tib3hcbiAgICAqbmdJZj1cIndpdGhUaXRsZVwiXG4gICAgKGNoYW5nZSk9XCJhY3Rpb24uaGFuZGxlcigpXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja0NvbmRpdGlvbiQgfCBhc3luY1wiXG4gID5cbiAgICB7eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICA8L21hdC1jaGVja2JveD5cbjwvbWF0LWxpc3QtaXRlbT5cbiJdfQ==