@sumaris-net/ngx-components 2.0.0-rc16 → 2.0.0-rc19

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 (293) hide show
  1. package/esm2020/public_api.mjs +34 -21
  2. package/esm2020/src/app/admin/admin-routing.module.mjs +6 -6
  3. package/esm2020/src/app/admin/admin.module.mjs +6 -6
  4. package/esm2020/src/app/admin/services/person.service.mjs +3 -3
  5. package/esm2020/src/app/admin/services/validator/person.validator.mjs +3 -3
  6. package/esm2020/src/app/admin/users/{list/users.mjs → users.mjs} +31 -31
  7. package/esm2020/src/app/admin/users/users.module.mjs +54 -0
  8. package/esm2020/src/app/core/about/about.modal.mjs +71 -0
  9. package/esm2020/src/app/core/about/about.module.mjs +34 -0
  10. package/esm2020/src/app/core/account/account.module.mjs +43 -0
  11. package/esm2020/src/app/core/account/account.page.mjs +239 -0
  12. package/esm2020/src/app/core/auth/auth.form.mjs +131 -0
  13. package/esm2020/src/app/core/auth/auth.modal.mjs +72 -0
  14. package/esm2020/src/app/core/auth/auth.module.mjs +47 -0
  15. package/esm2020/src/app/core/core.module.mjs +86 -125
  16. package/esm2020/src/app/core/core.testing.module.mjs +7 -7
  17. package/esm2020/src/app/core/form/{form-buttons-bar.component.mjs → buttons/form-buttons-bar.component.mjs} +7 -7
  18. package/esm2020/src/app/core/form/buttons/form-buttons-bar.module.mjs +35 -0
  19. package/esm2020/src/app/core/form/entity/editor.class.mjs +675 -0
  20. package/esm2020/src/app/core/form/entity/entity-editor-modal.class.mjs +421 -0
  21. package/esm2020/src/app/core/form/entity/entity-editor.class.mjs +646 -0
  22. package/esm2020/src/app/core/form/{entity-metadata.component.mjs → entity/entity-metadata.component.mjs} +6 -6
  23. package/esm2020/src/app/core/form/entity/entity.module.mjs +38 -0
  24. package/esm2020/src/app/core/form/form.class.mjs +3 -3
  25. package/esm2020/src/app/core/form/form.module.mjs +66 -0
  26. package/esm2020/src/app/core/form/list/list.form.mjs +222 -0
  27. package/esm2020/src/app/core/form/list/list.module.mjs +35 -0
  28. package/esm2020/src/app/core/form/properties/properties.form.mjs +3 -3
  29. package/esm2020/src/app/core/form/properties/properties.module.mjs +35 -0
  30. package/esm2020/src/app/core/form/properties/property.validator.mjs +3 -3
  31. package/esm2020/src/app/core/form/properties/testing/properties-form.test.mjs +3 -3
  32. package/esm2020/src/app/core/form/properties/testing/properties-form.testing.module.mjs +4 -4
  33. package/esm2020/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.mjs +4 -4
  34. package/esm2020/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +45 -0
  35. package/esm2020/src/app/core/{text-popover → form/text-popover}/text-form.component.mjs +8 -8
  36. package/esm2020/src/app/core/{text-popover → form/text-popover}/text-popover.component.mjs +6 -6
  37. package/esm2020/src/app/core/form/text-popover/text-popover.module.mjs +40 -0
  38. package/esm2020/src/app/core/graphql/graphql.module.mjs +4 -4
  39. package/esm2020/src/app/core/graphql/graphql.service.mjs +3 -3
  40. package/esm2020/src/app/core/home/home.mjs +8 -8
  41. package/esm2020/src/app/core/home/home.module.mjs +48 -0
  42. package/esm2020/src/app/core/icon/icon.component.mjs +3 -3
  43. package/esm2020/src/app/core/icon/icon.module.mjs +4 -4
  44. package/esm2020/src/app/core/install/install-upgrade-card.component.mjs +3 -3
  45. package/esm2020/src/app/core/install/install-upgrade-card.module.mjs +17 -15
  46. package/esm2020/src/app/core/menu/menu.component.mjs +5 -5
  47. package/esm2020/src/app/core/menu/menu.module.mjs +9 -10
  48. package/esm2020/src/app/core/menu/menu.service.mjs +3 -3
  49. package/esm2020/src/app/core/offline/update-offline-mode-card.component.mjs +3 -3
  50. package/esm2020/src/app/core/offline/update-offline-mode-card.module.mjs +35 -0
  51. package/esm2020/src/app/core/peer/select-peer.modal.mjs +3 -3
  52. package/esm2020/src/app/core/peer/select-peer.module.mjs +14 -10
  53. package/esm2020/src/app/core/register/register-confirm.page.mjs +81 -0
  54. package/esm2020/src/app/core/register/register.form.mjs +181 -0
  55. package/esm2020/src/app/core/register/register.modal.mjs +52 -0
  56. package/esm2020/src/app/core/register/register.module.mjs +17 -15
  57. package/esm2020/src/app/core/services/account.service.mjs +3 -3
  58. package/esm2020/src/app/core/services/auth-guard.service.mjs +6 -6
  59. package/esm2020/src/app/core/services/base-entity-service.class.mjs +3 -3
  60. package/esm2020/src/app/core/services/base-graphql-service.class.mjs +3 -3
  61. package/esm2020/src/app/core/services/config.service.mjs +3 -3
  62. package/esm2020/src/app/core/services/crypto.service.mjs +3 -3
  63. package/esm2020/src/app/core/services/local-settings.service.mjs +3 -3
  64. package/esm2020/src/app/core/services/network.service.mjs +3 -3
  65. package/esm2020/src/app/core/services/pipes/account.pipes.mjs +8 -8
  66. package/esm2020/src/app/core/services/pipes/department-to-string.pipe.mjs +4 -4
  67. package/esm2020/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
  68. package/esm2020/src/app/core/services/pipes/usage-mode.pipes.mjs +8 -8
  69. package/esm2020/src/app/core/services/platform.service.mjs +3 -3
  70. package/esm2020/src/app/core/services/storage/entities-storage.service.mjs +3 -3
  71. package/esm2020/src/app/core/services/testing/referential.validator.mjs +3 -3
  72. package/esm2020/src/app/core/services/validator/account.validator.mjs +3 -3
  73. package/esm2020/src/app/core/services/validator/base.validator.class.mjs +3 -3
  74. package/esm2020/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  75. package/esm2020/src/app/core/services/validator/user-settings.validator.mjs +3 -3
  76. package/esm2020/src/app/core/settings/settings.module.mjs +34 -0
  77. package/esm2020/src/app/core/settings/settings.page.mjs +4 -4
  78. package/esm2020/src/app/core/table/actions-column.component.mjs +3 -3
  79. package/esm2020/src/app/core/table/entities-table-datasource.class.mjs +3 -3
  80. package/esm2020/src/app/core/table/memory-table.class.mjs +3 -3
  81. package/esm2020/src/app/core/table/table-select-columns.component.mjs +3 -3
  82. package/esm2020/src/app/core/table/table.class.mjs +3 -3
  83. package/esm2020/src/app/core/table/table.module.mjs +40 -0
  84. package/esm2020/src/app/core/table/testing/table.testing.mjs +6 -6
  85. package/esm2020/src/app/core/table/testing/table.testing.module.mjs +4 -4
  86. package/esm2020/src/app/shared/audio/audio.mjs +3 -3
  87. package/esm2020/src/app/shared/audio/audio.testing.mjs +3 -3
  88. package/esm2020/src/app/shared/audio/audio.testing.module.mjs +4 -4
  89. package/esm2020/src/app/shared/capacitor/keyboard.mjs +3 -3
  90. package/esm2020/src/app/shared/debug/debug.component.mjs +3 -3
  91. package/esm2020/src/app/shared/debug/debug.module.mjs +4 -4
  92. package/esm2020/src/app/shared/directives/autofocus.directive.mjs +3 -3
  93. package/esm2020/src/app/shared/directives/autotitle.directive.mjs +3 -3
  94. package/esm2020/src/app/shared/directives/directives.module.mjs +4 -4
  95. package/esm2020/src/app/shared/directives/drag-and-drop.directive.mjs +3 -3
  96. package/esm2020/src/app/shared/directives/ng-var.directive.mjs +3 -3
  97. package/esm2020/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  98. package/esm2020/src/app/shared/directives/resizable/resizable.directive.mjs +3 -3
  99. package/esm2020/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  100. package/esm2020/src/app/shared/file/file.service.mjs +3 -3
  101. package/esm2020/src/app/shared/form/field.component.mjs +3 -3
  102. package/esm2020/src/app/shared/form/loading-spinner.mjs +3 -3
  103. package/esm2020/src/app/shared/gesture/gesture-config.mjs +3 -3
  104. package/esm2020/src/app/shared/guard/component-dirty.guard.mjs +3 -3
  105. package/esm2020/src/app/shared/help/help.modal.mjs +3 -3
  106. package/esm2020/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +3 -3
  107. package/esm2020/src/app/shared/hotkeys/hotkeys.service.mjs +3 -3
  108. package/esm2020/src/app/shared/hotkeys/shared-hotkeys.module.mjs +4 -4
  109. package/esm2020/src/app/shared/image/gallery/image-gallery.component.mjs +3 -3
  110. package/esm2020/src/app/shared/image/gallery/image-gallery.module.mjs +4 -4
  111. package/esm2020/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +3 -3
  112. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.mjs +3 -3
  113. package/esm2020/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +4 -4
  114. package/esm2020/src/app/shared/image/image.module.mjs +4 -4
  115. package/esm2020/src/app/shared/image/image.service.mjs +3 -3
  116. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.mjs +3 -3
  117. package/esm2020/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +4 -4
  118. package/esm2020/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  119. package/esm2020/src/app/shared/material/badge/badge.directive.mjs +3 -3
  120. package/esm2020/src/app/shared/material/badge/badge.module.mjs +4 -4
  121. package/esm2020/src/app/shared/material/badge/badge.test.mjs +3 -3
  122. package/esm2020/src/app/shared/material/boolean/boolean.module.mjs +4 -4
  123. package/esm2020/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  124. package/esm2020/src/app/shared/material/chips/chips.module.mjs +4 -4
  125. package/esm2020/src/app/shared/material/chips/material.chips.mjs +3 -3
  126. package/esm2020/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  127. package/esm2020/src/app/shared/material/datetime/datetime.module.mjs +4 -4
  128. package/esm2020/src/app/shared/material/datetime/material.date.mjs +3 -3
  129. package/esm2020/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
  130. package/esm2020/src/app/shared/material/datetime/material.datetime.mjs +3 -3
  131. package/esm2020/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +3 -3
  132. package/esm2020/src/app/shared/material/datetime/testing/mat-date.test.mjs +3 -3
  133. package/esm2020/src/app/shared/material/duration/duration.module.mjs +4 -4
  134. package/esm2020/src/app/shared/material/duration/material.duration.mjs +3 -3
  135. package/esm2020/src/app/shared/material/latlong/material.latlong.mjs +3 -3
  136. package/esm2020/src/app/shared/material/latlong/material.latlong.module.mjs +4 -4
  137. package/esm2020/src/app/shared/material/latlong/testing/latlong.test.mjs +3 -3
  138. package/esm2020/src/app/shared/material/material.module.mjs +4 -4
  139. package/esm2020/src/app/shared/material/material.testing.module.mjs +4 -4
  140. package/esm2020/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +3 -3
  141. package/esm2020/src/app/shared/material/numpad/numpad.component.mjs +3 -3
  142. package/esm2020/src/app/shared/material/numpad/numpad.container.mjs +3 -3
  143. package/esm2020/src/app/shared/material/numpad/numpad.content.mjs +3 -3
  144. package/esm2020/src/app/shared/material/numpad/numpad.directive.mjs +3 -3
  145. package/esm2020/src/app/shared/material/numpad/numpad.dom-service.mjs +3 -3
  146. package/esm2020/src/app/shared/material/numpad/numpad.module.mjs +4 -4
  147. package/esm2020/src/app/shared/material/numpad/testing/numpad.test.mjs +3 -3
  148. package/esm2020/src/app/shared/material/paginator/material.paginator-i18n.mjs +3 -3
  149. package/esm2020/src/app/shared/material/stepper/material.stepper-i18n.mjs +3 -3
  150. package/esm2020/src/app/shared/material/swipe/material.swipe.mjs +3 -3
  151. package/esm2020/src/app/shared/material/swipe/swipe.module.mjs +4 -4
  152. package/esm2020/src/app/shared/material/swipe/testing/swipe.test.mjs +3 -3
  153. package/esm2020/src/app/shared/pipes/arrays.pipe.mjs +24 -24
  154. package/esm2020/src/app/shared/pipes/colors.pipe.mjs +3 -3
  155. package/esm2020/src/app/shared/pipes/date-diff-duration.pipe.mjs +4 -4
  156. package/esm2020/src/app/shared/pipes/date-format.pipe.mjs +4 -4
  157. package/esm2020/src/app/shared/pipes/date-from-now.pipe.mjs +4 -4
  158. package/esm2020/src/app/shared/pipes/duration.pipe.mjs +4 -4
  159. package/esm2020/src/app/shared/pipes/file-size.pipe.mjs +3 -3
  160. package/esm2020/src/app/shared/pipes/form.pipes.mjs +18 -18
  161. package/esm2020/src/app/shared/pipes/highlight.pipe.mjs +4 -4
  162. package/esm2020/src/app/shared/pipes/latlong-format.pipe.mjs +9 -9
  163. package/esm2020/src/app/shared/pipes/maps.pipe.mjs +12 -12
  164. package/esm2020/src/app/shared/pipes/math.pipes.mjs +12 -12
  165. package/esm2020/src/app/shared/pipes/ng-init.pipe.mjs +3 -3
  166. package/esm2020/src/app/shared/pipes/number-format.pipe.mjs +4 -4
  167. package/esm2020/src/app/shared/pipes/pipes.module.mjs +4 -4
  168. package/esm2020/src/app/shared/pipes/property.pipes.mjs +7 -7
  169. package/esm2020/src/app/shared/pipes/string.pipes.mjs +15 -15
  170. package/esm2020/src/app/shared/pipes/translate-context.pipe.mjs +8 -8
  171. package/esm2020/src/app/shared/services/memory-entity-service.class.mjs +3 -3
  172. package/esm2020/src/app/shared/services/progress-bar.service.mjs +3 -3
  173. package/esm2020/src/app/shared/services/storage/storage.service.mjs +3 -3
  174. package/esm2020/src/app/shared/services/translate-context.service.mjs +3 -3
  175. package/esm2020/src/app/shared/shared-routing.module.mjs +7 -7
  176. package/esm2020/src/app/shared/shared.module.mjs +9 -5
  177. package/esm2020/src/app/shared/shared.testing.module.mjs +4 -4
  178. package/esm2020/src/app/shared/testing/observable.test.mjs +3 -3
  179. package/esm2020/src/app/shared/testing/tests.page.mjs +3 -3
  180. package/esm2020/src/app/shared/toast/toast.testing.mjs +3 -3
  181. package/esm2020/src/app/shared/toast/toast.testing.module.mjs +4 -4
  182. package/esm2020/src/app/shared/toolbar/modal-toolbar.mjs +3 -3
  183. package/esm2020/src/app/shared/toolbar/toolbar.mjs +3 -3
  184. package/esm2020/src/app/shared/toolbar/toolbar.module.mjs +4 -4
  185. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.mjs +3 -3
  186. package/esm2020/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +4 -4
  187. package/esm2020/src/app/shared/upload-file/upload-file-popover.component.mjs +3 -3
  188. package/esm2020/src/app/shared/upload-file/upload-file.component.mjs +3 -3
  189. package/esm2020/src/app/shared/validator/form-error-adapter.class.mjs +3 -3
  190. package/esm2020/src/app/social/job/job.module.mjs +4 -4
  191. package/esm2020/src/app/social/job/job.service.mjs +3 -3
  192. package/esm2020/src/app/social/job/progression/job-progression.icon.mjs +3 -3
  193. package/esm2020/src/app/social/job/progression/job-progression.list.mjs +3 -3
  194. package/esm2020/src/app/social/job/testing/job-progression.testing.mjs +3 -3
  195. package/esm2020/src/app/social/job/testing/job-progression.testing.service.mjs +3 -3
  196. package/esm2020/src/app/social/job/testing/job.testing.module.mjs +4 -4
  197. package/esm2020/src/app/social/message/message.form.mjs +3 -3
  198. package/esm2020/src/app/social/message/message.modal.mjs +3 -3
  199. package/esm2020/src/app/social/message/message.module.mjs +4 -4
  200. package/esm2020/src/app/social/message/message.service.mjs +3 -3
  201. package/esm2020/src/app/social/social.module.mjs +4 -4
  202. package/esm2020/src/app/social/social.testing.module.mjs +4 -4
  203. package/esm2020/src/app/social/user-event/notification/user-event-notification.icon.mjs +3 -3
  204. package/esm2020/src/app/social/user-event/notification/user-event-notification.list.mjs +6 -6
  205. package/esm2020/src/app/social/user-event/testing/user-event.testing.mjs +3 -3
  206. package/esm2020/src/app/social/user-event/testing/user-event.testing.module.mjs +4 -4
  207. package/esm2020/src/app/social/user-event/testing/user-event.testing.service.mjs +3 -3
  208. package/esm2020/src/app/social/user-event/user-event.module.mjs +4 -4
  209. package/esm2020/src/app/social/user-event/user-event.service.mjs +3 -3
  210. package/esm2020/src/app/vendor.mjs +2 -1
  211. package/fesm2015/sumaris-net.ngx-components.mjs +3514 -3083
  212. package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
  213. package/fesm2020/sumaris-net.ngx-components.mjs +3426 -3003
  214. package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
  215. package/package.json +1 -1
  216. package/plugins/clovelced-plugin-audiomanagement/README.md +66 -0
  217. package/plugins/cordova-plugin-camera/README.md +703 -0
  218. package/plugins/cordova-plugin-device/README.md +309 -0
  219. package/plugins/cordova-plugin-file/README.md +848 -0
  220. package/plugins/cordova-plugin-file-transfer/README.md +598 -0
  221. package/plugins/cordova-plugin-file-transfer/doc/de/README.md +311 -0
  222. package/plugins/cordova-plugin-file-transfer/doc/es/README.md +311 -0
  223. package/plugins/cordova-plugin-file-transfer/doc/fr/README.md +270 -0
  224. package/plugins/cordova-plugin-file-transfer/doc/it/README.md +311 -0
  225. package/plugins/cordova-plugin-file-transfer/doc/ja/README.md +311 -0
  226. package/plugins/cordova-plugin-file-transfer/doc/ko/README.md +311 -0
  227. package/plugins/cordova-plugin-file-transfer/doc/pl/README.md +311 -0
  228. package/plugins/cordova-plugin-file-transfer/doc/zh/README.md +311 -0
  229. package/plugins/cordova-plugin-ionic-keyboard/README.md +220 -0
  230. package/plugins/cordova-plugin-ionic-webview/README.md +181 -0
  231. package/plugins/cordova-plugin-media-capture/README.md +626 -0
  232. package/plugins/cordova-plugin-splashscreen/README.md +387 -0
  233. package/plugins/cordova-plugin-statusbar/README.md +341 -0
  234. package/plugins/cordova-plugin-telerik-imagepicker/README.md +155 -0
  235. package/plugins/cordova-plugin-whitelist/README.md +185 -0
  236. package/plugins/cordova-sqlite-storage/README.md +1848 -0
  237. package/plugins/integrator-cordova-plugin-downloader/README.md +49 -0
  238. package/public_api.d.ts +33 -20
  239. package/src/app/admin/admin.module.d.ts +1 -1
  240. package/src/app/admin/users/{list/users.d.ts → users.d.ts} +11 -11
  241. package/src/app/admin/users/users.module.d.ts +13 -0
  242. package/src/app/core/about/{modal-about.d.ts → about.modal.d.ts} +1 -1
  243. package/src/app/core/about/about.module.d.ts +10 -0
  244. package/src/app/core/account/account.module.d.ts +11 -0
  245. package/src/app/core/account/{account.d.ts → account.page.d.ts} +5 -1
  246. package/src/app/core/auth/{form/form-auth.d.ts → auth.form.d.ts} +9 -9
  247. package/src/app/core/auth/{modal/modal-auth.d.ts → auth.modal.d.ts} +4 -4
  248. package/src/app/core/auth/auth.module.d.ts +11 -0
  249. package/src/app/core/core.module.d.ts +20 -29
  250. package/src/app/core/core.testing.module.d.ts +1 -1
  251. package/src/app/core/form/{form-buttons-bar.component.d.ts → buttons/form-buttons-bar.component.d.ts} +2 -2
  252. package/src/app/core/form/buttons/form-buttons-bar.module.d.ts +9 -0
  253. package/src/app/core/form/{editor.class.d.ts → entity/editor.class.d.ts} +9 -9
  254. package/src/app/core/form/{entity-editor-modal.class.d.ts → entity/entity-editor-modal.class.d.ts} +7 -7
  255. package/src/app/core/form/{entity-editor.class.d.ts → entity/entity-editor.class.d.ts} +10 -10
  256. package/src/app/core/form/{entity-metadata.component.d.ts → entity/entity-metadata.component.d.ts} +1 -1
  257. package/src/app/core/form/entity/entity.module.d.ts +10 -0
  258. package/src/app/core/form/form.module.d.ts +13 -0
  259. package/src/app/core/form/{list.form.d.ts → list/list.form.d.ts} +3 -3
  260. package/src/app/core/form/list/list.module.d.ts +9 -0
  261. package/src/app/core/form/properties/properties.module.d.ts +9 -0
  262. package/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.d.ts +0 -0
  263. package/src/app/core/{text-popover → form/text-popover}/testing/text-popover.testing.module.d.ts +0 -0
  264. package/src/app/core/{text-popover → form/text-popover}/text-form.component.d.ts +1 -1
  265. package/src/app/core/{text-popover → form/text-popover}/text-popover.component.d.ts +0 -0
  266. package/src/app/core/form/text-popover/text-popover.module.d.ts +10 -0
  267. package/src/app/core/home/home.module.d.ts +12 -0
  268. package/src/app/core/install/install-upgrade-card.module.d.ts +6 -7
  269. package/src/app/core/menu/menu.component.d.ts +1 -1
  270. package/src/app/core/offline/update-offline-mode-card.module.d.ts +9 -0
  271. package/src/app/core/peer/select-peer.module.d.ts +5 -4
  272. package/src/app/core/register/{confirm/confirm.d.ts → register-confirm.page.d.ts} +4 -4
  273. package/src/app/core/register/{form/form-register.d.ts → register.form.d.ts} +7 -7
  274. package/src/app/core/register/{modal/modal-register.d.ts → register.modal.d.ts} +2 -2
  275. package/src/app/core/register/register.module.d.ts +6 -6
  276. package/src/app/core/settings/settings.module.d.ts +10 -0
  277. package/src/app/core/table/table.module.d.ts +10 -0
  278. package/src/app/shared/shared.module.d.ts +2 -1
  279. package/src/app/vendor.d.ts +1 -0
  280. package/esm2020/src/app/admin/users/list/users.module.mjs +0 -58
  281. package/esm2020/src/app/core/about/modal-about.mjs +0 -71
  282. package/esm2020/src/app/core/account/account.mjs +0 -230
  283. package/esm2020/src/app/core/auth/form/form-auth.mjs +0 -131
  284. package/esm2020/src/app/core/auth/modal/modal-auth.mjs +0 -72
  285. package/esm2020/src/app/core/form/editor.class.mjs +0 -675
  286. package/esm2020/src/app/core/form/entity-editor-modal.class.mjs +0 -421
  287. package/esm2020/src/app/core/form/entity-editor.class.mjs +0 -646
  288. package/esm2020/src/app/core/form/list.form.mjs +0 -222
  289. package/esm2020/src/app/core/register/confirm/confirm.mjs +0 -81
  290. package/esm2020/src/app/core/register/form/form-register.mjs +0 -181
  291. package/esm2020/src/app/core/register/modal/modal-register.mjs +0 -52
  292. package/esm2020/src/app/core/text-popover/testing/text-popover.testing.module.mjs +0 -45
  293. package/src/app/admin/users/list/users.module.d.ts +0 -14
