@gridsheet/react-core 1.3.1 → 1.4.0-alpha.0

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 (367) hide show
  1. package/dist/components/Cell.d.ts +2 -2
  2. package/dist/components/Cell.d.ts.map +1 -1
  3. package/dist/components/ContextMenu.d.ts +1 -1
  4. package/dist/components/ContextMenu.d.ts.map +1 -1
  5. package/dist/components/Editor.d.ts +4 -4
  6. package/dist/components/Editor.d.ts.map +1 -1
  7. package/dist/components/Emitter.d.ts +2 -2
  8. package/dist/components/Emitter.d.ts.map +1 -1
  9. package/dist/components/Fixed.d.ts +2 -2
  10. package/dist/components/Fixed.d.ts.map +1 -1
  11. package/dist/components/FormulaBar.d.ts +1 -1
  12. package/dist/components/FormulaBar.d.ts.map +1 -1
  13. package/dist/components/GridSheet.d.ts +2 -2
  14. package/dist/components/GridSheet.d.ts.map +1 -1
  15. package/dist/components/HeaderCellLeft.d.ts +2 -2
  16. package/dist/components/HeaderCellLeft.d.ts.map +1 -1
  17. package/dist/components/HeaderCellTop.d.ts +2 -2
  18. package/dist/components/HeaderCellTop.d.ts.map +1 -1
  19. package/dist/components/PluginBase.d.ts +3 -3
  20. package/dist/components/PluginBase.d.ts.map +1 -1
  21. package/dist/components/Resizer.d.ts +1 -1
  22. package/dist/components/Resizer.d.ts.map +1 -1
  23. package/dist/components/SearchBar.d.ts +1 -1
  24. package/dist/components/SearchBar.d.ts.map +1 -1
  25. package/dist/components/SheetProvider.d.ts +3 -3
  26. package/dist/components/SheetProvider.d.ts.map +1 -1
  27. package/dist/components/StoreInitializer.d.ts +1 -1
  28. package/dist/components/StoreInitializer.d.ts.map +1 -1
  29. package/dist/components/Tabular.d.ts +2 -2
  30. package/dist/components/Tabular.d.ts.map +1 -1
  31. package/dist/components/Toggle.d.ts +12 -0
  32. package/dist/components/Toggle.d.ts.map +1 -0
  33. package/dist/components/hooks.d.ts.map +1 -1
  34. package/dist/components/svg/AddIcon.d.ts +4 -0
  35. package/dist/components/svg/AddIcon.d.ts.map +1 -0
  36. package/dist/components/svg/Base.d.ts +1 -1
  37. package/dist/components/svg/Base.d.ts.map +1 -1
  38. package/dist/components/svg/CloseIcon.d.ts +2 -2
  39. package/dist/components/svg/CloseIcon.d.ts.map +1 -1
  40. package/dist/components/svg/SearchIcon.d.ts +2 -2
  41. package/dist/components/svg/SearchIcon.d.ts.map +1 -1
  42. package/dist/constants.d.ts.map +1 -1
  43. package/dist/formula/evaluator.d.ts +5 -5
  44. package/dist/formula/evaluator.d.ts.map +1 -1
  45. package/dist/formula/functions/__base.d.ts +2 -2
  46. package/dist/formula/functions/__base.d.ts.map +1 -1
  47. package/dist/formula/functions/__utils.d.ts.map +1 -1
  48. package/dist/formula/functions/abs.d.ts.map +1 -1
  49. package/dist/formula/functions/abs.spec.d.ts.map +1 -1
  50. package/dist/formula/functions/acos.d.ts.map +1 -1
  51. package/dist/formula/functions/add.d.ts.map +1 -1
  52. package/dist/formula/functions/and.d.ts.map +1 -1
  53. package/dist/formula/functions/asin.d.ts.map +1 -1
  54. package/dist/formula/functions/atan.d.ts.map +1 -1
  55. package/dist/formula/functions/atan2.d.ts.map +1 -1
  56. package/dist/formula/functions/average.d.ts.map +1 -1
  57. package/dist/formula/functions/col.d.ts.map +1 -1
  58. package/dist/formula/functions/concat.d.ts.map +1 -1
  59. package/dist/formula/functions/concatenate.d.ts.map +1 -1
  60. package/dist/formula/functions/cos.d.ts.map +1 -1
  61. package/dist/formula/functions/count.d.ts.map +1 -1
  62. package/dist/formula/functions/counta.d.ts.map +1 -1
  63. package/dist/formula/functions/countif.d.ts.map +1 -1
  64. package/dist/formula/functions/countif.spec.d.ts.map +1 -1
  65. package/dist/formula/functions/divide.d.ts.map +1 -1
  66. package/dist/formula/functions/eq.d.ts.map +1 -1
  67. package/dist/formula/functions/eq.spec.d.ts.map +1 -1
  68. package/dist/formula/functions/exp.d.ts.map +1 -1
  69. package/dist/formula/functions/gt.d.ts.map +1 -1
  70. package/dist/formula/functions/gte.d.ts.map +1 -1
  71. package/dist/formula/functions/hlookup.d.ts.map +1 -1
  72. package/dist/formula/functions/if.d.ts.map +1 -1
  73. package/dist/formula/functions/iferror.d.ts.map +1 -1
  74. package/dist/formula/functions/iferror.spec.d.ts.map +1 -1
  75. package/dist/formula/functions/len.d.ts.map +1 -1
  76. package/dist/formula/functions/lenb.d.ts.map +1 -1
  77. package/dist/formula/functions/ln.d.ts.map +1 -1
  78. package/dist/formula/functions/log.d.ts.map +1 -1
  79. package/dist/formula/functions/log10.d.ts.map +1 -1
  80. package/dist/formula/functions/lt.d.ts.map +1 -1
  81. package/dist/formula/functions/lte.d.ts.map +1 -1
  82. package/dist/formula/functions/max.d.ts.map +1 -1
  83. package/dist/formula/functions/min.d.ts.map +1 -1
  84. package/dist/formula/functions/minus.d.ts.map +1 -1
  85. package/dist/formula/functions/mod.d.ts.map +1 -1
  86. package/dist/formula/functions/mod.spec.d.ts.map +1 -1
  87. package/dist/formula/functions/multiply.d.ts.map +1 -1
  88. package/dist/formula/functions/ne.d.ts.map +1 -1
  89. package/dist/formula/functions/not.d.ts.map +1 -1
  90. package/dist/formula/functions/now.d.ts.map +1 -1
  91. package/dist/formula/functions/or.d.ts.map +1 -1
  92. package/dist/formula/functions/pi.d.ts.map +1 -1
  93. package/dist/formula/functions/power.d.ts.map +1 -1
  94. package/dist/formula/functions/product.d.ts.map +1 -1
  95. package/dist/formula/functions/radians.d.ts.map +1 -1
  96. package/dist/formula/functions/rand.d.ts.map +1 -1
  97. package/dist/formula/functions/round.d.ts.map +1 -1
  98. package/dist/formula/functions/rounddown.d.ts.map +1 -1
  99. package/dist/formula/functions/roundup.d.ts.map +1 -1
  100. package/dist/formula/functions/row.d.ts.map +1 -1
  101. package/dist/formula/functions/sin.d.ts.map +1 -1
  102. package/dist/formula/functions/sqrt.d.ts.map +1 -1
  103. package/dist/formula/functions/sum.d.ts.map +1 -1
  104. package/dist/formula/functions/sum.spec.d.ts.map +1 -1
  105. package/dist/formula/functions/sumif.d.ts.map +1 -1
  106. package/dist/formula/functions/tan.d.ts.map +1 -1
  107. package/dist/formula/functions/uminus.d.ts.map +1 -1
  108. package/dist/formula/functions/vlookup.d.ts.map +1 -1
  109. package/dist/formula/mapping.d.ts +1 -1
  110. package/dist/formula/mapping.d.ts.map +1 -1
  111. package/dist/formula/solver.d.ts +3 -3
  112. package/dist/formula/solver.d.ts.map +1 -1
  113. package/dist/index.d.ts +6 -2
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +6823 -58
  116. package/dist/lib/autofill.d.ts +3 -3
  117. package/dist/lib/autofill.d.ts.map +1 -1
  118. package/dist/lib/clipboard.d.ts +1 -1
  119. package/dist/lib/clipboard.d.ts.map +1 -1
  120. package/dist/lib/converters.d.ts +1 -1
  121. package/dist/lib/converters.d.ts.map +1 -1
  122. package/dist/lib/input.d.ts.map +1 -1
  123. package/dist/lib/palette.d.ts.map +1 -1
  124. package/dist/lib/prevention.d.ts.map +1 -1
  125. package/dist/lib/structs.d.ts +21 -21
  126. package/dist/lib/structs.d.ts.map +1 -1
  127. package/dist/lib/table.d.ts +8 -8
  128. package/dist/lib/table.d.ts.map +1 -1
  129. package/dist/lib/time.d.ts +1 -1
  130. package/dist/lib/time.d.ts.map +1 -1
  131. package/dist/lib/virtualization.d.ts +1 -1
  132. package/dist/lib/virtualization.d.ts.map +1 -1
  133. package/dist/parsers/core.d.ts +4 -4
  134. package/dist/parsers/core.d.ts.map +1 -1
  135. package/dist/renderers/checkbox.d.ts.map +1 -1
  136. package/dist/renderers/core.d.ts +4 -4
  137. package/dist/renderers/core.d.ts.map +1 -1
  138. package/dist/renderers/thousand_separator.d.ts.map +1 -1
  139. package/dist/store/actions.d.ts +7 -4
  140. package/dist/store/actions.d.ts.map +1 -1
  141. package/dist/store/helpers.d.ts.map +1 -1
  142. package/dist/store/index.d.ts +2 -2
  143. package/dist/store/index.d.ts.map +1 -1
  144. package/dist/styles/embedder.d.ts.map +1 -1
  145. package/dist/styles/minified.d.ts +2 -2
  146. package/dist/styles/minified.d.ts.map +1 -1
  147. package/dist/types.d.ts +51 -49
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/utils.d.ts.map +1 -1
  150. package/package.json +19 -43
  151. package/LICENSE +0 -190
  152. package/README.md +0 -26
  153. package/dist/components/Cell.js +0 -188
  154. package/dist/components/Cell.js.map +0 -1
  155. package/dist/components/ContextMenu.js +0 -246
  156. package/dist/components/ContextMenu.js.map +0 -1
  157. package/dist/components/Editor.js +0 -436
  158. package/dist/components/Editor.js.map +0 -1
  159. package/dist/components/Emitter.js +0 -33
  160. package/dist/components/Emitter.js.map +0 -1
  161. package/dist/components/Fixed.js +0 -30
  162. package/dist/components/Fixed.js.map +0 -1
  163. package/dist/components/FormulaBar.js +0 -152
  164. package/dist/components/FormulaBar.js.map +0 -1
  165. package/dist/components/GridSheet.js +0 -208
  166. package/dist/components/GridSheet.js.map +0 -1
  167. package/dist/components/HeaderCellLeft.js +0 -121
  168. package/dist/components/HeaderCellLeft.js.map +0 -1
  169. package/dist/components/HeaderCellTop.js +0 -122
  170. package/dist/components/HeaderCellTop.js.map +0 -1
  171. package/dist/components/PluginBase.js +0 -41
  172. package/dist/components/PluginBase.js.map +0 -1
  173. package/dist/components/Resizer.js +0 -91
  174. package/dist/components/Resizer.js.map +0 -1
  175. package/dist/components/SearchBar.js +0 -73
  176. package/dist/components/SearchBar.js.map +0 -1
  177. package/dist/components/SheetProvider.js +0 -60
  178. package/dist/components/SheetProvider.js.map +0 -1
  179. package/dist/components/StoreInitializer.js +0 -73
  180. package/dist/components/StoreInitializer.js.map +0 -1
  181. package/dist/components/Tabular.js +0 -249
  182. package/dist/components/Tabular.js.map +0 -1
  183. package/dist/components/hooks.js +0 -20
  184. package/dist/components/hooks.js.map +0 -1
  185. package/dist/components/svg/Base.js +0 -13
  186. package/dist/components/svg/Base.js.map +0 -1
  187. package/dist/components/svg/CloseIcon.js +0 -17
  188. package/dist/components/svg/CloseIcon.js.map +0 -1
  189. package/dist/components/svg/SearchIcon.js +0 -17
  190. package/dist/components/svg/SearchIcon.js.map +0 -1
  191. package/dist/constants.js +0 -29
  192. package/dist/constants.js.map +0 -1
  193. package/dist/formula/evaluator.js +0 -726
  194. package/dist/formula/evaluator.js.map +0 -1
  195. package/dist/formula/functions/__base.js +0 -22
  196. package/dist/formula/functions/__base.js.map +0 -1
  197. package/dist/formula/functions/__utils.js +0 -162
  198. package/dist/formula/functions/__utils.js.map +0 -1
  199. package/dist/formula/functions/abs.js +0 -25
  200. package/dist/formula/functions/abs.js.map +0 -1
  201. package/dist/formula/functions/abs.spec.js +0 -30
  202. package/dist/formula/functions/abs.spec.js.map +0 -1
  203. package/dist/formula/functions/acos.js +0 -33
  204. package/dist/formula/functions/acos.js.map +0 -1
  205. package/dist/formula/functions/add.js +0 -65
  206. package/dist/formula/functions/add.js.map +0 -1
  207. package/dist/formula/functions/and.js +0 -29
  208. package/dist/formula/functions/and.js.map +0 -1
  209. package/dist/formula/functions/asin.js +0 -33
  210. package/dist/formula/functions/asin.js.map +0 -1
  211. package/dist/formula/functions/atan.js +0 -30
  212. package/dist/formula/functions/atan.js.map +0 -1
  213. package/dist/formula/functions/atan2.js +0 -36
  214. package/dist/formula/functions/atan2.js.map +0 -1
  215. package/dist/formula/functions/average.js +0 -47
  216. package/dist/formula/functions/average.js.map +0 -1
  217. package/dist/formula/functions/col.js +0 -35
  218. package/dist/formula/functions/col.js.map +0 -1
  219. package/dist/formula/functions/concat.js +0 -28
  220. package/dist/formula/functions/concat.js.map +0 -1
  221. package/dist/formula/functions/concatenate.js +0 -29
  222. package/dist/formula/functions/concatenate.js.map +0 -1
  223. package/dist/formula/functions/cos.js +0 -30
  224. package/dist/formula/functions/cos.js.map +0 -1
  225. package/dist/formula/functions/count.js +0 -40
  226. package/dist/formula/functions/count.js.map +0 -1
  227. package/dist/formula/functions/counta.js +0 -40
  228. package/dist/formula/functions/counta.js.map +0 -1
  229. package/dist/formula/functions/countif.js +0 -33
  230. package/dist/formula/functions/countif.js.map +0 -1
  231. package/dist/formula/functions/countif.spec.js +0 -185
  232. package/dist/formula/functions/countif.spec.js.map +0 -1
  233. package/dist/formula/functions/divide.js +0 -34
  234. package/dist/formula/functions/divide.js.map +0 -1
  235. package/dist/formula/functions/eq.js +0 -30
  236. package/dist/formula/functions/eq.js.map +0 -1
  237. package/dist/formula/functions/eq.spec.js +0 -92
  238. package/dist/formula/functions/eq.spec.js.map +0 -1
  239. package/dist/formula/functions/exp.js +0 -30
  240. package/dist/formula/functions/exp.js.map +0 -1
  241. package/dist/formula/functions/gt.js +0 -30
  242. package/dist/formula/functions/gt.js.map +0 -1
  243. package/dist/formula/functions/gte.js +0 -30
  244. package/dist/formula/functions/gte.js.map +0 -1
  245. package/dist/formula/functions/hlookup.js +0 -78
  246. package/dist/formula/functions/hlookup.js.map +0 -1
  247. package/dist/formula/functions/if.js +0 -40
  248. package/dist/formula/functions/if.js.map +0 -1
  249. package/dist/formula/functions/iferror.js +0 -45
  250. package/dist/formula/functions/iferror.js.map +0 -1
  251. package/dist/formula/functions/iferror.spec.js +0 -62
  252. package/dist/formula/functions/iferror.spec.js.map +0 -1
  253. package/dist/formula/functions/len.js +0 -30
  254. package/dist/formula/functions/len.js.map +0 -1
  255. package/dist/formula/functions/lenb.js +0 -30
  256. package/dist/formula/functions/lenb.js.map +0 -1
  257. package/dist/formula/functions/ln.js +0 -33
  258. package/dist/formula/functions/ln.js.map +0 -1
  259. package/dist/formula/functions/log.js +0 -37
  260. package/dist/formula/functions/log.js.map +0 -1
  261. package/dist/formula/functions/log10.js +0 -33
  262. package/dist/formula/functions/log10.js.map +0 -1
  263. package/dist/formula/functions/lt.js +0 -30
  264. package/dist/formula/functions/lt.js.map +0 -1
  265. package/dist/formula/functions/lte.js +0 -30
  266. package/dist/formula/functions/lte.js.map +0 -1
  267. package/dist/formula/functions/max.js +0 -50
  268. package/dist/formula/functions/max.js.map +0 -1
  269. package/dist/formula/functions/min.js +0 -50
  270. package/dist/formula/functions/min.js.map +0 -1
  271. package/dist/formula/functions/minus.js +0 -63
  272. package/dist/formula/functions/minus.js.map +0 -1
  273. package/dist/formula/functions/mod.js +0 -35
  274. package/dist/formula/functions/mod.js.map +0 -1
  275. package/dist/formula/functions/mod.spec.js +0 -67
  276. package/dist/formula/functions/mod.spec.js.map +0 -1
  277. package/dist/formula/functions/multiply.js +0 -28
  278. package/dist/formula/functions/multiply.js.map +0 -1
  279. package/dist/formula/functions/ne.js +0 -30
  280. package/dist/formula/functions/ne.js.map +0 -1
  281. package/dist/formula/functions/not.js +0 -31
  282. package/dist/formula/functions/not.js.map +0 -1
  283. package/dist/formula/functions/now.js +0 -23
  284. package/dist/formula/functions/now.js.map +0 -1
  285. package/dist/formula/functions/or.js +0 -29
  286. package/dist/formula/functions/or.js.map +0 -1
  287. package/dist/formula/functions/pi.js +0 -23
  288. package/dist/formula/functions/pi.js.map +0 -1
  289. package/dist/formula/functions/power.js +0 -28
  290. package/dist/formula/functions/power.js.map +0 -1
  291. package/dist/formula/functions/product.js +0 -43
  292. package/dist/formula/functions/product.js.map +0 -1
  293. package/dist/formula/functions/radians.js +0 -30
  294. package/dist/formula/functions/radians.js.map +0 -1
  295. package/dist/formula/functions/rand.js +0 -23
  296. package/dist/formula/functions/rand.js.map +0 -1
  297. package/dist/formula/functions/round.js +0 -36
  298. package/dist/formula/functions/round.js.map +0 -1
  299. package/dist/formula/functions/rounddown.js +0 -36
  300. package/dist/formula/functions/rounddown.js.map +0 -1
  301. package/dist/formula/functions/roundup.js +0 -36
  302. package/dist/formula/functions/roundup.js.map +0 -1
  303. package/dist/formula/functions/row.js +0 -35
  304. package/dist/formula/functions/row.js.map +0 -1
  305. package/dist/formula/functions/sin.js +0 -30
  306. package/dist/formula/functions/sin.js.map +0 -1
  307. package/dist/formula/functions/sqrt.js +0 -33
  308. package/dist/formula/functions/sqrt.js.map +0 -1
  309. package/dist/formula/functions/sum.js +0 -50
  310. package/dist/formula/functions/sum.js.map +0 -1
  311. package/dist/formula/functions/sum.spec.js +0 -39
  312. package/dist/formula/functions/sum.spec.js.map +0 -1
  313. package/dist/formula/functions/sumif.js +0 -64
  314. package/dist/formula/functions/sumif.js.map +0 -1
  315. package/dist/formula/functions/tan.js +0 -30
  316. package/dist/formula/functions/tan.js.map +0 -1
  317. package/dist/formula/functions/uminus.js +0 -25
  318. package/dist/formula/functions/uminus.js.map +0 -1
  319. package/dist/formula/functions/vlookup.js +0 -78
  320. package/dist/formula/functions/vlookup.js.map +0 -1
  321. package/dist/formula/mapping.js +0 -118
  322. package/dist/formula/mapping.js.map +0 -1
  323. package/dist/formula/solver.js +0 -75
  324. package/dist/formula/solver.js.map +0 -1
  325. package/dist/index.js.map +0 -1
  326. package/dist/lib/autofill.js +0 -406
  327. package/dist/lib/autofill.js.map +0 -1
  328. package/dist/lib/clipboard.js +0 -50
  329. package/dist/lib/clipboard.js.map +0 -1
  330. package/dist/lib/converters.js +0 -145
  331. package/dist/lib/converters.js.map +0 -1
  332. package/dist/lib/input.js +0 -60
  333. package/dist/lib/input.js.map +0 -1
  334. package/dist/lib/palette.js +0 -24
  335. package/dist/lib/palette.js.map +0 -1
  336. package/dist/lib/prevention.js +0 -64
  337. package/dist/lib/prevention.js.map +0 -1
  338. package/dist/lib/structs.js +0 -308
  339. package/dist/lib/structs.js.map +0 -1
  340. package/dist/lib/table.js +0 -1160
  341. package/dist/lib/table.js.map +0 -1
  342. package/dist/lib/time.js +0 -78
  343. package/dist/lib/time.js.map +0 -1
  344. package/dist/lib/virtualization.js +0 -149
  345. package/dist/lib/virtualization.js.map +0 -1
  346. package/dist/parsers/core.js +0 -147
  347. package/dist/parsers/core.js.map +0 -1
  348. package/dist/renderers/checkbox.js +0 -16
  349. package/dist/renderers/checkbox.js.map +0 -1
  350. package/dist/renderers/core.js +0 -161
  351. package/dist/renderers/core.js.map +0 -1
  352. package/dist/renderers/thousand_separator.js +0 -17
  353. package/dist/renderers/thousand_separator.js.map +0 -1
  354. package/dist/store/actions.js +0 -603
  355. package/dist/store/actions.js.map +0 -1
  356. package/dist/store/helpers.js +0 -89
  357. package/dist/store/helpers.js.map +0 -1
  358. package/dist/store/index.js +0 -29
  359. package/dist/store/index.js.map +0 -1
  360. package/dist/styles/embedder.js +0 -20
  361. package/dist/styles/embedder.js.map +0 -1
  362. package/dist/styles/minified.js +0 -7
  363. package/dist/styles/minified.js.map +0 -1
  364. package/dist/types.js +0 -3
  365. package/dist/types.js.map +0 -1
  366. package/dist/utils.js +0 -12
  367. package/dist/utils.js.map +0 -1
