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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) 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.testing.mjs +3 -3
  9. package/esm2022/src/app/shared/form/field.component.mjs +10 -7
  10. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +9 -6
  11. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  12. package/esm2022/src/app/shared/material/chips/material.chips.mjs +4 -4
  13. package/esm2022/src/app/shared/material/datetime/material.date.mjs +10 -3
  14. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +29 -3
  15. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +3 -6
  16. package/esm2022/src/app/shared/material/testing/common.test.mjs +3 -3
  17. package/fesm2022/sumaris-net.ngx-components.mjs +77 -35
  18. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/src/app/core/services/config/core.config.d.ts +1 -0
  21. package/src/app/shared/form/field.component.d.ts +5 -3
  22. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -0
  23. package/src/app/shared/material/chips/material.chips.d.ts +1 -1
  24. package/src/app/shared/material/datetime/material.date.d.ts +1 -0
  25. package/src/app/shared/material/datetime/material.datetime.d.ts +1 -0
  26. package/src/app/shared/material/latlong/material.latlong.d.ts +0 -1
  27. package/src/assets/manifest.json +1 -1
  28. package/src/theme/_material.scss +17 -1
  29. package/src/theme/_mixins.scss +6 -4
  30. package/src/theme/_ngx-components.globals.scss +7 -4
  31. package/src/theme/_ngx-components.scss +93 -188
  32. package/src/theme/_ngx-components.table.scss +45 -111
  33. package/src/theme/_ngx-components.tabs.scss +0 -325
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sumaris-net/ngx-components",
3
3
  "description": "SUMARiS Angular components",
4
- "version": "2.7.3-rc3",
4
+ "version": "2.7.3-rc30",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -24,6 +24,7 @@ export declare const CORE_CONFIG_OPTIONS: Readonly<{
24
24
  COLOR_WARNING: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
25
25
  COLOR_ACCENT: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
26
26
  COLOR_DANGER: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
27
+ FORM_FIELD_BACKGROUND_COLOR: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
27
28
  ANDROID_INSTALL_URL: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
28
29
  DB_TIMEZONE: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
29
30
  ACCOUNT_READONLY: FormFieldDefinition<string, import("../../../shared/form/field.model").FormFieldType, any>;
@@ -1,12 +1,13 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, Injector, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormControl } from '@angular/forms';
3
- import { DisplayFn, FormFieldDefinition, FormFieldType, AppFloatLabelType } from './field.model';
3
+ import { AppFloatLabelType, DisplayFn, FormFieldDefinition, FormFieldType } from './field.model';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { filterNumberInput, selectInputContent } from '../inputs';
6
6
  import { Property } from '../types';
7
7
  import { ThemePalette } from '@angular/material/core';
8
8
  import { PredefinedColors } from '@ionic/core';
9
9
  import { MatAutocompleteField } from '../material/autocomplete/material.autocomplete';
10
+ import { MatFormFieldAppearance } from '@angular/material/form-field';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare class AppFormField implements OnInit, ControlValueAccessor {
12
13
  protected translate: TranslateService;
@@ -29,12 +30,13 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
29
30
  placeholder: string;
30
31
  compact: boolean;
31
32
  floatLabel: AppFloatLabelType;
33
+ appearance: MatFormFieldAppearance;
32
34
  tabindex: number;
33
35
  autofocus: boolean;
34
36
  clearable: boolean;
35
37
  chipColor: ThemePalette | PredefinedColors;
36
- debug: boolean;
37
38
  classList: string;
39
+ debug: boolean;
38
40
  onKeyupEnter: EventEmitter<any>;
39
41
  get value(): any;
40
42
  matInput: ElementRef;
@@ -67,5 +69,5 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
67
69
  }): void;
68
70
  protected updateTabIndex(timeout?: number): void;
69
71
  static ɵfac: i0.ɵɵFactoryDeclaration<AppFormField, [null, null, null, { optional: true; }]>;