@@ -188,15 +188,15 @@ export class AppFormField {
188
188
  }
189
189
  }
190
190
  }
191
- AppFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppFormField, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i2.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
192
- AppFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: AppFormField, selector: "app-form-field", inputs: { definition: "definition", required: "required", readonly: "readonly", disabled: "disabled", formControl: "formControl", formControlName: "formControlName", placeholder: "placeholder", compact: "compact", floatLabel: "floatLabel", tabindex: "tabindex", autofocus: "autofocus", chipColor: "chipColor", classList: ["class", "classList"] }, outputs: { onKeyupEnter: "keyup.enter" }, providers: [
191
+ AppFormField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppFormField, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i2.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
192
+ AppFormField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AppFormField, selector: "app-form-field", inputs: { definition: "definition", required: "required", readonly: "readonly", disabled: "disabled", formControl: "formControl", formControlName: "formControlName", placeholder: "placeholder", compact: "compact", floatLabel: "floatLabel", tabindex: "tabindex", autofocus: "autofocus", chipColor: "chipColor", classList: ["class", "classList"] }, outputs: { onKeyupEnter: "keyup.enter" }, providers: [
193
193
  {
194
194
  provide: NG_VALUE_ACCESSOR,
195
195
  useExisting: forwardRef(() => AppFormField),
196
196
  multi: true
197
197
  }
198
198
  ], viewQueries: [{ propertyName: "matInput", first: true, predicate: ["matInput"], descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n\n <!-- integer -->\n <mat-form-field *ngSwitchCase=\"'integer'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <input matInput #matInput\n type=\"number\"\n autocomplete=\"off\"\n [readonly]=\"readonly\"\n [min]=\"definition.minValue\"\n [max]=\"definition.maxValue\"\n pattern=\"-?[0-9]*\"\n step=\"1\"\n [appAutofocus]=\"autofocus\"\n [placeholder]=\"placeholder\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keypress)=\"filterNumberInput($event, false)\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('min')\">\n {{(compact ? 'ERROR.FIELD_MIN_COMPACT' : 'ERROR.FIELD_MIN') | translate:formControl.errors['min'] }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('max')\">\n {{(compact ? 'ERROR.FIELD_MAX_COMPACT' : 'ERROR.FIELD_MAX') | translate:formControl.errors['max'] }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('pattern')\">\n {{'ERROR.FIELD_NOT_VALID_INTEGER'| translate }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('integer')\">\n {{'ERROR.FIELD_NOT_VALID_INTEGER'| translate }}</mat-error>\n\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- double -->\n <mat-form-field *ngSwitchCase=\"'double'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n\n <input matInput #matInput\n type=\"number\"\n decimal=\"true\"\n autocomplete=\"off\"\n [min]=\"definition.minValue\"\n [max]=\"definition.maxValue\"\n [appAutofocus]=\"autofocus\"\n [readonly]=\"readonly\"\n [placeholder]=\"placeholder\"\n [step]=\"numberInputStep\"\n (keypress)=\"filterNumberInput($event, true)\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('decimal')\" translate>ERROR.FIELD_NOT_VALID_DECIMAL</mat-error>\n <mat-error *ngIf=\"formControl.hasError('min')\">\n {{ (compact ? 'ERROR.FIELD_MIN_COMPACT' : 'ERROR.FIELD_MIN')| translate:formControl.errors['min'] }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('max')\">\n {{(compact ? 'ERROR.FIELD_MAX_COMPACT' : 'ERROR.FIELD_MAX') | translate:formControl.errors['max'] }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('maxDecimals')\">\n {{ (compact ? 'ERROR.FIELD_MAXIMUM_DECIMALS_COMPACT' : 'ERROR.FIELD_MAXIMUM_DECIMALS')| translate:{maxDecimals:\n definition.maximumNumberDecimals} }}</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- boolean -->\n <mat-boolean-field *ngSwitchCase=\"'boolean'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [readonly]=\"readonly\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-boolean-field>\n\n <!-- date -->\n <mat-date-field *ngSwitchCase=\"'date'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"compact ? ('COMMON.DATE_PLACEHOLDER'|translate): placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [autofocus]=\"autofocus\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-date-field>\n\n <!-- date time -->\n <mat-date-time-field *ngSwitchCase=\"'dateTime'\" #matInput\n [class]=\"classList\"\n [formControl]=\"formControl\"\n [placeholder]=\"compact ? ('COMMON.DATE_TIME_PLACEHOLDER'|translate): placeholder\"\n [floatLabel]=\"floatLabel\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [compact]=\"compact\"\n [tabindex]=\"tabindex\"\n [autofocus]=\"autofocus\">\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-date-time-field>\n\n <!-- enum -->\n <mat-form-field *ngSwitchCase=\"'enum'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <mat-select [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\">\n <mat-option *ngFor=\"let item of _values\" [value]=\"item.key\">{{ item.value | translate }}</mat-option>\n </mat-select>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- color -->\n <mat-form-field *ngSwitchCase=\"'color'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n\n <ion-icon margin-right name=\"color-fill\" matPrefix></ion-icon>\n\n <input matInput autocomplete=\"off\"\n [appAutofocus]=\"autofocus\"\n [formControl]=\"formControl\"\n [style.color]=\"getColorContrast(formControl.value)\"\n [style.background]=\"formControl.value\"\n [colorPicker]=\"formControl.value\"\n (colorPickerChange)=\"writeValue($event)\"\n [cpSaveClickOutside]=\"true\"\n cpPosition=\"top\"\n cpOutputFormat=\"hex\"\n [cpOKButton]=\"false\"\n [required]=\"required\"/>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- string -->\n <mat-form-field *ngSwitchCase=\"'string'\" [floatLabel]=\"floatLabel\" [class]=\"classList\">\n <input matInput #matInput\n autocomplete=\"off\"\n [appAutofocus]=\"autofocus\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [tabIndex]=\"tabindex\"\n (click)=\"selectInputContent($event)\"\n (keypress)=\"filterAlphanumericalInput($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\">\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </mat-form-field>\n\n <!-- auto-complete -->\n <mat-autocomplete-field *ngSwitchCase=\"'entity'\"\n [class]=\"classList\"\n [autofocus]=\"autofocus\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [formControl]=\"formControl\"\n [config]=\"definition.autocomplete\"\n [required]=\"required\"\n [displayWith]=\"getDisplayValueFn(definition)\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </mat-autocomplete-field>\n\n <!-- multi auto-complete -->\n <mat-chips-field *ngSwitchCase=\"'entities'\"\n [class]=\"classList\"\n [placeholder]=\"placeholder\"\n [floatLabel]=\"floatLabel\"\n [formControl]=\"formControl\"\n [config]=\"definition.autocomplete\"\n [required]=\"required\"\n [chipColor]=\"chipColor\"\n [displayWith]=\"getDisplayValueFn(definition)\">\n <ng-content select=\"[matPrefix]\"></ng-content>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </mat-chips-field>\n\n <!-- other -->\n <div *ngSwitchDefault>\n <mat-error *ngIf=\"type\">Unknown type {{type}} for option {{definition.key}}. Please report this error.</mat-error>\n <mat-error *ngIf=\"!type\">Error on option field. Please check console log for details.</mat-error>\n <div matSuffix>\n <ng-content select=\"[matSuffix]\"></ng-content>\n </div>\n </div>\n\n</ng-container>\n", styles: [":host{display:inline-block;position:relative}\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: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.ColorPickerDirective, selector: "[colorPicker]", inputs: ["colorPicker", "cpWidth", "cpHeight", "cpToggle", "cpDisabled", "cpIgnoredElements", "cpFallbackColor", "cpColorMode", "cpCmykEnabled", "cpOutputFormat", "cpAlphaChannel", "cpDisableInput", "cpDialogDisplay", "cpSaveClickOutside", "cpCloseClickOutside", "cpUseRootViewContainer", "cpPosition", "cpPositionOffset", "cpPositionRelativeToArrow", "cpOKButton", "cpOKButtonText", "cpOKButtonClass", "cpCancelButton", "cpCancelButtonText", "cpCancelButtonClass", "cpEyeDropper", "cpPresetLabel", "cpPresetColors", "cpPresetColorsClass", "cpMaxPresetColorsLength", "cpPresetEmptyMessage", "cpPresetEmptyMessageClass", "cpAddColorButton", "cpAddColorButtonText", "cpAddColorButtonClass", "cpRemoveColorButtonClass", "cpExtraTemplate"], outputs: ["cpInputChange", "cpToggleChange", "cpSliderChange", "cpSliderDragEnd", "cpSliderDragStart", "colorPickerOpen", "colorPickerClose", "colorPickerCancel", "colorPickerSelect", "colorPickerChange", "cpCmykColorChange", "cpPresetColorsChange"], exportAs: ["ngxColorPicker"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i10.MatAutocompleteField, selector: "mat-autocomplete-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "placeholder", "suggestFn", "required", "mobile", "clearable", "debounceTime", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "class", "panelWidth", "matAutocompletePosition", "multiple", "itemSize", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "debug", "showSearchBar", "stickySearchBar", "filter", "readonly", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "component", type: i11.MatDate, selector: "mat-date-field", inputs: ["mobile", "formControl", "formControlName", "placeholder", "floatLabel", "appearance", "required", "compact", "placeholderChar", "autofocus", "startDate", "clearable", "timezone", "datePickerFilter", "readonly", "tabindex"] }, { kind: "component", type: i12.MatDateTime, selector: "mat-date-time-field", inputs: ["formControl", "formControlName", "placeholder", "floatLabel", "appearance", "required", "mobile", "compact", "placeholderChar", "autofocus", "startDate", "clearable", "datePickerFilter", "readonly", "tabindex"] }, { kind: "component", type: i13.MatBooleanField, selector: "mat-boolean-field", inputs: ["disabled", "formControl", "formControlName", "placeholder", "floatLabel", "appearance", "readonly", "required", "compact", "style", "buttonsColCount", "class", "yesLabel", "noLabel", "showButtonIcons", "yesIcon", "noIcon", "tabindex", "value"], outputs: ["keyup.enter", "onBlur"] }, { kind: "component", type: i14.MatChipsField, selector: "mat-chips-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "appearance", "placeholder", "suggestFn", "required", "mobile", "readonly", "clearable", "debounceTime", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "autofocus", "config", "i18nPrefix", "noResultMessage", "class", "panelWidth", "matAutocompletePosition", "itemSize", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "chipColor", "debug", "filter", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keyup.enter"] }, { kind: "directive", type: i15.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppFormField, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppFormField, decorators: [{
200
200
  type: Component,
201
201
  args: [{ selector: 'app-form-field', providers: [
202
202
  {
@@ -8,14 +8,14 @@ export class AppLoadingSpinner {
8
8
  this.color = 'secondary';
9
9
  }
10
10
  }
11
- AppLoadingSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppLoadingSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- AppLoadingSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: AppLoadingSpinner, selector: "app-loading-spinner", inputs: { loading: "loading", color: "color", name: "name" }, ngImport: i0, template: `
11
+ AppLoadingSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppLoadingSpinner, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ AppLoadingSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AppLoadingSpinner, selector: "app-loading-spinner", inputs: { loading: "loading", color: "color", name: "name" }, ngImport: i0, template: `
13
13
  <ion-spinner *ngIf="loading; else content" [color]="color" [name]="name"></ion-spinner>
14
14
  <ng-template #content>
15
15
  <ng-content></ng-content>
16
16
  </ng-template>
17
17
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppLoadingSpinner, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppLoadingSpinner, decorators: [{
19
19
  type: Component,
20
20
  args: [{
21
21
  selector: 'app-loading-spinner',
@@ -40,9 +40,9 @@ export class AppGestureConfig extends HammerGestureConfig {
40
40
  return mc;
41
41
  }
42
42
  }
43
- AppGestureConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppGestureConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44
- AppGestureConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppGestureConfig, providedIn: 'root' });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppGestureConfig, decorators: [{
43
+ AppGestureConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppGestureConfig, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
44
+ AppGestureConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppGestureConfig, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppGestureConfig, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{ providedIn: 'root' }]
48
48
  }] });
@@ -49,9 +49,9 @@ export class ComponentDirtyGuard {
49
49
  return false;
50
50
  }
51
51
  }
52
- ComponentDirtyGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ComponentDirtyGuard, deps: [{ token: i1.TranslateService }, { token: i2.AlertController }], target: i0.ɵɵFactoryTarget.Injectable });
53
- ComponentDirtyGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ComponentDirtyGuard });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ComponentDirtyGuard, decorators: [{
52
+ ComponentDirtyGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ComponentDirtyGuard, deps: [{ token: i1.TranslateService }, { token: i2.AlertController }], target: i0.ɵɵFactoryTarget.Injectable });
53
+ ComponentDirtyGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ComponentDirtyGuard });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ComponentDirtyGuard, decorators: [{
55
55
  type: Injectable
56
56
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.AlertController }]; } });
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWRpcnR5Lmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvZ3VhcmQvY29tcG9uZW50LWRpcnR5Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJekMsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7OztBQVVqQyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ1ksU0FBMkIsRUFDM0IsU0FBMEI7UUFEMUIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFKOUIsVUFBSyxHQUFHLEtBQUssQ0FBQztJQU10QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFtQixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjtRQUcvSSxNQUFNLEtBQUssR0FBRyxTQUFTLEVBQUUsS0FBSyxDQUFDO1FBQy9CLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDL0IsSUFBSSxHQUFHLEdBQUc7WUFDUixTQUFTLEVBQUUsQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELEtBQUssWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsSUFBSSxLQUFLLEVBQUU7WUFDVCxtQkFBbUI7WUFDbkIsR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7U0FDakY7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFekUsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQ2pCLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDWixJQUFJLElBQUksQ0FBQyxLQUFLO29CQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ1YsSUFBSSxJQUFJLENBQUMsS0FBSzt3QkFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7b0JBQzlFLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSztvQkFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBQ3pELElBQUksS0FBSztvQkFDUCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDdEI7WUFFRCxtQkFBbUI7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELG9CQUFvQjtRQUNwQixPQUFPLEtBQUssQ0FBQztJQUVmLENBQUM7O2dIQXBEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0FsZXJ0Q29udHJvbGxlcn0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHtBbGVydHN9IGZyb20gJy4uL2FsZXJ0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FuTGVhdmUge1xuICBkaXJ0eTogYm9vbGVhbjtcbiAgdmFsaWQ6IGJvb2xlYW47XG4gIHNhdmUoZXZlbnQ/OiBFdmVudCwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8Ym9vbGVhbj47XG4gIGNhbmNlbChldmVudD86IEV2ZW50KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudERpcnR5R3VhcmQgaW1wbGVtZW50cyBDYW5EZWFjdGl2YXRlPENhbkxlYXZlPiB7XG5cbiAgcHJpdmF0ZSBkZWJ1ZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFsZXJ0Q3RybDogQWxlcnRDb250cm9sbGVyLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGNhbkRlYWN0aXZhdGUoY29tcG9uZW50OiBDYW5MZWF2ZSwgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyZW50U3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QsIG5leHRTdGF0ZT86IFJvdXRlclN0YXRlU25hcHNob3QpOlxuICAgIFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcblxuICAgIGNvbnN0IGRpcnR5ID0gY29tcG9uZW50Py5kaXJ0eTtcbiAgICBjb25zdCB2YWxpZCA9IGNvbXBvbmVudD8udmFsaWQ7XG4gICAgbGV0IGNhbiA9IHtcbiAgICAgIGNvbmZpcm1lZDogIWRpcnR5LFxuICAgICAgc2F2ZTogZmFsc2UsXG4gICAgfTtcblxuICAgIGlmICh0aGlzLmRlYnVnKSB7XG4gICAgICBjb25zb2xlLmRlYnVnKGBbZGlydHktZ3VhcmRdIGNhbkRlYWN0aXZhdGUgY29tcG9uZW50IGRpcnR5OiAke2RpcnR5fSwgdmFsaWQ6ICR7dmFsaWR9YCk7XG4gICAgfVxuXG4gICAgaWYgKGRpcnR5KSB7XG4gICAgICAvLyBBc2sgY29uZmlybWF0aW9uXG4gICAgICBjYW4gPSBhd2FpdCBBbGVydHMuYXNrU2F2ZUJlZm9yZUFjdGlvbih0aGlzLmFsZXJ0Q3RybCwgdGhpcy50cmFuc2xhdGUsIHt2YWxpZH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGBbZGlydHktZ3VhcmRdIGNvbmZpcm06ICR7Y2FuLmNvbmZpcm1lZH1gKTtcblxuICAgIGlmIChjYW4uY29uZmlybWVkKSB7XG4gICAgICBpZiAoY2FuLnNhdmUpIHtcbiAgICAgICAgaWYgKHRoaXMuZGVidWcpIGNvbnNvbGUuZGVidWcoYFtkaXJ0eS1ndWFyZF0gZG8gc2F2ZWApO1xuICAgICAgICBjb25zdCBzYXZlZCA9IGF3YWl0IGNvbXBvbmVudC5zYXZlKCk7XG4gICAgICAgIGlmICghc2F2ZWQpIHtcbiAgICAgICAgICBpZiAodGhpcy5kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2RpcnR5LWd1YXJkXSBzYXZlIGZhaWxlZCwgY2FuY2VsIGRlYWN0aXZhdGVgKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmRlYnVnKSBjb25zb2xlLmRlYnVnKGBbZGlydHktZ3VhcmRdIGRvIGNhbmNlbGApO1xuICAgICAgICBpZiAoZGlydHkpXG4gICAgICAgICAgY29tcG9uZW50LmNhbmNlbCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBBbGxvdyBkZWFjdGl2YXRlXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBDYW5jZWwgZGVhY3RpdmF0ZVxuICAgIHJldHVybiBmYWxzZTtcblxuICB9XG5cblxufVxuIl19
@@ -36,9 +36,9 @@ export class AppHelpModal {
36
36
  this.cd.markForCheck();
37
37
  }
