@sumaris-net/ngx-components 18.2.19 → 18.2.21

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 (30) hide show
  1. package/doc/changelog.md +5 -0
  2. package/esm2022/src/app/core/form/form.utils.mjs +3 -2
  3. package/esm2022/src/app/core/form/properties/properties.form.mjs +3 -3
  4. package/esm2022/src/app/core/form/properties/testing/properties-form.test.mjs +5 -4
  5. package/esm2022/src/app/core/table/testing/table.testing.mjs +1 -1
  6. package/esm2022/src/app/core/table/testing/table2.testing.mjs +1 -1
  7. package/esm2022/src/app/shared/form/field.component.mjs +5 -5
  8. package/esm2022/src/app/shared/graph/graph-colors.mjs +3 -2
  9. package/esm2022/src/app/shared/inputs.mjs +19 -11
  10. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.config.mjs +1 -1
  11. package/esm2022/src/app/shared/material/autocomplete/material.autocomplete.mjs +145 -46
  12. package/esm2022/src/app/shared/material/autocomplete/testing/autocomplete.test.mjs +4 -4
  13. package/esm2022/src/app/shared/material/chips/material.chips.mjs +3 -3
  14. package/esm2022/src/app/shared/material/datetime/testing/mat-dateshort.test.mjs +3 -3
  15. package/esm2022/src/app/shared/material/duration/duration.module.mjs +1 -5
  16. package/esm2022/src/app/shared/material/swipe/material.swipe.mjs +24 -21
  17. package/esm2022/src/app/shared/named-filter/named-filter-selector.component.mjs +1 -1
  18. package/esm2022/src/app/shared/regexps.mjs +3 -3
  19. package/fesm2022/sumaris-net.ngx-components.mjs +207 -97
  20. package/fesm2022/sumaris-net.ngx-components.mjs.map +1 -1
  21. package/package.json +1 -1
  22. package/src/app/core/form/form.utils.d.ts +2 -1
  23. package/src/app/shared/form/field.component.d.ts +2 -2
  24. package/src/app/shared/graph/graph-colors.d.ts +1 -1
  25. package/src/app/shared/inputs.d.ts +3 -2
  26. package/src/app/shared/material/autocomplete/material.autocomplete.config.d.ts +6 -0
  27. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +8 -1
  28. package/src/app/shared/material/duration/duration.module.d.ts +5 -6
  29. package/src/app/shared/material/swipe/material.swipe.d.ts +2 -4
  30. package/src/assets/manifest.json +1 -1
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": "18.2.19",
4
+ "version": "18.2.21",
5
5
  "author": "contact@e-is.pro",
6
6
  "license": "AGPL-3.0",
7
7
  "readmeFilename": "README.md",
@@ -1,5 +1,5 @@
1
1
  import { AbstractControl } from '@angular/forms';
2
- import { filterNumberInput, selectInputContent } from '../../shared/inputs';
2
+ import { filterNumberInput, selectInputContent, selectInputContentFromEvent } from '../../shared/inputs';
3
3
  import { WaitForOptions } from '../../shared/observables';
4
4
  import { addValueInArray, clearValueInArray, copyEntity2Form, disableControl, disableControls, enableControl, enableControls, filterFormErrors, filterFormErrorsByPath, filterFormErrorsByPrefix, getControlFromPath, getFormErrors, getFormValueFromEntity, logFormErrors, markAllAsTouched, markAsUntouched, removeValueInArray, resizeArray, setControlEnabled, setControlsEnabled, updateValueAndValidity, waitIdle, waitWhilePending } from '../../shared/forms';
5
5
  export declare type IAppFormGetter = () => IAppForm;
