@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
@@ -1,68 +1,210 @@
1
1
  import { IRange, FormulaError } from '@sheetxl/primitives';
2
2
  import { ICalculation } from '../ICalculation';
3
- import { ReferenceCoords, SetReferenceOptions } from '../Types';
4
- export interface IFormulaBlock {
3
+ import { ReferenceCoords, SetReferenceOptions, PrecedentTemplate, StructuredReference } from '../Types';
4
+ /**
5
+ * A compiled formula as data (DESIGN-CALC-SERVICE §8): what the engine vends for a block, and all
6
+ * the facade needs to image a read view of it for the model (`FormulaRecordView`). Plain data, so
7
+ * it survives `structuredClone`; the syntax tree never crosses.
8
+ *
9
+ * @remarks
10
+ * The tokens carry stable ids in their values - a sheet's, a name's, a table's - and cell
11
+ * coordinates relative to the block's top-left, so one record serves every cell of the block. Text
12
+ * is imaged from them against the reader's own symbol map ({@link FormulaImager}), which is what
13
+ * makes a held copy rename-proof: nothing in the record names a sheet by its name. The model
14
+ * never sees one: it holds the view.
15
+ */
16
+ export interface FormulaRecord {
17
+ /** The block's tokens, stable ids in their values, references relative to the block's top-left. */
18
+ readonly tokens: readonly ICalculation.FormulaToken[];
19
+ /** Set when the text did not parse. */
20
+ readonly error?: FormulaRecord.ParseFailure;
21
+ /** {@inheritDoc IFormulaBlockView.isReferenceOnly} */
22
+ readonly isReferenceOnly: boolean;
5
23
  /**
6
- * This is the eval used internally by graph.
7
- * precedents must be an array of either IRange or Scalar.
24
+ * The block's written references in order, aligned with `FormulaToken.referenceIndex`: what
25
+ * {@link IFormulaBlockView.getReferencesAt} answers from. Absent when there are none.
26
+ */
27
+ readonly references?: readonly FormulaRecord.Reference[];
28
+ }
29
+ export declare namespace FormulaRecord {
30
+ /**
31
+ * A written reference as the record carries it. A cell or range is relative to the block's
32
+ * top-left, a name is its stable id, and a table reference is as written: the model resolves it
33
+ * against its own table, per cell. `null` is a reference that cannot be one (`#REF!`).
34
+ */
35
+ type Reference = IRange.FixableCoords | {
36
+ readonly nameId: string;
37
+ } | {
38
+ readonly table: StructuredReference;
39
+ } | null;
40
+ /** A parse failure as data: what {@link IFormulaBlockView.getError} is rebuilt from. */
41
+ interface ParseFailure {
42
+ /** The text as written. */
43
+ readonly input: string;
44
+ /** The primary error's message. */
45
+ readonly message: string;
46
+ /**
47
+ * `true` when nothing parsed: there are no faithful tokens, and a read answers `input`. A
48
+ * recovered formula (an error, but a tree) images from its tokens like any other.
49
+ */
50
+ readonly unparsed: boolean;
51
+ /** Where the primary error sits in `input`. */
52
+ readonly details?: {
53
+ line: number;
54
+ column: number;
55
+ offset: number;
56
+ length: number;
57
+ };
58
+ }
59
+ }
60
+ /**
61
+ * The READ side of a formula block — what the model and the UI see. `Sheet`, `SheetCell`, autofit
62
+ * and `Formula` type against this; nothing outside `src/calculation/` sees the rest.
63
+ *
64
+ * @remarks
65
+ * The split exists so the calc engine can move behind a worker boundary. {@link ICalcGrid} is the
66
+ * WRITE surface (later comlink-proxied): every mutation and every question that needs the live
67
+ * graph goes there, its notifications come back on `ICalcGrid.Results`, and what lands here is a
68
+ * read view the facade builds from the engine's record of the block ({@link FormulaRecord}):
69
+ * tokens with stable ids, imaged on the model's side of the channel against the model's symbol
70
+ * map. The model holds the view and nothing else.
71
+ *
72
+ * The line: a fact that belongs to ONE BLOCK - derivable from its record - is declared here. A
73
+ * fact that needs the graph, the container, or a range of blocks belongs to {@link ICalcGrid}:
74
+ * evaluating (`evaluateAt`), every write, the recursive walks (`getPrecedentsAt`,
75
+ * `getDependentsAt`), the reverse edges (`getDirectDependentsAt`), what a range READ last calc
76
+ * (`getDirectPrecedentsAt`, which also consults the runtime `INDIRECT`/`OFFSET` registry), and
77
+ * the range form of what a block declares (`getNamedReferencesAt`).
78
+ *
79
+ * `FormulaBlock` satisfies both halves engine-side; `FormulaRecordView` satisfies this one over a
80
+ * record at the facade, and the sheet's `FormulaEntry` over that view, or over its own text while
81
+ * the entry is pending.
82
+ */
83
+ export interface IFormulaBlockView {
84
+ /**
85
+ * Return the formula string.
86
+ *
87
+ * @param row The row of the cell to evaluate.
88
+ * @param column The column of the cell to evaluate.
89
+ * @param r1c1 If 'true' then returns string as r1c1
90
+ * @param target Who the text is for. Default `'storage'` — the form files, undo snapshots and
91
+ * re-parses read. See {@link ICalculation.FormulaTarget}.
92
+ */
93
+ getTextAt(row: number, column: number, r1c1?: boolean, evalIndex?: number, target?: ICalculation.FormulaTarget): string;
94
+ /**
95
+ * Return the formula as an array of formula token values.
8
96
  *
9
97
  * @param row The row of the cell to evaluate.
10
98
  * @param column The column of the cell to evaluate.
11
99
  * @param evalIndex The index of the evaluation to use from the tokens.
100
+ * @remarks
101
+ * These can be used by advanced editors.
102
+ */
103
+ getTokensAt(row: number, column: number, evalIndex?: number): ICalculation.FormulaToken[];
104
+ /**
105
+ * @see
106
+ * { @link ICalculation.IFormula.isReferenceOnly }
107
+ */
108
+ isReferenceOnly(): boolean;
109
+ /**
110
+ * Return an error with the formula.
12
111
  *
13
112
  * @remarks
14
- * The precedents can be passed in as a performance optimization graph caches them as it calculates.
113
+ * This is not a value error but that the formula is unable to resolve.
15
114
  */
16
- evaluateAt(row: number, column: number, evalIndex?: number): any;
115
+ getError(): FormulaError.Parse | null;
116
+ /**
117
+ * The formula's written references at a cell, absolute, aligned with
118
+ * `FormulaToken.referenceIndex`.
119
+ *
120
+ * @param row The row of the cell.
121
+ * @param column The column of the cell.
122
+ *
123
+ * @remarks
124
+ * A name is `{ nameId }` holding its display name, a table reference resolves to the cells it
125
+ * designates from this cell (marked with its `tableId`), and a reference that cannot be one is
126
+ * `null`. What the formula READ on the last calculation (`INDIRECT`, `OFFSET`) is the graph's,
127
+ * not this list.
128
+ */
129
+ getReferencesAt(row: number, column: number): ReferenceCoords[];
130
+ }
131
+ /**
132
+ * A compiled formula body, over the range of cells that share it.
133
+ *
134
+ * @remarks
135
+ * Extends {@link IFormulaBlockView}. The members declared HERE need the compiled AST or the
136
+ * engine's container. No caller outside `src/calculation/` uses any of them: a committed formula
137
+ * reaches the equivalent through its view ({@link IFormulaBlockView.getReferencesAt}) or
138
+ * {@link ICalcGrid} (`setReferenceAt`), and the block forms below serve the UNCOMMITTED path (`TemporaryFormula`, the
139
+ * formula the editor is tokenizing while it is typed), which has no grid entry to resolve against.
140
+ */
141
+ export interface IFormulaBlock extends IFormulaBlockView {
17
142
  /**
18
- * Finalizes a raw value from {@link evaluateAt} for RETURN to a caller: collapses a range to
19
- * its anchor scalar (implicit intersection) and prepares a spillable range. A multi-area
20
- * result (`=(A1:A3,C1:C3)`, or a name whose body is a comma union) stays an **array**, one
21
- * finalized area per element, so an API caller receives every area. Applied by the return
22
- * sites (`IFormula.evaluate()`, `ICalculation.evaluate()`) — `evaluateAt` itself returns the
23
- * raw value so a consumer (e.g. a named reference used by a function) sees the reference intact.
143
+ * The block as data: what the engine vends for it, and what the facade images the model's view
144
+ * from.
24
145
  *
25
- * @see {@link finalizeValueForCell} for the write-to-a-grid variant.
146
+ * @remarks
147
+ * Built once per block and shared by every vend of it: a record is never mutated.
26
148
  */
27
- finalizeValue(value: any): any;
149
+ getRecord(): FormulaRecord;
28
150
  /**
29
- * {@link finalizeValue} plus the one rule that is specific to STORING a result in a single
30
- * grid cell: a cell has no representation for a multi-area union, so an array of areas
31
- * becomes `#VALUE!`. Applied by the executor when committing to a grid; returning a
32
- * multi-area through the API is legal and uses {@link finalizeValue} instead.
151
+ * Returns all references used by the formula.
152
+ * Named references are {@link NamedReference} objects (detect via `'nameId' in ref`);
153
+ * cell/range references are {@link IRange.FixableCoords}; unresolvable refs are `null`.
154
+ *
155
+ * @remarks
156
+ * Relative to (`row`, `column`). {@link IFormulaBlockView.getReferencesAt} is the same list
157
+ * absolutized, and is how the model asks; it answers from the record's
158
+ * {@link FormulaRecord.references}.
159
+ *
160
+ * Not to be confused with `ICalcGrid.getDirectPrecedentsAt`, which is a different KIND of fact:
161
+ * what a range of blocks READ on the last calculation, including runtime reads (`INDIRECT`,
162
+ * `OFFSET`) that appear in no reference list. That one needs the container's dynamic registry
163
+ * and stays on the grid.
33
164
  */
34
- finalizeValueForCell(value: any): any;
165
+ getReferences(row: number, column: number): ReferenceCoords[];
35
166
  /**
36
- * Return the formula as an array of formula token values.
167
+ * The root of the compiled tree in the shape a {@link ICalculation.FormulaTransform} and a
168
+ * {@link ICalculation.FormulaDialect} read, or `null` when nothing parsed.
37
169
  *
38
- * @param row The row of the cell to evaluate.
39
- * @param column The column of the cell to evaluate.
40
- * @param evalIndex The index of the evaluation to use from the tokens.
41
170
  * @remarks
42
- * These can be used by advanced editors.
171
+ * Engine-side, and deliberately not on {@link IFormulaBlockView}: the tree is never handed to
172
+ * the model. A consumer that needs something from it asks for the answer instead.
43
173
  */
44
- getTokensAt(row: number, column: number, evalIndex?: number): ICalculation.FormulaToken[];
174
+ getNode(): ICalculation.FormulaNode | null;
45
175
  /**
46
- * Return the formula string.
176
+ * The references an entered formula inherits its number format from, in text order: the cell
177
+ * and range literals that are value operands.
47
178
  *
48
- * @param row The row of the cell to evaluate.
49
- * @param column The column of the cell to evaluate.
50
- * @param r1c1 If 'true' then returns string as r1c1
51
- * @param formulaTransform An {@link ICalculation.FormulaTransform} applied structurally to
52
- * the compiled AST before imaging (runs once per block; an all-void transform costs no
53
- * recompile) — how a format exporter (io-xlsx `LegacyFormula`) applies its dialect spellings.
179
+ * @remarks
180
+ * Excel's entry rule: `=A1+B1` takes the format of the first of `A1`, `B1` that is not
181
+ * General; `=OFFSET(A1,0,0)` takes nothing, since `A1` sits in a reference-typed parameter.
182
+ * Names, structured references and `#REF!` slots are not listed. Anchor-free - offsets on a
183
+ * relative axis, a position on a fixed one - so one list serves every cell of the block; the
184
+ * executor ships it on {@link ICalcGrid.Results.formatInserts} for the sheet to resolve.
54
185
  */
55
- getTextAt(row: number, column: number, r1c1?: boolean, formulaTransform?: ICalculation.FormulaTransform, evalIndex?: number,
186
+ getFormatReferences(): IRange.FixableCoords[];
56
187
  /**
57
- * Serialize function names in CANONICAL (English) form — the persistence/internal
58
- * representation (files, undo snapshots, re-parses). Default `false` = display form
59
- * (localized via the active language pack).
188
+ * Returns the distinct stable nameIds of the named references in this formula
189
+ * (see `collectNamedIds`). Direct only, never descends into a name's body —
190
+ * transitivity is carried by the dependency graph. Used by `recompileNamed`'s all3D
191
+ * scan to find the formulas to invalidate when a named formula changes.
192
+ *
193
+ * @remarks
194
+ * NOT a projection of {@link IFormulaBlockView.getReferences} - that list is per-POSITION and
195
+ * index-aligned to `FormulaToken.referenceIndex` (null slots kept), while this is deduped,
196
+ * position-free, skips bound `LET`/`LAMBDA` parameters, and is cached on the compiled formula.
197
+ * Ids rather than {@link NamedReference}s because every caller compares ids (against
198
+ * `recompileNamed`'s targets, `IndirectSymbolProvider.reconcile()`).
199
+ *
200
+ * Engine-side: no view-side caller. `ICalcGrid.getNamedReferencesAt` is the range form - the
201
+ * union of this over the blocks a range covers - and is how `Sheet` asks.
60
202
  */
61
- canonical?: boolean): string;
203
+ getNamedIds(): string[];
62
204
  /**
63
205
  * Returns a new formula block with the reference at `index` replaced.
64
206
  *
65
- * @param index The index of the reference to replace (aligned to {@link getReferences}).
207
+ * @param index The index of the reference to replace (aligned to {@link IFormulaBlock.getReferences}).
66
208
  * @param reference The new reference — the {@link ReferenceCoords} TYPE carries the shape intent:
67
209
  * - an {@link IRange.FixableCellCoords} (single cell) collapses an existing range to a lone cell
68
210
  * (`A1:B2` → `A1`, dropping the `:`);
@@ -71,6 +213,10 @@ export interface IFormulaBlock {
71
213
  * - a {@link NamedReference} replaces a named ref with another named ref;
72
214
  * - a {@link FormulaError.Ref} injects a `#REF!`; `null` clears.
73
215
  * @param options See {@link SetReferenceOptions}.
216
+ *
217
+ * @remarks
218
+ * PURE — returns a new block rather than rewriting this one. The committed form is
219
+ * `ICalcGrid.setReferenceAt`, which rewrites inside a transaction batch.
74
220
  */
75
221
  setReferenceAt(index: number, reference: ReferenceCoords, options?: SetReferenceOptions): this;
76
222
  /**
@@ -83,23 +229,54 @@ export interface IFormulaBlock {
83
229
  * @remarks
84
230
  * This is used for moving formulas between grids and requires the formula block to be able to update all of its precedents based on the new and old grid ids.
85
231
  * This is required for cut/paste and drag fill between sheets.
232
+ *
233
+ * Its one caller outside the engine is `Sheet._imageWatchBody`, which composes it with
234
+ * `createFormulaBlock` and `getTextAt` — compiler work, so it stays with the compiled block
235
+ * rather than following the read view.
86
236
  */
87
237
  reanchorReferences(scopeFrom: string, force?: boolean): this;
88
238
  /**
89
- * Replaces all refs explicitly qualified to `fromSheetDisplay` with `toSheetDisplay`.
90
- * Unlike reanchorReferences, unqualified refs are left untouched.
91
- * Used when moving data cross-sheet so explicit same-sheet refs follow the data.
239
+ * This is the eval used internally by graph.
240
+ * precedents must be an array of either IRange or Scalar.
241
+ *
242
+ * @param row The row of the cell to evaluate.
243
+ * @param column The column of the cell to evaluate.
244
+ * @param evalIndex The index of the evaluation to use from the tokens.
245
+ *
246
+ * @remarks
247
+ * Engine-side: evaluating needs the calc scope. A caller reaches it through
248
+ * `ICalcGrid.evaluateAt`, which establishes that scope and is async.
249
+ *
250
+ * The precedents can be passed in as a performance optimization graph caches them as it calculates.
251
+ */
252
+ evaluateAt(row: number, column: number, evalIndex?: number): any;
253
+ /**
254
+ * Finalizes a raw value from {@link IFormulaBlock.evaluateAt} for RETURN to a caller:
255
+ * collapses a range to its anchor scalar (implicit intersection) and prepares a spillable range.
256
+ * A multi-area result (`=(A1:A3,C1:C3)`, or a name whose body is a comma union) stays an
257
+ * **array**, one finalized area per element, so an API caller receives every area. Applied by
258
+ * the return sites (`IFormula.evaluate()`, `ICalculation.evaluate()`) — `evaluateAt` itself
259
+ * returns the raw value so a consumer (e.g. a named reference used by a function) sees the
260
+ * reference intact.
261
+ *
262
+ * @see {@link IFormulaBlock.finalizeValueForCell} for the write-to-a-grid variant.
92
263
  */
93
- replaceSheetReferences(fromSheetDisplay: string, toSheetDisplay: string): this;
264
+ finalizeValue(value: any): any;
94
265
  /**
95
- * Returns all references used by the formula.
96
- * Named references are {@link NamedReference} objects (detect via `'nameId' in ref`);
97
- * cell/range references are {@link IRange.FixableCoords}; unresolvable refs are `null`.
266
+ * {@link IFormulaBlock.finalizeValue} plus the one rule that is specific to STORING a result
267
+ * in a single grid cell: a cell has no representation for a multi-area union, so an array of
268
+ * areas becomes `#VALUE!`. Applied by the executor when committing to a grid; returning a
269
+ * multi-area through the API is legal and uses {@link IFormulaBlock.finalizeValue} instead.
98
270
  */
99
- getReferences(row: number, column: number): ReferenceCoords[];
271
+ finalizeValueForCell(value: any): any;
272
+ /**
273
+ * Replaces the scope of every ref qualified with the stable id `fromScopeId` by `toScopeId` — a
274
+ * sheet id, a 3-D span id, or another. Unqualified refs are left untouched.
275
+ */
276
+ replaceScopeIds(fromScopeId: string | null, toScopeId: string | null): this;
100
277
  /**
101
278
  * Returns the reference at `index`, or `null` if out of range.
102
- * Convenience single-slot accessor aligned to {@link getReferences}.
279
+ * Convenience single-slot accessor aligned to {@link IFormulaBlock.getReferences}.
103
280
  */
104
281
  getReferenceAt(row: number, column: number, index: number): ReferenceCoords;
105
282
  /**
@@ -118,6 +295,23 @@ export interface IFormulaBlock {
118
295
  * * Returns as absolute coordinates.
119
296
  */
120
297
  resolvedPrecedentsAt(row: number, column: number, includeInvalidIntersect?: boolean, verticalAbs?: boolean[], horizontalAbs?: boolean[]): readonly (Readonly<IRange.FixableCoords> | FormulaError.Known)[];
298
+ /**
299
+ * The relative form of {@link IFormulaBlock.resolvedPrecedentsAt} when that answer is a pure
300
+ * TRANSLATION of the formula's own references — one edge per root reference, at the asking
301
+ * cell's offset — or `null` when it is not.
302
+ *
303
+ * @remarks
304
+ * This is what lets a block of many cells stop storing an edge list per cell: with a template
305
+ * in hand, a cell's edges are its own position plus the relative rects here, so they can be
306
+ * materialized on demand into one reusable buffer instead of allocated a million times over.
307
+ *
308
+ * `null` for everything the resolver actually has to RESOLVE rather than translate — a name to
309
+ * flatten into the caller's edges, a table reference, a range/intersection/union operator, a
310
+ * computed operand. Those blocks keep their per-cell lists. A broken reference (`#REF!`) is not
311
+ * among them: it is the same error at every cell and rides the template as an edge that
312
+ * translates to nothing.
313
+ */
314
+ getPrecedentTemplate(): PrecedentTemplate | null;
121
315
  /**
122
316
  * Wraps the formula in an implicit reference operator if hasSpill returns true and the formula
123
317
  * expects a spill.
@@ -130,28 +324,9 @@ export interface IFormulaBlock {
130
324
  * This is used for importing Excel as it doesn't always add '@' for backward compatibility.
131
325
  */
132
326
  wrapImplicit(rowIndex: number, colIndex: number, setSpillCells: Set<string>): this;
133
- /**
134
- * @see
135
- * { @link ICalculation.IFormula.isReferenceOnly }
136
- */
137
- isReferenceOnly(): boolean;
138
- /**
139
- * Return an error with the formula.
140
- *
141
- * @remarks
142
- * This is not a value error but that the formula is unable to resolve.
143
- */
144
- getError(): FormulaError.Parse | null;
145
- /**
146
- * Returns the distinct stable nameIds of the named references in this formula
147
- * (see `collectNamedIds`). Direct only, never descends into a name's body —
148
- * transitivity is carried by the dependency graph. Used by `recompileNamed`'s all3D
149
- * scan to find the formulas to invalidate when a named formula changes.
150
- */
151
- getNamedIds(): string[];
152
327
  /**
153
328
  * Returns the distinct stable fake ids of the direct indirect-symbol references in this formula —
154
- * named formulas AND tables. Superset of {@link getNamedIds}.
329
+ * named formulas AND tables. Superset of {@link IFormulaBlock.getNamedIds}.
155
330
  *
156
331
  * @remarks
157
332
  * Used to reverse-invalidate dependents when a name/table's resolution changes (add/heal, delete,
@@ -171,6 +346,41 @@ export interface IFormulaBlock {
171
346
  * either all of them call a total function or none do.
172
347
  */
173
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;
358
+ /**
359
+ * Whether the cells of a block running this formula whose relative inputs are all blank share
360
+ * one value within a pass, as far as the formula TEXT can say.
361
+ *
362
+ * @remarks
363
+ * Read straight off the compiled cache — see `CompiledFormula.isBlankCacheable`. The block's
364
+ * own gates (a precedent template, not array-entered) and the pass's run-time ones are checked
365
+ * by the consumer; `false` here settles it without them.
366
+ *
367
+ * @param arrayMode For a block whose every cell is its own 1x1 array-entered extent — see
368
+ * `CompiledFormula.isBlankCacheableArray`.
369
+ */
370
+ isBlankCacheable(arrayMode?: boolean): boolean;
371
+ /**
372
+ * Prepares the formula to be evaluated under a first-cell demand — as the body of a block whose
373
+ * every cell is its own 1x1 array-entered extent — by marking which nodes only ever have element
374
+ * `[0,0]` read (`CompilerUtils.annotateFirstCell`). Idempotent.
375
+ */
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;
174
384
  /**
175
385
  * If the formula is logically equal to another formula.
176
386
  *
@@ -1,4 +1,5 @@
1
1
  import { IFunction } from '@sheetxl/primitives';
2
+ import { ILambdaValue } from '../../primitives/LambdaBrand';
2
3
  import { ASTNode } from '../compiler/ASTTypes';
3
4
  import { CompiledFormula } from '../compiler/Types';
4
5
  import { IFormulaBlock } from './IFormulaBlock';
@@ -29,10 +30,7 @@ export interface LambdaParam {
29
30
  readonly slot: number;
30
31
  /** The declared spelling — for arity messages and (later) the wizard signature. */
31
32
  readonly name: string;
32
- /**
33
- * Declared optional (`[b]`). Always `false` until P2.5 lands the `[b]` parse; the apply arity
34
- * rule is already written against it.
35
- */
33
+ /** Declared optional (`[b]`) — an absent trailing argument is legal at and after it. */
36
34
  readonly optional: boolean;
37
35
  }
38
36
  /**
@@ -41,17 +39,21 @@ export interface LambdaParam {
41
39
  *
42
40
  * @remarks
43
41
  * CALCULATION-PRIVATE, like stable ids: nothing here reaches a public API. The one boundary rule
44
- * is the cell's — an unconsumed lambda renders `#CALC!` (`finalizeValue`), and every consumer that
45
- * needs a scalar or a location fails to COERCE it with `#VALUE!` (the `isLambda` brand is what the
46
- * 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`).
47
47
  *
48
48
  * A lambda closes over its creation context by SNAPSHOT, not by reference: `regs` is a copy of the
49
49
  * creating formula's register file at the moment the `LAMBDA` node evaluated. The copy is what
50
50
  * makes recursion sound — a self-recursive named lambda re-evaluates the SHARED named body block
51
51
  * at every level, clobbering the block's live registers, and only a captured copy keeps an outer
52
- * activation's environment intact underneath it.
52
+ * activation's environment intact underneath it. The snapshot is also the ACTIVATION: every
53
+ * application of the value runs its body in these registers, and only a re-entrant application
54
+ * copies them (`FormulaBlock._evaluateBody`).
53
55
  */
54
- export declare class LambdaValue {
56
+ export declare class LambdaValue implements ILambdaValue {
55
57
  /** The declared parameters, in order. */
56
58
  readonly params: readonly LambdaParam[];
57
59
  /** The body subtree (excluded from the eager execution list — design §3.3). */
@@ -71,12 +73,12 @@ export declare class LambdaValue {
71
73
  /** The anchor the owner was being evaluated at — deferred name resolution re-uses it. */
72
74
  readonly anchorRow: number;
73
75
  readonly anchorCol: number;
74
- /**
75
- * The function-value brand, shared with {@link FunctionValue} — checked structurally by the
76
- * coercion sites (`coerceScalar`, `addCoercedValue`, the operators), which cannot import this
77
- * calculation-private module.
78
- */
79
- readonly isLambda: true;
76
+ /** @inheritdoc ILambdaValue.isFunctionValue */
77
+ readonly isFunctionValue: true;
78
+ /** The value as a declared, executable function — built on first ask. */
79
+ private _asFunction;
80
+ /** Applications of this value currently running in `regs` — see the class remarks. */
81
+ active: number;
80
82
  constructor(
81
83
  /** The declared parameters, in order. */
82
84
  params: readonly LambdaParam[],
@@ -102,6 +104,21 @@ export declare class LambdaValue {
102
104
  * which shares `_evaluateBody` (and the recursion budget) with the spelled `Call` path.
103
105
  */
104
106
  makeCallable(): LambdaCallable;
107
+ private _function;
108
+ /**
109
+ * Applies the lambda over values and returns its RAW result — the caller applies its own rule to
110
+ * an array. An error comes back as a value, never thrown.
111
+ */
112
+ execute<R = any>(...args: any[]): R;
113
+ /** Always `''`: a lambda passed as a value has no name. */
114
+ getName(): string;
115
+ /** Declares the lambda's own parameters, optional ones flagged. */
116
+ getDeclaration(): IFunction.IDeclaration;
117
+ getDescriptor(locale?: string): Promise<IFunction.IDescriptor>;
118
+ isBuiltIn(): boolean;
119
+ isLambda(): boolean;
120
+ getContext(): string | null;
121
+ get isIFunction(): true;
105
122
  get [Symbol.toStringTag](): string;
106
123
  }
107
124
  /**
@@ -109,14 +126,15 @@ export declare class LambdaValue {
109
126
  * bare built-in (or UDF) name resolves to (design §1, the bare-name NODE half).
110
127
  *
111
128
  * @remarks
112
- * Shares the `isLambda` brand: both are function values, and every non-callee consumer treats them
113
- * identically (cell → `#CALC!`, coercion → `#VALUE!`). Apply dispatches to the function itself.
129
+ * Shares the `isFunctionValue` brand: both are function values, and every non-callee consumer
130
+ * treats them identically (cell → `#CALC!`, coercion → `#VALUE!`). Apply dispatches to the function
131
+ * itself, and as an {@link IFunction} it answers as that function does.
114
132
  */
115
- export declare class FunctionValue {
133
+ export declare class FunctionValue implements ILambdaValue {
116
134
  /** The referenced function. */
117
135
  readonly fn: IFunction;
118
- /** @see LambdaValue.isLambda */
119
- readonly isLambda: true;
136
+ /** @inheritdoc ILambdaValue.isFunctionValue */
137
+ readonly isFunctionValue: true;
120
138
  constructor(
121
139
  /** The referenced function. */
122
140
  fn: IFunction);
@@ -128,16 +146,25 @@ export declare class FunctionValue {
128
146
  * arity/coercion error comes back as a value, embedding per element like any other result.
129
147
  */
130
148
  makeCallable(): LambdaCallable;
149
+ execute<R = any>(...args: any[]): R;
150
+ getName(): string;
151
+ getDeclaration(): IFunction.IDeclaration;
152
+ getDescriptor(locale?: string): Promise<IFunction.IDescriptor>;
153
+ isBuiltIn(): boolean;
154
+ isLambda(): boolean;
155
+ getContext(): string | null;
156
+ get isIFunction(): true;
131
157
  get [Symbol.toStringTag](): string;
132
158
  }
133
159
  /**
134
- * The sentinel apply binds for an absent or explicitly-skipped OPTIONAL parameter (design §3.5).
160
+ * The sentinel a binding holds when its argument was supplied EMPTY — an explicitly empty slot at
161
+ * a lambda or `LET` call (`f(,1)`, `LET(x,,…)`), or an absent trailing argument at an OPTIONAL
162
+ * parameter (design §3.4).
135
163
  *
136
164
  * @remarks
137
165
  * `ISOMITTED(x)` answers TRUE for it and FALSE for everything else; EVERY other consumer reads it
138
166
  * as BLANK. The sentinel never escapes a frame: reads coerce it to blank at the use site
139
- * (`readFrameValue`), except in the argument slot of `ISOMITTED` itself. Unreachable until P2.5
140
- * lands the `[b]` optional-parameter parse — no declaration can mark a parameter optional yet.
167
+ * (`readFrameValue`), except in the argument slot of `ISOMITTED` itself.
141
168
  */
142
169
  export declare const OMITTED: unique symbol;
143
170
  /**
@@ -149,9 +176,7 @@ export declare const readFrameValue: (value: any) => any;
149
176
  * The recursion budget apply enforces via `CalcScope.depth`.
150
177
  *
151
178
  * @remarks
152
- * Excel Online configures `maxLambdaDepth: 1000` (plus a tail-call carve-out we do not implement
153
- * and a separate `maxLambdaCalls: 10000`). DESKTOP measured (probe-lambda-eval block A,
154
- * 2026-08-21): its cap sits between 5,000 and 100,000, and the error at it IS `#NUM!` — the
179
+ * DESKTOP measured (probe-lambda-eval block A, 2026-08-21): its cap sits between 5,000 and 100,000, and the error at it IS `#NUM!` — the
155
180
  * error Microsoft's own LAMBDA documentation names for runaway recursion.
156
181
  *
157
182
  * 512 rather than Online's 1000: each apply level costs a dozen JS frames, and past ~1000 levels a