@sumaris-net/ngx-components 18.23.58 → 18.23.59

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/esm2022/src/app/admin/admin-routing.module.mjs +4 -4
  2. package/esm2022/src/app/admin/admin.module.mjs +4 -4
  3. package/esm2022/src/app/admin/users/person.service.mjs +6 -6
  4. package/esm2022/src/app/admin/users/person.validator.mjs +3 -3
  5. package/esm2022/src/app/admin/users/users-select.modal.mjs +3 -3
  6. package/esm2022/src/app/admin/users/users.mjs +3 -3
  7. package/esm2022/src/app/admin/users/users.module.mjs +4 -4
  8. package/esm2022/src/app/core/about/about.modal.mjs +3 -3
  9. package/esm2022/src/app/core/about/about.module.mjs +4 -4
  10. package/esm2022/src/app/core/account/account.module.mjs +4 -4
  11. package/esm2022/src/app/core/account/account.page.mjs +3 -3
  12. package/esm2022/src/app/core/account/new-token.form.mjs +3 -3
  13. package/esm2022/src/app/core/account/new-token.modal.mjs +3 -3
  14. package/esm2022/src/app/core/account/password/change-password.form.mjs +3 -3
  15. package/esm2022/src/app/core/account/password/change-password.module.mjs +4 -4
  16. package/esm2022/src/app/core/account/password/change-password.page.mjs +3 -3
  17. package/esm2022/src/app/core/account/token.table.mjs +3 -3
  18. package/esm2022/src/app/core/auth/auth.form.mjs +3 -3
  19. package/esm2022/src/app/core/auth/auth.modal.mjs +3 -3
  20. package/esm2022/src/app/core/auth/auth.module.mjs +4 -4
  21. package/esm2022/src/app/core/auth/reset-password.modal.mjs +3 -3
  22. package/esm2022/src/app/core/core.module.mjs +4 -4
  23. package/esm2022/src/app/core/core.testing.module.mjs +4 -4
  24. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +4 -4
  25. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +3 -3
  26. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +3 -3
  27. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +4 -4
  28. package/esm2022/src/app/core/form/entity/editor.class.mjs +3 -3
  29. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +3 -3
  30. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +3 -3
  31. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +3 -3
  32. package/esm2022/src/app/core/form/entity/entity.module.mjs +4 -4
  33. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +3 -3
  34. package/esm2022/src/app/core/form/form-container.class.mjs +3 -3
  35. package/esm2022/src/app/core/form/form.class.mjs +3 -3
  36. package/esm2022/src/app/core/form/form.module.mjs +4 -4
  37. package/esm2022/src/app/core/form/list/list.form.mjs +3 -3
  38. package/esm2022/src/app/core/form/list/list.module.mjs +4 -4
  39. package/esm2022/src/app/core/form/properties/properties-file.service.mjs +3 -3
  40. package/esm2022/src/app/core/form/properties/properties.form.mjs +3 -3
  41. package/esm2022/src/app/core/form/properties/properties.module.mjs +4 -4
  42. package/esm2022/src/app/core/form/properties/properties.table.mjs +6 -6
  43. package/esm2022/src/app/core/form/properties/property.validator.mjs +3 -3
  44. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +3 -3
  45. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +4 -4
  46. package/esm2022/src/app/core/form/text/testing/text-form.testing.mjs +3 -3
  47. package/esm2022/src/app/core/form/text/testing/text-form.testing.module.mjs +4 -4
  48. package/esm2022/src/app/core/form/text/text-form.component.mjs +3 -3
  49. package/esm2022/src/app/core/form/text/text-form.module.mjs +4 -4
  50. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +3 -3
  51. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +4 -4
  52. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +3 -3
  53. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +4 -4
  54. package/esm2022/src/app/core/form/username/username.form.mjs +3 -3
  55. package/esm2022/src/app/core/form/username/username.module.mjs +4 -4
  56. package/esm2022/src/app/core/graphql/graphql.module.mjs +4 -4
  57. package/esm2022/src/app/core/graphql/graphql.service.mjs +3 -3
  58. package/esm2022/src/app/core/home/home.mjs +3 -3
  59. package/esm2022/src/app/core/home/home.module.mjs +4 -4
  60. package/esm2022/src/app/core/icon/icon.component.mjs +3 -3
  61. package/esm2022/src/app/core/icon/icon.module.mjs +4 -4
  62. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +3 -3
  63. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +4 -4
  64. package/esm2022/src/app/core/menu/menu.component.mjs +3 -3
  65. package/esm2022/src/app/core/menu/menu.module.mjs +4 -4
  66. package/esm2022/src/app/core/menu/menu.service.mjs +3 -3
  67. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +3 -3
  68. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +3 -3
  69. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +3 -3
  70. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +4 -4
  71. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +3 -3
  72. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +4 -4
  73. package/esm2022/src/app/core/peer/select-peer.modal.mjs +3 -3
  74. package/esm2022/src/app/core/peer/select-peer.module.mjs +4 -4
  75. package/esm2022/src/app/core/register/register-confirm.page.mjs +3 -3
  76. package/esm2022/src/app/core/register/register.form.mjs +3 -3
  77. package/esm2022/src/app/core/register/register.modal.mjs +3 -3
  78. package/esm2022/src/app/core/register/register.module.mjs +4 -4
  79. package/esm2022/src/app/core/services/account.service.mjs +3 -3
  80. package/esm2022/src/app/core/services/auth-guard.service.mjs +3 -3
  81. package/esm2022/src/app/core/services/base-entity-service.class.mjs +3 -3
  82. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +3 -3
  83. package/esm2022/src/app/core/services/config.service.mjs +3 -3
  84. package/esm2022/src/app/core/services/crypto.service.mjs +3 -3
  85. package/esm2022/src/app/core/services/local-settings.service.mjs +3 -3
  86. package/esm2022/src/app/core/services/network.service.mjs +3 -3
  87. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +8 -8
  88. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +4 -4
  89. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +4 -4
  90. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +4 -4
  91. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +6 -6
  92. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +8 -8
  93. package/esm2022/src/app/core/services/platform.service.mjs +3 -3
  94. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +3 -3
  95. package/esm2022/src/app/core/services/testing/referential.validator.mjs +3 -3
  96. package/esm2022/src/app/core/services/validator/account.validator.mjs +3 -3
  97. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +3 -3
  98. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +3 -3
  99. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +3 -3
  100. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +3 -3
  101. package/esm2022/src/app/core/settings/settings.module.mjs +4 -4
  102. package/esm2022/src/app/core/settings/settings.page.mjs +3 -3
  103. package/esm2022/src/app/core/table/async-table.class.mjs +3 -3
  104. package/esm2022/src/app/core/table/column/actions-column.component.mjs +3 -3
  105. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +3 -3
  106. package/esm2022/src/app/core/table/column/row-field.component.mjs +3 -3
  107. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +3 -3
  108. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +3 -3
  109. package/esm2022/src/app/core/table/memory-table.class.mjs +3 -3
  110. package/esm2022/src/app/core/table/table-select-columns.component.mjs +3 -3
  111. package/esm2022/src/app/core/table/table.class.mjs +3 -3
  112. package/esm2022/src/app/core/table/table.module.mjs +4 -4
  113. package/esm2022/src/app/core/table/table.pipes.mjs +9 -9
  114. package/esm2022/src/app/core/table/testing/nested-table.testing.mjs +3 -3
  115. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +3 -3
  116. package/esm2022/src/app/core/table/testing/table.testing.mjs +3 -3
  117. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +4 -4
  118. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +3 -3
  119. package/esm2022/src/app/core/table/testing/table2.testing.mjs +3 -3
  120. package/esm2022/src/app/shared/audio/audio.mjs +3 -3
  121. package/esm2022/src/app/shared/audio/audio.testing.mjs +3 -3
  122. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +4 -4
  123. package/esm2022/src/app/shared/capacitor/keyboard.mjs +3 -3
  124. package/esm2022/src/app/shared/debug/debug.component.mjs +3 -3
  125. package/esm2022/src/app/shared/debug/debug.module.mjs +4 -4
  126. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +3 -3
  127. package/esm2022/src/app/shared/directives/autoresize.directive.mjs +3 -3
  128. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +3 -3
  129. package/esm2022/src/app/shared/directives/autotooltip.directive.mjs +3 -3
  130. package/esm2022/src/app/shared/directives/cell-selection/cell-identifier.directive.mjs +3 -3
  131. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.directive.mjs +3 -3
  132. package/esm2022/src/app/shared/directives/cell-selection/cell-selection.service.mjs +3 -3
  133. package/esm2022/src/app/shared/directives/directives.module.mjs +4 -4
  134. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +3 -3
  135. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +3 -3
  136. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +3 -3
  137. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +3 -3
  138. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  139. package/esm2022/src/app/shared/directives/throttled-click.directive.mjs +3 -3
  140. package/esm2022/src/app/shared/file/file.service.mjs +3 -3
  141. package/esm2022/src/app/shared/form/field.component.mjs +3 -3
  142. package/esm2022/src/app/shared/form/loading-spinner.mjs +3 -3
  143. package/esm2022/src/app/shared/gesture/gesture-config.mjs +3 -3
  144. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +3 -3
  145. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +3 -3
  146. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +3 -3
  147. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +4 -4
  148. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +3 -3
  149. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +4 -4
  150. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +3 -3
  151. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +3 -3
  152. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +4 -4
  153. package/esm2022/src/app/shared/image/image.module.mjs +4 -4
  154. package/esm2022/src/app/shared/image/image.service.mjs +3 -3
  155. package/esm2022/src/app/shared/logging/logging-service.class.mjs +3 -3
  156. package/esm2022/src/app/shared/logging/logging-service.module.mjs +4 -4
  157. package/esm2022/src/app/shared/markdown/markdown.component.mjs +3 -3
  158. package/esm2022/src/app/shared/markdown/markdown.directive.mjs +3 -3
  159. package/esm2022/src/app/shared/markdown/markdown.modal.mjs +3 -3
  160. package/esm2022/src/app/shared/markdown/markdown.module.mjs +4 -4
  161. package/esm2022/src/app/shared/markdown/markdown.service.mjs +3 -3
  162. package/esm2022/src/app/shared/markdown/testing/markdown.test.mjs +3 -3
  163. package/esm2022/src/app/shared/markdown/testing/markdown.testing.module.mjs +4 -4
  164. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +3 -3
  165. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +4 -4
  166. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  167. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +3 -3
  168. package/esm2022/src/app/shared/material/badge/badge.module.mjs +4 -4
  169. package/esm2022/src/app/shared/material/badge/badge.test.mjs +3 -3
  170. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +4 -4
  171. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  172. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +3 -3
  173. package/esm2022/src/app/shared/material/chips/chips.module.mjs +4 -4
  174. package/esm2022/src/app/shared/material/chips/material.chips.mjs +3 -3
  175. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +3 -3
  176. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +4 -4
  177. package/esm2022/src/app/shared/material/datetime/material.date.mjs +3 -3
  178. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +3 -3
  179. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +3 -3
  180. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +3 -3
  181. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +3 -3
  182. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +3 -3
  183. package/esm2022/src/app/shared/material/duration/duration.module.mjs +4 -4
  184. package/esm2022/src/app/shared/material/duration/material.duration.mjs +3 -3
  185. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +3 -3
  186. package/esm2022/src/app/shared/material/latlong/material.latlong-input.mjs +3 -3
  187. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +3 -3
  188. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +4 -4
  189. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +3 -3
  190. package/esm2022/src/app/shared/material/material.module.mjs +4 -4
  191. package/esm2022/src/app/shared/material/material.testing.module.mjs +4 -4
  192. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +3 -3
  193. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +3 -3
  194. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +3 -3
  195. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +4 -4
  196. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +3 -3
  197. package/esm2022/src/app/shared/material/test/test-component.mjs +6 -6
  198. package/esm2022/src/app/shared/material/testing/common.test.mjs +3 -3
  199. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +3 -3
  200. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +4 -4
  201. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +3 -3
  202. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +3 -3
  203. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +4 -4
  204. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +45 -45
  205. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +3 -3
  206. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +3 -3
  207. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +4 -4
  208. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +6 -6
  209. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +4 -4
  210. package/esm2022/src/app/shared/pipes/date-from.pipe.mjs +4 -4
  211. package/esm2022/src/app/shared/pipes/dates.pipe.mjs +3 -3
  212. package/esm2022/src/app/shared/pipes/display-with.pipe.mjs +4 -4
  213. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +4 -4
  214. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +3 -3
  215. package/esm2022/src/app/shared/pipes/form.pipes.mjs +21 -21
  216. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +4 -4
  217. package/esm2022/src/app/shared/pipes/html.pipes.mjs +12 -12
  218. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +9 -9
  219. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +12 -12
  220. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +3 -3
  221. package/esm2022/src/app/shared/pipes/math.pipes.mjs +16 -16
  222. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +3 -3
  223. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +3 -3
  224. package/esm2022/src/app/shared/pipes/observable.pipes.mjs +12 -12
  225. package/esm2022/src/app/shared/pipes/pipes.module.mjs +4 -4
  226. package/esm2022/src/app/shared/pipes/property.pipes.mjs +17 -17
  227. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +21 -21
  228. package/esm2022/src/app/shared/pipes/string.pipes.mjs +39 -39
  229. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +8 -8
  230. package/esm2022/src/app/shared/pipes/types.pipes.mjs +15 -15
  231. package/esm2022/src/app/shared/pipes/url.pipes.mjs +3 -3
  232. package/esm2022/src/app/shared/print/print.service.mjs +3 -3
  233. package/esm2022/src/app/shared/rx-state/rx-state.module.mjs +4 -4
  234. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +3 -3
  235. package/esm2022/src/app/shared/services/progress-bar.service.mjs +3 -3
  236. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +3 -3
  237. package/esm2022/src/app/shared/services/startable-service.class.mjs +3 -3
  238. package/esm2022/src/app/shared/services/translate-context.service.mjs +3 -3
  239. package/esm2022/src/app/shared/shared-routing.module.mjs +7 -7
  240. package/esm2022/src/app/shared/shared.module.mjs +4 -4
  241. package/esm2022/src/app/shared/shared.testing.module.mjs +4 -4
  242. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +3 -3
  243. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +4 -4
  244. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +4 -4
  245. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +4 -4
  246. package/esm2022/src/app/shared/storage/storage.service.mjs +3 -3
  247. package/esm2022/src/app/shared/testing/maskito.test.mjs +3 -3
  248. package/esm2022/src/app/shared/testing/observable.test.mjs +3 -3
  249. package/esm2022/src/app/shared/testing/tests.page.mjs +3 -3
  250. package/esm2022/src/app/shared/toast/toast.testing.mjs +3 -3
  251. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +4 -4
  252. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +3 -3
  253. package/esm2022/src/app/shared/toolbar/toolbar.mjs +3 -3
  254. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +4 -4
  255. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +3 -3
  256. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +4 -4
  257. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +3 -3
  258. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +3 -3
  259. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +3 -3
  260. package/esm2022/src/app/social/feed/feed.component.mjs +5 -5
  261. package/esm2022/src/app/social/feed/feed.directive.mjs +3 -3
  262. package/esm2022/src/app/social/feed/feed.module.mjs +4 -4
  263. package/esm2022/src/app/social/feed/feed.page.mjs +3 -3
  264. package/esm2022/src/app/social/feed/feed.service.mjs +3 -3
  265. package/esm2022/src/app/social/feed/testing/feed.testing.mjs +3 -3
  266. package/esm2022/src/app/social/feed/testing/feed.testing.module.mjs +4 -4
  267. package/esm2022/src/app/social/job/job.module.mjs +4 -4
  268. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +3 -3
  269. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +3 -3
  270. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +3 -3
  271. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +3 -3
  272. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +3 -3
  273. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +3 -3
  274. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +4 -4
  275. package/esm2022/src/app/social/message/message.form.mjs +3 -3
  276. package/esm2022/src/app/social/message/message.modal.mjs +3 -3
  277. package/esm2022/src/app/social/message/message.module.mjs +4 -4
  278. package/esm2022/src/app/social/message/message.service.mjs +3 -3
  279. package/esm2022/src/app/social/social.module.mjs +4 -4
  280. package/esm2022/src/app/social/social.testing.module.mjs +4 -4
  281. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +3 -3
  282. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +3 -3
  283. package/esm2022/src/app/social/user-event/notification/user-event-notification.modal.mjs +3 -3
  284. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +3 -3
  285. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +4 -4
  286. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +3 -3
  287. package/esm2022/src/app/social/user-event/user-event.module.mjs +4 -4
  288. package/esm2022/src/app/social/user-event/user-event.service.mjs +3 -3
  289. package/esm2022/src/environments/environment.loader.mjs +3 -3
  290. package/fesm2022/sumaris-net.ngx-components.mjs +1180 -1180
  291. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  292. package/package.json +1 -1
  293. package/src/assets/manifest.json +1 -1
