ngx-eiffage-material 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { WritableSignal, Type, TemplateRef, PipeTransform, InjectionToken, Signal, EnvironmentProviders, OnInit, ElementRef, OnDestroy } from '@angular/core';
2
+ import { WritableSignal, Type, TemplateRef, PipeTransform, InjectionToken, Signal, EnvironmentProviders, AfterViewInit, DoCheck, ElementRef, OnDestroy } from '@angular/core';
3
3
  import * as ngx_eiffage_material from 'ngx-eiffage-material';
4
4
  import { FormBuilder, FormGroup, FormArray, AbstractControl, ControlValueAccessor, FormControl } from '@angular/forms';
5
5
  import { ErrorStateMatcher } from '@angular/material/core';
6
- import { SubscriptSizing } from '@angular/material/form-field';
6
+ import { MatFormFieldAppearance, SubscriptSizing } from '@angular/material/form-field';
7
7
  import { MatSelect, MatSelectChange } from '@angular/material/select';
8
8
  import { MatDialogRef, MatDialogConfig } from '@angular/material/dialog';
9
9
  import { DateRange } from '@angular/material/datepicker';
@@ -579,8 +579,19 @@ interface NgxEiffageTexts {
579
579
  /** ngx-input-file. */
580
580
  inputFile: {
581
581
  label: string;
582
+ /** Texto del campo vacío. */
583
+ placeholder: string;
584
+ /** Pista mientras se arrastran ficheros encima. */
582
585
  dropping: string;
586
+ /** Etiqueta accesible y tooltip del botón de examinar. */
587
+ browse: string;
583
588
  remove: (fileName: string) => string;
589
+ /** Fichero descartado por no cumplir `accept`. */
590
+ rejectedType: (fileName: string) => string;
591
+ /** Fichero descartado por superar `maxSize` (ya formateado: «2 MB»). */
592
+ rejectedSize: (fileName: string, maxSize: string) => string;
593
+ /** Ficheros descartados por superar `maxFiles`. */
594
+ rejectedCount: (max: number) => string;
584
595
  };
585
596
  skeleton: {
586
597
  loading: string;
@@ -903,57 +914,93 @@ declare class NgxLoadingButton {
903
914
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxLoadingButton, "ngx-loading-button", never, { "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "matButton": { "alias": "matButton"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "spinnerDiameter": { "alias": "spinnerDiameter"; "required": false; "isSignal": true; }; "spinnerStrokeWidth": { "alias": "spinnerStrokeWidth"; "required": false; "isSignal": true; }; "busyLabel": { "alias": "busyLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
904
915
  }
905
916
 
906
- declare class NgxInputFile implements ControlValueAccessor, OnInit {
907
- private _cdr;
908
- value: _angular_core.WritableSignal<File[]>;
909
- onChangeCb?: (files: File[]) => void;
910
- onTouchCb?: () => void;
911
- /** Etiqueta del campo. Por defecto, el texto `inputFile.label` de la librería. */
912
- label: _angular_core.InputSignal<string | undefined>;
913
- /**
914
- * FormControl externo. Es opcional: si el componente se usa con
915
- * `formControlName` / `[formControl]`, el enlace se hace por
916
- * ControlValueAccessor y no hace falta pasarlo.
917
- */
918
- control: _angular_core.InputSignal<FormControl<File[]> | undefined>;
919
- disabled: _angular_core.InputSignal<boolean>;
920
- /** Sin uso: la plantilla nunca lo ha pintado (pendiente de revisar en ngx-input-file). */
921
- placeholder: _angular_core.InputSignal<string | undefined>;
917
+ /**
918
+ * Selector de ficheros con forma de campo de formulario: un `mat-form-field` con los ficheros como chips.
919
+ * Se usa con `formControlName` / `[formControl]` / `ngModel` (valor: `File[]`) o con `[(files)]`.
920
+ */
921
+ declare class NgxInputFile implements ControlValueAccessor, AfterViewInit, DoCheck {
922
+ private readonly _ngControl;
923
+ private readonly _parentForm;
924
+ private readonly _cdr;
925
+ private readonly _host;
926
+ private readonly _locale;
927
+ private readonly _nativeInput;
928
+ private readonly _chipGrid;
922
929
  protected readonly texts: _angular_core.Signal<ngx_eiffage_material.NgxEiffageTexts>;
930
+ /** Etiqueta del campo. Por defecto, el texto `inputFile.label` de la librería. */
931
+ readonly label: _angular_core.InputSignal<string | undefined>;
932
+ /** Texto del campo vacío. Por defecto, el texto `inputFile.placeholder` de la librería. */
933
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
934
+ /** Texto de ayuda bajo el campo. */
935
+ readonly hint: _angular_core.InputSignal<string>;
936
+ /** Mensaje de error. Se ve cuando el control es inválido y está tocado o el formulario se ha enviado. */
937
+ readonly error: _angular_core.InputSignal<string>;
938
+ /** Tipos admitidos: extensiones (`.pdf`), MIME (`application/pdf`) o comodines (`image/*`). Se comprueba también al arrastrar. */
939
+ readonly accept: _angular_core.InputSignal<string | string[]>;
940
+ /** Permite varios ficheros; cada selección se añade a los que ya hay. */
941
+ readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
942
+ /** Tamaño máximo por fichero, en bytes. Los mayores se descartan. */
943
+ readonly maxSize: _angular_core.InputSignal<number | null>;
944
+ /** Número máximo de ficheros (con `multiple`). Los que no caben se descartan. */
945
+ readonly maxFiles: _angular_core.InputSignal<number | null>;
946
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
947
+ /** Apariencia del `mat-form-field`. */
948
+ readonly appearance: _angular_core.InputSignal<MatFormFieldAppearance>;
949
+ /** Ficheros seleccionados. Admite `[(files)]` para usarlo sin formularios. */
950
+ readonly files: _angular_core.ModelSignal<File[]>;
951
+ /** Fichero descartado al seleccionar o arrastrar (tipo, tamaño o número), con el mismo formato que ngx-file-input. */
952
+ readonly validationError: _angular_core.OutputEmitterRef<NgxFileError>;
923
953
  protected readonly resolvedLabel: _angular_core.Signal<string>;
924
- class: _angular_core.InputSignal<string>;
925
- accept: _angular_core.InputSignal<string[]>;
926
- multiple: _angular_core.InputSignal<boolean>;
927
- hint: _angular_core.InputSignal<string>;
928
- error: _angular_core.InputSignal<string>;
929
- isDropping: _angular_core.WritableSignal<boolean>;
930
- inputFileRef: _angular_core.Signal<ElementRef<any> | undefined>;
931
- internalControl: FormControl<string[] | null>;
932
- /** Estado deshabilitado que llega desde setDisabledState() (reactive forms). */
954
+ protected readonly resolvedPlaceholder: _angular_core.Signal<string>;
955
+ protected readonly acceptAttr: _angular_core.Signal<string>;
956
+ protected readonly items: _angular_core.Signal<{
957
+ file: File;
958
+ icon: string;
959
+ size: string;
960
+ }[]>;
933
961
  private readonly _cvaDisabled;
934
- /** Estado deshabilitado efectivo: input `disabled` o el del FormControl padre. */
962
+ /** Deshabilitado por el input `disabled` o por el control del formulario. */
935
963
  readonly isDisabled: _angular_core.Signal<boolean>;
964
+ protected readonly isDropping: _angular_core.WritableSignal<boolean>;
965
+ protected readonly isRequired: _angular_core.WritableSignal<boolean>;
966
+ /** Ficheros descartados en la última selección; el mensaje se recalcula si cambia el idioma. */
967
+ private readonly _rejected;
968
+ protected readonly rejectionMessage: _angular_core.Signal<string>;
969
+ /** Error con el estado del control del formulario (inválido y tocado, o formulario enviado). */
970
+ protected readonly errorStateMatcher: ErrorStateMatcher;
971
+ protected readonly noSeparators: number[];
972
+ private _onChange;
973
+ private _onTouched;
974
+ private _controlSub?;
936
975
  constructor();
937
- private checkErrors;
938
- controlEffect: _angular_core.EffectRef;
939
- ngOnInit(): void;
940
- onContainerClick(): void;
941
- onInputchange(event: any): void;
942
- onDragOver(event: DragEvent): void;
943
- onDragLeave(event: DragEvent): void;
944
- onDrop(event: DragEvent): void;
945
- attachFiles(files: FileList | null | undefined): void;
946
- writeValue(files: File[] | undefined | null): void;
947
- registerOnChange(fn: any): void;
948
- registerOnTouched(fn: any): void;
976
+ ngAfterViewInit(): void;
977
+ ngDoCheck(): void;
978
+ /** Abre el selector de ficheros del sistema. */
979
+ openPicker(): void;
980
+ /** Quita un fichero de la selección. */
981
+ remove(file: File): void;
982
+ protected onFieldClick(event: MouseEvent): void;
983
+ protected onTriggerKeydown(event: KeyboardEvent): void;
984
+ protected onTriggerBlur(): void;
985
+ protected onNativeChange(event: Event): void;
986
+ protected onNativeCancel(): void;
987
+ protected onDragOver(event: DragEvent): void;
988
+ protected onDragLeave(event: DragEvent): void;
989
+ protected onDrop(event: DragEvent): void;
990
+ writeValue(files: File[] | null | undefined): void;
991
+ registerOnChange(fn: (files: File[]) => void): void;
992
+ registerOnTouched(fn: () => void): void;
949
993
  setDisabledState(isDisabled: boolean): void;
950
- onDeleteFileClick(file: File): void;
951
- getAccept(): string;
952
- bytesToMegaBytes(bytes: number): string;
953
- private markAsTouched;
954
- private markAsDirty;
994
+ private _control;
995
+ /** Escucha el control (y el envío del formulario) para refrescar el asterisco y el estado de error con OnPush. */
996
+ private _bindControl;
997
+ private _syncFormState;
998
+ private _addFiles;
999
+ private _commit;
1000
+ private _markTouched;
1001
+ private _message;
955
1002
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxInputFile, never>;
956
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxInputFile, "ngx-input-file", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "control": { "alias": "control"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1003
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxInputFile, "ngx-input-file", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; }, { "files": "filesChange"; "validationError": "validationError"; }, never, never, true, never>;
957
1004
  }
958
1005
 
959
1006
  /** Opción ya resuelta (valor, etiqueta, disabled y visibilidad según el buscador). */
@@ -1091,6 +1138,11 @@ declare class NgxDialog<T = any, R = unknown> implements NgxDialogContext<R> {
1091
1138
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxDialog<any, any>, "ngx-dialog", never, {}, {}, never, never, true, never>;
1092
1139
  }
1093
1140
 
1141
+ /**
1142
+ * @deprecated Usar `NgxDialogService.confirm()` (o `template()` con contenido propio), que tiene el
1143
+ * encabezado, el botón X y la opción `destructive` de ngx-dialog. Las tablas ya no lo usan; se
1144
+ * mantiene solo por compatibilidad con quien lo abra directamente.
1145
+ */
1094
1146
  declare class NgxConfirmDialogComponent {
1095
1147
  dialogRef: MatDialogRef<any, any>;
1096
1148
  data: ConfirmDialogData<any>;
@@ -1103,6 +1155,7 @@ declare class NgxPaginatedTable<T, U extends PaginatedFilter<T>> implements OnDe
1103
1155
  private readonly columnConfigService;
1104
1156
  private readonly advancedFilterService;
1105
1157
  private readonly dialog;
1158
+ private readonly dialogService;
1106
1159
  private readonly datosPantallaService;
1107
1160
  readonly texts: Signal<ngx_eiffage_material.NgxEiffageTexts>;
1108
1161
  protected isDesktop: Signal<boolean>;
@@ -1206,6 +1259,7 @@ declare class NgxPaginatedTable<T, U extends PaginatedFilter<T>> implements OnDe
1206
1259
  declare class NgxBasicTable<T, U extends BasicFilter<T>> {
1207
1260
  private readonly columnConfigService;
1208
1261
  private readonly dialog;
1262
+ private readonly dialogService;
1209
1263
  private readonly datosPantallaService;
1210
1264
  readonly texts: _angular_core.Signal<ngx_eiffage_material.NgxEiffageTexts>;
1211
1265
  protected isDesktop: _angular_core.Signal<boolean>;
@@ -1302,9 +1356,8 @@ declare class NgxBasicTable<T, U extends BasicFilter<T>> {
1302
1356
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxBasicTable<any, any>, "ngx-basic-table", never, { "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "queryFilter": { "alias": "queryFilter"; "required": false; "isSignal": true; }; "moreFilters": { "alias": "moreFilters"; "required": false; "isSignal": true; }; }, { "createClick": "createClick"; "updateClick": "updateClick"; "deleteClick": "deleteClick"; "rowActionClick": "rowActionClick"; "expandedItemChange": "expandedItemChange"; "selectionActionEvent": "selectionActionEvent"; }, never, ["[icon-buttons]", "[more-filters]", "[extra-header-content]", "[end-container]"], true, never>;
1303
1357
  }
1304
1358
 
1305
- declare class SearchableSelectComponent<T> {
1359
+ declare class SearchableSelectComponent<T> implements ControlValueAccessor, AfterViewInit {
1306
1360
  readonly texts: _angular_core.Signal<ngx_eiffage_material.NgxEiffageTexts>;
1307
- control: _angular_core.InputSignal<FormControl<any> | undefined>;
1308
1361
  options: _angular_core.InputSignal<T[]>;
1309
1362
  optionLabel: _angular_core.InputSignal<(option: T) => string>;
1310
1363
  optionValue: _angular_core.InputSignal<(option: T) => string>;
@@ -1321,7 +1374,23 @@ declare class SearchableSelectComponent<T> {
1321
1374
  optionChange: _angular_core.OutputEmitterRef<string | string[] | undefined>;
1322
1375
  protected searcher: _angular_core.Signal<ElementRef<any> | undefined>;
1323
1376
  protected innerControl: _angular_core.WritableSignal<FormControl<any>>;
1377
+ /** Control del formulario si se usa con formControlName / [formControl] / ngModel (se registra como su value accessor). */
1378
+ private readonly _ngControl;
1379
+ private readonly _parentForm;
1380
+ private readonly _cvaDisabled;
1381
+ private _onChange;
1382
+ private _onTouched;
1383
+ /** Asterisco de obligatorio: lo decide el control del formulario. */
1384
+ protected readonly isRequired: _angular_core.WritableSignal<boolean>;
1385
+ /** Error con el estado del control del formulario (inválido y tocado, o formulario enviado). */
1386
+ protected readonly errorStateMatcher: ErrorStateMatcher;
1387
+ constructor();
1324
1388
  selectedEffect: _angular_core.EffectRef;
1389
+ ngAfterViewInit(): void;
1390
+ writeValue(value: string | string[] | undefined | null): void;
1391
+ registerOnChange(fn: (value: string | string[] | undefined) => void): void;
1392
+ registerOnTouched(fn: () => void): void;
1393
+ setDisabledState(isDisabled: boolean): void;
1325
1394
  protected openedChange(open: boolean): void;
1326
1395
  protected cleanQuery(): void;
1327
1396
  protected getClearableOptionName(): string;
@@ -1329,12 +1398,11 @@ declare class SearchableSelectComponent<T> {
1329
1398
  protected onOptionChange(event: MatSelectChange<string | string[] | undefined>): void;
1330
1399
  protected numberOfResults(): number;
1331
1400
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchableSelectComponent<any>, never>;
1332
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchableSelectComponent<any>, "ngx-searchable-select", never, { "control": { "alias": "control"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "selectLabel": { "alias": "selectLabel"; "required": false; "isSignal": true; }; "selectPlaceholder": { "alias": "selectPlaceholder"; "required": false; "isSignal": true; }; "clearableOptionLabel": { "alias": "clearableOptionLabel"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "optionChange": "optionChange"; }, never, never, true, never>;
1401
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchableSelectComponent<any>, "ngx-searchable-select", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "selectLabel": { "alias": "selectLabel"; "required": false; "isSignal": true; }; "selectPlaceholder": { "alias": "selectPlaceholder"; "required": false; "isSignal": true; }; "clearableOptionLabel": { "alias": "clearableOptionLabel"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "optionChange": "optionChange"; }, never, never, true, never>;
1333
1402
  }
1334
1403
 
1335
- declare class PaginatedSearchableSelectComponent<T, U extends PaginatedFilter<T>> implements OnDestroy {
1404
+ declare class PaginatedSearchableSelectComponent<T, U extends PaginatedFilter<T>> implements ControlValueAccessor, AfterViewInit, OnDestroy {
1336
1405
  readonly texts: _angular_core.Signal<ngx_eiffage_material.NgxEiffageTexts>;
1337
- control: _angular_core.InputSignal<FormControl<any> | undefined>;
1338
1406
  endpoint: _angular_core.InputSignal<(filters: U) => Observable<PaginatedItems<T>>>;
1339
1407
  filters: _angular_core.InputSignal<WritableSignal<U>>;
1340
1408
  optionLabel: _angular_core.InputSignal<(option: T) => string>;
@@ -1354,7 +1422,23 @@ declare class PaginatedSearchableSelectComponent<T, U extends PaginatedFilter<T>
1354
1422
  protected innerControl: WritableSignal<FormControl<any>>;
1355
1423
  private queryTimeout;
1356
1424
  private readonly debounceTime;
1425
+ /** Control del formulario si se usa con formControlName / [formControl] / ngModel (se registra como su value accessor). */
1426
+ private readonly _ngControl;
1427
+ private readonly _parentForm;
1428
+ private readonly _cvaDisabled;
1429
+ private _onChange;
1430
+ private _onTouched;
1431
+ /** Asterisco de obligatorio: lo decide el control del formulario. */
1432
+ protected readonly isRequired: WritableSignal<boolean>;
1433
+ /** Error con el estado del control del formulario (inválido y tocado, o formulario enviado). */
1434
+ protected readonly errorStateMatcher: ErrorStateMatcher;
1435
+ constructor();
1357
1436
  selectedEffect: _angular_core.EffectRef;
1437
+ ngAfterViewInit(): void;
1438
+ writeValue(value: T | T[] | undefined | null): void;
1439
+ registerOnChange(fn: (value: T | T[] | undefined) => void): void;
1440
+ registerOnTouched(fn: () => void): void;
1441
+ setDisabledState(isDisabled: boolean): void;
1358
1442
  dataResource: _angular_core.ResourceRef<PaginatedItems<T>>;
1359
1443
  protected options: WritableSignal<T[]>;
1360
1444
  setOptions: _angular_core.EffectRef;
@@ -1368,7 +1452,7 @@ declare class PaginatedSearchableSelectComponent<T, U extends PaginatedFilter<T>
1368
1452
  protected optionsSelectedForView(): T[];
1369
1453
  protected onMoreClick(): void;
1370
1454
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginatedSearchableSelectComponent<any, any>, never>;
1371
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginatedSearchableSelectComponent<any, any>, "ngx-paginated-searchable-select", never, { "control": { "alias": "control"; "required": false; "isSignal": true; }; "endpoint": { "alias": "endpoint"; "required": true; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "selectLabel": { "alias": "selectLabel"; "required": false; "isSignal": true; }; "selectPlaceholder": { "alias": "selectPlaceholder"; "required": false; "isSignal": true; }; "clearableOptionLabel": { "alias": "clearableOptionLabel"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "optionChange": "optionChange"; }, never, never, true, never>;
1455
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginatedSearchableSelectComponent<any, any>, "ngx-paginated-searchable-select", never, { "endpoint": { "alias": "endpoint"; "required": true; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "searchInputPlaceholder": { "alias": "searchInputPlaceholder"; "required": false; "isSignal": true; }; "selectLabel": { "alias": "selectLabel"; "required": false; "isSignal": true; }; "selectPlaceholder": { "alias": "selectPlaceholder"; "required": false; "isSignal": true; }; "clearableOptionLabel": { "alias": "clearableOptionLabel"; "required": false; "isSignal": true; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "optionChange": "optionChange"; }, never, never, true, never>;
1372
1456
  }
1373
1457
 
1374
1458
  declare class NgxAlert {
@@ -1836,7 +1920,9 @@ declare class NgxDialogService {
1836
1920
  * del diálogo como `dialog` (`let-data let-dialog="dialog"`).
1837
1921
  */
1838
1922
  template<T = any, R = boolean>(config: DialogHeaderOptions & {
1839
- template: TemplateRef<NgxDialogTemplateContext<T, R>> | TemplateRef<T>;
1923
+ template: TemplateRef<NgxDialogTemplateContext<T, R>> | TemplateRef<{
1924
+ $implicit: T;
1925
+ }> | TemplateRef<T>;
1840
1926
  templateData?: T;
1841
1927
  }, dialogConfig?: MatDialogConfig): Observable<R | boolean | undefined>;
1842
1928
  private _open;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-eiffage-material",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.0.0 || ^21.0.0 || ^22.0.0",
6
6
  "@angular/common": "^20.1.0 || ^21.0.0 || ^22.0.0",