@sumaris-net/ngx-components 18.23.63 → 21.0.0-rc1

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 (797) hide show
  1. package/README.md +2 -0
  2. package/doc/build.md +3 -5
  3. package/fesm2022/sumaris-net.ngx-components.mjs +2382 -2150
  4. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  5. package/package.json +15 -15
  6. package/src/assets/environments/environment-test.json +2 -2
  7. package/src/assets/i18n/fr.json +6 -5
  8. package/src/assets/manifest.json +1 -1
  9. package/src/theme/_icons.scss +8 -12
  10. package/src/theme/_ionic.globals.scss +8 -1
  11. package/src/theme/_material.globals.scss +4 -1
  12. package/src/theme/_material.scss +16 -13
  13. package/src/theme/_mixins.scss +7 -1
  14. package/src/theme/_ngx-components.forms.scss +87 -84
  15. package/src/theme/_ngx-components.globals.scss +2 -0
  16. package/src/theme/_ngx-components.scss +19 -4
  17. package/src/theme/_ngx-components.table.scss +31 -26
  18. package/src/theme/_ngx-components.tabs.scss +16 -14
  19. package/src/theme/_responsive.scss +2 -0
  20. package/src/theme/_roboto.scss +3 -0
  21. package/src/theme/_theme.scss +11 -14
  22. package/src/theme/_theme.variables.scss +6 -1
  23. package/src/theme/ionic/ionic.functions.color.scss +13 -5
  24. package/src/theme/ionic/ionic.globals.scss +4 -4
  25. package/src/theme/ionic/ionic.theme.default.scss +2 -0
  26. package/types/sumaris-net.ngx-components.d.ts +14132 -0
  27. package/esm2022/public_api.mjs +0 -403
  28. package/esm2022/src/app/admin/admin-routing.module.mjs +0 -34
  29. package/esm2022/src/app/admin/admin.module.mjs +0 -32
  30. package/esm2022/src/app/admin/users/person.filter.mjs +0 -157
  31. package/esm2022/src/app/admin/users/person.service.mjs +0 -226
  32. package/esm2022/src/app/admin/users/person.validator.mjs +0 -78
  33. package/esm2022/src/app/admin/users/users-select.modal.mjs +0 -167
  34. package/esm2022/src/app/admin/users/users.mjs +0 -502
  35. package/esm2022/src/app/admin/users/users.module.mjs +0 -59
  36. package/esm2022/src/app/admin/users/users.utils.mjs +0 -29
  37. package/esm2022/src/app/core/about/about.modal.mjs +0 -119
  38. package/esm2022/src/app/core/about/about.module.mjs +0 -22
  39. package/esm2022/src/app/core/account/account.module.mjs +0 -75
  40. package/esm2022/src/app/core/account/account.page.mjs +0 -426
  41. package/esm2022/src/app/core/account/new-token.form.mjs +0 -109
  42. package/esm2022/src/app/core/account/new-token.modal.mjs +0 -66
  43. package/esm2022/src/app/core/account/password/change-password.form.mjs +0 -63
  44. package/esm2022/src/app/core/account/password/change-password.module.mjs +0 -22
  45. package/esm2022/src/app/core/account/password/change-password.page.mjs +0 -150
  46. package/esm2022/src/app/core/account/token.table.mjs +0 -160
  47. package/esm2022/src/app/core/auth/auth.form.mjs +0 -159
  48. package/esm2022/src/app/core/auth/auth.modal.mjs +0 -76
  49. package/esm2022/src/app/core/auth/auth.module.mjs +0 -56
  50. package/esm2022/src/app/core/auth/reset-password.modal.mjs +0 -89
  51. package/esm2022/src/app/core/core.module.mjs +0 -157
  52. package/esm2022/src/app/core/core.testing.module.mjs +0 -128
  53. package/esm2022/src/app/core/form/array/form-array.mjs +0 -328
  54. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +0 -23
  55. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +0 -97
  56. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -111
  57. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -31
  58. package/esm2022/src/app/core/form/entity/editor.class.mjs +0 -268
  59. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -420
  60. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +0 -748
  61. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  62. package/esm2022/src/app/core/form/entity/entity.module.mjs +0 -33
  63. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +0 -190
  64. package/esm2022/src/app/core/form/form-container.class.mjs +0 -347
  65. package/esm2022/src/app/core/form/form.class.mjs +0 -342
  66. package/esm2022/src/app/core/form/form.module.mjs +0 -77
  67. package/esm2022/src/app/core/form/form.utils.mjs +0 -238
  68. package/esm2022/src/app/core/form/list/list.form.mjs +0 -243
  69. package/esm2022/src/app/core/form/list/list.module.mjs +0 -31
  70. package/esm2022/src/app/core/form/properties/properties-file.service.mjs +0 -133
  71. package/esm2022/src/app/core/form/properties/properties.form.mjs +0 -397
  72. package/esm2022/src/app/core/form/properties/properties.module.mjs +0 -85
  73. package/esm2022/src/app/core/form/properties/properties.table.mjs +0 -267
  74. package/esm2022/src/app/core/form/properties/properties.utils.mjs +0 -304
  75. package/esm2022/src/app/core/form/properties/property.validator.mjs +0 -70
  76. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +0 -103
  77. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -23
  78. package/esm2022/src/app/core/form/text/testing/text-form.testing.mjs +0 -42
  79. package/esm2022/src/app/core/form/text/testing/text-form.testing.module.mjs +0 -25
  80. package/esm2022/src/app/core/form/text/text-form.component.mjs +0 -205
  81. package/esm2022/src/app/core/form/text/text-form.module.mjs +0 -31
  82. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -73
  83. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -22
  84. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +0 -164
  85. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +0 -32
  86. package/esm2022/src/app/core/form/username/username.form.mjs +0 -55
  87. package/esm2022/src/app/core/form/username/username.module.mjs +0 -20
  88. package/esm2022/src/app/core/graphql/graphql.module.mjs +0 -14
  89. package/esm2022/src/app/core/graphql/graphql.service.mjs +0 -781
  90. package/esm2022/src/app/core/graphql/graphql.utils.mjs +0 -119
  91. package/esm2022/src/app/core/home/home.mjs +0 -472
  92. package/esm2022/src/app/core/home/home.module.mjs +0 -54
  93. package/esm2022/src/app/core/icon/icon.component.mjs +0 -40
  94. package/esm2022/src/app/core/icon/icon.module.mjs +0 -20
  95. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +0 -394
  96. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +0 -31
  97. package/esm2022/src/app/core/menu/menu.component.mjs +0 -273
  98. package/esm2022/src/app/core/menu/menu.model.mjs +0 -328
  99. package/esm2022/src/app/core/menu/menu.module.mjs +0 -47
  100. package/esm2022/src/app/core/menu/menu.service.mjs +0 -666
  101. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +0 -113
  102. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +0 -51
  103. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +0 -165
  104. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +0 -60
  105. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +0 -28
  106. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +0 -31
  107. package/esm2022/src/app/core/peer/select-peer.modal.mjs +0 -350
  108. package/esm2022/src/app/core/peer/select-peer.module.mjs +0 -36
  109. package/esm2022/src/app/core/register/register-confirm.page.mjs +0 -90
  110. package/esm2022/src/app/core/register/register.form.mjs +0 -197
  111. package/esm2022/src/app/core/register/register.modal.mjs +0 -55
  112. package/esm2022/src/app/core/register/register.module.mjs +0 -23
  113. package/esm2022/src/app/core/services/account.service.mjs +0 -1403
  114. package/esm2022/src/app/core/services/auth-guard.service.mjs +0 -74
  115. package/esm2022/src/app/core/services/base-entity-service.class.mjs +0 -499
  116. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +0 -224
  117. package/esm2022/src/app/core/services/base58.mjs +0 -83
  118. package/esm2022/src/app/core/services/config/core.config.mjs +0 -293
  119. package/esm2022/src/app/core/services/config.service.mjs +0 -384
  120. package/esm2022/src/app/core/services/crypto.service.mjs +0 -107
  121. package/esm2022/src/app/core/services/errors.mjs +0 -54
  122. package/esm2022/src/app/core/services/local-settings.service.mjs +0 -540
  123. package/esm2022/src/app/core/services/model/account.model.mjs +0 -192
  124. package/esm2022/src/app/core/services/model/config.model.mjs +0 -111
  125. package/esm2022/src/app/core/services/model/department.model.mjs +0 -35
  126. package/esm2022/src/app/core/services/model/entity.decorators.mjs +0 -97
  127. package/esm2022/src/app/core/services/model/entity.model.mjs +0 -347
  128. package/esm2022/src/app/core/services/model/filter.model.mjs +0 -169
  129. package/esm2022/src/app/core/services/model/history.model.mjs +0 -2
  130. package/esm2022/src/app/core/services/model/model.enum.mjs +0 -11
  131. package/esm2022/src/app/core/services/model/node-feature.model.mjs +0 -31
  132. package/esm2022/src/app/core/services/model/peer.model.mjs +0 -114
  133. package/esm2022/src/app/core/services/model/person.model.mjs +0 -118
  134. package/esm2022/src/app/core/services/model/referential.model.mjs +0 -207
  135. package/esm2022/src/app/core/services/model/settings.model.mjs +0 -6
  136. package/esm2022/src/app/core/services/model/token.model.mjs +0 -57
  137. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +0 -234
  138. package/esm2022/src/app/core/services/network.service.mjs +0 -759
  139. package/esm2022/src/app/core/services/network.types.mjs +0 -2
  140. package/esm2022/src/app/core/services/network.utils.mjs +0 -35
  141. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +0 -38
  142. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
  143. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
  144. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +0 -58
  145. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +0 -36
  146. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
  147. package/esm2022/src/app/core/services/platform.service.mjs +0 -780
  148. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +0 -427
  149. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +0 -450
  150. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +0 -25
  151. package/esm2022/src/app/core/services/testing/referential.validator.mjs +0 -46
  152. package/esm2022/src/app/core/services/validator/account.validator.mjs +0 -46
  153. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +0 -49
  154. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +0 -57
  155. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +0 -27
  156. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +0 -55
  157. package/esm2022/src/app/core/settings/settings.module.mjs +0 -23
  158. package/esm2022/src/app/core/settings/settings.page.mjs +0 -406
  159. package/esm2022/src/app/core/table/async-table.class.mjs +0 -1882
  160. package/esm2022/src/app/core/table/column/actions-column.component.mjs +0 -137
  161. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +0 -120
  162. package/esm2022/src/app/core/table/column/row-field.component.mjs +0 -116
  163. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +0 -415
  164. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +0 -407
  165. package/esm2022/src/app/core/table/memory-table.class.mjs +0 -57
  166. package/esm2022/src/app/core/table/table-select-columns.component.mjs +0 -46
  167. package/esm2022/src/app/core/table/table.class.mjs +0 -1918
  168. package/esm2022/src/app/core/table/table.model.mjs +0 -21
  169. package/esm2022/src/app/core/table/table.module.mjs +0 -51
  170. package/esm2022/src/app/core/table/table.pipes.mjs +0 -76
  171. package/esm2022/src/app/core/table/table.utils.mjs +0 -34
  172. package/esm2022/src/app/core/table/testing/nested-table.testing.mjs +0 -326
  173. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +0 -32
  174. package/esm2022/src/app/core/table/testing/table.testing.mjs +0 -342
  175. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +0 -47
  176. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +0 -25
  177. package/esm2022/src/app/core/table/testing/table2.testing.mjs +0 -322
  178. package/esm2022/src/app/shared/alerts.mjs +0 -243
  179. package/esm2022/src/app/shared/audio/audio.mjs +0 -255
  180. package/esm2022/src/app/shared/audio/audio.testing.mjs +0 -32
  181. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +0 -30
  182. package/esm2022/src/app/shared/base64.utils.mjs +0 -59
  183. package/esm2022/src/app/shared/capacitor/keyboard.mjs +0 -42
  184. package/esm2022/src/app/shared/capacitor/plugins.mjs +0 -10
  185. package/esm2022/src/app/shared/constants.mjs +0 -18
  186. package/esm2022/src/app/shared/dates.mjs +0 -212
  187. package/esm2022/src/app/shared/debug/debug-service.class.mjs +0 -3
  188. package/esm2022/src/app/shared/debug/debug.component.mjs +0 -44
  189. package/esm2022/src/app/shared/debug/debug.module.mjs +0 -23
  190. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +0 -91
  191. package/esm2022/src/app/shared/directives/autoresize.directive.mjs +0 -75
  192. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +0 -30
  193. package/esm2022/src/app/shared/directives/autotooltip.directive.mjs +0 -35
  194. package/esm2022/src/app/shared/directives/cell-selection/cell-identifier.directive.mjs +0 -55
  195. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.directive.mjs +0 -206
  196. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.service.mjs +0 -204
  197. package/esm2022/src/app/shared/directives/directives.module.mjs +0 -53
  198. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +0 -52
  199. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +0 -33
  200. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +0 -62
  201. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +0 -96
  202. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
  203. package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +0 -43
  204. package/esm2022/src/app/shared/events.mjs +0 -64
  205. package/esm2022/src/app/shared/file/csv.utils.mjs +0 -97
  206. package/esm2022/src/app/shared/file/file.service.mjs +0 -118
  207. package/esm2022/src/app/shared/file/file.utils.mjs +0 -117
  208. package/esm2022/src/app/shared/file/images.utils.mjs +0 -186
  209. package/esm2022/src/app/shared/file/json.utils.mjs +0 -58
  210. package/esm2022/src/app/shared/file/uri.utils.mjs +0 -29
  211. package/esm2022/src/app/shared/file/url.utils.mjs +0 -213
  212. package/esm2022/src/app/shared/focusable.mjs +0 -6
  213. package/esm2022/src/app/shared/form/field.component.mjs +0 -388
  214. package/esm2022/src/app/shared/form/field.model.mjs +0 -100
  215. package/esm2022/src/app/shared/form/loading-spinner.mjs +0 -35
  216. package/esm2022/src/app/shared/forms.mjs +0 -593
  217. package/esm2022/src/app/shared/functions.mjs +0 -825
  218. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +0 -94
  219. package/esm2022/src/app/shared/gesture/gesture-config.mjs +0 -46
  220. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +0 -2
  221. package/esm2022/src/app/shared/graph/colors.utils.mjs +0 -85
  222. package/esm2022/src/app/shared/graph/graph-colors.mjs +0 -214
  223. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +0 -68
  224. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  225. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +0 -147
  226. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -24
  227. package/esm2022/src/app/shared/html.utils.mjs +0 -35
  228. package/esm2022/src/app/shared/http/http.utils.mjs +0 -56
  229. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +0 -452
  230. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +0 -62
  231. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -26
  232. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -92
  233. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -37
  234. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -59
  235. package/esm2022/src/app/shared/image/image.model.mjs +0 -2
  236. package/esm2022/src/app/shared/image/image.module.mjs +0 -24
  237. package/esm2022/src/app/shared/image/image.service.mjs +0 -117
  238. package/esm2022/src/app/shared/inputs.mjs +0 -281
  239. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  240. package/esm2022/src/app/shared/logging/log-level.model.mjs +0 -48
  241. package/esm2022/src/app/shared/logging/logger.model.mjs +0 -47
  242. package/esm2022/src/app/shared/logging/logging-service.class.mjs +0 -125
  243. package/esm2022/src/app/shared/logging/logging-service.config.mjs +0 -2
  244. package/esm2022/src/app/shared/logging/logging-service.module.mjs +0 -30
  245. package/esm2022/src/app/shared/markdown/markdown.component.mjs +0 -321
  246. package/esm2022/src/app/shared/markdown/markdown.directive.mjs +0 -34
  247. package/esm2022/src/app/shared/markdown/markdown.modal.mjs +0 -99
  248. package/esm2022/src/app/shared/markdown/markdown.module.mjs +0 -87
  249. package/esm2022/src/app/shared/markdown/markdown.service.mjs +0 -204
  250. package/esm2022/src/app/shared/markdown/markdown.utils.mjs +0 -87
  251. package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +0 -55
  252. package/esm2022/src/app/shared/markdown/testing/markdown.testing.module.mjs +0 -30
  253. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -46
  254. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -1356
  255. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -81
  256. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -18
  257. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -242
  258. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +0 -251
  259. package/esm2022/src/app/shared/material/badge/badge.module.mjs +0 -20
  260. package/esm2022/src/app/shared/material/badge/badge.test.mjs +0 -42
  261. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +0 -70
  262. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +0 -374
  263. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +0 -83
  264. package/esm2022/src/app/shared/material/chips/chips.module.mjs +0 -74
  265. package/esm2022/src/app/shared/material/chips/material.chips.mjs +0 -843
  266. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +0 -151
  267. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +0 -79
  268. package/esm2022/src/app/shared/material/datetime/material.date.mjs +0 -473
  269. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +0 -457
  270. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +0 -850
  271. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -140
  272. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -127
  273. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -118
  274. package/esm2022/src/app/shared/material/duration/duration.module.mjs +0 -61
  275. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +0 -16
  276. package/esm2022/src/app/shared/material/duration/material.duration.mjs +0 -283
  277. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +0 -85
  278. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +0 -319
  279. package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +0 -471
  280. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +0 -231
  281. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +0 -68
  282. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -138
  283. package/esm2022/src/app/shared/material/material.animations.mjs +0 -200
  284. package/esm2022/src/app/shared/material/material.config.mjs +0 -3
  285. package/esm2022/src/app/shared/material/material.module.mjs +0 -224
  286. package/esm2022/src/app/shared/material/material.testing.module.mjs +0 -234
  287. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -51
  288. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -23
  289. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +0 -379
  290. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  291. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -67
  292. package/esm2022/src/app/shared/material/test/test-component.mjs +0 -264
  293. package/esm2022/src/app/shared/material/testing/common.test.mjs +0 -111
  294. package/esm2022/src/app/shared/modules.mjs +0 -12
  295. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -306
  296. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +0 -49
  297. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +0 -24
  298. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +0 -69
  299. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +0 -74
  300. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +0 -28
  301. package/esm2022/src/app/shared/observables.mjs +0 -104
  302. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +0 -251
  303. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +0 -25
  304. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +0 -29
  305. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -50
  306. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +0 -72
  307. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +0 -28
  308. package/esm2022/src/app/shared/pipes/date-from.pipe.mjs +0 -29
  309. package/esm2022/src/app/shared/pipes/dates.pipe.mjs +0 -18
  310. package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +0 -23
  311. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +0 -34
  312. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +0 -53
  313. package/esm2022/src/app/shared/pipes/form.pipes.mjs +0 -219
  314. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +0 -50
  315. package/esm2022/src/app/shared/pipes/html.pipes.mjs +0 -102
  316. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +0 -42
  317. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +0 -65
  318. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +0 -67
  319. package/esm2022/src/app/shared/pipes/math.pipes.mjs +0 -77
  320. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +0 -19
  321. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +0 -17
  322. package/esm2022/src/app/shared/pipes/observable.pipes.mjs +0 -63
  323. package/esm2022/src/app/shared/pipes/pipes.module.mjs +0 -304
  324. package/esm2022/src/app/shared/pipes/property.pipes.mjs +0 -148
  325. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +0 -177
  326. package/esm2022/src/app/shared/pipes/string.pipes.mjs +0 -183
  327. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +0 -44
  328. package/esm2022/src/app/shared/pipes/types.pipes.mjs +0 -74
  329. package/esm2022/src/app/shared/pipes/url.pipes.mjs +0 -35
  330. package/esm2022/src/app/shared/platforms.mjs +0 -81
  331. package/esm2022/src/app/shared/print/print.service.mjs +0 -305
  332. package/esm2022/src/app/shared/regexps.mjs +0 -103
  333. package/esm2022/src/app/shared/rx-state/rx-state.decorators.mjs +0 -193
  334. package/esm2022/src/app/shared/rx-state/rx-state.module.mjs +0 -19
  335. package/esm2022/src/app/shared/rx-state/rx-state.types.mjs +0 -2
  336. package/esm2022/src/app/shared/services/entity-service.class.mjs +0 -44
  337. package/esm2022/src/app/shared/services/job.utils.mjs +0 -92
  338. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +0 -362
  339. package/esm2022/src/app/shared/services/progress-bar.service.mjs +0 -31
  340. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +0 -144
  341. package/esm2022/src/app/shared/services/startable-service.class.mjs +0 -118
  342. package/esm2022/src/app/shared/services/translate-context.service.mjs +0 -107
  343. package/esm2022/src/app/shared/services/validator-service.class.mjs +0 -2
  344. package/esm2022/src/app/shared/services.mjs +0 -85
  345. package/esm2022/src/app/shared/shared-routing.module.mjs +0 -72
  346. package/esm2022/src/app/shared/shared.module.mjs +0 -229
  347. package/esm2022/src/app/shared/shared.testing.module.mjs +0 -108
  348. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +0 -281
  349. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +0 -42
  350. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +0 -27
  351. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +0 -25
  352. package/esm2022/src/app/shared/storage/storage.service.mjs +0 -134
  353. package/esm2022/src/app/shared/storage/storage.utils.mjs +0 -13
  354. package/esm2022/src/app/shared/testing/maskito.test.mjs +0 -41
  355. package/esm2022/src/app/shared/testing/observable.test.mjs +0 -94
  356. package/esm2022/src/app/shared/testing/tests.page.mjs +0 -37
  357. package/esm2022/src/app/shared/toast/toast.testing.mjs +0 -54
  358. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +0 -31
  359. package/esm2022/src/app/shared/toast/toasts.mjs +0 -134
  360. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +0 -62
  361. package/esm2022/src/app/shared/toolbar/toolbar.mjs +0 -272
  362. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +0 -26
  363. package/esm2022/src/app/shared/types.mjs +0 -2
  364. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -59
  365. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -30
  366. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -108
  367. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +0 -216
  368. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +0 -26
  369. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +0 -122
  370. package/esm2022/src/app/shared/validator/validators.mjs +0 -658
  371. package/esm2022/src/app/shared/version/versions.mjs +0 -81
  372. package/esm2022/src/app/social/config/social.config.mjs +0 -9
  373. package/esm2022/src/app/social/feed/feed.component.mjs +0 -317
  374. package/esm2022/src/app/social/feed/feed.directive.mjs +0 -151
  375. package/esm2022/src/app/social/feed/feed.model.mjs +0 -60
  376. package/esm2022/src/app/social/feed/feed.module.mjs +0 -24
  377. package/esm2022/src/app/social/feed/feed.page.mjs +0 -67
  378. package/esm2022/src/app/social/feed/feed.service.mjs +0 -222
  379. package/esm2022/src/app/social/feed/testing/feed.testing.mjs +0 -66
  380. package/esm2022/src/app/social/feed/testing/feed.testing.module.mjs +0 -23
  381. package/esm2022/src/app/social/job/job.module.mjs +0 -23
  382. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +0 -38
  383. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +0 -241
  384. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +0 -50
  385. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +0 -29
  386. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +0 -91
  387. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +0 -38
  388. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +0 -34
  389. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +0 -22
  390. package/esm2022/src/app/social/message/message.form.mjs +0 -149
  391. package/esm2022/src/app/social/message/message.modal.mjs +0 -116
  392. package/esm2022/src/app/social/message/message.model.mjs +0 -86
  393. package/esm2022/src/app/social/message/message.module.mjs +0 -25
  394. package/esm2022/src/app/social/message/message.service.mjs +0 -198
  395. package/esm2022/src/app/social/social.errors.mjs +0 -11
  396. package/esm2022/src/app/social/social.module.mjs +0 -22
  397. package/esm2022/src/app/social/social.testing.module.mjs +0 -72
  398. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -191
  399. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -280
  400. package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +0 -84
  401. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +0 -273
  402. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -129
  403. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -22
  404. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -128
  405. package/esm2022/src/app/social/user-event/user-event.model.mjs +0 -2
  406. package/esm2022/src/app/social/user-event/user-event.module.mjs +0 -24
  407. package/esm2022/src/app/social/user-event/user-event.service.mjs +0 -512
  408. package/esm2022/src/environments/environment.class.mjs +0 -69
  409. package/esm2022/src/environments/environment.loader.mjs +0 -77
  410. package/esm2022/src/environments/environment.mjs +0 -133
  411. package/esm2022/sumaris-net.ngx-components.mjs +0 -5
  412. package/index.d.ts +0 -5
  413. package/public_api.d.ts +0 -364
  414. package/src/app/admin/admin-routing.module.d.ts +0 -9
  415. package/src/app/admin/admin.module.d.ts +0 -10
  416. package/src/app/admin/users/person.filter.d.ts +0 -37
  417. package/src/app/admin/users/person.service.d.ts +0 -61
  418. package/src/app/admin/users/person.validator.d.ts +0 -23
  419. package/src/app/admin/users/users-select.modal.d.ts +0 -73
  420. package/src/app/admin/users/users.d.ts +0 -89
  421. package/src/app/admin/users/users.module.d.ts +0 -15
  422. package/src/app/admin/users/users.utils.d.ts +0 -6
  423. package/src/app/core/about/about.modal.d.ts +0 -44
  424. package/src/app/core/about/about.module.d.ts +0 -11
  425. package/src/app/core/account/account.module.d.ts +0 -18
  426. package/src/app/core/account/account.page.d.ts +0 -93
  427. package/src/app/core/account/new-token.form.d.ts +0 -30
  428. package/src/app/core/account/new-token.modal.d.ts +0 -29
  429. package/src/app/core/account/password/change-password.form.d.ts +0 -19
  430. package/src/app/core/account/password/change-password.module.d.ts +0 -11
  431. package/src/app/core/account/password/change-password.page.d.ts +0 -36
  432. package/src/app/core/account/token.table.d.ts +0 -28
  433. package/src/app/core/auth/auth.form.d.ts +0 -38
  434. package/src/app/core/auth/auth.modal.d.ts +0 -24
  435. package/src/app/core/auth/auth.module.d.ts +0 -13
  436. package/src/app/core/auth/reset-password.modal.d.ts +0 -29
  437. package/src/app/core/core.module.d.ts +0 -28
  438. package/src/app/core/core.testing.module.d.ts +0 -16
  439. package/src/app/core/form/array/form-array.d.ts +0 -147
  440. package/src/app/core/form/array/testing/form-array-test.module.d.ts +0 -12
  441. package/src/app/core/form/array/testing/form-array.test.d.ts +0 -27
  442. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -38
  443. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
  444. package/src/app/core/form/entity/editor.class.d.ts +0 -85
  445. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -126
  446. package/src/app/core/form/entity/entity-editor.class.d.ts +0 -211
  447. package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
  448. package/src/app/core/form/entity/entity.module.d.ts +0 -11
  449. package/src/app/core/form/entity/tab-editor.class.d.ts +0 -66
  450. package/src/app/core/form/form-container.class.d.ts +0 -131
  451. package/src/app/core/form/form.class.d.ts +0 -148
  452. package/src/app/core/form/form.module.d.ts +0 -15
  453. package/src/app/core/form/form.utils.d.ts +0 -301
  454. package/src/app/core/form/list/list.form.d.ts +0 -83
  455. package/src/app/core/form/list/list.module.d.ts +0 -9
  456. package/src/app/core/form/properties/properties-file.service.d.ts +0 -26
  457. package/src/app/core/form/properties/properties.form.d.ts +0 -109
  458. package/src/app/core/form/properties/properties.module.d.ts +0 -18
  459. package/src/app/core/form/properties/properties.table.d.ts +0 -73
  460. package/src/app/core/form/properties/properties.utils.d.ts +0 -59
  461. package/src/app/core/form/properties/property.validator.d.ts +0 -27
  462. package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -22
  463. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
  464. package/src/app/core/form/text/testing/text-form.testing.d.ts +0 -19
  465. package/src/app/core/form/text/testing/text-form.testing.module.d.ts +0 -14
  466. package/src/app/core/form/text/text-form.component.d.ts +0 -66
  467. package/src/app/core/form/text/text-form.module.d.ts +0 -9
  468. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -16
  469. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
  470. package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -81
  471. package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -10
  472. package/src/app/core/form/username/username.form.d.ts +0 -19
  473. package/src/app/core/form/username/username.module.d.ts +0 -9
  474. package/src/app/core/graphql/graphql.module.d.ts +0 -7
  475. package/src/app/core/graphql/graphql.service.d.ts +0 -138
  476. package/src/app/core/graphql/graphql.utils.d.ts +0 -47
  477. package/src/app/core/home/home.d.ts +0 -135
  478. package/src/app/core/home/home.module.d.ts +0 -16
  479. package/src/app/core/icon/icon.component.d.ts +0 -13
  480. package/src/app/core/icon/icon.module.d.ts +0 -9
  481. package/src/app/core/install/install-upgrade-card.component.d.ts +0 -63
  482. package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
  483. package/src/app/core/menu/menu.component.d.ts +0 -69
  484. package/src/app/core/menu/menu.model.d.ts +0 -163
  485. package/src/app/core/menu/menu.module.d.ts +0 -12
  486. package/src/app/core/menu/menu.service.d.ts +0 -93
  487. package/src/app/core/menu/sub-menu-tab.directive.d.ts +0 -29
  488. package/src/app/core/menu/testing/menu-other.testing.d.ts +0 -15
  489. package/src/app/core/menu/testing/menu.testing.d.ts +0 -53
  490. package/src/app/core/menu/testing/menu.testing.module.d.ts +0 -12
  491. package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
  492. package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
  493. package/src/app/core/peer/select-peer.modal.d.ts +0 -108
  494. package/src/app/core/peer/select-peer.module.d.ts +0 -12
  495. package/src/app/core/register/register-confirm.page.d.ts +0 -24
  496. package/src/app/core/register/register.form.d.ts +0 -49
  497. package/src/app/core/register/register.modal.d.ts +0 -14
  498. package/src/app/core/register/register.module.d.ts +0 -12
  499. package/src/app/core/services/account.service.d.ts +0 -236
  500. package/src/app/core/services/auth-guard.service.d.ts +0 -17
  501. package/src/app/core/services/base-entity-service.class.d.ts +0 -134
  502. package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
  503. package/src/app/core/services/base58.d.ts +0 -7
  504. package/src/app/core/services/config/core.config.d.ts +0 -52
  505. package/src/app/core/services/config.service.d.ts +0 -63
  506. package/src/app/core/services/crypto.service.d.ts +0 -44
  507. package/src/app/core/services/errors.d.ts +0 -65
  508. package/src/app/core/services/local-settings.service.d.ts +0 -130
  509. package/src/app/core/services/model/account.model.d.ts +0 -66
  510. package/src/app/core/services/model/config.model.d.ts +0 -37
  511. package/src/app/core/services/model/department.model.d.ts +0 -11
  512. package/src/app/core/services/model/entity.decorators.d.ts +0 -17
  513. package/src/app/core/services/model/entity.model.d.ts +0 -133
  514. package/src/app/core/services/model/filter.model.d.ts +0 -37
  515. package/src/app/core/services/model/history.model.d.ts +0 -20
  516. package/src/app/core/services/model/model.enum.d.ts +0 -7
  517. package/src/app/core/services/model/node-feature.model.d.ts +0 -14
  518. package/src/app/core/services/model/peer.model.d.ts +0 -35
  519. package/src/app/core/services/model/person.model.d.ts +0 -39
  520. package/src/app/core/services/model/referential.model.d.ts +0 -85
  521. package/src/app/core/services/model/settings.model.d.ts +0 -29
  522. package/src/app/core/services/model/token.model.d.ts +0 -22
  523. package/src/app/core/services/model/tree-item-entity.model.d.ts +0 -62
  524. package/src/app/core/services/network.service.d.ts +0 -184
  525. package/src/app/core/services/network.types.d.ts +0 -4
  526. package/src/app/core/services/network.utils.d.ts +0 -39
  527. package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
  528. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
  529. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -11
  530. package/src/app/core/services/pipes/pipes.module.d.ts +0 -11
  531. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +0 -23
  532. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
  533. package/src/app/core/services/platform.service.d.ts +0 -126
  534. package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
  535. package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
  536. package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
  537. package/src/app/core/services/testing/referential.validator.d.ts +0 -22
  538. package/src/app/core/services/validator/account.validator.d.ts +0 -24
  539. package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
  540. package/src/app/core/services/validator/local-settings.validator.d.ts +0 -18
  541. package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
  542. package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
  543. package/src/app/core/settings/settings.module.d.ts +0 -12
  544. package/src/app/core/settings/settings.page.d.ts +0 -89
  545. package/src/app/core/table/async-table.class.d.ts +0 -443
  546. package/src/app/core/table/column/actions-column.component.d.ts +0 -65
  547. package/src/app/core/table/column/nav-actions-column.component.d.ts +0 -47
  548. package/src/app/core/table/column/row-field.component.d.ts +0 -41
  549. package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -103
  550. package/src/app/core/table/entities-table-datasource.class.d.ts +0 -102
  551. package/src/app/core/table/memory-table.class.d.ts +0 -25
  552. package/src/app/core/table/table-select-columns.component.d.ts +0 -22
  553. package/src/app/core/table/table.class.d.ts +0 -427
  554. package/src/app/core/table/table.model.d.ts +0 -31
  555. package/src/app/core/table/table.module.d.ts +0 -14
  556. package/src/app/core/table/table.pipes.d.ts +0 -30
  557. package/src/app/core/table/table.utils.d.ts +0 -13
  558. package/src/app/core/table/testing/nested-table.testing.d.ts +0 -54
  559. package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
  560. package/src/app/core/table/testing/table.testing.d.ts +0 -55
  561. package/src/app/core/table/testing/table.testing.module.d.ts +0 -17
  562. package/src/app/core/table/testing/table2-validator.service.d.ts +0 -15
  563. package/src/app/core/table/testing/table2.testing.d.ts +0 -53
  564. package/src/app/shared/alerts.d.ts +0 -55
  565. package/src/app/shared/audio/audio.d.ts +0 -45
  566. package/src/app/shared/audio/audio.testing.d.ts +0 -13
  567. package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
  568. package/src/app/shared/base64.utils.d.ts +0 -7
  569. package/src/app/shared/capacitor/keyboard.d.ts +0 -16
  570. package/src/app/shared/capacitor/plugins.d.ts +0 -8
  571. package/src/app/shared/constants.d.ts +0 -15
  572. package/src/app/shared/dates.d.ts +0 -85
  573. package/src/app/shared/debug/debug-service.class.d.ts +0 -5
  574. package/src/app/shared/debug/debug.component.d.ts +0 -14
  575. package/src/app/shared/debug/debug.module.d.ts +0 -12
  576. package/src/app/shared/directives/autofocus.directive.d.ts +0 -18
  577. package/src/app/shared/directives/autoresize.directive.d.ts +0 -20
  578. package/src/app/shared/directives/autotitle.directive.d.ts +0 -11
  579. package/src/app/shared/directives/autotooltip.directive.d.ts +0 -14
  580. package/src/app/shared/directives/cell-selection/cell-identifier.directive.d.ts +0 -17
  581. package/src/app/shared/directives/cell-selection/cell-selection.directive.d.ts +0 -29
  582. package/src/app/shared/directives/cell-selection/cell-selection.service.d.ts +0 -67
  583. package/src/app/shared/directives/directives.module.d.ts +0 -15
  584. package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
  585. package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
  586. package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
  587. package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -24
  588. package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
  589. package/src/app/shared/directives/throttled-click.directive.d.ts +0 -16
  590. package/src/app/shared/events.d.ts +0 -29
  591. package/src/app/shared/file/csv.utils.d.ts +0 -30
  592. package/src/app/shared/file/file.service.d.ts +0 -23
  593. package/src/app/shared/file/file.utils.d.ts +0 -20
  594. package/src/app/shared/file/images.utils.d.ts +0 -36
  595. package/src/app/shared/file/json.utils.d.ts +0 -19
  596. package/src/app/shared/file/uri.utils.d.ts +0 -8
  597. package/src/app/shared/file/url.utils.d.ts +0 -108
  598. package/src/app/shared/focusable.d.ts +0 -4
  599. package/src/app/shared/form/field.component.d.ts +0 -83
  600. package/src/app/shared/form/field.model.d.ts +0 -88
  601. package/src/app/shared/form/loading-spinner.d.ts +0 -8
  602. package/src/app/shared/forms.d.ts +0 -170
  603. package/src/app/shared/functions.d.ts +0 -296
  604. package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -25
  605. package/src/app/shared/gesture/gesture-config.d.ts +0 -15
  606. package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
  607. package/src/app/shared/graph/colors.utils.d.ts +0 -34
  608. package/src/app/shared/graph/graph-colors.d.ts +0 -63
  609. package/src/app/shared/guard/component-dirty.guard.d.ts +0 -14
  610. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -8
  611. package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -48
  612. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
  613. package/src/app/shared/html.utils.d.ts +0 -17
  614. package/src/app/shared/http/http.utils.d.ts +0 -28
  615. package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -139
  616. package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -15
  617. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
  618. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
  619. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
  620. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -13
  621. package/src/app/shared/image/image.model.d.ts +0 -7
  622. package/src/app/shared/image/image.module.d.ts +0 -8
  623. package/src/app/shared/image/image.service.d.ts +0 -37
  624. package/src/app/shared/inputs.d.ts +0 -37
  625. package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
  626. package/src/app/shared/logging/log-level.model.d.ts +0 -38
  627. package/src/app/shared/logging/logger.model.d.ts +0 -68
  628. package/src/app/shared/logging/logging-service.class.d.ts +0 -39
  629. package/src/app/shared/logging/logging-service.config.d.ts +0 -25
  630. package/src/app/shared/logging/logging-service.module.d.ts +0 -9
  631. package/src/app/shared/markdown/markdown.component.d.ts +0 -86
  632. package/src/app/shared/markdown/markdown.directive.d.ts +0 -13
  633. package/src/app/shared/markdown/markdown.modal.d.ts +0 -49
  634. package/src/app/shared/markdown/markdown.module.d.ts +0 -17
  635. package/src/app/shared/markdown/markdown.service.d.ts +0 -37
  636. package/src/app/shared/markdown/markdown.utils.d.ts +0 -26
  637. package/src/app/shared/markdown/testing/markdown.test.d.ts +0 -18
  638. package/src/app/shared/markdown/testing/markdown.testing.module.d.ts +0 -12
  639. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -74
  640. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -224
  641. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -23
  642. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -5
  643. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -48
  644. package/src/app/shared/material/badge/badge.directive.d.ts +0 -43
  645. package/src/app/shared/material/badge/badge.module.d.ts +0 -10
  646. package/src/app/shared/material/badge/badge.test.d.ts +0 -21
  647. package/src/app/shared/material/boolean/boolean.module.d.ts +0 -21
  648. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -94
  649. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +0 -31
  650. package/src/app/shared/material/chips/chips.module.d.ts +0 -22
  651. package/src/app/shared/material/chips/material.chips.d.ts +0 -167
  652. package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -32
  653. package/src/app/shared/material/datetime/datetime.module.d.ts +0 -25
  654. package/src/app/shared/material/datetime/material.date.d.ts +0 -90
  655. package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -89
  656. package/src/app/shared/material/datetime/material.datetime.d.ts +0 -136
  657. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -38
  658. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -32
  659. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -31
  660. package/src/app/shared/material/duration/duration.module.d.ts +0 -18
  661. package/src/app/shared/material/duration/duration.utils.d.ts +0 -2
  662. package/src/app/shared/material/duration/material.duration.d.ts +0 -64
  663. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +0 -23
  664. package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -59
  665. package/src/app/shared/material/latlong/material.latlong-input.d.ts +0 -93
  666. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -90
  667. package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -21
  668. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -30
  669. package/src/app/shared/material/material.animations.d.ts +0 -8
  670. package/src/app/shared/material/material.config.d.ts +0 -3
  671. package/src/app/shared/material/material.module.d.ts +0 -44
  672. package/src/app/shared/material/material.testing.module.d.ts +0 -31
  673. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -12
  674. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
  675. package/src/app/shared/material/swipe/material.swipe.d.ts +0 -89
  676. package/src/app/shared/material/swipe/swipe.module.d.ts +0 -16
  677. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
  678. package/src/app/shared/material/test/test-component.d.ts +0 -75
  679. package/src/app/shared/material/testing/common.test.d.ts +0 -25
  680. package/src/app/shared/modules.d.ts +0 -9
  681. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +0 -63
  682. package/src/app/shared/named-filter/named-filter.model.d.ts +0 -32
  683. package/src/app/shared/named-filter/named-filter.module.d.ts +0 -13
  684. package/src/app/shared/named-filter/named-filter.service.d.ts +0 -32
  685. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +0 -34
  686. package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +0 -10
  687. package/src/app/shared/observables.d.ts +0 -32
  688. package/src/app/shared/pipes/arrays.pipe.d.ts +0 -93
  689. package/src/app/shared/pipes/badge.pipes.d.ts +0 -7
  690. package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
  691. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -25
  692. package/src/app/shared/pipes/date-format.pipe.d.ts +0 -35
  693. package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -14
  694. package/src/app/shared/pipes/date-from.pipe.d.ts +0 -14
  695. package/src/app/shared/pipes/dates.pipe.d.ts +0 -10
  696. package/src/app/shared/pipes/display-with.pipe.d.ts +0 -8
  697. package/src/app/shared/pipes/duration.pipe.d.ts +0 -23
  698. package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
  699. package/src/app/shared/pipes/form.pipes.d.ts +0 -69
  700. package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
  701. package/src/app/shared/pipes/html.pipes.d.ts +0 -50
  702. package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
  703. package/src/app/shared/pipes/maps.pipe.d.ts +0 -23
  704. package/src/app/shared/pipes/maskito.pipe.d.ts +0 -14
  705. package/src/app/shared/pipes/math.pipes.d.ts +0 -26
  706. package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
  707. package/src/app/shared/pipes/number-format.pipe.d.ts +0 -9
  708. package/src/app/shared/pipes/observable.pipes.d.ts +0 -25
  709. package/src/app/shared/pipes/pipes.module.d.ts +0 -36
  710. package/src/app/shared/pipes/property.pipes.d.ts +0 -46
  711. package/src/app/shared/pipes/selection.pipes.d.ts +0 -62
  712. package/src/app/shared/pipes/string.pipes.d.ts +0 -67
  713. package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
  714. package/src/app/shared/pipes/types.pipes.d.ts +0 -30
  715. package/src/app/shared/pipes/url.pipes.d.ts +0 -27
  716. package/src/app/shared/platforms.d.ts +0 -16
  717. package/src/app/shared/print/print.service.d.ts +0 -94
  718. package/src/app/shared/regexps.d.ts +0 -32
  719. package/src/app/shared/rx-state/rx-state.decorators.d.ts +0 -33
  720. package/src/app/shared/rx-state/rx-state.module.d.ts +0 -10
  721. package/src/app/shared/rx-state/rx-state.types.d.ts +0 -5
  722. package/src/app/shared/services/entity-service.class.d.ts +0 -117
  723. package/src/app/shared/services/job.utils.d.ts +0 -20
  724. package/src/app/shared/services/memory-entity-service.class.d.ts +0 -87
  725. package/src/app/shared/services/progress-bar.service.d.ts +0 -20
  726. package/src/app/shared/services/startable-observable-service.class.d.ts +0 -51
  727. package/src/app/shared/services/startable-service.class.d.ts +0 -38
  728. package/src/app/shared/services/translate-context.service.d.ts +0 -29
  729. package/src/app/shared/services/validator-service.class.d.ts +0 -11
  730. package/src/app/shared/services.d.ts +0 -17
  731. package/src/app/shared/shared-routing.module.d.ts +0 -23
  732. package/src/app/shared/shared.module.d.ts +0 -33
  733. package/src/app/shared/shared.testing.module.d.ts +0 -20
  734. package/src/app/shared/storage/storage-explorer.component.d.ts +0 -60
  735. package/src/app/shared/storage/storage-explorer.module.d.ts +0 -13
  736. package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +0 -9
  737. package/src/app/shared/storage/storage-explorer.testing.module.d.ts +0 -10
  738. package/src/app/shared/storage/storage.service.d.ts +0 -22
  739. package/src/app/shared/storage/storage.utils.d.ts +0 -19
  740. package/src/app/shared/testing/maskito.test.d.ts +0 -10
  741. package/src/app/shared/testing/observable.test.d.ts +0 -25
  742. package/src/app/shared/testing/tests.page.d.ts +0 -20
  743. package/src/app/shared/toast/toast.testing.d.ts +0 -15
  744. package/src/app/shared/toast/toast.testing.module.d.ts +0 -12
  745. package/src/app/shared/toast/toasts.d.ts +0 -16
  746. package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
  747. package/src/app/shared/toolbar/toolbar.d.ts +0 -70
  748. package/src/app/shared/toolbar/toolbar.module.d.ts +0 -16
  749. package/src/app/shared/types.d.ts +0 -45
  750. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -21
  751. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
  752. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -41
  753. package/src/app/shared/upload-file/upload-file.component.d.ts +0 -50
  754. package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
  755. package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -33
  756. package/src/app/shared/validator/validators.d.ts +0 -145
  757. package/src/app/shared/version/versions.d.ts +0 -26
  758. package/src/app/social/config/social.config.d.ts +0 -4
  759. package/src/app/social/feed/feed.component.d.ts +0 -91
  760. package/src/app/social/feed/feed.directive.d.ts +0 -32
  761. package/src/app/social/feed/feed.model.d.ts +0 -69
  762. package/src/app/social/feed/feed.module.d.ts +0 -13
  763. package/src/app/social/feed/feed.page.d.ts +0 -24
  764. package/src/app/social/feed/feed.service.d.ts +0 -85
  765. package/src/app/social/feed/testing/feed.testing.d.ts +0 -23
  766. package/src/app/social/feed/testing/feed.testing.module.d.ts +0 -12
  767. package/src/app/social/job/job.module.d.ts +0 -12
  768. package/src/app/social/job/progression/job-progression.component.d.ts +0 -24
  769. package/src/app/social/job/progression/job-progression.icon.d.ts +0 -63
  770. package/src/app/social/job/progression/job-progression.list.d.ts +0 -20
  771. package/src/app/social/job/progression/job-progression.model.d.ts +0 -10
  772. package/src/app/social/job/progression/job-progression.service.d.ts +0 -33
  773. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -13
  774. package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -9
  775. package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
  776. package/src/app/social/message/message.form.d.ts +0 -36
  777. package/src/app/social/message/message.modal.d.ts +0 -47
  778. package/src/app/social/message/message.model.d.ts +0 -36
  779. package/src/app/social/message/message.module.d.ts +0 -14
  780. package/src/app/social/message/message.service.d.ts +0 -44
  781. package/src/app/social/social.errors.d.ts +0 -10
  782. package/src/app/social/social.module.d.ts +0 -20
  783. package/src/app/social/social.testing.module.d.ts +0 -14
  784. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -47
  785. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -77
  786. package/src/app/social/user-event/notification/user-event-notification.modal.d.ts +0 -37
  787. package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -44
  788. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -42
  789. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
  790. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -41
  791. package/src/app/social/user-event/user-event.model.d.ts +0 -44
  792. package/src/app/social/user-event/user-event.module.d.ts +0 -14
  793. package/src/app/social/user-event/user-event.service.d.ts +0 -124
  794. package/src/environments/environment.class.d.ts +0 -86
  795. package/src/environments/environment.d.ts +0 -2
  796. package/src/environments/environment.loader.d.ts +0 -24
  797. package/src/theme/_globals.scss +0 -5
