@ornery/ui-grid-react 0.1.4 → 0.1.6
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/UiGrid.d.ts +11 -0
- package/dist/UiGrid.d.ts.map +1 -0
- package/dist/gridStateMath.d.ts +8 -0
- package/dist/gridStateMath.d.ts.map +1 -0
- package/dist/index.d.ts +13 -133
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1248 -1202
- package/dist/index.mjs +1198 -1131
- package/dist/mountUiGrid.d.ts +4 -0
- package/dist/mountUiGrid.d.ts.map +1 -0
- package/dist/rustWasmGridEngine.d.ts +8 -0
- package/dist/rustWasmGridEngine.d.ts.map +1 -0
- package/dist/{index.d.mts → useGridState.d.ts} +14 -37
- package/dist/useGridState.d.ts.map +1 -0
- package/dist/useVirtualScroll.d.ts +20 -0
- package/dist/useVirtualScroll.d.ts.map +1 -0
- package/dist/virtualScrollMath.d.ts +17 -0
- package/dist/virtualScrollMath.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/UiGrid.test.tsx +2 -1
- package/src/UiGrid.tsx +330 -74
- package/src/gridStateMath.test.ts +49 -0
- package/src/gridStateMath.ts +32 -0
- package/src/index.ts +3 -0
- package/src/mountUiGrid.tsx +10 -0
- package/src/rustWasmGridEngine.test.ts +56 -0
- package/src/rustWasmGridEngine.ts +23 -0
- package/src/ui-grid.css +161 -1
- package/src/useGridState.ts +664 -343
- package/src/useVirtualScroll.ts +13 -10
- package/src/virtualScrollMath.test.ts +44 -0
- package/src/virtualScrollMath.ts +36 -0
- package/tsconfig.build.json +6 -0
- package/tsconfig.dts.json +15 -0
- package/CLAUDE.md +0 -283
package/dist/UiGrid.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { GridOptions, GridCellTemplateContext, GridExpandableTemplateContext, UiGridApi } from '@ornery/ui-grid';
|
|
3
|
+
export interface UiGridProps {
|
|
4
|
+
options: GridOptions;
|
|
5
|
+
onRegisterApi?: (api: UiGridApi) => void;
|
|
6
|
+
cellRenderer?: (context: GridCellTemplateContext) => React.ReactNode;
|
|
7
|
+
expandableRenderer?: (context: GridExpandableTemplateContext) => React.ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function UiGrid({ options, onRegisterApi, cellRenderer, expandableRenderer, className, }: UiGridProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=UiGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiGrid.d.ts","sourceRoot":"","sources":["../src/UiGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,6BAA6B,EAC7B,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,KAAK,CAAC,SAAS,CAAC;IACrE,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,6BAA6B,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,SAAS,GACV,EAAE,WAAW,2CA4pBb"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GridColumnDef } from '@ornery/ui-grid';
|
|
2
|
+
export declare function orderVisibleColumns(columns: readonly GridColumnDef[], order: readonly string[]): GridColumnDef[];
|
|
3
|
+
export declare function buildGridTemplateColumns(columns: readonly GridColumnDef[]): string;
|
|
4
|
+
export declare function resolveBenchmarkIterations(iterations?: number, configuredIterations?: number): number;
|
|
5
|
+
export declare function formatPaginationSummary(totalItems: number, firstRowIndex: number, lastRowIndex: number): string;
|
|
6
|
+
export declare function computeViewportHeightPx(viewportHeight?: number, autoViewportHeight?: number | null): string;
|
|
7
|
+
export declare function computeViewportRows(viewportHeight?: number, rowHeight?: number): number;
|
|
8
|
+
//# sourceMappingURL=gridStateMath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gridStateMath.d.ts","sourceRoot":"","sources":["../src/gridStateMath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,EAAE,CAIhH;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAElF;AAED,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAErG;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAM/G;AAED,wBAAgB,uBAAuB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE3G;AAED,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,133 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
interface UseGridStateResult {
|
|
16
|
-
pipeline: PipelineResult;
|
|
17
|
-
visibleColumns: GridColumnDef[];
|
|
18
|
-
labels: GridLabels;
|
|
19
|
-
gridTemplateColumns: string;
|
|
20
|
-
gridApi: UiGridApi;
|
|
21
|
-
gridContainerRef: React.RefObject<HTMLDivElement | null>;
|
|
22
|
-
activeFilters: Record<string, string>;
|
|
23
|
-
groupByColumns: string[];
|
|
24
|
-
collapsedGroups: Record<string, boolean>;
|
|
25
|
-
sortState: SortState;
|
|
26
|
-
focusedCell: GridCellPosition | null;
|
|
27
|
-
editingCell: GridCellPosition | null;
|
|
28
|
-
editingValue: string;
|
|
29
|
-
expandedRows: Record<string, boolean>;
|
|
30
|
-
expandedTreeRows: Record<string, boolean>;
|
|
31
|
-
currentPage: number;
|
|
32
|
-
pageSize: number;
|
|
33
|
-
benchmarkResult: GridBenchmarkResult | null;
|
|
34
|
-
infiniteScrollState: GridInfiniteScrollState;
|
|
35
|
-
totalRows: number;
|
|
36
|
-
visibleRowCount: number;
|
|
37
|
-
displayItems: DisplayItem[];
|
|
38
|
-
virtualizationEnabled: boolean;
|
|
39
|
-
pipelineMs: number;
|
|
40
|
-
paginationCurrentPage: number;
|
|
41
|
-
paginationTotalPages: number;
|
|
42
|
-
paginationSelectedPageSize: number;
|
|
43
|
-
rowSize: number;
|
|
44
|
-
viewportHeightPx: string;
|
|
45
|
-
headerLabel: (column: GridColumnDef) => string;
|
|
46
|
-
isGroupItem: (item: DisplayItem) => item is GroupItem;
|
|
47
|
-
isExpandableItem: (item: DisplayItem) => item is ExpandableItem;
|
|
48
|
-
isRowItem: (item: DisplayItem) => item is RowItem;
|
|
49
|
-
isOddStripedRow: (item: DisplayItem) => boolean;
|
|
50
|
-
sortButtonLabel: (column: GridColumnDef) => string;
|
|
51
|
-
sortAriaSort: (column: GridColumnDef) => string;
|
|
52
|
-
sortDirection: (column: GridColumnDef) => string;
|
|
53
|
-
groupingButtonLabel: (column: GridColumnDef) => string;
|
|
54
|
-
filterValue: (columnName: string) => string;
|
|
55
|
-
filterPlaceholder: (column: GridColumnDef) => string;
|
|
56
|
-
isFilterInputDisabled: (column: GridColumnDef) => boolean;
|
|
57
|
-
groupDisclosureLabel: (item: GroupItem) => string;
|
|
58
|
-
displayValue: (row: GridRow, column: GridColumnDef) => string;
|
|
59
|
-
isFocusedCell: (row: GridRow, column: GridColumnDef) => boolean;
|
|
60
|
-
isEditingCell: (row: GridRow, column: GridColumnDef) => boolean;
|
|
61
|
-
editorInputType: (column: GridColumnDef) => string;
|
|
62
|
-
cellContext: (row: GridRow, column: GridColumnDef) => GridCellTemplateContext;
|
|
63
|
-
expandedContext: (row: GridRow) => GridExpandableTemplateContext & Record<string, unknown>;
|
|
64
|
-
columnWidth: (column: GridColumnDef) => string;
|
|
65
|
-
isColumnSortable: (column: GridColumnDef) => boolean;
|
|
66
|
-
isColumnFilterable: (column: GridColumnDef) => boolean;
|
|
67
|
-
cellIndent: (row: GridRow, column: GridColumnDef) => string;
|
|
68
|
-
treeToggleLabel: (row: GridRow) => string;
|
|
69
|
-
isTreeRowExpanded: (row: GridRow) => boolean;
|
|
70
|
-
expandToggleLabel: (row: GridRow) => string;
|
|
71
|
-
isGrouped: (column: GridColumnDef) => boolean;
|
|
72
|
-
showTreeToggle: (row: GridRow, column: GridColumnDef) => boolean;
|
|
73
|
-
showExpandToggle: (row: GridRow, column: GridColumnDef) => boolean;
|
|
74
|
-
showPaginationControls: () => boolean;
|
|
75
|
-
paginationSummary: () => string;
|
|
76
|
-
pageSizeOptions: () => number[];
|
|
77
|
-
isCellEditable: (row: GridRow, column: GridColumnDef, triggerEvent?: Event | KeyboardEvent | null) => boolean;
|
|
78
|
-
shouldEditOnFocus: (column: GridColumnDef) => boolean;
|
|
79
|
-
sortingFeature: boolean;
|
|
80
|
-
filteringFeature: boolean;
|
|
81
|
-
groupingFeature: boolean;
|
|
82
|
-
paginationFeature: boolean;
|
|
83
|
-
cellEditFeature: boolean;
|
|
84
|
-
expandableFeature: boolean;
|
|
85
|
-
treeViewFeature: boolean;
|
|
86
|
-
infiniteScrollFeature: boolean;
|
|
87
|
-
columnMovingFeature: boolean;
|
|
88
|
-
csvExportFeature: boolean;
|
|
89
|
-
isGroupingEnabled: () => boolean;
|
|
90
|
-
isFilteringEnabled: () => boolean;
|
|
91
|
-
toggleSort: (column: GridColumnDef) => void;
|
|
92
|
-
updateFilter: (columnName: string, value: string) => void;
|
|
93
|
-
clearAllFilters: () => void;
|
|
94
|
-
toggleGrouping: (column: GridColumnDef, event?: React.MouseEvent) => void;
|
|
95
|
-
toggleGroup: (item: GroupItem) => void;
|
|
96
|
-
focusCell: (row: GridRow, column: GridColumnDef, triggerEvent?: Event | KeyboardEvent | null) => void;
|
|
97
|
-
handleCellKeyDown: (row: GridRow, column: GridColumnDef, event: React.KeyboardEvent) => void;
|
|
98
|
-
handleCellDoubleClick: (row: GridRow, column: GridColumnDef, event: React.MouseEvent) => void;
|
|
99
|
-
updateEditingValue: (value: string) => void;
|
|
100
|
-
handleEditorKeyDown: (event: React.KeyboardEvent) => void;
|
|
101
|
-
handleEditorBlur: (event: React.FocusEvent) => void;
|
|
102
|
-
toggleRowExpansion: (row: GridRow, event?: React.MouseEvent) => void;
|
|
103
|
-
toggleTreeRow: (row: GridRow, event?: React.MouseEvent) => void;
|
|
104
|
-
moveColumn: (fromIndex: number, toIndex: number) => void;
|
|
105
|
-
nextPage: () => void;
|
|
106
|
-
previousPage: () => void;
|
|
107
|
-
onPageSizeChange: (value: string) => void;
|
|
108
|
-
runBenchmark: (iterations?: number) => GridBenchmarkResult;
|
|
109
|
-
exportCsv: () => void;
|
|
110
|
-
onViewportScroll: (startIndex: number) => void;
|
|
111
|
-
}
|
|
112
|
-
declare function useGridState(options: GridOptions, onRegisterApi?: (api: UiGridApi) => void): UseGridStateResult;
|
|
113
|
-
|
|
114
|
-
interface UseVirtualScrollOptions {
|
|
115
|
-
itemCount: number;
|
|
116
|
-
itemSize: number;
|
|
117
|
-
viewportHeight: number;
|
|
118
|
-
overscan?: number;
|
|
119
|
-
}
|
|
120
|
-
interface UseVirtualScrollResult {
|
|
121
|
-
visibleRange: {
|
|
122
|
-
start: number;
|
|
123
|
-
end: number;
|
|
124
|
-
};
|
|
125
|
-
totalHeight: number;
|
|
126
|
-
offsetY: number;
|
|
127
|
-
onScroll: (event: React.UIEvent<HTMLDivElement>) => void;
|
|
128
|
-
viewportRef: React.RefObject<HTMLDivElement | null>;
|
|
129
|
-
scrollTop: number;
|
|
130
|
-
}
|
|
131
|
-
declare function useVirtualScroll(options: UseVirtualScrollOptions): UseVirtualScrollResult;
|
|
132
|
-
|
|
133
|
-
export { UiGrid, type UiGridProps, type UseGridStateResult, type UseVirtualScrollOptions, type UseVirtualScrollResult, useGridState, useVirtualScroll };
|
|
1
|
+
export { UiGrid } from './UiGrid';
|
|
2
|
+
export type { UiGridProps } from './UiGrid';
|
|
3
|
+
export { mountUiGrid } from './mountUiGrid';
|
|
4
|
+
export { useGridState } from './useGridState';
|
|
5
|
+
export type { UseGridStateResult } from './useGridState';
|
|
6
|
+
export { useVirtualScroll } from './useVirtualScroll';
|
|
7
|
+
export type { UseVirtualScrollOptions, UseVirtualScrollResult } from './useVirtualScroll';
|
|
8
|
+
export { orderVisibleColumns, buildGridTemplateColumns, resolveBenchmarkIterations, formatPaginationSummary, computeViewportHeightPx, computeViewportRows } from './gridStateMath';
|
|
9
|
+
export { enableReactUiGridWasmEngine, registerReactUiGridWasmEngineFromModule } from './rustWasmGridEngine';
|
|
10
|
+
export type { GridOptions, GridColumnDef, GridRow, GridRecord, GridLabels, GridCellTemplateContext, GridExpandableTemplateContext, GridCellEditableContext, GridBenchmarkResult, GridSavedState, SortState, } from '@ornery/ui-grid';
|
|
11
|
+
export type { UiGridApi } from '@ornery/ui-grid';
|
|
12
|
+
export { DEFAULT_GRID_LABELS } from '@ornery/ui-grid';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACnL,OAAO,EAAE,2BAA2B,EAAE,uCAAuC,EAAE,MAAM,sBAAsB,CAAC;AAE5G,YAAY,EACV,WAAW,EACX,aAAa,EACb,OAAO,EACP,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,SAAS,GACV,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|