@sumaris-net/ngx-components 4.0.0-rc9 → 18.0.0

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 (555) hide show
  1. package/README.md +5 -3
  2. package/doc/changelog.md +522 -280
  3. package/esm2022/public_api.mjs +38 -19
  4. package/esm2022/src/app/admin/admin-routing.module.mjs +10 -17
  5. package/esm2022/src/app/admin/admin.module.mjs +7 -9
  6. package/esm2022/src/app/admin/services/filter/person.filter.mjs +3 -3
  7. package/esm2022/src/app/admin/services/person.service.mjs +31 -31
  8. package/esm2022/src/app/admin/services/validator/person.validator.mjs +10 -10
  9. package/esm2022/src/app/admin/users/users.mjs +22 -19
  10. package/esm2022/src/app/admin/users/users.module.mjs +8 -10
  11. package/esm2022/src/app/core/about/about.modal.mjs +7 -7
  12. package/esm2022/src/app/core/about/about.module.mjs +8 -21
  13. package/esm2022/src/app/core/account/account.module.mjs +28 -18
  14. package/esm2022/src/app/core/account/account.page.mjs +19 -5
  15. package/esm2022/src/app/core/account/new-token.form.mjs +106 -0
  16. package/esm2022/src/app/core/account/new-token.modal.mjs +27 -86
  17. package/esm2022/src/app/core/account/password/change-password.form.mjs +60 -0
  18. package/esm2022/src/app/core/account/password/change-password.module.mjs +22 -0
  19. package/esm2022/src/app/core/account/password/change-password.page.mjs +144 -0
  20. package/esm2022/src/app/core/account/token.table.mjs +47 -35
  21. package/esm2022/src/app/core/auth/auth.form.mjs +47 -28
  22. package/esm2022/src/app/core/auth/auth.modal.mjs +6 -6
  23. package/esm2022/src/app/core/auth/auth.module.mjs +22 -13
  24. package/esm2022/src/app/core/auth/reset-password.modal.mjs +77 -0
  25. package/esm2022/src/app/core/core.module.mjs +28 -61
  26. package/esm2022/src/app/core/core.testing.module.mjs +34 -20
  27. package/esm2022/src/app/core/form/array/form-array.mjs +325 -0
  28. package/esm2022/src/app/core/form/array/testing/form-array-test.module.mjs +23 -0
  29. package/esm2022/src/app/core/form/array/testing/form-array.test.mjs +94 -0
  30. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +24 -25
  31. package/esm2022/src/app/core/form/buttons/form-buttons-bar.module.mjs +9 -13
  32. package/esm2022/src/app/core/form/entity/editor.class.mjs +64 -517
  33. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +26 -42
  34. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +42 -41
  35. package/esm2022/src/app/core/form/entity/entity-metadata.component.mjs +5 -5
  36. package/esm2022/src/app/core/form/entity/entity.module.mjs +8 -14
  37. package/esm2022/src/app/core/form/entity/tab-editor.class.mjs +194 -0
  38. package/esm2022/src/app/core/form/form-container.class.mjs +327 -0
  39. package/esm2022/src/app/core/form/form.class.mjs +39 -56
  40. package/esm2022/src/app/core/form/form.module.mjs +14 -10
  41. package/esm2022/src/app/core/form/form.utils.mjs +23 -306
  42. package/esm2022/src/app/core/form/list/list.form.mjs +16 -14
  43. package/esm2022/src/app/core/form/list/list.module.mjs +8 -12
  44. package/esm2022/src/app/core/form/properties/properties.form.mjs +139 -57
  45. package/esm2022/src/app/core/form/properties/properties.module.mjs +9 -15
  46. package/esm2022/src/app/core/form/properties/properties.table.mjs +27 -28
  47. package/esm2022/src/app/core/form/properties/properties.utils.mjs +60 -0
  48. package/esm2022/src/app/core/form/properties/property.validator.mjs +23 -9
  49. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +18 -18
  50. package/esm2022/src/app/core/form/properties/testing/properties-form.testing.module.mjs +8 -24
  51. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.mjs +15 -15
  52. package/esm2022/src/app/core/form/text-popover/testing/text-popover.testing.module.mjs +10 -25
  53. package/esm2022/src/app/core/form/text-popover/text-popover.component.mjs +7 -7
  54. package/esm2022/src/app/core/form/text-popover/text-popover.module.mjs +9 -13
  55. package/esm2022/src/app/core/form/username/username.form.mjs +52 -0
  56. package/esm2022/src/app/core/form/username/username.module.mjs +20 -0
  57. package/esm2022/src/app/core/graphql/graphql.module.mjs +8 -16
  58. package/esm2022/src/app/core/graphql/graphql.service.mjs +101 -109
  59. package/esm2022/src/app/core/graphql/graphql.utils.mjs +12 -11
  60. package/esm2022/src/app/core/home/home.mjs +81 -52
  61. package/esm2022/src/app/core/home/home.module.mjs +10 -19
  62. package/esm2022/src/app/core/icon/icon.component.mjs +5 -5
  63. package/esm2022/src/app/core/icon/icon.module.mjs +8 -17
  64. package/esm2022/src/app/core/install/install-upgrade-card.component.mjs +33 -37
  65. package/esm2022/src/app/core/install/install-upgrade-card.module.mjs +9 -13
  66. package/esm2022/src/app/core/menu/menu.component.mjs +5 -6
  67. package/esm2022/src/app/core/menu/menu.model.mjs +21 -18
  68. package/esm2022/src/app/core/menu/menu.module.mjs +7 -12
  69. package/esm2022/src/app/core/menu/menu.service.mjs +44 -60
  70. package/esm2022/src/app/core/menu/sub-menu-tab.directive.mjs +4 -4
  71. package/esm2022/src/app/core/menu/testing/menu-other.testing.mjs +7 -6
  72. package/esm2022/src/app/core/menu/testing/menu.testing.mjs +43 -8
  73. package/esm2022/src/app/core/menu/testing/menu.testing.module.mjs +8 -27
  74. package/esm2022/src/app/core/offline/update-offline-mode-card.component.mjs +6 -7
  75. package/esm2022/src/app/core/offline/update-offline-mode-card.module.mjs +9 -13
  76. package/esm2022/src/app/core/peer/select-peer.modal.mjs +31 -21
  77. package/esm2022/src/app/core/peer/select-peer.module.mjs +11 -23
  78. package/esm2022/src/app/core/register/register-confirm.page.mjs +18 -16
  79. package/esm2022/src/app/core/register/register.form.mjs +7 -7
  80. package/esm2022/src/app/core/register/register.modal.mjs +6 -6
  81. package/esm2022/src/app/core/register/register.module.mjs +8 -29
  82. package/esm2022/src/app/core/services/account.service.mjs +272 -170
  83. package/esm2022/src/app/core/services/auth-guard.service.mjs +13 -15
  84. package/esm2022/src/app/core/services/base-entity-service.class.mjs +55 -64
  85. package/esm2022/src/app/core/services/base-graphql-service.class.mjs +39 -33
  86. package/esm2022/src/app/core/services/base58.mjs +8 -4
  87. package/esm2022/src/app/core/services/config/core.config.mjs +88 -37
  88. package/esm2022/src/app/core/services/config.service.mjs +81 -62
  89. package/esm2022/src/app/core/services/crypto.service.mjs +11 -11
  90. package/esm2022/src/app/core/services/errors.mjs +6 -5
  91. package/esm2022/src/app/core/services/local-settings.service.mjs +58 -44
  92. package/esm2022/src/app/core/services/model/account.model.mjs +12 -17
  93. package/esm2022/src/app/core/services/model/config.model.mjs +7 -7
  94. package/esm2022/src/app/core/services/model/department.model.mjs +3 -2
  95. package/esm2022/src/app/core/services/model/entity.decorators.mjs +6 -6
  96. package/esm2022/src/app/core/services/model/entity.model.mjs +27 -31
  97. package/esm2022/src/app/core/services/model/filter.model.mjs +12 -15
  98. package/esm2022/src/app/core/services/model/history.model.mjs +1 -1
  99. package/esm2022/src/app/core/services/model/model.enum.mjs +2 -2
  100. package/esm2022/src/app/core/services/model/peer.model.mjs +19 -9
  101. package/esm2022/src/app/core/services/model/person.model.mjs +26 -22
  102. package/esm2022/src/app/core/services/model/referential.model.mjs +36 -23
  103. package/esm2022/src/app/core/services/model/settings.model.mjs +2 -1
  104. package/esm2022/src/app/core/services/model/token.model.mjs +7 -3
  105. package/esm2022/src/app/core/services/model/tree-item-entity.model.mjs +3 -7
  106. package/esm2022/src/app/core/services/network.service.mjs +99 -76
  107. package/esm2022/src/app/core/services/network.types.mjs +1 -1
  108. package/esm2022/src/app/core/services/network.utils.mjs +3 -3
  109. package/esm2022/src/app/core/services/pipes/account.pipes.mjs +11 -11
  110. package/esm2022/src/app/core/services/pipes/department-to-string.pipe.mjs +6 -6
  111. package/esm2022/src/app/core/services/pipes/person-to-string.pipe.mjs +9 -9
  112. package/esm2022/src/app/core/services/pipes/pipes.module.mjs +54 -0
  113. package/esm2022/src/app/core/services/pipes/referential-to-string.pipe.mjs +21 -0
  114. package/esm2022/src/app/core/services/pipes/usage-mode.pipes.mjs +11 -11
  115. package/esm2022/src/app/core/services/platform.service.mjs +102 -69
  116. package/esm2022/src/app/core/services/storage/entities-storage.service.mjs +32 -39
  117. package/esm2022/src/app/core/services/storage/entity-store.class.mjs +36 -45
  118. package/esm2022/src/app/core/services/testing/referential-filter.model.mjs +1 -1
  119. package/esm2022/src/app/core/services/testing/referential.validator.mjs +14 -14
  120. package/esm2022/src/app/core/services/validator/account.validator.mjs +5 -5
  121. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +5 -5
  122. package/esm2022/src/app/core/services/validator/local-settings.validator.mjs +34 -20
  123. package/esm2022/src/app/core/services/validator/user-settings.validator.mjs +5 -5
  124. package/esm2022/src/app/core/services/validator/user-token.validator.mjs +12 -9
  125. package/esm2022/src/app/core/settings/settings.module.mjs +9 -21
  126. package/esm2022/src/app/core/settings/settings.page.mjs +76 -63
  127. package/esm2022/src/app/core/table/async-table.class.mjs +219 -201
  128. package/esm2022/src/app/core/table/column/actions-column.component.mjs +127 -0
  129. package/esm2022/src/app/core/table/column/nav-actions-column.component.mjs +117 -0
  130. package/esm2022/src/app/core/table/column/row-field.component.mjs +116 -0
  131. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +31 -33
  132. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +36 -36
  133. package/esm2022/src/app/core/table/memory-table.class.mjs +5 -5
  134. package/esm2022/src/app/core/table/table-select-columns.component.mjs +8 -8
  135. package/esm2022/src/app/core/table/table.class.mjs +193 -152
  136. package/esm2022/src/app/core/table/table.model.mjs +1 -1
  137. package/esm2022/src/app/core/table/table.module.mjs +35 -24
  138. package/esm2022/src/app/core/table/table.pipes.mjs +77 -0
  139. package/esm2022/src/app/core/table/table.utils.mjs +2 -4
  140. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +9 -5
  141. package/esm2022/src/app/core/table/testing/table.testing.mjs +116 -78
  142. package/esm2022/src/app/core/table/testing/table.testing.module.mjs +8 -33
  143. package/esm2022/src/app/core/table/testing/table2-validator.service.mjs +4 -4
  144. package/esm2022/src/app/core/table/testing/table2.testing.mjs +68 -45
  145. package/esm2022/src/app/shared/alerts.mjs +49 -45
  146. package/esm2022/src/app/shared/audio/audio.mjs +25 -27
  147. package/esm2022/src/app/shared/audio/audio.testing.mjs +5 -5
  148. package/esm2022/src/app/shared/audio/audio.testing.module.mjs +10 -25
  149. package/esm2022/src/app/shared/capacitor/keyboard.mjs +5 -5
  150. package/esm2022/src/app/shared/capacitor/plugins.mjs +1 -1
  151. package/esm2022/src/app/shared/constants.mjs +9 -4
  152. package/esm2022/src/app/shared/dates.mjs +18 -16
  153. package/esm2022/src/app/shared/debug/debug-service.class.mjs +1 -1
  154. package/esm2022/src/app/shared/debug/debug.component.mjs +5 -5
  155. package/esm2022/src/app/shared/debug/debug.module.mjs +8 -29
  156. package/esm2022/src/app/shared/directives/autofocus.directive.mjs +8 -15
  157. package/esm2022/src/app/shared/directives/autotitle.directive.mjs +4 -4
  158. package/esm2022/src/app/shared/directives/directives.module.mjs +8 -29
  159. package/esm2022/src/app/shared/directives/drag-and-drop.directive.mjs +4 -4
  160. package/esm2022/src/app/shared/directives/ng-var.directive.mjs +4 -4
  161. package/esm2022/src/app/shared/directives/resizable/resizable.component.mjs +4 -4
  162. package/esm2022/src/app/shared/directives/resizable/resizable.directive.mjs +4 -4
  163. package/esm2022/src/app/shared/directives/resizable/resizable.module.mjs +4 -4
  164. package/esm2022/src/app/shared/events.mjs +6 -8
  165. package/esm2022/src/app/shared/file/csv.utils.mjs +38 -18
  166. package/esm2022/src/app/shared/file/file.service.mjs +11 -15
  167. package/esm2022/src/app/shared/file/file.utils.mjs +13 -11
  168. package/esm2022/src/app/shared/file/images.utils.mjs +29 -4
  169. package/esm2022/src/app/shared/file/json.utils.mjs +11 -4
  170. package/esm2022/src/app/shared/file/uri.utils.mjs +1 -1
  171. package/esm2022/src/app/shared/focusable.mjs +1 -1
  172. package/esm2022/src/app/shared/form/field.component.mjs +69 -43
  173. package/esm2022/src/app/shared/form/field.model.mjs +4 -4
  174. package/esm2022/src/app/shared/form/loading-spinner.mjs +5 -5
  175. package/esm2022/src/app/shared/forms.mjs +116 -43
  176. package/esm2022/src/app/shared/functions.mjs +139 -71
  177. package/esm2022/src/app/shared/geolocation/geolocation.utils.mjs +14 -14
  178. package/esm2022/src/app/shared/gesture/gesture-config.mjs +10 -10
  179. package/esm2022/src/app/shared/gesture/hammer.utils.mjs +1 -1
  180. package/esm2022/src/app/shared/graph/colors.utils.mjs +14 -18
  181. package/esm2022/src/app/shared/graph/graph-colors.mjs +23 -29
  182. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +4 -4
  183. package/esm2022/src/app/shared/help/help.modal.mjs +6 -6
  184. package/esm2022/src/app/shared/hotkeys/dialog/hotkeys-dialog.component.mjs +5 -5
  185. package/esm2022/src/app/shared/hotkeys/hotkeys.service.mjs +44 -17
  186. package/esm2022/src/app/shared/hotkeys/shared-hotkeys.module.mjs +9 -27
  187. package/esm2022/src/app/shared/http/http.utils.mjs +15 -11
  188. package/esm2022/src/app/shared/image/gallery/image-gallery.component.mjs +27 -27
  189. package/esm2022/src/app/shared/image/gallery/image-gallery.module.mjs +13 -10
  190. package/esm2022/src/app/shared/image/gallery/testing/gallegry.model.testing.mjs +1 -1
  191. package/esm2022/src/app/shared/image/gallery/testing/gallery.service.testing.mjs +14 -17
  192. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.mjs +9 -13
  193. package/esm2022/src/app/shared/image/gallery/testing/gallery.testing.module.mjs +14 -11
  194. package/esm2022/src/app/shared/image/image.model.mjs +1 -1
  195. package/esm2022/src/app/shared/image/image.module.mjs +8 -13
  196. package/esm2022/src/app/shared/image/image.service.mjs +14 -12
  197. package/esm2022/src/app/shared/inputs.mjs +52 -20
  198. package/esm2022/src/app/shared/interceptors/progess.interceptor.mjs +2 -3
  199. package/esm2022/src/app/shared/logging/log-level.model.mjs +1 -1
  200. package/esm2022/src/app/shared/logging/logger.model.mjs +2 -2
  201. package/esm2022/src/app/shared/logging/logging-service.class.mjs +17 -20
  202. package/esm2022/src/app/shared/logging/logging-service.module.mjs +6 -6
  203. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +7 -10
  204. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +348 -238
  205. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.module.mjs +13 -16
  206. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.utils.mjs +5 -4
  207. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +51 -37
  208. package/esm2022/src/app/shared/material/badge/badge.directive.mjs +99 -57
  209. package/esm2022/src/app/shared/material/badge/badge.module.mjs +8 -20
  210. package/esm2022/src/app/shared/material/badge/badge.test.mjs +5 -5
  211. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +19 -20
  212. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +209 -104
  213. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +15 -8
  214. package/esm2022/src/app/shared/material/chips/chips.module.mjs +12 -13
  215. package/esm2022/src/app/shared/material/chips/material.chips.mjs +228 -168
  216. package/esm2022/src/app/shared/material/chips/testing/chips.test.mjs +20 -21
  217. package/esm2022/src/app/shared/material/datetime/datetime.module.mjs +12 -27
  218. package/esm2022/src/app/shared/material/datetime/material.date.mjs +167 -92
  219. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +128 -77
  220. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +297 -165
  221. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +34 -30
  222. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +31 -27
  223. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +26 -23
  224. package/esm2022/src/app/shared/material/duration/duration.module.mjs +11 -16
  225. package/esm2022/src/app/shared/material/duration/duration.utils.mjs +3 -6
  226. package/esm2022/src/app/shared/material/duration/material.duration.mjs +35 -34
  227. package/esm2022/src/app/shared/material/duration/testing/mat-duration.test.mjs +23 -22
  228. package/esm2022/src/app/shared/material/latlong/latlong.utils.mjs +217 -170
  229. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +182 -241
  230. package/esm2022/src/app/shared/material/latlong/material.latlong.module.mjs +10 -15
  231. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +19 -14
  232. package/esm2022/src/app/shared/material/material.animations.mjs +22 -22
  233. package/esm2022/src/app/shared/material/material.config.mjs +3 -0
  234. package/esm2022/src/app/shared/material/material.module.mjs +16 -16
  235. package/esm2022/src/app/shared/material/material.testing.module.mjs +50 -37
  236. package/esm2022/src/app/shared/material/paginator/material.paginator-i18n.mjs +12 -9
  237. package/esm2022/src/app/shared/material/stepper/material.stepper-i18n.mjs +4 -4
  238. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +26 -19
  239. package/esm2022/src/app/shared/material/swipe/swipe.module.mjs +7 -11
  240. package/esm2022/src/app/shared/material/swipe/testing/swipe.test.mjs +8 -8
  241. package/esm2022/src/app/shared/material/testing/common.test.mjs +30 -24
  242. package/esm2022/src/app/shared/material/text/testing/text-form.testing.mjs +30 -19
  243. package/esm2022/src/app/shared/material/text/text-form.component.mjs +128 -21
  244. package/esm2022/src/app/shared/material/text/text-form.module.mjs +8 -8
  245. package/esm2022/src/app/shared/modules.mjs +1 -1
  246. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +118 -37
  247. package/esm2022/src/app/shared/named-filter/named-filter.model.mjs +1 -1
  248. package/esm2022/src/app/shared/named-filter/named-filter.module.mjs +5 -5
  249. package/esm2022/src/app/shared/named-filter/named-filter.service.mjs +8 -8
  250. package/esm2022/src/app/shared/named-filter/testing/named-filter-selector.testing.mjs +74 -0
  251. package/esm2022/src/app/shared/named-filter/testing/named-filter.testing.module.mjs +28 -0
  252. package/esm2022/src/app/shared/observables.mjs +14 -18
  253. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +53 -38
  254. package/esm2022/src/app/shared/pipes/badge.pipes.mjs +24 -0
  255. package/esm2022/src/app/shared/pipes/colors.pipe.mjs +8 -6
  256. package/esm2022/src/app/shared/pipes/date-diff-duration.pipe.mjs +8 -10
  257. package/esm2022/src/app/shared/pipes/date-format.pipe.mjs +15 -15
  258. package/esm2022/src/app/shared/pipes/date-from-now.pipe.mjs +6 -6
  259. package/esm2022/src/app/shared/pipes/duration.pipe.mjs +6 -6
  260. package/esm2022/src/app/shared/pipes/file-size.pipe.mjs +6 -13
  261. package/esm2022/src/app/shared/pipes/form.pipes.mjs +72 -47
  262. package/esm2022/src/app/shared/pipes/highlight.pipe.mjs +15 -15
  263. package/esm2022/src/app/shared/pipes/html.pipes.mjs +52 -0
  264. package/esm2022/src/app/shared/pipes/latlong-format.pipe.mjs +14 -14
  265. package/esm2022/src/app/shared/pipes/maps.pipe.mjs +17 -17
  266. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +37 -88
  267. package/esm2022/src/app/shared/pipes/math.pipes.mjs +16 -16
  268. package/esm2022/src/app/shared/pipes/ng-init.pipe.mjs +5 -5
  269. package/esm2022/src/app/shared/pipes/number-format.pipe.mjs +6 -6
  270. package/esm2022/src/app/shared/pipes/pipes.module.mjs +117 -137
  271. package/esm2022/src/app/shared/pipes/property.pipes.mjs +86 -47
  272. package/esm2022/src/app/shared/pipes/selection.pipes.mjs +179 -0
  273. package/esm2022/src/app/shared/pipes/string.pipes.mjs +50 -49
  274. package/esm2022/src/app/shared/pipes/translate-context.pipe.mjs +11 -11
  275. package/esm2022/src/app/shared/pipes/types.pipes.mjs +33 -17
  276. package/esm2022/src/app/shared/platforms.mjs +7 -5
  277. package/esm2022/src/app/shared/rx-state.module.mjs +7 -11
  278. package/esm2022/src/app/shared/services/entity-service.class.mjs +2 -2
  279. package/esm2022/src/app/shared/services/job.utils.mjs +7 -7
  280. package/esm2022/src/app/shared/services/memory-entity-service.class.mjs +43 -41
  281. package/esm2022/src/app/shared/services/progress-bar.service.mjs +4 -4
  282. package/esm2022/src/app/shared/services/startable-observable-service.class.mjs +11 -14
  283. package/esm2022/src/app/shared/services/startable-service.class.mjs +11 -17
  284. package/esm2022/src/app/shared/services/translate-context.service.mjs +18 -15
  285. package/esm2022/src/app/shared/services/validator-service.class.mjs +1 -1
  286. package/esm2022/src/app/shared/services.mjs +12 -12
  287. package/esm2022/src/app/shared/shared-routing.module.mjs +19 -18
  288. package/esm2022/src/app/shared/shared.module.mjs +29 -28
  289. package/esm2022/src/app/shared/shared.testing.module.mjs +18 -10
  290. package/esm2022/src/app/shared/storage/storage-explorer.component.mjs +39 -46
  291. package/esm2022/src/app/shared/storage/storage-explorer.module.mjs +8 -12
  292. package/esm2022/src/app/shared/storage/storage-explorer.testing-routing.module.mjs +9 -17
  293. package/esm2022/src/app/shared/storage/storage-explorer.testing.module.mjs +10 -18
  294. package/esm2022/src/app/shared/storage/storage.service.mjs +4 -4
  295. package/esm2022/src/app/shared/storage/storage.utils.mjs +2 -2
  296. package/esm2022/src/app/shared/testing/maskito.test.mjs +41 -0
  297. package/esm2022/src/app/shared/testing/observable.test.mjs +11 -13
  298. package/esm2022/src/app/shared/testing/tests.page.mjs +6 -6
  299. package/esm2022/src/app/shared/toast/toast.testing.mjs +11 -11
  300. package/esm2022/src/app/shared/toast/toast.testing.module.mjs +10 -25
  301. package/esm2022/src/app/shared/toast/toasts.mjs +9 -9
  302. package/esm2022/src/app/shared/toolbar/modal-toolbar.mjs +10 -8
  303. package/esm2022/src/app/shared/toolbar/toolbar.mjs +31 -32
  304. package/esm2022/src/app/shared/toolbar/toolbar.module.mjs +8 -39
  305. package/esm2022/src/app/shared/types.mjs +1 -1
  306. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.mjs +12 -12
  307. package/esm2022/src/app/shared/upload-file/testing/upload-file.testing.module.mjs +10 -25
  308. package/esm2022/src/app/shared/upload-file/upload-file-popover.component.mjs +7 -8
  309. package/esm2022/src/app/shared/upload-file/upload-file.component.mjs +21 -19
  310. package/esm2022/src/app/shared/upload-file/upload-file.model.mjs +2 -3
  311. package/esm2022/src/app/shared/validator/form-error-adapter.class.mjs +64 -56
  312. package/esm2022/src/app/shared/validator/validators.mjs +60 -39
  313. package/esm2022/src/app/shared/version/versions.mjs +2 -2
  314. package/esm2022/src/app/social/job/job.module.mjs +8 -27
  315. package/esm2022/src/app/social/job/progression/job-progression.component.mjs +9 -9
  316. package/esm2022/src/app/social/job/progression/job-progression.icon.mjs +49 -46
  317. package/esm2022/src/app/social/job/progression/job-progression.list.mjs +10 -13
  318. package/esm2022/src/app/social/job/progression/job-progression.model.mjs +1 -1
  319. package/esm2022/src/app/social/job/progression/job-progression.service.mjs +39 -21
  320. package/esm2022/src/app/social/job/testing/job-progression.testing.mjs +6 -11
  321. package/esm2022/src/app/social/job/testing/job-progression.testing.service.mjs +11 -30
  322. package/esm2022/src/app/social/job/testing/job.testing.module.mjs +8 -21
  323. package/esm2022/src/app/social/message/message.form.mjs +5 -5
  324. package/esm2022/src/app/social/message/message.modal.mjs +8 -8
  325. package/esm2022/src/app/social/message/message.model.mjs +8 -8
  326. package/esm2022/src/app/social/message/message.module.mjs +4 -4
  327. package/esm2022/src/app/social/message/message.service.mjs +7 -7
  328. package/esm2022/src/app/social/social.errors.mjs +2 -2
  329. package/esm2022/src/app/social/social.module.mjs +7 -32
  330. package/esm2022/src/app/social/social.testing.module.mjs +9 -20
  331. package/esm2022/src/app/social/user-event/notification/user-event-notification.icon.mjs +27 -23
  332. package/esm2022/src/app/social/user-event/notification/user-event-notification.list.mjs +19 -22
  333. package/esm2022/src/app/social/user-event/testing/user-event.testing.mjs +47 -23
  334. package/esm2022/src/app/social/user-event/testing/user-event.testing.model.mjs +8 -8
  335. package/esm2022/src/app/social/user-event/testing/user-event.testing.module.mjs +8 -21
  336. package/esm2022/src/app/social/user-event/testing/user-event.testing.service.mjs +27 -15
  337. package/esm2022/src/app/social/user-event/user-event.model.mjs +1 -1
  338. package/esm2022/src/app/social/user-event/user-event.module.mjs +8 -28
  339. package/esm2022/src/app/social/user-event/user-event.service.mjs +61 -64
  340. package/esm2022/src/environments/environment.class.mjs +9 -1
  341. package/esm2022/src/environments/environment.loader.mjs +5 -11
  342. package/esm2022/src/environments/environment.mjs +19 -11
  343. package/fesm2022/sumaris-net.ngx-components.mjs +16117 -14592
  344. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  345. package/package.json +33 -18
  346. package/public_api.d.ts +30 -22
  347. package/src/app/admin/services/filter/person.filter.d.ts +1 -1
  348. package/src/app/admin/users/users.d.ts +5 -6
  349. package/src/app/core/account/account.module.d.ts +10 -8
  350. package/src/app/core/account/account.page.d.ts +25 -15
  351. package/src/app/core/account/new-token.form.d.ts +29 -0
  352. package/src/app/core/account/new-token.modal.d.ts +9 -21
  353. package/src/app/core/account/password/change-password.form.d.ts +19 -0
  354. package/src/app/core/account/password/change-password.module.d.ts +11 -0
  355. package/src/app/core/account/password/change-password.page.d.ts +36 -0
  356. package/src/app/core/account/token.table.d.ts +7 -5
  357. package/src/app/core/auth/auth.form.d.ts +11 -9
  358. package/src/app/core/auth/auth.module.d.ts +6 -4
  359. package/src/app/core/auth/reset-password.modal.d.ts +26 -0
  360. package/src/app/core/core.module.d.ts +21 -24
  361. package/src/app/core/core.testing.module.d.ts +2 -1
  362. package/src/app/core/form/array/form-array.d.ts +136 -0
  363. package/src/app/core/form/array/testing/form-array-test.module.d.ts +12 -0
  364. package/src/app/core/form/array/testing/form-array.test.d.ts +26 -0
  365. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -3
  366. package/src/app/core/form/entity/editor.class.d.ts +19 -179
  367. package/src/app/core/form/entity/entity-editor-modal.class.d.ts +10 -13
  368. package/src/app/core/form/entity/entity-editor.class.d.ts +12 -17
  369. package/src/app/core/form/entity/entity-metadata.component.d.ts +1 -1
  370. package/src/app/core/form/entity/tab-editor.class.d.ts +70 -0
  371. package/src/app/core/form/form-container.class.d.ts +126 -0
  372. package/src/app/core/form/form.class.d.ts +13 -26
  373. package/src/app/core/form/form.module.d.ts +2 -1
  374. package/src/app/core/form/form.utils.d.ts +60 -145
  375. package/src/app/core/form/list/list.form.d.ts +2 -2
  376. package/src/app/core/form/properties/properties.form.d.ts +34 -12
  377. package/src/app/core/form/properties/properties.table.d.ts +2 -2
  378. package/src/app/core/form/properties/properties.utils.d.ts +27 -0
  379. package/src/app/core/form/properties/property.validator.d.ts +9 -3
  380. package/src/app/core/form/text-popover/testing/text-popover.testing.d.ts +3 -1
  381. package/src/app/core/form/username/username.form.d.ts +19 -0
  382. package/src/app/core/form/username/username.module.d.ts +9 -0
  383. package/src/app/core/graphql/graphql.module.d.ts +1 -2
  384. package/src/app/core/graphql/graphql.service.d.ts +2 -4
  385. package/src/app/core/home/home.d.ts +26 -6
  386. package/src/app/core/menu/testing/menu-other.testing.d.ts +1 -1
  387. package/src/app/core/menu/testing/menu.testing.d.ts +11 -3
  388. package/src/app/core/peer/select-peer.modal.d.ts +13 -7
  389. package/src/app/core/peer/select-peer.module.d.ts +3 -4
  390. package/src/app/core/services/account.service.d.ts +9 -0
  391. package/src/app/core/services/base-entity-service.class.d.ts +1 -1
  392. package/src/app/core/services/config/core.config.d.ts +12 -1
  393. package/src/app/core/services/config.service.d.ts +4 -3
  394. package/src/app/core/services/errors.d.ts +11 -0
  395. package/src/app/core/services/local-settings.service.d.ts +8 -4
  396. package/src/app/core/services/model/entity.model.d.ts +6 -5
  397. package/src/app/core/services/model/filter.model.d.ts +1 -1
  398. package/src/app/core/services/model/peer.model.d.ts +1 -0
  399. package/src/app/core/services/model/person.model.d.ts +6 -2
  400. package/src/app/core/services/model/referential.model.d.ts +8 -3
  401. package/src/app/core/services/model/settings.model.d.ts +4 -2
  402. package/src/app/core/services/model/token.model.d.ts +1 -0
  403. package/src/app/core/services/model/tree-item-entity.model.d.ts +1 -1
  404. package/src/app/core/services/network.service.d.ts +11 -7
  405. package/src/app/core/services/pipes/department-to-string.pipe.d.ts +1 -1
  406. package/src/app/core/services/pipes/person-to-string.pipe.d.ts +3 -1
  407. package/src/app/core/services/pipes/pipes.module.d.ts +11 -0
  408. package/src/app/core/services/pipes/referential-to-string.pipe.d.ts +13 -0
  409. package/src/app/core/services/platform.service.d.ts +8 -3
  410. package/src/app/core/services/testing/referential-filter.model.d.ts +1 -1
  411. package/src/app/core/services/validator/local-settings.validator.d.ts +6 -2
  412. package/src/app/core/settings/settings.module.d.ts +2 -1
  413. package/src/app/core/settings/settings.page.d.ts +34 -21
  414. package/src/app/core/table/async-table.class.d.ts +22 -17
  415. package/src/app/core/table/column/actions-column.component.d.ts +59 -0
  416. package/src/app/core/table/column/nav-actions-column.component.d.ts +46 -0
  417. package/src/app/core/table/column/row-field.component.d.ts +40 -0
  418. package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -0
  419. package/src/app/core/table/entities-table-datasource.class.d.ts +1 -0
  420. package/src/app/core/table/table.class.d.ts +14 -11
  421. package/src/app/core/table/table.module.d.ts +8 -4
  422. package/src/app/core/table/table.pipes.d.ts +28 -0
  423. package/src/app/core/table/testing/table.testing.d.ts +12 -13
  424. package/src/app/core/table/testing/table2.testing.d.ts +13 -10
  425. package/src/app/shared/alerts.d.ts +4 -2
  426. package/src/app/shared/constants.d.ts +5 -0
  427. package/src/app/shared/dates.d.ts +12 -5
  428. package/src/app/shared/directives/autofocus.directive.d.ts +0 -1
  429. package/src/app/shared/events.d.ts +1 -1
  430. package/src/app/shared/file/csv.utils.d.ts +5 -0
  431. package/src/app/shared/file/images.utils.d.ts +17 -0
  432. package/src/app/shared/file/json.utils.d.ts +3 -0
  433. package/src/app/shared/form/field.component.d.ts +6 -3
  434. package/src/app/shared/forms.d.ts +32 -0
  435. package/src/app/shared/functions.d.ts +27 -8
  436. package/src/app/shared/graph/graph-colors.d.ts +1 -1
  437. package/src/app/shared/guard/component-dirty.guard.d.ts +1 -6
  438. package/src/app/shared/hotkeys/hotkeys.service.d.ts +17 -3
  439. package/src/app/shared/http/http.utils.d.ts +1 -0
  440. package/src/app/shared/image/gallery/image-gallery.component.d.ts +10 -10
  441. package/src/app/shared/image/gallery/image-gallery.module.d.ts +2 -1
  442. package/src/app/shared/image/gallery/testing/gallery.service.testing.d.ts +2 -2
  443. package/src/app/shared/image/gallery/testing/gallery.testing.module.d.ts +2 -1
  444. package/src/app/shared/inputs.d.ts +7 -5
  445. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +20 -1
  446. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +56 -16
  447. package/src/app/shared/material/autocomplete/material.autocomplete.module.d.ts +1 -1
  448. package/src/app/shared/material/autocomplete/material.autocomplete.utils.d.ts +2 -1
  449. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +3 -2
  450. package/src/app/shared/material/badge/badge.directive.d.ts +10 -4
  451. package/src/app/shared/material/boolean/boolean.module.d.ts +15 -14
  452. package/src/app/shared/material/boolean/material.boolean.d.ts +51 -25
  453. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +1 -0
  454. package/src/app/shared/material/chips/chips.module.d.ts +2 -1
  455. package/src/app/shared/material/chips/material.chips.d.ts +46 -21
  456. package/src/app/shared/material/chips/testing/chips.test.d.ts +1 -0
  457. package/src/app/shared/material/datetime/datetime.module.d.ts +1 -1
  458. package/src/app/shared/material/datetime/material.date.d.ts +33 -18
  459. package/src/app/shared/material/datetime/material.dateshort.d.ts +29 -16
  460. package/src/app/shared/material/datetime/material.datetime.d.ts +41 -28
  461. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +3 -3
  462. package/src/app/shared/material/duration/duration.module.d.ts +1 -1
  463. package/src/app/shared/material/duration/material.duration.d.ts +1 -1
  464. package/src/app/shared/material/latlong/latlong.utils.d.ts +9 -1
  465. package/src/app/shared/material/latlong/material.latlong.d.ts +29 -32
  466. package/src/app/shared/material/latlong/material.latlong.module.d.ts +1 -1
  467. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +5 -1
  468. package/src/app/shared/material/material.config.d.ts +3 -0
  469. package/src/app/shared/material/material.module.d.ts +5 -6
  470. package/src/app/shared/material/material.testing.module.d.ts +8 -7
  471. package/src/app/shared/material/swipe/material.swipe.d.ts +4 -3
  472. package/src/app/shared/material/text/testing/text-form.testing.d.ts +10 -4
  473. package/src/app/shared/material/text/text-form.component.d.ts +42 -8
  474. package/src/app/shared/named-filter/named-filter-selector.component.d.ts +30 -14
  475. package/src/app/shared/named-filter/named-filter.service.d.ts +12 -6
  476. package/src/app/shared/named-filter/testing/named-filter-selector.testing.d.ts +34 -0
  477. package/src/app/shared/named-filter/testing/named-filter.testing.module.d.ts +10 -0
  478. package/src/app/shared/pipes/arrays.pipe.d.ts +5 -0
  479. package/src/app/shared/pipes/badge.pipes.d.ts +7 -0
  480. package/src/app/shared/pipes/date-format.pipe.d.ts +3 -2
  481. package/src/app/shared/pipes/form.pipes.d.ts +18 -8
  482. package/src/app/shared/pipes/html.pipes.d.ts +15 -0
  483. package/src/app/shared/pipes/maps.pipe.d.ts +4 -4
  484. package/src/app/shared/pipes/maskito.pipe.d.ts +7 -9
  485. package/src/app/shared/pipes/pipes.module.d.ts +7 -4
  486. package/src/app/shared/pipes/property.pipes.d.ts +24 -3
  487. package/src/app/shared/pipes/selection.pipes.d.ts +62 -0
  488. package/src/app/shared/pipes/string.pipes.d.ts +6 -6
  489. package/src/app/shared/pipes/types.pipes.d.ts +6 -1
  490. package/src/app/shared/services/entity-service.class.d.ts +0 -2
  491. package/src/app/shared/services/memory-entity-service.class.d.ts +6 -3
  492. package/src/app/shared/services.d.ts +1 -0
  493. package/src/app/shared/shared.testing.module.d.ts +2 -1
  494. package/src/app/shared/storage/storage-explorer.component.d.ts +4 -3
  495. package/src/app/shared/testing/maskito.test.d.ts +10 -0
  496. package/src/app/shared/toolbar/toolbar.d.ts +7 -2
  497. package/src/app/shared/types.d.ts +5 -0
  498. package/src/app/shared/upload-file/upload-file.component.d.ts +1 -0
  499. package/src/app/shared/validator/form-error-adapter.class.d.ts +17 -11
  500. package/src/app/shared/validator/validators.d.ts +20 -9
  501. package/src/app/social/job/progression/job-progression.icon.d.ts +4 -5
  502. package/src/app/social/job/progression/job-progression.list.d.ts +1 -3
  503. package/src/app/social/job/progression/job-progression.service.d.ts +3 -4
  504. package/src/app/social/job/testing/job-progression.testing.d.ts +0 -1
  505. package/src/app/social/job/testing/job-progression.testing.service.d.ts +3 -11
  506. package/src/app/social/message/message.modal.d.ts +2 -2
  507. package/src/app/social/message/message.model.d.ts +1 -1
  508. package/src/app/social/user-event/notification/user-event-notification.icon.d.ts +4 -4
  509. package/src/app/social/user-event/testing/user-event.testing.d.ts +1 -0
  510. package/src/app/social/user-event/testing/user-event.testing.model.d.ts +2 -3
  511. package/src/app/social/user-event/testing/user-event.testing.service.d.ts +1 -0
  512. package/src/assets/i18n/en-US.json +48 -19
  513. package/src/assets/i18n/en.json +48 -20
  514. package/src/assets/i18n/fr.json +50 -20
  515. package/src/assets/manifest.json +1 -1
  516. package/src/environments/environment.class.d.ts +10 -0
  517. package/src/environments/environment.d.ts +0 -1
  518. package/src/environments/environment.loader.d.ts +0 -2
  519. package/src/theme/_functions.scss +15 -0
  520. package/src/theme/_icons.scss +1 -1
  521. package/src/theme/_ionic.globals.scss +8 -2
  522. package/src/theme/_ionic.scss +10 -10
  523. package/src/theme/_material.globals.scss +16 -43
  524. package/src/theme/_material.scss +45 -32
  525. package/src/theme/_mixins.scss +99 -18
  526. package/src/theme/_ngx-components.forms.scss +354 -0
  527. package/src/theme/_ngx-components.globals.scss +20 -10
  528. package/src/theme/_ngx-components.scss +194 -400
  529. package/src/theme/_ngx-components.table.scss +200 -207
  530. package/src/theme/_ngx-components.tabs.scss +54 -0
  531. package/src/theme/_responsive.scss +0 -31
  532. package/src/theme/_theme.scss +2 -0
  533. package/src/theme/_theme.variables.scss +172 -0
  534. package/esm2022/src/app/core/table/actions-column.component.mjs +0 -115
  535. package/esm2022/src/app/shared/material/boolean/material-boolean2.mjs +0 -266
  536. package/esm2022/src/app/shared/material/numpad/numpad.append-to-input.directive.mjs +0 -104
  537. package/esm2022/src/app/shared/material/numpad/numpad.component.mjs +0 -83
  538. package/esm2022/src/app/shared/material/numpad/numpad.container.mjs +0 -203
  539. package/esm2022/src/app/shared/material/numpad/numpad.content.mjs +0 -19
  540. package/esm2022/src/app/shared/material/numpad/numpad.directive.mjs +0 -168
  541. package/esm2022/src/app/shared/material/numpad/numpad.dom-service.mjs +0 -36
  542. package/esm2022/src/app/shared/material/numpad/numpad.model.mjs +0 -16
  543. package/esm2022/src/app/shared/material/numpad/numpad.module.mjs +0 -60
  544. package/esm2022/src/app/shared/material/numpad/testing/numpad.test.mjs +0 -48
  545. package/src/app/core/table/actions-column.component.d.ts +0 -48
  546. package/src/app/shared/material/boolean/material-boolean2.d.ts +0 -66
  547. package/src/app/shared/material/numpad/numpad.append-to-input.directive.d.ts +0 -22
  548. package/src/app/shared/material/numpad/numpad.component.d.ts +0 -26
  549. package/src/app/shared/material/numpad/numpad.container.d.ts +0 -40
  550. package/src/app/shared/material/numpad/numpad.content.d.ts +0 -7
  551. package/src/app/shared/material/numpad/numpad.directive.d.ts +0 -35
  552. package/src/app/shared/material/numpad/numpad.dom-service.d.ts +0 -16
  553. package/src/app/shared/material/numpad/numpad.model.d.ts +0 -30
  554. package/src/app/shared/material/numpad/numpad.module.d.ts +0 -16
  555. package/src/app/shared/material/numpad/testing/numpad.test.d.ts +0 -13
