@sumaris-net/ngx-components 2.0.0-rc3 → 2.0.0-rc30

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 (338) hide show
  1. package/README.md +3 -1
  2. package/doc/changelog.md +13 -0
  3. package/esm2020/public_api.mjs +72 -61
  4. package/esm2020/src/app/admin/admin-routing.module.mjs +6 -6
  5. package/esm2020/src/app/admin/admin.module.mjs +6 -6
  6. package/esm2020/src/app/admin/services/person.service.mjs +3 -3
  7. package/esm2020/src/app/admin/services/validator/person.validator.mjs +3 -3
  8. package/esm2020/src/app/admin/users/users.mjs +233 -0
  9. package/esm2020/src/app/admin/users/users.module.mjs +54 -0
  10. package/esm2020/src/app/core/about/about.modal.mjs +71 -0
  11. package/esm2020/src/app/core/about/about.module.mjs +34 -0
  12. package/esm2020/src/app/core/account/account.module.mjs +43 -0
  13. package/esm2020/src/app/core/account/account.page.mjs +239 -0
  14. package/esm2020/src/app/core/auth/auth.form.mjs +131 -0
  15. package/esm2020/src/app/core/auth/auth.modal.mjs +72 -0
  16. package/esm2020/src/app/core/auth/auth.module.mjs +47 -0
  17. package/esm2020/src/app/core/core.module.mjs +86 -125
  18. package/esm2020/src/app/core/core.testing.module.mjs +7 -7
  19. package/esm2020/src/app/core/form/{form-buttons-bar.component.mjs → buttons/form-buttons-bar.component.mjs} +7 -7
  20. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +35 -0
  21. package/esm2020/src/app/core/form/entity/editor.class.mjs +675 -0
  22. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +421 -0
  23. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +646 -0
  24. package/esm2020/src/app/core/form/{entity-metadata.component.mjs → entity/entity-metadata.component.mjs} +6 -6
  25. package/esm2020/src/app/core/form/entity/entity.module.mjs +38 -0
  26. package/esm2020/src/app/core/form/form.class.mjs +7 -4
  27. package/esm2020/src/app/core/form/form.module.mjs +66 -0
  28. package/esm2020/src/app/core/form/form.utils.mjs +3 -3
  29. package/esm2020/src/app/core/form/list/list.form.mjs +222 -0
  30. package/esm2020/src/app/core/form/list/list.module.mjs +35 -0
  31. package/esm2020/src/app/core/form/properties/properties.form.mjs +3 -3
  32. package/esm2020/src/app/core/form/properties/properties.module.mjs +35 -0
  33. package/esm2020/src/app/core/form/properties/property.validator.mjs +3 -3
  34. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +3 -3
  35. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +4 -4
  36. package/esm2020/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.mjs +4 -4
  37. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +45 -0
  38. package/esm2020/src/app/core/{text-popover → form/text-popover}/text-form.component.mjs +8 -8
  39. package/esm2020/src/app/core/{text-popover → form/text-popover}/text-popover.component.mjs +6 -6
  40. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +40 -0
  41. package/esm2020/src/app/core/graphql/graphql.module.mjs +4 -4
  42. package/esm2020/src/app/core/graphql/graphql.service.mjs +3 -3
  43. package/esm2020/src/app/core/graphql/graphql.utils.mjs +3 -2
  44. package/esm2020/src/app/core/home/home.mjs +8 -8
  45. package/esm2020/src/app/core/home/home.module.mjs +48 -0
  46. package/esm2020/src/app/core/icon/icon.component.mjs +5 -5
  47. package/esm2020/src/app/core/icon/icon.module.mjs +4 -4
  48. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -3
  49. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +17 -15
  50. package/esm2020/src/app/core/menu/menu.component.mjs +5 -5
  51. package/esm2020/src/app/core/menu/menu.module.mjs +9 -10
  52. package/esm2020/src/app/core/menu/menu.service.mjs +3 -3
  53. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +4 -4
  54. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +35 -0
  55. package/esm2020/src/app/core/peer/select-peer.modal.mjs +4 -4
  56. package/esm2020/src/app/core/peer/select-peer.module.mjs +14 -10
  57. package/esm2020/src/app/core/register/register-confirm.page.mjs +81 -0
  58. package/esm2020/src/app/core/register/register.form.mjs +181 -0
  59. package/esm2020/src/app/core/register/register.modal.mjs +52 -0
  60. package/esm2020/src/app/core/register/register.module.mjs +17 -15
  61. package/esm2020/src/app/core/services/account.service.mjs +20 -21
  62. package/esm2020/src/app/core/services/auth-guard.service.mjs +6 -6
  63. package/esm2020/src/app/core/services/base-entity-service.class.mjs +3 -3
  64. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +8 -8
  65. package/esm2020/src/app/core/services/base58.mjs +2 -2
  66. package/esm2020/src/app/core/services/config.service.mjs +3 -3
  67. package/esm2020/src/app/core/services/crypto.service.mjs +82 -97
  68. package/esm2020/src/app/core/services/local-settings.service.mjs +8 -10
  69. package/esm2020/src/app/core/services/model/referential.model.mjs +11 -3
  70. package/esm2020/src/app/core/services/network.service.mjs +4 -4
  71. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +8 -8
  72. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +4 -4
  73. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
  74. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +8 -8
  75. package/esm2020/src/app/core/services/platform.service.mjs +9 -10
  76. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +3 -3
  77. package/esm2020/src/app/core/services/testing/referential.validator.mjs +3 -3
  78. package/esm2020/src/app/core/services/validator/account.validator.mjs +3 -3
  79. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +3 -3
  80. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  81. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +3 -3
  82. package/esm2020/src/app/core/settings/settings.module.mjs +34 -0
  83. package/esm2020/src/app/core/settings/settings.page.mjs +4 -4
  84. package/esm2020/src/app/core/table/actions-column.component.mjs +4 -4
  85. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +4 -4
  86. package/esm2020/src/app/core/table/memory-table.class.mjs +3 -3
  87. package/esm2020/src/app/core/table/table-select-columns.component.mjs +3 -3
  88. package/esm2020/src/app/core/table/table.class.mjs +157 -162
  89. package/esm2020/src/app/core/table/table.module.mjs +40 -0
  90. package/esm2020/src/app/core/table/testing/table.testing.mjs +7 -7
  91. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +4 -4
  92. package/esm2020/src/app/shared/audio/audio.mjs +3 -3
  93. package/esm2020/src/app/shared/audio/audio.testing.mjs +3 -3
  94. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +4 -4
  95. package/esm2020/src/app/shared/capacitor/keyboard.mjs +3 -3
  96. package/esm2020/src/app/shared/dates.mjs +34 -14
  97. package/esm2020/src/app/shared/debug/debug.component.mjs +3 -3
  98. package/esm2020/src/app/shared/debug/debug.module.mjs +4 -4
  99. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +3 -3
  100. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +3 -3
  101. package/esm2020/src/app/shared/directives/directives.module.mjs +4 -4
  102. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +3 -3
  103. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +3 -3
  104. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  105. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +3 -3
  106. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  107. package/esm2020/src/app/shared/events.mjs +2 -2
  108. package/esm2020/src/app/shared/file/file.service.mjs +6 -5
  109. package/esm2020/src/app/shared/form/field.component.mjs +3 -3
  110. package/esm2020/src/app/shared/form/loading-spinner.mjs +3 -3
  111. package/esm2020/src/app/shared/gesture/gesture-config.mjs +3 -3
  112. package/esm2020/src/app/shared/graph/graph-colors.mjs +17 -63
  113. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +3 -3
  114. package/esm2020/src/app/shared/help/help.modal.mjs +3 -3
  115. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +3 -3
  116. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +3 -3
  117. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +4 -4
  118. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +4 -4
  119. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +4 -4
  120. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +3 -3
  121. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +3 -3
  122. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +4 -4
  123. package/esm2020/src/app/shared/image/image.module.mjs +4 -4
  124. package/esm2020/src/app/shared/image/image.service.mjs +3 -3
  125. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +1 -1
  126. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +6 -8
  127. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +4 -4
  128. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  129. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +25 -6
  130. package/esm2020/src/app/shared/material/badge/badge.module.mjs +4 -4
  131. package/esm2020/src/app/shared/material/badge/badge.test.mjs +10 -8
  132. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +4 -4
  133. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  134. package/esm2020/src/app/shared/material/chips/chips.module.mjs +4 -4
  135. package/esm2020/src/app/shared/material/chips/material.chips.mjs +5 -6
  136. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  137. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +4 -4
  138. package/esm2020/src/app/shared/material/datetime/material.date.mjs +5 -6
  139. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
  140. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +5 -6
  141. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +5 -7
  142. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +7 -8
  143. package/esm2020/src/app/shared/material/duration/duration.module.mjs +4 -4
  144. package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
  145. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +3 -3
  146. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +4 -4
  147. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +3 -3
  148. package/esm2020/src/app/shared/material/material.animations.mjs +1 -1
  149. package/esm2020/src/app/shared/material/material.module.mjs +4 -4
  150. package/esm2020/src/app/shared/material/material.testing.module.mjs +23 -11
  151. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +3 -3
  152. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +3 -3
  153. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +3 -3
  154. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +3 -3
  155. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +3 -3
  156. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +3 -3
  157. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +4 -4
  158. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +3 -3
  159. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +3 -3
  160. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +3 -3
  161. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +3 -3
  162. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +4 -4
  163. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +7 -8
  164. package/esm2020/src/app/shared/observables.mjs +29 -22
  165. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +24 -24
  166. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -3
  167. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +8 -9
  168. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +4 -4
  169. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +4 -4
  170. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +4 -4
  171. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +3 -3
  172. package/esm2020/src/app/shared/pipes/form.pipes.mjs +18 -18
  173. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +4 -4
  174. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +9 -9
  175. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +12 -12
  176. package/esm2020/src/app/shared/pipes/math.pipes.mjs +12 -12
  177. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +3 -3
  178. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +4 -4
  179. package/esm2020/src/app/shared/pipes/pipes.module.mjs +4 -4
  180. package/esm2020/src/app/shared/pipes/property.pipes.mjs +7 -7
  181. package/esm2020/src/app/shared/pipes/string.pipes.mjs +15 -15
  182. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +8 -8
  183. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +15 -9
  184. package/esm2020/src/app/shared/services/progress-bar.service.mjs +3 -3
  185. package/esm2020/src/app/shared/services/storage/storage.service.mjs +3 -3
  186. package/esm2020/src/app/shared/services/translate-context.service.mjs +3 -3
  187. package/esm2020/src/app/shared/shared-routing.module.mjs +7 -7
  188. package/esm2020/src/app/shared/shared.module.mjs +9 -5
  189. package/esm2020/src/app/shared/shared.testing.module.mjs +4 -4
  190. package/esm2020/src/app/shared/testing/observable.test.mjs +95 -0
  191. package/esm2020/src/app/shared/testing/tests.page.mjs +3 -3
  192. package/esm2020/src/app/shared/toast/toast.testing.mjs +3 -3
  193. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +4 -4
  194. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +3 -3
  195. package/esm2020/src/app/shared/toolbar/toolbar.mjs +3 -3
  196. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +4 -4
  197. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +3 -3
  198. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +4 -4
  199. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +3 -3
  200. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +3 -3
  201. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +3 -3
  202. package/esm2020/src/app/shared/validator/validators.mjs +4 -5
  203. package/esm2020/src/app/social/job/job.module.mjs +4 -4
  204. package/esm2020/src/app/social/job/job.service.mjs +3 -3
  205. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +3 -3
  206. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +3 -3
  207. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +3 -3
  208. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +3 -3
  209. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +4 -4
  210. package/esm2020/src/app/social/message/message.form.mjs +3 -3
  211. package/esm2020/src/app/social/message/message.modal.mjs +3 -3
  212. package/esm2020/src/app/social/message/message.module.mjs +4 -4
  213. package/esm2020/src/app/social/message/message.service.mjs +3 -3
  214. package/esm2020/src/app/social/social.module.mjs +4 -4
  215. package/esm2020/src/app/social/social.testing.module.mjs +4 -4
  216. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +3 -3
  217. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +6 -6
  218. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +13 -12
  219. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +4 -4
  220. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +3 -3
  221. package/esm2020/src/app/social/user-event/user-event.module.mjs +4 -4
  222. package/esm2020/src/app/social/user-event/user-event.service.mjs +6 -8
  223. package/fesm2015/sumaris-net.ngx-components.mjs +4621 -4210
  224. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  225. package/fesm2020/sumaris-net.ngx-components.mjs +4550 -4129
  226. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  227. package/package.json +3 -2
  228. package/plugins/clovelced-plugin-audiomanagement/README.md +66 -0
  229. package/plugins/cordova-plugin-camera/README.md +703 -0
  230. package/plugins/cordova-plugin-device/README.md +309 -0
  231. package/plugins/cordova-plugin-file/README.md +848 -0
  232. package/plugins/cordova-plugin-file-transfer/README.md +598 -0
  233. package/plugins/cordova-plugin-file-transfer/doc/de/README.md +311 -0
  234. package/plugins/cordova-plugin-file-transfer/doc/es/README.md +311 -0
  235. package/plugins/cordova-plugin-file-transfer/doc/fr/README.md +270 -0
  236. package/plugins/cordova-plugin-file-transfer/doc/it/README.md +311 -0
  237. package/plugins/cordova-plugin-file-transfer/doc/ja/README.md +311 -0
  238. package/plugins/cordova-plugin-file-transfer/doc/ko/README.md +311 -0
  239. package/plugins/cordova-plugin-file-transfer/doc/pl/README.md +311 -0
  240. package/plugins/cordova-plugin-file-transfer/doc/zh/README.md +311 -0
  241. package/plugins/cordova-plugin-ionic-keyboard/README.md +220 -0
  242. package/plugins/cordova-plugin-ionic-webview/README.md +181 -0
  243. package/plugins/cordova-plugin-media-capture/README.md +626 -0
  244. package/plugins/cordova-plugin-splashscreen/README.md +387 -0
  245. package/plugins/cordova-plugin-statusbar/README.md +341 -0
  246. package/plugins/cordova-plugin-telerik-imagepicker/README.md +155 -0
  247. package/plugins/cordova-plugin-whitelist/README.md +185 -0
  248. package/plugins/cordova-sqlite-storage/README.md +1848 -0
  249. package/plugins/integrator-cordova-plugin-downloader/README.md +49 -0
  250. package/public_api.d.ts +71 -23
  251. package/src/app/admin/admin.module.d.ts +1 -1
  252. package/src/app/admin/users/{list/users.d.ts → users.d.ts} +11 -11
  253. package/src/app/admin/users/users.module.d.ts +13 -0
  254. package/src/app/core/about/{modal-about.d.ts → about.modal.d.ts} +1 -1
  255. package/src/app/core/about/about.module.d.ts +10 -0
  256. package/src/app/core/account/account.module.d.ts +11 -0
  257. package/src/app/core/account/{account.d.ts → account.page.d.ts} +5 -1
  258. package/src/app/core/auth/{form/form-auth.d.ts → auth.form.d.ts} +9 -9
  259. package/src/app/core/auth/{modal/modal-auth.d.ts → auth.modal.d.ts} +4 -4
  260. package/src/app/core/auth/auth.module.d.ts +11 -0
  261. package/src/app/core/core.module.d.ts +20 -29
  262. package/src/app/core/core.testing.module.d.ts +1 -1
  263. package/src/app/core/form/{form-buttons-bar.component.d.ts → buttons/form-buttons-bar.component.d.ts} +2 -2
  264. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
  265. package/src/app/core/form/{editor.class.d.ts → entity/editor.class.d.ts} +11 -10
  266. package/src/app/core/form/{entity-editor-modal.class.d.ts → entity/entity-editor-modal.class.d.ts} +24 -15
  267. package/src/app/core/form/{entity-editor.class.d.ts → entity/entity-editor.class.d.ts} +10 -10
  268. package/src/app/core/form/{entity-metadata.component.d.ts → entity/entity-metadata.component.d.ts} +1 -1
  269. package/src/app/core/form/entity/entity.module.d.ts +10 -0
  270. package/src/app/core/form/form.class.d.ts +1 -0
  271. package/src/app/core/form/form.module.d.ts +13 -0
  272. package/src/app/core/form/form.utils.d.ts +2 -2
  273. package/src/app/core/form/{list.form.d.ts → list/list.form.d.ts} +4 -4
  274. package/src/app/core/form/list/list.module.d.ts +9 -0
  275. package/src/app/core/form/properties/properties.module.d.ts +9 -0
  276. package/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.d.ts +0 -0
  277. package/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.module.d.ts +0 -0
  278. package/src/app/core/{text-popover → form/text-popover}/text-form.component.d.ts +1 -1
  279. package/src/app/core/{text-popover → form/text-popover}/text-popover.component.d.ts +0 -0
  280. package/src/app/core/form/text-popover/text-popover.module.d.ts +10 -0
  281. package/src/app/core/home/home.module.d.ts +12 -0
  282. package/src/app/core/install/install-upgrade-card.module.d.ts +6 -7
  283. package/src/app/core/menu/menu.component.d.ts +1 -1
  284. package/src/app/core/offline/update-offline-mode-card.component.d.ts +1 -1
  285. package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
  286. package/src/app/core/peer/select-peer.modal.d.ts +1 -1
  287. package/src/app/core/peer/select-peer.module.d.ts +5 -4
  288. package/src/app/core/register/{confirm/confirm.d.ts → register-confirm.page.d.ts} +4 -4
  289. package/src/app/core/register/{form/form-register.d.ts → register.form.d.ts} +7 -7
  290. package/src/app/core/register/{modal/modal-register.d.ts → register.modal.d.ts} +2 -2
  291. package/src/app/core/register/register.module.d.ts +6 -6
  292. package/src/app/core/services/account.service.d.ts +5 -6
  293. package/src/app/core/services/base-graphql-service.class.d.ts +9 -8
  294. package/src/app/core/services/crypto.service.d.ts +23 -18
  295. package/src/app/core/services/model/referential.model.d.ts +6 -1
  296. package/src/app/core/settings/settings.module.d.ts +10 -0
  297. package/src/app/core/table/actions-column.component.d.ts +1 -1
  298. package/src/app/core/table/table.class.d.ts +21 -38
  299. package/src/app/core/table/table.module.d.ts +10 -0
  300. package/src/app/core/table/testing/table.testing.d.ts +1 -1
  301. package/src/app/shared/dates.d.ts +13 -3
  302. package/src/app/shared/events.d.ts +4 -4
  303. package/src/app/shared/graph/graph-colors.d.ts +8 -8
  304. package/src/app/shared/image/gallery/image-gallery.component.d.ts +1 -1
  305. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +1 -1
  306. package/src/app/shared/material/badge/badge.directive.d.ts +3 -1
  307. package/src/app/shared/material/badge/badge.test.d.ts +1 -0
  308. package/src/app/shared/material/datetime/material.date.d.ts +1 -1
  309. package/src/app/shared/material/datetime/material.datetime.d.ts +4 -4
  310. package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +1 -0
  311. package/src/app/shared/material/material.testing.module.d.ts +9 -8
  312. package/src/app/shared/material/swipe/testing/swipe.test.d.ts +2 -3
  313. package/src/app/shared/observables.d.ts +1 -1
  314. package/src/app/shared/services/memory-entity-service.class.d.ts +5 -0
  315. package/src/app/shared/shared.module.d.ts +2 -1
  316. package/src/app/shared/testing/observable.test.d.ts +25 -0
  317. package/src/theme/_ionic.globals.scss +4 -0
  318. package/src/theme/_material.globals.scss +3 -1
  319. package/src/theme/_mixins.scss +3 -3
  320. package/esm2020/public_test_api.mjs +0 -46
  321. package/esm2020/src/app/admin/users/list/users.mjs +0 -233
  322. package/esm2020/src/app/admin/users/list/users.module.mjs +0 -58
  323. package/esm2020/src/app/core/about/modal-about.mjs +0 -71
  324. package/esm2020/src/app/core/account/account.mjs +0 -230
  325. package/esm2020/src/app/core/auth/form/form-auth.mjs +0 -131
  326. package/esm2020/src/app/core/auth/modal/modal-auth.mjs +0 -72
  327. package/esm2020/src/app/core/form/editor.class.mjs +0 -672
  328. package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +0 -407
  329. package/esm2020/src/app/core/form/entity-editor.class.mjs +0 -646
  330. package/esm2020/src/app/core/form/list.form.mjs +0 -222
  331. package/esm2020/src/app/core/register/confirm/confirm.mjs +0 -81
  332. package/esm2020/src/app/core/register/form/form-register.mjs +0 -181
  333. package/esm2020/src/app/core/register/modal/modal-register.mjs +0 -52
  334. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +0 -45
  335. package/esm2020/src/app/vendor.mjs +0 -16
  336. package/public_test_api.d.ts +0 -37
  337. package/src/app/admin/users/list/users.module.d.ts +0 -14
  338. package/src/app/vendor.d.ts +0 -11