@@ -215,6 +215,7 @@ export declare class AppFormUtils {
215
215
  static disableControls: typeof disableControls;
216
216
  static setControlEnabled: typeof setControlEnabled;
217
217
  static setControlsEnabled: typeof setControlsEnabled;
218
+ static selectInputContentFromEvent: typeof selectInputContentFromEvent;
218
219
  static selectInputContent: typeof selectInputContent;
219
220
  /**
220
221
  * @deprecated use markAllAsTouched() instead (naming was wrong)
@@ -2,7 +2,7 @@ import { ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnInit } from '@
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormControl } from '@angular/forms';
3
3
  import { AppFloatLabelType, DisplayFn, FormFieldDefinition, FormFieldType } from './field.model';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
- import { filterNumberInput, selectInputContent } from '../inputs';
5
+ import { filterNumberInput, selectInputContentFromEvent } from '../inputs';
6
6
  import { Property } from '../types';
7
7
  import { ThemePalette } from '@angular/material/core';
8
8
  import { PredefinedColors } from '@ionic/core';
@@ -54,7 +54,7 @@ export declare class AppFormField implements OnInit, ControlValueAccessor {
54
54
  filterAlphanumericalInput(event: KeyboardEvent): void;
55
55
  focus(): void;
56
56
  filterNumberInput: typeof filterNumberInput;
57
- selectInputContent: typeof selectInputContent;
57
+ selectInputContentFromEvent: typeof selectInputContentFromEvent;
58
58
  getDisplayValueFn(definition: FormFieldDefinition): DisplayFn;
59
59
  getColorContrast(color: string): string | undefined;
60
60
  /**
@@ -47,7 +47,7 @@ export declare class ColorScale {
47
47
  /**
48
48
  * Create an array with the given color
49
49
  **/
50
- static fix(length?: number, colorName?: ColorName): any[];
50
+ static fix(length?: number, colorName?: ColorName): string[];
51
51
  private _min;
52
52
  private _max;
53
53
  private _rangeSize;
@@ -1,7 +1,8 @@
1
1
  import { ElementRef, QueryList } from '@angular/core';
2
2
  import { FocusableElement } from './focusable';
3
- export declare function selectInputContent(event: Event): boolean;
4
- export declare function selectInputRange(input: any, startIndex: number, endIndex?: number): boolean;
3
+ export declare function selectInputContentFromEvent(event: Event): boolean;
4
+ export declare function selectInputContent(input: HTMLInputElement | HTMLTextAreaElement | any): boolean;
5
+ export declare function selectInputRange(input: HTMLInputElement | HTMLTextAreaElement, startIndex: number, endIndex?: number, direction?: 'backward' | 'forward' | 'none'): boolean;
5
6
  export declare function getCaretPosition(input: any): number;
6
7
  export declare function moveInputCaretToSeparator(event: KeyboardEvent, separator: string, forward?: boolean): boolean;
7
8
  export declare function filterNumberInput(event: KeyboardEvent, allowDecimals: boolean, decimalSeparator?: string): void;
@@ -13,6 +13,7 @@ export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
13
13
  displayWithSeparator?: string;
14
14
  splitSearchText?: boolean;
15
15
  trimSearchText?: boolean;
16
+ clearInvalidSearchTextOnBlur?: boolean;
16
17
  equals?: EqualsFn;
17
18
  showAllOnFocus?: boolean;
18
19
  showPanelOnFocus?: boolean;
@@ -30,6 +31,11 @@ export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
30
31
  * Add a delay (ms) before trying to select input content (desktop only)
31
32
  */
32
33
  selectInputContentOnFocusDelay?: number;
34
+ /**
35
+ * If true, any invalid value entered in the input field will be cleared when the input loses focus.
36
+ * This helps in preventing invalid data to be displayed on the field
37
+ */
38
+ clearInvalidValueOnBlur?: boolean;
33
39
  /**
34
40
  * Class to apply to the `div.mat-mdc-select-panel`
35
41
  */
@@ -35,6 +35,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
35
35
  protected _tabindex: number;
36
36
  protected _$inputItems: BehaviorSubject<any[]>;
37
37
  protected _$filteredItems: BehaviorSubject<any[]>;
38
+ protected _selectedItem: any;
38
39
  protected _displayValue: string;
39
40
  protected _moreItemsCount: number;
40
41
  protected _fetchMore$: EventEmitter<Event>;
@@ -63,6 +64,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
63
64
  showAllOnFocus: boolean;
64
65
  showPanelOnFocus: boolean;
65
66
  reloadItemsOnFocus: boolean;
67
+ clearInvalidValueOnBlur: boolean;
66
68
  autofocus: boolean;
67
69
  config: MatAutocompleteFieldConfig;
68
70
  i18nPrefix: string;
@@ -95,6 +97,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
95
97
  focused: EventEmitter<FocusEvent>;
96
98
  dropButtonClick: EventEmitter<Event>;
97
99
  keydownEscape: EventEmitter<Event>;
100
+ keydownBackspace: EventEmitter<Event>;
98
101
  keyupEnter: EventEmitter<Event>;
99
102
  selectionChange: EventEmitter<MatAutocompleteFieldSelectChange>;
100
103
  matSelect: MatSelect;
@@ -142,6 +145,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
142
145
  protected markAsLoading(): void;
143
146
  protected onSelectionChange(event: MatSelectChange): void;
144
147
  protected onOptionSelected(event: MatAutocompleteSelectedEvent): void;
148
+ protected toggleShowPanel(event: Event): void;
145
149
  private suggest;
146
150
  private fetchMore;
147
151
  private updateImplicitValue;
@@ -160,8 +164,10 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
160
164
  * @private
161
165
  */
162
166
  private _fixSearchbarOverlay;
167
+ private setInputTextValue;
168
+ protected onBackspace(event: Event): void;
163
169
  static ɵfac: i0.ɵɵFactoryDeclaration<MatAutocompleteField, [null, null, null, null, null, { optional: true; }]>;
164
- 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; }; "label": { "alias": "label"; "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; }; "hideRequiredMarker": { "alias": "hideRequiredMarker"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displaySeparator": { "alias": "displaySeparator"; "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; }; "reloadItemsOnFocus": { "alias": "reloadItemsOnFocus"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "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; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "required": false; }; "selectInputContentOnFocus": { "alias": "selectInputContentOnFocus"; "required": false; }; "selectInputContentOnFocusDelay": { "alias": "selectInputContentOnFocusDelay"; "required": false; }; "classList": { "alias": "class"; "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"; "selectionChange": "selectionChange"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
170
+ 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; }; "label": { "alias": "label"; "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; }; "hideRequiredMarker": { "alias": "hideRequiredMarker"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "debounceTime": { "alias": "debounceTime"; "required": false; }; "displaySeparator": { "alias": "displaySeparator"; "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; }; "reloadItemsOnFocus": { "alias": "reloadItemsOnFocus"; "required": false; }; "clearInvalidValueOnBlur": { "alias": "clearInvalidValueOnBlur"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "config": { "alias": "config"; "required": false; }; "i18nPrefix": { "alias": "i18nPrefix"; "required": false; }; "noResultMessage": { "alias": "noResultMessage"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "panelWidth": { "alias": "panelWidth"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "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; }; "trimSearchText": { "alias": "trimSearchText"; "required": false; }; "splitSearchText": { "alias": "splitSearchText"; "required": false; }; "selectInputContentOnFocus": { "alias": "selectInputContentOnFocus"; "required": false; }; "selectInputContentOnFocusDelay": { "alias": "selectInputContentOnFocusDelay"; "required": false; }; "classList": { "alias": "class"; "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"; "keydownBackspace": "keydown.backspace"; "keyupEnter": "keyup.enter"; "selectionChange": "selectionChange"; }, never, ["[matAfter]", "[matPrefix]", "[matSuffix]", "mat-error,[matError]", "mat-hint:not([align='end']),[matHint]", "mat-hint[align='end']"], false, never>;
165
171
  static ngAcceptInputType_required: unknown;
166
172
  static ngAcceptInputType_hideRequiredMarker: unknown;
167
173
  static ngAcceptInputType_mobile: unknown;
@@ -171,6 +177,7 @@ export declare class MatAutocompleteField implements OnInit, AfterViewInit, OnDe
171
177
  static ngAcceptInputType_showAllOnFocus: unknown;
172
178
  static ngAcceptInputType_showPanelOnFocus: unknown;
173
179
  static ngAcceptInputType_reloadItemsOnFocus: unknown;
180
+ static ngAcceptInputType_clearInvalidValueOnBlur: unknown;
174
181
  static ngAcceptInputType_autofocus: unknown;
175
182
  static ngAcceptInputType_disableRipple: unknown;
176
183
  static ngAcceptInputType_multiple: unknown;
@@ -7,13 +7,12 @@ import * as i5 from "../../pipes/pipes.module";
7
7
  import * as i6 from "@angular/material/core";
8
8
  import * as i7 from "@angular/material/form-field";
9
9
  import * as i8 from "@angular/material/input";
10
- import * as i9 from "ngx-mat-timepicker";
11
- import * as i10 from "@angular/material-moment-adapter";
12
- import * as i11 from "@ngx-translate/core";
13
- import * as i12 from "@maskito/angular";
14
- import * as i13 from "../../directives/directives.module";
10
+ import * as i9 from "@angular/material-moment-adapter";
11
+ import * as i10 from "@ngx-translate/core";
12
+ import * as i11 from "@maskito/angular";
13
+ import * as i12 from "../../directives/directives.module";
15
14
  export declare class SharedMatDurationModule {
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SharedMatDurationModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharedMatDurationModule, [typeof i1.MatDuration], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ReactiveFormsModule, typeof i5.SharedPipesModule, typeof i6.MatCommonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.NgxMatTimepickerModule, typeof i6.MatRippleModule, typeof i10.MatMomentDateModule, typeof i11.TranslateModule, typeof i12.MaskitoDirective, typeof i13.SharedDirectivesModule], [typeof i1.MatDuration]>;
16
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharedMatDurationModule, [typeof i1.MatDuration], [typeof i2.CommonModule, typeof i3.IonicModule, typeof i4.ReactiveFormsModule, typeof i5.SharedPipesModule, typeof i6.MatCommonModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i6.MatRippleModule, typeof i9.MatMomentDateModule, typeof i10.TranslateModule, typeof i11.MaskitoDirective, typeof i12.SharedDirectivesModule], [typeof i1.MatDuration]>;
18
17
  static ɵinj: i0.ɵɵInjectorDeclaration<SharedMatDurationModule>;
19
18
  }
@@ -1,7 +1,7 @@
1
1
  import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormGroupDirective, UntypedFormControl } from '@angular/forms';
3
3
  import { BehaviorSubject, Observable } from 'rxjs';
4
- import { InputElement, selectInputContent } from '../../inputs';
4
+ import { InputElement } from '../../inputs';
5
5
  import { AppFloatLabelType, DisplayFn, EqualsFn } from '../../form/field.model';
6
6
  import { Swiper } from 'swiper/types';
7
7
  import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
@@ -23,7 +23,6 @@ export declare class MatSwipeField implements OnInit, InputElement, OnDestroy, C
23
23
  protected showSlides: boolean;
24
24
  protected $items: BehaviorSubject<any[]>;
25
25
  protected $loaded: BehaviorSubject<boolean>;
26
- protected swiperModules: ((opts: any) => void)[];
27
26
  logPrefix: string;
28
27
  formControl: UntypedFormControl;
29
28
  formControlName: string;
@@ -55,6 +54,7 @@ export declare class MatSwipeField implements OnInit, InputElement, OnDestroy, C
55
54
  get value(): any;
56
55
  get disabled(): any;
57
56
  get enabled(): any;
57
+ protected getSwiper(): Swiper;
58
58
  constructor(cd: ChangeDetectorRef, formGroupDir: FormGroupDirective);
59
59
  ngOnInit(): void;
60
60
  ngOnDestroy(): void;
@@ -69,7 +69,6 @@ export declare class MatSwipeField implements OnInit, InputElement, OnDestroy, C
69
69
  registerOnChange(fn: any): void;
70
70
  registerOnTouched(fn: any): void;
71
71
  setDisabledState(isDisabled: boolean): void;
72
- selectInputContent: typeof selectInputContent;
73
72
  previous(): void;
74
73
  next(): void;
75
74
  reachStart(reached: boolean): void;
@@ -83,7 +82,6 @@ export declare class MatSwipeField implements OnInit, InputElement, OnDestroy, C
83
82
  private updateSlides;
84
83
  private slideTo;
85
84
  private updateButtons;
86
- getSwiper(): Promise<Swiper>;
87
85
  ready(): Promise<void>;
88
86
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSwipeField, [null, { optional: true; }]>;
89
87
  static ɵcmp: i0.ɵɵComponentDeclaration<MatSwipeField, "mat-swipe-field", never, { "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; }; "debug": { "alias": "debug"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mobile": { "alias": "mobile"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "equals": { "alias": "equals"; "required": false; }; "displayWith": { "alias": "displayWith"; "required": false; }; "displayAttributes": { "alias": "displayAttributes"; "required": false; }; "appAutofocus": { "alias": "appAutofocus"; "required": false; }; "classList": { "alias": "class"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "onClick": "click"; "blurred": "blur"; "focused": "focus"; }, never, never, false, never>;
@@ -2,7 +2,7 @@
2
2
  "name": "ngx-sumaris-components",
3
3
  "short_name": "ngx-sumaris-components",
4
4
  "manifest_version": 1,
5
- "version": "18.2.19",
5
+ "version": "18.2.21",
6
6
  "default_locale": "fr",
7
7
  "description": "Angular components for building beautiful and responsive Apps",
8
8
  "icons": [{