@sumaris-net/ngx-components 18.23.62 → 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 (799) hide show
  1. package/README.md +2 -0
  2. package/doc/build.md +3 -5
  3. package/fesm2022/sumaris-net.ngx-components.mjs +2383 -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/en-US.json +4 -1
  8. package/src/assets/i18n/en.json +4 -1
  9. package/src/assets/i18n/fr.json +10 -6
  10. package/src/assets/manifest.json +1 -1
  11. package/src/theme/_icons.scss +8 -12
  12. package/src/theme/_ionic.globals.scss +8 -1
  13. package/src/theme/_material.globals.scss +4 -1
  14. package/src/theme/_material.scss +16 -13
  15. package/src/theme/_mixins.scss +7 -1
  16. package/src/theme/_ngx-components.forms.scss +87 -84
  17. package/src/theme/_ngx-components.globals.scss +2 -0
  18. package/src/theme/_ngx-components.scss +19 -4
  19. package/src/theme/_ngx-components.table.scss +31 -26
  20. package/src/theme/_ngx-components.tabs.scss +16 -14
  21. package/src/theme/_responsive.scss +2 -0
  22. package/src/theme/_roboto.scss +3 -0
  23. package/src/theme/_theme.scss +11 -14
  24. package/src/theme/_theme.variables.scss +6 -1
  25. package/src/theme/ionic/ionic.functions.color.scss +13 -5
  26. package/src/theme/ionic/ionic.globals.scss +4 -4
  27. package/src/theme/ionic/ionic.theme.default.scss +2 -0
  28. package/types/sumaris-net.ngx-components.d.ts +14132 -0
  29. package/esm2022/public_api.mjs +0 -403
  30. package/esm2022/src/app/admin/admin-routing.module.mjs +0 -34
  31. package/esm2022/src/app/admin/admin.module.mjs +0 -32
  32. package/esm2022/src/app/admin/users/person.filter.mjs +0 -157
  33. package/esm2022/src/app/admin/users/person.service.mjs +0 -226
  34. package/esm2022/src/app/admin/users/person.validator.mjs +0 -78
  35. package/esm2022/src/app/admin/users/users-select.modal.mjs +0 -167
  36. package/esm2022/src/app/admin/users/users.mjs +0 -502
  37. package/esm2022/src/app/admin/users/users.module.mjs +0 -59
  38. package/esm2022/src/app/admin/users/users.utils.mjs +0 -29
  39. package/esm2022/src/app/core/about/about.modal.mjs +0 -119
  40. package/esm2022/src/app/core/about/about.module.mjs +0 -22
  41. package/esm2022/src/app/core/account/account.module.mjs +0 -75
  42. package/esm2022/src/app/core/account/account.page.mjs +0 -426
  43. package/esm2022/src/app/core/account/new-token.form.mjs +0 -109
  44. package/esm2022/src/app/core/account/new-token.modal.mjs +0 -66
  45. package/esm2022/src/app/core/account/password/change-password.form.mjs +0 -63
  46. package/esm2022/src/app/core/account/password/change-password.module.mjs +0 -22
  47. package/esm2022/src/app/core/account/password/change-password.page.mjs +0 -150
  48. package/esm2022/src/app/core/account/token.table.mjs +0 -160
  49. package/esm2022/src/app/core/auth/auth.form.mjs +0 -159
  50. package/esm2022/src/app/core/auth/auth.modal.mjs +0 -76
  51. package/esm2022/src/app/core/auth/auth.module.mjs +0 -56
  52. package/esm2022/src/app/core/auth/reset-password.modal.mjs +0 -89
  53. package/esm2022/src/app/core/core.module.mjs +0 -157
  54. package/esm2022/src/app/core/core.testing.module.mjs +0 -128
  55. package/esm2022/src/app/core/form/array/form-array.mjs +0 -328
  56. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +0 -23
  57. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +0 -97
  58. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -111
  59. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +0 -31
  60. package/esm2022/src/app/core/form/entity/editor.class.mjs +0 -268
  61. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -420
  62. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +0 -748
  63. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  64. package/esm2022/src/app/core/form/entity/entity.module.mjs +0 -33
  65. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +0 -190
  66. package/esm2022/src/app/core/form/form-container.class.mjs +0 -347
  67. package/esm2022/src/app/core/form/form.class.mjs +0 -342
  68. package/esm2022/src/app/core/form/form.module.mjs +0 -77
  69. package/esm2022/src/app/core/form/form.utils.mjs +0 -238
  70. package/esm2022/src/app/core/form/list/list.form.mjs +0 -243
  71. package/esm2022/src/app/core/form/list/list.module.mjs +0 -31
  72. package/esm2022/src/app/core/form/properties/properties-file.service.mjs +0 -133
  73. package/esm2022/src/app/core/form/properties/properties.form.mjs +0 -397
  74. package/esm2022/src/app/core/form/properties/properties.module.mjs +0 -85
  75. package/esm2022/src/app/core/form/properties/properties.table.mjs +0 -267
  76. package/esm2022/src/app/core/form/properties/properties.utils.mjs +0 -304
  77. package/esm2022/src/app/core/form/properties/property.validator.mjs +0 -70
  78. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +0 -103
  79. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +0 -23
  80. package/esm2022/src/app/core/form/text/testing/text-form.testing.mjs +0 -42
  81. package/esm2022/src/app/core/form/text/testing/text-form.testing.module.mjs +0 -25
  82. package/esm2022/src/app/core/form/text/text-form.component.mjs +0 -205
  83. package/esm2022/src/app/core/form/text/text-form.module.mjs +0 -31
  84. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -73
  85. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +0 -22
  86. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +0 -164
  87. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +0 -32
  88. package/esm2022/src/app/core/form/username/username.form.mjs +0 -55
  89. package/esm2022/src/app/core/form/username/username.module.mjs +0 -20
  90. package/esm2022/src/app/core/graphql/graphql.module.mjs +0 -14
  91. package/esm2022/src/app/core/graphql/graphql.service.mjs +0 -781
  92. package/esm2022/src/app/core/graphql/graphql.utils.mjs +0 -119
  93. package/esm2022/src/app/core/home/home.mjs +0 -472
  94. package/esm2022/src/app/core/home/home.module.mjs +0 -54
  95. package/esm2022/src/app/core/icon/icon.component.mjs +0 -40
  96. package/esm2022/src/app/core/icon/icon.module.mjs +0 -20
  97. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +0 -394
  98. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +0 -31
  99. package/esm2022/src/app/core/menu/menu.component.mjs +0 -273
  100. package/esm2022/src/app/core/menu/menu.model.mjs +0 -327
  101. package/esm2022/src/app/core/menu/menu.module.mjs +0 -47
  102. package/esm2022/src/app/core/menu/menu.service.mjs +0 -666
  103. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +0 -113
  104. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +0 -51
  105. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +0 -165
  106. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +0 -60
  107. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +0 -28
  108. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +0 -31
  109. package/esm2022/src/app/core/peer/select-peer.modal.mjs +0 -350
  110. package/esm2022/src/app/core/peer/select-peer.module.mjs +0 -36
  111. package/esm2022/src/app/core/register/register-confirm.page.mjs +0 -90
  112. package/esm2022/src/app/core/register/register.form.mjs +0 -197
  113. package/esm2022/src/app/core/register/register.modal.mjs +0 -55
  114. package/esm2022/src/app/core/register/register.module.mjs +0 -23
  115. package/esm2022/src/app/core/services/account.service.mjs +0 -1403
  116. package/esm2022/src/app/core/services/auth-guard.service.mjs +0 -74
  117. package/esm2022/src/app/core/services/base-entity-service.class.mjs +0 -499
  118. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +0 -224
  119. package/esm2022/src/app/core/services/base58.mjs +0 -83
  120. package/esm2022/src/app/core/services/config/core.config.mjs +0 -293
  121. package/esm2022/src/app/core/services/config.service.mjs +0 -384
  122. package/esm2022/src/app/core/services/crypto.service.mjs +0 -107
  123. package/esm2022/src/app/core/services/errors.mjs +0 -54
  124. package/esm2022/src/app/core/services/local-settings.service.mjs +0 -540
  125. package/esm2022/src/app/core/services/model/account.model.mjs +0 -192
  126. package/esm2022/src/app/core/services/model/config.model.mjs +0 -111
  127. package/esm2022/src/app/core/services/model/department.model.mjs +0 -35
  128. package/esm2022/src/app/core/services/model/entity.decorators.mjs +0 -97
  129. package/esm2022/src/app/core/services/model/entity.model.mjs +0 -347
  130. package/esm2022/src/app/core/services/model/filter.model.mjs +0 -169
  131. package/esm2022/src/app/core/services/model/history.model.mjs +0 -2
  132. package/esm2022/src/app/core/services/model/model.enum.mjs +0 -11
  133. package/esm2022/src/app/core/services/model/node-feature.model.mjs +0 -31
  134. package/esm2022/src/app/core/services/model/peer.model.mjs +0 -114
  135. package/esm2022/src/app/core/services/model/person.model.mjs +0 -118
  136. package/esm2022/src/app/core/services/model/referential.model.mjs +0 -207
  137. package/esm2022/src/app/core/services/model/settings.model.mjs +0 -6
  138. package/esm2022/src/app/core/services/model/token.model.mjs +0 -57
  139. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +0 -234
  140. package/esm2022/src/app/core/services/network.service.mjs +0 -759
  141. package/esm2022/src/app/core/services/network.types.mjs +0 -2
  142. package/esm2022/src/app/core/services/network.utils.mjs +0 -35
  143. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +0 -38
  144. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +0 -23
  145. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +0 -23
  146. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +0 -58
  147. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +0 -36
  148. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +0 -37
  149. package/esm2022/src/app/core/services/platform.service.mjs +0 -780
  150. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +0 -427
  151. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +0 -450
  152. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +0 -25
  153. package/esm2022/src/app/core/services/testing/referential.validator.mjs +0 -46
  154. package/esm2022/src/app/core/services/validator/account.validator.mjs +0 -46
  155. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +0 -49
  156. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +0 -57
  157. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +0 -27
  158. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +0 -55
  159. package/esm2022/src/app/core/settings/settings.module.mjs +0 -23
  160. package/esm2022/src/app/core/settings/settings.page.mjs +0 -406
  161. package/esm2022/src/app/core/table/async-table.class.mjs +0 -1882
  162. package/esm2022/src/app/core/table/column/actions-column.component.mjs +0 -137
  163. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +0 -120
  164. package/esm2022/src/app/core/table/column/row-field.component.mjs +0 -116
  165. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +0 -415
  166. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +0 -407
  167. package/esm2022/src/app/core/table/memory-table.class.mjs +0 -57
  168. package/esm2022/src/app/core/table/table-select-columns.component.mjs +0 -46
  169. package/esm2022/src/app/core/table/table.class.mjs +0 -1918
  170. package/esm2022/src/app/core/table/table.model.mjs +0 -21
  171. package/esm2022/src/app/core/table/table.module.mjs +0 -51
  172. package/esm2022/src/app/core/table/table.pipes.mjs +0 -76
  173. package/esm2022/src/app/core/table/table.utils.mjs +0 -34
  174. package/esm2022/src/app/core/table/testing/nested-table.testing.mjs +0 -326
  175. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +0 -32
  176. package/esm2022/src/app/core/table/testing/table.testing.mjs +0 -342
  177. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +0 -47
  178. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +0 -25
  179. package/esm2022/src/app/core/table/testing/table2.testing.mjs +0 -322
  180. package/esm2022/src/app/shared/alerts.mjs +0 -243
  181. package/esm2022/src/app/shared/audio/audio.mjs +0 -255
  182. package/esm2022/src/app/shared/audio/audio.testing.mjs +0 -32
  183. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +0 -30
  184. package/esm2022/src/app/shared/base64.utils.mjs +0 -59
  185. package/esm2022/src/app/shared/capacitor/keyboard.mjs +0 -42
  186. package/esm2022/src/app/shared/capacitor/plugins.mjs +0 -10
  187. package/esm2022/src/app/shared/constants.mjs +0 -18
  188. package/esm2022/src/app/shared/dates.mjs +0 -212
  189. package/esm2022/src/app/shared/debug/debug-service.class.mjs +0 -3
  190. package/esm2022/src/app/shared/debug/debug.component.mjs +0 -44
  191. package/esm2022/src/app/shared/debug/debug.module.mjs +0 -23
  192. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +0 -91
  193. package/esm2022/src/app/shared/directives/autoresize.directive.mjs +0 -75
  194. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +0 -30
  195. package/esm2022/src/app/shared/directives/autotooltip.directive.mjs +0 -35
  196. package/esm2022/src/app/shared/directives/cell-selection/cell-identifier.directive.mjs +0 -55
  197. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.directive.mjs +0 -206
  198. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.service.mjs +0 -204
  199. package/esm2022/src/app/shared/directives/directives.module.mjs +0 -53
  200. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +0 -52
  201. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +0 -33
  202. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +0 -62
  203. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +0 -96
  204. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +0 -17
  205. package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +0 -43
  206. package/esm2022/src/app/shared/events.mjs +0 -64
  207. package/esm2022/src/app/shared/file/csv.utils.mjs +0 -97
  208. package/esm2022/src/app/shared/file/file.service.mjs +0 -118
  209. package/esm2022/src/app/shared/file/file.utils.mjs +0 -117
  210. package/esm2022/src/app/shared/file/images.utils.mjs +0 -186
  211. package/esm2022/src/app/shared/file/json.utils.mjs +0 -58
  212. package/esm2022/src/app/shared/file/uri.utils.mjs +0 -29
  213. package/esm2022/src/app/shared/file/url.utils.mjs +0 -213
  214. package/esm2022/src/app/shared/focusable.mjs +0 -6
  215. package/esm2022/src/app/shared/form/field.component.mjs +0 -388
  216. package/esm2022/src/app/shared/form/field.model.mjs +0 -100
  217. package/esm2022/src/app/shared/form/loading-spinner.mjs +0 -35
  218. package/esm2022/src/app/shared/forms.mjs +0 -593
  219. package/esm2022/src/app/shared/functions.mjs +0 -825
  220. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +0 -94
  221. package/esm2022/src/app/shared/gesture/gesture-config.mjs +0 -46
  222. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +0 -2
  223. package/esm2022/src/app/shared/graph/colors.utils.mjs +0 -85
  224. package/esm2022/src/app/shared/graph/graph-colors.mjs +0 -214
  225. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +0 -68
  226. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  227. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +0 -147
  228. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +0 -24
  229. package/esm2022/src/app/shared/html.utils.mjs +0 -35
  230. package/esm2022/src/app/shared/http/http.utils.mjs +0 -56
  231. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +0 -452
  232. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +0 -62
  233. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -26
  234. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -92
  235. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -37
  236. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +0 -59
  237. package/esm2022/src/app/shared/image/image.model.mjs +0 -2
  238. package/esm2022/src/app/shared/image/image.module.mjs +0 -24
  239. package/esm2022/src/app/shared/image/image.service.mjs +0 -117
  240. package/esm2022/src/app/shared/inputs.mjs +0 -281
  241. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  242. package/esm2022/src/app/shared/logging/log-level.model.mjs +0 -48
  243. package/esm2022/src/app/shared/logging/logger.model.mjs +0 -47
  244. package/esm2022/src/app/shared/logging/logging-service.class.mjs +0 -125
  245. package/esm2022/src/app/shared/logging/logging-service.config.mjs +0 -2
  246. package/esm2022/src/app/shared/logging/logging-service.module.mjs +0 -30
  247. package/esm2022/src/app/shared/markdown/markdown.component.mjs +0 -321
  248. package/esm2022/src/app/shared/markdown/markdown.directive.mjs +0 -34
  249. package/esm2022/src/app/shared/markdown/markdown.modal.mjs +0 -99
  250. package/esm2022/src/app/shared/markdown/markdown.module.mjs +0 -87
  251. package/esm2022/src/app/shared/markdown/markdown.service.mjs +0 -204
  252. package/esm2022/src/app/shared/markdown/markdown.utils.mjs +0 -87
  253. package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +0 -55
  254. package/esm2022/src/app/shared/markdown/testing/markdown.testing.module.mjs +0 -30
  255. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -46
  256. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -1356
  257. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -81
  258. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -18
  259. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -242
  260. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +0 -251
  261. package/esm2022/src/app/shared/material/badge/badge.module.mjs +0 -20
  262. package/esm2022/src/app/shared/material/badge/badge.test.mjs +0 -42
  263. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +0 -70
  264. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +0 -374
  265. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +0 -83
  266. package/esm2022/src/app/shared/material/chips/chips.module.mjs +0 -74
  267. package/esm2022/src/app/shared/material/chips/material.chips.mjs +0 -843
  268. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +0 -151
  269. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +0 -79
  270. package/esm2022/src/app/shared/material/datetime/material.date.mjs +0 -473
  271. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +0 -457
  272. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +0 -850
  273. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -140
  274. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -127
  275. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -118
  276. package/esm2022/src/app/shared/material/duration/duration.module.mjs +0 -61
  277. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +0 -16
  278. package/esm2022/src/app/shared/material/duration/material.duration.mjs +0 -283
  279. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +0 -85
  280. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +0 -319
  281. package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +0 -471
  282. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +0 -231
  283. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +0 -68
  284. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -138
  285. package/esm2022/src/app/shared/material/material.animations.mjs +0 -200
  286. package/esm2022/src/app/shared/material/material.config.mjs +0 -3
  287. package/esm2022/src/app/shared/material/material.module.mjs +0 -224
  288. package/esm2022/src/app/shared/material/material.testing.module.mjs +0 -234
  289. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -51
  290. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -23
  291. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +0 -379
  292. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  293. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -67
  294. package/esm2022/src/app/shared/material/test/test-component.mjs +0 -264
  295. package/esm2022/src/app/shared/material/testing/common.test.mjs +0 -111
  296. package/esm2022/src/app/shared/modules.mjs +0 -12
  297. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -306
  298. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +0 -49
  299. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +0 -24
  300. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +0 -69
  301. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +0 -74
  302. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +0 -28
  303. package/esm2022/src/app/shared/observables.mjs +0 -104
  304. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +0 -251
  305. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +0 -25
  306. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +0 -29
  307. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -50
  308. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +0 -72
  309. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +0 -28
  310. package/esm2022/src/app/shared/pipes/date-from.pipe.mjs +0 -29
  311. package/esm2022/src/app/shared/pipes/dates.pipe.mjs +0 -18
  312. package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +0 -23
  313. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +0 -34
  314. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +0 -53
  315. package/esm2022/src/app/shared/pipes/form.pipes.mjs +0 -219
  316. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +0 -50
  317. package/esm2022/src/app/shared/pipes/html.pipes.mjs +0 -102
  318. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +0 -42
  319. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +0 -65
  320. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +0 -67
  321. package/esm2022/src/app/shared/pipes/math.pipes.mjs +0 -77
  322. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +0 -19
  323. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +0 -17
  324. package/esm2022/src/app/shared/pipes/observable.pipes.mjs +0 -63
  325. package/esm2022/src/app/shared/pipes/pipes.module.mjs +0 -304
  326. package/esm2022/src/app/shared/pipes/property.pipes.mjs +0 -148
  327. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +0 -177
  328. package/esm2022/src/app/shared/pipes/string.pipes.mjs +0 -183
  329. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +0 -44
  330. package/esm2022/src/app/shared/pipes/types.pipes.mjs +0 -74
  331. package/esm2022/src/app/shared/pipes/url.pipes.mjs +0 -35
  332. package/esm2022/src/app/shared/platforms.mjs +0 -81
  333. package/esm2022/src/app/shared/print/print.service.mjs +0 -305
  334. package/esm2022/src/app/shared/regexps.mjs +0 -103
  335. package/esm2022/src/app/shared/rx-state/rx-state.decorators.mjs +0 -193
  336. package/esm2022/src/app/shared/rx-state/rx-state.module.mjs +0 -19
  337. package/esm2022/src/app/shared/rx-state/rx-state.types.mjs +0 -2
  338. package/esm2022/src/app/shared/services/entity-service.class.mjs +0 -44
  339. package/esm2022/src/app/shared/services/job.utils.mjs +0 -92
  340. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +0 -362
  341. package/esm2022/src/app/shared/services/progress-bar.service.mjs +0 -31
  342. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +0 -144
  343. package/esm2022/src/app/shared/services/startable-service.class.mjs +0 -118
  344. package/esm2022/src/app/shared/services/translate-context.service.mjs +0 -107
  345. package/esm2022/src/app/shared/services/validator-service.class.mjs +0 -2
  346. package/esm2022/src/app/shared/services.mjs +0 -85
  347. package/esm2022/src/app/shared/shared-routing.module.mjs +0 -72
  348. package/esm2022/src/app/shared/shared.module.mjs +0 -229
  349. package/esm2022/src/app/shared/shared.testing.module.mjs +0 -108
  350. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +0 -281
  351. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +0 -42
  352. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +0 -27
  353. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +0 -25
  354. package/esm2022/src/app/shared/storage/storage.service.mjs +0 -134
  355. package/esm2022/src/app/shared/storage/storage.utils.mjs +0 -13
  356. package/esm2022/src/app/shared/testing/maskito.test.mjs +0 -41
  357. package/esm2022/src/app/shared/testing/observable.test.mjs +0 -94
  358. package/esm2022/src/app/shared/testing/tests.page.mjs +0 -37
  359. package/esm2022/src/app/shared/toast/toast.testing.mjs +0 -54
  360. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +0 -31
  361. package/esm2022/src/app/shared/toast/toasts.mjs +0 -134
  362. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +0 -62
  363. package/esm2022/src/app/shared/toolbar/toolbar.mjs +0 -272
  364. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +0 -26
  365. package/esm2022/src/app/shared/types.mjs +0 -2
  366. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -59
  367. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +0 -30
  368. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -108
  369. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +0 -216
  370. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +0 -26
  371. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +0 -122
  372. package/esm2022/src/app/shared/validator/validators.mjs +0 -658
  373. package/esm2022/src/app/shared/version/versions.mjs +0 -81
  374. package/esm2022/src/app/social/config/social.config.mjs +0 -9
  375. package/esm2022/src/app/social/feed/feed.component.mjs +0 -317
  376. package/esm2022/src/app/social/feed/feed.directive.mjs +0 -151
  377. package/esm2022/src/app/social/feed/feed.model.mjs +0 -60
  378. package/esm2022/src/app/social/feed/feed.module.mjs +0 -24
  379. package/esm2022/src/app/social/feed/feed.page.mjs +0 -67
  380. package/esm2022/src/app/social/feed/feed.service.mjs +0 -222
  381. package/esm2022/src/app/social/feed/testing/feed.testing.mjs +0 -66
  382. package/esm2022/src/app/social/feed/testing/feed.testing.module.mjs +0 -23
  383. package/esm2022/src/app/social/job/job.module.mjs +0 -23
  384. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +0 -38
  385. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +0 -241
  386. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +0 -50
  387. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +0 -29
  388. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +0 -91
  389. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +0 -38
  390. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +0 -34
  391. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +0 -22
  392. package/esm2022/src/app/social/message/message.form.mjs +0 -149
  393. package/esm2022/src/app/social/message/message.modal.mjs +0 -116
  394. package/esm2022/src/app/social/message/message.model.mjs +0 -86
  395. package/esm2022/src/app/social/message/message.module.mjs +0 -25
  396. package/esm2022/src/app/social/message/message.service.mjs +0 -198
  397. package/esm2022/src/app/social/social.errors.mjs +0 -11
  398. package/esm2022/src/app/social/social.module.mjs +0 -22
  399. package/esm2022/src/app/social/social.testing.module.mjs +0 -72
  400. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -191
  401. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -280
  402. package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +0 -84
  403. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +0 -273
  404. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -129
  405. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +0 -22
  406. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -128
  407. package/esm2022/src/app/social/user-event/user-event.model.mjs +0 -2
  408. package/esm2022/src/app/social/user-event/user-event.module.mjs +0 -24
  409. package/esm2022/src/app/social/user-event/user-event.service.mjs +0 -512
  410. package/esm2022/src/environments/environment.class.mjs +0 -69
  411. package/esm2022/src/environments/environment.loader.mjs +0 -77
  412. package/esm2022/src/environments/environment.mjs +0 -133
  413. package/esm2022/sumaris-net.ngx-components.mjs +0 -5
  414. package/index.d.ts +0 -5
  415. package/public_api.d.ts +0 -364
  416. package/src/app/admin/admin-routing.module.d.ts +0 -9
  417. package/src/app/admin/admin.module.d.ts +0 -10
  418. package/src/app/admin/users/person.filter.d.ts +0 -37
  419. package/src/app/admin/users/person.service.d.ts +0 -61
  420. package/src/app/admin/users/person.validator.d.ts +0 -23
  421. package/src/app/admin/users/users-select.modal.d.ts +0 -73
  422. package/src/app/admin/users/users.d.ts +0 -89
  423. package/src/app/admin/users/users.module.d.ts +0 -15
  424. package/src/app/admin/users/users.utils.d.ts +0 -6
  425. package/src/app/core/about/about.modal.d.ts +0 -44
  426. package/src/app/core/about/about.module.d.ts +0 -11
  427. package/src/app/core/account/account.module.d.ts +0 -18
  428. package/src/app/core/account/account.page.d.ts +0 -93
  429. package/src/app/core/account/new-token.form.d.ts +0 -30
  430. package/src/app/core/account/new-token.modal.d.ts +0 -29
  431. package/src/app/core/account/password/change-password.form.d.ts +0 -19
  432. package/src/app/core/account/password/change-password.module.d.ts +0 -11
  433. package/src/app/core/account/password/change-password.page.d.ts +0 -36
  434. package/src/app/core/account/token.table.d.ts +0 -28
  435. package/src/app/core/auth/auth.form.d.ts +0 -38
  436. package/src/app/core/auth/auth.modal.d.ts +0 -24
  437. package/src/app/core/auth/auth.module.d.ts +0 -13
  438. package/src/app/core/auth/reset-password.modal.d.ts +0 -29
  439. package/src/app/core/core.module.d.ts +0 -28
  440. package/src/app/core/core.testing.module.d.ts +0 -16
  441. package/src/app/core/form/array/form-array.d.ts +0 -147
  442. package/src/app/core/form/array/testing/form-array-test.module.d.ts +0 -12
  443. package/src/app/core/form/array/testing/form-array.test.d.ts +0 -27
  444. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +0 -38
  445. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +0 -9
  446. package/src/app/core/form/entity/editor.class.d.ts +0 -85
  447. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +0 -126
  448. package/src/app/core/form/entity/entity-editor.class.d.ts +0 -211
  449. package/src/app/core/form/entity/entity-metadata.component.d.ts +0 -13
  450. package/src/app/core/form/entity/entity.module.d.ts +0 -11
  451. package/src/app/core/form/entity/tab-editor.class.d.ts +0 -66
  452. package/src/app/core/form/form-container.class.d.ts +0 -131
  453. package/src/app/core/form/form.class.d.ts +0 -148
  454. package/src/app/core/form/form.module.d.ts +0 -15
  455. package/src/app/core/form/form.utils.d.ts +0 -301
  456. package/src/app/core/form/list/list.form.d.ts +0 -83
  457. package/src/app/core/form/list/list.module.d.ts +0 -9
  458. package/src/app/core/form/properties/properties-file.service.d.ts +0 -26
  459. package/src/app/core/form/properties/properties.form.d.ts +0 -109
  460. package/src/app/core/form/properties/properties.module.d.ts +0 -18
  461. package/src/app/core/form/properties/properties.table.d.ts +0 -73
  462. package/src/app/core/form/properties/properties.utils.d.ts +0 -59
  463. package/src/app/core/form/properties/property.validator.d.ts +0 -27
  464. package/src/app/core/form/properties/testing/properties-form.test.d.ts +0 -22
  465. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +0 -12
  466. package/src/app/core/form/text/testing/text-form.testing.d.ts +0 -19
  467. package/src/app/core/form/text/testing/text-form.testing.module.d.ts +0 -14
  468. package/src/app/core/form/text/text-form.component.d.ts +0 -66
  469. package/src/app/core/form/text/text-form.module.d.ts +0 -9
  470. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +0 -16
  471. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +0 -11
  472. package/src/app/core/form/text-popover/text-popover.component.d.ts +0 -81
  473. package/src/app/core/form/text-popover/text-popover.module.d.ts +0 -10
  474. package/src/app/core/form/username/username.form.d.ts +0 -19
  475. package/src/app/core/form/username/username.module.d.ts +0 -9
  476. package/src/app/core/graphql/graphql.module.d.ts +0 -7
  477. package/src/app/core/graphql/graphql.service.d.ts +0 -138
  478. package/src/app/core/graphql/graphql.utils.d.ts +0 -47
  479. package/src/app/core/home/home.d.ts +0 -135
  480. package/src/app/core/home/home.module.d.ts +0 -16
  481. package/src/app/core/icon/icon.component.d.ts +0 -13
  482. package/src/app/core/icon/icon.module.d.ts +0 -9
  483. package/src/app/core/install/install-upgrade-card.component.d.ts +0 -63
  484. package/src/app/core/install/install-upgrade-card.module.d.ts +0 -9
  485. package/src/app/core/menu/menu.component.d.ts +0 -69
  486. package/src/app/core/menu/menu.model.d.ts +0 -161
  487. package/src/app/core/menu/menu.module.d.ts +0 -12
  488. package/src/app/core/menu/menu.service.d.ts +0 -93
  489. package/src/app/core/menu/sub-menu-tab.directive.d.ts +0 -29
  490. package/src/app/core/menu/testing/menu-other.testing.d.ts +0 -15
  491. package/src/app/core/menu/testing/menu.testing.d.ts +0 -53
  492. package/src/app/core/menu/testing/menu.testing.module.d.ts +0 -12
  493. package/src/app/core/offline/update-offline-mode-card.component.d.ts +0 -11
  494. package/src/app/core/offline/update-offline-mode-card.module.d.ts +0 -9
  495. package/src/app/core/peer/select-peer.modal.d.ts +0 -108
  496. package/src/app/core/peer/select-peer.module.d.ts +0 -12
  497. package/src/app/core/register/register-confirm.page.d.ts +0 -24
  498. package/src/app/core/register/register.form.d.ts +0 -49
  499. package/src/app/core/register/register.modal.d.ts +0 -14
  500. package/src/app/core/register/register.module.d.ts +0 -12
  501. package/src/app/core/services/account.service.d.ts +0 -236
  502. package/src/app/core/services/auth-guard.service.d.ts +0 -17
  503. package/src/app/core/services/base-entity-service.class.d.ts +0 -134
  504. package/src/app/core/services/base-graphql-service.class.d.ts +0 -77
  505. package/src/app/core/services/base58.d.ts +0 -7
  506. package/src/app/core/services/config/core.config.d.ts +0 -52
  507. package/src/app/core/services/config.service.d.ts +0 -63
  508. package/src/app/core/services/crypto.service.d.ts +0 -44
  509. package/src/app/core/services/errors.d.ts +0 -65
  510. package/src/app/core/services/local-settings.service.d.ts +0 -130
  511. package/src/app/core/services/model/account.model.d.ts +0 -66
  512. package/src/app/core/services/model/config.model.d.ts +0 -37
  513. package/src/app/core/services/model/department.model.d.ts +0 -11
  514. package/src/app/core/services/model/entity.decorators.d.ts +0 -17
  515. package/src/app/core/services/model/entity.model.d.ts +0 -133
  516. package/src/app/core/services/model/filter.model.d.ts +0 -37
  517. package/src/app/core/services/model/history.model.d.ts +0 -20
  518. package/src/app/core/services/model/model.enum.d.ts +0 -7
  519. package/src/app/core/services/model/node-feature.model.d.ts +0 -14
  520. package/src/app/core/services/model/peer.model.d.ts +0 -35
  521. package/src/app/core/services/model/person.model.d.ts +0 -39
  522. package/src/app/core/services/model/referential.model.d.ts +0 -85
  523. package/src/app/core/services/model/settings.model.d.ts +0 -29
  524. package/src/app/core/services/model/token.model.d.ts +0 -22
  525. package/src/app/core/services/model/tree-item-entity.model.d.ts +0 -62
  526. package/src/app/core/services/network.service.d.ts +0 -184
  527. package/src/app/core/services/network.types.d.ts +0 -4
  528. package/src/app/core/services/network.utils.d.ts +0 -39
  529. package/src/app/core/services/pipes/account.pipes.d.ts +0 -15
  530. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +0 -9
  531. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +0 -11
  532. package/src/app/core/services/pipes/pipes.module.d.ts +0 -11
  533. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +0 -23
  534. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +0 -15
  535. package/src/app/core/services/platform.service.d.ts +0 -126
  536. package/src/app/core/services/storage/entities-storage.service.d.ts +0 -108
  537. package/src/app/core/services/storage/entity-store.class.d.ts +0 -113
  538. package/src/app/core/services/testing/referential-filter.model.d.ts +0 -9
  539. package/src/app/core/services/testing/referential.validator.d.ts +0 -22
  540. package/src/app/core/services/validator/account.validator.d.ts +0 -24
  541. package/src/app/core/services/validator/base.validator.class.d.ts +0 -21
  542. package/src/app/core/services/validator/local-settings.validator.d.ts +0 -18
  543. package/src/app/core/services/validator/user-settings.validator.d.ts +0 -10
  544. package/src/app/core/services/validator/user-token.validator.d.ts +0 -13
  545. package/src/app/core/settings/settings.module.d.ts +0 -12
  546. package/src/app/core/settings/settings.page.d.ts +0 -89
  547. package/src/app/core/table/async-table.class.d.ts +0 -443
  548. package/src/app/core/table/column/actions-column.component.d.ts +0 -65
  549. package/src/app/core/table/column/nav-actions-column.component.d.ts +0 -47
  550. package/src/app/core/table/column/row-field.component.d.ts +0 -41
  551. package/src/app/core/table/entities-async-table-datasource.class.d.ts +0 -103
  552. package/src/app/core/table/entities-table-datasource.class.d.ts +0 -102
  553. package/src/app/core/table/memory-table.class.d.ts +0 -25
  554. package/src/app/core/table/table-select-columns.component.d.ts +0 -22
  555. package/src/app/core/table/table.class.d.ts +0 -427
  556. package/src/app/core/table/table.model.d.ts +0 -31
  557. package/src/app/core/table/table.module.d.ts +0 -14
  558. package/src/app/core/table/table.pipes.d.ts +0 -30
  559. package/src/app/core/table/table.utils.d.ts +0 -13
  560. package/src/app/core/table/testing/nested-table.testing.d.ts +0 -54
  561. package/src/app/core/table/testing/table-validator.service.d.ts +0 -17
  562. package/src/app/core/table/testing/table.testing.d.ts +0 -55
  563. package/src/app/core/table/testing/table.testing.module.d.ts +0 -17
  564. package/src/app/core/table/testing/table2-validator.service.d.ts +0 -15
  565. package/src/app/core/table/testing/table2.testing.d.ts +0 -53
  566. package/src/app/shared/alerts.d.ts +0 -55
  567. package/src/app/shared/audio/audio.d.ts +0 -45
  568. package/src/app/shared/audio/audio.testing.d.ts +0 -13
  569. package/src/app/shared/audio/audio.testing.module.d.ts +0 -11
  570. package/src/app/shared/base64.utils.d.ts +0 -7
  571. package/src/app/shared/capacitor/keyboard.d.ts +0 -16
  572. package/src/app/shared/capacitor/plugins.d.ts +0 -8
  573. package/src/app/shared/constants.d.ts +0 -15
  574. package/src/app/shared/dates.d.ts +0 -85
  575. package/src/app/shared/debug/debug-service.class.d.ts +0 -5
  576. package/src/app/shared/debug/debug.component.d.ts +0 -14
  577. package/src/app/shared/debug/debug.module.d.ts +0 -12
  578. package/src/app/shared/directives/autofocus.directive.d.ts +0 -18
  579. package/src/app/shared/directives/autoresize.directive.d.ts +0 -20
  580. package/src/app/shared/directives/autotitle.directive.d.ts +0 -11
  581. package/src/app/shared/directives/autotooltip.directive.d.ts +0 -14
  582. package/src/app/shared/directives/cell-selection/cell-identifier.directive.d.ts +0 -17
  583. package/src/app/shared/directives/cell-selection/cell-selection.directive.d.ts +0 -29
  584. package/src/app/shared/directives/cell-selection/cell-selection.service.d.ts +0 -67
  585. package/src/app/shared/directives/directives.module.d.ts +0 -15
  586. package/src/app/shared/directives/drag-and-drop.directive.d.ts +0 -17
  587. package/src/app/shared/directives/ng-var.directive.d.ts +0 -12
  588. package/src/app/shared/directives/resizable/resizable.component.d.ts +0 -21
  589. package/src/app/shared/directives/resizable/resizable.directive.d.ts +0 -24
  590. package/src/app/shared/directives/resizable/resizable.module.d.ts +0 -8
  591. package/src/app/shared/directives/throttled-click.directive.d.ts +0 -16
  592. package/src/app/shared/events.d.ts +0 -29
  593. package/src/app/shared/file/csv.utils.d.ts +0 -30
  594. package/src/app/shared/file/file.service.d.ts +0 -23
  595. package/src/app/shared/file/file.utils.d.ts +0 -20
  596. package/src/app/shared/file/images.utils.d.ts +0 -36
  597. package/src/app/shared/file/json.utils.d.ts +0 -19
  598. package/src/app/shared/file/uri.utils.d.ts +0 -8
  599. package/src/app/shared/file/url.utils.d.ts +0 -108
  600. package/src/app/shared/focusable.d.ts +0 -4
  601. package/src/app/shared/form/field.component.d.ts +0 -83
  602. package/src/app/shared/form/field.model.d.ts +0 -88
  603. package/src/app/shared/form/loading-spinner.d.ts +0 -8
  604. package/src/app/shared/forms.d.ts +0 -170
  605. package/src/app/shared/functions.d.ts +0 -296
  606. package/src/app/shared/geolocation/geolocation.utils.d.ts +0 -25
  607. package/src/app/shared/gesture/gesture-config.d.ts +0 -15
  608. package/src/app/shared/gesture/hammer.utils.d.ts +0 -16
  609. package/src/app/shared/graph/colors.utils.d.ts +0 -34
  610. package/src/app/shared/graph/graph-colors.d.ts +0 -63
  611. package/src/app/shared/guard/component-dirty.guard.d.ts +0 -14
  612. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +0 -8
  613. package/src/app/shared/hotkeys/hotkeys.service.d.ts +0 -48
  614. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +0 -11
  615. package/src/app/shared/html.utils.d.ts +0 -17
  616. package/src/app/shared/http/http.utils.d.ts +0 -28
  617. package/src/app/shared/image/gallery/image-gallery.component.d.ts +0 -139
  618. package/src/app/shared/image/gallery/image-gallery.module.d.ts +0 -15
  619. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +0 -12
  620. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +0 -33
  621. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +0 -16
  622. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +0 -13
  623. package/src/app/shared/image/image.model.d.ts +0 -7
  624. package/src/app/shared/image/image.module.d.ts +0 -8
  625. package/src/app/shared/image/image.service.d.ts +0 -37
  626. package/src/app/shared/inputs.d.ts +0 -37
  627. package/src/app/shared/interceptors/progess.interceptor.d.ts +0 -8
  628. package/src/app/shared/logging/log-level.model.d.ts +0 -38
  629. package/src/app/shared/logging/logger.model.d.ts +0 -68
  630. package/src/app/shared/logging/logging-service.class.d.ts +0 -39
  631. package/src/app/shared/logging/logging-service.config.d.ts +0 -25
  632. package/src/app/shared/logging/logging-service.module.d.ts +0 -9
  633. package/src/app/shared/markdown/markdown.component.d.ts +0 -86
  634. package/src/app/shared/markdown/markdown.directive.d.ts +0 -13
  635. package/src/app/shared/markdown/markdown.modal.d.ts +0 -49
  636. package/src/app/shared/markdown/markdown.module.d.ts +0 -17
  637. package/src/app/shared/markdown/markdown.service.d.ts +0 -37
  638. package/src/app/shared/markdown/markdown.utils.d.ts +0 -26
  639. package/src/app/shared/markdown/testing/markdown.test.d.ts +0 -18
  640. package/src/app/shared/markdown/testing/markdown.testing.module.d.ts +0 -12
  641. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +0 -74
  642. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +0 -224
  643. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +0 -23
  644. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +0 -5
  645. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +0 -48
  646. package/src/app/shared/material/badge/badge.directive.d.ts +0 -43
  647. package/src/app/shared/material/badge/badge.module.d.ts +0 -10
  648. package/src/app/shared/material/badge/badge.test.d.ts +0 -21
  649. package/src/app/shared/material/boolean/boolean.module.d.ts +0 -21
  650. package/src/app/shared/material/boolean/material.boolean.d.ts +0 -94
  651. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +0 -31
  652. package/src/app/shared/material/chips/chips.module.d.ts +0 -22
  653. package/src/app/shared/material/chips/material.chips.d.ts +0 -167
  654. package/src/app/shared/material/chips/testing/chips.test.d.ts +0 -32
  655. package/src/app/shared/material/datetime/datetime.module.d.ts +0 -25
  656. package/src/app/shared/material/datetime/material.date.d.ts +0 -90
  657. package/src/app/shared/material/datetime/material.dateshort.d.ts +0 -89
  658. package/src/app/shared/material/datetime/material.datetime.d.ts +0 -136
  659. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +0 -38
  660. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +0 -32
  661. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +0 -31
  662. package/src/app/shared/material/duration/duration.module.d.ts +0 -18
  663. package/src/app/shared/material/duration/duration.utils.d.ts +0 -2
  664. package/src/app/shared/material/duration/material.duration.d.ts +0 -64
  665. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +0 -23
  666. package/src/app/shared/material/latlong/latlong.utils.d.ts +0 -59
  667. package/src/app/shared/material/latlong/material.latlong-input.d.ts +0 -93
  668. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -90
  669. package/src/app/shared/material/latlong/material.latlong.module.d.ts +0 -21
  670. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +0 -30
  671. package/src/app/shared/material/material.animations.d.ts +0 -8
  672. package/src/app/shared/material/material.config.d.ts +0 -3
  673. package/src/app/shared/material/material.module.d.ts +0 -44
  674. package/src/app/shared/material/material.testing.module.d.ts +0 -31
  675. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -12
  676. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +0 -10
  677. package/src/app/shared/material/swipe/material.swipe.d.ts +0 -89
  678. package/src/app/shared/material/swipe/swipe.module.d.ts +0 -16
  679. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +0 -22
  680. package/src/app/shared/material/test/test-component.d.ts +0 -75
  681. package/src/app/shared/material/testing/common.test.d.ts +0 -25
  682. package/src/app/shared/modules.d.ts +0 -9
  683. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +0 -63
  684. package/src/app/shared/named-filter/named-filter.model.d.ts +0 -32
  685. package/src/app/shared/named-filter/named-filter.module.d.ts +0 -13
  686. package/src/app/shared/named-filter/named-filter.service.d.ts +0 -32
  687. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +0 -34
  688. package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +0 -10
  689. package/src/app/shared/observables.d.ts +0 -32
  690. package/src/app/shared/pipes/arrays.pipe.d.ts +0 -93
  691. package/src/app/shared/pipes/badge.pipes.d.ts +0 -7
  692. package/src/app/shared/pipes/colors.pipe.d.ts +0 -9
  693. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +0 -25
  694. package/src/app/shared/pipes/date-format.pipe.d.ts +0 -35
  695. package/src/app/shared/pipes/date-from-now.pipe.d.ts +0 -14
  696. package/src/app/shared/pipes/date-from.pipe.d.ts +0 -14
  697. package/src/app/shared/pipes/dates.pipe.d.ts +0 -10
  698. package/src/app/shared/pipes/display-with.pipe.d.ts +0 -8
  699. package/src/app/shared/pipes/duration.pipe.d.ts +0 -23
  700. package/src/app/shared/pipes/file-size.pipe.d.ts +0 -30
  701. package/src/app/shared/pipes/form.pipes.d.ts +0 -69
  702. package/src/app/shared/pipes/highlight.pipe.d.ts +0 -11
  703. package/src/app/shared/pipes/html.pipes.d.ts +0 -50
  704. package/src/app/shared/pipes/latlong-format.pipe.d.ts +0 -20
  705. package/src/app/shared/pipes/maps.pipe.d.ts +0 -23
  706. package/src/app/shared/pipes/maskito.pipe.d.ts +0 -14
  707. package/src/app/shared/pipes/math.pipes.d.ts +0 -26
  708. package/src/app/shared/pipes/ng-init.pipe.d.ts +0 -8
  709. package/src/app/shared/pipes/number-format.pipe.d.ts +0 -9
  710. package/src/app/shared/pipes/observable.pipes.d.ts +0 -25
  711. package/src/app/shared/pipes/pipes.module.d.ts +0 -36
  712. package/src/app/shared/pipes/property.pipes.d.ts +0 -46
  713. package/src/app/shared/pipes/selection.pipes.d.ts +0 -62
  714. package/src/app/shared/pipes/string.pipes.d.ts +0 -67
  715. package/src/app/shared/pipes/translate-context.pipe.d.ts +0 -17
  716. package/src/app/shared/pipes/types.pipes.d.ts +0 -30
  717. package/src/app/shared/pipes/url.pipes.d.ts +0 -27
  718. package/src/app/shared/platforms.d.ts +0 -16
  719. package/src/app/shared/print/print.service.d.ts +0 -94
  720. package/src/app/shared/regexps.d.ts +0 -32
  721. package/src/app/shared/rx-state/rx-state.decorators.d.ts +0 -33
  722. package/src/app/shared/rx-state/rx-state.module.d.ts +0 -10
  723. package/src/app/shared/rx-state/rx-state.types.d.ts +0 -5
  724. package/src/app/shared/services/entity-service.class.d.ts +0 -117
  725. package/src/app/shared/services/job.utils.d.ts +0 -20
  726. package/src/app/shared/services/memory-entity-service.class.d.ts +0 -87
  727. package/src/app/shared/services/progress-bar.service.d.ts +0 -20
  728. package/src/app/shared/services/startable-observable-service.class.d.ts +0 -51
  729. package/src/app/shared/services/startable-service.class.d.ts +0 -38
  730. package/src/app/shared/services/translate-context.service.d.ts +0 -29
  731. package/src/app/shared/services/validator-service.class.d.ts +0 -11
  732. package/src/app/shared/services.d.ts +0 -17
  733. package/src/app/shared/shared-routing.module.d.ts +0 -23
  734. package/src/app/shared/shared.module.d.ts +0 -33
  735. package/src/app/shared/shared.testing.module.d.ts +0 -20
  736. package/src/app/shared/storage/storage-explorer.component.d.ts +0 -60
  737. package/src/app/shared/storage/storage-explorer.module.d.ts +0 -13
  738. package/src/app/shared/storage/storage-explorer.testing-routing.module.d.ts +0 -9
  739. package/src/app/shared/storage/storage-explorer.testing.module.d.ts +0 -10
  740. package/src/app/shared/storage/storage.service.d.ts +0 -22
  741. package/src/app/shared/storage/storage.utils.d.ts +0 -19
  742. package/src/app/shared/testing/maskito.test.d.ts +0 -10
  743. package/src/app/shared/testing/observable.test.d.ts +0 -25
  744. package/src/app/shared/testing/tests.page.d.ts +0 -20
  745. package/src/app/shared/toast/toast.testing.d.ts +0 -15
  746. package/src/app/shared/toast/toast.testing.module.d.ts +0 -12
  747. package/src/app/shared/toast/toasts.d.ts +0 -16
  748. package/src/app/shared/toolbar/modal-toolbar.d.ts +0 -21
  749. package/src/app/shared/toolbar/toolbar.d.ts +0 -70
  750. package/src/app/shared/toolbar/toolbar.module.d.ts +0 -16
  751. package/src/app/shared/types.d.ts +0 -45
  752. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +0 -21
  753. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +0 -11
  754. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +0 -41
  755. package/src/app/shared/upload-file/upload-file.component.d.ts +0 -50
  756. package/src/app/shared/upload-file/upload-file.model.d.ts +0 -30
  757. package/src/app/shared/validator/form-error-adapter.class.d.ts +0 -33
  758. package/src/app/shared/validator/validators.d.ts +0 -145
  759. package/src/app/shared/version/versions.d.ts +0 -26
  760. package/src/app/social/config/social.config.d.ts +0 -4
  761. package/src/app/social/feed/feed.component.d.ts +0 -91
  762. package/src/app/social/feed/feed.directive.d.ts +0 -32
  763. package/src/app/social/feed/feed.model.d.ts +0 -69
  764. package/src/app/social/feed/feed.module.d.ts +0 -13
  765. package/src/app/social/feed/feed.page.d.ts +0 -24
  766. package/src/app/social/feed/feed.service.d.ts +0 -85
  767. package/src/app/social/feed/testing/feed.testing.d.ts +0 -23
  768. package/src/app/social/feed/testing/feed.testing.module.d.ts +0 -12
  769. package/src/app/social/job/job.module.d.ts +0 -12
  770. package/src/app/social/job/progression/job-progression.component.d.ts +0 -24
  771. package/src/app/social/job/progression/job-progression.icon.d.ts +0 -63
  772. package/src/app/social/job/progression/job-progression.list.d.ts +0 -20
  773. package/src/app/social/job/progression/job-progression.model.d.ts +0 -10
  774. package/src/app/social/job/progression/job-progression.service.d.ts +0 -33
  775. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -13
  776. package/src/app/social/job/testing/job-progression.testing.service.d.ts +0 -9
  777. package/src/app/social/job/testing/job.testing.module.d.ts +0 -11
  778. package/src/app/social/message/message.form.d.ts +0 -36
  779. package/src/app/social/message/message.modal.d.ts +0 -47
  780. package/src/app/social/message/message.model.d.ts +0 -36
  781. package/src/app/social/message/message.module.d.ts +0 -14
  782. package/src/app/social/message/message.service.d.ts +0 -44
  783. package/src/app/social/social.errors.d.ts +0 -10
  784. package/src/app/social/social.module.d.ts +0 -20
  785. package/src/app/social/social.testing.module.d.ts +0 -14
  786. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +0 -47
  787. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +0 -77
  788. package/src/app/social/user-event/notification/user-event-notification.modal.d.ts +0 -37
  789. package/src/app/social/user-event/testing/user-event.testing.d.ts +0 -44
  790. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -42
  791. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +0 -11
  792. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +0 -41
  793. package/src/app/social/user-event/user-event.model.d.ts +0 -44
  794. package/src/app/social/user-event/user-event.module.d.ts +0 -14
  795. package/src/app/social/user-event/user-event.service.d.ts +0 -124
  796. package/src/environments/environment.class.d.ts +0 -86
  797. package/src/environments/environment.d.ts +0 -2
  798. package/src/environments/environment.loader.d.ts +0 -24
  799. package/src/theme/_globals.scss +0 -5