@@ -1,328 +0,0 @@
1
- var MenuItem_1;
2
- import { __decorate } from "tslib";
3
- import { isNilOrBlank, isNotNil, isNotNilOrBlank, toBoolean, toInt } from '../../shared/functions';
4
- import { BehaviorSubject } from 'rxjs';
5
- import { AccountUtils } from '../services/model/account.model';
6
- import { Entity } from '../services/model/entity.model';
7
- import { EntityClass } from '../services/model/entity.decorators';
8
- // @dynamic
9
- let MenuItem = class MenuItem extends Entity {
10
- static { MenuItem_1 = this; }
11
- static fromObject;
12
- _badgeSubscription;
13
- _badgeColorSubscription;
14
- parent;
15
- parentId;
16
- $children = new BehaviorSubject([]);
17
- static;
18
- $title = new BehaviorSubject(undefined);
19
- titleProperty; // A config property, to override the title
20
- titleArgs;
21
- $badge = new BehaviorSubject(undefined);
22
- $badgeColor = new BehaviorSubject(undefined);
23
- tooltip;
24
- path;
25
- pathParams;
26
- parentPath;
27
- parentPathParams;
28
- // Injection point
29
- after;
30
- before;
31
- action;
32
- profile;
33
- exactProfile;
34
- color;
35
- cssClass;
36
- // A config property, to enable the menu item
37
- ifProperty;
38
- pinned;
39
- // Icon
40
- icon;
41
- matIcon;
42
- matSvgIcon;
43
- fromObject(source, opts) {
44
- this.id = source.id;
45
- console.log('source', source);
46
- this.title = source.title;
47
- this.titleProperty = source.titleProperty;
48
- this.titleArgs = source.titleArgs;
49
- if (source.badge$) {
50
- this.badge$ = source.badge$;
51
- }
52
- else {
53
- this.badge = source.badge;
54
- }
55
- if (source.badgeColor$) {
56
- this.badgeColor$ = source.badgeColor$;
57
- }
58
- else {
59
- this.badgeColor = source.badgeColor;
60
- }
61
- // Clean path
62
- if (source.path) {
63
- const { path, params } = MenuItems.parsePathWithQuery(source.path);
64
- this.path = path;
65
- this.pathParams = { ...source.pathParams, ...params };
66
- }
67
- // Clean parent path
68
- if (source.parentPath) {
69
- const { path, params } = MenuItems.parsePathWithQuery(source.parentPath);
70
- this.parentPath = path;
71
- this.parentPathParams = { ...source.parentPathParams, ...params };
72
- }
73
- this.after = source.after;
74
- this.before = source.before;
75
- this.action = source.action;
76
- this.profile = source.profile;
77
- this.exactProfile = source.exactProfile;
78
- this.color = source.color;
79
- this.cssClass = source.cssClass;
80
- this.ifProperty = source.ifProperty;
81
- this.pinned = toBoolean(source.pinned, false);
82
- this.static = isNotNil(source.static) ? source.static : undefined; // If undefined, will be set by service
83
- // Icon
84
- this.icon = source.icon;
85
- this.matIcon = source.matIcon;
86
- this.matSvgIcon = source.matSvgIcon;
87
- if (!opts || opts.withChildren === false) {
88
- this.children = (source.children || []).map((json) => MenuItem_1.fromObject(json, opts)) || [];
89
- }
90
- }
91
- asObject(opts) {
92
- const target = Object.assign({}, this);
93
- target.title = this.title;
94
- if (opts?.keepLocalId === false) {
95
- delete target.id;
96
- }
97
- if (opts?.withChildren !== false) {
98
- target.children = (this.children || []).map((c) => c.asObject(opts));
99
- }
100
- delete target.$children;
101
- delete target.$title;
102
- delete target.$badge;
103
- delete target.$badgeColor;
104
- delete target.parent;
105
- return target;
106
- }
107
- // addChild(child: MenuItem) {
108
- // this.$children.next(this.$children.value)
109
- // }
110
- get children() {
111
- return this.$children.value;
112
- }
113
- set children(value) {
114
- this.$children.next(value);
115
- }
116
- get title() {
117
- return this.$title.value;
118
- }
119
- set title(value) {
120
- if (this.pinned) {
121
- // If loading, keep existing title if pinned (avoid to show skeleton)
122
- if (isNotNilOrBlank(value))
123
- this.$title.next(value);
124
- }
125
- else if (isNotNil(value)) {
126
- this.$title.next(value);
127
- }
128
- }
129
- get badge() {
130
- return this.$badge.value;
131
- }
132
- set badge(value) {
133
- if (this.$badge.value !== value) {
134
- this.$badge.next(value);
135
- }
136
- }
137
- get badge$() {
138
- return this.$badge.asObservable();
139
- }
140
- set badge$(value$) {
141
- this._badgeSubscription?.unsubscribe();
142
- this._badgeSubscription = value$?.subscribe((value) => {
143
- this.badge = value;
144
- });
145
- }
146
- get badgeColor() {
147
- return this.$badgeColor.value;
148
- }
149
- set badgeColor(value) {
150
- if (this.$badgeColor.value !== value) {
151
- this.$badgeColor.next(value);
152
- }
153
- }
154
- get badgeColor$() {
155
- return this.$badgeColor.asObservable();
156
- }
157
- set badgeColor$(value$) {
158
- this._badgeColorSubscription?.unsubscribe();
159
- this._badgeColorSubscription = value$?.subscribe((value) => {
160
- this.badgeColor = value;
161
- });
162
- }
163
- get detached() {
164
- return !this.parentPath || !this.parent;
165
- }
166
- get visible() {
167
- return this.static || !this.detached;
168
- }
169
- get expanded() {
170
- return this.action !== 'expand' || this.matIcon === 'expand_less';
171
- }
172
- get ancestor() {
173
- if (!this.parent)
174
- return null; // root = not ancestor
175
- if (!this.parent.parent)
176
- return this; // first sub menu = ancestor
177
- return this.parent?.ancestor; // loop
178
- }
179
- get divider() {
180
- return !this.action && !this.path;
181
- }
182
- get pinnable() {
183
- return !this.static && typeof this.action !== 'function';
184
- }
185
- isPinned() {
186
- if (this.pinned)
187
- return true;
188
- return (this.children || []).some((child) => child.isPinned());
189
- }
190
- };
191
- MenuItem = MenuItem_1 = __decorate([
192
- EntityClass({ typename: 'MenuItemVO' })
193
- ], MenuItem);
194
- export { MenuItem };
195
- export class MenuItems {
196
- /**
197
- * Compare, without checking the children
198
- *
199
- * @param mainItem
200
- * @param otherItem
201
- */
202
- static isSame(mainItem, otherItem) {
203
- return this.isSameIdOrPathAndParams(mainItem, otherItem) && mainItem.title === otherItem.title;
204
- }
205
- /**
206
- * Compare, without checking the children and the title
207
- *
208
- * @param mainItem
209
- * @param otherItem
210
- */
211
- static isSameIdOrPathAndParams(mainItem, otherItem) {
212
- return (isNotNil(mainItem?.id) && mainItem.id === otherItem?.id) || this.isSamePathAndParams(mainItem, otherItem);
213
- }
214
- /**
215
- * Compare, without checking the children
216
- *
217
- * @param mainItem
218
- * @param otherItem
219
- */
220
- static isSamePathAndParams(mainItem, otherItem) {
221
- return (mainItem &&
222
- mainItem.path === otherItem?.path &&
223
- mainItem.parentPath === otherItem.parentPath &&
224
- this.isSameParams(mainItem.pathParams, otherItem.pathParams));
225
- }
226
- /**
227
- * All key/value of the mainParams should exist (and be equals) in the other params
228
- *
229
- * @param mainParams
230
- * @param otherParams
231
- */
232
- static isSameParams(mainParams, otherParams) {
233
- const mainEntries = Object.entries(mainParams);
234
- const otherEntries = Object.entries(otherParams);
235
- // TODO: est-ce que un item ne pourrait pas avoir plus de params dans l'item existant ?
236
- return mainEntries.length === otherEntries.length && mainEntries.every(([key, value]) => value === otherParams[key]);
237
- }
238
- static isParent(child, parent) {
239
- return ((child.parentPath &&
240
- child.parentPath === parent?.path &&
241
- this.isSameParams(child.parentPathParams, parent['pathParams'] || parent['params'])) ||
242
- false);
243
- }
244
- static checkIfVisible(item, account, config, opts) {
245
- opts = opts || {};
246
- if (item.profile) {
247
- const hasProfile = AccountUtils.hasMinProfile(account, item.profile);
248
- if (!hasProfile) {
249
- if (opts.debug)
250
- console.debug(`${(opts && opts.logPrefix) || '[menu-service]'} Hide item '${item.title}': need the min profile '${item.profile}' to access path '${item.path}'`);
251
- return false;
252
- }
253
- }
254
- else if (item.exactProfile) {
255
- const hasExactProfile = AccountUtils.hasExactProfile(account, item.exactProfile);
256
- if (!hasExactProfile) {
257
- if (opts.debug)
258
- console.debug(`${(opts && opts.logPrefix) || '[menu-service]'} Hide item '${item.title}': need exact profile '${item.exactProfile}' to access path '${item.path}'`);
259
- return false;
260
- }
261
- }
262
- // If enable by config
263
- if (item.ifProperty) {
264
- //console.debug("[menu] Checking if property enable ? " + item.ifProperty, config && config.properties);
265
- const isEnableByConfig = item.ifProperty.startsWith('!')
266
- ? config?.properties?.[item.ifProperty.substring(1)] !== 'true'
267
- : config?.properties?.[item.ifProperty] === 'true';
268
- if (!isEnableByConfig) {
269
- if (opts.debug)
270
- console.debug("[menu-service] Config property '" + item.ifProperty + "' not 'true' for ", item.path);
271
- return false;
272
- }
273
- }
274
- return true;
275
- }
276
- static checkIfSubMenuVisible(item, currentPathParam) {
277
- if (!item.parentPath)
278
- return false; // Should have a parent
279
- if (item.static)
280
- return true; // Always keep static items
281
- if (item.isPinned())
282
- return true; // Always keep pinned items
283
- // Keep each menu items in the scope of the current url path
284
- if (currentPathParam?.path.startsWith(item.path))
285
- return true;
286
- // Keep if parent is an expanded item
287
- if (item.parent?.action === 'expand' && item.parent.expanded)
288
- return true;
289
- // Not visible
290
- return false;
291
- }
292
- static parsePathWithQuery(pathWithQuery) {
293
- const index = pathWithQuery.lastIndexOf('?');
294
- if (index < 0)
295
- return { path: pathWithQuery, params: {} };
296
- const path = pathWithQuery.substring(0, index);
297
- const queryString = pathWithQuery.substring(index);
298
- const params = Object.fromEntries(new URLSearchParams(queryString));
299
- return { path, params };
300
- }
301
- static getUrl(item) {
302
- return this.getUrlFromPathAndParams(item?.path, item?.pathParams);
303
- }
304
- static getUrlFromPathAndParams(path, params) {
305
- const queryString = Object.entries(params || {})
306
- .map(([key, value]) => `${key}=${value}`)
307
- .join('&');
308
- if (isNilOrBlank(queryString))
309
- return path || '';
310
- return `${path || ''}?${queryString}`;
311
- }
312
- static sortByParamOrIdComparator(paramName) {
313
- paramName = paramName || 'tab';
314
- return (n1, n2) => {
315
- const d1 = toInt(n1.pathParams?.[paramName], n1.id);
316
- const d2 = toInt(n2.pathParams?.[paramName], n2.id);
317
- return d1 === d2 ? 0 : d1 > d2 ? 1 : -1;
318
- };
319
- }
320
- static sortByTabOrId = this.sortByParamOrIdComparator('tab');
321
- }
322
- /**
323
- * Options to configure specific behavior on projects
324
- */
325
- export class MenuOptions {
326
- subMenu;
327
- }
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9tZW51L21lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25HLE9BQU8sRUFBRSxlQUFlLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUF5QixNQUFNLGdDQUFnQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQXVDbEUsV0FBVztBQUVKLElBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUyxTQUFRLE1BQWdCOztJQUM1QyxNQUFNLENBQUMsVUFBVSxDQUErRDtJQUVoRixrQkFBa0IsQ0FBZTtJQUNqQyx1QkFBdUIsQ0FBZTtJQUV0QyxNQUFNLENBQVc7SUFDakIsUUFBUSxDQUFTO0lBQ2pCLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBYSxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLENBQVU7SUFFaEIsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELGFBQWEsQ0FBVSxDQUFDLDJDQUEyQztJQUNuRSxTQUFTLENBQTZCO0lBRXRDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBa0IsU0FBUyxDQUFDLENBQUM7SUFDekQsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFtQixTQUFTLENBQUMsQ0FBQztJQUUvRCxPQUFPLENBQVU7SUFDakIsSUFBSSxDQUFVO0lBQ2QsVUFBVSxDQUE2QjtJQUN2QyxVQUFVLENBQVU7SUFDcEIsZ0JBQWdCLENBQTZCO0lBRTdDLGtCQUFrQjtJQUNsQixLQUFLLENB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IH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgQXBwQ29sb3JzLCBJY29uUmVmIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3R5cGVzJztcbmltcG9ydCB7IGlzTmlsT3JCbGFuaywgaXNOb3ROaWwsIGlzTm90TmlsT3JCbGFuaywgdG9Cb29sZWFuLCB0b0ludCB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVQYXRoUGFyYW0gfSBmcm9tICcuL21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBBY2NvdW50LCBBY2NvdW50VXRpbHMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7IEVudGl0eSwgRW50aXR5QXNPYmplY3RPcHRpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IElUcmVlSXRlbUVudGl0eSB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3RyZWUtaXRlbS1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5Q2xhc3MgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkuZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBQcmVkZWZpbmVkQ29sb3JzIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNZW51SXRlbSBleHRlbmRzIEljb25SZWYge1xuICBpZD86IG51bWJlcjtcbiAgcGFyZW50PzogSU1lbnVJdGVtO1xuICBjaGlsZHJlbj86IElNZW51SXRlbVtdO1xuXG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgcGF0aD86IHN0cmluZztcblxuICBiYWRnZT86IHN0cmluZyB8IG51bWJlcjtcbiAgYmFkZ2VDb2xvcj86IFByZWRlZmluZWRDb2xvcnM7XG4gIGJhZGdlJD86IE9ic2VydmFibGU8c3RyaW5nIHwgbnVtYmVyPjtcbiAgYmFkZ2VDb2xvciQ/OiBPYnNlcnZhYmxlPFByZWRlZmluZWRDb2xvcnM+O1xuXG4gIC8vIEluamVjdGlvbiBwb2ludFxuICBhZnRlcj86IHN0cmluZztcbiAgYmVmb3JlPzogc3RyaW5nO1xuICBzdGF0aWM/OiBib29sZWFuO1xuXG4gIGFjdGlvbj86IHN0cmluZyB8IGFueTtcbiAgcHJvZmlsZT86IFVzZXJQcm9maWxlTGFiZWw7XG4gIGV4YWN0UHJvZmlsZT86IFVzZXJQcm9maWxlTGFiZWw7XG4gIGNvbG9yPzogc3RyaW5nIHwgQXBwQ29sb3JzO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgLy8gQSBjb25maWcgcHJvcGVydHksIHRvIGVuYWJsZSB0aGUgbWVudSBpdGVtXG4gIGlmUHJvcGVydHk/OiBzdHJpbmc7XG4gIC8vIEEgY29uZmlnIHByb3BlcnR5LCB0byBvdmVycmlkZSB0aGUgdGl0bGVcbiAgdGl0bGVQcm9wZXJ0eT86IHN0cmluZztcbiAgdGl0bGVBcmdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcGF0aFBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHBhcmVudFBhdGg/OiBzdHJpbmc7XG4gIHBhcmVudFBhdGhQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwaW5uZWQ/OiBib29sZWFuO1xufVxuXG4vLyBAZHluYW1pY1xuQEVudGl0eUNsYXNzKHsgdHlwZW5hbWU6ICdNZW51SXRlbVZPJyB9KVxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtIGV4dGVuZHMgRW50aXR5PE1lbnVJdGVtPiBpbXBsZW1lbnRzIElNZW51SXRlbSwgSVRyZWVJdGVtRW50aXR5PE1lbnVJdGVtPiB7XG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiB7IHdpdGhDaGlsZHJlbj86IGJvb2xlYW4gfSkgPT4gTWVudUl0ZW07XG5cbiAgX2JhZGdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIF9iYWRnZUNvbG9yU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcGFyZW50OiBNZW51SXRlbTtcbiAgcGFyZW50SWQ6IG51bWJlcjtcbiAgJGNoaWxkcmVuID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPihbXSk7XG4gIHN0YXRpYzogYm9vbGVhbjtcblxuICAkdGl0bGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4odW5kZWZpbmVkKTtcbiAgdGl0bGVQcm9wZXJ0eT86IHN0cmluZzsgLy8gQSBjb25maWcgcHJvcGVydHksIHRvIG92ZXJyaWRlIHRoZSB0aXRsZVxuICB0aXRsZUFyZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICRiYWRnZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVtYmVyPih1bmRlZmluZWQpO1xuICAkYmFkZ2VDb2xvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UHJlZGVmaW5lZENvbG9ycz4odW5kZWZpbmVkKTtcblxuICB0b29sdGlwPzogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xuICBwYXRoUGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcGFyZW50UGF0aD86IHN0cmluZztcbiAgcGFyZW50UGF0aFBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLy8gSW5qZWN0aW9uIHBvaW50XG4gIGFmdGVyPzogc3RyaW5nO1xuICBiZWZvcmU/OiBzdHJpbmc7XG5cbiAgYWN0aW9uPzogc3RyaW5nIHwgYW55O1xuICBwcm9maWxlPzogVXNlclByb2ZpbGVMYWJlbDtcbiAgZXhhY3RQcm9maWxlPzogVXNlclByb2ZpbGVMYWJlbDtcbiAgY29sb3I/OiBzdHJpbmcgfCBBcHBDb2xvcnM7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICAvLyBBIGNvbmZpZyBwcm9wZXJ0eSwgdG8gZW5hYmxlIHRoZSBtZW51IGl0ZW1cbiAgaWZQcm9wZXJ0eT86IHN0cmluZztcbiAgcGlubmVkPzogYm9vbGVhbjtcblxuICAvLyBJY29uXG4gIGljb24/OiBzdHJpbmc7XG4gIG1hdEljb24/OiBzdHJpbmc7XG4gIG1hdFN2Z0ljb24/OiBzdHJpbmc7XG5cbiAgZnJvbU9iamVjdChzb3VyY2U6IGFueSwgb3B0cz86IHsgd2l0aENoaWxkcmVuPzogYm9vbGVhbiB9KSB7XG4gICAgdGhpcy5pZCA9IHNvdXJjZS5pZDtcblxuICAgIGNvbnNvbGUubG9nKCdzb3VyY2UnLCBzb3VyY2UpO1xuICAgIHRoaXMudGl0bGUgPSBzb3VyY2UudGl0bGU7XG4gICAgdGhpcy50aXRsZVByb3BlcnR5ID0gc291cmNlLnRpdGxlUHJvcGVydHk7XG4gICAgdGhpcy50aXRsZUFyZ3MgPSBzb3VyY2UudGl0bGVBcmdzO1xuXG4gICAgaWYgKHNvdXJjZS5iYWRnZSQpIHtcbiAgICAgIHRoaXMuYmFkZ2UkID0gc291cmNlLmJhZGdlJDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iYWRnZSA9IHNvdXJjZS5iYWRnZTtcbiAgICB9XG4gICAgaWYgKHNvdXJjZS5iYWRnZUNvbG9yJCkge1xuICAgICAgdGhpcy5iYWRnZUNvbG9yJCA9IHNvdXJjZS5iYWRnZUNvbG9yJDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5iYWRnZUNvbG9yID0gc291cmNlLmJhZGdlQ29sb3I7XG4gICAgfVxuXG4gICAgLy8gQ2xlYW4gcGF0aFxuICAgIGlmIChzb3VyY2UucGF0aCkge1xuICAgICAgY29uc3QgeyBwYXRoLCBwYXJhbXMgfSA9IE1lbnVJdGVtcy5wYXJzZVBhdGhXaXRoUXVlcnkoc291cmNlLnBhdGgpO1xuICAgICAgdGhpcy5wYXRoID0gcGF0aDtcbiAgICAgIHRoaXMucGF0aFBhcmFtcyA9IHsgLi4uc291cmNlLnBhdGhQYXJhbXMsIC4uLnBhcmFtcyB9O1xuICAgIH1cbiAgICAvLyBDbGVhbiBwYXJlbnQgcGF0aFxuICAgIGlmIChzb3VyY2UucGFyZW50UGF0aCkge1xuICAgICAgY29uc3QgeyBwYXRoLCBwYXJhbXMgfSA9IE1lbnVJdGVtcy5wYXJzZVBhdGhXaXRoUXVlcnkoc291cmNlLnBhcmVudFBhdGgpO1xuICAgICAgdGhpcy5wYXJlbnRQYXRoID0gcGF0aDtcbiAgICAgIHRoaXMucGFyZW50UGF0aFBhcmFtcyA9IHsgLi4uc291cmNlLnBhcmVudFBhdGhQYXJhbXMsIC4uLnBhcmFtcyB9O1xuICAgIH1cblxuICAgIHRoaXMuYWZ0ZXIgPSBzb3VyY2UuYWZ0ZXI7XG4gICAgdGhpcy5iZWZvcmUgPSBzb3VyY2UuYmVmb3JlO1xuXG4gICAgdGhpcy5hY3Rpb24gPSBzb3VyY2UuYWN0aW9uO1xuICAgIHRoaXMucHJvZmlsZSA9IHNvdXJjZS5wcm9maWxlO1xuICAgIHRoaXMuZXhhY3RQcm9maWxlID0gc291cmNlLmV4YWN0UHJvZmlsZTtcbiAgICB0aGlzLmNvbG9yID0gc291cmNlLmNvbG9yO1xuICAgIHRoaXMuY3NzQ2xhc3MgPSBzb3VyY2UuY3NzQ2xhc3M7XG4gICAgdGhpcy5pZlByb3BlcnR5ID0gc291cmNlLmlmUHJvcGVydHk7XG4gICAgdGhpcy5waW5uZWQgPSB0b0Jvb2xlYW4oc291cmNlLnBpbm5lZCwgZmFsc2UpO1xuICAgIHRoaXMuc3RhdGljID0gaXNOb3ROaWwoc291cmNlLnN0YXRpYykgPyBzb3VyY2Uuc3RhdGljIDogdW5kZWZpbmVkOyAvLyBJZiB1bmRlZmluZWQsIHdpbGwgYmUgc2V0IGJ5IHNlcnZpY2VcblxuICAgIC8vIEljb25cbiAgICB0aGlzLmljb24gPSBzb3VyY2UuaWNvbjtcbiAgICB0aGlzLm1hdEljb24gPSBzb3VyY2UubWF0SWNvbjtcbiAgICB0aGlzLm1hdFN2Z0ljb24gPSBzb3VyY2UubWF0U3ZnSWNvbjtcblxuICAgIGlmICghb3B0cyB8fCBvcHRzLndpdGhDaGlsZHJlbiA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuY2hpbGRyZW4gPSAoc291cmNlLmNoaWxkcmVuIHx8IFtdKS5tYXAoKGpzb246IGFueSkgPT4gTWVudUl0ZW0uZnJvbU9iamVjdChqc29uLCBvcHRzKSkgfHwgW107XG4gICAgfVxuICB9XG5cbiAgYXNPYmplY3Qob3B0cz86IHsgd2l0aENoaWxkcmVuPzogYm9vbGVhbiB9ICYgRW50aXR5QXNPYmplY3RPcHRpb25zKTogYW55IHtcbiAgICBjb25zdCB0YXJnZXQ6IGFueSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMpO1xuICAgIHRhcmdldC50aXRsZSA9IHRoaXMudGl0bGU7XG5cbiAgICBpZiAob3B0cz8ua2VlcExvY2FsSWQgPT09IGZhbHNlKSB7XG4gICAgICBkZWxldGUgdGFyZ2V0LmlkO1xuICAgIH1cblxuICAgIGlmIChvcHRzPy53aXRoQ2hpbGRyZW4gIT09IGZhbHNlKSB7XG4gICAgICB0YXJnZXQuY2hpbGRyZW4gPSAodGhpcy5jaGlsZHJlbiB8fCBbXSkubWFwKChjKSA9PiBjLmFzT2JqZWN0KG9wdHMpKTtcbiAgICB9XG5cbiAgICBkZWxldGUgdGFyZ2V0LiRjaGlsZHJlbjtcbiAgICBkZWxldGUgdGFyZ2V0LiR0aXRsZTtcbiAgICBkZWxldGUgdGFyZ2V0LiRiYWRnZTtcbiAgICBkZWxldGUgdGFyZ2V0LiRiYWRnZUNvbG9yO1xuICAgIGRlbGV0ZSB0YXJnZXQucGFyZW50O1xuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIC8vIGFkZENoaWxkKGNoaWxkOiBNZW51SXRlbSkge1xuICAvLyAgIHRoaXMuJGNoaWxkcmVuLm5leHQodGhpcy4kY2hpbGRyZW4udmFsdWUpXG4gIC8vIH1cblxuICBnZXQgY2hpbGRyZW4oKTogTWVudUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuJGNoaWxkcmVuLnZhbHVlO1xuICB9XG4gIHNldCBjaGlsZHJlbih2YWx1ZTogTWVudUl0ZW1bXSkge1xuICAgIHRoaXMuJGNoaWxkcmVuLm5leHQodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuJHRpdGxlLnZhbHVlO1xuICB9XG4gIHNldCB0aXRsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucGlubmVkKSB7XG4gICAgICAvLyBJZiBsb2FkaW5nLCBrZWVwIGV4aXN0aW5nIHRpdGxlIGlmIHBpbm5lZCAoYXZvaWQgdG8gc2hvdyBza2VsZXRvbilcbiAgICAgIGlmIChpc05vdE5pbE9yQmxhbmsodmFsdWUpKSB0aGlzLiR0aXRsZS5uZXh0KHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGlzTm90TmlsKHZhbHVlKSkge1xuICAgICAgdGhpcy4kdGl0bGUubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGJhZGdlKCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuJGJhZGdlLnZhbHVlO1xuICB9XG4gIHNldCBiYWRnZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuJGJhZGdlLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4kYmFkZ2UubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGJhZGdlJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLiRiYWRnZS5hc09ic2VydmFibGUoKTtcbiAgfVxuICBzZXQgYmFkZ2UkKHZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudW1iZXI+KSB7XG4gICAgdGhpcy5fYmFkZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fYmFkZ2VTdWJzY3JpcHRpb24gPSB2YWx1ZSQ/LnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuYmFkZ2UgPSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuICBnZXQgYmFkZ2VDb2xvcigpOiBQcmVkZWZpbmVkQ29sb3JzIHtcbiAgICByZXR1cm4gdGhpcy4kYmFkZ2VDb2xvci52YWx1ZTtcbiAgfVxuICBzZXQgYmFkZ2VDb2xvcih2YWx1ZTogUHJlZGVmaW5lZENvbG9ycykge1xuICAgIGlmICh0aGlzLiRiYWRnZUNvbG9yLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy4kYmFkZ2VDb2xvci5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGJhZGdlQ29sb3IkKCk6IE9ic2VydmFibGU8UHJlZGVmaW5lZENvbG9ycz4ge1xuICAgIHJldHVybiB0aGlzLiRiYWRnZUNvbG9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHNldCBiYWRnZUNvbG9yJCh2YWx1ZSQ6IE9ic2VydmFibGU8UHJlZGVmaW5lZENvbG9ycz4pIHtcbiAgICB0aGlzLl9iYWRnZUNvbG9yU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2JhZGdlQ29sb3JTdWJzY3JpcHRpb24gPSB2YWx1ZSQ/LnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuYmFkZ2VDb2xvciA9IHZhbHVlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGRldGFjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5wYXJlbnRQYXRoIHx8ICF0aGlzLnBhcmVudDtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRpYyB8fCAhdGhpcy5kZXRhY2hlZDtcbiAgfVxuXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb24gIT09ICdleHBhbmQnIHx8IHRoaXMubWF0SWNvbiA9PT0gJ2V4cGFuZF9sZXNzJztcbiAgfVxuXG4gIGdldCBhbmNlc3RvcigpOiBNZW51SXRlbSB7XG4gICAgaWYgKCF0aGlzLnBhcmVudCkgcmV0dXJuIG51bGw7IC8vIHJvb3QgPSBub3QgYW5jZXN0b3JcbiAgICBpZiAoIXRoaXMucGFyZW50LnBhcmVudCkgcmV0dXJuIHRoaXM7IC8vIGZpcnN0IHN1YiBtZW51ID0gYW5jZXN0b3JcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQ/LmFuY2VzdG9yOyAvLyBsb29wXG4gIH1cblxuICBnZXQgZGl2aWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYWN0aW9uICYmICF0aGlzLnBhdGg7XG4gIH1cblxuICBnZXQgcGlubmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnN0YXRpYyAmJiB0eXBlb2YgdGhpcy5hY3Rpb24gIT09ICdmdW5jdGlvbic7XG4gIH1cblxuICBpc1Bpbm5lZCgpIHtcbiAgICBpZiAodGhpcy5waW5uZWQpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiAodGhpcy5jaGlsZHJlbiB8fCBbXSkuc29tZSgoY2hpbGQpID0+IGNoaWxkLmlzUGlubmVkKCkpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNZW51SXRlbXMge1xuICAvKipcbiAgICogQ29tcGFyZSwgd2l0aG91dCBjaGVja2luZyB0aGUgY2hpbGRyZW5cbiAgICpcbiAgICogQHBhcmFtIG1haW5JdGVtXG4gICAqIEBwYXJhbSBvdGhlckl0ZW1cbiAgICovXG4gIHN0YXRpYyBpc1NhbWUobWFpbkl0ZW06IElNZW51SXRlbSwgb3RoZXJJdGVtOiBJTWVudUl0ZW0pIHtcbiAgICByZXR1cm4gdGhpcy5pc1NhbWVJZE9yUGF0aEFuZFBhcmFtcyhtYWluSXRlbSwgb3RoZXJJdGVtKSAmJiBtYWluSXRlbS50aXRsZSA9PT0gb3RoZXJJdGVtLnRpdGxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUsIHdpdGhvdXQgY2hlY2tpbmcgdGhlIGNoaWxkcmVuIGFuZCB0aGUgdGl0bGVcbiAgICpcbiAgICogQHBhcmFtIG1haW5JdGVtXG4gICAqIEBwYXJhbSBvdGhlckl0ZW1cbiAgICovXG4gIHN0YXRpYyBpc1NhbWVJZE9yUGF0aEFuZFBhcmFtcyhtYWluSXRlbTogSU1lbnVJdGVtLCBvdGhlckl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiAoaXNOb3ROaWwobWFpbkl0ZW0/LmlkKSAmJiBtYWluSXRlbS5pZCA9PT0gb3RoZXJJdGVtPy5pZCkgfHwgdGhpcy5pc1NhbWVQYXRoQW5kUGFyYW1zKG1haW5JdGVtLCBvdGhlckl0ZW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUsIHdpdGhvdXQgY2hlY2tpbmcgdGhlIGNoaWxkcmVuXG4gICAqXG4gICAqIEBwYXJhbSBtYWluSXRlbVxuICAgKiBAcGFyYW0gb3RoZXJJdGVtXG4gICAqL1xuICBzdGF0aWMgaXNTYW1lUGF0aEFuZFBhcmFtcyhtYWluSXRlbTogSU1lbnVJdGVtLCBvdGhlckl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiAoXG4gICAgICBtYWluSXRlbSAmJlxuICAgICAgbWFpbkl0ZW0ucGF0aCA9PT0gb3RoZXJJdGVtPy5wYXRoICYmXG4gICAgICBtYWluSXRlbS5wYXJlbnRQYXRoID09PSBvdGhlckl0ZW0ucGFyZW50UGF0aCAmJlxuICAgICAgdGhpcy5pc1NhbWVQYXJhbXMobWFpbkl0ZW0ucGF0aFBhcmFtcywgb3RoZXJJdGVtLnBhdGhQYXJhbXMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGwga2V5L3ZhbHVlIG9mIHRoZSBtYWluUGFyYW1zIHNob3VsZCBleGlzdCAoYW5kIGJlIGVxdWFscykgaW4gdGhlIG90aGVyIHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gbWFpblBhcmFtc1xuICAgKiBAcGFyYW0gb3RoZXJQYXJhbXNcbiAgICovXG4gIHN0YXRpYyBpc1NhbWVQYXJhbXMobWFpblBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgb3RoZXJQYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBtYWluRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKG1haW5QYXJhbXMpO1xuICAgIGNvbnN0IG90aGVyRW50cmllcyA9IE9iamVjdC5lbnRyaWVzKG90aGVyUGFyYW1zKTtcbiAgICAvLyBUT0RPOiBlc3QtY2UgcXVlIHVuIGl0ZW0gbmUgcG91cnJhaXQgcGFzIGF2b2lyIHBsdXMgZGUgcGFyYW1zIGRhbnMgbCdpdGVtIGV4aXN0YW50ID9cbiAgICByZXR1cm4gbWFpbkVudHJpZXMubGVuZ3RoID09PSBvdGhlckVudHJpZXMubGVuZ3RoICYmIG1haW5FbnRyaWVzLmV2ZXJ5KChba2V5LCB2YWx1ZV0pID0+IHZhbHVlID09PSBvdGhlclBhcmFtc1trZXldKTtcbiAgfVxuXG4gIHN0YXRpYyBpc1BhcmVudChjaGlsZDogSU1lbnVJdGVtLCBwYXJlbnQ6IElNZW51SXRlbSB8IE1lbnVQYXRoUGFyYW0pIHtcbiAgICByZXR1cm4gKFxuICAgICAgKGNoaWxkLnBhcmVudFBhdGggJiZcbiAgICAgICAgY2hpbGQucGFyZW50UGF0aCA9PT0gcGFyZW50Py5wYXRoICYmXG4gICAgICAgIHRoaXMuaXNTYW1lUGFyYW1zKGNoaWxkLnBhcmVudFBhdGhQYXJhbXMsIHBhcmVudFsncGF0aFBhcmFtcyddIHx8IHBhcmVudFsncGFyYW1zJ10pKSB8fFxuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGNoZWNrSWZWaXNpYmxlKFxuICAgIGl0ZW06IElNZW51SXRlbSxcbiAgICBhY2NvdW50OiBBY2NvdW50LFxuICAgIGNvbmZpZzogQ29uZmlndXJhdGlvbixcbiAgICBvcHRzPzoge1xuICAgICAgaXNMb2dpbj86IGJvb2xlYW47XG4gICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgICBsb2dQcmVmaXg/OiBzdHJpbmc7XG4gICAgfVxuICApOiBib29sZWFuIHtcbiAgICBvcHRzID0gb3B0cyB8fCB7fTtcbiAgICBpZiAoaXRlbS5wcm9maWxlKSB7XG4gICAgICBjb25zdCBoYXNQcm9maWxlID0gQWNjb3VudFV0aWxzLmhhc01pblByb2ZpbGUoYWNjb3VudCwgaXRlbS5wcm9maWxlKTtcbiAgICAgIGlmICghaGFzUHJvZmlsZSkge1xuICAgICAgICBpZiAob3B0cy5kZWJ1ZylcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgICAgICAgYCR7KG9wdHMgJiYgb3B0cy5sb2dQcmVmaXgpIHx8ICdbbWVudS1zZXJ2aWNlXSd9IEhpZGUgaXRlbSAnJHtpdGVtLnRpdGxlfSc6IG5lZWQgdGhlIG1pbiBwcm9maWxlICcke2l0ZW0ucHJvZmlsZX0nIHRvIGFjY2VzcyBwYXRoICcke2l0ZW0ucGF0aH0nYFxuICAgICAgICAgICk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGl0ZW0uZXhhY3RQcm9maWxlKSB7XG4gICAgICBjb25zdCBoYXNFeGFjdFByb2ZpbGUgPSBBY2NvdW50VXRpbHMuaGFzRXhhY3RQcm9maWxlKGFjY291bnQsIGl0ZW0uZXhhY3RQcm9maWxlKTtcbiAgICAgIGlmICghaGFzRXhhY3RQcm9maWxlKSB7XG4gICAgICAgIGlmIChvcHRzLmRlYnVnKVxuICAgICAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgICAgICBgJHsob3B0cyAmJiBvcHRzLmxvZ1ByZWZpeCkgfHwgJ1ttZW51LXNlcnZpY2VdJ30gSGlkZSBpdGVtICcke2l0ZW0udGl0bGV9JzogbmVlZCBleGFjdCBwcm9maWxlICcke2l0ZW0uZXhhY3RQcm9maWxlfScgdG8gYWNjZXNzIHBhdGggJyR7aXRlbS5wYXRofSdgXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIGVuYWJsZSBieSBjb25maWdcbiAgICBpZiAoaXRlbS5pZlByb3BlcnR5KSB7XG4gICAgICAvL2NvbnNvbGUuZGVidWcoXCJbbWVudV0gQ2hlY2tpbmcgaWYgcHJvcGVydHkgZW5hYmxlID8gXCIgKyBpdGVtLmlmUHJvcGVydHksIGNvbmZpZyAmJiBjb25maWcucHJvcGVydGllcyk7XG4gICAgICBjb25zdCBpc0VuYWJsZUJ5Q29uZmlnID0gaXRlbS5pZlByb3BlcnR5LnN0YXJ0c1dpdGgoJyEnKVxuICAgICAgICA/IGNvbmZpZz8ucHJvcGVydGllcz8uW2l0ZW0uaWZQcm9wZXJ0eS5zdWJzdHJpbmcoMSldICE9PSAndHJ1ZSdcbiAgICAgICAgOiBjb25maWc/LnByb3BlcnRpZXM/LltpdGVtLmlmUHJvcGVydHldID09PSAndHJ1ZSc7XG4gICAgICBpZiAoIWlzRW5hYmxlQnlDb25maWcpIHtcbiAgICAgICAgaWYgKG9wdHMuZGVidWcpIGNvbnNvbGUuZGVidWcoXCJbbWVudS1zZXJ2aWNlXSBDb25maWcgcHJvcGVydHkgJ1wiICsgaXRlbS5pZlByb3BlcnR5ICsgXCInIG5vdCAndHJ1ZScgZm9yIFwiLCBpdGVtLnBhdGgpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBzdGF0aWMgY2hlY2tJZlN1Yk1lbnVWaXNpYmxlKGl0ZW06IE1lbnVJdGVtLCBjdXJyZW50UGF0aFBhcmFtOiBNZW51UGF0aFBhcmFtKSB7XG4gICAgaWYgKCFpdGVtLnBhcmVudFBhdGgpIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkIGhhdmUgYSBwYXJlbnRcblxuICAgIGlmIChpdGVtLnN0YXRpYykgcmV0dXJuIHRydWU7IC8vIEFsd2F5cyBrZWVwIHN0YXRpYyBpdGVtc1xuXG4gICAgaWYgKGl0ZW0uaXNQaW5uZWQoKSkgcmV0dXJuIHRydWU7IC8vIEFsd2F5cyBrZWVwIHBpbm5lZCBpdGVtc1xuXG4gICAgLy8gS2VlcCBlYWNoIG1lbnUgaXRlbXMgaW4gdGhlIHNjb3BlIG9mIHRoZSBjdXJyZW50IHVybCBwYXRoXG4gICAgaWYgKGN1cnJlbnRQYXRoUGFyYW0/LnBhdGguc3RhcnRzV2l0aChpdGVtLnBhdGgpKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIEtlZXAgaWYgcGFyZW50IGlzIGFuIGV4cGFuZGVkIGl0ZW1cbiAgICBpZiAoaXRlbS5wYXJlbnQ/LmFjdGlvbiA9PT0gJ2V4cGFuZCcgJiYgaXRlbS5wYXJlbnQuZXhwYW5kZWQpIHJldHVybiB0cnVlO1xuXG4gICAgLy8gTm90IHZpc2libGVcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgcGFyc2VQYXRoV2l0aFF1ZXJ5KHBhdGhXaXRoUXVlcnk6IHN0cmluZyk6IE1lbnVQYXRoUGFyYW0ge1xuICAgIGNvbnN0IGluZGV4ID0gcGF0aFdpdGhRdWVyeS5sYXN0SW5kZXhPZignPycpO1xuICAgIGlmIChpbmRleCA8IDApIHJldHVybiB7IHBhdGg6IHBhdGhXaXRoUXVlcnksIHBhcmFtczoge30gfTtcbiAgICBjb25zdCBwYXRoID0gcGF0aFdpdGhRdWVyeS5zdWJzdHJpbmcoMCwgaW5kZXgpO1xuICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcGF0aFdpdGhRdWVyeS5zdWJzdHJpbmcoaW5kZXgpO1xuICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHF1ZXJ5U3RyaW5nKSk7XG4gICAgcmV0dXJuIHsgcGF0aCwgcGFyYW1zIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0VXJsKGl0ZW06IElNZW51SXRlbSkge1xuICAgIHJldHVybiB0aGlzLmdldFVybEZyb21QYXRoQW5kUGFyYW1zKGl0ZW0/LnBhdGgsIGl0ZW0/LnBhdGhQYXJhbXMpO1xuICB9XG5cbiAgc3RhdGljIGdldFVybEZyb21QYXRoQW5kUGFyYW1zKHBhdGg6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBPYmplY3QuZW50cmllcyhwYXJhbXMgfHwge30pXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxuICAgICAgLmpvaW4oJyYnKTtcbiAgICBpZiAoaXNOaWxPckJsYW5rKHF1ZXJ5U3RyaW5nKSkgcmV0dXJuIHBhdGggfHwgJyc7XG4gICAgcmV0dXJuIGAke3BhdGggfHwgJyd9PyR7cXVlcnlTdHJpbmd9YDtcbiAgfVxuXG4gIHN0YXRpYyBzb3J0QnlQYXJhbU9ySWRDb21wYXJhdG9yKHBhcmFtTmFtZT86IHN0cmluZyk6IChuMTogSU1lbnVJdGVtLCBuMjogSU1lbnVJdGVtKSA9PiBudW1iZXIge1xuICAgIHBhcmFtTmFtZSA9IHBhcmFtTmFtZSB8fCAndGFiJztcbiAgICByZXR1cm4gKG4xOiBJTWVudUl0ZW0sIG4yOiBJTWVudUl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGQxID0gdG9JbnQobjEucGF0aFBhcmFtcz8uW3BhcmFtTmFtZV0sIG4xLmlkKTtcbiAgICAgIGNvbnN0IGQyID0gdG9JbnQobjIucGF0aFBhcmFtcz8uW3BhcmFtTmFtZV0sIG4yLmlkKTtcbiAgICAgIHJldHVybiBkMSA9PT0gZDIgPyAwIDogZDEgPiBkMiA/IDEgOiAtMTtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIHNvcnRCeVRhYk9ySWQgPSB0aGlzLnNvcnRCeVBhcmFtT3JJZENvbXBhcmF0b3IoJ3RhYicpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gY29uZmlndXJlIHNwZWNpZmljIGJlaGF2aW9yIG9uIHByb2plY3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBNZW51T3B0aW9ucyB7XG4gIHN1Yk1lbnU/OiB7XG4gICAgZW5hYmxlPzogYm9vbGVhbjtcbiAgICBzaG93UGluQnV0dG9uPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlSWNvbj86IGJvb2xlYW47XG4gICAgc2F2ZVBpbm5lZD86IGJvb2xlYW47XG4gIH07XG59XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { SharedModule } from '../../shared/shared.module';
3
- import { MenuComponent } from './menu.component';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { RouterModule } from '@angular/router';
6
- import { SubMenuTabDirective } from './sub-menu-tab.directive';
7
- import { RxStateModule } from '../../shared/rx-state/rx-state.module';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@ngx-translate/core";
10
- export class AppMenuModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, declarations: [
13
- // Components
14
- MenuComponent,
15
- // Directive
16
- SubMenuTabDirective], imports: [SharedModule, RouterModule, RxStateModule, i1.TranslateModule], exports: [
17
- // Modules
18
- TranslateModule,
19
- // Components
20
- MenuComponent,
21
- // Directive
22
- SubMenuTabDirective] });
23
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, imports: [SharedModule, RouterModule, RxStateModule, TranslateModule.forChild(),
24
- // Modules
25
- TranslateModule] });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppMenuModule, decorators: [{
28
- type: NgModule,
29
- args: [{
30
- imports: [SharedModule, RouterModule, RxStateModule, TranslateModule.forChild()],
31
- declarations: [
32
- // Components
33
- MenuComponent,
34
- // Directive
35
- SubMenuTabDirective,
36
- ],
37
- exports: [
38
- // Modules
39
- TranslateModule,
40
- // Components
41
- MenuComponent,
42
- // Directive
43
- SubMenuTabDirective,
44
- ],
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvbWVudS9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQW9CdEUsTUFBTSxPQUFPLGFBQWE7d0dBQWIsYUFBYTt5R0FBYixhQUFhO1lBZHRCLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLG1CQUFtQixhQU5YLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYTtZQVNqRCxVQUFVO1lBQ1YsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsWUFBWTtZQUNaLG1CQUFtQjt5R0FHVixhQUFhLFlBakJkLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFTN0UsVUFBVTtZQUNWLGVBQWU7OzRGQU9OLGFBQWE7a0JBbEJ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFFaEYsWUFBWSxFQUFFO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1Yk1lbnVUYWJEaXJlY3RpdmUgfSBmcm9tICcuL3N1Yi1tZW51LXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUnhTdGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9yeC1zdGF0ZS9yeC1zdGF0ZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFJ4U3RhdGVNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXSxcblxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAvLyBDb21wb25lbnRzXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICAvLyBEaXJlY3RpdmVcbiAgICBTdWJNZW51VGFiRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLy8gTW9kdWxlc1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAvLyBDb21wb25lbnRzXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICAvLyBEaXJlY3RpdmVcbiAgICBTdWJNZW51VGFiRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBNZW51TW9kdWxlIHt9XG4iXX0=