@@ -42,9 +42,9 @@ export class ToastTestingPage {
42
42
  this.defaultOptions.showCloseButton = !this.defaultOptions.showCloseButton;
43
43
  }
44
44
  }
45
- ToastTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToastTestingPage, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
46
- ToastTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", 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 <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\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", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToastTestingPage, decorators: [{
45
+ ToastTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToastTestingPage, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
46
+ ToastTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", 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 <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\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", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCheckbox, selector: "ion-checkbox", inputs: ["checked", "color", "disabled", "indeterminate", "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
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToastTestingPage, decorators: [{
48
48
  type: Component,
49
49
  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 <br/>\n\n\n <ion-list>\n\n\n <ion-item>\n <ion-checkbox slot=\"start\" [value]=\"defaultOptions.showCloseButton\" (ionChange)=\"toggleCloseButton()\"></ion-checkbox>\n <ion-label>Close button ?</ion-label>\n </ion-item>\n </ion-list>\n\n\n</ion-content>\n" }]
50
50
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
@@ -16,15 +16,15 @@ const routes = [
16
16
  ];
17
17
  export class ToastTestingModule {
18
18
  }
19
- ToastTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToastTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- ToastTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: ToastTestingModule, declarations: [ToastTestingPage], imports: [CommonModule,
19
+ ToastTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToastTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ ToastTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ToastTestingModule, declarations: [ToastTestingPage], imports: [CommonModule,
21
21
  IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule,
22
22
  ToastTestingPage] });
23
- ToastTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToastTestingModule, imports: [CommonModule,
23
+ ToastTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToastTestingModule, imports: [CommonModule,
24
24
  IonicModule,
25
25
  TranslateModule.forChild(),
26
26
  RouterModule.forChild(routes), RouterModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToastTestingModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToastTestingModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -33,9 +33,9 @@ export class ModalToolbarComponent {
33
33
  this._subscription.unsubscribe();
34
34
  }
35
35
  }
36
- ModalToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ModalToolbarComponent, deps: [{ token: i1.Hotkeys }], target: i0.ɵɵFactoryTarget.Component });
37
- ModalToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: ModalToolbarComponent, selector: "app-modal-toolbar", inputs: { modalName: "modalName", title: "title", color: "color", showSpinner: "showSpinner", canValidate: "canValidate", validateIcon: "validateIcon" }, outputs: { cancel: "cancel", validate: "validate" }, ngImport: i0, template: "<ion-header>\n <ion-toolbar [color]=\"color\">\n <ion-buttons slot=\"start\">\n <ion-button visible-xs visible-sm visible-mobile\n (click)=\"cancel.emit()\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n\n <ng-content select=\"[slot=start]\"></ng-content>\n </ion-buttons>\n\n <ion-title [innerHTML]=\"title\"></ion-title>\n\n <ng-content select=\"ion-title\"></ng-content>\n\n <ng-content select=\"ion-buttons[slot=end]\"></ng-content>\n\n <ion-buttons slot=\"end\">\n\n <ng-content select=\"ion-button[slot=end]\"></ng-content>\n\n <ion-spinner *ngIf=\"showSpinner\"></ion-spinner>\n\n <ion-button visible-xs visible-sm visible-mobile\n *ngIf=\"canValidate\"\n (click)=\"validate.emit($event)\">\n <ion-icon slot=\"icon-only\" *ngIf=\"validateIcon?.icon\" [name]=\"validateIcon.icon\"></ion-icon>\n <mat-icon slot=\"icon-only\" *ngIf=\"validateIcon?.matIcon\" >{{validateIcon.matIcon}}</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i3.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i3.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ModalToolbarComponent, decorators: [{
36
+ ModalToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ModalToolbarComponent, deps: [{ token: i1.Hotkeys }], target: i0.ɵɵFactoryTarget.Component });
37
+ ModalToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ModalToolbarComponent, selector: "app-modal-toolbar", inputs: { modalName: "modalName", title: "title", color: "color", showSpinner: "showSpinner", canValidate: "canValidate", validateIcon: "validateIcon" }, outputs: { cancel: "cancel", validate: "validate" }, ngImport: i0, template: "<ion-header>\n <ion-toolbar [color]=\"color\">\n <ion-buttons slot=\"start\">\n <ion-button visible-xs visible-sm visible-mobile\n (click)=\"cancel.emit()\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n\n <ng-content select=\"[slot=start]\"></ng-content>\n </ion-buttons>\n\n <ion-title [innerHTML]=\"title\"></ion-title>\n\n <ng-content select=\"ion-title\"></ng-content>\n\n <ng-content select=\"ion-buttons[slot=end]\"></ng-content>\n\n <ion-buttons slot=\"end\">\n\n <ng-content select=\"ion-button[slot=end]\"></ng-content>\n\n <ion-spinner *ngIf=\"showSpinner\"></ion-spinner>\n\n <ion-button visible-xs visible-sm visible-mobile\n *ngIf=\"canValidate\"\n (click)=\"validate.emit($event)\">\n <ion-icon slot=\"icon-only\" *ngIf=\"validateIcon?.icon\" [name]=\"validateIcon.icon\"></ion-icon>\n <mat-icon slot=\"icon-only\" *ngIf=\"validateIcon?.matIcon\" >{{validateIcon.matIcon}}</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i3.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i3.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ModalToolbarComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'app-modal-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar [color]=\"color\">\n <ion-buttons slot=\"start\">\n <ion-button visible-xs visible-sm visible-mobile\n (click)=\"cancel.emit()\">\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n\n <ng-content select=\"[slot=start]\"></ng-content>\n </ion-buttons>\n\n <ion-title [innerHTML]=\"title\"></ion-title>\n\n <ng-content select=\"ion-title\"></ng-content>\n\n <ng-content select=\"ion-buttons[slot=end]\"></ng-content>\n\n <ion-buttons slot=\"end\">\n\n <ng-content select=\"ion-button[slot=end]\"></ng-content>\n\n <ion-spinner *ngIf=\"showSpinner\"></ion-spinner>\n\n <ion-button visible-xs visible-sm visible-mobile\n *ngIf=\"canValidate\"\n (click)=\"validate.emit($event)\">\n <ion-icon slot=\"icon-only\" *ngIf=\"validateIcon?.icon\" [name]=\"validateIcon.icon\"></ion-icon>\n <mat-icon slot=\"icon-only\" *ngIf=\"validateIcon?.matIcon\" >{{validateIcon.matIcon}}</mat-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n" }]
41
41
  }], ctorParameters: function () { return [{ type: i1.Hotkeys }]; }, propDecorators: { modalName: [{
@@ -175,11 +175,11 @@ export class ToolbarComponent {
175
175
  this.onSearch.emit(event);
176
176
  }
177
177
  }
178
- ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.IonRouterOutlet }, { token: i0.ChangeDetectorRef }, { token: i3.ProgressBarService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
179
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: ToolbarComponent, selector: "app-toolbar", inputs: { title: "title", color: "color", class: "class", backHref: "backHref", defaultBackHref: "defaultBackHref", hasValidate: "hasValidate", hasClose: "hasClose", hasSearch: "hasSearch", canGoBack: "canGoBack", canShowMenu: "canShowMenu" }, outputs: { onValidate: "onValidate", onClose: "onClose", onValidateAndClose: "onValidateAndClose", onBackClick: "onBackClick", onSearch: "onSearch" }, providers: [
178
+ ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToolbarComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.IonRouterOutlet }, { token: i0.ChangeDetectorRef }, { token: i3.ProgressBarService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
179
+ ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ToolbarComponent, selector: "app-toolbar", inputs: { title: "title", color: "color", class: "class", backHref: "backHref", defaultBackHref: "defaultBackHref", hasValidate: "hasValidate", hasClose: "hasClose", hasSearch: "hasSearch", canGoBack: "canGoBack", canShowMenu: "canShowMenu" }, outputs: { onValidate: "onValidate", onClose: "onClose", onValidateAndClose: "onValidateAndClose", onBackClick: "onBackClick", onSearch: "onSearch" }, providers: [
180
180
  { provide: ToolbarToken, useExisting: ToolbarComponent }
181
181
  ], viewQueries: [{ propertyName: "searchbar", first: true, predicate: ["searchbar"], descendants: true, static: true }, { propertyName: "menuToggle", first: true, predicate: ["menuToggle"], descendants: true, static: true }], ngImport: i0, template: "<ion-header [class]=\"class\">\n <ion-toolbar [color]=\"color\">\n\n <ion-buttons slot=\"start\">\n\n <!-- back button -->\n <ion-button class=\"back-button\"\n *ngIf=\"canGoBack\"\n (click)=\"doBackClick($event)\"\n routerDirection=\"back\" >\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n\n <!-- show menu button -->\n <ion-menu-toggle #menuToggle\n [menu]=\"'left'\"\n [class.cdk-visually-hidden]=\"canGoBack || !canShowMenu\">\n <ion-button>\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n\n <ng-content select=\"[slot=start]\"></ng-content>\n </ion-buttons>\n\n <ion-title [innerHTML]=\"title\"></ion-title>\n\n <ng-content select=\"ion-title\"></ng-content>\n\n <ng-content select=\"ion-buttons[slot=end]\"></ng-content>\n\n <ion-buttons slot=\"end\" collapse=\"true\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!-- search bar -->\n <ion-searchbar #searchbar animated\n type=\"search\"\n *ngIf=\"hasSearch\"\n [class.cdk-visually-hidden]=\"!showSearchBar\"\n show-cancel-button=\"always\"\n (ionChange)=\"ionSearchBarChanged($event)\"\n (ionCancel)=\"toggleSearchBar()\">\n </ion-searchbar>\n\n <!-- search button -->\n <ion-button (click)=\"toggleSearchBar()\"\n *ngIf=\"hasSearch && !showSearchBar\">\n <ion-icon slot=\"icon-only\" name=\"search\"></ion-icon>\n </ion-button>\n\n <!-- close button -->\n <ion-button *ngIf=\"hasClose\"\n (tap)=\"tapClose($event)\"\n class=\"visible-xs visible-sm visible-mobile\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n\n <!-- validate button -->\n <ion-button *ngIf=\"hasValidate\"\n (tap)=\"tapValidate($event)\"\n class=\"visible-xs visible-sm visible-mobile\">\n <ion-icon slot=\"icon-only\" name=\"save\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n\n <!-- progress bar -->\n <mat-progress-bar [color]=\"color|matColor\" [mode]=\"progressBarMode$ | async\">\n </mat-progress-bar>\n</ion-header>\n", styles: [""], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonMenuToggle, selector: "ion-menu-toggle", inputs: ["autoHide", "menu"] }, { kind: "component", type: i2.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.MatColorPipe, name: "matColor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: ToolbarComponent, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ToolbarComponent, decorators: [{
183
183
  type: Component,
184
184
  args: [{ selector: 'app-toolbar', providers: [
185
185
  { provide: ToolbarToken, useExisting: ToolbarComponent }
@@ -11,8 +11,8 @@ import { MatIconModule } from '@angular/material/icon';
11
11
  import * as i0 from "@angular/core";
12
12
  export class SharedToolbarModule {
13
13
  }
14
- SharedToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: SharedToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- SharedToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: SharedToolbarModule, declarations: [ToolbarComponent,
14
+ SharedToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ SharedToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: SharedToolbarModule, declarations: [ToolbarComponent,
16
16
  ModalToolbarComponent], imports: [CommonModule,
17
17
  IonicModule,
18
18
  TranslateModule,
@@ -21,14 +21,14 @@ SharedToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
21
21
  MatProgressBarModule,
22
22
  MatIconModule], exports: [ToolbarComponent,
23
23
  ModalToolbarComponent] });
24
- SharedToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: SharedToolbarModule, imports: [CommonModule,
24
+ SharedToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedToolbarModule, imports: [CommonModule,
25
25
  IonicModule,
26
26
  TranslateModule,
27
27
  HammerModule,
28
28
  SharedPipesModule,
29
29
  MatProgressBarModule,
30
30
  MatIconModule] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: SharedToolbarModule, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedToolbarModule, decorators: [{
32
32
  type: NgModule,
33
33
  args: [{
34
34
  imports: [
@@ -48,9 +48,9 @@ export class UploadFileTestingPage {
48
48
  return true;
49
49
  }
50
50
  }
51
- UploadFileTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileTestingPage, deps: [{ token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component });
52
- UploadFileTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: UploadFileTestingPage, selector: "upload-file-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>File upload</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Popover examples:</p>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: true})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(unique file)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(many files)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false, instantUpload: true})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(instant upload)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false, instantUpload: true, maxParallelUpload: 3})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(max parallel upload)\n </ion-button>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { 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: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileTestingPage, decorators: [{
51
+ UploadFileTestingPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileTestingPage, deps: [{ token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component });
52
+ UploadFileTestingPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: UploadFileTestingPage, selector: "upload-file-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>File upload</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Popover examples:</p>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: true})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(unique file)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(many files)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false, instantUpload: true})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(instant upload)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false, instantUpload: true, maxParallelUpload: 3})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(max parallel upload)\n </ion-button>\n\n</ion-content>\n", dependencies: [{ kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { 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: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileTestingPage, decorators: [{
54
54
  type: Component,
55
55
  args: [{ selector: 'upload-file-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>File upload</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <p>Popover examples:</p>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: true})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(unique file)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(many files)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false, instantUpload: true})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(instant upload)\n </ion-button>\n\n <ion-button (click)=\"showPopover($event, {uniqueFile: false, instantUpload: true, maxParallelUpload: 3})\" color=\"tertiary\">\n <span translate>COMMON.BTN_IMPORT</span>&nbsp;(max parallel upload)\n </ion-button>\n\n</ion-content>\n" }]
56
56
  }], ctorParameters: function () { return [{ type: i1.PopoverController }]; } });
@@ -16,15 +16,15 @@ const routes = [
16
16
  ];
17
17
  export class UploadFileTestingModule {
18
18
  }
19
- UploadFileTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- UploadFileTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.6", ngImport: i0, type: UploadFileTestingModule, declarations: [UploadFileTestingPage], imports: [CommonModule,
19
+ UploadFileTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ UploadFileTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: UploadFileTestingModule, declarations: [UploadFileTestingPage], imports: [CommonModule,
21
21
  IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule,
22
22
  UploadFileTestingPage] });
23
- UploadFileTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileTestingModule, imports: [CommonModule,
23
+ UploadFileTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileTestingModule, imports: [CommonModule,
24
24
  IonicModule,
25
25
  TranslateModule.forChild(),
26
26
  RouterModule.forChild(routes), RouterModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileTestingModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileTestingModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -71,9 +71,9 @@ export class UploadFilePopover {
71
71
  }
72
72
  }
73
73
  }
74
- UploadFilePopover.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFilePopover, deps: [{ token: i1.PopoverController }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
75
- UploadFilePopover.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: UploadFilePopover, selector: "app-upload-file-popover", inputs: { fileExtension: "fileExtension", title: "title", uniqueFile: "uniqueFile", instantUpload: "instantUpload", uploadFn: "uploadFn", deleteFn: "deleteFn", maxParallelUpload: "maxParallelUpload" }, viewQueries: [{ propertyName: "uploader", first: true, predicate: ["uploader"], descendants: true, static: true }], ngImport: i0, template: "\n<ion-content class=\"ion-no-padding\" scrollY=\"false\">\n <div class=\"modal-content\">\n <app-upload-file\n #uploader\n [uploadFn]=\"uploadFn\"\n [deleteFn]=\"deleteFn\"\n [fileExtension]=\"fileExtension\"\n [instantUpload]=\"instantUpload\"\n [uniqueFile]=\"uniqueFile\"\n [maxParallelUpload]=\"maxParallelUpload\"\n ></app-upload-file>\n </div>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n <div *ngIf=\"importing\" class=\"importing-info\">\n <ion-text color=\"medium\"><small translate>FILE.UPLOAD.IMPORTING</small></ion-text>\n &nbsp;<ion-spinner name=\"dots\" color=\"accent\"></ion-spinner>\n </div>\n <ion-item *ngIf=\"error\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"ion-text-wrap\" [innerHTML]=\"error | translate\"></ion-label>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n >\n <ion-label translate>COMMON.BTN_IMPORT</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".importing-info{padding-inline-start:var(--ion-padding);display:inline-flex;flex-wrap:nowrap;padding-top:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.UploadFileComponent, selector: "app-upload-file", inputs: ["fileExtension", "uniqueFile", "instantUpload", "uploadFn", "deleteFn", "maxParallelUpload"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFilePopover, decorators: [{
74
+ UploadFilePopover.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFilePopover, deps: [{ token: i1.PopoverController }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
75
+ UploadFilePopover.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: UploadFilePopover, selector: "app-upload-file-popover", inputs: { fileExtension: "fileExtension", title: "title", uniqueFile: "uniqueFile", instantUpload: "instantUpload", uploadFn: "uploadFn", deleteFn: "deleteFn", maxParallelUpload: "maxParallelUpload" }, viewQueries: [{ propertyName: "uploader", first: true, predicate: ["uploader"], descendants: true, static: true }], ngImport: i0, template: "\n<ion-content class=\"ion-no-padding\" scrollY=\"false\">\n <div class=\"modal-content\">\n <app-upload-file\n #uploader\n [uploadFn]=\"uploadFn\"\n [deleteFn]=\"deleteFn\"\n [fileExtension]=\"fileExtension\"\n [instantUpload]=\"instantUpload\"\n [uniqueFile]=\"uniqueFile\"\n [maxParallelUpload]=\"maxParallelUpload\"\n ></app-upload-file>\n </div>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n <div *ngIf=\"importing\" class=\"importing-info\">\n <ion-text color=\"medium\"><small translate>FILE.UPLOAD.IMPORTING</small></ion-text>\n &nbsp;<ion-spinner name=\"dots\" color=\"accent\"></ion-spinner>\n </div>\n <ion-item *ngIf=\"error\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"ion-text-wrap\" [innerHTML]=\"error | translate\"></ion-label>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n >\n <ion-label translate>COMMON.BTN_IMPORT</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".importing-info{padding-inline-start:var(--ion-padding);display:inline-flex;flex-wrap:nowrap;padding-top:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonRow, selector: "ion-row" }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i4.UploadFileComponent, selector: "app-upload-file", inputs: ["fileExtension", "uniqueFile", "instantUpload", "uploadFn", "deleteFn", "maxParallelUpload"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFilePopover, decorators: [{
77
77
  type: Component,
78
78
  args: [{ selector: 'app-upload-file-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<ion-content class=\"ion-no-padding\" scrollY=\"false\">\n <div class=\"modal-content\">\n <app-upload-file\n #uploader\n [uploadFn]=\"uploadFn\"\n [deleteFn]=\"deleteFn\"\n [fileExtension]=\"fileExtension\"\n [instantUpload]=\"instantUpload\"\n [uniqueFile]=\"uniqueFile\"\n [maxParallelUpload]=\"maxParallelUpload\"\n ></app-upload-file>\n </div>\n</ion-content>\n\n<ion-footer>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col>\n <div *ngIf=\"importing\" class=\"importing-info\">\n <ion-text color=\"medium\"><small translate>FILE.UPLOAD.IMPORTING</small></ion-text>\n &nbsp;<ion-spinner name=\"dots\" color=\"accent\"></ion-spinner>\n </div>\n <ion-item *ngIf=\"error\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"ion-text-wrap\" [innerHTML]=\"error | translate\"></ion-label>\n </ion-item>\n </ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"clear\" color=\"dark\" (click)=\"cancel()\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n <ion-button\n [fill]=\"disabled ? 'clear' : 'solid'\"\n (click)=\"onValidate($event)\"\n (keyup.enter)=\"onValidate($event)\"\n color=\"tertiary\"\n [disabled]=\"disabled\"\n >\n <ion-label translate>COMMON.BTN_IMPORT</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".importing-info{padding-inline-start:var(--ion-padding);display:inline-flex;flex-wrap:nowrap;padding-top:8px}\n"] }]
79
79
  }], ctorParameters: function () { return [{ type: i1.PopoverController }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { uploader: [{
@@ -180,9 +180,9 @@ export class UploadFileComponent {
180
180
  return waitFor(() => this.processingFilesCount === 0, opts);
181
181
  }
182
182
  }
183
- UploadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
184
- UploadFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.6", type: UploadFileComponent, selector: "app-upload-file", inputs: { fileExtension: "fileExtension", uniqueFile: "uniqueFile", instantUpload: "instantUpload", uploadFn: "uploadFn", deleteFn: "deleteFn", maxParallelUpload: "maxParallelUpload" }, viewQueries: [{ propertyName: "fileDropEl", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!uniqueFile || files.length === 0\"\n class=\"container\"\n appDragAndDrop (fileDropped)=\"onFileDropped($event)\">\n <input\n type=\"file\"\n #fileDropRef\n id=\"fileDropRef\"\n multiple\n [accept]=\"fileExtension\"\n (change)=\"fileBrowseHandler($any($event.target).files)\"\n />\n <mat-icon style=\"font-size: xx-large;\" color=\"accent\" class=\"text-size\">upload</mat-icon>\n <ion-label\n [innerHTML]=\"\n 'FILE.UPLOAD.DRAG_AND_DROP' | translate: { extension: !fileExtension ? '' : ' (' + fileExtension + ')' }\n \"\n ></ion-label>\n <ion-button>{{ 'FILE.UPLOAD.BROWSE' | translate }}</ion-button>\n</div>\n<div class=\"files-list\">\n <div *ngFor=\"let file of files; index as i\"\n class=\"single-file\"\n [class.deleting]=\"file.deleting\">\n <mat-icon>description</mat-icon>\n <div class=\"info\">\n <h4 class=\"name\">\n {{ file.name }}\n </h4>\n <p class=\"size\">\n {{ file.size | fileSize }}\n </p>\n <ion-progress-bar *ngIf=\"!file.error\"\n [value]=\"file.progress||0\"\n [type]=\"(file.deleting || file.progress === -1) ? 'indeterminate' : 'determinate'\"></ion-progress-bar>\n <ion-label *ngIf=\"file.error\" color=\"danger\" [innerHTML]=\"file.error | translate\"></ion-label>\n </div>\n <!-- remote from list (before importation) -->\n <button *ngIf=\"!(file.progress) || file.error\" mat-icon-button (click)=\"deleteFile(i)\">\n <mat-icon>clear</mat-icon>\n </button>\n <!-- delete file (remotely - after importation) -->\n <button *ngIf=\"file.progress === 1 && !!deleteFn && !file.deleting\" mat-icon-button (click)=\"deleteFile(i)\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".container{width:calc(100% - 3rem);min-height:200px;padding:2rem;text-align:center;border:dashed 1px #979797;position:relative;margin:1.5rem}.container input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;top:0;left:0;cursor:pointer}.container ion-label{display:block;font-size:20px;font-weight:600;color:#38424c}.container label{display:inline-block;color:#fff;width:183px;height:44px;border-radius:21.5px;background-color:#db202f;padding:8px 16px}.fileover{animation:shake 1s;animation-iteration-count:infinite}.files-list{max-height:300px;overflow:auto}.files-list .single-file{display:flex;flex-grow:1;padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #979797;margin-bottom:1rem}.files-list .single-file.deleting .name{color:gray!important;font-style:italic!important}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0 0 .25rem}.files-list .single-file .info{width:100%}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DragAndDropDirective, selector: "[appDragAndDrop]", outputs: ["fileDropped"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.FileSizePipe, name: "fileSize" }] });
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: UploadFileComponent, decorators: [{
183
+ UploadFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
184
+ UploadFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: UploadFileComponent, selector: "app-upload-file", inputs: { fileExtension: "fileExtension", uniqueFile: "uniqueFile", instantUpload: "instantUpload", uploadFn: "uploadFn", deleteFn: "deleteFn", maxParallelUpload: "maxParallelUpload" }, viewQueries: [{ propertyName: "fileDropEl", first: true, predicate: ["fileDropRef"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!uniqueFile || files.length === 0\"\n class=\"container\"\n appDragAndDrop (fileDropped)=\"onFileDropped($event)\">\n <input\n type=\"file\"\n #fileDropRef\n id=\"fileDropRef\"\n multiple\n [accept]=\"fileExtension\"\n (change)=\"fileBrowseHandler($any($event.target).files)\"\n />\n <mat-icon style=\"font-size: xx-large;\" color=\"accent\" class=\"text-size\">upload</mat-icon>\n <ion-label\n [innerHTML]=\"\n 'FILE.UPLOAD.DRAG_AND_DROP' | translate: { extension: !fileExtension ? '' : ' (' + fileExtension + ')' }\n \"\n ></ion-label>\n <ion-button>{{ 'FILE.UPLOAD.BROWSE' | translate }}</ion-button>\n</div>\n<div class=\"files-list\">\n <div *ngFor=\"let file of files; index as i\"\n class=\"single-file\"\n [class.deleting]=\"file.deleting\">\n <mat-icon>description</mat-icon>\n <div class=\"info\">\n <h4 class=\"name\">\n {{ file.name }}\n </h4>\n <p class=\"size\">\n {{ file.size | fileSize }}\n </p>\n <ion-progress-bar *ngIf=\"!file.error\"\n [value]=\"file.progress||0\"\n [type]=\"(file.deleting || file.progress === -1) ? 'indeterminate' : 'determinate'\"></ion-progress-bar>\n <ion-label *ngIf=\"file.error\" color=\"danger\" [innerHTML]=\"file.error | translate\"></ion-label>\n </div>\n <!-- remote from list (before importation) -->\n <button *ngIf=\"!(file.progress) || file.error\" mat-icon-button (click)=\"deleteFile(i)\">\n <mat-icon>clear</mat-icon>\n </button>\n <!-- delete file (remotely - after importation) -->\n <button *ngIf=\"file.progress === 1 && !!deleteFn && !file.deleting\" mat-icon-button (click)=\"deleteFile(i)\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".container{width:calc(100% - 3rem);min-height:200px;padding:2rem;text-align:center;border:dashed 1px #979797;position:relative;margin:1.5rem}.container input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;top:0;left:0;cursor:pointer}.container ion-label{display:block;font-size:20px;font-weight:600;color:#38424c}.container label{display:inline-block;color:#fff;width:183px;height:44px;border-radius:21.5px;background-color:#db202f;padding:8px 16px}.fileover{animation:shake 1s;animation-iteration-count:infinite}.files-list{max-height:300px;overflow:auto}.files-list .single-file{display:flex;flex-grow:1;padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #979797;margin-bottom:1rem}.files-list .single-file.deleting .name{color:gray!important;font-style:italic!important}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0 0 .25rem}.files-list .single-file .info{width:100%}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.DragAndDropDirective, selector: "[appDragAndDrop]", outputs: ["fileDropped"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.FileSizePipe, name: "fileSize" }] });
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: UploadFileComponent, decorators: [{
186
186
  type: Component,
187
187
  args: [{ selector: 'app-upload-file', template: "<div *ngIf=\"!uniqueFile || files.length === 0\"\n class=\"container\"\n appDragAndDrop (fileDropped)=\"onFileDropped($event)\">\n <input\n type=\"file\"\n #fileDropRef\n id=\"fileDropRef\"\n multiple\n [accept]=\"fileExtension\"\n (change)=\"fileBrowseHandler($any($event.target).files)\"\n />\n <mat-icon style=\"font-size: xx-large;\" color=\"accent\" class=\"text-size\">upload</mat-icon>\n <ion-label\n [innerHTML]=\"\n 'FILE.UPLOAD.DRAG_AND_DROP' | translate: { extension: !fileExtension ? '' : ' (' + fileExtension + ')' }\n \"\n ></ion-label>\n <ion-button>{{ 'FILE.UPLOAD.BROWSE' | translate }}</ion-button>\n</div>\n<div class=\"files-list\">\n <div *ngFor=\"let file of files; index as i\"\n class=\"single-file\"\n [class.deleting]=\"file.deleting\">\n <mat-icon>description</mat-icon>\n <div class=\"info\">\n <h4 class=\"name\">\n {{ file.name }}\n </h4>\n <p class=\"size\">\n {{ file.size | fileSize }}\n </p>\n <ion-progress-bar *ngIf=\"!file.error\"\n [value]=\"file.progress||0\"\n [type]=\"(file.deleting || file.progress === -1) ? 'indeterminate' : 'determinate'\"></ion-progress-bar>\n <ion-label *ngIf=\"file.error\" color=\"danger\" [innerHTML]=\"file.error | translate\"></ion-label>\n </div>\n <!-- remote from list (before importation) -->\n <button *ngIf=\"!(file.progress) || file.error\" mat-icon-button (click)=\"deleteFile(i)\">\n <mat-icon>clear</mat-icon>\n </button>\n <!-- delete file (remotely - after importation) -->\n <button *ngIf=\"file.progress === 1 && !!deleteFn && !file.deleting\" mat-icon-button (click)=\"deleteFile(i)\">\n <mat-icon>clear</mat-icon>\n </button>\n </div>\n</div>\n", styles: [".container{width:calc(100% - 3rem);min-height:200px;padding:2rem;text-align:center;border:dashed 1px #979797;position:relative;margin:1.5rem}.container input{opacity:0;position:absolute;z-index:2;width:100%;height:100%;top:0;left:0;cursor:pointer}.container ion-label{display:block;font-size:20px;font-weight:600;color:#38424c}.container label{display:inline-block;color:#fff;width:183px;height:44px;border-radius:21.5px;background-color:#db202f;padding:8px 16px}.fileover{animation:shake 1s;animation-iteration-count:infinite}.files-list{max-height:300px;overflow:auto}.files-list .single-file{display:flex;flex-grow:1;padding:.5rem;justify-content:space-between;align-items:center;border:dashed 1px #979797;margin-bottom:1rem}.files-list .single-file.deleting .name{color:gray!important;font-style:italic!important}.files-list .single-file .name{font-size:14px;font-weight:500;color:#353f4a;margin:0}.files-list .single-file .size{font-size:12px;font-weight:500;color:#a4a4a4;margin:0 0 .25rem}.files-list .single-file .info{width:100%}@keyframes shake{0%{transform:translate(1px,1px) rotate(0)}10%{transform:translate(-1px,-2px) rotate(-1deg)}20%{transform:translate(-3px) rotate(1deg)}30%{transform:translate(3px,2px) rotate(0)}40%{transform:translate(1px,-1px) rotate(1deg)}50%{transform:translate(-1px,2px) rotate(-1deg)}60%{transform:translate(-3px,1px) rotate(0)}70%{transform:translate(3px,1px) rotate(-1deg)}80%{transform:translate(-1px,-1px) rotate(1deg)}90%{transform:translate(1px,2px) rotate(0)}to{transform:translate(1px,-2px) rotate(-1deg)}}\n"] }]
188
188
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }]; }, propDecorators: { fileDropEl: [{
@@ -90,9 +90,9 @@ export class FormErrorTranslator {
90
90
  return errorKey;
91
91
  }
92
92
  }
93
- FormErrorTranslator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormErrorTranslator, deps: [{ token: i1.TranslateService }, { token: APP_FORM_ERROR_I18N_KEYS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
94
- FormErrorTranslator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormErrorTranslator, providedIn: 'root' });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImport: i0, type: FormErrorTranslator, decorators: [{
93
+ FormErrorTranslator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FormErrorTranslator, deps: [{ token: i1.TranslateService }, { token: APP_FORM_ERROR_I18N_KEYS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
94
+ FormErrorTranslator.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FormErrorTranslator, providedIn: 'root' });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: FormErrorTranslator, decorators: [{
96
96
  type: Injectable,
97
97
  args: [{ providedIn: 'root' }]
98
98
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: undefined, decorators: [{