@sumaris-net/ngx-components 1.2.7 → 1.2.14

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 (793) hide show
  1. package/README.md +9 -7
  2. package/doc/build.md +2 -2
  3. package/doc/changelog.md +402 -1
  4. package/esm2020/public_api.mjs +298 -0
  5. package/esm2020/src/app/admin/admin-routing.module.mjs +41 -0
  6. package/esm2020/src/app/admin/admin.module.mjs +34 -0
  7. package/esm2020/src/app/admin/services/filter/person.filter.mjs +59 -0
  8. package/esm2020/src/app/admin/services/person.service.mjs +161 -0
  9. package/esm2020/src/app/admin/services/validator/person.validator.mjs +34 -0
  10. package/esm2020/src/app/admin/users/users.mjs +234 -0
  11. package/esm2020/src/app/admin/users/users.module.mjs +54 -0
  12. package/esm2020/src/app/core/about/about.modal.mjs +71 -0
  13. package/esm2020/src/app/core/about/about.module.mjs +34 -0
  14. package/esm2020/src/app/core/account/account.module.mjs +43 -0
  15. package/esm2020/src/app/core/account/account.page.mjs +245 -0
  16. package/esm2020/src/app/core/auth/auth.form.mjs +131 -0
  17. package/esm2020/src/app/core/auth/auth.modal.mjs +72 -0
  18. package/esm2020/src/app/core/auth/auth.module.mjs +47 -0
  19. package/esm2020/src/app/core/core.module.mjs +184 -0
  20. package/esm2020/src/app/core/core.testing.module.mjs +86 -0
  21. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +71 -0
  22. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +35 -0
  23. package/esm2020/src/app/core/form/entity/editor.class.mjs +675 -0
  24. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +419 -0
  25. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +652 -0
  26. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +25 -0
  27. package/esm2020/src/app/core/form/entity/entity.module.mjs +38 -0
  28. package/esm2020/src/app/core/form/form.class.mjs +340 -0
  29. package/esm2020/src/app/core/form/form.module.mjs +66 -0
  30. package/esm2020/src/app/core/form/form.utils.mjs +473 -0
  31. package/esm2020/src/app/core/form/list/list.form.mjs +222 -0
  32. package/esm2020/src/app/core/form/list/list.module.mjs +35 -0
  33. package/esm2020/src/app/core/form/properties/properties.form.mjs +129 -0
  34. package/esm2020/src/app/core/form/properties/properties.module.mjs +35 -0
  35. package/esm2020/src/app/core/form/properties/property.validator.mjs +23 -0
  36. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +90 -0
  37. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +39 -0
  38. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +37 -0
  39. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +45 -0
  40. package/esm2020/src/app/core/form/text-popover/text-form.component.mjs +89 -0
  41. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +105 -0
  42. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +40 -0
  43. package/esm2020/src/app/core/graphql/graphql.module.mjs +22 -0
  44. package/esm2020/src/app/core/graphql/graphql.service.mjs +749 -0
  45. package/esm2020/src/app/core/graphql/graphql.utils.mjs +117 -0
  46. package/esm2020/src/app/core/home/home.mjs +257 -0
  47. package/esm2020/src/app/core/home/home.module.mjs +48 -0
  48. package/esm2020/src/app/core/icon/icon.component.mjs +41 -0
  49. package/esm2020/src/app/core/icon/icon.module.mjs +29 -0
  50. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +337 -0
  51. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +35 -0
  52. package/esm2020/src/app/core/menu/menu.component.mjs +330 -0
  53. package/esm2020/src/app/core/menu/menu.model.mjs +35 -0
  54. package/esm2020/src/app/core/menu/menu.module.mjs +44 -0
  55. package/esm2020/src/app/core/menu/menu.service.mjs +55 -0
  56. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +27 -0
  57. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +35 -0
  58. package/esm2020/src/app/core/peer/select-peer.modal.mjs +174 -0
  59. package/esm2020/src/app/core/peer/select-peer.module.mjs +42 -0
  60. package/esm2020/src/app/core/register/register-confirm.page.mjs +81 -0
  61. package/esm2020/src/app/core/register/register.form.mjs +181 -0
  62. package/esm2020/src/app/core/register/register.modal.mjs +52 -0
  63. package/esm2020/src/app/core/register/register.module.mjs +44 -0
  64. package/esm2020/src/app/core/services/account.service.mjs +1111 -0
  65. package/esm2020/src/app/core/services/auth-guard.service.mjs +71 -0
  66. package/esm2020/src/app/core/services/base-entity-service.class.mjs +441 -0
  67. package/{esm2015/src/app/core/services/base-graphql-service.class.js → esm2020/src/app/core/services/base-graphql-service.class.mjs} +36 -34
  68. package/{esm2015/src/app/core/services/base58.js → esm2020/src/app/core/services/base58.mjs} +2 -2
  69. package/esm2020/src/app/core/services/config/core.config.mjs +168 -0
  70. package/esm2020/src/app/core/services/config.service.mjs +354 -0
  71. package/esm2020/src/app/core/services/crypto.service.mjs +114 -0
  72. package/{esm2015/src/app/core/services/errors.js → esm2020/src/app/core/services/errors.mjs} +1 -1
  73. package/esm2020/src/app/core/services/local-settings.service.mjs +445 -0
  74. package/esm2020/src/app/core/services/model/account.model.mjs +50 -0
  75. package/esm2020/src/app/core/services/model/config.model.mjs +92 -0
  76. package/esm2020/src/app/core/services/model/department.model.mjs +30 -0
  77. package/esm2020/src/app/core/services/model/entity.decorators.mjs +97 -0
  78. package/esm2020/src/app/core/services/model/entity.model.mjs +228 -0
  79. package/esm2020/src/app/core/services/model/filter.model.mjs +94 -0
  80. package/{esm2015/src/app/core/services/model/history.model.js → esm2020/src/app/core/services/model/history.model.mjs} +0 -0
  81. package/{esm2015/src/app/core/services/model/model.enum.js → esm2020/src/app/core/services/model/model.enum.mjs} +0 -0
  82. package/esm2020/src/app/core/services/model/peer.model.mjs +68 -0
  83. package/esm2020/src/app/core/services/model/person.model.mjs +83 -0
  84. package/esm2020/src/app/core/services/model/referential.model.mjs +153 -0
  85. package/esm2020/src/app/core/services/model/settings.model.mjs +75 -0
  86. package/esm2020/src/app/core/services/network.service.mjs +574 -0
  87. package/esm2020/src/app/core/services/network.types.mjs +20 -0
  88. package/esm2020/src/app/core/services/network.utils.mjs +16 -0
  89. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +38 -0
  90. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +23 -0
  91. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +23 -0
  92. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +37 -0
  93. package/esm2020/src/app/core/services/platform.service.mjs +493 -0
  94. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +427 -0
  95. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +449 -0
  96. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +23 -0
  97. package/esm2020/src/app/core/services/testing/referential.validator.mjs +45 -0
  98. package/esm2020/src/app/core/services/validator/account.validator.mjs +52 -0
  99. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +47 -0
  100. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +66 -0
  101. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +29 -0
  102. package/esm2020/src/app/core/settings/settings.module.mjs +34 -0
  103. package/esm2020/src/app/core/settings/settings.page.mjs +293 -0
  104. package/esm2020/src/app/core/table/actions-column.component.mjs +96 -0
  105. package/esm2020/src/app/core/table/async-table.class.mjs +1619 -0
  106. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +382 -0
  107. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +399 -0
  108. package/esm2020/src/app/core/table/memory-table.class.mjs +53 -0
  109. package/esm2020/src/app/core/table/table-select-columns.component.mjs +43 -0
  110. package/esm2020/src/app/core/table/table.class.mjs +1658 -0
  111. package/esm2020/src/app/core/table/table.model.mjs +12 -0
  112. package/esm2020/src/app/core/table/table.module.mjs +40 -0
  113. package/esm2020/src/app/core/table/table.utils.mjs +13 -0
  114. package/esm2020/src/app/core/table/testing/table.testing.mjs +265 -0
  115. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +38 -0
  116. package/esm2020/src/app/shared/alerts.mjs +238 -0
  117. package/esm2020/src/app/shared/audio/audio.mjs +201 -0
  118. package/esm2020/src/app/shared/audio/audio.testing.mjs +31 -0
  119. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +45 -0
  120. package/esm2020/src/app/shared/capacitor/keyboard.mjs +40 -0
  121. package/esm2020/src/app/shared/capacitor/plugins.mjs +9 -0
  122. package/esm2020/src/app/shared/constants.mjs +10 -0
  123. package/esm2020/src/app/shared/dates.mjs +142 -0
  124. package/esm2020/src/app/shared/debug/debug.component.mjs +39 -0
  125. package/esm2020/src/app/shared/debug/debug.module.mjs +44 -0
  126. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +92 -0
  127. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +30 -0
  128. package/esm2020/src/app/shared/directives/directives.module.mjs +43 -0
  129. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +53 -0
  130. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +31 -0
  131. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +59 -0
  132. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +40 -0
  133. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +17 -0
  134. package/esm2020/src/app/shared/events.mjs +64 -0
  135. package/esm2020/src/app/shared/file/csv.utils.mjs +74 -0
  136. package/esm2020/src/app/shared/file/file.service.mjs +117 -0
  137. package/esm2020/src/app/shared/file/file.utils.mjs +113 -0
  138. package/esm2020/src/app/shared/file/images.utils.mjs +161 -0
  139. package/esm2020/src/app/shared/file/json.utils.mjs +33 -0
  140. package/esm2020/src/app/shared/file/uri.utils.mjs +23 -0
  141. package/{esm2015/src/app/shared/focusable.js → esm2020/src/app/shared/focusable.mjs} +0 -0
  142. package/esm2020/src/app/shared/form/field.component.mjs +244 -0
  143. package/{esm2015/src/app/shared/form/field.model.js → esm2020/src/app/shared/form/field.model.mjs} +1 -1
  144. package/esm2020/src/app/shared/form/loading-spinner.mjs +36 -0
  145. package/esm2020/src/app/shared/forms.mjs +391 -0
  146. package/esm2020/src/app/shared/functions.mjs +462 -0
  147. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +41 -0
  148. package/{esm2015/src/app/shared/gesture/gesture-config.js → esm2020/src/app/shared/gesture/gesture-config.mjs} +7 -5
  149. package/esm2020/src/app/shared/gesture/hammer.utils.mjs +2 -0
  150. package/{esm2015/src/app/shared/graph/colors.utils.js → esm2020/src/app/shared/graph/colors.utils.mjs} +1 -1
  151. package/esm2020/src/app/shared/graph/graph-colors.mjs +208 -0
  152. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +57 -0
  153. package/esm2020/src/app/shared/help/help.modal.mjs +53 -0
  154. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
  155. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +84 -0
  156. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +42 -0
  157. package/esm2020/src/app/shared/http/http.utils.mjs +52 -0
  158. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +355 -0
  159. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +58 -0
  160. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +27 -0
  161. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +89 -0
  162. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +39 -0
  163. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +56 -0
  164. package/esm2020/src/app/shared/image/image.model.mjs +2 -0
  165. package/esm2020/src/app/shared/image/image.module.mjs +29 -0
  166. package/esm2020/src/app/shared/image/image.service.mjs +98 -0
  167. package/{esm2015/src/app/shared/inputs.js → esm2020/src/app/shared/inputs.mjs} +4 -4
  168. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +27 -0
  169. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +47 -0
  170. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +905 -0
  171. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +78 -0
  172. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +19 -0
  173. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +209 -0
  174. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +176 -0
  175. package/esm2020/src/app/shared/material/badge/badge.module.mjs +32 -0
  176. package/esm2020/src/app/shared/material/badge/badge.test.mjs +28 -0
  177. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +68 -0
  178. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +253 -0
  179. package/esm2020/src/app/shared/material/chips/chips.module.mjs +76 -0
  180. package/esm2020/src/app/shared/material/chips/material.chips.mjs +697 -0
  181. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +143 -0
  182. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +91 -0
  183. package/esm2020/src/app/shared/material/datetime/material.date.mjs +388 -0
  184. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +385 -0
  185. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +436 -0
  186. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +108 -0
  187. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +110 -0
  188. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +103 -0
  189. package/esm2020/src/app/shared/material/duration/duration.module.mjs +67 -0
  190. package/{esm2015/src/app/shared/material/duration/duration.utils.js → esm2020/src/app/shared/material/duration/duration.utils.mjs} +0 -0
  191. package/esm2020/src/app/shared/material/duration/material.duration.mjs +257 -0
  192. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
  193. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +381 -0
  194. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +67 -0
  195. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +102 -0
  196. package/{esm2015/src/app/shared/material/material.animations.js → esm2020/src/app/shared/material/material.animations.mjs} +1 -1
  197. package/esm2020/src/app/shared/material/material.module.mjs +224 -0
  198. package/esm2020/src/app/shared/material/material.testing.module.mjs +168 -0
  199. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +98 -0
  200. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +80 -0
  201. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +190 -0
  202. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +17 -0
  203. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +162 -0
  204. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +37 -0
  205. package/{esm2015/src/app/shared/material/numpad/numpad.model.js → esm2020/src/app/shared/material/numpad/numpad.model.mjs} +1 -1
  206. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +60 -0
  207. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +46 -0
  208. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +42 -0
  209. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +22 -0
  210. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +334 -0
  211. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +51 -0
  212. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +64 -0
  213. package/esm2020/src/app/shared/modules.mjs +11 -0
  214. package/esm2020/src/app/shared/observables.mjs +103 -0
  215. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +135 -0
  216. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +23 -0
  217. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +48 -0
  218. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +66 -0
  219. package/{esm2015/src/app/shared/pipes/date-from-now.pipe.js → esm2020/src/app/shared/pipes/date-from-now.pipe.mjs} +13 -12
  220. package/{esm2015/src/app/shared/pipes/duration.pipe.js → esm2020/src/app/shared/pipes/duration.pipe.mjs} +13 -12
  221. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +62 -0
  222. package/esm2020/src/app/shared/pipes/form.pipes.mjs +187 -0
  223. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +48 -0
  224. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +46 -0
  225. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +63 -0
  226. package/esm2020/src/app/shared/pipes/math.pipes.mjs +59 -0
  227. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +21 -0
  228. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +30 -0
  229. package/esm2020/src/app/shared/pipes/pipes.module.mjs +218 -0
  230. package/esm2020/src/app/shared/pipes/property.pipes.mjs +93 -0
  231. package/esm2020/src/app/shared/pipes/string.pipes.mjs +95 -0
  232. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +43 -0
  233. package/esm2020/src/app/shared/platforms.mjs +43 -0
  234. package/esm2020/src/app/shared/services/entity-service.class.mjs +7 -0
  235. package/esm2020/src/app/shared/services/job.utils.mjs +92 -0
  236. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +337 -0
  237. package/esm2020/src/app/shared/services/progress-bar.service.mjs +33 -0
  238. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +119 -0
  239. package/esm2020/src/app/shared/services/startable-service.class.mjs +105 -0
  240. package/esm2020/src/app/shared/services/storage/storage.service.mjs +132 -0
  241. package/esm2020/src/app/shared/services/storage/storage.utils.mjs +13 -0
  242. package/esm2020/src/app/shared/services/translate-context.service.mjs +81 -0
  243. package/esm2020/src/app/shared/services/validator-service.class.mjs +2 -0
  244. package/esm2020/src/app/shared/services.mjs +62 -0
  245. package/esm2020/src/app/shared/shared-routing.module.mjs +63 -0
  246. package/esm2020/src/app/shared/shared.module.mjs +207 -0
  247. package/esm2020/src/app/shared/shared.testing.module.mjs +76 -0
  248. package/esm2020/src/app/shared/testing/observable.test.mjs +95 -0
  249. package/esm2020/src/app/shared/testing/tests.page.mjs +33 -0
  250. package/esm2020/src/app/shared/toast/toast.testing.mjs +51 -0
  251. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +45 -0
  252. package/esm2020/src/app/shared/toast/toasts.mjs +144 -0
  253. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +58 -0
  254. package/esm2020/src/app/shared/toolbar/toolbar.mjs +249 -0
  255. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +53 -0
  256. package/esm2020/src/app/shared/types.mjs +2 -0
  257. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +57 -0
  258. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +45 -0
  259. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +97 -0
  260. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +204 -0
  261. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +20 -0
  262. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +104 -0
  263. package/esm2020/src/app/shared/validator/validators.mjs +543 -0
  264. package/esm2020/src/app/shared/version/versions.mjs +81 -0
  265. package/esm2020/src/app/social/job/job.module.mjs +35 -0
  266. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +213 -0
  267. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +22 -0
  268. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +23 -0
  269. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +71 -0
  270. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +52 -0
  271. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +55 -0
  272. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +35 -0
  273. package/esm2020/src/app/social/message/message.form.mjs +81 -0
  274. package/esm2020/src/app/social/message/message.modal.mjs +93 -0
  275. package/esm2020/src/app/social/message/message.model.mjs +65 -0
  276. package/esm2020/src/app/social/message/message.module.mjs +35 -0
  277. package/esm2020/src/app/social/message/message.service.mjs +84 -0
  278. package/esm2020/src/app/social/social.errors.mjs +10 -0
  279. package/esm2020/src/app/social/social.module.mjs +47 -0
  280. package/esm2020/src/app/social/social.testing.module.mjs +51 -0
  281. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +108 -0
  282. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +242 -0
  283. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +229 -0
  284. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +112 -0
  285. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +35 -0
  286. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +111 -0
  287. package/esm2020/src/app/social/user-event/user-event.model.mjs +2 -0
  288. package/esm2020/src/app/social/user-event/user-event.module.mjs +39 -0
  289. package/esm2020/src/app/social/user-event/user-event.service.mjs +487 -0
  290. package/esm2020/src/environments/environment.class.mjs +5 -0
  291. package/esm2020/src/environments/environment.mjs +86 -0
  292. package/esm2020/sumaris-net.ngx-components.mjs +5 -0
  293. package/fesm2015/sumaris-net.ngx-components.mjs +36563 -0
  294. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -0
  295. package/fesm2020/sumaris-net.ngx-components.mjs +35734 -0
  296. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -0
  297. package/index.d.ts +5 -0
  298. package/package.json +34 -32
  299. package/public_api.d.ts +137 -30
  300. package/resources/README.md +7 -0
  301. package/src/app/admin/admin-routing.module.d.ts +7 -0
  302. package/src/app/admin/admin.module.d.ts +7 -0
  303. package/src/app/admin/services/person.service.d.ts +5 -1
  304. package/src/app/admin/services/validator/person.validator.d.ts +8 -5
  305. package/src/app/admin/users/users.d.ts +44 -0
  306. package/src/app/admin/users/users.module.d.ts +13 -0
  307. package/src/app/core/about/{modal-about.d.ts → about.modal.d.ts} +3 -0
  308. package/src/app/core/about/about.module.d.ts +10 -0
  309. package/src/app/core/account/account.module.d.ts +11 -0
  310. package/src/app/core/account/{account.d.ts → account.page.d.ts} +23 -10
  311. package/src/app/core/auth/auth.form.d.ts +36 -0
  312. package/src/app/core/auth/auth.modal.d.ts +24 -0
  313. package/src/app/core/auth/auth.module.d.ts +11 -0
  314. package/src/app/core/core.module.d.ts +27 -0
  315. package/src/app/core/core.testing.module.d.ts +14 -0
  316. package/src/app/core/form/{form-buttons-bar.component.d.ts → buttons/form-buttons-bar.component.d.ts} +7 -2
  317. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
  318. package/src/app/core/form/{editor.class.d.ts → entity/editor.class.d.ts} +84 -22
  319. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +129 -0
  320. package/src/app/core/form/{entity-editor.class.d.ts → entity/entity-editor.class.d.ts} +54 -29
  321. package/src/app/core/form/entity/entity-metadata.component.d.ts +13 -0
  322. package/src/app/core/form/entity/entity.module.d.ts +10 -0
  323. package/src/app/core/form/form.class.d.ts +57 -30
  324. package/src/app/core/form/form.module.d.ts +13 -0
  325. package/src/app/core/form/form.utils.d.ts +123 -114
  326. package/src/app/core/form/{list.form.d.ts → list/list.form.d.ts} +14 -11
  327. package/src/app/core/form/list/list.module.d.ts +9 -0
  328. package/src/app/core/form/properties/properties.form.d.ts +43 -0
  329. package/src/app/core/form/properties/properties.module.d.ts +9 -0
  330. package/src/app/core/form/properties/property.validator.d.ts +13 -0
  331. package/src/app/core/form/properties/testing/properties-form.test.d.ts +19 -0
  332. package/src/app/core/form/properties/testing/properties-form.testing.module.d.ts +12 -0
  333. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +10 -0
  334. package/src/app/core/form/text-popover/testing/text-popover.testing.module.d.ts +11 -0
  335. package/src/app/core/form/text-popover/text-form.component.d.ts +32 -0
  336. package/src/app/core/form/text-popover/text-popover.component.d.ts +45 -0
  337. package/src/app/core/form/text-popover/text-popover.module.d.ts +10 -0
  338. package/src/app/core/graphql/graphql.module.d.ts +5 -0
  339. package/src/app/core/graphql/graphql.service.d.ts +16 -5
  340. package/src/app/core/graphql/graphql.utils.d.ts +12 -1
  341. package/src/app/core/home/home.d.ts +9 -4
  342. package/src/app/core/home/home.module.d.ts +12 -0
  343. package/src/app/core/icon/icon.component.d.ts +6 -2
  344. package/src/app/core/icon/icon.module.d.ts +9 -0
  345. package/src/app/core/install/install-upgrade-card.component.d.ts +7 -9
  346. package/src/app/core/install/install-upgrade-card.module.d.ts +9 -0
  347. package/src/app/core/menu/menu.component.d.ts +22 -15
  348. package/src/app/core/menu/menu.model.d.ts +2 -0
  349. package/src/app/core/menu/menu.module.d.ts +8 -0
  350. package/src/app/core/menu/menu.service.d.ts +18 -6
  351. package/src/app/core/offline/update-offline-mode-card.component.d.ts +11 -0
  352. package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
  353. package/src/app/core/peer/select-peer.modal.d.ts +25 -8
  354. package/src/app/core/peer/select-peer.module.d.ts +11 -0
  355. package/src/app/core/register/{confirm/confirm.d.ts → register-confirm.page.d.ts} +6 -3
  356. package/src/app/core/register/{form/form-register.d.ts → register.form.d.ts} +15 -12
  357. package/src/app/core/register/{modal/modal-register.d.ts → register.modal.d.ts} +4 -1
  358. package/src/app/core/register/register.module.d.ts +12 -0
  359. package/src/app/core/services/account.service.d.ts +34 -13
  360. package/src/app/core/services/auth-guard.service.d.ts +3 -0
  361. package/src/app/core/services/base-entity-service.class.d.ts +10 -19
  362. package/src/app/core/services/base-graphql-service.class.d.ts +13 -9
  363. package/src/app/core/services/config/core.config.d.ts +25 -24
  364. package/src/app/core/services/config.service.d.ts +9 -3
  365. package/src/app/core/services/crypto.service.d.ts +26 -18
  366. package/src/app/core/services/errors.d.ts +1 -1
  367. package/src/app/core/services/local-settings.service.d.ts +15 -7
  368. package/src/app/core/services/model/config.model.d.ts +1 -0
  369. package/src/app/core/services/model/entity.decorators.d.ts +1 -9
  370. package/src/app/core/services/model/entity.model.d.ts +4 -1
  371. package/src/app/core/services/model/filter.model.d.ts +13 -2
  372. package/src/app/core/services/model/referential.model.d.ts +20 -14
  373. package/src/app/core/services/model/settings.model.d.ts +0 -1
  374. package/src/app/core/services/network.service.d.ts +34 -22
  375. package/src/app/core/services/network.types.d.ts +5 -0
  376. package/src/app/core/services/network.utils.d.ts +16 -0
  377. package/src/app/core/services/pipes/account.pipes.d.ts +7 -0
  378. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +4 -0
  379. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +4 -0
  380. package/src/app/core/services/pipes/usage-mode.pipes.d.ts +7 -0
  381. package/src/app/core/services/platform.service.d.ts +40 -27
  382. package/src/app/core/services/storage/entities-storage.service.d.ts +16 -9
  383. package/src/app/core/services/storage/entity-store.class.d.ts +6 -5
  384. package/src/app/core/services/testing/referential-filter.model.d.ts +9 -0
  385. package/src/app/core/services/testing/referential.validator.d.ts +22 -0
  386. package/src/app/core/services/validator/account.validator.d.ts +6 -3
  387. package/src/app/core/services/validator/base.validator.class.d.ts +9 -6
  388. package/src/app/core/services/validator/local-settings.validator.d.ts +8 -5
  389. package/src/app/core/services/validator/user-settings.validator.d.ts +6 -3
  390. package/src/app/core/settings/settings.module.d.ts +10 -0
  391. package/src/app/core/settings/settings.page.d.ts +13 -12
  392. package/src/app/core/table/actions-column.component.d.ts +4 -1
  393. package/src/app/core/table/async-table.class.d.ts +368 -0
  394. package/src/app/core/table/entities-async-table-datasource.class.d.ts +80 -0
  395. package/src/app/core/table/entities-table-datasource.class.d.ts +59 -36
  396. package/src/app/core/table/memory-table.class.d.ts +5 -3
  397. package/src/app/core/table/table-select-columns.component.d.ts +4 -5
  398. package/src/app/core/table/table.class.d.ts +67 -70
  399. package/src/app/core/table/table.model.d.ts +26 -0
  400. package/src/app/core/table/table.module.d.ts +10 -0
  401. package/src/app/core/table/table.utils.d.ts +2 -1
  402. package/src/app/core/table/testing/table.testing.d.ts +51 -0
  403. package/src/app/core/table/testing/table.testing.module.d.ts +11 -0
  404. package/src/app/shared/alerts.d.ts +4 -4
  405. package/src/app/shared/audio/audio.d.ts +20 -11
  406. package/src/app/shared/audio/audio.testing.d.ts +13 -0
  407. package/src/app/shared/audio/audio.testing.module.d.ts +11 -0
  408. package/src/app/shared/capacitor/keyboard.d.ts +16 -0
  409. package/src/app/shared/capacitor/plugins.d.ts +7 -0
  410. package/src/app/shared/constants.d.ts +2 -0
  411. package/src/app/shared/dates.d.ts +25 -4
  412. package/src/app/shared/debug/debug.component.d.ts +13 -0
  413. package/src/app/shared/debug/debug.module.d.ts +12 -0
  414. package/src/app/shared/directives/autofocus.directive.d.ts +11 -9
  415. package/src/app/shared/directives/autotitle.directive.d.ts +10 -0
  416. package/src/app/shared/directives/directives.module.d.ts +10 -0
  417. package/src/app/shared/directives/drag-and-drop.directive.d.ts +17 -0
  418. package/src/app/shared/directives/ng-var.directive.d.ts +12 -0
  419. package/src/app/shared/directives/resizable/resizable.component.d.ts +21 -0
  420. package/src/app/shared/directives/resizable/resizable.directive.d.ts +12 -0
  421. package/src/app/shared/directives/resizable/resizable.module.d.ts +8 -0
  422. package/src/app/shared/events.d.ts +6 -6
  423. package/src/app/shared/file/csv.utils.d.ts +19 -0
  424. package/src/app/shared/file/file.service.d.ts +8 -5
  425. package/src/app/shared/file/file.utils.d.ts +20 -0
  426. package/src/app/shared/file/images.utils.d.ts +19 -0
  427. package/src/app/shared/file/json.utils.d.ts +11 -0
  428. package/src/app/shared/file/uri.utils.d.ts +7 -0
  429. package/src/app/shared/form/field.component.d.ts +12 -3
  430. package/src/app/shared/form/field.model.d.ts +7 -6
  431. package/src/app/shared/form/loading-spinner.d.ts +3 -0
  432. package/src/app/shared/forms.d.ts +89 -0
  433. package/src/app/shared/functions.d.ts +21 -13
  434. package/src/app/shared/geolocation/geolocation.utils.d.ts +11 -0
  435. package/src/app/shared/gesture/gesture-config.d.ts +3 -0
  436. package/src/app/shared/gesture/hammer.utils.d.ts +11 -11
  437. package/src/app/shared/graph/graph-colors.d.ts +8 -8
  438. package/src/app/shared/guard/component-dirty.guard.d.ts +3 -0
  439. package/src/app/shared/help/help.modal.d.ts +7 -4
  440. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -0
  441. package/src/app/shared/hotkeys/hotkeys.service.d.ts +7 -3
  442. package/src/app/shared/hotkeys/shared-hotkeys.module.d.ts +9 -0
  443. package/src/app/shared/http/http.utils.d.ts +14 -1
  444. package/src/app/shared/image/gallery/image-gallery.component.d.ts +101 -0
  445. package/src/app/shared/image/gallery/image-gallery.module.d.ts +14 -0
  446. package/src/app/shared/image/gallery/testing/gallegry.model.testing.d.ts +12 -0
  447. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +33 -0
  448. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +16 -0
  449. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +12 -0
  450. package/src/app/shared/image/image.model.d.ts +5 -0
  451. package/src/app/shared/image/image.module.d.ts +8 -0
  452. package/src/app/shared/image/image.service.d.ts +32 -0
  453. package/src/app/shared/inputs.d.ts +3 -3
  454. package/src/app/shared/interceptors/progess.interceptor.d.ts +2 -2
  455. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +36 -0
  456. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +69 -77
  457. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +19 -0
  458. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +4 -0
  459. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +24 -17
  460. package/src/app/shared/material/badge/badge.directive.d.ts +30 -0
  461. package/src/app/shared/material/badge/badge.module.d.ts +10 -0
  462. package/src/app/shared/material/badge/badge.test.d.ts +13 -0
  463. package/src/app/shared/material/boolean/boolean.module.d.ts +17 -0
  464. package/src/app/shared/material/boolean/material.boolean.d.ts +11 -10
  465. package/src/app/shared/material/chips/chips.module.d.ts +20 -1
  466. package/src/app/shared/material/chips/material.chips.d.ts +52 -19
  467. package/src/app/shared/material/chips/testing/chips.test.d.ts +12 -7
  468. package/src/app/shared/material/datetime/datetime.module.d.ts +22 -0
  469. package/src/app/shared/material/datetime/material.date.d.ts +45 -38
  470. package/src/app/shared/material/datetime/material.dateshort.d.ts +47 -38
  471. package/src/app/shared/material/datetime/material.datetime.d.ts +40 -39
  472. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +12 -9
  473. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +30 -0
  474. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +29 -0
  475. package/src/app/shared/material/duration/duration.module.d.ts +16 -0
  476. package/src/app/shared/material/duration/material.duration.d.ts +14 -10
  477. package/src/app/shared/material/latlong/latlong.utils.d.ts +2 -2
  478. package/src/app/shared/material/latlong/material.latlong.d.ts +27 -23
  479. package/src/app/shared/material/latlong/material.latlong.module.d.ts +17 -0
  480. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +13 -7
  481. package/src/app/shared/material/material.module.d.ts +43 -0
  482. package/src/app/shared/material/material.testing.module.d.ts +25 -0
  483. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +3 -0
  484. package/src/app/shared/material/numpad/numpad.component.d.ts +4 -1
  485. package/src/app/shared/material/numpad/numpad.container.d.ts +5 -2
  486. package/src/app/shared/material/numpad/numpad.content.d.ts +3 -0
  487. package/src/app/shared/material/numpad/numpad.directive.d.ts +4 -1
  488. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -0
  489. package/src/app/shared/material/numpad/numpad.model.d.ts +1 -1
  490. package/src/app/shared/material/numpad/numpad.module.d.ts +14 -0
  491. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +13 -0
  492. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +3 -0
  493. package/src/app/shared/material/stepper/material.stepper-i18n.d.ts +3 -0
  494. package/src/app/shared/material/swipe/material.swipe.d.ts +12 -8
  495. package/src/app/shared/material/swipe/swipe.module.d.ts +13 -0
  496. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +11 -9
  497. package/src/app/shared/modules.d.ts +8 -0
  498. package/src/app/shared/observables.d.ts +18 -10
  499. package/src/app/shared/pipes/arrays.pipe.d.ts +27 -2
  500. package/src/app/shared/pipes/colors.pipe.d.ts +9 -0
  501. package/src/app/shared/pipes/date-diff-duration.pipe.d.ts +10 -2
  502. package/src/app/shared/pipes/date-format.pipe.d.ts +25 -9
  503. package/src/app/shared/pipes/date-from-now.pipe.d.ts +4 -0
  504. package/src/app/shared/pipes/duration.pipe.d.ts +4 -0
  505. package/src/app/shared/pipes/file-size.pipe.d.ts +3 -0
  506. package/src/app/shared/pipes/form.pipes.d.ts +43 -3
  507. package/src/app/shared/pipes/highlight.pipe.d.ts +4 -0
  508. package/src/app/shared/pipes/latlong-format.pipe.d.ts +13 -4
  509. package/src/app/shared/pipes/maps.pipe.d.ts +10 -0
  510. package/src/app/shared/pipes/math.pipes.d.ts +10 -0
  511. package/src/app/shared/pipes/ng-init.pipe.d.ts +3 -0
  512. package/src/app/shared/pipes/number-format.pipe.d.ts +7 -1
  513. package/src/app/shared/pipes/pipes.module.d.ts +24 -0
  514. package/src/app/shared/pipes/property.pipes.d.ts +26 -0
  515. package/src/app/shared/pipes/string.pipes.d.ts +24 -0
  516. package/src/app/shared/pipes/translate-context.pipe.d.ts +8 -1
  517. package/src/app/shared/platforms.d.ts +8 -0
  518. package/src/app/shared/services/entity-service.class.d.ts +28 -15
  519. package/src/app/shared/services/job.utils.d.ts +4 -2
  520. package/src/app/shared/services/memory-entity-service.class.d.ts +31 -10
  521. package/src/app/shared/services/progress-bar.service.d.ts +15 -4
  522. package/src/app/shared/services/startable-observable-service.class.d.ts +33 -0
  523. package/src/app/shared/services/startable-service.class.d.ts +13 -9
  524. package/src/app/shared/services/storage/storage.service.d.ts +23 -0
  525. package/src/app/shared/services/storage/storage.utils.d.ts +19 -0
  526. package/src/app/shared/services/translate-context.service.d.ts +3 -0
  527. package/src/app/shared/services/validator-service.class.d.ts +2 -2
  528. package/src/app/shared/services.d.ts +9 -0
  529. package/src/app/shared/shared-routing.module.d.ts +7 -0
  530. package/src/app/shared/shared.module.d.ts +24 -0
  531. package/src/app/shared/shared.testing.module.d.ts +14 -0
  532. package/src/app/shared/testing/observable.test.d.ts +25 -0
  533. package/src/app/shared/{material/testing/material.testing.page.d.ts → testing/tests.page.d.ts} +6 -2
  534. package/src/app/shared/toast/toast.testing.d.ts +15 -0
  535. package/src/app/shared/toast/toast.testing.module.d.ts +11 -0
  536. package/src/app/shared/{toasts.d.ts → toast/toasts.d.ts} +5 -2
  537. package/src/app/shared/toolbar/modal-toolbar.d.ts +5 -2
  538. package/src/app/shared/toolbar/toolbar.d.ts +22 -10
  539. package/src/app/shared/toolbar/toolbar.module.d.ts +15 -0
  540. package/src/app/shared/types.d.ts +4 -0
  541. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +20 -0
  542. package/src/app/shared/upload-file/testing/upload-file.testing.module.d.ts +11 -0
  543. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +39 -0
  544. package/src/app/shared/upload-file/upload-file.component.d.ts +48 -0
  545. package/src/app/shared/upload-file/upload-file.model.d.ts +30 -0
  546. package/src/app/shared/validator/form-error-adapter.class.d.ts +6 -1
  547. package/src/app/shared/validator/validators.d.ts +47 -11
  548. package/src/app/shared/version/versions.d.ts +2 -0
  549. package/src/app/social/job/job.module.d.ts +11 -0
  550. package/src/app/social/job/progression/job-progression.icon.d.ts +47 -0
  551. package/src/app/social/job/progression/job-progression.list.d.ts +15 -0
  552. package/src/app/social/job/progression/job-progression.model.d.ts +11 -0
  553. package/src/app/social/job/progression/job-progression.service.d.ts +34 -0
  554. package/src/app/social/job/testing/job-progression.testing.d.ts +17 -0
  555. package/src/app/social/job/testing/job-progression.testing.service.d.ts +17 -0
  556. package/src/app/social/job/testing/job.testing.module.d.ts +11 -0
  557. package/src/app/social/message/message.form.d.ts +30 -0
  558. package/src/app/social/message/message.modal.d.ts +39 -0
  559. package/src/app/social/message/message.model.d.ts +31 -0
  560. package/src/app/social/message/message.module.d.ts +11 -0
  561. package/src/app/social/message/message.service.d.ts +27 -0
  562. package/src/app/social/social.errors.d.ts +9 -0
  563. package/src/app/social/social.module.d.ts +18 -2
  564. package/src/app/social/social.testing.module.d.ts +13 -0
  565. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +29 -0
  566. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +67 -0
  567. package/src/app/social/user-event/testing/user-event.testing.d.ts +34 -0
  568. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +44 -0
  569. package/src/app/social/user-event/testing/user-event.testing.module.d.ts +11 -0
  570. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +41 -0
  571. package/src/app/social/user-event/user-event.model.d.ts +45 -0
  572. package/src/app/social/user-event/user-event.module.d.ts +12 -0
  573. package/src/app/social/user-event/user-event.service.d.ts +124 -0
  574. package/src/assets/audio/beep-notification.mp3 +0 -0
  575. package/src/assets/i18n/en-US.json +83 -18
  576. package/src/assets/i18n/en.json +83 -18
  577. package/src/assets/i18n/fr.json +95 -21
  578. package/src/assets/manifest.json +5 -5
  579. package/src/environments/environment.class.d.ts +12 -1
  580. package/src/environments/environment.d.ts +1 -1
  581. package/src/theme/_icons.scss +1 -1
  582. package/src/theme/_ionic.globals.scss +6 -1
  583. package/src/theme/_material.globals.scss +32 -32
  584. package/src/theme/_material.scss +32 -6
  585. package/src/theme/_mixins.scss +6 -4
  586. package/src/theme/_ngx-components.globals.scss +1 -0
  587. package/src/theme/_ngx-components.scss +222 -39
  588. package/src/theme/_print.scss +24 -0
  589. package/src/theme/_responsive.scss +12 -3
  590. package/bundles/sumaris-net.ngx-components.umd.js +0 -28721
  591. package/bundles/sumaris-net.ngx-components.umd.js.map +0 -1
  592. package/bundles/sumaris-net.ngx-components.umd.min.js +0 -25
  593. package/bundles/sumaris-net.ngx-components.umd.min.js.map +0 -1
  594. package/esm2015/public_api.js +0 -183
  595. package/esm2015/src/app/admin/admin-routing.module.js +0 -32
  596. package/esm2015/src/app/admin/admin.module.js +0 -33
  597. package/esm2015/src/app/admin/services/errors.js +0 -6
  598. package/esm2015/src/app/admin/services/filter/person.filter.js +0 -59
  599. package/esm2015/src/app/admin/services/person.service.js +0 -179
  600. package/esm2015/src/app/admin/services/validator/person.validator.js +0 -37
  601. package/esm2015/src/app/admin/users/list/users.js +0 -196
  602. package/esm2015/src/app/core/about/modal-about.js +0 -63
  603. package/esm2015/src/app/core/account/account.js +0 -193
  604. package/esm2015/src/app/core/auth/form/form-auth.js +0 -126
  605. package/esm2015/src/app/core/auth/modal/modal-auth.js +0 -66
  606. package/esm2015/src/app/core/core.module.js +0 -114
  607. package/esm2015/src/app/core/form/editor.class.js +0 -559
  608. package/esm2015/src/app/core/form/entity-editor.class.js +0 -617
  609. package/esm2015/src/app/core/form/entity-metadata.component.js +0 -22
  610. package/esm2015/src/app/core/form/form-buttons-bar.component.js +0 -60
  611. package/esm2015/src/app/core/form/form.class.js +0 -279
  612. package/esm2015/src/app/core/form/form.utils.js +0 -599
  613. package/esm2015/src/app/core/form/list.form.js +0 -219
  614. package/esm2015/src/app/core/form/properties.form.js +0 -119
  615. package/esm2015/src/app/core/graphql/graphql.module.js +0 -18
  616. package/esm2015/src/app/core/graphql/graphql.service.js +0 -733
  617. package/esm2015/src/app/core/graphql/graphql.utils.js +0 -107
  618. package/esm2015/src/app/core/home/home.js +0 -263
  619. package/esm2015/src/app/core/icon/icon.component.js +0 -29
  620. package/esm2015/src/app/core/install/install-upgrade-card.component.js +0 -388
  621. package/esm2015/src/app/core/menu/menu.component.js +0 -279
  622. package/esm2015/src/app/core/menu/menu.model.js +0 -33
  623. package/esm2015/src/app/core/menu/menu.module.js +0 -28
  624. package/esm2015/src/app/core/menu/menu.service.js +0 -28
  625. package/esm2015/src/app/core/peer/select-peer.modal.js +0 -134
  626. package/esm2015/src/app/core/register/confirm/confirm.js +0 -86
  627. package/esm2015/src/app/core/register/form/form-register.js +0 -172
  628. package/esm2015/src/app/core/register/modal/modal-register.js +0 -55
  629. package/esm2015/src/app/core/services/account.service.js +0 -1101
  630. package/esm2015/src/app/core/services/auth-guard.service.js +0 -77
  631. package/esm2015/src/app/core/services/base-entity-service.class.js +0 -448
  632. package/esm2015/src/app/core/services/config/core.config.js +0 -162
  633. package/esm2015/src/app/core/services/config.service.js +0 -377
  634. package/esm2015/src/app/core/services/crypto.service.js +0 -127
  635. package/esm2015/src/app/core/services/local-settings.service.js +0 -454
  636. package/esm2015/src/app/core/services/model/account.model.js +0 -50
  637. package/esm2015/src/app/core/services/model/config.model.js +0 -89
  638. package/esm2015/src/app/core/services/model/department.model.js +0 -30
  639. package/esm2015/src/app/core/services/model/entity.decorators.js +0 -104
  640. package/esm2015/src/app/core/services/model/entity.model.js +0 -230
  641. package/esm2015/src/app/core/services/model/filter.model.js +0 -68
  642. package/esm2015/src/app/core/services/model/peer.model.js +0 -68
  643. package/esm2015/src/app/core/services/model/person.model.js +0 -81
  644. package/esm2015/src/app/core/services/model/referential.model.js +0 -149
  645. package/esm2015/src/app/core/services/model/settings.model.js +0 -75
  646. package/esm2015/src/app/core/services/network.service.js +0 -581
  647. package/esm2015/src/app/core/services/network.utils.js +0 -19
  648. package/esm2015/src/app/core/services/pipes/account.pipes.js +0 -28
  649. package/esm2015/src/app/core/services/pipes/department-to-string.pipe.js +0 -18
  650. package/esm2015/src/app/core/services/pipes/person-to-string.pipe.js +0 -18
  651. package/esm2015/src/app/core/services/pipes/usage-mode.pipes.js +0 -27
  652. package/esm2015/src/app/core/services/platform.service.js +0 -424
  653. package/esm2015/src/app/core/services/storage/entities-storage.service.js +0 -445
  654. package/esm2015/src/app/core/services/storage/entity-store.class.js +0 -458
  655. package/esm2015/src/app/core/services/validator/account.validator.js +0 -55
  656. package/esm2015/src/app/core/services/validator/base.validator.class.js +0 -48
  657. package/esm2015/src/app/core/services/validator/local-settings.validator.js +0 -72
  658. package/esm2015/src/app/core/services/validator/user-settings.validator.js +0 -30
  659. package/esm2015/src/app/core/settings/settings.page.js +0 -301
  660. package/esm2015/src/app/core/table/actions-column.component.js +0 -74
  661. package/esm2015/src/app/core/table/entities-table-datasource.class.js +0 -326
  662. package/esm2015/src/app/core/table/memory-table.class.js +0 -64
  663. package/esm2015/src/app/core/table/table-select-columns.component.js +0 -44
  664. package/esm2015/src/app/core/table/table.class.js +0 -1552
  665. package/esm2015/src/app/core/table/table.utils.js +0 -13
  666. package/esm2015/src/app/shared/alerts.js +0 -251
  667. package/esm2015/src/app/shared/audio/audio.js +0 -178
  668. package/esm2015/src/app/shared/colors.utils.js +0 -2
  669. package/esm2015/src/app/shared/constants.js +0 -6
  670. package/esm2015/src/app/shared/dates.js +0 -82
  671. package/esm2015/src/app/shared/directives/autofocus.directive.js +0 -97
  672. package/esm2015/src/app/shared/directives/directives.module.js +0 -21
  673. package/esm2015/src/app/shared/events.js +0 -56
  674. package/esm2015/src/app/shared/file/base64-image-reader.js +0 -141
  675. package/esm2015/src/app/shared/file/file.service.js +0 -121
  676. package/esm2015/src/app/shared/form/field.component.js +0 -206
  677. package/esm2015/src/app/shared/form/loading-spinner.js +0 -24
  678. package/esm2015/src/app/shared/functions.js +0 -440
  679. package/esm2015/src/app/shared/gesture/hammer.utils.js +0 -2
  680. package/esm2015/src/app/shared/graph/graph-colors.js +0 -256
  681. package/esm2015/src/app/shared/guard/component-dirty.guard.js +0 -61
  682. package/esm2015/src/app/shared/help/help.modal.js +0 -56
  683. package/esm2015/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.js +0 -20
  684. package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +0 -87
  685. package/esm2015/src/app/shared/hotkeys/shared-hotkeys.module.js +0 -29
  686. package/esm2015/src/app/shared/http/http.utils.js +0 -23
  687. package/esm2015/src/app/shared/interceptors/progess.interceptor.js +0 -20
  688. package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +0 -711
  689. package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.module.js +0 -46
  690. package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +0 -167
  691. package/esm2015/src/app/shared/material/badge/badge-icon.directive.js +0 -62
  692. package/esm2015/src/app/shared/material/badge/badge-icon.module.js +0 -23
  693. package/esm2015/src/app/shared/material/badge/badge-icon.test.js +0 -10
  694. package/esm2015/src/app/shared/material/boolean/boolean.module.js +0 -41
  695. package/esm2015/src/app/shared/material/boolean/material.boolean.js +0 -234
  696. package/esm2015/src/app/shared/material/chips/chips.module.js +0 -45
  697. package/esm2015/src/app/shared/material/chips/material.chips.js +0 -342
  698. package/esm2015/src/app/shared/material/chips/testing/chips.test.js +0 -100
  699. package/esm2015/src/app/shared/material/datetime/datetime.module.js +0 -54
  700. package/esm2015/src/app/shared/material/datetime/material.date.js +0 -307
  701. package/esm2015/src/app/shared/material/datetime/material.dateshort.js +0 -315
  702. package/esm2015/src/app/shared/material/datetime/material.datetime.js +0 -389
  703. package/esm2015/src/app/shared/material/datetime/testing/mat-date-time.test.js +0 -102
  704. package/esm2015/src/app/shared/material/duration/duration.module.js +0 -40
  705. package/esm2015/src/app/shared/material/duration/material.duration.js +0 -245
  706. package/esm2015/src/app/shared/material/latlong/latlong.utils.js +0 -249
  707. package/esm2015/src/app/shared/material/latlong/material.latlong.js +0 -345
  708. package/esm2015/src/app/shared/material/latlong/material.latlong.module.js +0 -41
  709. package/esm2015/src/app/shared/material/latlong/testing/latlong.test.js +0 -70
  710. package/esm2015/src/app/shared/material/material.module.js +0 -93
  711. package/esm2015/src/app/shared/material/numpad/numpad.append-to-input.directive.js +0 -96
  712. package/esm2015/src/app/shared/material/numpad/numpad.component.js +0 -73
  713. package/esm2015/src/app/shared/material/numpad/numpad.container.js +0 -149
  714. package/esm2015/src/app/shared/material/numpad/numpad.content.js +0 -14
  715. package/esm2015/src/app/shared/material/numpad/numpad.directive.js +0 -148
  716. package/esm2015/src/app/shared/material/numpad/numpad.dom-service.js +0 -37
  717. package/esm2015/src/app/shared/material/numpad/numpad.module.js +0 -39
  718. package/esm2015/src/app/shared/material/paginator/material.paginator-i18n.js +0 -44
  719. package/esm2015/src/app/shared/material/stepper/material.stepper-i18n.js +0 -24
  720. package/esm2015/src/app/shared/material/swipe/material.swipe.js +0 -306
  721. package/esm2015/src/app/shared/material/swipe/swipe.module.js +0 -33
  722. package/esm2015/src/app/shared/material/swipe/testing/swipe.test.js +0 -68
  723. package/esm2015/src/app/shared/material/testing/material.testing.module.js +0 -92
  724. package/esm2015/src/app/shared/material/testing/material.testing.page.js +0 -34
  725. package/esm2015/src/app/shared/observables.js +0 -68
  726. package/esm2015/src/app/shared/pipes/arrays.pipe.js +0 -92
  727. package/esm2015/src/app/shared/pipes/date-diff-duration.pipe.js +0 -46
  728. package/esm2015/src/app/shared/pipes/date-format.pipe.js +0 -40
  729. package/esm2015/src/app/shared/pipes/file-size.pipe.js +0 -58
  730. package/esm2015/src/app/shared/pipes/form.pipes.js +0 -70
  731. package/esm2015/src/app/shared/pipes/highlight.pipe.js +0 -43
  732. package/esm2015/src/app/shared/pipes/latlong-format.pipe.js +0 -43
  733. package/esm2015/src/app/shared/pipes/maps.pipe.js +0 -48
  734. package/esm2015/src/app/shared/pipes/math.pipes.js +0 -44
  735. package/esm2015/src/app/shared/pipes/ng-init.pipe.js +0 -18
  736. package/esm2015/src/app/shared/pipes/number-format.pipe.js +0 -22
  737. package/esm2015/src/app/shared/pipes/pipes.module.js +0 -100
  738. package/esm2015/src/app/shared/pipes/properties.pipe.js +0 -20
  739. package/esm2015/src/app/shared/pipes/string.pipes.js +0 -52
  740. package/esm2015/src/app/shared/pipes/translate-context.pipe.js +0 -38
  741. package/esm2015/src/app/shared/services/entity-service.class.js +0 -17
  742. package/esm2015/src/app/shared/services/job.utils.js +0 -78
  743. package/esm2015/src/app/shared/services/memory-entity-service.class.js +0 -226
  744. package/esm2015/src/app/shared/services/progress-bar.service.js +0 -30
  745. package/esm2015/src/app/shared/services/startable-service.class.js +0 -95
  746. package/esm2015/src/app/shared/services/storage.utils.js +0 -41
  747. package/esm2015/src/app/shared/services/translate-context.service.js +0 -83
  748. package/esm2015/src/app/shared/services/validator-service.class.js +0 -2
  749. package/esm2015/src/app/shared/shared-routing.module.js +0 -54
  750. package/esm2015/src/app/shared/shared.module.js +0 -125
  751. package/esm2015/src/app/shared/shared.testing.module.js +0 -19
  752. package/esm2015/src/app/shared/toasts.js +0 -119
  753. package/esm2015/src/app/shared/toolbar/modal-toolbar.js +0 -53
  754. package/esm2015/src/app/shared/toolbar/toolbar.js +0 -195
  755. package/esm2015/src/app/shared/types.js +0 -2
  756. package/esm2015/src/app/shared/validator/form-error-adapter.class.js +0 -75
  757. package/esm2015/src/app/shared/validator/validators.js +0 -421
  758. package/esm2015/src/app/shared/version/versions.js +0 -77
  759. package/esm2015/src/app/social/list/user-events.table.js +0 -159
  760. package/esm2015/src/app/social/services/errors.js +0 -5
  761. package/esm2015/src/app/social/services/model/user-event.model.js +0 -46
  762. package/esm2015/src/app/social/services/social.fragments.js +0 -27
  763. package/esm2015/src/app/social/services/user-event.service.js +0 -367
  764. package/esm2015/src/app/social/social.module.js +0 -31
  765. package/esm2015/src/app/vendor.js +0 -5
  766. package/esm2015/src/environments/environment.class.js +0 -5
  767. package/esm2015/src/environments/environment.js +0 -75
  768. package/esm2015/sumaris-net.ngx-components.js +0 -17
  769. package/fesm2015/sumaris-net.ngx-components.js +0 -24434
  770. package/fesm2015/sumaris-net.ngx-components.js.map +0 -1
  771. package/src/app/admin/services/errors.d.ts +0 -5
  772. package/src/app/admin/users/list/users.d.ts +0 -49
  773. package/src/app/core/auth/form/form-auth.d.ts +0 -33
  774. package/src/app/core/auth/modal/modal-auth.d.ts +0 -14
  775. package/src/app/core/form/entity-metadata.component.d.ts +0 -10
  776. package/src/app/core/form/properties.form.d.ts +0 -40
  777. package/src/app/shared/colors.utils.d.ts +0 -3
  778. package/src/app/shared/file/base64-image-reader.d.ts +0 -18
  779. package/src/app/shared/material/badge/badge-icon.directive.d.ts +0 -15
  780. package/src/app/shared/material/badge/badge-icon.module.d.ts +0 -2
  781. package/src/app/shared/material/badge/badge-icon.test.d.ts +0 -2
  782. package/src/app/shared/material/testing/material.testing.module.d.ts +0 -2
  783. package/src/app/shared/pipes/properties.pipe.d.ts +0 -7
  784. package/src/app/shared/services/storage.utils.d.ts +0 -13
  785. package/src/app/social/list/user-events.table.d.ts +0 -59
  786. package/src/app/social/services/errors.d.ts +0 -4
  787. package/src/app/social/services/model/user-event.model.d.ts +0 -29
  788. package/src/app/social/services/social.fragments.d.ts +0 -4
  789. package/src/app/social/services/user-event.service.d.ts +0 -82
  790. package/src/app/vendor.d.ts +0 -4
  791. package/src/assets/manifest.sumaris.json +0 -17
  792. package/sumaris-net.ngx-components.d.ts +0 -16
  793. package/sumaris-net.ngx-components.metadata.json +0 -1