@@ -8,24 +8,56 @@
8
8
  overflow-x: auto;
9
9
  }
10
10
 
11
+ .dark .mat-mdc-table {
12
+ --mdc-checkbox-selected-checkmark-color: var(--ion-text-color);
13
+ --mdc-checkbox-unselected-icon-color: var(--ion-text-color);
14
+ --mdc-checkbox-selected-icon-color: var(--ion-color-accent);
15
+ --mdc-checkbox-unselected-focus-icon-color: var(--ion-text-color);
16
+ --mdc-checkbox-unselected-hover-icon-color: var(--ion-text-color);
17
+ --mdc-checkbox-unselected-pressed-icon-color: var(--ion-color-accent);
18
+ }
11
19
 
12
20
  .mat-mdc-table {
13
21
  min-width: calc(100% - 1px);
14
22
  border-collapse: separate;
15
- --mat-row-height: #{$app-table-row-height};
16
- --mat-row-max-height: #{$app-table-row-max-height};
23
+ --mat-table-background-color: var(--background, var(--ion-background-color));
24
+ --mat-table-header-color: var(--ion-color-primary);
25
+ --mat-table-header-background-color: var(--mat-table-background-color);
26
+ --mat-table-row-item-label-text-color: var(--ion-text-color);
27
+ --mat-table-row-item-outline-color: var(--ion-border-color);
28
+ --mat-table-row-item-label-text-size: 14px;
29
+ --mat-table-row-item-label-text-tracking: normal;
30
+ --mat-row-height: #{$app-table-row-height} !important;
31
+ --mat-row-max-height: #{$app-table-row-max-height} !important;
17
32
  --mat-cell-horizontal-padding: #{$app-table-cell-horizontal-padding};
18
- --mat-cell-padding-top: calc(var(--mat-row-height) * 0.5 - 14px);
33
+ --mat-cell-padding-top: calc(var(--mat-row-height) / 2 - var(--mat-table-row-item-label-text-size, 14px));
19
34
 
20
- --mdc-checkbox-state-layer-size: 20px;
21
35
  --mdc-typography-body1-font-size: 14px;
22
- --mat-table-row-item-label-text-tracking: 0.5px;
23
- --mat-form-field-container-text-tracking: 0.5px;
24
- --mdc-typography-body1-letter-spacing: 0.0178571429em;
25
- --mat-table-row-item-label-text-size: 14px;
36
+ --mdc-typography-body1-letter-spacing: normal;
37
+
38
+ --mat-form-field-container-text-tracking: normal;
39
+ --mat-form-field-state-layer-color: #{$app-table-cell-focus-background-color};
40
+ --mat-form-field-subscript-text-size: 10px;
41
+ --mdc-checkbox-state-layer-size: 20px;
42
+ --mdc-radio-state-layer-size: 20px;
43
+ --mdc-filled-text-field-container-color: transparent;
44
+ --mdc-filled-text-field-disabled-container-color: transparent;
45
+ --mdc-filled-text-field-input-text-color: var(--ion-text-color);
46
+ --mdc-filled-text-field-input-text-placeholder-color: var(--app-form-field-label-color);
47
+ --mdc-filled-text-field-caret-color: var(--ion-text-color);
48
+ --mdc-filled-text-field-active-indicator-color: transparent;
49
+ --mdc-filled-text-field-hover-label-text-color: var(--app-form-field-label-color);
50
+ --mdc-filled-text-field-hover-active-indicator-color: transparent;
51
+ --mdc-filled-text-field-focus-label-text-color: var(--ion-color-primary);
52
+ --mdc-filled-text-field-focus-active-indicator-color: var(--ion-color-primary);
53
+
54
+ --mat-select-enabled-trigger-text-color: var(--ion-text-color);
55
+ --mat-select-disabled-trigger-text-color: var(--ion-text-color);
56
+ --mat-checkbox-label-text-color: var(--ion-text-color);
26
57
 
27
58
  .mat-mdc-header-cell {
28
- color: var(--ion-color-primary);
59
+ color: var(--mat-table-header-color);
60
+ background: var(--mat-table-header-background-color) !important;
29
61
 
30
62
  &.disabled {
31
63
  color: var(--ion-color-medium, grey);
@@ -69,7 +101,7 @@
69
101
  transition: none !important;
70
102
  }
71
103
 
72
- .mat-sort-header-arrow:not([style*="opacity: 1"]) {
104
+ .mat-sort-header-arrow:not([style*='opacity: 1']) {
73
105
  display: none;
74
106
  }
75
107
  }
@@ -86,7 +118,6 @@
86
118
  .mat-mdc-header-cell,
87
119
  .mat-mdc-cell,
88
120
  .mat-mdc-footer-cell {
89
-
90
121
  // Remove default padding
91
122
  padding-inline: 0;
92
123
 
@@ -103,8 +134,8 @@
103
134
  }
104
135
 
105
136
  /* Add a start padding to content (but not the cell itself) (e.g. tables with odd/event style - like BatchGroupsTable) */
106
- &.mat-cell-content-start-padding {
107
-
137
+ &.mat-mdc-cell-content-start-padding,
138
+ &.mat-mdc-cell-content-padding-start {
108
139
  // Reset start padding here (only apply cell's content)
109
140
  padding-inline-start: 0;
110
141
 
@@ -117,6 +148,12 @@
117
148
  & > .ion-padding-start {
118
149
  padding: 0 var(--mat-cell-horizontal-padding, 8px);
119
150
  }
151
+ & > ion-label,
152
+ & > mat-label,
153
+ & > ion-text {
154
+ // By default, display was 'inline', so the previous padding was only apply on the first element
155
+ display: inline-block;
156
+ }
120
157
 
121
158
  // Add left padding in form fields
122
159
  .mat-mdc-form-field-label {
@@ -152,6 +189,7 @@
152
189
  }
153
190
  }
154
191
 
192
+ .mat-mdc-cell-date,
155
193
  .mat-cell-date {
156
194
  min-width: 128px;
157
195
  max-width: 128px;
@@ -162,10 +200,16 @@
162
200
  }
163
201
  }
164
202
 
203
+ .mat-mdc-cell-date-time,
165
204
  .mat-cell-date-time {
166
- min-width: 145px;
205
+ min-width: 155px;
167
206
  max-width: 180px;
168
207
 
208
+ mat-date-time-field {
209
+ ion-col.day {
210
+ min-width: unset !important; // make sure column is resizable
211
+ }
212
+ }
169
213
  input {
170
214
  max-width: 120px;
171
215
  overflow: visible !important;
@@ -179,61 +223,73 @@
179
223
  .mat-column-actions {
180
224
  text-align: end;
181
225
  min-width: var(--mat-column-actions-min-width);
182
- width: var(--mat-column-actions-width, 40px);
183
- max-width: var(--mat-column-actions-max-width, 40px);
226
+ width: var(--mat-column-actions-width, 48px); // 48px = a button width
227
+ max-width: var(--mat-column-actions-max-width, 48px); // 48px = a button width
184
228
  padding-inline-start: 0 !important; // No start padding
185
- padding-right: unset !important;
229
+ padding-inline-end: 0; // No end padding
230
+ padding-right: unset !important; // use padding-inline-start instead
231
+ padding-left: unset !important; // use padding-inline-end instead
232
+ color: unset; // Remove row color (let the button decide)
186
233
  }
187
234
 
188
235
  .mat-mdc-cell.computed mat-form-field,
236
+ .mat-mdc-cell-computed,
189
237
  .mat-cell-computed,
190
238
  .mat-mdc-cell ion-text.computed,
191
- .mat-mdc-cell.calculated mat-form-field,
192
- .mat-cell-calculated {
193
- color: var(--ion-color-primary-tint);
239
+ .mat-mdc-cell ion-label.computed {
240
+ --ion-text-color: var(--app-form-color-computed, #{$app-form-color-computed}) !important;
241
+ color: var(--ion-text-color) !important;
194
242
  font-style: italic;
195
243
  }
196
244
  }
197
245
 
198
246
  .mat-mdc-row {
199
-
200
247
  // Disabled row
248
+ &.mat-mdc-row-disabled *,
201
249
  &.mat-row-disabled * {
202
- color: inherit;
203
250
  cursor: pointer;
204
251
  // Necessary to focus on <mat-form-field> when row is readonly since angular 15 migrating
205
252
  pointer-events: unset !important;
206
253
  }
207
254
 
255
+ &.mat-mdc-row-disabled:hover,
208
256
  &.mat-row-disabled:hover {
209
257
  background-color: var(--ion-color-light);
210
258
 
211
- .mat-cell {
259
+ .mat-mdc-cell {
212
260
  color: var(--ion-color-light-contrast);
213
261
  }
214
262
  }
215
263
 
264
+ &.mat-mdc-row-selected,
216
265
  &.mat-row-selected {
217
- background-color: var(--ion-color-secondary100);
266
+ --ion-text-color: var(--app-table-row-item-selected-text-color) !important;
267
+ --ion-background-color: var(--app-table-row-item-selected-background-color) !important;
268
+
269
+ --mdc-filled-text-field-input-text-color: var(--ion-text-color);
270
+ --mat-select-enabled-trigger-text-color: var(--ion-text-color);
271
+ --mat-select-disabled-trigger-text-color: var(--ion-text-color);
272
+ --mat-checkbox-label-text-color: var(--ion-text-color);
273
+
274
+ background-color: var(--ion-background-color);
218
275
 
219
- &:not(.mat-row-error):hover {
220
- background-color: var(--ion-color-secondary100);
276
+ &:not(.mat-mdc-row-error):not(.mat-row-error):hover {
277
+ background-color: var(--ion-background-color);
221
278
  }
222
279
 
223
- .mat-cell {
224
- color: var(--ion-color-secondary100-contrast);
280
+ .mat-mdc-cell {
281
+ color: var(--ion-text-color);
225
282
  }
226
283
 
284
+ &.mat-mdc-row-disabled:hover,
227
285
  &.mat-row-disabled:hover {
228
- background-color: var(--ion-color-secondary100-shade) !important;
286
+ background-color: var(--ion-background-color) !important;
229
287
  }
230
-
231
288
  }
232
289
 
233
290
  // Dirty row
291
+ &.mat-mdc-row-dirty,
234
292
  &.mat-row-dirty {
235
- //border-left: 3px solid var(--ion-color-primary-tint);
236
-
237
293
  // Resize the dirty icon (in the 'actions' column)
238
294
  .mat-column-actions mat-icon.dirty-icon,
239
295
  .mat-column-actions ion-icon.dirty-icon {
@@ -242,10 +298,11 @@
242
298
  }
243
299
 
244
300
  // Error row
301
+ &.mat-mdc-row-error,
245
302
  &.mat-row-error {
246
- //border-left: 3px solid var(--ion-color-danger-tint) !important;
247
303
  background-color: var(--ion-color-warning-tint);
248
304
 
305
+ &.mat-mdc-row-disabled:hover,
249
306
  &.mat-row-disabled:hover {
250
307
  background-color: var(--ion-color-warning-shade) !important;
251
308
  }
@@ -259,52 +316,48 @@
259
316
  color: inherit;
260
317
 
261
318
  .mdc-floating-label {
262
- visibility: hidden;
319
+ visibility: hidden;
263
320
  }
264
321
  }
265
322
 
266
- //.mdc-line-ripple--deactivating {
267
- // display: none;
268
- //}
269
-
270
- mat-mdc-form-field,
271
323
  mat-autocomplete-field,
272
- app-form-field,
324
+ app-form-field {
325
+ width: 100%;
326
+ }
327
+
273
328
  .mat-mdc-form-field {
274
329
  width: 100%;
330
+
275
331
  --mat-form-field-container-text-size: 14px;
276
332
  --mdc-filled-text-field-label-text-size: var(--mat-form-field-container-text-size);
333
+ --mat-select-trigger-text-size: var(--mat-form-field-container-text-size);
277
334
  --mat-mdc-form-field-height: calc(var(--mat-row-height) - 2px);
278
- // TODO
279
- // use -- active- boder : 0;
335
+ --mdc-outlined-text-field-outline-width: 0;
280
336
  height: var(--mat-mdc-form-field-height);
281
- }
282
-
283
- .mat-mdc-form-field {
284
- padding-top: 1px;
285
337
 
286
338
  .mat-mdc-form-field-label {
287
339
  width: 100%;
288
340
  }
289
341
 
342
+ &.mat-form-field-appearance-fill {
343
+ height: var(--mat-mdc-form-field-height);
344
+ padding-top: 1px; // suppress a redundant line in table
345
+ }
346
+
290
347
  .mat-mdc-text-field-wrapper {
291
348
  max-height: var(--mat-mdc-form-field-height);
292
349
  }
293
350
 
294
351
  .mdc-text-field {
295
352
  padding-inline: 0;
296
- background-color: $app-form-field-background-color;
297
- }
298
-
299
- .mat-mdc-form-field-focus-overlay {
300
- background-color: $app-form-field-focus-background-color;
301
353
  }
302
354
 
303
355
  // Prefix
304
356
  .mat-mdc-form-field-icon-prefix {
305
357
  padding: 0;
306
358
 
307
- ion-icon, .mat-icon {
359
+ ion-icon,
360
+ .mat-icon {
308
361
  $font-size: calculateRem(18px);
309
362
  $margin-vertical: calculateRem(4px);
310
363
  height: $font-size;
@@ -336,13 +389,13 @@
336
389
  white-space: nowrap;
337
390
  }
338
391
 
339
- input[type=number]::-webkit-outer-spin-button,
340
- input[type=number]::-webkit-inner-spin-button {
392
+ input[type='number']::-webkit-outer-spin-button,
393
+ input[type='number']::-webkit-inner-spin-button {
341
394
  -webkit-appearance: none;
342
395
  margin: 0;
343
396
  }
344
397
 
345
- input[type=number] {
398
+ input[type='number'] {
346
399
  //text-align: right;
347
400
  -moz-appearance: textfield;
348
401
  }
@@ -351,23 +404,23 @@
351
404
  // Suffix
352
405
  .mat-mdc-form-field-icon-suffix {
353
406
  white-space: nowrap;
407
+ padding: 0;
354
408
 
355
409
  .mat-mdc-icon-button {
356
- width: 24px;
357
- height: 24px;
358
- padding: 2px 0 0 0;
410
+ --mdc-icon-button-state-layer-size: 24px;
411
+ padding: 0;
359
412
 
360
- ion-icon, .mat-icon {
413
+ ion-icon,
414
+ .mat-icon {
361
415
  $font-size: calculateRem(18px);
362
416
  font-size: $font-size;
363
417
  line-height: 1.125;
364
418
  }
365
419
 
366
420
  .mat-mdc-button-touch-target {
367
- width: 24px;
421
+ width: var(--mdc-icon-button-state-layer-size);
368
422
  }
369
423
  }
370
-
371
424
  }
372
425
 
373
426
  // Specific behavior for chips
@@ -382,52 +435,58 @@
382
435
  }
383
436
  }
384
437
 
385
- .mat-mdc-form-field-subscript-wrapper {
386
- margin-top: -1.5rem;
387
- text-align: right;
388
- pointer-events: none;
389
- }
390
-
391
438
  // FIXME: in table, required indicator is only inside the float label
392
439
  .mat-mdc-floating-label {
393
440
  display: none;
394
441
  visibility: hidden;
395
442
  }
396
443
 
397
- &.mat-form-field-hide-placeholder .mat-mdc-select-placeholder {
444
+ &.mat-form-field-hide-placeholder .mat-mdc-select-placeholder {
398
445
  /* TODO use variables select theme */
399
446
  color: rgba(0, 0, 0, 0.6) !important;
400
447
  -webkit-text-fill-color: rgba(0, 0, 0, 0.6) !important;
401
448
  }
402
-
403
- mat-error {
404
- //font-size: ;
405
- //--mdc-typography-caption-font-size: 10px;
406
- font-size: 10px;
407
- }
408
-
409
449
  } // .mat-mdc-form-field
410
450
 
451
+ .mat-mdc-form-field-subscript-wrapper,
452
+ .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align {
453
+ margin-top: -1.5rem;
454
+ text-align: right;
455
+ pointer-events: none;
411
456
 
412
- .mat-boolean-field-radio.mat-mdc-form-field-appearance-fill .mat-mdc-form-field-infix,
413
- .mat-boolean-field-radio .mat-mdc-form-field-infix {
414
- // Reduce top border (because of radio height)
415
- border-top: 0.5em solid transparent !important;
416
- }
417
-
418
- .mat-boolean-field-checkbox.mat-mdc-form-field-appearance-fill .mat-mdc-form-field-infix,
419
- .mat-boolean-field-checkbox .mat-mdc-form-field-infix {
420
- // Increase top border (because of checkbox height)
421
- padding-top: 0.4em;
457
+ mat-error,
458
+ mat-hint {
459
+ font-size: var(--mat-form-field-subscript-text-size);
460
+ }
422
461
  }
423
462
 
424
463
  .mat-boolean-field-button.mat-mdc-form-field-appearance-fill .mat-mdc-form-field-infix,
425
464
  .mat-boolean-field-button .mat-mdc-form-field-infix {
426
465
  // Increase top border (because of button height)
427
- padding-top: 0.4em;
428
466
  }
429
467
 
430
- .mat-cell > .ion-text-nowrap {
468
+ mat-date-time-field {
469
+ height: calc(var(--mat-row-height) - 2px);
470
+ ion-col.day {
471
+ min-width: unset !important; // make sure column is resizable
472
+ }
473
+ ion-col.hour {
474
+ --max-width: var(--min-width) !important;
475
+ }
476
+ }
477
+
478
+ mat-latlong-field {
479
+ height: calc(var(--mat-row-height) - 2px);
480
+ ion-col.text {
481
+ min-width: unset !important; // make sure column is resizable
482
+ }
483
+ ion-col.sign {
484
+ --min-width: 35px !important;
485
+ --max-width: 45px !important;
486
+ }
487
+ }
488
+
489
+ .mat-mdc-cell > .ion-text-nowrap {
431
490
  width: 100%;
432
491
  overflow: hidden;
433
492
  text-overflow: ellipsis;
@@ -435,17 +494,17 @@
435
494
  }
436
495
 
437
496
  /* Show when hover row */
438
- .mat-cell .visible-hover-row {
497
+ .mat-mdc-cell .visible-hover-row {
439
498
  visibility: hidden;
440
499
  }
441
500
 
442
501
  &:hover {
443
- .mat-cell .visible-hover-row {
502
+ .mat-mdc-cell .visible-hover-row {
444
503
  visibility: visible;
445
504
  }
446
505
  }
447
506
 
448
- .mat-cell .avatar {
507
+ .mat-mdc-cell .avatar {
449
508
  color: #d9d9d9;
450
509
  background-color: #f8f8f8;
451
510
  border: solid 1px #d9d9d9;
@@ -459,147 +518,81 @@
459
518
 
460
519
  /* Special case to have small row */
461
520
  &.compact .mat-mdc-row,
521
+ .mat-mdc-row.mat-mdc-row-small,
462
522
  .mat-mdc-row.mat-row-small {
463
523
  min-height: inherit;
464
524
  --mat-row-height: 33px;
465
525
  --mat-row-max-height: 33px;
466
526
  }
467
527
 
468
- .mat-mdc-row.mat-row-small .mat-cell,
469
- .mat-mdc-row .mat-cell.mat-row-small {
528
+ .mat-mdc-row.mat-mdc-row-small .mat-mdc-cell,
529
+ .mat-mdc-row .mat-mdc-cell.mat-mdc-row-small,
530
+ .mat-mdc-row.mat-row-small .mat-mdc-cell,
531
+ .mat-mdc-row .mat-mdc-cell.mat-row-small {
470
532
  line-height: 15px;
471
533
  @include font-size(12px);
472
534
  }
473
535
 
474
- .mat-row-height-auto { // todo useful ?
536
+ .mat-mdc-row-height-auto,
537
+ .mat-row-height-auto {
475
538
  max-height: unset !important;
476
539
  }
477
540
 
478
- // Make smaller row
479
- // NOTE : useless on angular 15
480
- //&.compact {
481
- // --mat-row-height: 33px;
482
- //
483
- // // TODO test it ! then remove is not need
484
- // .mat-mdc-row {
485
- //
486
- // ion-label {
487
- // display: inline-block;
488
- // margin-top: 5px;
489
- // width: 100%;
490
- // overflow: hidden;
491
- // white-space: nowrap;
492
- // text-overflow: ellipsis;
493
- // }
494
- //
495
- // .mat-badge-content {
496
- // top: -2px;
497
- // }
498
- //
499
- // .mat-icon-button {
500
- // height: 32px;
501
- // width: 32px;
502
- // line-height: 32px;
503
- // }
504
- //
505
- // .mat-mdc-form-field-underline {
506
- // bottom: 6px !important;
507
- // }
508
- //
509
- // .mat-mdc-form-field {
510
- //
511
- // .mat-mdc-form-field-wrapper {
512
- // max-height: 32px;
513
- //
514
- // .mat-mdc-form-field-flex {
515
- //
516
- // .mat-mdc-form-field-infix {
517
- // max-height: 32px;
518
- // padding-top: 0;
519
- // border-top-width: 10px;
520
- //
521
- // .mat-mdc-form-field-label-wrapper {
522
- //
523
- // .mat-mdc-form-field-label {
524
- // top: 12px;
525
- // }
526
- // }
527
- //
528
- // .mat-checkbox {
529
- // display: block;
530
- // position: absolute;
531
- // top: -2px;
532
- //
533
- // .mat-checkbox-ripple {
534
- // height: 32px;
535
- // width: 32px;
536
- // left: calc(50% - 16px);
537
- // top: calc(50% - 16px);
538
- // }
539
- // }
540
- // }
541
- // }
542
- //
543
- // // make click on mat-error transfer to input
544
- // //.mat-mdc-form-field-subscript-wrapper {
545
- // // pointer-events: none;
546
- // //}
547
- //
548
- // mat-error {
549
- // margin-top: 10px;
550
- // }
551
- // }
552
- // }
553
- // }
554
- //}
541
+ // Restore border on last row
542
+ .mdc-data-table__row:last-child .mat-mdc-cell {
543
+ border-bottom-color: var(--mat-table-row-item-outline-color, rgba(0, 0, 0, 0.12)) !important;
544
+ border-bottom-width: var(--mat-table-row-item-outline-width, 1px) !important;
545
+ border-bottom-style: solid !important;
546
+ }
555
547
  }
556
548
 
557
- .mat-paginator-footer {
558
- height: var(--app-paginator-height);
559
- background-color: whitesmoke;
560
-
561
- .mat-mdc-paginator-outer-container {
562
- height: var(--app-paginator-height);
563
- overflow-y: hidden;
564
549
 
565
- .mat-mdc-paginator-container {
566
- height: var(--app-paginator-height);
567
- min-height: unset;
568
- margin-top: 3px;
550
+ // Paginator
551
+ .mat-mdc-paginator {
552
+ --mat-paginator-container-size: var(--app-paginator-height, #{$app-paginator-height});
553
+ --mat-paginator-container-background-color: var(--ion-toolbar-background, var(--ion-background-color, #{$ion-toolbar-background}));
554
+ --mat-paginator-container-text-tracking: normal;
555
+ --mat-paginator-container-text-color: var(--app-form-color, #{$app-form-color});
569
556
 
570
- button {
571
- height: var(--app-paginator-height);
572
- width: var(--app-paginator-height);
573
- //line-height: var(--app-paginator-height);
574
- padding: 6px;
557
+ overflow-y: hidden;
575
558
 
576
- .mat-mdc-button-touch-target {
577
- height: var(--app-paginator-height);
578
- width: var(--app-paginator-height);
579
- }
559
+ .mat-mdc-paginator-page-size-select {
560
+ height: var(--mat-paginator-container-size) !important;
561
+ margin-top: -10px;
580
562
 
581
- }
563
+ .mat-mdc-form-field-infix {
564
+ height: var(--mat-paginator-container-size) !important;
582
565
  }
583
566
  }
584
- }
585
-
586
- html.plt-mobile {
587
567
 
588
- .mat-paginator-footer {
589
- .mat-paginator-outer-container {
590
- .mat-paginator-container {
568
+ button {
569
+ --mdc-icon-button-state-layer-size: var(--mat-paginator-container-size) !important;
570
+ padding: 6px !important;
571
+ }
572
+ }
591
573
 
592
- // Move paginator to the left,
593
- // because floating button are on the right
594
- margin-top: 0 !important;
595
- justify-content: flex-start;
574
+ // -------------------------
575
+ // Specific Properties table
576
+ // -------------------------
577
+ app-properties-table {
578
+ .mat-column-value {
579
+ min-width: 50%;
580
+ max-width: 50%;
581
+ width: 50%;
582
+ }
583
+ }
596
584
 
597
- // Hide page size (not need on small screens)
598
- .mat-paginator-page-size {
599
- visibility: hidden;
600
- display: none;
601
- }
602
- }
585
+ html.plt-mobile {
586
+ .mat-paginator-footer .mat-mdc-paginator-outer-container .mat-mdc-paginator-container {
587
+ // Move paginator to the left,
588
+ // because floating button are on the right
589
+ margin-top: 0 !important;
590
+ justify-content: flex-start;
591
+
592
+ // Hide page size (not need on small screens)
593
+ .mat-mdc-paginator-page-size {
594
+ visibility: hidden;
595
+ display: none;
603
596
  }
604
597
  }
605
598
  }