@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.11

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 (480) hide show
  1. package/README.md +1 -1
  2. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  3. package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → BFagR2JeWs74iAG3.mjs} +1 -1
  4. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  5. package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → BLoUBId2xZpXAK_H.mjs} +110 -261
  6. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  7. package/browser/esm/{o8MFgcVXns987D6_.mjs → BVDiOXGMc5_FMGfy.mjs} +6 -6
  8. package/browser/esm/{BzLfNyc6OOShIErH.mjs → BjkCiv5Jz6WYKZeu.mjs} +2 -2
  9. package/browser/esm/{De175LygU7ot4nQm.mjs → BkBhLS0l6z8sxI6D.mjs} +2 -2
  10. package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → BnG31I6Oj_HEtSPS.mjs} +1 -1
  11. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  12. package/browser/esm/{CYyv6uGjo10ig5FP.mjs → BpgskG1Er_lGQ_yS.mjs} +1 -1
  13. package/browser/esm/{C9B0djuUarfNdoj0.mjs → BtvLTTfSBdAKplVG.mjs} +1 -1
  14. package/browser/esm/{zqJOaweiXE9D8RY1.mjs → C16ycKja6zG0crV_.mjs} +27687 -38788
  15. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  16. package/browser/esm/{Btg43M1Bf-ENDreu.mjs → C4MqfLn9Dm-l3OIk.mjs} +1 -1
  17. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  18. package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → CHU6iu_WGlm7fLET.mjs} +1 -1
  19. package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → CQYjO777cmAznUzK.mjs} +1 -1
  20. package/browser/esm/{D4uVlrG0xEFctsSM.mjs → CU3DmJ-YnVVrC1_k.mjs} +285 -67
  21. package/browser/esm/{ClB5ix51roQOpZEr.mjs → CV5EGEjG5_-CPpP0.mjs} +2877 -2067
  22. package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  23. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  24. package/browser/esm/{CZ5oa92wZEAXebgk.mjs → ClPfI4lODvCece29.mjs} +32 -22
  25. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  26. package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → Ctjb0SsxV4K4MMqG.mjs} +2 -2
  27. package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → D5np__Jb1euAyaLw.mjs} +2 -2
  28. package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → DEiPS3Dr-s4fPbVZ.mjs} +1 -1
  29. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  30. package/browser/esm/{BqskM7wA8oPfFQue.mjs → DWNzqw7DUKwoxjri.mjs} +2 -2
  31. package/browser/esm/{BEAY9XgKNx-bakXW.mjs → Dlmig06rIo7cInRk.mjs} +1 -1
  32. package/browser/esm/DvAaxH6z_tGvrRzl.mjs +5132 -0
  33. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  34. package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → PcHFjNzQsE54POri.mjs} +1 -1
  35. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  36. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  37. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  38. package/browser/esm/index.mjs +999 -850
  39. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  40. package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → zlLuW405RSguy4Kn.mjs} +34 -34
  41. package/licenses/dependencies.txt +75 -75
  42. package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → 2Kihw_-5lVTEnwMa.mjs} +285 -64
  43. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  44. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  45. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  46. package/node/esm/{CImNvdz1iP-lUlro.mjs → BIRq1kT7lLRzns9t.mjs} +181 -181
  47. package/node/esm/{CD9wbvufChVYYkrI.mjs → BIwObuhTJYf0jpUa.mjs} +2 -2
  48. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  49. package/node/esm/{B6D7sSetrcOWLsKj.mjs → BqiexuA89caYnAPz.mjs} +1 -1
  50. package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BrCKGFRsX_ezFJ4B.mjs} +151 -302
  51. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  52. package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  53. package/node/esm/{DCplLG93GfTs1vNw.mjs → CGp6VZL-gZa9Uezx.mjs} +1 -1
  54. package/node/esm/{B9ljpEIZg6wOTzRE.mjs → CNCNJNg890KdgkWh.mjs} +1 -1
  55. package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CZICGK_ss0HoGHCP.mjs} +2 -2
  56. package/node/esm/{D7MfcID2Wf6l6VpC.mjs → CZiqiay42tFTrLI4.mjs} +1 -1
  57. package/node/esm/{Bsx9uijd4X_SKV3L.mjs → CdJHUJSBRHZoryPe.mjs} +41 -41
  58. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  59. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  60. package/node/esm/{CUUoseJmFsCf82bb.mjs → CzXT00vrQa1_gvW9.mjs} +1 -1
  61. package/node/esm/{C6ZXsNyLXI6zA63X.mjs → D1TKBVmoKGAXf37B.mjs} +9 -9
  62. package/node/esm/{BN9j8V9gCExMjVtJ.mjs → D2KBymQJd1XhpeQD.mjs} +1 -1
  63. package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → D6e2z7eZpxOJXHc7.mjs} +1 -1
  64. package/node/esm/{BtuY37FumvLE7EBo.mjs → D8zEN-6ZdDqDvTxM.mjs} +156 -146
  65. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  66. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  67. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  68. package/node/esm/{DMD12JUh7HJw2-jl.mjs → D_t5AUxSm7_icjzq.mjs} +1 -1
  69. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  70. package/node/esm/{CUQi5ZtMO02nhG0W.mjs → De2IONBxQhz-Qbyh.mjs} +1 -1
  71. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  72. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  73. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  74. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  75. package/node/esm/{DefYISWfdZJFx57m.mjs → cGwrLA1RCE-WhJ7w.mjs} +1 -1
  76. package/node/esm/index.mjs +2657 -65664
  77. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  78. package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → yavzZOiZW_EjG9lE.mjs} +1 -1
  79. package/package.json +6 -7
  80. package/resources/contents.json +120 -0
  81. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  82. package/resources/fonts/arial-bold-italic.metrics.json +13 -13
  83. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  84. package/resources/fonts/arial-bold.hinted.json +125 -0
  85. package/resources/fonts/arial-bold.metrics.json +12 -12
  86. package/resources/fonts/arial-bold.rows.json +9 -0
  87. package/resources/fonts/arial-italic.hinted.json +125 -0
  88. package/resources/fonts/arial-italic.metrics.json +13 -13
  89. package/resources/fonts/arial-italic.rows.json +9 -0
  90. package/resources/fonts/arial-regular.hinted.json +125 -0
  91. package/resources/fonts/arial-regular.metrics.json +12 -12
  92. package/resources/fonts/arial-regular.rows.json +9 -0
  93. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  94. package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
  95. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  96. package/resources/fonts/calibri-bold.hinted.json +122 -0
  97. package/resources/fonts/calibri-bold.metrics.json +1 -1
  98. package/resources/fonts/calibri-bold.rows.json +9 -0
  99. package/resources/fonts/calibri-italic.hinted.json +121 -0
  100. package/resources/fonts/calibri-italic.metrics.json +2 -2
  101. package/resources/fonts/calibri-italic.rows.json +9 -0
  102. package/resources/fonts/calibri-regular.hinted.json +121 -0
  103. package/resources/fonts/calibri-regular.metrics.json +1 -1
  104. package/resources/fonts/calibri-regular.rows.json +9 -0
  105. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  106. package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
  107. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  108. package/resources/fonts/cambria-bold.hinted.json +108 -0
  109. package/resources/fonts/cambria-bold.metrics.json +19 -19
  110. package/resources/fonts/cambria-bold.rows.json +9 -0
  111. package/resources/fonts/cambria-italic.hinted.json +102 -0
  112. package/resources/fonts/cambria-italic.metrics.json +23 -23
  113. package/resources/fonts/cambria-italic.rows.json +9 -0
  114. package/resources/fonts/cambria-regular.hinted.json +110 -0
  115. package/resources/fonts/cambria-regular.metrics.json +18 -18
  116. package/resources/fonts/cambria-regular.rows.json +9 -0
  117. package/resources/fonts/contents.json +280 -0
  118. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  119. package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
  120. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  121. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  122. package/resources/fonts/courier-new-bold.metrics.json +12 -12
  123. package/resources/fonts/courier-new-bold.rows.json +9 -0
  124. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  125. package/resources/fonts/courier-new-italic.metrics.json +12 -12
  126. package/resources/fonts/courier-new-italic.rows.json +9 -0
  127. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  128. package/resources/fonts/courier-new-regular.metrics.json +12 -12
  129. package/resources/fonts/courier-new-regular.rows.json +9 -0
  130. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  131. package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
  132. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  133. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  134. package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
  135. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  136. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  137. package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
  138. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  139. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  140. package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
  141. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  142. package/resources/locales/de/model.msg.json +87 -9
  143. package/resources/locales/en/model.msg.json +88 -10
  144. package/types/scripting-api.json +10636 -8021
  145. package/types/scripting-enums.json +181 -43
  146. package/types/scripting.d.ts +15886 -8459
  147. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  148. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  149. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  150. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  151. package/types/src/address/AddressUtils.d.ts +10 -1
  152. package/types/src/address/_StructuredAddress.d.ts +58 -0
  153. package/types/src/border/IBorders.d.ts +16 -0
  154. package/types/src/calculation/Calculation.d.ts +93 -363
  155. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  156. package/types/src/calculation/FormulaText.d.ts +18 -2
  157. package/types/src/calculation/ICalculation.d.ts +37 -9
  158. package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
  159. package/types/src/calculation/NamedFormulaCollection.d.ts +190 -15
  160. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  161. package/types/src/calculation/_TableExtent.d.ts +60 -0
  162. package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
  163. package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
  164. package/types/src/calculation/compiler/Types.d.ts +1 -1
  165. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  166. package/types/src/calculation/engine/index.d.ts +10 -0
  167. package/types/src/calculation/executor/CalcExecutor.d.ts +21 -2
  168. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +6 -0
  169. package/types/src/calculation/formula/Formula.d.ts +9 -0
  170. package/types/src/calculation/formula/FormulaBlock.d.ts +6 -0
  171. package/types/src/calculation/formula/IFormulaBlock.d.ts +16 -0
  172. package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
  173. package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
  174. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  175. package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
  176. package/types/src/calculation/grid/CalcGrid.d.ts +40 -4
  177. package/types/src/calculation/grid/CalcGridBackend.d.ts +30 -0
  178. package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
  179. package/types/src/calculation/grid/CalcGridUtils.d.ts +8 -1
  180. package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
  181. package/types/src/calculation/grid/ICalcGrid.d.ts +35 -6
  182. package/types/src/calculation/grid/_CalcRequest.d.ts +11 -1
  183. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  184. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +27 -2
  185. package/types/src/calculation/state/CalcScope.d.ts +15 -6
  186. package/types/src/calculation/state/CalcState.d.ts +10 -0
  187. package/types/src/calculation/state/CalculationContext.d.ts +2 -2
  188. package/types/src/calculation/state/IContextContainer.d.ts +12 -0
  189. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  190. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  191. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  192. package/types/src/calculation/toolkit/index.d.ts +12 -0
  193. package/types/src/cell/ICell.d.ts +256 -7
  194. package/types/src/cell/ICellHeader.d.ts +7 -6
  195. package/types/src/cell/ICellProtection.d.ts +1 -1
  196. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  197. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  198. package/types/src/cellRange/ICellRange.d.ts +322 -55
  199. package/types/src/cellRange/ICellRanges.d.ts +8 -3
  200. package/types/src/chart/Chart.d.ts +217 -15
  201. package/types/src/chart/ChartCollection.d.ts +7 -2
  202. package/types/src/chart/IChart.d.ts +1921 -35
  203. package/types/src/chart/IChartCollection.d.ts +27 -2
  204. package/types/src/chart/_ChartParts.d.ts +1066 -0
  205. package/types/src/chart/_ChartSource.d.ts +47 -0
  206. package/types/src/chart/createChart.d.ts +26 -0
  207. package/types/src/chart/index.d.ts +4 -0
  208. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  209. package/types/src/chart/kinds/_Area.d.ts +3 -0
  210. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  211. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  212. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  213. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  214. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  215. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  216. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  217. package/types/src/chart/kinds/_Line.d.ts +4 -0
  218. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  219. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  220. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  221. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  222. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  223. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  224. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  225. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  226. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  227. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  228. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  229. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  230. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  231. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  232. package/types/src/chart/layout/_Layout.d.ts +25 -0
  233. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  234. package/types/src/chart/math/BoxStats.d.ts +35 -0
  235. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  236. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  237. package/types/src/chart/math/Histogram.d.ts +48 -0
  238. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  239. package/types/src/chart/math/Treemap.d.ts +28 -0
  240. package/types/src/chart/math/Trendlines.d.ts +71 -0
  241. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  242. package/types/src/chart/model/ChartModel.d.ts +681 -0
  243. package/types/src/chart/model/_ChartType.d.ts +14 -0
  244. package/types/src/chart/model/_Edits.d.ts +489 -0
  245. package/types/src/chart/model/_Grouping.d.ts +83 -0
  246. package/types/src/chart/model/_Inference.d.ts +52 -0
  247. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  248. package/types/src/chart/model/_NewChart.d.ts +208 -0
  249. package/types/src/chart/model/_OfPie.d.ts +18 -0
  250. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  251. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  252. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  253. package/types/src/collections/RTree.d.ts +116 -36
  254. package/types/src/collections/SparseGrid.d.ts +6 -3
  255. package/types/src/collections/SpatialMap.d.ts +2 -8
  256. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  257. package/types/src/collections/index.d.ts +1 -1
  258. package/types/src/comment/Comment.d.ts +32 -9
  259. package/types/src/comment/IComment.d.ts +41 -4
  260. package/types/src/comment/_NoteBox.d.ts +19 -2
  261. package/types/src/condition/AnchoredConditional.d.ts +28 -2
  262. package/types/src/condition/ICondition.d.ts +3 -2
  263. package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
  264. package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
  265. package/types/src/dataTable/DataTable.d.ts +67 -0
  266. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  267. package/types/src/dataTable/IDataTable.d.ts +99 -0
  268. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  269. package/types/src/dataTable/index.d.ts +6 -0
  270. package/types/src/dataValidation/DataValidation.d.ts +1 -1
  271. package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
  272. package/types/src/dataValidation/IDataValidation.d.ts +1 -1
  273. package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
  274. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  275. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  276. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  277. package/types/src/documentProperties/index.d.ts +3 -0
  278. package/types/src/externalBook/IExternalBook.d.ts +1 -1
  279. package/types/src/fill/IFill.d.ts +7 -0
  280. package/types/src/fill/IFillable.d.ts +47 -0
  281. package/types/src/fill/IStroke.d.ts +15 -1
  282. package/types/src/fill/PaintUtils.d.ts +22 -0
  283. package/types/src/fill/index.d.ts +2 -0
  284. package/types/src/font/AdvanceBuilder.d.ts +34 -0
  285. package/types/src/font/AdvanceTable.d.ts +128 -14
  286. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  287. package/types/src/font/FontCapture.d.ts +4 -0
  288. package/types/src/font/FontCollection.d.ts +53 -2
  289. package/types/src/font/FontPlatform.d.ts +20 -0
  290. package/types/src/font/FontUtils.d.ts +5 -0
  291. package/types/src/font/IFont.d.ts +191 -61
  292. package/types/src/font/IFontCollection.d.ts +20 -14
  293. package/types/src/font/IFontStyle.d.ts +207 -0
  294. package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
  295. package/types/src/font/_FontUtils.d.ts +11 -4
  296. package/types/src/font/_FontsVersion.d.ts +7 -0
  297. package/types/src/font/index.d.ts +1 -3
  298. package/types/src/font/platform.browser.d.ts +15 -0
  299. package/types/src/font/platform.node.d.ts +5 -0
  300. package/types/src/group/Group.d.ts +5 -0
  301. package/types/src/group/GroupMovableCollection.d.ts +4 -0
  302. package/types/src/history/IHistory.d.ts +19 -2
  303. package/types/src/hyperlink/IHyperlink.d.ts +7 -1
  304. package/types/src/index.d.ts +3 -0
  305. package/types/src/license/LicenseManager.d.ts +21 -0
  306. package/types/src/license/_Utils.d.ts +18 -1
  307. package/types/src/license/runtime.browser.d.ts +5 -0
  308. package/types/src/license/runtime.node.d.ts +10 -0
  309. package/types/src/listener/IListener.d.ts +14 -2
  310. package/types/src/listener/ListenerEmitter.d.ts +11 -3
  311. package/types/src/movable/IMovable.d.ts +28 -15
  312. package/types/src/movable/IMovableCollection.d.ts +1 -1
  313. package/types/src/movable/Movable.d.ts +12 -1
  314. package/types/src/movable/MovableCollection.d.ts +7 -3
  315. package/types/src/movable/_InsertableCollection.d.ts +16 -5
  316. package/types/src/named/INamed.d.ts +30 -0
  317. package/types/src/named/INamedCollection.d.ts +2 -2
  318. package/types/src/named/NamedCollection.d.ts +16 -4
  319. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  320. package/types/src/outline/IOutline.d.ts +1 -1
  321. package/types/src/outline/Outline.d.ts +2 -2
  322. package/types/src/picture/IPicture.d.ts +98 -1
  323. package/types/src/picture/Picture.d.ts +15 -7
  324. package/types/src/pivot/IPivotTable.d.ts +2 -2
  325. package/types/src/pivot/PivotTable.d.ts +5 -5
  326. package/types/src/primitives/ReferenceRange.d.ts +2 -2
  327. package/types/src/print/IPageLayout.d.ts +635 -0
  328. package/types/src/print/PageLayout.d.ts +258 -0
  329. package/types/src/print/index.d.ts +1 -1
  330. package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
  331. package/types/src/protection/IProtection.d.ts +6 -0
  332. package/types/src/protection/PasswordHasher.d.ts +13 -0
  333. package/types/src/richData/IRichDataKind.d.ts +22 -0
  334. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  335. package/types/src/richData/RichText.d.ts +59 -0
  336. package/types/src/richData/index.d.ts +3 -0
  337. package/types/src/scripting/IModule.d.ts +3 -3
  338. package/types/src/scripting/IScript.d.ts +2 -2
  339. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  340. package/types/src/scripting/declarations.d.ts +3 -0
  341. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  342. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  343. package/types/src/selection/IItemSelection.d.ts +131 -0
  344. package/types/src/selection/IMovableSelection.d.ts +6 -34
  345. package/types/src/selection/IRangeSelection.d.ts +4 -4
  346. package/types/src/selection/ItemSelection.d.ts +49 -0
  347. package/types/src/selection/MovableSelection.d.ts +11 -30
  348. package/types/src/selection/RangeSelection.d.ts +4 -4
  349. package/types/src/selection/index.d.ts +3 -0
  350. package/types/src/shape/IShape.d.ts +2 -1
  351. package/types/src/shape/IShapeStyle.d.ts +5 -31
  352. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  353. package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
  354. package/types/src/shape/_Connectors.d.ts +9 -9
  355. package/types/src/shape/_ShapeStyle.d.ts +9 -0
  356. package/types/src/shape/index.d.ts +1 -0
  357. package/types/src/sheet/CellRegion.d.ts +37 -3
  358. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  359. package/types/src/sheet/ISheet.d.ts +81 -1078
  360. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  361. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
  362. package/types/src/sheet/NamedCellRange.d.ts +2 -2
  363. package/types/src/sheet/NamedRange.d.ts +2 -2
  364. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  365. package/types/src/sheet/SheetCell.d.ts +24 -27
  366. package/types/src/sheet/SheetRange.d.ts +42 -11
  367. package/types/src/sheet/SheetRanges.d.ts +12 -10
  368. package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +510 -144
  369. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  370. package/types/src/sheet/_Anomalies.d.ts +109 -0
  371. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  372. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  373. package/types/src/sheet/_CellBuffer.d.ts +11 -1
  374. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  375. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  376. package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
  377. package/types/src/sheet/_Kinds.d.ts +34 -0
  378. package/types/src/sheet/_Labels.d.ts +38 -0
  379. package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
  380. package/types/src/sheet/_ScalarListFactory.d.ts +1 -1
  381. package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
  382. package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
  383. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  384. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  385. package/types/src/sheet/_SheetEvents.d.ts +1 -1
  386. package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
  387. package/types/src/sheet/_SheetIntents.d.ts +32 -14
  388. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  389. package/types/src/sheet/_SheetMutations.d.ts +7 -8
  390. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  391. package/types/src/sheet/_SheetStateReader.d.ts +18 -0
  392. package/types/src/sheet/_SheetStateTypes.d.ts +60 -1
  393. package/types/src/sheet/_SheetUtils.d.ts +20 -19
  394. package/types/src/sheet/_WatchAnchor.d.ts +15 -2
  395. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  396. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  397. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  398. package/types/src/sheet/index.d.ts +5 -2
  399. package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
  400. package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
  401. package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
  402. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  403. package/types/src/sheet/style/_Resolvers.d.ts +3 -2
  404. package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
  405. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
  406. package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
  407. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  408. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  409. package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
  410. package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
  411. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
  412. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  413. package/types/src/sheetProtection/index.d.ts +1 -1
  414. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
  415. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  416. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  417. package/types/src/sheetView/index.d.ts +1 -1
  418. package/types/src/slicer/ISlicer.d.ts +2 -2
  419. package/types/src/sort/ISort.d.ts +35 -5
  420. package/types/src/style/ICellStyle.d.ts +56 -44
  421. package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
  422. package/types/src/table/AnchoredTable.d.ts +23 -7
  423. package/types/src/table/AutoTable.d.ts +1 -1
  424. package/types/src/table/ITable.d.ts +32 -19
  425. package/types/src/table/_NamedTable.d.ts +3 -3
  426. package/types/src/table/_NamedTableSource.d.ts +2 -2
  427. package/types/src/text/IText.d.ts +4 -51
  428. package/types/src/text/TextEngine.d.ts +34 -0
  429. package/types/src/text/TextFrame.d.ts +4 -2
  430. package/types/src/text/TextRun.d.ts +3 -2
  431. package/types/src/text/TextWrapper.d.ts +32 -26
  432. package/types/src/text/_TextUtils.d.ts +5 -5
  433. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  434. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  435. package/types/src/text/richtext/IRichText.d.ts +16 -2
  436. package/types/src/text/richtext/index.d.ts +0 -1
  437. package/types/src/theme/ITheme.d.ts +108 -7
  438. package/types/src/theme/ThemeCollection.d.ts +5 -0
  439. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  440. package/types/src/transaction/ITransaction.d.ts +20 -1
  441. package/types/src/transaction/Transaction.d.ts +8 -1
  442. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  443. package/types/src/type/AbstractCollection.d.ts +4 -13
  444. package/types/src/type/ICollection.d.ts +17 -4
  445. package/types/src/type/IProperties.d.ts +1 -1
  446. package/types/src/utils/_CSSUtils.d.ts +1 -1
  447. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  448. package/types/src/wasm/_sdkWasm.d.ts +1 -1
  449. package/types/src/wasm/fontsWasm.d.ts +32 -0
  450. package/types/src/wasm/index.d.ts +1 -0
  451. package/types/src/wasm/loader.browser.d.ts +9 -0
  452. package/types/src/wasm/loader.node.d.ts +9 -0
  453. package/types/src/wasm/sdkWasm.d.ts +6 -3
  454. package/types/src/workbook/IWorkbook.d.ts +229 -38
  455. package/types/src/workbook/Workbook.d.ts +77 -22
  456. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  457. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  458. package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
  459. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  460. package/types/src/workbookView/IWorkbookView.d.ts +82 -0
  461. package/types/src/workbookView/WorkbookView.d.ts +21 -0
  462. package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
  463. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
  464. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
  465. package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
  466. package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
  467. package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
  468. package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
  469. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
  470. package/types/src/chart/_ChartXml.d.ts +0 -70
  471. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
  472. package/types/src/collections/_RangeSweep.d.ts +0 -97
  473. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  474. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  475. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  476. package/types/src/print/IPrint.d.ts +0 -212
  477. package/types/src/sheet/SheetCollection.d.ts +0 -29
  478. package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
  479. package/types/src/sheetView/SheetView.d.ts +0 -122
  480. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The calculation backend's code: what a started engine builds and runs.
