@sumaris-net/ngx-components 2.7.3-rc5 → 2.7.3-rc50

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 (45) hide show
  1. package/esm2022/src/app/admin/users/users.mjs +2 -2
  2. package/esm2022/src/app/core/account/account.page.mjs +1 -1
  3. package/esm2022/src/app/core/form/properties/properties.form.mjs +1 -1
  4. package/esm2022/src/app/core/form/properties/properties.table.mjs +1 -1
  5. package/esm2022/src/app/core/register/register.form.mjs +1 -1
  6. package/esm2022/src/app/core/services/config/core.config.mjs +7 -1
  7. package/esm2022/src/app/core/settings/settings.page.mjs +1 -1
  8. package/esm2022/src/app/core/table/testing/table-validator.service.mjs +4 -1
  9. package/esm2022/src/app/core/table/testing/table.testing.mjs +39 -20
  10. package/esm2022/src/app/shared/form/field.component.mjs +10 -7
  11. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +8 -5
  12. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  13. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +3 -3
  14. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +3 -2
  15. package/esm2022/src/app/shared/material/chips/material.chips.mjs +3 -3
  16. package/esm2022/src/app/shared/material/datetime/material.date.mjs +10 -3
  17. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +70 -41
  18. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +7 -6
  19. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +16 -11
  20. package/esm2022/src/app/shared/material/latlong/testing/latlong.test.mjs +7 -3
  21. package/esm2022/src/app/shared/material/material.config.mjs +2 -1
  22. package/esm2022/src/app/shared/material/testing/common.test.mjs +14 -9
  23. package/esm2022/src/app/shared/pipes/maskito.pipe.mjs +37 -16
  24. package/fesm2022/sumaris-net.ngx-components.mjs +247 -143
  25. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  26. package/package.json +1 -1
  27. package/src/app/core/services/config/core.config.d.ts +1 -0
  28. package/src/app/shared/form/field.component.d.ts +5 -3
  29. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -0
  30. package/src/app/shared/material/datetime/material.date.d.ts +1 -0
  31. package/src/app/shared/material/datetime/material.datetime.d.ts +25 -22
  32. package/src/app/shared/material/datetime/testing/mat-date-time.test.d.ts +2 -2
  33. package/src/app/shared/material/latlong/material.latlong.d.ts +5 -3
  34. package/src/app/shared/material/latlong/testing/latlong.test.d.ts +4 -0
  35. package/src/app/shared/material/material.config.d.ts +2 -1
  36. package/src/assets/manifest.json +1 -1
  37. package/src/theme/_material.globals.scss +0 -36
  38. package/src/theme/_material.scss +34 -8
  39. package/src/theme/_mixins.scss +6 -4
  40. package/src/theme/_ngx-components.forms.scss +201 -0
  41. package/src/theme/_ngx-components.globals.scss +7 -4
  42. package/src/theme/_ngx-components.scss +11 -203
  43. package/src/theme/_ngx-components.table.scss +104 -134
  44. package/src/theme/_ngx-components.tabs.scss +0 -324
  45. package/src/theme/_theme.scss +1 -0
@@ -126,200 +126,14 @@ ion-menu.menu-side-left {
126
126
  }
127
127
  }
128
128
 
