@gridsheet/react-core 1.0.0-alpha.0 → 1.0.0-alpha.2

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 (619) hide show
  1. package/README.md +1 -1
  2. package/dist/{src/components → components}/Cell.d.ts +1 -1
  3. package/dist/components/Cell.d.ts.map +1 -0
  4. package/dist/{src/components → components}/Cell.js +30 -25
  5. package/dist/components/Cell.js.map +1 -0
  6. package/dist/components/ContextMenu.d.ts +3 -0
  7. package/dist/components/ContextMenu.d.ts.map +1 -0
  8. package/dist/{src/components → components}/ContextMenu.js +33 -47
  9. package/dist/components/ContextMenu.js.map +1 -0
  10. package/dist/components/Editor.d.ts +3 -0
  11. package/dist/components/Editor.d.ts.map +1 -0
  12. package/dist/{src/components → components}/Editor.js +70 -47
  13. package/dist/components/Editor.js.map +1 -0
  14. package/dist/{src/components → components}/Emitter.d.ts +2 -2
  15. package/dist/components/Emitter.d.ts.map +1 -0
  16. package/dist/{src/components → components}/Emitter.js +1 -1
  17. package/dist/components/Emitter.js.map +1 -0
  18. package/dist/{src/components → components}/FormulaBar.d.ts +1 -1
  19. package/dist/components/FormulaBar.d.ts.map +1 -0
  20. package/dist/{src/components → components}/FormulaBar.js +11 -11
  21. package/dist/components/FormulaBar.js.map +1 -0
  22. package/dist/components/GridSheet.d.ts +4 -0
  23. package/dist/components/GridSheet.d.ts.map +1 -0
  24. package/dist/{src/components → components}/GridSheet.js +10 -15
  25. package/dist/components/GridSheet.js.map +1 -0
  26. package/dist/{src/components → components}/HorizontalHeaderCell.d.ts +1 -1
  27. package/dist/components/HorizontalHeaderCell.d.ts.map +1 -0
  28. package/dist/{src/components → components}/HorizontalHeaderCell.js +6 -6
  29. package/dist/components/HorizontalHeaderCell.js.map +1 -0
  30. package/dist/components/Resizer.d.ts +3 -0
  31. package/dist/components/Resizer.d.ts.map +1 -0
  32. package/dist/{src/components → components}/Resizer.js +8 -9
  33. package/dist/components/Resizer.js.map +1 -0
  34. package/dist/components/SearchBox.d.ts +3 -0
  35. package/dist/components/SearchBox.d.ts.map +1 -0
  36. package/dist/{src/components → components}/SearchBox.js +8 -9
  37. package/dist/components/SearchBox.js.map +1 -0
  38. package/dist/{src/components → components}/SheetProvider.d.ts +2 -2
  39. package/dist/components/SheetProvider.d.ts.map +1 -0
  40. package/dist/{src/components → components}/SheetProvider.js +0 -1
  41. package/dist/components/SheetProvider.js.map +1 -0
  42. package/dist/components/StoreInitializer.d.ts +4 -0
  43. package/dist/components/StoreInitializer.d.ts.map +1 -0
  44. package/dist/{src/components → components}/StoreInitializer.js +4 -4
  45. package/dist/components/StoreInitializer.js.map +1 -0
  46. package/dist/{src/components → components}/Tabular.d.ts +2 -2
  47. package/dist/components/Tabular.d.ts.map +1 -0
  48. package/dist/{src/components → components}/Tabular.js +5 -10
  49. package/dist/components/Tabular.js.map +1 -0
  50. package/dist/{src/components → components}/VerticalHeaderCell.d.ts +1 -1
  51. package/dist/components/VerticalHeaderCell.d.ts.map +1 -0
  52. package/dist/{src/components → components}/VerticalHeaderCell.js +6 -6
  53. package/dist/components/VerticalHeaderCell.js.map +1 -0
  54. package/dist/constants.d.ts.map +1 -0
  55. package/dist/{src/constants.js → constants.js} +2 -3
  56. package/dist/constants.js.map +1 -0
  57. package/dist/{src/formula → formula}/evaluator.d.ts +16 -24
  58. package/dist/formula/evaluator.d.ts.map +1 -0
  59. package/dist/{src/formula → formula}/evaluator.js +202 -193
  60. package/dist/formula/evaluator.js.map +1 -0
  61. package/dist/{src/formula → formula}/functions/__base.d.ts +3 -3
  62. package/dist/formula/functions/__base.d.ts.map +1 -0
  63. package/dist/{src/formula → formula}/functions/__base.js +5 -3
  64. package/dist/formula/functions/__base.js.map +1 -0
  65. package/dist/formula/functions/__utils.d.ts.map +1 -0
  66. package/dist/{src/formula → formula}/functions/__utils.js +29 -26
  67. package/dist/formula/functions/__utils.js.map +1 -0
  68. package/dist/{src/formula → formula}/functions/abs.d.ts +1 -1
  69. package/dist/formula/functions/abs.d.ts.map +1 -0
  70. package/dist/{src/formula → formula}/functions/abs.js +4 -4
  71. package/dist/formula/functions/abs.js.map +1 -0
  72. package/dist/formula/functions/abs.spec.d.ts.map +1 -0
  73. package/dist/{src/formula → formula}/functions/abs.spec.js +3 -3
  74. package/dist/formula/functions/abs.spec.js.map +1 -0
  75. package/dist/{src/formula → formula}/functions/acos.d.ts +1 -1
  76. package/dist/formula/functions/acos.d.ts.map +1 -0
  77. package/dist/{src/formula → formula}/functions/acos.js +6 -6
  78. package/dist/formula/functions/acos.js.map +1 -0
  79. package/dist/{src/formula → formula}/functions/add.d.ts +2 -2
  80. package/dist/formula/functions/add.d.ts.map +1 -0
  81. package/dist/{src/formula → formula}/functions/add.js +10 -13
  82. package/dist/formula/functions/add.js.map +1 -0
  83. package/dist/{src/formula → formula}/functions/and.d.ts +1 -1
  84. package/dist/formula/functions/and.d.ts.map +1 -0
  85. package/dist/{src/formula → formula}/functions/and.js +5 -8
  86. package/dist/formula/functions/and.js.map +1 -0
  87. package/dist/{src/formula → formula}/functions/asin.d.ts +1 -1
  88. package/dist/formula/functions/asin.d.ts.map +1 -0
  89. package/dist/{src/formula → formula}/functions/asin.js +6 -6
  90. package/dist/formula/functions/asin.js.map +1 -0
  91. package/dist/{src/formula → formula}/functions/atan.d.ts +1 -1
  92. package/dist/formula/functions/atan.d.ts.map +1 -0
  93. package/dist/{src/formula → formula}/functions/atan.js +5 -5
  94. package/dist/formula/functions/atan.js.map +1 -0
  95. package/dist/{src/formula → formula}/functions/atan2.d.ts +1 -1
  96. package/dist/formula/functions/atan2.d.ts.map +1 -0
  97. package/dist/{src/formula → formula}/functions/atan2.js +7 -7
  98. package/dist/formula/functions/atan2.js.map +1 -0
  99. package/dist/{src/formula → formula}/functions/average.d.ts +1 -1
  100. package/dist/formula/functions/average.d.ts.map +1 -0
  101. package/dist/{src/formula → formula}/functions/average.js +10 -8
  102. package/dist/formula/functions/average.js.map +1 -0
  103. package/dist/{src/formula → formula}/functions/col.d.ts +2 -2
  104. package/dist/formula/functions/col.d.ts.map +1 -0
  105. package/dist/{src/formula → formula}/functions/col.js +6 -5
  106. package/dist/formula/functions/col.js.map +1 -0
  107. package/dist/{src/formula → formula}/functions/concat.d.ts +1 -1
  108. package/dist/formula/functions/concat.d.ts.map +1 -0
  109. package/dist/{src/formula → formula}/functions/concat.js +4 -7
  110. package/dist/formula/functions/concat.js.map +1 -0
  111. package/dist/{src/formula → formula}/functions/concatenate.d.ts +1 -1
  112. package/dist/formula/functions/concatenate.d.ts.map +1 -0
  113. package/dist/{src/formula → formula}/functions/concatenate.js +4 -4
  114. package/dist/formula/functions/concatenate.js.map +1 -0
  115. package/dist/{src/formula → formula}/functions/cos.d.ts +1 -1
  116. package/dist/formula/functions/cos.d.ts.map +1 -0
  117. package/dist/{src/formula → formula}/functions/cos.js +5 -5
  118. package/dist/formula/functions/cos.js.map +1 -0
  119. package/dist/{src/formula → formula}/functions/count.d.ts +1 -1
  120. package/dist/formula/functions/count.d.ts.map +1 -0
  121. package/dist/{src/formula → formula}/functions/count.js +7 -6
  122. package/dist/formula/functions/count.js.map +1 -0
  123. package/dist/{src/formula → formula}/functions/counta.d.ts +1 -1
  124. package/dist/formula/functions/counta.d.ts.map +1 -0
  125. package/dist/{src/formula → formula}/functions/counta.js +7 -6
  126. package/dist/formula/functions/counta.js.map +1 -0
  127. package/dist/{src/formula → formula}/functions/countif.d.ts +2 -2
  128. package/dist/formula/functions/countif.d.ts.map +1 -0
  129. package/dist/{src/formula → formula}/functions/countif.js +6 -8
  130. package/dist/formula/functions/countif.js.map +1 -0
  131. package/dist/{src/formula → formula}/functions/divide.d.ts +1 -1
  132. package/dist/formula/functions/divide.d.ts.map +1 -0
  133. package/dist/{src/formula → formula}/functions/divide.js +7 -10
  134. package/dist/formula/functions/divide.js.map +1 -0
  135. package/dist/{src/formula → formula}/functions/eq.d.ts +1 -1
  136. package/dist/formula/functions/eq.d.ts.map +1 -0
  137. package/dist/{src/formula → formula}/functions/eq.js +5 -5
  138. package/dist/formula/functions/eq.js.map +1 -0
  139. package/dist/{src/formula → formula}/functions/exp.d.ts +1 -1
  140. package/dist/formula/functions/exp.d.ts.map +1 -0
  141. package/dist/{src/formula → formula}/functions/exp.js +5 -7
  142. package/dist/formula/functions/exp.js.map +1 -0
  143. package/dist/{src/formula → formula}/functions/gt.d.ts +1 -1
  144. package/dist/formula/functions/gt.d.ts.map +1 -0
  145. package/dist/{src/formula → formula}/functions/gt.js +5 -5
  146. package/dist/formula/functions/gt.js.map +1 -0
  147. package/dist/{src/formula → formula}/functions/gte.d.ts +1 -1
  148. package/dist/formula/functions/gte.d.ts.map +1 -0
  149. package/dist/{src/formula → formula}/functions/gte.js +5 -5
  150. package/dist/formula/functions/gte.js.map +1 -0
  151. package/dist/{src/formula → formula}/functions/hlookup.d.ts +2 -2
  152. package/dist/formula/functions/hlookup.d.ts.map +1 -0
  153. package/dist/{src/formula → formula}/functions/hlookup.js +12 -12
  154. package/dist/formula/functions/hlookup.js.map +1 -0
  155. package/dist/{src/formula → formula}/functions/if.d.ts +1 -1
  156. package/dist/formula/functions/if.d.ts.map +1 -0
  157. package/dist/{src/formula → formula}/functions/if.js +8 -8
  158. package/dist/formula/functions/if.js.map +1 -0
  159. package/dist/{src/formula → formula}/functions/iferror.d.ts +1 -1
  160. package/dist/formula/functions/iferror.d.ts.map +1 -0
  161. package/dist/{src/formula → formula}/functions/iferror.js +6 -6
  162. package/dist/formula/functions/iferror.js.map +1 -0
  163. package/dist/formula/functions/iferror.spec.d.ts.map +1 -0
  164. package/dist/{src/formula → formula}/functions/iferror.spec.js +15 -14
  165. package/dist/formula/functions/iferror.spec.js.map +1 -0
  166. package/dist/{src/formula → formula}/functions/len.d.ts +1 -1
  167. package/dist/formula/functions/len.d.ts.map +1 -0
  168. package/dist/{src/formula → formula}/functions/len.js +5 -5
  169. package/dist/formula/functions/len.js.map +1 -0
  170. package/dist/{src/formula → formula}/functions/lenb.d.ts +1 -1
  171. package/dist/formula/functions/lenb.d.ts.map +1 -0
  172. package/dist/{src/formula → formula}/functions/lenb.js +6 -6
  173. package/dist/formula/functions/lenb.js.map +1 -0
  174. package/dist/{src/formula → formula}/functions/ln.d.ts +1 -1
  175. package/dist/formula/functions/ln.d.ts.map +1 -0
  176. package/dist/{src/formula → formula}/functions/ln.js +6 -6
  177. package/dist/formula/functions/ln.js.map +1 -0
  178. package/dist/{src/formula → formula}/functions/log.d.ts +1 -1
  179. package/dist/formula/functions/log.d.ts.map +1 -0
  180. package/dist/{src/formula → formula}/functions/log.js +8 -10
  181. package/dist/formula/functions/log.js.map +1 -0
  182. package/dist/{src/formula → formula}/functions/log10.d.ts +1 -1
  183. package/dist/formula/functions/log10.d.ts.map +1 -0
  184. package/dist/{src/formula → formula}/functions/log10.js +6 -6
  185. package/dist/formula/functions/log10.js.map +1 -0
  186. package/dist/{src/formula → formula}/functions/lt.d.ts +1 -1
  187. package/dist/formula/functions/lt.d.ts.map +1 -0
  188. package/dist/{src/formula → formula}/functions/lt.js +5 -5
  189. package/dist/formula/functions/lt.js.map +1 -0
  190. package/dist/{src/formula → formula}/functions/lte.d.ts +1 -1
  191. package/dist/formula/functions/lte.d.ts.map +1 -0
  192. package/dist/{src/formula → formula}/functions/lte.js +5 -5
  193. package/dist/formula/functions/lte.js.map +1 -0
  194. package/dist/{src/formula → formula}/functions/max.d.ts +1 -1
  195. package/dist/formula/functions/max.d.ts.map +1 -0
  196. package/dist/{src/formula → formula}/functions/max.js +10 -8
  197. package/dist/formula/functions/max.js.map +1 -0
  198. package/dist/{src/formula → formula}/functions/min.d.ts +1 -1
  199. package/dist/formula/functions/min.d.ts.map +1 -0
  200. package/dist/{src/formula → formula}/functions/min.js +10 -8
  201. package/dist/formula/functions/min.js.map +1 -0
  202. package/dist/{src/formula → formula}/functions/minus.d.ts +2 -2
  203. package/dist/formula/functions/minus.d.ts.map +1 -0
  204. package/dist/{src/formula → formula}/functions/minus.js +9 -12
  205. package/dist/formula/functions/minus.js.map +1 -0
  206. package/dist/{src/formula → formula}/functions/mod.d.ts +1 -1
  207. package/dist/formula/functions/mod.d.ts.map +1 -0
  208. package/dist/{src/formula → formula}/functions/mod.js +7 -7
  209. package/dist/formula/functions/mod.js.map +1 -0
  210. package/dist/formula/functions/mod.spec.d.ts.map +1 -0
  211. package/dist/{src/formula → formula}/functions/mod.spec.js +23 -8
  212. package/dist/formula/functions/mod.spec.js.map +1 -0
  213. package/dist/{src/formula → formula}/functions/multiply.d.ts +1 -1
  214. package/dist/formula/functions/multiply.d.ts.map +1 -0
  215. package/dist/{src/formula → formula}/functions/multiply.js +5 -8
  216. package/dist/formula/functions/multiply.js.map +1 -0
  217. package/dist/{src/formula → formula}/functions/ne.d.ts +1 -1
  218. package/dist/formula/functions/ne.d.ts.map +1 -0
  219. package/dist/{src/formula → formula}/functions/ne.js +5 -5
  220. package/dist/formula/functions/ne.js.map +1 -0
  221. package/dist/{src/formula → formula}/functions/not.d.ts +1 -1
  222. package/dist/formula/functions/not.d.ts.map +1 -0
  223. package/dist/{src/formula → formula}/functions/not.js +5 -8
  224. package/dist/formula/functions/not.js.map +1 -0
  225. package/dist/{src/formula → formula}/functions/now.d.ts +1 -1
  226. package/dist/formula/functions/now.d.ts.map +1 -0
  227. package/dist/{src/formula → formula}/functions/now.js +3 -5
  228. package/dist/formula/functions/now.js.map +1 -0
  229. package/dist/{src/formula → formula}/functions/or.d.ts +1 -1
  230. package/dist/formula/functions/or.d.ts.map +1 -0
  231. package/dist/{src/formula → formula}/functions/or.js +5 -8
  232. package/dist/formula/functions/or.js.map +1 -0
  233. package/dist/{src/formula → formula}/functions/pi.d.ts +1 -1
  234. package/dist/formula/functions/pi.d.ts.map +1 -0
  235. package/dist/{src/formula → formula}/functions/pi.js +3 -3
  236. package/dist/formula/functions/pi.js.map +1 -0
  237. package/dist/{src/formula → formula}/functions/power.d.ts +1 -1
  238. package/dist/formula/functions/power.d.ts.map +1 -0
  239. package/dist/{src/formula → formula}/functions/power.js +5 -5
  240. package/dist/formula/functions/power.js.map +1 -0
  241. package/dist/{src/formula → formula}/functions/product.d.ts +1 -1
  242. package/dist/formula/functions/product.d.ts.map +1 -0
  243. package/dist/{src/formula → formula}/functions/product.js +9 -7
  244. package/dist/formula/functions/product.js.map +1 -0
  245. package/dist/{src/formula → formula}/functions/radians.d.ts +1 -1
  246. package/dist/formula/functions/radians.d.ts.map +1 -0
  247. package/dist/{src/formula → formula}/functions/radians.js +5 -5
  248. package/dist/formula/functions/radians.js.map +1 -0
  249. package/dist/{src/formula → formula}/functions/rand.d.ts +1 -1
  250. package/dist/formula/functions/rand.d.ts.map +1 -0
  251. package/dist/{src/formula → formula}/functions/rand.js +3 -3
  252. package/dist/formula/functions/rand.js.map +1 -0
  253. package/dist/{src/formula → formula}/functions/round.d.ts +1 -1
  254. package/dist/formula/functions/round.d.ts.map +1 -0
  255. package/dist/{src/formula → formula}/functions/round.js +7 -9
  256. package/dist/formula/functions/round.js.map +1 -0
  257. package/dist/{src/formula → formula}/functions/rounddown.d.ts +1 -1
  258. package/dist/formula/functions/rounddown.d.ts.map +1 -0
  259. package/dist/{src/formula → formula}/functions/rounddown.js +7 -9
  260. package/dist/formula/functions/rounddown.js.map +1 -0
  261. package/dist/{src/formula → formula}/functions/roundup.d.ts +1 -1
  262. package/dist/formula/functions/roundup.d.ts.map +1 -0
  263. package/dist/{src/formula → formula}/functions/roundup.js +7 -9
  264. package/dist/formula/functions/roundup.js.map +1 -0
  265. package/dist/{src/formula → formula}/functions/row.d.ts +2 -2
  266. package/dist/formula/functions/row.d.ts.map +1 -0
  267. package/dist/{src/formula → formula}/functions/row.js +6 -5
  268. package/dist/formula/functions/row.js.map +1 -0
  269. package/dist/{src/formula → formula}/functions/sin.d.ts +1 -1
  270. package/dist/formula/functions/sin.d.ts.map +1 -0
  271. package/dist/{src/formula → formula}/functions/sin.js +5 -5
  272. package/dist/formula/functions/sin.js.map +1 -0
  273. package/dist/{src/formula → formula}/functions/sqrt.d.ts +1 -1
  274. package/dist/formula/functions/sqrt.d.ts.map +1 -0
  275. package/dist/{src/formula → formula}/functions/sqrt.js +6 -6
  276. package/dist/formula/functions/sqrt.js.map +1 -0
  277. package/dist/{src/formula → formula}/functions/sum.d.ts +1 -1
  278. package/dist/formula/functions/sum.d.ts.map +1 -0
  279. package/dist/{src/formula → formula}/functions/sum.js +10 -8
  280. package/dist/formula/functions/sum.js.map +1 -0
  281. package/dist/formula/functions/sum.spec.d.ts.map +1 -0
  282. package/dist/{src/formula → formula}/functions/sum.spec.js +9 -10
  283. package/dist/formula/functions/sum.spec.js.map +1 -0
  284. package/dist/{src/formula → formula}/functions/sumif.d.ts +2 -2
  285. package/dist/formula/functions/sumif.d.ts.map +1 -0
  286. package/dist/{src/formula → formula}/functions/sumif.js +9 -9
  287. package/dist/formula/functions/sumif.js.map +1 -0
  288. package/dist/{src/formula → formula}/functions/tan.d.ts +1 -1
  289. package/dist/formula/functions/tan.d.ts.map +1 -0
  290. package/dist/{src/formula → formula}/functions/tan.js +5 -5
  291. package/dist/formula/functions/tan.js.map +1 -0
  292. package/dist/{src/formula → formula}/functions/uminus.d.ts +1 -1
  293. package/dist/formula/functions/uminus.d.ts.map +1 -0
  294. package/dist/{src/formula → formula}/functions/uminus.js +4 -6
  295. package/dist/formula/functions/uminus.js.map +1 -0
  296. package/dist/{src/formula → formula}/functions/vlookup.d.ts +2 -2
  297. package/dist/formula/functions/vlookup.d.ts.map +1 -0
  298. package/dist/{src/formula → formula}/functions/vlookup.js +12 -12
  299. package/dist/formula/functions/vlookup.js.map +1 -0
  300. package/dist/formula/mapping.d.ts +3 -0
  301. package/dist/formula/mapping.d.ts.map +1 -0
  302. package/dist/{src/formula → formula}/mapping.js +1 -0
  303. package/dist/formula/mapping.js.map +1 -0
  304. package/dist/formula/solver.d.ts +12 -0
  305. package/dist/formula/solver.d.ts.map +1 -0
  306. package/dist/{src/formula → formula}/solver.js +6 -6
  307. package/dist/formula/solver.js.map +1 -0
  308. package/dist/index.d.ts +16 -0
  309. package/dist/index.d.ts.map +1 -0
  310. package/dist/{src/index.js → index.js} +3 -3
  311. package/dist/index.js.map +1 -0
  312. package/dist/{src/lib → lib}/autofill.d.ts +3 -3
  313. package/dist/lib/autofill.d.ts.map +1 -0
  314. package/dist/{src/lib → lib}/autofill.js +51 -44
  315. package/dist/lib/autofill.js.map +1 -0
  316. package/dist/lib/clipboard.d.ts +3 -0
  317. package/dist/lib/clipboard.d.ts.map +1 -0
  318. package/dist/{src/lib → lib}/clipboard.js +7 -6
  319. package/dist/lib/clipboard.js.map +1 -0
  320. package/dist/{src/lib → lib}/converters.d.ts +1 -1
  321. package/dist/lib/converters.d.ts.map +1 -0
  322. package/dist/{src/lib → lib}/converters.js +22 -19
  323. package/dist/lib/converters.js.map +1 -0
  324. package/dist/{src/lib → lib}/hooks.d.ts.map +1 -1
  325. package/dist/{src/lib → lib}/hooks.js.map +1 -1
  326. package/dist/{src/lib → lib}/prevention.d.ts +1 -1
  327. package/dist/lib/prevention.d.ts.map +1 -0
  328. package/dist/{src/lib → lib}/prevention.js +21 -34
  329. package/dist/lib/prevention.js.map +1 -0
  330. package/dist/{src/lib → lib}/structs.d.ts +4 -4
  331. package/dist/lib/structs.d.ts.map +1 -0
  332. package/dist/{src/lib → lib}/structs.js +30 -28
  333. package/dist/lib/structs.js.map +1 -0
  334. package/dist/{src/lib → lib}/table.d.ts +13 -14
  335. package/dist/lib/table.d.ts.map +1 -0
  336. package/dist/{src/lib → lib}/table.js +87 -72
  337. package/dist/lib/table.js.map +1 -0
  338. package/dist/lib/time.d.ts.map +1 -0
  339. package/dist/{src/lib → lib}/time.js +16 -16
  340. package/dist/lib/time.js.map +1 -0
  341. package/dist/{src/lib → lib}/virtualization.d.ts +2 -2
  342. package/dist/lib/virtualization.d.ts.map +1 -0
  343. package/dist/{src/lib → lib}/virtualization.js +28 -6
  344. package/dist/lib/virtualization.js.map +1 -0
  345. package/dist/{src/parsers → parsers}/core.d.ts +2 -2
  346. package/dist/parsers/core.d.ts.map +1 -0
  347. package/dist/{src/parsers → parsers}/core.js +19 -15
  348. package/dist/parsers/core.js.map +1 -0
  349. package/dist/{src/renderers → renderers}/checkbox.d.ts +1 -1
  350. package/dist/renderers/checkbox.d.ts.map +1 -0
  351. package/dist/{src/renderers → renderers}/checkbox.js +1 -1
  352. package/dist/renderers/checkbox.js.map +1 -0
  353. package/dist/{src/renderers → renderers}/core.d.ts +3 -3
  354. package/dist/renderers/core.d.ts.map +1 -0
  355. package/dist/{src/renderers → renderers}/core.js +36 -24
  356. package/dist/renderers/core.js.map +1 -0
  357. package/dist/renderers/thousand_separator.d.ts +4 -0
  358. package/dist/renderers/thousand_separator.d.ts.map +1 -0
  359. package/dist/{src/renderers → renderers}/thousand_separator.js +5 -5
  360. package/dist/renderers/thousand_separator.js.map +1 -0
  361. package/dist/{src/store → store}/actions.d.ts +2 -2
  362. package/dist/store/actions.d.ts.map +1 -0
  363. package/dist/{src/store → store}/actions.js +24 -15
  364. package/dist/store/actions.js.map +1 -0
  365. package/dist/{src/store → store}/helpers.d.ts +2 -2
  366. package/dist/store/helpers.d.ts.map +1 -0
  367. package/dist/{src/store → store}/helpers.js +6 -8
  368. package/dist/store/helpers.js.map +1 -0
  369. package/dist/{src/store → store}/index.d.ts +2 -2
  370. package/dist/store/index.d.ts.map +1 -0
  371. package/dist/store/index.js.map +1 -0
  372. package/dist/styles/embedder.d.ts.map +1 -0
  373. package/dist/{src/styles → styles}/embedder.js +1 -1
  374. package/dist/styles/embedder.js.map +1 -0
  375. package/dist/styles/minified.d.ts +3 -0
  376. package/dist/styles/minified.d.ts.map +1 -0
  377. package/dist/styles/minified.js +7 -0
  378. package/dist/styles/minified.js.map +1 -0
  379. package/dist/{src/types.d.ts → types.d.ts} +13 -13
  380. package/dist/types.d.ts.map +1 -0
  381. package/dist/types.js.map +1 -0
  382. package/dist/utils.d.ts.map +1 -0
  383. package/dist/{src/utils.js → utils.js} +1 -0
  384. package/dist/utils.js.map +1 -0
  385. package/package.json +11 -7
  386. package/dist/e2e/basic.spec.d.ts +0 -2
  387. package/dist/e2e/basic.spec.d.ts.map +0 -1
  388. package/dist/e2e/basic.spec.js +0 -64
  389. package/dist/e2e/basic.spec.js.map +0 -1
  390. package/dist/e2e/formula.spec.d.ts +0 -2
  391. package/dist/e2e/formula.spec.d.ts.map +0 -1
  392. package/dist/e2e/formula.spec.js +0 -48
  393. package/dist/e2e/formula.spec.js.map +0 -1
  394. package/dist/e2e/playwright.config.d.ts +0 -3
  395. package/dist/e2e/playwright.config.d.ts.map +0 -1
  396. package/dist/e2e/playwright.config.js +0 -13
  397. package/dist/e2e/playwright.config.js.map +0 -1
  398. package/dist/src/components/Cell.d.ts.map +0 -1
  399. package/dist/src/components/Cell.js.map +0 -1
  400. package/dist/src/components/ContextMenu.d.ts +0 -3
  401. package/dist/src/components/ContextMenu.d.ts.map +0 -1
  402. package/dist/src/components/ContextMenu.js.map +0 -1
  403. package/dist/src/components/Editor.d.ts +0 -3
  404. package/dist/src/components/Editor.d.ts.map +0 -1
  405. package/dist/src/components/Editor.js.map +0 -1
  406. package/dist/src/components/Emitter.d.ts.map +0 -1
  407. package/dist/src/components/Emitter.js.map +0 -1
  408. package/dist/src/components/FormulaBar.d.ts.map +0 -1
  409. package/dist/src/components/FormulaBar.js.map +0 -1
  410. package/dist/src/components/GridSheet.d.ts +0 -4
  411. package/dist/src/components/GridSheet.d.ts.map +0 -1
  412. package/dist/src/components/GridSheet.js.map +0 -1
  413. package/dist/src/components/HorizontalHeaderCell.d.ts.map +0 -1
  414. package/dist/src/components/HorizontalHeaderCell.js.map +0 -1
  415. package/dist/src/components/Resizer.d.ts +0 -3
  416. package/dist/src/components/Resizer.d.ts.map +0 -1
  417. package/dist/src/components/Resizer.js.map +0 -1
  418. package/dist/src/components/SearchBox.d.ts +0 -3
  419. package/dist/src/components/SearchBox.d.ts.map +0 -1
  420. package/dist/src/components/SearchBox.js.map +0 -1
  421. package/dist/src/components/SheetProvider.d.ts.map +0 -1
  422. package/dist/src/components/SheetProvider.js.map +0 -1
  423. package/dist/src/components/StoreInitializer.d.ts +0 -4
  424. package/dist/src/components/StoreInitializer.d.ts.map +0 -1
  425. package/dist/src/components/StoreInitializer.js.map +0 -1
  426. package/dist/src/components/Tabular.d.ts.map +0 -1
  427. package/dist/src/components/Tabular.js.map +0 -1
  428. package/dist/src/components/VerticalHeaderCell.d.ts.map +0 -1
  429. package/dist/src/components/VerticalHeaderCell.js.map +0 -1
  430. package/dist/src/constants.d.ts.map +0 -1
  431. package/dist/src/constants.js.map +0 -1
  432. package/dist/src/formula/evaluator.d.ts.map +0 -1
  433. package/dist/src/formula/evaluator.js.map +0 -1
  434. package/dist/src/formula/functions/__base.d.ts.map +0 -1
  435. package/dist/src/formula/functions/__base.js.map +0 -1
  436. package/dist/src/formula/functions/__utils.d.ts.map +0 -1
  437. package/dist/src/formula/functions/__utils.js.map +0 -1
  438. package/dist/src/formula/functions/abs.d.ts.map +0 -1
  439. package/dist/src/formula/functions/abs.js.map +0 -1
  440. package/dist/src/formula/functions/abs.spec.d.ts.map +0 -1
  441. package/dist/src/formula/functions/abs.spec.js.map +0 -1
  442. package/dist/src/formula/functions/acos.d.ts.map +0 -1
  443. package/dist/src/formula/functions/acos.js.map +0 -1
  444. package/dist/src/formula/functions/add.d.ts.map +0 -1
  445. package/dist/src/formula/functions/add.js.map +0 -1
  446. package/dist/src/formula/functions/and.d.ts.map +0 -1
  447. package/dist/src/formula/functions/and.js.map +0 -1
  448. package/dist/src/formula/functions/asin.d.ts.map +0 -1
  449. package/dist/src/formula/functions/asin.js.map +0 -1
  450. package/dist/src/formula/functions/atan.d.ts.map +0 -1
  451. package/dist/src/formula/functions/atan.js.map +0 -1
  452. package/dist/src/formula/functions/atan2.d.ts.map +0 -1
  453. package/dist/src/formula/functions/atan2.js.map +0 -1
  454. package/dist/src/formula/functions/average.d.ts.map +0 -1
  455. package/dist/src/formula/functions/average.js.map +0 -1
  456. package/dist/src/formula/functions/col.d.ts.map +0 -1
  457. package/dist/src/formula/functions/col.js.map +0 -1
  458. package/dist/src/formula/functions/concat.d.ts.map +0 -1
  459. package/dist/src/formula/functions/concat.js.map +0 -1
  460. package/dist/src/formula/functions/concatenate.d.ts.map +0 -1
  461. package/dist/src/formula/functions/concatenate.js.map +0 -1
  462. package/dist/src/formula/functions/cos.d.ts.map +0 -1
  463. package/dist/src/formula/functions/cos.js.map +0 -1
  464. package/dist/src/formula/functions/count.d.ts.map +0 -1
  465. package/dist/src/formula/functions/count.js.map +0 -1
  466. package/dist/src/formula/functions/counta.d.ts.map +0 -1
  467. package/dist/src/formula/functions/counta.js.map +0 -1
  468. package/dist/src/formula/functions/countif.d.ts.map +0 -1
  469. package/dist/src/formula/functions/countif.js.map +0 -1
  470. package/dist/src/formula/functions/divide.d.ts.map +0 -1
  471. package/dist/src/formula/functions/divide.js.map +0 -1
  472. package/dist/src/formula/functions/eq.d.ts.map +0 -1
  473. package/dist/src/formula/functions/eq.js.map +0 -1
  474. package/dist/src/formula/functions/exp.d.ts.map +0 -1
  475. package/dist/src/formula/functions/exp.js.map +0 -1
  476. package/dist/src/formula/functions/gt.d.ts.map +0 -1
  477. package/dist/src/formula/functions/gt.js.map +0 -1
  478. package/dist/src/formula/functions/gte.d.ts.map +0 -1
  479. package/dist/src/formula/functions/gte.js.map +0 -1
  480. package/dist/src/formula/functions/hlookup.d.ts.map +0 -1
  481. package/dist/src/formula/functions/hlookup.js.map +0 -1
  482. package/dist/src/formula/functions/if.d.ts.map +0 -1
  483. package/dist/src/formula/functions/if.js.map +0 -1
  484. package/dist/src/formula/functions/iferror.d.ts.map +0 -1
  485. package/dist/src/formula/functions/iferror.js.map +0 -1
  486. package/dist/src/formula/functions/iferror.spec.d.ts.map +0 -1
  487. package/dist/src/formula/functions/iferror.spec.js.map +0 -1
  488. package/dist/src/formula/functions/len.d.ts.map +0 -1
  489. package/dist/src/formula/functions/len.js.map +0 -1
  490. package/dist/src/formula/functions/lenb.d.ts.map +0 -1
  491. package/dist/src/formula/functions/lenb.js.map +0 -1
  492. package/dist/src/formula/functions/ln.d.ts.map +0 -1
  493. package/dist/src/formula/functions/ln.js.map +0 -1
  494. package/dist/src/formula/functions/log.d.ts.map +0 -1
  495. package/dist/src/formula/functions/log.js.map +0 -1
  496. package/dist/src/formula/functions/log10.d.ts.map +0 -1
  497. package/dist/src/formula/functions/log10.js.map +0 -1
  498. package/dist/src/formula/functions/lt.d.ts.map +0 -1
  499. package/dist/src/formula/functions/lt.js.map +0 -1
  500. package/dist/src/formula/functions/lte.d.ts.map +0 -1
  501. package/dist/src/formula/functions/lte.js.map +0 -1
  502. package/dist/src/formula/functions/max.d.ts.map +0 -1
  503. package/dist/src/formula/functions/max.js.map +0 -1
  504. package/dist/src/formula/functions/min.d.ts.map +0 -1
  505. package/dist/src/formula/functions/min.js.map +0 -1
  506. package/dist/src/formula/functions/minus.d.ts.map +0 -1
  507. package/dist/src/formula/functions/minus.js.map +0 -1
  508. package/dist/src/formula/functions/mod.d.ts.map +0 -1
  509. package/dist/src/formula/functions/mod.js.map +0 -1
  510. package/dist/src/formula/functions/mod.spec.d.ts.map +0 -1
  511. package/dist/src/formula/functions/mod.spec.js.map +0 -1
  512. package/dist/src/formula/functions/multiply.d.ts.map +0 -1
  513. package/dist/src/formula/functions/multiply.js.map +0 -1
  514. package/dist/src/formula/functions/ne.d.ts.map +0 -1
  515. package/dist/src/formula/functions/ne.js.map +0 -1
  516. package/dist/src/formula/functions/not.d.ts.map +0 -1
  517. package/dist/src/formula/functions/not.js.map +0 -1
  518. package/dist/src/formula/functions/now.d.ts.map +0 -1
  519. package/dist/src/formula/functions/now.js.map +0 -1
  520. package/dist/src/formula/functions/or.d.ts.map +0 -1
  521. package/dist/src/formula/functions/or.js.map +0 -1
  522. package/dist/src/formula/functions/pi.d.ts.map +0 -1
  523. package/dist/src/formula/functions/pi.js.map +0 -1
  524. package/dist/src/formula/functions/power.d.ts.map +0 -1
  525. package/dist/src/formula/functions/power.js.map +0 -1
  526. package/dist/src/formula/functions/product.d.ts.map +0 -1
  527. package/dist/src/formula/functions/product.js.map +0 -1
  528. package/dist/src/formula/functions/radians.d.ts.map +0 -1
  529. package/dist/src/formula/functions/radians.js.map +0 -1
  530. package/dist/src/formula/functions/rand.d.ts.map +0 -1
  531. package/dist/src/formula/functions/rand.js.map +0 -1
  532. package/dist/src/formula/functions/round.d.ts.map +0 -1
  533. package/dist/src/formula/functions/round.js.map +0 -1
  534. package/dist/src/formula/functions/rounddown.d.ts.map +0 -1
  535. package/dist/src/formula/functions/rounddown.js.map +0 -1
  536. package/dist/src/formula/functions/roundup.d.ts.map +0 -1
  537. package/dist/src/formula/functions/roundup.js.map +0 -1
  538. package/dist/src/formula/functions/row.d.ts.map +0 -1
  539. package/dist/src/formula/functions/row.js.map +0 -1
  540. package/dist/src/formula/functions/sin.d.ts.map +0 -1
  541. package/dist/src/formula/functions/sin.js.map +0 -1
  542. package/dist/src/formula/functions/sqrt.d.ts.map +0 -1
  543. package/dist/src/formula/functions/sqrt.js.map +0 -1
  544. package/dist/src/formula/functions/sum.d.ts.map +0 -1
  545. package/dist/src/formula/functions/sum.js.map +0 -1
  546. package/dist/src/formula/functions/sum.spec.d.ts.map +0 -1
  547. package/dist/src/formula/functions/sum.spec.js.map +0 -1
  548. package/dist/src/formula/functions/sumif.d.ts.map +0 -1
  549. package/dist/src/formula/functions/sumif.js.map +0 -1
  550. package/dist/src/formula/functions/tan.d.ts.map +0 -1
  551. package/dist/src/formula/functions/tan.js.map +0 -1
  552. package/dist/src/formula/functions/uminus.d.ts.map +0 -1
  553. package/dist/src/formula/functions/uminus.js.map +0 -1
  554. package/dist/src/formula/functions/vlookup.d.ts.map +0 -1
  555. package/dist/src/formula/functions/vlookup.js.map +0 -1
  556. package/dist/src/formula/mapping.d.ts +0 -114
  557. package/dist/src/formula/mapping.d.ts.map +0 -1
  558. package/dist/src/formula/mapping.js.map +0 -1
  559. package/dist/src/formula/solver.d.ts +0 -12
  560. package/dist/src/formula/solver.d.ts.map +0 -1
  561. package/dist/src/formula/solver.js.map +0 -1
  562. package/dist/src/index.d.ts +0 -16
  563. package/dist/src/index.d.ts.map +0 -1
  564. package/dist/src/index.js.map +0 -1
  565. package/dist/src/lib/autofill.d.ts.map +0 -1
  566. package/dist/src/lib/autofill.js.map +0 -1
  567. package/dist/src/lib/clipboard.d.ts +0 -3
  568. package/dist/src/lib/clipboard.d.ts.map +0 -1
  569. package/dist/src/lib/clipboard.js.map +0 -1
  570. package/dist/src/lib/converters.d.ts.map +0 -1
  571. package/dist/src/lib/converters.js.map +0 -1
  572. package/dist/src/lib/prevention.d.ts.map +0 -1
  573. package/dist/src/lib/prevention.js.map +0 -1
  574. package/dist/src/lib/structs.d.ts.map +0 -1
  575. package/dist/src/lib/structs.js.map +0 -1
  576. package/dist/src/lib/table.d.ts.map +0 -1
  577. package/dist/src/lib/table.js.map +0 -1
  578. package/dist/src/lib/time.d.ts.map +0 -1
  579. package/dist/src/lib/time.js.map +0 -1
  580. package/dist/src/lib/virtualization.d.ts.map +0 -1
  581. package/dist/src/lib/virtualization.js.map +0 -1
  582. package/dist/src/parsers/core.d.ts.map +0 -1
  583. package/dist/src/parsers/core.js.map +0 -1
  584. package/dist/src/renderers/checkbox.d.ts.map +0 -1
  585. package/dist/src/renderers/checkbox.js.map +0 -1
  586. package/dist/src/renderers/core.d.ts.map +0 -1
  587. package/dist/src/renderers/core.js.map +0 -1
  588. package/dist/src/renderers/thousand_separator.d.ts +0 -5
  589. package/dist/src/renderers/thousand_separator.d.ts.map +0 -1
  590. package/dist/src/renderers/thousand_separator.js.map +0 -1
  591. package/dist/src/store/actions.d.ts.map +0 -1
  592. package/dist/src/store/actions.js.map +0 -1
  593. package/dist/src/store/helpers.d.ts.map +0 -1
  594. package/dist/src/store/helpers.js.map +0 -1
  595. package/dist/src/store/index.d.ts.map +0 -1
  596. package/dist/src/store/index.js.map +0 -1
  597. package/dist/src/styles/embedder.d.ts.map +0 -1
  598. package/dist/src/styles/embedder.js.map +0 -1
  599. package/dist/src/styles/minified.d.ts +0 -3
  600. package/dist/src/styles/minified.d.ts.map +0 -1
  601. package/dist/src/styles/minified.js +0 -7
  602. package/dist/src/styles/minified.js.map +0 -1
  603. package/dist/src/types.d.ts.map +0 -1
  604. package/dist/src/types.js.map +0 -1
  605. package/dist/src/utils.d.ts.map +0 -1
  606. package/dist/src/utils.js.map +0 -1
  607. /package/dist/{src/constants.d.ts → constants.d.ts} +0 -0
  608. /package/dist/{src/formula → formula}/functions/__utils.d.ts +0 -0
  609. /package/dist/{src/formula → formula}/functions/abs.spec.d.ts +0 -0
  610. /package/dist/{src/formula → formula}/functions/iferror.spec.d.ts +0 -0
  611. /package/dist/{src/formula → formula}/functions/mod.spec.d.ts +0 -0
  612. /package/dist/{src/formula → formula}/functions/sum.spec.d.ts +0 -0
  613. /package/dist/{src/lib → lib}/hooks.d.ts +0 -0
  614. /package/dist/{src/lib → lib}/hooks.js +0 -0
  615. /package/dist/{src/lib → lib}/time.d.ts +0 -0
  616. /package/dist/{src/store → store}/index.js +0 -0
  617. /package/dist/{src/styles → styles}/embedder.d.ts +0 -0
  618. /package/dist/{src/types.js → types.js} +0 -0
  619. /package/dist/{src/utils.d.ts → utils.d.ts} +0 -0
