@sheetxl/sdk 0.8.0-beta.1 → 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 (775) hide show
  1. package/README.md +1 -1
  2. package/THIRD-PARTY-NOTICES.md +1 -1
  3. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  4. package/browser/esm/BFagR2JeWs74iAG3.mjs +171 -0
  5. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  6. package/browser/esm/BLoUBId2xZpXAK_H.mjs +698 -0
  7. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  8. package/browser/esm/BVDiOXGMc5_FMGfy.mjs +400 -0
  9. package/browser/esm/BjkCiv5Jz6WYKZeu.mjs +598 -0
  10. package/browser/esm/BkBhLS0l6z8sxI6D.mjs +441 -0
  11. package/browser/esm/BnG31I6Oj_HEtSPS.mjs +167 -0
  12. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  13. package/browser/esm/BpgskG1Er_lGQ_yS.mjs +142 -0
  14. package/browser/esm/BtvLTTfSBdAKplVG.mjs +466 -0
  15. package/browser/esm/C16ycKja6zG0crV_.mjs +55580 -0
  16. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  17. package/browser/esm/C4MqfLn9Dm-l3OIk.mjs +540 -0
  18. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  19. package/browser/esm/CHU6iu_WGlm7fLET.mjs +1001 -0
  20. package/browser/esm/CQYjO777cmAznUzK.mjs +527 -0
  21. package/browser/esm/CU3DmJ-YnVVrC1_k.mjs +1123 -0
  22. package/browser/esm/CV5EGEjG5_-CPpP0.mjs +8212 -0
  23. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  24. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  25. package/browser/esm/ClPfI4lODvCece29.mjs +632 -0
  26. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  27. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Ctjb0SsxV4K4MMqG.mjs} +179 -202
  28. package/browser/esm/D5np__Jb1euAyaLw.mjs +7 -0
  29. package/browser/esm/DEiPS3Dr-s4fPbVZ.mjs +607 -0
  30. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  31. package/browser/esm/DWNzqw7DUKwoxjri.mjs +20 -0
  32. package/browser/esm/{B0HS42a7lga1k1U_.mjs → Dlmig06rIo7cInRk.mjs} +2 -2
  33. package/browser/esm/{f2G3QRgEbvFJcoa2.mjs → DvAaxH6z_tGvrRzl.mjs} +1704 -1008
  34. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  35. package/browser/esm/PcHFjNzQsE54POri.mjs +1141 -0
  36. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  37. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  38. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  39. package/browser/esm/index.mjs +1759 -1161
  40. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  41. package/browser/esm/zlLuW405RSguy4Kn.mjs +357 -0
  42. package/licenses/dependencies.txt +141 -141
  43. package/node/esm/2Kihw_-5lVTEnwMa.mjs +1132 -0
  44. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  45. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  46. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  47. package/node/esm/BIRq1kT7lLRzns9t.mjs +610 -0
  48. package/node/esm/BIwObuhTJYf0jpUa.mjs +451 -0
  49. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  50. package/node/esm/BqiexuA89caYnAPz.mjs +1135 -0
  51. package/node/esm/BrCKGFRsX_ezFJ4B.mjs +811 -0
  52. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  53. package/node/esm/{Cku7XiUvw1xrRasi.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  54. package/node/esm/CGp6VZL-gZa9Uezx.mjs +1860 -0
  55. package/node/esm/CNCNJNg890KdgkWh.mjs +142 -0
  56. package/node/esm/CZICGK_ss0HoGHCP.mjs +7 -0
  57. package/node/esm/CZiqiay42tFTrLI4.mjs +171 -0
  58. package/node/esm/CdJHUJSBRHZoryPe.mjs +360 -0
  59. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  60. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  61. package/node/esm/CzXT00vrQa1_gvW9.mjs +28 -0
  62. package/node/esm/D1TKBVmoKGAXf37B.mjs +402 -0
  63. package/node/esm/D2KBymQJd1XhpeQD.mjs +540 -0
  64. package/node/esm/D6e2z7eZpxOJXHc7.mjs +1783 -0
  65. package/node/esm/D8zEN-6ZdDqDvTxM.mjs +639 -0
  66. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  67. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  68. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  69. package/node/esm/D_t5AUxSm7_icjzq.mjs +638 -0
  70. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  71. package/node/esm/De2IONBxQhz-Qbyh.mjs +596 -0
  72. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  73. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  74. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  75. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  76. package/node/esm/cGwrLA1RCE-WhJ7w.mjs +255 -0
  77. package/node/esm/index.mjs +2873 -53929
  78. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  79. package/node/esm/yavzZOiZW_EjG9lE.mjs +15 -0
  80. package/package.json +15 -17
  81. package/resources/contents.json +184 -0
  82. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  83. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  84. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  85. package/resources/fonts/arial-bold.hinted.json +125 -0
  86. package/resources/fonts/arial-bold.metrics.json +139 -0
  87. package/resources/fonts/arial-bold.rows.json +9 -0
  88. package/resources/fonts/arial-italic.hinted.json +125 -0
  89. package/resources/fonts/arial-italic.metrics.json +139 -0
  90. package/resources/fonts/arial-italic.rows.json +9 -0
  91. package/resources/fonts/arial-regular.hinted.json +125 -0
  92. package/resources/fonts/arial-regular.metrics.json +139 -0
  93. package/resources/fonts/arial-regular.rows.json +9 -0
  94. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  95. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  96. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  97. package/resources/fonts/calibri-bold.hinted.json +122 -0
  98. package/resources/fonts/calibri-bold.metrics.json +137 -0
  99. package/resources/fonts/calibri-bold.rows.json +9 -0
  100. package/resources/fonts/calibri-italic.hinted.json +121 -0
  101. package/resources/fonts/calibri-italic.metrics.json +137 -0
  102. package/resources/fonts/calibri-italic.rows.json +9 -0
  103. package/resources/fonts/calibri-regular.hinted.json +121 -0
  104. package/resources/fonts/calibri-regular.metrics.json +137 -0
  105. package/resources/fonts/calibri-regular.rows.json +9 -0
  106. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  107. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  108. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  109. package/resources/fonts/cambria-bold.hinted.json +108 -0
  110. package/resources/fonts/cambria-bold.metrics.json +66 -0
  111. package/resources/fonts/cambria-bold.rows.json +9 -0
  112. package/resources/fonts/cambria-italic.hinted.json +102 -0
  113. package/resources/fonts/cambria-italic.metrics.json +66 -0
  114. package/resources/fonts/cambria-italic.rows.json +9 -0
  115. package/resources/fonts/cambria-regular.hinted.json +110 -0
  116. package/resources/fonts/cambria-regular.metrics.json +66 -0
  117. package/resources/fonts/cambria-regular.rows.json +9 -0
  118. package/resources/fonts/contents.json +406 -0
  119. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  120. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  121. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  122. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  123. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  124. package/resources/fonts/courier-new-bold.rows.json +9 -0
  125. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  126. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  127. package/resources/fonts/courier-new-italic.rows.json +9 -0
  128. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  129. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  130. package/resources/fonts/courier-new-regular.rows.json +9 -0
  131. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  132. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  133. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  134. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  135. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  136. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  137. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  138. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  139. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  140. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  141. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  142. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  143. package/resources/locales/de/model.msg.json +199 -21
  144. package/resources/locales/en/model.msg.json +207 -23
  145. package/types/scripting-api.json +10663 -0
  146. package/types/scripting-enums.json +435 -130
  147. package/types/scripting.d.ts +33010 -15730
  148. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  149. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  150. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  151. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  152. package/types/src/address/AddressUtils.d.ts +10 -1
  153. package/types/src/address/_StructuredAddress.d.ts +58 -0
  154. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  155. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  156. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  157. package/types/src/autoFill/AutoFill.d.ts +316 -32
  158. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  159. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +58 -41
  160. package/types/src/border/index.d.ts +1 -1
  161. package/types/src/calculation/Calculation.d.ts +584 -149
  162. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  163. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  164. package/types/src/calculation/FormulaText.d.ts +98 -0
  165. package/types/src/calculation/ICalculation.d.ts +353 -88
  166. package/types/src/calculation/INamedFormulasCollection.d.ts +9 -8
  167. package/types/src/calculation/NamedFormulaCollection.d.ts +322 -115
  168. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  169. package/types/src/calculation/TokenType.d.ts +9 -0
  170. package/types/src/calculation/Types.d.ts +83 -2
  171. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  172. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  173. package/types/src/calculation/_TableExtent.d.ts +60 -0
  174. package/types/src/calculation/_TableRename.d.ts +13 -0
  175. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  176. package/types/src/calculation/compiler/CompilerUtils.d.ts +152 -44
  177. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  178. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  179. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  180. package/types/src/calculation/compiler/ParserUtils.d.ts +42 -1
  181. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  182. package/types/src/calculation/compiler/Types.d.ts +79 -9
  183. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  184. package/types/src/calculation/engine/index.d.ts +10 -0
  185. package/types/src/calculation/executor/CalcExecutor.d.ts +331 -33
  186. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +49 -2
  187. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  188. package/types/src/calculation/formula/Formula.d.ts +67 -21
  189. package/types/src/calculation/formula/FormulaBlock.d.ts +131 -23
  190. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  191. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  192. package/types/src/calculation/formula/IFormulaBlock.d.ts +277 -67
  193. package/types/src/calculation/formula/LambdaValue.d.ts +51 -26
  194. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  195. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  196. package/types/src/calculation/formula/index.d.ts +1 -0
  197. package/types/src/calculation/functions/FunctionDeclarations.d.ts +35 -0
  198. package/types/src/calculation/functions/Operators.d.ts +8 -0
  199. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  200. package/types/src/calculation/functions/initializeFunctions.d.ts +3 -2
  201. package/types/src/calculation/grid/CalcGrid.d.ts +443 -158
  202. package/types/src/calculation/grid/CalcGridBackend.d.ts +523 -0
  203. package/types/src/calculation/grid/CalcGridProxy.d.ts +135 -0
  204. package/types/src/calculation/grid/CalcGridUtils.d.ts +69 -12
  205. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  206. package/types/src/calculation/grid/FormulaHost.d.ts +284 -0
  207. package/types/src/calculation/grid/ICalcGrid.d.ts +528 -141
  208. package/types/src/calculation/grid/_CalcRequest.d.ts +299 -0
  209. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  210. package/types/src/calculation/grid/index.d.ts +4 -0
  211. package/types/src/calculation/index.d.ts +2 -0
  212. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  213. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +364 -11
  214. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  215. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  216. package/types/src/calculation/spatial/index.d.ts +1 -0
  217. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  218. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  219. package/types/src/calculation/state/CalcScope.d.ts +46 -0
  220. package/types/src/calculation/state/CalcState.d.ts +32 -1
  221. package/types/src/calculation/state/CalculationContext.d.ts +50 -3
  222. package/types/src/calculation/state/IContextContainer.d.ts +141 -27
  223. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  224. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  225. package/types/src/calculation/state/index.d.ts +1 -0
  226. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  227. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  228. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  229. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  230. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  231. package/types/src/calculation/symbol/index.d.ts +3 -2
  232. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  233. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  234. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  235. package/types/src/calculation/toolkit/index.d.ts +12 -0
  236. package/types/src/cell/ICell.d.ts +357 -33
  237. package/types/src/cell/ICellHeader.d.ts +31 -8
  238. package/types/src/cell/ICellProtection.d.ts +50 -10
  239. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  240. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  241. package/types/src/cellRange/ICellRange.d.ts +737 -130
  242. package/types/src/cellRange/ICellRanges.d.ts +31 -24
  243. package/types/src/chart/Chart.d.ts +246 -16
  244. package/types/src/chart/ChartCollection.d.ts +31 -0
  245. package/types/src/chart/IChart.d.ts +2058 -18
  246. package/types/src/chart/IChartCollection.d.ts +50 -0
  247. package/types/src/chart/_ChartParts.d.ts +1066 -0
  248. package/types/src/chart/_ChartSource.d.ts +47 -0
  249. package/types/src/chart/createChart.d.ts +26 -0
  250. package/types/src/chart/index.d.ts +5 -3
  251. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  252. package/types/src/chart/kinds/_Area.d.ts +3 -0
  253. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  254. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  255. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  256. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  257. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  258. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  259. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  260. package/types/src/chart/kinds/_Line.d.ts +4 -0
  261. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  262. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  263. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  264. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  265. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  266. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  267. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  268. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  269. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  270. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  271. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  272. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  273. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  274. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  275. package/types/src/chart/layout/_Layout.d.ts +25 -0
  276. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  277. package/types/src/chart/math/BoxStats.d.ts +35 -0
  278. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  279. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  280. package/types/src/chart/math/Histogram.d.ts +48 -0
  281. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  282. package/types/src/chart/math/Treemap.d.ts +28 -0
  283. package/types/src/chart/math/Trendlines.d.ts +71 -0
  284. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  285. package/types/src/chart/model/ChartModel.d.ts +681 -0
  286. package/types/src/chart/model/_ChartType.d.ts +14 -0
  287. package/types/src/chart/model/_Edits.d.ts +489 -0
  288. package/types/src/chart/model/_Grouping.d.ts +83 -0
  289. package/types/src/chart/model/_Inference.d.ts +52 -0
  290. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  291. package/types/src/chart/model/_NewChart.d.ts +208 -0
  292. package/types/src/chart/model/_OfPie.d.ts +18 -0
  293. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  294. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  295. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  296. package/types/src/collections/ArraysGrid.d.ts +1 -1
  297. package/types/src/collections/IGrid.d.ts +1 -1
  298. package/types/src/collections/ISparseGrid.d.ts +9 -0
  299. package/types/src/collections/ISpatialMap.d.ts +59 -21
  300. package/types/src/collections/ImmutableList.d.ts +28 -0
  301. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  302. package/types/src/collections/RTree.d.ts +116 -36
  303. package/types/src/collections/RepeatingList.d.ts +7 -0
  304. package/types/src/collections/ScalarGrid.d.ts +50 -0
  305. package/types/src/collections/SparseGrid.d.ts +7 -4
  306. package/types/src/collections/SpatialMap.d.ts +15 -29
  307. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  308. package/types/src/collections/Tuple.d.ts +128 -16
  309. package/types/src/collections/_GridUtils.d.ts +19 -6
  310. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  311. package/types/src/collections/index.d.ts +2 -1
  312. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  313. package/types/src/comment/Comment.d.ts +246 -0
  314. package/types/src/comment/CommentCollection.d.ts +40 -0
  315. package/types/src/comment/IComment.d.ts +377 -50
  316. package/types/src/comment/ICommentCollection.d.ts +90 -0
  317. package/types/src/comment/NoteMovable.d.ts +26 -0
  318. package/types/src/comment/_CommentUtils.d.ts +50 -0
  319. package/types/src/comment/_NoteBox.d.ts +67 -0
  320. package/types/src/comment/index.d.ts +1 -0
  321. package/types/src/condition/AnchoredConditional.d.ts +110 -19
  322. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  323. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  324. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  325. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  326. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  327. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  328. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  329. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  330. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  331. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  332. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  333. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  334. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  335. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  336. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  337. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  338. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  339. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  340. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  341. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  342. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  343. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  344. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  345. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  346. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  347. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  348. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  349. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  350. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  351. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  352. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  353. package/types/src/condition/Condition.d.ts +19 -1
  354. package/types/src/condition/ICondition.d.ts +296 -75
  355. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  356. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  357. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  358. package/types/src/conditionalFormat/ConditionalFormat.d.ts +34 -17
  359. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  360. package/types/src/conditionalFormat/IConditionalFormat.d.ts +16 -13
  361. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  362. package/types/src/dataTable/DataTable.d.ts +67 -0
  363. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  364. package/types/src/dataTable/IDataTable.d.ts +99 -0
  365. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  366. package/types/src/dataTable/index.d.ts +6 -0
  367. package/types/src/dataValidation/DataValidation.d.ts +70 -4
  368. package/types/src/dataValidation/DataValidationCollection.d.ts +23 -9
  369. package/types/src/dataValidation/IDataValidation.d.ts +150 -31
  370. package/types/src/dataValidation/IDataValidationCollection.d.ts +34 -2
  371. package/types/src/date/DateUtils.d.ts +20 -0
  372. package/types/src/date/_DateUtils.d.ts +91 -7
  373. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  374. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  375. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  376. package/types/src/documentProperties/index.d.ts +3 -0
  377. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  378. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  379. package/types/src/externalBook/IExternalBook.d.ts +171 -19
  380. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  381. package/types/src/externalBook/index.d.ts +1 -0
  382. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  383. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  384. package/types/src/fill/IEffect.d.ts +5 -5
  385. package/types/src/fill/IFill.d.ts +129 -77
  386. package/types/src/fill/IFillable.d.ts +47 -0
  387. package/types/src/fill/IStroke.d.ts +204 -64
  388. package/types/src/fill/PaintUtils.d.ts +22 -0
  389. package/types/src/fill/RectAlignment.d.ts +20 -0
  390. package/types/src/fill/_Fills.d.ts +187 -0
  391. package/types/src/fill/_Stroke.d.ts +89 -0
  392. package/types/src/fill/index.d.ts +3 -0
  393. package/types/src/filter/IFilter.d.ts +188 -5
  394. package/types/src/font/AdvanceBuilder.d.ts +59 -0
  395. package/types/src/font/AdvanceTable.d.ts +228 -0
  396. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  397. package/types/src/font/FontCapture.d.ts +4 -0
  398. package/types/src/font/FontCollection.d.ts +108 -0
  399. package/types/src/font/FontPlatform.d.ts +20 -0
  400. package/types/src/font/FontUtils.d.ts +5 -0
  401. package/types/src/font/IFont.d.ts +208 -61
  402. package/types/src/font/IFontCollection.d.ts +126 -22
  403. package/types/src/font/IFontStyle.d.ts +207 -0
  404. package/types/src/font/TableFileAdvanceBuilder.d.ts +36 -0
  405. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  406. package/types/src/font/_FontUtils.d.ts +11 -4
  407. package/types/src/font/_FontsVersion.d.ts +7 -0
  408. package/types/src/font/index.d.ts +2 -1
  409. package/types/src/font/platform.browser.d.ts +15 -0
  410. package/types/src/font/platform.node.d.ts +5 -0
  411. package/types/src/group/Group.d.ts +141 -0
  412. package/types/src/group/GroupMovableCollection.d.ts +41 -0
  413. package/types/src/group/IGroup.d.ts +129 -0
  414. package/types/src/group/index.d.ts +2 -0
  415. package/types/src/history/IHistory.d.ts +21 -3
  416. package/types/src/hyperlink/IHyperlink.d.ts +20 -1
  417. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  418. package/types/src/i18n/LanguagePack.d.ts +12 -4
  419. package/types/src/index.d.ts +8 -0
  420. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  421. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  422. package/types/src/io/EmbeddedPart.d.ts +20 -0
  423. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  424. package/types/src/io/IWorkbookIO.d.ts +185 -18
  425. package/types/src/io/WorkbookIO.d.ts +9 -0
  426. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  427. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  428. package/types/src/io/_XmlFragment.d.ts +49 -0
  429. package/types/src/io/index.d.ts +1 -0
  430. package/types/src/license/LicenseDetails.d.ts +1 -0
  431. package/types/src/license/LicenseManager.d.ts +25 -1
  432. package/types/src/license/Types.d.ts +38 -0
  433. package/types/src/license/_Utils.d.ts +39 -0
  434. package/types/src/license/details.d.ts +24 -0
  435. package/types/src/license/license-key.d.ts +49 -2
  436. package/types/src/license/runtime.browser.d.ts +46 -0
  437. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +19 -12
  438. package/types/src/listener/IListener.d.ts +23 -6
  439. package/types/src/listener/ListenerEmitter.d.ts +55 -6
  440. package/types/src/model/AbstractModel.d.ts +14 -5
  441. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  442. package/types/src/movable/CustomElement.d.ts +4 -5
  443. package/types/src/movable/ErrorContent.d.ts +49 -0
  444. package/types/src/movable/FormControl.d.ts +285 -0
  445. package/types/src/movable/GroupMember.d.ts +87 -0
  446. package/types/src/movable/ICustomElement.d.ts +7 -2
  447. package/types/src/movable/IErrorContent.d.ts +23 -0
  448. package/types/src/movable/IFormControl.d.ts +455 -0
  449. package/types/src/movable/IMovable.d.ts +405 -60
  450. package/types/src/movable/IMovableCollection.d.ts +64 -4
  451. package/types/src/movable/Movable.d.ts +161 -50
  452. package/types/src/movable/MovableCollection.d.ts +21 -10
  453. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  454. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  455. package/types/src/movable/_ContentFactory.d.ts +35 -0
  456. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  457. package/types/src/movable/_InsertableCollection.d.ts +39 -0
  458. package/types/src/movable/_MovableUtils.d.ts +5 -0
  459. package/types/src/movable/_PendingContent.d.ts +25 -0
  460. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  461. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  462. package/types/src/movable/index.d.ts +7 -1
  463. package/types/src/named/AbstractNamed.d.ts +1 -1
  464. package/types/src/named/INamed.d.ts +34 -1
  465. package/types/src/named/INamedCollection.d.ts +28 -2
  466. package/types/src/named/NamedCollection.d.ts +32 -19
  467. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  468. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  469. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  470. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  471. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  472. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  473. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  474. package/types/src/outline/IOutline.d.ts +186 -0
  475. package/types/src/outline/Outline.d.ts +157 -0
  476. package/types/src/outline/index.d.ts +2 -0
  477. package/types/src/person/IPerson.d.ts +99 -0
  478. package/types/src/person/IPersonCollection.d.ts +51 -0
  479. package/types/src/person/Person.d.ts +32 -0
  480. package/types/src/person/PersonCollection.d.ts +49 -0
  481. package/types/src/person/index.d.ts +4 -0
  482. package/types/src/picture/IPicture.d.ts +131 -4
  483. package/types/src/picture/Picture.d.ts +42 -14
  484. package/types/src/pivot/IPivotTable.d.ts +72 -0
  485. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  486. package/types/src/pivot/PivotCache.d.ts +34 -0
  487. package/types/src/pivot/PivotTable.d.ts +61 -0
  488. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  489. package/types/src/pivot/_PivotXml.d.ts +24 -0
  490. package/types/src/pivot/index.d.ts +6 -0
  491. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  492. package/types/src/primitives/Criteria.d.ts +1 -1
  493. package/types/src/primitives/Grouping.d.ts +65 -0
  494. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  495. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  496. package/types/src/primitives/Range.d.ts +133 -25
  497. package/types/src/primitives/RangeStats.d.ts +30 -2
  498. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  499. package/types/src/primitives/Runtime.d.ts +15 -2
  500. package/types/src/primitives/environment.browser.d.ts +9 -0
  501. package/types/src/primitives/environment.node.d.ts +10 -0
  502. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  503. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  504. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  505. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  506. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  507. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  508. package/types/src/primitives/stats/index.d.ts +1 -0
  509. package/types/src/print/IPageLayout.d.ts +635 -0
  510. package/types/src/print/PageLayout.d.ts +258 -0
  511. package/types/src/print/index.d.ts +1 -1
  512. package/types/src/protectedRange/IProtectedRange.d.ts +6 -2
  513. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  514. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  515. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  516. package/types/src/protection/DefaultProtection.d.ts +12 -1
  517. package/types/src/protection/IProtection.d.ts +42 -2
  518. package/types/src/protection/PasswordHasher.d.ts +13 -0
  519. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  520. package/types/src/reference/index.d.ts +2 -0
  521. package/types/src/resource/IResource.d.ts +21 -1
  522. package/types/src/resource/IResourceCollection.d.ts +9 -1
  523. package/types/src/resource/ResourceCollection.d.ts +6 -6
  524. package/types/src/richData/IRichDataKind.d.ts +22 -0
  525. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  526. package/types/src/richData/RichText.d.ts +59 -0
  527. package/types/src/richData/index.d.ts +3 -0
  528. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  529. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  530. package/types/src/scripting/IModule.d.ts +25 -0
  531. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  532. package/types/src/scripting/IScript.d.ts +30 -28
  533. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  534. package/types/src/scripting/Module.d.ts +34 -6
  535. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  536. package/types/src/scripting/Runtime.d.ts +15 -0
  537. package/types/src/scripting/Scripts.d.ts +3 -7
  538. package/types/src/scripting/TypedFunction.d.ts +154 -18
  539. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  540. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  541. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  542. package/types/src/scripting/declarations.browser.d.ts +10 -0
  543. package/types/src/scripting/declarations.d.ts +52 -0
  544. package/types/src/scripting/declarations.node.d.ts +9 -0
  545. package/types/src/scripting/index.d.ts +3 -0
  546. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  547. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  548. package/types/src/selection/IItemSelection.d.ts +131 -0
  549. package/types/src/selection/IMovableSelection.d.ts +120 -0
  550. package/types/src/selection/IRangeSelection.d.ts +13 -8
  551. package/types/src/selection/ItemSelection.d.ts +49 -0
  552. package/types/src/selection/MovableSelection.d.ts +29 -0
  553. package/types/src/selection/RangeSelection.d.ts +19 -4
  554. package/types/src/selection/index.d.ts +4 -0
  555. package/types/src/shape/GeometryPreset.d.ts +197 -0
  556. package/types/src/shape/IGeometry.d.ts +380 -0
  557. package/types/src/shape/IShape.d.ts +342 -194
  558. package/types/src/shape/IShapeStyle.d.ts +109 -0
  559. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  560. package/types/src/shape/Shape.d.ts +107 -21
  561. package/types/src/shape/ShapeStyleUtils.d.ts +66 -0
  562. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  563. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  564. package/types/src/shape/_Connectors.d.ts +108 -0
  565. package/types/src/shape/_Geometry.d.ts +14 -0
  566. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  567. package/types/src/shape/_ShapeStyle.d.ts +79 -0
  568. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  569. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  570. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  571. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  572. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  573. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  574. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  575. package/types/src/shape/_builtIn/math.d.ts +6 -0
  576. package/types/src/shape/_builtIn/other.d.ts +6 -0
  577. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  578. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  579. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  580. package/types/src/shape/geometry/format.d.ts +3 -0
  581. package/types/src/shape/geometry/geometry.d.ts +85 -0
  582. package/types/src/shape/geometry/guides.d.ts +54 -0
  583. package/types/src/shape/geometry/handles.d.ts +14 -0
  584. package/types/src/shape/geometry/index.d.ts +7 -0
  585. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  586. package/types/src/shape/geometry/paths.d.ts +35 -0
  587. package/types/src/shape/geometry/segments.d.ts +114 -0
  588. package/types/src/shape/index.d.ts +4 -0
  589. package/types/src/sheet/CellRegion.d.ts +43 -3
  590. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  591. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  592. package/types/src/sheet/ISheet.d.ts +81 -931
  593. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  594. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +38 -16
  595. package/types/src/sheet/NamedCellRange.d.ts +17 -8
  596. package/types/src/sheet/NamedRange.d.ts +10 -2
  597. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  598. package/types/src/sheet/SheetCell.d.ts +96 -39
  599. package/types/src/sheet/SheetRange.d.ts +130 -27
  600. package/types/src/sheet/SheetRanges.d.ts +33 -18
  601. package/types/src/sheet/Worksheet.d.ts +2250 -0
  602. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  603. package/types/src/sheet/_Anomalies.d.ts +109 -0
  604. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  605. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  606. package/types/src/sheet/_CellBuffer.d.ts +224 -0
  607. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  608. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  609. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  610. package/types/src/sheet/_InvalidSheetRange.d.ts +10 -9
  611. package/types/src/sheet/_Kinds.d.ts +34 -0
  612. package/types/src/sheet/_Labels.d.ts +38 -0
  613. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  614. package/types/src/sheet/_RangeStateSweep.d.ts +15 -0
  615. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  616. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  617. package/types/src/sheet/_SheetAutoFitUtils.d.ts +5 -5
  618. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  619. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  620. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  621. package/types/src/sheet/_SheetFilterUtils.d.ts +51 -3
  622. package/types/src/sheet/_SheetIntents.d.ts +314 -0
  623. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  624. package/types/src/sheet/_SheetMutations.d.ts +185 -66
  625. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  626. package/types/src/sheet/_SheetStateReader.d.ts +35 -11
  627. package/types/src/sheet/_SheetStateTypes.d.ts +143 -79
  628. package/types/src/sheet/_SheetUtils.d.ts +59 -41
  629. package/types/src/sheet/_WatchAnchor.d.ts +106 -0
  630. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  631. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  632. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  633. package/types/src/sheet/index.d.ts +5 -2
  634. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  635. package/types/src/sheet/spatial/index.d.ts +1 -0
  636. package/types/src/sheet/style/SheetCellStyle.d.ts +223 -337
  637. package/types/src/sheet/style/SheetDirectStyle.d.ts +31 -20
  638. package/types/src/sheet/style/SheetNamedStyle.d.ts +19 -17
  639. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  640. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  641. package/types/src/sheet/style/_Resolvers.d.ts +17 -10
  642. package/types/src/sheet/style/_StyleUtils.d.ts +34 -40
  643. package/types/src/sheetHeader/ISheetHeader.d.ts +96 -55
  644. package/types/src/sheetHeader/SheetCellHeader.d.ts +6 -0
  645. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  646. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  647. package/types/src/sheetHeader/SheetHeader.d.ts +48 -27
  648. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  649. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -4
  650. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +64 -30
  651. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  652. package/types/src/sheetProtection/index.d.ts +1 -1
  653. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +230 -69
  654. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  655. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  656. package/types/src/sheetView/index.d.ts +1 -1
  657. package/types/src/slicer/ISlicer.d.ts +304 -17
  658. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  659. package/types/src/slicer/Slicer.d.ts +128 -13
  660. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  661. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  662. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  663. package/types/src/slicer/index.d.ts +1 -0
  664. package/types/src/sort/ISort.d.ts +39 -7
  665. package/types/src/string/IStringCollection.d.ts +5 -0
  666. package/types/src/string/StringCollection.d.ts +6 -6
  667. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +117 -85
  668. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  669. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  670. package/types/src/style/IStyleCollection.d.ts +91 -60
  671. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  672. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  673. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  674. package/types/src/style/StyleCollection.d.ts +81 -26
  675. package/types/src/style/TableStyleCollection.d.ts +49 -0
  676. package/types/src/style/_BuiltInStyleDefs.d.ts +9 -8
  677. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  678. package/types/src/style/index.d.ts +7 -1
  679. package/types/src/table/AnchoredTable.d.ts +723 -78
  680. package/types/src/table/AutoTable.d.ts +8 -6
  681. package/types/src/table/ITable.d.ts +289 -49
  682. package/types/src/table/ITableCollection.d.ts +12 -0
  683. package/types/src/table/ITableStyle.d.ts +37 -37
  684. package/types/src/table/TableCollection.d.ts +19 -8
  685. package/types/src/table/_FilterField.d.ts +19 -6
  686. package/types/src/table/_NamedTable.d.ts +20 -4
  687. package/types/src/table/_NamedTableSource.d.ts +3 -2
  688. package/types/src/table/_SortField.d.ts +2 -0
  689. package/types/src/table/_TableColumn.d.ts +13 -2
  690. package/types/src/table/_TableMessages.d.ts +1 -0
  691. package/types/src/table/_TableUtils.d.ts +40 -0
  692. package/types/src/text/Bullet.d.ts +4 -0
  693. package/types/src/text/IText.d.ts +150 -15
  694. package/types/src/text/ITextFrame.d.ts +110 -1
  695. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  696. package/types/src/text/TextEngine.d.ts +34 -0
  697. package/types/src/text/TextFrame.d.ts +8 -2
  698. package/types/src/text/TextLine.d.ts +4 -0
  699. package/types/src/text/TextParagraph.d.ts +4 -0
  700. package/types/src/text/TextRotation.d.ts +3 -3
  701. package/types/src/text/TextRun.d.ts +12 -2
  702. package/types/src/text/TextStacked.d.ts +83 -0
  703. package/types/src/text/TextWrapper.d.ts +32 -26
  704. package/types/src/text/_TextUtils.d.ts +5 -5
  705. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  706. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  707. package/types/src/text/index.d.ts +1 -0
  708. package/types/src/text/richtext/IRichText.d.ts +50 -0
  709. package/types/src/text/richtext/index.d.ts +1 -1
  710. package/types/src/theme/ITheme.d.ts +153 -11
  711. package/types/src/theme/IThemeCollection.d.ts +2 -0
  712. package/types/src/theme/ThemeCollection.d.ts +16 -7
  713. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  714. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  715. package/types/src/transaction/ITransaction.d.ts +277 -45
  716. package/types/src/transaction/Transaction.d.ts +108 -11
  717. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  718. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  719. package/types/src/type/AbstractCollection.d.ts +92 -0
  720. package/types/src/type/ICollection.d.ts +131 -1
  721. package/types/src/type/IProperties.d.ts +1 -1
  722. package/types/src/type/ITypes.d.ts +9 -7
  723. package/types/src/type/index.d.ts +1 -0
  724. package/types/src/utils/_CSSUtils.d.ts +4 -4
  725. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  726. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  727. package/types/src/wasm/fontsWasm.d.ts +32 -0
  728. package/types/src/wasm/index.d.ts +3 -0
  729. package/types/src/wasm/loader.browser.d.ts +9 -0
  730. package/types/src/wasm/loader.node.d.ts +9 -0
  731. package/types/src/wasm/sdkWasm.d.ts +32 -0
  732. package/types/src/workbook/IWorkbook.d.ts +404 -73
  733. package/types/src/workbook/Workbook.d.ts +196 -28
  734. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  735. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  736. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  737. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  738. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  739. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  740. package/types/src/workbookView/IWorkbookView.d.ts +94 -0
  741. package/types/src/workbookView/WorkbookView.d.ts +26 -0
  742. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  743. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  744. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  745. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  746. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  747. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  748. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  749. package/browser/cjs/index.cjs +0 -3
  750. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  751. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  752. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  753. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  754. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  755. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  756. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -91
  757. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  758. package/types/src/dataValidation/_Utils.d.ts +0 -10
  759. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  760. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  761. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  762. package/types/src/lib/utils/_Utils.d.ts +0 -27
  763. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  764. package/types/src/movable/IGroup.d.ts +0 -30
  765. package/types/src/movable/IMovableSelection.d.ts +0 -49
  766. package/types/src/print/IPrint.d.ts +0 -234
  767. package/types/src/sheet/Sheet.d.ts +0 -1107
  768. package/types/src/sheet/SheetCollection.d.ts +0 -18
  769. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  770. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  771. package/types/src/sheet/listener/index.d.ts +0 -3
  772. package/types/src/sheetProtection/SheetProtection.d.ts +0 -39
  773. package/types/src/sheetView/SheetView.d.ts +0 -113
  774. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
  775. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -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
@@ -1,8 +1,9 @@
1
1
  import { IRange, IFormulaContext } from '@sheetxl/primitives';
2
2
  import { FixedPackedArray } from '../../primitives/PrimitiveUtils';
3
+ import { PendingOverlayGrid } from '../state/_PendingOverlayGrid';
3
4
  import { ISpatialMap, ISpatialMap3D } from '../../collections';
4
5
  import { FormulaSpatialValue, PrecedentSpatialValue, PrecedentKind } from '../spatial';
5
- import { ICalcGrid } from '../grid';
6
+ import { ICalcGrid, CalcGridBackend } from '../grid';
6
7
  import { IContextContainer, CalcNode } from '../state';
7
8
  import { ReadHook } from '../state/_ReadObservedGrid';
8
9
  import { CircularReference, CycleHost } from './CircularReference';
@@ -53,13 +54,41 @@ export declare class CalcExecutor {
53
54
  * Lengths of the module scratch lists of one {@link doDemandEvaluate}: `_iterHits`, the
54
55
  * `Waiting` nodes the evaluation in progress read under iteration (each flagged
55
56
  * `CalcState.IterHit`; consumed when it returns); `_iterMembers`, the members the call marked,
56
- * in marking order — the sweep order; `_iterDownstream`, the nodes it marked downstream,
57
- * evaluated once more after the sweeps. On the executor rather than local because the lists
58
- * grow across the runs a sweep nests.
57
+ * plus the downstream nodes a sweep found one of them reads (`CalcState.Swept`), in ADDRESS
58
+ * order once the sweeps begin ({@link _sortIterMembers}); `_iterDownstream`, the nodes it
59
+ * marked downstream, evaluated once more after the sweeps. On the executor rather than local
60
+ * because the lists grow across the runs a sweep nests.
59
61
  */
60
62
  protected _iterHitsLength: number;
61
63
  protected _iterMembersLength: number;
62
64
  protected _iterDownstreamLength: number;
65
+ /**
66
+ * The cycles of the demand run in progress that are still OPEN, under iteration: per cycle
67
+ * group, the stack index of its lowest started member. A cycle is a strongly connected
68
+ * component, and it is complete only when that member finishes — until then a node that reads
69
+ * one of its FINISHED members reaches the open member through it, and the open member reaches
70
+ * the reader up the stack, so the reader is in the cycle too ({@link _onMemberRead}). Removed
71
+ * when the member at the index finishes, so empty between runs.
72
+ */
73
+ protected _openGroups: Map<number, number>;
74
+ /**
75
+ * Cycle groups a later slice joined to another (`from → into`). A slice relabels only the
76
+ * nodes on the stack, so a group's finished members keep the old id until
77
+ * {@link _settleGroups} rewrites them; every read of a group in between resolves through here.
78
+ */
79
+ protected _groupAlias: Map<number, number>;
80
+ /** Inside {@link _demandSweep}'s sweeps — where a downstream node a swept node reads joins them. */
81
+ protected _sweeping: boolean;
82
+ /**
83
+ * Whether `_iterMembers` is in address order yet ({@link _sortIterMembers}) — false while the
84
+ * discovery that finds the cycles appends to it, true from the first sweep on, when a member
85
+ * that joins has to be placed rather than appended.
86
+ */
87
+ protected _iterSorted: boolean;
88
+ /** Where {@link _demandSweep} stands in the list, so an arrival below it can move it up; `-1` between sweeps. */
89
+ protected _sweepIndex: number;
90
+ /** How many nodes `_demandDeferred` holds for the {@link _demandRun} in progress. */
91
+ protected _deferredLength: number;
63
92
  /** The pass the hook answers for; inert otherwise. Set by `doMarkAndPlan`, released with `_gridUpdates`. */
64
93
  protected _passActive: boolean;
65
94
  protected _passCycleId: number;
@@ -70,6 +99,20 @@ export declare class CalcExecutor {
70
99
  * value is right, it is just not in the grid yet.
71
100
  */
72
101
  protected _flush: (() => void) | null;
102
+ /**
103
+ * Per grid, the committed values with the running pass's uncommitted results over them — the
104
+ * batch and the demand results the plan has not taken yet; what `getGridValues` answers with
105
+ * while a pass evaluates. Released with {@link _flush}.
106
+ */
107
+ _overlays: Map<string, PendingOverlayGrid> | null;
108
+ /**
109
+ * The blank regions of the blocks whose representative could not stand for them this plan
110
+ * (PLAN-WATCHES-BLANK-AWARE §4), and the cells of the regions that WERE shared whose value the
111
+ * share moved under a reader ({@link _dirtyBlankReaders}) — handed to `doEvaluate`'s incremental
112
+ * dirty set at the end of the plan, so the next iteration of the pass collects the first cell
113
+ * by cell and the readers of the second.
114
+ */
115
+ protected _fallbackDirty: ISpatialMap | null;
73
116
  /**
74
117
  * The cycle table (design §7.3): per cycle id, one live {@link CircularReference} holding the
75
118
  * nodes the sheet index currently shows as its members and as downstream of it — the object
@@ -83,6 +126,13 @@ export declare class CalcExecutor {
83
126
  protected _cycleHost: CycleHost;
84
127
  /** Last cycle id handed out by a demand pass; ids are unique across passes. */
85
128
  protected _cycleGroupNext: number;
129
+ /**
130
+ * Advances whenever the circular index changes — a node's shown role or group moves in
131
+ * {@link _trackCircular}. A remembered plan (§1.4) whose closure held no cycle node at the
132
+ * epoch it was made at still holds none while the epoch stands, which is what lets it be
133
+ * reused with the in-degree phase's cycle tainting skipped. See `fastEligible`.
134
+ */
135
+ protected _cycleEpoch: number;
86
136
  /**
87
137
  * Counters over every demand pass since construction: nodes evaluated by demand and
88
138
  * `NeedsFirst` retries. A retry is the cost of the path (a formula run and thrown away), so a
@@ -104,7 +154,7 @@ export declare class CalcExecutor {
104
154
  * - `'on'` (default): an eligible pass skips the in-degree + Kahn phases (plan = affected set
105
155
  * sorted by order stamp) and discovery reuses cached `dependents`.
106
156
  * - `'assert'` (the §1.6 rollout mode; the diagnostic to flip back to if values ever look
107
- * stale — `__sxlCalc.mode('assert')`): stamps are written and eligibility computed, but every
157
+ * stale — `calculation._planCacheMode('assert')`): stamps are written and eligibility computed, but every
108
158
  * pass still runs the full search + Kahn phases; the fast path's order and the cached
109
159
  * `dependents` are VERIFIED against them, mismatches counted in
110
160
  * `planAssertFailures`/`dependentsAssertFailures` and logged. Costs the old planning price
@@ -118,6 +168,15 @@ export declare class CalcExecutor {
118
168
  protected _lastPlanId: number;
119
169
  /** Length of the last stamped plan — the `orderIndex` range the fast path's bucket order spans. */
120
170
  protected _lastStampedLength: number;
171
+ /**
172
+ * How many of the last stamped plan's nodes Kahn ordered; the rest — stamps at or past this
173
+ * index — are its DEMAND APPENDIX: nodes Kahn could not order (a static self-edge such as
174
+ * `OFFSET(A1,-1,0)` in A1) that are evaluated by demand after everything ordered. A pass that
175
+ * reuses the stamps or the memo re-flags them for demand (`Circular`, the batch, the roster)
176
+ * rather than evaluating them on the ordinary path. Equal to `_lastStampedLength` when the last
177
+ * plan was fully ordered.
178
+ */
179
+ protected _lastStampedOrderedLength: number;
121
180
  /**
122
181
  * Whole-closure reuse (§1.4): remembered fully-ordered passes — seeds, plan, and the
123
182
  * `precedentEpoch` each was planned at (`-1` = empty). A pass with the identical seed set at
@@ -166,14 +225,74 @@ export declare class CalcExecutor {
166
225
  * batch) is committed on the spot and read; `Done` with a cycle role makes the reader
167
226
  * downstream. Any other cell is a value. Inert outside a pass, so a reference built during one
168
227
  * and read later (a spill committed afterwards) is plain values.
228
+ *
229
+ * `prefetch` is the rectangle an ITERATION was asked for, announced before its first read. Only
230
+ * the `Unevaluated` decision belongs to it — bringing what the sweep may need forward is free,
231
+ * and over-eager is harmless (design §4.3) — while `Waiting` and a finished cycle role are left
232
+ * to the per-position reports the sweep makes, which is what stops an early-exit lookup from
233
+ * reporting the tail it never opened (plan item 1). It answers whether those reports can say
234
+ * anything at all: a rectangle holding no node of this pass and nothing the sheet shows in a
235
+ * cycle is swept unobserved.
169
236
  */
170
237
  private _onPassRead;
171
238
  /**
172
- * Under iteration, a read of a `Done` cycle node by the node being evaluated: the reader is
173
- * downstream of that cycle (design §6.3) unless it is in one itself. Nothing is aborted — the
174
- * reader goes on with the value — so the mark is made here, on the reader.
239
+ * A read of a `Done` cycle node by the node being evaluated: the reader is downstream of that
240
+ * cycle unless it is in one itself. Nothing is aborted — the reader goes on — so the mark is
241
+ * made here, on the reader.
242
+ *
243
+ * @remarks
244
+ * Under iteration this is design §6.3, and the reader goes on with the member's real value.
245
+ * With iteration off the value is discarded when the evaluation finishes (`_demandRun` writes
246
+ * what the cell last had), and the reader runs on for the CLASSIFICATION alone: a cell can be
247
+ * both downstream of one cycle and a member of its own, and aborting at the first read decided
248
+ * that by read order. `A5 = IF(…, A5 - (A4*A2))` meets `A4` before it meets itself — postfix
249
+ * evaluation opens the inner product first — so it used to be reported downstream of `A4`'s
250
+ * cycle and never reached its own, leaving the user an `A4` to fix and an `A5` still circular.
251
+ * Running on lets the later `Waiting` read close it, and `_markCycleSlice` overwrites the role:
252
+ * member wins over downstream, never the reverse.
253
+ */
254
+ private _markDownstream;
255
+ /**
256
+ * A read of a `Done` cycle node inside the demand loop, under iteration. Which of three things
257
+ * it is depends on where the cycle stands, not on the node alone:
258
+ *
259
+ * - **A member of a cycle still open** ({@link _openGroups}): the reader is in that cycle.
260
+ * Recorded as a hit, like a read of a `Waiting` node, and the slice is marked when the reader
261
+ * returns. This is what makes a cycle its whole strongly connected component however the pass
262
+ * entered it. Entered at `reserve = SUM(months)`, a fund-sizing loop first closes through ONE
263
+ * month (`reserve → month → minDist → size → … → reserve`); `size` then finishes, and every
264
+ * other month reads it finished while `reserve` is still open beneath them. They feed
265
+ * `reserve`: left downstream, the sweeps iterate a fragment and settle on a wrong number.
266
+ * - **A downstream node read by a node being swept**: it feeds the sweep, so it is swept too
267
+ * ({@link _sweepAlong}). Nothing the discovery above misses can then leave a swept node
268
+ * reading a value that moves only after the sweeps.
269
+ * - Anything else: the reader is downstream ({@link _markDownstream}).
270
+ */
271
+ private _onMemberRead;
272
+ /**
273
+ * Adds the downstream node `read` to the sweep list because `reader`, which is swept, reads it.
274
+ * Downstream of the reader's own cycle it closes a loop through the reader — a member, and
275
+ * `reader`'s next step if it has none. Downstream of another cycle it lies between the two: it
276
+ * keeps its role and moves with them (`CalcState.Swept`).
277
+ */
278
+ private _sweepAlong;
279
+ /**
280
+ * Adds `member` to the sweep list with the value the sweeps start it from, at its ADDRESS
281
+ * position once {@link _sortIterMembers} has ordered the list — Excel sweeps row-major, always
282
+ * (design §6.3), and a member that JOINS during the sweeps has to land in that order too or the
283
+ * order changes partway through the pass. Before the ordering, which is the discovery that finds
284
+ * the cycles, it appends: the list is sorted once, where it is finalized.
175
285
  */
176
- private _iterRead;
286
+ private _addIterMember;
287
+ /**
288
+ * Puts the sweep list in address order, once, where it is finalized: every sweep of the pass
289
+ * then runs in that one order, and {@link _addIterMember} places what joins later.
290
+ */
291
+ private _sortIterMembers;
292
+ /** The group `group` stands for now — itself unless a later slice joined it to another. */
293
+ private _resolveGroup;
294
+ /** Rewrites every group a slice joined to another ({@link _groupAlias}) on the pass's roster. */
295
+ private _settleGroups;
177
296
  /**
178
297
  * The nodes of this pass inside `coords` that are still `Unevaluated`, written into `into` from
179
298
  * slot `length` on; returns the new length.
@@ -193,39 +312,176 @@ export declare class CalcExecutor {
193
312
  * (the batch, after everything ordered is committed), and `doEvaluate` again for a single
194
313
  * ordered node whose dynamic read landed on a node not yet evaluated — the same suspension,
195
314
  * on the ordinary path (§5). Every node evaluated here is flagged `circular`, so the plan
196
- * takes its `demandValue` when it reaches it, and its finalized scalar is already in the grid
197
- * for later lazy reads; `flush` commits the ordered path's pending batch when a read needs a
198
- * value still sitting in it. Flat: the stack is an array, so a 1,560-row chain is 1,560
199
- * evaluations, not 1,560 JS frames. A node is retried at most once per `NeedsFirst` it raises,
200
- * and with the prefetch of its static precedents that is normally once.
315
+ * takes its `demandValue` when it reaches it, and its finalized scalar is already in the
316
+ * overlay's demand layer for later lazy reads (`_pushDemand`); `flush` commits the ordered
317
+ * path's pending batch when a read needs a value still sitting in it. Flat: the stack is an
318
+ * array, so a 1,560-row chain is 1,560 evaluations, not 1,560 JS frames. A node is retried at
319
+ * most once per `NeedsFirst` it raises, and with the prefetch of its static precedents that is
320
+ * normally once.
201
321
  */
202
322
  protected doDemandEvaluate(cycleId: number, getUpdates: (scope: string) => ICalcGrid.IncrementalUpdates, worklist: readonly CalcNode[], flush: () => void): void;
203
323
  /**
204
- * The finalized scalar goes into the grid now, so a later lazy read sees it; `doEvaluate`
205
- * commits the same value with the notifications when it reaches the node.
324
+ * The finalized scalar goes into the overlay's demand layer now, so a later lazy read sees it;
325
+ * `doEvaluate` takes it from there and commits it with the notifications when it reaches the
326
+ * node. A sweep rewrites a member once per sweep, and none of those is a persistent write.
206
327
  */
207
- private _writeEarly;
328
+ private _pushDemand;
329
+ /**
330
+ * The overlay of `gridId` for the `doEvaluate` in progress, made on first use — demand
331
+ * evaluation runs only inside one, so {@link _overlays} is installed. It commits through the
332
+ * `flush` of the `doEvaluate` that made it, and only that one.
333
+ */
334
+ private _overlayFor;
335
+ /**
336
+ * A finalized result fitted to its cell when the block makes every cell its own 1x1
337
+ * array-entered extent (`FormulaSpatialValue.arrayFirstCell`): element `[0,0]` of a range, so the
338
+ * cell stores a scalar and registers no spill. Anything else as it is.
339
+ */
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;
352
+ /**
353
+ * The representative of a gated block has finalized (PLAN-WATCHES-BLANK-AWARE §4): its scalar is
354
+ * shared with the block's blank region, or the gate is closed and the region is re-collected
355
+ * cell by cell.
356
+ *
357
+ * @remarks
358
+ * Shared only when nothing the evaluation read was per cell (`CalcScope.perCellRead`: a draw, a
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
362
+ * closes the gate for good ({@link FormulaSpatialValue.blankRefused}); the rest may not recur
363
+ * and close it for this pass ({@link _fallbackBlank}).
364
+ *
365
+ * How the region is shared depends on who can read it (§4c). A block in a SHEET grid is read
366
+ * by other formulas, the sheet and the error index, all through the grid's values, so the
367
+ * scalar is written as runs - one per column of each blank rectangle, which for a column block
368
+ * is one run. A block in a grid that SHADOWS a sheet (a watch body, a one-shot evaluation) has
369
+ * exactly one reader, the range its owner holds, and that range answers the region as its empty
370
+ * value from the block (`FormulaSpatialValue.getBlankValueWithin`): nothing is written, whatever
371
+ * the region's size, and what an earlier pass stored there is removed so the block's answer is
372
+ * the one read.
373
+ *
374
+ * @param refuse The caller's own reasons the result cannot stand for the region.
375
+ */
376
+ private _finalizeRepresentative;
377
+ /**
378
+ * Marks dirty the cells of a shared blank region whose value the share just moved, wherever a
379
+ * formula reads them, so the pass's next iteration evaluates those readers against the runs now
380
+ * in the grid.
381
+ *
382
+ * @remarks
383
+ * A blank cell has no node. A formula that reads one - `=A2+1` beside a block of `=$D$1` whose
384
+ * representative is `A1` - is neither in the representative's dependents, which are searched at
385
+ * its own cell, nor ordered after it, so left alone it keeps the value the cell had before the
386
+ * share. The region is handled as a spill's changed extent is: what moved is content other
387
+ * formulas read, and it is re-collected as a dirty region.
388
+ *
389
+ * What moved is the whole region when the shared value differs from the last one, and otherwise
390
+ * the cells that joined the region since (a cleared input turns a touched cell blank, and the
391
+ * run replaces the value it computed for itself). A region nothing reads costs one search per
392
+ * rectangle and no further iteration.
393
+ *
394
+ * @param unmoved The rectangles that already held this value; `null` when every cell moved.
395
+ */
396
+ private _dirtyBlankReaders;
397
+ /**
398
+ * Closes a gated block's gate — for good when `sticky`, for this pass otherwise — and marks its
399
+ * blank region dirty, so the pass's next iteration collects those cells one by one.
400
+ *
401
+ * @remarks
402
+ * A gate closed for good also settles the block's node store: every collection from here on
403
+ * reaches every cell, so the nodes go dense ({@link FormulaSpatialValue.densify}) rather than
404
+ * being minted one by one through the sparse store.
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;
413
+ private _fallbackBlank;
414
+ /**
415
+ * What the pass reads for `node` right now — a member's starting value, before any demand
416
+ * result of its own.
417
+ *
418
+ * @remarks
419
+ * A sparse grid answers `undefined` for a cell it holds nothing for, which is every formula that
420
+ * was entered and has not calculated yet. That is a blank start (`IF(F1="",…)` sees `""`), and
421
+ * blank as a value is `null`: `undefined` is neither a scalar the grid can store nor a demand
422
+ * result, where it means "none" (`doEvaluate` takes `0` for it). A named formula's body is a
423
+ * cell too, at (0,0) of the name's virtual grid.
424
+ *
425
+ * A formula LOADED without a value was never entered, and starts from `""` instead — Excel's
426
+ * start for it, and not blank, so `_demandSweep` gives it no entry evaluation
427
+ * ({@link FormulaSpatialValue.uncalculated}).
428
+ */
429
+ private _valueOnGrid;
430
+ /**
431
+ * Puts a prefetched node back where the prefetch found it — `Unevaluated`, with nothing its
432
+ * evaluation decided — because that evaluation reached a node still on the stack under it
433
+ * (trap 4b: a prefetch report is not a read, and neither is a prefetched evaluation). The node
434
+ * below finishes first, and this one is evaluated once nothing is suspended under it: from the
435
+ * reader's retry if the reader does read it after all, and from the run's own seed queue
436
+ * otherwise. `Circular` goes too, so a node neither reaches is evaluated by the plan in its own
437
+ * place rather than taking a demand result it never got.
438
+ */
439
+ private _unstartPrefetched;
440
+ /**
441
+ * Puts back the speculative evaluations that are suspended under one just put back, and answers
442
+ * the stack length that leaves. They asked for it, and they were not asked for themselves, so
443
+ * without it none of them can finish — retrying them would ask for it again, and again.
444
+ * Unwinding to the first entry no prefetch put there hands the stack back to an evaluation a
445
+ * READ wants, and what that one asks for next is asked for in earnest: the chain comes back
446
+ * without the flag, and the cycle it reaches is marked.
447
+ */
448
+ private _unwindSpeculative;
208
449
  /** The worklist loop of {@link doDemandEvaluate}; re-entered by a sweep for the nodes a read needs first. */
209
450
  private _demandRun;
210
451
  /**
211
452
  * Marks the started (`Waiting`) nodes on the in-progress stack from `read` up to the top as one
212
453
  * cycle — the slice a `Waiting` read names (design §4.3). A slice touching a member of an
213
- * earlier cycle joins that cycle. The started nodes are on the stack in READ order — each is
214
- * there because the one below it read it, and the reader on top read `read` — so the slice is
215
- * the walk `getPath` answers: each member is linked to the next, the last back to the first.
454
+ * earlier cycle joins that cycle, and one touching several joins them all into one. The started
455
+ * nodes are on the stack in READ order — each is there because the one below it read it, and the
456
+ * reader on top read `read` — so the slice is the walk `getPath` answers: each member is linked
457
+ * to the next, the last back to the first. When the reader reached `read` through a finished
458
+ * member of its cycle, that member is `via` and is the reader's next step instead.
216
459
  * The demand state is left as it is: the caller finishes the members (iteration off) or lets
217
460
  * them run on (iteration on). Returns the stack index of `read`.
218
461
  */
219
462
  private _markCycleSlice;
220
463
  /**
221
- * Iterative calculation (design §6.3) over the members {@link _demandRun} marked, which it
222
- * evaluated once each — sweep 1. Every further sweep re-evaluates them in marking order, each
223
- * read seeing the latest value (Gauss–Seidel, as Excel: `probe-iterative.ps1`), until no member
224
- * moved by `maxChange` or `maxIterations` sweeps ran. The limits are global, as in Excel — one
225
- * unsettled member keeps every cycle of the pass sweeping. Downstream nodes read the members
226
- * once more afterwards; they never feed a cycle, so they need no sweeping. The members are then
227
- * registered as volatile so the next recalculation re-runs them, which is how `=A1+1` advances
228
- * per recalc (Excel re-iterates every cycle on every `Calculate()`).
464
+ * Iterative calculation (design §6.3) over the members {@link _demandRun} marked. Each sweep
465
+ * evaluates them in ADDRESS order, each read seeing the latest value (Gauss–Seidel in row-major
466
+ * order, as Excel: `probe-iterative.ps1`), until no member moved by `maxChange` or
467
+ * `maxIteration` sweeps ran.
468
+ * The limits are global, as in Excel — one unsettled member keeps every cycle of the pass
469
+ * sweeping. Downstream nodes read the members once more afterwards; one that feeds a swept node
470
+ * is swept with them instead (`_onMemberRead`), so the rest feed no cycle and need no sweeping.
471
+ * Converged means a sweep over a list that did not grow moved nothing by `maxChange`: every
472
+ * node a swept node reads is then swept itself or does not move in this pass, so the state is a
473
+ * fixed point and not a fragment's. The members are then registered as volatile so the next
474
+ * recalculation re-runs them, which is how `=A1+1` advances per recalc (Excel re-iterates every
475
+ * cycle on every `Calculate()`).
476
+ *
477
+ * @remarks
478
+ * The evaluation that FOUND the members ran in dependency order — `B1 = B2+1` needs `B2` first,
479
+ * whichever of the two the plan reached first — so its results are not a sweep of this order,
480
+ * and counting them as one costs a step. The members go back to the values the pass found them
481
+ * at; a member that had none is then evaluated once, in address order, for the entry evaluation
482
+ * Excel gave it when it was written (§2.4), and every one of the `maxIteration` sweeps runs on
483
+ * top of that. Discovery's results are never read: a node that read a member is downstream, and
484
+ * evaluates again below.
229
485
  */
230
486
  private _demandSweep;
231
487
  /** Clears the `IterHit` flags of the hits not consumed by {@link _demandRun}'s loop and empties the list. */
@@ -234,7 +490,7 @@ export declare class CalcExecutor {
234
490
  * One evaluation of a `Done` node under iteration, with the read hook armed. A read that
235
491
  * needs a node not yet evaluated (a handed-over node's sweep runs before the batch) runs those
236
492
  * by demand and retries; a `Waiting` read cannot occur (nothing is waiting) and a member's
237
- * result is a value (`_iterRead`), so nothing aborts.
493
+ * result is a value (`_markDownstream`), so nothing aborts.
238
494
  */
239
495
  private _demandEvaluateOne;
240
496
  /**
@@ -280,7 +536,7 @@ export declare class CalcExecutor {
280
536
  evaluations: number;
281
537
  retries: number;
282
538
  } & CalcExecutor.PlanStats;
283
- /** @internal Zeroes every counter/timing so a measurement window starts clean (`__sxlCalc.reset()`). */
539
+ /** @internal Zeroes every counter/timing so a measurement window starts clean (`Calculation._resetStats`). */
284
540
  resetStats(): void;
285
541
  /**
286
542
  * Collects and marks all volatile CalcNodes.
@@ -314,6 +570,17 @@ export declare class CalcExecutor {
314
570
  * length check first: it is what rejects the common miss (a single-cell pass against a bulk
315
571
  * memo) before any node is touched.
316
572
  */
573
+ /**
574
+ * Flags `plan[from..to)` for demand evaluation the way the cycle-detection branch does when it
575
+ * appends them: `Circular`, no carried demand value, in the batch and on the roster. Used by
576
+ * the paths that reuse a plan without rebuilding it (the closure memo, the stamp order).
577
+ */
578
+ private _flagDemandAppendix;
579
+ /**
580
+ * Drop both plan caches (§1.2 order stamps and §1.4 whole-closure reuse): nothing they hold is
581
+ * a valid order for the graph any more. The next mark phase plans from scratch and re-stamps.
582
+ */
583
+ protected _invalidatePlans(): void;
317
584
  private _matchPlanMemo;
318
585
  /**
319
586
  * Records this pass's seeds and plan for whole-closure reuse (§1.4). The victim slot is a stale
@@ -343,7 +610,7 @@ export declare namespace CalcExecutor {
343
610
  }
344
611
  /** The two limits of `ICalculation.IterativeCalculation`. */
345
612
  interface IterateOptions {
346
- maxIterations: number;
613
+ maxIteration: number;
347
614
  maxChange: number;
348
615
  }
349
616
  /** How a cycle's last iterated evaluation ended — what `ICircularReference` answers. */
@@ -352,12 +619,28 @@ export declare namespace CalcExecutor {
352
619
  converged: boolean;
353
620
  /** Sweeps run, the first evaluation included. */
354
621
  iterationCount: number;
355
- /** The largest change any member made in the last sweep. */
622
+ /**
623
+ * The largest change THIS cycle's members made in the last sweep.
624
+ *
625
+ * @remarks
626
+ * Convergence is global, as Excel has it — one unsettled member keeps every cycle of the pass
627
+ * sweeping — but the number a tooltip shows is the asking cycle's own, or A4 reports the 9.8
628
+ * that A5 moved while it moved 0.98.
629
+ */
356
630
  lastChange: number;
631
+ /**
632
+ * The same, for the sweep BEFORE the last — `NaN` when there was only one.
633
+ *
634
+ * @remarks
635
+ * Two numbers say something one cannot: a run that stopped on the cap while still shrinking is
636
+ * a `maxIteration` that is too low, and one whose change is flat or growing does not settle at
637
+ * any cap. The sweep has both in hand; nothing else can recover the second.
638
+ */
639
+ previousChange: number;
357
640
  }
358
641
  /** Snapshot of Calculation's persistent state for one pass */
359
642
  interface ExecuteState {
360
- gridsAll: Map<string, ICalcGrid>;
643
+ gridsAll: Map<string, CalcGridBackend>;
361
644
  formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
362
645
  dirtySpatial: ISpatialMap3D;
363
646
  /** Volatiles accumulated before this cycle — drained and cleared by execute() */
@@ -373,6 +656,15 @@ export declare namespace CalcExecutor {
373
656
  epoch: number;
374
657
  /** `CalcExecutor._planMemoClock` when last written or matched — the LRU key for slot recycling. */
375
658
  used: number;
659
+ /** No node of the plan was shown in a cycle (or downstream of one) when the plan was made. */
660
+ cycleFree: boolean;
661
+ /** `CalcExecutor._cycleEpoch` when the plan was made; a hit requires it unchanged. */
662
+ cycleEpoch: number;
663
+ /**
664
+ * Index of the first demand-appendix node in `plan` — `planLength` when the plan was fully
665
+ * ordered. A hit re-flags `plan[demandStart..planLength)` for demand evaluation.
666
+ */
667
+ demandStart: number;
376
668
  }
377
669
  /** Plan-phase counters and timings — see `CalcExecutor.planCacheMode` and performance plan §1.6. */
378
670
  interface PlanStats {
@@ -400,6 +692,12 @@ export declare namespace CalcExecutor {
400
692
  /** Discovery searches skipped (or verified) because `dependentsEpoch` was current. */
401
693
  dependentsCacheHits: number;
402
694
  dependentsCacheMisses: number;
695
+ /**
696
+ * Nodes evaluated on the ORDERED path (`evaluateAt` from `doEvaluate`); `evaluations` counts
697
+ * the demand path. Their sum is every formula run — what blank-aware evaluation
698
+ * (PLAN-WATCHES-BLANK-AWARE §4) reduces to the touched cells plus one.
699
+ */
700
+ evaluated: number;
403
701
  discoveryMs: number;
404
702
  inDegreeMs: number;
405
703
  kahnMs: number;
@@ -3,6 +3,11 @@ import { Tuple, ISpatialMap } from '../../collections';
3
3
  import { CalcSignal } from '../../primitives/CalcSignal';
4
4
  import { CalcNode } from '../state';
5
5
  import { PrecedentSpatialValue, FormulaSpatialValue } from '../spatial';
6
+ /**
7
+ * Visits the nodes of `block` a discovery walk reaches inside a rectangle (absolute, clipped to the
8
+ * block), minting those it decides the pass needs.
9
+ */
10
+ export type MintWindow = (block: FormulaSpatialValue, rowFrom: number, rowTo: number, colFrom: number, colTo: number, fn: (calc: CalcNode) => void) => void;
6
11
  /**
7
12
  * Raised from a read that landed on unorderable nodes not yet evaluated: the reader is suspended,
8
13
  * `nodes` are evaluated first, and the reader is retried from scratch.
@@ -33,10 +38,52 @@ export declare class DownstreamSignal extends CalcSignal {
33
38
  readonly node: CalcNode;
34
39
  constructor(node: CalcNode);
35
40
  }
36
- export declare function rangeToTuples(range: IRange, offsetMajor?: number, offsetMinor?: number): Tuple.BoundedTuples<Scalar>;
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;
48
+ /**
49
+ * Fits a result to a fixed (array-entered) extent, per dimension: a dimension of 1 broadcasts, a
50
+ * longer one is clipped, a shorter one is padded with `#N/A`. Measured against Excel
51
+ * (`probe-cse.ps1`): `=SEQUENCE(5)` into 3 rows is `1,2,3`; `=SEQUENCE(2)` into 5 rows is
52
+ * `1,2,#N/A,#N/A,#N/A`; `=SUM(H1:H5)` into 3x3 is the sum nine times; a 1x3 into 3x3 repeats the
53
+ * row; a 3x1 into 3x3 repeats the column.
54
+ *
55
+ * @returns The fitted values, row-major, exactly `rowCount` x `colCount`. A blank source cell stays
56
+ * blank (`null`), as it does when a dynamic array spills. The fit is a fixed point - fitting the
57
+ * result again yields the same shape - so nothing downstream needs a "do not resize" guard.
58
+ */
59
+ export declare function fitToExtent(value: Scalar | IRange, rowCount: number, colCount: number): Scalar[][];
60
+ /**
61
+ * {@link fitToExtent} as grid tuples over `coords`, in the orientation of the grid they are written
62
+ * to. `null` when every fitted cell is blank.
63
+ */
64
+ export declare function fitToTuples(value: Scalar | IRange, coords: IRange.Coords, isColumn: boolean): Tuple.Region<Scalar> | null;
37
65
  /**
38
66
  * TODO - document and/or rationalize with visitPrecedentBlock
39
67
  */
40
- export declare function visitDependencyBlock(depEntry: ISpatialMap.Entry<PrecedentSpatialValue>, rowIndex: number, colIndex: number, callbackFn: (calc: CalcNode) => void): void;
68
+ export declare function visitDependencyBlock(depEntry: ISpatialMap.Entry<PrecedentSpatialValue>, rowIndex: number, colIndex: number, callbackFn: (calc: CalcNode) => void, mint?: MintWindow | null): void;
69
+ /**
70
+ * Visit the cells of a dependent block that read a spill's BODY — the extent an anchor at
71
+ * (`anchorRow`, `anchorCol`) occupies, MINUS the anchor cell itself.
72
+ *
73
+ * @remarks
74
+ * A spill's body cells are written by the anchor but hold no formula of their own, so a reader
75
+ * that never touches the anchor (`=B4` against a `B2` spill) is invisible to both the precedent
76
+ * index — keyed at the anchor — and `formulaSpatial`, which knows nothing about the body. The
77
+ * anchor stands in for its whole extent here, which is what makes such a reader both DIRTY and
78
+ * ORDERED after it.
79
+ *
80
+ * The anchor cell is excluded because {@link visitDependencyBlock} at the anchor already answers
81
+ * for it: the two together cover the extent exactly once, which is what keeps the in-degree phase
82
+ * and Kahn's decrement in balance. The exclusion is per FORMULA CELL, not per entry — one entry
83
+ * can hold a block whose cells straddle the anchor (`D1=B2`, `D2=B3`) — and it applies only when
84
+ * the anchor is inside the entry at all, since an entry that does not cover the anchor was never
85
+ * in the anchor's dependents to begin with.
86
+ */
87
+ export declare function visitSpillBodyBlock(depEntry: ISpatialMap.Entry<PrecedentSpatialValue>, anchorRow: number, anchorCol: number, extentRowEnd: number, extentColEnd: number, callbackFn: (calc: CalcNode) => void, mint?: MintWindow | null): void;
41
88
  export declare function valueCompareValues(a: ISpatialMap.Entry<FormulaSpatialValue>, removing: ISpatialMap.Entry<FormulaSpatialValue>): boolean;
42
89
  //# sourceMappingURL=CalcExecutorUtils.d.ts.map
@@ -72,6 +72,8 @@ export declare class CircularReference implements ICalculation.ICircularReferenc
72
72
  getIterationCount(): number;
73
73
  /** @inheritdoc ICalculation.ICircularReference.getLastChange */
74
74
  getLastChange(): number;
75
+ /** @inheritdoc ICalculation.ICircularReference.getPreviousChange */
76
+ getPreviousChange(): number;
75
77
  /** The members still on the graph, in row-major order (virtual grids first, then by sheet). */
76
78
  protected _liveMembers(): CalcNode[];
77
79
  protected _countLive(nodes: Set<CalcNode>): number;