@rowsncolumns/grid 9.0.4 → 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.
Files changed (208) hide show
  1. package/LICENSE.md +100 -0
  2. package/Readme.md +53 -59
  3. package/dist/cjs/Cell.d.ts +35 -0
  4. package/dist/cjs/Cell.d.ts.map +1 -0
  5. package/dist/cjs/Cell.js +29 -0
  6. package/dist/{CellOverlay.d.ts → cjs/CellOverlay.d.ts} +5 -5
  7. package/dist/cjs/CellOverlay.d.ts.map +1 -0
  8. package/dist/cjs/CellOverlay.js +126 -0
  9. package/dist/cjs/Context.d.ts +8 -0
  10. package/dist/cjs/Context.d.ts.map +1 -0
  11. package/dist/cjs/Context.js +13 -0
  12. package/dist/{FillHandle.d.ts → cjs/FillHandle.d.ts} +2 -1
  13. package/dist/cjs/FillHandle.d.ts.map +1 -0
  14. package/dist/cjs/FillHandle.js +26 -0
  15. package/dist/cjs/Grid.d.ts +558 -0
  16. package/dist/cjs/Grid.d.ts.map +1 -0
  17. package/dist/cjs/Grid.js +2446 -0
  18. package/dist/{GridLine.d.ts → cjs/GridLine.d.ts} +2 -1
  19. package/dist/cjs/GridLine.d.ts.map +1 -0
  20. package/dist/cjs/GridLine.js +10 -0
  21. package/dist/cjs/Image.d.ts +11 -0
  22. package/dist/cjs/Image.d.ts.map +1 -0
  23. package/dist/cjs/Image.js +57 -0
  24. package/dist/cjs/MemoizedGrid.d.ts +49 -0
  25. package/dist/cjs/MemoizedGrid.d.ts.map +1 -0
  26. package/dist/cjs/MemoizedGrid.js +105 -0
  27. package/dist/cjs/Selection.d.ts +5 -0
  28. package/dist/cjs/Selection.d.ts.map +1 -0
  29. package/dist/cjs/Selection.js +10 -0
  30. package/dist/{helpers.d.ts → cjs/helpers.d.ts} +59 -39
  31. package/dist/cjs/helpers.d.ts.map +1 -0
  32. package/dist/cjs/helpers.js +1409 -0
  33. package/dist/{hooks → cjs/hooks}/useCopyPaste.d.ts +3 -2
  34. package/dist/cjs/hooks/useCopyPaste.d.ts.map +1 -0
  35. package/dist/cjs/hooks/useCopyPaste.js +230 -0
  36. package/dist/{hooks → cjs/hooks}/useEditable.d.ts +21 -8
  37. package/dist/cjs/hooks/useEditable.d.ts.map +1 -0
  38. package/dist/cjs/hooks/useEditable.js +491 -0
  39. package/dist/{hooks → cjs/hooks}/useFilter.d.ts +3 -2
  40. package/dist/cjs/hooks/useFilter.d.ts.map +1 -0
  41. package/dist/cjs/hooks/useFilter.js +97 -0
  42. package/dist/{hooks → cjs/hooks}/useImage.d.ts +1 -0
  43. package/dist/cjs/hooks/useImage.d.ts.map +1 -0
  44. package/dist/cjs/hooks/useImage.js +80 -0
  45. package/dist/{hooks → cjs/hooks}/usePagination.d.ts +3 -2
  46. package/dist/cjs/hooks/usePagination.d.ts.map +1 -0
  47. package/dist/cjs/hooks/usePagination.js +53 -0
  48. package/dist/{hooks → cjs/hooks}/useSizer.d.ts +28 -29
  49. package/dist/cjs/hooks/useSizer.d.ts.map +1 -0
  50. package/dist/cjs/hooks/useSizer.js +176 -0
  51. package/dist/{hooks → cjs/hooks}/useTooltip.d.ts +2 -1
  52. package/dist/cjs/hooks/useTooltip.d.ts.map +1 -0
  53. package/dist/cjs/hooks/useTooltip.js +82 -0
  54. package/dist/{hooks → cjs/hooks}/useUndo.d.ts +2 -1
  55. package/dist/cjs/hooks/useUndo.d.ts.map +1 -0
  56. package/dist/cjs/hooks/useUndo.js +87 -0
  57. package/dist/cjs/index.d.ts +19 -0
  58. package/dist/cjs/index.d.ts.map +1 -0
  59. package/dist/cjs/index.js +29 -0
  60. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  61. package/dist/{types.d.ts → cjs/types.d.ts} +8 -3
  62. package/dist/cjs/types.d.ts.map +1 -0
  63. package/dist/{types.js → cjs/types.js} +7 -8
  64. package/dist/cjs/utils.d.ts +9 -0
  65. package/dist/cjs/utils.d.ts.map +1 -0
  66. package/dist/cjs/utils.js +58 -0
  67. package/dist/cjs/vitest.config.d.ts +3 -0
  68. package/dist/cjs/vitest.config.d.ts.map +1 -0
  69. package/dist/cjs/vitest.config.js +24 -0
  70. package/dist/esm/Cell.d.ts +35 -0
  71. package/dist/esm/Cell.d.ts.map +1 -0
  72. package/dist/esm/Cell.js +24 -0
  73. package/dist/esm/CellOverlay.d.ts +21 -0
  74. package/dist/esm/CellOverlay.d.ts.map +1 -0
  75. package/dist/esm/CellOverlay.js +120 -0
  76. package/dist/esm/Context.d.ts +8 -0
  77. package/dist/esm/Context.d.ts.map +1 -0
  78. package/dist/esm/Context.js +9 -0
  79. package/dist/esm/FillHandle.d.ts +8 -0
  80. package/dist/esm/FillHandle.d.ts.map +1 -0
  81. package/dist/{FillHandle.js → esm/FillHandle.js} +5 -11
  82. package/dist/esm/Grid.d.ts +558 -0
  83. package/dist/esm/Grid.d.ts.map +1 -0
  84. package/dist/esm/Grid.js +2451 -0
  85. package/dist/esm/GridLine.d.ts +5 -0
  86. package/dist/esm/GridLine.d.ts.map +1 -0
  87. package/dist/esm/GridLine.js +7 -0
  88. package/dist/esm/Image.d.ts +11 -0
  89. package/dist/esm/Image.d.ts.map +1 -0
  90. package/dist/esm/Image.js +53 -0
  91. package/dist/esm/MemoizedGrid.d.ts +49 -0
  92. package/dist/esm/MemoizedGrid.d.ts.map +1 -0
  93. package/dist/esm/MemoizedGrid.js +98 -0
  94. package/dist/esm/Selection.d.ts +5 -0
  95. package/dist/esm/Selection.d.ts.map +1 -0
  96. package/dist/esm/Selection.js +7 -0
  97. package/dist/esm/helpers.d.ts +281 -0
  98. package/dist/esm/helpers.d.ts.map +1 -0
  99. package/dist/esm/helpers.js +1260 -0
  100. package/dist/esm/hooks/useCopyPaste.d.ts +53 -0
  101. package/dist/esm/hooks/useCopyPaste.d.ts.map +1 -0
  102. package/dist/{hooks → esm/hooks}/useCopyPaste.js +40 -46
  103. package/dist/esm/hooks/useEditable.d.ts +253 -0
  104. package/dist/esm/hooks/useEditable.d.ts.map +1 -0
  105. package/dist/esm/hooks/useEditable.js +482 -0
  106. package/dist/esm/hooks/useFilter.d.ts +69 -0
  107. package/dist/esm/hooks/useFilter.d.ts.map +1 -0
  108. package/dist/{hooks → esm/hooks}/useFilter.js +22 -42
  109. package/dist/esm/hooks/useImage.d.ts +13 -0
  110. package/dist/esm/hooks/useImage.d.ts.map +1 -0
  111. package/dist/esm/hooks/useImage.js +76 -0
  112. package/dist/esm/hooks/usePagination.d.ts +69 -0
  113. package/dist/esm/hooks/usePagination.d.ts.map +1 -0
  114. package/dist/esm/hooks/usePagination.js +47 -0
  115. package/dist/esm/hooks/useSizer.d.ts +114 -0
  116. package/dist/esm/hooks/useSizer.d.ts.map +1 -0
  117. package/dist/esm/hooks/useSizer.js +176 -0
  118. package/dist/esm/hooks/useTooltip.d.ts +43 -0
  119. package/dist/esm/hooks/useTooltip.d.ts.map +1 -0
  120. package/dist/esm/hooks/useTooltip.js +80 -0
  121. package/dist/esm/hooks/useUndo.d.ts +36 -0
  122. package/dist/esm/hooks/useUndo.d.ts.map +1 -0
  123. package/dist/{hooks → esm/hooks}/useUndo.js +16 -25
  124. package/dist/esm/index.d.ts +19 -0
  125. package/dist/esm/index.d.ts.map +1 -0
  126. package/dist/esm/index.js +17 -0
  127. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  128. package/dist/esm/types.d.ts +70 -0
  129. package/dist/esm/types.d.ts.map +1 -0
  130. package/dist/esm/types.js +68 -0
  131. package/dist/esm/utils.d.ts +9 -0
  132. package/dist/esm/utils.d.ts.map +1 -0
  133. package/dist/esm/utils.js +104 -0
  134. package/dist/esm/vitest.config.d.ts +3 -0
  135. package/dist/esm/vitest.config.d.ts.map +1 -0
  136. package/dist/esm/vitest.config.js +22 -0
  137. package/package.json +28 -29
  138. package/dist/Cell.d.ts +0 -23
  139. package/dist/Cell.js +0 -55
  140. package/dist/Cell.js.map +0 -1
  141. package/dist/CellOverlay.js +0 -116
  142. package/dist/CellOverlay.js.map +0 -1
  143. package/dist/FillHandle.js.map +0 -1
  144. package/dist/Grid.d.ts +0 -385
  145. package/dist/Grid.js +0 -1684
  146. package/dist/Grid.js.map +0 -1
  147. package/dist/GridLine.js +0 -13
  148. package/dist/GridLine.js.map +0 -1
  149. package/dist/Image.d.ts +0 -8
  150. package/dist/Image.js +0 -50
  151. package/dist/Image.js.map +0 -1
  152. package/dist/Selection.d.ts +0 -4
  153. package/dist/Selection.js +0 -9
  154. package/dist/Selection.js.map +0 -1
  155. package/dist/helpers.js +0 -1033
  156. package/dist/helpers.js.map +0 -1
  157. package/dist/hooks/useCopyPaste.js.map +0 -1
  158. package/dist/hooks/useEditable.js +0 -477
  159. package/dist/hooks/useEditable.js.map +0 -1
  160. package/dist/hooks/useFilter.js.map +0 -1
  161. package/dist/hooks/useImage.js +0 -42
  162. package/dist/hooks/useImage.js.map +0 -1
  163. package/dist/hooks/usePagination.js +0 -73
  164. package/dist/hooks/usePagination.js.map +0 -1
  165. package/dist/hooks/useSelection.d.ts +0 -175
  166. package/dist/hooks/useSelection.js +0 -982
  167. package/dist/hooks/useSelection.js.map +0 -1
  168. package/dist/hooks/useSizer.js +0 -150
  169. package/dist/hooks/useSizer.js.map +0 -1
  170. package/dist/hooks/useTooltip.js +0 -106
  171. package/dist/hooks/useTooltip.js.map +0 -1
  172. package/dist/hooks/useTouch.d.ts +0 -21
  173. package/dist/hooks/useTouch.js +0 -73
  174. package/dist/hooks/useTouch.js.map +0 -1
  175. package/dist/hooks/useUndo.js.map +0 -1
  176. package/dist/index.d.ts +0 -25
  177. package/dist/index.js +0 -61
  178. package/dist/index.js.map +0 -1
  179. package/dist/types.js.map +0 -1
  180. package/dist/utils.d.ts +0 -8
  181. package/dist/utils.js +0 -153
  182. package/dist/utils.js.map +0 -1
  183. package/src/Cell.tsx +0 -100
  184. package/src/CellOverlay.tsx +0 -191
  185. package/src/FillHandle.tsx +0 -37
  186. package/src/Grid.tsx +0 -2677
  187. package/src/GridLine.tsx +0 -23
  188. package/src/Image.tsx +0 -43
  189. package/src/Selection.tsx +0 -9
  190. package/src/helpers.ts +0 -1455
  191. package/src/hooks/useCopyPaste.ts +0 -265
  192. package/src/hooks/useEditable.tsx +0 -945
  193. package/src/hooks/useFilter.tsx +0 -233
  194. package/src/hooks/useImage.ts +0 -57
  195. package/src/hooks/usePagination.tsx +0 -153
  196. package/src/hooks/useSelection.ts +0 -1440
  197. package/src/hooks/useSizer.ts +0 -312
  198. package/src/hooks/useTooltip.tsx +0 -172
  199. package/src/hooks/useTouch.ts +0 -116
  200. package/src/hooks/useUndo.ts +0 -134
  201. package/src/index.tsx +0 -46
  202. package/src/tests/Grid.spec.tsx +0 -47
  203. package/src/tests/helpers.test.ts +0 -292
  204. package/src/tests/usePagination.test.ts +0 -28
  205. package/src/tests/useSelection.test.ts +0 -27
  206. package/src/tests/useUndo.test.ts +0 -73
  207. package/src/types.ts +0 -69
  208. package/src/utils.tsx +0 -287