@@ -13,21 +13,21 @@ import { NestedTableTestPage } from './nested-table.testing';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@ngx-translate/core";
15
15
  export class TableTestingModule {
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: TableTestingModule, declarations: [TableTestPage, Table2TestPage, NestedTableTestPage], imports: [CommonModule,
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TableTestingModule, declarations: [TableTestPage, Table2TestPage, NestedTableTestPage], imports: [CommonModule,
18
18
  SharedModule,
19
19
  CoreModule, i1.TranslateModule, FormsModule,
20
20
  ResizableModule,
21
21
  CellIdentifierDirective,
22
22
  CellSelectionDirective], exports: [TableTestPage, Table2TestPage, NestedTableTestPage, TranslateModule] });
23
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableTestingModule, imports: [CommonModule,
23
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableTestingModule, imports: [CommonModule,
24
24
  SharedModule,
25
25
  CoreModule,
26
26
  TranslateModule.forChild(),
27
27
  FormsModule,
28
28
  ResizableModule, TranslateModule] });
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TableTestingModule, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TableTestingModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  imports: [
@@ -16,10 +16,10 @@ export class Table2ValidatorService extends ReferentialValidatorService {
16
16
  boolean3: [data?.boolean3 || null],
17
17
  };
18
18
  }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Table2ValidatorService, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