129
- // --------------------------------------------------
130
- // Material Forms
131
- // --------------------------------------------------
132
- .form-container,
133
- form.form-container {
134
- color: #{$app-form-color};
135
- --mdc-filled-text-field-container-color: #{$app-form-field-background-color};
136
- --mdc-filled-text-field-disabled-container-color: #{$app-form-field-background-color};
137
- --mat-form-field-state-layer-color: #{$app-form-field-focus-background-color};
138
- @include font-size(16px);
139
-
140
- .mat-form-field-disabled,
141
- .mat-mdc-input-element:disabled {
142
- color: #{$app-form-color-disabled} !important;
143
- }
144
-
145
- .mat-form-field-disabled {
146
- .mat-mdc-form-field-infix{
147
- min-height: 41px;
148
- }
149
- }
150
-
151
- mat-form-field,
152
- mat-autocomplete-field,
153
- app-form-field {
154
- width: 100%;
155
- }
156
-
157
- .mat-mdc-form-field {
158
-
159
- &:not(.mat-mdc-form-field-has-icon-prefix) {
160
- .mdc-text-field {
161
- padding-left: 4px;
162
- }
163
- }
164
-
165
- ion-icon[matPrefix],
166
- mat-icon[matPrefix],
167
- .mat-mdc-form-field-icon-prefix {
168
-
169
- ion-icon, .mat-icon {
170
- $font-size: calculateRem(24px);
171
- $margin-vertical: calculateRem(4px);
172
- font-size: $font-size !important;
173
- line-height: 1.125;
174
- height: $font-size;
175
- width: $font-size;
176
- margin-left: $margin-vertical;
177
- margin-right: $margin-vertical;
178
- position: relative;
179
- }
180
- }
181
-
182
- ion-icon[matSuffix],
183
- mat-icon[matSuffix],
184
- .mat-mdc-form-field-icon-suffix {
185
- white-space: nowrap;
186
-
187
- .mat-mdc-icon-button {
188
- --mdc-icon-button-icon-size: 24px;
189
- --mdc-icon-button-state-layer-size: 28px;
190
- padding: 2px;
191
-
192
- ion-icon, .mat-icon, .mat-icon.large {
193
- font-size: var(--mdc-icon-button-icon-size);
194
- line-height: var(--mdc-icon-button-icon-size);
195
- }
196
-
197
- .mat-mdc-button-touch-target {
198
- width: var(--mdc-icon-button-state-layer-size);
199
- }
200
- }
201
-
202
- ion-icon, .mat-icon {
203
-
204
- &.large {
205
- $font-size: calculateRem(24px);
206
- font-size: $font-size;
207
- line-height: 1.125;
208
- }
209
- }
210
-
211
- }
212
-
213
- // When field use choice button, reduce the font size, and optimize layout
214
- button.mat-mdc-form-field-button,
215
- ion-button.mat-mdc-form-field-button {
216
- @include font-size-important(12px);
217
- margin: 0;
218
- white-space: normal;
219
- }
220
-
221
- // Used to customize mat-boolean-field
222
- &.mat-boolean-field-checkbox {
223
- --mdc-checkbox-state-layer-size: 20px;
224
-
225
- .mat-mdc-form-field-infix {
226
- padding-top: 16px;
227
- }
228
-
229
- .mdc-floating-label {
230
- transform: unset !important;
231
- padding-left: 30px;
232
- top: 20px;
233
- }
234
- }
235
-
236
- &.mat-boolean-field-radio {
237
- --mdc-radio-state-layer-size: 20px;
238
-
239
- .mat-mdc-radio-button {
240
- padding-left: 8px;
241
- }
242
- }
243
-
244
- &.mat-boolean-field-button {
245
- .mat-mdc-form-field-infix {
246
- padding-top: 0;
247
- padding-bottom: 0;
248
- }
249
- }
250
- }
251
-
252
-
253
- /* -- Computed field -- */
254
-
255
- // Set color on computed field (if enable or disable)
256
- .computed mat-mdc-form-field,
257
- mat-mdc-form-field .computed,
258
- mat-mdc-form-field.computed,
259
- .computed mat-mdc-form-field .mat-mdc-input-element:disabled,
260
- mat-mdc-form-field .computed .mat-mdc-input-element:disabled,
261
- mat-mdc-form-field.computed .mat-mdc-input-element:disabled {
262
- color: var(--ion-color-primary-tint) !important;
263
- font-style: italic;
264
- }
265
-
266
- /* MatSwipeField */
267
- mat-swipe-field {
268
-
269
- .mdc-floating-label--float-above {
270
- transform: translateY(-106%) translateX(40px) scale(0.75) !important;
271
- }
272
-
273
- }
274
- }
275
- // Manage first child grid inside a form
276
- form.form-container > ion-grid,
277
- ion-grid.form-container {
278
- padding: 0;
279
-
280
- ion-row {
281
- // No between grid rows
282
- padding: 0;
283
-
284
- ion-col > ion-label {
285
- color: var(--ion-color-primary100);
286
- padding-inline-end: 5px;
287
- }
288
-
289
- ion-col > ion-label[text-wrap] {
290
- word-wrap: normal;
291
- white-space: normal;
292
- }
293
- }
294
- ion-row > ion-col {
295
-
296
- // No top/bottom padding between grid cell
297
- padding-bottom: 0;
298
- padding-top: 0;
299
- }
300
- }
301
129
 