3
+ *
4
+ * @remarks
5
+ * `Calculation` reaches every value here through this one module and nothing else, so the facade a
6
+ * workbook constructs carries none of it (DESIGN-CALC-SERVICE §5, §13.25). Types are imported
7
+ * directly; only values belong on this list.
8
+ */
9
+ export { CalcBackend } from './CalcBackend';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -338,6 +338,17 @@ export declare class CalcExecutor {
338
338
  * cell stores a scalar and registers no spill. Anything else as it is.
339
339
  */
340
340
  private _fitCell;
341
+ /**
342
+ * Whether a representative that read its position answers the same wherever it sits in the
343
+ * blank region: every variant of its formula ({@link IFormulaBlock.getPositionVariants}) answers
344
+ * `finalized` at its cell without reading the position, or anything else per cell.
345
+ *
346
+ * @remarks
347
+ * Each position test is `TRUE` or `FALSE` at every cell, so the variants cover every answer the
348
+ * region can give. A variant reads only what the formula itself read (no lazy argument, so no
349
+ * arm it skipped), all of it final by now, so it is evaluated without the pass's read hook.
350
+ */
351
+ private _isPositionFree;
341
352
  /**
342
353
  * The representative of a gated block has finalized (PLAN-WATCHES-BLANK-AWARE §4): its scalar is
343
354
  * shared with the block's blank region, or the gate is closed and the region is re-collected
@@ -345,8 +356,9 @@ export declare class CalcExecutor {
345
356
  *
346
357
  * @remarks
347
358
  * Shared only when nothing the evaluation read was per cell (`CalcScope.perCellRead`: a draw, a
348
- * position, a computed reference), the result is a scalar, and the node ran on its own - not a
349
- * promise, not pending on one, not in a cycle. A per-cell read is a fact of the formula and
359
+ * computed reference; a position unless {@link _isPositionFree} rules it out), the result is a
360
+ * scalar, and the node ran on its own - not a promise, not pending on one, not in a cycle. A
361
+ * per-cell read is a fact of the formula and
350
362
  * closes the gate for good ({@link FormulaSpatialValue.blankRefused}); the rest may not recur
351
363
  * and close it for this pass ({@link _fallbackBlank}).
352
364
  *
@@ -391,6 +403,13 @@ export declare class CalcExecutor {
391
403
  * reaches every cell, so the nodes go dense ({@link FormulaSpatialValue.densify}) rather than
392
404
  * being minted one by one through the sparse store.
393
405
  */
406
+ /**
407
+ * The representative's answer depends on the position, in a grid whose owner reads it a tile at
408
+ * a time (`CalcGridBackend.ConstructorOptions.paged`): the block keeps its sparse store and
409
+ * evaluates its blank region only inside the owner's tiles ({@link FormulaSpatialValue.blankPaged}),
410
+ * and what the rest of the region holds is cleared.
411
+ */
412
+ private _pageBlank;
394
413
  private _fallbackBlank;
395
414
  /**
396
415
  * What the pass reads for `node` right now — a member's starting value, before any demand
@@ -39,6 +39,12 @@ export declare class DownstreamSignal extends CalcSignal {
39
39
  constructor(node: CalcNode);
40
40
  }
41
41
  export declare function rangeToTuples(range: IRange, offsetMajor?: number, offsetMinor?: number): Tuple.Region<Scalar>;
42
+ /**
43
+ * A finalized result as an `evaluate()` call hands it out. A range is re-packed over a grid of
44
+ * cell-value runs (`createCellValueRun`), so the API returns what a cell would hold; the grid write
45
+ * is the packing, and the result reads its grid alone. Anything else is returned as it is.
46
+ */
47
+ export declare function packForReturn<T>(finalized: T): T;
42
48
  /**
43
49
  * Fits a result to a fixed (array-entered) extent, per dimension: a dimension of 1 broadcasts, a
44
50
  * longer one is clipped, a shorter one is padded with `#N/A`. Measured against Excel
@@ -93,6 +93,15 @@ export declare class Formula implements ICalculation.IFormula {
93
93
  * Provides a string representation of the formula.
94
94
  */
95
95
  toString(): string;
96
+ /**
97
+ * The formula text with its leading `=`, as `ICell.getFormulaText` gives it, so that
98
+ * logging or stringifying a formula reads as the formula.
99
+ *
100
+ * @remarks
101
+ * Typed `unknown` so a subclass with a persisted form of its own (`NamedFormula`) can answer
102
+ * with that instead.
103
+ */
104
+ toJSON(): unknown;
96
105
  /** {@inheritDoc ICalculation.IFormula.isIFormula} */
97
106
  get isIFormula(): true;
98
107
  }
