@esfaenza/es-table 20.3.22 → 20.3.24

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
@@ -2352,6 +2352,15 @@ declare class EsTableModuleConfig {
2352
2352
  globalExportAclExpression?: string;
2353
2353
  }
2354
2354
 
2355
+ /** Cella di una riga di header-group multi-livello (span su N colonne-dato). */
2356
+ interface Est2HeaderGroupCell {
2357
+ id: string;
2358
+ span: number;
2359
+ isGroup: boolean;
2360
+ label: string;
2361
+ template: TemplateRef<any> | null;
2362
+ }
2363
+
2355
2364
  /** Specifica di una singola aggregazione estratta da un template `{func:format}` */
2356
2365
  interface Est2AggSpec {
2357
2366
  /** Colonna su cui calcolare l'aggregazione */
@@ -2378,13 +2387,16 @@ interface Est2Column {
2378
2387
  orderable: boolean;
2379
2388
  alignment: 'left' | 'right' | 'center';
2380
2389
  property: string | null;
2381
- type: string | null;
2390
+ type: InputType | null;
2382
2391
  source: {
2383
2392
  id: any;
2384
2393
  description: string;
2385
2394
  }[] | null;
2386
2395
  format: string | null;
2396
+ /** classe CSS della CELLA (`*td Class`) — applicata solo ai `<td>` */
2387
2397
  cssClass: string;
2398
+ /** classe CSS dell'HEADER (`*th Class`) — applicata solo ai `<th>` */
2399
+ headerClass: string;
2388
2400
  wrap: boolean;
2389
2401
  /** true se questa colonna è una chiave di raggruppamento (`thGroup`) */
2390
2402
  isGroup: boolean;
@@ -2412,18 +2424,44 @@ interface Est2Column {
2412
2424
  /** colonna Multi: indice dell'entry dentro l'array della proprietà */
2413
2425
  multiIndex?: number | null;
2414
2426
  }
2415
- /** Cella di una riga di header-group multi-livello (span su N colonne-dato). */
2416
- interface Est2HeaderGroupCell {
2417
- /** id del gruppo, o chiave sintetica per gli spacer */
2418
- id: string;
2419
- /** numero di colonne-dato coperte */
2420
- span: number;
2421
- /** true se è un vero header di gruppo (ha contenuto), false se spacer vuoto */
2422
- isGroup: boolean;
2423
- /** etichetta di fallback (quando non c'è un template proiettato) */
2424
- label: string;
2425
- /** template proiettato dell'header di gruppo (contenuto del `*th`) */
2426
- template: TemplateRef<any> | null;
2427
+
2428
+ /**
2429
+ * Riga della tabella. Oltre ai dati aperti del consumer (index signature) porta
2430
+ * un insieme FISSO di flag interni iniettati da grouping/hierarchy/selezione. Tiparli
2431
+ * qui documenta il contratto in un unico posto e riduce la superficie di refuso.
2432
+ */
2433
+ interface Est2Row {
2434
+ [k: string]: any;
2435
+ /** selezione di riga */
2436
+ _selected?: boolean;
2437
+ /** riga-gruppo (intestazione di un raggruppamento) */
2438
+ _group?: boolean;
2439
+ /** riga-dato (foglia) */
2440
+ _item?: boolean;
2441
+ /** visibile (collasso gruppo / gerarchia) */
2442
+ _visible?: boolean;
2443
+ /** gruppo/nodo espanso */
2444
+ _expanded?: boolean;
2445
+ /** livello gerarchico (1-based) */
2446
+ _level?: number;
2447
+ /** profondità di annidamento gruppo (0-based) */
2448
+ _grouplevel?: number;
2449
+ /** aggregazioni per colonna → funzione → valore formattato */
2450
+ _agg?: Map<string, Map<string, string>>;
2451
+ /** chiave path del gruppo/item */
2452
+ _thisKey?: string;
2453
+ /** chiave del gruppo padre */
2454
+ _parent?: string | null;
2455
+ /** numero di sotto-gruppi */
2456
+ _groupscount?: number;
2457
+ /** riga separatore (consumer) */
2458
+ _sep?: boolean;
2459
+ /** gerarchia: il nodo ha figli */
2460
+ parent?: boolean;
2461
+ /** id per trackBy (consumer) */
2462
+ _hash?: any;
2463
+ /** oggetti "generic": bag delle proprietà */
2464
+ properties?: Record<string, any>;
2427
2465
  }
2428
2466
  /**
2429
2467
  * es-table2 — riscrittura 2026 dell'es-table.
@@ -2472,6 +2510,7 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2472
2510
  SelectionDisabled: _angular_core.InputSignal<boolean>;
2473
2511
  readonly _SelectAll: _angular_core.InputSignal<boolean>;
2474
2512
  SelectAll: _angular_core.WritableSignal<boolean>;
2513
+ /** @deprecated NO-OP di parità v1 (cache selezione cross-pagina): dichiarato per il drop-in, non usato */
2475
2514
  readonly _UseSelectionCache: _angular_core.InputSignal<boolean>;
2476
2515
  UseSelectionCache: _angular_core.WritableSignal<boolean>;
2477
2516
  readonly _ShiftClick: _angular_core.InputSignal<boolean>;
@@ -2512,6 +2551,9 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2512
2551
  ContainerClass: _angular_core.WritableSignal<string>;
2513
2552
  EsTableHandledSearch: _angular_core.InputSignal<boolean>;
2514
2553
  SearchThrottle: _angular_core.InputSignal<number>;
2554
+ /** Abilita il ridimensionamento via handle sul bordo destro dell'header delle colonne PINNATE
2555
+ * (la nuova larghezza è persistita nelle preferenze). Il resize delle colonne non pinnate
2556
+ * non è ancora portato. */
2515
2557
  readonly _ColumnsResizable: _angular_core.InputSignal<boolean>;
2516
2558
  ColumnsResizable: _angular_core.WritableSignal<boolean>;
2517
2559
  readonly _ColumnsPinnable: _angular_core.InputSignal<boolean>;
@@ -2545,13 +2587,17 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2545
2587
  SavePreferences: _angular_core.WritableSignal<boolean>;
2546
2588
  /** Nome della tabella: chiave per la persistenza delle preferenze colonne (localStorage) */
2547
2589
  Name: _angular_core.InputSignal<string>;
2590
+ /** @deprecated NO-OP di parità v1 (stile paginazione gruppi): dichiarato per il drop-in, non risolto/usato */
2548
2591
  readonly _RowGroupingPagingStyle: _angular_core.InputSignal<"left" | "right">;
2549
2592
  readonly _ShowItemGroupsColumns: _angular_core.InputSignal<boolean>;
2550
2593
  Editable: _angular_core.InputSignal<boolean>;
2551
2594
  RangeSelection: _angular_core.InputSignal<boolean>;
2552
2595
  ItemSourceProperty: _angular_core.InputSignal<string>;
2596
+ /** @deprecated NO-OP di parità v1 (header-group manuali, superati da `Parent:`/`Multi`) */
2553
2597
  HasHeaderGroup: _angular_core.InputSignal<boolean>;
2598
+ /** @deprecated NO-OP di parità v1 (seconda riga header-group manuale) */
2554
2599
  HasSecondaryHeaderGroup: _angular_core.InputSignal<boolean>;
2600
+ /** @deprecated NO-OP di parità v1 (drill-down gruppi server-side, non portato) */
2555
2601
  SearchView: _angular_core.InputSignal<AppSearch<any>>;
2556
2602
  /** Abilita il "patacchino" di auto-aggiornamento (toggle + intervallo) in alto a destra */
2557
2603
  readonly _AutoUpdate: _angular_core.InputSignal<boolean>;
@@ -2559,7 +2605,7 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2559
2605
  /** Provider esterno di `*th`/`*td` (pattern `td_th_provider`), passato per riferimento */
2560
2606
  EsThTdProvider?: ThTdProvider;
2561
2607
  onOrderChanged: EventEmitter<AppOrdering>;
2562
- onSearchRequest: EventEmitter<any>;
2608
+ onSearchRequest: EventEmitter<boolean>;
2563
2609
  onSelectionChanged: EventEmitter<ItemsSelection<any>>;
2564
2610
  onRemoval: EventEmitter<any>;
2565
2611
  onAbortRemoval: EventEmitter<any>;
@@ -2585,7 +2631,7 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2585
2631
  arrayMode: _angular_core.WritableSignal<boolean>;
2586
2632
  firstBind: _angular_core.WritableSignal<boolean>;
2587
2633
  /** Righe attualmente visualizzate (già paginate/ordinate) */
2588
- boundSource: _angular_core.WritableSignal<any[]>;
2634
+ boundSource: _angular_core.WritableSignal<Est2Row[]>;
2589
2635
  /** Colonne derivate dalle direttive `*th`/`*td` */
2590
2636
  columns: _angular_core.WritableSignal<Est2Column[]>;
2591
2637
  /** true se la tabella è pilotata dalle direttive (`*th`), false se template semplice */
@@ -2628,25 +2674,35 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2628
2674
  hasPinned: _angular_core.Signal<boolean>;
2629
2675
  /** Larghezza (px) della colonna di selezione quando sticky */
2630
2676
  private readonly SEL_STICKY_W;
2677
+ /** Larghezza (px) di default di una colonna pinnata senza `PinnedWidth` esplicito */
2678
+ private readonly PINNED_DEFAULT_W;
2679
+ /**
2680
+ * Larghezza FISSA (px) di una colonna pinnata. Una colonna sticky è per contratto a
2681
+ * larghezza fissa: la usiamo sia per il calcolo degli offset che per vincolare la
2682
+ * cella (min/max-width) così il contenuto lungo viene troncato invece di sbordare
2683
+ * sulla colonna successiva. Default = `PINNED_DEFAULT_W` (coerente con gli offset).
2684
+ */
2685
+ pinnedWidthPx(col: Est2Column): number;
2686
+ /**
2687
+ * Offset `left` (px) cumulativi delle colonne sticky, memoizzati: ricalcolati solo
2688
+ * quando cambiano `visibleColumns`/`Selection`. Prima `pinnedLeftPx` era O(n) per
2689
+ * chiamata e veniva invocato per OGNI cella pinnata del corpo → O(P²·R) per CD.
2690
+ */
2691
+ pinnedOffsets: _angular_core.Signal<number[]>;
2631
2692
  /** Offset `left` (px) di una colonna sticky all'indice `ci` in visibleColumns */
2632
2693
  pinnedLeftPx(ci: number): number;
2633
2694
  /** true se la tabella renderizza colonne strutturate (direttive/dinamica/report), non template semplici */
2634
2695
  usesColumns: _angular_core.Signal<boolean>;
2635
2696
  /**
2636
- * Righe di header-group multi-livello, dall'alto (root) verso il basso (padre
2637
- * immediato). Ricalcolate automaticamente su riordino/visibilità colonne.
2638
- *
2639
- * Ogni gruppo si allinea in BASSO: il padre immediato di una colonna sta sempre
2640
- * nella riga direttamente sopra la colonna; gli antenati più alti salgono. Le
2641
- * colonne senza gruppo (o con catena più corta) hanno celle-spacer vuote in alto.
2697
+ * Righe di header-group multi-livello (bottom-aligned). Delega al motore puro
2698
+ * `core/header-groups.ts`; ricalcolate automaticamente su riordino/visibilità.
2642
2699
  */
2643
2700
  headerGroupRows: _angular_core.Signal<Est2HeaderGroupCell[][]>;
2644
2701
  /** true se ci sono header-group da renderizzare */
2645
2702
  hasHeaderGroups: _angular_core.Signal<boolean>;
2646
2703
  /**
2647
- * Indici (in visibleColumns) delle colonne che aprono un nuovo gruppo-colonna,
2648
- * cioè dove il gruppo padre immediato cambia rispetto alla colonna precedente.
2649
- * Serve a disegnare i confini dei gruppi anche nel corpo della tabella.
2704
+ * Indici (in visibleColumns) delle colonne che aprono un nuovo gruppo-colonna.
2705
+ * Delega al motore puro; disegna i confini dei gruppi anche nel corpo tabella.
2650
2706
  */
2651
2707
  columnGroupBoundaries: _angular_core.Signal<Set<number>>;
2652
2708
  /** Numero di elementi totali (per il pager) */
@@ -2656,10 +2712,11 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2656
2712
  /** Numero totale di pagine per il pager */
2657
2713
  totalPages: _angular_core.Signal<any>;
2658
2714
  private readonly effectiveAllValue;
2659
- private inited;
2660
2715
  private onChange;
2661
2716
  private onTouched;
2662
2717
  constructor(ngControl: NgControl, cdr: ChangeDetectorRef, hostEl: ElementRef<HTMLElement>, prefService: PreferencesService, injector: Injector, defaults: EsTableDefaultable, debugMode: boolean, exportGlobalAcl: string);
2718
+ /** Controller di esportazione (E4) — logica in `controllers/export.controller.ts` */
2719
+ private exportCtrl;
2663
2720
  ngOnInit(): void;
2664
2721
  ngOnDestroy(): void;
2665
2722
  /** Risoluzione input: valore esplicito || default di progetto || hard default */
@@ -2691,14 +2748,13 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2691
2748
  private detectMode;
2692
2749
  private buildColumns;
2693
2750
  /**
2694
- * Srotola le colonne `*th Multi:true` sui dati: ogni entry unica
2695
- * `(header_group, header)` della proprietà-array diventa una colonna sintetica,
2696
- * e i livelli di `header_group` (separati da ">") alimentano gli header-group.
2751
+ * Srotola le colonne `*th Multi:true` sui dati. Delega al motore puro
2752
+ * `core/columns.ts`; qui applico allo stato le mappe th/parent aggiornate.
2697
2753
  */
2698
2754
  private buildMultiColumns;
2699
- /** Costruisce le colonne da una `EsTableColumnsDefinition[]` (modalità dinamica) */
2755
+ /** Colonne dinamiche delega al motore puro `core/columns.ts` */
2700
2756
  private buildDynamicColumns;
2701
- /** Costruisce le colonne da `report_columns` (modalità report): il valore è preso per indice */
2757
+ /** Colonne report delega al motore puro `core/columns.ts` */
2702
2758
  private buildReportColumns;
2703
2759
  /** Sceglie la sorgente delle colonne in base al modello: report → dinamica → direttive */
2704
2760
  private resolveColumns;
@@ -2826,21 +2882,16 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2826
2882
  onCellDblClick(item: any, col: Est2Column, r: number, c: number): void;
2827
2883
  commitEdit(item: any, col: Est2Column): void;
2828
2884
  cancelEdit(): void;
2885
+ /** Lettura bag-aware di una proprietà (gestisce gli oggetti "generic" con `properties`) */
2886
+ private readProp;
2887
+ /** Scrittura bag-aware di una proprietà */
2888
+ private writeProp;
2829
2889
  /** Valore grezzo su cui operano editing/paste (gestisce gli oggetti `properties`) */
2830
2890
  private rawCellValue;
2831
2891
  /** Scrive un valore GIÀ convertito e restituisce l'eventuale EsTableModelChange */
2832
2892
  private applyCoerced;
2833
- /**
2834
- * Converte una stringa (digitata/incollata) nel tipo della colonna, segnalando
2835
- * se è compatibile. `ok:false` = valore incompatibile col tipo (es. testo in una
2836
- * colonna numerica) → chi chiama avvisa e non scrive. Una stringa vuota è sempre
2837
- * valida e azzera il valore (null).
2838
- */
2893
+ /** Coercizione valore → delega al motore puro `core/coercion.ts` */
2839
2894
  private coerceValue;
2840
- /** Parsing numerico tollerante (separatori di migliaia + virgola/punto decimale). `NaN` = non numerico */
2841
- private toNumber;
2842
- /** Parsing date tollerante: `dd/MM/yyyy [HH:mm[:ss]]` o formati nativi. `null` = non valida */
2843
- private parseDateLoose;
2844
2895
  /** Testo visualizzato di una cella (usato dalla copia) */
2845
2896
  cellDisplayText(item: any, col: Est2Column): string;
2846
2897
  /** true se `childKey` è `ancestorKey` stesso o un suo discendente (senza collisioni di prefisso) */
@@ -2890,9 +2941,9 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2890
2941
  canRemove(item: any): boolean;
2891
2942
  removeItem(item: any): void;
2892
2943
  abortRemoval(item: any): void;
2893
- /** Preferenze colonne in memoria (ordine + nascoste). Persistite se `SavePreferences`. */
2944
+ /** Preferenze colonne in memoria (ordine + nascoste + pin + larghezze). Persistite se `SavePreferences`. */
2894
2945
  private columnPrefs;
2895
- /** Applica ordine + visibilità + pin delle preferenze a una lista di colonne appena costruita */
2946
+ /** Applica ordine + visibilità + pin + larghezze delle preferenze a una lista di colonne appena costruita */
2896
2947
  private setColumns;
2897
2948
  /** true una volta caricate le preferenze dal server (evita retrieve multipli) */
2898
2949
  private prefsLoaded;
@@ -2946,6 +2997,21 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2946
2997
  * gruppo → si sposta l'INTERO blocco del gruppo (al livello di divergenza).
2947
2998
  */
2948
2999
  dialogMove(i: number, dir: -1 | 1): void;
3000
+ /** Indice della riga trascinata (o null) */
3001
+ dragIndex: _angular_core.WritableSignal<number>;
3002
+ /** Indice della riga sotto il cursore durante il drag (per l'indicatore) */
3003
+ dragOverIndex: _angular_core.WritableSignal<number>;
3004
+ dialogDragStart(i: number, ev: DragEvent): void;
3005
+ dialogDragOver(i: number, ev: DragEvent): void;
3006
+ dialogDrop(i: number, ev: DragEvent): void;
3007
+ dialogDragEnd(): void;
3008
+ /**
3009
+ * Sposta la riga `from` alla posizione `to`, poi RIPARA la contiguità dei gruppi
3010
+ * in tempo reale (come `dialogMove`): un drag che porterebbe una colonna fuori dal
3011
+ * suo gruppo la fa "scattare" nella posizione contigua più vicina, così la dialog
3012
+ * non mostra mai gruppi spezzati durante l'editing.
3013
+ */
3014
+ private dialogReorder;
2949
3015
  applyColumnsDialog(): void;
2950
3016
  /**
2951
3017
  * Riordina gli id in modo che i membri di ogni gruppo-colonna restino contigui,
@@ -2955,7 +3021,10 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2955
3021
  * colonne esterne.
2956
3022
  */
2957
3023
  /** Catena degli antenati-gruppo (root→padre immediato) di una colonna; `[]` se non raggruppata */
3024
+ /** Catena antenati di una colonna — delega al motore `core/header-groups.ts` */
3025
+ private ancestorChain;
2958
3026
  private columnChain;
3027
+ /** Riordino group-contiguo — delega al motore `core/header-groups.ts` */
2959
3028
  private enforceGroupContiguity;
2960
3029
  resetColumnsDialog(): void;
2961
3030
  exportMenuOpen: _angular_core.WritableSignal<boolean>;
@@ -2964,45 +3033,14 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
2964
3033
  toggleCornerMenu(): void;
2965
3034
  /** Chiude i menu a tendina del chrome quando si clicca fuori */
2966
3035
  onDocClick(): void;
2967
- /** Colonne da esportare (tutte o solo visibili) e con dato testuale */
2968
- private exportColumns;
2969
- /** Righe-dato correnti (esclude righe-gruppo) */
2970
- private exportRows;
2971
- /** Matrice [header, ...righe] con i valori visualizzati */
2972
- private buildExportMatrix;
2973
- /**
2974
- * Etichetta di intestazione per l'export self-contained: usa il testo header
2975
- * RENDERIZZATO letto dal DOM (rispetta il casing del template `*th`, es. "ID"),
2976
- * con fallback su `columnLabel` (headerText statico / id) se il DOM non è leggibile.
2977
- */
2978
- private headerLabel;
2979
- /** @ignore Evita esportazioni concorrenti (parità con l'`ExportHandler` originale) */
2980
- private exportInProgress;
2981
- /**
2982
- * `ExportService` risolto PIGRAMENTE e in modo difensivo: `undefined` = non ancora
2983
- * risolto, `null` = non disponibile. È `providedIn:'root'` ma la sua costruzione
2984
- * dipende da `LocalizationService`/`DateService`/`UtilityService`; se quella catena
2985
- * non è presente (test isolati, o consumer che non importa `@esfaenza/extensions`),
2986
- * `injector.get` lancia → catturo e faccio fallback al percorso self-contained.
2987
- */
2988
- private exportService;
2989
- private resolveExportService;
3036
+ /** Export delegato al controller `ExportController` (E4); chiude prima il menu chrome. */
2990
3037
  export(format?: 'CSV' | 'XLSX'): void;
2991
3038
  /**
2992
- * Delego all'`ExportService` originale replicando esattamente `ExportHandler.tryExport`:
2993
- * `export(data, format, fileName, type, columnsFilter, genericHeaders)`. Così l'export
2994
- * è guidato dai decoratori `@Export` della classe `type`, byte-compatibile con es-table1.
2995
- * Se il servizio non è disponibile (raro: è `providedIn:'root'` nel package), fallback
2996
- * al percorso self-contained mappando le colonne `*th`.
2997
- */
2998
- private exportViaService;
2999
- /** @deprecated Percorso di fallback self-contained (usato solo senza ExportService) */
3000
- private exportData;
3001
- private exportCsv;
3002
- private exportXlsx;
3003
- /** Nome file rispettando l'estensione richiesta */
3004
- private exportFileName;
3005
- private downloadBlob;
3039
+ * Mappa id-colonna testo header RENDERIZZATO letto dal DOM (rispetta il casing
3040
+ * del template `*th`, es. "ID"). Costruita in un'unica passata; usata dall'export
3041
+ * self-contained e dalla dialog colonne (prima due letture DOM separate).
3042
+ */
3043
+ private renderedHeaderTexts;
3006
3044
  cornerAction(id: string): void;
3007
3045
  rowClass(item: any): string;
3008
3046
  hasChrome(): boolean;
@@ -3019,7 +3057,23 @@ declare class EsTable2Component implements ControlValueAccessor, AfterContentIni
3019
3057
  cellValue(item: any, col: Est2Column): any;
3020
3058
  /** Entry Multi corrispondente a una cella (`item[multiProp][multiIndex]`) */
3021
3059
  multiCell(item: any, col: Est2Column): any;
3022
- trackByIndex: (i: number) => number;
3060
+ /**
3061
+ * Tooltip "smart" al passaggio del mouse: mostra il testo REALMENTE renderizzato
3062
+ * della cella (qualunque sia il `*td`) SOLO se è troncato. Legge `el.textContent`
3063
+ * anziché `cellDisplayText`, che conosce solo `property`/`id` e non il contenuto di
3064
+ * un template custom (era il bug del tooltip che mostrava sempre l'id colonna).
3065
+ */
3066
+ onCellHover(ev: MouseEvent): void;
3067
+ /** Larghezza minima (px) di una colonna pinnata durante il resize */
3068
+ private readonly PINNED_MIN_W;
3069
+ /** Stato del resize in corso (colonna + coordinate iniziali) */
3070
+ private resizing;
3071
+ /** mousedown sull'handle: avvia il ridimensionamento della colonna pinnata */
3072
+ startColumnResize(col: Est2Column, ev: MouseEvent): void;
3073
+ onResizeMove(ev: MouseEvent): void;
3074
+ onResizeEnd(): void;
3075
+ /** Aggiorna `columnPrefs.widths` dalle larghezze correnti delle colonne pinnate e salva */
3076
+ private persistColumnWidths;
3023
3077
  trackRow: (i: number, item: any) => any;
3024
3078
  trackCol: (_: number, col: Est2Column) => string;
3025
3079
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EsTable2Component, [{ optional: true; self: true; }, null, null, { optional: true; }, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
@@ -3317,4 +3371,4 @@ declare const EST2_EXPORT_GLOBAL_ACL: InjectionToken<string>;
3317
3371
  declare const EST2_DEFAULTS: InjectionToken<EsTableDefaultable>;
3318
3372
 
3319
3373
  export { AppOrdering, AppSearch, CornerMenuOption, EST2_DEBUG, EST2_DEFAULTS, EST2_EXPORT_GLOBAL_ACL, EST_DEBUG, EST_DEFAULTS, EST_EXPORT_GLOBAL_ACL, EsTable2Component, EsTableColumnsDefinition, EsTableComponent, EsTableDefaultable, EsTableModelChange, EsTableModule, EsTableModuleConfig, EsTableMultiValue, EsTableOperationDefinition, EsTablePagerComponent, EsTdDirective, EsTdEditorDirective, EsThDirective, GenericItem, Group, GroupAggregation, GroupFilter, GroupOrAggregation, ItemPropEditableReference, ItemsSelection, ReportColumn, ReportParam, ReportRow, ThTdProvider };
3320
- export type { Est2Column, Est2HeaderGroupCell, InputType };
3374
+ export type { Est2Column, Est2HeaderGroupCell, Est2Row, InputType };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "20.3.22",
3
+ "version": "20.3.24",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },