@sumaris-net/ngx-components 2.6.26 → 2.7.0-rc10

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 (738) hide show
  1. package/esm2022/public_api.mjs +339 -0
  2. package/{esm2020 → esm2022}/src/app/admin/admin-routing.module.mjs +8 -8
  3. package/{esm2020 → esm2022}/src/app/admin/admin.module.mjs +12 -12
  4. package/esm2022/src/app/admin/services/filter/person.filter.mjs +69 -0
  5. package/esm2022/src/app/admin/services/person.service.mjs +174 -0
  6. package/esm2022/src/app/admin/services/validator/person.validator.mjs +72 -0
  7. package/esm2022/src/app/admin/users/users.mjs +264 -0
  8. package/esm2022/src/app/admin/users/users.module.mjs +58 -0
  9. package/{esm2020 → esm2022}/src/app/core/about/about.modal.mjs +20 -7
  10. package/{esm2020 → esm2022}/src/app/core/about/about.module.mjs +9 -9
  11. package/{esm2020 → esm2022}/src/app/core/account/account.module.mjs +22 -22
  12. package/esm2022/src/app/core/account/account.page.mjs +337 -0
  13. package/esm2022/src/app/core/account/new-token.modal.mjs +130 -0
  14. package/esm2022/src/app/core/account/token.table.mjs +146 -0
  15. package/esm2022/src/app/core/auth/auth.form.mjs +140 -0
  16. package/esm2022/src/app/core/auth/auth.modal.mjs +76 -0
  17. package/{esm2020 → esm2022}/src/app/core/auth/auth.module.mjs +16 -16
  18. package/{esm2020 → esm2022}/src/app/core/core.module.mjs +87 -87
  19. package/esm2022/src/app/core/core.testing.module.mjs +93 -0
  20. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +109 -0
  21. package/{esm2020 → esm2022}/src/app/core/form/buttons/form-buttons-bar.module.mjs +10 -10
  22. package/esm2022/src/app/core/form/entity/editor.class.mjs +718 -0
  23. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +436 -0
  24. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +730 -0
  25. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +24 -0
  26. package/{esm2020 → esm2022}/src/app/core/form/entity/entity.module.mjs +11 -11
  27. package/esm2022/src/app/core/form/form.class.mjs +353 -0
  28. package/{esm2020 → esm2022}/src/app/core/form/form.module.mjs +30 -30
  29. package/esm2022/src/app/core/form/form.utils.mjs +485 -0
  30. package/esm2022/src/app/core/form/list/list.form.mjs +233 -0
  31. package/{esm2020 → esm2022}/src/app/core/form/list/list.module.mjs +10 -10
  32. package/esm2022/src/app/core/form/properties/properties.form.mjs +143 -0
  33. package/{esm2020 → esm2022}/src/app/core/form/properties/properties.module.mjs +13 -13
  34. package/esm2022/src/app/core/form/properties/properties.table.mjs +269 -0
  35. package/esm2022/src/app/core/form/properties/property.validator.mjs +24 -0
  36. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +95 -0
  37. package/{esm2020 → esm2022}/src/app/core/form/properties/testing/properties-form.testing.module.mjs +11 -11
  38. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +73 -0
  39. package/{esm2020 → esm2022}/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -10
  40. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +152 -0
  41. package/{esm2020 → esm2022}/src/app/core/form/text-popover/text-popover.module.mjs +10 -10
  42. package/{esm2020 → esm2022}/src/app/core/graphql/graphql.module.mjs +6 -6
  43. package/esm2022/src/app/core/graphql/graphql.service.mjs +788 -0
  44. package/esm2022/src/app/core/graphql/graphql.utils.mjs +118 -0
  45. package/esm2022/src/app/core/home/home.mjs +282 -0
  46. package/esm2022/src/app/core/home/home.module.mjs +51 -0
  47. package/esm2022/src/app/core/icon/icon.component.mjs +40 -0
  48. package/{esm2020 → esm2022}/src/app/core/icon/icon.module.mjs +7 -7
  49. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +358 -0
  50. package/{esm2020 → esm2022}/src/app/core/install/install-upgrade-card.module.mjs +10 -10
  51. package/esm2022/src/app/core/menu/menu.component.mjs +264 -0
  52. package/esm2022/src/app/core/menu/menu.model.mjs +269 -0
  53. package/esm2022/src/app/core/menu/menu.module.mjs +52 -0
  54. package/esm2022/src/app/core/menu/menu.service.mjs +671 -0
  55. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +109 -0
  56. package/{esm2020 → esm2022}/src/app/core/menu/testing/menu-other.testing.mjs +5 -5
  57. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +122 -0
  58. package/{esm2020 → esm2022}/src/app/core/menu/testing/menu.testing.module.mjs +12 -12
  59. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +29 -0
  60. package/{esm2020 → esm2022}/src/app/core/offline/update-offline-mode-card.module.mjs +10 -10
  61. package/esm2022/src/app/core/peer/select-peer.modal.mjs +193 -0
  62. package/{esm2020 → esm2022}/src/app/core/peer/select-peer.module.mjs +13 -13
  63. package/{esm2020 → esm2022}/src/app/core/register/register-confirm.page.mjs +16 -9
  64. package/esm2022/src/app/core/register/register.form.mjs +194 -0
  65. package/esm2022/src/app/core/register/register.modal.mjs +55 -0
  66. package/{esm2020 → esm2022}/src/app/core/register/register.module.mjs +13 -13
  67. package/esm2022/src/app/core/services/account.service.mjs +1243 -0
  68. package/esm2022/src/app/core/services/auth-guard.service.mjs +76 -0
  69. package/esm2022/src/app/core/services/base-entity-service.class.mjs +482 -0
  70. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +224 -0
  71. package/esm2022/src/app/core/services/base58.mjs +79 -0
  72. package/esm2022/src/app/core/services/config.service.mjs +367 -0
  73. package/esm2022/src/app/core/services/crypto.service.mjs +107 -0
  74. package/{esm2020 → esm2022}/src/app/core/services/errors.mjs +3 -3
  75. package/esm2022/src/app/core/services/local-settings.service.mjs +468 -0
  76. package/esm2022/src/app/core/services/model/account.model.mjs +155 -0
  77. package/esm2022/src/app/core/services/model/config.model.mjs +107 -0
  78. package/esm2022/src/app/core/services/model/department.model.mjs +34 -0
  79. package/esm2022/src/app/core/services/model/entity.decorators.mjs +97 -0
  80. package/esm2022/src/app/core/services/model/entity.model.mjs +228 -0
  81. package/{esm2020 → esm2022}/src/app/core/services/model/filter.model.mjs +1 -1
  82. package/esm2022/src/app/core/services/model/peer.model.mjs +83 -0
  83. package/esm2022/src/app/core/services/model/person.model.mjs +110 -0
  84. package/esm2022/src/app/core/services/model/referential.model.mjs +189 -0
  85. package/esm2022/src/app/core/services/model/token.model.mjs +57 -0
  86. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +199 -0
  87. package/esm2022/src/app/core/services/network.service.mjs +626 -0
  88. package/esm2022/src/app/core/services/network.types.mjs +20 -0
  89. package/esm2022/src/app/core/services/network.utils.mjs +15 -0
  90. package/{esm2020 → esm2022}/src/app/core/services/pipes/account.pipes.mjs +9 -9
  91. package/{esm2020 → esm2022}/src/app/core/services/pipes/department-to-string.pipe.mjs +5 -5
  92. package/{esm2020 → esm2022}/src/app/core/services/pipes/person-to-string.pipe.mjs +5 -5
  93. package/{esm2020 → esm2022}/src/app/core/services/pipes/usage-mode.pipes.mjs +9 -9
  94. package/esm2022/src/app/core/services/platform.service.mjs +557 -0
  95. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +434 -0
  96. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +458 -0
  97. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +25 -0
  98. package/esm2022/src/app/core/services/testing/referential.validator.mjs +46 -0
  99. package/esm2022/src/app/core/services/validator/account.validator.mjs +45 -0
  100. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +49 -0
  101. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +67 -0
  102. package/{esm2020 → esm2022}/src/app/core/services/validator/user-settings.validator.mjs +5 -5
  103. package/{esm2020 → esm2022}/src/app/core/services/validator/user-token.validator.mjs +5 -5
  104. package/{esm2020 → esm2022}/src/app/core/settings/settings.module.mjs +9 -9
  105. package/esm2022/src/app/core/settings/settings.page.mjs +328 -0
  106. package/esm2022/src/app/core/table/actions-column.component.mjs +115 -0
  107. package/esm2022/src/app/core/table/async-table.class.mjs +1740 -0
  108. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +386 -0
  109. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +401 -0
  110. package/esm2022/src/app/core/table/memory-table.class.mjs +57 -0
  111. package/esm2022/src/app/core/table/table-select-columns.component.mjs +46 -0
  112. package/esm2022/src/app/core/table/table.class.mjs +1781 -0
  113. package/esm2022/src/app/core/table/table.model.mjs +16 -0
  114. package/{esm2020 → esm2022}/src/app/core/table/table.module.mjs +12 -12
  115. package/esm2022/src/app/core/table/table.utils.mjs +33 -0
  116. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +28 -0
  117. package/esm2022/src/app/core/table/testing/table.testing.mjs +291 -0
  118. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +50 -0
  119. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +25 -0
  120. package/esm2022/src/app/core/table/testing/table2.testing.mjs +250 -0
  121. package/esm2022/src/app/shared/alerts.mjs +239 -0
  122. package/esm2022/src/app/shared/audio/audio.mjs +251 -0
  123. package/esm2022/src/app/shared/audio/audio.testing.mjs +32 -0
  124. package/{esm2020 → esm2022}/src/app/shared/audio/audio.testing.module.mjs +10 -10
  125. package/esm2022/src/app/shared/capacitor/keyboard.mjs +42 -0
  126. package/esm2022/src/app/shared/capacitor/plugins.mjs +9 -0
  127. package/esm2022/src/app/shared/dates.mjs +149 -0
  128. package/esm2022/src/app/shared/debug/debug.component.mjs +40 -0
  129. package/{esm2020 → esm2022}/src/app/shared/debug/debug.module.mjs +14 -14
  130. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +98 -0
  131. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +32 -0
  132. package/{esm2020 → esm2022}/src/app/shared/directives/directives.module.mjs +13 -13
  133. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +52 -0
  134. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +33 -0
  135. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +62 -0
  136. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +45 -0
  137. package/{esm2020 → esm2022}/src/app/shared/directives/resizable/resizable.module.mjs +5 -5
  138. package/esm2022/src/app/shared/events.mjs +65 -0
  139. package/esm2022/src/app/shared/file/csv.utils.mjs +72 -0
  140. package/esm2022/src/app/shared/file/file.service.mjs +122 -0
  141. package/esm2022/src/app/shared/file/file.utils.mjs +113 -0
  142. package/esm2022/src/app/shared/file/images.utils.mjs +161 -0
  143. package/{esm2020 → esm2022}/src/app/shared/file/json.utils.mjs +1 -1
  144. package/esm2022/src/app/shared/file/uri.utils.mjs +24 -0
  145. package/esm2022/src/app/shared/form/field.component.mjs +353 -0
  146. package/{esm2020 → esm2022}/src/app/shared/form/field.model.mjs +1 -1
  147. package/esm2022/src/app/shared/form/loading-spinner.mjs +35 -0
  148. package/esm2022/src/app/shared/forms.mjs +414 -0
  149. package/esm2022/src/app/shared/functions.mjs +483 -0
  150. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +82 -0
  151. package/esm2022/src/app/shared/gesture/gesture-config.mjs +46 -0
  152. package/{esm2020 → esm2022}/src/app/shared/graph/colors.utils.mjs +1 -1
  153. package/esm2022/src/app/shared/graph/graph-colors.mjs +219 -0
  154. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +59 -0
  155. package/esm2022/src/app/shared/help/help.modal.mjs +63 -0
  156. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +23 -0
  157. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +85 -0
  158. package/{esm2020 → esm2022}/src/app/shared/hotkeys/shared-hotkeys.module.mjs +13 -13
  159. package/esm2022/src/app/shared/http/http.utils.mjs +56 -0
  160. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +388 -0
  161. package/{esm2020 → esm2022}/src/app/shared/image/gallery/image-gallery.module.mjs +22 -22
  162. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +26 -0
  163. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +90 -0
  164. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +41 -0
  165. package/{esm2020 → esm2022}/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +16 -16
  166. package/{esm2020 → esm2022}/src/app/shared/image/image.module.mjs +11 -11
  167. package/esm2022/src/app/shared/image/image.service.mjs +104 -0
  168. package/esm2022/src/app/shared/inputs.mjs +231 -0
  169. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +28 -0
  170. package/esm2022/src/app/shared/logging/logger.model.mjs +47 -0
  171. package/esm2022/src/app/shared/logging/logging-service.class.mjs +128 -0
  172. package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.module.mjs +8 -8
  173. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +49 -0
  174. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +967 -0
  175. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +82 -0
  176. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +17 -0
  177. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +217 -0
  178. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +209 -0
  179. package/{esm2020 → esm2022}/src/app/shared/material/badge/badge.module.mjs +9 -9
  180. package/esm2022/src/app/shared/material/badge/badge.test.mjs +42 -0
  181. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +67 -0
  182. package/esm2022/src/app/shared/material/boolean/material-boolean.mjs +262 -0
  183. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +53 -0
  184. package/esm2022/src/app/shared/material/chips/chips.module.mjs +76 -0
  185. package/esm2022/src/app/shared/material/chips/material.chips.mjs +719 -0
  186. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +148 -0
  187. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +90 -0
  188. package/esm2022/src/app/shared/material/datetime/material.date.mjs +424 -0
  189. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +432 -0
  190. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +612 -0
  191. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +132 -0
  192. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +123 -0
  193. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +115 -0
  194. package/esm2022/src/app/shared/material/duration/duration.module.mjs +70 -0
  195. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +36 -0
  196. package/esm2022/src/app/shared/material/duration/material.duration.mjs +273 -0
  197. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +79 -0
  198. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +266 -0
  199. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +440 -0
  200. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +72 -0
  201. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +113 -0
  202. package/esm2022/src/app/shared/material/material.module.mjs +229 -0
  203. package/esm2022/src/app/shared/material/material.testing.module.mjs +221 -0
  204. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +104 -0
  205. package/{esm2020 → esm2022}/src/app/shared/material/numpad/numpad.component.mjs +19 -16
  206. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +203 -0
  207. package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +19 -0
  208. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +168 -0
  209. package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +36 -0
  210. package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +16 -0
  211. package/{esm2020 → esm2022}/src/app/shared/material/numpad/numpad.module.mjs +21 -21
  212. package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +48 -0
  213. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +48 -0
  214. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +23 -0
  215. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +368 -0
  216. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +56 -0
  217. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +67 -0
  218. package/esm2022/src/app/shared/material/testing/common.test.mjs +105 -0
  219. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +31 -0
  220. package/esm2022/src/app/shared/material/text/text-form.component.mjs +97 -0
  221. package/{esm2020 → esm2022}/src/app/shared/material/text/text-form.module.mjs +24 -24
  222. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +246 -0
  223. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +49 -0
  224. package/{esm2020 → esm2022}/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  225. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +69 -0
  226. package/esm2022/src/app/shared/observables.mjs +104 -0
  227. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +141 -0
  228. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +27 -0
  229. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +51 -0
  230. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +72 -0
  231. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +28 -0
  232. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +36 -0
  233. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +60 -0
  234. package/esm2022/src/app/shared/pipes/form.pipes.mjs +194 -0
  235. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +48 -0
  236. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +42 -0
  237. package/{esm2020 → esm2022}/src/app/shared/pipes/maps.pipe.mjs +13 -13
  238. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +69 -0
  239. package/esm2022/src/app/shared/pipes/math.pipes.mjs +59 -0
  240. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +19 -0
  241. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +30 -0
  242. package/esm2022/src/app/shared/pipes/pipes.module.mjs +252 -0
  243. package/esm2022/src/app/shared/pipes/property.pipes.mjs +97 -0
  244. package/esm2022/src/app/shared/pipes/string.pipes.mjs +135 -0
  245. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +44 -0
  246. package/esm2022/src/app/shared/pipes/types.pipes.mjs +58 -0
  247. package/esm2022/src/app/shared/platforms.mjs +43 -0
  248. package/esm2022/src/app/shared/rx-state.module.mjs +23 -0
  249. package/esm2022/src/app/shared/services/job.utils.mjs +92 -0
  250. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +347 -0
  251. package/esm2022/src/app/shared/services/progress-bar.service.mjs +31 -0
  252. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +121 -0
  253. package/esm2022/src/app/shared/services/startable-service.class.mjs +113 -0
  254. package/esm2022/src/app/shared/services/translate-context.service.mjs +104 -0
  255. package/esm2022/src/app/shared/services.mjs +62 -0
  256. package/esm2022/src/app/shared/shared-routing.module.mjs +71 -0
  257. package/esm2022/src/app/shared/shared.module.mjs +231 -0
  258. package/{esm2020 → esm2022}/src/app/shared/shared.testing.module.mjs +40 -40
  259. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +286 -0
  260. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +46 -0
  261. package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +7 -7
  262. package/{esm2020 → esm2022}/src/app/shared/storage/storage-explorer.testing.module.mjs +6 -6
  263. package/esm2022/src/app/shared/storage/storage.service.mjs +134 -0
  264. package/{esm2020 → esm2022}/src/app/shared/storage/storage.utils.mjs +1 -1
  265. package/esm2022/src/app/shared/testing/observable.test.mjs +96 -0
  266. package/esm2022/src/app/shared/testing/tests.page.mjs +37 -0
  267. package/esm2022/src/app/shared/toast/toast.testing.mjs +52 -0
  268. package/{esm2020 → esm2022}/src/app/shared/toast/toast.testing.module.mjs +10 -10
  269. package/esm2022/src/app/shared/toast/toasts.mjs +144 -0
  270. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +60 -0
  271. package/esm2022/src/app/shared/toolbar/toolbar.mjs +263 -0
  272. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +57 -0
  273. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +59 -0
  274. package/{esm2020 → esm2022}/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -10
  275. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +107 -0
  276. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +211 -0
  277. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +27 -0
  278. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +106 -0
  279. package/esm2022/src/app/shared/validator/validators.mjs +580 -0
  280. package/esm2022/src/app/shared/version/versions.mjs +81 -0
  281. package/esm2022/src/app/social/job/job.module.mjs +42 -0
  282. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +35 -0
  283. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +232 -0
  284. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +50 -0
  285. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +29 -0
  286. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +73 -0
  287. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +43 -0
  288. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +53 -0
  289. package/{esm2020 → esm2022}/src/app/social/job/testing/job.testing.module.mjs +9 -9
  290. package/esm2022/src/app/social/message/message.form.mjs +140 -0
  291. package/esm2022/src/app/social/message/message.modal.mjs +110 -0
  292. package/esm2022/src/app/social/message/message.model.mjs +75 -0
  293. package/{esm2020 → esm2022}/src/app/social/message/message.module.mjs +5 -5
  294. package/esm2022/src/app/social/message/message.service.mjs +110 -0
  295. package/{esm2020 → esm2022}/src/app/social/social.module.mjs +19 -19
  296. package/{esm2020 → esm2022}/src/app/social/social.testing.module.mjs +10 -10
  297. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +123 -0
  298. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +263 -0
  299. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +233 -0
  300. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +129 -0
  301. package/{esm2020 → esm2022}/src/app/social/user-event/testing/user-event.testing.module.mjs +9 -9
  302. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +116 -0
  303. package/esm2022/src/app/social/user-event/user-event.module.mjs +43 -0
  304. package/esm2022/src/app/social/user-event/user-event.service.mjs +512 -0
  305. package/esm2022/src/environments/environment.class.mjs +50 -0
  306. package/esm2022/src/environments/environment.loader.mjs +83 -0
  307. package/esm2022/src/environments/environment.mjs +97 -0
  308. package/{fesm2020 → fesm2022}/sumaris-net.ngx-components.mjs +13100 -10864
  309. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -0
  310. package/package.json +37 -17
  311. package/public_api.d.ts +12 -5
  312. package/src/app/admin/users/users.d.ts +1 -1
  313. package/src/app/admin/users/users.module.d.ts +2 -1
  314. package/src/app/core/about/about.modal.d.ts +1 -1
  315. package/src/app/core/account/account.page.d.ts +1 -1
  316. package/src/app/core/account/new-token.modal.d.ts +1 -1
  317. package/src/app/core/account/token.table.d.ts +1 -1
  318. package/src/app/core/auth/auth.form.d.ts +1 -1
  319. package/src/app/core/auth/auth.modal.d.ts +1 -1
  320. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +1 -1
  321. package/src/app/core/form/entity/editor.class.d.ts +3 -3
  322. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +1 -1
  323. package/src/app/core/form/entity/entity-editor.class.d.ts +1 -1
  324. package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
  325. package/src/app/core/form/form.class.d.ts +1 -1
  326. package/src/app/core/form/list/list.form.d.ts +1 -1
  327. package/src/app/core/form/properties/properties.form.d.ts +1 -1
  328. package/src/app/core/form/properties/properties.table.d.ts +2 -3
  329. package/src/app/core/form/properties/property.validator.d.ts +1 -1
  330. package/src/app/core/form/properties/testing/properties-form.test.d.ts +1 -1
  331. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +1 -1
  332. package/src/app/core/form/text-popover/text-popover.component.d.ts +1 -1
  333. package/src/app/core/graphql/graphql.utils.d.ts +1 -1
  334. package/src/app/core/home/home.d.ts +1 -1
  335. package/src/app/core/home/home.module.d.ts +4 -3
  336. package/src/app/core/icon/icon.component.d.ts +1 -1
  337. package/src/app/core/install/install-upgrade-card.component.d.ts +1 -1
  338. package/src/app/core/menu/menu.component.d.ts +2 -2
  339. package/src/app/core/menu/menu.model.d.ts +0 -1
  340. package/src/app/core/menu/menu.module.d.ts +3 -5
  341. package/src/app/core/menu/menu.service.d.ts +1 -1
  342. package/src/app/core/menu/sub-menu-tab.directive.d.ts +1 -1
  343. package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
  344. package/src/app/core/menu/testing/menu.testing.d.ts +1 -1
  345. package/src/app/core/offline/update-offline-mode-card.component.d.ts +1 -1
  346. package/src/app/core/peer/select-peer.modal.d.ts +1 -1
  347. package/src/app/core/register/register-confirm.page.d.ts +1 -1
  348. package/src/app/core/register/register.form.d.ts +1 -1
  349. package/src/app/core/register/register.modal.d.ts +1 -1
  350. package/src/app/core/services/base-entity-service.class.d.ts +2 -2
  351. package/src/app/core/services/base-graphql-service.class.d.ts +1 -1
  352. package/src/app/core/services/model/person.model.d.ts +1 -1
  353. package/src/app/core/services/model/settings.model.d.ts +1 -1
  354. package/src/app/core/services/network.types.d.ts +2 -2
  355. package/src/app/core/services/storage/entity-store.class.d.ts +1 -1
  356. package/src/app/core/services/validator/base.validator.class.d.ts +1 -1
  357. package/src/app/core/settings/settings.page.d.ts +1 -1
  358. package/src/app/core/table/actions-column.component.d.ts +2 -2
  359. package/src/app/core/table/async-table.class.d.ts +1 -1
  360. package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -1
  361. package/src/app/core/table/entities-table-datasource.class.d.ts +1 -1
  362. package/src/app/core/table/memory-table.class.d.ts +3 -3
  363. package/src/app/core/table/table-select-columns.component.d.ts +1 -1
  364. package/src/app/core/table/table.class.d.ts +4 -3
  365. package/src/app/core/table/table.model.d.ts +1 -1
  366. package/src/app/core/table/testing/table.testing.d.ts +5 -4
  367. package/src/app/core/table/testing/table.testing.module.d.ts +8 -5
  368. package/src/app/core/table/testing/table2-validator.service.d.ts +15 -0
  369. package/src/app/core/table/testing/table2.testing.d.ts +45 -0
  370. package/src/app/shared/audio/audio.d.ts +1 -1
  371. package/src/app/shared/audio/audio.testing.d.ts +1 -1
  372. package/src/app/shared/debug/debug.component.d.ts +1 -1
  373. package/src/app/shared/directives/autofocus.directive.d.ts +1 -1
  374. package/src/app/shared/directives/autotitle.directive.d.ts +1 -1
  375. package/src/app/shared/directives/drag-and-drop.directive.d.ts +1 -1
  376. package/src/app/shared/directives/ng-var.directive.d.ts +1 -1
  377. package/src/app/shared/directives/resizable/resizable.component.d.ts +1 -1
  378. package/src/app/shared/directives/resizable/resizable.directive.d.ts +1 -1
  379. package/src/app/shared/events.d.ts +1 -1
  380. package/src/app/shared/form/field.component.d.ts +4 -5
  381. package/src/app/shared/form/field.model.d.ts +2 -0
  382. package/src/app/shared/form/loading-spinner.d.ts +1 -1
  383. package/src/app/shared/functions.d.ts +2 -2
  384. package/src/app/shared/help/help.modal.d.ts +2 -2
  385. package/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.d.ts +3 -5
  386. package/src/app/shared/hotkeys/hotkeys.service.d.ts +3 -3
  387. package/src/app/shared/image/gallery/image-gallery.component.d.ts +3 -3
  388. package/src/app/shared/image/gallery/testing/gallery.testing.d.ts +2 -2
  389. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +10 -8
  390. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +10 -9
  391. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +1 -1
  392. package/src/app/shared/material/badge/badge.directive.d.ts +1 -1
  393. package/src/app/shared/material/badge/badge.test.d.ts +1 -1
  394. package/src/app/shared/material/boolean/boolean.module.d.ts +5 -5
  395. package/src/app/shared/material/boolean/{material.boolean.d.ts → material-boolean.d.ts} +20 -23
  396. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +21 -0
  397. package/src/app/shared/material/chips/material.chips.d.ts +8 -9
  398. package/src/app/shared/material/chips/testing/chips.test.d.ts +2 -2
  399. package/src/app/shared/material/datetime/datetime.module.d.ts +2 -2
  400. package/src/app/shared/material/datetime/material.date.d.ts +8 -5
  401. package/src/app/shared/material/datetime/material.dateshort.d.ts +11 -8
  402. package/src/app/shared/material/datetime/material.datetime.d.ts +24 -12
  403. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +7 -1
  404. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +3 -1
  405. package/src/app/shared/material/datetime/testing/mat-dateshort.test.d.ts +3 -1
  406. package/src/app/shared/material/duration/duration.module.d.ts +6 -5
  407. package/src/app/shared/material/duration/material.duration.d.ts +6 -5
  408. package/src/app/shared/material/duration/testing/mat-duration.test.d.ts +22 -0
  409. package/src/app/shared/material/latlong/material.latlong.d.ts +16 -9
  410. package/src/app/shared/material/latlong/material.latlong.module.d.ts +9 -8
  411. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +3 -1
  412. package/src/app/shared/material/material.testing.module.d.ts +23 -19
  413. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +1 -1
  414. package/src/app/shared/material/numpad/numpad.component.d.ts +1 -1
  415. package/src/app/shared/material/numpad/numpad.container.d.ts +1 -1
  416. package/src/app/shared/material/numpad/numpad.content.d.ts +1 -1
  417. package/src/app/shared/material/numpad/numpad.directive.d.ts +1 -1
  418. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +3 -3
  419. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +1 -1
  420. package/src/app/shared/material/paginator/material.paginator-i18n.d.ts +0 -3
  421. package/src/app/shared/material/swipe/material.swipe.d.ts +6 -6
  422. package/src/app/shared/material/swipe/swipe.module.d.ts +2 -1
  423. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +1 -1
  424. package/src/app/shared/material/testing/common.test.d.ts +25 -0
  425. package/src/app/shared/material/text/testing/text-form.testing.d.ts +1 -1
  426. package/src/app/shared/material/text/text-form.component.d.ts +1 -1
  427. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +4 -1
  428. package/src/app/shared/named-filter/named-filter.service.d.ts +1 -1
  429. package/src/app/shared/pipes/maskito.pipe.d.ts +9 -0
  430. package/src/app/shared/pipes/ng-init.pipe.d.ts +1 -1
  431. package/src/app/shared/pipes/pipes.module.d.ts +5 -4
  432. package/src/app/shared/pipes/string.pipes.d.ts +6 -0
  433. package/src/app/shared/pipes/types.pipes.d.ts +7 -0
  434. package/src/app/shared/rx-state.module.d.ts +10 -0
  435. package/src/app/shared/services/job.utils.d.ts +1 -1
  436. package/src/app/shared/services/memory-entity-service.class.d.ts +1 -1
  437. package/src/app/shared/services/startable-observable-service.class.d.ts +3 -0
  438. package/src/app/shared/services/startable-service.class.d.ts +3 -0
  439. package/src/app/shared/shared.module.d.ts +4 -4
  440. package/src/app/shared/storage/storage-explorer.component.d.ts +1 -1
  441. package/src/app/shared/storage/storage-explorer.module.d.ts +3 -3
  442. package/src/app/shared/storage/storage.service.d.ts +1 -1
  443. package/src/app/shared/storage/storage.utils.d.ts +1 -1
  444. package/src/app/shared/testing/observable.test.d.ts +1 -1
  445. package/src/app/shared/testing/tests.page.d.ts +1 -1
  446. package/src/app/shared/toast/toast.testing.d.ts +1 -1
  447. package/src/app/shared/toolbar/modal-toolbar.d.ts +1 -1
  448. package/src/app/shared/toolbar/toolbar.d.ts +1 -1
  449. package/src/app/shared/toolbar/toolbar.module.d.ts +4 -3
  450. package/src/app/shared/upload-file/testing/upload-file.testing.d.ts +1 -1
  451. package/src/app/shared/upload-file/upload-file-popover.component.d.ts +1 -1
  452. package/src/app/shared/upload-file/upload-file.component.d.ts +1 -1
  453. package/src/app/shared/upload-file/upload-file.model.d.ts +2 -2
  454. package/src/app/social/job/progression/job-progression.component.d.ts +17 -3
  455. package/src/app/social/job/progression/job-progression.icon.d.ts +24 -10
  456. package/src/app/social/job/progression/job-progression.list.d.ts +3 -3
  457. package/src/app/social/job/progression/job-progression.model.d.ts +0 -1
  458. package/src/app/social/job/testing/job-progression.testing.d.ts +3 -6
  459. package/src/app/social/message/message.form.d.ts +1 -1
  460. package/src/app/social/message/message.modal.d.ts +1 -1
  461. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -3
  462. package/src/app/social/user-event/notification/user-event-notification.list.d.ts +1 -1
  463. package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -1
  464. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +0 -1
  465. package/src/app/social/user-event/user-event.model.d.ts +2 -2
  466. package/src/app/social/user-event/user-event.module.d.ts +3 -2
  467. package/src/app/social/user-event/user-event.service.d.ts +1 -1
  468. package/src/assets/i18n/fr.json +2 -2
  469. package/src/assets/img/logo/logo-eis.png +0 -0
  470. package/src/assets/manifest.json +1 -1
  471. package/src/environments/environment.loader.d.ts +1 -1
  472. package/src/theme/_material.globals.scss +51 -19
  473. package/src/theme/_material.scss +35 -19
  474. package/src/theme/_mixins.scss +4 -4
  475. package/src/theme/_ngx-components.globals.scss +6 -1
  476. package/src/theme/_ngx-components.scss +262 -538
  477. package/src/theme/_ngx-components.table.scss +597 -0
  478. package/src/theme/_theme.scss +1 -0
  479. package/esm2020/public_api.mjs +0 -332
  480. package/esm2020/src/app/admin/services/filter/person.filter.mjs +0 -59
  481. package/esm2020/src/app/admin/services/person.service.mjs +0 -170
  482. package/esm2020/src/app/admin/services/validator/person.validator.mjs +0 -71
  483. package/esm2020/src/app/admin/users/users.mjs +0 -250
  484. package/esm2020/src/app/admin/users/users.module.mjs +0 -54
  485. package/esm2020/src/app/core/account/account.page.mjs +0 -319
  486. package/esm2020/src/app/core/account/new-token.modal.mjs +0 -121
  487. package/esm2020/src/app/core/account/token.table.mjs +0 -141
  488. package/esm2020/src/app/core/auth/auth.form.mjs +0 -131
  489. package/esm2020/src/app/core/auth/auth.modal.mjs +0 -72
  490. package/esm2020/src/app/core/core.testing.module.mjs +0 -86
  491. package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +0 -107
  492. package/esm2020/src/app/core/form/entity/editor.class.mjs +0 -685
  493. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +0 -422
  494. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +0 -696
  495. package/esm2020/src/app/core/form/entity/entity-metadata.component.mjs +0 -25
  496. package/esm2020/src/app/core/form/form.class.mjs +0 -345
  497. package/esm2020/src/app/core/form/form.utils.mjs +0 -476
  498. package/esm2020/src/app/core/form/list/list.form.mjs +0 -222
  499. package/esm2020/src/app/core/form/properties/properties.form.mjs +0 -132
  500. package/esm2020/src/app/core/form/properties/properties.table.mjs +0 -267
  501. package/esm2020/src/app/core/form/properties/property.validator.mjs +0 -23
  502. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +0 -90
  503. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.mjs +0 -70
  504. package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +0 -146
  505. package/esm2020/src/app/core/graphql/graphql.service.mjs +0 -776
  506. package/esm2020/src/app/core/graphql/graphql.utils.mjs +0 -117
  507. package/esm2020/src/app/core/home/home.mjs +0 -257
  508. package/esm2020/src/app/core/home/home.module.mjs +0 -48
  509. package/esm2020/src/app/core/icon/icon.component.mjs +0 -41
  510. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +0 -344
  511. package/esm2020/src/app/core/menu/menu.component.mjs +0 -242
  512. package/esm2020/src/app/core/menu/menu.model.mjs +0 -247
  513. package/esm2020/src/app/core/menu/menu.module.mjs +0 -57
  514. package/esm2020/src/app/core/menu/menu.service.mjs +0 -660
  515. package/esm2020/src/app/core/menu/sub-menu-tab.directive.mjs +0 -98
  516. package/esm2020/src/app/core/menu/testing/menu.testing.mjs +0 -121
  517. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +0 -27
  518. package/esm2020/src/app/core/peer/select-peer.modal.mjs +0 -183
  519. package/esm2020/src/app/core/register/register.form.mjs +0 -183
  520. package/esm2020/src/app/core/register/register.modal.mjs +0 -52
  521. package/esm2020/src/app/core/services/account.service.mjs +0 -1235
  522. package/esm2020/src/app/core/services/auth-guard.service.mjs +0 -71
  523. package/esm2020/src/app/core/services/base-entity-service.class.mjs +0 -468
  524. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +0 -221
  525. package/esm2020/src/app/core/services/base58.mjs +0 -78
  526. package/esm2020/src/app/core/services/config.service.mjs +0 -357
  527. package/esm2020/src/app/core/services/crypto.service.mjs +0 -107
  528. package/esm2020/src/app/core/services/local-settings.service.mjs +0 -460
  529. package/esm2020/src/app/core/services/model/account.model.mjs +0 -147
  530. package/esm2020/src/app/core/services/model/config.model.mjs +0 -92
  531. package/esm2020/src/app/core/services/model/department.model.mjs +0 -30
  532. package/esm2020/src/app/core/services/model/entity.decorators.mjs +0 -97
  533. package/esm2020/src/app/core/services/model/entity.model.mjs +0 -225
  534. package/esm2020/src/app/core/services/model/peer.model.mjs +0 -68
  535. package/esm2020/src/app/core/services/model/person.model.mjs +0 -97
  536. package/esm2020/src/app/core/services/model/referential.model.mjs +0 -167
  537. package/esm2020/src/app/core/services/model/token.model.mjs +0 -52
  538. package/esm2020/src/app/core/services/model/tree-item-entity.model.mjs +0 -199
  539. package/esm2020/src/app/core/services/network.service.mjs +0 -607
  540. package/esm2020/src/app/core/services/network.types.mjs +0 -20
  541. package/esm2020/src/app/core/services/network.utils.mjs +0 -15
  542. package/esm2020/src/app/core/services/platform.service.mjs +0 -535
  543. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +0 -428
  544. package/esm2020/src/app/core/services/storage/entity-store.class.mjs +0 -449
  545. package/esm2020/src/app/core/services/testing/referential-filter.model.mjs +0 -23
  546. package/esm2020/src/app/core/services/testing/referential.validator.mjs +0 -45
  547. package/esm2020/src/app/core/services/validator/account.validator.mjs +0 -41
  548. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +0 -47
  549. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +0 -66
  550. package/esm2020/src/app/core/settings/settings.page.mjs +0 -312
  551. package/esm2020/src/app/core/table/actions-column.component.mjs +0 -102
  552. package/esm2020/src/app/core/table/async-table.class.mjs +0 -1698
  553. package/esm2020/src/app/core/table/entities-async-table-datasource.class.mjs +0 -384
  554. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +0 -399
  555. package/esm2020/src/app/core/table/memory-table.class.mjs +0 -53
  556. package/esm2020/src/app/core/table/table-select-columns.component.mjs +0 -43
  557. package/esm2020/src/app/core/table/table.class.mjs +0 -1733
  558. package/esm2020/src/app/core/table/table.model.mjs +0 -12
  559. package/esm2020/src/app/core/table/table.utils.mjs +0 -33
  560. package/esm2020/src/app/core/table/testing/table-validator.service.mjs +0 -27
  561. package/esm2020/src/app/core/table/testing/table.testing.mjs +0 -281
  562. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +0 -38
  563. package/esm2020/src/app/shared/alerts.mjs +0 -239
  564. package/esm2020/src/app/shared/audio/audio.mjs +0 -248
  565. package/esm2020/src/app/shared/audio/audio.testing.mjs +0 -31
  566. package/esm2020/src/app/shared/capacitor/keyboard.mjs +0 -40
  567. package/esm2020/src/app/shared/capacitor/plugins.mjs +0 -9
  568. package/esm2020/src/app/shared/dates.mjs +0 -149
  569. package/esm2020/src/app/shared/debug/debug.component.mjs +0 -39
  570. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +0 -93
  571. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +0 -30
  572. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +0 -53
  573. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +0 -31
  574. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +0 -59
  575. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +0 -40
  576. package/esm2020/src/app/shared/events.mjs +0 -65
  577. package/esm2020/src/app/shared/file/csv.utils.mjs +0 -72
  578. package/esm2020/src/app/shared/file/file.service.mjs +0 -117
  579. package/esm2020/src/app/shared/file/file.utils.mjs +0 -113
  580. package/esm2020/src/app/shared/file/images.utils.mjs +0 -161
  581. package/esm2020/src/app/shared/file/uri.utils.mjs +0 -24
  582. package/esm2020/src/app/shared/form/field.component.mjs +0 -332
  583. package/esm2020/src/app/shared/form/loading-spinner.mjs +0 -36
  584. package/esm2020/src/app/shared/forms.mjs +0 -414
  585. package/esm2020/src/app/shared/functions.mjs +0 -482
  586. package/esm2020/src/app/shared/geolocation/geolocation.utils.mjs +0 -80
  587. package/esm2020/src/app/shared/gesture/gesture-config.mjs +0 -49
  588. package/esm2020/src/app/shared/graph/graph-colors.mjs +0 -212
  589. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +0 -57
  590. package/esm2020/src/app/shared/help/help.modal.mjs +0 -53
  591. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +0 -23
  592. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +0 -84
  593. package/esm2020/src/app/shared/http/http.utils.mjs +0 -56
  594. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +0 -368
  595. package/esm2020/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +0 -27
  596. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +0 -90
  597. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +0 -39
  598. package/esm2020/src/app/shared/image/image.service.mjs +0 -98
  599. package/esm2020/src/app/shared/inputs.mjs +0 -231
  600. package/esm2020/src/app/shared/interceptors/progess.interceptor.mjs +0 -27
  601. package/esm2020/src/app/shared/logging/logger.model.mjs +0 -47
  602. package/esm2020/src/app/shared/logging/logging-service.class.mjs +0 -121
  603. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +0 -47
  604. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +0 -920
  605. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +0 -78
  606. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +0 -17
  607. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +0 -209
  608. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +0 -199
  609. package/esm2020/src/app/shared/material/badge/badge.test.mjs +0 -41
  610. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +0 -68
  611. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +0 -253
  612. package/esm2020/src/app/shared/material/chips/chips.module.mjs +0 -76
  613. package/esm2020/src/app/shared/material/chips/material.chips.mjs +0 -696
  614. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +0 -143
  615. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +0 -91
  616. package/esm2020/src/app/shared/material/datetime/material.date.mjs +0 -376
  617. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +0 -385
  618. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +0 -499
  619. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +0 -109
  620. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +0 -111
  621. package/esm2020/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +0 -103
  622. package/esm2020/src/app/shared/material/duration/duration.module.mjs +0 -67
  623. package/esm2020/src/app/shared/material/duration/duration.utils.mjs +0 -36
  624. package/esm2020/src/app/shared/material/duration/material.duration.mjs +0 -257
  625. package/esm2020/src/app/shared/material/latlong/latlong.utils.mjs +0 -266
  626. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +0 -382
  627. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +0 -67
  628. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +0 -102
  629. package/esm2020/src/app/shared/material/material.module.mjs +0 -229
  630. package/esm2020/src/app/shared/material/material.testing.module.mjs +0 -179
  631. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -98
  632. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +0 -190
  633. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +0 -17
  634. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +0 -162
  635. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -37
  636. package/esm2020/src/app/shared/material/numpad/numpad.model.mjs +0 -15
  637. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -46
  638. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +0 -46
  639. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +0 -22
  640. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +0 -344
  641. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +0 -52
  642. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +0 -64
  643. package/esm2020/src/app/shared/material/text/testing/text-form.testing.mjs +0 -29
  644. package/esm2020/src/app/shared/material/text/text-form.component.mjs +0 -89
  645. package/esm2020/src/app/shared/named-filter/named-filter-selector.component.mjs +0 -224
  646. package/esm2020/src/app/shared/named-filter/named-filter.model.mjs +0 -45
  647. package/esm2020/src/app/shared/named-filter/named-filter.service.mjs +0 -63
  648. package/esm2020/src/app/shared/observables.mjs +0 -104
  649. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +0 -141
  650. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +0 -25
  651. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +0 -48
  652. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +0 -66
  653. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +0 -27
  654. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +0 -34
  655. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +0 -62
  656. package/esm2020/src/app/shared/pipes/form.pipes.mjs +0 -187
  657. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +0 -48
  658. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +0 -46
  659. package/esm2020/src/app/shared/pipes/math.pipes.mjs +0 -59
  660. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +0 -21
  661. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +0 -30
  662. package/esm2020/src/app/shared/pipes/pipes.module.mjs +0 -239
  663. package/esm2020/src/app/shared/pipes/property.pipes.mjs +0 -93
  664. package/esm2020/src/app/shared/pipes/string.pipes.mjs +0 -121
  665. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +0 -43
  666. package/esm2020/src/app/shared/pipes/types.pipes.mjs +0 -45
  667. package/esm2020/src/app/shared/platforms.mjs +0 -43
  668. package/esm2020/src/app/shared/services/job.utils.mjs +0 -92
  669. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +0 -339
  670. package/esm2020/src/app/shared/services/progress-bar.service.mjs +0 -33
  671. package/esm2020/src/app/shared/services/startable-observable-service.class.mjs +0 -118
  672. package/esm2020/src/app/shared/services/startable-service.class.mjs +0 -110
  673. package/esm2020/src/app/shared/services/translate-context.service.mjs +0 -103
  674. package/esm2020/src/app/shared/services.mjs +0 -62
  675. package/esm2020/src/app/shared/shared-routing.module.mjs +0 -71
  676. package/esm2020/src/app/shared/shared.module.mjs +0 -229
  677. package/esm2020/src/app/shared/storage/storage-explorer.component.mjs +0 -268
  678. package/esm2020/src/app/shared/storage/storage-explorer.module.mjs +0 -47
  679. package/esm2020/src/app/shared/storage/storage.service.mjs +0 -132
  680. package/esm2020/src/app/shared/testing/observable.test.mjs +0 -95
  681. package/esm2020/src/app/shared/testing/tests.page.mjs +0 -33
  682. package/esm2020/src/app/shared/toast/toast.testing.mjs +0 -51
  683. package/esm2020/src/app/shared/toast/toasts.mjs +0 -144
  684. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +0 -58
  685. package/esm2020/src/app/shared/toolbar/toolbar.mjs +0 -251
  686. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +0 -53
  687. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +0 -58
  688. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +0 -97
  689. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +0 -204
  690. package/esm2020/src/app/shared/upload-file/upload-file.model.mjs +0 -20
  691. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +0 -104
  692. package/esm2020/src/app/shared/validator/validators.mjs +0 -580
  693. package/esm2020/src/app/shared/version/versions.mjs +0 -81
  694. package/esm2020/src/app/social/job/job.module.mjs +0 -42
  695. package/esm2020/src/app/social/job/progression/job-progression.component.mjs +0 -20
  696. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +0 -216
  697. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +0 -43
  698. package/esm2020/src/app/social/job/progression/job-progression.model.mjs +0 -23
  699. package/esm2020/src/app/social/job/progression/job-progression.service.mjs +0 -71
  700. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +0 -52
  701. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +0 -55
  702. package/esm2020/src/app/social/message/message.form.mjs +0 -136
  703. package/esm2020/src/app/social/message/message.modal.mjs +0 -99
  704. package/esm2020/src/app/social/message/message.model.mjs +0 -67
  705. package/esm2020/src/app/social/message/message.service.mjs +0 -105
  706. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +0 -114
  707. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +0 -246
  708. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +0 -227
  709. package/esm2020/src/app/social/user-event/testing/user-event.testing.model.mjs +0 -112
  710. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +0 -111
  711. package/esm2020/src/app/social/user-event/user-event.module.mjs +0 -39
  712. package/esm2020/src/app/social/user-event/user-event.service.mjs +0 -501
  713. package/esm2020/src/environments/environment.class.mjs +0 -5
  714. package/esm2020/src/environments/environment.loader.mjs +0 -79
  715. package/esm2020/src/environments/environment.mjs +0 -97
  716. package/fesm2015/sumaris-net.ngx-components.mjs +0 -41105
  717. package/fesm2015/sumaris-net.ngx-components.mjs.map +0 -1
  718. package/fesm2020/sumaris-net.ngx-components.mjs.map +0 -1
  719. package/resources/README.md +0 -7
  720. /package/{esm2020 → esm2022}/src/app/core/services/config/core.config.mjs +0 -0
  721. /package/{esm2020 → esm2022}/src/app/core/services/model/history.model.mjs +0 -0
  722. /package/{esm2020 → esm2022}/src/app/core/services/model/model.enum.mjs +0 -0
  723. /package/{esm2020 → esm2022}/src/app/core/services/model/settings.model.mjs +0 -0
  724. /package/{esm2020 → esm2022}/src/app/shared/constants.mjs +0 -0
  725. /package/{esm2020 → esm2022}/src/app/shared/debug/debug-service.class.mjs +0 -0
  726. /package/{esm2020 → esm2022}/src/app/shared/focusable.mjs +0 -0
  727. /package/{esm2020 → esm2022}/src/app/shared/gesture/hammer.utils.mjs +0 -0
  728. /package/{esm2020 → esm2022}/src/app/shared/image/image.model.mjs +0 -0
  729. /package/{esm2020 → esm2022}/src/app/shared/logging/log-level.model.mjs +0 -0
  730. /package/{esm2020 → esm2022}/src/app/shared/logging/logging-service.config.mjs +0 -0
  731. /package/{esm2020 → esm2022}/src/app/shared/material/material.animations.mjs +0 -0
  732. /package/{esm2020 → esm2022}/src/app/shared/modules.mjs +0 -0
  733. /package/{esm2020 → esm2022}/src/app/shared/services/entity-service.class.mjs +0 -0
  734. /package/{esm2020 → esm2022}/src/app/shared/services/validator-service.class.mjs +0 -0
  735. /package/{esm2020 → esm2022}/src/app/shared/types.mjs +0 -0
  736. /package/{esm2020 → esm2022}/src/app/social/social.errors.mjs +0 -0
  737. /package/{esm2020 → esm2022}/src/app/social/user-event/user-event.model.mjs +0 -0
  738. /package/{esm2020 → esm2022}/sumaris-net.ngx-components.mjs +0 -0