@@ -34,7 +34,7 @@ const solver_1 = require("../formula/solver");
34
34
  const constants_1 = require("../constants");
35
35
  const helpers_1 = require("../store/helpers");
36
36
  const prevention = __importStar(require("./prevention"));
37
- const cellFilter = (cell) => true;
37
+ const noFilter = () => true;
38
38
  class Table {
39
39
  constructor({ parsers = {}, renderers = {}, labelers = {}, useBigInt = false, historyLimit: historyLimit, minNumRows = 1, maxNumRows = -1, minNumCols = 1, maxNumCols = -1, headerWidth = -1, headerHeight = -1, functions = mapping_1.functions, }) {
40
40
  this.totalWidth = 0;
@@ -42,7 +42,7 @@ class Table {
42
42
  this.headerWidth = 0;
43
43
  this.headerHeight = 0;
44
44
  this.sheetId = 0;
45
- this.sheetName = "";
45
+ this.sheetName = '';
46
46
  this.sheets = {};
47
47
  this.tables = {};
48
48
  this.data = {};
@@ -75,7 +75,12 @@ class Table {
75
75
  initialize(cells) {
76
76
  var _a, _b;
77
77
  const auto = (0, structs_1.getMaxSizesFromCells)(cells);
78
- this.area = { top: 0, left: 0, bottom: auto.numRows || 0, right: auto.numCols || 0 };
78
+ this.area = {
79
+ top: 0,
80
+ left: 0,
81
+ bottom: auto.numRows || 0,
82
+ right: auto.numCols || 0,
83
+ };
79
84
  // make idMatrix beforehand
80
85
  for (let y = 0; y < auto.numRows + 1; y++) {
81
86
  const ids = [];
@@ -105,8 +110,12 @@ class Table {
105
110
  const colId = (0, converters_1.x2c)(x);
106
111
  const colDefault = cells === null || cells === void 0 ? void 0 : cells[colId];
107
112
  const cell = cells === null || cells === void 0 ? void 0 : cells[address];
108
- const stacked = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, common), rowDefault), colDefault), cell), { style: Object.assign(Object.assign(Object.assign(Object.assign({}, common === null || common === void 0 ? void 0 : common.style), rowDefault === null || rowDefault === void 0 ? void 0 : rowDefault.style), colDefault === null || colDefault === void 0 ? void 0 : colDefault.style), cell === null || cell === void 0 ? void 0 : cell.style), prevention: ((common === null || common === void 0 ? void 0 : common.prevention) || 0) | ((rowDefault === null || rowDefault === void 0 ? void 0 : rowDefault.prevention) || 0) | ((colDefault === null || colDefault === void 0 ? void 0 : colDefault.prevention) || 0) | ((cell === null || cell === void 0 ? void 0 : cell.prevention) || 0) });
109
- if ((_b = (_a = stacked === null || stacked === void 0 ? void 0 : stacked.value) === null || _a === void 0 ? void 0 : _a.startsWith) === null || _b === void 0 ? void 0 : _b.call(_a, "=")) {
113
+ const stacked = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, common), rowDefault), colDefault), cell), { style: Object.assign(Object.assign(Object.assign(Object.assign({}, common === null || common === void 0 ? void 0 : common.style), rowDefault === null || rowDefault === void 0 ? void 0 : rowDefault.style), colDefault === null || colDefault === void 0 ? void 0 : colDefault.style), cell === null || cell === void 0 ? void 0 : cell.style), prevention: ((common === null || common === void 0 ? void 0 : common.prevention) || 0) |
114
+ ((rowDefault === null || rowDefault === void 0 ? void 0 : rowDefault.prevention) || 0) |
115
+ ((colDefault === null || colDefault === void 0 ? void 0 : colDefault.prevention) || 0) |
116
+ ((cell === null || cell === void 0 ? void 0 : cell.prevention) || 0) });
117
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
118
+ if ((_b = (_a = stacked === null || stacked === void 0 ? void 0 : stacked.value) === null || _a === void 0 ? void 0 : _a.startsWith) === null || _b === void 0 ? void 0 : _b.call(_a, '=')) {
110
119
  this.idsToBeAbsoluted.push(id);
111
120
  }
