@ornery/ui-grid-react 0.1.5 → 0.1.7-hotfix
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/demo/main.tsx +1 -1
- package/demo/vite.config.ts +1 -1
- 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 +14 -155
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +699 -1063
- package/dist/index.mjs +594 -930
- 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} +6 -50
- 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/vanillaAdapter.d.ts +14 -0
- package/dist/vanillaAdapter.d.ts.map +1 -0
- package/dist/virtualScrollMath.d.ts +17 -0
- package/dist/virtualScrollMath.d.ts.map +1 -0
- package/package.json +11 -11
- package/src/UiGrid.test.tsx +63 -25
- package/src/UiGrid.tsx +438 -187
- package/src/gridStateMath.test.ts +10 -8
- package/src/gridStateMath.ts +20 -7
- package/src/index.ts +21 -5
- package/src/mountUiGrid.tsx +10 -0
- package/src/rustWasmGridEngine.test.ts +4 -4
- package/src/rustWasmGridEngine.ts +7 -5
- package/src/ui-grid.css +200 -1
- package/src/useGridState.ts +56 -30
- package/src/useVirtualScroll.ts +2 -0
- package/src/vanillaAdapter.test.ts +33 -0
- package/src/vanillaAdapter.ts +36 -0
- package/tsconfig.build.json +6 -0
- package/tsconfig.dts.json +15 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +1 -1
- package/CLAUDE.md +0 -283
package/demo/main.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import React, { useState, useMemo } from 'react';
|
|
|
2
2
|
import { createRoot } from 'react-dom/client';
|
|
3
3
|
import { UiGrid } from '../src/index';
|
|
4
4
|
import type { GridOptions, UiGridApi } from '../src/index';
|
|
5
|
-
import { FILTER_CONDITIONS } from '@ornery/ui-grid';
|
|
5
|
+
import { FILTER_CONDITIONS } from '@ornery/ui-grid-core';
|
|
6
6
|
import '../src/ui-grid.css';
|
|
7
7
|
|
|
8
8
|
const statuses = ['Active', 'Expansion', 'Enterprise', 'Pilot'] as const;
|
package/demo/vite.config.ts
CHANGED
|
@@ -7,7 +7,7 @@ export default defineConfig({
|
|
|
7
7
|
plugins: [react()],
|
|
8
8
|
resolve: {
|
|
9
9
|
alias: {
|
|
10
|
-
'@ornery/ui-grid': path.resolve(__dirname, '../../ui-grid/src/
|
|
10
|
+
'@ornery/ui-grid-core': path.resolve(__dirname, '../../ui-grid-core/src/index.ts'),
|
|
11
11
|
},
|
|
12
12
|
},
|
|
13
13
|
});
|
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-core';
|
|
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,sBAAsB,CAAC;AAK9B,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,2CAsxBb"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GridColumnDef } from '@ornery/ui-grid-core';
|
|
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,sBAAsB,CAAC;AAG1D,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,aAAa,EAAE,CAIjB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAElF;AAED,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,MAAM,EACnB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,MAAM,CAMR;AAED,wBAAgB,uBAAuB,CACrC,cAAc,CAAC,EAAE,MAAM,EACvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GACjC,MAAM,CAER;AAED,wBAAgB,mBAAmB,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,155 +1,14 @@
|
|
|
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
|
-
isPinned: (column: GridColumnDef) => boolean;
|
|
80
|
-
pinnedOffset: (column: GridColumnDef) => {
|
|
81
|
-
side: 'left' | 'right';
|
|
82
|
-
offset: string;
|
|
83
|
-
} | null;
|
|
84
|
-
isPinningEnabled: () => boolean;
|
|
85
|
-
isColumnPinnable: (column: GridColumnDef) => boolean;
|
|
86
|
-
togglePin: (column: GridColumnDef) => void;
|
|
87
|
-
pinningFeature: boolean;
|
|
88
|
-
sortingFeature: boolean;
|
|
89
|
-
filteringFeature: boolean;
|
|
90
|
-
groupingFeature: boolean;
|
|
91
|
-
paginationFeature: boolean;
|
|
92
|
-
cellEditFeature: boolean;
|
|
93
|
-
expandableFeature: boolean;
|
|
94
|
-
treeViewFeature: boolean;
|
|
95
|
-
infiniteScrollFeature: boolean;
|
|
96
|
-
columnMovingFeature: boolean;
|
|
97
|
-
csvExportFeature: boolean;
|
|
98
|
-
isGroupingEnabled: () => boolean;
|
|
99
|
-
isFilteringEnabled: () => boolean;
|
|
100
|
-
toggleSort: (column: GridColumnDef) => void;
|
|
101
|
-
updateFilter: (columnName: string, value: string) => void;
|
|
102
|
-
clearAllFilters: () => void;
|
|
103
|
-
toggleGrouping: (column: GridColumnDef, event?: React.MouseEvent) => void;
|
|
104
|
-
toggleGroup: (item: GroupItem) => void;
|
|
105
|
-
focusCell: (row: GridRow, column: GridColumnDef, triggerEvent?: Event | KeyboardEvent | null) => void;
|
|
106
|
-
handleCellKeyDown: (row: GridRow, column: GridColumnDef, event: React.KeyboardEvent) => void;
|
|
107
|
-
handleCellDoubleClick: (row: GridRow, column: GridColumnDef, event: React.MouseEvent) => void;
|
|
108
|
-
updateEditingValue: (value: string) => void;
|
|
109
|
-
handleEditorKeyDown: (event: React.KeyboardEvent) => void;
|
|
110
|
-
handleEditorBlur: (event: React.FocusEvent) => void;
|
|
111
|
-
toggleRowExpansion: (row: GridRow, event?: React.MouseEvent) => void;
|
|
112
|
-
toggleTreeRow: (row: GridRow, event?: React.MouseEvent) => void;
|
|
113
|
-
moveColumn: (fromIndex: number, toIndex: number) => void;
|
|
114
|
-
nextPage: () => void;
|
|
115
|
-
previousPage: () => void;
|
|
116
|
-
onPageSizeChange: (value: string) => void;
|
|
117
|
-
runBenchmark: (iterations?: number) => GridBenchmarkResult;
|
|
118
|
-
exportCsv: () => void;
|
|
119
|
-
onViewportScroll: (startIndex: number) => void;
|
|
120
|
-
}
|
|
121
|
-
declare function useGridState(options: GridOptions, onRegisterApi?: (api: UiGridApi) => void): UseGridStateResult;
|
|
122
|
-
|
|
123
|
-
interface UseVirtualScrollOptions {
|
|
124
|
-
itemCount: number;
|
|
125
|
-
itemSize: number;
|
|
126
|
-
viewportHeight: number;
|
|
127
|
-
overscan?: number;
|
|
128
|
-
}
|
|
129
|
-
interface UseVirtualScrollResult {
|
|
130
|
-
visibleRange: {
|
|
131
|
-
start: number;
|
|
132
|
-
end: number;
|
|
133
|
-
};
|
|
134
|
-
totalHeight: number;
|
|
135
|
-
offsetY: number;
|
|
136
|
-
onScroll: (event: React.UIEvent<HTMLDivElement>) => void;
|
|
137
|
-
viewportRef: React.RefObject<HTMLDivElement | null>;
|
|
138
|
-
scrollTop: number;
|
|
139
|
-
}
|
|
140
|
-
declare function useVirtualScroll(options: UseVirtualScrollOptions): UseVirtualScrollResult;
|
|
141
|
-
|
|
142
|
-
declare function orderVisibleColumns(columns: readonly GridColumnDef[], order: readonly string[]): GridColumnDef[];
|
|
143
|
-
declare function buildGridTemplateColumns(columns: readonly GridColumnDef[]): string;
|
|
144
|
-
declare function resolveBenchmarkIterations(iterations?: number, configuredIterations?: number): number;
|
|
145
|
-
declare function formatPaginationSummary(totalItems: number, firstRowIndex: number, lastRowIndex: number): string;
|
|
146
|
-
declare function computeViewportHeightPx(viewportHeight?: number, autoViewportHeight?: number | null): string;
|
|
147
|
-
declare function computeViewportRows(viewportHeight?: number, rowHeight?: number): number;
|
|
148
|
-
|
|
149
|
-
type UiGridWasmModule = {
|
|
150
|
-
build_pipeline_js(context: unknown): PipelineResult;
|
|
151
|
-
};
|
|
152
|
-
declare function registerReactUiGridWasmEngineFromModule(module: UiGridWasmModule): void;
|
|
153
|
-
declare function enableReactUiGridWasmEngine(): Promise<void>;
|
|
154
|
-
|
|
155
|
-
export { UiGrid, type UiGridProps, type UseGridStateResult, type UseVirtualScrollOptions, type UseVirtualScrollResult, buildGridTemplateColumns, computeViewportHeightPx, computeViewportRows, enableReactUiGridWasmEngine, formatPaginationSummary, orderVisibleColumns, registerReactUiGridWasmEngineFromModule, resolveBenchmarkIterations, useGridState, useVirtualScroll };
|
|
1
|
+
export { UiGrid } from './UiGrid';
|
|
2
|
+
export type { UiGridProps } from './UiGrid';
|
|
3
|
+
export { mountUiGrid } from './mountUiGrid';
|
|
4
|
+
export { mountUiGridCustomElement, type MountUiGridCustomElementOptions, type MountedUiGridCustomElement, } from './vanillaAdapter';
|
|
5
|
+
export { useGridState } from './useGridState';
|
|
6
|
+
export type { UseGridStateResult } from './useGridState';
|
|
7
|
+
export { useVirtualScroll } from './useVirtualScroll';
|
|
8
|
+
export type { UseVirtualScrollOptions, UseVirtualScrollResult } from './useVirtualScroll';
|
|
9
|
+
export { orderVisibleColumns, buildGridTemplateColumns, resolveBenchmarkIterations, formatPaginationSummary, computeViewportHeightPx, computeViewportRows, } from './gridStateMath';
|
|
10
|
+
export { enableReactUiGridWasmEngine, registerReactUiGridWasmEngineFromModule, } from './rustWasmGridEngine';
|
|
11
|
+
export type { GridOptions, GridColumnDef, GridRow, GridRecord, GridLabels, GridCellTemplateContext, GridExpandableTemplateContext, GridCellEditableContext, GridBenchmarkResult, GridSavedState, SortState, } from '@ornery/ui-grid-core';
|
|
12
|
+
export type { UiGridApi } from '@ornery/ui-grid-core';
|
|
13
|
+
export { DEFAULT_GRID_LABELS } from '@ornery/ui-grid-core';
|
|
14
|
+
//# 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,EACL,wBAAwB,EACxB,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,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,EACL,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,GACxC,MAAM,sBAAsB,CAAC;AAE9B,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,sBAAsB,CAAC;AAE9B,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
|