ng-components-tsi 0.0.49 → 0.0.50

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.
@@ -7,12 +7,12 @@ export declare class MdGenericoComponent {
7
7
  continuar2: import("@angular/core").OutputEmitterRef<void>;
8
8
  cerrar: import("@angular/core").OutputEmitterRef<void>;
9
9
  scrollable: import("@angular/core").InputSignal<boolean>;
10
- type: import("@angular/core").InputSignal<"1" | "2" | "7" | "3" | "4" | "5" | "6" | "APROB">;
10
+ type: import("@angular/core").InputSignal<"1" | "2" | "3" | "4" | "7" | "5" | "6" | "APROB">;
11
11
  content: import("@angular/core").Signal<TemplateRef<any>>;
12
12
  footer: import("@angular/core").Signal<TemplateRef<any>>;
13
13
  showAlerta: import("@angular/core").InputSignal<boolean>;
14
14
  textAlerta: import("@angular/core").InputSignal<string>;
15
- sizeTitle: import("@angular/core").InputSignal<"1" | "2" | "7" | "3" | "4" | "5" | "6" | "9" | "8">;
15
+ sizeTitle: import("@angular/core").InputSignal<"1" | "2" | "3" | "4" | "7" | "5" | "6" | "9" | "8">;
16
16
  showFiltro: import("@angular/core").InputSignal<boolean>;
17
17
  withFiltro: import("@angular/core").ModelSignal<boolean>;
18
18
  dataFiltro: import("@angular/core").InputSignal<boolean>;
@@ -1,3 +1,3 @@
1
1
  export type ColorType = 'azul' | 'rojo' | 'rojo_alerta' | 'verde' | 'negro' | 'amarillo' | 'gris' | 'plomo' | 'none' | undefined;
2
2
  export type OutlineType = 'azul' | 'rojo' | 'verde' | 'negro' | 'amarillo' | 'gris' | 'plomo' | undefined;
3
- export type IconType = 'agregar' | 'buscar' | 'guardar' | 'nocancelar' | 'cancelar' | 'cancelar2' | 'marcar' | 'atras' | 'adelante' | 'eliminar' | 'imprimir' | 'subir' | 'ver' | 'bajar' | 'comentario' | 'editar' | 'calcular' | 'aprobar' | 'desaprobar' | 'check' | 'excel' | 'pdf' | 'refresh' | 'cerrar' | 'visar' | 'anular' | 'trazabilidad' | 'bloquear' | 'desbloquear' | 'correo' | 'usuario' | 'enviarSunat' | 'descargar' | 'borrar' | 'lista' | 'monedas' | 'caja' | 'cerrar_caja' | 'abrir_caja' | 'liquidar' | 'configuracion' | 'contrato' | undefined;
3
+ export type IconType = 'agregar' | 'buscar' | 'guardar' | 'nocancelar' | 'cancelar' | 'cancelar2' | 'marcar' | 'atras' | 'adelante' | 'eliminar' | 'imprimir' | 'subir' | 'ver' | 'bajar' | 'comentario' | 'editar' | 'calcular' | 'aprobar' | 'desaprobar' | 'check' | 'excel' | 'pdf' | 'refresh' | 'cerrar' | 'visar' | 'anular' | 'trazabilidad' | 'bloquear' | 'desbloquear' | 'correo' | 'usuario' | 'enviarSunat' | 'descargar' | 'borrar' | 'lista' | 'monedas' | 'caja' | 'cerrar_caja' | 'abrir_caja' | 'liquidar' | 'configuracion' | 'contrato' | 'sunat' | undefined;
@@ -7,12 +7,12 @@ export declare class InputComponent {
7
7
  iconButton: import("@angular/core").InputSignal<string>;
8
8
  classButton: import("@angular/core").InputSignal<string>;
9
9
  isRequired: import("@angular/core").InputSignal<boolean>;
10
- type: import("@angular/core").InputSignal<"number" | "select" | "time" | "text" | "text-area" | "date" | "number-format-decimal" | "number-integer" | "day" | "input-switch">;
11
- typeStandar: import("@angular/core").WritableSignal<"number" | "select" | "time" | "text" | "text-area" | "date" | "number-format-decimal" | "number-integer" | "day" | "input-switch">;
12
- position: import("@angular/core").InputSignal<"start" | "end" | "center">;
10
+ type: import("@angular/core").InputSignal<"number" | "date" | "select" | "time" | "text" | "text-area" | "number-format-decimal" | "number-integer" | "day" | "input-switch">;
11
+ typeStandar: import("@angular/core").WritableSignal<"number" | "date" | "select" | "time" | "text" | "text-area" | "number-format-decimal" | "number-integer" | "day" | "input-switch">;
12
+ position: import("@angular/core").InputSignal<"start" | "center" | "end">;
13
13
  value: import("@angular/core").ModelSignal<any>;
14
14
  value2: import("@angular/core").ModelSignal<any>;
15
- position_row: import("@angular/core").InputSignal<"start" | "end" | "center">;
15
+ position_row: import("@angular/core").InputSignal<"start" | "center" | "end">;
16
16
  withChangeInput: import("@angular/core").InputSignal<boolean>;
17
17
  disabled: import("@angular/core").ModelSignal<boolean>;
18
18
  isImportant: import("@angular/core").InputSignal<boolean>;
@@ -8,7 +8,7 @@ export declare class InputRadioComponent {
8
8
  position: import("@angular/core").InputSignal<"row" | "column">;
9
9
  onlyRow: import("@angular/core").InputSignal<boolean>;
10
10
  value: import("@angular/core").ModelSignal<any>;
11
- position_row: import("@angular/core").InputSignal<"start" | "end" | "center">;
11
+ position_row: import("@angular/core").InputSignal<"start" | "center" | "end">;
12
12
  disabled: import("@angular/core").ModelSignal<boolean>;
13
13
  lista: import("@angular/core").InputSignal<any[]>;
14
14
  keyCodigo: import("@angular/core").InputSignal<string>;
@@ -7,7 +7,7 @@ export declare class ListOptionComponent {
7
7
  name: import("@angular/core").InputSignal<string>;
8
8
  position: import("@angular/core").InputSignal<"row" | "column">;
9
9
  value: import("@angular/core").ModelSignal<any>;
10
- position_row: import("@angular/core").InputSignal<"start" | "end" | "center">;
10
+ position_row: import("@angular/core").InputSignal<"start" | "center" | "end">;
11
11
  disabled: import("@angular/core").ModelSignal<boolean>;
12
12
  lista: import("@angular/core").InputSignal<any[]>;
13
13
  keyCodigo: import("@angular/core").InputSignal<string>;
@@ -2,7 +2,7 @@ import * as i0 from "@angular/core";
2
2
  export declare class PaginadorComponent {
3
3
  total: import("@angular/core").InputSignal<number>;
4
4
  limit: import("@angular/core").InputSignal<number>;
5
- position: import("@angular/core").InputSignal<"start" | "end" | "center">;
5
+ position: import("@angular/core").InputSignal<"start" | "center" | "end">;
6
6
  loaddata: import("@angular/core").InputSignal<(params: {
7
7
  offset: number;
8
8
  limit: number;
@@ -1,87 +1,115 @@
1
- import { ElementRef, QueryList, TemplateRef } from '@angular/core';
1
+ import { ElementRef, OnDestroy, TemplateRef } from '@angular/core';
2
+ import { SelectedRow } from '../../../models/selected-row';
2
3
  import { CellRender, CellRendered } from '../../../models/cell-rendered';
3
4
  import { TableData } from '../../../models/table-data.model';
4
- import { SelectedRow } from '../../../models/selected-row';
5
5
  import * as i0 from "@angular/core";
6
- export declare class TableUltimateComponent {
7
- tableHeaders: import("@angular/core").Signal<QueryList<ElementRef<any>>>;
6
+ /**
7
+ * Tabla con virtual scroll nativo (sin librerías externas).
8
+ * Solo renderiza las filas visibles + un buffer. Header y footer son sticky.
9
+ *
10
+ * @Input columns - Array de columnas con la misma forma que table-simple
11
+ * @Input rows - Array completo de datos
12
+ * @Input rowHeight - Alto fijo de cada fila en px (default: 30)
13
+ * @Input buffer - Filas extra renderizadas fuera del viewport (default: 10)
14
+ * @Input altoContainer - Alto fijo del contenedor en px (default: 400). Se ignora si se usa altoContenedor.
15
+ * @Input altoContenedor - Offset desde el top del viewport en px. Activa height: clamp(minAlto, calc(100vh - offset), 100vh).
16
+ * @Input minAlto - Altura mínima en px cuando se usa altoContenedor (default: 200)
17
+ * @Input footerRows - Filas del footer (totales, resumen, etc.)
18
+ * @Input identifier - Campos que forman la clave para selectedRow
19
+ * @Input withFiltro - Muestra input de búsqueda local
20
+ * @Input withDetails - Muestra detalles expandibles por fila
21
+ * @Input withCheckbox - Muestra checkbox para selección de filas
22
+ * @Input withTotal - Muestra fila de totales en el footer
23
+ */
24
+ export declare class TableUltimateComponent implements OnDestroy {
25
+ scrollContainer: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
8
26
  customActions: import("@angular/core").Signal<TemplateRef<any>>;
9
- anchor: import("@angular/core").Signal<ElementRef<HTMLTableRowElement>>;
10
- private readonly formateador;
11
- private decimalPipe;
12
- titleTabla: import("@angular/core").InputSignal<string>;
27
+ private formateador;
13
28
  rows: import("@angular/core").InputSignal<any[]>;
14
29
  columns: import("@angular/core").InputSignal<any[]>;
15
- withDetails: import("@angular/core").InputSignal<boolean>;
16
- withFiltro: import("@angular/core").InputSignal<boolean>;
30
+ footerRows: import("@angular/core").InputSignal<any[]>;
31
+ rowHeight: import("@angular/core").InputSignal<number>;
32
+ buffer: import("@angular/core").InputSignal<number>;
17
33
  altoContainer: import("@angular/core").InputSignal<number>;
18
- colorHeader: import("@angular/core").InputSignal<"normal" | "light">;
19
- busqueda: import("@angular/core").WritableSignal<string>;
20
- selectedRow: import("@angular/core").ModelSignal<any>;
34
+ altoContenedor: import("@angular/core").InputSignal<number>;
35
+ minAlto: import("@angular/core").InputSignal<number>;
21
36
  identifier: import("@angular/core").InputSignal<string[]>;
22
- altoContenedor: import("@angular/core").WritableSignal<number>;
23
- withHeight: import("@angular/core").InputSignal<boolean>;
24
- rendered: import("@angular/core").InputSignal<CellRendered[]>;
25
- withTotal: import("@angular/core").InputSignal<boolean>;
37
+ withFiltro: import("@angular/core").InputSignal<boolean>;
38
+ withDetails: import("@angular/core").InputSignal<boolean>;
26
39
  withCheckbox: import("@angular/core").InputSignal<boolean>;
27
- selectItems: import("@angular/core").ModelSignal<SelectedRow<any>[]>;
28
- isDarkMode: import("@angular/core").InputSignal<boolean>;
29
- sortColumn: string | null;
30
- sortDirection: 'asc' | 'desc';
31
- expandedRows: number;
40
+ withTotal: import("@angular/core").InputSignal<boolean>;
41
+ rendered: import("@angular/core").InputSignal<CellRendered[]>;
42
+ titleTabla: import("@angular/core").InputSignal<string>;
32
43
  activeMobileMode: import("@angular/core").InputSignal<boolean>;
33
- dataVirtual: import("@angular/core").WritableSignal<any[]>;
34
- isLoading: import("@angular/core").WritableSignal<boolean>;
35
44
  isLoadingResponsive: import("@angular/core").WritableSignal<boolean>;
36
- private loadedCount;
37
- private observer;
38
- maxItems: import("@angular/core").InputSignal<number>;
39
- batchSize: import("@angular/core").InputSignal<number>;
45
+ isMobile: import("@angular/core").WritableSignal<boolean>;
46
+ rowEvent: import("@angular/core").OutputEmitterRef<any>;
47
+ selectedRow: import("@angular/core").ModelSignal<any>;
40
48
  rowClassFn: import("@angular/core").InputSignal<(row: any) => string | string[] | Record<string, boolean>>;
41
49
  rowDisabledFn: import("@angular/core").InputSignal<(row: any) => boolean>;
42
- rowEvent: import("@angular/core").OutputEmitterRef<any>;
50
+ selectItems: import("@angular/core").ModelSignal<SelectedRow<any>[]>;
43
51
  rowFormat: import("@angular/core").Signal<any[]>;
44
- selectAllOnLoad: import("@angular/core").InputSignal<boolean>;
45
- rowFilter: import("@angular/core").WritableSignal<any[]>;
46
- filtrarColumnas: import("@angular/core").WritableSignal<{
52
+ busqueda: import("@angular/core").WritableSignal<string>;
53
+ scrollTop: import("@angular/core").WritableSignal<number>;
54
+ containerHeight: import("@angular/core").WritableSignal<number>;
55
+ sortField: import("@angular/core").WritableSignal<string>;
56
+ sortDir: import("@angular/core").WritableSignal<"none" | "asc" | "desc">;
57
+ expandedRows: import("@angular/core").WritableSignal<string>;
58
+ /** Valor aplicado como [style.height] en el template */
59
+ heightStyle: import("@angular/core").Signal<string>;
60
+ rowFilter: import("@angular/core").Signal<any[]>;
61
+ totalHeight: import("@angular/core").Signal<number>;
62
+ startIndex: import("@angular/core").Signal<number>;
63
+ endIndex: import("@angular/core").Signal<number>;
64
+ visibleRows: import("@angular/core").Signal<any[]>;
65
+ /** Espacio en blanco antes de las filas renderizadas */
66
+ paddingTop: import("@angular/core").Signal<number>;
67
+ /** Espacio en blanco después de las filas renderizadas */
68
+ paddingBottom: import("@angular/core").Signal<number>;
69
+ private scrollEffect;
70
+ private resizeObserver?;
71
+ private resizeEffect;
72
+ ngOnDestroy(): void;
73
+ onScroll(event: Event): void;
74
+ selectRow(row: any, idList: string): void;
75
+ isSelected(row: any, idList: string): boolean;
76
+ textoDigitado(event: Event): void;
77
+ toggleSort(field: string): void;
78
+ concatenarValue(obj: any, fields: string[]): string;
79
+ getHighlight(text: any, fieldname: string): string;
80
+ private filtraItem;
81
+ private scrollToSelected;
82
+ /** Índice real en rowFilter de una fila visible (para isSelected) */
83
+ realIndex(visibleIdx: number): number;
84
+ /** Mostrar columnas para realizar el filtro */
85
+ filtrarColumnas: import("@angular/core").Signal<{
47
86
  [caption: string]: boolean;
48
87
  }>;
49
88
  toggleFiltros(event: Event): void;
50
- visibilidadColumn: import("@angular/core").WritableSignal<{
89
+ /** MOSTRAR COLUMNAS DE LA TABLA */
90
+ visibilidadColumn: import("@angular/core").Signal<{
51
91
  [key: string]: boolean;
52
92
  }>;
53
- concatenarValue(obj: any, value: string[]): string;
54
- isMobile: import("@angular/core").WritableSignal<boolean>;
55
- private initialized;
56
- constructor();
57
- onResize(event: any): void;
58
- resetSroll(): void;
59
- actionsAnchor(): void;
60
- selectRow(index: any): void;
61
- sortTable(column: string): void;
62
- toggleExpandRow(index: number): void;
63
- textoDigitado(event: Event): void;
64
- getHighlight(text: any, fieldname: string): string;
65
- getSituacionNumberFromColumns(row: any, columns: any[]): number;
66
- private filtraItem;
67
93
  validaVisibilidad(value: boolean): boolean;
68
- isCheckboxDisabled(row: any): boolean;
69
- allCheck(event: Event): void;
70
- checkAll(checked: boolean): void;
71
- validaAllCheck(): boolean;
72
- isItemSelected(id: string): boolean;
73
- toogleItem(idList: string, event: Event): void;
94
+ /** CELL RENDER */
74
95
  resolveCell(col: string, row: any): CellRender | null;
75
- getTotals(fieldname: string): string;
76
- getColspanBeforeTotals(): number;
77
96
  getRowClass(row: any): {
78
97
  [key: string]: boolean;
79
98
  };
80
99
  getPosition(col: TableData): string;
81
- private loadMore;
82
- onClick(row: any): void;
100
+ toggleExpandRow(idRow: string): void;
101
+ getTotals(fieldname: string): string;
102
+ getColspanBeforeTotals(): number;
103
+ allCheck(event: Event): void;
104
+ isCheckboxDisabled(row: any): boolean;
105
+ checkAll(checked: boolean): void;
106
+ validaAllCheck(): boolean;
107
+ isItemSelected(id: string): boolean;
108
+ toogleItem(idList: string, event: Event): void;
83
109
  onDoubleClick(row: any): void;
84
110
  onRightClick(event: MouseEvent, row: any): void;
111
+ onResize(event: any): void;
112
+ private mobileEffect;
85
113
  static ɵfac: i0.ɵɵFactoryDeclaration<TableUltimateComponent, never>;
86
- static ɵcmp: i0.ɵɵComponentDeclaration<TableUltimateComponent, "app-table-ultimate", never, { "titleTabla": { "alias": "titleTabla"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "withDetails": { "alias": "withDetails"; "required": false; "isSignal": true; }; "withFiltro": { "alias": "withFiltro"; "required": false; "isSignal": true; }; "altoContainer": { "alias": "altoContainer"; "required": false; "isSignal": true; }; "colorHeader": { "alias": "colorHeader"; "required": false; "isSignal": true; }; "selectedRow": { "alias": "selectedRow"; "required": false; "isSignal": true; }; "identifier": { "alias": "identifier"; "required": false; "isSignal": true; }; "withHeight": { "alias": "withHeight"; "required": false; "isSignal": true; }; "rendered": { "alias": "rendered"; "required": false; "isSignal": true; }; "withTotal": { "alias": "withTotal"; "required": false; "isSignal": true; }; "withCheckbox": { "alias": "withCheckbox"; "required": false; "isSignal": true; }; "selectItems": { "alias": "selectItems"; "required": false; "isSignal": true; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; "isSignal": true; }; "activeMobileMode": { "alias": "activeMobileMode"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "batchSize": { "alias": "batchSize"; "required": false; "isSignal": true; }; "rowClassFn": { "alias": "rowClassFn"; "required": false; "isSignal": true; }; "rowDisabledFn": { "alias": "rowDisabledFn"; "required": false; "isSignal": true; }; "selectAllOnLoad": { "alias": "selectAllOnLoad"; "required": false; "isSignal": true; }; }, { "selectedRow": "selectedRowChange"; "selectItems": "selectItemsChange"; "rowEvent": "rowEvent"; }, ["customActions"], never, true, never>;
114
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableUltimateComponent, "app-table-ultimate", never, { "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "footerRows": { "alias": "footerRows"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "buffer": { "alias": "buffer"; "required": false; "isSignal": true; }; "altoContainer": { "alias": "altoContainer"; "required": false; "isSignal": true; }; "altoContenedor": { "alias": "altoContenedor"; "required": false; "isSignal": true; }; "minAlto": { "alias": "minAlto"; "required": false; "isSignal": true; }; "identifier": { "alias": "identifier"; "required": false; "isSignal": true; }; "withFiltro": { "alias": "withFiltro"; "required": false; "isSignal": true; }; "withDetails": { "alias": "withDetails"; "required": false; "isSignal": true; }; "withCheckbox": { "alias": "withCheckbox"; "required": false; "isSignal": true; }; "withTotal": { "alias": "withTotal"; "required": false; "isSignal": true; }; "rendered": { "alias": "rendered"; "required": false; "isSignal": true; }; "titleTabla": { "alias": "titleTabla"; "required": false; "isSignal": true; }; "activeMobileMode": { "alias": "activeMobileMode"; "required": false; "isSignal": true; }; "selectedRow": { "alias": "selectedRow"; "required": false; "isSignal": true; }; "rowClassFn": { "alias": "rowClassFn"; "required": false; "isSignal": true; }; "rowDisabledFn": { "alias": "rowDisabledFn"; "required": false; "isSignal": true; }; "selectItems": { "alias": "selectItems"; "required": false; "isSignal": true; }; }, { "rowEvent": "rowEvent"; "selectedRow": "selectedRowChange"; "selectItems": "selectItemsChange"; }, ["customActions"], never, true, never>;
87
115
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ng-components-tsi",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "peerDependencies": {
5
5
  "shared-tsi": "^0.0.13",
6
6
  "core-tsi": "^0.0.13",