20
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Table2ValidatorService });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Table2ValidatorService, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Table2ValidatorService });
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Table2ValidatorService, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Table2ValidatorService, decorators: [{
23
23
  type: Injectable
24
24
  }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }] });
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUyLXZhbGlkYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3RhYmxlL3Rlc3RpbmcvdGFibGUyLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7OztBQUkzRixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMkJBQTJCO0lBQy9DO0lBQXRCLFlBQXNCLFdBQStCO1FBQ25ELEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQURDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtJQUVyRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBVSxFQUFFLElBQTREO1FBQ3pGLE9BQU87WUFDTCxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDO1lBQ2hDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1lBQ2xDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1NBQ25DLENBQUM7SUFDSixDQUFDO3dHQVpVLHNCQUFzQjs0R0FBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVmZXJlbnRpYWxWYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGVzdGluZy9yZWZlcmVudGlhbC52YWxpZGF0b3InO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFibGUyVmFsaWRhdG9yU2VydmljZSBleHRlbmRzIFJlZmVyZW50aWFsVmFsaWRhdG9yU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIpO1xuICB9XG5cbiAgZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGE/OiBhbnksIG9wdHM/OiB7IHdpdGhEZXNjcmlwdGlvbj86IGJvb2xlYW47IHdpdGhDb21tZW50cz86IGJvb2xlYW4gfSk6IHsgW3A6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZ2V0Rm9ybUdyb3VwQ29uZmlnKGRhdGEsIG9wdHMpLFxuICAgICAgYm9vbGVhbjogW2RhdGE/LmJvb2xlYW4gfHwgbnVsbF0sXG4gICAgICBib29sZWFuMjogW2RhdGE/LmJvb2xlYW4yIHx8IG51bGxdLFxuICAgICAgYm9vbGVhbjM6IFtkYXRhPy5ib29sZWFuMyB8fCBudWxsXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -250,8 +250,8 @@ export class Table2TestPage extends AppAsyncTable {
250
250
  onCellRightClick(event) {
251
251
  console.debug('[table2-test] Right click on cell:', event);
252
252
  }
253
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Table2TestPage, deps: [{ token: i0.Injector }, { token: i1.AppValidatorService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
254
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: Table2TestPage, selector: "app-table2-testing", inputs: { filterPanelFloating: "filterPanelFloating", sticky: "sticky", stickyEnd: "stickyEnd" }, providers: [
253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Table2TestPage, deps: [{ token: i0.Injector }, { token: i1.AppValidatorService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
254
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: Table2TestPage, selector: "app-table2-testing", inputs: { filterPanelFloating: "filterPanelFloating", sticky: "sticky", stickyEnd: "stickyEnd" }, providers: [
255
255
  {
256
256
  provide: AppValidatorService,
257
257
  useClass: Table2ValidatorService,
@@ -278,7 +278,7 @@ export class Table2TestPage extends AppAsyncTable {
278
278
  },
279
279
  ], viewQueries: [{ propertyName: "filterExpansionPanel", first: true, predicate: MatExpansionPanel, descendants: true, static: true }, { propertyName: "infiniteScroll", first: true, predicate: IonInfiniteScroll, descendants: true }], usesInheritance: true, ngImport: i0, template: "<app-toolbar\n color=\"primary\"\n [canGoBack]=\"true\"\n [hasValidate]=\"(loadingSubject | async) !== true && (dirtySubject | async) === true\"\n (onValidate)=\"save()\"\n [backHref]=\"'/testing'\"\n>\n <ion-title>Table 2 (click to select)</ion-title>\n\n <ion-buttons slot=\"end\">\n @if (selection | isEmptySelection) {\n <input matInput type=\"number\" step=\"1\" style=\"color: black; width: 50px\" [(ngModel)]=\"rowHeight\" />\n\n <!-- Add -->\n <button\n mat-icon-button\n *ngIf=\"canEdit && !mobile\"\n [title]=\"!showTooltip ? ('COMMON.BTN_ADD' | translate) : ''\"\n [matTooltip]=\"showTooltip ? ('COMMON.BTN_ADD' | translate) : ''\"\n (click)=\"addRow()\"\n >\n <mat-icon>add</mat-icon>\n </button>\n\n <!-- reset filter -->\n <button mat-icon-button (click)=\"resetFilter()\" *ngIf=\"filterCriteriaCount\">\n <mat-icon color=\"accent\">filter_list_alt</mat-icon>\n <mat-icon class=\"icon-secondary\" style=\"left: 16px; top: 5px; font-weight: bold\">close</mat-icon>\n </button>\n\n <!-- show filter -->\n <button mat-icon-button (click)=\"filterExpansionPanel.toggle()\">\n <mat-icon\n *ngIf=\"filterCriteriaCount; else emptyFilter\"\n [matBadge]=\"filterCriteriaCount\"\n matBadgeColor=\"accent\"\n matBadgeSize=\"small\"\n matBadgePosition=\"above after\"\n aria-hidden=\"false\"\n >\n filter_list_alt\n </mat-icon>\n <ng-template #emptyFilter>\n <mat-icon>filter_list_alt</mat-icon>\n </ng-template>\n </button>\n\n <!-- save -->\n <button mat-icon-button *ngIf=\"mobile\" [disabled]=\"(dirtySubject | async) !== true\" (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n } @else {\n <!-- if row selection -->\n <!-- delete -->\n <button\n mat-icon-button\n *ngIf=\"canEdit\"\n [title]=\"!showTooltip ? ('COMMON.BTN_DELETE' | translate) : ''\"\n [matTooltip]=\"showTooltip ? ('COMMON.BTN_DELETE' | translate) : ''\"\n (click)=\"deleteSelection($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <!-- duplicate -->\n <button\n mat-icon-button\n *ngIf=\"canEdit && selection.selected | isArrayLength: { equals: 1 }\"\n [title]=\"!showTooltip ? ('COMMON.BTN_DUPLICATE' | translate) : ''\"\n [matTooltip]=\"showTooltip ? ('COMMON.BTN_DUPLICATE' | translate) : ''\"\n (click)=\"duplicateRow($event, selection.selected[0])\"\n >\n <mat-icon>file_copy</mat-icon>\n </button>\n }\n </ion-buttons>\n</app-toolbar>\n<ion-content class=\"ion-no-padding\">\n <ion-refresher slot=\"fixed\" *ngIf=\"mobile\" (ionRefresh)=\"doRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <!-- error -->\n <ion-item *ngIf=\"mobile && error\" lines=\"none\" @slideUpDownAnimation>\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 <!-- search -->\n <mat-expansion-panel\n #filterExpansionPanel\n class=\"filter-panel\"\n [class.filter-panel-floating]=\"filterPanelFloating\"\n [class.filter-panel-pinned]=\"!filterPanelFloating\"\n >\n <form class=\"form-container ion-padding-top\" [formGroup]=\"filterForm\" (ngSubmit)=\"applyFilterAndClosePanel($event)\">\n <ion-grid>\n <ion-row>\n <ion-col>\n <!-- search text -->\n <mat-form-field>\n <mat-label>{{ 'TABLE.TESTING.SEARCH_TEXT' | translate }}</mat-label>\n <ion-icon matPrefix name=\"search\"></ion-icon>\n <input matInput formControlName=\"searchText\" autocomplete=\"off\" />\n <button\n mat-icon-button\n matSuffix\n tabindex=\"-1\"\n type=\"button\"\n (click)=\"clearControlValue($event, filterForm.controls.searchText)\"\n [hidden]=\"filterForm.controls.searchText.disabled || !filterForm.controls.searchText.value\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n </form>\n\n <mat-action-row>\n <!-- Counter -->\n <ion-label\n [hidden]=\"(loadingSubject | async) || filterForm.dirty\"\n [color]=\"empty && 'danger'\"\n class=\"ion-padding\"\n >\n {{\n (totalRowCount ? 'COMMON.RESULT_COUNT' : 'COMMON.NO_RESULT')\n | translate\n : {\n count: (totalRowCount | numberFormat),\n }\n }}\n </ion-label>\n\n <div class=\"toolbar-spacer\"></div>\n\n <button\n mat-icon-button\n color=\"accent\"\n *ngIf=\"filterPanelFloating\"\n (click)=\"toggleFilterPanelFloating()\"\n class=\"hidden-xs hidden-sm hidden-md\"\n [title]=\"!showTooltip ? ((filterPanelFloating ? 'COMMON.BTN_EXPAND' : 'COMMON.BTN_HIDE') | translate) : ''\"\n [matTooltip]=\"showTooltip ? ((filterPanelFloating ? 'COMMON.BTN_EXPAND' : 'COMMON.BTN_HIDE') | translate) : ''\"\n >\n <mat-icon>\n <span style=\"transform: rotate(90deg)\">{{ filterPanelFloating ? '&#xbb;' : '&#xab;' }}</span>\n </mat-icon>\n </button>\n\n <!-- Close panel -->\n <ion-button mat-button fill=\"clear\" color=\"dark\" (click)=\"closeFilterPanel()\" [disabled]=\"loadingSubject | async\">\n <ion-text translate>COMMON.BTN_CLOSE</ion-text>\n </ion-button>\n\n <!-- Search button -->\n <ion-button\n mat-button\n [color]=\"filterForm.dirty ? 'tertiary' : 'dark'\"\n [fill]=\"filterForm.dirty ? 'solid' : 'clear'\"\n (click)=\"applyFilterAndClosePanel($event)\"\n >\n <ion-text translate>COMMON.BTN_APPLY</ion-text>\n </ion-button>\n </mat-action-row>\n </mat-expansion-panel>\n\n <!-- table -->\n <div [class.table-container]=\"!enableInfiniteScroll\" style=\"position: relative\">\n <table\n #table\n mat-table\n matSort\n matSortDisableClear\n [dataSource]=\"dataSource\"\n [matSortActive]=\"defaultSortBy\"\n [matSortDirection]=\"defaultSortDirection\"\n [trackBy]=\"trackByFn\"\n [style.--mat-row-height]=\"rowHeight + 'px'\"\n appCellSelection\n [appSelectableColumns]=\"selectableColumns\"\n [appCellSelectionDisabled]=\"invalid\"\n (appCellSelectionChange)=\"onCellSelectionChange($event)\"\n (appCellRightClick)=\"onCellRightClick($event)\"\n >\n <ng-container matColumnDef=\"select\" [sticky]=\"checkBoxSelection\" [class.mat-column-sticky]=\"checkBoxSelection\">\n <th mat-header-cell *matHeaderCellDef [class.cdk-visually-hidden]=\"!checkBoxSelection\">\n @if (selection | isMultipleSelection) {\n <mat-checkbox\n [checked]=\"this | isAllSelected\"\n [indeterminate]=\"this | isNotAllSelected\"\n (change)=\"$event ? masterToggle() : null\"\n ></mat-checkbox>\n }\n </th>\n <td mat-cell *matCellDef=\"let row\" [class.cdk-visually-hidden]=\"!checkBoxSelection\">\n <mat-checkbox [checked]=\"selection | isSelected: row\" (click)=\"toggleSelectRow($event, row)\"></mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Id column -->\n <ng-container matColumnDef=\"id\" [sticky]=\"sticky\">\n <th mat-header-cell *matHeaderCellDef>\n <span mat-sort-header>\n <ion-label title=\"Id\">#</ion-label>\n <ion-label color=\"danger\" [innerHTML]=\"'&nbsp;*'\"></ion-label>\n </span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [appCellId]=\"{ rowId: row.id, columnName: 'id' }\">\n <mat-form-field *ngIf=\"!readOnly && row.id === -1 && row.editing; else readOnlyId\">\n <input\n matInput\n autocomplete=\"off\"\n required\n [formControl]=\"row.validator | formGetControl: 'id'\"\n placeholder=\"Id\"\n [appAutofocus]=\"true\"\n />\n <mat-error *ngIf=\"(row.validator | formGetControl: 'id').hasError('required')\" translate>\n ERROR.FIELD_REQUIRED\n </mat-error>\n <mat-error *ngIf=\"(row.validator | formGetControl: 'id').hasError('alreadyExists')\" translate>\n ERROR.FIELD_NOT_UNIQUE_ID\n </mat-error>\n </mat-form-field>\n\n <ng-template #readOnlyId>\n <ion-label appAutoTooltip>\n {{ (row.validator | formGetValue: 'id') || (row.currentData | propertyGet: 'id') }}\n </ion-label>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Name column -->\n <ng-container matColumnDef=\"name\" [sticky]=\"sticky\">\n <th mat-header-cell *matHeaderCellDef [resizable]=\"resizable\">\n <!-- if sortable, wrap the header with a mat-sort-header -->\n <span mat-sort-header>\n <ion-label\n [title]=\"!showTooltip ? ('TABLE.TESTING.NAME' | translate) : ''\"\n [matTooltip]=\"showTooltip ? ('TABLE.TESTING.NAME' | translate) : ''\"\n >\n {{ 'TABLE.TESTING.NAME' | translate }}\n </ion-label>\n <ion-label color=\"danger\" [innerHTML]=\"'&nbsp;*'\"></ion-label>\n </span>\n </th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n (click)=\"focusColumn = 'name'\"\n [appCellId]=\"{ rowId: row.id, columnName: 'name' }\"\n >\n <mat-form-field *ngIf=\"!readOnly && row.editing; else readOnlyTemplate\">\n <input\n matInput\n autocomplete=\"off\"\n [required]=\"true\"\n [formControl]=\"row.validator | formGetControl: 'name'\"\n [placeholder]=\"'TABLE.TESTING.NAME' | translate\"\n [appAutofocus]=\"row.id === -1 || focusColumn === 'name'\"\n />\n <ng-content select=\"[suffix]\"></ng-content>\n <mat-error *ngIf=\"(row.validator | formGetControl: 'name').hasError('required')\" translate>\n ERROR.FIELD_REQUIRED\n </mat-error>\n <mat-error *ngIf=\"(row.validator | formGetControl: 'name').hasError('maxlength')\" translate>\n ERROR.FIELD_MAX_LENGTH_COMPACT\n </mat-error>\n <mat-error *ngIf=\"(row.validator | formGetControl: 'name').hasError('minlength')\" translate>\n ERROR.FIELD_MIN_LENGTH_COMPACT\n </mat-error>\n </mat-form-field>\n <ng-template #readOnlyTemplate>\n <ion-label appAutoTooltip>\n {{ (row.validator | formGetValue: 'name') || (row.currentData | propertyGet: 'name') }}\n </ion-label>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Level column -->\n <ng-container matColumnDef=\"levelId\" [sticky]=\"sticky\">\n <th mat-header-cell *matHeaderCellDef [resizable]=\"resizable\">\n <span mat-sort-header>\n <ion-label>{{ 'TABLE.TESTING.LEVEL_ID' | translate }}</ion-label>\n <ion-label color=\"danger\" [innerHTML]=\"'&nbsp;*'\"></ion-label>\n </span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [appCellId]=\"{ rowId: row.id, columnName: 'levelId' }\">\n <mat-autocomplete-field\n *ngIf=\"!readOnly && row.editing; else readOnlyTemplate\"\n panelWidth=\"750px\"\n [formControl]=\"row.validator | formGetControl: 'levelId'\"\n [placeholder]=\"'TABLE.TESTING.LEVEL_ID' | translate\"\n floatLabel=\"never\"\n [required]=\"true\"\n [config]=\"autocompleteFields.level\"\n [highlightAccent]=\"true\"\n >\n <mat-error matError *ngIf=\"(row.validator | formGetControl: 'levelId').hasError('invalid')\" translate>\n ERROR.FIELD_INVALID\n </mat-error>\n </mat-autocomplete-field>\n <ng-template #readOnlyTemplate>\n <ion-label appAutoTooltip>\n {{\n autocompleteFields.level?.displayWith(\n (row.validator | formGetValue: 'levelId') || (row.currentData | propertyGet: 'levelId')\n ) ||\n ((row.validator | formGetValue: 'levelId') || (row.currentData | propertyGet: 'levelId')\n | referentialToString)\n }}\n </ion-label>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"boolean\">\n <th mat-header-cell *matHeaderCellDef cdkDrag [resizable]=\"resizable\">\n <!-- if sortable, wrap the header with a mat-sort-header -->\n <span mat-sort-header>\n <ion-label>Boolean</ion-label>\n </span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [appCellId]=\"{ rowId: row.id, columnName: 'boolean' }\">\n <mat-boolean-field\n *ngIf=\"!readOnly && row.editing; else readOnlyTemplate\"\n floatLabel=\"never\"\n [style]=\"'checkbox'\"\n [formControl]=\"\n (row.validator | formGetControl: 'boolean') || formBuilder.control(row.currentData['boolean'])\n \"\n [compact]=\"true\"\n ></mat-boolean-field>\n <ng-template #readOnlyTemplate>\n <ion-label appAutoTooltip>\n {{\n (row.validator | formGetValue: 'boolean') || (row.currentData | propertyGet: 'boolean')\n ? ('COMMON.YES' | translate)\n : ('COMMON.NO' | translate)\n }}\n </ion-label>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"boolean2\">\n <th mat-header-cell *matHeaderCellDef cdkDrag [resizable]=\"resizable\">\n <!-- if sortable, wrap the header with a mat-sort-header -->\n <span mat-sort-header>\n <ion-label>Boolean 2</ion-label>\n </span>\n </th>\n <td mat-cell *matCellDef=\"let row\" [appCellId]=\"{ rowId: row.id, columnName: 'boolean2' }\">\n <mat-boolean-field\n *ngIf=\"!readOnly && row.editing; else readOnlyTemplate\"\n [floatLabel]=\"'never'\"\n [style]=\"'radio'\"\n [showRadio]=\"true\"\n [formControl]=\"\n (row.validator | formGetControl: 'boolean2') || formBuilder.control(row.currentData['boolean2'])\n \"\n ></mat-boolean-field>\n <ng-template #readOnlyTemplate>\n <ion-label appAutoTooltip>\n {{\n (row.validator | formGetValue: 'boolean2') || (row.currentData | propertyGet: 'boolean2')\n ? ('COMMON.YES' | translate)\n : ('COMMON.NO' | translate)\n }}\n </ion-label>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"boolean3\">\n <th mat-header-cell *matHeaderCellDef cdkDrag [resizable]=\"resizable\">\n <!-- if sortable, wrap the header with a mat-sort-header -->\n <span mat-sort-header>\n <ion-label>Boolean 3</ion-label>\n </span>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-boolean-field\n *ngIf=\"!readOnly && row.editing; else readOnlyTemplate\"\n floatLabel=\"never\"\n [style]=\"'button'\"\n [formControl]=\"\n (row.validator | formGetControl: 'boolean2') || formBuilder.control(row.currentData['boolean2'])\n \"\n ></mat-boolean-field>\n <ng-template #readOnlyTemplate>\n <ion-label appAutoTooltip>\n {{\n (row.validator | formGetValue: 'boolean2') || (row.currentData | propertyGet: 'boolean2')\n ? ('COMMON.YES' | translate)\n : ('COMMON.NO' | translate)\n }}\n </ion-label>\n </ng-template>\n </td>\n </ng-container>\n\n <!-- Actions buttons column -->\n <app-actions-column\n [stickyEnd]=\"stickyEnd\"\n [canCancel]=\"false\"\n [style]=\"'table'\"\n (optionsClick)=\"openSelectColumnsModal($event)\"\n (cancelOrDeleteClick)=\"cancelOrDelete($event.event, $event.row)\"\n (confirmAndAddClick)=\"confirmAndAdd($event.event, $event.row)\"\n (backward)=\"confirmAndBackward($event.event, $event.row)\"\n (forward)=\"confirmAndForward($event.event, $event.row)\"\n [cellTemplate]=\"cellInjection\"\n >\n <!-- cell injection-->\n <ng-template #cellInjection let-row>\n <span *ngIf=\"row.editing && !row.validator.dirty\">-</span>\n </ng-template>\n </app-actions-column>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n [class.mat-row-selected]=\"row.editing\"\n [class.mat-row-error]=\"row.invalid\"\n [class.mat-row-disabled]=\"!row.editing\"\n [class.mat-row-dirty]=\"row.dirty\"\n (click)=\"clickRow($event, row)\"\n (keydown.escape)=\"escapeEditingRow($event)\"\n [cdkTrapFocus]=\"row.invalid\"\n ></tr>\n </table>\n\n <ng-container *ngIf=\"loadingSubject | async; else noResult\">\n <ion-item>\n <ion-skeleton-text animated></ion-skeleton-text>\n </ion-item>\n </ng-container>\n\n <ng-template #noResult>\n <ion-item *ngIf=\"totalRowCount === 0\">\n <ion-text color=\"danger\" class=\"text-italic\" translate>COMMON.NO_RESULT</ion-text>\n </ion-item>\n </ng-template>\n\n <ion-infinite-scroll\n *ngIf=\"enableInfiniteScroll\"\n [threshold]=\"mobile ? '10%' : '2%'\"\n position=\"bottom\"\n (ionInfinite)=\"fetchMore($event)\"\n >\n <ion-infinite-scroll-content\n loadingSpinner=\"circles\"\n [loadingText]=\"'COMMON.LOADING_DOTS' | translate\"\n ></ion-infinite-scroll-content>\n </ion-infinite-scroll>\n </div>\n</ion-content>\n\n<ion-footer>\n <!-- Paginator -->\n <mat-paginator\n *ngIf=\"!enableInfiniteScroll\"\n [length]=\"totalRowCount\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"defaultPageSizeOptions\"\n showFirstLastButtons\n ></mat-paginator>\n\n <app-form-buttons-bar\n *ngIf=\"canEdit && !mobile\"\n (onCancel)=\"load()\"\n (onSave)=\"save()\"\n [disabled]=\"(loadingSubject | async) || !dirty\"\n >\n <!-- error -->\n <ion-item *ngIf=\"errorSubject | async\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" [innerHTML]=\"error | translate\"></ion-label>\n </ion-item>\n </app-form-buttons-bar>\n</ion-footer>\n\n<ion-fab slot=\"fixed\" vertical=\"bottom\" horizontal=\"end\" *ngIf=\"canEdit && mobile\">\n <ion-fab-button color=\"tertiary\" (click)=\"addRow($event)\">\n <ion-icon name=\"add\"></ion-icon>\n </ion-fab-button>\n</ion-fab>\n", styles: [".table-container .mat-mdc-table .mat-column-select{min-width:60px;width:60px}.table-container .mat-mdc-table .mat-column-id{width:90px;min-width:90px;max-width:90px}.table-container .mat-mdc-table .mat-column-label,.table-container .mat-mdc-table .mat-column-name,.table-container .mat-mdc-table .mat-column-levelId,.table-container .mat-mdc-table .mat-column-statusId{min-width:150px;width:150px}.table-container .mat-mdc-table .mat-column-comments{min-width:100px;max-width:100px;width:100px}.table-container .mat-mdc-table .mat-column-updateDate{min-width:110px;max-width:110px;width:110px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.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: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: i4.IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: i4.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i4.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i4.IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: i4.IonRow, selector: "ion-row" }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: i4.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i9.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i11.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: i12.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i13.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "directive", type: i13.MatExpansionPanelActionRow, selector: "mat-action-row" }, { kind: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i16.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: i17.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i18.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i19.MatAutocompleteField, selector: "mat-autocomplete-field", inputs: ["equals", "logPrefix", "formControl", "formControlName", "floatLabel", "label", "appearance", "subscriptSizing", "placeholder", "suggestFn", "required", "hideRequiredMarker", "mobile", "clearable", "debounceTime", "displaySeparator", "displayWith", "displayAttributes", "displayColumnSizes", "displayColumnNames", "highlightAccent", "showAllOnFocus", "showPanelOnFocus", "reloadItemsOnFocus", "clearInvalidValueOnBlur", "autofocus", "config", "i18nPrefix", "noResultMessage", "panelClass", "panelWidth", "disableRipple", "matAutocompletePosition", "multiple", "fetchMoreThreshold", "suggestLengthThreshold", "showLoadingSpinner", "debug", "showSearchBar", "stickySearchBar", "applyImplicitValue", "dropButtonTitle", "clearButtonTitle", "trimSearchText", "splitSearchText", "selectInputContentOnFocus", "selectInputContentOnFocusDelay", "previewImplicitValue", "showFavorites", "toggleFavoriteTitle", "favoriteItems", "colSizes", "class", "filter", "readonly", "tabindex", "items"], outputs: ["click", "blur", "focus", "dropButtonClick", "keydown.escape", "keydown.backspace", "keyup.enter", "arrowUp", "arrowDown", "enter", "selectionChange", "openedChange", "toggleFavorite"] }, { kind: "component", type: i20.MatBooleanField, selector: "mat-boolean-field", inputs: ["disabled", "formControl", "formControlName", "placeholder", "floatLabel", "appearance", "subscriptSizing", "readonly", "required", "compact", "autofocus", "style", "buttonsColCount", "class", "yesLabel", "noLabel", "showButtonIcons", "yesIcon", "noIcon", "clearable", "labelPosition", "tabindex", "showRadio", "value"], outputs: ["keyup.enter", "focus", "blur"] }, { kind: "directive", type: i21.AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: ["appAutofocus", "autofocusDelay"] }, { kind: "directive", type: i22.AutoTooltipDirective, selector: "ion-label[appAutoTooltip], mat-label[appAutoTooltip]", inputs: ["appAutoTooltip"] }, { kind: "component", type: i23.ToolbarComponent, selector: "app-toolbar", inputs: ["progressBarMode", "title", "color", "class", "id", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "component", type: i24.FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: ["disabled", "disabledCancel", "disabledEscape", "classList", "saveButtonColor", "backText", "cancelText", "nextText", "showBack", "showCancel", "showNext", "showSave"], outputs: ["onCancel", "onSave", "onNext", "onBack", "onSaveAndClose", "onSaveAndNext"] }, { kind: "component", type: i25.ActionsColumnComponent, selector: "app-actions-column", inputs: ["matColumnDef", "style", "showPendingSpinner", "stickyEnd", "canCancel", "canConfirm", "canDelete", "canBackward", "canForward", "canConfirmAndAdd", "dirtyIcon", "optionsTitle", "class", "cellTemplateStart", "cellTemplate"], outputs: ["optionsClick", "cancelOrDeleteClick", "confirmEditCreateClick", "confirmAndAddClick", "backward", "forward"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i26.ResizableComponent, selector: "th[resizable]", inputs: ["resizable"], outputs: ["sizeChanged"] }, { kind: "directive", type: i27.ResizableDirective, selector: "[resizable]", inputs: ["minWidth"], outputs: ["resizable", "fit"] }, { kind: "directive", type: i28.CellIdentifierDirective, selector: "[appCellId]", inputs: ["appCellId"] }, { kind: "directive", type: i29.CellSelectionDirective, selector: "[appCellSelection]", inputs: ["appSelectableColumns", "appCellSelectionDisabled"], outputs: ["appCellSelectionChange", "appCellRightClick"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i30.PropertyGetPipe, name: "propertyGet" }, { kind: "pipe", type: i31.NumberFormatPipe, name: "numberFormat" }, { kind: "pipe", type: i32.ArrayLengthPipe, name: "isArrayLength" }, { kind: "pipe", type: i33.FormGetControlPipe, name: "formGetControl" }, { kind: "pipe", type: i33.FormGetValuePipe, name: "formGetValue" }, { kind: "pipe", type: i34.IsSelectedPipe, name: "isSelected" }, { kind: "pipe", type: i34.IsEmptySelectionPipe, name: "isEmptySelection" }, { kind: "pipe", type: i34.IsMultipleSelectionPipe, name: "isMultipleSelection" }, { kind: "pipe", type: i35.IsAllSelectedPipe, name: "isAllSelected" }, { kind: "pipe", type: i35.IsNotAllSelectedPipe, name: "isNotAllSelected" }, { kind: "pipe", type: i36.ReferentialToStringPipe, name: "referentialToString" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
280
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Table2TestPage, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Table2TestPage, decorators: [{
282
282
  type: Component,
283
283
  args: [{ selector: 'app-table2-testing', providers: [
284
284
  {
@@ -243,10 +243,10 @@ export class AudioProvider extends StartableService {
243
243
  console.debug(`[audio] Detected audio mode {label: '${value.label}', audioMode: ${value.audioMode}}`);
244
244
  this._audioMode = value.audioMode;
245
245
  }
246
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioProvider, deps: [{ token: i1.Platform }, { token: i2.AudioManagement, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
247
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioProvider, providedIn: 'root' });
246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioProvider, deps: [{ token: i1.Platform }, { token: i2.AudioManagement, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
247
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioProvider, providedIn: 'root' });
248
248
  }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioProvider, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioProvider, decorators: [{
250
250
  type: Injectable,
251
251
  args: [{ providedIn: 'root' }]
252
252
  }], ctorParameters: () => [{ type: i1.Platform }, { type: i2.AudioManagement, decorators: [{
@@ -22,10 +22,10 @@ export class AudioTestingPage {
22
22
  vibrate(duration) {
23
23
  return this.audio.vibrate(duration || [1000, 500, 1000, 500, 1000]);
24
24
  }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioTestingPage, deps: [{ token: i1.AudioProvider }], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AudioTestingPage, selector: "audio-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">Vibrate (many time)</ion-button>\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }] });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioTestingPage, deps: [{ token: i1.AudioProvider }], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AudioTestingPage, selector: "audio-testing", ngImport: i0, template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">Vibrate (many time)</ion-button>\n</ion-content>\n", dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }] });
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioTestingPage, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioTestingPage, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'audio-testing', template: "<ion-toolbar color=\"primary\">\n <ion-title>Toasts</ion-title>\n</ion-toolbar>\n\n<ion-content class=\"ion-padding\">\n <p>Toast examples:</p>\n\n <ion-button (click)=\"playStartupSound()\" color=\"dark\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Startup\n </ion-button>\n\n <ion-button (click)=\"playBeepConfirm()\" color=\"success\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Confirmation\n </ion-button>\n\n <ion-button (click)=\"playBeepNotification()\" color=\"tertiary\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Notification\n </ion-button>\n\n <ion-button (click)=\"playBeepError()\" color=\"accent\">\n <ion-icon name=\"play\" slot=\"start\"></ion-icon>\n Error\n </ion-button>\n\n <ion-button (click)=\"vibrate()\" color=\"accent\">Vibrate (many time)</ion-button>\n</ion-content>\n" }]
31
31
  }], ctorParameters: () => [{ type: i1.AudioProvider }] });
@@ -15,11 +15,11 @@ const routes = [
15
15
  },
16
16
  ];
17
17
  export class AudioTestingModule {
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AudioTestingModule, declarations: [AudioTestingPage], imports: [CommonModule, IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule, AudioTestingPage] });
20
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioTestingModule, imports: [CommonModule, IonicModule, TranslateModule.forChild(), RouterModule.forChild(routes), RouterModule] });
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AudioTestingModule, declarations: [AudioTestingPage], imports: [CommonModule, IonicModule, i1.TranslateModule, i2.RouterModule], exports: [RouterModule, AudioTestingPage] });
20
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioTestingModule, imports: [CommonModule, IonicModule, TranslateModule.forChild(), RouterModule.forChild(routes), RouterModule] });
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AudioTestingModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AudioTestingModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [CommonModule, IonicModule, TranslateModule.forChild(), RouterModule.forChild(routes)],
@@ -32,10 +32,10 @@ export class KeyboardService {
32
32
  ]);
