@sumaris-net/ngx-components 2.8.3-beta9 → 2.8.4

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 (70) hide show
  1. package/doc/changelog.md +11 -0
  2. package/esm2022/src/app/admin/users/users.mjs +3 -3
  3. package/esm2022/src/app/core/account/account.page.mjs +3 -3
  4. package/esm2022/src/app/core/account/new-token.modal.mjs +1 -1
  5. package/esm2022/src/app/core/form/buttons/form-buttons-bar.component.mjs +12 -14
  6. package/esm2022/src/app/core/form/entity/editor.class.mjs +4 -2
  7. package/esm2022/src/app/core/form/entity/entity-editor-modal.class.mjs +2 -1
  8. package/esm2022/src/app/core/form/entity/entity-editor.class.mjs +3 -2
  9. package/esm2022/src/app/core/form/form-container.class.mjs +5 -2
  10. package/esm2022/src/app/core/form/form.utils.mjs +10 -1
  11. package/esm2022/src/app/core/form/properties/properties.table.mjs +1 -1
  12. package/esm2022/src/app/core/services/model/referential.model.mjs +4 -1
  13. package/esm2022/src/app/core/services/validator/base.validator.class.mjs +2 -2
  14. package/esm2022/src/app/core/settings/settings.page.mjs +2 -2
  15. package/esm2022/src/app/core/table/async-table.class.mjs +1 -1
  16. package/esm2022/src/app/core/table/entities-async-table-datasource.class.mjs +10 -7
  17. package/esm2022/src/app/core/table/entities-table-datasource.class.mjs +10 -7
  18. package/esm2022/src/app/core/table/table.class.mjs +1 -1
  19. package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
  20. package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
  21. package/esm2022/src/app/shared/dates.mjs +11 -2
  22. package/esm2022/src/app/shared/form/field.component.mjs +1 -1
  23. package/esm2022/src/app/shared/functions.mjs +21 -1
  24. package/esm2022/src/app/shared/guard/component-dirty.guard.mjs +1 -1
  25. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +3 -3
  26. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +3 -3
  27. package/esm2022/src/app/shared/material/boolean/boolean.module.mjs +11 -3
  28. package/esm2022/src/app/shared/material/boolean/material.boolean.mjs +81 -36
  29. package/esm2022/src/app/shared/material/boolean/testing/boolean.test.page.mjs +7 -3
  30. package/esm2022/src/app/shared/material/datetime/material.date.mjs +33 -9
  31. package/esm2022/src/app/shared/material/datetime/material.dateshort.mjs +33 -9
  32. package/esm2022/src/app/shared/material/datetime/material.datetime.mjs +3 -3
  33. package/esm2022/src/app/shared/material/datetime/testing/mat-date-time.test.mjs +3 -3
  34. package/esm2022/src/app/shared/material/datetime/testing/mat-date.test.mjs +6 -5
  35. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +8 -5
  36. package/esm2022/src/app/shared/material/latlong/material.latlong.mjs +4 -4
  37. package/esm2022/src/app/shared/material/testing/common.test.mjs +1 -1
  38. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +5 -2
  39. package/esm2022/src/app/shared/pipes/arrays.pipe.mjs +16 -1
  40. package/esm2022/src/app/shared/pipes/pipes.module.mjs +5 -2
  41. package/fesm2022/sumaris-net.ngx-components.mjs +349 -179
  42. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/src/app/core/account/account.page.d.ts +2 -2
  45. package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +2 -3
  46. package/src/app/core/form/entity/editor.class.d.ts +2 -3
  47. package/src/app/core/form/form-container.class.d.ts +3 -0
  48. package/src/app/core/form/form.utils.d.ts +10 -0
  49. package/src/app/core/services/model/referential.model.d.ts +1 -0
  50. package/src/app/core/settings/settings.page.d.ts +1 -2
  51. package/src/app/core/table/async-table.class.d.ts +2 -2
  52. package/src/app/core/table/entities-async-table-datasource.class.d.ts +1 -0
  53. package/src/app/core/table/entities-table-datasource.class.d.ts +1 -0
  54. package/src/app/core/table/table.class.d.ts +2 -2
  55. package/src/app/shared/dates.d.ts +4 -3
  56. package/src/app/shared/functions.d.ts +2 -0
  57. package/src/app/shared/guard/component-dirty.guard.d.ts +1 -6
  58. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +1 -1
  59. package/src/app/shared/material/boolean/boolean.module.d.ts +3 -1
  60. package/src/app/shared/material/boolean/material.boolean.d.ts +20 -11
  61. package/src/app/shared/material/boolean/testing/boolean.test.page.d.ts +1 -0
  62. package/src/app/shared/material/datetime/material.date.d.ts +12 -5
  63. package/src/app/shared/material/datetime/material.dateshort.d.ts +12 -5
  64. package/src/app/shared/material/datetime/material.datetime.d.ts +1 -1
  65. package/src/app/shared/material/latlong/material.latlong.d.ts +1 -1
  66. package/src/app/shared/pipes/arrays.pipe.d.ts +5 -0
  67. package/src/app/shared/pipes/pipes.module.d.ts +1 -1
  68. package/src/assets/manifest.json +1 -1
  69. package/src/theme/_ngx-components.forms.scss +2 -0
  70. package/src/theme/_ngx-components.tabs.scss +2 -0
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.8.3-beta9",
4
+ "version": "2.8.4",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -5,9 +5,9 @@ import { Account } from '../services/model/account.model';
5
5
  import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
6
6
  import { AccountValidatorService } from '../services/validator/account.validator';
7
7
  import { AppForm } from '../form/form.class';