70
- static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "classList": { "alias": "class"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
72
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppFormField, "app-form-field", never, { "definition": { "alias": "definition"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "chipColor": { "alias": "chipColor"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; }, { "onKeyupEnter": "keyup.enter"; }, never, ["[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matPrefix]", "[matSuffix]", "[matSuffix]"], false, never>;
71
73
  }
@@ -112,6 +112,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
112
112
  filterInputTextFocusEvent(event: FocusEvent): boolean;
113
113
  protected filterInputTextBlurEvent(event: FocusEvent): void;
114
114
  protected ionSearchBarChanged(event: Event): void;
115
+ ionSearchBarChanged1(event: any): void;
115
116
  filterMatSelectFocusEvent(event: FocusEvent): void;
116
117
  filterMatSelectBlurEvent(event: FocusEvent): boolean;
117
118
  clearValue(event?: Event): void;
@@ -3,7 +3,7 @@ import { ControlValueAccessor, FormGroupDirective, UntypedFormControl } from '@a
3
3
  import { BehaviorSubject, Observable } from 'rxjs';
4
4
  import { InputElement } from '../../inputs';
5
5
  import { SuggestFn } from '../../services/entity-service.class';
6
- import { DisplayFn, EqualsFn, AppFloatLabelType } from '../../form/field.model';
6
+ import { AppFloatLabelType, DisplayFn, EqualsFn } from '../../form/field.model';
7
7
  import { ThemePalette } from '@angular/material/core';
8
8
  import { MatAutocompleteFieldConfig } from '../autocomplete/material.autocomplete.config';
9
9
  import { MatFormFieldAppearance } from '@angular/material/form-field';
@@ -61,6 +61,7 @@ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, Contro
61
61
  clear(): void;
62
62
  protected _onDatePickerChange(event: MatDatepickerInputEvent<Moment>): void;
63
63
  protected _openDatePickerIfMobile(event: Event): void;
64
+ protected _onBlur(): void;
64
65
  protected _checkIfTouched(opts?: {
65
66
  emitEvent?: boolean;
66
67
  }): void;
@@ -95,6 +95,7 @@ export declare class MatDateTime implements OnInit, AfterViewInit, OnDestroy, Co
95
95
  protected _onTimePickerChange(timeStr: string): void;
96
96
  protected _openDatePickerIfMobile(event?: Event, datePicker?: MatDatepicker<any>): void;
97
97
  protected _openTimePickerIfMobile(event?: Event): void;
98
+ protected _onBlur(): void;
98
99
  protected _checkIfTouched(): void;
99
100
  protected _preventEvent(event?: Event): void;
100
101
  private updatePattern;
@@ -48,7 +48,6 @@ export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueA
48
48
  matError: MatError;
49
49
  constructor(formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective, defaultOptions?: MatFormFieldDefaultOptions);
50
50
  ngOnInit(): void;
51
- _getDisplayedMessages(): 'error' | 'hint';
52
51
  ngOnDestroy(): void;
53
52
  writeValue(obj: any): void;
54
53
  registerOnChange(fn: any): void;
@@ -2,7 +2,7 @@
2
2
  "name": "ngx-sumaris-components",
3
3
  "short_name": "ngx-sumaris-components",
4
4
  "manifest_version": 1,
5
- "version": "2.7.3-rc3",
5
+ "version": "2.7.3-rc30",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{
@@ -50,8 +50,24 @@
50
50
  --mdc-typography-button-letter-spacing: normal;
51
51
  --mdc-text-button-label-text-tracking: normal;
52
52
  }
53
+ .mat-mdc-menu-item {
54
+ --mat-menu-item-label-text-tracking: normal;
55
+ --mat-menu-item-label-text-size: 14px;
56
+ --mat-menu-item-icon-color: #0000008a;
57
+ }
58
+ .mat-mdc-option {
59
+ --mat-option-label-text-tracking: normal;
60
+ --mat-option-label-text-size: 16px;
61
+ }
62
+ .mat-mdc-select {
63
+ --mat-select-trigger-text-font: inherit;
64
+ --mat-select-trigger-text-tracking: normal;
65
+ --mat-select-trigger-text-size: inherit;
66
+ --mat-select-disabled-trigger-text-color: inherit;
67
+ --mat-select-trigger-text-line-height: inherit;
68
+ }
53
69
 
54
- // Badge
70
+ // Badge
55
71
  .mdc-tab .mat-badge-content {
56
72
  padding-left: 2px;
57
73
  }
@@ -98,21 +98,23 @@
98
98
  --ion-grid-column-padding: #{$ion-grid-column-padding};
99
99
  --ion-padding: #{$ion-padding};
100
100
  --ion-margin: #{$ion-margin};
101
+ --ion-toolbar-height: #{$ion-toolbar-height};
101
102
 
102
103
  --expansion-panel-padding: var(--ion-padding);
103
104
  --expansion-panel-header-padding: var(--ion-padding);
104
105
 
105
106
  --mat-toolbar-height: #{$mat-toolbar-height-desktop};
106
107
  --mat-paginator-height: mat.$paginator-height;
107
- --ion-toolbar-height: #{$ion-toolbar-height};
108
+ --mat-tab-link-height: #{$mat-tab-link-height};
109
+ --mat-tab-bar-height: #{$mat-tab-bar-height};
108
110
 
109
111
  --app-table-header-height: #{$app-table-header-height};
110
112
  --app-toolbar-height: #{$app-toolbar-height};
111
- //--app-paginator-height: #{$app-paginator-height};
113
+ --app-paginator-height: #{$app-paginator-height};
112
114
  --app-form-buttons-bar-height: #{$app-form-buttons-bar-height};
113
115
  --app-footer-height: var(--app-form-buttons-bar-height);
114
- --mat-tab-link-height: #{$mat-tab-link-height};
115
- --mat-tab-bar-height: #{$mat-tab-bar-height};
116
+ --app-form-field-background-color: #{$app-form-field-background-color};
117
+ --app-form-field-disabled-background-color: #{$app-form-field-disabled-background-color};
116
118
  }
117
119
 
118
120
  @mixin css-variables-to-root-mobile() {
@@ -16,7 +16,10 @@ $app-form-buttons-bar-height: 56px !default;
16
16
  $app-select-option-border-color: rgba(0, 0, 0, 0.12) !default;
17
17
  $app-table-border-color: rgba(0, 0, 0, 0.08) !default;
18
18
 
19
- $app-form-field-background-color: rgba(0,0,0,0) !default;
20
- //$app-form-field-background-color: whitesmoke !default;
21
- $app-form-field-focus-background-color: rgba(0, 0, 0, 0) !default;
22
- //$app-form-field-focus-background-color: rgba(0, 0, 0, 0.87) !default;
19
+ // Form's field background
20
+ $app-form-field-background-color: rgb(245,245,245) !default;
21
+ $app-form-field-disabled-background-color: #fafafa !default;
22
+
23
+ // Form fields background : transparent
24
+ //$app-form-field-background-color: transparent !default;
25
+ //$app-form-field-disabled-background-color: transparent !default;
@@ -132,18 +132,27 @@ ion-menu.menu-side-left {
132
132
  .form-container,
133
133
  form.form-container {
134
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
135
  @include font-size(16px);
139
136
 
137
+ --mdc-filled-text-field-container-color: var(--app-form-field-background-color);
138
+ --mdc-filled-text-field-disabled-container-color: var(--app-form-field-disabled-background-color);
139
+ --mat-form-field-state-layer-color: var(--app-form-field-focus-background-color);
140
+ --mat-form-field-container-height: 45px;
141
+ --mat-form-field-container-text-size: inherit;
142
+ --mat-form-field-filled-label-display: block;
143
+ --mat-form-field-container-vertical-padding: 8px;
144
+ --mat-form-field-filled-with-label-container-padding-top: 18px;
145
+ --mat-form-field-filled-with-label-container-padding-bottom: 0px;
146
+ --mdc-filled-text-field-label-text-tracking: normal;
147
+ --mat-select-trigger-text-size: var(--mat-form-field-container-text-size);
148
+
140
149
  .mat-form-field-disabled,
141
150
  .mat-mdc-input-element:disabled {
142
151
  color: #{$app-form-color-disabled} !important;
143
152
  }
144
153
 
145
154
  .mat-form-field-disabled {
146
- .mat-mdc-form-field-infix{
155
+ .mat-mdc-form-field-infix {
147
156
  min-height: 41px;
148
157
  }
149
158
  }
@@ -166,16 +175,21 @@ form.form-container {
166
175
  mat-icon[matPrefix],
167
176
  .mat-mdc-form-field-icon-prefix {
168
177
 
178
+ --mdc-icon-button-icon-size: 24px;
179
+ --mdc-icon-button-icon-color: inherit;
180
+ --mdc-icon-button-state-layer-size: 48px;
181
+ --mdc-icon-button-margin-vertical: 12px;
182
+
169
183
  ion-icon, .mat-icon {
170
- $font-size: calculateRem(24px);
171
- $margin-vertical: calculateRem(4px);
172
- font-size: $font-size !important;
184
+ font-size: var(--mdc-icon-button-icon-size) !important;
173
185
  line-height: 1.125;
174
- height: $font-size;
175
- width: $font-size;
176
- margin-left: $margin-vertical;
177
- margin-right: $margin-vertical;
186
+ height: var(--mdc-icon-button-icon-size);
187
+ width: var(--mdc-icon-button-icon-size);
188
+ margin-left: var(--mdc-icon-button-margin-vertical);
189
+ margin-right: var(--mdc-icon-button-margin-vertical);
178
190
  position: relative;
191
+ color: var(--mdc-icon-button-icon-color);
192
+ fill: var(--mdc-icon-button-icon-color);
179
193
  }
180
194
  }
181
195
 
@@ -183,15 +197,24 @@ form.form-container {
183
197
  mat-icon[matSuffix],
184
198
  .mat-mdc-form-field-icon-suffix {
185
199
  white-space: nowrap;
200
+ align-self: baseline;
186
201
 
187
202
  .mat-mdc-icon-button {
188
- --mdc-icon-button-icon-size: 24px;
189
- --mdc-icon-button-state-layer-size: 28px;
190
- padding: 2px;
203
+ --mdc-icon-button-state-layer-size: 24px;
204
+ --mdc-icon-button-icon-size: 16px;
205
+ --mdc-icon-button-padding: 4px;
206
+ padding: var(--mdc-icon-button-padding);
207
+
208
+ &.large {
209
+ --mdc-icon-button-state-layer-size: 48px;
210
+ --mdc-icon-button-icon-size: 24px;
211
+ --mdc-icon-button-padding: 12px;
212
+ }
191
213
 
192
- ion-icon, .mat-icon, .mat-icon.large {
214
+ ion-icon, .mat-icon {
215
+ height: var(--mdc-icon-button-icon-size);
216
+ width: var(--mdc-icon-button-icon-size);
193
217
  font-size: var(--mdc-icon-button-icon-size);
194
- line-height: var(--mdc-icon-button-icon-size);
195
218
  }
196
219
 
197
220
  .mat-mdc-button-touch-target {
@@ -202,7 +225,7 @@ form.form-container {
202
225
  ion-icon, .mat-icon {
203
226
 
204
227
  &.large {
205
- $font-size: calculateRem(24px);
228
+ $font-size: calculateRem(14px);
206
229
  font-size: $font-size;
207
230
  line-height: 1.125;
208
231
  }
@@ -253,12 +276,12 @@ form.form-container {
253
276
  /* -- Computed field -- */
254
277
 
255
278
  // 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 {
279
+ .computed .mat-mdc-form-field,
280
+ .mat-mdc-form-field .computed,
281
+ .mat-mdc-form-field.computed,
282
+ .computed .mat-mdc-form-field .mat-mdc-input-element:disabled,
283
+ .mat-mdc-form-field .computed .mat-mdc-input-element:disabled,
284
+ .mat-mdc-form-field.computed .mat-mdc-input-element:disabled {
262
285
  color: var(--ion-color-primary-tint) !important;
263
286
  font-style: italic;
264
287
  }
@@ -300,9 +323,6 @@ ion-grid.form-container {
300
323
  }
301
324
 
302
325
  mat-form-field {
303
- //mat-error {
304
- // text-align: right;
305
- //}
306
326
 
307
327
  .mat-paginator-page-size-select {
308
328
  @include font-size-important(14px);
@@ -351,12 +371,6 @@ mat-option {
351
371
  flex-grow: 1;
352
372
  }
353
373
  .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
374
  .mat-option-text:has(ion-searchbar),
361
375
  .mdc-list-item__primary-text:has(ion-searchbar) {
362
376
  padding: 0 !important;
@@ -384,191 +398,74 @@ mat-option:not(:last-of-type) {
384
398
  min-width: var(--min-width) !important;
385
399
  max-width: var(--max-width) !important;
386
400
  }
387
- .mat-autocomplete-panel {
388
- --min-width: 250px;
401
+ .mat-mdc-autocomplete-panel {
402
+ --min-width: 200px;
389
403
  --max-width: calc(min(100%, 100vw - 64px));
390
404
  min-width: var(--min-width) !important;
391
405
  max-width: var(--max-width) !important;
392
406
  width: var(--max-width) !important;
393
407
  }
394
408
 
395
- .mat-autocomplete-panel-medium-size .mat-autocomplete-panel,
396
- .mat-autocomplete-panel-medium-size.mat-autocomplete-panel,
397
- .min-width-medium .mat-autocomplete-panel,
398
- .min-width-medium.mat-autocomplete-panel {
409
+ .mat-mdc-autocomplete-panel-medium-size .mat-mdc-autocomplete-panel,
410
+ .mat-mdc-autocomplete-panel-medium-size.mat-mdc-autocomplete-panel,
411
+ .min-width-medium .mat-mdc-autocomplete-panel,
412
+ .min-width-medium.mat-mdc-autocomplete-panel,
413
+ .min-width-medium.mat-mdc-select-panel {
399
414
  --min-width: 300px;
400
415
  }
401
- .mat-autocomplete-panel-large-size .mat-autocomplete-panel,
402
- .mat-autocomplete-panel.mat-autocomplete-panel-large-size,
403
- .min-width-large .mat-autocomplete-panel,
404
- .min-width-large.mat-autocomplete-panel {
416
+ .mat-mdc-autocomplete-panel-large-size .mat-mdc-autocomplete-panel,
417
+ .mat-mdc-autocomplete-panel.mat-mdc-autocomplete-panel-large-size,
418
+ .min-width-large .mat-mdc-autocomplete-panel,
419
+ .min-width-large.mat-mdc-autocomplete-panel,
420
+ .min-width-large.mat-mdc-select-panel{
405
421
  --min-width: 400px;
406
422
  }
407
- .mat-autocomplete-panel-xlarge-size .mat-autocomplete-panel,
408
- .mat-autocomplete-panel-xlarge-size.mat-autocomplete-panel {
423
+ .mat-mdc-autocomplete-panel-xlarge-size .mat-mdc-autocomplete-panel,
424
+ .mat-mdc-autocomplete-panel-xlarge-size.mat-mdc-autocomplete-panel,
425
+ .mat-mdc-autocomplete-panel-xlarge-size.mat-mdc-select-panel {
409
426
  --min-width: 450px;
410
427
  }
411
428
  .mat-select-panel.min-width-80vw,
412
429
  .mat-mdc-select-panel.min-width-80vw,
413
- .min-width-80vw .mat-autocomplete-panel,
414
- .min-width-80vw.mat-autocomplete-panel {
430
+ .min-width-80vw .mat-mdc-autocomplete-panel,
431
+ .min-width-80vw.mat-mdc-autocomplete-panel {
415
432
  --min-width: 80vw;
416
433
  }
417
434
 
418
- .mat-autocomplete-panel-center .mat-autocomplete-panel,
419
- .mat-autocomplete-panel-center.mat-autocomplete-panel {
435
+ .mat-mdc-autocomplete-panel-center .mat-mdc-autocomplete-panel,
436
+ .mat-mdc-autocomplete-panel-center.mat-mdc-autocomplete-panel {
420
437
  margin-left: calc(var(--min-width, 200px) / -2 + 50%) !important;
421
438
  }
422
439
 
423
- .mat-autocomplete-panel-full-size .mat-autocomplete-panel,
424
- .mat-autocomplete-panel-full-size.mat-autocomplete-panel {
440
+ .mat-mdc-autocomplete-panel-full-size .mat-mdc-autocomplete-panel,
441
+ .mat-mdc-autocomplete-panel-full-size.mat-mdc-autocomplete-panel {
425
442
  --min-width: calc(100vw - 64px);
426
443
  --max-width: calc(100vw - 64px);
427
444
  position: fixed;
428
445
  left: 32px;
429
446
  }
430
447
 
431
- .mat-select-panel,
432
448
  .mat-mdc-select-panel,
433
- .mat-autocomplete-panel {
449
+ .mat-mdc-autocomplete-panel {
434
450
  /* when multiple selection enable */
435
451
  mat-pseudo-checkbox {
436
452
  margin-left: 8px;
437
453
  }
454
+
455
+ padding: 0 !important;
438
456
  }
439
457
 
440
458
  ion-list,
441
- .mat-select-panel,
442
- .mat-menu-panel,
443
- .mat-autocomplete-panel {
444
-
459
+ .mat-mdc-menu-panel {
445
460
  &.ion-list-popover {
446
461
  padding: 0 !important;
447
462
  }
448
-
449
- /* Avoid bad display, when opening panel for the first time */
450
- &.ng-trigger-transformPanel {
451
- ion-searchbar.mat-select-header,
452
- ion-searchbar.mat-autocomplete-header {
453
- visibility: visible;
454
- display: flex;
455
- opacity: 1;
456
- transition: opacity 0.3s ease-in-out;
457
- }
458
- }
459
-
460
- mat-option.mat-select-searchbar,
461
- mat-option.mat-autocomplete-searchbar
462
- {
463
- padding: 0 !important;
464
- height: 58px !important;
465
- background-color: var(--ion-color-secondary100) !important;
466
-
467
- /* hide pseudo checkbox, in the searchbar*/
468
- mat-pseudo-checkbox {
469
- visibility: hidden;
470
- display: none;
471
- }
472
-
473
- &.mat-select-searchbar-sticky {
474
- z-index: 1001;
475
- /* Set header as sticky*/
476
- position: -webkit-sticky;
477
- position: sticky;
478
- top: 0;
479
- }
480
- }
481
-
482
- ion-row.ion-list-header,
483
- ion-row.mat-select-header,
484
- ion-row.mat-menu-header,
485
- ion-row.mat-autocomplete-header {
486
- &.multiple {
487
- /* Offset due to mat-pseudo-checkbox */
488
- padding-left: 32px;
489
- }
490
- &.column {
491
- /* Set header as sticky*/
492
- position: -webkit-sticky;
493
- position: sticky;
494
- top: 0;
495
- z-index: 1001;
496
- background-color: var(--ion-color-secondary);
497
- border-bottom: 1px solid #{$app-select-option-border-color};
498
- color: var(--ion-color-secondary-contrast);
499
- line-height: 20px;
500
- @include font-size(12px);
501
- font-weight: 500;
502
- height: 20px;
503
- ion-col {
504
- white-space: nowrap;
505
- text-overflow: ellipsis;
506
- }
507
- &.mat-select-searchbar-sticky {
508
- /* offset because of the searchbar height */
509
- top: 58px;
510
- }
511
- }
512
-
513
- }
514
-
515
- ion-row.ion-list-footer,
516
- ion-row.mat-select-footer,
517
- ion-row.mat-menu-footer,
518
- ion-row.mat-autocomplete-footer,
519
- mat-option.mat-autocomplete-footer {
520
- /* Set footer as sticky*/
521
- position: -webkit-sticky;
522
- position: sticky;
523
- bottom: 0;
524
- z-index: 1001;
525
- border-top: 1px solid #{$app-select-option-border-color};
526
- background-color: whitesmoke;
527
- color: var(--ion-color-medium);
528
- @include font-size(12px);
529
- font-weight: 500;
530
- height: 20px;
531
- line-height: 20px;
532
-
533
- ion-col {
534
- white-space: nowrap;
535
- text-overflow: ellipsis;
536
- }
537
- }
538
-
539
- ion-row {
540
- --ion-grid-column-padding: 0;
541
-
542
- ion-col {
543
- --ion-padding-start: 8px;
544
- padding: 0 !important;
545
- padding-left: var(--ion-padding-start) !important;
546
- text-overflow: ellipsis;
547
- overflow: hidden;
548
- }
549
-
550
-
551
- }
552
-
553
- .odd {
554
- background: var(--ion-light-color-shade, $light);
555
- }
556
-
557
- .mat-option[no-padding],
558
- mat-option[no-padding] {
559
- padding: 0 !important;
560
- }
561
463
  }
562
464
 
465
+ ion-list,
466
+ .mat-mdc-menu-panel,
563
467
  .mat-mdc-select-panel,
564
- .mat-mdc-autocomplete-panel
565
- //ion-list,
566
- //.mat-menu-panel,
567
- {
568
-
569
- //&.ion-list-popover {
570
- padding: 0 !important;
571
- //}
468
+ .mat-mdc-autocomplete-panel {
572
469
 
573
470
  /* Avoid bad display, when opening panel for the first time */
574
471
  &.ng-trigger-transformPanel {
@@ -581,12 +478,19 @@ ion-list,
581
478
  }
582
479
  }
583
480
 
584
- mat-option.mat-select-searchbar,
585
- mat-option.mat-autocomplete-searchbar
481
+ .mat-mdc-optgroup.mat-select-searchbar,
482
+ .mat-mdc-option.mat-autocomplete-searchbar
586
483
  {
587
484
  padding: 0 !important;
588
485
  height: 58px !important;
589
486
  background-color: var(--ion-color-secondary100) !important;
487
+ pointer-events: inherit !important;
488
+
489
+ .mat-mdc-optgroup-label {
490
+ background-color: var(--ion-color-secondary100) !important;
491
+ padding: 0;
492
+ display: block;
493
+ }
590
494
 
591
495
  /* hide pseudo checkbox, in the searchbar*/
592
496
  mat-pseudo-checkbox {
@@ -671,6 +575,7 @@ ion-list,
671
575
  padding-left: var(--ion-padding-start) !important;
672
576
  text-overflow: ellipsis;
673
577
  overflow: hidden;
578
+ white-space: nowrap;
674
579
  }
675
580
 
676
581
 
@@ -680,12 +585,13 @@ ion-list,
680
585
  background: var(--ion-light-color-shade, $light);
681
586
  }
682
587
 
683
- .mat-option[no-padding],
588
+ .mat-mdc-option[no-padding],
684
589
  mat-option[no-padding] {
685
590
  padding: 0 !important;
686
591
  }
687
592
  }
688
593
 
594
+
689
595
  mat-expansion-panel {
690
596
 
691
597
  &.filter-panel {
@@ -843,7 +749,7 @@ mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-disabled {
843
749
  // --------------------------------------------------
844
750
 
845
751
 
846
- .mat-menu-panel {
752
+ .mat-mdc-menu-panel {
847
753
 
848
754
  // Max width = 400px
849
755
  &.mat-menu-size-400 {
@@ -860,31 +766,31 @@ mat-button-toggle.mat-button-toggle-checked.mat-button-toggle-disabled {
860
766
 
861
767
  // No padding
862
768
  &.ion-no-padding {
863
- .mat-menu-content {
769
+ .mat-mdc-menu-content {
864
770
  padding: 0 !important;
865
771
  }
866
772
  }
867
773
 
868
774
  // Small menu item (e.g. for actions on a table row)
869
- &.mat-menu-small-item-height .mat-menu-item,
870
- .mat-menu-item.mat-menu-item-small-height
775
+ &.mat-mdc-menu-item-small-height .mat-mdc-menu-item,
776
+ .mat-mdc-menu-item.mat-mdc-menu-item-small-height
871
777
  {
872
778
  padding: 0 8px;
873
779
  height: 35px;
874
780
  line-height: 35px;
875
781
  }
876
782
  // Reduce the font size, on label just inside a mat-menu (e.g. see trips.page.html)
877
- .mat-menu-content > ion-label {
783
+ .mat-mdc-menu-content > ion-label {
878
784
  @include font-size(12px);
879
785
  }
880
786
 
881
- .mat-menu-content ion-item > ion-icon[slot="start"] {
787
+ .mat-mdc-menu-content ion-item > ion-icon[slot="start"] {
882
788
  margin-right: 16px;
883
789
  vertical-align: middle;
884
790
  }
885
791
 
886
792
  // Menu title (e.g. see extraction map)
887
- .mat-menu-item.mat-menu-title {
793
+ .mat-mdc-menu-item.mat-mdc-menu-title {
888
794
  padding: 0 8px;
889
795
  height: 27px;
890
796
  line-height: 27px;
@@ -962,7 +868,6 @@ ngx-material-timepicker-content {
962
868
 
963
869
  .mat-mdc-form-field-type-mat-chip-grid {
964
870
  .mat-mdc-form-field-infix {
965
- padding-bottom: 5px !important;
966
871
  --mdc-chip-container-height: 24px !important;
967
872
  }
968
873
  }