@@ -0,0 +1,134 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { StorageDrivers } from './storage.utils';
3
+ import { StartableService } from '../services/startable-service.class';
4
+ import { environment } from '../../../environments/environment';
5
+ import { ENVIRONMENT } from '../../../environments/environment.class';
6
+ import * as cordovaSQLiteDriver from 'localforage-cordovasqlitedriver';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ionic/angular";
9
+ import * as i2 from "@ionic/storage-angular";
10
+ import * as i3 from "../../../environments/environment.class";
11
+ export class StorageService extends StartableService {
12
+ storage;
13
+ environment;
14
+ get driver() {
15
+ return this._data?.driver;
16
+ }
17
+ constructor(platform, storage, environment) {
18
+ super(platform);
19
+ this.storage = storage;
20
+ this.environment = environment;
21
+ this._debug = !environment.production;
22
+ this.start();
23
+ }
24
+ async ngOnStart() {
25
+ try {
26
+ console.debug(`[storage] Starting... {driverOrder: ${environment.storage?.driverOrder}}`);
27
+ // Define Cordova SQLLite driver
28
+ await this.storage.defineDriver(cordovaSQLiteDriver);
29
+ // Create the storage instance
30
+ const storage = await this.storage.create();
31
+ // Migrate from old storage
32
+ await this.migrate(storage);
33
+ console.info(`[storage] Started using driver: ${storage?.driver}`);
34
+ return storage;
35
+ }
36
+ catch (err) {
37
+ console.error('[storage] Cannot create storage: ' + (err?.message || err), err);
38
+ }
39
+ }
40
+ async migrate(storage) {
41
+ const canMigrate = storage?.driver === StorageDrivers.SQLLite;
42
+ if (!canMigrate)
43
+ return; // Skip
44
+ //
45
+ // const oldForage = storage.createInstance({
46
+ // name: storage.config().name,
47
+ // storeName: storage.config().storeName,
48
+ // driver: [storage.INDEXEDDB, storage.WEBSQL]
49
+ // });
50
+ //
51
+ // const keys = await oldForage.keys();
52
+ //
53
+ // // No data in the odl storage: skip migration
54
+ // if (isEmptyArray(keys)) {
55
+ // // Drop the old instance (not need anymore)
56
+ // console.debug(`[platform] Old storage is empty: dropping unused instance {name: '${storage.config().name}', driver: '${oldForage.driver()}'}`);
57
+ // await oldForage.dropInstance();
58
+ // }
59
+ // // IF some data stored in the OLD storage: start migration
60
+ // else {
61
+ //
62
+ // const now = Date.now();
63
+ // console.info(`[platform] Starting storage migration...`);
64
+ //
65
+ // const toast = await this.showToast({message: 'INFO.DATA_MIGRATION_STARTED', type: 'info', duration: 30000});
66
+ // try {
67
+ // await StorageUtils.copy(oldForage, storage, {keys, deleteAfterCopy: false});
68
+ //
69
+ // const duration = Date.now() - now;
70
+ // setTimeout(() => toast.dismiss(), Math.max(2000 - duration, 0));
71
+ // await this.showToast({message: 'INFO.DATA_MIGRATION_SUCCEED',
72
+ // type: 'info',
73
+ // showCloseButton: true
74
+ // });
75
+ // console.info('[platform] Starting storage migration [OK]');
76
+ //
77
+ // // Drop the old instance
78
+ // console.info(`[platform] Drop old storage {name: '${storage.config().name}', driver: '${oldForage.driver()}'}`);
79
+ // await oldForage.dropInstance();
80
+ // }
81
+ // catch (err) {
82
+ // console.error(err && err.message || err, err);
83
+ // await toast.dismiss();
84
+ // await this.showToast({message: 'ERROR.DATA_MIGRATION_FAILED',
85
+ // type: 'error',
86
+ // showCloseButton: true
87
+ // });
88
+ // }
89
+ //}
90
+ }
91
+ async set(key, value) {
92
+ if (!this.started)
93
+ await this.ready();
94
+ return this._data.set(key, value);
95
+ }
96
+ async get(key) {
97
+ if (!this.started)
98
+ await this.ready();
99
+ return this._data.get(key);
100
+ }
101
+ async remove(key) {
102
+ if (!this.started)
103
+ await this.ready();
104
+ return this._data.remove(key);
105
+ }
106
+ async keys() {
107
+ if (!this.started)
108
+ await this.ready();
109
+ return this._data.keys();
110
+ }
111
+ async clear() {
112
+ if (!this.started)
113
+ await this.ready();
114
+ await this._data.clear();
115
+ }
116
+ async forEach(iteratorCallback) {
117
+ if (!this.started)
118
+ await this.ready();
119
+ return this._data.forEach(iteratorCallback);
120
+ }
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StorageService, deps: [{ token: i1.Platform }, { token: i2.Storage }, { token: ENVIRONMENT }], target: i0.ɵɵFactoryTarget.Injectable });
122
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StorageService, providedIn: 'root' });
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: StorageService, decorators: [{
125
+ type: Injectable,
126
+ args: [{
127
+ providedIn: 'root',
128
+ deps: [ENVIRONMENT],
129
+ }]
130
+ }], ctorParameters: () => [{ type: i1.Platform }, { type: i2.Storage }, { type: i3.Environment, decorators: [{
131
+ type: Inject,
132
+ args: [ENVIRONMENT]
133
+ }] }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvc3RvcmFnZS9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFZLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxLQUFLLG1CQUFtQixNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU12RSxNQUFNLE9BQU8sY0FBZSxTQUFRLGdCQUF5QjtJQUtuQjtJQUErQztJQUp2RixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLFFBQWtCLEVBQVUsT0FBZ0IsRUFBK0IsV0FBd0I7UUFDN0csS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRHNCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBK0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFFN0csSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVTLEtBQUssQ0FBQyxTQUFTO1FBQ3ZCLElBQUksQ0FBQztZQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUUxRixnQ0FBZ0M7WUFDaEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBRXJELDhCQUE4QjtZQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUMsMkJBQTJCO1lBQzNCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUU1QixPQUFPLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUNBQW1DLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7SUFDSCxDQUFDO0lBRVMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFnQjtRQUN0QyxNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsTUFBTSxLQUFLLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFFOUQsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLENBQUMsT0FBTztRQUVoQyxFQUFFO1FBQ0YsNkNBQTZDO1FBQzdDLGlDQUFpQztRQUNqQywyQ0FBMkM7UUFDM0MsZ0RBQWdEO1FBQ2hELE1BQU07UUFDTixFQUFFO1FBQ0YsdUNBQXVDO1FBQ3ZDLEVBQUU7UUFDRixnREFBZ0Q7UUFDaEQsNEJBQTRCO1FBQzVCLGdEQUFnRDtRQUNoRCxvSkFBb0o7UUFDcEosb0NBQW9DO1FBQ3BDLElBQUk7UUFDSiw2REFBNkQ7UUFDN0QsU0FBUztRQUNULEVBQUU7UUFDRiw0QkFBNEI7UUFDNUIsOERBQThEO1FBQzlELEVBQUU7UUFDRixpSEFBaUg7UUFDakgsVUFBVTtRQUNWLG1GQUFtRjtRQUNuRixFQUFFO1FBQ0YseUNBQXlDO1FBQ3pDLHdFQUF3RTtRQUN4RSxvRUFBb0U7UUFDcEUsc0JBQXNCO1FBQ3RCLDhCQUE4QjtRQUM5QixVQUFVO1FBQ1Ysa0VBQWtFO1FBQ2xFLEVBQUU7UUFDRiwrQkFBK0I7UUFDL0IsdUhBQXVIO1FBQ3ZILHNDQUFzQztRQUN0QyxNQUFNO1FBQ04sa0JBQWtCO1FBQ2xCLHFEQUFxRDtRQUNyRCw2QkFBNkI7UUFDN0Isb0VBQW9FO1FBQ3BFLHVCQUF1QjtRQUN2Qiw4QkFBOEI7UUFDOUIsVUFBVTtRQUNWLE1BQU07UUFDTixHQUFHO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBVztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVc7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUEyRTtRQUN2RixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFBRSxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDOUMsQ0FBQzt1R0FoSFUsY0FBYyxpRUFLeUMsV0FBVzsyR0FMbEUsY0FBYyxjQUhiLE1BQU07OzJGQUdQLGNBQWM7a0JBSjFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07b0JBQ2xCLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQztpQkFDcEI7OzBCQU00RCxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IElTdG9yYWdlLCBTdG9yYWdlRHJpdmVycyB9IGZyb20gJy4vc3RvcmFnZS51dGlscyc7XG5pbXBvcnQgeyBTdGFydGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RhcnRhYmxlLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVCwgRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0ICogYXMgY29yZG92YVNRTGl0ZURyaXZlciBmcm9tICdsb2NhbGZvcmFnZS1jb3Jkb3Zhc3FsaXRlZHJpdmVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGRlcHM6IFtFTlZJUk9OTUVOVF0sXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgU3RhcnRhYmxlU2VydmljZTxTdG9yYWdlPiBpbXBsZW1lbnRzIElTdG9yYWdlPFN0b3JhZ2U+IHtcbiAgZ2V0IGRyaXZlcigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9kYXRhPy5kcml2ZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihwbGF0Zm9ybTogUGxhdGZvcm0sIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgQEluamVjdChFTlZJUk9OTUVOVCkgcHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQpIHtcbiAgICBzdXBlcihwbGF0Zm9ybSk7XG4gICAgdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbmdPblN0YXJ0KCk6IFByb21pc2U8U3RvcmFnZT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbc3RvcmFnZV0gU3RhcnRpbmcuLi4ge2RyaXZlck9yZGVyOiAke2Vudmlyb25tZW50LnN0b3JhZ2U/LmRyaXZlck9yZGVyfX1gKTtcblxuICAgICAgLy8gRGVmaW5lIENvcmRvdmEgU1FMTGl0ZSBkcml2ZXJcbiAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5kZWZpbmVEcml2ZXIoY29yZG92YVNRTGl0ZURyaXZlcik7XG5cbiAgICAgIC8vIENyZWF0ZSB0aGUgc3RvcmFnZSBpbnN0YW5jZVxuICAgICAgY29uc3Qgc3RvcmFnZSA9IGF3YWl0IHRoaXMuc3RvcmFnZS5jcmVhdGUoKTtcblxuICAgICAgLy8gTWlncmF0ZSBmcm9tIG9sZCBzdG9yYWdlXG4gICAgICBhd2FpdCB0aGlzLm1pZ3JhdGUoc3RvcmFnZSk7XG5cbiAgICAgIGNvbnNvbGUuaW5mbyhgW3N0b3JhZ2VdIFN0YXJ0ZWQgdXNpbmcgZHJpdmVyOiAke3N0b3JhZ2U/LmRyaXZlcn1gKTtcbiAgICAgIHJldHVybiBzdG9yYWdlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW3N0b3JhZ2VdIENhbm5vdCBjcmVhdGUgc3RvcmFnZTogJyArIChlcnI/Lm1lc3NhZ2UgfHwgZXJyKSwgZXJyKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbWlncmF0ZShzdG9yYWdlOiBTdG9yYWdlKSB7XG4gICAgY29uc3QgY2FuTWlncmF0ZSA9IHN0b3JhZ2U/LmRyaXZlciA9PT0gU3RvcmFnZURyaXZlcnMuU1FMTGl0ZTtcblxuICAgIGlmICghY2FuTWlncmF0ZSkgcmV0dXJuOyAvLyBTa2lwXG5cbiAgICAvL1xuICAgIC8vIGNvbnN0IG9sZEZvcmFnZSA9IHN0b3JhZ2UuY3JlYXRlSW5zdGFuY2Uoe1xuICAgIC8vICAgbmFtZTogc3RvcmFnZS5jb25maWcoKS5uYW1lLFxuICAgIC8vICAgc3RvcmVOYW1lOiBzdG9yYWdlLmNvbmZpZygpLnN0b3JlTmFtZSxcbiAgICAvLyAgIGRyaXZlcjogW3N0b3JhZ2UuSU5ERVhFRERCLCBzdG9yYWdlLldFQlNRTF1cbiAgICAvLyB9KTtcbiAgICAvL1xuICAgIC8vIGNvbnN0IGtleXMgPSBhd2FpdCBvbGRGb3JhZ2Uua2V5cygpO1xuICAgIC8vXG4gICAgLy8gLy8gTm8gZGF0YSBpbiB0aGUgb2RsIHN0b3JhZ2U6IHNraXAgbWlncmF0aW9uXG4gICAgLy8gaWYgKGlzRW1wdHlBcnJheShrZXlzKSkge1xuICAgIC8vICAgLy8gRHJvcCB0aGUgb2xkIGluc3RhbmNlIChub3QgbmVlZCBhbnltb3JlKVxuICAgIC8vICAgY29uc29sZS5kZWJ1ZyhgW3BsYXRmb3JtXSBPbGQgc3RvcmFnZSBpcyBlbXB0eTogZHJvcHBpbmcgdW51c2VkIGluc3RhbmNlIHtuYW1lOiAnJHtzdG9yYWdlLmNvbmZpZygpLm5hbWV9JywgZHJpdmVyOiAnJHtvbGRGb3JhZ2UuZHJpdmVyKCl9J31gKTtcbiAgICAvLyAgIGF3YWl0IG9sZEZvcmFnZS5kcm9wSW5zdGFuY2UoKTtcbiAgICAvLyB9XG4gICAgLy8gLy8gSUYgc29tZSBkYXRhIHN0b3JlZCBpbiB0aGUgT0xEIHN0b3JhZ2U6IHN0YXJ0IG1pZ3JhdGlvblxuICAgIC8vIGVsc2Uge1xuICAgIC8vXG4gICAgLy8gICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIC8vICAgY29uc29sZS5pbmZvKGBbcGxhdGZvcm1dIFN0YXJ0aW5nIHN0b3JhZ2UgbWlncmF0aW9uLi4uYCk7XG4gICAgLy9cbiAgICAvLyAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy5zaG93VG9hc3Qoe21lc3NhZ2U6ICdJTkZPLkRBVEFfTUlHUkFUSU9OX1NUQVJURUQnLCB0eXBlOiAnaW5mbycsIGR1cmF0aW9uOiAzMDAwMH0pO1xuICAgIC8vICAgdHJ5IHtcbiAgICAvLyAgICAgYXdhaXQgU3RvcmFnZVV0aWxzLmNvcHkob2xkRm9yYWdlLCBzdG9yYWdlLCB7a2V5cywgZGVsZXRlQWZ0ZXJDb3B5OiBmYWxzZX0pO1xuICAgIC8vXG4gICAgLy8gICAgIGNvbnN0IGR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIG5vdztcbiAgICAvLyAgICAgc2V0VGltZW91dCgoKSA9PiB0b2FzdC5kaXNtaXNzKCksICBNYXRoLm1heCgyMDAwIC0gZHVyYXRpb24sIDApKTtcbiAgICAvLyAgICAgYXdhaXQgdGhpcy5zaG93VG9hc3Qoe21lc3NhZ2U6ICdJTkZPLkRBVEFfTUlHUkFUSU9OX1NVQ0NFRUQnLFxuICAgIC8vICAgICAgIHR5cGU6ICdpbmZvJyxcbiAgICAvLyAgICAgICBzaG93Q2xvc2VCdXR0b246IHRydWVcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gICAgIGNvbnNvbGUuaW5mbygnW3BsYXRmb3JtXSBTdGFydGluZyBzdG9yYWdlIG1pZ3JhdGlvbiBbT0tdJyk7XG4gICAgLy9cbiAgICAvLyAgICAgLy8gRHJvcCB0aGUgb2xkIGluc3RhbmNlXG4gICAgLy8gICAgIGNvbnNvbGUuaW5mbyhgW3BsYXRmb3JtXSBEcm9wIG9sZCBzdG9yYWdlIHtuYW1lOiAnJHtzdG9yYWdlLmNvbmZpZygpLm5hbWV9JywgZHJpdmVyOiAnJHtvbGRGb3JhZ2UuZHJpdmVyKCl9J31gKTtcbiAgICAvLyAgICAgYXdhaXQgb2xkRm9yYWdlLmRyb3BJbnN0YW5jZSgpO1xuICAgIC8vICAgfVxuICAgIC8vICAgY2F0Y2ggKGVycikge1xuICAgIC8vICAgICBjb25zb2xlLmVycm9yKGVyciAmJiBlcnIubWVzc2FnZSB8fCBlcnIsIGVycik7XG4gICAgLy8gICAgIGF3YWl0IHRvYXN0LmRpc21pc3MoKTtcbiAgICAvLyAgICAgYXdhaXQgdGhpcy5zaG93VG9hc3Qoe21lc3NhZ2U6ICdFUlJPUi5EQVRBX01JR1JBVElPTl9GQUlMRUQnLFxuICAgIC8vICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgLy8gICAgICAgc2hvd0Nsb3NlQnV0dG9uOiB0cnVlXG4gICAgLy8gICAgIH0pO1xuICAgIC8vICAgfVxuICAgIC8vfVxuICB9XG5cbiAgYXN5bmMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5zZXQoa2V5LCB2YWx1ZSk7XG4gIH1cblxuICBhc3luYyBnZXQoa2V5OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghdGhpcy5zdGFydGVkKSBhd2FpdCB0aGlzLnJlYWR5KCk7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZ2V0KGtleSk7XG4gIH1cblxuICBhc3luYyByZW1vdmUoa2V5OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuICAgIHJldHVybiB0aGlzLl9kYXRhLnJlbW92ZShrZXkpO1xuICB9XG5cbiAgYXN5bmMga2V5cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5rZXlzKCk7XG4gIH1cblxuICBhc3luYyBjbGVhcigpIHtcbiAgICBpZiAoIXRoaXMuc3RhcnRlZCkgYXdhaXQgdGhpcy5yZWFkeSgpO1xuICAgIGF3YWl0IHRoaXMuX2RhdGEuY2xlYXIoKTtcbiAgfVxuXG4gIGFzeW5jIGZvckVhY2goaXRlcmF0b3JDYWxsYmFjazogKHZhbHVlOiBhbnksIGtleTogc3RyaW5nLCBpdGVyYXRpb25OdW1iZXI6IG51bWJlcikgPT4gYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0ZWQpIGF3YWl0IHRoaXMucmVhZHkoKTtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5mb3JFYWNoKGl0ZXJhdG9yQ2FsbGJhY2spO1xuICB9XG59XG4iXX0=
@@ -10,4 +10,4 @@ export const StorageDrivers = {
10
10
  LocalStorage: Drivers.LocalStorage
11
11
  };
12
12
  export const APP_STORAGE = new InjectionToken('Storage');
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3N0b3JhZ2Uvc3RvcmFnZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEtBQUssbUJBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFhdkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO0lBQ3BDLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTtJQUNwQyxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07SUFDMUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO0lBQzVCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtDQUNuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFXLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RyaXZlcnN9IGZyb20gJ0Bpb25pYy9zdG9yYWdlJztcbmltcG9ydCAqIGFzIExvY2FsRm9yYWdlIGZyb20gJ2xvY2FsZm9yYWdlJztcbmltcG9ydCAqIGFzIENvcmRvdmFTUUxpdGVEcml2ZXIgZnJvbSAnbG9jYWxmb3JhZ2UtY29yZG92YXNxbGl0ZWRyaXZlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JhZ2U8VCA9IGFueT4ge1xuICByZWFkb25seSBkcml2ZXI6IHN0cmluZztcbiAgcmVhZHkoKTogUHJvbWlzZTxUPjtcbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZW1vdmUoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICBrZXlzKCk6IFByb21pc2U8c3RyaW5nW10+O1xuICBjbGVhcigpOiBQcm9taXNlPHZvaWQ+O1xuICBmb3JFYWNoKGl0ZXJhdG9yQ2FsbGJhY2s6ICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZywgaXRlcmF0aW9uTnVtYmVyOiBOdW1iZXIpID0+IGFueSk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjb25zdCBTdG9yYWdlRHJpdmVycyA9IHtcbiAgU1FMTGl0ZTogQ29yZG92YVNRTGl0ZURyaXZlci5fZHJpdmVyLFxuICBTZWN1cmVTdG9yYWdlOiBEcml2ZXJzLlNlY3VyZVN0b3JhZ2UsXG4gIFdlYlNRTDogTG9jYWxGb3JhZ2UuV0VCU1FMLFxuICBJbmRleGVkREI6IERyaXZlcnMuSW5kZXhlZERCLFxuICBMb2NhbFN0b3JhZ2U6IERyaXZlcnMuTG9jYWxTdG9yYWdlXG59O1xuXG5leHBvcnQgY29uc3QgQVBQX1NUT1JBR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVN0b3JhZ2U+KCdTdG9yYWdlJyk7XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3N0b3JhZ2Uvc3RvcmFnZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEtBQUssbUJBQW1CLE1BQU0saUNBQWlDLENBQUM7QUFhdkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxPQUFPO0lBQ3BDLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTtJQUNwQyxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07SUFDMUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO0lBQzVCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtDQUNuQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFXLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RyaXZlcnN9IGZyb20gJ0Bpb25pYy9zdG9yYWdlJztcbmltcG9ydCAqIGFzIExvY2FsRm9yYWdlIGZyb20gJ2xvY2FsZm9yYWdlJztcbmltcG9ydCAqIGFzIENvcmRvdmFTUUxpdGVEcml2ZXIgZnJvbSAnbG9jYWxmb3JhZ2UtY29yZG92YXNxbGl0ZWRyaXZlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVN0b3JhZ2U8VCA9IGFueT4ge1xuICByZWFkb25seSBkcml2ZXI6IHN0cmluZztcbiAgcmVhZHkoKTogUHJvbWlzZTxUPjtcbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICByZW1vdmUoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICBrZXlzKCk6IFByb21pc2U8c3RyaW5nW10+O1xuICBjbGVhcigpOiBQcm9taXNlPHZvaWQ+O1xuICBmb3JFYWNoKGl0ZXJhdG9yQ2FsbGJhY2s6ICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZywgaXRlcmF0aW9uTnVtYmVyOiBudW1iZXIpID0+IGFueSk6IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjb25zdCBTdG9yYWdlRHJpdmVycyA9IHtcbiAgU1FMTGl0ZTogQ29yZG92YVNRTGl0ZURyaXZlci5fZHJpdmVyLFxuICBTZWN1cmVTdG9yYWdlOiBEcml2ZXJzLlNlY3VyZVN0b3JhZ2UsXG4gIFdlYlNRTDogTG9jYWxGb3JhZ2UuV0VCU1FMLFxuICBJbmRleGVkREI6IERyaXZlcnMuSW5kZXhlZERCLFxuICBMb2NhbFN0b3JhZ2U6IERyaXZlcnMuTG9jYWxTdG9yYWdlXG59O1xuXG5leHBvcnQgY29uc3QgQVBQX1NUT1JBR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVN0b3JhZ2U+KCdTdG9yYWdlJyk7XG4iXX0=
@@ -0,0 +1,96 @@
1
+ import { Component, ViewChild } from '@angular/core';
2
+ import { firstNotNilPromise, waitForTrue } from '../observables';
3
+ import { Subject } from 'rxjs';
4
+ import { isNotNil } from '../functions';
5
+ import { tap } from 'rxjs/operators';
6
+ import { DateUtils, toDateISOString } from '../dates';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ionic/angular";
9
+ export class ObservableTestPage {
10
+ _stopSubject = new Subject();
11
+ $value = new Subject();
12
+ runningTaskCount = 0;
13
+ taskId = 0;
14
+ options = {
15
+ stop: this._stopSubject
16
+ };
17
+ resultDiv;
18
+ constructor() {
19
+ }
20
+ ngOnDestroy() {
21
+ this._stopSubject.next();
22
+ }
23
+ setOptions(opts) {
24
+ this.options = {
25
+ ...this.options,
26
+ ...opts
27
+ };
28
+ this.log('Options changes to: ', { ...this.options, stop: this.options?.stop ? '$stop' : 'null' });
29
+ }
30
+ setOptionsError(errorMessage) {
31
+ this.setOptions({ stopError: new Error(errorMessage) });
32
+ }
33
+ async firstNotNilPromise(opts) {
34
+ const logPrefix = `[firstNotNilPromise() #${++this.taskId}] `;
35
+ await this.execute(firstNotNilPromise, opts, logPrefix);
36
+ }
37
+ async waitForTrue(opts) {
38
+ const logPrefix = `[waitForTrue() #${++this.taskId}] `;
39
+ await this.execute(waitForTrue, opts, logPrefix);
40
+ }
41
+ async execute(fn, opts, logPrefix) {
42
+ opts = {
43
+ ...this.options,
44
+ stop: this._stopSubject,
45
+ ...opts
46
+ };
47
+ logPrefix = logPrefix || `[#${++this.taskId}] `;
48
+ const value$ = this.$value.pipe(tap(value => this.log(logPrefix + `Received value: ${value}`)));
49
+ try {
50
+ this.runningTaskCount++;
51
+ this.log(logPrefix + 'Waiting...');
52
+ // Execute the async function
53
+ const result = await fn(value$, opts);
54
+ // Dump result
55
+ if (isNotNil(result))
56
+ this.log(logPrefix + '[OK] with result:', result);
57
+ else
58
+ this.log(logPrefix + '[OK]');
59
+ }
60
+ catch (err) {
61
+ const errorMsg = logPrefix + 'Error: ' + (err?.message || '');
62
+ console.error(errorMsg, err);
63
+ this.log(errorMsg
64
+ + (err?.originalStack ? `<pre>${err.originalStack}</pre>` : ''));
65
+ }
66
+ finally {
67
+ this.runningTaskCount--;
68
+ }
69
+ }
70
+ emit(value) {
71
+ this.$value.next(value);
72
+ }
73
+ stop() {
74
+ this._stopSubject.next();
75
+ }
76
+ log(message, ...args) {
77
+ let fullMessage = `${toDateISOString(DateUtils.moment())} - ${message}`;
78
+ if (args?.length) {
79
+ fullMessage += ' - <small>' + args.map(JSON.stringify).join(', ') + '</small>';
80
+ }
81
+ this.appendLog(fullMessage);
82
+ }
83
+ appendLog(message) {
84
+ this.resultDiv.nativeElement.innerHTML += message + '<br/>';
85
+ }
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ObservableTestPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: ObservableTestPage, selector: "app-observable-test", viewQueries: [{ propertyName: "resultDiv", first: true, predicate: ["result"], descendants: true }], ngImport: i0, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Observables test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <ion-card>\n <ion-card-header>\n <ion-card-title>waitFor, waitForTrue, waitForFalse</ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <div style=\"display: inline-block\">\n <p>Set options: </p>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: false})\">stopError: false</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: true})\">stopError: true</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: 'my error'})\">stopError: 'my error'</ion-button>\n\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: 2000})\">timeout: 2000</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: null})\">timeout: null</ion-button>\n <br/>\n <p>Call await function: </p>\n <ion-button (click)=\"waitForTrue()\">waitForTrue</ion-button>\n <ion-button (click)=\"firstNotNilPromise()\">firstNotNilPromise</ion-button>\n <br/>\n <p>Send event to source: </p>\n <ion-button (click)=\"emit(true)\">Emit 'true'</ion-button>\n <ion-button (click)=\"emit(false)\">Emit 'false'</ion-button>\n <br/>\n <p>Stop: </p>\n <ion-button color=\"danger\" (click)=\"stop()\">Stop</ion-button>\n </div>\n </ion-card-content>\n </ion-card>\n\n <ion-card>\n <ion-toolbar>\n <ion-title>Running job count: {{runningTaskCount}}</ion-title>\n <ion-button fill=\"outline\" slot=\"end\" (click)=\"result.innerHTML=''\">Clear log</ion-button>\n </ion-toolbar>\n <ion-card-content>\n <div #result style=\"color: var(--ion-color-medium)\">\n </div>\n </ion-card-content>\n </ion-card>\n</ion-content>\n", styles: ["ion-button{text-transform:none!important}\n"], dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i1.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i1.IonCardHeader, selector: "ion-card-header", inputs: ["color", "mode", "translucent"] }, { kind: "component", type: i1.IonCardTitle, selector: "ion-card-title", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonBackButton, selector: "ion-back-button" }] });
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ObservableTestPage, decorators: [{
90
+ type: Component,
91
+ args: [{ selector: 'app-observable-test', template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Observables test page</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n\n <ion-card>\n <ion-card-header>\n <ion-card-title>waitFor, waitForTrue, waitForFalse</ion-card-title>\n </ion-card-header>\n <ion-card-content>\n <div style=\"display: inline-block\">\n <p>Set options: </p>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: false})\">stopError: false</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: true})\">stopError: true</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({stopError: 'my error'})\">stopError: 'my error'</ion-button>\n\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: 2000})\">timeout: 2000</ion-button>\n <ion-button color=\"medium\" fill=\"outline\" (click)=\"setOptions({timeout: null})\">timeout: null</ion-button>\n <br/>\n <p>Call await function: </p>\n <ion-button (click)=\"waitForTrue()\">waitForTrue</ion-button>\n <ion-button (click)=\"firstNotNilPromise()\">firstNotNilPromise</ion-button>\n <br/>\n <p>Send event to source: </p>\n <ion-button (click)=\"emit(true)\">Emit 'true'</ion-button>\n <ion-button (click)=\"emit(false)\">Emit 'false'</ion-button>\n <br/>\n <p>Stop: </p>\n <ion-button color=\"danger\" (click)=\"stop()\">Stop</ion-button>\n </div>\n </ion-card-content>\n </ion-card>\n\n <ion-card>\n <ion-toolbar>\n <ion-title>Running job count: {{runningTaskCount}}</ion-title>\n <ion-button fill=\"outline\" slot=\"end\" (click)=\"result.innerHTML=''\">Clear log</ion-button>\n </ion-toolbar>\n <ion-card-content>\n <div #result style=\"color: var(--ion-color-medium)\">\n </div>\n </ion-card-content>\n </ion-card>\n</ion-content>\n", styles: ["ion-button{text-transform:none!important}\n"] }]
92
+ }], ctorParameters: () => [], propDecorators: { resultDiv: [{
93
+ type: ViewChild,
94
+ args: ['result']
95
+ }] } });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvdGVzdGluZy9vYnNlcnZhYmxlLnRlc3QudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90ZXN0aW5nL29ic2VydmFibGUudGVzdC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQXlCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUMsa0JBQWtCLEVBQWdDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdGLE9BQU8sRUFBYSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsTUFBTSxVQUFVLENBQUM7OztBQVFwRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRW5DLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBQzVCLGdCQUFnQixHQUFHLENBQUMsQ0FBQztJQUNyQixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsT0FBTyxHQUEwQjtRQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7S0FDeEIsQ0FBQztJQUVtQixTQUFTLENBQWM7SUFFNUM7SUFFQSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsR0FBRyxJQUFJO1NBQ1IsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFZO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBbUI7UUFDMUMsTUFBTSxTQUFTLEdBQUcsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1FBQzlELE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBcUI7UUFDckMsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFHRCxLQUFLLENBQUMsT0FBTyxDQUNYLEVBQStDLEVBQy9DLElBQVEsRUFDUixTQUFrQjtRQUVsQixJQUFJLEdBQUc7WUFDTCxHQUFHLElBQUksQ0FBQyxPQUFPO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3ZCLEdBQUcsSUFBSTtTQUNSLENBQUM7UUFDRixTQUFTLEdBQUcsU0FBUyxJQUFJLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7UUFFaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLG1CQUFtQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQy9ELENBQUM7UUFFRixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQztZQUVuQyw2QkFBNkI7WUFDN0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRXRDLGNBQWM7WUFDZCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7O2dCQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTSxHQUFHLEVBQUUsQ0FBQztZQUNWLE1BQU0sUUFBUSxHQUFHLFNBQVMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlELE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUTtrQkFDYixDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLGFBQWEsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDaEUsQ0FBQztRQUNKLENBQUM7Z0JBQ08sQ0FBQztZQUNQLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQVU7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFTO1FBQy9CLElBQUksV0FBVyxHQUFHLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDO1FBQ3hFLElBQUksSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLFdBQVcsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztRQUNqRixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDOUQsQ0FBQzt1R0FyR1Usa0JBQWtCOzJGQUFsQixrQkFBa0IsZ0tDYi9CLDRqRUFxREE7OzJGRHhDYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UscUJBQXFCO3dEQWVWLFNBQVM7c0JBQTdCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2ZpcnN0Tm90TmlsUHJvbWlzZSwgRmlyc3RPcHRpb25zLCBXYWl0Rm9yT3B0aW9ucywgd2FpdEZvclRydWV9IGZyb20gJy4uL29ic2VydmFibGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2lzTm90TmlsfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RGF0ZVV0aWxzLCB0b0RhdGVJU09TdHJpbmd9IGZyb20gJy4uL2RhdGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtb2JzZXJ2YWJsZS10ZXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL29ic2VydmFibGUudGVzdC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JzZXJ2YWJsZS50ZXN0LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPYnNlcnZhYmxlVGVzdFBhZ2UgaW1wbGVtZW50cyBPbkRlc3Ryb3l7XG5cbiAgX3N0b3BTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAkdmFsdWUgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gIHJ1bm5pbmdUYXNrQ291bnQgPSAwO1xuICB0YXNrSWQgPSAwO1xuICBvcHRpb25zOiBQYXJ0aWFsPEZpcnN0T3B0aW9ucz4gPSB7XG4gICAgc3RvcDogdGhpcy5fc3RvcFN1YmplY3RcbiAgfTtcblxuICBAVmlld0NoaWxkKCdyZXN1bHQnKSByZXN1bHREaXYhOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICkge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3RvcFN1YmplY3QubmV4dCgpO1xuICB9XG5cbiAgc2V0T3B0aW9ucyhvcHRzOiBhbnkpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICAuLi5vcHRzXG4gICAgfTtcbiAgICB0aGlzLmxvZygnT3B0aW9ucyBjaGFuZ2VzIHRvOiAnLCB7Li4udGhpcy5vcHRpb25zLCBzdG9wOiB0aGlzLm9wdGlvbnM/LnN0b3AgPyAnJHN0b3AnIDogJ251bGwnfSk7XG4gIH1cblxuICBzZXRPcHRpb25zRXJyb3IoZXJyb3JNZXNzYWdlKSB7XG4gICAgdGhpcy5zZXRPcHRpb25zKHtzdG9wRXJyb3I6IG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpfSk7XG4gIH1cblxuICBhc3luYyBmaXJzdE5vdE5pbFByb21pc2Uob3B0cz86IEZpcnN0T3B0aW9ucykge1xuICAgIGNvbnN0IGxvZ1ByZWZpeCA9IGBbZmlyc3ROb3ROaWxQcm9taXNlKCkgIyR7Kyt0aGlzLnRhc2tJZH1dIGA7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlKGZpcnN0Tm90TmlsUHJvbWlzZSwgb3B0cywgbG9nUHJlZml4KTtcbiAgfVxuXG4gIGFzeW5jIHdhaXRGb3JUcnVlKG9wdHM/OiBXYWl0Rm9yT3B0aW9ucykge1xuICAgIGNvbnN0IGxvZ1ByZWZpeCA9IGBbd2FpdEZvclRydWUoKSAjJHsrK3RoaXMudGFza0lkfV0gYDtcbiAgICBhd2FpdCB0aGlzLmV4ZWN1dGUod2FpdEZvclRydWUsIG9wdHMsIGxvZ1ByZWZpeCk7XG4gIH1cblxuXG4gIGFzeW5jIGV4ZWN1dGU8VCwgTyBleHRlbmRzIFdhaXRGb3JPcHRpb25zID0gV2FpdEZvck9wdGlvbnM+KFxuICAgIGZuOiAobzogT2JzZXJ2YWJsZTxhbnk+LCBvcHRzOiBPKSA9PiBQcm9taXNlPFQ+LFxuICAgIG9wdHM/OiBPLFxuICAgIGxvZ1ByZWZpeD86IHN0cmluZykge1xuXG4gICAgb3B0cyA9IHtcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIHN0b3A6IHRoaXMuX3N0b3BTdWJqZWN0LFxuICAgICAgLi4ub3B0c1xuICAgIH07XG4gICAgbG9nUHJlZml4ID0gbG9nUHJlZml4IHx8IGBbIyR7Kyt0aGlzLnRhc2tJZH1dIGA7XG5cbiAgICBjb25zdCB2YWx1ZSQgPSB0aGlzLiR2YWx1ZS5waXBlKFxuICAgICAgdGFwKHZhbHVlID0+IHRoaXMubG9nKGxvZ1ByZWZpeCArIGBSZWNlaXZlZCB2YWx1ZTogJHt2YWx1ZX1gKSlcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucnVubmluZ1Rhc2tDb3VudCsrO1xuICAgICAgdGhpcy5sb2cobG9nUHJlZml4ICsgJ1dhaXRpbmcuLi4nKTtcblxuICAgICAgLy8gRXhlY3V0ZSB0aGUgYXN5bmMgZnVuY3Rpb25cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZuKHZhbHVlJCwgb3B0cyk7XG5cbiAgICAgIC8vIER1bXAgcmVzdWx0XG4gICAgICBpZiAoaXNOb3ROaWwocmVzdWx0KSkgdGhpcy5sb2cobG9nUHJlZml4ICsgJ1tPS10gd2l0aCByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgIGVsc2UgIHRoaXMubG9nKGxvZ1ByZWZpeCArICdbT0tdJyk7XG4gICAgfVxuICAgIGNhdGNoKGVycikge1xuICAgICAgY29uc3QgZXJyb3JNc2cgPSBsb2dQcmVmaXggKyAnRXJyb3I6ICcgKyAoZXJyPy5tZXNzYWdlIHx8ICcnKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JNc2csIGVycik7XG4gICAgICB0aGlzLmxvZyhlcnJvck1zZ1xuICAgICAgICArIChlcnI/Lm9yaWdpbmFsU3RhY2sgPyBgPHByZT4ke2Vyci5vcmlnaW5hbFN0YWNrfTwvcHJlPmAgOiAnJylcbiAgICAgICk7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5ydW5uaW5nVGFza0NvdW50LS07XG4gICAgfVxuICB9XG5cbiAgZW1pdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy4kdmFsdWUubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBzdG9wKCkge1xuICAgIHRoaXMuX3N0b3BTdWJqZWN0Lm5leHQoKTtcbiAgfVxuXG4gIGxvZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueSkge1xuICAgIGxldCBmdWxsTWVzc2FnZSA9IGAke3RvRGF0ZUlTT1N0cmluZyhEYXRlVXRpbHMubW9tZW50KCkpfSAtICR7bWVzc2FnZX1gO1xuICAgIGlmIChhcmdzPy5sZW5ndGgpIHtcbiAgICAgIGZ1bGxNZXNzYWdlICs9ICcgLSA8c21hbGw+JyArIGFyZ3MubWFwKEpTT04uc3RyaW5naWZ5KS5qb2luKCcsICcpICsgJzwvc21hbGw+JztcbiAgICB9XG4gICAgdGhpcy5hcHBlbmRMb2coZnVsbE1lc3NhZ2UpO1xuICB9XG5cbiAgYXBwZW5kTG9nKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMucmVzdWx0RGl2Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAnPGJyLz4nO1xuICB9XG59XG5cbiIsIlxuPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgIDxpb24tYmFjay1idXR0b24+PC9pb24tYmFjay1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cblxuICAgIDxpb24tdGl0bGU+T2JzZXJ2YWJsZXMgdGVzdCBwYWdlPC9pb24tdGl0bGU+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG5cbiAgPGlvbi1jYXJkPlxuICAgIDxpb24tY2FyZC1oZWFkZXI+XG4gICAgICA8aW9uLWNhcmQtdGl0bGU+d2FpdEZvciwgd2FpdEZvclRydWUsIHdhaXRGb3JGYWxzZTwvaW9uLWNhcmQtdGl0bGU+XG4gICAgPC9pb24tY2FyZC1oZWFkZXI+XG4gICAgPGlvbi1jYXJkLWNvbnRlbnQ+XG4gICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrXCI+XG4gICAgICAgIDxwPlNldCBvcHRpb25zOiA8L3A+XG4gICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwibWVkaXVtXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwic2V0T3B0aW9ucyh7c3RvcEVycm9yOiBmYWxzZX0pXCI+c3RvcEVycm9yOiBmYWxzZTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJtZWRpdW1cIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJzZXRPcHRpb25zKHtzdG9wRXJyb3I6IHRydWV9KVwiPnN0b3BFcnJvcjogdHJ1ZTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gY29sb3I9XCJtZWRpdW1cIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJzZXRPcHRpb25zKHtzdG9wRXJyb3I6ICdteSBlcnJvcid9KVwiPnN0b3BFcnJvcjogJ215IGVycm9yJzwvaW9uLWJ1dHRvbj5cblxuICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cIm1lZGl1bVwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cInNldE9wdGlvbnMoe3RpbWVvdXQ6IDIwMDB9KVwiPnRpbWVvdXQ6IDIwMDA8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uIGNvbG9yPVwibWVkaXVtXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwic2V0T3B0aW9ucyh7dGltZW91dDogbnVsbH0pXCI+dGltZW91dDogbnVsbDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHA+Q2FsbCBhd2FpdCBmdW5jdGlvbjogPC9wPlxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwid2FpdEZvclRydWUoKVwiPndhaXRGb3JUcnVlPC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwiZmlyc3ROb3ROaWxQcm9taXNlKClcIj5maXJzdE5vdE5pbFByb21pc2U8L2lvbi1idXR0b24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxwPlNlbmQgZXZlbnQgdG8gc291cmNlOiA8L3A+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJlbWl0KHRydWUpXCI+RW1pdCAndHJ1ZSc8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJlbWl0KGZhbHNlKVwiPkVtaXQgJ2ZhbHNlJzwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHA+U3RvcDogPC9wPlxuICAgICAgICA8aW9uLWJ1dHRvbiBjb2xvcj1cImRhbmdlclwiIChjbGljayk9XCJzdG9wKClcIj5TdG9wPC9pb24tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY2FyZC1jb250ZW50PlxuICA8L2lvbi1jYXJkPlxuXG4gIDxpb24tY2FyZD5cbiAgICA8aW9uLXRvb2xiYXI+XG4gICAgICA8aW9uLXRpdGxlPlJ1bm5pbmcgam9iIGNvdW50OiB7e3J1bm5pbmdUYXNrQ291bnR9fTwvaW9uLXRpdGxlPlxuICAgICAgPGlvbi1idXR0b24gZmlsbD1cIm91dGxpbmVcIiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cInJlc3VsdC5pbm5lckhUTUw9JydcIj5DbGVhciBsb2c8L2lvbi1idXR0b24+XG4gICAgPC9pb24tdG9vbGJhcj5cbiAgICA8aW9uLWNhcmQtY29udGVudD5cbiAgICAgIDxkaXYgI3Jlc3VsdCBzdHlsZT1cImNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKVwiPlxuICAgICAgPC9kaXY+XG4gICAgPC9pb24tY2FyZC1jb250ZW50PlxuICA8L2lvbi1jYXJkPlxuPC9pb24tY29udGVudD5cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Component, Inject, InjectionToken, Optional } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/router";
4
+ import * as i2 from "@ngx-translate/core";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "@ionic/angular";
7
+ export const APP_TESTING_PAGES = new InjectionToken('testingPages');
8
+ export class SharedTestsPage {
9
+ route;
10
+ router;
11
+ translate;
12
+ pages;
13
+ constructor(route, router, translate, pages) {
14
+ this.route = route;
15
+ this.router = router;
16
+ this.translate = translate;
17
+ this.pages = pages;
18
+ console.info('[testing] Loaded tests pages:', pages);
19
+ }
20
+ async openPage(page) {
21
+ return this.router.navigate([page], {
22
+ relativeTo: this.route
23
+ });
24
+ }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedTestsPage, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.TranslateService }, { token: APP_TESTING_PAGES, optional: true }], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SharedTestsPage, selector: "app-tests-page", ngImport: i0, template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Tests</ion-title>\n\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <ion-list *ngIf=\"pages?.length\">\n\n <ng-container *ngFor=\"let item of pages\">\n\n <ion-item-divider *ngIf=\"item.divider; else link\">{{item.label}}</ion-item-divider>\n\n <ng-template #link>\n <ion-item tappable class=\"text-1x\"\n (click)=\"openPage(item.page)\">{{item.label}}</ion-item>\n </ng-template>\n </ng-container>\n </ion-list>\n\n</ion-content>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.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: i4.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i4.IonBackButton, selector: "ion-back-button" }] });
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SharedTestsPage, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'app-tests-page', template: "\n<ion-header>\n <ion-toolbar color=\"primary\">\n\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n\n <ion-title>Tests</ion-title>\n\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n\n <ion-list *ngIf=\"pages?.length\">\n\n <ng-container *ngFor=\"let item of pages\">\n\n <ion-item-divider *ngIf=\"item.divider; else link\">{{item.label}}</ion-item-divider>\n\n <ng-template #link>\n <ion-item tappable class=\"text-1x\"\n (click)=\"openPage(item.page)\">{{item.label}}</ion-item>\n </ng-template>\n </ng-container>\n </ion-list>\n\n</ion-content>\n" }]
31
+ }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.TranslateService }, { type: undefined, decorators: [{
32
+ type: Optional
33
+ }, {
34
+ type: Inject,
35
+ args: [APP_TESTING_PAGES]
36
+ }] }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdHMucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3Rlc3RpbmcvdGVzdHMucGFnZS50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3Rlc3RpbmcvdGVzdHMucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVUxRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsY0FBYyxDQUFDLENBQUM7QUFNbkYsTUFBTSxPQUFPLGVBQWU7SUFHWjtJQUNBO0lBQ0E7SUFDb0M7SUFKbEQsWUFDYyxLQUFxQixFQUNyQixNQUFjLEVBQ2QsU0FBMkIsRUFDUyxLQUFvQjtRQUh4RCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDUyxVQUFLLEdBQUwsS0FBSyxDQUFlO1FBRXBFLE9BQU8sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSTtRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBZlUsZUFBZSxzR0FNRixpQkFBaUI7MkZBTjlCLGVBQWUsc0RDaEI1Qix5ckJBOEJBOzsyRkRkYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLGdCQUFnQjs7MEJBU3JCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUZXN0aW5nUGFnZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhZ2U/OiBzdHJpbmc7XG4gIGRpdmlkZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQVBQX1RFU1RJTkdfUEFHRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGVzdGluZ1BhZ2VbXT4oJ3Rlc3RpbmdQYWdlcycpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVzdHMtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXN0cy5wYWdlLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZFRlc3RzUGFnZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX1RFU1RJTkdfUEFHRVMpIHB1YmxpYyBwYWdlczogVGVzdGluZ1BhZ2VbXVxuICAgICkge1xuICAgIGNvbnNvbGUuaW5mbygnW3Rlc3RpbmddIExvYWRlZCB0ZXN0cyBwYWdlczonLCBwYWdlcyk7XG4gIH1cblxuICBhc3luYyBvcGVuUGFnZShwYWdlKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYWdlXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZVxuICAgIH0pO1xuICB9XG59XG5cbiIsIlxuPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgIDxpb24tbWVudS1idXR0b24+PC9pb24tbWVudS1idXR0b24+XG4gICAgICA8aW9uLWJhY2stYnV0dG9uPjwvaW9uLWJhY2stYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlPlRlc3RzPC9pb24tdGl0bGU+XG5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50PlxuXG4gIDxpb24tbGlzdCAqbmdJZj1cInBhZ2VzPy5sZW5ndGhcIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFnZXNcIj5cblxuICAgICAgPGlvbi1pdGVtLWRpdmlkZXIgKm5nSWY9XCJpdGVtLmRpdmlkZXI7IGVsc2UgbGlua1wiPnt7aXRlbS5sYWJlbH19PC9pb24taXRlbS1kaXZpZGVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2xpbms+XG4gICAgICAgIDxpb24taXRlbSB0YXBwYWJsZSBjbGFzcz1cInRleHQtMXhcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5QYWdlKGl0ZW0ucGFnZSlcIj57e2l0ZW0ubGFiZWx9fTwvaW9uLWl0ZW0+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2lvbi1saXN0PlxuXG48L2lvbi1jb250ZW50PlxuIl19
@@ -0,0 +1,52 @@
1
+ import { Component } from '@angular/core';
2
+ import { Toasts } from './toasts';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ionic/angular";
5
+ export class ToastTestingPage {
6
+ injector;
7
+ defaultOptions = {
8
+ showCloseButton: false
9
+ };
10
+ constructor(injector) {
11
+ this.injector = injector;
12
+ }
13
+ showToast(opts) {
14
+ return Toasts.showSimple(this.injector, {
15
+ ...this.defaultOptions,
16
+ duration: 5000, // 5s
17
+ message: 'This is a message',
18
+ ...opts
19
+ });
20
+ }
21
+ showInfo(opts) {
22
+ return this.showToast({
23
+ type: 'info',
24
+ message: 'This is a info text !',
25
+ ...opts
26
+ });
27
+ }
28
+ showWarning(opts) {
29
+ return this.showToast({
30
+ type: 'warning',
31
+ message: 'This is a warning text !',
32
+ ...opts
33
+ });
34
+ }
35
+ showError(opts) {
36
+ return this.showToast({
37
+ type: 'error',
38
+ message: 'This is a error text !',
39
+ ...opts
40
+ });
41
+ }
42
+ toggleCloseButton() {
43
+ this.defaultOptions.showCloseButton = !this.defaultOptions.showCloseButton;
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ToastTestingPage, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: ToastTestingPage, selector: "toast-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <ion-button (click)=\"showInfo({message: 'This is <b>HTML</b> text'})\" color=\"danger\">\n message with HTML\n </ion-button>\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\">\n <ion-label>Close button ?</ion-label>\n </ion-checkbox>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["alignment", "checked", "color", "disabled", "indeterminate", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { 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.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i1.BooleanValueAccessor, selector: "ion-checkbox,ion-toggle" }] });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ToastTestingPage, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'toast-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Toast examples:</p>\n\n <ion-button (click)=\"showToast()\" color=\"dark\">\n default\n </ion-button>\n\n <ion-button (click)=\"showInfo()\" color=\"secondary\">\n info\n </ion-button>\n\n <ion-button (click)=\"showWarning()\" color=\"accent\">\n warning\n </ion-button>\n\n <ion-button (click)=\"showError()\" color=\"danger\">\n error\n </ion-button>\n\n <ion-button (click)=\"showInfo({message: 'This is <b>HTML</b> text'})\" color=\"danger\">\n message with HTML\n </ion-button>\n <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\">\n <ion-label>Close button ?</ion-label>\n </ion-checkbox>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n" }]
51
+ }], ctorParameters: () => [{ type: i0.Injector }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3RvYXN0L3RvYXN0LnRlc3RpbmcudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQW1CLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQzs7O0FBT2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFPakI7SUFMRCxjQUFjLEdBQXFCO1FBQzFDLGVBQWUsRUFBRSxLQUFLO0tBQ3ZCLENBQUM7SUFFRixZQUNVLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFFNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUF1QjtRQUMvQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QyxHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RCLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSztZQUNyQixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBdUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLElBQUksRUFBRSxNQUFNO1lBQ1osT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQXVCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsR0FBRyxJQUFJO1NBQ1IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUF1QjtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEIsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQzdFLENBQUM7dUdBL0NVLGdCQUFnQjsyRkFBaEIsZ0JBQWdCLHFEQ1Q3Qiw4NEJBMENBOzsyRkRqQ2EsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUb2FzdENvbnRyb2xsZXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7U2hvd1RvYXN0T3B0aW9ucywgVG9hc3RzfSBmcm9tICcuL3RvYXN0cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b2FzdC10ZXN0aW5nJyxcbiAgdGVtcGxhdGVVcmw6ICd0b2FzdC50ZXN0aW5nLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0VGVzdGluZ1BhZ2UgIHtcblxuICByZWFkb25seSBkZWZhdWx0T3B0aW9uczogU2hvd1RvYXN0T3B0aW9ucyA9IHtcbiAgICBzaG93Q2xvc2VCdXR0b246IGZhbHNlXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gIH1cblxuICBzaG93VG9hc3Qob3B0cz86IFNob3dUb2FzdE9wdGlvbnMpIHtcbiAgICByZXR1cm4gVG9hc3RzLnNob3dTaW1wbGUodGhpcy5pbmplY3Rvciwge1xuICAgICAgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyxcbiAgICAgIGR1cmF0aW9uOiA1MDAwLCAvLyA1c1xuICAgICAgbWVzc2FnZTogJ1RoaXMgaXMgYSBtZXNzYWdlJyxcbiAgICAgIC4uLm9wdHNcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dJbmZvKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICByZXR1cm4gdGhpcy5zaG93VG9hc3Qoe1xuICAgICB0eXBlOiAnaW5mbycsXG4gICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgaW5mbyB0ZXh0ICEnLFxuICAgICAuLi5vcHRzXG4gICB9KTtcbiAgfVxuXG4gIHNob3dXYXJuaW5nKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgd2FybmluZyB0ZXh0ICEnLFxuICAgICAgLi4ub3B0c1xuICAgIH0pO1xuICB9XG5cbiAgc2hvd0Vycm9yKG9wdHM/OiBTaG93VG9hc3RPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RvYXN0KHtcbiAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICBtZXNzYWdlOiAnVGhpcyBpcyBhIGVycm9yIHRleHQgIScsXG4gICAgICAuLi5vcHRzXG4gICAgfSk7XG4gIH1cblxuXG4gIHRvZ2dsZUNsb3NlQnV0dG9uKCkge1xuICAgIHRoaXMuZGVmYXVsdE9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uID0gIXRoaXMuZGVmYXVsdE9wdGlvbnMuc2hvd0Nsb3NlQnV0dG9uO1xuICB9XG59XG4iLCI8aW9uLXRvb2xiYXIgY29sb3I9XCJwcmltYXJ5XCI+XG4gIDxpb24tdGl0bGU+VG9hc3RzPC9pb24tdGl0bGU+XG48L2lvbi10b29sYmFyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuXG4gIDxwPlRvYXN0IGV4YW1wbGVzOjwvcD5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd1RvYXN0KClcIiBjb2xvcj1cImRhcmtcIj5cbiAgICBkZWZhdWx0XG4gIDwvaW9uLWJ1dHRvbj5cblxuICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwic2hvd0luZm8oKVwiIGNvbG9yPVwic2Vjb25kYXJ5XCI+XG4gICAgaW5mb1xuICA8L2lvbi1idXR0b24+XG5cbiAgPGlvbi1idXR0b24gKGNsaWNrKT1cInNob3dXYXJuaW5nKClcIiBjb2xvcj1cImFjY2VudFwiPlxuICAgIHdhcm5pbmdcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93RXJyb3IoKVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgZXJyb3JcbiAgPC9pb24tYnV0dG9uPlxuXG4gIDxpb24tYnV0dG9uIChjbGljayk9XCJzaG93SW5mbyh7bWVzc2FnZTogJ1RoaXMgaXMgPGI+SFRNTDwvYj4gdGV4dCd9KVwiIGNvbG9yPVwiZGFuZ2VyXCI+XG4gICAgbWVzc2FnZSB3aXRoIEhUTUxcbiAgPC9pb24tYnV0dG9uPlxuICA8YnIvPlxuXG5cbiAgPGlvbi1saXN0PlxuXG5cbiAgICA8aW9uLWl0ZW0+XG4gICAgICA8aW9uLWNoZWNrYm94IFt2YWx1ZV09XCJkZWZhdWx0T3B0aW9ucy5zaG93Q2xvc2VCdXR0b25cIiAgKGlvbkNoYW5nZSk9XCJ0b2dnbGVDbG9zZUJ1dHRvbigpXCI+XG4gICAgICAgIDxpb24tbGFiZWw+Q2xvc2UgYnV0dG9uID88L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWNoZWNrYm94PlxuICAgIDwvaW9uLWl0ZW0+XG4gIDwvaW9uLWxpc3Q+XG5cblxuPC9pb24tY29udGVudD5cbiJdfQ==
@@ -15,16 +15,16 @@ const routes = [
15
15
  }
16
16
  ];