8
+ import { CanLeave } from '../form/form.utils';
8
9
  import { FormFieldDefinition } from '../../shared/form/field.model';
9
10
  import { LocaleConfig } from '../services/model/settings.model';
10
- import { CanLeave } from '../../shared/guard/component-dirty.guard';
11
11
  import { NetworkService } from '../services/network.service';
12
12
  import { MatTabGroup } from '@angular/material/tabs';
13
13
  import { ConfigService } from '../services/config.service';
@@ -57,7 +57,7 @@ export declare class AccountPage extends AppForm<Account> implements OnInit, OnD
57
57
  startListenChanges(): void;
58
58
  stopListenChanges(): void;
59
59
  sendConfirmationEmail(event: MouseEvent): Promise<boolean>;
60
- save(event: any): Promise<boolean>;
60
+ save(event?: Event): Promise<boolean>;
61
61
  enable(opts?: {
62
62
  onlySelf?: boolean;
63
63
  emitEvent?: boolean;
@@ -14,6 +14,7 @@ export declare class FormButtonsBarComponent implements FormButtonsBarToken, OnD
14
14
  private _subscription;
15
15
  disabled: boolean;
16
16
  disabledCancel: boolean;
17
+ disabledEscape: boolean;
17
18
  classList: string;
18
19
  saveButtonColor: PredefinedColors;
19
20
  backText: string;
@@ -23,8 +24,6 @@ export declare class FormButtonsBarComponent implements FormButtonsBarToken, OnD
23
24
  showCancel: boolean;
24
25
  showNext: boolean;
25
26
  showSave: boolean;
26
- showSaveAndClose: boolean;
27
- showSaveAndNext: boolean;
28
27
  onCancel: EventEmitter<Event>;
29
28
  onSave: EventEmitter<Event>;
30
29
  onNext: EventEmitter<Event>;
@@ -34,5 +33,5 @@ export declare class FormButtonsBarComponent implements FormButtonsBarToken, OnD
34
33
  constructor(hotkeys: Hotkeys, menu: MenuService);
35
34
  ngOnDestroy(): void;
36
35
  static ɵfac: i0.ɵɵFactoryDeclaration<FormButtonsBarComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<FormButtonsBarComponent, "app-form-buttons-bar", never, { "disabled": { "alias": "disabled"; "required": false; }; "disabledCancel": { "alias": "disabledCancel"; "required": false; }; "classList": { "alias": "classList"; "required": false; }; "saveButtonColor": { "alias": "saveButtonColor"; "required": false; }; "backText": { "alias": "backText"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "nextText": { "alias": "nextText"; "required": false; }; "showBack": { "alias": "showBack"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "showNext": { "alias": "showNext"; "required": false; }; "showSave": { "alias": "showSave"; "required": false; }; "showSaveAndClose": { "alias": "showSaveAndClose"; "required": false; }; "showSaveAndNext": { "alias": "showSaveAndNext"; "required": false; }; }, { "onCancel": "onCancel"; "onSave": "onSave"; "onNext": "onNext"; "onBack": "onBack"; "onSaveAndClose": "onSaveAndClose"; "onSaveAndNext": "onSaveAndNext"; }, never, ["*", "[slot=end]", "[slot=afterSave]"], false, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormButtonsBarComponent, "app-form-buttons-bar", never, { "disabled": { "alias": "disabled"; "required": false; }; "disabledCancel": { "alias": "disabledCancel"; "required": false; }; "disabledEscape": { "alias": "disabledEscape"; "required": false; }; "classList": { "alias": "classList"; "required": false; }; "saveButtonColor": { "alias": "saveButtonColor"; "required": false; }; "backText": { "alias": "backText"; "required": false; }; "cancelText": { "alias": "cancelText"; "required": false; }; "nextText": { "alias": "nextText"; "required": false; }; "showBack": { "alias": "showBack"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "showNext": { "alias": "showNext"; "required": false; }; "showSave": { "alias": "showSave"; "required": false; }; }, { "onCancel": "onCancel"; "onSave": "onSave"; "onNext": "onNext"; "onBack": "onBack"; "onSaveAndClose": "onSaveAndClose"; "onSaveAndNext": "onSaveAndNext"; }, never, ["*", "[slot=end]", "[slot=afterSave]"], false, never>;
38
37
  }
@@ -4,13 +4,12 @@ import { AlertController, IonContent, NavController, ToastController } from '@io
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
  import { FormButtonsBarToken } from '../buttons/form-buttons-bar.component';
7
- import { IAppForm, IAppFormGetter } from '../form.utils';
7
+ import { CanLeave, CanSave, IAppForm, IAppFormGetter } from '../form.utils';
8
8
  import { ShowToastOptions } from '../../../shared/toast/toasts';
9
9
  import { ToolbarToken } from '../../../shared/toolbar/toolbar';
10
- import { CanLeave } from '../../../shared/guard/component-dirty.guard';
11
10
  import { AppFormContainer, IAppFormContainer } from '../form-container.class';
12
11
  import * as i0 from "@angular/core";
13
- export interface IAppEditor<T> extends CanLeave, IAppFormContainer<T> {
12
+ export interface IAppEditor<T> extends IAppFormContainer<T>, CanSave, CanLeave {
14
13
  save(event?: Event, options?: any): Promise<boolean>;
15
14
  cancel(event?: Event): Promise<void>;
16
15
  }
@@ -6,10 +6,12 @@ import { AppTable } from '../table/table.class';
6
6
  import { AppForm } from './form.class';
7
7
  import { AppEditor } from './entity/editor.class';
8
8
  import { AbstractControl } from '@angular/forms';
9
+ import { AppAsyncTable } from '../table/async-table.class';
9
10
  import * as i0 from "@angular/core";
10
11
  export interface IAppFormContainer<T = any> extends IAppForm<T> {
11
12
  children: IAppForm[];
12
13
  tables: AppTable<any>[];
14
+ asyncTables: AppAsyncTable<any>[];
13
15
  forms: AppForm<any>[];
14
16
  editors: AppEditor<any>[];
15
17
  addForm(path: string, form?: IAppForm | IAppFormGetter): void;
@@ -30,6 +32,7 @@ export declare abstract class AppFormContainer<T = any> implements IAppFormConta
30
32
  readonly errorSubject: BehaviorSubject<string>;
31
33
  get children(): IAppForm[];
32
34
  get tables(): AppTable<any>[];
35
+ get asyncTables(): AppAsyncTable<any>[];
33
36
  get forms(): AppForm<any>[];
34
37
  get editors(): AppEditor<any>[];
35
38
  get error(): string;
@@ -76,6 +76,14 @@ export interface IAppForm<T = any> {
76
76
  emitEvent?: boolean;
77
77
  }): void;
78
78
  }
79
+ export interface CanSave {
80
+ dirty: boolean;
81
+ valid: boolean;
82
+ save(): Promise<boolean>;
83
+ }
84
+ export interface CanLeave extends CanSave {
85
+ cancel(event?: Event): Promise<void>;
86
+ }
79
87
  /**
80
88
  * A form that do nothing
81
89
  */
@@ -191,6 +199,7 @@ export declare class AppFormProvider<F extends IAppForm = IAppForm> implements I
191
199
  onlySelf?: boolean;
192
200
  emitEvent?: boolean;
193
201
  }): void;
202
+ save(): Promise<boolean>;
194
203
  }
195
204
  export interface FormArrayHelperOptions {
196
205
  allowEmptyArray: boolean;
@@ -336,6 +345,7 @@ export declare class AppFormUtils {
336
345
  static updateValueAndValidity: typeof updateValueAndValidity;
337
346
  static getFormErrors: typeof getFormErrors;
338
347
  static isForm(object: any): object is IAppForm;
348
+ static canSave(object: any): object is IAppForm & CanSave;
339
349
  static addValueInArray: typeof addValueInArray;
340
350
  static removeValueInArray: typeof removeValueInArray;
341
351
  static resizeArray: typeof resizeArray;
@@ -66,6 +66,7 @@ export declare const MINIFY_ENTITY_FOR_LOCAL_STORAGE: ReferentialAsObjectOptions
66
66
  export declare const MINIFY_ENTITY_FOR_POD: ReferentialAsObjectOptions;
67
67
  export declare class ReferentialRef<T extends ReferentialRef<any, ID> = ReferentialRef<any, any>, ID = number, O extends ReferentialAsObjectOptions = ReferentialAsObjectOptions, FO = any> extends Entity<T, ID, O, FO> implements IReferentialRef<T, ID> {
68
68
  static fromObject: (source: any, opts?: any) => ReferentialRef;
69
+ static clone(source: any): ReferentialRef;
69
70
  label: string;
70
71
  name: string;
71
72
  description: string;
@@ -3,7 +3,7 @@ import { AccountService } from '../services/account.service';
3
3
  import { LocaleConfig, LocalSettings, UsageMode } from '../services/model/settings.model';
4
4
  import { UntypedFormArray, UntypedFormBuilder } from '@angular/forms';
5
5
  import { AppForm } from '../form/form.class';
6
- import { FormArrayHelper } from '../form/form.utils';
6
+ import { CanLeave, FormArrayHelper } from '../form/form.utils';
7
7
  import { TranslateService } from '@ngx-translate/core';
8
8
  import { LocalSettingsValidatorService } from '../services/validator/local-settings.validator';
9
9
  import { PlatformService } from '../services/platform.service';
@@ -12,7 +12,6 @@ import { LocalSettingsService } from '../services/local-settings.service';
12
12
  import { FormFieldDefinition, FormFieldDefinitionMap } from '../../shared/form/field.model';
13
13
  import { AlertController, NavController } from '@ionic/angular';
14
14
  import { Property } from '../../shared/types';
15
- import { CanLeave } from '../../shared/guard/component-dirty.guard';
16
15
  import { ISelectPeerModalOptions } from '../peer/select-peer.modal';
17
16
  import { IMenuItem } from '../menu/menu.model';
18
17
  import * as i0 from "@angular/core";
@@ -9,7 +9,7 @@ import { AlertController, ModalController, NavController, ToastController } from
9
9
  import { ActivatedRoute, Router } from '@angular/router';
10
10
  import { ColumnItem } from './table-select-columns.component';
11
11
  import { Location } from '@angular/common';
12
- import { IAppForm } from '../form/form.utils';
12
+ import { CanSave, IAppForm } from '../form/form.utils';
13
13
  import { LocalSettingsService } from '../services/local-settings.service';
14
14
  import { TranslateService } from '@ngx-translate/core';
15
15
  import { MatAutocompleteConfigHolder, MatAutocompleteFieldAddOptions, MatAutocompleteFieldConfig } from '../../shared/material/autocomplete/material.autocomplete.config';
@@ -23,7 +23,7 @@ import { SaveActionType } from './table.model';
23
23
  import { AsyncTableElement } from '@e-is/ngx-material-table';
24
24
  import { EntitiesAsyncTableDataSource } from './entities-async-table-datasource.class';
25
25
  import * as i0 from "@angular/core";
26
- export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, ID = number> implements OnInit, OnDestroy, AfterViewInit, IAppForm, IFormControlPathTranslator {
26
+ export declare abstract class AppAsyncTable<T extends IEntity<T, ID>, F = any, ID = number> implements OnInit, OnDestroy, AfterViewInit, IAppForm, CanSave, IFormControlPathTranslator {
27
27
  protected columns: string[];
28
28
  protected _dataSource?: EntitiesAsyncTableDataSource<T, F, ID>;
29
29
  private _filter?;
@@ -66,6 +66,7 @@ export declare class EntitiesAsyncTableDataSource<T extends IEntity<T, ID>, F =
66
66
  getEditingRows(): R[];
67
67
  getSingleEditingRow(): R;
68
68
  hasSomeEditingRow(): boolean;
69
+ hasSomeDirtyRow(): boolean;
69
70
  createNew(insertAt?: number, opts?: {
70
71
  editing: boolean;
71
72
  }): Promise<R | undefined>;
@@ -80,6 +80,7 @@ export declare class EntitiesTableDataSource<T extends IEntity<T, ID>, F = any,
80
80
  getRow(id: number): R;
81
81
  getRows(): R[];
82
82
  hasSomeEditingRow(): boolean;
83
+ hasSomeDirtyRow(): boolean;
83
84
  createNew(insertAt?: number, opts?: {
84
85
  editing: boolean;
85
86
  }): Promise<R | undefined>;
@@ -9,7 +9,7 @@ import { AlertController, ModalController, NavController, ToastController } from
9
9
  import { ActivatedRoute, Router } from '@angular/router';
10
10
  import { ColumnItem } from './table-select-columns.component';
11
11
  import { Location } from '@angular/common';
12
- import { IAppForm } from '../form/form.utils';
12
+ import { CanSave, IAppForm } from '../form/form.utils';
13
13
  import { LocalSettingsService } from '../services/local-settings.service';
14
14
  import { TranslateService } from '@ngx-translate/core';
15
15
  import { MatAutocompleteConfigHolder, MatAutocompleteFieldAddOptions, MatAutocompleteFieldConfig } from '../../shared/material/autocomplete/material.autocomplete.config';
@@ -23,7 +23,7 @@ import { SaveActionType } from './table.model';
23
23
  import { MatPaginator } from '@angular/material/paginator';
24
24
  import { MatTable } from '@angular/material/table';
25
25
  import * as i0 from "@angular/core";
26
- export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = number> implements OnInit, OnDestroy, AfterViewInit, IAppForm, IFormControlPathTranslator {
26
+ export declare abstract class AppTable<T extends IEntity<T, ID>, F = any, ID = number> implements OnInit, OnDestroy, AfterViewInit, IAppForm, CanSave, IFormControlPathTranslator {
27
27
  protected columns: string[];
28
28
  protected _dataSource?: EntitiesTableDataSource<T, F, ID>;
29
29
  private _filter?;
@@ -1,5 +1,5 @@
1
- import { Duration, Moment, unitOfTime } from 'moment';
2
1
  import * as momentImported from 'moment';
2
+ import { Duration, Moment, unitOfTime } from 'moment';
3
3
  export declare const DATE_UNIX_TIMESTAMP = "X";
4
4
  export declare const DATE_UNIX_MS_TIMESTAMP = "x";
5
5
  export declare const MOMENT_NO_TIME_PROPERTY = "_hasNoTime";
@@ -13,6 +13,7 @@ export declare class DateUtils {
13
13
  static max(date1: Moment | string, date2: Moment | string): Moment;
14
14
  static equals(date1: Moment | string, date2: Moment | string): boolean;
15
15
  static isSame(date1: Moment | string, date2: Moment | string, granularity?: unitOfTime.StartOf): boolean;
16
+ static compare(date1: Moment | string, date2: Moment | string, granularity?: unitOfTime.StartOf): number;
16
17
  /**
17
18
  * Create a copy of a date, without time fields (always return a new Moment object, or undefined).
18
19
  * Same implementation as the Java class Dates.resetTime() (see any SUMARiS like Pod)
@@ -36,6 +37,6 @@ export declare class DateUtils {
36
37
  }
37
38
  export declare function toDateISOString(value: any): string | undefined;
38
39
  export declare function fromDateISOString(value: any): Moment | undefined;
39
- export declare function fromUnixTimestamp(timeInSec: number): Moment;
40
- export declare function fromUnixMsTimestamp(timeInMs: number): Moment;
40
+ export declare function fromUnixTimestamp(timeInSec: number): momentImported.Moment;
41
+ export declare function fromUnixMsTimestamp(timeInMs: number): momentImported.Moment;
41
42
  export declare function toDuration(value: number, unit?: unitOfTime.DurationConstructor): Duration;
@@ -9,6 +9,8 @@ export declare function isNotEmptyArray<T>(obj: T[] | null | undefined): boolean
9
9
  export declare function firstArrayValue<T>(obj: T[] | null | undefined): T | undefined;
10
10
  export declare function lastArrayValue<T>(obj: T[] | null | undefined): T | undefined;
11
11
  export declare function isEmptyArray<T>(obj: T[] | null | undefined): boolean;
12
+ export declare function arrayResize<T>(array: T[] | null | undefined, size: number, defaultValue?: T): T[];
13
+ export declare function newArray<T>(size: number, defaultValue?: T): T[];
12
14
  export declare function isNotNilBoolean(obj: any | null | undefined): obj is boolean;
13
15
  export declare function isNotNilString(obj: any | null | undefined): obj is string;
14
16
  export declare function isBlankString(obj: any | null | undefined): obj is string;
@@ -1,13 +1,8 @@
1
1
  import { ActivatedRouteSnapshot, CanDeactivate, RouterStateSnapshot, UrlTree } from '@angular/router';
2
2
  import { TranslateService } from '@ngx-translate/core';
3
3
  import { AlertController } from '@ionic/angular';
4
+ import { CanLeave } from '../../core/form/form.utils';
4
5
  import * as i0 from "@angular/core";
5
- export interface CanLeave {
6
- dirty: boolean;
7
- valid: boolean;
8
- save(event?: Event, options?: any): Promise<boolean>;
9
- cancel(event?: Event): Promise<void>;
10
- }
11
6
  export declare class ComponentDirtyGuard implements CanDeactivate<CanLeave> {
12
7
  protected translate: TranslateService;
13
8
  protected alertCtrl: AlertController;
@@ -140,5 +140,5 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
140
140
  */
141
141
  private _fixSearchbarOverlay;
142
142
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, null, null, null, { optional: true; }]>;
143
- static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; }, never, ["[matError]", "[matAfter]", "[matPrefix]", "[matSuffix]"], false, never>;
143
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatAutocompleteField, "mat-autocomplete-field", never, { "equals": { "alias": "equals"; "required": false; }; "logPrefix": { "alias": "logPrefix"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suggestFn": { "alias": "suggestFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "displayColumnSizes": { "alias": "displayColumnSizes"; "required": false; }; "displayColumnNames": { "alias": "displayColumnNames"; "required": false; }; "highlightAccent": { "alias": "highlightAccent"; "required": false; }; "showAllOnFocus": { "alias": "showAllOnFocus"; "required": false; }; "showPanelOnFocus": { "alias": "showPanelOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "matAutocompletePosition": { "alias": "matAutocompletePosition"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "fetchMoreThreshold": { "alias": "fetchMoreThreshold"; "required": false; }; "suggestLengthThreshold": { "alias": "suggestLengthThreshold"; "required": false; }; "showLoadingSpinner": { "alias": "showLoadingSpinner"; "required": false; }; "debug": { "alias": "debug"; "required": false; }; "showSearchBar": { "alias": "showSearchBar"; "required": false; }; "stickySearchBar": { "alias": "stickySearchBar"; "required": false; }; "applyImplicitValue": { "alias": "applyImplicitValue"; "required": false; }; "dropButtonTitle": { "alias": "dropButtonTitle"; "required": false; }; "clearButtonTitle": { "alias": "clearButtonTitle"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "clicked": "click"; "blurred": "blur"; "focused": "focus"; "dropButtonClick": "dropButtonClick"; "keydownEscape": "keydown.escape"; "keyupEnter": "keyup.enter"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
144
144
  }
@@ -12,8 +12,10 @@ import * as i10 from "@angular/material/checkbox";
12
12
  import * as i11 from "ngx-material-timepicker";
13
13
  import * as i12 from "@ngx-translate/core";
14
14
  import * as i13 from "../../directives/directives.module";
15
+ import * as i14 from "@angular/material/icon";
16
+ import * as i15 from "@angular/material/button";
15
17
  export declare class SharedMatBooleanModule {
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedMatBooleanModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedMatBooleanModule, [typeof i1.MatBooleanField], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ReactiveFormsModule, typeof i5.SharedPipesModule, typeof i6.MatCommonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatRadioModule, typeof i10.MatCheckboxModule, typeof i11.NgxMaterialTimepickerModule, typeof i12.TranslateModule, typeof i13.SharedDirectivesModule], [typeof i1.MatBooleanField]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedMatBooleanModule, [typeof i1.MatBooleanField], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ReactiveFormsModule, typeof i5.SharedPipesModule, typeof i6.MatCommonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatRadioModule, typeof i10.MatCheckboxModule, typeof i11.NgxMaterialTimepickerModule, typeof i12.TranslateModule, typeof i13.SharedDirectivesModule, typeof i14.MatIcon, typeof i15.MatIconButton], [typeof i1.MatBooleanField]>;
18
20
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedMatBooleanModule>;
19
21
  }
@@ -9,6 +9,13 @@ import * as i0 from "@angular/core";
9
9
  export declare class MatBooleanField implements OnInit, ControlValueAccessor, InputElement {
10
10
  private cd;
11
11
  private formGroupDir;
12
+ private _onChangeCallback;
13
+ private _onTouchedCallback;
14
+ private _writing;
15
+ protected _value: boolean;
16
+ protected _tabindex: number;
17
+ protected _showRadio: boolean;
18
+ protected _focused: boolean;
12
19
  yesButton: MatRadioButton;
13
20
  noButton: MatRadioButton;
14
21
  checkboxButton: MatCheckbox;
@@ -31,19 +38,16 @@ export declare class MatBooleanField implements OnInit, ControlValueAccessor, In
31
38
  showButtonIcons: boolean;
32
39
  yesIcon: string;
33
40
  noIcon: string;
34
- showRadio: boolean;
41
+ clearable: boolean;
42
+ set tabindex(value: number);
43
+ get tabindex(): number;
44
+ set showRadio(v: any);
45
+ get showRadio(): any;
46
+ set value(v: any);
47
+ get value(): any;
35
48
  onPressEnter: EventEmitter<any>;
36
49
  onBlur: EventEmitter<FocusEvent>;
37
- protected _value: boolean;
38
- protected _tabindex: number;
39
- private _onChangeCallback;
40
- private _onTouchedCallback;
41
- private _writing;
42
50
  constructor(cd: ChangeDetectorRef, formGroupDir: FormGroupDirective);
43
- get tabindex(): number;
44
- set tabindex(value: number);
45
- get value(): any;
46
- set value(v: any);
47
51
  ngOnInit(): void;
48
52
  writeValue(value: any, event?: Event): void;
49
53
  registerOnChange(fn: any): void;
@@ -54,11 +58,16 @@ export declare class MatBooleanField implements OnInit, ControlValueAccessor, In
54
58
  onRadioValueChanged(event: MatRadioChange): void;
55
59
  onCheckboxValueChanged(event: MatCheckboxChange): void;
56
60
  private checkIfTouched;
61
+ /**
62
+ * Show/Hide the fake input
63
+ */
64
+ private updateFakeInput;
57
65
  /**
58
66
  * This is a special case, because, this component has a temporary component displayed before the first focus event
59
67
  */
60
68
  private updateTabIndex;
61
69
  private markForCheck;
70
+ protected clear(event?: Event): void;
62
71
  static ɵfac: i0.ɵɵFactoryDeclaration<MatBooleanField, [null, { optional: true; }]>;
63
- static ɵcmp: i0.ɵɵComponentDeclaration<MatBooleanField, "mat-boolean-field", never, { "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "style": { "alias": "style"; "required": false; }; "buttonsColCount": { "alias": "buttonsColCount"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "yesLabel": { "alias": "yesLabel"; "required": false; }; "noLabel": { "alias": "noLabel"; "required": false; }; "showButtonIcons": { "alias": "showButtonIcons"; "required": false; }; "yesIcon": { "alias": "yesIcon"; "required": false; }; "noIcon": { "alias": "noIcon"; "required": false; }; "showRadio": { "alias": "showRadio"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "onPressEnter": "keyup.enter"; "onBlur": "onBlur"; }, never, ["[matPrefix]", "[matSuffix]"], false, never>;
72
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatBooleanField, "mat-boolean-field", never, { "disabled": { "alias": "disabled"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "style": { "alias": "style"; "required": false; }; "buttonsColCount": { "alias": "buttonsColCount"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "yesLabel": { "alias": "yesLabel"; "required": false; }; "noLabel": { "alias": "noLabel"; "required": false; }; "showButtonIcons": { "alias": "showButtonIcons"; "required": false; }; "yesIcon": { "alias": "yesIcon"; "required": false; }; "noIcon": { "alias": "noIcon"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "showRadio": { "alias": "showRadio"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "onPressEnter": "keyup.enter"; "onBlur": "onBlur"; }, never, ["[matPrefix]", "[matSuffix]"], false, never>;
64
73
  }
@@ -16,6 +16,7 @@ export declare class BooleanTestPage extends AppForm<any> implements OnInit, Aft
16
16
  ngAfterViewInit(): void;
17
17
  toggleMode(value: any): void;
18
18
  protected markForCheck(): void;
19
+ protected clearControlValue(path: string, event?: Event): void;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<BooleanTestPage, never>;
20
21
  static ɵcmp: i0.ɵɵComponentDeclaration<BooleanTestPage, "app-boolean-test-page", never, {}, {}, never, never, false, never>;
21
22
  }
@@ -3,7 +3,7 @@ import { ControlValueAccessor, FormGroupDirective, UntypedFormBuilder, UntypedFo
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { Moment } from 'moment';
5
5
  import { InputElement } from '../../inputs';
6
- import { MatFormFieldAppearance } from '@angular/material/form-field';
6
+ import { MatFormFieldAppearance, MatFormFieldDefaultOptions, SubscriptSizing } from '@angular/material/form-field';
7
7
  import { DateFilterFn, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
8
8
  import { MomentDateAdapter } from '@angular/material-moment-adapter';
9
9
  import { AppFloatLabelType } from '../../form/field.model';
@@ -22,6 +22,10 @@ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, Contro
22
22
  private _disabling;
23
23
  private _tabindex;
24
24
  private _readonly;
25
+ private _appearance;
26
+ private _subscriptSizing;
27
+ private readonly _defaultAppearance;
28
+ private readonly _defaultSubscriptSizing;
25
29
  textControl: UntypedFormControl;
26
30
  datePattern: string;
27
31
  locale: string;
@@ -32,7 +36,6 @@ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, Contro
32
36
  formControlName: string;
33
37
  placeholder: string;
34
38
  floatLabel: AppFloatLabelType;
35
- appearance: MatFormFieldAppearance;
36
39
  required: boolean;
37
40
  compact: boolean;
38
41
  autofocus: boolean;
@@ -40,6 +43,10 @@ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, Contro
40
43
  clearable: boolean;
41
44
  timezone: string;
42
45
  datePickerFilter: DateFilterFn<Moment>;
46
+ set appearance(value: MatFormFieldAppearance);
47
+ get appearance(): MatFormFieldAppearance;
48
+ set subscriptSizing(value: SubscriptSizing);
49
+ get subscriptSizing(): SubscriptSizing;
43
50
  set readonly(value: boolean);
44
51
  get readonly(): boolean;
45
52
  set tabindex(value: number);
@@ -48,7 +55,7 @@ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, Contro
48
55
  get disabled(): boolean;
49
56
  datePicker: MatDatepicker<Moment>;
50
57
  _matInput: ElementRef;
51
- constructor(dateAdapter: MomentDateAdapter, translate: TranslateService, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective);
58
+ constructor(dateAdapter: MomentDateAdapter, translate: TranslateService, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective, defaultOptions?: MatFormFieldDefaultOptions);
52
59
  ngOnInit(): void;
53
60
  ngAfterViewInit(): void;
54
61
  ngOnDestroy(): void;
@@ -73,6 +80,6 @@ export declare class MatDate implements OnInit, AfterViewInit, OnDestroy, Contro
73
80
  private markAsDirty;
74
81
  private markForCheck;
75
82
  private updateMaskOptions;
76
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDate, [null, null, null, null, { optional: true; }]>;
77
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDate, "mat-date-field", never, { "mobile": { "alias": "mobile"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; "datePickerFilter": { "alias": "datePickerFilter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, never, ["mat-error", "mat-hint", "mat-error", "mat-hint", "[matPrefix]", "[matSuffix]"], false, never>;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDate, [null, null, null, null, { optional: true; }, null]>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDate, "mat-date-field", never, { "mobile": { "alias": "mobile"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "timezone": { "alias": "timezone"; "required": false; }; "datePickerFilter": { "alias": "datePickerFilter"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, never, ["[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
78
85
  }
@@ -3,7 +3,7 @@ import { ControlValueAccessor, FormGroupDirective, UntypedFormBuilder, UntypedFo
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { Moment } from 'moment';
5
5
  import { InputElement } from '../../inputs';
6
- import { MatFormFieldAppearance } from '@angular/material/form-field';
6
+ import { MatFormFieldAppearance, MatFormFieldDefaultOptions, SubscriptSizing } from '@angular/material/form-field';
7
7
  import { DateFilterFn, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
8
8
  import { MomentDateAdapter } from '@angular/material-moment-adapter';
9
9
  import { AppFloatLabelType } from '../../form/field.model';
@@ -22,6 +22,10 @@ export declare class MatDateShort implements OnInit, ControlValueAccessor, Input
22
22
  private _disabling;
23
23
  private _tabindex;
24
24
  private _readonly;
25
+ private _appearance;
26
+ private _subscriptSizing;
27
+ private readonly _defaultAppearance;
28
+ private readonly _defaultSubscriptSizing;
25
29
  textControl: UntypedFormControl;
26
30
  datePattern: string;
27
31
  locale: string;
@@ -32,13 +36,16 @@ export declare class MatDateShort implements OnInit, ControlValueAccessor, Input
32
36
  formControlName: string;
33
37
  placeholder: string;
34
38
  floatLabel: AppFloatLabelType;
35
- appearance: MatFormFieldAppearance;
36
39
  required: boolean;
37
40
  compact: boolean;
38
41
  autofocus: boolean;
39
42
  startDate: Moment | null;
40
43
  clearable: boolean;
41
44
  datePickerFilter: DateFilterFn<Moment>;
45
+ set appearance(value: MatFormFieldAppearance);
46
+ get appearance(): MatFormFieldAppearance;
47
+ set subscriptSizing(value: SubscriptSizing);
48
+ get subscriptSizing(): SubscriptSizing;
42
49
  set readonly(value: boolean);
43
50
  get readonly(): boolean;
44
51
  set tabindex(value: number);
@@ -47,7 +54,7 @@ export declare class MatDateShort implements OnInit, ControlValueAccessor, Input
47
54
  get disabled(): boolean;
48
55
  datePicker: MatDatepicker<Moment>;
49
56
  _matInput: ElementRef;
50
- constructor(dateAdapter: MomentDateAdapter, translate: TranslateService, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective);
57
+ constructor(dateAdapter: MomentDateAdapter, translate: TranslateService, formBuilder: UntypedFormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective, defaultOptions?: MatFormFieldDefaultOptions);
51
58
  ngOnInit(): void;
52
59
  ngAfterViewInit(): void;
53
60
  ngOnDestroy(): void;
@@ -73,6 +80,6 @@ export declare class MatDateShort implements OnInit, ControlValueAccessor, Input
73
80
  private markAsDirty;
74
81
  private markForCheck;
75
82
  private updateMaskOptions;
76
- static ɵfac: i0.ɵɵFactoryDeclaration<MatDateShort, [null, null, null, null, { optional: true; }]>;
77
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDateShort, "mat-date-short-field", never, { "mobile": { "alias": "mobile"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "datePickerFilter": { "alias": "datePickerFilter"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, never, ["mat-error", "mat-hint", "mat-error", "mat-hint", "[matPrefix]", "[matSuffix]"], false, never>;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatDateShort, [null, null, null, null, { optional: true; }, null]>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDateShort, "mat-date-short-field", never, { "mobile": { "alias": "mobile"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "required": { "alias": "required"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "datePickerFilter": { "alias": "datePickerFilter"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, never, ["[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
78
85
  }
@@ -110,6 +110,6 @@ export declare class MatDateTime implements OnInit, AfterViewInit, OnDestroy, Co
110
110
  private updateDateMaskOptions;
111
111
  private updateTimeMaskOptions;
112
112
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDateTime, [null, null, null, null, { optional: true; }, null]>;
113
- static ɵcmp: i0.ɵɵComponentDeclaration<MatDateTime, "mat-date-time-field", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "datePickerFilter": { "alias": "datePickerFilter"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, ["matError"], ["mat-error", "mat-error", "mat-hint:not([align='end'])", "mat-hint[align='end']", "[matPrefix]"], false, never>;
113
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatDateTime, "mat-date-time-field", never, { "placeholder": { "alias": "placeholder"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "startDate": { "alias": "startDate"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "datePickerFilter": { "alias": "datePickerFilter"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; }, {}, ["matError"], ["[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
114
114
  }
115
115
  export {};
@@ -71,5 +71,5 @@ export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueA
71
71
  private checkIfTouched;
72
72
  private markForCheck;
73
73
  static ɵfac: i0.ɵɵFactoryDeclaration<MatLatLongField, [null, null, { optional: true; }, null]>;
74
- static ɵcmp: i0.ɵɵComponentDeclaration<MatLatLongField, "mat-latlong-field", never, { "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "latLongPattern"; "required": false; }; "required": { "alias": "required"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "defaultSign": { "alias": "defaultSign"; "required": false; }; "maxDecimals": { "alias": "maxDecimals"; "required": false; }; "placeholderChar": { "alias": "placeholderChar"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; }, ["matError"], ["mat-error", "mat-hint:not([align='end'])", "mat-hint[align='end']", "[matPrefix]", "[matSuffix]"], false, never>;
74
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatLatLongField, "mat-latlong-field", never, { "formControl": { "alias": "formControl"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "type": { "alias": "type"; "required": false; }; "pattern": { "alias": "latLongPattern"; "required": false; }; "required": { "alias": "required"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "defaultSign": { "alias": "defaultSign"; "required": false; }; "maxDecimals": { "alias": "maxDecimals"; "required": false; }; "placeholderChar": { "alias": "placeholderChar"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; }, ["matError"], ["[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
75
75
  }
@@ -24,6 +24,11 @@ export declare class ArrayFirstPipe implements PipeTransform {
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ArrayFirstPipe, never>;
25
25
  static ɵpipe: i0.ɵɵPipeDeclaration<ArrayFirstPipe, "arrayFirst", false>;
26
26
  }
27
+ export declare class ArrayLastPipe implements PipeTransform {
28
+ transform<T = any>(val: unknown | T[]): T | null;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<ArrayLastPipe, never>;
30
+ static ɵpipe: i0.ɵɵPipeDeclaration<ArrayLastPipe, "arrayLast", false>;
31
+ }
27
32
  export declare class ArrayPluckPipe implements PipeTransform {
28
33
  /**
29
34
  *
@@ -25,6 +25,6 @@ import * as i23 from "@ionic/angular";
25
25
  import * as i24 from "@ngx-translate/core";
26
26
  export declare class SharedPipesModule {
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedPipesModule, never>;
28
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedPipesModule, [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe], [typeof i22.CommonModule, typeof i23.IonicModule, typeof i24.TranslateModule], [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe]>;
28
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedPipesModule, [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayLastPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe], [typeof i22.CommonModule, typeof i23.IonicModule, typeof i24.TranslateModule], [typeof i1.PropertyGetPipe, typeof i1.PropertyFormatPipe, typeof i1.ValueFormatPipe, typeof i2.DateFormatPipe, typeof i3.DateDiffDurationPipe, typeof i4.DurationPipe, typeof i5.DateFromNowPipe, typeof i6.LatLongFormatPipe, typeof i6.LatitudeFormatPipe, typeof i6.LongitudeFormatPipe, typeof i7.HighlightPipe, typeof i8.NumberFormatPipe, typeof i9.FileSizePipe, typeof i10.MathAbsPipe, typeof i10.OddPipe, typeof i10.EvenPipe, typeof i11.NotEmptyArrayPipe, typeof i11.EmptyArrayPipe, typeof i11.ArrayLengthPipe, typeof i11.ArrayFirstPipe, typeof i11.ArrayLastPipe, typeof i11.ArrayPluckPipe, typeof i11.ArrayIncludesPipe, typeof i11.ArrayFilterPipe, typeof i11.ArrayJoinPipe, typeof i12.MapGetPipe, typeof i12.MapKeysPipe, typeof i12.MapValuesPipe, typeof i13.IsNilOrBlankPipe, typeof i13.IsNotNilOrBlankPipe, typeof i13.IsNilOrNaNPipe, typeof i13.IsNotNilOrNaNPipe, typeof i13.IsNotNilPipe, typeof i13.IsNilPipe, typeof i13.ToStringPipe, typeof i13.CapitalizePipe, typeof i13.StrLengthPipe, typeof i13.StrIncludesPipe, typeof i1.BooleanFormatPipe, typeof i14.TranslateContextPipe, typeof i14.TranslatablePipe, typeof i15.NgInitDirective, typeof i16.FormErrorTranslatePipe, typeof i16.FormGetPipe, typeof i16.FormGetControlPipe, typeof i16.FormGetArrayPipe, typeof i16.FormGetGroupPipe, typeof i16.FormGetValuePipe, typeof i17.MatColorPipe, typeof i18.AsAnyPipe, typeof i18.AsArrayPipe, typeof i18.AsObservablePipe, typeof i18.AsFloatLabelTypePipe, typeof i19.MaskitoPlaceholderPipe, typeof i20.IsSelectedPipe, typeof i20.IsNotEmptySelectionPipe, typeof i20.IsEmptySelectionPipe, typeof i20.SelectionLengthPipe, typeof i20.IsMultipleSelectionPipe, typeof i20.IsSingleSelectionPipe, typeof i21.BadgeNumberPipe]>;
29
29
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedPipesModule>;
30
30
  }
@@ -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.8.3-beta9",
5
+ "version": "2.8.4",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{
@@ -136,6 +136,8 @@ form.form-container {
136
136
  }
137
137
  }
138
138
 
139
+ // Increase padding top, when having buttons
140
+ &:has(.mat-form-field-buttons),
139
141
  &.mat-boolean-field-button {
140
142
  .mat-mdc-form-field-infix {
141
143
  padding-top: calc(var(--mat-form-field-filled-with-label-container-padding-top, 0px) + 4px);
@@ -6,6 +6,8 @@
6
6
  .mat-mdc-tab-label-container, .mat-mdc-tab-link-container {
7
7
  --mat-tab-header-divider-color: rgba(0,0,0,.12) !important;
8
8
  --mat-tab-header-divider-height: 1px !important;
9
+ --mat-tab-header-background-color: var(--background, var(--ion-background-color));
10
+ background-color: var(--mat-tab-header-background-color);
9
11
  }
10
12
  .mat-mdc-tab-group, .mat-mdc-tab-nav-bar {
11
13
  --mat-tab-header-active-label-text-color: #000000de !important;