38
38
  }
39
- AppHelpModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppHelpModal, deps: [{ token: i0.Injector }, { token: i1.ModalController }, { token: i2.PlatformService }, { token: i3.LocalSettingsService }, { token: i4.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
40
- AppHelpModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: AppHelpModal, selector: "app-help-modal", inputs: { title: "title", showError: "showError", markdownContent: "markdownContent", markdownUrl: "markdownUrl" }, ngImport: i0, template: "<app-modal-toolbar color=\"light\"\n [title]=\"title|translate\"\n (cancel)=\"close($event)\"\n [showSpinner]=\"loading\">\n</app-modal-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <!-- error -->\n <ion-item *ngIf=\"error && showError\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <markdown *ngIf=\"markdownContent; else useDocUrl\"\n [data]=\"markdownContent\"\n (ready)=\"markAsLoaded()\"\n emoji>\n </markdown>\n\n <ng-template #useDocUrl>\n <markdown *ngIf=\"markdownUrl\"\n [src]=\"markdownUrl\"\n (load)=\"markAsLoaded()\"\n (error)=\"onLoadError($event)\"\n emoji></markdown>\n </ng-template>\n\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{'COMMON.BTN_CLOSE'|translate}}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n\n\n", dependencies: [{ kind: "directive", type: i5.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.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i6.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "component", type: i7.ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppHelpModal, decorators: [{
39
+ AppHelpModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppHelpModal, deps: [{ token: i0.Injector }, { token: i1.ModalController }, { token: i2.PlatformService }, { token: i3.LocalSettingsService }, { token: i4.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
40
+ AppHelpModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AppHelpModal, selector: "app-help-modal", inputs: { title: "title", showError: "showError", markdownContent: "markdownContent", markdownUrl: "markdownUrl" }, ngImport: i0, template: "<app-modal-toolbar color=\"light\"\n [title]=\"title|translate\"\n (cancel)=\"close($event)\"\n [showSpinner]=\"loading\">\n</app-modal-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <!-- error -->\n <ion-item *ngIf=\"error && showError\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <markdown *ngIf=\"markdownContent; else useDocUrl\"\n [data]=\"markdownContent\"\n (ready)=\"markAsLoaded()\"\n emoji>\n </markdown>\n\n <ng-template #useDocUrl>\n <markdown *ngIf=\"markdownUrl\"\n [src]=\"markdownUrl\"\n (load)=\"markAsLoaded()\"\n (error)=\"onLoadError($event)\"\n emoji></markdown>\n </ng-template>\n\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{'COMMON.BTN_CLOSE'|translate}}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n\n\n", dependencies: [{ kind: "directive", type: i5.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.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i6.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "component", type: i7.ModalToolbarComponent, selector: "app-modal-toolbar", inputs: ["modalName", "title", "color", "showSpinner", "canValidate", "validateIcon"], outputs: ["cancel", "validate"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppHelpModal, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'app-help-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-modal-toolbar color=\"light\"\n [title]=\"title|translate\"\n (cancel)=\"close($event)\"\n [showSpinner]=\"loading\">\n</app-modal-toolbar>\n\n<ion-content class=\"ion-padding\">\n\n <!-- error -->\n <ion-item *ngIf=\"error && showError\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <markdown *ngIf=\"markdownContent; else useDocUrl\"\n [data]=\"markdownContent\"\n (ready)=\"markAsLoaded()\"\n emoji>\n </markdown>\n\n <ng-template #useDocUrl>\n <markdown *ngIf=\"markdownUrl\"\n [src]=\"markdownUrl\"\n (load)=\"markAsLoaded()\"\n (error)=\"onLoadError($event)\"\n emoji></markdown>\n </ng-template>\n\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{'COMMON.BTN_CLOSE'|translate}}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n\n\n" }]
44
44
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.ModalController }, { type: i2.PlatformService }, { type: i3.LocalSettingsService }, { type: i4.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
@@ -11,9 +11,9 @@ export class HotkeysDialogComponent {
11
11
  ngOnInit() {
12
12
  }
13
13
  }
14
- HotkeysDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: HotkeysDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
15
- HotkeysDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: HotkeysDialogComponent, selector: "ng-component", ngImport: i0, template: "<table>\n <tbody>\n <tr *ngFor=\"let keys of hotkeys\">\n <td>{{ keys[1] | translate }}</td>\n\n <td class=\"text-right\">\n <kbd>{{ keys[0] }}</kbd>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host table{border-collapse:collapse;width:100%;margin-bottom:1rem;color:#212529}:host th{font-weight:500;text-align:left;vertical-align:bottom;padding:.75rem;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}:host td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6;padding-left:0}:host kbd{margin-right:6px;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px #c6cbd1;color:#444d56;display:inline-block;font-size:12px;line-height:10px;padding:3px 5px;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: HotkeysDialogComponent, decorators: [{
14
+ HotkeysDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: HotkeysDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
15
+ HotkeysDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: HotkeysDialogComponent, selector: "ng-component", ngImport: i0, template: "<table>\n <tbody>\n <tr *ngFor=\"let keys of hotkeys\">\n <td>{{ keys[1] | translate }}</td>\n\n <td class=\"text-right\">\n <kbd>{{ keys[0] }}</kbd>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host table{border-collapse:collapse;width:100%;margin-bottom:1rem;color:#212529}:host th{font-weight:500;text-align:left;vertical-align:bottom;padding:.75rem;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}:host td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6;padding-left:0}:host kbd{margin-right:6px;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px #c6cbd1;color:#444d56;display:inline-block;font-size:12px;line-height:10px;padding:3px 5px;vertical-align:middle}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: HotkeysDialogComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ template: "<table>\n <tbody>\n <tr *ngFor=\"let keys of hotkeys\">\n <td>{{ keys[1] | translate }}</td>\n\n <td class=\"text-right\">\n <kbd>{{ keys[0] }}</kbd>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host table{border-collapse:collapse;width:100%;margin-bottom:1rem;color:#212529}:host th{font-weight:500;text-align:left;vertical-align:bottom;padding:.75rem;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}:host td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6;padding-left:0}:host kbd{margin-right:6px;background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px #c6cbd1;color:#444d56;display:inline-block;font-size:12px;line-height:10px;padding:3px 5px;vertical-align:middle}\n"] }]
19
19
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -70,9 +70,9 @@ export class Hotkeys {
70
70
  });
71
71
  }
72
72
  }
73
- Hotkeys.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: Hotkeys, deps: [{ token: i1.EventManager }, { token: i2.MatDialog }, { token: DOCUMENT }, { token: i3.ModalController }, { token: i3.PopoverController }], target: i0.ɵɵFactoryTarget.Injectable });
74
- Hotkeys.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: Hotkeys, providedIn: 'root' });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: Hotkeys, decorators: [{
73
+ Hotkeys.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: Hotkeys, deps: [{ token: i1.EventManager }, { token: i2.MatDialog }, { token: DOCUMENT }, { token: i3.ModalController }, { token: i3.PopoverController }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ Hotkeys.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: Hotkeys, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: Hotkeys, decorators: [{
76
76
  type: Injectable,
77
77
  args: [{
78
78
  providedIn: 'root'
@@ -9,17 +9,17 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngx-translate/core";
10
10
  export class SharedHotkeysModule {
11
11
  }
12
- SharedHotkeysModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedHotkeysModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- SharedHotkeysModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: SharedHotkeysModule, declarations: [HotkeysDialogComponent], imports: [CommonModule,
12
+ SharedHotkeysModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedHotkeysModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ SharedHotkeysModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: SharedHotkeysModule, declarations: [HotkeysDialogComponent], imports: [CommonModule,
14
14
  MatCommonModule,
15
15
  MatDialogModule, i1.TranslateModule], exports: [HotkeysDialogComponent] });
16
- SharedHotkeysModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedHotkeysModule, providers: [
16
+ SharedHotkeysModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedHotkeysModule, providers: [
17
17
  Hotkeys
18
18
  ], imports: [CommonModule,
19
19
  MatCommonModule,
20
20
  MatDialogModule,
21
21
  TranslateModule.forChild()] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: SharedHotkeysModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: SharedHotkeysModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [
@@ -243,9 +243,9 @@ export class AppImageGalleryComponent {
243
243
  }
244
244
  }
245
245
  }
246
- AppImageGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppImageGalleryComponent, deps: [{ token: i1.ImageService }, { token: i2.Platform }, { token: i2.AlertController }, { token: i3.TranslateService }, { token: i0.ChangeDetectorRef }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
247
- AppImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: AppImageGalleryComponent, selector: "app-image-gallery", inputs: { debug: "debug", readOnly: "readOnly", disabled: "disabled", showToolbar: "showToolbar", mobile: "mobile", mode: "mode", confirmBeforeDelete: "confirmBeforeDelete", dataSource: "dataSource" }, viewQueries: [{ propertyName: "slides", first: true, predicate: ["slides"], descendants: true }, { propertyName: "zoomModal", first: true, predicate: ["zoomModal"], descendants: true }], ngImport: i0, template: "\n\n<ion-toolbar color=\"light\" *ngIf=\"showToolbar\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"!readOnly && !mobile && enabled\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"add()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <ion-buttons slot=\"end\">\n <!-- Toggle view mode -->\n <ion-segment (ionChange)=\"toggleViewMode($event)\" color=\"accent\"\n [value]=\"_colSize\">\n <ion-segment-button value=\"mosaic\">\n <mat-icon>view_module</mat-icon>\n </ion-segment-button>\n <ion-segment-button value=\"list\">\n <mat-icon>view_list</mat-icon>\n </ion-segment-button>\n </ion-segment>\n </ion-buttons>\n</ion-toolbar>\n\n<ion-content>\n <div *ngIf=\"mobile && zoomActive\" class=\"backdrop\" [style.opacity]=\"zoomScale\"></div>\n\n <ion-grid>\n <ion-row>\n <ion-col *ngFor=\"let row of rows; index as index\" [size]=\"_colSize\">\n <ion-card #card class=\"image-card\" (click)=\"clickRow(row, index)\"\n tappable\n @fadeInAnimation>\n <ng-container *ngIf=\"row|propertyGet: 'currentData'; let image\">\n <ion-slides #slides class=\"image-slide\" [options]=\"sliderOpts\" >\n <ion-slide>\n <div class=\"swiper-zoom-container\"\n (touchstart)=\"touchStart(card)\"\n (touchend)=\"touchEnd(card)\">\n <img [src]=\"image.url||image.dataUrl\">\n </div>\n </ion-slide>\n </ion-slides>\n\n <!-- title -->\n <ion-item lines=\"none\" color=\"light\" *ngIf=\"image.title || (!mobile && !readOnly)\">\n <ion-label *ngIf=\"image.title\">{{image.title}}</ion-label>\n <button mat-icon-button *ngIf=\"!readOnly\" slot=\"end\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n [disabled]=\"disabled\"\n (click)=\"delete($event, row)\">\n <mat-icon>delete</mat-icon>\n </button>\n </ion-item>\n </ng-container>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ion-content>\n\n<!-- FAB button: add -->\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"!readOnly && mobile\"\n [class.cdk-visually-hidden]=\"disabled\"\n @fadeInOutAnimation>\n\n <ion-fab-button color=\"tertiary\" (click)=\"add($event)\">\n <ion-icon name=\"camera\"></ion-icon>\n <ion-icon name=\"add\" class=\"icon-secondary\" style=\"left: 33px; top: 9px; font-size: 20px;\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n\n<!-- Zoom modal -->\n<ion-modal #zoomModal class=\"stack-modal zoom-modal\">\n <ng-template>\n <ion-content>\n <!-- zoom button -->\n <div class=\"top-buttons\" *ngIf=\"!mobile\">\n <ion-button (click)=\"zoom(modalSlides, true)\" color=\"light\">\n <ion-icon slot=\"icon-only\" name=\"add\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"zoom(modalSlides, false)\" color=\"light\">\n <ion-icon name=\"remove\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </div>\n <!-- navigation side buttons next/back -->\n <ng-container *ngIf=\"!mobile && (rows|isArrayLength:{greaterThan: 1})\">\n <div class=\"side-buttons prev\"\n (click)=\"slidePrev(modalSlides)\">\n <ion-icon name=\"chevron-back\"></ion-icon>\n </div>\n <div class=\"side-buttons next\"\n (click)=\"slideNext(modalSlides)\">\n <ion-icon name=\"chevron-forward\"></ion-icon>\n </div>\n </ng-container>\n <ion-slides #modalSlides [options]=\"modalSliderOpts\" >\n <ion-slide *ngFor=\"let row of rows; last as last\">\n <div class=\"swiper-zoom-container\" *ngIf=\"row|propertyGet: 'currentData'; let image\"\n (ngInit)=\"last && initModalSlides(modalSlides)\">\n <img [src]=\"image.url||image.dataUrl\">\n </div>\n </ion-slide>\n </ion-slides>\n </ion-content>\n\n <ion-footer>\n <ion-toolbar color=\"light\">\n <ion-row>\n <ion-col size=\"4\" class=\"ion-text-start\">\n <ion-button (click)=\"deleteFromModal($event, modalSlides)\" fill=\"clear\" color=\"danger\">\n <mat-icon slot=\"start\">delete</mat-icon>\n {{'COMMON.BTN_DELETE'|translate}}\n </ion-button>\n </ion-col>\n <ion-col size=\"4\">\n </ion-col>\n <ion-col size=\"4\" class=\"ion-text-end\">\n <ion-button (click)=\"zoomModal.dismiss()\" color=\"tertiary\" fill=\"clear\" *ngIf=\"mobile; else desktop\">\n <ion-icon slot=\"start\" name=\"close\"></ion-icon>\n {{'COMMON.BTN_CLOSE'|translate}}\n </ion-button>\n <ng-template #desktop>\n <ion-button (click)=\"zoomModal.dismiss()\" color=\"tertiary\">\n {{'COMMON.BTN_CLOSE'|translate}}\n </ion-button>\n </ng-template>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n", styles: ["mat-toolbar,.mat-toolbar-single-row{padding:0;height:42px}.image-slide,.image-card{overflow:visible}.image-card{z-index:9}.backdrop{height:100vh;width:100vw;background:black;position:absolute;z-index:10}.zoom-modal{-webkit-user-select:none;user-select:none}.zoom-modal .top-buttons{z-index:14;position:absolute;display:inline-grid;right:var(--ion-padding-start, 8px);top:var(--ion-padding-start, 8px)}.zoom-modal .side-buttons{--side-buttons-width: 120px;--side-buttons-margin: calc(var(--side-buttons-width) / 3);z-index:13;position:absolute;top:0;bottom:0;width:var(--side-buttons-width)}.zoom-modal .side-buttons ion-icon{top:50%;color:#fff;font-size:2.5rem;position:absolute;opacity:0;transition-duration:.15s;transition-timing-function:ease-in}.zoom-modal .side-buttons:hover{cursor:pointer}.zoom-modal .side-buttons:hover ion-icon{opacity:1}.zoom-modal .side-buttons.prev{left:0}.zoom-modal .side-buttons.prev ion-icon{left:var(--side-buttons-margin)}.zoom-modal .side-buttons.next{right:0}.zoom-modal .side-buttons.next ion-icon{right:var(--side-buttons-margin)}.zoom-modal ion-slides{height:100%;background:black}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.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: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: i2.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.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: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: i2.IonSegmentButton, selector: "ion-segment-button", inputs: ["disabled", "layout", "mode", "type", "value"] }, { kind: "component", type: i2.IonSlide, selector: "ion-slide" }, { kind: "component", type: i2.IonSlides, selector: "ion-slides", inputs: ["mode", "options", "pager", "scrollbar"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "swipeToClose", "translucent", "trigger"] }, { kind: "directive", type: i2.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.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: i7.NgInitDirective, selector: "[ngInit]", outputs: ["ngInit"] }, { kind: "pipe", type: i8.PropertyGetPipe, name: "propertyGet" }, { kind: "pipe", type: i9.ArrayLengthPipe, name: "isArrayLength" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [fadeInAnimation, fadeInOutAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: AppImageGalleryComponent, decorators: [{
246
+ AppImageGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppImageGalleryComponent, deps: [{ token: i1.ImageService }, { token: i2.Platform }, { token: i2.AlertController }, { token: i3.TranslateService }, { token: i0.ChangeDetectorRef }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
247
+ AppImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: AppImageGalleryComponent, selector: "app-image-gallery", inputs: { debug: "debug", readOnly: "readOnly", disabled: "disabled", showToolbar: "showToolbar", mobile: "mobile", mode: "mode", confirmBeforeDelete: "confirmBeforeDelete", dataSource: "dataSource" }, viewQueries: [{ propertyName: "slides", first: true, predicate: ["slides"], descendants: true }, { propertyName: "zoomModal", first: true, predicate: ["zoomModal"], descendants: true }], ngImport: i0, template: "\n\n<ion-toolbar color=\"light\" *ngIf=\"showToolbar\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"!readOnly && !mobile && enabled\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"add()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <ion-buttons slot=\"end\">\n <!-- Toggle view mode -->\n <ion-segment (ionChange)=\"toggleViewMode($event)\" color=\"accent\"\n [value]=\"_colSize\">\n <ion-segment-button value=\"mosaic\">\n <mat-icon>view_module</mat-icon>\n </ion-segment-button>\n <ion-segment-button value=\"list\">\n <mat-icon>view_list</mat-icon>\n </ion-segment-button>\n </ion-segment>\n </ion-buttons>\n</ion-toolbar>\n\n<ion-content>\n <div *ngIf=\"mobile && zoomActive\" class=\"backdrop\" [style.opacity]=\"zoomScale\"></div>\n\n <ion-grid>\n <ion-row>\n <ion-col *ngFor=\"let row of rows; index as index\" [size]=\"_colSize\">\n <ion-card #card class=\"image-card\" (click)=\"clickRow(row, index)\"\n tappable\n @fadeInAnimation>\n <ng-container *ngIf=\"row|propertyGet: 'currentData'; let image\">\n <ion-slides #slides class=\"image-slide\" [options]=\"sliderOpts\" >\n <ion-slide>\n <div class=\"swiper-zoom-container\"\n (touchstart)=\"touchStart(card)\"\n (touchend)=\"touchEnd(card)\">\n <img [src]=\"image.url||image.dataUrl\">\n </div>\n </ion-slide>\n </ion-slides>\n\n <!-- title -->\n <ion-item lines=\"none\" color=\"light\" *ngIf=\"image.title || (!mobile && !readOnly)\">\n <ion-label *ngIf=\"image.title\">{{image.title}}</ion-label>\n <button mat-icon-button *ngIf=\"!readOnly\" slot=\"end\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n [disabled]=\"disabled\"\n (click)=\"delete($event, row)\">\n <mat-icon>delete</mat-icon>\n </button>\n </ion-item>\n </ng-container>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ion-content>\n\n<!-- FAB button: add -->\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"!readOnly && mobile\"\n [class.cdk-visually-hidden]=\"disabled\"\n @fadeInOutAnimation>\n\n <ion-fab-button color=\"tertiary\" (click)=\"add($event)\">\n <ion-icon name=\"camera\"></ion-icon>\n <ion-icon name=\"add\" class=\"icon-secondary\" style=\"left: 33px; top: 9px; font-size: 20px;\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n\n<!-- Zoom modal -->\n<ion-modal #zoomModal class=\"stack-modal zoom-modal\">\n <ng-template>\n <ion-content>\n <!-- zoom button -->\n <div class=\"top-buttons\" *ngIf=\"!mobile\">\n <ion-button (click)=\"zoom(modalSlides, true)\" color=\"light\">\n <ion-icon slot=\"icon-only\" name=\"add\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"zoom(modalSlides, false)\" color=\"light\">\n <ion-icon name=\"remove\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </div>\n <!-- navigation side buttons next/back -->\n <ng-container *ngIf=\"!mobile && (rows|isArrayLength:{greaterThan: 1})\">\n <div class=\"side-buttons prev\"\n (click)=\"slidePrev(modalSlides)\">\n <ion-icon name=\"chevron-back\"></ion-icon>\n </div>\n <div class=\"side-buttons next\"\n (click)=\"slideNext(modalSlides)\">\n <ion-icon name=\"chevron-forward\"></ion-icon>\n </div>\n </ng-container>\n <ion-slides #modalSlides [options]=\"modalSliderOpts\" >\n <ion-slide *ngFor=\"let row of rows; last as last\">\n <div class=\"swiper-zoom-container\" *ngIf=\"row|propertyGet: 'currentData'; let image\"\n (ngInit)=\"last && initModalSlides(modalSlides)\">\n <img [src]=\"image.url||image.dataUrl\">\n </div>\n </ion-slide>\n </ion-slides>\n </ion-content>\n\n <ion-footer>\n <ion-toolbar color=\"light\">\n <ion-row>\n <ion-col size=\"4\" class=\"ion-text-start\">\n <ion-button (click)=\"deleteFromModal($event, modalSlides)\" fill=\"clear\" color=\"danger\">\n <mat-icon slot=\"start\">delete</mat-icon>\n {{'COMMON.BTN_DELETE'|translate}}\n </ion-button>\n </ion-col>\n <ion-col size=\"4\">\n </ion-col>\n <ion-col size=\"4\" class=\"ion-text-end\">\n <ion-button (click)=\"zoomModal.dismiss()\" color=\"tertiary\" fill=\"clear\" *ngIf=\"mobile; else desktop\">\n <ion-icon slot=\"start\" name=\"close\"></ion-icon>\n {{'COMMON.BTN_CLOSE'|translate}}\n </ion-button>\n <ng-template #desktop>\n <ion-button (click)=\"zoomModal.dismiss()\" color=\"tertiary\">\n {{'COMMON.BTN_CLOSE'|translate}}\n </ion-button>\n </ng-template>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n", styles: ["mat-toolbar,.mat-toolbar-single-row{padding:0;height:42px}.image-slide,.image-card{overflow:visible}.image-card{z-index:9}.backdrop{height:100vh;width:100vw;background:black;position:absolute;z-index:10}.zoom-modal{-webkit-user-select:none;user-select:none}.zoom-modal .top-buttons{z-index:14;position:absolute;display:inline-grid;right:var(--ion-padding-start, 8px);top:var(--ion-padding-start, 8px)}.zoom-modal .side-buttons{--side-buttons-width: 120px;--side-buttons-margin: calc(var(--side-buttons-width) / 3);z-index:13;position:absolute;top:0;bottom:0;width:var(--side-buttons-width)}.zoom-modal .side-buttons ion-icon{top:50%;color:#fff;font-size:2.5rem;position:absolute;opacity:0;transition-duration:.15s;transition-timing-function:ease-in}.zoom-modal .side-buttons:hover{cursor:pointer}.zoom-modal .side-buttons:hover ion-icon{opacity:1}.zoom-modal .side-buttons.prev{left:0}.zoom-modal .side-buttons.prev ion-icon{left:var(--side-buttons-margin)}.zoom-modal .side-buttons.next{right:0}.zoom-modal .side-buttons.next ion-icon{right:var(--side-buttons-margin)}.zoom-modal ion-slides{height:100%;background:black}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.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: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: i2.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.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: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: i2.IonSegmentButton, selector: "ion-segment-button", inputs: ["disabled", "layout", "mode", "type", "value"] }, { kind: "component", type: i2.IonSlide, selector: "ion-slide" }, { kind: "component", type: i2.IonSlides, selector: "ion-slides", inputs: ["mode", "options", "pager", "scrollbar"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "swipeToClose", "translucent", "trigger"] }, { kind: "directive", type: i2.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.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: i7.NgInitDirective, selector: "[ngInit]", outputs: ["ngInit"] }, { kind: "pipe", type: i8.PropertyGetPipe, name: "propertyGet" }, { kind: "pipe", type: i9.ArrayLengthPipe, name: "isArrayLength" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: [fadeInAnimation, fadeInOutAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: AppImageGalleryComponent, decorators: [{
249
249
  type: Component,
250
250
  args: [{ selector: 'app-image-gallery', animations: [fadeInAnimation, fadeInOutAnimation], changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n<ion-toolbar color=\"light\" *ngIf=\"showToolbar\">\n <!-- Add -->\n <button mat-icon-button\n *ngIf=\"!readOnly && !mobile && enabled\"\n [title]=\"'COMMON.BTN_ADD'|translate\"\n (click)=\"add()\">\n <mat-icon>add</mat-icon>\n </button>\n\n <ion-buttons slot=\"end\">\n <!-- Toggle view mode -->\n <ion-segment (ionChange)=\"toggleViewMode($event)\" color=\"accent\"\n [value]=\"_colSize\">\n <ion-segment-button value=\"mosaic\">\n <mat-icon>view_module</mat-icon>\n </ion-segment-button>\n <ion-segment-button value=\"list\">\n <mat-icon>view_list</mat-icon>\n </ion-segment-button>\n </ion-segment>\n </ion-buttons>\n</ion-toolbar>\n\n<ion-content>\n <div *ngIf=\"mobile && zoomActive\" class=\"backdrop\" [style.opacity]=\"zoomScale\"></div>\n\n <ion-grid>\n <ion-row>\n <ion-col *ngFor=\"let row of rows; index as index\" [size]=\"_colSize\">\n <ion-card #card class=\"image-card\" (click)=\"clickRow(row, index)\"\n tappable\n @fadeInAnimation>\n <ng-container *ngIf=\"row|propertyGet: 'currentData'; let image\">\n <ion-slides #slides class=\"image-slide\" [options]=\"sliderOpts\" >\n <ion-slide>\n <div class=\"swiper-zoom-container\"\n (touchstart)=\"touchStart(card)\"\n (touchend)=\"touchEnd(card)\">\n <img [src]=\"image.url||image.dataUrl\">\n </div>\n </ion-slide>\n </ion-slides>\n\n <!-- title -->\n <ion-item lines=\"none\" color=\"light\" *ngIf=\"image.title || (!mobile && !readOnly)\">\n <ion-label *ngIf=\"image.title\">{{image.title}}</ion-label>\n <button mat-icon-button *ngIf=\"!readOnly\" slot=\"end\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n [disabled]=\"disabled\"\n (click)=\"delete($event, row)\">\n <mat-icon>delete</mat-icon>\n </button>\n </ion-item>\n </ng-container>\n </ion-card>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n</ion-content>\n\n<!-- FAB button: add -->\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\"\n *ngIf=\"!readOnly && mobile\"\n [class.cdk-visually-hidden]=\"disabled\"\n @fadeInOutAnimation>\n\n <ion-fab-button color=\"tertiary\" (click)=\"add($event)\">\n <ion-icon name=\"camera\"></ion-icon>\n <ion-icon name=\"add\" class=\"icon-secondary\" style=\"left: 33px; top: 9px; font-size: 20px;\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n\n<!-- Zoom modal -->\n<ion-modal #zoomModal class=\"stack-modal zoom-modal\">\n <ng-template>\n <ion-content>\n <!-- zoom button -->\n <div class=\"top-buttons\" *ngIf=\"!mobile\">\n <ion-button (click)=\"zoom(modalSlides, true)\" color=\"light\">\n <ion-icon slot=\"icon-only\" name=\"add\"></ion-icon>\n </ion-button>\n <ion-button (click)=\"zoom(modalSlides, false)\" color=\"light\">\n <ion-icon name=\"remove\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </div>\n <!-- navigation side buttons next/back -->\n <ng-container *ngIf=\"!mobile && (rows|isArrayLength:{greaterThan: 1})\">\n <div class=\"side-buttons prev\"\n (click)=\"slidePrev(modalSlides)\">\n <ion-icon name=\"chevron-back\"></ion-icon>\n </div>\n <div class=\"side-buttons next\"\n (click)=\"slideNext(modalSlides)\">\n <ion-icon name=\"chevron-forward\"></ion-icon>\n </div>\n </ng-container>\n <ion-slides #modalSlides [options]=\"modalSliderOpts\" >\n <ion-slide *ngFor=\"let row of rows; last as last\">\n <div class=\"swiper-zoom-container\" *ngIf=\"row|propertyGet: 'currentData'; let image\"\n (ngInit)=\"last && initModalSlides(modalSlides)\">\n <img [src]=\"image.url||image.dataUrl\">\n </div>\n </ion-slide>\n </ion-slides>\n </ion-content>\n\n <ion-footer>\n <ion-toolbar color=\"light\">\n <ion-row>\n <ion-col size=\"4\" class=\"ion-text-start\">\n <ion-button (click)=\"deleteFromModal($event, modalSlides)\" fill=\"clear\" color=\"danger\">\n <mat-icon slot=\"start\">delete</mat-icon>\n {{'COMMON.BTN_DELETE'|translate}}\n </ion-button>\n </ion-col>\n <ion-col size=\"4\">\n </ion-col>\n <ion-col size=\"4\" class=\"ion-text-end\">\n <ion-button (click)=\"zoomModal.dismiss()\" color=\"tertiary\" fill=\"clear\" *ngIf=\"mobile; else desktop\">\n <ion-icon slot=\"start\" name=\"close\"></ion-icon>\n {{'COMMON.BTN_CLOSE'|translate}}\n </ion-button>\n <ng-template #desktop>\n <ion-button (click)=\"zoomModal.dismiss()\" color=\"tertiary\">\n {{'COMMON.BTN_CLOSE'|translate}}\n </ion-button>\n </ng-template>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n </ion-footer>\n </ng-template>\n</ion-modal>\n", styles: ["mat-toolbar,.mat-toolbar-single-row{padding:0;height:42px}.image-slide,.image-card{overflow:visible}.image-card{z-index:9}.backdrop{height:100vh;width:100vw;background:black;position:absolute;z-index:10}.zoom-modal{-webkit-user-select:none;user-select:none}.zoom-modal .top-buttons{z-index:14;position:absolute;display:inline-grid;right:var(--ion-padding-start, 8px);top:var(--ion-padding-start, 8px)}.zoom-modal .side-buttons{--side-buttons-width: 120px;--side-buttons-margin: calc(var(--side-buttons-width) / 3);z-index:13;position:absolute;top:0;bottom:0;width:var(--side-buttons-width)}.zoom-modal .side-buttons ion-icon{top:50%;color:#fff;font-size:2.5rem;position:absolute;opacity:0;transition-duration:.15s;transition-timing-function:ease-in}.zoom-modal .side-buttons:hover{cursor:pointer}.zoom-modal .side-buttons:hover ion-icon{opacity:1}.zoom-modal .side-buttons.prev{left:0}.zoom-modal .side-buttons.prev ion-icon{left:var(--side-buttons-margin)}.zoom-modal .side-buttons.next{right:0}.zoom-modal .side-buttons.next ion-icon{right:var(--side-buttons-margin)}.zoom-modal ion-slides{height:100%;background:black}\n"] }]
251
251
  }], ctorParameters: function () { return [{ type: i1.ImageService }, { type: i2.Platform }, { type: i2.AlertController }, { type: i3.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i10.Environment, decorators: [{
@@ -9,8 +9,8 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngx-translate/core";
10
10
  export class ImageGalleryModule {
11
11
  }
12
- ImageGalleryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- ImageGalleryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryModule, declarations: [
12
+ ImageGalleryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ ImageGalleryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryModule, declarations: [
14
14
  // Components
15
15
  AppImageGalleryComponent], imports: [CommonModule,
16
16
  IonicModule,
@@ -18,12 +18,12 @@ ImageGalleryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
18
18
  SharedPipesModule, i1.TranslateModule], exports: [
19
19
  // Components
20
20
  AppImageGalleryComponent] });
21
- ImageGalleryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryModule, imports: [CommonModule,
21
+ ImageGalleryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryModule, imports: [CommonModule,
22
22
  IonicModule,
23
23
  SharedMaterialModule,
24
24
  SharedPipesModule,
25
25
  TranslateModule.forChild()] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  imports: [
@@ -81,9 +81,9 @@ export class ImageAttachmentService extends StartableService {
81
81
  return ImageAttachmentFilter.fromObject(filter);
82
82
  }
83
83
  }
84
- ImageAttachmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageAttachmentService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
85
- ImageAttachmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageAttachmentService });
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageAttachmentService, decorators: [{
84
+ ImageAttachmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageAttachmentService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
85
+ ImageAttachmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageAttachmentService });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageAttachmentService, decorators: [{
87
87
  type: Injectable
88
88
  }], ctorParameters: function () { return [{ type: i1.Platform }]; } });
89
89
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS5zZXJ2aWNlLnRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NoYXJlZC9pbWFnZS9nYWxsZXJ5L3Rlc3RpbmcvZ2FsbGVyeS5zZXJ2aWNlLnRlc3RpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFHM0UsT0FBTyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUU5RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sOENBQThDLENBQUM7OztBQUcxRSxXQUFXO0FBRVgsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZ0IsU0FBUSxNQUF1QjtJQUE1RDs7UUFJRSxZQUFPLEdBQVcsSUFBSSxDQUFDO1FBQ3ZCLFFBQUcsR0FBVyxJQUFJLENBQUM7UUFDbkIsVUFBSyxHQUFXLElBQUksQ0FBQztJQVF2QixDQUFDO0lBTkMsVUFBVSxDQUFDLE1BQVcsRUFBRSxJQUFVO1FBQ2hDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7Q0FDRixDQUFBO0FBZFksZUFBZTtJQUQzQixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztHQUNsQyxlQUFlLENBYzNCO1NBZFksZUFBZTtBQWdCNUIsV0FBVztBQUVYLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXNCLFNBQVEsWUFBb0Q7Q0FJOUYsQ0FBQTtBQUpZLHFCQUFxQjtJQURqQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztHQUN4QyxxQkFBcUIsQ0FJakM7U0FKWSxxQkFBcUI7QUFPbEMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQVExRCxZQUFzQixRQUFrQjtRQUV0QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFGSSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTHhDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBNkI7WUFDeEQsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxrREFBa0QsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDO1lBQ2pGLEVBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsa0RBQWtELEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQztTQUNsRixDQUFDLENBQUM7UUFLRCxPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFNBQVM7UUFDakIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxNQUFlLEVBQUUsYUFBNkIsRUFBRSxNQUE4QixFQUFFLElBQW9EO1FBQ3pLLE9BQU8sQ0FBQyxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWCxJQUFJLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTFELElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFFckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsSUFBSSxDQUFDLE1BQU0sWUFBWSxDQUFDLENBQUM7WUFFM0UsT0FBTyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUEyQixFQUFFLElBQVU7UUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV6QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0YsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2hCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ3JCLEdBQUcsUUFBUTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQTJCLEVBQUUsSUFBVTtRQUNyRCxNQUFNLFVBQVUsR0FBRyxDQUFDLFFBQVEsSUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU8scUJBQXFCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7O21IQXpEVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTb3J0RGlyZWN0aW9ufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1N0YXJ0YWJsZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3N0YXJ0YWJsZS1zZXJ2aWNlLmNsYXNzJztcbmltcG9ydCB7RW50aXRpZXNTZXJ2aWNlV2F0Y2hPcHRpb25zLCBJRW50aXRpZXNTZXJ2aWNlLCBMb2FkUmVzdWx0fSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge2lzTmlsLCBpc05vdE5pbH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7RW50aXR5LCBFbnRpdHlVdGlsc30gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHtFbnRpdHlDbGFzc30gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9lbnRpdHkuZGVjb3JhdG9ycyc7XG5pbXBvcnQge0ltYWdlfSBmcm9tICcuLi8uLi9pbWFnZS5tb2RlbCc7XG5pbXBvcnQge0VudGl0eUZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9maWx0ZXIubW9kZWwnO1xuXG5cbi8vIEBkeW5hbWljXG5ARW50aXR5Q2xhc3MoeyB0eXBlbmFtZTogJ0ltYWdlQXR0YWNobWVudFZPJyB9KVxuZXhwb3J0IGNsYXNzIEltYWdlQXR0YWNobWVudCBleHRlbmRzIEVudGl0eTxJbWFnZUF0dGFjaG1lbnQ+IGltcGxlbWVudHMgSW1hZ2Uge1xuXG4gIHN0YXRpYyBmcm9tT2JqZWN0OiAoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpID0+IEltYWdlQXR0YWNobWVudDtcblxuICBkYXRhVXJsOiBzdHJpbmcgPSBudWxsO1xuICB1cmw6IHN0cmluZyA9IG51bGw7XG4gIHRpdGxlOiBzdHJpbmcgPSBudWxsO1xuXG4gIGZyb21PYmplY3Qoc291cmNlOiBhbnksIG9wdHM/OiBhbnkpIHtcbiAgICBzdXBlci5mcm9tT2JqZWN0KHNvdXJjZSwgb3B0cyk7XG4gICAgdGhpcy51cmwgPSBzb3VyY2UudXJsO1xuICAgIHRoaXMuZGF0YVVybCA9IHNvdXJjZS5kYXRhVXJsO1xuICAgIHRoaXMudGl0bGUgPSBzb3VyY2UudGl0bGU7XG4gIH1cbn1cblxuLy8gQGR5bmFtaWNcbkBFbnRpdHlDbGFzcyh7IHR5cGVuYW1lOiAnSW1hZ2VBdHRhY2htZW50RmlsdGVyVk8nIH0pXG5leHBvcnQgY2xhc3MgSW1hZ2VBdHRhY2htZW50RmlsdGVyIGV4dGVuZHMgRW50aXR5RmlsdGVyPEltYWdlQXR0YWNobWVudEZpbHRlciwgSW1hZ2VBdHRhY2htZW50PiB7XG5cbiAgc3RhdGljIGZyb21PYmplY3Q6IChzb3VyY2U6IGFueSwgb3B0cz86IGFueSkgPT4gSW1hZ2VBdHRhY2htZW50RmlsdGVyO1xuXG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbWFnZUF0dGFjaG1lbnRTZXJ2aWNlIGV4dGVuZHMgU3RhcnRhYmxlU2VydmljZVxuICBpbXBsZW1lbnRzIElFbnRpdGllc1NlcnZpY2U8SW1hZ2VBdHRhY2htZW50LCBJbWFnZUF0dGFjaG1lbnRGaWx0ZXI+IHtcblxuICAkaW1hZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJ0aWFsPEltYWdlQXR0YWNobWVudD5bXT4oW1xuICAgIHtpZDogMCwgdXJsOiAnaHR0cHM6Ly90ZXN0LnN1bWFyaXMubmV0L2Fzc2V0cy9pbWcvYmcvcmF5LTEuanBnJywgdGl0bGU6ICdyYXkgIzEnfSxcbiAgICB7aWQ6IDEsIHVybDogJ2h0dHBzOi8vdGVzdC5zdW1hcmlzLm5ldC9hc3NldHMvaW1nL2JnL3JheS0yLmpwZycsIHRpdGxlOiAncmF5ICMyJ31cbiAgXSk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHBsYXRmb3JtOiBQbGF0Zm9ybVxuICApIHtcbiAgICBzdXBlcihwbGF0Zm9ybSk7XG4gICAgY29uc29sZS5kZWJ1ZygnW2dhbGxlcnktdGVzdGluZy1zZXJ2aWNlXSBDcmVhdGUgc2VydmljZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5nT25TdGFydCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHdhdGNoQWxsKG9mZnNldDogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sIGZpbHRlcj86IEltYWdlQXR0YWNobWVudEZpbHRlciwgb3B0cz86IEVudGl0aWVzU2VydmljZVdhdGNoT3B0aW9ucyAmIHsgcXVlcnk/OiBhbnkgfSk6IE9ic2VydmFibGU8TG9hZFJlc3VsdDxJbWFnZUF0dGFjaG1lbnQ+PiB7XG4gICAgY29uc29sZS5kZWJ1ZygnW2dhbGxlcnktdGVzdGluZy1zZXJ2aWNlXSBXYXRjaGluZyBpbWFnZXMuLi4nKTtcbiAgICByZXR1cm4gdGhpcy4kaW1hZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGltYWdlcyA9PiB7XG4gICAgICAgICAgbGV0IGRhdGEgPSAoaW1hZ2VzIHx8IFtdKS5tYXAoSW1hZ2VBdHRhY2htZW50LmZyb21PYmplY3QpO1xuXG4gICAgICAgICAgZGF0YSA9IEVudGl0eVV0aWxzLnNvcnQoZGF0YSwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uKTtcblxuICAgICAgICAgIGNvbnNvbGUuZGVidWcoYFtnYWxsZXJ5LXRlc3Rpbmctc2VydmljZV0gTG9hZGVkICR7ZGF0YS5sZW5ndGh9IGltYWdlcy4uLmApO1xuXG4gICAgICAgICAgcmV0dXJuIHtkYXRhLCB0b3RhbDogZGF0YS5sZW5ndGh9O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmVBbGwoZW50aXRpZXM6IEltYWdlQXR0YWNobWVudFtdLCBvcHRzPzogYW55KTogUHJvbWlzZTxhbnlbXT4ge1xuICAgIGNvbnNvbGUuZGVidWcoJ1tnYWxsZXJ5LXNlcnZpY2UtdGVzdGluZ10gU2F2aW5nIGltYWdlcy4uLicgKyBKU09OLnN0cmluZ2lmeShlbnRpdGllcykpO1xuICAgIGlmICghZW50aXRpZXMpIHJldHVybiBbXTtcblxuICAgIGxldCBjdXJyZW50SWQgPSB0aGlzLiRpbWFnZXMudmFsdWUucmVkdWNlKChyZXMsIGltYWdlKSA9PiBNYXRoLm1heChyZXMsICtpbWFnZT8uaWQgfHwgMCksIDApO1xuICAgIGVudGl0aWVzLmZpbHRlcihpdGVtID0+IGlzTmlsKGl0ZW0uaWQpKVxuICAgICAgLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0uaWQgPSArK2N1cnJlbnRJZDtcbiAgICB9KTtcbiAgICB0aGlzLiRpbWFnZXMubmV4dChbXG4gICAgICAuLi50aGlzLiRpbWFnZXMudmFsdWUsXG4gICAgICAuLi5lbnRpdGllc1xuICAgIF0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlQWxsKGVudGl0aWVzOiBJbWFnZUF0dGFjaG1lbnRbXSwgb3B0cz86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZGVsZXRlZElkcyA9IChlbnRpdGllc3x8W10pLm1hcChpdGVtID0+IGl0ZW0uaWQpLmZpbHRlcihpc05vdE5pbCk7XG4gICAgY29uc3QgZmlsdGVyZWREYXRhID0gKHRoaXMuJGltYWdlcy52YWx1ZSkuZmlsdGVyKGl0ZW0gPT4gIWRlbGV0ZWRJZHMuaW5jbHVkZXMoaXRlbS5pZCkpO1xuICAgIHRoaXMuJGltYWdlcy5uZXh0KGZpbHRlcmVkRGF0YSk7XG4gIH1cblxuICBhc0ZpbHRlcihmaWx0ZXI6IGFueSkge1xuICAgIHJldHVybiBJbWFnZUF0dGFjaG1lbnRGaWx0ZXIuZnJvbU9iamVjdChmaWx0ZXIpO1xuICB9XG59XG4iXX0=
@@ -20,11 +20,11 @@ export class GalleryTestPage {
20
20
  this._subscription.unsubscribe();
21
21
  }
22
22
  }
23
- GalleryTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: GalleryTestPage, deps: [{ token: i1.ImageAttachmentService }], target: i0.ɵɵFactoryTarget.Component });
24
- GalleryTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: GalleryTestPage, selector: "app-gallery-test-page", providers: [
23
+ GalleryTestPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: GalleryTestPage, deps: [{ token: i1.ImageAttachmentService }], target: i0.ɵɵFactoryTarget.Component });
24
+ GalleryTestPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: GalleryTestPage, selector: "app-gallery-test-page", providers: [
25
25
  { provide: ImageAttachmentService, useClass: ImageAttachmentService }
26
26
  ], ngImport: i0, template: "<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>Image gallery</ion-title>\n </ion-toolbar>\n</ion-header>\n\n<ion-content>\n <app-image-gallery [dataSource]=\"dataSource\">\n </app-image-gallery>\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonBackButton, selector: "ion-back-button", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { 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.IonBackButtonDelegate, selector: "ion-back-button", inputs: ["defaultHref", "routerAnimation"] }, { kind: "component", type: i3.AppImageGalleryComponent, selector: "app-image-gallery", inputs: ["debug", "readOnly", "disabled", "showToolbar", "mobile", "mode", "confirmBeforeDelete", "dataSource"] }] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: GalleryTestPage, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: GalleryTestPage, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'app-gallery-test-page', providers: [
30
30
  { provide: ImageAttachmentService, useClass: ImageAttachmentService }
@@ -17,21 +17,21 @@ const routes = [
17
17
  ];
18
18
  export class ImageGalleryTestingModule {
19
19
  }
20
- ImageGalleryTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- ImageGalleryTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryTestingModule, declarations: [
20
+ ImageGalleryTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ ImageGalleryTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryTestingModule, declarations: [
22
22
  // Components
23
23
  GalleryTestPage], imports: [CommonModule,
24
24
  IonicModule,
25
25
  ImageGalleryModule, i1.TranslateModule, i2.RouterModule, i1.TranslateModule], exports: [RouterModule,
26
26
  // Components
27
27
  GalleryTestPage] });
28
- ImageGalleryTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryTestingModule, imports: [CommonModule,
28
+ ImageGalleryTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryTestingModule, imports: [CommonModule,
29
29
  IonicModule,
30
30
  ImageGalleryModule,
31
31
  TranslateModule.forChild(),
32
32
  RouterModule.forChild(routes),
33
33
  TranslateModule.forChild(), RouterModule] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageGalleryTestingModule, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageGalleryTestingModule, decorators: [{
35
35
  type: NgModule,
36
36
  args: [{
37
37
  imports: [
@@ -4,16 +4,16 @@ import { ImageGalleryModule } from './gallery/image-gallery.module';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ImageModule {
6
6
  }
7
- ImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- ImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.5", ngImport: i0, type: ImageModule, imports: [CommonModule,
7
+ ImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ ImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ImageModule, imports: [CommonModule,
9
9
  ImageGalleryModule], exports: [
10
10
  // Sub module
11
11
  ImageGalleryModule] });
12
- ImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageModule, imports: [CommonModule,
12
+ ImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageModule, imports: [CommonModule,
13
13
  ImageGalleryModule,
14
14
  // Sub module
15
15
  ImageGalleryModule] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [
@@ -85,9 +85,9 @@ export class ImageService extends StartableService {
85
85
  .map(dataUrl => ({ dataUrl }));
86
86
  }
87
87
  }
88
- ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageService, deps: [{ token: i1.PlatformService }, { token: i2.LocalSettingsService }, { token: i3.TranslateService }, { token: i4.PopoverController }, { token: i4.ActionSheetController }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
89
- ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageService, providedIn: 'root' });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ImageService, decorators: [{
88
+ ImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageService, deps: [{ token: i1.PlatformService }, { token: i2.LocalSettingsService }, { token: i3.TranslateService }, { token: i4.PopoverController }, { token: i4.ActionSheetController }, { token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
89
+ ImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageService, providedIn: 'root' });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ImageService, decorators: [{
91
91
  type: Injectable,
92
92
  args: [{ providedIn: 'root' }]
93
93
  }], ctorParameters: function () { return [{ type: i1.PlatformService }, { type: i2.LocalSettingsService }, { type: i3.TranslateService }, { type: i4.PopoverController }, { type: i4.ActionSheetController }, { type: i5.Environment, decorators: [{
@@ -706,13 +706,13 @@ export class MatAutocompleteField {
706
706
  }
707
707
  }
708
708
  }
709
- MatAutocompleteField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MatAutocompleteField, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
710
- MatAutocompleteField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: MatAutocompleteField, selector: "mat-autocomplete-field", inputs: { equals: "equals", logPrefix: "logPrefix", formControl: "formControl", formControlName: "formControlName", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", suggestFn: "suggestFn", required: "required", mobile: "mobile", clearable: "clearable", debounceTime: "debounceTime", displayWith: "displayWith", displayAttributes: "displayAttributes", displayColumnSizes: "displayColumnSizes", displayColumnNames: "displayColumnNames", highlightAccent: "highlightAccent", showAllOnFocus: "showAllOnFocus", showPanelOnFocus: "showPanelOnFocus", autofocus: "autofocus", config: "config", i18nPrefix: "i18nPrefix", noResultMessage: "noResultMessage", classList: ["class", "classList"], panelWidth: "panelWidth", matAutocompletePosition: "matAutocompletePosition", multiple: "multiple", itemSize: "itemSize", fetchMoreThreshold: "fetchMoreThreshold", suggestLengthThreshold: "suggestLengthThreshold", showLoadingSpinner: "showLoadingSpinner", debug: "debug", showSearchBar: "showSearchBar", stickySearchBar: "stickySearchBar", filter: "filter", readonly: "readonly", tabindex: "tabindex", items: "items" }, outputs: { clicked: "click", blurred: "blur", focused: "focus", dropButtonClick: "dropButtonClick", keydownEscape: "keydown.escape", keyupEnter: "keyup.enter" }, providers: [{
709
+ MatAutocompleteField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: MatAutocompleteField, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FormGroupDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
710
+ MatAutocompleteField.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: MatAutocompleteField, selector: "mat-autocomplete-field", inputs: { equals: "equals", logPrefix: "logPrefix", formControl: "formControl", formControlName: "formControlName", floatLabel: "floatLabel", appearance: "appearance", placeholder: "placeholder", suggestFn: "suggestFn", required: "required", mobile: "mobile", clearable: "clearable", debounceTime: "debounceTime", displayWith: "displayWith", displayAttributes: "displayAttributes", displayColumnSizes: "displayColumnSizes", displayColumnNames: "displayColumnNames", highlightAccent: "highlightAccent", showAllOnFocus: "showAllOnFocus", showPanelOnFocus: "showPanelOnFocus", autofocus: "autofocus", config: "config", i18nPrefix: "i18nPrefix", noResultMessage: "noResultMessage", classList: ["class", "classList"], panelWidth: "panelWidth", matAutocompletePosition: "matAutocompletePosition", multiple: "multiple", itemSize: "itemSize", fetchMoreThreshold: "fetchMoreThreshold", suggestLengthThreshold: "suggestLengthThreshold", showLoadingSpinner: "showLoadingSpinner", debug: "debug", showSearchBar: "showSearchBar", stickySearchBar: "stickySearchBar", filter: "filter", readonly: "readonly", tabindex: "tabindex", items: "items" }, outputs: { clicked: "click", blurred: "blur", focused: "focus", dropButtonClick: "dropButtonClick", keydownEscape: "keydown.escape", keyupEnter: "keyup.enter" }, providers: [{
711
711
  provide: NG_VALUE_ACCESSOR,
712
712
  multi: true,
713
713
  useExisting: forwardRef(() => MatAutocompleteField)
714
714
  }], viewQueries: [{ propertyName: "matSelect", first: true, predicate: ["matSelect"], descendants: true }, { propertyName: "ionSearchbar", first: true, predicate: ["ionSearchbar"], descendants: true }, { propertyName: "matInputText", first: true, predicate: ["matInputText"], descendants: true }, { propertyName: "autocomplete", first: true, predicate: MatAutocomplete, descendants: true }, { propertyName: "autocompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], ngImport: i0, template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <!-- readonly -->\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [title]=\"displayValue\"\n class=\"mat-form-field-disabled\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput hidden type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\" >\n <ion-text>{{displayWith(value)}}</ion-text>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Mobile or Multiple (use <mat-select>) -->\n <mat-select #matSelect\n *ngIf=\"mobile || multiple; else desktopTemplate\"\n [disableRipple]=\"true\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n [compareWith]=\"equals\"\n [multiple]=\"multiple\"\n [typeaheadDebounceInterval]=\"debounceTime * 10\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- Search bar -->\n <mat-option class=\"mat-select-searchbar\" *ngIf=\"showSearchBar\"\n [class.mat-select-searchbar-sticky]=\"stickySearchBar\"\n disabled>\n <ion-searchbar #ionSearchbar\n inputmode=\"search\"\n autocomplete=\"off\"\n animated=\"true\"\n showClearButton=\"true\"\n [debounce]=\"debounceTime\"\n (ionClear)=\"markAsLoading()\"\n (ionInput)=\"markAsLoading()\"\n (ionChange)=\"ionSearchBarChanged($event)\"\n [placeholder]=\"'COMMON.BTN_SEARCH'|translate\"\n ></ion-searchbar>\n </mat-option>\n\n <!-- Headers -->\n <ion-row class=\"mat-select-header column ion-no-padding\"\n [class.multiple]=\"multiple\"\n [class.mat-select-searchbar-sticky]=\"showSearchBar && stickySearchBar\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required && !multiple && !clearable\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async as items; else loadingTemplate\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label><i>{{noResultMessage | translate}}</i></ion-label>\n </mat-option>\n\n <!-- Options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- footer -->\n <mat-option *ngIf=\"itemCount as count\" class=\"mat-option-footer mat-autocomplete-footer ion-no-padding\" disabled>\n <ion-text class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </mat-option>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(displayValue | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #desktopTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"clicked.emit($event)\"\n (focus)=\"filterInputTextFocusEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"keydownEscape.emit($event)\"\n (keyup.enter)=\"keyupEnter.emit($event)\"\n (keyup.arrowDown)=\"!autocomplete.showPanel && dropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [panelWidth]=\"panelWidth\">\n <!-- Headers -->\n <ion-row class=\"mat-autocomplete-header column ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- Options -->\n <ng-container *ngIf=\"$filteredItems | async as items; else loadingTemplate\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label><i>{{noResultMessage | translate}}</i></ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\"\n [title]=\"text.innerText\">\n <ion-text><span #text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></span></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(displayValue | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n\n <!-- footer -->\n <ion-row *ngIf=\"itemCount; let count\" class=\"mat-autocomplete-footer ion-no-padding\">\n <ion-col>\n <ion-text class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ng-template>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n</ion-grid>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"!mobile && !multiple\"\n (click)=\"dropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n\n<ng-template #headers>\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n</ng-template>\n\n", styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:#00000078;font-size:150%}\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: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.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: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonRow, selector: "ion-row" }, { kind: "component", type: i3.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: i3.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i3.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i3.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgInitDirective, selector: "[ngInit]", outputs: ["ngInit"] }, { kind: "directive", type: i5.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i8.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i8.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.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: "component", type: i12.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i12.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "directive", type: i13.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.PropertyGetPipe, name: "propertyGet" }, { kind: "pipe", type: i15.HighlightPipe, name: "highlight" }, { kind: "pipe", type: i16.EmptyArrayPipe, name: "isEmptyArray" }, { kind: "pipe", type: i17.StrLengthPipe, name: "strLength" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }], animations: [slideInOutAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MatAutocompleteField, decorators: [{
715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: MatAutocompleteField, decorators: [{
716
716
  type: Component,
717
717
  args: [{ selector: 'mat-autocomplete-field', providers: [{
718
718
  provide: NG_VALUE_ACCESSOR,