@rowsncolumns/grid 9.0.3 → 13.2.32
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/LICENSE.md +100 -0
- package/Readme.md +53 -59
- package/dist/cjs/Cell.d.ts +35 -0
- package/dist/cjs/Cell.d.ts.map +1 -0
- package/dist/cjs/Cell.js +29 -0
- package/dist/{CellOverlay.d.ts → cjs/CellOverlay.d.ts} +5 -5
- package/dist/cjs/CellOverlay.d.ts.map +1 -0
- package/dist/cjs/CellOverlay.js +126 -0
- package/dist/cjs/Context.d.ts +8 -0
- package/dist/cjs/Context.d.ts.map +1 -0
- package/dist/cjs/Context.js +13 -0
- package/dist/{FillHandle.d.ts → cjs/FillHandle.d.ts} +2 -1
- package/dist/cjs/FillHandle.d.ts.map +1 -0
- package/dist/cjs/FillHandle.js +26 -0
- package/dist/cjs/Grid.d.ts +558 -0
- package/dist/cjs/Grid.d.ts.map +1 -0
- package/dist/cjs/Grid.js +2446 -0
- package/dist/{GridLine.d.ts → cjs/GridLine.d.ts} +2 -1
- package/dist/cjs/GridLine.d.ts.map +1 -0
- package/dist/cjs/GridLine.js +10 -0
- package/dist/cjs/Image.d.ts +11 -0
- package/dist/cjs/Image.d.ts.map +1 -0
- package/dist/cjs/Image.js +57 -0
- package/dist/cjs/MemoizedGrid.d.ts +49 -0
- package/dist/cjs/MemoizedGrid.d.ts.map +1 -0
- package/dist/cjs/MemoizedGrid.js +105 -0
- package/dist/cjs/Selection.d.ts +5 -0
- package/dist/cjs/Selection.d.ts.map +1 -0
- package/dist/cjs/Selection.js +10 -0
- package/dist/{helpers.d.ts → cjs/helpers.d.ts} +59 -39
- package/dist/cjs/helpers.d.ts.map +1 -0
- package/dist/cjs/helpers.js +1409 -0
- package/dist/{hooks → cjs/hooks}/useCopyPaste.d.ts +3 -2
- package/dist/cjs/hooks/useCopyPaste.d.ts.map +1 -0
- package/dist/cjs/hooks/useCopyPaste.js +230 -0
- package/dist/{hooks → cjs/hooks}/useEditable.d.ts +21 -8
- package/dist/cjs/hooks/useEditable.d.ts.map +1 -0
- package/dist/cjs/hooks/useEditable.js +491 -0
- package/dist/{hooks → cjs/hooks}/useFilter.d.ts +3 -2
- package/dist/cjs/hooks/useFilter.d.ts.map +1 -0
- package/dist/cjs/hooks/useFilter.js +97 -0
- package/dist/{hooks → cjs/hooks}/useImage.d.ts +1 -0
- package/dist/cjs/hooks/useImage.d.ts.map +1 -0
- package/dist/cjs/hooks/useImage.js +80 -0
- package/dist/{hooks → cjs/hooks}/usePagination.d.ts +3 -2
- package/dist/cjs/hooks/usePagination.d.ts.map +1 -0
- package/dist/cjs/hooks/usePagination.js +53 -0
- package/dist/{hooks → cjs/hooks}/useSizer.d.ts +28 -29
- package/dist/cjs/hooks/useSizer.d.ts.map +1 -0
- package/dist/cjs/hooks/useSizer.js +176 -0
- package/dist/{hooks → cjs/hooks}/useTooltip.d.ts +2 -1
- package/dist/cjs/hooks/useTooltip.d.ts.map +1 -0
- package/dist/cjs/hooks/useTooltip.js +82 -0
- package/dist/{hooks → cjs/hooks}/useUndo.d.ts +2 -1
- package/dist/cjs/hooks/useUndo.d.ts.map +1 -0
- package/dist/cjs/hooks/useUndo.js +87 -0
- package/dist/cjs/index.d.ts +19 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/{types.d.ts → cjs/types.d.ts} +8 -3
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/{types.js → cjs/types.js} +7 -8
- package/dist/cjs/utils.d.ts +9 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +58 -0
- package/dist/cjs/vitest.config.d.ts +3 -0
- package/dist/cjs/vitest.config.d.ts.map +1 -0
- package/dist/cjs/vitest.config.js +24 -0
- package/dist/esm/Cell.d.ts +35 -0
- package/dist/esm/Cell.d.ts.map +1 -0
- package/dist/esm/Cell.js +24 -0
- package/dist/esm/CellOverlay.d.ts +21 -0
- package/dist/esm/CellOverlay.d.ts.map +1 -0
- package/dist/esm/CellOverlay.js +120 -0
- package/dist/esm/Context.d.ts +8 -0
- package/dist/esm/Context.d.ts.map +1 -0
- package/dist/esm/Context.js +9 -0
- package/dist/esm/FillHandle.d.ts +8 -0
- package/dist/esm/FillHandle.d.ts.map +1 -0
- package/dist/{FillHandle.js → esm/FillHandle.js} +5 -11
- package/dist/esm/Grid.d.ts +558 -0
- package/dist/esm/Grid.d.ts.map +1 -0
- package/dist/esm/Grid.js +2451 -0
- package/dist/esm/GridLine.d.ts +5 -0
- package/dist/esm/GridLine.d.ts.map +1 -0
- package/dist/esm/GridLine.js +7 -0
- package/dist/esm/Image.d.ts +11 -0
- package/dist/esm/Image.d.ts.map +1 -0
- package/dist/esm/Image.js +53 -0
- package/dist/esm/MemoizedGrid.d.ts +49 -0
- package/dist/esm/MemoizedGrid.d.ts.map +1 -0
- package/dist/esm/MemoizedGrid.js +98 -0
- package/dist/esm/Selection.d.ts +5 -0
- package/dist/esm/Selection.d.ts.map +1 -0
- package/dist/esm/Selection.js +7 -0
- package/dist/esm/helpers.d.ts +281 -0
- package/dist/esm/helpers.d.ts.map +1 -0
- package/dist/esm/helpers.js +1260 -0
- package/dist/esm/hooks/useCopyPaste.d.ts +53 -0
- package/dist/esm/hooks/useCopyPaste.d.ts.map +1 -0
- package/dist/{hooks → esm/hooks}/useCopyPaste.js +40 -46
- package/dist/esm/hooks/useEditable.d.ts +253 -0
- package/dist/esm/hooks/useEditable.d.ts.map +1 -0
- package/dist/esm/hooks/useEditable.js +482 -0
- package/dist/esm/hooks/useFilter.d.ts +69 -0
- package/dist/esm/hooks/useFilter.d.ts.map +1 -0
- package/dist/{hooks → esm/hooks}/useFilter.js +22 -42
- package/dist/esm/hooks/useImage.d.ts +13 -0
- package/dist/esm/hooks/useImage.d.ts.map +1 -0
- package/dist/esm/hooks/useImage.js +76 -0
- package/dist/esm/hooks/usePagination.d.ts +69 -0
- package/dist/esm/hooks/usePagination.d.ts.map +1 -0
- package/dist/esm/hooks/usePagination.js +47 -0
- package/dist/esm/hooks/useSizer.d.ts +114 -0
- package/dist/esm/hooks/useSizer.d.ts.map +1 -0
- package/dist/esm/hooks/useSizer.js +176 -0
- package/dist/esm/hooks/useTooltip.d.ts +43 -0
- package/dist/esm/hooks/useTooltip.d.ts.map +1 -0
- package/dist/esm/hooks/useTooltip.js +80 -0
- package/dist/esm/hooks/useUndo.d.ts +36 -0
- package/dist/esm/hooks/useUndo.d.ts.map +1 -0
- package/dist/{hooks → esm/hooks}/useUndo.js +16 -25
- package/dist/esm/index.d.ts +19 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/esm/types.d.ts +70 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +68 -0
- package/dist/esm/utils.d.ts +9 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +104 -0
- package/dist/esm/vitest.config.d.ts +3 -0
- package/dist/esm/vitest.config.d.ts.map +1 -0
- package/dist/esm/vitest.config.js +22 -0
- package/package.json +28 -29
- package/dist/Cell.d.ts +0 -23
- package/dist/Cell.js +0 -55
- package/dist/Cell.js.map +0 -1
- package/dist/CellOverlay.js +0 -116
- package/dist/CellOverlay.js.map +0 -1
- package/dist/FillHandle.js.map +0 -1
- package/dist/Grid.d.ts +0 -385
- package/dist/Grid.js +0 -1684
- package/dist/Grid.js.map +0 -1
- package/dist/GridLine.js +0 -13
- package/dist/GridLine.js.map +0 -1
- package/dist/Image.d.ts +0 -8
- package/dist/Image.js +0 -50
- package/dist/Image.js.map +0 -1
- package/dist/Selection.d.ts +0 -4
- package/dist/Selection.js +0 -9
- package/dist/Selection.js.map +0 -1
- package/dist/helpers.js +0 -1033
- package/dist/helpers.js.map +0 -1
- package/dist/hooks/useCopyPaste.js.map +0 -1
- package/dist/hooks/useEditable.js +0 -477
- package/dist/hooks/useEditable.js.map +0 -1
- package/dist/hooks/useFilter.js.map +0 -1
- package/dist/hooks/useImage.js +0 -42
- package/dist/hooks/useImage.js.map +0 -1
- package/dist/hooks/usePagination.js +0 -73
- package/dist/hooks/usePagination.js.map +0 -1
- package/dist/hooks/useSelection.d.ts +0 -175
- package/dist/hooks/useSelection.js +0 -980
- package/dist/hooks/useSelection.js.map +0 -1
- package/dist/hooks/useSizer.js +0 -150
- package/dist/hooks/useSizer.js.map +0 -1
- package/dist/hooks/useTooltip.js +0 -106
- package/dist/hooks/useTooltip.js.map +0 -1
- package/dist/hooks/useTouch.d.ts +0 -21
- package/dist/hooks/useTouch.js +0 -73
- package/dist/hooks/useTouch.js.map +0 -1
- package/dist/hooks/useUndo.js.map +0 -1
- package/dist/index.d.ts +0 -25
- package/dist/index.js +0 -61
- package/dist/index.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils.d.ts +0 -8
- package/dist/utils.js +0 -153
- package/dist/utils.js.map +0 -1
- package/src/Cell.tsx +0 -100
- package/src/CellOverlay.tsx +0 -191
- package/src/FillHandle.tsx +0 -37
- package/src/Grid.tsx +0 -2677
- package/src/GridLine.tsx +0 -23
- package/src/Image.tsx +0 -43
- package/src/Selection.tsx +0 -9
- package/src/helpers.ts +0 -1455
- package/src/hooks/useCopyPaste.ts +0 -265
- package/src/hooks/useEditable.tsx +0 -945
- package/src/hooks/useFilter.tsx +0 -233
- package/src/hooks/useImage.ts +0 -57
- package/src/hooks/usePagination.tsx +0 -153
- package/src/hooks/useSelection.ts +0 -1437
- package/src/hooks/useSizer.ts +0 -312
- package/src/hooks/useTooltip.tsx +0 -172
- package/src/hooks/useTouch.ts +0 -116
- package/src/hooks/useUndo.ts +0 -134
- package/src/index.tsx +0 -46
- package/src/tests/Grid.spec.tsx +0 -47
- package/src/tests/helpers.test.ts +0 -292
- package/src/tests/usePagination.test.ts +0 -28
- package/src/tests/useSelection.test.ts +0 -27
- package/src/tests/useUndo.test.ts +0 -73
- package/src/types.ts +0 -69
- package/src/utils.tsx +0 -287
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
import type Konva from "konva";
|
|
2
|
+
import type { LineCap, ShapeConfig } from "konva/lib/Shape";
|
|
3
|
+
import type { StageConfig } from "konva/lib/Stage";
|
|
4
|
+
import type { Key, ReactNode } from "react";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { Align } from "./helpers";
|
|
7
|
+
import { Direction, RowRange } from "./types";
|
|
8
|
+
export type GridProps<T extends AreaStyle = AreaStyle> = {
|
|
9
|
+
/**
|
|
10
|
+
* Width of the grid
|
|
11
|
+
*/
|
|
12
|
+
width?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Height of the grid
|
|
15
|
+
*/
|
|
16
|
+
height?: number;
|
|
17
|
+
/**
|
|
18
|
+
* No of columns in the grid
|
|
19
|
+
*/
|
|
20
|
+
columnCount: number;
|
|
21
|
+
/**
|
|
22
|
+
* No of rows in the grid
|
|
23
|
+
*/
|
|
24
|
+
rowCount: number;
|
|
25
|
+
/**
|
|
26
|
+
* Should return height of a row at an index
|
|
27
|
+
*/
|
|
28
|
+
rowHeight?: ItemSizer;
|
|
29
|
+
/**
|
|
30
|
+
* Should return width of a column at an index
|
|
31
|
+
*/
|
|
32
|
+
columnWidth?: ItemSizer;
|
|
33
|
+
/**
|
|
34
|
+
* Footer height
|
|
35
|
+
*/
|
|
36
|
+
footerHeight?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Footer component
|
|
39
|
+
*/
|
|
40
|
+
footerComponent?: React.ElementType | React.ReactElement;
|
|
41
|
+
/**
|
|
42
|
+
* Size of the scrollbar. Default is 13
|
|
43
|
+
*/
|
|
44
|
+
scrollbarSize?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Extend scroll area by scrollbar size
|
|
47
|
+
*/
|
|
48
|
+
extendScrollSize?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Scroll to item offset
|
|
51
|
+
*/
|
|
52
|
+
scrollToCellOffset?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Helps in lazy grid width calculation
|
|
55
|
+
*/
|
|
56
|
+
estimatedColumnWidth?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Helps in lazy grid height calculation
|
|
59
|
+
*/
|
|
60
|
+
estimatedRowHeight?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Autofocus the grid
|
|
63
|
+
*/
|
|
64
|
+
autoFocus?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Show row and column headers
|
|
67
|
+
*/
|
|
68
|
+
showHeaders?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Called when user scrolls the grid
|
|
71
|
+
*/
|
|
72
|
+
onScroll?: ({ scrollLeft, scrollTop }: ScrollCoords) => void;
|
|
73
|
+
/**
|
|
74
|
+
* Called immediately on scroll
|
|
75
|
+
*/
|
|
76
|
+
onImmediateScroll?: ({ scrollLeft, scrollTop }: ScrollCoords) => void;
|
|
77
|
+
/**
|
|
78
|
+
* Show scrollbars on the left and right of the grid
|
|
79
|
+
*/
|
|
80
|
+
showScrollbar?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Currently active cell
|
|
83
|
+
*/
|
|
84
|
+
activeCell?: CellInterface | null;
|
|
85
|
+
/**
|
|
86
|
+
* Background of selection
|
|
87
|
+
*/
|
|
88
|
+
selectionBackgroundColor?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Border color of selected area
|
|
91
|
+
*/
|
|
92
|
+
selectionBorderColor?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Stroke width of the selection
|
|
95
|
+
*/
|
|
96
|
+
selectionStrokeWidth?: number;
|
|
97
|
+
/**
|
|
98
|
+
* Active Cell Stroke width
|
|
99
|
+
*/
|
|
100
|
+
activeCellStrokeWidth?: number;
|
|
101
|
+
/**
|
|
102
|
+
* Array of selected cell areas
|
|
103
|
+
*/
|
|
104
|
+
selections?: SelectionArea<T>[];
|
|
105
|
+
/**
|
|
106
|
+
* Fill selection
|
|
107
|
+
*/
|
|
108
|
+
fillSelection?: SelectionArea<T> | null;
|
|
109
|
+
/**
|
|
110
|
+
* Array of merged cells
|
|
111
|
+
*/
|
|
112
|
+
mergedCells?: GridRange[] | null;
|
|
113
|
+
/**
|
|
114
|
+
* Number of frozen rows
|
|
115
|
+
*/
|
|
116
|
+
frozenRows?: number;
|
|
117
|
+
/**
|
|
118
|
+
* Number of frozen columns
|
|
119
|
+
*/
|
|
120
|
+
frozenColumns?: number;
|
|
121
|
+
/**
|
|
122
|
+
* Snap to row and column when scrolling
|
|
123
|
+
*/
|
|
124
|
+
snap?: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Show shadow as you scroll for frozen rows
|
|
127
|
+
*/
|
|
128
|
+
showFrozenRowShadow?: boolean | null;
|
|
129
|
+
/**
|
|
130
|
+
* Show shadow as you scroll for frozen columns
|
|
131
|
+
*/
|
|
132
|
+
showFrozenColumnShadow?: boolean | null;
|
|
133
|
+
/**
|
|
134
|
+
* Shadow settings
|
|
135
|
+
*/
|
|
136
|
+
shadowSettings?: ShapeConfig;
|
|
137
|
+
/**
|
|
138
|
+
* Shadow thickness
|
|
139
|
+
*/
|
|
140
|
+
frozenShadowThickness?: number;
|
|
141
|
+
/**
|
|
142
|
+
* Scroll throttle wait timeout
|
|
143
|
+
*/
|
|
144
|
+
scrollThrottleTimeout?: number;
|
|
145
|
+
/**
|
|
146
|
+
* Cell styles for border
|
|
147
|
+
*/
|
|
148
|
+
borderStyles?: T[];
|
|
149
|
+
/**
|
|
150
|
+
* Cell renderer. Must be a Konva Component eg: Group, Rect etc
|
|
151
|
+
*/
|
|
152
|
+
itemRenderer?: (props: RendererProps) => ReactNode;
|
|
153
|
+
/**
|
|
154
|
+
* Header renderer: Specific to spreadsheets
|
|
155
|
+
*/
|
|
156
|
+
headerRenderer?: (props: RendererProps) => ReactNode;
|
|
157
|
+
/**
|
|
158
|
+
* Render custom overlays like stroke on top of cell
|
|
159
|
+
*/
|
|
160
|
+
overlayRenderer?: (props: RendererProps) => ReactNode;
|
|
161
|
+
/**
|
|
162
|
+
* Separate background renderer
|
|
163
|
+
*/
|
|
164
|
+
backgroundRenderer?: (props: RendererProps) => ReactNode;
|
|
165
|
+
/**
|
|
166
|
+
* Allow users to customize selected cells design
|
|
167
|
+
*/
|
|
168
|
+
selectionRenderer?: (props: SelectionProps<T>) => ReactNode;
|
|
169
|
+
/**
|
|
170
|
+
* Bind to fill handle
|
|
171
|
+
*/
|
|
172
|
+
onFillHandleMouseDown?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
173
|
+
/**
|
|
174
|
+
* Double-click fill handle to auto-fill based on adjacent column data
|
|
175
|
+
*/
|
|
176
|
+
onFillHandleDoubleClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
177
|
+
/**
|
|
178
|
+
* Fired when scroll viewport changes
|
|
179
|
+
*/
|
|
180
|
+
onViewPortChange?: (view: ViewPortProps) => void;
|
|
181
|
+
/**
|
|
182
|
+
* Fired when grid dimensions change
|
|
183
|
+
*/
|
|
184
|
+
onDimensionsChange?: (gridDimensions: GridDimensions) => void;
|
|
185
|
+
/**
|
|
186
|
+
* Called right before a row is being rendered.
|
|
187
|
+
* Will be called for frozen cells and merged cells
|
|
188
|
+
*/
|
|
189
|
+
onBeforeRenderRow?: (rowIndex: number) => void;
|
|
190
|
+
/**
|
|
191
|
+
* After scroll to cell
|
|
192
|
+
*/
|
|
193
|
+
onAfterScrollToCell?: (scrollLeft: number | undefined, scrollTop: number | undefined) => void;
|
|
194
|
+
/**
|
|
195
|
+
* Custom grid overlays
|
|
196
|
+
*/
|
|
197
|
+
children?: ReactNode;
|
|
198
|
+
/**
|
|
199
|
+
* Grid children
|
|
200
|
+
*/
|
|
201
|
+
gridChildren?: (props: GridChildrenProps) => ReactNode;
|
|
202
|
+
/**
|
|
203
|
+
* Allows users to Wrap stage children in Top level Context
|
|
204
|
+
*/
|
|
205
|
+
wrapper?: (children: ReactNode) => ReactNode;
|
|
206
|
+
/**
|
|
207
|
+
* Props that can be injected to Konva stage
|
|
208
|
+
*/
|
|
209
|
+
stageProps?: Omit<StageConfig, "container">;
|
|
210
|
+
/**
|
|
211
|
+
* Show fillhandle
|
|
212
|
+
*/
|
|
213
|
+
showFillHandle?: boolean;
|
|
214
|
+
/**
|
|
215
|
+
* Dinemsion of the fill handle
|
|
216
|
+
*/
|
|
217
|
+
fillHandleSize?: number;
|
|
218
|
+
/**
|
|
219
|
+
* Overscan row and columns
|
|
220
|
+
*/
|
|
221
|
+
overscanCount?: number;
|
|
222
|
+
/**
|
|
223
|
+
* Border color of fill handle
|
|
224
|
+
*/
|
|
225
|
+
fillhandleBorderColor?: string;
|
|
226
|
+
/**
|
|
227
|
+
* Background color of fill handle
|
|
228
|
+
*/
|
|
229
|
+
fillHandleBackgroundColor?: string;
|
|
230
|
+
/**
|
|
231
|
+
* Show grid lines.
|
|
232
|
+
* Useful for spreadsheets
|
|
233
|
+
*/
|
|
234
|
+
showGridLines?: boolean | null;
|
|
235
|
+
/**
|
|
236
|
+
* Customize grid line color
|
|
237
|
+
*/
|
|
238
|
+
gridLineColor?: string;
|
|
239
|
+
/**
|
|
240
|
+
* Width of the grid line
|
|
241
|
+
*/
|
|
242
|
+
gridLineWidth?: number;
|
|
243
|
+
/**
|
|
244
|
+
* Gridline component
|
|
245
|
+
*/
|
|
246
|
+
gridLineRenderer?: (props: ShapeConfig) => ReactNode;
|
|
247
|
+
/**
|
|
248
|
+
* Draw overlay for each cell.
|
|
249
|
+
* Can be used to apply stroke or draw on top of a cell
|
|
250
|
+
*/
|
|
251
|
+
enableCellOverlay?: boolean;
|
|
252
|
+
enableCellBackground?: boolean;
|
|
253
|
+
/**
|
|
254
|
+
* Check if its hidden row
|
|
255
|
+
*/
|
|
256
|
+
isHiddenRow?: (rowIndex: number) => boolean;
|
|
257
|
+
/**
|
|
258
|
+
* Visible row ranges for efficient iteration.
|
|
259
|
+
* When provided, Grid will iterate only over these ranges
|
|
260
|
+
* instead of checking isHiddenRow for each row.
|
|
261
|
+
* This is a performance optimization for large filtered datasets.
|
|
262
|
+
*/
|
|
263
|
+
visibleRowRanges?: RowRange[];
|
|
264
|
+
/**
|
|
265
|
+
* Check if its a hidden column. Skip rendering hidden
|
|
266
|
+
*/
|
|
267
|
+
isHiddenColumn?: (columnIndex: number) => boolean;
|
|
268
|
+
/**
|
|
269
|
+
* Is Hidden cell
|
|
270
|
+
*/
|
|
271
|
+
isHiddenCell?: (rowIndex: number, columnIndex: number) => boolean;
|
|
272
|
+
/**
|
|
273
|
+
* Is Hidden cell overlay
|
|
274
|
+
*/
|
|
275
|
+
isHiddenOverlay?: (rowIndex: number, columnIndex: number) => boolean;
|
|
276
|
+
/**
|
|
277
|
+
* Is Hidden cell overlay
|
|
278
|
+
*/
|
|
279
|
+
isHiddenBackground?: (rowIndex: number, columnIndex: number) => boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Scale
|
|
282
|
+
*/
|
|
283
|
+
scale?: number;
|
|
284
|
+
/**
|
|
285
|
+
* Enable draging active cell and selections
|
|
286
|
+
*/
|
|
287
|
+
enableSelectionDrag?: boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Is user currently dragging a selection
|
|
290
|
+
*/
|
|
291
|
+
isDraggingSelection?: boolean;
|
|
292
|
+
/**
|
|
293
|
+
* Touch device
|
|
294
|
+
*/
|
|
295
|
+
isTouchDevice?: boolean;
|
|
296
|
+
/**
|
|
297
|
+
* Body components
|
|
298
|
+
*/
|
|
299
|
+
overlay?: React.JSX.Element | null;
|
|
300
|
+
/**
|
|
301
|
+
* Fill handle component
|
|
302
|
+
*/
|
|
303
|
+
FillHandle?: React.ElementType;
|
|
304
|
+
/**
|
|
305
|
+
* Prevent browser default scrolling
|
|
306
|
+
*/
|
|
307
|
+
preventBrowserDefaultScroll?: boolean;
|
|
308
|
+
/**
|
|
309
|
+
* Callback to calculate overflow buffer dynamically based on scroll position.
|
|
310
|
+
* This is called during the render loop to ensure virtualization is correct without extra renders.
|
|
311
|
+
*/
|
|
312
|
+
getOverflowBuffer?: (scrollLeft: number) => number;
|
|
313
|
+
/**
|
|
314
|
+
* Callback to get frozen column cells that overflow into the body area.
|
|
315
|
+
* Called during render to determine which frozen cells should also be rendered in the body.
|
|
316
|
+
* Returns a Set of cellIds (rowIndex,columnIndex format) for cells that overflow.
|
|
317
|
+
*/
|
|
318
|
+
getFrozenColumnOverflowCells?: (frozenColumnWidth: number, frozenColumns: number) => Set<string>;
|
|
319
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "onScroll">;
|
|
320
|
+
export type RefAttribute = {
|
|
321
|
+
ref?: React.Ref<GridRef>;
|
|
322
|
+
};
|
|
323
|
+
export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
|
|
324
|
+
export type SelectionType = "fill" | "activeCell" | "selection" | "border" | "table" | "collaborator" | "copy" | "flash" | "mark" | "suggestion" | "quickedit" | "pivotTable" | (string & {});
|
|
325
|
+
export type SelectionProps<T extends AreaStyle = AreaStyle> = Style & Omit<T, "range" | "strokeStyle"> & Omit<React.HTMLAttributes<HTMLDivElement>, "draggable" | "style"> & {
|
|
326
|
+
onFillHandleMouseDown?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
327
|
+
isDragging?: boolean;
|
|
328
|
+
inProgress?: boolean;
|
|
329
|
+
activeCell?: CellInterface;
|
|
330
|
+
selection?: SelectionArea<T>;
|
|
331
|
+
index: number | string;
|
|
332
|
+
draggable?: boolean;
|
|
333
|
+
range?: GridRange;
|
|
334
|
+
borderCoverWidth?: number;
|
|
335
|
+
/**
|
|
336
|
+
* Set on frozen-pane copies of a border style: the title (e.g. a
|
|
337
|
+
* collaborator name chip) must not extend past the area's right edge,
|
|
338
|
+
* where the frozen pane's overflow clip would hide it.
|
|
339
|
+
*/
|
|
340
|
+
keepTitleWithinBounds?: boolean;
|
|
341
|
+
/**
|
|
342
|
+
* Set on frozen-row pane copies of a border style: a title that is
|
|
343
|
+
* placed below the area (the first visible row, where there is no room
|
|
344
|
+
* above it) must not extend past the area's bottom edge, where the
|
|
345
|
+
* frozen pane's overflow clip would cut it in half.
|
|
346
|
+
*/
|
|
347
|
+
keepTitleWithinVerticalBounds?: boolean;
|
|
348
|
+
/**
|
|
349
|
+
* Set on scrollable-pane copies whose range starts on the pane's first
|
|
350
|
+
* visible row (the row just below the frozen boundary): a title drawn
|
|
351
|
+
* above the area would sit entirely past the boundary, where the pane's
|
|
352
|
+
* overflow clip hides it, so it must be drawn below the area instead.
|
|
353
|
+
*/
|
|
354
|
+
flipTitleToBottom?: boolean;
|
|
355
|
+
x?: number;
|
|
356
|
+
y?: number;
|
|
357
|
+
width?: number;
|
|
358
|
+
height?: number;
|
|
359
|
+
};
|
|
360
|
+
export type ScrollCoords = {
|
|
361
|
+
scrollTop: number;
|
|
362
|
+
scrollLeft: number;
|
|
363
|
+
};
|
|
364
|
+
export type OptionalScrollCoords = {
|
|
365
|
+
scrollTop?: number;
|
|
366
|
+
scrollLeft?: number;
|
|
367
|
+
};
|
|
368
|
+
export interface GridChildrenProps extends ScrollCoords {
|
|
369
|
+
containerHeight: number;
|
|
370
|
+
containerWidth: number;
|
|
371
|
+
frozenColumnWidth: number;
|
|
372
|
+
frozenRowHeight: number;
|
|
373
|
+
}
|
|
374
|
+
export interface ScrollState extends ScrollCoords {
|
|
375
|
+
isScrolling: boolean;
|
|
376
|
+
verticalScrollDirection: Direction;
|
|
377
|
+
horizontalScrollDirection: Direction;
|
|
378
|
+
}
|
|
379
|
+
export type CellPosition = {
|
|
380
|
+
x: number;
|
|
381
|
+
y: number;
|
|
382
|
+
width: number;
|
|
383
|
+
height: number;
|
|
384
|
+
};
|
|
385
|
+
export interface RendererProps extends CellInterface, CellPosition, Style {
|
|
386
|
+
x: number;
|
|
387
|
+
y: number;
|
|
388
|
+
width: number;
|
|
389
|
+
height: number;
|
|
390
|
+
key: Key;
|
|
391
|
+
isMergedCell?: boolean;
|
|
392
|
+
}
|
|
393
|
+
export type ItemSizer = (index: number) => number;
|
|
394
|
+
export type SelectionArea<T extends AreaStyle = AreaStyle> = T & {
|
|
395
|
+
range: GridRange;
|
|
396
|
+
inProgress?: boolean;
|
|
397
|
+
/**
|
|
398
|
+
* When user drags the fill handle
|
|
399
|
+
*/
|
|
400
|
+
isFilling?: boolean;
|
|
401
|
+
};
|
|
402
|
+
export type GridRange = {
|
|
403
|
+
startRowIndex: number;
|
|
404
|
+
endRowIndex: number;
|
|
405
|
+
startColumnIndex: number;
|
|
406
|
+
endColumnIndex: number;
|
|
407
|
+
};
|
|
408
|
+
export type { RowRange };
|
|
409
|
+
export type CellInterface = {
|
|
410
|
+
rowIndex: number;
|
|
411
|
+
columnIndex: number;
|
|
412
|
+
};
|
|
413
|
+
export type OptionalCellInterface = {
|
|
414
|
+
rowIndex?: number;
|
|
415
|
+
columnIndex?: number;
|
|
416
|
+
};
|
|
417
|
+
export type ViewPortProps = {
|
|
418
|
+
rowStartIndex: number;
|
|
419
|
+
rowStopIndex: number;
|
|
420
|
+
columnStartIndex: number;
|
|
421
|
+
columnStopIndex: number;
|
|
422
|
+
visibleRowStartIndex: number;
|
|
423
|
+
visibleRowStopIndex: number;
|
|
424
|
+
visibleColumnStartIndex: number;
|
|
425
|
+
visibleColumnStopIndex: number;
|
|
426
|
+
};
|
|
427
|
+
export type GridDimensions = {
|
|
428
|
+
containerWidth: number;
|
|
429
|
+
containerHeight: number;
|
|
430
|
+
estimatedTotalWidth: number;
|
|
431
|
+
estimatedTotalHeight: number;
|
|
432
|
+
};
|
|
433
|
+
export type InstanceInterface = {
|
|
434
|
+
columnMetadataMap: CellMetaDataMap;
|
|
435
|
+
rowMetadataMap: CellMetaDataMap;
|
|
436
|
+
lastMeasuredColumnIndex: number;
|
|
437
|
+
lastMeasuredRowIndex: number;
|
|
438
|
+
estimatedRowHeight: number;
|
|
439
|
+
estimatedColumnWidth: number;
|
|
440
|
+
};
|
|
441
|
+
export type CellMetaDataMap = Map<number, CellMetaData>;
|
|
442
|
+
export type CellMetaData = {
|
|
443
|
+
offset: number;
|
|
444
|
+
size: number;
|
|
445
|
+
};
|
|
446
|
+
export interface SnapRowProps {
|
|
447
|
+
deltaY: number;
|
|
448
|
+
}
|
|
449
|
+
export interface SnapColumnProps {
|
|
450
|
+
deltaX: number;
|
|
451
|
+
}
|
|
452
|
+
export interface PosXY {
|
|
453
|
+
x?: number;
|
|
454
|
+
y?: number;
|
|
455
|
+
}
|
|
456
|
+
export interface PosXYRequired {
|
|
457
|
+
x: number;
|
|
458
|
+
y: number;
|
|
459
|
+
}
|
|
460
|
+
export type GridRef = {
|
|
461
|
+
scrollTo: (scrollPosition: ScrollCoords, immediate?: boolean) => void;
|
|
462
|
+
scrollBy: (pos: PosXY) => void;
|
|
463
|
+
stage: Konva.Stage | null;
|
|
464
|
+
rowHeaderStage: Konva.Stage | null;
|
|
465
|
+
columnHeaderStage: Konva.Stage | null;
|
|
466
|
+
container: HTMLDivElement | null;
|
|
467
|
+
resetAfterIndices: (coords: OptionalCellInterface, shouldForceUpdate?: boolean) => void;
|
|
468
|
+
/**
|
|
469
|
+
* Get current scroll position of the grid
|
|
470
|
+
* @returns
|
|
471
|
+
*/
|
|
472
|
+
getScrollPosition: () => ScrollCoords;
|
|
473
|
+
isMergedCell: (coords: CellInterface) => boolean;
|
|
474
|
+
getCellBounds: (coords: CellInterface, spanMerges?: boolean) => GridRange;
|
|
475
|
+
getCellCoordsFromOffset: (x: number, y: number, includeFrozen?: boolean) => CellInterface | undefined;
|
|
476
|
+
/**
|
|
477
|
+
* Get position and dimension of a cell
|
|
478
|
+
*/
|
|
479
|
+
getCellOffsetFromCoords: (coords: CellInterface, readonly?: boolean) => CellPosition | undefined;
|
|
480
|
+
getActualCellCoords: (coords: CellInterface) => CellInterface;
|
|
481
|
+
scrollToCell: (coords: OptionalCellInterface, align?: Align) => void;
|
|
482
|
+
focus: () => void;
|
|
483
|
+
resizeColumn: (index: number, dimension: number) => void;
|
|
484
|
+
resizeRow: (index: number, dimension: number) => void;
|
|
485
|
+
getViewPort: () => ViewPortProps;
|
|
486
|
+
getRelativePositionFromOffset: (x: number, y: number) => PosXYRequired | undefined;
|
|
487
|
+
getAbsolutePositionFromOffset: (x: number, y: number) => PosXYRequired;
|
|
488
|
+
scrollToTop: () => void;
|
|
489
|
+
scrollToBottom: () => void;
|
|
490
|
+
getDimensions: () => {
|
|
491
|
+
containerWidth: number;
|
|
492
|
+
containerHeight: number;
|
|
493
|
+
estimatedTotalWidth: number;
|
|
494
|
+
estimatedTotalHeight: number;
|
|
495
|
+
};
|
|
496
|
+
getRowOffset: (index: number) => number;
|
|
497
|
+
getColumnOffset: (index: number) => number;
|
|
498
|
+
redrawGrid(): void;
|
|
499
|
+
clearCache(): void;
|
|
500
|
+
};
|
|
501
|
+
export type MergedCellMap = Map<string, GridRange>;
|
|
502
|
+
export type AreaStyle = AreaMeta & {
|
|
503
|
+
range: GridRange;
|
|
504
|
+
style?: Style;
|
|
505
|
+
isDragging?: boolean;
|
|
506
|
+
type?: SelectionType;
|
|
507
|
+
index?: string | number;
|
|
508
|
+
/**
|
|
509
|
+
* Only for flash type
|
|
510
|
+
*/
|
|
511
|
+
duration?: number;
|
|
512
|
+
/**
|
|
513
|
+
* Metadata for borders
|
|
514
|
+
*/
|
|
515
|
+
metadata?: Record<string, any>;
|
|
516
|
+
};
|
|
517
|
+
export type AreaMeta = {
|
|
518
|
+
title?: string;
|
|
519
|
+
draggable?: boolean;
|
|
520
|
+
};
|
|
521
|
+
export type Style = {
|
|
522
|
+
stroke?: string;
|
|
523
|
+
strokeLeftColor?: string;
|
|
524
|
+
strokeTopColor?: string;
|
|
525
|
+
strokeRightColor?: string;
|
|
526
|
+
strokeBottomColor?: string;
|
|
527
|
+
strokeDiagonalUpColor?: string;
|
|
528
|
+
strokeDiagonalDownColor?: string;
|
|
529
|
+
strokeWidth?: number;
|
|
530
|
+
strokeTopWidth?: number;
|
|
531
|
+
strokeRightWidth?: number;
|
|
532
|
+
strokeBottomWidth?: number;
|
|
533
|
+
strokeLeftWidth?: number;
|
|
534
|
+
strokeDiagonalUpWidth?: number;
|
|
535
|
+
strokeDiagonalDownWidth?: number;
|
|
536
|
+
strokeStyle?: "dashed" | "solid" | "dotted";
|
|
537
|
+
strokeDash?: number[];
|
|
538
|
+
strokeTopDash?: number[];
|
|
539
|
+
strokeRightDash?: number[];
|
|
540
|
+
strokeBottomDash?: number[];
|
|
541
|
+
strokeLeftDash?: number[];
|
|
542
|
+
strokeDiagonalUpDash?: number[];
|
|
543
|
+
strokeDiagonalDownDash?: number[];
|
|
544
|
+
lineCap?: LineCap;
|
|
545
|
+
offset?: number;
|
|
546
|
+
fill?: string;
|
|
547
|
+
fillOpacity?: number;
|
|
548
|
+
};
|
|
549
|
+
export declare const RESET_SCROLL_EVENTS_DEBOUNCE_INTERVAL = 150;
|
|
550
|
+
/**
|
|
551
|
+
* Grid component using React Konva
|
|
552
|
+
* @param props
|
|
553
|
+
*
|
|
554
|
+
* TODO: Fix bug with snapping, since onWheel is a global handler, rowCount, columnCount becomes state
|
|
555
|
+
*/
|
|
556
|
+
declare const Grid: React.FunctionComponent<GridProps & RefAttribute>;
|
|
557
|
+
export default Grid;
|
|
558
|
+
//# sourceMappingURL=Grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../Grid.tsx"],"names":[],"mappings":"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"}
|