33
33
  }
34
34
  }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KeyboardService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
36
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KeyboardService, providedIn: 'root' });
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyboardService, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyboardService, providedIn: 'root' });
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KeyboardService, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KeyboardService, decorators: [{
39
39
  type: Injectable,
40
40
  args: [{ providedIn: 'root' }]
41
41
  }], ctorParameters: () => [{ type: i1.Platform }] });
@@ -18,10 +18,10 @@ export class DebugComponent {
18
18
  toggle() {
19
19
  this.expansionPanel.toggle();
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DebugComponent, deps: [{ token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DebugComponent, selector: "app-debug", inputs: { titlePrefix: "titlePrefix", title: "title", enable: "enable", expanded: "expanded" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true }], ngImport: i0, template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\"></ion-icon>\n <ion-label color=\"primary\">{{ titlePrefix | translate }} {{ title }}</ion-label>\n <mat-icon slot=\"end\">{{ expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\">\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;background:var(--ion-color-secondary50)!important}.mat-expansion-panel.mat-expanded{margin-bottom:4px!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugComponent, deps: [{ token: ENVIRONMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DebugComponent, selector: "app-debug", inputs: { titlePrefix: "titlePrefix", title: "title", enable: "enable", expanded: "expanded" }, viewQueries: [{ propertyName: "expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true }], ngImport: i0, template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\"></ion-icon>\n <ion-label color=\"primary\">{{ titlePrefix | translate }} {{ title }}</ion-label>\n <mat-icon slot=\"end\">{{ expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\">\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;background:var(--ion-color-secondary50)!important}.mat-expansion-panel.mat-expanded{margin-bottom:4px!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"], dependencies: [{ kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DebugComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'app-debug', template: "<!-- debug -->\n<ion-item tappable (click)=\"toggle()\" lines=\"none\" color=\"secondary50\">\n <ion-icon slot=\"start\" name=\"bug\"></ion-icon>\n <ion-label color=\"primary\">{{ titlePrefix | translate }} {{ title }}</ion-label>\n <mat-icon slot=\"end\">{{ expansionPanel.expanded ? 'expand_less' : 'expand_more' }}</mat-icon>\n</ion-item>\n<mat-expansion-panel #expansionPanel [(expanded)]=\"expanded\">\n <ion-text color=\"primary100\">\n <div class=\"ion-margin-start\">\n <ng-content></ng-content>\n </div>\n </ion-text>\n</mat-expansion-panel>\n", styles: ["ion-item{cursor:pointer!important}ion-item mat-icon,ion-item ion-icon{color:var(--ion-color-primary)}.mat-expansion-panel{--expansion-panel-padding: 4px;background:var(--ion-color-secondary50)!important}.mat-expansion-panel.mat-expanded{margin-bottom:4px!important}.mat-expansion-panel .mat-expansion-panel-body *{color:var(--ion-color-primary100)}\n"] }]
27
27
  }], ctorParameters: () => [{ type: i5.Environment, decorators: [{
@@ -8,11 +8,11 @@ import { MatIconModule } from '@angular/material/icon';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@ngx-translate/core";
10
10
  export class SharedDebugModule {
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SharedDebugModule, declarations: [DebugComponent], imports: [CommonModule, IonicModule, MatExpansionModule, MatIconModule, i1.TranslateModule, MatExpansionModule], exports: [DebugComponent, TranslateModule] });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDebugModule, imports: [CommonModule, IonicModule, MatExpansionModule, MatIconModule, TranslateModule.forChild(), MatExpansionModule, TranslateModule] });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedDebugModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SharedDebugModule, declarations: [DebugComponent], imports: [CommonModule, IonicModule, MatExpansionModule, MatIconModule, i1.TranslateModule, MatExpansionModule], exports: [DebugComponent, TranslateModule] });
13
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedDebugModule, imports: [CommonModule, IonicModule, MatExpansionModule, MatIconModule, TranslateModule.forChild(), MatExpansionModule, TranslateModule] });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDebugModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedDebugModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  imports: [CommonModule, IonicModule, MatExpansionModule, MatIconModule, TranslateModule.forChild(), MatExpansionModule],
@@ -78,10 +78,10 @@ export class AutofocusDirective {
78
78
  this._timer?.unsubscribe();
79
79
  this._timer = null;
80
80
  }
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.KeyboardService }], target: i0.ɵɵFactoryTarget.Directive });
82
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: { shouldFocusElement: ["appAutofocus", "shouldFocusElement"], timerDelay: ["autofocusDelay", "timerDelay"] }, usesOnChanges: true, ngImport: i0 });
81
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }, { token: i1.KeyboardService }], target: i0.ɵɵFactoryTarget.Directive });
82
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AutofocusDirective, selector: "[autofocus], input[appAutofocus]", inputs: { shouldFocusElement: ["appAutofocus", "shouldFocusElement"], timerDelay: ["autofocusDelay", "timerDelay"] }, usesOnChanges: true, ngImport: i0 });
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutofocusDirective, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutofocusDirective, decorators: [{
85
85
  type: Directive,
86
86
  args: [{
87
87
  selector: '[autofocus], input[appAutofocus]',
@@ -45,10 +45,10 @@ export class AutoResizeDirective {
45
45
  textarea.style.height = `${newHeight}px`;
46
46
  textarea.style.overflowY = textarea.scrollHeight > maxHeight ? 'auto' : 'hidden';
47
47
  }
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutoResizeDirective, deps: [{ token: i0.ElementRef }, { token: i1.CdkTextareaAutosize }], target: i0.ɵɵFactoryTarget.Directive });
49
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: AutoResizeDirective, selector: "textarea[cdkTextareaAutosize]", inputs: { maxRows: ["cdkAutosizeMaxRows", "maxRows", numberAttribute], minRows: ["cdkAutosizeMinRows", "minRows", numberAttribute] }, host: { listeners: { "input": "onInput()", "paste": "onInput()", "cut": "onInput()", "delete": "onInput()" } }, ngImport: i0 });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoResizeDirective, deps: [{ token: i0.ElementRef }, { token: i1.CdkTextareaAutosize }], target: i0.ɵɵFactoryTarget.Directive });
49
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: AutoResizeDirective, selector: "textarea[cdkTextareaAutosize]", inputs: { maxRows: ["cdkAutosizeMaxRows", "maxRows", numberAttribute], minRows: ["cdkAutosizeMinRows", "minRows", numberAttribute] }, host: { listeners: { "input": "onInput()", "paste": "onInput()", "cut": "onInput()", "delete": "onInput()" } }, ngImport: i0 });
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutoResizeDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoResizeDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: 'textarea[cdkTextareaAutosize]',
@@ -12,10 +12,10 @@ export class AutoTitleDirective {
12
12
  this.elementRef.nativeElement.title = this.elementRef.nativeElement.textContent;
13
13
  }