17
17
  export class ToastTestingModule {
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ToastTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: ToastTestingModule, declarations: [ToastTestingPage], imports: [CommonModule,
20
+ IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule,
21
+ ToastTestingPage] });
22
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ToastTestingModule, imports: [CommonModule,
23
+ IonicModule,
24
+ TranslateModule.forChild(),
25
+ RouterModule.forChild(routes), RouterModule] });
18
26
  }
19
- ToastTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToastTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- ToastTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ToastTestingModule, declarations: [ToastTestingPage], imports: [CommonModule,
21
- IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule,
22
- ToastTestingPage] });
23
- ToastTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToastTestingModule, imports: [CommonModule,
24
- IonicModule,
25
- TranslateModule.forChild(),
26
- RouterModule.forChild(routes), RouterModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ToastTestingModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ToastTestingModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
42
42
  ]
43
43
  }]
44
44
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVqRCxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLE1BQU07UUFDakIsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QjtDQUNGLENBQUM7QUFpQkYsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLGlCQVAzQixnQkFBZ0IsYUFOaEIsWUFBWTtRQUNaLFdBQVcsa0RBUVgsWUFBWTtRQUNaLGdCQUFnQjtnSEFHUCxrQkFBa0IsWUFiM0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxlQUFlLENBQUMsUUFBUSxFQUFFO1FBQzFCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBTTdCLFlBQVk7MkZBSUgsa0JBQWtCO2tCQWY5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZSxDQUFDLFFBQVEsRUFBRTt3QkFDMUIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7cUJBQzlCO29CQUNELFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VG9hc3RUZXN0aW5nUGFnZX0gZnJvbSAnLi90b2FzdC50ZXN0aW5nJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAndG9hc3QnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgIGNvbXBvbmVudDogVG9hc3RUZXN0aW5nUGFnZVxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRvYXN0VGVzdGluZ1BhZ2VcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFJvdXRlck1vZHVsZSxcbiAgICBUb2FzdFRlc3RpbmdQYWdlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RUZXN0aW5nTW9kdWxlIHtcbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudGVzdGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC90b2FzdC90b2FzdC50ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVqRCxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLE1BQU07UUFDakIsU0FBUyxFQUFFLGdCQUFnQjtLQUM1QjtDQUNGLENBQUM7QUFpQkYsTUFBTSxPQUFPLGtCQUFrQjt1R0FBbEIsa0JBQWtCO3dHQUFsQixrQkFBa0IsaUJBUDNCLGdCQUFnQixhQU5oQixZQUFZO1lBQ1osV0FBVyxrREFRWCxZQUFZO1lBQ1osZ0JBQWdCO3dHQUdQLGtCQUFrQixZQWIzQixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFNN0IsWUFBWTs7MkZBSUgsa0JBQWtCO2tCQWY5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZUFBZSxDQUFDLFFBQVEsRUFBRTt3QkFDMUIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7cUJBQzlCO29CQUNELFlBQVksRUFBRTt3QkFDWixnQkFBZ0I7cUJBQ2pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7VG9hc3RUZXN0aW5nUGFnZX0gZnJvbSAnLi90b2FzdC50ZXN0aW5nJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAndG9hc3QnLFxuICAgIHBhdGhNYXRjaDogJ2Z1bGwnLFxuICAgIGNvbXBvbmVudDogVG9hc3RUZXN0aW5nUGFnZVxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRvYXN0VGVzdGluZ1BhZ2VcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFJvdXRlck1vZHVsZSxcbiAgICBUb2FzdFRlc3RpbmdQYWdlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RUZXN0aW5nTW9kdWxlIHtcbn1cbiJdfQ==