@gridsheet/react-core 0.12.4-rc.1 → 0.12.4

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 (209) hide show
  1. package/dist/components/Cell.js +185 -197
  2. package/dist/components/Cell.js.map +1 -1
  3. package/dist/components/ContextMenu.js +198 -208
  4. package/dist/components/ContextMenu.js.map +1 -1
  5. package/dist/components/Editor.d.ts.map +1 -1
  6. package/dist/components/Editor.js +262 -275
  7. package/dist/components/Editor.js.map +1 -1
  8. package/dist/components/Emitter.js +29 -39
  9. package/dist/components/Emitter.js.map +1 -1
  10. package/dist/components/GridSheet.js +109 -119
  11. package/dist/components/GridSheet.js.map +1 -1
  12. package/dist/components/HeaderLeftCell.js +61 -72
  13. package/dist/components/HeaderLeftCell.js.map +1 -1
  14. package/dist/components/HeaderTopCell.js +62 -73
  15. package/dist/components/HeaderTopCell.js.map +1 -1
  16. package/dist/components/Resizer.js +79 -90
  17. package/dist/components/Resizer.js.map +1 -1
  18. package/dist/components/SearchBox.d.ts.map +1 -1
  19. package/dist/components/SearchBox.js +54 -64
  20. package/dist/components/SearchBox.js.map +1 -1
  21. package/dist/components/StoreInitializer.js +71 -81
  22. package/dist/components/StoreInitializer.js.map +1 -1
  23. package/dist/components/Tabular.d.ts +2 -2
  24. package/dist/components/Tabular.d.ts.map +1 -1
  25. package/dist/components/Tabular.js +85 -95
  26. package/dist/components/Tabular.js.map +1 -1
  27. package/dist/constants.js +26 -36
  28. package/dist/constants.js.map +1 -1
  29. package/dist/formula/evaluator.d.ts +1 -1
  30. package/dist/formula/evaluator.js +490 -500
  31. package/dist/formula/evaluator.js.map +1 -1
  32. package/dist/formula/functions/__base.js +17 -27
  33. package/dist/formula/functions/__base.js.map +1 -1
  34. package/dist/formula/functions/__utils.js +103 -113
  35. package/dist/formula/functions/__utils.js.map +1 -1
  36. package/dist/formula/functions/abs.js +21 -31
  37. package/dist/formula/functions/abs.js.map +1 -1
  38. package/dist/formula/functions/abs.spec.js +25 -35
  39. package/dist/formula/functions/abs.spec.js.map +1 -1
  40. package/dist/formula/functions/acos.js +28 -38
  41. package/dist/formula/functions/acos.js.map +1 -1
  42. package/dist/formula/functions/add.js +47 -57
  43. package/dist/formula/functions/add.js.map +1 -1
  44. package/dist/formula/functions/and.js +28 -38
  45. package/dist/formula/functions/and.js.map +1 -1
  46. package/dist/formula/functions/asin.js +28 -38
  47. package/dist/formula/functions/asin.js.map +1 -1
  48. package/dist/formula/functions/atan.js +26 -36
  49. package/dist/formula/functions/atan.js.map +1 -1
  50. package/dist/formula/functions/atan2.js +32 -42
  51. package/dist/formula/functions/atan2.js.map +1 -1
  52. package/dist/formula/functions/average.js +40 -50
  53. package/dist/formula/functions/average.js.map +1 -1
  54. package/dist/formula/functions/col.js +28 -38
  55. package/dist/formula/functions/col.js.map +1 -1
  56. package/dist/formula/functions/concat.js +27 -37
  57. package/dist/formula/functions/concat.js.map +1 -1
  58. package/dist/formula/functions/concatenate.js +25 -35
  59. package/dist/formula/functions/concatenate.js.map +1 -1
  60. package/dist/formula/functions/cos.js +26 -36
  61. package/dist/formula/functions/cos.js.map +1 -1
  62. package/dist/formula/functions/count.js +35 -45
  63. package/dist/formula/functions/count.js.map +1 -1
  64. package/dist/formula/functions/counta.js +35 -45
  65. package/dist/formula/functions/counta.js.map +1 -1
  66. package/dist/formula/functions/countif.js +30 -40
  67. package/dist/formula/functions/countif.js.map +1 -1
  68. package/dist/formula/functions/divide.js +32 -42
  69. package/dist/formula/functions/divide.js.map +1 -1
  70. package/dist/formula/functions/eq.js +25 -35
  71. package/dist/formula/functions/eq.js.map +1 -1
  72. package/dist/formula/functions/exp.js +28 -38
  73. package/dist/formula/functions/exp.js.map +1 -1
  74. package/dist/formula/functions/gt.js +27 -37
  75. package/dist/formula/functions/gt.js.map +1 -1
  76. package/dist/formula/functions/gte.js +27 -37
  77. package/dist/formula/functions/gte.js.map +1 -1
  78. package/dist/formula/functions/hlookup.js +67 -77
  79. package/dist/formula/functions/hlookup.js.map +1 -1
  80. package/dist/formula/functions/if.js +36 -46
  81. package/dist/formula/functions/if.js.map +1 -1
  82. package/dist/formula/functions/iferror.js +38 -48
  83. package/dist/formula/functions/iferror.js.map +1 -1
  84. package/dist/formula/functions/iferror.spec.js +53 -63
  85. package/dist/formula/functions/iferror.spec.js.map +1 -1
  86. package/dist/formula/functions/len.js +26 -36
  87. package/dist/formula/functions/len.js.map +1 -1
  88. package/dist/formula/functions/lenb.js +26 -36
  89. package/dist/formula/functions/lenb.js.map +1 -1
  90. package/dist/formula/functions/ln.js +28 -38
  91. package/dist/formula/functions/ln.js.map +1 -1
  92. package/dist/formula/functions/log.js +33 -43
  93. package/dist/formula/functions/log.js.map +1 -1
  94. package/dist/formula/functions/log10.js +28 -38
  95. package/dist/formula/functions/log10.js.map +1 -1
  96. package/dist/formula/functions/lt.js +27 -37
  97. package/dist/formula/functions/lt.js.map +1 -1
  98. package/dist/formula/functions/lte.js +27 -37
  99. package/dist/formula/functions/lte.js.map +1 -1
  100. package/dist/formula/functions/max.js +42 -52
  101. package/dist/formula/functions/max.js.map +1 -1
  102. package/dist/formula/functions/min.js +42 -52
  103. package/dist/formula/functions/min.js.map +1 -1
  104. package/dist/formula/functions/minus.js +47 -57
  105. package/dist/formula/functions/minus.js.map +1 -1
  106. package/dist/formula/functions/mod.js +30 -40
  107. package/dist/formula/functions/mod.js.map +1 -1
  108. package/dist/formula/functions/mod.spec.js +47 -57
  109. package/dist/formula/functions/mod.spec.js.map +1 -1
  110. package/dist/formula/functions/multiply.js +27 -37
  111. package/dist/formula/functions/multiply.js.map +1 -1
  112. package/dist/formula/functions/ne.js +25 -35
  113. package/dist/formula/functions/ne.js.map +1 -1
  114. package/dist/formula/functions/not.js +30 -40
  115. package/dist/formula/functions/not.js.map +1 -1
  116. package/dist/formula/functions/now.js +21 -31
  117. package/dist/formula/functions/now.js.map +1 -1
  118. package/dist/formula/functions/or.js +28 -38
  119. package/dist/formula/functions/or.js.map +1 -1
  120. package/dist/formula/functions/pi.js +19 -29
  121. package/dist/formula/functions/pi.js.map +1 -1
  122. package/dist/formula/functions/power.js +24 -34
  123. package/dist/formula/functions/power.js.map +1 -1
  124. package/dist/formula/functions/product.js +37 -47
  125. package/dist/formula/functions/product.js.map +1 -1
  126. package/dist/formula/functions/radians.js +26 -36
  127. package/dist/formula/functions/radians.js.map +1 -1
  128. package/dist/formula/functions/rand.js +19 -29
  129. package/dist/formula/functions/rand.js.map +1 -1
  130. package/dist/formula/functions/round.js +34 -44
  131. package/dist/formula/functions/round.js.map +1 -1
  132. package/dist/formula/functions/rounddown.js +34 -44
  133. package/dist/formula/functions/rounddown.js.map +1 -1
  134. package/dist/formula/functions/roundup.js +34 -44
  135. package/dist/formula/functions/roundup.js.map +1 -1
  136. package/dist/formula/functions/row.js +28 -38
  137. package/dist/formula/functions/row.js.map +1 -1
  138. package/dist/formula/functions/sin.js +26 -36
  139. package/dist/formula/functions/sin.js.map +1 -1
  140. package/dist/formula/functions/sqrt.js +28 -38
  141. package/dist/formula/functions/sqrt.js.map +1 -1
  142. package/dist/formula/functions/sum.js +42 -52
  143. package/dist/formula/functions/sum.js.map +1 -1
  144. package/dist/formula/functions/sum.spec.js +35 -45
  145. package/dist/formula/functions/sum.spec.js.map +1 -1
  146. package/dist/formula/functions/sumif.js +56 -66
  147. package/dist/formula/functions/sumif.js.map +1 -1
  148. package/dist/formula/functions/tan.js +26 -36
  149. package/dist/formula/functions/tan.js.map +1 -1
  150. package/dist/formula/functions/uminus.js +23 -33
  151. package/dist/formula/functions/uminus.js.map +1 -1
  152. package/dist/formula/functions/vlookup.js +67 -77
  153. package/dist/formula/functions/vlookup.js.map +1 -1
  154. package/dist/formula/mapping.js +116 -126
  155. package/dist/formula/mapping.js.map +1 -1
  156. package/dist/formula/solver.js +61 -71
  157. package/dist/formula/solver.js.map +1 -1
  158. package/dist/index.js +31 -41
  159. package/dist/index.js.map +1 -1
  160. package/dist/lib/autofill.js +334 -344
  161. package/dist/lib/autofill.js.map +1 -1
  162. package/dist/lib/clipboard.js +45 -55
  163. package/dist/lib/clipboard.js.map +1 -1
  164. package/dist/lib/converters.js +130 -140
  165. package/dist/lib/converters.js.map +1 -1
  166. package/dist/lib/hooks.d.ts +1 -0
  167. package/dist/lib/hooks.d.ts.map +1 -0
  168. package/dist/lib/hooks.js +2 -0
  169. package/dist/lib/hooks.js.map +1 -0
  170. package/dist/lib/structs.js +254 -264
  171. package/dist/lib/structs.js.map +1 -1
  172. package/dist/lib/table.d.ts +1 -3
  173. package/dist/lib/table.d.ts.map +1 -1
  174. package/dist/lib/table.js +897 -911
  175. package/dist/lib/table.js.map +1 -1
  176. package/dist/lib/time.d.ts.map +1 -1
  177. package/dist/lib/time.js +59 -69
  178. package/dist/lib/time.js.map +1 -1
  179. package/dist/lib/virtualization.d.ts +3 -21
  180. package/dist/lib/virtualization.d.ts.map +1 -1
  181. package/dist/lib/virtualization.js +115 -125
  182. package/dist/lib/virtualization.js.map +1 -1
  183. package/dist/parsers/core.js +109 -119
  184. package/dist/parsers/core.js.map +1 -1
  185. package/dist/renderers/checkbox.js +11 -21
  186. package/dist/renderers/checkbox.js.map +1 -1
  187. package/dist/renderers/core.d.ts +1 -1
  188. package/dist/renderers/core.d.ts.map +1 -1
  189. package/dist/renderers/core.js +129 -139
  190. package/dist/renderers/core.js.map +1 -1
  191. package/dist/renderers/thousand_separator.js +15 -25
  192. package/dist/renderers/thousand_separator.js.map +1 -1
  193. package/dist/store/actions.d.ts.map +1 -1
  194. package/dist/store/actions.js +484 -498
  195. package/dist/store/actions.js.map +1 -1
  196. package/dist/store/helpers.js +78 -88
  197. package/dist/store/helpers.js.map +1 -1
  198. package/dist/store/index.js +5 -15
  199. package/dist/store/index.js.map +1 -1
  200. package/dist/styles/embedder.js +17 -27
  201. package/dist/styles/embedder.js.map +1 -1
  202. package/dist/styles/minified.js +6 -16
  203. package/dist/styles/minified.js.map +1 -1
  204. package/dist/types.d.ts +6 -1
  205. package/dist/types.d.ts.map +1 -1
  206. package/dist/types.js +2 -12
  207. package/dist/utils.js +9 -19
  208. package/dist/utils.js.map +1 -1
  209. package/package.json +9 -2
