@invana/tables 0.0.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.
- package/dist/index.cjs +562 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +83 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.js +537 -0
- package/dist/index.js.map +1 -0
- package/package.json +71 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React$1 from 'react';
|
|
3
|
+
import { RowData, ColumnDef, PaginationState, OnChangeFn, SortingState, Table, CellContext } from '@tanstack/react-table';
|
|
4
|
+
export { ColumnDef, ColumnFiltersState, ColumnOrderState, ColumnPinningState, PaginationState, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
5
|
+
|
|
6
|
+
type EditType = 'text' | 'number' | 'select';
|
|
7
|
+
type EditOption = {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
};
|
|
11
|
+
declare module '@tanstack/react-table' {
|
|
12
|
+
interface ColumnMeta<TData extends RowData, TValue> {
|
|
13
|
+
editable?: boolean;
|
|
14
|
+
editType?: EditType;
|
|
15
|
+
options?: EditOption[];
|
|
16
|
+
align?: 'left' | 'center' | 'right';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
type CellEditHandler<TData> = (args: {
|
|
20
|
+
rowIndex: number;
|
|
21
|
+
columnId: string;
|
|
22
|
+
value: unknown;
|
|
23
|
+
row: TData;
|
|
24
|
+
}) => void;
|
|
25
|
+
|
|
26
|
+
interface DataTableProps<TData extends RowData> {
|
|
27
|
+
columns: ColumnDef<TData, any>[];
|
|
28
|
+
data: TData[];
|
|
29
|
+
pageSize?: number;
|
|
30
|
+
pageSizeOptions?: number[];
|
|
31
|
+
enableSorting?: boolean;
|
|
32
|
+
enablePagination?: boolean;
|
|
33
|
+
enableColumnVisibility?: boolean;
|
|
34
|
+
enableColumnReordering?: boolean;
|
|
35
|
+
enableColumnResizing?: boolean;
|
|
36
|
+
enableColumnPinning?: boolean;
|
|
37
|
+
onCellEdit?: CellEditHandler<TData>;
|
|
38
|
+
toolbar?: React$1.ReactNode;
|
|
39
|
+
className?: string;
|
|
40
|
+
emptyState?: React$1.ReactNode;
|
|
41
|
+
/** Server-side mode: skip client pagination — `data` is already the current page. Requires `pageCount` (or `rowCount`). */
|
|
42
|
+
manualPagination?: boolean;
|
|
43
|
+
/** Server-side mode: skip client sorting — caller refetches when `sorting` changes. */
|
|
44
|
+
manualSorting?: boolean;
|
|
45
|
+
/** Total pages on server (for manualPagination). */
|
|
46
|
+
pageCount?: number;
|
|
47
|
+
/** Total rows on server (drives "Showing X–Y of Z" in manual mode). */
|
|
48
|
+
rowCount?: number;
|
|
49
|
+
/** Controlled pagination state. */
|
|
50
|
+
pagination?: PaginationState;
|
|
51
|
+
onPaginationChange?: OnChangeFn<PaginationState>;
|
|
52
|
+
/** Controlled sorting state. */
|
|
53
|
+
sorting?: SortingState;
|
|
54
|
+
onSortingChange?: OnChangeFn<SortingState>;
|
|
55
|
+
/** Show a loading overlay over the table body. */
|
|
56
|
+
loading?: boolean;
|
|
57
|
+
}
|
|
58
|
+
declare function DataTable<TData extends RowData>({ columns, data, pageSize, pageSizeOptions, enableSorting, enablePagination, enableColumnVisibility, enableColumnReordering, enableColumnResizing, enableColumnPinning, onCellEdit, toolbar, className, emptyState, manualPagination, manualSorting, pageCount, rowCount, pagination: paginationProp, onPaginationChange, sorting: sortingProp, onSortingChange, loading, }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
|
|
59
|
+
|
|
60
|
+
interface DataTablePaginationProps<TData> {
|
|
61
|
+
table: Table<TData>;
|
|
62
|
+
pageSizeOptions?: number[];
|
|
63
|
+
}
|
|
64
|
+
declare function DataTablePagination<TData>({ table, pageSizeOptions, }: DataTablePaginationProps<TData>): react_jsx_runtime.JSX.Element;
|
|
65
|
+
|
|
66
|
+
interface DataTableToolbarProps<TData> {
|
|
67
|
+
table: Table<TData>;
|
|
68
|
+
enableColumnVisibility?: boolean;
|
|
69
|
+
enableColumnPinning?: boolean;
|
|
70
|
+
children?: React.ReactNode;
|
|
71
|
+
}
|
|
72
|
+
declare function DataTableToolbar<TData>({ table, enableColumnVisibility, enableColumnPinning, children, }: DataTableToolbarProps<TData>): react_jsx_runtime.JSX.Element;
|
|
73
|
+
|
|
74
|
+
interface EditableCellProps<TData> {
|
|
75
|
+
ctx: CellContext<TData, unknown>;
|
|
76
|
+
editType?: EditType;
|
|
77
|
+
options?: EditOption[];
|
|
78
|
+
align?: 'left' | 'center' | 'right';
|
|
79
|
+
onCellEdit?: CellEditHandler<TData>;
|
|
80
|
+
}
|
|
81
|
+
declare function EditableCell<TData>({ ctx, editType, options, align, onCellEdit, }: EditableCellProps<TData>): react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
export { type CellEditHandler, DataTable, DataTablePagination, type DataTableProps, DataTableToolbar, type EditOption, type EditType, EditableCell };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React$1 from 'react';
|
|
3
|
+
import { RowData, ColumnDef, PaginationState, OnChangeFn, SortingState, Table, CellContext } from '@tanstack/react-table';
|
|
4
|
+
export { ColumnDef, ColumnFiltersState, ColumnOrderState, ColumnPinningState, PaginationState, SortingState, VisibilityState } from '@tanstack/react-table';
|
|
5
|
+
|
|
6
|
+
type EditType = 'text' | 'number' | 'select';
|
|
7
|
+
type EditOption = {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
};
|
|
11
|
+
declare module '@tanstack/react-table' {
|
|
12
|
+
interface ColumnMeta<TData extends RowData, TValue> {
|
|
13
|
+
editable?: boolean;
|
|
14
|
+
editType?: EditType;
|
|
15
|
+
options?: EditOption[];
|
|
16
|
+
align?: 'left' | 'center' | 'right';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
type CellEditHandler<TData> = (args: {
|
|
20
|
+
rowIndex: number;
|
|
21
|
+
columnId: string;
|
|
22
|
+
value: unknown;
|
|
23
|
+
row: TData;
|
|
24
|
+
}) => void;
|
|
25
|
+
|
|
26
|
+
interface DataTableProps<TData extends RowData> {
|
|
27
|
+
columns: ColumnDef<TData, any>[];
|
|
28
|
+
data: TData[];
|
|
29
|
+
pageSize?: number;
|
|
30
|
+
pageSizeOptions?: number[];
|
|
31
|
+
enableSorting?: boolean;
|
|
32
|
+
enablePagination?: boolean;
|
|
33
|
+
enableColumnVisibility?: boolean;
|
|
34
|
+
enableColumnReordering?: boolean;
|
|
35
|
+
enableColumnResizing?: boolean;
|
|
36
|
+
enableColumnPinning?: boolean;
|
|
37
|
+
onCellEdit?: CellEditHandler<TData>;
|
|
38
|
+
toolbar?: React$1.ReactNode;
|
|
39
|
+
className?: string;
|
|
40
|
+
emptyState?: React$1.ReactNode;
|
|
41
|
+
/** Server-side mode: skip client pagination — `data` is already the current page. Requires `pageCount` (or `rowCount`). */
|
|
42
|
+
manualPagination?: boolean;
|
|
43
|
+
/** Server-side mode: skip client sorting — caller refetches when `sorting` changes. */
|
|
44
|
+
manualSorting?: boolean;
|
|
45
|
+
/** Total pages on server (for manualPagination). */
|
|
46
|
+
pageCount?: number;
|
|
47
|
+
/** Total rows on server (drives "Showing X–Y of Z" in manual mode). */
|
|
48
|
+
rowCount?: number;
|
|
49
|
+
/** Controlled pagination state. */
|
|
50
|
+
pagination?: PaginationState;
|
|
51
|
+
onPaginationChange?: OnChangeFn<PaginationState>;
|
|
52
|
+
/** Controlled sorting state. */
|
|
53
|
+
sorting?: SortingState;
|
|
54
|
+
onSortingChange?: OnChangeFn<SortingState>;
|
|
55
|
+
/** Show a loading overlay over the table body. */
|
|
56
|
+
loading?: boolean;
|
|
57
|
+
}
|
|
58
|
+
declare function DataTable<TData extends RowData>({ columns, data, pageSize, pageSizeOptions, enableSorting, enablePagination, enableColumnVisibility, enableColumnReordering, enableColumnResizing, enableColumnPinning, onCellEdit, toolbar, className, emptyState, manualPagination, manualSorting, pageCount, rowCount, pagination: paginationProp, onPaginationChange, sorting: sortingProp, onSortingChange, loading, }: DataTableProps<TData>): react_jsx_runtime.JSX.Element;
|
|
59
|
+
|
|
60
|
+
interface DataTablePaginationProps<TData> {
|
|
61
|
+
table: Table<TData>;
|
|
62
|
+
pageSizeOptions?: number[];
|
|
63
|
+
}
|
|
64
|
+
declare function DataTablePagination<TData>({ table, pageSizeOptions, }: DataTablePaginationProps<TData>): react_jsx_runtime.JSX.Element;
|
|
65
|
+
|
|
66
|
+
interface DataTableToolbarProps<TData> {
|
|
67
|
+
table: Table<TData>;
|
|
68
|
+
enableColumnVisibility?: boolean;
|
|
69
|
+
enableColumnPinning?: boolean;
|
|
70
|
+
children?: React.ReactNode;
|
|
71
|
+
}
|
|
72
|
+
declare function DataTableToolbar<TData>({ table, enableColumnVisibility, enableColumnPinning, children, }: DataTableToolbarProps<TData>): react_jsx_runtime.JSX.Element;
|
|
73
|
+
|
|
74
|
+
interface EditableCellProps<TData> {
|
|
75
|
+
ctx: CellContext<TData, unknown>;
|
|
76
|
+
editType?: EditType;
|
|
77
|
+
options?: EditOption[];
|
|
78
|
+
align?: 'left' | 'center' | 'right';
|
|
79
|
+
onCellEdit?: CellEditHandler<TData>;
|
|
80
|
+
}
|
|
81
|
+
declare function EditableCell<TData>({ ctx, editType, options, align, onCellEdit, }: EditableCellProps<TData>): react_jsx_runtime.JSX.Element;
|
|
82
|
+
|
|
83
|
+
export { type CellEditHandler, DataTable, DataTablePagination, type DataTableProps, DataTableToolbar, type EditOption, type EditType, EditableCell };
|