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

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 (564) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{B0HS42a7lga1k1U_.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{Cku7XiUvw1xrRasi.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +51616 -39665
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -110
  83. package/types/scripting.d.ts +13077 -3224
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +754 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +312 -33
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +50 -3
  145. package/types/src/calculation/state/IContextContainer.d.ts +129 -27
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +419 -79
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  345. package/types/src/primitives/Range.d.ts +133 -25
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  371. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  372. package/types/src/scripting/IModule.d.ts +25 -0
  373. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  374. package/types/src/scripting/IScript.d.ts +28 -26
  375. package/types/src/scripting/Module.d.ts +34 -6
  376. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  377. package/types/src/scripting/Runtime.d.ts +15 -0
  378. package/types/src/scripting/Scripts.d.ts +3 -7
  379. package/types/src/scripting/TypedFunction.d.ts +154 -18
  380. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  381. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  382. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  383. package/types/src/scripting/declarations.browser.d.ts +10 -0
  384. package/types/src/scripting/declarations.d.ts +49 -0
  385. package/types/src/scripting/declarations.node.d.ts +9 -0
  386. package/types/src/scripting/index.d.ts +3 -0
  387. package/types/src/selection/IMovableSelection.d.ts +148 -0
  388. package/types/src/selection/IRangeSelection.d.ts +9 -4
  389. package/types/src/selection/MovableSelection.d.ts +48 -0
  390. package/types/src/selection/RangeSelection.d.ts +15 -0
  391. package/types/src/selection/index.d.ts +1 -0
  392. package/types/src/shape/GeometryPreset.d.ts +197 -0
  393. package/types/src/shape/IGeometry.d.ts +380 -0
  394. package/types/src/shape/IShape.d.ts +341 -194
  395. package/types/src/shape/IShapeStyle.d.ts +135 -0
  396. package/types/src/shape/Shape.d.ts +107 -21
  397. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  398. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  399. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  400. package/types/src/shape/_Connectors.d.ts +108 -0
  401. package/types/src/shape/_Geometry.d.ts +14 -0
  402. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  403. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  404. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  405. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  406. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  407. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  408. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  409. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  410. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  411. package/types/src/shape/_builtIn/math.d.ts +6 -0
  412. package/types/src/shape/_builtIn/other.d.ts +6 -0
  413. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  414. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  415. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  416. package/types/src/shape/geometry/format.d.ts +3 -0
  417. package/types/src/shape/geometry/geometry.d.ts +85 -0
  418. package/types/src/shape/geometry/guides.d.ts +54 -0
  419. package/types/src/shape/geometry/handles.d.ts +14 -0
  420. package/types/src/shape/geometry/index.d.ts +7 -0
  421. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  422. package/types/src/shape/geometry/paths.d.ts +35 -0
  423. package/types/src/shape/geometry/segments.d.ts +114 -0
  424. package/types/src/shape/index.d.ts +3 -0
  425. package/types/src/sheet/CellRegion.d.ts +6 -0
  426. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  427. package/types/src/sheet/ISheet.d.ts +197 -50
  428. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  429. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  430. package/types/src/sheet/NamedRange.d.ts +8 -0
  431. package/types/src/sheet/Sheet.d.ts +915 -138
  432. package/types/src/sheet/SheetCell.d.ts +92 -32
  433. package/types/src/sheet/SheetCollection.d.ts +19 -8
  434. package/types/src/sheet/SheetRange.d.ts +90 -18
  435. package/types/src/sheet/SheetRanges.d.ts +22 -9
  436. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  437. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  438. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  439. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  440. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  441. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  442. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  443. package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
  444. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  445. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  446. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  447. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  448. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  449. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  450. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  451. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  452. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  453. package/types/src/sheet/spatial/index.d.ts +1 -0
  454. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  455. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  456. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  457. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  458. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  459. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  460. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  461. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  462. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  463. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  464. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  465. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  466. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  467. package/types/src/sheetView/ISheetView.d.ts +69 -15
  468. package/types/src/sheetView/SheetView.d.ts +20 -11
  469. package/types/src/slicer/ISlicer.d.ts +304 -17
  470. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  471. package/types/src/slicer/Slicer.d.ts +128 -13
  472. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  473. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  474. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  475. package/types/src/slicer/index.d.ts +1 -0
  476. package/types/src/sort/ISort.d.ts +4 -2
  477. package/types/src/string/IStringCollection.d.ts +5 -0
  478. package/types/src/string/StringCollection.d.ts +6 -6
  479. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  480. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  481. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  482. package/types/src/style/IStyleCollection.d.ts +91 -60
  483. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  484. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  485. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  486. package/types/src/style/StyleCollection.d.ts +81 -26
  487. package/types/src/style/TableStyleCollection.d.ts +49 -0
  488. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  489. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  490. package/types/src/style/index.d.ts +7 -1
  491. package/types/src/table/AnchoredTable.d.ts +701 -72
  492. package/types/src/table/AutoTable.d.ts +7 -5
  493. package/types/src/table/ITable.d.ts +261 -34
  494. package/types/src/table/ITableCollection.d.ts +12 -0
  495. package/types/src/table/ITableStyle.d.ts +37 -37
  496. package/types/src/table/TableCollection.d.ts +19 -8
  497. package/types/src/table/_FilterField.d.ts +19 -6
  498. package/types/src/table/_NamedTable.d.ts +17 -1
  499. package/types/src/table/_NamedTableSource.d.ts +1 -0
  500. package/types/src/table/_SortField.d.ts +2 -0
  501. package/types/src/table/_TableColumn.d.ts +13 -2
  502. package/types/src/table/_TableMessages.d.ts +1 -0
  503. package/types/src/table/_TableUtils.d.ts +40 -0
  504. package/types/src/text/Bullet.d.ts +4 -0
  505. package/types/src/text/IText.d.ts +182 -0
  506. package/types/src/text/ITextFrame.d.ts +110 -1
  507. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  508. package/types/src/text/TextFrame.d.ts +4 -0
  509. package/types/src/text/TextLine.d.ts +4 -0
  510. package/types/src/text/TextParagraph.d.ts +4 -0
  511. package/types/src/text/TextRotation.d.ts +3 -3
  512. package/types/src/text/TextRun.d.ts +9 -0
  513. package/types/src/text/TextStacked.d.ts +83 -0
  514. package/types/src/text/index.d.ts +1 -0
  515. package/types/src/text/richtext/IRichText.d.ts +36 -0
  516. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  517. package/types/src/text/richtext/index.d.ts +1 -0
  518. package/types/src/theme/ITheme.d.ts +45 -4
  519. package/types/src/theme/IThemeCollection.d.ts +2 -0
  520. package/types/src/theme/ThemeCollection.d.ts +11 -7
  521. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  522. package/types/src/transaction/ITransaction.d.ts +258 -45
  523. package/types/src/transaction/Transaction.d.ts +101 -11
  524. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  525. package/types/src/type/AbstractCollection.d.ts +101 -0
  526. package/types/src/type/ICollection.d.ts +117 -0
  527. package/types/src/type/ITypes.d.ts +9 -7
  528. package/types/src/type/index.d.ts +1 -0
  529. package/types/src/utils/_CSSUtils.d.ts +3 -3
  530. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  531. package/types/src/wasm/index.d.ts +2 -0
  532. package/types/src/wasm/sdkWasm.d.ts +29 -0
  533. package/types/src/workbook/IWorkbook.d.ts +180 -40
  534. package/types/src/workbook/Workbook.d.ts +123 -10
  535. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  536. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  537. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  538. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  539. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  540. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  541. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  542. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  543. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  544. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  545. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  546. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  547. package/browser/cjs/index.cjs +0 -3
  548. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  549. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  550. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  551. package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
  552. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  553. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  554. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  555. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  556. package/types/src/dataValidation/_Utils.d.ts +0 -10
  557. package/types/src/lib/utils/_Utils.d.ts +0 -27
  558. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  559. package/types/src/movable/IGroup.d.ts +0 -30
  560. package/types/src/movable/IMovableSelection.d.ts +0 -49
  561. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  562. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  563. package/types/src/sheet/listener/index.d.ts +0 -3
  564. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -6,6 +6,9 @@ import { INamed } from '../named';
6
6
  import { ICalculation } from './ICalculation';
7
7
  /**
8
8
  * Collection of named formulas available in the calculation engine.
9
+ *
10
+ * @remarks
11
+ * Keyed by the formula's id, not ordered: iteration order is unspecified.
9
12
  */
10
13
  export interface INamedFormulasCollection extends ICollection<ICalculation.INamedFormula> {
11
14
  /**
@@ -46,6 +49,8 @@ export interface INamedFormulasCollection extends ICollection<ICalculation.IName
46
49
  * registries — tables among them — and is not.
47
50
  */
48
51
  toJSON(): INamed.JSON[] | null;
52
+ /** For runtime type checking. */
53
+ readonly isINamedFormulasCollection: true;
49
54
  }
50
55
  /**
51
56
  * {@inheritDoc INamedFormulasCollection}
@@ -98,14 +103,6 @@ export declare namespace INamedFormulasCollection {
98
103
  * expression on the floor.
99
104
  */
100
105
  replaceExisting?: boolean;
101
- /**
102
- * A structural transform applied when this name's expression compiles — the READ half of the
103
- * format-dialect hook, supplied by format loads (hydration) so a legacy on-disk spelling
104
- * normalizes. Kept for the item's lifetime so an undo back to the loaded text re-applies it.
105
- *
106
- * @see {@link ICalculation.FormulaTransform}
107
- */
108
- formulaTransform?: ICalculation.FormulaTransform;
109
106
  }
110
107
  /**
111
108
  * Options for getting items from the collection.
@@ -1,13 +1,13 @@
1
1
  import { IRange, Scalar, IFormulaContext } from '@sheetxl/primitives';
2
2
  import { ITransaction } from '../transaction';
3
3
  import { IListener } from '../listener';
4
- import { ListenerEmitter } from '../listener/ListenerEmitter';
5
4
  import { ICellRange, ICellRanges } from '../cellRange';
6
- import { _NamedGraphNode } from '../cellRange/_GraphNode';
5
+ import { NamedNodeInfo, ReferenceCoords } from './Types';
7
6
  import { INamed } from '../named';
8
- import { ITypes } from '../type';
7
+ import { ITypes, AbstractCollection } from '../type';
9
8
  import { IContextContainer } from './state';
10
- import { Formula, IFormulaBlock } from './formula';
9
+ import { FormulaHost } from './grid';
10
+ import { Formula, IFormulaBlockView } from './formula';
11
11
  import { ICalculation } from './ICalculation';
12
12
  import { INamedFormulasCollection } from './INamedFormulasCollection';
13
13
  interface State {
@@ -28,20 +28,25 @@ interface State {
28
28
  /**
29
29
  * Implementation for {@link INamedFormulasCollection}.
30
30
  */
31
- export declare class NamedFormulaCollection implements INamedFormulasCollection {
32
- protected _emitter: ListenerEmitter<this, INamedFormulasCollection.IListeners>;
33
- private _transactions;
31
+ export declare class NamedFormulaCollection extends AbstractCollection<ICalculation.INamedFormula, INamedFormulasCollection.GetItemsOptions> implements INamedFormulasCollection {
32
+ protected _transactions: ITransaction.IStore;
34
33
  private _stateId;
35
34
  private _transactionsRemoveListener;
36
- private _closed;
35
+ /**
36
+ * `json.names` held until {@link hydrate}, and answered by {@link toJSON} meanwhile — so a save
37
+ * before the engine starts (`ICellContainerOptions.calcOnLoad` `'none'`) writes the names
38
+ * exactly as they were read.
39
+ */
40
+ private _pendingJSON;
37
41
  protected _container: IContextContainer | null;
42
+ protected _bindSheet: ((scope: string) => string | null) | null;
38
43
  protected _context: IFormulaContext | null;
39
44
  protected _ready: (() => Promise<ICalculation.Status>) | null;
40
45
  protected _getActiveCell: () => IRange.CellCoords | null;
41
- protected _createVirtualGrid: ((gridId: string) => void) | null;
46
+ protected _createHost: ((gridId: string) => FormulaHost) | null;
42
47
  protected _getRange: ((address: ICellRange.Address) => ICellRange) | undefined;
43
48
  protected _getRanges: ((address: ICellRanges.Address) => ICellRanges) | undefined;
44
- protected _createGraphRanges: ((cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null) | undefined;
49
+ protected _createGraphRanges: ((cells: readonly IRange.Coords[], names: readonly NamedNodeInfo[]) => ICellRanges | null) | undefined;
45
50
  protected _resolveSheetScope: ((stableId: string) => string | null) | null;
46
51
  protected _isReadOnly: (() => boolean) | null;
47
52
  protected _getOrBindProxyFakeId: ((name: string, scope: string | null) => string | null) | null;
@@ -53,6 +58,11 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
53
58
  private _wiringDirty;
54
59
  /** Nesting depth of {@link _beginWiringBatch}; the flush happens on the way out of the last one. */
55
60
  private _wiringBatchDepth;
61
+ /**
62
+ * The names written, told as each is written - see {@link _addNamesWrittenListener}. Its own
63
+ * store, never open, so nothing waits for the operation to land.
64
+ */
65
+ private _namesEmitter;
56
66
  constructor(options?: NamedFormulaCollection.ConstructorOptions);
57
67
  /**
58
68
  * Hydrates from `IWorkbook.JSON.names`. A malformed entry is warned and skipped rather than
@@ -66,7 +76,9 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
66
76
  *
67
77
  * Not on `INamedFormulasCollection`: hydration belongs to whoever constructs the engine.
68
78
  */
69
- hydrate(json: INamed.JSON[] | undefined, formulaTransform?: ICalculation.FormulaTransform): void;
79
+ hydrate(json: INamed.JSON[] | undefined): void;
80
+ /** Set while {@link hydrate} runs, so the read-only refusal in {@link add} stands down. */
81
+ private _hydrating;
70
82
  /**
71
83
  * Serializes to `IWorkbook.JSON.names` form, sorted by scope+name so output is stable across
72
84
  * saves.
@@ -87,6 +99,8 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
87
99
  * against), so serializing it would lose the sheet. An unwired item falls back to its raw
88
100
  * expression — it has nothing better to offer.
89
101
  */
102
+ /** Retains names not yet hydrated for {@link toJSON}; see `Calculation.hydrateNames`. */
103
+ setPendingJSON(json: INamed.JSON[] | null | undefined): void;
90
104
  toJSON(): INamed.JSON[] | null;
91
105
  /** {@inheritDoc INamedFormulasCollection.add} */
92
106
  add(options: INamedFormulasCollection.AddOptions): ICalculation.INamedFormula;
@@ -110,21 +124,6 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
110
124
  * and a listener that re-reads the collection would otherwise do it once per name.
111
125
  */
112
126
  protected _markWired(): void;
113
- /**
114
- * The graph node for a name id, or `null` — the sheet layer's door for minting name nodes into
115
- * a CELL's graph answers.
116
- *
117
- * @internal
118
- *
119
- * @remarks
120
- * `live` applies the phase-5 liveness rule (TODO-RENDER-DEPENDENCIES.md): a name is reported as
121
- * a cell's DEPENDENT only when it has a dependent of its own — `_xlnm.Print_Area` reads every
122
- * cell in the area and nothing reads it, so it is dead by construction and minting it would put
123
- * a phantom on every cell it covers. No prefix special-casing: `=SUM(_xlnm.Print_Area)` makes
124
- * it genuinely live and it SHOULD show. The PRECEDENT direction never gates: a name the cell's
125
- * own formula mentions is in use by that very fact.
126
- */
127
- _graphNode(id: string, live?: boolean): _NamedGraphNode | null;
128
127
  /**
129
128
  * Announces that what this collection PRESENTS has changed, without its own state having moved.
130
129
  *
@@ -162,10 +161,8 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
162
161
  */
163
162
  private _endWiringBatch;
164
163
  protected _flushWired(): void;
165
- /** {@inheritDoc ICollection.[Symbol.iterator]} */
166
- [Symbol.iterator](): IterableIterator<ICalculation.INamedFormula>;
167
- /** {@inheritDoc INamedFormulasCollection.getItems} */
168
- getItems(options?: INamedFormulasCollection.GetItemsOptions): ICalculation.INamedFormula[];
164
+ /** {@inheritDoc AbstractCollection._getItems} */
165
+ protected _getItems(options?: INamedFormulasCollection.GetItemsOptions): ICalculation.INamedFormula[];
169
166
  /**
170
167
  * {@inheritDoc INamedFormulasCollection.getByName}
171
168
  *
@@ -187,8 +184,12 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
187
184
  addListeners(listeners: INamedFormulasCollection.IListeners, options?: IListener.Options): IListener.Remove;
188
185
  /**
189
186
  * Look up a named formula by its stable id.
187
+ *
188
+ * @remarks
189
+ * Narrower than {@link INamedFormulasCollection.getById} declares, because the store holds the
190
+ * concrete item. Callers inside the calculation get the internals without a cast.
190
191
  */
191
- getById(id: string): ICalculation.INamedFormula | null;
192
+ getById(id: string): NamedFormula | null;
192
193
  /**
193
194
  * The item holding this exact identity — the (name, sheet) pair — or `null`.
194
195
  *
@@ -215,18 +216,48 @@ export declare class NamedFormulaCollection implements INamedFormulasCollection
215
216
  * so a name loaded from a file that references a sheet the file does not contain still reports
216
217
  * the scope it was written with instead of silently becoming global.
217
218
  */
219
+ /** A sheet's name or id to its stable id: see {@link NamedFormulaCollection.ConstructorOptions.bindSheet}. */
220
+ protected _bindSheetScope(scope: string): string | null;
218
221
  protected _resolveScopeInput(scope: string | null): string | null;
219
222
  /** A scope id as the sheet's current display name — see {@link NamedFormula.getScope}. */
220
223
  protected _resolveScopeName(scopeId: string | null): string | null;
221
224
  protected _remove(id: string): void;
222
- isClosed(): boolean;
225
+ /**
226
+ * Hears every name added, renamed or removed, as it is written: inside the operation, in the
227
+ * order the writes are made. A restore writes nothing here; what it brings back is whatever the
228
+ * store held.
229
+ *
230
+ * @internal The calculation's: what its engine is told of the names.
231
+ */
232
+ _addNamesWrittenListener(listeners: IListener.Callbacks<NamedFormulaCollection, NamedFormulaCollection.NamesWrittenEvents>): IListener.Remove;
233
+ protected _notifyNamesWritten(item: NamedFormula, removed: boolean): void;
234
+ /**
235
+ * Every name as {@link _addNamesWrittenListener} tells one: what a listener starts from.
236
+ * @internal
237
+ */
238
+ _namesAsWritten(): NamedFormulaCollection.NamesWritten[];
223
239
  close(): void;
224
240
  protected _getState(): State | null;
225
241
  protected _beginCommit(options?: string | ITransaction.OperationOptions): ITransaction;
226
- protected _updateState(state: Partial<State> | ((prevState: State) => State), description?: string, options?: ITransaction.StoreOperationOptions<unknown, Partial<State>>): void;
242
+ protected _updateState(state: Partial<State> | ((prevState: State) => State), description?: string, options?: ITransaction.StoreOperationOptions<Partial<State>>): void;
227
243
  protected _initState(): void;
244
+ /** {@inheritDoc INamedFormulasCollection.isINamedFormulasCollection} */
245
+ get isINamedFormulasCollection(): true;
228
246
  }
229
247
  export declare namespace NamedFormulaCollection {
248
+ /** What {@link NamesWrittenEvents.onNamesWritten} tells of one name, as it is now. */
249
+ interface NamesWritten {
250
+ id: string;
251
+ name: string;
252
+ /** The sheet the name is private to, as the sheet's id; `null` for a global name. */
253
+ scopeId: string | null;
254
+ /** The name has left the collection. */
255
+ removed: boolean;
256
+ }
257
+ /** See {@link NamedFormulaCollection._addNamesWrittenListener}. */
258
+ interface NamesWrittenEvents {
259
+ onNamesWritten?(source: NamedFormulaCollection, written: NamesWritten): void;
260
+ }
230
261
  interface ConstructorOptions {
231
262
  /**
232
263
  * Named items to hydrate at construction, in `IWorkbook.JSON.names` form — `ref` carries the
@@ -250,14 +281,23 @@ export declare namespace NamedFormulaCollection {
250
281
  * ({@link ICalculation.INamedFormula.getDirectDependents} and friends) whenever a defined name
251
282
  * belongs in one; without it those answers fall back to cells only.
252
283
  */
253
- createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null;
284
+ createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly NamedNodeInfo[]) => ICellRanges | null;
254
285
  /** Resolves a sheet stableId to its display name — calc refs carry stableId scopes. */
255
286
  resolveSheetScope?: (stableId: string) => string | null;
287
+ /**
288
+ * A sheet's name or stable id to its stable id, as the model holds its sheets now - not as the
289
+ * engine's replica has been told. Falls back to the container's symbols when absent.
290
+ */
291
+ bindSheet?: (scope: string) => string | null;
256
292
  /** Backs {@link INamed.isReadOnly} on each item. Defaults to not read-only. */
257
293
  isReadOnly?: () => boolean;
258
294
  getActiveCell?: () => IRange.CellCoords | null;
259
- createVirtualGrid?: (gridId: string) => void;
260
- /** The virtual grid a name compiles into. Keyed by name AND scope — see `add`. */
295
+ /**
296
+ * The host a name compiles its body into, created on first ask and answered again for the same
297
+ * id thereafter (a redefine rebinds to the same id; a deleted name keeps its grid).
298
+ */
299
+ createHost?: (gridId: string) => FormulaHost;
300
+ /** The grid a name compiles into. Keyed by name AND scope — see `add`. */
261
301
  getOrBindProxyFakeId?: (name: string, scope: string | null) => string | null;
262
302
  queuePendingAction?: (action: () => Promise<void>) => void;
263
303
  /**
@@ -274,6 +314,8 @@ export declare namespace NamedFormulaCollection {
274
314
  interface NamedFormulaWireOptions {
275
315
  container: IContextContainer;
276
316
  context: IFormulaContext;
317
+ /** Holds the body. `null` for a name that has no grid (no proxy id was bound for it). */
318
+ host: FormulaHost | null;
277
319
  ready: () => Promise<ICalculation.Status>;
278
320
  /** Returns the scope's sheet gridId (for reference resolution). Resolved after ready(). */
279
321
  getScopeGridId: () => string | null;
@@ -295,7 +337,7 @@ interface NamedFormulaWireOptions {
295
337
  getRanges?: (address: ICellRanges.Address) => ICellRanges;
296
338
  getRange?: (address: ICellRange.Address) => ICellRange;
297
339
  /** Mixed graph answers (cells + name nodes) — see the collection option of the same name. */
298
- createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly _NamedGraphNode[]) => ICellRanges | null;
340
+ createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly NamedNodeInfo[]) => ICellRanges | null;
299
341
  /** Resolves a sheet stableId to its display name — calc refs carry stableId scopes. */
300
342
  resolveSheetScope?: (stableId: string) => string | null;
301
343
  /**
@@ -343,17 +385,31 @@ declare class NamedFormula extends Formula implements ICalculation.INamedFormula
343
385
  * rendering `getItems()`.
344
386
  */
345
387
  private readonly _notifyCollection;
346
- /** Load-time dialect unwrap — see the constructor; applied by {@link _doWireCore}'s compile. */
347
- private readonly _formulaTransform;
388
+ /** The collection's {@link NamedFormulaCollection._addNamesWrittenListener}, for a rename. */
389
+ private readonly _notifyNameWritten;
348
390
  private _emitter;
349
391
  private _transactionsRemoveListener;
350
392
  private _closed;
351
393
  /**
352
- * The compiled body, read LIVE from this name's virtual grid on every access.
394
+ * What this name resolved to the last time its readers were reconciled with it: the body block
395
+ * (identity — the store keeps the compiled block object, so a version that did not touch the
396
+ * body hands back the same one) and the state that decides whether there is a body to read.
397
+ * Recorded after wiring and after every revert; `onRestoreOrRevert` invalidates readers only
398
+ * when the restored version differs. The restore event is dispatched to EVERY state of a
399
+ * commit, not only the ones that changed, so without this an undo of any cell value re-marked
400
+ * every reader of every name — on a template, the whole workbook, in a pass of its own.
401
+ */
402
+ private _seenBlock;
403
+ private _seenDeleted;
404
+ private _seenExpression;
405
+ /** Holds the body; `null` for a name without a grid. See {@link _block}. */
406
+ private readonly _host;
407
+ /**
408
+ * The compiled body, read LIVE from this name's host on every access.
353
409
  *
354
410
  * @remarks
355
411
  * Deliberately not a captured instance. A name's body is versioned state like any other formula —
356
- * it lives at (0,0) of the virtual grid in the ONE shared `formulaSpatial` that also holds every
412
+ * it lives at (0,0) of the host's grid in the ONE shared `formulaSpatial` that also holds every
357
413
  * cell formula, inside `Calculation`'s transactional state. So the store already tracks it, and
358
414
  * anything holding a second copy is holding a snapshot:
359
415
  *
@@ -368,19 +424,21 @@ declare class NamedFormula extends Formula implements ICalculation.INamedFormula
368
424
  * `undefined` (no grid, or nothing compiled at its origin) is the pre-wire state, which every
369
425
  * accessor below already has a fallback for.
370
426
  */
371
- protected get _block(): IFormulaBlock;
372
- constructor(coords: IRange.CellCoords | null, options: INamedFormulasCollection.AddOptions, deleteFromCollection: () => void, wire: NamedFormulaWireOptions | null, gridId?: string | null, checkRename?: (nextName: string) => void, transactions?: ITransaction.IStore, isReadOnly?: (() => boolean) | null, resolveSheetScope?: (stableId: string) => string | null, notifyCollection?: () => void);
427
+ protected get _block(): IFormulaBlockView;
428
+ constructor(coords: IRange.CellCoords | null, options: INamedFormulasCollection.AddOptions, deleteFromCollection: () => void, wire: NamedFormulaWireOptions | null, gridId?: string | null, checkRename?: (nextName: string) => void, transactions?: ITransaction.IStore, isReadOnly?: (() => boolean) | null, resolveSheetScope?: (stableId: string) => string | null, notifyCollection?: () => void, notifyNameWritten?: () => void);
373
429
  /**
374
- * Binds this name to the region its expression designates, now.
430
+ * Writes this name's body, which binds it to the region its expression designates once the
431
+ * engine answers.
375
432
  *
376
433
  * @internal
377
434
  *
378
435
  * @remarks
379
- * Called by the collection once the item is IN the collection, so the notification `_doWireCore`
380
- * ends with describes a set that already contains it. `_doWireCore` has no awaits, so this
381
- * completes before it returns and `getRanges()` answers immediately afterwards.
436
+ * Called by the collection once the item is IN the collection, so the notification the answer
437
+ * brings describes a set that already contains it. `getRanges()` answers once the engine has.
382
438
  */
383
439
  _wireNow(): void;
440
+ /** Records what the readers have been reconciled with — see `_seenBlock`. */
441
+ private _recordSeen;
384
442
  /**
385
443
  * {@inheritDoc INamed.getId}
386
444
  *
@@ -560,9 +618,9 @@ declare class NamedFormula extends Formula implements ICalculation.INamedFormula
560
618
  */
561
619
  getRanges(): ICellRanges | null;
562
620
  /** {@inheritDoc ICalculation.INamedFormula.getDirectDependents} */
563
- getDirectDependents(): ICellRanges | null;
621
+ getDirectDependents(): Promise<ICellRanges | null>;
564
622
  /** {@inheritDoc ICalculation.INamedFormula.getDependents} */
565
- getDependents(): ICellRanges | null;
623
+ getDependents(): Promise<ICellRanges | null>;
566
624
  /**
567
625
  * This name as a graph NODE — the backing a {@link NamedCellRange} delegates to.
568
626
  *
@@ -574,57 +632,24 @@ declare class NamedFormula extends Formula implements ICalculation.INamedFormula
574
632
  * falls to the name's scope sheet and finally to `null` (the consumer defaults it) — the same
575
633
  * "self-consistent but arbitrary" anchor the body was compiled against (design doc §7).
576
634
  */
577
- _asGraphNode(): _NamedGraphNode;
635
+ _asNodeInfo(): NamedNodeInfo;
578
636
  /** {@inheritDoc ICalculation.INamedFormula.getDirectPrecedents} */
579
- getDirectPrecedents(): ICellRanges | null;
637
+ getDirectPrecedents(): Promise<ICellRanges | null>;
580
638
  /** {@inheritDoc ICalculation.INamedFormula.getPrecedents} */
581
- getPrecedents(): ICellRanges | null;
582
- /**
583
- * The precedents of this NAME — cells and names, ONE answer; the mirror of
584
- * {@link _dependentRanges}.
585
- *
586
- * @remarks
587
- * The cell half is the ordinary precedent graph: a body is a real formula on its virtual grid,
588
- * and its references registered precedent ranges like any cell's — so the grid answers, one hop
589
- * or deep, and only scope translation is needed. The name half is the body's `getNamedIds`:
590
- * apply-at-eval means a name the body reads has no precedent edge, so the symbol list is the
591
- * only carrier — one hop for `direct`, the downward closure (cycle-guarded) for the deep form,
592
- * each closure member contributing its own grid's cell walk.
593
- *
594
- * The deep form does not take the symbol hop from UPSTREAM CELLS: with `X = A1*2` and
595
- * `A1 = SomeName`, `A1` is listed and `SomeName`'s inputs are not — that hop belongs to `A1`,
596
- * whose own `getDirectPrecedents` reports the `SomeName` node, which is how a TREE walk crosses
597
- * it. Flattening it here would mean scanning every landed region's blocks; the tree gets it for
598
- * free, one hop at a time.
599
- *
600
- * Everything resolves at the DEFINING anchor (the body's own compilation site) — the same
601
- * answer the Name Manager gives, and the §4.1 rule for a name that is not in use.
602
- */
603
- private _precedentRanges;
639
+ getPrecedents(): Promise<ICellRanges | null>;
604
640
  /**
605
- * The dependents of this NAME — cells and names, ONE answer.
641
+ * The precedents or dependents of this NAME — cells and names, ONE answer — as the engine walks
642
+ * them over its body's grid (see `CalcGridBackend._nameGraphNow` for the walk: the symbol edges
643
+ * names ride on, and the cell graph between them).
606
644
  *
607
645
  * @remarks
608
- * Two graphs meet here, and the walk has to change vehicles between them.
609
- *
610
- * The **symbol** edge — which formulas mention this name — is not in the precedent spatial at
611
- * all. Names apply at EVAL rather than being inlined at compile, so a reference to one registers
612
- * no precedent range; the edge is the nameId list each compiled block carries, read back through
613
- * `container.getNamedDependents` (bucketed and memoized there — see its docs).
614
- *
615
- * The **cell** edge is the ordinary precedent graph, and it already carries everything downstream
616
- * of those blocks. So `direct` is one hop of the first graph; the transitive form takes that hop,
617
- * then hands each landing block to the grid it lives on.
618
- *
619
- * A block on a VIRTUAL grid is another NAME reading this one. It is not a cell — it is a NODE,
620
- * and it rides in the same answer as an anchored `INamedRange` (design doc §4): one node per
621
- * name, whatever the walk direction found it by, since dependents are anchor-independent. The
622
- * transitive walk still passes THROUGH it on the symbol closure (`getNamedDependentNames`, the
623
- * same closure the engine invalidates against), or `Base`'s dependents would stop at `Plus1`
624
- * and miss every cell reading `Plus1`. This name itself is listed only when a true cycle leads
625
- * back to it.
646
+ * What is left here is the translation out of calc currency: a cell on no addressable sheet
647
+ * drops, and the rest are reduced to regions, not a list of blocks - two formulas naming this
648
+ * name in adjacent cells are one range, and the deep walk can reach one block down two paths.
649
+ * Everything resolves at the DEFINING anchor (the body's own compilation site): the answer the
650
+ * Name Manager gives. Name nodes lead, cells follow.
626
651
  */
627
- private _dependentRanges;
652
+ private _graphRanges;
628
653
  /**
629
654
  * {@inheritDoc IModel.delete}
630
655
  *
@@ -645,25 +670,32 @@ declare class NamedFormula extends Formula implements ICalculation.INamedFormula
645
670
  * the {@link getReferences} override.
646
671
  */
647
672
  getExpression(options?: ICalculation.FormulaTextOptions): string;
673
+ /**
674
+ * The root of the compiled body, for the engine's own side: what a formula dialect reads a name
675
+ * through ({@link ICalculation.FormulaDialectContext.getNamedRoot}).
676
+ * @internal
677
+ */
678
+ _getBodyNode(): ICalculation.FormulaNode | null;
648
679
  /** Pre-wire fallback: return empty array before block is compiled. */
649
680
  getTokens(evalIndex?: number): readonly ICalculation.FormulaToken[];
650
681
  /** Pre-wire fallback: return false before block is compiled. */
651
682
  isReferenceOnly(): boolean;
652
683
  /**
653
- * {@inheritDoc ICalculation.IFormula.getReferences}
654
- *
655
- * @remarks
656
- * Overridden to anchor at the virtual grid's origin. The inherited implementation reads
657
- * `this._coords`, which for a named formula is the *defining* cell (the active cell when the
658
- * name was added) — it exists only so relative refs encode their R1C1 offsets from there. The
659
- * compiled block lives at (0,0) of the name's own virtual grid, so the base version would query
660
- * a cell that holds nothing.
661
- */
662
- getReferences(): ICellRanges | null;
663
- setReferenceAt(_index: number, _reference: any, _options?: any): this;
664
- setReferenceModeAt(_index: number, _side?: ICalculation.ReferenceSide, _mode?: number, _options?: any): this;
665
- private _wireAsync;
684
+ * Anchored at the virtual grid's origin. `this._coords` is the *defining* cell (the active cell
685
+ * when the name was added), which exists only so relative refs encode their R1C1 offsets from
686
+ * there; the compiled block lives at (0,0) of the name's own grid.
687
+ */
688
+ protected _referencesAt(): ReferenceCoords[] | null;
689
+ setReferenceAt(_index: number, _reference: any, _options?: any): Promise<this>;
690
+ setReferenceModeAt(_index: number, _side?: ICalculation.ReferenceSide, _mode?: number, _options?: any): Promise<this>;
691
+ /** Writes the body as authored, inside the operation that asked (the host amends the current commit when none is open). */
666
692
  private _doWireCore;
693
+ /**
694
+ * The engine answered with the body: only now does the name designate anything - `getRanges()`
695
+ * was null up to here. Both the item and the collection announce it; a spatial consumer listens
696
+ * to the collection, which is the only place it can hear about a name it does not already hold.
697
+ */
698
+ private _bodyAnswered;
667
699
  toString(): string;
668
700
  get [Symbol.toStringTag](): string;
669
701
  }
@@ -0,0 +1,28 @@
1
+ import { TypedFunction } from '../scripting/TypedFunction';
2
+ import { ICalculation } from './ICalculation';
3
+ /**
4
+ * A defined name whose body is `LAMBDA(…)`, answered by `IFunctionCollection.getByName` as a function
5
+ * so that a signature or help lookup can describe it.
6
+ *
7
+ * @remarks
8
+ * Not registered and never executed. The engine's own function lookups skip `isLambda()`, so a call to
9
+ * the name still compiles as an application of the NAME — its dependency edge, `#NAME?` healing,
10
+ * recursion and `LET` shadowing are all the name's. `execute` answers `#CALC!`, a lambda's verdict
11
+ * wherever it is not applied.
12
+ */
13
+ export declare class NamedLambdaFunction extends TypedFunction {
14
+ /** @inheritdoc IFunction.isLambda */
15
+ isLambda(): boolean;
16
+ }
17
+ /** The category a named lambda is listed under — beside the built-in categories, in search and pickers. */
18
+ export declare const LAMBDA_CATEGORY = "Lambda";
19
+ /**
20
+ * The function a lambda-valued defined name exports, or `null` when its body is not a `LAMBDA`.
21
+ *
22
+ * @remarks
23
+ * The parameters are the ROOT lambda's declarations — `LAMBDA(n,LAMBDA(x,x+n))` takes `n` — with
24
+ * optional ones flagged, and the summary is the name's comment, or its formula when it has none. One
25
+ * instance per name while those stay the same.
26
+ */
27
+ export declare const namedLambdaFunction: (item: ICalculation.INamedFormula) => NamedLambdaFunction | null;
28
+ //# sourceMappingURL=NamedLambdaFunction.d.ts.map
@@ -86,6 +86,15 @@ export declare const TokenType: {
86
86
  * A named formula reference, e.g. `TotalRevenue`.
87
87
  */
88
88
  readonly Named: "named";
89
+ /**
90
+ * A `LET` / `LAMBDA` name — its declaration (`x` in `LET(x,1,x+1)`) or a use bound to it. `value` is
91
+ * a {@link ICalculation.NamedRef} whose `declaration` flag marks the declaration.
92
+ *
93
+ * @remarks
94
+ * Token-only: in a formula tree these remain `named` nodes. Unlike a `named` token it never resolves
95
+ * against the workbook — its scope is the formula itself.
96
+ */
97
+ readonly Parameter: "parameter";
89
98
  /**
90
99
  * Tokens related to structured reference parsing. (e.g. Table[])
91
100
  *
@@ -30,6 +30,20 @@ export interface NamedReference {
30
30
  */
31
31
  readonly optional?: boolean;
32
32
  }
33
+ /**
34
+ * An error reference — the `value` of an error REFERENCE AST node (`#REF!`, `#NAME?`): the error
35
+ * itself, and the sheet the dead reference named. INTERNAL, as {@link NamedReference} is.
36
+ *
37
+ * @remarks
38
+ * `scope` is the sheet's stableId once linked, the raw sheet name before. The public counterpart is
39
+ * {@link ICalculation.ErrorRef}, the `value` of an `error` {@link ICalculation.FormulaToken}, which
40
+ * carries the error as its label so that the token is plain data; `generateFormulaTokens` projects
41
+ * this onto that.
42
+ */
43
+ export interface ErrorReference {
44
+ readonly error: FormulaError.Known;
45
+ readonly scope?: string | null;
46
+ }
33
47
  /**
34
48
  * Pre-computed structured reference (table) query.
35
49
  *
@@ -84,11 +98,51 @@ export interface StructuredReference {
84
98
  * - `IRange.FixableCellCoords` — a single *cell* reference (`colIndex`/`rowIndex`). Passing this REPLACES
85
99
  * the reference's shape: an existing range collapses to a lone cell (`A1:B2` → `A1`). This is how a
86
100
  * caller says "I mean a cell" without a side-channel flag — the type carries the intent.
101
+ * - `TableReferenceCoords` — a structured reference, resolved (distinguish via `'tableId' in ref`)
87
102
  * - `NamedReference` — a named formula reference (distinguish via `'nameId' in ref`)
88
103
  * - `FormulaError.Ref` — a broken reference (`#REF!`)
89
104
  * - `null` — no reference at this slot
90
105
  */
91
- export type ReferenceCoords = IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref | null;
106
+ export type ReferenceCoords = IRange.FixableCoords | IRange.FixableCellCoords | TableReferenceCoords | NamedReference | FormulaError.Ref | null;
107
+ /**
108
+ * The cells a structured reference designates, marked with the table that designates them.
109
+ *
110
+ * @remarks
111
+ * A structured reference names a table, not cells: the table re-resolves it after every structural
112
+ * change, so a shift that moves cells must leave the reference alone. Without the mark the resolved
113
+ * coordinates are indistinguishable from an absolute range (every axis is `$`) and the shift paths
114
+ * rewrote the reference into one. Distinguish via `'tableId' in ref`, as `'nameId' in ref` does for
115
+ * a name.
116
+ */
117
+ export interface TableReferenceCoords extends IRange.FixableCoords {
118
+ /** The stable id of the table. */
119
+ tableId: string;
120
+ }
121
+ /**
122
+ * A named formula as a NODE in a graph answer - everything needed to build the range object
123
+ * that carries it, and nothing that needs the engine.
124
+ *
125
+ * @remarks
126
+ * The calculation layer knows the graph; the model layer knows how to be a range. This struct is
127
+ * the seam, and it is deliberately plain data: a name crossing into the model used to arrive as an
128
+ * object carrying lazy graph queries as closures, which meant the model reached into the
129
+ * calculation to get one and could not have received it over a wire at all. The queries are
130
+ * public on {@link ICalculation.INamedFormula}, resolved from {@link id} when asked.
131
+ */
132
+ export interface NamedNodeInfo {
133
+ /** The name's stable id - also the id of the virtual grid its body compiles into. */
134
+ id: string;
135
+ /** The name as authored, unqualified. Scope qualification is the view's job, led by the id. */
136
+ name: string;
137
+ /**
138
+ * The anchor sheet's display NAME, or `null` when it cannot be resolved (a file-loaded name
139
+ * whose defining sheet is unknowable) - the consumer picks a default sheet then.
140
+ */
141
+ sheetName: string | null;
142
+ /** The anchor cell - the name's defining cell (the active cell at authoring time). */
143
+ rowIndex: number;
144
+ colIndex: number;
145
+ }
92
146
  /**
93
147
  * Options for `IFormulaBlock.setReferenceAt`.
94
148
  */
@@ -101,10 +155,37 @@ export interface SetReferenceOptions {
101
155
  * Measured in Excel: a row/area delete leaves the qualified form (`Data!#REF!`), which is the
102
156
  * breadcrumb naming whose cells went; deleting the sheet itself leaves a bare `#REF!`, since
103
157
  * there is no longer a sheet to name. Only the caller knows which of the two it is performing —
104
- * `CalcGrid.delete` is walking the precedents OF the grid it is about to drop, while every
158
+ * `CalcGridBackend.delete` is walking the precedents OF the grid it is about to drop, while every
105
159
  * shift path is deleting rows within a sheet that survives. It cannot be inferred here: the
106
160
  * sheet is still registered when this rewrite runs, so resolving the qualifier still succeeds.
107
161
  */
108
162
  scopeDeleted?: boolean;
109
163
  }
164
+ /**
165
+ * A block's static precedent edges in RELATIVE form — one entry per edge, in the order
166
+ * `resolvedPrecedentsAt` returns them — for the blocks whose edges are the same rects at every
167
+ * cell's own offset. See {@link IFormulaBlock.getPrecedentTemplate}.
168
+ */
169
+ export interface PrecedentTemplate {
170
+ /**
171
+ * The stored reference behind each edge, translated against the asking cell — or the error the
172
+ * edge IS (`#REF!`), which is the same at every cell and translates to nothing. The resolver
173
+ * answers the same error in that slot, so a block whose only reference is broken still has an
174
+ * edge list it can share, and the blank-aware predicate treats it as an input that does not vary.
175
+ */
176
+ readonly relative: readonly (IRange.FixableCoords | FormulaError.Known)[];
177
+ /**
178
+ * The SECOND endpoint of an edge written as a range (`A1:B4` — a `:` operator over two cell
179
+ * leaves, which is how the compiler stores every range); `null` where the edge is one
180
+ * reference. The edge is then the union of the two translated endpoints, exactly as
181
+ * `resolvedPrecedentsAt`'s range-operator branch forms it.
182
+ */
183
+ readonly second: readonly (IRange.FixableCoords | null)[];
184
+ /**
185
+ * Per edge, the compiler's per-axis anchoring — what `resolvedPrecedentsAt` stamps onto the
186
+ * coords it hands back. Constant for the block, so a materialized buffer is stamped once.
187
+ */
188
+ readonly verticalAbs: readonly boolean[];
189
+ readonly horizontalAbs: readonly boolean[];
190
+ }
110
191
  //# sourceMappingURL=Types.d.ts.map