@@ -1,218 +1,206 @@
1
+ "use strict";
1
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
2
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
3
4
  };
4
- (function (factory) {
5
- if (typeof module === "object" && typeof module.exports === "object") {
6
- var v = factory(require, exports);
7
- if (v !== undefined) module.exports = v;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Cell = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const converters_1 = require("../lib/converters");
9
+ const structs_1 = require("../lib/structs");
10
+ const actions_1 = require("../store/actions");
11
+ const constants_1 = require("../constants");
12
+ const store_1 = require("../store");
13
+ const evaluator_1 = require("../formula/evaluator");
14
+ const autofill_1 = require("../lib/autofill");
15
+ exports.Cell = react_1.default.memo(({ y, x }) => {
16
+ const rowId = (0, converters_1.y2r)(y);
17
+ const colId = (0, converters_1.x2c)(x);
18
+ const address = `${colId}${rowId}`;
19
+ const { store, dispatch } = react_1.default.useContext(store_1.Context);
20
+ const cellRef = react_1.default.useRef(null);
21
+ const { table, editingCell, choosing, selectingZone, headerTopSelecting, headerLeftSelecting, copyingZone, cutting, searchQuery, matchingCells, matchingCellIndex, editorRef, showAddress, autofillDraggingTo, } = store;
22
+ const [before, setBefore] = react_1.default.useState("");
23
+ const matchingCell = matchingCells[matchingCellIndex];
24
+ const selectingArea = (0, structs_1.zoneToArea)(selectingZone); // (top, left) -> (bottom, right)
25
+ const copyingArea = (0, structs_1.zoneToArea)(copyingZone); // (top, left) -> (bottom, right)
26
+ const editing = editingCell === address;
27
+ const pointed = choosing.y === y && choosing.x === x;
28
+ const _setEditorRect = react_1.default.useCallback(() => {
29
+ var _a;
30
+ const rect = (_a = cellRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
31
+ if (rect) {
32
+ dispatch((0, actions_1.setEditorRect)({
33
+ y: rect.top,
34
+ x: rect.left,
35
+ height: rect.height,
36
+ width: rect.width,
37
+ }));
38
+ }
39
+ }, []);
40
+ react_1.default.useEffect(() => {
41
+ if (pointed) {
42
+ _setEditorRect();
43
+ }
44
+ }, [pointed]);
45
+ const cell = table.getByPoint({ y, x });
46
+ const writeCell = (value) => {
47
+ if (before !== value) {
48
+ dispatch((0, actions_1.write)(value));
49
+ }
50
+ setBefore("");
51
+ };
52
+ let matching = false;
53
+ if (searchQuery && table.stringify({ y, x }).indexOf(searchQuery) !== -1) {
54
+ matching = true;
8
55
  }
9
- else if (typeof define === "function" && define.amd) {
10
- define(["require", "exports", "react", "../lib/converters", "../lib/structs", "../store/actions", "../constants", "../store", "../formula/evaluator", "../lib/autofill"], factory);
56
+ let errorMessage = "";
57
+ let rendered;
58
+ try {
59
+ rendered = table.render({ y, x }, writeCell);
11
60
  }
12
- })(function (require, exports) {
13
- "use strict";
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Cell = void 0;
16
- const react_1 = __importDefault(require("react"));
17
- const converters_1 = require("../lib/converters");
18
- const structs_1 = require("../lib/structs");
19
- const actions_1 = require("../store/actions");
20
- const constants_1 = require("../constants");
21
- const store_1 = require("../store");
22
- const evaluator_1 = require("../formula/evaluator");
23
- const autofill_1 = require("../lib/autofill");
24
- exports.Cell = react_1.default.memo(({ y, x }) => {
25
- const rowId = (0, converters_1.y2r)(y);
26
- const colId = (0, converters_1.x2c)(x);
27
- const address = `${colId}${rowId}`;
28
- const { store, dispatch } = react_1.default.useContext(store_1.Context);
29
- const cellRef = react_1.default.useRef(null);
30
- const { table, editingCell, choosing, selectingZone, headerTopSelecting, headerLeftSelecting, copyingZone, cutting, searchQuery, matchingCells, matchingCellIndex, editorRef, showAddress, autofillDraggingTo, } = store;
31
- const [before, setBefore] = react_1.default.useState("");
32
- const matchingCell = matchingCells[matchingCellIndex];
33
- const selectingArea = (0, structs_1.zoneToArea)(selectingZone); // (top, left) -> (bottom, right)
34
- const copyingArea = (0, structs_1.zoneToArea)(copyingZone); // (top, left) -> (bottom, right)
35
- const editing = editingCell === address;
36
- const pointed = choosing.y === y && choosing.x === x;
37
- const _setEditorRect = react_1.default.useCallback(() => {
38
- var _a;
39
- const rect = (_a = cellRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
40
- if (rect) {
41
- dispatch((0, actions_1.setEditorRect)({
42
- y: rect.top,
43
- x: rect.left,
44
- height: rect.height,
45
- width: rect.width,
46
- }));
47
- }
48
- }, []);
49
- react_1.default.useEffect(() => {
50
- if (pointed) {
51
- _setEditorRect();
52
- }
53
- }, [pointed]);
54
- const cell = table.getByPoint({ y, x });
55
- const writeCell = (value) => {
56
- if (before !== value) {
57
- dispatch((0, actions_1.write)(value));
58
- }
59
- setBefore("");
60
- };
61
- let matching = false;
62
- if (searchQuery && table.stringify({ y, x }).indexOf(searchQuery) !== -1) {
63
- matching = true;
61
+ catch (e) {
62
+ if (e instanceof evaluator_1.FormulaError) {
63
+ errorMessage = e.message;
64
+ rendered = e.code;
64
65
  }
65
- let errorMessage = "";
66
- let rendered;
67
- try {
68
- rendered = table.render({ y, x }, writeCell);
66
+ else {
67
+ errorMessage = e.message;
68
+ rendered = "#UNKNOWN";
69
+ console.error(e);
69
70
  }
70
- catch (e) {
71
- if (e instanceof evaluator_1.FormulaError) {
72
- errorMessage = e.message;
73
- rendered = e.code;
71
+ // TODO: debug flag
72
+ }
73
+ return (react_1.default.createElement("td", { key: x, ref: cellRef, "data-x": x, "data-y": y, "data-address": address, className: `gs-cell ${(0, structs_1.among)(copyingArea, { y, x }) ? "gs-copying" : ""} ${(0, structs_1.among)(selectingArea, { y, x }) ? "gs-selected" : ""} ${pointed ? "gs-pointed" : ""} ${editing ? "gs-editing" : ""} ${matching ? "gs-matching" : ""} ${matchingCell === address ? "gs-searching" : ""}`, style: Object.assign(Object.assign({}, cell === null || cell === void 0 ? void 0 : cell.style), getCellStyle({ target: { y, x }, store, pointed, selectingArea, copyingArea, autofillDraggingTo })), onContextMenu: (e) => {
74
+ e.preventDefault();
75
+ dispatch((0, actions_1.setContextMenuPosition)({ y: e.clientY, x: e.clientX }));
76
+ return false;
77
+ }, onClick: (e) => {
78
+ if (autofillDraggingTo) {
79
+ return false;
80
+ }
81
+ dispatch((0, actions_1.setContextMenuPosition)({ y: -1, x: -1 }));
82
+ if (e.shiftKey) {
83
+ dispatch((0, actions_1.drag)({ y, x }));
74
84
  }
75
85
  else {
76
- errorMessage = e.message;
77
- rendered = "#UNKNOWN";
78
- console.error(e);
86
+ dispatch((0, actions_1.choose)({ y, x }));
87
+ dispatch((0, actions_1.select)({ startY: -1, startX: -1, endY: -1, endX: -1 }));
79
88
  }
80
- // TODO: debug flag
81
- }
82
- return (react_1.default.createElement("td", { key: x, ref: cellRef, "data-x": x, "data-y": y, "data-address": address, className: `gs-cell ${(0, structs_1.among)(copyingArea, { y, x }) ? "gs-copying" : ""} ${(0, structs_1.among)(selectingArea, { y, x }) ? "gs-selected" : ""} ${pointed ? "gs-pointed" : ""} ${editing ? "gs-editing" : ""} ${matching ? "gs-matching" : ""} ${matchingCell === address ? "gs-searching" : ""}`, style: Object.assign(Object.assign({}, cell === null || cell === void 0 ? void 0 : cell.style), getCellStyle({ target: { y, x }, store, pointed, selectingArea, copyingArea, autofillDraggingTo })), onContextMenu: (e) => {
83
- e.preventDefault();
84
- dispatch((0, actions_1.setContextMenuPosition)({ y: e.clientY, x: e.clientX }));
89
+ editorRef.current.focus();
90
+ }, onDoubleClick: (e) => {
91
+ e.preventDefault();
92
+ const dblclick = document.createEvent("MouseEvents");
93
+ dblclick.initEvent("dblclick", true, true);
94
+ editorRef.current.dispatchEvent(dblclick);
95
+ return false;
96
+ }, draggable: true, onDragStart: (e) => {
97
+ if (autofillDraggingTo) {
85
98
  return false;
86
- }, onClick: (e) => {
87
- var _a;
88
- if (autofillDraggingTo) {
89
- return false;
90
- }
91
- dispatch((0, actions_1.setContextMenuPosition)({ y: -1, x: -1 }));
92
- if (e.shiftKey) {
93
- dispatch((0, actions_1.drag)({ y, x }));
94
- }
95
- else {
96
- dispatch((0, actions_1.choose)({ y, x }));
97
- dispatch((0, actions_1.select)({ startY: -1, startX: -1, endY: -1, endX: -1 }));
99
+ }
100
+ e.dataTransfer.setDragImage(constants_1.DUMMY_IMG, 0, 0);
101
+ dispatch((0, actions_1.choose)({ y, x }));
102
+ dispatch((0, actions_1.select)({ startY: y, startX: x, endY: y, endX: x }));
103
+ }, onDragEnd: (e) => {
104
+ if (autofillDraggingTo) {
105
+ if (autofillDraggingTo.x !== x || autofillDraggingTo.y !== y) {
106
+ const autofill = new autofill_1.Autofill(store, autofillDraggingTo);
107
+ dispatch((0, actions_1.updateTable)(autofill.applied));
108
+ dispatch((0, actions_1.select)((0, structs_1.areaToZone)(autofill.wholeArea)));
98
109
  }
99
- (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
100
- }, onDoubleClick: (e) => {
101
- var _a;
102
- e.preventDefault();
103
- const dblclick = document.createEvent("MouseEvents");
104
- dblclick.initEvent("dblclick", true, true);
105
- (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.dispatchEvent(dblclick);
110
+ dispatch((0, actions_1.setAutofillDraggingTo)(null));
106
111
  return false;
107
- }, draggable: true, onDragStart: (e) => {
108
- if (autofillDraggingTo) {
109
- return false;
110
- }
111
- e.dataTransfer.setDragImage(constants_1.DUMMY_IMG, 0, 0);
112
- dispatch((0, actions_1.choose)({ y, x }));
113
- dispatch((0, actions_1.select)({ startY: y, startX: x, endY: y, endX: x }));
114
- }, onDragEnd: (e) => {
115
- if (autofillDraggingTo) {
116
- if (autofillDraggingTo.x !== x || autofillDraggingTo.y !== y) {
117
- const autofill = new autofill_1.Autofill(store, autofillDraggingTo);
118
- dispatch((0, actions_1.updateTable)(autofill.applied));
119
- dispatch((0, actions_1.select)((0, structs_1.areaToZone)(autofill.wholeArea)));
120
- }
121
- dispatch((0, actions_1.setAutofillDraggingTo)(null));
122
- return false;
123
- }
124
- const { height: h, width: w } = (0, structs_1.zoneShape)(selectingZone);
125
- if (h + w === 0) {
126
- dispatch((0, actions_1.select)({ startY: -1, startX: -1, endY: -1, endX: -1 }));
127
- }
128
- }, onDragEnter: () => {
129
- if (autofillDraggingTo) {
130
- if (!(0, structs_1.among)(selectingArea, { x, y })) {
131
- dispatch((0, actions_1.setAutofillDraggingTo)({ x, y }));
132
- }
133
- return false;
134
- }
135
- if (headerTopSelecting) {
136
- dispatch((0, actions_1.drag)({ y: table.getNumRows(), x }));
137
- return false;
138
- }
139
- if (headerLeftSelecting) {
140
- dispatch((0, actions_1.drag)({ y, x: table.getNumCols() }));
141
- return false;
112
+ }
113
+ const { height: h, width: w } = (0, structs_1.zoneShape)(selectingZone);
114
+ if (h + w === 0) {
115
+ dispatch((0, actions_1.select)({ startY: -1, startX: -1, endY: -1, endX: -1 }));
116
+ }
117
+ }, onDragEnter: () => {
118
+ if (autofillDraggingTo) {
119
+ if (!(0, structs_1.among)(selectingArea, { x, y })) {
120
+ dispatch((0, actions_1.setAutofillDraggingTo)({ x, y }));
142
121
  }
143
- dispatch((0, actions_1.drag)({ y, x }));
144
122
  return false;
145
- } },
146
- react_1.default.createElement("div", { className: `gs-cell-rendered-wrapper-outer` },
147
- react_1.default.createElement("div", { className: 'gs-cell-rendered-wrapper-inner', style: {
148
- justifyContent: (cell === null || cell === void 0 ? void 0 : cell.justifyContent) || "left",
149
- alignItems: (cell === null || cell === void 0 ? void 0 : cell.alignItems) || "start",
150
- } },
151
- errorMessage && (react_1.default.createElement("div", { className: "formula-error-triangle", title: errorMessage })),
152
- showAddress && react_1.default.createElement("div", { className: "gs-cell-label" }, address),
153
- react_1.default.createElement("div", { className: "gs-cell-rendered" }, rendered)),
154
- ((pointed && selectingArea.bottom === -1) ||
155
- (selectingArea.bottom === y && selectingArea.right === x)) &&
156
- react_1.default.createElement("div", { className: "gs-autofill-drag", draggable: true, onDragStart: (e) => {
157
- e.dataTransfer.setDragImage(constants_1.DUMMY_IMG, 0, 0);
158
- dispatch((0, actions_1.setAutofillDraggingTo)({ x, y }));
159
- e.stopPropagation();
160
- //e.preventDefault();
161
- //return false;
162
- } }))));
163
- });
164
- const BORDER_POINTED = "solid 2px #0077ff";
165
- const BORDER_SELECTED = "solid 1px #0077ff";
166
- const BORDER_CUTTING = "dotted 2px #0077ff";
167
- const BORDER_COPYING = "dashed 2px #0077ff";
168
- const getCellStyle = ({ target, pointed, selectingArea, copyingArea, store, autofillDraggingTo }) => {
169
- const style = {};
170
- if (autofillDraggingTo) {
171
- const autofill = new autofill_1.Autofill(store, autofillDraggingTo);
172
- Object.assign(style, autofill.getCellStyle(target));
173
- }
174
- const { cutting } = store;
175
- const { y, x } = target;
176
- if (pointed) {
177
- style.borderTop = BORDER_POINTED;
178
- style.borderBottom = BORDER_POINTED;
179
- style.borderLeft = BORDER_POINTED;
180
- style.borderRight = BORDER_POINTED;
181
- }
182
- else {
183
- // selecting style
184
- const { top, left, bottom, right } = selectingArea;
185
- if (top === y && left <= x && x <= right) {
186
- style.borderTop = BORDER_SELECTED;
187
- }
188
- if (bottom === y && left <= x && x <= right) {
189
- style.borderBottom = BORDER_SELECTED;
190
123
  }
191
- if (left === x && top <= y && y <= bottom) {
192
- style.borderLeft = BORDER_SELECTED;
124
+ if (headerTopSelecting) {
125
+ dispatch((0, actions_1.drag)({ y: table.getNumRows(), x }));
126
+ return false;
193
127
  }
194
- if (right === x && top <= y && y <= bottom) {
195
- style.borderRight = BORDER_SELECTED;
128
+ if (headerLeftSelecting) {
129
+ dispatch((0, actions_1.drag)({ y, x: table.getNumCols() }));
130
+ return false;
196
131
  }
132
+ dispatch((0, actions_1.drag)({ y, x }));
133
+ return false;
134
+ } },
135
+ react_1.default.createElement("div", { className: `gs-cell-rendered-wrapper-outer` },
136
+ react_1.default.createElement("div", { className: 'gs-cell-rendered-wrapper-inner', style: {
137
+ justifyContent: (cell === null || cell === void 0 ? void 0 : cell.justifyContent) || "left",
138
+ alignItems: (cell === null || cell === void 0 ? void 0 : cell.alignItems) || "start",
139
+ } },
140
+ errorMessage && (react_1.default.createElement("div", { className: "formula-error-triangle", title: errorMessage })),
141
+ showAddress && react_1.default.createElement("div", { className: "gs-cell-label" }, address),
142
+ react_1.default.createElement("div", { className: "gs-cell-rendered" }, rendered)),
143
+ ((pointed && selectingArea.bottom === -1) ||
144
+ (selectingArea.bottom === y && selectingArea.right === x)) &&
145
+ react_1.default.createElement("div", { className: "gs-autofill-drag", draggable: true, onDragStart: (e) => {
146
+ e.dataTransfer.setDragImage(constants_1.DUMMY_IMG, 0, 0);
147
+ dispatch((0, actions_1.setAutofillDraggingTo)({ x, y }));
148
+ e.stopPropagation();
149
+ //e.preventDefault();
150
+ //return false;
151
+ } }))));
152
+ });
153
+ const BORDER_POINTED = "solid 2px #0077ff";
154
+ const BORDER_SELECTED = "solid 1px #0077ff";
155
+ const BORDER_CUTTING = "dotted 2px #0077ff";
156
+ const BORDER_COPYING = "dashed 2px #0077ff";
157
+ const getCellStyle = ({ target, pointed, selectingArea, copyingArea, store, autofillDraggingTo }) => {
158
+ const style = {};
159
+ if (autofillDraggingTo) {
160
+ const autofill = new autofill_1.Autofill(store, autofillDraggingTo);
161
+ Object.assign(style, autofill.getCellStyle(target));
162
+ }
163
+ const { cutting } = store;
164
+ const { y, x } = target;
165
+ if (pointed) {
166
+ style.borderTop = BORDER_POINTED;
167
+ style.borderBottom = BORDER_POINTED;
168
+ style.borderLeft = BORDER_POINTED;
169
+ style.borderRight = BORDER_POINTED;
170
+ }
171
+ else {
172
+ // selecting style
173
+ const { top, left, bottom, right } = selectingArea;
174
+ if (top === y && left <= x && x <= right) {
175
+ style.borderTop = BORDER_SELECTED;
197
176
  }
198
- // copy or cut style
199
- {
200
- const { top, left, bottom, right } = copyingArea;
201
- const border = cutting ? BORDER_CUTTING : BORDER_COPYING;
202
- if (top === y && left <= x && x <= right) {
203
- style.borderTop = border;
204
- }
205
- if (bottom === y && left <= x && x <= right) {
206
- style.borderBottom = border;
207
- }
208
- if (left === x && top <= y && y <= bottom) {
209
- style.borderLeft = border;
210
- }
211
- if (right === x && top <= y && y <= bottom) {
212
- style.borderRight = border;
213
- }
177
+ if (bottom === y && left <= x && x <= right) {
178
+ style.borderBottom = BORDER_SELECTED;
214
179
  }
215
- return style;
216
- };
217
- });
180
+ if (left === x && top <= y && y <= bottom) {
181
+ style.borderLeft = BORDER_SELECTED;
182
+ }
183
+ if (right === x && top <= y && y <= bottom) {
184
+ style.borderRight = BORDER_SELECTED;
185
+ }
186
+ }
187
+ // copy or cut style
188
+ {
189
+ const { top, left, bottom, right } = copyingArea;
190
+ const border = cutting ? BORDER_CUTTING : BORDER_COPYING;
191
+ if (top === y && left <= x && x <= right) {
192
+ style.borderTop = border;
193
+ }
194
+ if (bottom === y && left <= x && x <= right) {
195
+ style.borderBottom = border;
196
+ }
197
+ if (left === x && top <= y && y <= bottom) {
198
+ style.borderLeft = border;
199
+ }
200
+ if (right === x && top <= y && y <= bottom) {
201
+ style.borderRight = border;
202
+ }
203
+ }
204
+ return style;
205
+ };
218
206
  //# sourceMappingURL=Cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../src/components/Cell.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;IAAA,kDAA0B;IAC1B,kDAA6C;IAC7C,4CAAwE;IACxE,8CAO0B;IAE1B,4CAAyC;IAGzC,oCAAmC;IACnC,oDAAoD;IACpD,8CAEyB;IAOZ,QAAA,IAAI,GAAoB,eAAK,CAAC,IAAI,CAC7C,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,IAAA,gBAAG,EAAC,CAAC,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,IAAA,gBAAG,EAAC,CAAC,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;QACnC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAK,CAAC,UAAU,CAAC,eAAO,CAAC,CAAC;QAEtD,MAAM,OAAO,GAAG,eAAK,CAAC,MAAM,CAAuB,IAAI,CAAC,CAAC;QACzD,MAAM,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,kBAAkB,GACnB,GAAG,KAAK,CAAC;QAEV,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAEtD,MAAM,aAAa,GAAG,IAAA,oBAAU,EAAC,aAAa,CAAC,CAAC,CAAC,iCAAiC;QAClF,MAAM,WAAW,GAAG,IAAA,oBAAU,EAAC,WAAW,CAAC,CAAC,CAAC,iCAAiC;QAC9E,MAAM,OAAO,GAAG,WAAW,KAAK,OAAO,CAAC;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE;;YAC5C,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAE,qBAAqB,EAAE,CAAC;YACtD,IAAI,IAAI,EAAE;gBACR,QAAQ,CACN,IAAA,uBAAa,EAAC;oBACZ,CAAC,EAAE,IAAI,CAAC,GAAG;oBACX,CAAC,EAAE,IAAI,CAAC,IAAI;oBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CACH,CAAC;aACH;QACH,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,IAAI,OAAO,EAAE;gBACX,cAAc,EAAE,CAAC;aAClB;QACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE;YAClC,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpB,QAAQ,CAAC,IAAA,eAAK,EAAC,KAAK,CAAC,CAAC,CAAC;aACxB;YACD,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,WAAW,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;YACxE,QAAQ,GAAG,IAAI,CAAC;SACjB;QAED,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC;QACb,IAAI;YACF,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SAC9C;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,YAAY,wBAAY,EAAE;gBAC7B,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;gBACzB,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;aACnB;iBAAM;gBACL,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;gBACzB,QAAQ,GAAG,UAAU,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClB;YACD,mBAAmB;SACpB;QACD,OAAO,CACL,sCACE,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,OAAO,YACJ,CAAC,YACD,CAAC,kBACK,OAAO,EACrB,SAAS,EAAE,WACT,IAAA,eAAK,EAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAChD,IACE,IAAA,eAAK,EAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EACnD,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAC7B,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAC7B,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAC/B,IAAI,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAChD,EAAE,EACF,KAAK,kCACA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,GACX,YAAY,CAAC,EAAC,MAAM,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAC,CAAC,GAEnG,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAA,gCAAsB,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO,KAAK,CAAC;YACf,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;;gBACb,IAAI,kBAAkB,EAAE;oBACtB,OAAO,KAAK,CAAC;iBACd;gBACD,QAAQ,CAAC,IAAA,gCAAsB,EAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,CAAC,QAAQ,EAAE;oBACd,QAAQ,CAAC,IAAA,cAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC1B;qBAAM;oBACL,QAAQ,CAAC,IAAA,gBAAM,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3B,QAAQ,CAAC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAClE;gBACD,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC7B,CAAC,EACD,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;;gBACnB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACrD,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3C,MAAA,SAAS,CAAC,OAAO,0CAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC,EACD,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;gBACjB,IAAI,kBAAkB,EAAE;oBACtB,OAAO,KAAK,CAAC;iBACd;gBACD,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,qBAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAA,gBAAM,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,QAAQ,CAAC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,IAAI,kBAAkB,EAAE;oBACtB,IAAI,kBAAkB,CAAC,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC,KAAK,CAAC,EAAE;wBAC5D,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;wBACzD,QAAQ,CAAC,IAAA,qBAAW,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;wBACxC,QAAQ,CAAC,IAAA,gBAAM,EAAC,IAAA,oBAAU,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;qBAClD;oBACD,QAAQ,CAAC,IAAA,+BAAqB,EAAC,IAAI,CAAC,CAAC,CAAC;oBACtC,OAAO,KAAK,CAAC;iBACd;gBACD,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAA,mBAAS,EAAC,aAAa,CAAC,CAAC;gBACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACf,QAAQ,CAAC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAClE;YACH,CAAC,EACD,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,kBAAkB,EAAE;oBACtB,IAAI,CAAC,IAAA,eAAK,EAAC,aAAa,EAAE,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE;wBACjC,QAAQ,CAAC,IAAA,+BAAqB,EAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;qBACzC;oBACD,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,kBAAkB,EAAE;oBACtB,QAAQ,CAAC,IAAA,cAAI,EAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,mBAAmB,EAAE;oBACvB,QAAQ,CAAC,IAAA,cAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO,KAAK,CAAC;iBACd;gBACD,QAAQ,CAAC,IAAA,cAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,uCAAK,SAAS,EAAE,gCAAgC;gBAC9C,uCACE,SAAS,EAAE,gCAAgC,EAC3C,KAAK,EAAE;wBACL,cAAc,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,KAAI,MAAM;wBAC9C,UAAU,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,KAAI,OAAO;qBACxC;oBAEA,YAAY,IAAI,CACf,uCAAK,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,YAAY,GAAI,CAChE;oBACA,WAAW,IAAI,uCAAK,SAAS,EAAC,eAAe,IAAE,OAAO,CAAO;oBAC9D,uCAAK,SAAS,EAAC,kBAAkB,IAAE,QAAQ,CAAO,CAC9C;gBACL,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;oBACxC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;oBAC1D,uCACE,SAAS,EAAC,kBAAkB,EAC5B,SAAS,QACT,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;4BACjB,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,qBAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;4BAC7C,QAAQ,CAAC,IAAA,+BAAqB,EAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;4BACxC,CAAC,CAAC,eAAe,EAAE,CAAC;4BACpB,qBAAqB;4BACrB,eAAe;wBACjB,CAAC,GACI,CAEL,CACH,CACN,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,mBAAmB,CAAC;IAC3C,MAAM,eAAe,GAAG,mBAAmB,CAAC;IAC5C,MAAM,cAAc,GAAG,oBAAoB,CAAC;IAC5C,MAAM,cAAc,GAAG,oBAAoB,CAAC;IAE5C,MAAM,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAO7F,EAAuB,EAAE;QACxB,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,IAAI,kBAAkB,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;SACrD;QACD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;QACxB,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,CAAC;QACtB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC;YACjC,KAAK,CAAC,YAAY,GAAG,cAAc,CAAC;YACpC,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC;YAClC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;SACpC;aACI;YACH,kBAAkB;YAClB,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,aAAa,CAAC;YACjD,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;gBACxC,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;aACnC;YACD,IAAI,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;gBAC3C,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC;aACtC;YACD,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;gBACzC,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC;aACpC;YACD,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;gBAC1C,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC;aACrC;SACF;QACD,oBAAoB;QACpB;YACE,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,GAAG,WAAW,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;YACzD,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;gBACxC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;aAC1B;YACD,IAAI,MAAM,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;gBAC3C,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;aAC7B;YACD,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;gBACzC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;aAC3B;YACD,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;gBAC1C,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;aAC5B;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC"}
1
+ {"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../src/components/Cell.tsx"],"names":[],"mappings":"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"}