@@ -0,0 +1,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Capacitor } from '@capacitor/core';
3
+ import { CapacitorPlugins } from './plugins';
4
+ import { Keyboard } from '@capacitor/keyboard';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ionic/angular";
8
+ export class KeyboardService {
9
+ constructor(platform) {
10
+ this.platform = platform;
11
+ this._enable = false;
12
+ this._visibleSubject = new BehaviorSubject(false);
13
+ platform.ready().then(() => this.init());
14
+ }
15
+ get visibleSubject() {
16
+ return this._visibleSubject.asObservable();
17
+ }
18
+ get visible() {
19
+ return this._visibleSubject.value;
20
+ }
21
+ get enable() {
22
+ return this._enable;
23
+ }
24
+ async init() {
25
+ this._enable = this.platform.is('capacitor') && Capacitor.isPluginAvailable(CapacitorPlugins.Keyboard);
26
+ if (this._enable) {
27
+ this._handlers = await Promise.all([
28
+ Keyboard.addListener('keyboardWillShow', () => this._visibleSubject.next(true)),
29
+ Keyboard.addListener('keyboardDidHide', () => this._visibleSubject.next(false))
30
+ ]);
31
+ }
32
+ }
33
+ }
34
+ KeyboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KeyboardService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ KeyboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KeyboardService, providedIn: 'root' });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: KeyboardService, decorators: [{
37
+ type: Injectable,
38
+ args: [{ providedIn: 'root' }]
39
+ }], ctorParameters: function () { return [{ type: i1.Platform }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9jYXBhY2l0b3Iva2V5Ym9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQzs7O0FBSWpELE1BQU0sT0FBTyxlQUFlO0lBaUIxQixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZjlCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWU1RCxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFiRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQU1PLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksU0FBUyxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDakMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0UsUUFBUSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNoRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OzZHQTdCVSxlQUFlO2lIQUFmLGVBQWUsY0FESCxNQUFNOzRGQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NhcGFjaXRvciwgUGx1Z2luTGlzdGVuZXJIYW5kbGV9IGZyb20gJ0BjYXBhY2l0b3IvY29yZSc7XG5pbXBvcnQge0NhcGFjaXRvclBsdWdpbnN9IGZyb20gJy4vcGx1Z2lucyc7XG5pbXBvcnQge0tleWJvYXJkfSBmcm9tICdAY2FwYWNpdG9yL2tleWJvYXJkJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9lbmFibGUgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfdmlzaWJsZVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBfaGFuZGxlcnM6IFBsdWdpbkxpc3RlbmVySGFuZGxlW107XG5cbiAgZ2V0IHZpc2libGVTdWJqZWN0KCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlU3ViamVjdC52YWx1ZTtcbiAgfVxuICBnZXQgZW5hYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGU7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBsYXRmb3JtOiBQbGF0Zm9ybSkge1xuICAgIHBsYXRmb3JtLnJlYWR5KCkudGhlbigoKSA9PiB0aGlzLmluaXQoKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGluaXQoKSB7XG4gICAgdGhpcy5fZW5hYmxlID0gdGhpcy5wbGF0Zm9ybS5pcygnY2FwYWNpdG9yJykgJiYgQ2FwYWNpdG9yLmlzUGx1Z2luQXZhaWxhYmxlKENhcGFjaXRvclBsdWdpbnMuS2V5Ym9hcmQpO1xuICAgIGlmICh0aGlzLl9lbmFibGUpIHtcbiAgICAgIHRoaXMuX2hhbmRsZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICBLZXlib2FyZC5hZGRMaXN0ZW5lcigna2V5Ym9hcmRXaWxsU2hvdycsICgpID0+IHRoaXMuX3Zpc2libGVTdWJqZWN0Lm5leHQodHJ1ZSkpLFxuICAgICAgICBLZXlib2FyZC5hZGRMaXN0ZW5lcigna2V5Ym9hcmREaWRIaWRlJywgKCkgPT4gdGhpcy5fdmlzaWJsZVN1YmplY3QubmV4dChmYWxzZSkpXG4gICAgICBdKTtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { Capacitor } from '@capacitor/core';
2
+ export class CapacitorPlugins {
3
+ }
4
+ CapacitorPlugins.Camera = 'Camera';
5
+ CapacitorPlugins.StatusBar = 'StatusBar';
6
+ CapacitorPlugins.Keyboard = 'Keyboard';
7
+ //static readonly BarcodeScanner = 'BarcodeScanner';
8
+ CapacitorPlugins.isAvailable = Capacitor.isPluginAvailable;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2NhcGFjaXRvci9wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUkxQyxNQUFNLE9BQU8sZ0JBQWdCOztBQUNYLHVCQUFNLEdBQUcsUUFBUSxDQUFDO0FBQ2xCLDBCQUFTLEdBQUcsV0FBVyxDQUFDO0FBQ3hCLHlCQUFRLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLG9EQUFvRDtBQUU3Qyw0QkFBVyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FwYWNpdG9yfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIENhcGFjaXRvclBsdWdpblR5cGUgPSAnQ2FtZXJhJ3wnU3RhdHVzQmFyJ3wnS2V5Ym9hcmQnfCdCYXJjb2RlU2Nhbm5lcic7XG5cbmV4cG9ydCBjbGFzcyBDYXBhY2l0b3JQbHVnaW5zIHtcbiAgc3RhdGljIHJlYWRvbmx5IENhbWVyYSA9ICdDYW1lcmEnO1xuICBzdGF0aWMgcmVhZG9ubHkgU3RhdHVzQmFyID0gJ1N0YXR1c0Jhcic7XG4gIHN0YXRpYyByZWFkb25seSBLZXlib2FyZCA9ICdLZXlib2FyZCc7XG4gIC8vc3RhdGljIHJlYWRvbmx5IEJhcmNvZGVTY2FubmVyID0gJ0JhcmNvZGVTY2FubmVyJztcblxuICBzdGF0aWMgaXNBdmFpbGFibGUgPSBDYXBhY2l0b3IuaXNQbHVnaW5BdmFpbGFibGVcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export const DATE_ISO_PATTERN = 'YYYY-MM-DDTHH:mm:ss.SSSZ';
2
+ export const DATE_PATTERN = 'YYYY-MM-DD';
3
+ export const DEFAULT_PLACEHOLDER_CHAR = '\u005F';
4
+ export const PUBKEY_REGEXP = /^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$/;
5
+ export const SPACE_PLACEHOLDER_CHAR = '\u2000';
6
+ // See https://unicode-search.net/unicode-namesearch.pl?term=ZERO
7
+ export const EMPTY_PLACEHOLDER_CHAR = '\uFEFF' // ZERO WIDTH NO-BREAK SPACE
8
+ ;
9
+ export const KEYBOARD_HIDE_DELAY_MS = 250; // 1s
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsUUFBUSxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx1RUFBdUUsQ0FBQztBQUNyRyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUM7QUFFL0MsaUVBQWlFO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUMvQixRQUFRLENBQUMsNEJBQTRCO0NBQ3hDO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEQVRFX0lTT19QQVRURVJOID0gJ1lZWVktTU0tRERUSEg6bW06c3MuU1NTWic7XG5leHBvcnQgY29uc3QgREFURV9QQVRURVJOID0gJ1lZWVktTU0tREQnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVJfQ0hBUiA9ICdcXHUwMDVGJztcbmV4cG9ydCBjb25zdCBQVUJLRVlfUkVHRVhQID0gL15bMTIzNDU2Nzg5QUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaYWJjZGVmZ2hpamttbm9wcXJzdHV2d3h5el17NDMsNDR9JC87XG5leHBvcnQgY29uc3QgU1BBQ0VfUExBQ0VIT0xERVJfQ0hBUiA9ICdcXHUyMDAwJztcblxuLy8gU2VlIGh0dHBzOi8vdW5pY29kZS1zZWFyY2gubmV0L3VuaWNvZGUtbmFtZXNlYXJjaC5wbD90ZXJtPVpFUk9cbmV4cG9ydCBjb25zdCBFTVBUWV9QTEFDRUhPTERFUl9DSEFSID1cbiAgICAnXFx1RkVGRicgLy8gWkVSTyBXSURUSCBOTy1CUkVBSyBTUEFDRVxuO1xuXG5leHBvcnQgY29uc3QgS0VZQk9BUkRfSElERV9ERUxBWV9NUyA9IDI1MDsgLy8gMXNcbiJdfQ==
@@ -0,0 +1,142 @@
1
+ import { isMoment } from 'moment';
2
+ import { DATE_ISO_PATTERN, DATE_PATTERN } from './constants';
3
+ import * as momentImported from 'moment';
4
+ import * as momentTZImported from 'moment-timezone';
5
+ import { unwrapESModule } from './modules';
6
+ // // Workaround for issue https://github.com/ng-packagr/ng-packagr/issues/2215
7
+ const moment = unwrapESModule(momentImported);
8
+ const momentTZ = unwrapESModule(momentTZImported);
9
+ export const DATE_UNIX_TIMESTAMP = 'X';
10
+ export const DATE_UNIX_MS_TIMESTAMP = 'x';
11
+ export const MOMENT_NO_TIME_PROPERTY = '_hasNoTime';
12
+ export class DateUtils {
13
+ static min(date1, date2) {
14
+ return date1 && (!date2 || date1.isSameOrBefore(date2)) ? date1 : date2;
15
+ }
16
+ static max(date1, date2) {
17
+ const d1 = fromDateISOString(date1);
18
+ const d2 = fromDateISOString(date2);
19
+ return d1 && (!d2 || d1.isSameOrAfter(d2)) ? d1 : d2;
20
+ }
21
+ static equals(date1, date2) {
22
+ return DateUtils.isSame(date1, date2);
23
+ }
24
+ static isSame(date1, date2, granularity) {
25
+ const d1 = fromDateISOString(date1);
26
+ const d2 = fromDateISOString(date2);
27
+ return (!d1 && !d2) || (d1 && d1.isSame(d2, granularity));
28
+ }
29
+ /**
30
+ * Create a copy of a date, without time fields (always return a new Moment object, or undefined).
31
+ * Same implementation as the Java class Dates.resetTime() (see any SUMARiS like Pod)
32
+ * @param value
33
+ * @param timezone a timezone (see https://momentjs.com/timezone/)
34
+ * @param keepLocalTime if true, only the timezone (and offset) is updated, keeping the local time same. Consequently, it will now point to a different point in time if the offset has changed.
35
+ */
36
+ static resetTime(value, timezone, keepLocalTime) {
37
+ if (!value)
38
+ return undefined;
39
+ const date = fromDateISOString(value);
40
+ // No timezone
41
+ if (!timezone) {
42
+ return date.clone().startOf('day');
43
+ }
44
+ // Use timezone
45
+ return date.clone() // clone the original date
46
+ .tz(timezone, keepLocalTime)
47
+ .startOf('day');
48
+ }
49
+ static markNoTime(value) {
50
+ if (!value)
51
+ return undefined;
52
+ value[MOMENT_NO_TIME_PROPERTY] = true;
53
+ return value;
54
+ }
55
+ static isNoTime(value) {
56
+ return value?.[MOMENT_NO_TIME_PROPERTY] === true;
57
+ }
58
+ /**
59
+ * Test if a date is on the given day of week
60
+ * @param date
61
+ * @param weekday
62
+ * @param timezone
63
+ */
64
+ static isAtDay(date, weekday, timezone) {
65
+ let momentDate = date && fromDateISOString(date);
66
+ if (!momentDate)
67
+ return null;
68
+ if (timezone)
69
+ momentDate = momentDate.clone().tz(timezone).startOf('day');
70
+ return momentDate.day() === weekday;
71
+ }
72
+ }
73
+ DateUtils.moment = moment;
74
+ DateUtils.momentTZ = momentTZ;
75
+ DateUtils.toDateISOString = toDateISOString;
76
+ DateUtils.fromDateISOString = fromDateISOString;
77
+ DateUtils.toDuration = toDuration;
78
+ export function toDateISOString(value) {
79
+ if (!value)
80
+ return undefined;
81
+ // Already a valid ISO date time string (without timezone): use it
82
+ if (typeof value === 'string'
83
+ && value.indexOf('+') === -1
84
+ && value.lastIndexOf('Z') === value.length - 1) {
85
+ return value;
86
+ }
87
+ // Make sure to have a Moment object
88
+ const date = fromDateISOString(value);
89
+ if (!date)
90
+ return undefined;
91
+ return DateUtils.isNoTime(date)
92
+ ? date.toISOString(true /* important ! */).substring(0, 10)
93
+ : date.toISOString();
94
+ }
95
+ export function fromDateISOString(value) {
96
+ // Already a moment object: use it
97
+ if (!value || isMoment(value))
98
+ return value;
99
+ if (typeof value === 'string' && value.length === 10) {
100
+ // Parse the input value, as a date only
101
+ const dateOnly = DateUtils.moment(value, DATE_PATTERN);
102
+ if (dateOnly.isValid())
103
+ return DateUtils.markNoTime(dateOnly);
104
+ }
105
+ // Parse the input value, as a ISO date time
106
+ const date = DateUtils.moment(value, DATE_ISO_PATTERN);
107
+ if (date.isValid())
108
+ return date;
109
+ // Not valid: trying to convert from unix timestamp
110
+ if (typeof value === 'string') {
111
+ console.warn('Wrong date format - Trying to convert from local time: ' + value);
112
+ if (value.length === 10) {
113
+ return DateUtils.moment(value, DATE_UNIX_TIMESTAMP);
114
+ }
115
+ else if (value.length === 13) {
116
+ return DateUtils.moment(value, DATE_UNIX_MS_TIMESTAMP);
117
+ }
118
+ }
119
+ console.warn('Unable to parse date: ' + value);
120
+ return undefined;
121
+ }
122
+ export function fromUnixTimestamp(timeInSec) {
123
+ return DateUtils.moment(timeInSec, DATE_UNIX_TIMESTAMP);
124
+ }
125
+ export function fromUnixMsTimestamp(timeInMs) {
126
+ return DateUtils.moment(timeInMs, DATE_UNIX_MS_TIMESTAMP);
127
+ }
128
+ export function toDuration(value, unit) {
129
+ if (!value)
130
+ return undefined;
131
+ const duration = DateUtils.moment.duration(value, unit);
132
+ // fix 990+ ms
133
+ if (duration.milliseconds() >= 990) {
134
+ duration.add(1000 - duration.milliseconds(), 'ms');
135
+ }
136
+ // fix 59 s
137
+ if (duration.seconds() >= 59) {
138
+ duration.add(60 - duration.seconds(), 's');
139
+ }
140
+ return duration;
141
+ }
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksUUFBUSxFQUFzQixNQUFNLFFBQVEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sS0FBSyxjQUFjLE1BQU0sUUFBUSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRXpDLCtFQUErRTtBQUMvRSxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQXdCLGNBQWMsQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBMEIsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLFlBQVksQ0FBQztBQUVwRCxNQUFNLE9BQU8sU0FBUztJQVNwQixNQUFNLENBQUMsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3JDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEtBQXFCO1FBQ3JELE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFzQixFQUFFLEtBQXNCO1FBQzFELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBc0IsRUFBRSxLQUFzQixFQUFFLFdBQWdDO1FBQzVGLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBb0IsRUFBRSxRQUFpQixFQUFFLGFBQXVCO1FBQy9FLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsY0FBYztRQUNkLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7UUFDRCxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsMEJBQTBCO2FBQzNDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO2FBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsS0FBSyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBYTtRQUMzQixPQUFPLEtBQUssRUFBRSxDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBbUIsRUFBRSxPQUFlLEVBQUUsUUFBaUI7UUFDcEUsSUFBSSxVQUFVLEdBQUcsSUFBSSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDN0IsSUFBSSxRQUFRO1lBQUUsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFFLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLE9BQU8sQ0FBQztJQUN0QyxDQUFDOztBQXBFTSxnQkFBTSxHQUFHLE1BQU0sQ0FBQztBQUNoQixrQkFBUSxHQUFHLFFBQVEsQ0FBQztBQUVwQix5QkFBZSxHQUFHLGVBQWUsQ0FBQztBQUNsQywyQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztBQUN0QyxvQkFBVSxHQUFHLFVBQVUsQ0FBQztBQWtFakMsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFVO0lBQ3hDLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFFN0Isa0VBQWtFO0lBQ2xFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtXQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztXQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBRWhELE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxvQ0FBb0M7SUFDcEMsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1QixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDekIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFVO0lBQzFDLGtDQUFrQztJQUNsQyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUU1QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtRQUNwRCx3Q0FBd0M7UUFDeEMsTUFBTSxRQUFRLEdBQVcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDL0QsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQUUsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQy9EO0lBRUQsNENBQTRDO0lBQzVDLE1BQU0sSUFBSSxHQUFXLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFFaEMsbURBQW1EO0lBQ25ELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMseURBQXlELEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDaEYsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUM7U0FDckQ7YUFDSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQzVCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUN4RDtLQUNGO0lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUMvQyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFNBQWlCO0lBQ2pELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBQ0QsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFFBQWdCO0lBQ2xELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhLEVBQUUsSUFBNEM7SUFDcEYsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUU3QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFeEQsY0FBYztJQUNkLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxJQUFJLEdBQUcsRUFBRTtRQUNsQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDcEQ7SUFDRCxXQUFXO0lBQ1gsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzVCLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUM1QztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgaXNNb21lbnQsIE1vbWVudCwgdW5pdE9mVGltZSB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBEQVRFX0lTT19QQVRURVJOLCBEQVRFX1BBVFRFUk4gfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgKiBhcyBtb21lbnRJbXBvcnRlZCBmcm9tICdtb21lbnQnO1xuaW1wb3J0ICogYXMgbW9tZW50VFpJbXBvcnRlZCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHt1bndyYXBFU01vZHVsZX0gZnJvbSAnLi9tb2R1bGVzJztcblxuLy8gLy8gV29ya2Fyb3VuZCBmb3IgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvMjIxNVxuY29uc3QgbW9tZW50ID0gdW53cmFwRVNNb2R1bGU8dHlwZW9mIG1vbWVudEltcG9ydGVkPihtb21lbnRJbXBvcnRlZCk7XG5jb25zdCBtb21lbnRUWiA9IHVud3JhcEVTTW9kdWxlPHR5cGVvZiBtb21lbnRUWkltcG9ydGVkPihtb21lbnRUWkltcG9ydGVkKTtcblxuZXhwb3J0IGNvbnN0IERBVEVfVU5JWF9USU1FU1RBTVAgPSAnWCc7XG5leHBvcnQgY29uc3QgREFURV9VTklYX01TX1RJTUVTVEFNUCA9ICd4JztcbmV4cG9ydCBjb25zdCBNT01FTlRfTk9fVElNRV9QUk9QRVJUWSA9ICdfaGFzTm9UaW1lJztcblxuZXhwb3J0IGNsYXNzIERhdGVVdGlscyB7XG5cbiAgc3RhdGljIG1vbWVudCA9IG1vbWVudDtcbiAgc3RhdGljIG1vbWVudFRaID0gbW9tZW50VFo7XG5cbiAgc3RhdGljIHRvRGF0ZUlTT1N0cmluZyA9IHRvRGF0ZUlTT1N0cmluZztcbiAgc3RhdGljIGZyb21EYXRlSVNPU3RyaW5nID0gZnJvbURhdGVJU09TdHJpbmc7XG4gIHN0YXRpYyB0b0R1cmF0aW9uID0gdG9EdXJhdGlvbjtcblxuICBzdGF0aWMgbWluKGRhdGUxOiBNb21lbnQsIGRhdGUyOiBNb21lbnQpOiBNb21lbnQge1xuICAgIHJldHVybiBkYXRlMSAmJiAoIWRhdGUyIHx8IGRhdGUxLmlzU2FtZU9yQmVmb3JlKGRhdGUyKSkgPyBkYXRlMSA6IGRhdGUyO1xuICB9XG5cbiAgc3RhdGljIG1heChkYXRlMTogTW9tZW50fCBzdHJpbmcsIGRhdGUyOiBNb21lbnR8IHN0cmluZyk6IE1vbWVudCB7XG4gICAgY29uc3QgZDEgPSBmcm9tRGF0ZUlTT1N0cmluZyhkYXRlMSk7XG4gICAgY29uc3QgZDIgPSBmcm9tRGF0ZUlTT1N0cmluZyhkYXRlMik7XG4gICAgcmV0dXJuIGQxICYmICghZDIgfHwgZDEuaXNTYW1lT3JBZnRlcihkMikpID8gZDEgOiBkMjtcbiAgfVxuXG4gIHN0YXRpYyBlcXVhbHMoZGF0ZTE6IE1vbWVudCB8IHN0cmluZywgZGF0ZTI6IE1vbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBEYXRlVXRpbHMuaXNTYW1lKGRhdGUxLCBkYXRlMik7XG4gIH1cblxuICBzdGF0aWMgaXNTYW1lKGRhdGUxOiBNb21lbnQgfCBzdHJpbmcsIGRhdGUyOiBNb21lbnQgfCBzdHJpbmcsIGdyYW51bGFyaXR5PzogdW5pdE9mVGltZS5TdGFydE9mKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZDEgPSBmcm9tRGF0ZUlTT1N0cmluZyhkYXRlMSk7XG4gICAgY29uc3QgZDIgPSBmcm9tRGF0ZUlTT1N0cmluZyhkYXRlMik7XG4gICAgcmV0dXJuICghZDEgJiYgIWQyKSB8fCAoZDEgJiYgZDEuaXNTYW1lKGQyLCBncmFudWxhcml0eSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNvcHkgb2YgYSBkYXRlLCB3aXRob3V0IHRpbWUgZmllbGRzIChhbHdheXMgcmV0dXJuIGEgbmV3IE1vbWVudCBvYmplY3QsIG9yIHVuZGVmaW5lZCkuXG4gICAqIFNhbWUgaW1wbGVtZW50YXRpb24gYXMgdGhlIEphdmEgY2xhc3MgRGF0ZXMucmVzZXRUaW1lKCkgKHNlZSBhbnkgU1VNQVJpUyBsaWtlIFBvZClcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEBwYXJhbSB0aW1lem9uZSBhIHRpbWV6b25lIChzZWUgaHR0cHM6Ly9tb21lbnRqcy5jb20vdGltZXpvbmUvKVxuICAgKiBAcGFyYW0ga2VlcExvY2FsVGltZSBpZiB0cnVlLCBvbmx5IHRoZSB0aW1lem9uZSAoYW5kIG9mZnNldCkgaXMgdXBkYXRlZCwga2VlcGluZyB0aGUgbG9jYWwgdGltZSBzYW1lLiBDb25zZXF1ZW50bHksIGl0IHdpbGwgbm93IHBvaW50IHRvIGEgZGlmZmVyZW50IHBvaW50IGluIHRpbWUgaWYgdGhlIG9mZnNldCBoYXMgY2hhbmdlZC5cbiAgICovXG4gIHN0YXRpYyByZXNldFRpbWUodmFsdWU6IE1vbWVudHxzdHJpbmcsIHRpbWV6b25lPzogc3RyaW5nLCBrZWVwTG9jYWxUaW1lPzogYm9vbGVhbik6IE1vbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBkYXRlID0gZnJvbURhdGVJU09TdHJpbmcodmFsdWUpO1xuICAgIC8vIE5vIHRpbWV6b25lXG4gICAgaWYgKCF0aW1lem9uZSkge1xuICAgICAgcmV0dXJuIGRhdGUuY2xvbmUoKS5zdGFydE9mKCdkYXknKTtcbiAgICB9XG4gICAgLy8gVXNlIHRpbWV6b25lXG4gICAgcmV0dXJuIGRhdGUuY2xvbmUoKSAvLyBjbG9uZSB0aGUgb3JpZ2luYWwgZGF0ZVxuICAgICAgLnR6KHRpbWV6b25lLCBrZWVwTG9jYWxUaW1lKVxuICAgICAgLnN0YXJ0T2YoJ2RheScpO1xuICB9XG5cbiAgc3RhdGljIG1hcmtOb1RpbWUodmFsdWU6IE1vbWVudCk6IE1vbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB2YWx1ZVtNT01FTlRfTk9fVElNRV9QUk9QRVJUWV0gPSB0cnVlO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBpc05vVGltZSh2YWx1ZTogTW9tZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlPy5bTU9NRU5UX05PX1RJTUVfUFJPUEVSVFldID09PSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRlc3QgaWYgYSBkYXRlIGlzIG9uIHRoZSBnaXZlbiBkYXkgb2Ygd2Vla1xuICAgKiBAcGFyYW0gZGF0ZVxuICAgKiBAcGFyYW0gd2Vla2RheVxuICAgKiBAcGFyYW0gdGltZXpvbmVcbiAgICovXG4gIHN0YXRpYyBpc0F0RGF5KGRhdGU6IHN0cmluZ3xNb21lbnQsIHdlZWtkYXk6IG51bWJlciwgdGltZXpvbmU/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBsZXQgbW9tZW50RGF0ZSA9IGRhdGUgJiYgZnJvbURhdGVJU09TdHJpbmcoZGF0ZSk7XG4gICAgaWYgKCFtb21lbnREYXRlKSByZXR1cm4gbnVsbDtcbiAgICBpZiAodGltZXpvbmUpIG1vbWVudERhdGUgPSBtb21lbnREYXRlLmNsb25lKCkudHoodGltZXpvbmUpLnN0YXJ0T2YoJ2RheScpO1xuICAgIHJldHVybiBtb21lbnREYXRlLmRheSgpID09PSB3ZWVrZGF5O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVJU09TdHJpbmcodmFsdWU6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgLy8gQWxyZWFkeSBhIHZhbGlkIElTTyBkYXRlIHRpbWUgc3RyaW5nICh3aXRob3V0IHRpbWV6b25lKTogdXNlIGl0XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG4gICAgJiYgdmFsdWUuaW5kZXhPZignKycpID09PSAtMVxuICAgICYmIHZhbHVlLmxhc3RJbmRleE9mKCdaJykgPT09IHZhbHVlLmxlbmd0aCAtIDEpIHtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICAvLyBNYWtlIHN1cmUgdG8gaGF2ZSBhIE1vbWVudCBvYmplY3RcbiAgY29uc3QgZGF0ZSA9IGZyb21EYXRlSVNPU3RyaW5nKHZhbHVlKTtcbiAgaWYgKCFkYXRlKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gRGF0ZVV0aWxzLmlzTm9UaW1lKGRhdGUpXG4gICAgPyBkYXRlLnRvSVNPU3RyaW5nKHRydWUgLyogaW1wb3J0YW50ICEgKi8pLnN1YnN0cmluZygwLCAxMClcbiAgICA6IGRhdGUudG9JU09TdHJpbmcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21EYXRlSVNPU3RyaW5nKHZhbHVlOiBhbnkpOiBNb21lbnQgfCB1bmRlZmluZWQge1xuICAvLyBBbHJlYWR5IGEgbW9tZW50IG9iamVjdDogdXNlIGl0XG4gIGlmICghdmFsdWUgfHwgaXNNb21lbnQodmFsdWUpKSByZXR1cm4gdmFsdWU7XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID09PSAxMCkge1xuICAgIC8vIFBhcnNlIHRoZSBpbnB1dCB2YWx1ZSwgYXMgYSBkYXRlIG9ubHlcbiAgICBjb25zdCBkYXRlT25seTogTW9tZW50ID0gRGF0ZVV0aWxzLm1vbWVudCh2YWx1ZSwgREFURV9QQVRURVJOKTtcbiAgICBpZiAoZGF0ZU9ubHkuaXNWYWxpZCgpKSByZXR1cm4gRGF0ZVV0aWxzLm1hcmtOb1RpbWUoZGF0ZU9ubHkpO1xuICB9XG5cbiAgLy8gUGFyc2UgdGhlIGlucHV0IHZhbHVlLCBhcyBhIElTTyBkYXRlIHRpbWVcbiAgY29uc3QgZGF0ZTogTW9tZW50ID0gRGF0ZVV0aWxzLm1vbWVudCh2YWx1ZSwgREFURV9JU09fUEFUVEVSTik7XG4gIGlmIChkYXRlLmlzVmFsaWQoKSkgcmV0dXJuIGRhdGU7XG5cbiAgLy8gTm90IHZhbGlkOiB0cnlpbmcgdG8gY29udmVydCBmcm9tIHVuaXggdGltZXN0YW1wXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc29sZS53YXJuKCdXcm9uZyBkYXRlIGZvcm1hdCAtIFRyeWluZyB0byBjb252ZXJ0IGZyb20gbG9jYWwgdGltZTogJyArIHZhbHVlKTtcbiAgICBpZiAodmFsdWUubGVuZ3RoID09PSAxMCkge1xuICAgICAgcmV0dXJuIERhdGVVdGlscy5tb21lbnQodmFsdWUsIERBVEVfVU5JWF9USU1FU1RBTVApO1xuICAgIH1cbiAgICBlbHNlIGlmICh2YWx1ZS5sZW5ndGggPT09IDEzKSB7XG4gICAgICByZXR1cm4gRGF0ZVV0aWxzLm1vbWVudCh2YWx1ZSwgREFURV9VTklYX01TX1RJTUVTVEFNUCk7XG4gICAgfVxuICB9XG5cbiAgY29uc29sZS53YXJuKCdVbmFibGUgdG8gcGFyc2UgZGF0ZTogJyArIHZhbHVlKTtcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21Vbml4VGltZXN0YW1wKHRpbWVJblNlYzogbnVtYmVyKSB7XG4gIHJldHVybiBEYXRlVXRpbHMubW9tZW50KHRpbWVJblNlYywgREFURV9VTklYX1RJTUVTVEFNUCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZnJvbVVuaXhNc1RpbWVzdGFtcCh0aW1lSW5NczogbnVtYmVyKSB7XG4gIHJldHVybiBEYXRlVXRpbHMubW9tZW50KHRpbWVJbk1zLCBEQVRFX1VOSVhfTVNfVElNRVNUQU1QKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRHVyYXRpb24odmFsdWU6IG51bWJlciwgdW5pdD86IG1vbWVudC51bml0T2ZUaW1lLkR1cmF0aW9uQ29uc3RydWN0b3IpOiBEdXJhdGlvbiB7XG4gIGlmICghdmFsdWUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgZHVyYXRpb24gPSBEYXRlVXRpbHMubW9tZW50LmR1cmF0aW9uKHZhbHVlLCB1bml0KTtcblxuICAvLyBmaXggOTkwKyBtc1xuICBpZiAoZHVyYXRpb24ubWlsbGlzZWNvbmRzKCkgPj0gOTkwKSB7XG4gICAgZHVyYXRpb24uYWRkKDEwMDAgLSBkdXJhdGlvbi5taWxsaXNlY29uZHMoKSwgJ21zJyk7XG4gIH1cbiAgLy8gZml4IDU5IHNcbiAgaWYgKGR1cmF0aW9uLnNlY29uZHMoKSA+PSA1OSkge1xuICAgIGR1cmF0aW9uLmFkZCg2MCAtIGR1cmF0aW9uLnNlY29uZHMoKSwgJ3MnKTtcbiAgfVxuXG4gIHJldHVybiBkdXJhdGlvbjtcbn1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Component, Inject, Input, Optional, ViewChild } from '@angular/core';
2
+ import { ENVIRONMENT } from '../../../environments/environment.class';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ionic/angular";
5
+ import * as i2 from "@angular/material/expansion";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "../../../environments/environment.class";
8
+ export class DebugComponent {
9
+ constructor(environment) {
10
+ this.title = '';
11
+ this.enable = null;
12
+ this.expanded = false;
13
+ this.enable = !environment || !environment.production;
14
+ }
15
+ toggle() {
16
+ this.expansionPanel.toggle();
17
+ }
18
+ }
19
+ DebugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DebugComponent, deps: [{ token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
20
+ DebugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DebugComponent, selector: "app-debug", inputs: { title: "title", enable: "enable", expanded: "expanded" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true }], ngImport: i0, template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\" ></ion-icon>\n <ion-label color=\"primary\">Debug {{title}}</ion-label>\n <mat-icon slot=\"end\">{{expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\" >\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;margin-bottom:4px!important;background:var(--ion-color-secondary50)!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DebugComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'app-debug', template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\" ></ion-icon>\n <ion-label color=\"primary\">Debug {{title}}</ion-label>\n <mat-icon slot=\"end\">{{expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\" >\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;margin-bottom:4px!important;background:var(--ion-color-secondary50)!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"] }]
24
+ }], ctorParameters: function () { return [{ type: i4.Environment, decorators: [{
25
+ type: Inject,
26
+ args: [ENVIRONMENT]
27
+ }, {
28
+ type: Optional
29
+ }] }]; }, propDecorators: { title: [{
30
+ type: Input
31
+ }], enable: [{
32
+ type: Input
33
+ }], expanded: [{
34
+ type: Input
35
+ }], expansionPanel: [{
36
+ type: ViewChild,
37
+ args: ['expansionPanel']
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFjLFdBQVcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFPakYsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFDbUMsV0FBd0I7UUFQbEQsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixXQUFNLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDeEQsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLENBQUM7OzRHQWhCVSxjQUFjLGtCQVNmLFdBQVc7Z0dBVFYsY0FBYyx1T0NUM0IsaWlCQWFBOzRGREphLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsV0FBVzs7MEJBYWxCLE1BQU07MkJBQUMsV0FBVzs7MEJBQUcsUUFBUTs0Q0FQdkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUV1QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0RXhwYW5zaW9uUGFuZWx9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XG5pbXBvcnQge0Vudmlyb25tZW50LCBFTlZJUk9OTUVOVH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRlYnVnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RlYnVnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGVidWcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEZWJ1Z0NvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBlbmFibGU6IGJvb2xlYW4gPSBudWxsO1xuICBASW5wdXQoKSBleHBhbmRlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2V4cGFuc2lvblBhbmVsJykgZXhwYW5zaW9uUGFuZWw6IE1hdEV4cGFuc2lvblBhbmVsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChFTlZJUk9OTUVOVCkgQE9wdGlvbmFsKCkgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50XG4gICkge1xuICAgIHRoaXMuZW5hYmxlID0gIWVudmlyb25tZW50IHx8ICFlbnZpcm9ubWVudC5wcm9kdWN0aW9uO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuZXhwYW5zaW9uUGFuZWwudG9nZ2xlKCk7XG4gIH1cbn1cbiIsIjwhLS0gZGVidWcgLS0+XG48aW9uLWl0ZW0gdGFwcGFibGUgKGNsaWNrKT1cInRvZ2dsZSgpXCIgbGluZXM9XCJub25lXCIgY29sb3I9XCJzZWNvbmRhcnk1MFwiPlxuICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImJ1Z1wiID48L2lvbi1pY29uPlxuICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiPkRlYnVnIHt7dGl0bGV9fTwvaW9uLWxhYmVsPlxuICA8bWF0LWljb24gc2xvdD1cImVuZFwiPnt7ZXhwYW5zaW9uUGFuZWwuZXhwYW5kZWQgPyAnZXhwYW5kX2xlc3MnIDogJ2V4cGFuZF9tb3JlJyB9fTwvbWF0LWljb24+XG48L2lvbi1pdGVtPlxuPG1hdC1leHBhbnNpb24tcGFuZWwgI2V4cGFuc2lvblBhbmVsIFsoZXhwYW5kZWQpXT1cImV4cGFuZGVkXCI+XG4gIDxpb24tdGV4dCBjb2xvcj1cInByaW1hcnkxMDBcIiA+XG4gICAgPGRpdiBjbGFzcz1cImlvbi1tYXJnaW4tc3RhcnRcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9pb24tdGV4dD5cbjwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DebugComponent } from './debug.component';
3
+ import { MatExpansionModule } from '@angular/material/expansion';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { CommonModule } from '@angular/common';
6
+ import { IonicModule } from '@ionic/angular';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngx-translate/core";
10
+ export class SharedDebugModule {
11
+ }
12
+ SharedDebugModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SharedDebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ SharedDebugModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SharedDebugModule, declarations: [DebugComponent], imports: [CommonModule,
14
+ IonicModule,
15
+ MatExpansionModule,
16
+ MatIconModule, i1.TranslateModule, MatExpansionModule], exports: [DebugComponent,
17
+ TranslateModule] });
18
+ SharedDebugModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SharedDebugModule, imports: [CommonModule,
19
+ IonicModule,
20
+ MatExpansionModule,
21
+ MatIconModule,
22
+ TranslateModule.forChild(),
23
+ MatExpansionModule, TranslateModule] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SharedDebugModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [
28
+ CommonModule,
29
+ IonicModule,
30
+ MatExpansionModule,
31
+ MatIconModule,
32
+ TranslateModule.forChild(),
33
+ MatExpansionModule
34
+ ],
35
+ declarations: [
36
+ DebugComponent
37
+ ],
38
+ exports: [
39
+ DebugComponent,
40
+ TranslateModule
41
+ ]
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZGVidWcvZGVidWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBVSxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBbUI5RCxNQUFNLE9BQU8saUJBQWlCOzsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBUDFCLGNBQWMsYUFSZCxZQUFZO1FBQ1osV0FBVztRQUNYLGtCQUFrQjtRQUNsQixhQUFhLHNCQUViLGtCQUFrQixhQU1sQixjQUFjO1FBQ2QsZUFBZTtnSEFHTixpQkFBaUIsWUFmMUIsWUFBWTtRQUNaLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGVBQWUsQ0FBQyxRQUFRLEVBQUU7UUFDMUIsa0JBQWtCLEVBT2xCLGVBQWU7NEZBR04saUJBQWlCO2tCQWpCN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixrQkFBa0I7cUJBQ25CO29CQUNELFlBQVksRUFBRTt3QkFDWixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RlYnVnQ29tcG9uZW50fSBmcm9tICcuL2RlYnVnLmNvbXBvbmVudCc7XG5pbXBvcnQge01hdEV4cGFuc2lvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJb25pY01vZHVsZX0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtNYXRJY29uLCBNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGVidWdDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERlYnVnQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZERlYnVnTW9kdWxlIHtcblxufVxuIl19
@@ -0,0 +1,92 @@
1
+ // Import the core angular services.
2
+ import { Directive } from '@angular/core';
3
+ import { isMobile } from '../platforms';
4
+ import { timer } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../capacitor/keyboard";
7
+ // ----------------------------------------------------------------------------------- //
8
+ // ----------------------------------------------------------------------------------- //
9
+ const BASE_TIMER_DELAY = 100;
10
+ export class AutofocusDirective {
11
+ // I initialize the autofocus directive.
12
+ constructor(_elementRef, keyboard) {
13
+ this._elementRef = _elementRef;
14
+ this.keyboard = keyboard;
15
+ this._timer = null;
16
+ this.shouldFocusElement = '';
17
+ this._timer = null;
18
+ this.timerDelay = BASE_TIMER_DELAY;
19
+ this._mobile = isMobile(window);
20
+ }
21
+ // I get called once after the contents have been fully initialized.
22
+ ngAfterContentInit() {
23
+ // Because this directive can act on the stand-only "autofocus" attribute or
24
+ // the more specialized "appAutofocus" property, we need to check to see if the
25
+ // "shouldFocusElement" input property is the empty string. This will signify
26
+ // that the focus it not being data-driven and should be performed automatically.
27
+ if (this.shouldFocusElement === '') {
28
+ this._startFocus();
29
+ }
30
+ }
31
+ // I get called every time the input bindings are updated.
32
+ ngOnChanges(changes) {
33
+ // If the timer delay is being passed-in as a string (ie, someone is using
34
+ // attribute-input syntax, not property-input syntax), let's coalesce the
35
+ // attribute to a numeric value so that our type-annotations are consistent.
36
+ if ((changes.autofocusDelay || changes.timerDelay) && (typeof (this.timerDelay) !== 'number')) {
37
+ // If the coalesce fails, just fall-back to a sane value.
38
+ if (isNaN(this.timerDelay = +this.timerDelay)) {
39
+ this.timerDelay = BASE_TIMER_DELAY;
40
+ }
41
+ }
42
+ // If the focus input is being data-driven, then we either need to start the
43
+ // focus workflow if focus is required; or, clear any existing workflow if focus
44
+ // is no longer required (so that we don't steal focus from another element).
45
+ if (changes.appAutofocus || changes.shouldFocusElement) {
46
+ (this.shouldFocusElement)
47
+ ? this._startFocus()
48
+ : this._stop();
49
+ }
50
+ }
51
+ // I get called once when the directive is being unmounted.
52
+ ngOnDestroy() {
53
+ this._stop();
54
+ }
55
+ /* --- private functions -- */
56
+ // I start the timer-based workflow that will focus the current element.
57
+ _startFocus() {
58
+ // Skip focus when keyboard is visible
59
+ if (this.keyboard.visible)
60
+ return;
61
+ // If there is already a timer running for this element, just let it play out -
62
+ // resetting it at this point will only push-out the time at which the focus is
63
+ // applied to the element.
64
+ if (this._timer)
65
+ return;
66
+ this._timer = timer(this.timerDelay)
67
+ .subscribe(() => {
68
+ if (this._timer) {
69
+ this._stop();
70
+ this._elementRef.nativeElement.focus();
71
+ }
72
+ });
73
+ }
74
+ // I stop the timer-based workflow, preventing focus from taking place.
75
+ _stop() {
76
+ this._timer?.unsubscribe();
77
+ this._timer = null;
78
+ }
79
+ }
80
+ AutofocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.KeyboardService }], target: i0.ɵɵFactoryTarget.Directive });
81
+ AutofocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: { shouldFocusElement: ["appAutofocus", "shouldFocusElement"], timerDelay: ["autofocusDelay", "timerDelay"] }, usesOnChanges: true, ngImport: i0 });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AutofocusDirective, decorators: [{
83
+ type: Directive,
84
+ args: [{
85
+ selector: '[autofocus], input[appAutofocus]',
86
+ inputs: [
87
+ 'shouldFocusElement: appAutofocus',
88
+ 'timerDelay: autofocusDelay'
89
+ ]
90
+ }]
91
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.KeyboardService }]; } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsT0FBTyxFQUFtQixTQUFTLEVBQWtELE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFlLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBR3pDLHlGQUF5RjtBQUN6Rix5RkFBeUY7QUFFekYsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFTN0IsTUFBTSxPQUFPLGtCQUFrQjtJQVE3Qix3Q0FBd0M7SUFDeEMsWUFDbUIsV0FBdUIsRUFDdkIsUUFBeUI7UUFEekIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFMcEMsV0FBTSxHQUFpQixJQUFJLENBQUM7UUFPbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxvRUFBb0U7SUFDcEUsa0JBQWtCO1FBRWhCLDRFQUE0RTtRQUM1RSwrRUFBK0U7UUFDL0UsNkVBQTZFO1FBQzdFLGlGQUFpRjtRQUNqRixJQUFLLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxXQUFXLENBQUUsT0FBc0I7UUFFakMsMEVBQTBFO1FBQzFFLHlFQUF5RTtRQUN6RSw0RUFBNEU7UUFDNUUsSUFBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUUsT0FBTSxDQUFFLElBQUksQ0FBQyxVQUFVLENBQUUsS0FBSyxRQUFRLENBQUUsRUFBRztZQUVsRyx5REFBeUQ7WUFDekQsSUFBSyxLQUFLLENBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUUsRUFBRztnQkFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQzthQUNwQztTQUNGO1FBRUQsNEVBQTRFO1FBQzVFLGdGQUFnRjtRQUNoRiw2RUFBNkU7UUFDN0UsSUFBSyxPQUFPLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRztZQUV4RCxDQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBRTtnQkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQ2Y7U0FDRjtJQUNILENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCw4QkFBOEI7SUFFOUIsd0VBQXdFO0lBQ2hFLFdBQVc7UUFFakIsc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVsQywrRUFBK0U7UUFDL0UsK0VBQStFO1FBQy9FLDBCQUEwQjtRQUMxQixJQUFLLElBQUksQ0FBQyxNQUFNO1lBQUksT0FBTztRQUUzQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsdUVBQXVFO0lBQy9ELEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7O2dIQXhGVSxrQkFBa0I7b0dBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLE1BQU0sRUFBRTt3QkFDTixrQ0FBa0M7d0JBQ2xDLDRCQUE0QjtxQkFDN0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnQgdGhlIGNvcmUgYW5ndWxhciBzZXJ2aWNlcy5cbmltcG9ydCB7QWZ0ZXJDb250ZW50SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzTW9iaWxlfSBmcm9tICcuLi9wbGF0Zm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb24sIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7S2V5Ym9hcmRTZXJ2aWNlfSBmcm9tICcuLi9jYXBhY2l0b3Iva2V5Ym9hcmQnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cblxuY29uc3QgQkFTRV9USU1FUl9ERUxBWSA9IDEwMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1dG9mb2N1c10sIGlucHV0W2FwcEF1dG9mb2N1c10nLFxuICBpbnB1dHM6IFtcbiAgICAnc2hvdWxkRm9jdXNFbGVtZW50OiBhcHBBdXRvZm9jdXMnLFxuICAgICd0aW1lckRlbGF5OiBhdXRvZm9jdXNEZWxheSdcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRvZm9jdXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHNob3VsZEZvY3VzRWxlbWVudDogYW55O1xuICBwdWJsaWMgdGltZXJEZWxheTogbnVtYmVyO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21vYmlsZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfdGltZXI6IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgLy8gSSBpbml0aWFsaXplIHRoZSBhdXRvZm9jdXMgZGlyZWN0aXZlLlxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkga2V5Ym9hcmQ6IEtleWJvYXJkU2VydmljZSkge1xuXG4gICAgdGhpcy5zaG91bGRGb2N1c0VsZW1lbnQgPSAnJztcbiAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gICAgdGhpcy50aW1lckRlbGF5ID0gQkFTRV9USU1FUl9ERUxBWTtcbiAgICB0aGlzLl9tb2JpbGUgPSBpc01vYmlsZSh3aW5kb3cpO1xuICB9XG5cbiAgLy8gSSBnZXQgY2FsbGVkIG9uY2UgYWZ0ZXIgdGhlIGNvbnRlbnRzIGhhdmUgYmVlbiBmdWxseSBpbml0aWFsaXplZC5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuXG4gICAgLy8gQmVjYXVzZSB0aGlzIGRpcmVjdGl2ZSBjYW4gYWN0IG9uIHRoZSBzdGFuZC1vbmx5IFwiYXV0b2ZvY3VzXCIgYXR0cmlidXRlIG9yXG4gICAgLy8gdGhlIG1vcmUgc3BlY2lhbGl6ZWQgXCJhcHBBdXRvZm9jdXNcIiBwcm9wZXJ0eSwgd2UgbmVlZCB0byBjaGVjayB0byBzZWUgaWYgdGhlXG4gICAgLy8gXCJzaG91bGRGb2N1c0VsZW1lbnRcIiBpbnB1dCBwcm9wZXJ0eSBpcyB0aGUgZW1wdHkgc3RyaW5nLiBUaGlzIHdpbGwgc2lnbmlmeVxuICAgIC8vIHRoYXQgdGhlIGZvY3VzIGl0IG5vdCBiZWluZyBkYXRhLWRyaXZlbiBhbmQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhdXRvbWF0aWNhbGx5LlxuICAgIGlmICggdGhpcy5zaG91bGRGb2N1c0VsZW1lbnQgPT09ICcnKSB7XG4gICAgICB0aGlzLl9zdGFydEZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gSSBnZXQgY2FsbGVkIGV2ZXJ5IHRpbWUgdGhlIGlucHV0IGJpbmRpbmdzIGFyZSB1cGRhdGVkLlxuICBuZ09uQ2hhbmdlcyggY2hhbmdlczogU2ltcGxlQ2hhbmdlcyApIHtcblxuICAgIC8vIElmIHRoZSB0aW1lciBkZWxheSBpcyBiZWluZyBwYXNzZWQtaW4gYXMgYSBzdHJpbmcgKGllLCBzb21lb25lIGlzIHVzaW5nXG4gICAgLy8gYXR0cmlidXRlLWlucHV0IHN5bnRheCwgbm90IHByb3BlcnR5LWlucHV0IHN5bnRheCksIGxldCdzIGNvYWxlc2NlIHRoZVxuICAgIC8vIGF0dHJpYnV0ZSB0byBhIG51bWVyaWMgdmFsdWUgc28gdGhhdCBvdXIgdHlwZS1hbm5vdGF0aW9ucyBhcmUgY29uc2lzdGVudC5cbiAgICBpZiAoIChjaGFuZ2VzLmF1dG9mb2N1c0RlbGF5IHx8IGNoYW5nZXMudGltZXJEZWxheSkgJiYgKCB0eXBlb2YoIHRoaXMudGltZXJEZWxheSApICE9PSAnbnVtYmVyJyApICkge1xuXG4gICAgICAvLyBJZiB0aGUgY29hbGVzY2UgZmFpbHMsIGp1c3QgZmFsbC1iYWNrIHRvIGEgc2FuZSB2YWx1ZS5cbiAgICAgIGlmICggaXNOYU4oIHRoaXMudGltZXJEZWxheSA9ICt0aGlzLnRpbWVyRGVsYXkgKSApIHtcbiAgICAgICAgdGhpcy50aW1lckRlbGF5ID0gQkFTRV9USU1FUl9ERUxBWTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgZm9jdXMgaW5wdXQgaXMgYmVpbmcgZGF0YS1kcml2ZW4sIHRoZW4gd2UgZWl0aGVyIG5lZWQgdG8gc3RhcnQgdGhlXG4gICAgLy8gZm9jdXMgd29ya2Zsb3cgaWYgZm9jdXMgaXMgcmVxdWlyZWQ7IG9yLCBjbGVhciBhbnkgZXhpc3Rpbmcgd29ya2Zsb3cgaWYgZm9jdXNcbiAgICAvLyBpcyBubyBsb25nZXIgcmVxdWlyZWQgKHNvIHRoYXQgd2UgZG9uJ3Qgc3RlYWwgZm9jdXMgZnJvbSBhbm90aGVyIGVsZW1lbnQpLlxuICAgIGlmICggY2hhbmdlcy5hcHBBdXRvZm9jdXMgfHwgY2hhbmdlcy5zaG91bGRGb2N1c0VsZW1lbnQgKSB7XG5cbiAgICAgICggdGhpcy5zaG91bGRGb2N1c0VsZW1lbnQgKVxuICAgICAgICA/IHRoaXMuX3N0YXJ0Rm9jdXMoKVxuICAgICAgICA6IHRoaXMuX3N0b3AoKVxuICAgICAgO1xuICAgIH1cbiAgfVxuXG4gIC8vIEkgZ2V0IGNhbGxlZCBvbmNlIHdoZW4gdGhlIGRpcmVjdGl2ZSBpcyBiZWluZyB1bm1vdW50ZWQuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N0b3AoKTtcbiAgfVxuXG4gIC8qIC0tLSBwcml2YXRlIGZ1bmN0aW9ucyAtLSAqL1xuXG4gIC8vIEkgc3RhcnQgdGhlIHRpbWVyLWJhc2VkIHdvcmtmbG93IHRoYXQgd2lsbCBmb2N1cyB0aGUgY3VycmVudCBlbGVtZW50LlxuICBwcml2YXRlIF9zdGFydEZvY3VzKCkge1xuXG4gICAgLy8gU2tpcCBmb2N1cyB3aGVuIGtleWJvYXJkIGlzIHZpc2libGVcbiAgICBpZiAodGhpcy5rZXlib2FyZC52aXNpYmxlKSByZXR1cm47XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgdGltZXIgcnVubmluZyBmb3IgdGhpcyBlbGVtZW50LCBqdXN0IGxldCBpdCBwbGF5IG91dCAtXG4gICAgLy8gcmVzZXR0aW5nIGl0IGF0IHRoaXMgcG9pbnQgd2lsbCBvbmx5IHB1c2gtb3V0IHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBmb2N1cyBpc1xuICAgIC8vIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuXG4gICAgaWYgKCB0aGlzLl90aW1lciApICByZXR1cm47XG5cbiAgICB0aGlzLl90aW1lciA9IHRpbWVyKHRoaXMudGltZXJEZWxheSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fdGltZXIpIHtcbiAgICAgICAgICB0aGlzLl9zdG9wKCk7XG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLy8gSSBzdG9wIHRoZSB0aW1lci1iYXNlZCB3b3JrZmxvdywgcHJldmVudGluZyBmb2N1cyBmcm9tIHRha2luZyBwbGFjZS5cbiAgcHJpdmF0ZSBfc3RvcCgpIHtcbiAgICB0aGlzLl90aW1lcj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { Directive, ElementRef, Inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const compatibleTagNames = ['ion-label', 'mat-label'];
4
+ export class AutoTitleDirective {
5
+ constructor(elementRef) {
6
+ this.elementRef = elementRef;
7
+ // Check compatible tag
8
+ if (compatibleTagNames.includes(elementRef.nativeElement.tagName?.toLowerCase())) {
9
+ this.element = elementRef.nativeElement;
10
+ }
11
+ }
12
+ ngAfterContentChecked() {
13
+ // Update title if different
14
+ if (this.element && this.element.title !== this.element.textContent) {
15
+ this.element.title = this.element.textContent;
16
+ }
17
+ }
18
+ }
19
+ AutoTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AutoTitleDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ AutoTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: AutoTitleDirective, selector: "[appAutoTitle]", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AutoTitleDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[appAutoTitle]',
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
27
+ type: Inject,
28
+ args: [ElementRef]
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3RpdGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvYXV0b3RpdGxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRixNQUFNLGtCQUFrQixHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBS3RELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBaUQsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbEYsdUJBQXVCO1FBQ3ZCLElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7WUFDaEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjtRQUNuQiw0QkFBNEI7UUFDNUIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ25FLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7Z0hBZlUsa0JBQWtCLGtCQUdULFVBQVU7b0dBSG5CLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzswQkFJYyxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRDaGVja2VkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCBjb21wYXRpYmxlVGFnTmFtZXMgPSBbJ2lvbi1sYWJlbCcsICdtYXQtbGFiZWwnXTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2FwcEF1dG9UaXRsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvVGl0bGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAvLyBDaGVjayBjb21wYXRpYmxlIHRhZ1xuICAgIGlmIChjb21wYXRpYmxlVGFnTmFtZXMuaW5jbHVkZXMoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vIFVwZGF0ZSB0aXRsZSBpZiBkaWZmZXJlbnRcbiAgICBpZiAodGhpcy5lbGVtZW50ICYmIHRoaXMuZWxlbWVudC50aXRsZSAhPT0gdGhpcy5lbGVtZW50LnRleHRDb250ZW50KSB7XG4gICAgICB0aGlzLmVsZW1lbnQudGl0bGUgPSB0aGlzLmVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,43 @@
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 * as i0 from "@angular/core";
9
+ export class SharedDirectivesModule {
10
+ }
11
+ SharedDirectivesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SharedDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SharedDirectivesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SharedDirectivesModule, declarations: [AutofocusDirective,
13
+ NgVarDirective,
14
+ DragAndDropDirective,
15
+ AutoTitleDirective], imports: [CommonModule,
16
+ IonicModule], exports: [AutofocusDirective,
17
+ NgVarDirective,
18
+ DragAndDropDirective,
19
+ AutoTitleDirective] });
20
+ SharedDirectivesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SharedDirectivesModule, imports: [CommonModule,
21
+ IonicModule] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SharedDirectivesModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ imports: [
26
+ CommonModule,
27
+ IonicModule
28
+ ],
29
+ declarations: [
30
+ AutofocusDirective,
31
+ NgVarDirective,
32
+ DragAndDropDirective,
33
+ AutoTitleDirective
34
+ ],
35
+ exports: [
36
+ AutofocusDirective,
37
+ NgVarDirective,
38
+ DragAndDropDirective,
39
+ AutoTitleDirective
40
+ ]
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBcUJ6RCxNQUFNLE9BQU8sc0JBQXNCOztvSEFBdEIsc0JBQXNCO3FIQUF0QixzQkFBc0IsaUJBWi9CLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGtCQUFrQixhQVBsQixZQUFZO1FBQ1osV0FBVyxhQVNYLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGtCQUFrQjtxSEFHVCxzQkFBc0IsWUFoQi9CLFlBQVk7UUFDWixXQUFXOzRGQWVGLHNCQUFzQjtrQkFsQmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0F1dG9mb2N1c0RpcmVjdGl2ZX0gZnJvbSAnLi9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7TmdWYXJEaXJlY3RpdmV9IGZyb20gJy4vbmctdmFyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0RyYWdBbmREcm9wRGlyZWN0aXZlfSBmcm9tICcuL2RyYWctYW5kLWRyb3AuZGlyZWN0aXZlJztcbmltcG9ydCB7QXV0b1RpdGxlRGlyZWN0aXZlfSBmcm9tICcuL2F1dG90aXRsZS5kaXJlY3RpdmUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uaWNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIE5nVmFyRGlyZWN0aXZlLFxuICAgIERyYWdBbmREcm9wRGlyZWN0aXZlLFxuICAgIEF1dG9UaXRsZURpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgIE5nVmFyRGlyZWN0aXZlLFxuICAgIERyYWdBbmREcm9wRGlyZWN0aXZlLFxuICAgIEF1dG9UaXRsZURpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZERpcmVjdGl2ZXNNb2R1bGUge1xufVxuIl19
@@ -0,0 +1,53 @@
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
+ constructor() {
6
+ this.fileDropped = new EventEmitter();
7
+ }
8
+ // Dragover listener
9
+ onDragOver(event) {
10
+ event.preventDefault();
11
+ event.stopPropagation();
12
+ this.fileOver = true;
13
+ }
14
+ // Dragleave listener
15
+ onDragLeave(event) {
16
+ event.preventDefault();
17
+ event.stopPropagation();
18
+ this.fileOver = false;
19
+ }
20
+ // Drop listener
21
+ ondrop(event) {
22
+ event.preventDefault();
23
+ event.stopPropagation();
24
+ this.fileOver = false;
25
+ const files = event.dataTransfer?.files;
26
+ if (isNotEmptyArray(files)) {
27
+ this.fileDropped.emit(files);
28
+ }
29
+ }
30
+ }
31
+ DragAndDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ DragAndDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", 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 });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DragAndDropDirective, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ selector: '[appDragAndDrop]',
37
+ }]
38
+ }], propDecorators: { fileOver: [{
39
+ type: HostBinding,
40
+ args: ['class.fileover']
41
+ }], fileDropped: [{
42
+ type: Output
43
+ }], onDragOver: [{
44
+ type: HostListener,
45
+ args: ['dragover', ['$event']]
46
+ }], onDragLeave: [{
47
+ type: HostListener,
48
+ args: ['dragleave', ['$event']]
49
+ }], ondrop: [{
50
+ type: HostListener,
51
+ args: ['drop', ['$event']]
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9kaXJlY3RpdmVzL2RyYWctYW5kLWRyb3AuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7O0FBVzdDLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFPWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0E4QnBEO0lBNUJDLG9CQUFvQjtJQUVwQixVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxxQkFBcUI7SUFFZCxXQUFXLENBQUMsS0FBWTtRQUM3QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0I7SUFFVCxNQUFNLENBQUMsS0FBZ0I7UUFDNUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQztRQUV4QyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7O2tIQWpDVSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzhCQUdnQyxRQUFRO3NCQUF0QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFbkIsV0FBVztzQkFBcEIsTUFBTTtnQkFJUCxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVM3QixXQUFXO3NCQURqQixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTOUIsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNOb3RFbXB0eUFycmF5fSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuXG5pbnRlcmZhY2UgRHJvcEV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBkYXRhVHJhbnNmZXI/OiB7XG4gICAgZmlsZXM/OiBGaWxlW11cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwRHJhZ0FuZERyb3BdJyxcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0FuZERyb3BEaXJlY3RpdmUge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmlsZW92ZXInKSBmaWxlT3ZlcjogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgZmlsZURyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcblxuICAvLyBEcmFnb3ZlciBsaXN0ZW5lclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ092ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZpbGVPdmVyID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIERyYWdsZWF2ZSBsaXN0ZW5lclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmZpbGVPdmVyID0gZmFsc2U7XG4gIH1cblxuICAvLyBEcm9wIGxpc3RlbmVyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25kcm9wKGV2ZW50OiBEcm9wRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZmlsZU92ZXIgPSBmYWxzZTtcbiAgICBjb25zdCBmaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXM7XG5cbiAgICBpZiAoaXNOb3RFbXB0eUFycmF5KGZpbGVzKSkge1xuICAgICAgdGhpcy5maWxlRHJvcHBlZC5lbWl0KGZpbGVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NgVarDirective {
4
+ constructor(templateRef, vcRef) {
5
+ this.templateRef = templateRef;
6
+ this.vcRef = vcRef;
7
+ this.context = {
8
+ $implicit: null,
9
+ ngVar: null,
10
+ };
11
+ this.hasView = false;
12
+ }
13
+ set ngVar(context) {
14
+ this.context.$implicit = this.context.ngVar = context;
15
+ if (!this.hasView) {
16
+ this.vcRef.createEmbeddedView(this.templateRef, this.context);
17
+ this.hasView = true;
18
+ }
19
+ }
20
+ }
21
+ NgVarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
22
+ NgVarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NgVarDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[ngVar]',
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { ngVar: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvbmctdmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUM7O0FBSzlFLE1BQU0sT0FBTyxjQUFjO0lBc0J6QixZQUNVLFdBQTZCLEVBQzdCLEtBQXVCO1FBRHZCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtRQVp6QixZQUFPLEdBR1g7WUFDRixTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQztRQUVNLFlBQU8sR0FBWSxLQUFLLENBQUM7SUFLOUIsQ0FBQztJQXZCSixJQUNJLEtBQUssQ0FBQyxPQUFnQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7UUFFdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNILENBQUM7OzRHQVZVLGNBQWM7Z0dBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxTQUFTO2lCQUNwQjtpSUFJSyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nVmFyXScsXG59KVxuZXhwb3J0IGNsYXNzIE5nVmFyRGlyZWN0aXZlIHtcblxuICBASW5wdXQoKVxuICBzZXQgbmdWYXIoY29udGV4dDogdW5rbm93bikge1xuICAgIHRoaXMuY29udGV4dC4kaW1wbGljaXQgPSB0aGlzLmNvbnRleHQubmdWYXIgPSBjb250ZXh0O1xuXG4gICAgaWYgKCF0aGlzLmhhc1ZpZXcpIHtcbiAgICAgIHRoaXMudmNSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHRoaXMuY29udGV4dCk7XG4gICAgICB0aGlzLmhhc1ZpZXcgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udGV4dDoge1xuICAgICRpbXBsaWNpdDogdW5rbm93bjtcbiAgICBuZ1ZhcjogdW5rbm93bjtcbiAgfSA9IHtcbiAgICAkaW1wbGljaXQ6IG51bGwsXG4gICAgbmdWYXI6IG51bGwsXG4gIH07XG5cbiAgcHJpdmF0ZSBoYXNWaWV3OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwcml2YXRlIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cbn1cbiJdfQ==