@@ -1,188 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
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
- const input_1 = require("../lib/input");
16
- const SheetProvider_1 = require("./SheetProvider");
17
- exports.Cell = react_1.default.memo(({ y, x, operationStyle }) => {
18
- const rowId = (0, converters_1.y2r)(y);
19
- const colId = (0, converters_1.x2c)(x);
20
- const address = `${colId}${rowId}`;
21
- const { store, dispatch } = react_1.default.useContext(store_1.Context);
22
- const isFirstPointed = react_1.default.useRef(true);
23
- const [sheetProvided, sheetContext] = (0, SheetProvider_1.useSheetContext)();
24
- const cellRef = react_1.default.useRef(null);
25
- const { table, editingCell, choosing, selectingZone, leftHeaderSelecting, topHeaderSelecting, editorRef, showAddress, autofillDraggingTo, lastEdited, } = store;
26
- // Whether the focus is on another sheet
27
- const differentSheetFocused = sheetProvided && (sheetContext === null || sheetContext === void 0 ? void 0 : sheetContext.lastFocusedRef) !== store.lastFocusedRef;
28
- const lastFocusedRef = (sheetContext === null || sheetContext === void 0 ? void 0 : sheetContext.lastFocusedRef) || store.lastFocusedRef;
29
- const selectingArea = (0, structs_1.zoneToArea)(selectingZone); // (top, left) -> (bottom, right)
30
- const editing = editingCell === address;
31
- const pointed = choosing.y === y && choosing.x === x;
32
- const _setEditorRect = react_1.default.useCallback(() => {
33
- const rect = cellRef.current.getBoundingClientRect();
34
- dispatch((0, actions_1.setEditorRect)({
35
- y: rect.y,
36
- x: rect.x,
37
- height: rect.height,
38
- width: rect.width,
39
- }));
40
- }, []);
41
- react_1.default.useEffect(() => {
42
- // Avoid setting coordinates on the initial render to account for shifts caused by redrawing due to virtualization.
43
- if (pointed && !isFirstPointed.current) {
44
- _setEditorRect();
45
- if (!editing) {
46
- dispatch((0, actions_1.setInputting)(table.stringify({ y, x })));
47
- }
48
- return;
49
- }
50
- isFirstPointed.current = false;
51
- }, [pointed, editing]);
52
- const cell = table.getByPoint({ y, x });
53
- const writeCell = (value) => {
54
- if (lastEdited !== value) {
55
- dispatch((0, actions_1.write)(value));
56
- return;
57
- }
58
- };
59
- let errorMessage = '';
60
- let rendered;
61
- try {
62
- rendered = table.render({ y, x }, writeCell);
63
- }
64
- catch (e) {
65
- if (e instanceof evaluator_1.FormulaError) {
66
- errorMessage = e.message;
67
- rendered = e.code;
68
- }
69
- else {
70
- errorMessage = e.message;
71
- rendered = '#UNKNOWN';
72
- console.error(e);
73
- }
74
- // TODO: debug flag
75
- }
76
- const lastInput = lastFocusedRef.current;
77
- const input = editorRef.current;
78
- if (!input) {
79
- return null;
80
- }
81
- 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)(selectingArea, { y, x }) ? 'gs-selecting' : ''} ${pointed ? 'gs-choosing' : ''} ${editing ? 'gs-editing' : ''}`, style: Object.assign(Object.assign({}, cell === null || cell === void 0 ? void 0 : cell.style), operationStyle), onContextMenu: (e) => {
82
- e.preventDefault();
83
- dispatch((0, actions_1.setContextMenuPosition)({ y: e.clientY, x: e.clientX }));
84
- return false;
85
- }, onClick: (e) => {
86
- if (autofillDraggingTo) {
87
- return false;
88
- }
89
- const fullAddress = `${table.sheetPrefix(!differentSheetFocused)}${address}`;
90
- const editing = !!((sheetContext === null || sheetContext === void 0 ? void 0 : sheetContext.editingCell) || editingCell);
91
- if (editing) {
92
- const inserted = (0, input_1.insertRef)(lastInput, fullAddress);
93
- if (inserted) {
94
- return false;
95
- }
96
- }
97
- dispatch((0, actions_1.setEditingCell)(''));
98
- dispatch((0, actions_1.setContextMenuPosition)({ y: -1, x: -1 }));
99
- input.focus();
100
- if (e.shiftKey) {
101
- dispatch((0, actions_1.drag)({ y, x }));
102
- return;
103
- }
104
- else {
105
- dispatch((0, actions_1.choose)({ y, x }));
106
- dispatch((0, actions_1.select)({ startY: y, startX: x, endY: -1, endX: -1 }));
107
- _setEditorRect();
108
- }
109
- const valueString = table.stringify({ y, x });
110
- dispatch((0, actions_1.setInputting)(valueString));
111
- }, onDoubleClick: (e) => {
112
- e.preventDefault();
113
- const dblclick = document.createEvent('MouseEvents');
114
- dblclick.initEvent('dblclick', true, true);
115
- input.dispatchEvent(dblclick);
116
- return false;
117
- }, draggable: true, onDragStart: (e) => {
118
- if (autofillDraggingTo) {
119
- return false;
120
- }
121
- e.dataTransfer.setDragImage(constants_1.DUMMY_IMG, 0, 0);
122
- dispatch((0, actions_1.select)({ startY: y, startX: x, endY: y, endX: x }));
123
- const insertable = (0, input_1.isRefInsertable)(lastInput);
124
- if (insertable) {
125
- return true;
126
- }
127
- else if (insertable != null) {
128
- writeCell(input.value);
129
- }
130
- dispatch((0, actions_1.choose)({ y, x }));
131
- input.focus();
132
- dispatch((0, actions_1.setInputting)(''));
133
- }, onDragEnd: () => {
134
- var _a;
135
- if (autofillDraggingTo) {
136
- if (autofillDraggingTo.x !== x || autofillDraggingTo.y !== y) {
137
- const autofill = new autofill_1.Autofill(store, autofillDraggingTo);
138
- dispatch((0, actions_1.updateTable)(autofill.applied));
139
- dispatch((0, actions_1.select)((0, structs_1.areaToZone)(autofill.wholeArea)));
140
- input.focus();
141
- }
142
- dispatch((0, actions_1.setAutofillDraggingTo)(null));
143
- return false;
144
- }
145
- const { height: h, width: w } = (0, structs_1.zoneShape)(selectingZone);
146
- if (h + w === 0) {
147
- dispatch((0, actions_1.select)({ startY: -1, startX: -1, endY: -1, endX: -1 }));
148
- }
149
- if ((0, input_1.isRefInsertable)(lastInput)) {
150
- dispatch((0, actions_1.select)({ startY: -1, startX: -1, endY: -1, endX: -1 }));
151
- }
152
- (_a = lastFocusedRef.current) === null || _a === void 0 ? void 0 : _a.focus();
153
- }, onDragEnter: () => {
154
- var _a;
155
- if (autofillDraggingTo) {
156
- if (!(0, structs_1.among)(selectingArea, { x, y })) {
157
- dispatch((0, actions_1.setAutofillDraggingTo)({ x, y }));
158
- }
159
- return false;
160
- }
161
- if (leftHeaderSelecting) {
162
- dispatch((0, actions_1.drag)({ y: table.getNumRows(), x }));
163
- return false;
164
- }
165
- if (topHeaderSelecting) {
166
- dispatch((0, actions_1.drag)({ y, x: table.getNumCols() }));
167
- return false;
168
- }
169
- dispatch((0, actions_1.drag)({ y, x }));
170
- const newArea = (0, structs_1.zoneToArea)(Object.assign(Object.assign({}, selectingZone), { endY: y, endX: x }));
171
- const fullRange = `${table.sheetPrefix(!differentSheetFocused)}${(0, structs_1.areaToRange)(newArea)}`;
172
- (0, input_1.insertRef)(lastInput, fullRange);
173
- (_a = sheetContext === null || sheetContext === void 0 ? void 0 : sheetContext.forceRender) === null || _a === void 0 ? void 0 : _a.call(sheetContext); // Force drawing because the formula is not reflected in largeInput
174
- return true;
175
- } },
176
- react_1.default.createElement("div", { className: `gs-cell-inner-wrap` },
177
- react_1.default.createElement("div", { className: 'gs-cell-inner', style: Object.assign(Object.assign({}, cell === null || cell === void 0 ? void 0 : cell.style), { justifyContent: (cell === null || cell === void 0 ? void 0 : cell.justifyContent) || 'left', alignItems: (cell === null || cell === void 0 ? void 0 : cell.alignItems) || 'start' }) },
178
- errorMessage && react_1.default.createElement("div", { className: "gs-formula-error-triangle", title: errorMessage }),
179
- showAddress && react_1.default.createElement("div", { className: "gs-cell-label" }, address),
180
- react_1.default.createElement("div", { className: "gs-cell-rendered" }, rendered)),
181
- ((!editing && pointed && selectingArea.bottom === -1) ||
182
- (selectingArea.bottom === y && selectingArea.right === x)) && (react_1.default.createElement("div", { className: "gs-autofill-drag", draggable: true, onDragStart: (e) => {
183
- e.dataTransfer.setDragImage(constants_1.DUMMY_IMG, 0, 0);
184
- dispatch((0, actions_1.setAutofillDraggingTo)({ x, y }));
185
- e.stopPropagation();
186
- } })))));
187
- });
188
- //# sourceMappingURL=Cell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cell.js","sourceRoot":"","sources":["../../src/components/Cell.tsx"],"names":[],"mappings":"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"}
@@ -1,246 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ContextMenu = void 0;
30
- const react_1 = __importDefault(require("react"));
31
- const clipboard_1 = require("../lib/clipboard");
32
- const actions_1 = require("../store/actions");
33
- const structs_1 = require("../lib/structs");
34
- const store_1 = require("../store");
35
- const prevention = __importStar(require("../lib/prevention"));
36
- const Fixed_1 = require("./Fixed");
37
- const ContextMenu = () => {
38
- const { store, dispatch } = react_1.default.useContext(store_1.Context);
39
- const { table, choosing, selectingZone, leftHeaderSelecting, topHeaderSelecting, editorRef, contextMenuPosition } = store;
40
- const { y, x } = choosing;
41
- let { top: selectingTop, left: selectingLeft, bottom: selectingBottom, right: selectingRight, } = (0, structs_1.zoneToArea)(selectingZone);
42
- if (selectingTop === -1) {
43
- [selectingTop, selectingLeft, selectingBottom, selectingRight] = [y, x, y, x];
44
- }
45
- const [tableHeight, tableWidth] = [table.getNumRows(), table.getNumCols()];
46
- const { height, width } = (0, structs_1.zoneShape)(Object.assign(Object.assign({}, selectingZone), { base: 1 }));
47
- const { y: top, x: left } = contextMenuPosition;
48
- if (top === -1) {
49
- return null;
50
- }
51
- const selectingTopCell = table.getByPoint({ y: selectingTop, x: 0 });
52
- const selectingLeftCell = table.getByPoint({ y: 0, x: selectingLeft });
53
- const selectingBottomCell = table.getByPoint({ y: selectingBottom, x: 0 });
54
- const selectingRightCell = table.getByPoint({ y: 0, x: selectingRight });
55
- const historyIndex = table.getHistoryIndex();
56
- return (react_1.default.createElement(Fixed_1.Fixed, { className: "gs-contextmenu-modal", onClick: (e) => {
57
- e.preventDefault();
58
- dispatch((0, actions_1.setContextMenuPosition)({ y: -1, x: -1 }));
59
- return false;
60
- } },
61
- react_1.default.createElement("div", { className: 'gs-contextmenu', style: {
62
- top: top,
63
- left: left,
64
- } },
65
- react_1.default.createElement("ul", null,
66
- react_1.default.createElement("li", { className: "gs-enabled", onClick: () => {
67
- const area = (0, clipboard_1.clip)(store);
68
- dispatch((0, actions_1.cut)((0, structs_1.areaToZone)(area)));
69
- } },
70
- react_1.default.createElement("div", { className: "gs-menu-name" }, "Cut"),
71
- react_1.default.createElement("div", { className: "gs-menu-shortcut" },
72
- react_1.default.createElement("span", { className: "gs-menu-underline" }, "X"))),
73
- react_1.default.createElement("li", { className: "gs-enabled", onClick: () => {
74
- const area = (0, clipboard_1.clip)(store);
75
- dispatch((0, actions_1.copy)((0, structs_1.areaToZone)(area)));
76
- } },
77
- react_1.default.createElement("div", { className: "gs-menu-name" }, "Copy"),
78
- react_1.default.createElement("div", { className: "gs-menu-shortcut" },
79
- react_1.default.createElement("span", { className: "gs-menu-underline" }, "C"))),
80
- react_1.default.createElement("li", { className: "gs-enabled", onClick: () => {
81
- var _a;
82
- const text = ((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.value) || '';
83
- dispatch((0, actions_1.paste)({ text }));
84
- } },
85
- react_1.default.createElement("div", { className: "gs-menu-name" }, "Paste"),
86
- react_1.default.createElement("div", { className: "gs-menu-shortcut" },
87
- react_1.default.createElement("span", { className: "gs-menu-underline" }, "V"))),
88
- (leftHeaderSelecting || topHeaderSelecting) && react_1.default.createElement("li", { className: "gs-menu-divider" }),
89
- leftHeaderSelecting && (react_1.default.createElement("li", { className: (table.maxNumRows !== -1 && tableHeight + height > table.maxNumRows) ||
90
- prevention.isPrevented(selectingTopCell === null || selectingTopCell === void 0 ? void 0 : selectingTopCell.prevention, prevention.AddRowAbove)
91
- ? 'gs-disabled'
92
- : 'gs-enabled', onClick: () => {
93
- const newTable = table.addRows({
94
- y: selectingTop,
95
- numRows: height,
96
- baseY: selectingTop,
97
- reflection: {
98
- selectingZone,
99
- choosing,
100
- },
101
- });
102
- dispatch((0, actions_1.updateTable)(newTable));
103
- } },
104
- react_1.default.createElement("div", { className: "gs-menu-name" },
105
- "Insert ",
106
- height,
107
- " row",
108
- height > 1 && 's',
109
- " above"))),
110
- leftHeaderSelecting && (react_1.default.createElement("li", { className: (table.maxNumRows !== -1 && tableHeight + height > table.maxNumRows) ||
111
- prevention.isPrevented(selectingBottomCell === null || selectingBottomCell === void 0 ? void 0 : selectingBottomCell.prevention, prevention.AddRowBelow)
112
- ? 'gs-disabled'
113
- : 'gs-enabled', onClick: (e) => {
114
- if (e.currentTarget.classList.contains('gs-disabled')) {
115
- return;
116
- }
117
- selectingZone.startY += height;
118
- selectingZone.endY += height;
119
- choosing.y += height;
120
- const newTable = table.addRows({
121
- y: selectingBottom + 1,
122
- numRows: height,
123
- baseY: selectingBottom,
124
- reflection: {
125
- selectingZone,
126
- choosing,
127
- },
128
- });
129
- dispatch((0, actions_1.updateTable)(newTable));
130
- } },
131
- react_1.default.createElement("div", { className: "gs-menu-name" },
132
- "Insert ",
133
- height,
134
- " row",
135
- height > 1 && 's',
136
- " below"))),
137
- topHeaderSelecting && (react_1.default.createElement("li", { className: (table.maxNumCols !== -1 && tableWidth + width > table.maxNumCols) ||
138
- prevention.isPrevented(selectingLeftCell === null || selectingLeftCell === void 0 ? void 0 : selectingLeftCell.prevention, prevention.AddColLeft)
139
- ? 'gs-disabled'
140
- : 'gs-enabled', onClick: (e) => {
141
- if (e.currentTarget.classList.contains('gs-disabled')) {
142
- return;
143
- }
144
- const newTable = table.addCols({
145
- x: selectingLeft,
146
- numCols: width,
147
- baseX: selectingLeft,
148
- reflection: {
149
- selectingZone,
150
- choosing,
151
- },
152
- });
153
- dispatch((0, actions_1.updateTable)(newTable));
154
- } },
155
- react_1.default.createElement("div", { className: "gs-menu-name" },
156
- "Insert ",
157
- width,
158
- " column",
159
- width > 1 && 's',
160
- " left"))),
161
- topHeaderSelecting && (react_1.default.createElement("li", { className: (table.maxNumCols !== -1 && tableWidth + width > table.maxNumCols) ||
162
- prevention.isPrevented(selectingRightCell === null || selectingRightCell === void 0 ? void 0 : selectingRightCell.prevention, prevention.AddColRight)
163
- ? 'gs-disabled'
164
- : 'gs-enabled', onClick: (e) => {
165
- if (e.currentTarget.classList.contains('gs-disabled')) {
166
- return;
167
- }
168
- selectingZone.startX += width;
169
- selectingZone.endX += width;
170
- choosing.x += width;
171
- const newTable = table.addCols({
172
- x: selectingRight + 1,
173
- numCols: width,
174
- baseX: selectingRight,
175
- reflection: {
176
- selectingZone,
177
- choosing,
178
- },
179
- });
180
- dispatch((0, actions_1.updateTable)(newTable));
181
- } },
182
- react_1.default.createElement("div", { className: "gs-menu-name" },
183
- "Insert ",
184
- width,
185
- " column",
186
- width > 1 && 's',
187
- " right"))),
188
- leftHeaderSelecting && (react_1.default.createElement("li", { className: (table.minNumRows !== -1 && tableHeight - height < table.minNumRows) ||
189
- prevention.isPrevented(selectingTopCell === null || selectingTopCell === void 0 ? void 0 : selectingTopCell.prevention, prevention.DeleteRow)
190
- ? 'gs-disabled'
191
- : 'gs-enabled', onClick: (e) => {
192
- if (e.currentTarget.classList.contains('gs-disabled')) {
193
- return;
194
- }
195
- const newTable = table.deleteRows({
196
- y: selectingTop,
197
- numRows: height,
198
- operator: 'USER',
199
- reflection: {
200
- selectingZone,
201
- choosing,
202
- },
203
- });
204
- dispatch((0, actions_1.updateTable)(newTable));
205
- } },
206
- react_1.default.createElement("div", { className: "gs-menu-name" },
207
- "Delete ",
208
- height,
209
- " row",
210
- height > 1 && 's'))),
211
- topHeaderSelecting && (react_1.default.createElement("li", { className: (table.minNumCols !== -1 && tableWidth - width < table.minNumCols) ||
212
- prevention.isPrevented(selectingRightCell === null || selectingRightCell === void 0 ? void 0 : selectingRightCell.prevention, prevention.DeleteCol)
213
- ? 'gs-disabled'
214
- : 'gs-enabled', onClick: () => {
215
- const newTable = table.deleteCols({
216
- x: selectingLeft,
217
- numCols: width,
218
- operator: 'USER',
219
- reflection: {
220
- selectingZone,
221
- choosing,
222
- },
223
- });
224
- dispatch((0, actions_1.updateTable)(newTable));
225
- } },
226
- react_1.default.createElement("div", { className: "gs-menu-name" },
227
- "Delete ",
228
- width,
229
- " column",
230
- width > 0 && 's'))),
231
- (historyIndex > -1 || historyIndex < table.getHistorySize() - 1) && react_1.default.createElement("li", { className: "gs-menu-divider" }),
232
- historyIndex > -1 && (react_1.default.createElement("li", { className: "gs-enabled", onClick: () => {
233
- dispatch((0, actions_1.undo)(null));
234
- } },
235
- react_1.default.createElement("div", { className: "gs-menu-name" }, "Undo"),
236
- react_1.default.createElement("div", { className: "gs-menu-shortcut" },
237
- react_1.default.createElement("span", { className: "gs-menu-underline" }, "Z")))),
238
- historyIndex < table.getHistorySize() - 1 && (react_1.default.createElement("li", { className: "gs-enabled", onClick: () => {
239
- dispatch((0, actions_1.redo)(null));
240
- } },
241
- react_1.default.createElement("div", { className: "gs-menu-name" }, "Redo"),
242
- react_1.default.createElement("div", { className: "gs-menu-shortcut" },
243
- react_1.default.createElement("span", { className: "gs-menu-underline" }, "R"))))))));
244
- };
245
- exports.ContextMenu = ContextMenu;
246
- //# sourceMappingURL=ContextMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../src/components/ContextMenu.tsx"],"names":[],"mappings":"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"}