@@ -47,6 +47,8 @@ export declare class FormulaBlock implements IFormulaBlock {
47
47
  * `null` = this block's precedents are not a pure translation.
48
48
  */
49
49
  protected _precedentTemplate: PrecedentTemplate | null | undefined;
50
+ /** {@link getPositionVariants}' answer, built on first ask. `undefined` = not asked yet. */
51
+ protected _positionVariants: FormulaBlock[] | null | undefined;
50
52
  /** {@link getRecord}'s answer, built on first ask; every vend of this block shares it. */
51
53
  private _record;
52
54
  constructor(compiled: CompiledFormula, context: IFormulaContext, scope: CalcScope, gridId: string | null, getEntireCoords: () => IRange.Coords, resolvers?: FormulaBlockResolvers | null);
@@ -78,10 +80,14 @@ export declare class FormulaBlock implements IFormulaBlock {
78
80
  getReferencedSymbolIds(): string[];
79
81
  /** @inheritdoc IFormulaBlock.hasTotals */
80
82
  hasTotals(): boolean;
83
+ /** @inheritdoc IFormulaBlock.hasVolatile */
84
+ hasVolatile(): boolean;
81
85
  /** @inheritdoc IFormulaBlock.isBlankCacheable */
82
86
  isBlankCacheable(arrayMode?: boolean): boolean;
83
87
  /** @inheritdoc IFormulaBlock.demandFirstCell */
84
88
  demandFirstCell(): void;
89
+ /** @inheritdoc IFormulaBlock.getPositionVariants */
90
+ getPositionVariants(): FormulaBlock[] | null;
85
91
  /** @inheritdoc IFormulaBlock.isReferenceOnly */
86
92
  isReferenceOnly(): boolean;
87
93
  /** @inheritdoc IFormulaBlock.isEquals */
@@ -346,6 +346,15 @@ export interface IFormulaBlock extends IFormulaBlockView {
346
346
  * either all of them call a total function or none do.
347
347
  */
348
348
  hasTotals(): boolean;
349
+ /**
350
+ * Whether the formula names a volatile function anywhere in its tree.
351
+ *
352
+ * @remarks
353
+ * Read straight off the compiled cache — see `CompiledFormula.hasVolatile`: the declaration of
354
+ * each function answers, at compile time, so a call in an arm no branch selects still counts.
355
+ * A name the formula mentions is not descended into; its body answers for itself.
356
+ */
357
+ hasVolatile(): boolean;
349
358
  /**
350
359
  * Whether the cells of a block running this formula whose relative inputs are all blank share
351
360
  * one value within a pass, as far as the formula TEXT can say.
@@ -365,6 +374,13 @@ export interface IFormulaBlock extends IFormulaBlockView {
365
374
  * `[0,0]` read (`CompilerUtils.annotateFirstCell`). Idempotent.
366
375
  */
367
376
  demandFirstCell(): void;
377
+ /**
378
+ * This formula with every position test (`ISODD(ROW())`, `ROW()>1`) replaced by `TRUE` and by
379
+ * `FALSE`, in every combination — see `CompilerUtils.positionVariants`. When all of them answer
380
+ * alike at a cell without reading the position, the formula's answer there does not depend on
381
+ * the position. `null` when there is nothing to vary. Built once.
382
+ */
383
+ getPositionVariants(): IFormulaBlock[] | null;
368
384
  /**
369
385
  * If the formula is logically equal to another formula.
370
386
  *
@@ -39,9 +39,11 @@ export interface LambdaParam {
39
39
  *
40
40
  * @remarks
41
41
  * CALCULATION-PRIVATE, like stable ids: nothing here reaches a public API. The one boundary rule
42
- * is the cell's — an unconsumed lambda renders `#CALC!` (`finalizeValue`), and every consumer that
43
- * needs a scalar or a location fails to COERCE it with `#VALUE!` (the `isLambda` brand is what the
44
- * coercion sites check, the same structural pattern as `isIRange`).
42
+ * is the cell's — an unconsumed lambda renders `#CALC!`, as a top-level result in `finalizeValue`
43
+ * and as a member of an array result where the engine's value grid makes its runs
44
+ * (`createCellValueRun`) — and every consumer that needs a scalar or a location fails to COERCE it
45
+ * with `#VALUE!` (the `isLambda` brand is what the coercion sites check, the same structural
46
+ * pattern as `isIRange`).
45
47
  *
46
48
  * A lambda closes over its creation context by SNAPSHOT, not by reference: `regs` is a copy of the
47
49
  * creating formula's register file at the moment the `LAMBDA` node evaluated. The copy is what
@@ -8,6 +8,9 @@ import { IFunction } from '@sheetxl/primitives';
8
8
  * range in a slot is taken whole or intersected, for one. That question has an answer before any
9
9
  * engine starts, and the same answer wherever it is asked, so it is read here rather than from a
10
10
  * calculation's live function registry. The data is the declaration the compiler compiles from.
11
+ *
12
+ * The table loads with the formula parser: await `FormulaText.load()` first. Until then every
13
+ * name is unknown.
11
14
  */
12
15
  export declare namespace FunctionDeclarations {
13
16
  /** A declared function. */
@@ -20,7 +23,8 @@ export declare namespace FunctionDeclarations {
20
23
  isBuiltIn(): boolean;
21
24
  }
22
25
  /**
23
- * Returns a built-in function's declaration, or `null` when no built-in has that name.
26
+ * Returns a built-in function's declaration, or `null` when no built-in has that name or the
27
+ * table is not loaded.
24
28
  *
25
29
  * @param name The canonical (English) name. Not case sensitive.
26
30
  */
@@ -0,0 +1,15 @@
1
+ import { IFunction } from '@sheetxl/primitives';
2
+ import { MinifiedDeclaration } from '@sheetxl/scripting';
3
+ /**
4
+ * Expands one minified built-in declaration into its JSON, with the ids of the enums its
5
+ * parameters use.
6
+ *
7
+ * @remarks
8
+ * Pure: what a declaration says about its slots, with no implementation attached. The function
9
+ * registry binds the result to an implementation; `FunctionDeclarations` reads it as data.
10
+ */
11
+ export declare function expandDeclaration(builtInName: string, builtIn: MinifiedDeclaration, expandEnum: (id: string) => IFunction.EnumJSON | undefined): {
12
+ decl: IFunction.DeclarationJSON;
13
+ enumIds: string[];
14
+ };
15
+ //# sourceMappingURL=expandDeclaration.d.ts.map
@@ -17,18 +17,6 @@ export declare function initializeFunctions(getContext: () => IFormulaContext, p
17
17
  * @param defaultCategory the default category to use if not specified in the declaration
18
18
  * @param enums the module's enums, which its parameters reference by id
19
19
  */
20
- /**
21
- * Expands one minified built-in declaration into its JSON, with the ids of the enums its
22
- * parameters use.
23
- *
24
- * @remarks
25
- * Pure: what a declaration says about its slots, with no implementation attached. The function
26
- * registry binds the result to an implementation; `FunctionDeclarations` reads it as data.
27
- */
28
- export declare function expandDeclaration(builtInName: string, builtIn: MinifiedDeclaration, expandEnum: (id: string) => IFunction.EnumJSON | undefined): {
29
- decl: IFunction.DeclarationJSON;
30
- enumIds: string[];
31
- };
32
20
  export declare const bindDeclarations: (mapFunctions: Map<string, IFunction>, getContext: () => IFormulaContext, implementations: Implementations, // TODO make this dynamic
33
21
  declarations: MinifiedDeclaration, // TODO make this dynamic
34
22
  getDynamicDescriptors?: DynamicDescriptors, defaultCategory?: string, enums?: MinifiedEnums) => void;
@@ -45,12 +45,14 @@ export declare class CalcGrid implements ICalcGrid {
45
45
  protected readonly _sizeOf: string | undefined;
46
46
  /** The aggregate cache over the values; bound to the map INSTANCE, so it follows every clone. */
47
47
  protected _rangeStats: RangeStats;
48
+ /** The fixed size the grid was made with, or `null` for one sized by `sizeOf` or the default. */
49
+ protected readonly _fixedCoords: IRange.Coords | null;
48
50
  /**
49
51
  * Bumped whenever the value map is mutated IN PLACE (a vend that landed on this grid's own
50
- * instance, a load): what {@link getErrorValues} invalidates its cached view by, since the
51
- * map's identity does not change then.
52
+ * instance, a load): what the views derived from the values invalidate by, since the map's
53
+ * identity does not change then. See {@link getValuesEpoch}.
52
54
  */
53
- protected _errorEpoch: number;
55
+ protected _valuesEpoch: number;
54
56
  /** The reconciled error-VALUE view; see {@link getErrorValues}. */
55
57
  protected _errorReconciled: {
56
58
  values: ISparseGrid<Scalar>;
@@ -67,6 +69,18 @@ export declare class CalcGrid implements ICalcGrid {
67
69
  protected _emitter: ListenerEmitter<ICalcGrid, ICalcGrid.IListeners> | null;
68
70
  protected _closed: boolean;
69
71
  constructor(options: CalcGrid.ConstructorOptions);
72
+ /** An empty grid's state, with the aggregate cache bound to its value map. */
73
+ protected _freshState(): CalcGrid.State;
74
+ /**
75
+ * Gives a grid that a restore left without state - one made in a commit since undone - an empty
76
+ * state at the current commit again, under the same id, folded into that commit. A redo then
77
+ * restores the grid's own record where this front reads it; a new grid under the id would read
78
+ * nothing there. The engine has to be told of the grid again as well: its grids are versioned too.
79
+ *
80
+ * @returns `true` when a state was made; `false` for a grid that has one, or is closed.
81
+ * @internal
82
+ */
83
+ _revive(): boolean;
70
84
  /**
71
85
  * Open this grid's maps from a content record, replacing what they hold: the formulas, the
72
86
  * values, their contentful summary, the error ones among them, the array extents the record
@@ -87,6 +101,24 @@ export declare class CalcGrid implements ICalcGrid {
87
101
  * own transaction.
88
102
  */
89
103
  protected _getState(transaction?: ITransaction | null): Readonly<CalcGrid.State>;
104
+ /**
105
+ * This grid, reading the record it holds now for as long as it is kept: what a snapshot sheet
106
+ * reads, so a copy reads its source as it was when marked, not after the destination - which
107
+ * can overlap it - was cleared. A read that names a transaction still answers for it.
108
+ * @internal
109
+ */
110
+ _pinned(): ICalcGrid;
111
+ /**
112
+ * This grid reading the record it held at a commit: what a sheet as of that commit reads.
113
+ * `null` when the store no longer has the commit, or the grid did not exist at it.
114
+ *
115
+ * @remarks
116
+ * Sound because history is never written: a pass that lands on a record history shares lands
117
+ * a clone, so the record a commit kept holds the values it was calculated with.
118
+ * @internal
119
+ */
120
+ _pinnedAt(commitId: string): ICalcGrid | null;
121
+ private _pinTo;
90
122
  /**
91
123
  * This grid's record as it was at a commit; the current one for the operation in progress;
92
124
  * `undefined` for a commit the store no longer has on its live history.
@@ -112,6 +144,8 @@ export declare class CalcGrid implements ICalcGrid {
112
144
  getVolatileRegions(): IRange.Address[] | null;
113
145
  /** {@inheritDoc ICalcGrid.getRangeStats} */
114
146
  getRangeStats(): RangeStats;
147
+ /** {@inheritDoc ICalcGrid.getValuesEpoch} */
148
+ getValuesEpoch(): number;
115
149
  /** {@inheritDoc ICalcGrid.getErrorValues} */
116
150
  getErrorValues(): ISpatialMap<boolean>;
117
151
  /**
@@ -195,6 +229,8 @@ export declare class CalcGrid implements ICalcGrid {
195
229
  _isOwned(): boolean;
196
230
  /** {@inheritDoc ICalcGrid.Backend.requestPass} @internal */
197
231
  _requestPass(): void;
232
+ /** {@inheritDoc ICalcGrid.Backend.demand} @internal */
233
+ _demand(rects: readonly IRange.Coords[]): void;
198
234
  /** {@inheritDoc ICalcGrid.getGraphNeighborsAt} */
199
235
  getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
200
236
  /** {@inheritDoc ICalcGrid.Backend.getNameGraph} @internal */
@@ -215,7 +251,7 @@ export declare class CalcGrid implements ICalcGrid {
215
251
  * as any answer does. Nothing is written here first - the text is the engine's to make.
216
252
  * @internal
217
253
  */
218
- _setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
254
+ _setBody(options: ICalcGrid.BodyOptions, isCurrent?: () => boolean): Promise<ICalcGrid.Results>;
219
255
  /** {@inheritDoc ICalcGrid.isVolatileAt} */
220
256
  isVolatileAt(row: number, column: number): Promise<boolean>;
221
257
  /** {@inheritDoc ICalcGrid.addListeners} */
@@ -61,6 +61,10 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
61
61
  readonly _shadowOf: string | null;
62
62
  /** @see CalcGridBackend.ConstructorOptions.arrayFirstCell */
63
63
  readonly _arrayFirstCell: boolean;
64
+ /** @see CalcGridBackend.ConstructorOptions.paged */
65
+ readonly _paged: boolean;
66
+ /** The tiles of a paged body's blank region its owner reads now: see {@link getDemanded}. */
67
+ protected _demanded: readonly IRange.Coords[];
64
68
  _container: IContextContainer;
65
69
  _context: IFormulaContext;
66
70
  protected _isProcessingJSON: boolean;
@@ -198,6 +202,18 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
198
202
  getShadowOf(): string | null;
199
203
  /** @inheritdoc ICalcGrid.isArrayFirstCell */
200
204
  isArrayFirstCell(): boolean;
205
+ /** Whether this grid's body may evaluate its blank region a tile at a time: see `ConstructorOptions.paged`. */
206
+ isPaged(): boolean;
207
+ /**
208
+ * The tiles of the body's blank region its owner reads now, in this grid's coordinates. A paged
209
+ * body evaluates its blank region only inside them; empty for a grid that is not paged.
210
+ */
211
+ getDemanded(): readonly IRange.Coords[];
212
+ /**
213
+ * Take the owner's tiles. A tile that is new or released is dirtied: the next pass evaluates a
214
+ * new one and clears what a released one holds.
215
+ */
216
+ protected _demandNow(rects: readonly IRange.Coords[]): void;
201
217
  /** {@inheritDoc ICalcGrid.getEntireCoords} */
202
218
  getEntireCoords(): IRange.Coords;
203
219
  /**
@@ -242,6 +258,12 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
242
258
  * the model's question.
243
259
  */
244
260
  getDirectDependentsAt(coords: IRange.Coords): IRange.Coords[];
261
+ /**
262
+ * Pushes `dep` and the landed output of every spill anchored in it. An anchor rewrites its whole
263
+ * spill when it re-evaluates, and this is the hop that lets a transitive walk reach what reads the
264
+ * spill's far end, not just its anchor. A blocked spill landed on its anchor alone, so adds nothing.
265
+ */
266
+ private _pushWithSpills;
245
267
  /**
246
268
  * The direct precedents of a range: one hop upstream, as of the last calculation.
247
269
  *
@@ -459,6 +481,14 @@ export declare namespace CalcGridBackend {
459
481
  * conditional-format body. See {@link ICalcGrid.isArrayFirstCell}.
460
482
  */
461
483
  arrayFirstCell?: boolean;
484
+ /**
485
+ * `true` when the body's blank region may be evaluated a tile at a time: once the body's
486
+ * answer there depends on the position (`ISODD(ROW())`), only the tiles its owner asks for
487
+ * ({@link CalcGridBackend.getDemanded}) are evaluated, and the rest of the region holds
488
+ * nothing. For an owner that reads a window of the body at a time - a conditional format,
489
+ * which paints what is on screen.
490
+ */
491
+ paged?: boolean;
462
492
  }
463
493
  }
464
494
  /** A grid's per-grid maps, as one snapshot of the engine's history holds them. */
@@ -67,6 +67,8 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
67
67
  calculate(full?: boolean): Promise<ICalculation.Status>;
68
68
  /** {@inheritDoc ICalcGrid.Backend.requestPass} */
69
69
  requestPass(): void;
70
+ /** {@inheritDoc ICalcGrid.Backend.demand} */
71
+ demand(rects: readonly IRange.Coords[]): void;
70
72
  /** {@inheritDoc ICalcGrid.markDirtyRegions} */
71
73
  markDirtyRegions(coords: IRange.Coords[]): void;
72
74
  /** {@inheritDoc ICalcGrid.delete} */
@@ -43,7 +43,14 @@ export declare function errorValueEntriesOf(grid: ISparseGrid<Scalar>): ISpatial
43
43
  * region leaves the index and its runs are re-read for errors.
44
44
  */
45
45
  export declare function indexWrittenRuns(errorSpatial: ISpatialMap<string>, grid: ISparseGrid<Scalar>, bounds: IRange.Coords): void;
46
- /** Removes a cleared region from the error index (a spill's old extent, a deleted range). */
46
+ /**
47
+ * Removes a cleared region from the error index (a spill's old extent, a deleted range).
48
+ *
49
+ * @remarks
50
+ * Exactly the region: the index joins like errors side by side into one entry, so an entry may
51
+ * run past `coords`, and only its part inside them goes. (`ISpatialMap.delete` drops every entry
52
+ * it touches whole, which would forget the errors beside a one-cell write.)
53
+ */
47
54
  export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coords: IRange.Coords): void;
48
55
  /**
49
56
  * Updates contentful and invalidates spills.
@@ -1,7 +1,6 @@
1
- import { IRange, IFormulaContext, Scalar } from '@sheetxl/primitives';
1
+ import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
2
2
  import { ISparseGrid } from '../../collections';
3
3
  import { ITransaction } from '../../transaction';
4
- import { IContextContainer } from '../state';
5
4
  import { IFormulaBlockView } from '../formula';
6
5
  import { ICalcGrid } from './ICalcGrid';
7
6
  import { CalcGrid } from './CalcGrid';
@@ -22,8 +21,7 @@ export declare class FormulaHost {
22
21
  protected readonly _id: string;
23
22
  protected readonly _grid: CalcGrid;
24
23
  protected readonly _transactions: ITransaction.IStore | null;
25
- protected readonly _container: IContextContainer;
26
- protected readonly _context: IFormulaContext;
24
+ protected readonly _runtime: IRuntime;
27
25
  /**
28
26
  * The body as this side knows it: what was last handed to the grid, refined by what the grid
29
27
  * answered. Held here so that the owner of a formula never has to read it back out of the grid -
@@ -42,9 +40,21 @@ export declare class FormulaHost {
42
40
  } | null;
43
41
  /** The last body written as authored has not been answered: the grid's entry predates it. */
44
42
  protected _bodyPending: boolean;
43
+ /**
44
+ * A paged body's tiles the owner has asked for, by index from the body's top row, oldest ask
45
+ * first: what is sent as the demand. Capped (see {@link request}); the oldest go first.
46
+ */
47
+ protected _wanted: Map<number, true>;
48
+ /** The tiles the last pass evaluated, by index: see {@link ICalcGrid.BlankRegion.evaluated}. */
49
+ protected _evaluated: Set<number>;
50
+ /** A demand is waiting to be sent at the end of the current flush. */
51
+ protected _demandQueued: boolean;
52
+ /** A demand was sent since the last pass's results. */
53
+ protected _demandSent: boolean;
45
54
  protected readonly _onDispose: (() => void) | undefined;
46
55
  protected readonly _onCalculated: ((results: ICalcGrid.Results) => void) | undefined;
47
56
  protected readonly _onResync: (() => void) | undefined;
57
+ protected readonly _waitUntil: ((work: Promise<void>) => void) | undefined;
48
58
  constructor(options: FormulaHost.ConstructorOptions);
49
59
  /** The grid's id. */
50
60
  getId(): string;
@@ -86,12 +96,39 @@ export declare class FormulaHost {
86
96
  * rewrite a structural change made since - replaces it when it arrives.
87
97
  */
88
98
  getBody(): FormulaHost.Body | null;
99
+ /**
100
+ * Whether a body is written: answered, or sent and not yet answered. `false` when nothing has
101
+ * been written, and again after a restore to a version from before the write (see {@link _resync}).
102
+ */
103
+ hasBody(): boolean;
89
104
  /**
90
105
  * What the engine pushed after a pass over the body: a rewrite nobody asked for (a structural
91
106
  * change on the sheet the body reads), and the blank region.
92
107
  * @internal
93
108
  */
94
109
  _onComplete(results: ICalcGrid.Results): void;
110
+ /**
111
+ * Whether the body's value at a cell is its answer, asking for it when it is not.
112
+ *
113
+ * @remarks
114
+ * A body whose blank region is paged (`CalcGridBackend.ConstructorOptions.paged`) evaluates
115
+ * that region only inside the tiles - 256 rows across the body - its owner reads.
116
+ * A cell elsewhere holds nothing yet: this asks for its tile, once per flush however many cells
117
+ * ask, and the pass that evaluates it delivers as any pass does. Every other cell, and every
118
+ * cell of a body that is not paged, already holds its answer.
119
+ *
120
+ * The owner reads a window at a time (what is on screen), so the tiles asked for most recently
121
+ * are the ones kept: past 64 tiles the oldest is released, and what it held is cleared
122
+ * by the next pass.
123
+ *
124
+ * @returns `true` when the value at the cell is the body's answer there.
125
+ */
126
+ request(row: number, column: number): boolean;
127
+ /** The index of the tile holding `row`, counted from the body's top row. */
128
+ protected _tileOf(row: number, extent: IRange.Coords): number;
129
+ /** Sends the wanted tiles once the current flush is over, and asks for the pass. */
130
+ protected _queueDemand(): void;
131
+ protected _sendDemand(extent: IRange.Coords): void;
95
132
  /**
96
133
  * Take what the grid reports about the body: the answer to a write, or a rewrite nobody asked
97
134
  * for (a structural change on the sheet the body reads).
@@ -157,6 +194,12 @@ export declare class FormulaHost {
157
194
  getBlock(): IFormulaBlockView | null;
158
195
  /** The model's grid the body lives in. @internal */
159
196
  _getCalcGrid(): CalcGrid;
197
+ /**
198
+ * Whether the grid holds state at the current commit: `false` after a restore to a version from
199
+ * before the grid was made, when nothing written here lands anywhere (see `CalcGrid._revive`).
200
+ * @internal
201
+ */
202
+ _isLive(): boolean;
160
203
  /**
161
204
  * The body as the model's grid holds it, answered or not: its text is the engine's once the
162
205
  * engine has answered, and the text as written until then. `null` when nothing is written.
@@ -217,14 +260,16 @@ export declare namespace FormulaHost {
217
260
  grid: CalcGrid;
218
261
  /** The store the grid is versioned in: a write made outside an operation amends its current commit. */
219
262
  transactions?: ITransaction.IStore | null;
220
- container: IContextContainer;
221
- context: IFormulaContext;
263
+ /** The runtime a range over the body's values reads with. */
264
+ runtime: IRuntime;
222
265
  /** Called when the host is disposed, for whoever keeps track of live hosts. */
223
266
  onDispose?: () => void;
224
267
  /** Told after every pass that wrote the grid. */
225
268
  onCalculated?: (results: ICalcGrid.Results) => void;
226
269
  /** Told after a restore or revert has replaced the body under the host (see {@link FormulaHost._resync}). */
227
270
  onResync?: () => void;
271
+ /** Counts work the host starts for its owner as calculation in flight: see `ICalculation.waitUntil`. */
272
+ waitUntil?: (work: Promise<void>) => void;
228
273
  }
229
274
  /** A body as its host holds it. */
230
275
  interface Body {
@@ -141,6 +141,15 @@ export interface ICalcGrid {
141
141
  * collapses into a plain read once the executor emits those deltas.
142
142
  */
143
143
  getErrorValues(): ISpatialMap<boolean>;
144
+ /**
145
+ * A counter that moves whenever the values change in place, where {@link getValues} keeps its
146
+ * identity (an engine's answers landing, a load).
147
+ *
148
+ * @remarks
149
+ * With the identity of {@link getValues}, the key a view derived from the values is cached
150
+ * against: equal identity and equal epoch mean the values have not moved.
151
+ */
152
+ getValuesEpoch(): number;
144
153
  /**
145
154
  * The volatile regions the file listed: what an `Off` save writes back and a seed carries,
146
155
  * kept where a formula still sits under them. What the engine knows once it is up it answers
@@ -287,8 +296,10 @@ export interface ICalcGrid {
287
296
  */
288
297
  setReferenceModeAt(row: number, column: number, index: number, side?: ICalculation.ReferenceSide, mode?: number): Promise<IFormulaBlockView | null>;
289
298
  /**
290
- * Whether the formula at the cell is volatile: found by the engine as it evaluates, so a
291
- * question answered in order behind the writes sent before it.
299
+ * Whether the formula at the cell is volatile: its text, closed over the names it mentions,
300
+ * the computed reads its last evaluation registered, or the node a pass registered volatile —
301
+ * a question answered in order behind the writes sent before it. On a grid at a synthetic
302
+ * anchor (a name's), which no pass evaluates, the text is all there is.
292
303
  *
293
304
  * @param row The row of the cell to evaluate.
294
305
  * @param column The column of the cell to evaluate.
@@ -399,13 +410,18 @@ export declare namespace ICalcGrid {
399
410
  * the engine answers, and nothing the model holds for itself. The in-process engine grid is
400
411
  * one; a message-passing proxy under a worker is another.
401
412
  */
402
- type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getPending' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getVolatileRegions' | 'getRangeStats'> & {
413
+ type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getPending' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
403
414
  /** Write a body as authored; the engine anchors it (see {@link ICalcGrid.BodyOptions}). */
404
415
  setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
405
416
  /** {@link ICalcGrid.evaluateAt} coerced to one scalar, as a defined name's `evaluate()` is. */
406
417
  evaluateScalarAt(row: number, column: number, evalIndex?: number): Promise<Scalar>;
407
418
  /** Owe a pass seeded from this grid, run once the current flush is over. */
408
419
  requestPass(): void;
420
+ /**
421
+ * The tiles of a paged body's blank region the owner reads now - all of them, replacing the
422
+ * last set; see `CalcGridBackend.getDemanded`. Evaluated by the next pass.
423
+ */
424
+ demand(rects: readonly IRange.Coords[]): void;
409
425
  /**
410
426
  * The graph around the defined name whose body this grid holds - its precedents or
411
427
  * dependents, cells in calc currency and names - as {@link ICalcGrid.getGraphNeighborsAt}
@@ -575,14 +591,23 @@ export declare namespace ICalcGrid {
575
591
  /**
576
592
  * The cells of a body that a pass shares one answer for rather than writing, and that answer:
577
593
  * what every such cell reads as.
594
+ *
595
+ * @remarks
596
+ * A PAGED region shares nothing: the body's answer there depends on the position, and only the
597
+ * tiles its owner asked for are evaluated ({@link evaluated}). Every other cell of
598
+ * {@link rects} holds nothing and has no answer yet.
578
599
  */
579
600
  interface BlankRegion {
580
- /** The shared answer. */
601
+ /** The shared answer; `undefined` for a paged region. */
581
602
  readonly value: Scalar | undefined;
582
603
  /** The rectangles it covers, in the grid's coordinates. */
583
604
  readonly rects: readonly IRange.Coords[];
584
605
  /** The body's extent: a read wider than it shares nothing. */
585
606
  readonly extent: IRange.Coords;
607
+ /** The region is evaluated a tile at a time rather than shared. */
608
+ readonly paged?: boolean;
609
+ /** For a paged region, the tiles this pass evaluated. */
610
+ readonly evaluated?: readonly IRange.Coords[];
586
611
  }
587
612
  /**
588
613
  * Returns from `ICalcGrid.beginUpdates()`.
@@ -665,10 +690,14 @@ export declare namespace ICalcGrid {
665
690
  */
666
691
  range: IRange.Coords | string;
667
692
  }
668
- interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, ICalcGrid.Results> {
693
+ interface ISnapshot extends IHistory.ISnapshot<ICalcGrid.SnapshotDestination, ICalcGrid.Backend, IRange.Coords, any, Promise<ICalcGrid.Results>> {
669
694
  /**
670
695
  * Copies the snapshot's formulas to the destination grid.
671
696
  *
697
+ * @remarks
698
+ * The engine answers when it has the blocks; the destination holds the formulas pending in
699
+ * the meantime, so a paste starts this and does not wait for it.
700
+ *
672
701
  * @returns Resolves with the blocks minted at the destination (re-anchored, `#REF!` where a
673
702
  * relative reference left the sheet) and, for a cut, the coords vacated at the source. The
674
703
  * copied extent is the result's `bounds`.
@@ -828,7 +857,7 @@ export declare namespace ICalcGrid {
828
857
  * {@link ITypes.FormulaArrayKind | kinds} of array formula it is.
829
858
  *
830
859
  * @remarks
831
- * See {@link ISheet.JSON.formulaArray} for what does and does not earn an entry.
860
+ * See {@link IWorksheet.JSON.formulaArray} for what does and does not earn an entry.
832
861
  */
833
862
  formulaArray?: IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[];
834
863
  /**
@@ -107,6 +107,14 @@ export type CalcRequest =
107
107
  type: 'markDirty';
108
108
  coords: readonly IRange.Coords[];
109
109
  }
110
+ /**
111
+ * The tiles of a paged body's blank region its owner reads now - all of them, replacing the
112
+ * last set. See `CalcGridBackend.ConstructorOptions.paged`.
113
+ */
114
+ | {
115
+ type: 'demand';
116
+ rects: readonly IRange.Coords[];
117
+ }
110
118
  /**
111
119
  * The model restored to `options.commitId`: the engine restores its own history there and re-vends
112
120
  * what changed. Only a `Running` engine acts on it - see `Calculation._sendRequestNow`.
@@ -188,7 +196,7 @@ export type CalcRequest =
188
196
  */
189
197
  | {
190
198
  type: 'sheets';
191
- sheets: readonly (readonly [id: string, name: string | null])[];
199
+ sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[];
192
200
  options?: ICalcGrid.RequestOptions;
193
201
  }
194
202
  /**
@@ -236,6 +244,8 @@ export interface CalcGridSpec {
236
244
  unanchored?: boolean;
237
245
  /** See `CalcGridBackend.ConstructorOptions.arrayFirstCell`. */
238
246
  arrayFirstCell?: boolean;
247
+ /** See `CalcGridBackend.ConstructorOptions.paged`. */
248
+ paged?: boolean;
239
249
  /** The grid's size, fixed: a name's. A sheet's is its seed's. */
240
250
  entireCoords?: IRange.Coords;
241
251
  /** The grid whose size this one has, whatever it is then: a body on a sheet. */