112
121
  if (y === 0) {
@@ -157,11 +166,17 @@ class Table {
157
166
  }
158
167
  setTotalSize() {
159
168
  const { bottom, right } = this.area;
160
- const { width, height } = this.getRectSize({ top: 1, left: 1, bottom: bottom + 1, right: right + 1 });
169
+ const { width, height } = this.getRectSize({
170
+ top: 1,
171
+ left: 1,
172
+ bottom: bottom + 1,
173
+ right: right + 1,
174
+ });
161
175
  this.totalWidth = width + this.headerWidth;
162
176
  this.totalHeight = height + this.headerHeight;
163
177
  }
164
178
  shallowCopy({ copyCache = true } = {}) {
179
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
165
180
  const copied = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
166
181
  copied.changedAt = new Date();
167
182
  copied.setTotalSize();
@@ -173,12 +188,12 @@ class Table {
173
188
  return copied;
174
189
  }
175
190
  getAddressById(id, slideY = 0, slideX = 0) {
176
- const absCol = id.startsWith("$");
191
+ const absCol = id.startsWith('$');
177
192
  if (absCol) {
178
193
  id = id.slice(1);
179
194
  slideX = 0;
180
195
  }
181
- const absRow = id.endsWith("$");
196
+ const absRow = id.endsWith('$');
182
197
  if (absRow) {
183
198
  id = id.slice(0, -1);
184
199
  slideY = 0;
@@ -239,11 +254,11 @@ class Table {
239
254
  return this.data[id];
240
255
  }
241
256
  getNumRows(base = 0) {
242
- const { top, left, bottom, right } = this.area;
257
+ const { top, bottom } = this.area;
243
258
  return base + bottom - top;
244
259
  }
245
260
  getNumCols(base = 0) {
246
- const { top, left, bottom, right } = this.area;
261
+ const { left, right } = this.area;
247
262
  return base + right - left;
248
263
  }
249
264
  get top() {
@@ -258,7 +273,7 @@ class Table {
258
273
  get right() {
259
274
  return this.area.right;
260
275
  }
261
- getMatrixFlatten({ area, key = "value", evaluates = true, raise = false, filter = cellFilter, } = {}) {
276
+ getMatrixFlatten({ area, key = 'value', evaluates = true, raise = false, filter = noFilter, } = {}) {
262
277
  const { top, left, bottom, right } = area || {
263
278
  top: 1,
264
279
  left: 1,
@@ -283,7 +298,7 @@ class Table {
283
298
  }
284
299
  return matrix;
285
300
  }
286
- getObjectFlatten({ key = "value", evaluates = true, raise = false, filter = cellFilter, } = {}) {
301
+ getObjectFlatten({ key = 'value', evaluates = true, raise = false, filter = noFilter } = {}) {
287
302
  const result = {};
288
303
  const { top, left, bottom, right } = this.area;
289
304
  for (let y = top; y <= bottom; y++) {
@@ -302,7 +317,7 @@ class Table {
302
317
  }
303
318
  return result;
304
319
  }
305
- getRowsFlatten({ key = "value", evaluates = true, raise = false, filter = cellFilter, } = {}) {
320
+ getRowsFlatten({ key = 'value', evaluates = true, raise = false, filter = noFilter } = {}) {
306
321
  const result = [];
307
322
  const { top, left, bottom, right } = this.area;
308
323
  for (let y = top; y <= bottom; y++) {
@@ -323,7 +338,7 @@ class Table {
323
338
  }
324
339
  return result;
325
340
  }
326
- getColsFlatten({ key = "value", evaluates = true, raise = false, filter = cellFilter, } = {}) {
341
+ getColsFlatten({ key = 'value', evaluates = true, raise = false, filter = noFilter } = {}) {
327
342
  const result = [];
328
343
  const { top, left, bottom, right } = this.area;
329
344
  for (let x = left; x <= right; x++) {
@@ -344,7 +359,7 @@ class Table {
344
359
  }
345
360
  return result;
346
361
  }
347
- getMatrix({ area, evaluates = true, raise = false, filter = cellFilter, } = {}) {
362
+ getMatrix({ area, evaluates = true, raise = false, filter = noFilter, } = {}) {
348
363
  const { top, left, bottom, right } = area || {
349
364
  top: 1,
350
365
  left: 1,
@@ -368,7 +383,7 @@ class Table {
368
383
  }
369
384
  return matrix;
370
385
  }
371
- getObject({ evaluates = true, raise = false, filter = cellFilter, } = {}) {
386
+ getObject({ evaluates = true, raise = false, filter = noFilter } = {}) {
372
387
  const result = {};
373
388
  const { top, left, bottom, right } = this.area;
374
389
  for (let y = top; y <= bottom; y++) {
@@ -387,7 +402,7 @@ class Table {
387
402
  }
388
403
  return result;
389
404
  }
390
- getRows({ evaluates = true, raise = false, filter = cellFilter, } = {}) {
405
+ getRows({ evaluates = true, raise = false, filter = noFilter } = {}) {
391
406
  const result = [];
392
407
  const { top, left, bottom, right } = this.area;
393
408
  for (let y = top; y <= bottom; y++) {
@@ -408,7 +423,7 @@ class Table {
408
423
  }
409
424
  return result;
410
425
  }
411
- getCols({ evaluates = true, raise = false, filter = cellFilter, } = {}) {
426
+ getCols({ evaluates = true, raise = false, filter = noFilter } = {}) {
412
427
  const result = [];
413
428
  const { top, left, bottom, right } = this.area;
414
429
  for (let x = left; x <= right; x++) {
@@ -443,15 +458,14 @@ class Table {
443
458
  }
444
459
  }
445
460
  cleanObsolete(history) {
446
- if (history.operation === "DELETE_ROWS" ||
447
- history.operation === "DELETE_COLS") {
461
+ if (history.operation === 'DELETE_ROWS' || history.operation === 'DELETE_COLS') {
448
462
  history.deleted.forEach((ids) => {
449
463
  ids.forEach((id) => {
450
464
  delete this.data[id];
451
465
  });
452
466
  });
453
467
  }
454
- if (history.operation === "MOVE") {
468
+ if (history.operation === 'MOVE') {
455
469
  Object.keys(history.lostRows).forEach((address) => {
456
470
  const idMatrix = history.lostRows[address];
457
471
  idMatrix.map((ids) => ids.forEach((id) => {
@@ -463,7 +477,7 @@ class Table {
463
477
  }
464
478
  }
465
479
  cleanStrayed(history) {
466
- if (history.operation === "ADD_ROWS" || history.operation === "ADD_COLS") {
480
+ if (history.operation === 'ADD_ROWS' || history.operation === 'ADD_COLS') {
467
481
  history.idMatrix.forEach((ids) => {
468
482
  ids.forEach((id) => {
469
483
  delete this.data[id];
@@ -538,7 +552,7 @@ class Table {
538
552
  }
539
553
  return newCell;
540
554
  }
541
- move({ src, dst, historicize = true, operator = "SYSTEM", reflection = {}, }) {
555
+ move({ src, dst, historicize = true, operator = 'SYSTEM', reflection = {} }) {
542
556
  const matrixNew = this.getNewIdMatrix(src);
543
557
  const matrixFrom = this.getIdMatrixFromArea(src);
544
558
  const matrixTo = this.getIdMatrixFromArea(dst);
@@ -552,8 +566,9 @@ class Table {
552
566
  const lostRows = (0, structs_1.putMatrix)(this.idMatrix, matrixFrom, dst, (srcId, dstId) => {
553
567
  const srcCell = this.data[srcId];
554
568
  const dstCell = this.data[dstId];
555
- if (operator === 'USER' && (prevention.isPrevented(srcCell === null || srcCell === void 0 ? void 0 : srcCell.prevention, prevention.MoveFrom) ||
556
- prevention.isPrevented(dstCell === null || dstCell === void 0 ? void 0 : dstCell.prevention, prevention.MoveTo))) {
569
+ if (operator === 'USER' &&
570
+ (prevention.isPrevented(srcCell === null || srcCell === void 0 ? void 0 : srcCell.prevention, prevention.MoveFrom) ||
571
+ prevention.isPrevented(dstCell === null || dstCell === void 0 ? void 0 : dstCell.prevention, prevention.MoveTo))) {
557
572
  return false;
558
573
  }
559
574
  if (srcCell != null) {
@@ -564,7 +579,7 @@ class Table {
564
579
  if (historicize) {
565
580
  this.pushHistory({
566
581
  applyed: true,
567
- operation: "MOVE",
582
+ operation: 'MOVE',
568
583
  reflection,
569
584
  src,
570
585
  dst,
@@ -576,7 +591,7 @@ class Table {
576
591
  }
577
592
  return this.shallowCopy({ copyCache: false });
578
593
  }
579
- copy({ src, dst, operator = "SYSTEM", reflection = {}, }) {
594
+ copy({ src, dst, operator = 'SYSTEM', reflection = {} }) {
580
595
  const { height: maxHeight, width: maxWidth } = (0, structs_1.areaShape)(Object.assign(Object.assign({}, src), { base: 1 }));
581
596
  const { top: topFrom, left: leftFrom } = src;
582
597
  const { top: topTo, left: leftTo, bottom: bottomTo, right: rightTo } = dst;
@@ -673,7 +688,7 @@ class Table {
673
688
  diffAfter,
674
689
  };
675
690
  }
676
- update({ diff, partial = true, updateChangedAt = true, historicize = true, operator = "SYSTEM", reflection = {}, }) {
691
+ update({ diff, partial = true, updateChangedAt = true, historicize = true, operator = 'SYSTEM', reflection = {}, }) {
677
692
  const { diffBefore, diffAfter } = this._update({
678
693
  diff,
679
694
  partial,
@@ -683,7 +698,7 @@ class Table {
683
698
  if (historicize) {
684
699
  this.pushHistory({
685
700
  applyed: true,
686
- operation: "UPDATE",
701
+ operation: 'UPDATE',
687
702
  reflection,
688
703
  diffBefore,
689
704
  diffAfter,
@@ -692,7 +707,7 @@ class Table {
692
707
  }
693
708
  return this.shallowCopy({ copyCache: true });
694
709
  }
695
- writeMatrix({ point, matrix, updateChangedAt = true, historicize = true, operator = "SYSTEM", reflection = {}, }) {
710
+ writeMatrix({ point, matrix, updateChangedAt = true, historicize = true, operator = 'SYSTEM', reflection = {}, }) {
696
711
  const { y: baseY, x: baseX } = point;
697
712
  const diff = {};
698
713
  matrix.forEach((cols, i) => {
@@ -718,7 +733,7 @@ class Table {
718
733
  reflection,
719
734
  });
720
735
  }
721
- write({ point, value, updateChangedAt = true, historicize = true, operator = "SYSTEM", reflection = {}, }) {
736
+ write({ point, value, updateChangedAt = true, historicize = true, operator = 'SYSTEM', reflection = {}, }) {
722
737
  return this.writeMatrix({
723
738
  point,
724
739
  matrix: [[value]],
@@ -728,7 +743,7 @@ class Table {
728
743
  reflection,
729
744
  });
730
745
  }
731
- addRowsAndUpdate({ y, numRows, baseY, diff, partial, updateChangedAt, operator = "SYSTEM", reflection = {}, }) {
746
+ addRowsAndUpdate({ y, numRows, baseY, diff, partial, updateChangedAt, operator = 'SYSTEM', reflection = {}, }) {
732
747
  const returned = this.addRows({
733
748
  y,
734
749
  numRows,
@@ -738,9 +753,10 @@ class Table {
738
753
  Object.assign(this.lastHistory, this._update({ diff, partial, updateChangedAt, operator }), { partial });
739
754
  return returned;
740
755
  }
741
- addRows({ y, numRows, baseY, operator = "SYSTEM", reflection = {}, }) {
742
- if (this.maxNumRows !== -1 &&
743
- this.getNumRows() + numRows > this.maxNumRows) {
756
+ addRows({ y, numRows, baseY,
757
+ // operator = 'SYSTEM',
758
+ reflection = {}, }) {
759
+ if (this.maxNumRows !== -1 && this.getNumRows() + numRows > this.maxNumRows) {
744
760
  console.error(`Rows are limited to ${this.maxNumRows}.`);
745
761
  return this;
746
762
  }
@@ -762,7 +778,7 @@ class Table {
762
778
  this.area.bottom += numRows;
763
779
  this.pushHistory({
764
780
  applyed: true,
765
- operation: "ADD_ROWS",
781
+ operation: 'ADD_ROWS',
766
782
  reflection,
767
783
  y,
768
784
  numRows,
@@ -770,16 +786,15 @@ class Table {
770
786
  });
771
787
  return this.shallowCopy({ copyCache: false });
772
788
  }
773
- deleteRows({ y, numRows, operator = "SYSTEM", reflection = {}, }) {
774
- if (this.minNumRows !== -1 &&
775
- this.getNumRows() - numRows < this.minNumRows) {
789
+ deleteRows({ y, numRows, operator = 'SYSTEM', reflection = {}, }) {
790
+ if (this.minNumRows !== -1 && this.getNumRows() - numRows < this.minNumRows) {
776
791
  console.error(`At least ${this.minNumRows} row(s) are required.`);
777
792
  return this;
778
793
  }
779
794
  const ys = [];
780
795
  for (let i = y; i < y + numRows; i++) {
781
796
  const cell = this.getByPoint({ y: i, x: 0 });
782
- if (operator === "USER" && prevention.isPrevented(cell === null || cell === void 0 ? void 0 : cell.prevention, prevention.DeleteRow)) {
797
+ if (operator === 'USER' && prevention.isPrevented(cell === null || cell === void 0 ? void 0 : cell.prevention, prevention.DeleteRow)) {
783
798
  console.warn(`Cannot delete row ${i}.`);
784
799
  return this;
785
800
  }
@@ -793,7 +808,7 @@ class Table {
793
808
  this.area.bottom -= ys.length;
794
809
  this.pushHistory({
795
810
  applyed: true,
796
- operation: "DELETE_ROWS",
811
+ operation: 'DELETE_ROWS',
797
812
  reflection,
798
813
  ys: ys.reverse(),
799
814
  deleted,
@@ -811,8 +826,7 @@ class Table {
811
826
  return returned;
812
827
  }
813
828
  addCols({ x, numCols, baseX, reflection = {}, }) {
814
- if (this.maxNumCols !== -1 &&
815
- this.getNumCols() + numCols > this.maxNumCols) {
829
+ if (this.maxNumCols !== -1 && this.getNumCols() + numCols > this.maxNumCols) {
816
830
  console.error(`Columns are limited to ${this.maxNumCols}.`);
817
831
  return this;
818
832
  }
@@ -834,7 +848,7 @@ class Table {
834
848
  this.area.right += numCols;
835
849
  this.pushHistory({
836
850
  applyed: true,
837
- operation: "ADD_COLS",
851
+ operation: 'ADD_COLS',
838
852
  reflection,
839
853
  x,
840
854
  numCols,
@@ -842,16 +856,15 @@ class Table {
842
856
  });
843
857
  return this.shallowCopy({ copyCache: false });
844
858
  }
845
- deleteCols({ x, numCols, operator = "SYSTEM", reflection = {}, }) {
846
- if (this.minNumCols !== -1 &&
847
- this.getNumCols() - numCols < this.minNumCols) {
859
+ deleteCols({ x, numCols, operator = 'SYSTEM', reflection = {}, }) {
860
+ if (this.minNumCols !== -1 && this.getNumCols() - numCols < this.minNumCols) {
848
861
  console.error(`At least ${this.minNumCols} column(s) are required.`);
849
862
  return this;
850
863
  }
851
864
  const xs = [];
852
865
  for (let i = x; i < x + numCols; i++) {
853
866
  const cell = this.getByPoint({ y: 0, x: i });
854
- if (operator === "USER" && prevention.isPrevented(cell === null || cell === void 0 ? void 0 : cell.prevention, prevention.DeleteCol)) {
867
+ if (operator === 'USER' && prevention.isPrevented(cell === null || cell === void 0 ? void 0 : cell.prevention, prevention.DeleteCol)) {
855
868
  console.warn(`Cannot delete col ${i}.`);
856
869
  continue;
857
870
  }
@@ -869,7 +882,7 @@ class Table {
869
882
  this.area.right -= xs.length;
870
883
  this.pushHistory({
871
884
  applyed: true,
872
- operation: "DELETE_COLS",
885
+ operation: 'DELETE_COLS',
873
886
  reflection,
874
887
  xs: xs.reverse(),
875
888
  deleted,
@@ -896,37 +909,39 @@ class Table {
896
909
  }
897
910
  parse(point, value) {
898
911
  const cell = this.getByPoint(point) || {};
899
- const parser = this.parsers[cell.parser || ""] || core_1.defaultParser;
912
+ const parser = this.parsers[cell.parser || ''] || core_1.defaultParser;
900
913
  return parser.call(value, cell);
901
914
  }
902
915
  render(point, writer) {
903
916
  const cell = this.getByPoint(point) || {};
904
- const renderer = this.renderers[cell.renderer || ""] || core_2.defaultRenderer;
917
+ const renderer = this.renderers[cell.renderer || ''] || core_2.defaultRenderer;
905
918
  return renderer.call(this, point, writer);
906
919
  }
907
920
  stringify(point, value, evaluates = false) {
908
921
  const cell = this.getByPoint(point);
909
- const renderer = this.renderers[(cell === null || cell === void 0 ? void 0 : cell.renderer) || ""] || core_2.defaultRenderer;
910
- const s = renderer.stringify(typeof value === "undefined" ? Object.assign({}, cell) : Object.assign(Object.assign({}, cell), { value }));
911
- if (s[0] === "=") {
922
+ const renderer = this.renderers[(cell === null || cell === void 0 ? void 0 : cell.renderer) || ''] || core_2.defaultRenderer;
923
+ const s = renderer.stringify(typeof value === 'undefined' ? Object.assign({}, cell) : Object.assign(Object.assign({}, cell), { value }));
924
+ if (s[0] === '=') {
912
925
  if (evaluates) {
913
926
  return String((0, solver_1.solveFormula)({ value: s, table: this, raise: false }));
914
927
  }
915
928
  const lexer = new evaluator_1.Lexer(s.substring(1));
916
929
  lexer.tokenize();
917
- return "=" + lexer.stringifyToRef(this);
930
+ return '=' + lexer.stringifyToRef(this);
918
931
  }
919
932
  return s;
920
933
  }
921
934
  trim(area) {
935
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
922
936
  const copied = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
923
937
  copied.area = area;
924
938
  return copied;
925
939
  }
926
940
  getIdByAddress(address) {
941
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
927
942
  let table = this;
928
- if (address.indexOf("!") !== -1) {
929
- const [sheetName, addr] = address.split("!");
943
+ if (address.indexOf('!') !== -1) {
944
+ const [sheetName, addr] = address.split('!');
930
945
  const sheetId = this.sheets[(0, evaluator_1.stripSheetName)(sheetName)];
931
946
  table = this.tables[sheetId];
932
947
  address = addr;
@@ -934,8 +949,8 @@ class Table {
934
949
  const { y, x } = (0, converters_1.a2p)(address);
935
950
  const id = table.getId({ y, x });
936
951
  if (id) {
937
- const prefix = table === this ? "" : `#${table.sheetId}!`;
938
- return `${prefix}#${x < 0 ? "$" : ""}${id}${y < 0 ? "$" : ""}`;
952
+ const prefix = table === this ? '' : `#${table.sheetId}!`;
953
+ return `${prefix}#${x < 0 ? '$' : ''}${id}${y < 0 ? '$' : ''}`;
939
954
  }
940
955
  }
941
956
  applyDiff(diff, partial = true) {
@@ -956,11 +971,11 @@ class Table {
956
971
  history.applyed = false;
957
972
  this.currentHistory = history;
958
973
  switch (history.operation) {
959
- case "UPDATE":
974
+ case 'UPDATE':
960
975
  // diffBefore is guaranteed as total of cell (not partial)
961
976
  this.applyDiff(history.diffBefore, false);
962
977
  break;
963
- case "ADD_ROWS": {
978
+ case 'ADD_ROWS': {
964
979
  if (history.diffBefore) {
965
980
  this.applyDiff(history.diffBefore, false);
966
981
  }
@@ -969,7 +984,7 @@ class Table {
969
984
  this.area.bottom -= height;
970
985
  break;
971
986
  }
972
- case "ADD_COLS": {
987
+ case 'ADD_COLS': {
973
988
  if (history.diffBefore) {
974
989
  this.applyDiff(history.diffBefore, false);
975
990
  }
@@ -980,7 +995,7 @@ class Table {
980
995
  this.area.right -= width;
981
996
  break;
982
997
  }
983
- case "DELETE_ROWS": {
998
+ case 'DELETE_ROWS': {
984
999
  const { ys, deleted } = history;
985
1000
  ys.forEach((y, i) => {
986
1001
  this.idMatrix.splice(y, 0, deleted[i]);
@@ -988,7 +1003,7 @@ class Table {
988
1003
  this.area.bottom += ys.length;
989
1004
  break;
990
1005
  }
991
- case "DELETE_COLS": {
1006
+ case 'DELETE_COLS': {
992
1007
  const { xs, deleted } = history;
993
1008
  this.idMatrix.forEach((row, i) => {
994
1009
  for (let j = 0; j < xs.length; j++) {
@@ -998,7 +1013,7 @@ class Table {
998
1013
  this.area.right += xs.length;
999
1014
  break;
1000
1015
  }
1001
- case "MOVE": {
1016
+ case 'MOVE': {
1002
1017
  const { top: yFrom, left: xFrom } = history.src;
1003
1018
  const { top: yTo, left: xTo } = history.dst;
1004
1019
  const { height: rows, width: cols } = (0, structs_1.matrixShape)({
@@ -1035,10 +1050,10 @@ class Table {
1035
1050
  history.applyed = true;
1036
1051
  this.currentHistory = history;
1037
1052
  switch (history.operation) {
1038
- case "UPDATE":
1053
+ case 'UPDATE':
1039
1054
  this.applyDiff(history.diffAfter, history.partial);
1040
1055
  break;
1041
- case "ADD_ROWS": {
1056
+ case 'ADD_ROWS': {
1042
1057
  if (history.diffAfter) {
1043
1058
  this.applyDiff(history.diffAfter, history.partial);
1044
1059
  }
@@ -1047,7 +1062,7 @@ class Table {
1047
1062
  this.area.bottom += height;
1048
1063
  break;
1049
1064
  }
1050
- case "ADD_COLS": {
1065
+ case 'ADD_COLS': {
1051
1066
  if (history.diffAfter) {
1052
1067
  this.applyDiff(history.diffAfter, history.partial);
1053
1068
  }
@@ -1058,7 +1073,7 @@ class Table {
1058
1073
  this.area.right += width;
1059
1074
  break;
1060
1075
  }
1061
- case "DELETE_ROWS": {
1076
+ case 'DELETE_ROWS': {
1062
1077
  const { ys } = history;
1063
1078
  [...ys].reverse().forEach((y) => {
1064
1079
  this.idMatrix.splice(y, 1);
@@ -1066,7 +1081,7 @@ class Table {
1066
1081
  this.area.bottom -= ys.length;
1067
1082
  break;
1068
1083
  }
1069
- case "DELETE_COLS": {
1084
+ case 'DELETE_COLS': {
1070
1085
  const { xs } = history;
1071
1086
  [...xs].reverse().forEach((x) => {
1072
1087
  this.idMatrix.forEach((row) => {
@@ -1076,9 +1091,9 @@ class Table {
1076
1091
  this.area.right -= xs.length;
1077
1092
  break;
1078
1093
  }
1079
- case "MOVE": {
1094
+ case 'MOVE': {
1080
1095
  const { src, dst } = history;
1081
- this.move({ src, dst, operator: "USER", historicize: false });
1096
+ this.move({ src, dst, operator: 'USER', historicize: false });
1082
1097
  }
1083
1098
  }
1084
1099
  return {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/lib/table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/lib/time.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,SAAS,MAAmC,CAAC;AAK1D,aAAK,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErE,qBAAa,SAAS;IACpB,SAAS,CAAC,IAAI,EAAE,IAAI,CAAyB;IAC7C,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,KAAK,CAAO;IACb,MAAM,EAAE,MAAM,CAAC;gBAEV,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;IAc7B,GAAG,CAAC,IAAI,EAAE,IAAI;IAMd,GAAG,CAAC,IAAI,EAAE,IAAI;IAOd,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IAuBzB,MAAM;IAIN,QAAQ;IAIf,MAAM,CAAC,MAAM,CAAC,KAAK,SAAI,EAAE,OAAO,SAAI,EAAE,OAAO,SAAI,EAAE,YAAY,SAAI;CAQpE"}