302
130
  mat-form-field {
303
- //mat-error {
304
- // text-align: right;
305
- //}
306
131
 
307
132
  .mat-paginator-page-size-select {
308
133
  @include font-size-important(14px);
309
134
  }
310
135
  }
311
136
 
312
-
313
- // --- mat-date-time
314
- mat-date-time-field {
315
- //@include font-size-important(16px);
316
-
317
- // Need for errors injected using the <ng-content> tag
318
- //mat-error {
319
- // text-align: end;
320
- //}
321
- }
322
-
323
137
  // --- mat-date-short-field
324
138
  mat-calendar.mat-date-short-panel {
325
139
  // Hide some buttons (e.g. to change the period)
@@ -351,12 +165,6 @@ mat-option {
351
165
  flex-grow: 1;
352
166
  }
353
167
  .mat-option-text:not(:has(ion-row)),
354
-
355
- // TODO : Disabled : mat-option already have padding : this is redundant
356
- //.mdc-list-item__primary-text:not(:has(ion-row)) {
357
- // padding: 0 16px;
358
- //}
359
-
360
168
  .mat-option-text:has(ion-searchbar),
361
169
  .mdc-list-item__primary-text:has(ion-searchbar) {
362
170
  padding: 0 !important;
@@ -464,7 +272,7 @@ ion-list,
464
272
  }
465
273
  }
466
274
 
467
- .mat-mdc-option.mat-select-searchbar,
275
+ .mat-mdc-optgroup.mat-select-searchbar,
468
276
  .mat-mdc-option.mat-autocomplete-searchbar
