@sfperusacdev/sf-ui 0.2.2 → 0.2.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.
@@ -11,6 +11,14 @@ import { CustomTableController } from './customTableController';
11
11
  * Todos se apoyan en tokens `--sf-*` para reaccionar al tema activo.
12
12
  */
13
13
  export type TableHeaderVariant = "default" | "brand" | "soft" | "neon" | "premium" | "matrix";
14
+ /** Estado de una paginación que resuelve el backend (limit/offset). `page` es 1-based. */
15
+ export type CustomTableServerPagination = {
16
+ totalItems: number;
17
+ page: number;
18
+ pageSize: number;
19
+ onPageChange: (page: number) => void;
20
+ onPageSizeChange: (pageSize: number) => void;
21
+ };
14
22
  type BuiltInAggregation = "sum" | "min" | "max" | "mean" | "median" | "unique" | "uniqueCount" | "count";
15
23
  type TableAggregation = BuiltInAggregation | AggregationFn<unknown>;
16
24
  type CustomColumn<TData> = {
@@ -67,6 +75,13 @@ type CustomTableProps<TData extends Record<string, unknown>, TDetail extends Rec
67
75
  paginationVariant?: PaginationVariant | "legacy";
68
76
  /** Opciones del selector "Mostrar N registros por página". Default: 10/25/50/100/200. */
69
77
  pageSizeOptions?: number[];
78
+ /**
79
+ * Paginación en servidor: `data` ya es UNA página que trajo el backend. El
80
+ * CustomTable no la recorta y dibuja el mismo paginador dentro de la tarjeta
81
+ * con estos valores. Excluye a `enablePagination` (paginación en cliente).
82
+ * Las pantallas arrancan con `pageSize` 25 (regla del producto).
83
+ */
84
+ serverPagination?: CustomTableServerPagination;
70
85
  fillParentHeight?: boolean;
71
86
  maxBodyHeightPx?: number;
72
87
  className?: string;
@@ -122,5 +137,5 @@ type CustomTableProps<TData extends Record<string, unknown>, TDetail extends Rec
122
137
  detail?: CustomTableDetail<TData, TDetail>;
123
138
  controller?: CustomTableController<TData>;
124
139
  };
125
- export declare function CustomTable<TData extends Record<string, unknown>, TDetail extends Record<string, unknown> = Record<string, unknown>>({ id, stateStore, data, columns, grouping, defaultGrouping, enableGrouping, enableSorting, enableFiltering, enablePagination, pageSize, paginationVariant, pageSizeOptions, fillParentHeight, maxBodyHeightPx, className, emptyMessage, title, subtitle, sidePanel, onGroupingChange, toolbarSlot, belowToolbarSlot, loading, loadingMessage, isFetching, error, onRetry, onRefresh, onRowClick, enableRowSelection, getRowActions, getBulkActions, bulkActionsSlot, onSelectionChange, headerVariant, searchPlaceholder, embedded, detail, controller, }: CustomTableProps<TData, TDetail>): import("react").JSX.Element;
140
+ export declare function CustomTable<TData extends Record<string, unknown>, TDetail extends Record<string, unknown> = Record<string, unknown>>({ id, stateStore, data, columns, grouping, defaultGrouping, enableGrouping, enableSorting, enableFiltering, enablePagination, pageSize, paginationVariant, pageSizeOptions, serverPagination, fillParentHeight, maxBodyHeightPx, className, emptyMessage, title, subtitle, sidePanel, onGroupingChange, toolbarSlot, belowToolbarSlot, loading, loadingMessage, isFetching, error, onRetry, onRefresh, onRowClick, enableRowSelection, getRowActions, getBulkActions, bulkActionsSlot, onSelectionChange, headerVariant, searchPlaceholder, embedded, detail, controller, }: CustomTableProps<TData, TDetail>): import("react").JSX.Element;
126
141
  export type { CustomColumn, CustomTableDetail, CustomTableProps, TableAggregation };
@@ -1,5 +1,5 @@
1
1
  export { CustomTable } from './CustomTable';
2
- export type { CustomColumn, CustomTableDetail, CustomTableProps, TableHeaderVariant } from './CustomTable';
2
+ export type { CustomColumn, CustomTableDetail, CustomTableProps, CustomTableServerPagination, TableHeaderVariant, } from './CustomTable';
3
3
  export { AsyncCustomTable } from './AsyncCustomTable';
4
4
  export type { AsyncCustomTableProps } from './AsyncCustomTable';
5
5
  export { PaginationRangeInput } from './PaginationRangeInput';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sfperusacdev/sf-ui",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "SF UI — librería de componentes React (inputs, tablas, hooks) para aplicaciones SF Perú.",
5
5
  "type": "module",
6
6
  "main": "./dist/sf-ui.umd.cjs",