@@ -1,204 +0,0 @@
1
- import { inject, Injectable, InjectionToken } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { isEmptyArray } from '../../functions';
4
- import * as i0 from "@angular/core";
5
- export const APP_CELL_SELECTION_SERVICE_TOKEN = new InjectionToken('CellSelectionService');
6
- export const APP_CELL_SELECTION_SERVICE_CONFIG_TOKEN = new InjectionToken('CellSelectionServiceConfig');
7
- /**
8
- * Service to manage cell selection state across multiple directive instances.
9
- * This service should be provided at the component level (not root) to ensure
10
- * proper isolation between different table instances.
11
- */
12
- export class CellSelectionService {
13
- // Configuration
14
- config = inject(APP_CELL_SELECTION_SERVICE_CONFIG_TOKEN, { optional: true });
15
- selectableColumns = [];
16
- disabled = false;
17
- // Selection state
18
- _selectedCells = [];
19
- selectionStartCell = null;
20
- isSelecting = false;
21
- currentRangeColumnFirstIndex = -1;
22
- currentRangeColumnLastIndex = -1;
23
- // Drag state
24
- draggedCells = [];
25
- dragStartCell = null;
26
- isDragging = false;
27
- // Observables
28
- selectionChangeSubject = new Subject();
29
- selectionRightClickSubject = new Subject();
30
- // Overridable methods
31
- _equals;
32
- _new;
33
- constructor() {
34
- this._equals = this.config?.equals;
35
- this._new = this.config?.new;
36
- }
37
- // Override method
38
- equals(cell1, cell2) {
39
- return this._equals ? this._equals(cell1, cell2) : cell1?.rowId === cell2?.rowId && cell1?.columnName === cell2?.columnName;
40
- }
41
- // Override method
42
- new(cellId) {
43
- return this._new ? this._new(cellId) : cellId;
44
- }
45
- get selectedCells() {
46
- return this._selectedCells;
47
- }
48
- set selectedCells(value) {
49
- this.emitSelection(value, false, false);
50
- }
51
- isCellSelected(cellId) {
52
- return this.selectedCells.some((selectedCell) => this.equals(selectedCell, cellId));
53
- }
54
- isCellDragged(cellId) {
55
- return this.draggedCells.some((selectedCell) => this.equals(selectedCell, cellId));
56
- }
57
- // Core selection logic (moved from CellIdentifierDirective)
58
- async handleCellMouseDown(event, cellId) {
59
- // Prevent selection if cell's column is not selectable or disabled
60
- if (this.disabled || !this.selectableColumns.includes(cellId.columnName)) {
61
- this.emitSelection([], false, false);
62
- return;
63
- }
64
- // Handle right click
65
- if (event.button === 2 && this.selectionRightClickSubject.observed) {
66
- event.stopPropagation();
67
- this.selectionRightClickSubject.next(event);
68
- return;
69
- }
70
- const isCtrlKey = event.ctrlKey || event.metaKey;
71
- const isShiftKey = event.shiftKey;
72
- const newCellId = this.new(cellId);
73
- if (!isShiftKey && !isCtrlKey) {
74
- this.startSelection(newCellId);
75
- // this.startDragSelection(cell);
76
- }
77
- else if (isCtrlKey) {
78
- this.toggleCellSelection(newCellId);
79
- }
80
- else if (isShiftKey) {
81
- this.selectRange(newCellId);
82
- }
83
- }
84
- async handleCellMouseEnter(event, cellId) {
85
- if (this.disabled || !this.selectableColumns.includes(cellId.columnName)) {
86
- return;
87
- }
88
- // TODO check if next cell can be selected
89
- if (this.isSelecting && this.selectionStartCell) {
90
- this.updateSelection(cellId);
91
- }
92
- else if (this.isDragging && this.dragStartCell) {
93
- this.updateDraggedCells(cellId);
94
- }
95
- }
96
- endMouseMove() {
97
- if (this.isSelecting) {
98
- this.resetSelectionState();
99
- }
100
- else if (this.isDragging) {
101
- this.resetDragState();
102
- }
103
- }
104
- // Private helper methods
105
- startSelection(cellId) {
106
- this.selectionStartCell = cellId;
107
- this.isSelecting = true;
108
- this.currentRangeColumnFirstIndex = -1;
109
- this.currentRangeColumnLastIndex = -1;
110
- this.emitSelection([cellId], false, false);
111
- }
112
- startDragSelection(cellId) {
113
- this.dragStartCell = cellId;
114
- this.isDragging = true;
115
- this.draggedCells = [cellId];
116
- // this.emitSelection([cellId], false, false);
117
- }
118
- toggleCellSelection(cellId) {
119
- const currentCells = [...this.selectedCells];
120
- const cellIndex = currentCells.findIndex((c) => this.equals(c, cellId));
121
- if (cellIndex >= 0) {
122
- currentCells.splice(cellIndex, 1);
123
- }
124
- else {
125
- currentCells.push(cellId);
126
- }
127
- this.emitSelection(currentCells, false, true);
128
- }
129
- selectRange(endCell) {
130
- const rangeCells = this.calculateRangeCells(endCell);
131
- this.emitSelection(rangeCells, true, false);
132
- }
133
- updateSelection(currentCell) {
134
- const rangeCells = this.calculateRangeBetweenCells(this.selectionStartCell, currentCell);
135
- this.emitSelection(rangeCells, true, false);
136
- }
137
- updateDraggedCells(currentCell) {
138
- // this.draggedCells.set(rangeCells);
139
- }
140
- emitSelection(cells, isRange, isToggle) {
141
- this._selectedCells = cells;
142
- this.selectionChangeSubject.next({
143
- selectedCells: cells,
144
- isRangeSelection: isRange,
145
- isToggleSelection: isToggle,
146
- });
147
- }
148
- calculateRangeCells(endCell) {
149
- if (isEmptyArray(this.selectedCells)) {
150
- this.currentRangeColumnFirstIndex = -1;
151
- this.currentRangeColumnLastIndex = -1;
152
- return [endCell];
153
- }
154
- const lastSelectedCell = this.findFirstSelectedCell(this.selectedCells);
155
- return this.calculateRangeBetweenCells(lastSelectedCell, endCell);
156
- }
157
- calculateRangeBetweenCells(startCell, endCell) {
158
- // Get first cell coordinates, then add this cell as a range
159
- const firstRowId = Math.min(startCell.rowId, endCell.rowId);
160
- const lastRowId = Math.max(startCell.rowId, endCell.rowId);
161
- const startColumnIndex = this.selectableColumns.indexOf(startCell.columnName);
162
- const endColumnIndex = this.selectableColumns.indexOf(endCell.columnName);
163
- if (endColumnIndex !== -1) {
164
- this.currentRangeColumnFirstIndex = Math.min(startColumnIndex, endColumnIndex);
165
- this.currentRangeColumnLastIndex = Math.max(startColumnIndex, endColumnIndex);
166
- }
167
- // Iterate columns and rows
168
- const rangeCells = [];
169
- for (let i = this.currentRangeColumnFirstIndex; i <= this.currentRangeColumnLastIndex; i++) {
170
- const columnName = this.selectableColumns[i];
171
- for (let rowId = firstRowId; rowId <= lastRowId; rowId++) {
172
- rangeCells.push(this.new({ rowId: rowId, columnName: columnName }));
173
- }
174
- }
175
- return rangeCells;
176
- }
177
- resetSelectionState() {
178
- this.selectionStartCell = null;
179
- this.isSelecting = false;
180
- }
181
- resetDragState() {
182
- this.dragStartCell = null;
183
- this.isDragging = false;
184
- this.draggedCells = [];
185
- }
186
- findFirstSelectedCell(selectedCells) {
187
- // Find the cell with the lowest rowId and columnIndex
188
- return this.findSelectedCell(selectedCells, Math.min(...selectedCells.map((cell) => cell.rowId)), Math.min(...selectedCells.map((cell) => this.selectableColumns.indexOf(cell.columnName))));
189
- }
190
- findLastSelectedCell(selectedCells) {
191
- // Find the cell with the lowest rowId and columnIndex
192
- return this.findSelectedCell(selectedCells, Math.max(...selectedCells.map((cell) => cell.rowId)), Math.max(...selectedCells.map((cell) => this.selectableColumns.indexOf(cell.columnName))));
193
- }
194
- findSelectedCell(selectedCells, rowId, columnIndex) {
195
- // Find the cell with the current indexes
196
- return selectedCells.filter((cell) => cell.rowId === rowId && cell.columnName === this.selectableColumns[columnIndex])[0];
197
- }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
199
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionService });
200
- }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionService, decorators: [{
202
- type: Injectable
203
- }], ctorParameters: () => [] });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1zZWxlY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvY2VsbC1zZWxlY3Rpb24vY2VsbC1zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksY0FBYyxDQUF1QixzQkFBc0IsQ0FBQyxDQUFDO0FBQ2pILE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLElBQUksY0FBYyxDQUFrQyw0QkFBNEIsQ0FBQyxDQUFDO0FBa0J6STs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixnQkFBZ0I7SUFDaEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLGlCQUFpQixHQUFhLEVBQUUsQ0FBQztJQUNqQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLGtCQUFrQjtJQUNWLGNBQWMsR0FBUSxFQUFFLENBQUM7SUFDekIsa0JBQWtCLEdBQWEsSUFBSSxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFekMsYUFBYTtJQUNiLFlBQVksR0FBUSxFQUFFLENBQUM7SUFDZixhQUFhLEdBQWEsSUFBSSxDQUFDO0lBQy9CLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFM0IsY0FBYztJ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QyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUgsQ0FBQzt3R0FoT1Usb0JBQW9COzRHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc0VtcHR5QXJyYXkgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRXF1YWxzRm4gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBBUFBfQ0VMTF9TRUxFQ1RJT05fU0VSVklDRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDZWxsU2VsZWN0aW9uU2VydmljZT4oJ0NlbGxTZWxlY3Rpb25TZXJ2aWNlJyk7XG5leHBvcnQgY29uc3QgQVBQX0NFTExfU0VMRUNUSU9OX1NFUlZJQ0VfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPENlbGxTZWxlY3Rpb25TZXJ2aWNlQ29uZmlnPGFueT4+KCdDZWxsU2VsZWN0aW9uU2VydmljZUNvbmZpZycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDZWxsSWQge1xuICByb3dJZDogbnVtYmVyO1xuICBjb2x1bW5OYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFNlbGVjdGlvbkV2ZW50PEMgZXh0ZW5kcyBJQ2VsbElkPiB7XG4gIHNlbGVjdGVkQ2VsbHM6IENbXTtcbiAgaXNSYW5nZVNlbGVjdGlvbjogYm9vbGVhbjtcbiAgaXNUb2dnbGVTZWxlY3Rpb246IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFNlbGVjdGlvblNlcnZpY2VDb25maWc8QyBleHRlbmRzIElDZWxsSWQ+IHtcbiAgZXF1YWxzOiBFcXVhbHNGbjxDPjtcbiAgbmV3OiAoY2VsbElkOiBJQ2VsbElkKSA9PiBDO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgdG8gbWFuYWdlIGNlbGwgc2VsZWN0aW9uIHN0YXRlIGFjcm9zcyBtdWx0aXBsZSBkaXJlY3RpdmUgaW5zdGFuY2VzLlxuICogVGhpcyBzZXJ2aWNlIHNob3VsZCBiZSBwcm92aWRlZCBhdCB0aGUgY29tcG9uZW50IGxldmVsIChub3Qgcm9vdCkgdG8gZW5zdXJlXG4gKiBwcm9wZXIgaXNvbGF0aW9uIGJldHdlZW4gZGlmZmVyZW50IHRhYmxlIGluc3RhbmNlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENlbGxTZWxlY3Rpb25TZXJ2aWNlPEMgZXh0ZW5kcyBJQ2VsbElkID0gSUNlbGxJZD4ge1xuICAvLyBDb25maWd1cmF0aW9uXG4gIGNvbmZpZyA9IGluamVjdChBUFBfQ0VMTF9TRUxFQ1RJT05fU0VSVklDRV9DT05GSUdfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHNlbGVjdGFibGVDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8vIFNlbGVjdGlvbiBzdGF0ZVxuICBwcml2YXRlIF9zZWxlY3RlZENlbGxzOiBDW10gPSBbXTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb25TdGFydENlbGw6IEMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpc1NlbGVjdGluZyA9IGZhbHNlO1xuICBwcml2YXRlIGN1cnJlbnRSYW5nZUNvbHVtbkZpcnN0SW5kZXggPSAtMTtcbiAgcHJpdmF0ZSBjdXJyZW50UmFuZ2VDb2x1bW5MYXN0SW5kZXggPSAtMTtcblxuICAvLyBEcmFnIHN0YXRlXG4gIGRyYWdnZWRDZWxsczogQ1tdID0gW107XG4gIHByaXZhdGUgZHJhZ1N0YXJ0Q2VsbDogQyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICAvLyBPYnNlcnZhYmxlc1xuICByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8Q2VsbFNlbGVjdGlvbkV2ZW50PEM+PigpO1xuICByZWFkb25seSBzZWxlY3Rpb25SaWdodENsaWNrU3ViamVjdCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgLy8gT3ZlcnJpZGFibGUgbWV0aG9kc1xuICBwcml2YXRlIHJlYWRvbmx5IF9lcXVhbHM6IEVxdWFsc0ZuPEM+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZXc6IChjZWxsSWQ6IElDZWxsSWQpID0+IEM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fZXF1YWxzID0gdGhpcy5jb25maWc/LmVxdWFscztcbiAgICB0aGlzLl9uZXcgPSB0aGlzLmNvbmZpZz8ubmV3O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgbWV0aG9kXG4gIGVxdWFscyhjZWxsMTogQywgY2VsbDI6IEMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXF1YWxzID8gdGhpcy5fZXF1YWxzKGNlbGwxLCBjZWxsMikgOiBjZWxsMT8ucm93SWQgPT09IGNlbGwyPy5yb3dJZCAmJiBjZWxsMT8uY29sdW1uTmFtZSA9PT0gY2VsbDI/LmNvbHVtbk5hbWU7XG4gIH1cblxuICAvLyBPdmVycmlkZSBtZXRob2RcbiAgbmV3KGNlbGxJZDogSUNlbGxJZCk6IEMge1xuICAgIHJldHVybiB0aGlzLl9uZXcgPyB0aGlzLl9uZXcoY2VsbElkKSA6IChjZWxsSWQgYXMgQyk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRDZWxscygpOiBDW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZENlbGxzO1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkQ2VsbHModmFsdWU6IENbXSkge1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbih2YWx1ZSwgZmFsc2UsIGZhbHNlKTtcbiAgfVxuXG4gIGlzQ2VsbFNlbGVjdGVkKGNlbGxJZDogQyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2VsbHMuc29tZSgoc2VsZWN0ZWRDZWxsKSA9PiB0aGlzLmVxdWFscyhzZWxlY3RlZENlbGwsIGNlbGxJZCkpO1xuICB9XG5cbiAgaXNDZWxsRHJhZ2dlZChjZWxsSWQ6IEMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kcmFnZ2VkQ2VsbHMuc29tZSgoc2VsZWN0ZWRDZWxsKSA9PiB0aGlzLmVxdWFscyhzZWxlY3RlZENlbGwsIGNlbGxJZCkpO1xuICB9XG5cbiAgLy8gQ29yZSBzZWxlY3Rpb24gbG9naWMgKG1vdmVkIGZyb20gQ2VsbElkZW50aWZpZXJEaXJlY3RpdmUpXG4gIGFzeW5jIGhhbmRsZUNlbGxNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGNlbGxJZDogQykge1xuICAgIC8vIFByZXZlbnQgc2VsZWN0aW9uIGlmIGNlbGwncyBjb2x1bW4gaXMgbm90IHNlbGVjdGFibGUgb3IgZGlzYWJsZWRcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5zZWxlY3RhYmxlQ29sdW1ucy5pbmNsdWRlcyhjZWxsSWQuY29sdW1uTmFtZSkpIHtcbiAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbihbXSwgZmFsc2UsIGZhbHNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgcmlnaHQgY2xpY2tcbiAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAyICYmIHRoaXMuc2VsZWN0aW9uUmlnaHRDbGlja1N1YmplY3Qub2JzZXJ2ZWQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5zZWxlY3Rpb25SaWdodENsaWNrU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0N0cmxLZXkgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG4gICAgY29uc3QgaXNTaGlmdEtleSA9IGV2ZW50LnNoaWZ0S2V5O1xuICAgIGNvbnN0IG5ld0NlbGxJZCA9IHRoaXMubmV3KGNlbGxJZCk7XG5cbiAgICBpZiAoIWlzU2hpZnRLZXkgJiYgIWlzQ3RybEtleSkge1xuICAgICAgdGhpcy5zdGFydFNlbGVjdGlvbihuZXdDZWxsSWQpO1xuICAgICAgLy8gdGhpcy5zdGFydERyYWdTZWxlY3Rpb24oY2VsbCk7XG4gICAgfSBlbHNlIGlmIChpc0N0cmxLZXkpIHtcbiAgICAgIHRoaXMudG9nZ2xlQ2VsbFNlbGVjdGlvbihuZXdDZWxsSWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTaGlmdEtleSkge1xuICAgICAgdGhpcy5zZWxlY3RSYW5nZShuZXdDZWxsSWQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhbmRsZUNlbGxNb3VzZUVudGVyKGV2ZW50OiBNb3VzZUV2ZW50LCBjZWxsSWQ6IEMpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5zZWxlY3RhYmxlQ29sdW1ucy5pbmNsdWRlcyhjZWxsSWQuY29sdW1uTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVE9ETyBjaGVjayBpZiBuZXh0IGNlbGwgY2FuIGJlIHNlbGVjdGVkXG5cbiAgICBpZiAodGhpcy5pc1NlbGVjdGluZyAmJiB0aGlzLnNlbGVjdGlvblN0YXJ0Q2VsbCkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb24oY2VsbElkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEcmFnZ2luZyAmJiB0aGlzLmRyYWdTdGFydENlbGwpIHtcbiAgICAgIHRoaXMudXBkYXRlRHJhZ2dlZENlbGxzKGNlbGxJZCk7XG4gICAgfVxuICB9XG5cbiAgZW5kTW91c2VNb3ZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0aW5nKSB7XG4gICAgICB0aGlzLnJlc2V0U2VsZWN0aW9uU3RhdGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgdGhpcy5yZXNldERyYWdTdGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByaXZhdGUgaGVscGVyIG1ldGhvZHNcbiAgcHJpdmF0ZSBzdGFydFNlbGVjdGlvbihjZWxsSWQ6IEMpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvblN0YXJ0Q2VsbCA9IGNlbGxJZDtcbiAgICB0aGlzLmlzU2VsZWN0aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmN1cnJlbnRSYW5nZUNvbHVtbkZpcnN0SW5kZXggPSAtMTtcbiAgICB0aGlzLmN1cnJlbnRSYW5nZUNvbHVtbkxhc3RJbmRleCA9IC0xO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbihbY2VsbElkXSwgZmFsc2UsIGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnREcmFnU2VsZWN0aW9uKGNlbGxJZDogQyk6IHZvaWQge1xuICAgIHRoaXMuZHJhZ1N0YXJ0Q2VsbCA9IGNlbGxJZDtcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuZHJhZ2dlZENlbGxzID0gW2NlbGxJZF07XG4gICAgLy8gdGhpcy5lbWl0U2VsZWN0aW9uKFtjZWxsSWRdLCBmYWxzZSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVDZWxsU2VsZWN0aW9uKGNlbGxJZDogQyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRDZWxscyA9IFsuLi50aGlzLnNlbGVjdGVkQ2VsbHNdO1xuICAgIGNvbnN0IGNlbGxJbmRleCA9IGN1cnJlbnRDZWxscy5maW5kSW5kZXgoKGMpID0+IHRoaXMuZXF1YWxzKGMsIGNlbGxJZCkpO1xuXG4gICAgaWYgKGNlbGxJbmRleCA+PSAwKSB7XG4gICAgICBjdXJyZW50Q2VsbHMuc3BsaWNlKGNlbGxJbmRleCwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRDZWxscy5wdXNoKGNlbGxJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0U2VsZWN0aW9uKGN1cnJlbnRDZWxscywgZmFsc2UsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RSYW5nZShlbmRDZWxsOiBDKTogdm9pZCB7XG4gICAgY29uc3QgcmFuZ2VDZWxscyA9IHRoaXMuY2FsY3VsYXRlUmFuZ2VDZWxscyhlbmRDZWxsKTtcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24ocmFuZ2VDZWxscywgdHJ1ZSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb24oY3VycmVudENlbGw6IEMpOiB2b2lkIHtcbiAgICBjb25zdCByYW5nZUNlbGxzID0gdGhpcy5jYWxjdWxhdGVSYW5nZUJldHdlZW5DZWxscyh0aGlzLnNlbGVjdGlvblN0YXJ0Q2VsbCwgY3VycmVudENlbGwpO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbihyYW5nZUNlbGxzLCB0cnVlLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURyYWdnZWRDZWxscyhjdXJyZW50Q2VsbDogQyk6IHZvaWQge1xuICAgIC8vIHRoaXMuZHJhZ2dlZENlbGxzLnNldChyYW5nZUNlbGxzKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFNlbGVjdGlvbihjZWxsczogQ1tdLCBpc1JhbmdlOiBib29sZWFuLCBpc1RvZ2dsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkQ2VsbHMgPSBjZWxscztcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZVN1YmplY3QubmV4dCh7XG4gICAgICBzZWxlY3RlZENlbGxzOiBjZWxscyxcbiAgICAgIGlzUmFuZ2VTZWxlY3Rpb246IGlzUmFuZ2UsXG4gICAgICBpc1RvZ2dsZVNlbGVjdGlvbjogaXNUb2dnbGUsXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVSYW5nZUNlbGxzKGVuZENlbGw6IEMpOiBDW10ge1xuICAgIGlmIChpc0VtcHR5QXJyYXkodGhpcy5zZWxlY3RlZENlbGxzKSkge1xuICAgICAgdGhpcy5jdXJyZW50UmFuZ2VDb2x1bW5GaXJzdEluZGV4ID0gLTE7XG4gICAgICB0aGlzLmN1cnJlbnRSYW5nZUNvbHVtbkxhc3RJbmRleCA9IC0xO1xuICAgICAgcmV0dXJuIFtlbmRDZWxsXTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0U2VsZWN0ZWRDZWxsID0gdGhpcy5maW5kRmlyc3RTZWxlY3RlZENlbGwodGhpcy5zZWxlY3RlZENlbGxzKTtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVSYW5nZUJldHdlZW5DZWxscyhsYXN0U2VsZWN0ZWRDZWxsLCBlbmRDZWxsKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVJhbmdlQmV0d2VlbkNlbGxzKHN0YXJ0Q2VsbDogQywgZW5kQ2VsbDogQyk6IENbXSB7XG4gICAgLy8gR2V0IGZpcnN0IGNlbGwgY29vcmRpbmF0ZXMsIHRoZW4gYWRkIHRoaXMgY2VsbCBhcyBhIHJhbmdlXG4gICAgY29uc3QgZmlyc3RSb3dJZCA9IE1hdGgubWluKHN0YXJ0Q2VsbC5yb3dJZCwgZW5kQ2VsbC5yb3dJZCk7XG4gICAgY29uc3QgbGFzdFJvd0lkID0gTWF0aC5tYXgoc3RhcnRDZWxsLnJvd0lkLCBlbmRDZWxsLnJvd0lkKTtcbiAgICBjb25zdCBzdGFydENvbHVtbkluZGV4ID0gdGhpcy5zZWxlY3RhYmxlQ29sdW1ucy5pbmRleE9mKHN0YXJ0Q2VsbC5jb2x1bW5OYW1lKTtcbiAgICBjb25zdCBlbmRDb2x1bW5JbmRleCA9IHRoaXMuc2VsZWN0YWJsZUNvbHVtbnMuaW5kZXhPZihlbmRDZWxsLmNvbHVtbk5hbWUpO1xuICAgIGlmIChlbmRDb2x1bW5JbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlQ29sdW1uRmlyc3RJbmRleCA9IE1hdGgubWluKHN0YXJ0Q29sdW1uSW5kZXgsIGVuZENvbHVtbkluZGV4KTtcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlQ29sdW1uTGFzdEluZGV4ID0gTWF0aC5tYXgoc3RhcnRDb2x1bW5JbmRleCwgZW5kQ29sdW1uSW5kZXgpO1xuICAgIH1cbiAgICAvLyBJdGVyYXRlIGNvbHVtbnMgYW5kIHJvd3NcbiAgICBjb25zdCByYW5nZUNlbGxzOiBDW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5jdXJyZW50UmFuZ2VDb2x1bW5GaXJzdEluZGV4OyBpIDw9IHRoaXMuY3VycmVudFJhbmdlQ29sdW1uTGFzdEluZGV4OyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSB0aGlzLnNlbGVjdGFibGVDb2x1bW5zW2ldO1xuICAgICAgZm9yIChsZXQgcm93SWQgPSBmaXJzdFJvd0lkOyByb3dJZCA8PSBsYXN0Um93SWQ7IHJvd0lkKyspIHtcbiAgICAgICAgcmFuZ2VDZWxscy5wdXNoKHRoaXMubmV3KHsgcm93SWQ6IHJvd0lkLCBjb2x1bW5OYW1lOiBjb2x1bW5OYW1lIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmFuZ2VDZWxscztcbiAgfVxuXG4gIHJlc2V0U2VsZWN0aW9uU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25TdGFydENlbGwgPSBudWxsO1xuICAgIHRoaXMuaXNTZWxlY3RpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc2V0RHJhZ1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJhZ1N0YXJ0Q2VsbCA9IG51bGw7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kcmFnZ2VkQ2VsbHMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpcnN0U2VsZWN0ZWRDZWxsKHNlbGVjdGVkQ2VsbHM6IENbXSk6IEMge1xuICAgIC8vIEZpbmQgdGhlIGNlbGwgd2l0aCB0aGUgbG93ZXN0IHJvd0lkIGFuZCBjb2x1bW5JbmRleFxuICAgIHJldHVybiB0aGlzLmZpbmRTZWxlY3RlZENlbGwoXG4gICAgICBzZWxlY3RlZENlbGxzLFxuICAgICAgTWF0aC5taW4oLi4uc2VsZWN0ZWRDZWxscy5tYXAoKGNlbGwpID0+IGNlbGwucm93SWQpKSxcbiAgICAgIE1hdGgubWluKC4uLnNlbGVjdGVkQ2VsbHMubWFwKChjZWxsKSA9PiB0aGlzLnNlbGVjdGFibGVDb2x1bW5zLmluZGV4T2YoY2VsbC5jb2x1bW5OYW1lKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZExhc3RTZWxlY3RlZENlbGwoc2VsZWN0ZWRDZWxsczogQ1tdKTogQyB7XG4gICAgLy8gRmluZCB0aGUgY2VsbCB3aXRoIHRoZSBsb3dlc3Qgcm93SWQgYW5kIGNvbHVtbkluZGV4XG4gICAgcmV0dXJuIHRoaXMuZmluZFNlbGVjdGVkQ2VsbChcbiAgICAgIHNlbGVjdGVkQ2VsbHMsXG4gICAgICBNYXRoLm1heCguLi5zZWxlY3RlZENlbGxzLm1hcCgoY2VsbCkgPT4gY2VsbC5yb3dJZCkpLFxuICAgICAgTWF0aC5tYXgoLi4uc2VsZWN0ZWRDZWxscy5tYXAoKGNlbGwpID0+IHRoaXMuc2VsZWN0YWJsZUNvbHVtbnMuaW5kZXhPZihjZWxsLmNvbHVtbk5hbWUpKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWRDZWxsKHNlbGVjdGVkQ2VsbHM6IENbXSwgcm93SWQ6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IEMge1xuICAgIC8vIEZpbmQgdGhlIGNlbGwgd2l0aCB0aGUgY3VycmVudCBpbmRleGVzXG4gICAgcmV0dXJuIHNlbGVjdGVkQ2VsbHMuZmlsdGVyKChjZWxsKSA9PiBjZWxsLnJvd0lkID09PSByb3dJZCAmJiBjZWxsLmNvbHVtbk5hbWUgPT09IHRoaXMuc2VsZWN0YWJsZUNvbHVtbnNbY29sdW1uSW5kZXhdKVswXTtcbiAgfVxufVxuIl19
@@ -1,53 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { IonicModule } from '@ionic/angular';
4
- import { AutofocusDirective } from './autofocus.directive';
5
- import { NgVarDirective } from './ng-var.directive';
6
- import { DragAndDropDirective } from './drag-and-drop.directive';
7
- import { AutoTitleDirective } from './autotitle.directive';
8
- import { ThrottledClickDirective } from './throttled-click.directive';
9
- import { AutoResizeDirective } from './autoresize.directive';
10
- import { AutoTooltipDirective } from './autotooltip.directive';
11
- import * as i0 from "@angular/core";
12
- export class SharedDirectivesModule {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, declarations: [AutofocusDirective,
15
- NgVarDirective,
16
- DragAndDropDirective,
17
- AutoTitleDirective,
18
- ThrottledClickDirective,
19
- AutoResizeDirective,
20
- AutoTooltipDirective], imports: [CommonModule, IonicModule], exports: [AutofocusDirective,
21
- NgVarDirective,
22
- DragAndDropDirective,
23
- AutoTitleDirective,
24
- ThrottledClickDirective,
25
- AutoResizeDirective,
26
- AutoTooltipDirective] });
27
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, imports: [CommonModule, IonicModule] });
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, decorators: [{
30
- type: NgModule,
31
- args: [{
32
- imports: [CommonModule, IonicModule],
33
- declarations: [
34
- AutofocusDirective,
35
- NgVarDirective,
36
- DragAndDropDirective,
37
- AutoTitleDirective,
38
- ThrottledClickDirective,
39
- AutoResizeDirective,
40
- AutoTooltipDirective,
41
- ],
42
- exports: [
43
- AutofocusDirective,
44
- NgVarDirective,
45
- DragAndDropDirective,
46
- AutoTitleDirective,
47
- ThrottledClickDirective,
48
- AutoResizeDirective,
49
- AutoTooltipDirective,
50
- ],
51
- }]
52
- }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBdUIvRCxNQUFNLE9BQU8sc0JBQXNCO3dHQUF0QixzQkFBc0I7eUdBQXRCLHNCQUFzQixpQkFsQi9CLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLG9CQUFvQixhQVJaLFlBQVksRUFBRSxXQUFXLGFBV2pDLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLG9CQUFvQjt5R0FHWCxzQkFBc0IsWUFwQnZCLFlBQVksRUFBRSxXQUFXOzs0RkFvQnhCLHNCQUFzQjtrQkFyQmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztvQkFDcEMsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQXV0b2ZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5nVmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9uZy12YXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyYWdBbmREcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG90aXRsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGhyb3R0bGVkQ2xpY2tEaXJlY3RpdmUgfSBmcm9tICcuL3Rocm90dGxlZC1jbGljay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0b1Jlc2l6ZURpcmVjdGl2ZSB9IGZyb20gJy4vYXV0b3Jlc2l6ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0b1Rvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL2F1dG90b29sdGlwLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbmljTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIE5nVmFyRGlyZWN0aXZlLFxuICAgIERyYWdBbmREcm9wRGlyZWN0aXZlLFxuICAgIEF1dG9UaXRsZURpcmVjdGl2ZSxcbiAgICBUaHJvdHRsZWRDbGlja0RpcmVjdGl2ZSxcbiAgICBBdXRvUmVzaXplRGlyZWN0aXZlLFxuICAgIEF1dG9Ub29sdGlwRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIE5nVmFyRGlyZWN0aXZlLFxuICAgIERyYWdBbmREcm9wRGlyZWN0aXZlLFxuICAgIEF1dG9UaXRsZURpcmVjdGl2ZSxcbiAgICBUaHJvdHRsZWRDbGlja0RpcmVjdGl2ZSxcbiAgICBBdXRvUmVzaXplRGlyZWN0aXZlLFxuICAgIEF1dG9Ub29sdGlwRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWREaXJlY3RpdmVzTW9kdWxlIHt9XG4iXX0=
@@ -1,52 +0,0 @@
1
- import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';
2
- import { isNotEmptyArray } from '../functions';
3
- import * as i0 from "@angular/core";
4
- export class DragAndDropDirective {
5
- fileOver;
6
- fileDropped = new EventEmitter();
7
- // Dragover listener
8
- onDragOver(event) {
9
- event.preventDefault();
10
- event.stopPropagation();
11
- this.fileOver = true;
12
- }
13
- // Dragleave listener
14
- onDragLeave(event) {
15
- event.preventDefault();
16
- event.stopPropagation();
17
- this.fileOver = false;
18
- }
19
- // Drop listener
20
- ondrop(event) {
21
- event.preventDefault();
22
- event.stopPropagation();
23
- this.fileOver = false;
24
- const files = event.dataTransfer?.files;
25
- if (isNotEmptyArray(files)) {
26
- this.fileDropped.emit(files);
27
- }
28
- }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
30
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.fileover": "this.fileOver" } }, ngImport: i0 });
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragAndDropDirective, decorators: [{
33
- type: Directive,
34
- args: [{
35
- selector: '[appDragAndDrop]',
36
- }]
37
- }], propDecorators: { fileOver: [{
38
- type: HostBinding,
39
- args: ['class.fileover']
40
- }], fileDropped: [{
41
- type: Output
42
- }], onDragOver: [{
43
- type: HostListener,
44
- args: ['dragover', ['$event']]
45
- }], onDragLeave: [{
46
- type: HostListener,
47
- args: ['dragleave', ['$event']]
48
- }], ondrop: [{
49
- type: HostListener,
50
- args: ['drop', ['$event']]
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL2RyYWctYW5kLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBVy9DLE1BQU0sT0FBTyxvQkFBb0I7SUFDQSxRQUFRLENBQVU7SUFFdkMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFFbkQsb0JBQW9CO0lBRXBCLFVBQVUsQ0FBQyxLQUFZO1FBQ3JCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVELHFCQUFxQjtJQUVkLFdBQVcsQ0FBQyxLQUFZO1FBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGdCQUFnQjtJQUVULE1BQU0sQ0FBQyxLQUFnQjtRQUM1QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO1FBRXhDLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7d0dBaENVLG9CQUFvQjs0RkFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzhCQUVnQyxRQUFRO3NCQUF0QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFbkIsV0FBVztzQkFBcEIsTUFBTTtnQkFJUCxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVM3QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTOUIsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTm90RW1wdHlBcnJheSB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbmludGVyZmFjZSBEcm9wRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGRhdGFUcmFuc2Zlcj86IHtcbiAgICBmaWxlcz86IEZpbGVbXTtcbiAgfTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcERyYWdBbmREcm9wXScsXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5maWxlb3ZlcicpIGZpbGVPdmVyOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBmaWxlRHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuXG4gIC8vIERyYWdvdmVyIGxpc3RlbmVyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcbiAgb25EcmFnT3ZlcihldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZmlsZU92ZXIgPSB0cnVlO1xuICB9XG5cbiAgLy8gRHJhZ2xlYXZlIGxpc3RlbmVyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgfVxuXG4gIC8vIERyb3AgbGlzdGVuZXJcbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbmRyb3AoZXZlbnQ6IERyb3BFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5maWxlT3ZlciA9IGZhbHNlO1xuICAgIGNvbnN0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcztcblxuICAgIGlmIChpc05vdEVtcHR5QXJyYXkoZmlsZXMpKSB7XG4gICAgICB0aGlzLmZpbGVEcm9wcGVkLmVtaXQoZmlsZXMpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,33 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgVarDirective {
4
- templateRef;
5
- vcRef;
6
- set ngVar(context) {
7
- this.context.$implicit = this.context.ngVar = context;
8
- if (!this.hasView) {
9
- this.vcRef.createEmbeddedView(this.templateRef, this.context);
10
- this.hasView = true;
11
- }
12
- }
13
- context = {
14
- $implicit: null,
15
- ngVar: null,
16
- };
17
- hasView = false;
18
- constructor(templateRef, vcRef) {
19
- this.templateRef = templateRef;
20
- this.vcRef = vcRef;
21
- }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVarDirective, decorators: [{
26
- type: Directive,
27
- args: [{
28
- selector: '[ngVar]',
29
- }]
30
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { ngVar: [{
31
- type: Input
32
- }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvbmctdmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUMsTUFBTSxlQUFlLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxjQUFjO0lBc0JmO0lBQ0E7SUF0QlYsSUFDSSxLQUFLLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBRXRELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLE9BQU8sR0FHWDtRQUNGLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDO0lBRU0sT0FBTyxHQUFHLEtBQUssQ0FBQztJQUV4QixZQUNVLFdBQTZCLEVBQzdCLEtBQXVCO1FBRHZCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUM5QixDQUFDO3dHQXhCTyxjQUFjOzRGQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFNBQVM7aUJBQ3BCOytHQUdLLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ1Zhcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBOZ1ZhckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIHNldCBuZ1Zhcihjb250ZXh0OiB1bmtub3duKSB7XG4gICAgdGhpcy5jb250ZXh0LiRpbXBsaWNpdCA9IHRoaXMuY29udGV4dC5uZ1ZhciA9IGNvbnRleHQ7XG5cbiAgICBpZiAoIXRoaXMuaGFzVmlldykge1xuICAgICAgdGhpcy52Y1JlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy5jb250ZXh0KTtcbiAgICAgIHRoaXMuaGFzVmlldyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb250ZXh0OiB7XG4gICAgJGltcGxpY2l0OiB1bmtub3duO1xuICAgIG5nVmFyOiB1bmtub3duO1xuICB9ID0ge1xuICAgICRpbXBsaWNpdDogbnVsbCxcbiAgICBuZ1ZhcjogbnVsbCxcbiAgfTtcblxuICBwcml2YXRlIGhhc1ZpZXcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgdmNSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7fVxufVxuIl19
@@ -1,62 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Optional, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/table";
4
- import * as i2 from "./resizable.directive";
5
- export class ResizableComponent {
6
- columnDef;
7
- resizable;
8
- sizeChanged = new EventEmitter();
9
- width = null;
10
- minWidth = null;
11
- maxWidth = null;
12
- debug = false;
13
- constructor(columnDef) {
14
- this.columnDef = columnDef;
15
- }
16
- onResize(width, opts) {
17
- if (!this.resizable)
18
- return;
19
- if (this.debug)
20
- console.info(`resize:${width}`);
21
- this.width = width + 'px';
22
- this.minWidth = width + 'px';
23
- this.maxWidth = width + 'px';
24
- if (!opts || opts.emitEvent) {
25
- this.sizeChanged.emit(width);
26
- }
27
- }
28
- onFit(opts) {
29
- if (!this.resizable)
30
- return;
31
- if (this.debug)
32
- console.info('fit');
33
- this.width = 'auto';
34
- this.minWidth = null;
35
- this.maxWidth = null;
36
- if (!opts || opts.emitEvent) {
37
- this.sizeChanged.emit(undefined);
38
- }
39
- }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableComponent, deps: [{ token: i1.MatColumnDef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizableComponent, selector: "th[resizable]", inputs: { resizable: "resizable" }, outputs: { sizeChanged: "sizeChanged" }, host: { properties: { "style.width": "this.width", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center;position:relative;height:var(--app-table-header-height, 100%)}.content{flex:1}.bar{position:relative;width:16px;justify-self:flex-end;cursor:ew-resize;opacity:0;transition:opacity .2s ease-in-out}.bar:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--ion-color-medium, #92949c);border-radius:1px;transition:all .2s ease-in-out}.bar:after{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:16px;background-image:radial-gradient(circle,var(--ion-color-medium-shade, #808289) 1.5px,transparent 1.5px);background-size:4px 5px;background-position:center;opacity:0;transition:opacity .2s ease-in-out}.bar:hover{opacity:1}.bar:hover:before{background:var(--ion-color-primary, #3880ff);height:32px;width:6px;box-shadow:0 0 8px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4)}.bar:hover:after{opacity:1}.bar:active{opacity:1}.bar:active:before{background:var(--ion-color-primary-shade, #3171e0);height:40px;width:6px;box-shadow:0 0 12px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.6)}.bar:active:after{opacity:0}:host:hover .bar{opacity:.6}:host-context(.mat-table-sticky) .bar{width:18px}:host-context(.dark-theme) .bar:before,:host-context([color-scheme=dark]) .bar:before{background:var(--ion-color-medium-tint, #a2a4ab)}:host-context(.dark-theme) .bar:hover:before,:host-context([color-scheme=dark]) .bar:hover:before{background:var(--ion-color-primary-tint, #4c8dff)}:host-context(.dark-theme) .bar:active:before,:host-context([color-scheme=dark]) .bar:active:before{background:var(--ion-color-primary, #3880ff)}\n"], dependencies: [{ kind: "directive", type: i2.ResizableDirective, selector: "[resizable]", inputs: ["minWidth"], outputs: ["resizable", "fit"] }] });
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableComponent, decorators: [{
44
- type: Component,
45
- args: [{ selector: 'th[resizable]', template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center;position:relative;height:var(--app-table-header-height, 100%)}.content{flex:1}.bar{position:relative;width:16px;justify-self:flex-end;cursor:ew-resize;opacity:0;transition:opacity .2s ease-in-out}.bar:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--ion-color-medium, #92949c);border-radius:1px;transition:all .2s ease-in-out}.bar:after{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:16px;background-image:radial-gradient(circle,var(--ion-color-medium-shade, #808289) 1.5px,transparent 1.5px);background-size:4px 5px;background-position:center;opacity:0;transition:opacity .2s ease-in-out}.bar:hover{opacity:1}.bar:hover:before{background:var(--ion-color-primary, #3880ff);height:32px;width:6px;box-shadow:0 0 8px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4)}.bar:hover:after{opacity:1}.bar:active{opacity:1}.bar:active:before{background:var(--ion-color-primary-shade, #3171e0);height:40px;width:6px;box-shadow:0 0 12px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.6)}.bar:active:after{opacity:0}:host:hover .bar{opacity:.6}:host-context(.mat-table-sticky) .bar{width:18px}:host-context(.dark-theme) .bar:before,:host-context([color-scheme=dark]) .bar:before{background:var(--ion-color-medium-tint, #a2a4ab)}:host-context(.dark-theme) .bar:hover:before,:host-context([color-scheme=dark]) .bar:hover:before{background:var(--ion-color-primary-tint, #4c8dff)}:host-context(.dark-theme) .bar:active:before,:host-context([color-scheme=dark]) .bar:active:before{background:var(--ion-color-primary, #3880ff)}\n"] }]
46
- }], ctorParameters: () => [{ type: i1.MatColumnDef, decorators: [{
47
- type: Optional
48
- }] }], propDecorators: { resizable: [{
49
- type: Input
50
- }], sizeChanged: [{
51
- type: Output
52
- }], width: [{
53
- type: HostBinding,
54
- args: ['style.width']
55
- }], minWidth: [{
56
- type: HostBinding,
57
- args: ['style.min-width']
58
- }], maxWidth: [{
59
- type: HostBinding,
60
- args: ['style.max-width']
61
- }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvcmVzaXphYmxlL3Jlc2l6YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL3Jlc2l6YWJsZS9yZXNpemFibGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTOUYsTUFBTSxPQUFPLGtCQUFrQjtJQWVXO0lBZC9CLFNBQVMsQ0FBVTtJQUNsQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUduRCxLQUFLLEdBQWtCLElBQUksQ0FBQztJQUc1QixRQUFRLEdBQWtCLElBQUksQ0FBQztJQUcvQixRQUFRLEdBQWtCLElBQUksQ0FBQztJQUV2QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRXRCLFlBQXdDLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBRyxDQUFDO0lBRW5FLFFBQVEsQ0FBQyxLQUFhLEVBQUUsSUFBNkI7UUFDbkQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBNkI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzt3R0FyQ1Usa0JBQWtCOzRGQUFsQixrQkFBa0IsaVFDVC9CLGtPQU1BOzs0RkRHYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBRUUsZUFBZTs7MEJBbUJaLFFBQVE7eUNBZFosU0FBUztzQkFBakIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdQLEtBQUs7c0JBREosV0FBVzt1QkFBQyxhQUFhO2dCQUkxQixRQUFRO3NCQURQLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUk5QixRQUFRO3NCQURQLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3B0aW9uYWwsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q29sdW1uRGVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICd0aFtyZXNpemFibGVdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc2l6YWJsZS50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzaXphYmxlLnN0eWxlLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcmVzaXphYmxlOiBib29sZWFuO1xuICBAT3V0cHV0KCkgc2l6ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJylcbiAgd2lkdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgbWluV2lkdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgbWF4V2lkdGg6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgZGVidWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgcmVhZG9ubHkgY29sdW1uRGVmOiBNYXRDb2x1bW5EZWYpIHt9XG5cbiAgb25SZXNpemUod2lkdGg6IG51bWJlciwgb3B0cz86IHsgZW1pdEV2ZW50OiBib29sZWFuIH0pIHtcbiAgICBpZiAoIXRoaXMucmVzaXphYmxlKSByZXR1cm47XG4gICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuaW5mbyhgcmVzaXplOiR7d2lkdGh9YCk7XG4gICAgdGhpcy53aWR0aCA9IHdpZHRoICsgJ3B4JztcbiAgICB0aGlzLm1pbldpZHRoID0gd2lkdGggKyAncHgnO1xuICAgIHRoaXMubWF4V2lkdGggPSB3aWR0aCArICdweCc7XG4gICAgaWYgKCFvcHRzIHx8IG9wdHMuZW1pdEV2ZW50KSB7XG4gICAgICB0aGlzLnNpemVDaGFuZ2VkLmVtaXQod2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIG9uRml0KG9wdHM/OiB7IGVtaXRFdmVudDogYm9vbGVhbiB9KSB7XG4gICAgaWYgKCF0aGlzLnJlc2l6YWJsZSkgcmV0dXJuO1xuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmluZm8oJ2ZpdCcpO1xuICAgIHRoaXMud2lkdGggPSAnYXV0byc7XG4gICAgdGhpcy5taW5XaWR0aCA9IG51bGw7XG4gICAgdGhpcy5tYXhXaWR0aCA9IG51bGw7XG4gICAgaWYgKCFvcHRzIHx8IG9wdHMuZW1pdEV2ZW50KSB7XG4gICAgICB0aGlzLnNpemVDaGFuZ2VkLmVtaXQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImJhclwiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cIiFyZXNpemFibGVcIiAocmVzaXphYmxlKT1cIm9uUmVzaXplKCRldmVudClcIiAoZml0KT1cIm9uRml0KClcIj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,96 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { DestroyRef, Directive, ElementRef, inject, Inject, Input, Output } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { distinctUntilChanged, map, switchMap, takeUntil, tap } from 'rxjs/operators';
5
- import { fromEvent } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- /** Largeur minimale par défaut d'une colonne en pixels */
8
- const DEFAULT_MIN_WIDTH = 50;
9
- export class ResizableDirective {
10
- document;
11
- elementRef;
12
- destroyRef = inject(DestroyRef);
13
- /** Largeur minimale absolue de la colonne en pixels */
14
- minWidth = DEFAULT_MIN_WIDTH;
15
- resizable;
16
- // fit: doubleclick (utilise l'événement natif dblclick)
17
- fit;
18
- constructor(document, elementRef) {
19
- this.document = document;
20
- this.elementRef = elementRef;
21
- // resize: mousedown -> mousemove -> mouseup
22
- this.resizable = fromEvent(this.elementRef.nativeElement, 'mousedown').pipe(takeUntilDestroyed(this.destroyRef), tap((e) => {
23
- e.preventDefault();
24
- e.stopPropagation();
25
- }), switchMap((startEvent) => {
26
- const thElement = this.elementRef.nativeElement.closest('th');
27
- if (!thElement) {
28
- return [];
29
- }
30
- const { width } = thElement.getBoundingClientRect();
31
- const startX = startEvent.clientX;
32
- // Calcul de la largeur minimale basée sur la largeur du tableau
33
- const minAllowedWidth = this.calculateMinWidth(thElement);
34
- return fromEvent(this.document, 'mousemove').pipe(map((moveEvent) => {
35
- const deltaX = moveEvent.clientX - startX;
36
- const newWidth = width + deltaX;
37
- // Appliquer la limite minimale
38
- return Math.max(newWidth, minAllowedWidth);
39
- }), distinctUntilChanged(), takeUntil(fromEvent(this.document, 'mouseup')));
40
- }));
41
- // fit: utilise l'événement natif dblclick pour une détection fiable
42
- this.fit = fromEvent(this.elementRef.nativeElement, 'dblclick').pipe(takeUntilDestroyed(this.destroyRef));
43
- }
44
- /**
45
- * Calcule la largeur minimale autorisée pour la colonne courante.
46
- * La largeur minimale est calculée pour que la somme des largeurs de toutes les colonnes
47
- * ne dépasse pas la largeur du conteneur du tableau.
48
- *
49
- * @param currentTh L'élément th de la colonne en cours de redimensionnement
50
- * @returns La largeur minimale en pixels
51
- */
52
- calculateMinWidth(currentTh) {
53
- // Trouver le conteneur du tableau (div.table-container)
54
- const tableContainer = currentTh.closest('div.table-container');
55
- if (!tableContainer) {
56
- return this.minWidth;
57
- }
58
- // Obtenir la largeur du conteneur
59
- const containerWidth = tableContainer.getBoundingClientRect().width;
60
- // Trouver toutes les colonnes du header dans le conteneur
61
- const allColumns = Array.from(tableContainer.querySelectorAll('th'));
62
- // Calculer la somme des largeurs des autres colonnes
63
- let otherColumnsWidth = 0;
64
- for (const th of allColumns) {
65
- if (th !== currentTh) {
66
- otherColumnsWidth += th.getBoundingClientRect().width;
67
- }
68
- }
69
- // La largeur minimale est la largeur du conteneur moins les autres colonnes
70
- // avec un minimum absolu défini par minWidth
71
- const calculatedMinWidth = containerWidth - otherColumnsWidth;
72
- return Math.min(calculatedMinWidth, this.minWidth);
73
- }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
75
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ResizableDirective, selector: "[resizable]", inputs: { minWidth: "minWidth" }, outputs: { resizable: "resizable", fit: "fit" }, ngImport: i0 });
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableDirective, decorators: [{
78
- type: Directive,
79
- args: [{
80
- // eslint-disable-next-line @angular-eslint/directive-selector
81
- selector: '[resizable]',
82
- }]
83
- }], ctorParameters: () => [{ type: Document, decorators: [{
84
- type: Inject,
85
- args: [DOCUMENT]
86
- }] }, { type: i0.ElementRef, decorators: [{
87
- type: Inject,
88
- args: [ElementRef]
89
- }] }], propDecorators: { minWidth: [{
90
- type: Input
91
- }], resizable: [{
92
- type: Output
93
- }], fit: [{
94
- type: Output
95
- }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvcmVzaXphYmxlL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBRTdDLDBEQUEwRDtBQUMxRCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQU03QixNQUFNLE9BQU8sa0JBQWtCO0lBY1E7SUFDRTtJQWR0QixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWpELHVEQUF1RDtJQUM5QyxRQUFRLEdBQVcsaUJBQWlCLENBQUM7SUFHckMsU0FBUyxDQUFxQjtJQUV2Qyx3REFBd0Q7SUFFL0MsR0FBRyxDQUF5QjtJQUVyQyxZQUNxQyxRQUFrQixFQUNoQixVQUFtQztRQURyQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBRXhFLDRDQUE0QztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3JGLGtCQUFrQixDQUFD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QUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCOzswQkFlSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsVUFBVTt5Q0FYWCxRQUFRO3NCQUFoQixLQUFLO2dCQUdHLFNBQVM7c0JBRGpCLE1BQU07Z0JBS0UsR0FBRztzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdCwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKiogTGFyZ2V1ciBtaW5pbWFsZSBwYXIgZMOpZmF1dCBkJ3VuZSBjb2xvbm5lIGVuIHBpeGVscyAqL1xuY29uc3QgREVGQVVMVF9NSU5fV0lEVEggPSA1MDtcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW3Jlc2l6YWJsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgLyoqIExhcmdldXIgbWluaW1hbGUgYWJzb2x1ZSBkZSBsYSBjb2xvbm5lIGVuIHBpeGVscyAqL1xuICBASW5wdXQoKSBtaW5XaWR0aDogbnVtYmVyID0gREVGQVVMVF9NSU5fV0lEVEg7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHJlc2l6YWJsZTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIC8vIGZpdDogZG91YmxlY2xpY2sgKHV0aWxpc2UgbCfDqXbDqW5lbWVudCBuYXRpZiBkYmxjbGljaylcbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZpdDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgKSB7XG4gICAgLy8gcmVzaXplOiBtb3VzZWRvd24gLT4gbW91c2Vtb3ZlIC0+IG1vdXNldXBcbiAgICB0aGlzLnJlc2l6YWJsZSA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpLnBpcGUoXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIHRhcCgoZSkgPT4ge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoc3RhcnRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB0aEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCd0aCcpO1xuICAgICAgICBpZiAoIXRoRWxlbWVudCkge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHdpZHRoIH0gPSB0aEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHN0YXJ0WCA9IHN0YXJ0RXZlbnQuY2xpZW50WDtcblxuICAgICAgICAvLyBDYWxjdWwgZGUgbGEgbGFyZ2V1ciBtaW5pbWFsZSBiYXPDqWUgc3VyIGxhIGxhcmdldXIgZHUgdGFibGVhdVxuICAgICAgICBjb25zdCBtaW5BbGxvd2VkV2lkdGggPSB0aGlzLmNhbGN1bGF0ZU1pbldpZHRoKHRoRWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAgICAgICAgICBtYXAoKG1vdmVFdmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVsdGFYID0gbW92ZUV2ZW50LmNsaWVudFggLSBzdGFydFg7XG4gICAgICAgICAgICBjb25zdCBuZXdXaWR0aCA9IHdpZHRoICsgZGVsdGFYO1xuICAgICAgICAgICAgLy8gQXBwbGlxdWVyIGxhIGxpbWl0ZSBtaW5pbWFsZVxuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KG5ld1dpZHRoLCBtaW5BbGxvd2VkV2lkdGgpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgdGFrZVVudGlsKGZyb21FdmVudCh0aGlzLmRvY3VtZW50LCAnbW91c2V1cCcpKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gZml0OiB1dGlsaXNlIGwnw6l2w6luZW1lbnQgbmF0aWYgZGJsY2xpY2sgcG91ciB1bmUgZMOpdGVjdGlvbiBmaWFibGVcbiAgICB0aGlzLmZpdCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2RibGNsaWNrJykucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsZSBsYSBsYXJnZXVyIG1pbmltYWxlIGF1dG9yaXPDqWUgcG91ciBsYSBjb2xvbm5lIGNvdXJhbnRlLlxuICAgKiBMYSBsYXJnZXVyIG1pbmltYWxlIGVzdCBjYWxjdWzDqWUgcG91ciBxdWUgbGEgc29tbWUgZGVzIGxhcmdldXJzIGRlIHRvdXRlcyBsZXMgY29sb25uZXNcbiAgICogbmUgZMOpcGFzc2UgcGFzIGxhIGxhcmdldXIgZHUgY29udGVuZXVyIGR1IHRhYmxlYXUuXG4gICAqXG4gICAqIEBwYXJhbSBjdXJyZW50VGggTCfDqWzDqW1lbnQgdGggZGUgbGEgY29sb25uZSBlbiBjb3VycyBkZSByZWRpbWVuc2lvbm5lbWVudFxuICAgKiBAcmV0dXJucyBMYSBsYXJnZXVyIG1pbmltYWxlIGVuIHBpeGVsc1xuICAgKi9cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5XaWR0aChjdXJyZW50VGg6IEVsZW1lbnQpOiBudW1iZXIge1xuICAgIC8vIFRyb3V2ZXIgbGUgY29udGVuZXVyIGR1IHRhYmxlYXUgKGRpdi50YWJsZS1jb250YWluZXIpXG4gICAgY29uc3QgdGFibGVDb250YWluZXIgPSBjdXJyZW50VGguY2xvc2VzdCgnZGl2LnRhYmxlLWNvbnRhaW5lcicpO1xuICAgIGlmICghdGFibGVDb250YWluZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbldpZHRoO1xuICAgIH1cblxuICAgIC8vIE9idGVuaXIgbGEgbGFyZ2V1ciBkdSBjb250ZW5ldXJcbiAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRhYmxlQ29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuXG4gICAgLy8gVHJvdXZlciB0b3V0ZXMgbGVzIGNvbG9ubmVzIGR1IGhlYWRlciBkYW5zIGxlIGNvbnRlbmV1clxuICAgIGNvbnN0IGFsbENvbHVtbnMgPSBBcnJheS5mcm9tKHRhYmxlQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoJykpO1xuXG4gICAgLy8gQ2FsY3VsZXIgbGEgc29tbWUgZGVzIGxhcmdldXJzIGRlcyBhdXRyZXMgY29sb25uZXNcbiAgICBsZXQgb3RoZXJDb2x1bW5zV2lkdGggPSAwO1xuICAgIGZvciAoY29uc3QgdGggb2YgYWxsQ29sdW1ucykge1xuICAgICAgaWYgKHRoICE9PSBjdXJyZW50VGgpIHtcbiAgICAgICAgb3RoZXJDb2x1bW5zV2lkdGggKz0gdGguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGEgbGFyZ2V1ciBtaW5pbWFsZSBlc3QgbGEgbGFyZ2V1ciBkdSBjb250ZW5ldXIgbW9pbnMgbGVzIGF1dHJlcyBjb2xvbm5lc1xuICAgIC8vIGF2ZWMgdW4gbWluaW11bSBhYnNvbHUgZMOpZmluaSBwYXIgbWluV2lkdGhcbiAgICBjb25zdCBjYWxjdWxhdGVkTWluV2lkdGggPSBjb250YWluZXJXaWR0aCAtIG90aGVyQ29sdW1uc1dpZHRoO1xuXG4gICAgcmV0dXJuIE1hdGgubWluKGNhbGN1bGF0ZWRNaW5XaWR0aCwgdGhpcy5taW5XaWR0aCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ResizableComponent } from './resizable.component';
3
- import { ResizableDirective } from './resizable.directive';
4
- import * as i0 from "@angular/core";
5
- export class ResizableModule {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ResizableModule, declarations: [ResizableComponent, ResizableDirective], exports: [ResizableComponent, ResizableDirective] });
8
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableModule });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [ResizableComponent, ResizableDirective],
14
- exports: [ResizableComponent, ResizableDirective],
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvcmVzaXphYmxlL3Jlc2l6YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNM0QsTUFBTSxPQUFPLGVBQWU7d0dBQWYsZUFBZTt5R0FBZixlQUFlLGlCQUhYLGtCQUFrQixFQUFFLGtCQUFrQixhQUMzQyxrQkFBa0IsRUFBRSxrQkFBa0I7eUdBRXJDLGVBQWU7OzRGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNpemFibGVDb21wb25lbnQgfSBmcm9tICcuL3Jlc2l6YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXNpemFibGUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUmVzaXphYmxlQ29tcG9uZW50LCBSZXNpemFibGVEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbUmVzaXphYmxlQ29tcG9uZW50LCBSZXNpemFibGVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVNb2R1bGUge31cbiJdfQ==