14
14
  }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutoTitleDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: AutoTitleDirective, selector: "ion-label[appAutoTitle], mat-label[appAutoTitle]", inputs: { appAutoTitle: ["appAutoTitle", "appAutoTitle", booleanAttribute] }, ngImport: i0 });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTitleDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
16
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: AutoTitleDirective, selector: "ion-label[appAutoTitle], mat-label[appAutoTitle]", inputs: { appAutoTitle: ["appAutoTitle", "appAutoTitle", booleanAttribute] }, ngImport: i0 });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutoTitleDirective, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTitleDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: 'ion-label[appAutoTitle], mat-label[appAutoTitle]',
@@ -16,10 +16,10 @@ export class AutoTooltipDirective {
16
16
  this.matTooltip.message = this.elementRef.nativeElement.textContent;
17
17
  }
18
18
  }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutoTooltipDirective, deps: [{ token: ElementRef }, { token: i1.MatTooltip }], target: i0.ɵɵFactoryTarget.Directive });
20
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: AutoTooltipDirective, selector: "ion-label[appAutoTooltip], mat-label[appAutoTooltip]", inputs: { appAutoTooltip: ["appAutoTooltip", "appAutoTooltip", booleanAttribute] }, hostDirectives: [{ directive: i1.MatTooltip }], ngImport: i0 });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTooltipDirective, deps: [{ token: ElementRef }, { token: i1.MatTooltip }], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.13", type: AutoTooltipDirective, selector: "ion-label[appAutoTooltip], mat-label[appAutoTooltip]", inputs: { appAutoTooltip: ["appAutoTooltip", "appAutoTooltip", booleanAttribute] }, hostDirectives: [{ directive: i1.MatTooltip }], ngImport: i0 });
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutoTooltipDirective, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTooltipDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
25
  selector: 'ion-label[appAutoTooltip], mat-label[appAutoTooltip]',
