@machinemetrics/mm-react-components 0.2.3-25 → 0.2.3-27
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/agent-docs/agent-documentation-reference.md +46 -9
- package/dist/App.d.ts.map +1 -1
- package/dist/components/ui/data-table/TableView.d.ts +2 -1
- package/dist/components/ui/data-table/TableView.d.ts.map +1 -1
- package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts +1 -1
- package/dist/components/ui/data-table/cards/ResponsiveTable.d.ts.map +1 -1
- package/dist/components/ui/data-table/pagination.d.ts +12 -1
- package/dist/components/ui/data-table/pagination.d.ts.map +1 -1
- package/dist/components/ui/data-table/parts/TableBody.d.ts +12 -1
- package/dist/components/ui/data-table/parts/TableBody.d.ts.map +1 -1
- package/dist/components/ui/data-table/types.d.ts +16 -0
- package/dist/components/ui/data-table/types.d.ts.map +1 -1
- package/dist/components/ui/data-table/useDragAndDrop.d.ts +23 -0
- package/dist/components/ui/data-table/useDragAndDrop.d.ts.map +1 -0
- package/dist/components/ui/data-table/useTableController.d.ts +10 -0
- package/dist/components/ui/data-table/useTableController.d.ts.map +1 -1
- package/dist/lib/mm-react-components.css +1 -1
- package/dist/mm-react-components.es.js +906 -565
- package/dist/mm-react-components.es.js.map +1 -1
- package/dist/mm-react-components.umd.js +7 -7
- package/dist/mm-react-components.umd.js.map +1 -1
- package/dist/preview/DataTablePreview.d.ts +1 -1
- package/dist/preview/DataTablePreview.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -91,15 +91,15 @@ This directory contains comprehensive documentation and tools for AI agents work
|
|
|
91
91
|
|
|
92
92
|
### Advanced Components
|
|
93
93
|
|
|
94
|
-
| Component | Exports | Description
|
|
95
|
-
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
96
|
-
| **DataTable** | `DataTable`, `DataTablePagination`, `ResponsiveTable`, `TABLE_TOKENS`, column creators, hooks, toolbar, CSV export (+ types) | Full-featured data table with sorting, filtering, pagination |
|
|
97
|
-
| **HeroMetricCard** | `HeroMetricCard`, `HeroMetricCardItem` (+ types) | Metrics dashboard card with trends
|
|
98
|
-
| **Calendar** | `Calendar` | Date picker calendar
|
|
99
|
-
| **DatePicker** | `DatePicker` | Single date selection with label and placeholder
|
|
100
|
-
| **DateRangePicker** | `DateRangePicker` | Date range selection
|
|
101
|
-
| **Dropzone** | `Dropzone`, `DropzoneContent`, `DropzoneEmptyState` | File upload drag-drop
|
|
102
|
-
| **Chart** | `ChartContainer`, `ChartTooltip`, `ChartTooltipContent`, `ChartLegend`, `ChartLegendContent`, `ChartStyle` (+ `ChartConfig` type) | Recharts integration
|
|
94
|
+
| Component | Exports | Description |
|
|
95
|
+
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
96
|
+
| **DataTable** | `DataTable`, `DataTablePagination`, `ResponsiveTable`, `TABLE_TOKENS`, column creators, hooks, toolbar, CSV export (+ types) | Full-featured data table with sorting, filtering, pagination (client-side & server-side) |
|
|
97
|
+
| **HeroMetricCard** | `HeroMetricCard`, `HeroMetricCardItem` (+ types) | Metrics dashboard card with trends |
|
|
98
|
+
| **Calendar** | `Calendar` | Date picker calendar |
|
|
99
|
+
| **DatePicker** | `DatePicker` | Single date selection with label and placeholder |
|
|
100
|
+
| **DateRangePicker** | `DateRangePicker` | Date range selection |
|
|
101
|
+
| **Dropzone** | `Dropzone`, `DropzoneContent`, `DropzoneEmptyState` | File upload drag-drop |
|
|
102
|
+
| **Chart** | `ChartContainer`, `ChartTooltip`, `ChartTooltipContent`, `ChartLegend`, `ChartLegendContent`, `ChartStyle` (+ `ChartConfig` type) | Recharts integration |
|
|
103
103
|
|
|
104
104
|
### Interactive Elements
|
|
105
105
|
|
|
@@ -121,6 +121,43 @@ This directory contains comprehensive documentation and tools for AI agents work
|
|
|
121
121
|
|
|
122
122
|
All components follow shadcn/ui patterns with Carbide theme integration for industrial/manufacturing contexts.
|
|
123
123
|
|
|
124
|
+
## Component Usage Guides
|
|
125
|
+
|
|
126
|
+
### DataTable: Server-Side Pagination
|
|
127
|
+
|
|
128
|
+
The `DataTable` component supports both client-side and server-side pagination. When implementing server-side pagination, use the following pattern:
|
|
129
|
+
|
|
130
|
+
**Key Props for Server-Side Pagination:**
|
|
131
|
+
|
|
132
|
+
- `manualPagination={true}` - Enables server-side pagination mode
|
|
133
|
+
- `pageCount={number}` - **Required** when `manualPagination` is true. Total number of pages from server
|
|
134
|
+
- `totalRowCount={number}` - **Recommended** for accurate display. Total rows across all pages
|
|
135
|
+
- `onPaginationChange={(pageIndex, pageSize) => void}` - Callback to fetch new page data
|
|
136
|
+
|
|
137
|
+
**Implementation Pattern:**
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
<DataTable
|
|
141
|
+
columns={columns}
|
|
142
|
+
data={currentPageData} // Only current page's data
|
|
143
|
+
manualPagination={true}
|
|
144
|
+
pageCount={totalPages} // From server response
|
|
145
|
+
totalRowCount={totalRows} // From server response (recommended)
|
|
146
|
+
onPaginationChange={(pageIndex, pageSize) => {
|
|
147
|
+
// Fetch new page from server
|
|
148
|
+
fetchPage(pageIndex, pageSize);
|
|
149
|
+
}}
|
|
150
|
+
/>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Important Notes for AI Agents:**
|
|
154
|
+
|
|
155
|
+
1. When `manualPagination` is true, the `data` prop should contain **only the current page's data**, not all data
|
|
156
|
+
2. `pageCount` is required when using server-side pagination
|
|
157
|
+
3. `totalRowCount` is recommended for accurate "Showing X to Y of Z items" display
|
|
158
|
+
4. The component automatically handles edge cases (empty data, partial last page, etc.)
|
|
159
|
+
5. See component README at `src/components/ui/data-table/README.md` for detailed examples
|
|
160
|
+
|
|
124
161
|
## Directory Structure
|
|
125
162
|
|
|
126
163
|
```
|
package/dist/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAsEA,iBAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAsEA,iBAAS,GAAG,4CAuSX;AAED,eAAe,GAAG,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
import type { DataTableProps } from './types';
|
|
2
|
-
export declare function DataTable<TData, TValue>({ columns, data, loading, columnRegistry, initialState, tableId, toolbar, emptyState, forceEmptyState, onRowSelectionChange, onSortingChange, onPaginationChange, onColumnVisibilityChange, onColumnOrderChange, onBatchAction, onRowClick, onExportComplete, customGlobalFilterFn, }: DataTableProps<TData, TValue>):
|
|
3
|
+
export declare function DataTable<TData, TValue>({ columns, data, loading, columnRegistry, initialState, tableId, toolbar, emptyState, forceEmptyState, manualPagination, pageCount, totalRowCount, onRowSelectionChange, onSortingChange, onPaginationChange, onColumnVisibilityChange, onColumnOrderChange, onBatchAction, onRowClick, onExportComplete, customGlobalFilterFn, }: DataTableProps<TData, TValue>): React.ReactNode;
|
|
3
4
|
//# sourceMappingURL=TableView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableView.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/TableView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableView.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/TableView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA0L9C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EACvC,OAAO,EACP,IAAI,EACJ,OAAe,EACf,cAAc,EACd,YAAY,EACZ,OAAO,EACP,OAAO,EACP,UAAU,EACV,eAAe,EACf,gBAAwB,EACxB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GACrB,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,mBAoK/B"}
|
|
@@ -6,5 +6,5 @@ export interface ResponsiveTableProps<TData, TValue> extends DataTableProps<TDat
|
|
|
6
6
|
overscan?: number;
|
|
7
7
|
toolbarOptions?: DataTableToolbarOptions;
|
|
8
8
|
}
|
|
9
|
-
export declare function ResponsiveTable<TData, TValue>({ columns, data, loading, columnRegistry, initialState, breakpoint, enableMobileVirtualization, virtualizeAt, overscan, tableId, toolbarOptions, emptyState, forceEmptyState, onRowSelectionChange, onSortingChange, onPaginationChange, onColumnVisibilityChange, onColumnOrderChange, onBatchAction, onRowClick, onExportComplete, customGlobalFilterFn, }: ResponsiveTableProps<TData, TValue
|
|
9
|
+
export declare function ResponsiveTable<TData, TValue>({ columns, data, loading, columnRegistry, initialState, breakpoint, enableMobileVirtualization, virtualizeAt, overscan, tableId, toolbarOptions, emptyState, forceEmptyState, manualPagination, pageCount, totalRowCount, onRowSelectionChange, onSortingChange, onPaginationChange, onColumnVisibilityChange, onColumnOrderChange, onBatchAction, onRowClick, onExportComplete, customGlobalFilterFn, }: Readonly<ResponsiveTableProps<TData, TValue>>): import("react/jsx-runtime").JSX.Element;
|
|
10
10
|
//# sourceMappingURL=ResponsiveTable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/data-table/cards/ResponsiveTable.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AASxE,MAAM,WAAW,oBAAoB,CAAC,KAAK,EAAE,MAAM,CACjD,SAAQ,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAC7C,OAAO,EACP,IAAI,EACJ,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAiC,EACjC,0BAAiC,EACjC,YAAkB,EAClB,QAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GACrB,EAAE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"ResponsiveTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/data-table/cards/ResponsiveTable.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AASxE,MAAM,WAAW,oBAAoB,CAAC,KAAK,EAAE,MAAM,CACjD,SAAQ,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAC7C,OAAO,EACP,IAAI,EACJ,OAAO,EACP,cAAc,EACd,YAAY,EACZ,UAAiC,EACjC,0BAAiC,EACjC,YAAkB,EAClB,QAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GACrB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,2CA0D/C"}
|
|
@@ -6,6 +6,17 @@ export interface DataTablePaginationProps<TData> {
|
|
|
6
6
|
readonly compact?: boolean;
|
|
7
7
|
readonly onPageChange?: (pageIndex: number) => void;
|
|
8
8
|
readonly onPageSizeChange?: (pageSize: number) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Whether server-side pagination is enabled.
|
|
11
|
+
* When true, pagination calculations use server-provided totals instead of client-side data.
|
|
12
|
+
*/
|
|
13
|
+
readonly manualPagination?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Total number of rows across all pages when using server-side pagination.
|
|
16
|
+
* Used for displaying "Showing X to Y of Z items" in pagination footer.
|
|
17
|
+
* If not provided and manualPagination is true, will be calculated from pageCount * pageSize.
|
|
18
|
+
*/
|
|
19
|
+
readonly totalRowCount?: number;
|
|
9
20
|
}
|
|
10
|
-
export declare function DataTablePagination<TData>({ table, pageSizeOptions, className, compact, onPageChange, onPageSizeChange, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function DataTablePagination<TData>({ table, pageSizeOptions, className, compact, onPageChange, onPageSizeChange, manualPagination, totalRowCount, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
11
22
|
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/pagination.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/pagination.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAUpE,MAAM,WAAW,wBAAwB,CAAC,KAAK;IAC7C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EACzC,KAAK,EACL,eAAoC,EACpC,SAAS,EACT,OAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,gBAAwB,EACxB,aAAa,GACd,EAAE,wBAAwB,CAAC,KAAK,CAAC,2CAkKjC"}
|
|
@@ -6,6 +6,17 @@ export interface TableBodyProps<TData, TValue> {
|
|
|
6
6
|
renderOrder: string[];
|
|
7
7
|
isDragging: boolean;
|
|
8
8
|
activeColumnId: string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Number of skeleton rows to show when loading.
|
|
11
|
+
* Defaults to 5 if not provided.
|
|
12
|
+
*/
|
|
13
|
+
skeletonRowCount?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Callback fired when a row is clicked.
|
|
16
|
+
* @param row - The row data
|
|
17
|
+
* @param rowIndex - The index of the row
|
|
18
|
+
*/
|
|
19
|
+
onRowClick?: (row: TData, rowIndex: number) => void;
|
|
9
20
|
}
|
|
10
|
-
export declare function TableBody<TData, TValue>({ loading, resolvedColumns, rows, renderOrder, isDragging, activeColumnId, }: TableBodyProps<TData, TValue
|
|
21
|
+
export declare function TableBody<TData, TValue>({ loading, resolvedColumns, rows, renderOrder, isDragging, activeColumnId, skeletonRowCount, onRowClick, }: Readonly<TableBodyProps<TData, TValue>>): import("react/jsx-runtime").JSX.Element;
|
|
11
22
|
//# sourceMappingURL=TableBody.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/data-table/parts/TableBody.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/data-table/parts/TableBody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,GAAG,EAET,MAAM,uBAAuB,CAAC;AAuH/B,MAAM,WAAW,cAAc,CAAC,KAAK,EAAE,MAAM;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EACvC,OAAO,EACP,eAAe,EACf,IAAI,EACJ,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAoB,EACpB,UAAU,GACX,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,2CAkDzC"}
|
|
@@ -49,6 +49,22 @@ export interface DataTableProps<TData, TValue> {
|
|
|
49
49
|
* This allows distinguishing between "no documents exist" vs. "filters yielded no rows".
|
|
50
50
|
*/
|
|
51
51
|
readonly forceEmptyState?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Enable server-side pagination. When true, the table expects the server to handle pagination.
|
|
54
|
+
* The `data` prop should contain only the current page's data, and `pageCount` must be provided.
|
|
55
|
+
*/
|
|
56
|
+
readonly manualPagination?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Total number of pages when using server-side pagination.
|
|
59
|
+
* Required when `manualPagination` is true.
|
|
60
|
+
*/
|
|
61
|
+
readonly pageCount?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Total number of rows across all pages when using server-side pagination.
|
|
64
|
+
* Used for displaying "Showing X to Y of Z items" in pagination footer.
|
|
65
|
+
* If not provided, will be calculated from `pageCount * pageSize`.
|
|
66
|
+
*/
|
|
67
|
+
readonly totalRowCount?: number;
|
|
52
68
|
/**
|
|
53
69
|
* Event handlers for user interactions
|
|
54
70
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACJ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,aAAa,CAAC,EACV,KAAK,CAAC,SAAS,GACf,CAAC,CAAC,GAAG,EAAE,uBAAuB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,EAAE,MAAM;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAC9B,YAAY,EAAE,KAAK,EAAE,EACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpC,IAAI,CAAC;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAC9B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,KACjB,OAAO,CAAC;CACd"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type DragEndEvent, type DragOverEvent, type DragStartEvent } from '@dnd-kit/core';
|
|
3
|
+
import type { Table } from '@tanstack/react-table';
|
|
4
|
+
interface UseDragAndDropOptions<TData> {
|
|
5
|
+
table: Table<TData>;
|
|
6
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
7
|
+
}
|
|
8
|
+
interface UseDragAndDropResult {
|
|
9
|
+
isDragging: boolean;
|
|
10
|
+
activeColumnId: string | null;
|
|
11
|
+
renderOrder: string[];
|
|
12
|
+
sortableHeaderIds: string[];
|
|
13
|
+
clampRef: React.MutableRefObject<{
|
|
14
|
+
minX: number;
|
|
15
|
+
maxX: number;
|
|
16
|
+
}>;
|
|
17
|
+
handleDragStart: (event: DragStartEvent) => void;
|
|
18
|
+
handleDragOver: (event: DragOverEvent) => void;
|
|
19
|
+
handleDragEnd: (event: DragEndEvent) => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function useDragAndDrop<TData>({ table, containerRef, }: UseDragAndDropOptions<TData>): UseDragAndDropResult;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=useDragAndDrop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDragAndDrop.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/useDragAndDrop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAoCnD,UAAU,qBAAqB,CAAC,KAAK;IACnC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACtD;AAED,UAAU,oBAAoB;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,eAAe,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,EACpC,KAAK,EACL,YAAY,GACb,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAsFrD"}
|
|
@@ -10,6 +10,16 @@ interface TableControllerOptions<TData, TValue> {
|
|
|
10
10
|
tableId?: string;
|
|
11
11
|
disableGlobalFilter?: boolean;
|
|
12
12
|
customGlobalFilterFn?: (row: Row<TData>, columnId: string, filterValue: unknown) => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Enable server-side pagination. When true, the table expects the server to handle pagination.
|
|
15
|
+
* The `data` prop should contain only the current page's data, and `pageCount` must be provided.
|
|
16
|
+
*/
|
|
17
|
+
manualPagination?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Total number of pages when using server-side pagination.
|
|
20
|
+
* Required when `manualPagination` is true.
|
|
21
|
+
*/
|
|
22
|
+
pageCount?: number;
|
|
13
23
|
onRowSelectionChange?: (selectedRows: TData[], selectedRowIds: Record<string, boolean>) => void;
|
|
14
24
|
onSortingChange?: (sorting: SortingState) => void;
|
|
15
25
|
onPaginationChange?: (pageIndex: number, pageSize: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableController.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/useTableController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAOL,aAAa,EACb,KAAK,SAAS,EAEd,KAAK,YAAY,EAEjB,KAAK,eAAe,EAEpB,KAAK,GAAG,EACT,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useTableController.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/data-table/useTableController.ts"],"names":[],"mappings":"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"}
|