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