469
277
  {
470
278
  padding: 0 !important;
@@ -472,8 +280,10 @@ ion-list,
472
280
  background-color: var(--ion-color-secondary100) !important;
473
281
  pointer-events: inherit !important;
474
282
 
475
- .mdc-list-item__primary-text {
476
- opacity: 1 !important;
283
+ .mat-mdc-optgroup-label {
284
+ background-color: var(--ion-color-secondary100) !important;
285
+ padding: 0;
286
+ display: block;
477
287
  }
478
288
 
479
289
  /* hide pseudo checkbox, in the searchbar*/
@@ -570,7 +380,6 @@ ion-list,
570
380
  }
571
381
 
572
382
  .mat-mdc-option[no-padding],
573
- .mat-option[no-padding],
574
383
  mat-option[no-padding] {
575
384
  padding: 0 !important;
576
385
  }
@@ -751,31 +560,31 @@ mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-disabled {
751
560
 
752
561
  // No padding
753
562
  &.ion-no-padding {
754
- .mat-menu-content {
563
+ .mat-mdc-menu-content {
755
564
  padding: 0 !important;
756
565
  }
757
566
  }
758
567
 
759
568
  // Small menu item (e.g. for actions on a table row)
760
- &.mat-menu-small-item-height .mat-menu-item,
761
- .mat-menu-item.mat-menu-item-small-height
569
+ &.mat-mdc-menu-item-small-height .mat-mdc-menu-item,
570
+ .mat-mdc-menu-item.mat-mdc-menu-item-small-height
762
571
  {
763
572
  padding: 0 8px;
764
573
  height: 35px;
765
574
  line-height: 35px;
766
575
  }
767
576
  // Reduce the font size, on label just inside a mat-menu (e.g. see trips.page.html)
768
- .mat-menu-content > ion-label {
577
+ .mat-mdc-menu-content > ion-label {
769
578
  @include font-size(12px);
770
579
  }
771
580
 
772
- .mat-menu-content ion-item > ion-icon[slot="start"] {
581
+ .mat-mdc-menu-content ion-item > ion-icon[slot="start"] {
773
582
  margin-right: 16px;
774
583
  vertical-align: middle;
775
584
  }
776
585
 
777
586
  // Menu title (e.g. see extraction map)
778
- .mat-menu-item.mat-menu-title {
587
+ .mat-mdc-menu-item.mat-mdc-menu-title {
779
588
  padding: 0 8px;
780
589
  height: 27px;
781
590
  line-height: 27px;
@@ -853,7 +662,6 @@ ngx-material-timepicker-content {
853
662
 
854
663
  .mat-mdc-form-field-type-mat-chip-grid {
855
664
  .mat-mdc-form-field-infix {
856
- padding-bottom: 5px !important;
857
665
  --mdc-chip-container-height: 24px !important;
858
666
  }
859
667
  }
@@ -12,21 +12,22 @@
12
12
  .mat-mdc-table {
13
13
  min-width: calc(100% - 1px);
14
14
  border-collapse: separate;
15
+ --mat-table-row-item-label-text-size: 14px;
16
+ --mat-table-row-item-label-text-tracking: normal;
15
17
  --mat-row-height: #{$app-table-row-height};
16
18
  --mat-row-max-height: #{$app-table-row-max-height};
17
19
  --mat-cell-horizontal-padding: #{$app-table-cell-horizontal-padding};
18
- --mat-cell-padding-top: calc(var(--mat-row-height) * 0.5 - 14px);
20
+ --mat-cell-padding-top: calc(var(--mat-row-height) / 2 - var(--mat-table-row-item-label-text-size, 14px));
19
21
 
20
- --mdc-checkbox-state-layer-size: 20px;
21
22
  --mdc-typography-body1-font-size: 14px;
22
- --mat-table-row-item-label-text-tracking: 0.0178571429em;
23
- --mat-form-field-container-text-tracking: 0.0178571429em;
24
- --mdc-typography-body1-letter-spacing: 0.0178571429em;
25
- --mat-table-row-item-label-text-size: 14px;
23
+ --mdc-typography-body1-letter-spacing: normal;
26
24
 
27
- --mdc-filled-text-field-container-color: #{$app-form-field-background-color};
28
- --mdc-filled-text-field-disabled-container-color: #{$app-form-field-background-color};
29
- --mat-form-field-state-layer-color: #{$app-form-field-focus-background-color};
25
+ --mat-form-field-container-text-tracking: normal;
26
+ --mat-form-field-state-layer-color: transparent;
27
+ --mat-form-field-subscript-text-size: 10px;
28
+ --mdc-checkbox-state-layer-size: 20px;
29
+ --mdc-filled-text-field-container-color: transparent;
30
+ --mdc-filled-text-field-disabled-container-color: transparent;
30
31
 
31
32
  .mat-mdc-header-cell {
32
33
  color: var(--ion-color-primary);
@@ -107,7 +108,7 @@
107
108
  }
108
109
 
109
110
  /* Add a start padding to content (but not the cell itself) (e.g. tables with odd/event style - like BatchGroupsTable) */
110
- &.mat-cell-content-start-padding {
111
+ &.mat-mdc-cell-content-start-padding {
111
112
 
112
113
  // Reset start padding here (only apply cell's content)
113
114
  padding-inline-start: 0;
@@ -156,6 +157,7 @@
156
157
  }
157
158
  }
158
159
 
160
+ .mat-mdc-cell-date,
159
161
  .mat-cell-date {
160
162
  min-width: 128px;
161
163
  max-width: 128px;
@@ -166,10 +168,16 @@
166
168
  }
167
169
  }
168
170
 
171
+ .mat-mdc-cell-date-time,
169
172
  .mat-cell-date-time {
170
- min-width: 145px;
173
+ min-width: 155px;
171
174
  max-width: 180px;
172
175
 
176
+ mat-date-time-field {
177
+ ion-col.day {
178
+ min-width: unset !important; // make sure column is resizable
179
+ }
180
+ }
173
181
  input {
174
182
  max-width: 120px;
175
183
  overflow: visible !important;
@@ -183,16 +191,21 @@
183
191
  .mat-column-actions {
184
192
  text-align: end;
185
193
  min-width: var(--mat-column-actions-min-width);
186
- width: var(--mat-column-actions-width, 40px);
187
- max-width: var(--mat-column-actions-max-width, 40px);
194
+ width: var(--mat-column-actions-width, 48px); // 48px = a button width
195
+ max-width: var(--mat-column-actions-max-width, 48px); // 48px = a button width
188
196
  padding-inline-start: 0 !important; // No start padding
189
- padding-right: unset !important;
197
+ padding-inline-end: 0; // No end padding
198
+ padding-right: unset !important; // use padding-inline-start instead
199
+ padding-left: unset !important; // use padding-inline-end instead
200
+ color: unset; // Remove row color (let the button decide)
190
201
  }
191
202
 
192
203
  .mat-mdc-cell.computed mat-form-field,
204
+ .mat-mdc-cell-computed,
193
205
  .mat-cell-computed,
194
206
  .mat-mdc-cell ion-text.computed,
195
207
  .mat-mdc-cell.calculated mat-form-field,
208
+ .mat-mdc-cell-calculated,
196
209
  .mat-cell-calculated {
197
210
  color: var(--ion-color-primary-tint);
198
211
  font-style: italic;
@@ -202,32 +215,35 @@
202
215
  .mat-mdc-row {
203
216
 
204
217
  // Disabled row
218
+ &.mat-mdc-row-disabled *,
205
219
  &.mat-row-disabled * {
206
- color: inherit;
207
220
  cursor: pointer;
208
221
  // Necessary to focus on <mat-form-field> when row is readonly since angular 15 migrating
209
222
  pointer-events: unset !important;
210
223
  }
211
224
 
225
+ &.mat-mdc-row-disabled:hover,
212
226
  &.mat-row-disabled:hover {
213
227
  background-color: var(--ion-color-light);
214
228
 
215
- .mat-cell {
229
+ .mat-mdc-cell {
216
230
  color: var(--ion-color-light-contrast);
217
231
  }
218
232
  }
219
233
 
234
+ &.mat-mdc-row-selected,
220
235
  &.mat-row-selected {
221
236
  background-color: var(--ion-color-secondary100);
222
237
 
223
- &:not(.mat-row-error):hover {
238
+ &:not(.mat-mdc-row-error):not(.mat-row-error):hover {
224
239
  background-color: var(--ion-color-secondary100);
225
240
  }
226
241
 
227
- .mat-cell {
242
+ .mat-mdc-cell {
228
243
  color: var(--ion-color-secondary100-contrast);
229
244
  }
230
245
 
246
+ &.mat-mdc-row-disabled:hover,
231
247
  &.mat-row-disabled:hover {
232
248
  background-color: var(--ion-color-secondary100-shade) !important;
233
249
  }
@@ -235,9 +251,8 @@
235
251
  }
236
252
 
237
253
  // Dirty row
254
+ &.mat-mdc-row-dirty,
238
255
  &.mat-row-dirty {
239
- //border-left: 3px solid var(--ion-color-primary-tint);
240
-
241
256
  // Resize the dirty icon (in the 'actions' column)
242
257
  .mat-column-actions mat-icon.dirty-icon,
243
258
  .mat-column-actions ion-icon.dirty-icon {
@@ -246,10 +261,12 @@
246
261
  }
247
262
 
248
263
  // Error row
264
+ &.mat-mdc-row-error,
249
265
  &.mat-row-error {
250
266
  //border-left: 3px solid var(--ion-color-danger-tint) !important;
251
267
  background-color: var(--ion-color-warning-tint);
252
268
 
269
+ &.mat-mdc-row-disabled:hover,
253
270
  &.mat-row-disabled:hover {
254
271
  background-color: var(--ion-color-warning-shade) !important;
255
272
  }
@@ -267,30 +284,30 @@
267
284
  }
268
285
  }
269
286
 
270
- //.mdc-line-ripple--deactivating {
271
- // display: none;
272
- //}
273
-
274
- mat-mdc-form-field,
275
287
  mat-autocomplete-field,
276
- app-form-field,
288
+ app-form-field {
289
+ width: 100%;
290
+ }
291
+
277
292
  .mat-mdc-form-field {
278
293
  width: 100%;
294
+
279
295
  --mat-form-field-container-text-size: 14px;
280
296
  --mdc-filled-text-field-label-text-size: var(--mat-form-field-container-text-size);
297
+ --mat-select-trigger-text-size: var(--mat-form-field-container-text-size);
281
298
  --mat-mdc-form-field-height: calc(var(--mat-row-height) - 2px);
282
- // TODO
283
- // use -- active- boder : 0;
299
+ --mdc-outlined-text-field-outline-width: 0;
284
300
  height: var(--mat-mdc-form-field-height);
285
- }
286
-
287
- .mat-mdc-form-field {
288
- padding-top: 1px;
289
301
 
290
302
  .mat-mdc-form-field-label {
291
303
  width: 100%;
292
304
  }
293
305
 
306
+ &.mat-form-field-appearance-fill {
307
+ height: var(--mat-mdc-form-field-height);
308
+ padding-top: 1px; // suppress a redundant line in table
309
+ }
310
+
294
311
  .mat-mdc-text-field-wrapper {
295
312
  max-height: var(--mat-mdc-form-field-height);
296
313
  }
@@ -350,11 +367,11 @@
350
367
  // Suffix
351
368
  .mat-mdc-form-field-icon-suffix {
352
369
  white-space: nowrap;
370
+ padding: 0;
353
371
 
354
372
  .mat-mdc-icon-button {
355
- width: 24px;
356
- height: 24px;
357
- padding: 2px 0 0 0;
373
+ --mdc-icon-button-state-layer-size: 24px;
374
+ padding: 0;
358
375
 
359
376
  ion-icon, .mat-icon {
360
377
  $font-size: calculateRem(18px);
@@ -363,7 +380,7 @@
363
380
  }
364
381
 
365
382
  .mat-mdc-button-touch-target {
366
- width: 24px;
383
+ width: var(--mdc-icon-button-state-layer-size);
367
384
  }
368
385
  }
369
386
 
@@ -381,12 +398,6 @@
381
398
  }
382
399
  }
383
400
 
384
- .mat-mdc-form-field-subscript-wrapper {
385
- margin-top: -1.5rem;
386
- text-align: right;
387
- pointer-events: none;
388
- }
389
-
390
401
  // FIXME: in table, required indicator is only inside the float label
391
402
  .mat-mdc-floating-label {
392
403
  display: none;
@@ -398,15 +409,19 @@
398
409
  color: rgba(0, 0, 0, 0.6) !important;
399
410
  -webkit-text-fill-color: rgba(0, 0, 0, 0.6) !important;
400
411
  }
401
-
402
- mat-error {
403
- //font-size: ;
404
- //--mdc-typography-caption-font-size: 10px;
405
- font-size: 10px;
406
- }
407
-
408
412
  } // .mat-mdc-form-field
409
413
 
414
+ .mat-mdc-form-field-subscript-wrapper,
415
+ .mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align {
416
+ margin-top: -1.5rem;
417
+ text-align: right;
418
+ pointer-events: none;
419
+
420
+ mat-error,
421
+ mat-hint {
422
+ font-size: var(--mat-form-field-subscript-text-size);
423
+ }
424
+ }
410
425
 
411
426
  .mat-boolean-field-radio.mat-mdc-form-field-appearance-fill .mat-mdc-form-field-infix,
412
427
  .mat-boolean-field-radio .mat-mdc-form-field-infix {
@@ -426,7 +441,29 @@
426
441
  padding-top: 0.4em;
427
442
  }
428
443
 
429
- .mat-cell > .ion-text-nowrap {
444
+
445
+ mat-date-time-field {
446
+ height: calc(var(--mat-row-height) - 2px);
447
+ ion-col.day {
448
+ min-width: unset !important; // make sure column is resizable
449
+ }
450
+ ion-col.hour {
451
+ --max-width: var(--min-width) !important;
452
+ }
453
+ }
454
+
455
+ mat-latlong-field {
456
+ height: calc(var(--mat-row-height) - 2px);
457
+ ion-col.text {
458
+ min-width: unset !important; // make sure column is resizable
459
+ }
460
+ ion-col.sign {
461
+ --min-width: 35px !important;
462
+ --max-width: 45px !important;
463
+ }
464
+ }
465
+
466
+ .mat-mdc-cell > .ion-text-nowrap {
430
467
  width: 100%;
431
468
  overflow: hidden;
432
469
  text-overflow: ellipsis;
@@ -434,17 +471,17 @@
434
471
  }
435
472
 
436
473
  /* Show when hover row */
437
- .mat-cell .visible-hover-row {
474
+ .mat-mdc-cell .visible-hover-row {
438
475
  visibility: hidden;
439
476
  }
440
477
 
441
478
  &:hover {
442
- .mat-cell .visible-hover-row {
479
+ .mat-mdc-cell .visible-hover-row {
443
480
  visibility: visible;
444
481
  }
445
482
  }
446
483
 
447
- .mat-cell .avatar {
484
+ .mat-mdc-cell .avatar {
448
485
  color: #d9d9d9;
449
486
  background-color: #f8f8f8;
450
487
  border: solid 1px #d9d9d9;
@@ -458,103 +495,36 @@
458
495
 
459
496
  /* Special case to have small row */
460
497
  &.compact .mat-mdc-row,
498
+ .mat-mdc-row.mat-mdc-row-small,
461
499
  .mat-mdc-row.mat-row-small {
462
500
  min-height: inherit;
463
501
  --mat-row-height: 33px;
464
502
  --mat-row-max-height: 33px;
465
503
  }
466
504
 
467
- .mat-mdc-row.mat-row-small .mat-cell,
468
- .mat-mdc-row .mat-cell.mat-row-small {
505
+ .mat-mdc-row.mat-mdc-row-small .mat-mdc-cell,
506
+ .mat-mdc-row .mat-mdc-cell.mat-mdc-row-small,
507
+ .mat-mdc-row.mat-row-small .mat-mdc-cell,
508
+ .mat-mdc-row .mat-mdc-cell.mat-row-small {
469
509
  line-height: 15px;
470
510
  @include font-size(12px);
471
511
  }
472
512
 
473
- .mat-row-height-auto { // todo useful ?
513
+ .mat-mdc-row-height-auto,
514
+ .mat-row-height-auto {
474
515
  max-height: unset !important;
475
516
  }
476
517
 
477
- // Make smaller row
478
- // NOTE : useless on angular 15
479
- //&.compact {
480
- // --mat-row-height: 33px;
481
- //
482
- // // TODO test it ! then remove is not need
483
- // .mat-mdc-row {
484
- //
485
- // ion-label {
486
- // display: inline-block;
487
- // margin-top: 5px;
488
- // width: 100%;
489
- // overflow: hidden;
490
- // white-space: nowrap;
491
- // text-overflow: ellipsis;
492
- // }
493
- //
494
- // .mat-badge-content {
495
- // top: -2px;
496
- // }
497
- //
498
- // .mat-icon-button {
499
- // height: 32px;
500
- // width: 32px;
501
- // line-height: 32px;
502
- // }
503
- //
504
- // .mat-mdc-form-field-underline {
505
- // bottom: 6px !important;
506
- // }
507
- //
508
- // .mat-mdc-form-field {
509
- //
510
- // .mat-mdc-form-field-wrapper {
511
- // max-height: 32px;
512
- //
513
- // .mat-mdc-form-field-flex {
514
- //
515
- // .mat-mdc-form-field-infix {
516
- // max-height: 32px;
517
- // padding-top: 0;
518
- // border-top-width: 10px;
519
- //
520
- // .mat-mdc-form-field-label-wrapper {
521
- //
522
- // .mat-mdc-form-field-label {
523
- // top: 12px;
524
- // }
525
- // }
526
- //
527
- // .mat-checkbox {
528
- // display: block;
529
- // position: absolute;
530
- // top: -2px;
531
- //
532
- // .mat-checkbox-ripple {
533
- // height: 32px;
534
- // width: 32px;
535
- // left: calc(50% - 16px);
536
- // top: calc(50% - 16px);
537
- // }
538
- // }
539
- // }
540
- // }
541
- //
542
- // // make click on mat-error transfer to input
543
- // //.mat-mdc-form-field-subscript-wrapper {
544
- // // pointer-events: none;
545
- // //}
546
- //
547
- // mat-error {
548
- // margin-top: 10px;
549
- // }
550
- // }
551
- // }
552
- // }
553
- //}
518
+ // Restore border on last row
519
+ .mdc-data-table__row:last-child .mat-mdc-cell {
520
+ border-bottom-color: var(--mat-table-row-item-outline-color, rgba(0, 0, 0, 0.12)) !important;
521
+ border-bottom-width: var(--mat-table-row-item-outline-width, 1px) !important;
522
+ border-bottom-style: solid !important;
523
+ }
554
524
  }
555
525
 
556
526
  .mat-mdc-paginator {
557
- --mat-paginator-container-size: #{$app-paginator-height};
527
+ --mat-paginator-container-size: var(--app-paginator-height, #{$app-paginator-height});
558
528
  --mat-paginator-container-background-color: whitesmoke;
559
529
  overflow-y: hidden;
560
530