@@ -33,10 +33,10 @@ export class CellIdentifierDirective {
33
33
  return;
34
34
  await this.service?.handleCellMouseEnter(event, this.cellId());
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellIdentifierDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CellIdentifierDirective, isStandalone: true, selector: "[appCellId]", inputs: { cellId: { classPropertyName: "cellId", publicName: "appCellId", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mousedown": "handleMouseDown($event)", "mouseenter": "handleMouseEnter($event)" }, properties: { "class.cell-selected": "isCellSelected()", "class.cell-multiple-selected": "isMultipleCellsSelected()", "class.cell-dragging": "isDragging()", "attr.data-row-id": "cellId().rowId", "attr.data-column-name": "cellId().columnName" } }, ngImport: i0 });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellIdentifierDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: CellIdentifierDirective, isStandalone: true, selector: "[appCellId]", inputs: { cellId: { classPropertyName: "cellId", publicName: "appCellId", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "mousedown": "handleMouseDown($event)", "mouseenter": "handleMouseEnter($event)" }, properties: { "class.cell-selected": "isCellSelected()", "class.cell-multiple-selected": "isMultipleCellsSelected()", "class.cell-dragging": "isDragging()", "attr.data-row-id": "cellId().rowId", "attr.data-column-name": "cellId().columnName" } }, ngImport: i0 });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellIdentifierDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellIdentifierDirective, decorators: [{
40
40
  type: Directive,
41
41
  args: [{
42
42
  selector: '[appCellId]',
@@ -193,10 +193,10 @@ export class CellSelectionDirective {
193
193
  this.renderer.setStyle(overlay, 'height', `${bounds.height}px`);
194
194
  return overlay;
195
195
  }
196
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
197
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: CellSelectionDirective, isStandalone: true, selector: "[appCellSelection]", inputs: { selectableColumns: { classPropertyName: "selectableColumns", publicName: "appSelectableColumns", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "appCellSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "appCellSelectionChange", rightClick: "appCellRightClick" }, ngImport: i0 });
196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellSelectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
197
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: CellSelectionDirective, isStandalone: true, selector: "[appCellSelection]", inputs: { selectableColumns: { classPropertyName: "selectableColumns", publicName: "appSelectableColumns", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "appCellSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectionChange: "appCellSelectionChange", rightClick: "appCellRightClick" }, ngImport: i0 });
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionDirective, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellSelectionDirective, decorators: [{
200
200
  type: Directive,
201
201
  args: [{
202
202
  selector: '[appCellSelection]',
@@ -195,10 +195,10 @@ export class CellSelectionService {
195
195
  // Find the cell with the current indexes
196
196
  return selectedCells.filter((cell) => cell.rowId === rowId && cell.columnName === this.selectableColumns[columnIndex])[0];
197
197
  }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
199
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionService });
198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellSelectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
199
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellSelectionService });
200
200
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellSelectionService, decorators: [{
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellSelectionService, decorators: [{
202
202
  type: Injectable
203
203
  }], ctorParameters: () => [] });
204
204
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1zZWxlY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL2RpcmVjdGl2ZXMvY2VsbC1zZWxlY3Rpb24vY2VsbC1zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRy9DLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksY0FBYyxDQUF1QixzQkFBc0IsQ0FBQyxDQUFDO0FBQ2pILE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLElBQUksY0FBYyxDQUFrQyw0QkFBNEIsQ0FBQyxDQUFDO0FBa0J6STs7OztHQUlHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixnQkFBZ0I7SUFDaEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyx1Q0FBdUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLGlCQUFpQixHQUFhLEVBQUUsQ0FBQztJQUNqQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRWpCLGtCQUFrQjtJQUNWLGNBQWMsR0FBUSxFQUFFLENBQUM7SUFDekIsa0JBQWtCLEdBQWEsSUFBSSxDQUFDO0lBQ3BDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsNEJBQTRCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFekMsYUFBYTtJQUNiLFlBQVksR0FBUSxFQUFFLENBQUM7SUFDZixhQUFhLEdBQWEsSUFBSSxDQUFDO0lBQy9CLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFM0IsY0FBYztJ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QyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUgsQ0FBQzt3R0FoT1Usb0JBQW9COzRHQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc0VtcHR5QXJyYXkgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRXF1YWxzRm4gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBBUFBfQ0VMTF9TRUxFQ1RJT05fU0VSVklDRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDZWxsU2VsZWN0aW9uU2VydmljZT4oJ0NlbGxTZWxlY3Rpb25TZXJ2aWNlJyk7XG5leHBvcnQgY29uc3QgQVBQX0NFTExfU0VMRUNUSU9OX1NFUlZJQ0VfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPENlbGxTZWxlY3Rpb25TZXJ2aWNlQ29uZmlnPGFueT4+KCdDZWxsU2VsZWN0aW9uU2VydmljZUNvbmZpZycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDZWxsSWQge1xuICByb3dJZDogbnVtYmVyO1xuICBjb2x1bW5OYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFNlbGVjdGlvbkV2ZW50PEMgZXh0ZW5kcyBJQ2VsbElkPiB7XG4gIHNlbGVjdGVkQ2VsbHM6IENbXTtcbiAgaXNSYW5nZVNlbGVjdGlvbjogYm9vbGVhbjtcbiAgaXNUb2dnbGVTZWxlY3Rpb246IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2VsbFNlbGVjdGlvblNlcnZpY2VDb25maWc8QyBleHRlbmRzIElDZWxsSWQ+IHtcbiAgZXF1YWxzOiBFcXVhbHNGbjxDPjtcbiAgbmV3OiAoY2VsbElkOiBJQ2VsbElkKSA9PiBDO1xufVxuXG4vKipcbiAqIFNlcnZpY2UgdG8gbWFuYWdlIGNlbGwgc2VsZWN0aW9uIHN0YXRlIGFjcm9zcyBtdWx0aXBsZSBkaXJlY3RpdmUgaW5zdGFuY2VzLlxuICogVGhpcyBzZXJ2aWNlIHNob3VsZCBiZSBwcm92aWRlZCBhdCB0aGUgY29tcG9uZW50IGxldmVsIChub3Qgcm9vdCkgdG8gZW5zdXJlXG4gKiBwcm9wZXIgaXNvbGF0aW9uIGJldHdlZW4gZGlmZmVyZW50IHRhYmxlIGluc3RhbmNlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENlbGxTZWxlY3Rpb25TZXJ2aWNlPEMgZXh0ZW5kcyBJQ2VsbElkID0gSUNlbGxJZD4ge1xuICAvLyBDb25maWd1cmF0aW9uXG4gIGNvbmZpZyA9IGluamVjdChBUFBfQ0VMTF9TRUxFQ1RJT05fU0VSVklDRV9DT05GSUdfVE9LRU4sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHNlbGVjdGFibGVDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8vIFNlbGVjdGlvbiBzdGF0ZVxuICBwcml2YXRlIF9zZWxlY3RlZENlbGxzOiBDW10gPSBbXTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb25TdGFydENlbGw6IEMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBpc1NlbGVjdGluZyA9IGZhbHNlO1xuICBwcml2YXRlIGN1cnJlbnRSYW5nZUNvbHVtbkZpcnN0SW5kZXggPSAtMTtcbiAgcHJpdmF0ZSBjdXJyZW50UmFuZ2VDb2x1bW5MYXN0SW5kZXggPSAtMTtcblxuICAvLyBEcmFnIHN0YXRlXG4gIGRyYWdnZWRDZWxsczogQ1tdID0gW107XG4gIHByaXZhdGUgZHJhZ1N0YXJ0Q2VsbDogQyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICAvLyBPYnNlcnZhYmxlc1xuICByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8Q2VsbFNlbGVjdGlvbkV2ZW50PEM+PigpO1xuICByZWFkb25seSBzZWxlY3Rpb25SaWdodENsaWNrU3ViamVjdCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgLy8gT3ZlcnJpZGFibGUgbWV0aG9kc1xuICBwcml2YXRlIHJlYWRvbmx5IF9lcXVhbHM6IEVxdWFsc0ZuPEM+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9uZXc6IChjZWxsSWQ6IElDZWxsSWQpID0+IEM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fZXF1YWxzID0gdGhpcy5jb25maWc/LmVxdWFscztcbiAgICB0aGlzLl9uZXcgPSB0aGlzLmNvbmZpZz8ubmV3O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgbWV0aG9kXG4gIGVxdWFscyhjZWxsMTogQywgY2VsbDI6IEMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXF1YWxzID8gdGhpcy5fZXF1YWxzKGNlbGwxLCBjZWxsMikgOiBjZWxsMT8ucm93SWQgPT09IGNlbGwyPy5yb3dJZCAmJiBjZWxsMT8uY29sdW1uTmFtZSA9PT0gY2VsbDI/LmNvbHVtbk5hbWU7XG4gIH1cblxuICAvLyBPdmVycmlkZSBtZXRob2RcbiAgbmV3KGNlbGxJZDogSUNlbGxJZCk6IEMge1xuICAgIHJldHVybiB0aGlzLl9uZXcgPyB0aGlzLl9uZXcoY2VsbElkKSA6IChjZWxsSWQgYXMgQyk7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRDZWxscygpOiBDW10ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZENlbGxzO1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkQ2VsbHModmFsdWU6IENbXSkge1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbih2YWx1ZSwgZmFsc2UsIGZhbHNlKTtcbiAgfVxuXG4gIGlzQ2VsbFNlbGVjdGVkKGNlbGxJZDogQyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkQ2VsbHMuc29tZSgoc2VsZWN0ZWRDZWxsKSA9PiB0aGlzLmVxdWFscyhzZWxlY3RlZENlbGwsIGNlbGxJZCkpO1xuICB9XG5cbiAgaXNDZWxsRHJhZ2dlZChjZWxsSWQ6IEMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kcmFnZ2VkQ2VsbHMuc29tZSgoc2VsZWN0ZWRDZWxsKSA9PiB0aGlzLmVxdWFscyhzZWxlY3RlZENlbGwsIGNlbGxJZCkpO1xuICB9XG5cbiAgLy8gQ29yZSBzZWxlY3Rpb24gbG9naWMgKG1vdmVkIGZyb20gQ2VsbElkZW50aWZpZXJEaXJlY3RpdmUpXG4gIGFzeW5jIGhhbmRsZUNlbGxNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQsIGNlbGxJZDogQykge1xuICAgIC8vIFByZXZlbnQgc2VsZWN0aW9uIGlmIGNlbGwncyBjb2x1bW4gaXMgbm90IHNlbGVjdGFibGUgb3IgZGlzYWJsZWRcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5zZWxlY3RhYmxlQ29sdW1ucy5pbmNsdWRlcyhjZWxsSWQuY29sdW1uTmFtZSkpIHtcbiAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbihbXSwgZmFsc2UsIGZhbHNlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgcmlnaHQgY2xpY2tcbiAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAyICYmIHRoaXMuc2VsZWN0aW9uUmlnaHRDbGlja1N1YmplY3Qub2JzZXJ2ZWQpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5zZWxlY3Rpb25SaWdodENsaWNrU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpc0N0cmxLZXkgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG4gICAgY29uc3QgaXNTaGlmdEtleSA9IGV2ZW50LnNoaWZ0S2V5O1xuICAgIGNvbnN0IG5ld0NlbGxJZCA9IHRoaXMubmV3KGNlbGxJZCk7XG5cbiAgICBpZiAoIWlzU2hpZnRLZXkgJiYgIWlzQ3RybEtleSkge1xuICAgICAgdGhpcy5zdGFydFNlbGVjdGlvbihuZXdDZWxsSWQpO1xuICAgICAgLy8gdGhpcy5zdGFydERyYWdTZWxlY3Rpb24oY2VsbCk7XG4gICAgfSBlbHNlIGlmIChpc0N0cmxLZXkpIHtcbiAgICAgIHRoaXMudG9nZ2xlQ2VsbFNlbGVjdGlvbihuZXdDZWxsSWQpO1xuICAgIH0gZWxzZSBpZiAoaXNTaGlmdEtleSkge1xuICAgICAgdGhpcy5zZWxlY3RSYW5nZShuZXdDZWxsSWQpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhbmRsZUNlbGxNb3VzZUVudGVyKGV2ZW50OiBNb3VzZUV2ZW50LCBjZWxsSWQ6IEMpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5zZWxlY3RhYmxlQ29sdW1ucy5pbmNsdWRlcyhjZWxsSWQuY29sdW1uTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVE9ETyBjaGVjayBpZiBuZXh0IGNlbGwgY2FuIGJlIHNlbGVjdGVkXG5cbiAgICBpZiAodGhpcy5pc1NlbGVjdGluZyAmJiB0aGlzLnNlbGVjdGlvblN0YXJ0Q2VsbCkge1xuICAgICAgdGhpcy51cGRhdGVTZWxlY3Rpb24oY2VsbElkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEcmFnZ2luZyAmJiB0aGlzLmRyYWdTdGFydENlbGwpIHtcbiAgICAgIHRoaXMudXBkYXRlRHJhZ2dlZENlbGxzKGNlbGxJZCk7XG4gICAgfVxuICB9XG5cbiAgZW5kTW91c2VNb3ZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0aW5nKSB7XG4gICAgICB0aGlzLnJlc2V0U2VsZWN0aW9uU3RhdGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgdGhpcy5yZXNldERyYWdTdGF0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByaXZhdGUgaGVscGVyIG1ldGhvZHNcbiAgcHJpdmF0ZSBzdGFydFNlbGVjdGlvbihjZWxsSWQ6IEMpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvblN0YXJ0Q2VsbCA9IGNlbGxJZDtcbiAgICB0aGlzLmlzU2VsZWN0aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmN1cnJlbnRSYW5nZUNvbHVtbkZpcnN0SW5kZXggPSAtMTtcbiAgICB0aGlzLmN1cnJlbnRSYW5nZUNvbHVtbkxhc3RJbmRleCA9IC0xO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbihbY2VsbElkXSwgZmFsc2UsIGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnREcmFnU2VsZWN0aW9uKGNlbGxJZDogQyk6IHZvaWQge1xuICAgIHRoaXMuZHJhZ1N0YXJ0Q2VsbCA9IGNlbGxJZDtcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgIHRoaXMuZHJhZ2dlZENlbGxzID0gW2NlbGxJZF07XG4gICAgLy8gdGhpcy5lbWl0U2VsZWN0aW9uKFtjZWxsSWRdLCBmYWxzZSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVDZWxsU2VsZWN0aW9uKGNlbGxJZDogQyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRDZWxscyA9IFsuLi50aGlzLnNlbGVjdGVkQ2VsbHNdO1xuICAgIGNvbnN0IGNlbGxJbmRleCA9IGN1cnJlbnRDZWxscy5maW5kSW5kZXgoKGMpID0+IHRoaXMuZXF1YWxzKGMsIGNlbGxJZCkpO1xuXG4gICAgaWYgKGNlbGxJbmRleCA+PSAwKSB7XG4gICAgICBjdXJyZW50Q2VsbHMuc3BsaWNlKGNlbGxJbmRleCwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnRDZWxscy5wdXNoKGNlbGxJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0U2VsZWN0aW9uKGN1cnJlbnRDZWxscywgZmFsc2UsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RSYW5nZShlbmRDZWxsOiBDKTogdm9pZCB7XG4gICAgY29uc3QgcmFuZ2VDZWxscyA9IHRoaXMuY2FsY3VsYXRlUmFuZ2VDZWxscyhlbmRDZWxsKTtcbiAgICB0aGlzLmVtaXRTZWxlY3Rpb24ocmFuZ2VDZWxscywgdHJ1ZSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3Rpb24oY3VycmVudENlbGw6IEMpOiB2b2lkIHtcbiAgICBjb25zdCByYW5nZUNlbGxzID0gdGhpcy5jYWxjdWxhdGVSYW5nZUJldHdlZW5DZWxscyh0aGlzLnNlbGVjdGlvblN0YXJ0Q2VsbCwgY3VycmVudENlbGwpO1xuICAgIHRoaXMuZW1pdFNlbGVjdGlvbihyYW5nZUNlbGxzLCB0cnVlLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURyYWdnZWRDZWxscyhjdXJyZW50Q2VsbDogQyk6IHZvaWQge1xuICAgIC8vIHRoaXMuZHJhZ2dlZENlbGxzLnNldChyYW5nZUNlbGxzKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFNlbGVjdGlvbihjZWxsczogQ1tdLCBpc1JhbmdlOiBib29sZWFuLCBpc1RvZ2dsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkQ2VsbHMgPSBjZWxscztcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZVN1YmplY3QubmV4dCh7XG4gICAgICBzZWxlY3RlZENlbGxzOiBjZWxscyxcbiAgICAgIGlzUmFuZ2VTZWxlY3Rpb246IGlzUmFuZ2UsXG4gICAgICBpc1RvZ2dsZVNlbGVjdGlvbjogaXNUb2dnbGUsXG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVSYW5nZUNlbGxzKGVuZENlbGw6IEMpOiBDW10ge1xuICAgIGlmIChpc0VtcHR5QXJyYXkodGhpcy5zZWxlY3RlZENlbGxzKSkge1xuICAgICAgdGhpcy5jdXJyZW50UmFuZ2VDb2x1bW5GaXJzdEluZGV4ID0gLTE7XG4gICAgICB0aGlzLmN1cnJlbnRSYW5nZUNvbHVtbkxhc3RJbmRleCA9IC0xO1xuICAgICAgcmV0dXJuIFtlbmRDZWxsXTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0U2VsZWN0ZWRDZWxsID0gdGhpcy5maW5kRmlyc3RTZWxlY3RlZENlbGwodGhpcy5zZWxlY3RlZENlbGxzKTtcbiAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVSYW5nZUJldHdlZW5DZWxscyhsYXN0U2VsZWN0ZWRDZWxsLCBlbmRDZWxsKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVJhbmdlQmV0d2VlbkNlbGxzKHN0YXJ0Q2VsbDogQywgZW5kQ2VsbDogQyk6IENbXSB7XG4gICAgLy8gR2V0IGZpcnN0IGNlbGwgY29vcmRpbmF0ZXMsIHRoZW4gYWRkIHRoaXMgY2VsbCBhcyBhIHJhbmdlXG4gICAgY29uc3QgZmlyc3RSb3dJZCA9IE1hdGgubWluKHN0YXJ0Q2VsbC5yb3dJZCwgZW5kQ2VsbC5yb3dJZCk7XG4gICAgY29uc3QgbGFzdFJvd0lkID0gTWF0aC5tYXgoc3RhcnRDZWxsLnJvd0lkLCBlbmRDZWxsLnJvd0lkKTtcbiAgICBjb25zdCBzdGFydENvbHVtbkluZGV4ID0gdGhpcy5zZWxlY3RhYmxlQ29sdW1ucy5pbmRleE9mKHN0YXJ0Q2VsbC5jb2x1bW5OYW1lKTtcbiAgICBjb25zdCBlbmRDb2x1bW5JbmRleCA9IHRoaXMuc2VsZWN0YWJsZUNvbHVtbnMuaW5kZXhPZihlbmRDZWxsLmNvbHVtbk5hbWUpO1xuICAgIGlmIChlbmRDb2x1bW5JbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlQ29sdW1uRmlyc3RJbmRleCA9IE1hdGgubWluKHN0YXJ0Q29sdW1uSW5kZXgsIGVuZENvbHVtbkluZGV4KTtcbiAgICAgIHRoaXMuY3VycmVudFJhbmdlQ29sdW1uTGFzdEluZGV4ID0gTWF0aC5tYXgoc3RhcnRDb2x1bW5JbmRleCwgZW5kQ29sdW1uSW5kZXgpO1xuICAgIH1cbiAgICAvLyBJdGVyYXRlIGNvbHVtbnMgYW5kIHJvd3NcbiAgICBjb25zdCByYW5nZUNlbGxzOiBDW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5jdXJyZW50UmFuZ2VDb2x1bW5GaXJzdEluZGV4OyBpIDw9IHRoaXMuY3VycmVudFJhbmdlQ29sdW1uTGFzdEluZGV4OyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSB0aGlzLnNlbGVjdGFibGVDb2x1bW5zW2ldO1xuICAgICAgZm9yIChsZXQgcm93SWQgPSBmaXJzdFJvd0lkOyByb3dJZCA8PSBsYXN0Um93SWQ7IHJvd0lkKyspIHtcbiAgICAgICAgcmFuZ2VDZWxscy5wdXNoKHRoaXMubmV3KHsgcm93SWQ6IHJvd0lkLCBjb2x1bW5OYW1lOiBjb2x1bW5OYW1lIH0pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmFuZ2VDZWxscztcbiAgfVxuXG4gIHJlc2V0U2VsZWN0aW9uU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25TdGFydENlbGwgPSBudWxsO1xuICAgIHRoaXMuaXNTZWxlY3RpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc2V0RHJhZ1N0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJhZ1N0YXJ0Q2VsbCA9IG51bGw7XG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgdGhpcy5kcmFnZ2VkQ2VsbHMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpcnN0U2VsZWN0ZWRDZWxsKHNlbGVjdGVkQ2VsbHM6IENbXSk6IEMge1xuICAgIC8vIEZpbmQgdGhlIGNlbGwgd2l0aCB0aGUgbG93ZXN0IHJvd0lkIGFuZCBjb2x1bW5JbmRleFxuICAgIHJldHVybiB0aGlzLmZpbmRTZWxlY3RlZENlbGwoXG4gICAgICBzZWxlY3RlZENlbGxzLFxuICAgICAgTWF0aC5taW4oLi4uc2VsZWN0ZWRDZWxscy5tYXAoKGNlbGwpID0+IGNlbGwucm93SWQpKSxcbiAgICAgIE1hdGgubWluKC4uLnNlbGVjdGVkQ2VsbHMubWFwKChjZWxsKSA9PiB0aGlzLnNlbGVjdGFibGVDb2x1bW5zLmluZGV4T2YoY2VsbC5jb2x1bW5OYW1lKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZExhc3RTZWxlY3RlZENlbGwoc2VsZWN0ZWRDZWxsczogQ1tdKTogQyB7XG4gICAgLy8gRmluZCB0aGUgY2VsbCB3aXRoIHRoZSBsb3dlc3Qgcm93SWQgYW5kIGNvbHVtbkluZGV4XG4gICAgcmV0dXJuIHRoaXMuZmluZFNlbGVjdGVkQ2VsbChcbiAgICAgIHNlbGVjdGVkQ2VsbHMsXG4gICAgICBNYXRoLm1heCguLi5zZWxlY3RlZENlbGxzLm1hcCgoY2VsbCkgPT4gY2VsbC5yb3dJZCkpLFxuICAgICAgTWF0aC5tYXgoLi4uc2VsZWN0ZWRDZWxscy5tYXAoKGNlbGwpID0+IHRoaXMuc2VsZWN0YWJsZUNvbHVtbnMuaW5kZXhPZihjZWxsLmNvbHVtbk5hbWUpKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWRDZWxsKHNlbGVjdGVkQ2VsbHM6IENbXSwgcm93SWQ6IG51bWJlciwgY29sdW1uSW5kZXg6IG51bWJlcik6IEMge1xuICAgIC8vIEZpbmQgdGhlIGNlbGwgd2l0aCB0aGUgY3VycmVudCBpbmRleGVzXG4gICAgcmV0dXJuIHNlbGVjdGVkQ2VsbHMuZmlsdGVyKChjZWxsKSA9PiBjZWxsLnJvd0lkID09PSByb3dJZCAmJiBjZWxsLmNvbHVtbk5hbWUgPT09IHRoaXMuc2VsZWN0YWJsZUNvbHVtbnNbY29sdW1uSW5kZXhdKVswXTtcbiAgfVxufVxuIl19
@@ -10,8 +10,8 @@ import { AutoResizeDirective } from './autoresize.directive';
10
10
  import { AutoTooltipDirective } from './autotooltip.directive';
11
11
  import * as i0 from "@angular/core";
12
12
  export class SharedDirectivesModule {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, declarations: [AutofocusDirective,
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SharedDirectivesModule, declarations: [AutofocusDirective,
15
15
  NgVarDirective,
16
16
  DragAndDropDirective,
17
17
  AutoTitleDirective,
@@ -24,9 +24,9 @@ export class SharedDirectivesModule {
24
24
  ThrottledClickDirective,
25
25
  AutoResizeDirective,
26
26
  AutoTooltipDirective] });
27
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, imports: [CommonModule, IonicModule] });
27
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedDirectivesModule, imports: [CommonModule, IonicModule] });
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SharedDirectivesModule, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedDirectivesModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  imports: [CommonModule, IonicModule],
@@ -26,10 +26,10 @@ export class DragAndDropDirective {
26
26
  this.fileDropped.emit(files);
27
27
  }
28
28
  }
29
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
30
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.fileover": "this.fileOver" } }, ngImport: i0 });
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragAndDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
30
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DragAndDropDirective, selector: "[appDragAndDrop]", outputs: { fileDropped: "fileDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "ondrop($event)" }, properties: { "class.fileover": "this.fileOver" } }, ngImport: i0 });
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DragAndDropDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DragAndDropDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: '[appDragAndDrop]',
@@ -19,10 +19,10 @@ export class NgVarDirective {
19
19
  this.templateRef = templateRef;
20
20
  this.vcRef = vcRef;
21
21
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgVarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: NgVarDirective, selector: "[ngVar]", inputs: { ngVar: "ngVar" }, ngImport: i0 });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NgVarDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgVarDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: '[ngVar]',
@@ -37,10 +37,10 @@ export class ResizableComponent {
37
37
  this.sizeChanged.emit(undefined);
38
38
  }
39
39
  }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableComponent, deps: [{ token: i1.MatColumnDef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ResizableComponent, selector: "th[resizable]", inputs: { resizable: "resizable" }, outputs: { sizeChanged: "sizeChanged" }, host: { properties: { "style.width": "this.width", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center;position:relative;height:var(--app-table-header-height, 100%)}.content{flex:1}.bar{position:relative;width:16px;justify-self:flex-end;cursor:ew-resize;opacity:0;transition:opacity .2s ease-in-out}.bar:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--ion-color-medium, #92949c);border-radius:1px;transition:all .2s ease-in-out}.bar:after{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:16px;background-image:radial-gradient(circle,var(--ion-color-medium-shade, #808289) 1.5px,transparent 1.5px);background-size:4px 5px;background-position:center;opacity:0;transition:opacity .2s ease-in-out}.bar:hover{opacity:1}.bar:hover:before{background:var(--ion-color-primary, #3880ff);height:32px;width:6px;box-shadow:0 0 8px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4)}.bar:hover:after{opacity:1}.bar:active{opacity:1}.bar:active:before{background:var(--ion-color-primary-shade, #3171e0);height:40px;width:6px;box-shadow:0 0 12px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.6)}.bar:active:after{opacity:0}:host:hover .bar{opacity:.6}:host-context(.mat-table-sticky) .bar{width:18px}:host-context(.dark-theme) .bar:before,:host-context([color-scheme=dark]) .bar:before{background:var(--ion-color-medium-tint, #a2a4ab)}:host-context(.dark-theme) .bar:hover:before,:host-context([color-scheme=dark]) .bar:hover:before{background:var(--ion-color-primary-tint, #4c8dff)}:host-context(.dark-theme) .bar:active:before,:host-context([color-scheme=dark]) .bar:active:before{background:var(--ion-color-primary, #3880ff)}\n"], dependencies: [{ kind: "directive", type: i2.ResizableDirective, selector: "[resizable]", inputs: ["minWidth"], outputs: ["resizable", "fit"] }] });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableComponent, deps: [{ token: i1.MatColumnDef, optional: true }], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResizableComponent, selector: "th[resizable]", inputs: { resizable: "resizable" }, outputs: { sizeChanged: "sizeChanged" }, host: { properties: { "style.width": "this.width", "style.min-width": "this.minWidth", "style.max-width": "this.maxWidth" } }, ngImport: i0, template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center;position:relative;height:var(--app-table-header-height, 100%)}.content{flex:1}.bar{position:relative;width:16px;justify-self:flex-end;cursor:ew-resize;opacity:0;transition:opacity .2s ease-in-out}.bar:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--ion-color-medium, #92949c);border-radius:1px;transition:all .2s ease-in-out}.bar:after{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:16px;background-image:radial-gradient(circle,var(--ion-color-medium-shade, #808289) 1.5px,transparent 1.5px);background-size:4px 5px;background-position:center;opacity:0;transition:opacity .2s ease-in-out}.bar:hover{opacity:1}.bar:hover:before{background:var(--ion-color-primary, #3880ff);height:32px;width:6px;box-shadow:0 0 8px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4)}.bar:hover:after{opacity:1}.bar:active{opacity:1}.bar:active:before{background:var(--ion-color-primary-shade, #3171e0);height:40px;width:6px;box-shadow:0 0 12px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.6)}.bar:active:after{opacity:0}:host:hover .bar{opacity:.6}:host-context(.mat-table-sticky) .bar{width:18px}:host-context(.dark-theme) .bar:before,:host-context([color-scheme=dark]) .bar:before{background:var(--ion-color-medium-tint, #a2a4ab)}:host-context(.dark-theme) .bar:hover:before,:host-context([color-scheme=dark]) .bar:hover:before{background:var(--ion-color-primary-tint, #4c8dff)}:host-context(.dark-theme) .bar:active:before,:host-context([color-scheme=dark]) .bar:active:before{background:var(--ion-color-primary, #3880ff)}\n"], dependencies: [{ kind: "directive", type: i2.ResizableDirective, selector: "[resizable]", inputs: ["minWidth"], outputs: ["resizable", "fit"] }] });
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'th[resizable]', template: "<div class=\"wrapper\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <div class=\"bar\" [class.cdk-visually-hidden]=\"!resizable\" (resizable)=\"onResize($event)\" (fit)=\"onFit()\"></div>\n</div>\n", styles: [":host:last-child .bar{display:none}.wrapper{display:flex;justify-content:flex-end;align-items:center;position:relative;height:var(--app-table-header-height, 100%)}.content{flex:1}.bar{position:relative;width:16px;justify-self:flex-end;cursor:ew-resize;opacity:0;transition:opacity .2s ease-in-out}.bar:before{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--ion-color-medium, #92949c);border-radius:1px;transition:all .2s ease-in-out}.bar:after{content:\"\";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:16px;background-image:radial-gradient(circle,var(--ion-color-medium-shade, #808289) 1.5px,transparent 1.5px);background-size:4px 5px;background-position:center;opacity:0;transition:opacity .2s ease-in-out}.bar:hover{opacity:1}.bar:hover:before{background:var(--ion-color-primary, #3880ff);height:32px;width:6px;box-shadow:0 0 8px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4)}.bar:hover:after{opacity:1}.bar:active{opacity:1}.bar:active:before{background:var(--ion-color-primary-shade, #3171e0);height:40px;width:6px;box-shadow:0 0 12px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.6)}.bar:active:after{opacity:0}:host:hover .bar{opacity:.6}:host-context(.mat-table-sticky) .bar{width:18px}:host-context(.dark-theme) .bar:before,:host-context([color-scheme=dark]) .bar:before{background:var(--ion-color-medium-tint, #a2a4ab)}:host-context(.dark-theme) .bar:hover:before,:host-context([color-scheme=dark]) .bar:hover:before{background:var(--ion-color-primary-tint, #4c8dff)}:host-context(.dark-theme) .bar:active:before,:host-context([color-scheme=dark]) .bar:active:before{background:var(--ion-color-primary, #3880ff)}\n"] }]
46
46
  }], ctorParameters: () => [{ type: i1.MatColumnDef, decorators: [{
@@ -71,10 +71,10 @@ export class ResizableDirective {
71
71
  const calculatedMinWidth = containerWidth - otherColumnsWidth;
72
72
  return Math.min(calculatedMinWidth, this.minWidth);
73
73
  }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
75
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ResizableDirective, selector: "[resizable]", inputs: { minWidth: "minWidth" }, outputs: { resizable: "resizable", fit: "fit" }, ngImport: i0 });
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableDirective, deps: [{ token: DOCUMENT }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
75
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ResizableDirective, selector: "[resizable]", inputs: { minWidth: "minWidth" }, outputs: { resizable: "resizable", fit: "fit" }, ngImport: i0 });
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizableDirective, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResizableDirective, decorators: [{
78
78
  type: Directive,
79
79
  args: [{
80
80
  // eslint-disable-next-line @angular-eslint/directive-selector