@@ -1,116 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.CellOverlay = exports.CellRenderer = exports.getOffsetFromWidth = void 0;
27
- const react_1 = __importStar(require("react"));
28
- const react_konva_1 = require("react-konva");
29
- /* Array placeholder */
30
- const EMPTY_ARRAY = [];
31
- /**
32
- * Offset helps multiple borders to align properly
33
- * @param width
34
- */
35
- const getOffsetFromWidth = (width) => {
36
- return width / 2 - 0.5;
37
- };
38
- exports.getOffsetFromWidth = getOffsetFromWidth;
39
- /**
40
- * Only used for strokes
41
- */
42
- const CellOverlay = (0, react_1.memo)(props => {
43
- const { x, y, width, height, strokeTopColor, strokeRightColor, strokeBottomColor, strokeLeftColor, strokeTopDash = EMPTY_ARRAY, strokeRightDash = EMPTY_ARRAY, strokeBottomDash = EMPTY_ARRAY, strokeLeftDash = EMPTY_ARRAY, strokeTopWidth, strokeRightWidth, strokeBottomWidth, strokeLeftWidth, lineCap } = props;
44
- const userStroke = strokeTopColor || strokeRightColor || strokeBottomColor || strokeLeftColor;
45
- if (!userStroke)
46
- return null;
47
- return (react_1.default.createElement(react_konva_1.Shape, { x: x, y: y, width: width, height: height, sceneFunc: (context, shape) => {
48
- /* Top border */
49
- if (strokeTopColor) {
50
- context.beginPath();
51
- context.moveTo(strokeLeftColor ? -(0, exports.getOffsetFromWidth)(strokeLeftWidth) : 0, 0.5);
52
- context.lineTo(shape.width() +
53
- (strokeRightColor ? (0, exports.getOffsetFromWidth)(strokeRightWidth) + 1 : 1), 0.5);
54
- context.setAttr("strokeStyle", strokeTopColor);
55
- context.setAttr("lineWidth", strokeTopWidth);
56
- context.setAttr("lineCap", lineCap);
57
- context.setLineDash(strokeTopDash);
58
- context.stroke();
59
- }
60
- /* Bottom border */
61
- if (strokeBottomColor) {
62
- context.beginPath();
63
- context.moveTo(strokeLeftColor ? -(0, exports.getOffsetFromWidth)(strokeLeftWidth) : 0, shape.height() + 0.5);
64
- context.lineTo(shape.width() +
65
- (strokeRightColor ? (0, exports.getOffsetFromWidth)(strokeRightWidth) + 1 : 1), shape.height() + 0.5);
66
- context.setAttr("lineWidth", strokeBottomWidth);
67
- context.setAttr("strokeStyle", strokeBottomColor);
68
- context.setAttr("lineCap", lineCap);
69
- context.setLineDash(strokeBottomDash);
70
- context.stroke();
71
- }
72
- /* Left border */
73
- if (strokeLeftColor) {
74
- context.beginPath();
75
- context.moveTo(0.5, strokeTopColor ? -(0, exports.getOffsetFromWidth)(strokeTopWidth) : 0);
76
- context.lineTo(0.5, shape.height() +
77
- (strokeBottomColor
78
- ? (0, exports.getOffsetFromWidth)(strokeBottomWidth) + 1
79
- : 1));
80
- context.setAttr("strokeStyle", strokeLeftColor);
81
- context.setAttr("lineWidth", strokeLeftWidth);
82
- context.setAttr("lineCap", lineCap);
83
- context.setLineDash(strokeLeftDash);
84
- context.stroke();
85
- }
86
- /* Right border */
87
- if (strokeRightColor) {
88
- context.beginPath();
89
- context.moveTo(shape.width() + 0.5, strokeTopColor ? -(0, exports.getOffsetFromWidth)(strokeTopWidth) : 0);
90
- context.lineTo(shape.width() + 0.5, shape.height() +
91
- (strokeBottomColor
92
- ? (0, exports.getOffsetFromWidth)(strokeBottomWidth) + 1
93
- : 1));
94
- context.setAttr("strokeStyle", strokeRightColor);
95
- context.setAttr("lineWidth", strokeRightWidth);
96
- context.setAttr("lineCap", lineCap);
97
- context.setLineDash(strokeRightDash);
98
- context.stroke();
99
- }
100
- } }));
101
- });
102
- exports.CellOverlay = CellOverlay;
103
- /**
104
- * Default CellRenderer
105
- * @param props
106
- */
107
- const CellRenderer = (props) => {
108
- const { x, y, width, height, stroke, strokeTopColor = stroke, strokeRightColor = stroke, strokeBottomColor = stroke, strokeLeftColor = stroke, strokeDash = EMPTY_ARRAY, strokeTopDash = EMPTY_ARRAY, strokeRightDash = EMPTY_ARRAY, strokeBottomDash = EMPTY_ARRAY, strokeLeftDash = EMPTY_ARRAY, strokeWidth = 1, strokeTopWidth = strokeWidth, strokeRightWidth = strokeWidth, strokeBottomWidth = strokeWidth, strokeLeftWidth = strokeWidth, lineCap = "butt", key } = props;
109
- const userStroke = strokeTopColor || strokeRightColor || strokeBottomColor || strokeLeftColor;
110
- if (!userStroke)
111
- return null;
112
- return (react_1.default.createElement(CellOverlay, { key: key, x: x, y: y, width: width, height: height, strokeTopColor: strokeTopColor, strokeRightColor: strokeRightColor, strokeBottomColor: strokeBottomColor, strokeLeftColor: strokeLeftColor, strokeDash: strokeDash, strokeTopDash: strokeTopDash, strokeRightDash: strokeRightDash, strokeBottomDash: strokeBottomDash, strokeLeftDash: strokeLeftDash, strokeTopWidth: strokeTopWidth, strokeRightWidth: strokeRightWidth, strokeBottomWidth: strokeBottomWidth, strokeLeftWidth: strokeLeftWidth, lineCap: lineCap }));
113
- };
114
- exports.CellRenderer = CellRenderer;
115
- exports.default = CellRenderer;
116
- //# sourceMappingURL=CellOverlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CellOverlay.js","sourceRoot":"","sources":["../src/CellOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FillHandle.js","sourceRoot":"","sources":["../src/FillHandle.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAG1B;;GAEG;AACH,MAAM,UAAU,GAA0B,CAAC,EACzC,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,MAAM,EACN,WAAW,GAAG,CAAC,EACf,IAAI,GAAG,CAAC,EACR,WAAW,EACX,GAAG,KAAK,EACT,EAAE,EAAE;IACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,CACL,uCACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;YAClB,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC;YACjB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,GAAG,WAAW,MAAM,WAAW,QAAQ;YAC/C,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,MAAgB;YAC5B,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,KAAK;SACrB,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
package/dist/Grid.d.ts DELETED
@@ -1,385 +0,0 @@
1
- import React, { Key } from "react";
2
- import { Align } from "./helpers";
3
- import type { ShapeConfig } from "konva/lib/Shape";
4
- import type { StageConfig } from "konva/lib/Stage";
5
- import { Direction } from "./types";
6
- import Konva from "konva";
7
- export interface GridProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onScroll" | "children"> {
8
- /**
9
- * Width of the grid
10
- */
11
- width?: number;
12
- /**
13
- * Height of the grid
14
- */
15
- height?: number;
16
- /**
17
- * No of columns in the grid
18
- */
19
- columnCount: number;
20
- /**
21
- * No of rows in the grid
22
- */
23
- rowCount: number;
24
- /**
25
- * Should return height of a row at an index
26
- */
27
- rowHeight?: ItemSizer;
28
- /**
29
- * Should return width of a column at an index
30
- */
31
- columnWidth?: ItemSizer;
32
- /**
33
- * Size of the scrollbar. Default is 13
34
- */
35
- scrollbarSize?: number;
36
- /**
37
- * Helps in lazy grid width calculation
38
- */
39
- estimatedColumnWidth?: number;
40
- /**
41
- * Helps in lazy grid height calculation
42
- */
43
- estimatedRowHeight?: number;
44
- /**
45
- * Called when user scrolls the grid
46
- */
47
- onScroll?: ({ scrollLeft, scrollTop }: ScrollCoords) => void;
48
- /**
49
- * Called immediately on scroll
50
- */
51
- onImmediateScroll?: ({ scrollLeft, scrollTop }: ScrollCoords) => void;
52
- /**
53
- * Show scrollbars on the left and right of the grid
54
- */
55
- showScrollbar?: boolean;
56
- /**
57
- * Currently active cell
58
- */
59
- activeCell?: CellInterface | null;
60
- /**
61
- * Background of selection
62
- */
63
- selectionBackgroundColor?: string;
64
- /**
65
- * Border color of selected area
66
- */
67
- selectionBorderColor?: string;
68
- /**
69
- * Stroke width of the selection
70
- */
71
- selectionStrokeWidth?: number;
72
- /**
73
- * Active Cell Stroke width
74
- */
75
- activeCellStrokeWidth?: number;
76
- /**
77
- * Array of selected cell areas
78
- */
79
- selections?: SelectionArea[];
80
- /**
81
- * Fill selection
82
- */
83
- fillSelection?: SelectionArea | null;
84
- /**
85
- * Array of merged cells
86
- */
87
- mergedCells?: AreaProps[];
88
- /**
89
- * Number of frozen rows
90
- */
91
- frozenRows?: number;
92
- /**
93
- * Number of frozen columns
94
- */
95
- frozenColumns?: number;
96
- /**
97
- * Snap to row and column when scrolling
98
- */
99
- snap?: boolean;
100
- /**
101
- * Show shadow as you scroll for frozen rows and columns
102
- */
103
- showFrozenShadow?: boolean;
104
- /**
105
- * Shadow settings
106
- */
107
- shadowSettings?: ShapeConfig;
108
- /**
109
- * Scroll throttle wait timeout
110
- */
111
- scrollThrottleTimeout?: number;
112
- /**
113
- * Cell styles for border
114
- */
115
- borderStyles?: StylingProps;
116
- /**
117
- * Extend certains to coords
118
- */
119
- cellAreas?: CellRangeArea[];
120
- /**
121
- * Cell renderer. Must be a Konva Component eg: Group, Rect etc
122
- */
123
- itemRenderer?: (props: RendererProps) => React.ReactNode;
124
- /**
125
- * Render custom overlays like stroke on top of cell
126
- */
127
- overlayRenderer?: (props: RendererProps) => React.ReactNode;
128
- /**
129
- * Allow users to customize selected cells design
130
- */
131
- selectionRenderer?: (props: SelectionProps) => React.ReactNode;
132
- /**
133
- * Bind to fill handle
134
- */
135
- fillHandleProps?: Record<string, (e: any) => void>;
136
- /**
137
- * Fired when scroll viewport changes
138
- */
139
- onViewChange?: (view: ViewPortProps) => void;
140
- /**
141
- * Called right before a row is being rendered.
142
- * Will be called for frozen cells and merged cells
143
- */
144
- onBeforeRenderRow?: (rowIndex: number) => void;
145
- /**
146
- * Custom grid overlays
147
- */
148
- children?: (props: ScrollCoords) => React.ReactNode;
149
- /**
150
- * Allows users to Wrap stage children in Top level Context
151
- */
152
- wrapper?: (children: React.ReactNode) => React.ReactNode;
153
- /**
154
- * Props that can be injected to Konva stage
155
- */
156
- stageProps?: Omit<StageConfig, "container">;
157
- /**
158
- * Show fillhandle
159
- */
160
- showFillHandle?: boolean;
161
- /**
162
- * Overscan row and columns
163
- */
164
- overscanCount?: number;
165
- /**
166
- * Border color of fill handle
167
- */
168
- fillhandleBorderColor?: string;
169
- /**
170
- * Show grid lines.
171
- * Useful for spreadsheets
172
- */
173
- showGridLines?: boolean;
174
- /**
175
- * Customize grid line color
176
- */
177
- gridLineColor?: string;
178
- /**
179
- * Width of the grid line
180
- */
181
- gridLineWidth?: number;
182
- /**
183
- * Gridline component
184
- */
185
- gridLineRenderer?: (props: ShapeConfig) => React.ReactNode;
186
- /**
187
- * Shadow stroke color
188
- */
189
- shadowStroke?: string;
190
- /**
191
- * Draw overlay for each cell.
192
- * Can be used to apply stroke or draw on top of a cell
193
- */
194
- enableCellOverlay?: boolean;
195
- /**
196
- * Check if its hidden row
197
- */
198
- isHiddenRow?: (rowIndex: number) => boolean;
199
- /**
200
- * Check if its a hidden column. Skip rendering hidden
201
- */
202
- isHiddenColumn?: (columnIndex: number) => boolean;
203
- /**
204
- * Is Hidden cell
205
- */
206
- isHiddenCell?: (rowIndex: number, columnIndex: number) => boolean;
207
- /**
208
- * Scale
209
- */
210
- scale?: number;
211
- /**
212
- * Enable draging active cell and selections
213
- */
214
- enableSelectionDrag?: boolean;
215
- /**
216
- * Is user currently dragging a selection
217
- */
218
- isDraggingSelection?: boolean;
219
- }
220
- export interface CellRangeArea extends CellInterface {
221
- toColumnIndex: number;
222
- }
223
- export type RefAttribute = {
224
- ref?: React.Ref<GridRef>;
225
- };
226
- export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
227
- export interface SelectionProps extends AreaMeta, ShapeConfig, Omit<React.HTMLAttributes<HTMLDivElement>, "draggable"> {
228
- fillHandleProps?: Record<string, (e: any) => void>;
229
- type: "fill" | "activeCell" | "selection" | "border";
230
- isDragging?: boolean;
231
- inProgress?: boolean;
232
- activeCell?: CellInterface;
233
- selection?: SelectionArea;
234
- key: number;
235
- draggable?: boolean;
236
- bounds?: AreaProps;
237
- borderCoverWidth?: number;
238
- }
239
- export type ScrollCoords = {
240
- scrollTop: number;
241
- scrollLeft: number;
242
- };
243
- export type OptionalScrollCoords = {
244
- scrollTop?: number;
245
- scrollLeft?: number;
246
- };
247
- export interface ScrollState extends ScrollCoords {
248
- isScrolling: boolean;
249
- verticalScrollDirection: Direction;
250
- horizontalScrollDirection: Direction;
251
- }
252
- export type RenderComponent = React.FC<RendererProps>;
253
- export interface CellPosition extends Pick<ShapeConfig, "x" | "y"> {
254
- width?: ShapeConfig["width"];
255
- height?: ShapeConfig["height"];
256
- }
257
- export interface RendererProps extends CellInterface, CellPosition, Omit<ShapeConfig, "scale"> {
258
- key: Key;
259
- isMergedCell?: boolean;
260
- isOverlay?: boolean;
261
- }
262
- export type ItemSizer = (index: number) => number;
263
- export interface SelectionArea extends AreaStyle {
264
- bounds: AreaProps;
265
- inProgress?: boolean;
266
- /**
267
- * When user drags the fill handle
268
- */
269
- isFilling?: boolean;
270
- }
271
- export interface AreaProps {
272
- top: number;
273
- bottom: number;
274
- left: number;
275
- right: number;
276
- }
277
- export interface CellInterface {
278
- rowIndex: number;
279
- columnIndex: number;
280
- }
281
- export interface OptionalCellInterface {
282
- rowIndex?: number;
283
- columnIndex?: number;
284
- }
285
- export interface ViewPortProps {
286
- rowStartIndex: number;
287
- rowStopIndex: number;
288
- columnStartIndex: number;
289
- columnStopIndex: number;
290
- visibleRowStartIndex: number;
291
- visibleRowStopIndex: number;
292
- visibleColumnStartIndex: number;
293
- visibleColumnStopIndex: number;
294
- }
295
- export interface InstanceInterface {
296
- columnMetadataMap: CellMetaDataMap;
297
- rowMetadataMap: CellMetaDataMap;
298
- lastMeasuredColumnIndex: number;
299
- lastMeasuredRowIndex: number;
300
- estimatedRowHeight: number;
301
- estimatedColumnWidth: number;
302
- recalcColumnIndices: number[];
303
- recalcRowIndices: number[];
304
- }
305
- export type CellMetaDataMap = Record<number, CellMetaData>;
306
- export type CellMetaData = {
307
- offset: number;
308
- size: number;
309
- };
310
- export interface SnapRowProps {
311
- deltaY: number;
312
- }
313
- export interface SnapColumnProps {
314
- deltaX: number;
315
- }
316
- export interface PosXY {
317
- x?: number;
318
- y?: number;
319
- }
320
- export interface PosXYRequired {
321
- x: number;
322
- y: number;
323
- }
324
- export type GridRef = {
325
- scrollTo: (scrollPosition: ScrollCoords) => void;
326
- scrollBy: (pos: PosXY) => void;
327
- stage: Konva.Stage | null;
328
- container: HTMLDivElement | null;
329
- resetAfterIndices: (coords: OptionalCellInterface, shouldForceUpdate?: boolean) => void;
330
- getScrollPosition: () => ScrollCoords;
331
- isMergedCell: (coords: CellInterface) => boolean;
332
- getCellBounds: (coords: CellInterface, spanMerges?: boolean) => AreaProps;
333
- getCellCoordsFromOffset: (x: number, y: number, includeFrozen?: boolean) => CellInterface | null;
334
- getCellOffsetFromCoords: (coords: CellInterface) => CellPosition;
335
- getActualCellCoords: (coords: CellInterface) => CellInterface;
336
- scrollToItem: (coords: OptionalCellInterface, align?: Align) => void;
337
- focus: () => void;
338
- resizeColumns: (indices: number[]) => void;
339
- resizeRows: (indices: number[]) => void;
340
- getViewPort: () => ViewPortProps;
341
- getRelativePositionFromOffset: (x: number, y: number) => PosXYRequired | null;
342
- scrollToTop: () => void;
343
- scrollToBottom: () => void;
344
- getDimensions: () => {
345
- containerWidth: number;
346
- containerHeight: number;
347
- estimatedTotalWidth: number;
348
- estimatedTotalHeight: number;
349
- };
350
- getRowOffset: (index: number) => number;
351
- getColumnOffset: (index: number) => number;
352
- };
353
- export type MergedCellMap = Map<string, AreaProps>;
354
- export type StylingProps = AreaStyle[];
355
- export interface AreaStyle extends AreaMeta {
356
- bounds: AreaProps;
357
- style?: Style;
358
- strokeStyle?: "dashed" | "solid" | "dotted";
359
- }
360
- export interface AreaMeta {
361
- title?: string;
362
- [key: string]: any;
363
- }
364
- export interface Style {
365
- stroke?: string;
366
- strokeLeftColor?: string;
367
- strokeTopColor?: string;
368
- strokeRightColor?: string;
369
- strokeBottomColor?: string;
370
- strokeWidth?: number;
371
- strokeTopWidth?: number;
372
- strokeRightWidth?: number;
373
- strokeBottomWidth?: number;
374
- strokeLeftWidth?: number;
375
- strokeStyle?: string;
376
- }
377
- export declare const RESET_SCROLL_EVENTS_DEBOUNCE_INTERVAL = 150;
378
- /**
379
- * Grid component using React Konva
380
- * @param props
381
- *
382
- * TODO: Fix bug with snapping, since onWheel is a global handler, rowCount, columnCount becomes state
383
- */
384
- declare const Grid: React.FC<GridProps & RefAttribute>;
385
- export default Grid;