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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/cjs/4f5eoQQfV-V7LO2_.cjs +1 -0
  3. package/browser/cjs/BEnEDC1m546-gzWS.cjs +1 -0
  4. package/browser/cjs/CwCUa4IzGNGissLL.cjs +1 -0
  5. package/browser/cjs/{a0Z-SXs_N71CtqYb.cjs → Dg3GaW0QWwnlqetX.cjs} +1 -1
  6. package/browser/cjs/KWQPie2u7AP69web.cjs +93 -0
  7. package/browser/cjs/index.cjs +2 -2
  8. package/browser/esm/{B0HS42a7lga1k1U_.mjs → BJ9hcZAGY8Tj5_9L.mjs} +1 -1
  9. package/browser/esm/C8vpA2ZBtZf6w4nq.mjs +394 -0
  10. package/browser/esm/DDojiE2-oycJ7qGi.mjs +20 -0
  11. package/browser/esm/DEPT7zmpiMdZ-_qC.mjs +70253 -0
  12. package/browser/esm/DOvCi3lf49To36WP.mjs +8 -0
  13. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → Dq3sc4B_HQHBrT5N.mjs} +2 -2
  14. package/browser/esm/index.mjs +871 -696
  15. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → trwZArJQQq7K9kL7.mjs} +2 -2
  16. package/licenses/dependencies.txt +204 -204
  17. package/node/esm/CGWsQOMWdnDeF4dX.mjs +8 -0
  18. package/node/esm/{Cku7XiUvw1xrRasi.mjs → CL9MI-b6D9BmtVXW.mjs} +1 -1
  19. package/node/esm/CressiwiIhxCVp1v.mjs +28 -0
  20. package/node/esm/O2cOO3xIynWUgOWe.mjs +403 -0
  21. package/node/esm/index.mjs +52356 -37345
  22. package/package.json +6 -7
  23. package/resources/locales/de/model.msg.json +45 -9
  24. package/resources/locales/en/model.msg.json +42 -9
  25. package/types/scripting-api.json +7093 -0
  26. package/types/scripting-enums.json +54 -8
  27. package/types/scripting.d.ts +7006 -1202
  28. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  29. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  30. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  31. package/types/src/autoFill/AutoFill.d.ts +316 -32
  32. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  33. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +41 -40
  34. package/types/src/border/index.d.ts +1 -1
  35. package/types/src/calculation/Calculation.d.ts +740 -35
  36. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  37. package/types/src/calculation/FormulaText.d.ts +74 -0
  38. package/types/src/calculation/ICalculation.d.ts +318 -81
  39. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  40. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  41. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  42. package/types/src/calculation/TokenType.d.ts +9 -0
  43. package/types/src/calculation/Types.d.ts +83 -2
  44. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  45. package/types/src/calculation/compiler/ASTTypes.d.ts +58 -0
  46. package/types/src/calculation/compiler/CompilerUtils.d.ts +134 -12
  47. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  48. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  49. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  50. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  51. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  52. package/types/src/calculation/compiler/Types.d.ts +79 -9
  53. package/types/src/calculation/executor/CalcExecutor.d.ts +312 -33
  54. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  55. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  56. package/types/src/calculation/formula/Formula.d.ts +58 -21
  57. package/types/src/calculation/formula/FormulaBlock.d.ts +124 -21
  58. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  59. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  60. package/types/src/calculation/formula/LambdaValue.d.ts +15 -16
  61. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  62. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  63. package/types/src/calculation/formula/index.d.ts +1 -0
  64. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  65. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  66. package/types/src/calculation/grid/CalcGrid.d.ts +384 -158
  67. package/types/src/calculation/grid/CalcGridBackend.d.ts +450 -0
  68. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  69. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  70. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  71. package/types/src/calculation/grid/FormulaHost.d.ts +236 -0
  72. package/types/src/calculation/grid/ICalcGrid.d.ts +456 -143
  73. package/types/src/calculation/grid/_CalcRequest.d.ts +272 -0
  74. package/types/src/calculation/grid/index.d.ts +4 -0
  75. package/types/src/calculation/index.d.ts +2 -0
  76. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  77. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  78. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  79. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  80. package/types/src/calculation/spatial/index.d.ts +1 -0
  81. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  82. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  83. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  84. package/types/src/calculation/state/CalcState.d.ts +22 -1
  85. package/types/src/calculation/state/CalculationContext.d.ts +36 -2
  86. package/types/src/calculation/state/IContextContainer.d.ts +129 -27
  87. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  88. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  89. package/types/src/calculation/state/index.d.ts +1 -0
  90. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  91. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  92. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  93. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  94. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  95. package/types/src/calculation/symbol/index.d.ts +3 -2
  96. package/types/src/cell/ICell.d.ts +78 -23
  97. package/types/src/cell/ICellProtection.d.ts +50 -10
  98. package/types/src/cellRange/ICellRange.d.ts +329 -72
  99. package/types/src/cellRange/ICellRanges.d.ts +9 -7
  100. package/types/src/chart/Chart.d.ts +72 -2
  101. package/types/src/chart/ChartCollection.d.ts +26 -0
  102. package/types/src/chart/IChart.d.ts +162 -9
  103. package/types/src/chart/IChartCollection.d.ts +25 -0
  104. package/types/src/chart/_ChartXml.d.ts +70 -0
  105. package/types/src/chart/index.d.ts +1 -3
  106. package/types/src/collections/ArraysGrid.d.ts +1 -1
  107. package/types/src/collections/IGrid.d.ts +1 -1
  108. package/types/src/collections/ISparseGrid.d.ts +9 -0
  109. package/types/src/collections/ISpatialMap.d.ts +59 -21
  110. package/types/src/collections/ImmutableList.d.ts +28 -0
  111. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  112. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  113. package/types/src/collections/RepeatingList.d.ts +7 -0
  114. package/types/src/collections/ScalarGrid.d.ts +50 -0
  115. package/types/src/collections/SparseGrid.d.ts +1 -1
  116. package/types/src/collections/SpatialMap.d.ts +13 -21
  117. package/types/src/collections/Tuple.d.ts +128 -16
  118. package/types/src/collections/_GridUtils.d.ts +19 -6
  119. package/types/src/collections/_RangeSweep.d.ts +97 -0
  120. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  121. package/types/src/collections/index.d.ts +1 -0
  122. package/types/src/comment/Comment.d.ts +159 -0
  123. package/types/src/comment/CommentCollection.d.ts +40 -0
  124. package/types/src/comment/IComment.d.ts +319 -48
  125. package/types/src/comment/ICommentCollection.d.ts +90 -0
  126. package/types/src/comment/_CommentUtils.d.ts +28 -0
  127. package/types/src/comment/index.d.ts +1 -0
  128. package/types/src/condition/AnchoredConditional.d.ts +76 -17
  129. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +8 -7
  130. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +2 -1
  131. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +3 -6
  132. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +1 -1
  133. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +7 -0
  134. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +9 -0
  135. package/types/src/condition/Condition.d.ts +16 -0
  136. package/types/src/condition/ICondition.d.ts +86 -33
  137. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  138. package/types/src/condition/_ConditionUtils.d.ts +73 -10
  139. package/types/src/conditionalFormat/ConditionalFormat.d.ts +21 -10
  140. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  141. package/types/src/conditionalFormat/IConditionalFormat.d.ts +5 -3
  142. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  143. package/types/src/dataValidation/DataValidation.d.ts +50 -3
  144. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  145. package/types/src/dataValidation/IDataValidation.d.ts +119 -30
  146. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  147. package/types/src/date/DateUtils.d.ts +20 -0
  148. package/types/src/date/_DateUtils.d.ts +91 -7
  149. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  150. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  151. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  152. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  153. package/types/src/externalBook/index.d.ts +1 -0
  154. package/types/src/fill/IStroke.d.ts +1 -1
  155. package/types/src/filter/IFilter.d.ts +29 -4
  156. package/types/src/font/IFont.d.ts +17 -0
  157. package/types/src/history/IHistory.d.ts +3 -2
  158. package/types/src/i18n/LanguagePack.d.ts +12 -4
  159. package/types/src/index.d.ts +3 -0
  160. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  161. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  162. package/types/src/io/EmbeddedPart.d.ts +20 -0
  163. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  164. package/types/src/io/IWorkbookIO.d.ts +185 -18
  165. package/types/src/io/WorkbookIO.d.ts +9 -0
  166. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  167. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  168. package/types/src/io/_XmlFragment.d.ts +49 -0
  169. package/types/src/io/index.d.ts +1 -0
  170. package/types/src/lib/file/file.browser.d.ts +19 -5
  171. package/types/src/lib/file/file.node.d.ts +5 -0
  172. package/types/src/lib/utils/_Utils.d.ts +11 -0
  173. package/types/src/lib/utils/utils.browser.d.ts +9 -3
  174. package/types/src/license/license-key.d.ts +27 -0
  175. package/types/src/listener/IListener.d.ts +12 -7
  176. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  177. package/types/src/model/AbstractModel.d.ts +14 -5
  178. package/types/src/movable/Control.d.ts +57 -0
  179. package/types/src/movable/IControl.d.ts +84 -0
  180. package/types/src/movable/IMovable.d.ts +23 -1
  181. package/types/src/movable/IMovableCollection.d.ts +2 -0
  182. package/types/src/movable/Movable.d.ts +4 -6
  183. package/types/src/movable/MovableCollection.d.ts +7 -7
  184. package/types/src/movable/index.d.ts +4 -0
  185. package/types/src/named/AbstractNamed.d.ts +1 -1
  186. package/types/src/named/INamed.d.ts +4 -1
  187. package/types/src/named/INamedCollection.d.ts +26 -0
  188. package/types/src/named/NamedCollection.d.ts +16 -15
  189. package/types/src/numFmt/BuiltInFormats.d.ts +15 -7
  190. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  191. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  192. package/types/src/person/IPerson.d.ts +99 -0
  193. package/types/src/person/IPersonCollection.d.ts +51 -0
  194. package/types/src/person/Person.d.ts +32 -0
  195. package/types/src/person/PersonCollection.d.ts +49 -0
  196. package/types/src/person/index.d.ts +3 -0
  197. package/types/src/picture/IPicture.d.ts +2 -0
  198. package/types/src/picture/Picture.d.ts +2 -0
  199. package/types/src/pivot/IPivotTable.d.ts +107 -0
  200. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  201. package/types/src/pivot/PivotTable.d.ts +57 -0
  202. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  203. package/types/src/pivot/index.d.ts +6 -0
  204. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  205. package/types/src/primitives/Criteria.d.ts +1 -1
  206. package/types/src/primitives/LambdaBrand.d.ts +21 -0
  207. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  208. package/types/src/primitives/Range.d.ts +102 -24
  209. package/types/src/primitives/RangeStats.d.ts +24 -1
  210. package/types/src/primitives/ReferenceRange.d.ts +42 -0
  211. package/types/src/primitives/Runtime.d.ts +15 -2
  212. package/types/src/primitives/stats/FrequencyStats.d.ts +9 -0
  213. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  214. package/types/src/primitives/stats/SortedNumbers.d.ts +2 -0
  215. package/types/src/primitives/stats/index.d.ts +1 -0
  216. package/types/src/print/IPrint.d.ts +0 -22
  217. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  218. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  219. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  220. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  221. package/types/src/protection/DefaultProtection.d.ts +12 -1
  222. package/types/src/protection/IProtection.d.ts +36 -2
  223. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  224. package/types/src/reference/index.d.ts +2 -0
  225. package/types/src/resource/IResource.d.ts +21 -1
  226. package/types/src/resource/IResourceCollection.d.ts +9 -1
  227. package/types/src/resource/ResourceCollection.d.ts +6 -6
  228. package/types/src/scripting/FunctionCollection.d.ts +41 -11
  229. package/types/src/scripting/IFunctionCollection.d.ts +41 -0
  230. package/types/src/scripting/IModule.d.ts +25 -0
  231. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  232. package/types/src/scripting/IScript.d.ts +18 -0
  233. package/types/src/scripting/Module.d.ts +34 -6
  234. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  235. package/types/src/scripting/Runtime.d.ts +15 -0
  236. package/types/src/scripting/Scripts.d.ts +2 -0
  237. package/types/src/scripting/TypedFunction.d.ts +151 -18
  238. package/types/src/scripting/_FunctionIndex.d.ts +5 -0
  239. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  240. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  241. package/types/src/scripting/declarations.browser.d.ts +10 -0
  242. package/types/src/scripting/declarations.d.ts +49 -0
  243. package/types/src/scripting/declarations.node.d.ts +9 -0
  244. package/types/src/scripting/index.d.ts +3 -0
  245. package/types/src/selection/IRangeSelection.d.ts +9 -4
  246. package/types/src/selection/RangeSelection.d.ts +2 -0
  247. package/types/src/shape/IShape.d.ts +41 -3
  248. package/types/src/shape/Shape.d.ts +10 -0
  249. package/types/src/shape/_ShapeXml.d.ts +28 -0
  250. package/types/src/sheet/CellRegion.d.ts +6 -0
  251. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  252. package/types/src/sheet/ISheet.d.ts +224 -41
  253. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  254. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  255. package/types/src/sheet/Sheet.d.ts +749 -114
  256. package/types/src/sheet/SheetCell.d.ts +81 -21
  257. package/types/src/sheet/SheetCollection.d.ts +19 -8
  258. package/types/src/sheet/SheetRange.d.ts +62 -14
  259. package/types/src/sheet/SheetRanges.d.ts +4 -6
  260. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  261. package/types/src/sheet/_InvalidSheetRange.d.ts +5 -5
  262. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  263. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  264. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  265. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  266. package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
  267. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  268. package/types/src/sheet/_SheetFilterUtils.d.ts +32 -1
  269. package/types/src/sheet/_SheetIntents.d.ts +250 -0
  270. package/types/src/sheet/_SheetMutations.d.ts +179 -59
  271. package/types/src/sheet/_SheetStateReader.d.ts +16 -10
  272. package/types/src/sheet/_SheetStateTypes.d.ts +57 -73
  273. package/types/src/sheet/_SheetUtils.d.ts +2 -18
  274. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  275. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  276. package/types/src/sheet/spatial/index.d.ts +1 -0
  277. package/types/src/sheet/style/SheetCellStyle.d.ts +91 -64
  278. package/types/src/sheet/style/SheetDirectStyle.d.ts +16 -5
  279. package/types/src/sheet/style/_Resolvers.d.ts +5 -3
  280. package/types/src/sheet/style/_StyleUtils.d.ts +37 -7
  281. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -0
  282. package/types/src/sheetHeader/SheetHeader.d.ts +14 -0
  283. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  284. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  285. package/types/src/sheetView/ISheetView.d.ts +45 -1
  286. package/types/src/sheetView/SheetView.d.ts +11 -0
  287. package/types/src/slicer/ISlicer.d.ts +2 -0
  288. package/types/src/slicer/Slicer.d.ts +2 -0
  289. package/types/src/sort/ISort.d.ts +2 -0
  290. package/types/src/string/IStringCollection.d.ts +5 -0
  291. package/types/src/string/StringCollection.d.ts +6 -6
  292. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  293. package/types/src/style/IStyle.d.ts +30 -10
  294. package/types/src/style/IStyleCollection.d.ts +63 -42
  295. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  296. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  297. package/types/src/style/StyleCollection.d.ts +41 -5
  298. package/types/src/style/TableStyleCollection.d.ts +49 -0
  299. package/types/src/style/_BuiltInStyleDefs.d.ts +3 -3
  300. package/types/src/style/index.d.ts +4 -0
  301. package/types/src/table/AnchoredTable.d.ts +644 -68
  302. package/types/src/table/AutoTable.d.ts +5 -5
  303. package/types/src/table/ITable.d.ts +228 -30
  304. package/types/src/table/ITableCollection.d.ts +2 -0
  305. package/types/src/table/TableCollection.d.ts +19 -8
  306. package/types/src/table/_FilterField.d.ts +7 -5
  307. package/types/src/table/_NamedTable.d.ts +17 -1
  308. package/types/src/table/_NamedTableSource.d.ts +1 -0
  309. package/types/src/table/_SortField.d.ts +2 -0
  310. package/types/src/table/_TableColumn.d.ts +13 -2
  311. package/types/src/table/_TableMessages.d.ts +1 -0
  312. package/types/src/table/_TableUtils.d.ts +40 -0
  313. package/types/src/text/Bullet.d.ts +4 -0
  314. package/types/src/text/ITextFrame.d.ts +25 -1
  315. package/types/src/text/TextBoxAlignment.d.ts +15 -6
  316. package/types/src/text/TextFrame.d.ts +4 -0
  317. package/types/src/text/TextLine.d.ts +4 -0
  318. package/types/src/text/TextParagraph.d.ts +4 -0
  319. package/types/src/text/TextRun.d.ts +9 -0
  320. package/types/src/text/TextStacked.d.ts +83 -0
  321. package/types/src/text/index.d.ts +1 -0
  322. package/types/src/theme/ITheme.d.ts +2 -0
  323. package/types/src/theme/IThemeCollection.d.ts +2 -0
  324. package/types/src/theme/ThemeCollection.d.ts +8 -7
  325. package/types/src/transaction/ITransaction.d.ts +238 -36
  326. package/types/src/transaction/Transaction.d.ts +99 -11
  327. package/types/src/type/AbstractCollection.d.ts +101 -0
  328. package/types/src/type/ICollection.d.ts +117 -0
  329. package/types/src/type/ITypes.d.ts +9 -7
  330. package/types/src/type/index.d.ts +1 -0
  331. package/types/src/utils/_CSSUtils.d.ts +3 -3
  332. package/types/src/workbook/IWorkbook.d.ts +171 -40
  333. package/types/src/workbook/Workbook.d.ts +103 -7
  334. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  335. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  336. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  337. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  338. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  339. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  340. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  341. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  342. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  343. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  344. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  345. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  346. package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
  347. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  348. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  349. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  350. package/types/src/dataValidation/_Utils.d.ts +0 -10
  351. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  352. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  353. package/types/src/sheet/listener/index.d.ts +0 -3
@@ -0,0 +1,101 @@
1
+ import { ITransaction } from '../transaction';
2
+ import { IListener } from '../listener';
3
+ import { ListenerEmitter } from '../listener/ListenerEmitter';
4
+ import { ICollection } from './ICollection';
5
+ /**
6
+ * Base for every {@link ICollection}.
7
+ *
8
+ * @remarks
9
+ * A subclass supplies {@link _getItems} — how its items are stored is its own business, keyed or
10
+ * ordered, held here or fronted from elsewhere — and gets iteration, the count and every read
11
+ * helper from that one call. A subclass with a cheaper count overrides {@link getCount}.
12
+ *
13
+ * Listeners are uniform: {@link addListeners} on the base, and {@link _notifyCollectionChange} /
14
+ * {@link _notifyInvalidated} for the subclass to announce with. A subclass that fronts another
15
+ * collection and forwards its events overrides `addListeners` instead of keeping a second
16
+ * emitter.
17
+ */
18
+ export declare abstract class AbstractCollection<T, O extends ICollection.GetItemsOptions = ICollection.GetItemsOptions> implements ICollection<T> {
19
+ /**
20
+ * The store transactional listeners are versioned in; `undefined` gives the emitter a transient
21
+ * store of its own.
22
+ */
23
+ protected _transactions: ITransaction.IStore | undefined;
24
+ /** Created on first use — most collections are never listened to. */
25
+ private _collectionEmitter;
26
+ private _closed;
27
+ constructor(transactions?: ITransaction.IStore);
28
+ /** {@inheritDoc ICollection.isClosed} */
29
+ isClosed(): boolean;
30
+ /**
31
+ * Closes the collection: flips {@link isClosed} and announces
32
+ * {@link ICollection.Events.onClose} once.
33
+ *
34
+ * @remarks
35
+ * The base owns the fire so that the event can never be declared and not delivered. A
36
+ * subclass that is closable calls this from its public `close()` and does its own cleanup
37
+ * after; a second call is a no-op. The flag flips before the announcement, so a listener asking
38
+ * `isClosed()` while being told is told the truth.
39
+ */
40
+ protected _close(): void;
41
+ /**
42
+ * Returns the items, optionally filtered.
43
+ *
44
+ * @param options The subclass's own options; `undefined` is every item, in the collection's
45
+ * order.
46
+ *
47
+ * @remarks
48
+ * Return an array the caller may keep — a fresh one, or one the collection never mutates
49
+ * after handing it out — never the collection's own mutable storage. Every read on the base is
50
+ * over what this returns, and {@link toArray} returns it as-is.
51
+ */
52
+ protected abstract _getItems(options?: O): T[];
53
+ /** {@inheritDoc ICollection."[iterator]"} */
54
+ [Symbol.iterator](): IterableIterator<T>;
55
+ /** {@inheritDoc ICollection.getItems} */
56
+ getItems(options?: O): T[];
57
+ /** {@inheritDoc ICollection.getCount} */
58
+ getCount(): number;
59
+ /** {@inheritDoc ICollection.at} */
60
+ at(index: number): T | undefined;
61
+ /** {@inheritDoc ICollection.indexOf} */
62
+ indexOf(item: T): number;
63
+ /** {@inheritDoc ICollection.find} */
64
+ find<S extends T>(predicate: (value: T, index: number, items: readonly T[]) => value is S): S | undefined;
65
+ find(predicate: (value: T, index: number, items: readonly T[]) => boolean): T | undefined;
66
+ /** {@inheritDoc ICollection.findIndex} */
67
+ findIndex(predicate: (value: T, index: number, items: readonly T[]) => boolean): number;
68
+ /** {@inheritDoc ICollection.filter} */
69
+ filter<S extends T>(predicate: (value: T, index: number, items: readonly T[]) => value is S): S[];
70
+ filter(predicate: (value: T, index: number, items: readonly T[]) => boolean): T[];
71
+ /** {@inheritDoc ICollection.map} */
72
+ map<U>(fn: (value: T, index: number, items: readonly T[]) => U): U[];
73
+ /** {@inheritDoc ICollection.forEach} */
74
+ forEach(fn: (value: T, index: number, items: readonly T[]) => void): void;
75
+ /** {@inheritDoc ICollection.some} */
76
+ some(predicate: (value: T, index: number, items: readonly T[]) => boolean): boolean;
77
+ /** {@inheritDoc ICollection.every} */
78
+ every(predicate: (value: T, index: number, items: readonly T[]) => boolean): boolean;
79
+ /** {@inheritDoc ICollection.toArray} */
80
+ toArray(): T[];
81
+ /** {@inheritDoc ICollection.addListeners} */
82
+ addListeners(listeners: ICollection.IListeners, options?: IListener.Options): IListener.Remove;
83
+ protected _getCollectionEmitter(): ListenerEmitter<this, ICollection.Events>;
84
+ /**
85
+ * Announces {@link ICollection.Events.onCollectionChange}.
86
+ *
87
+ * @remarks
88
+ * Nothing is created for a collection nobody has listened to.
89
+ */
90
+ protected _notifyCollectionChange(): void;
91
+ /**
92
+ * Announces {@link ICollection.Events.onInvalidated}.
93
+ *
94
+ * @remarks
95
+ * Nothing is created for a collection nobody has listened to.
96
+ */
97
+ protected _notifyInvalidated(): void;
98
+ /** {@inheritDoc ICollection.isICollection} */
99
+ get isICollection(): true;
100
+ }
101
+ //# sourceMappingURL=AbstractCollection.d.ts.map
@@ -2,6 +2,16 @@ import { JSONSerializableAsync } from '@sheetxl/utils';
2
2
  import { IListener } from '../listener';
3
3
  /**
4
4
  * Interface used for all ICollections.
5
+ *
6
+ * @remarks
7
+ * A collection is the read side of a `ReadonlyArray` without the index operator: it iterates,
8
+ * counts, and offers the familiar helpers (`at`, `find`, `filter`, `map`, ...), but it is not an
9
+ * array and has no `[i]` or `length`. Call {@link toArray} when an array is really wanted.
10
+ *
11
+ * Iteration order is the collection's own order — insertion order for the ordered collections
12
+ * (sheets, tables, movables) and unspecified for the keyed ones (resources, functions). Every
13
+ * read is over a snapshot: neither {@link getItems} nor the helpers observe a change made while
14
+ * they run.
5
15
  */
6
16
  export interface ICollection<T> {
7
17
  /**
@@ -19,6 +29,11 @@ export interface ICollection<T> {
19
29
  [Symbol.iterator](): IterableIterator<T>;
20
30
  /**
21
31
  * Returns the items in the collection.
32
+ *
33
+ * @remarks
34
+ * The optioned call — filtering, ordering, anything parameterized — and a snapshot: the array
35
+ * returned does not follow later changes to the collection. For the unfiltered items as a plain
36
+ * array prefer {@link toArray}.
22
37
  */
23
38
  getItems(options?: ICollection.GetItemsOptions): T[];
24
39
  /**
@@ -28,6 +43,100 @@ export interface ICollection<T> {
28
43
  * returns the total number of items available.
29
44
  */
30
45
  getCount(): number;
46
+ /**
47
+ * Returns the item at the given index, or `undefined` if there is none.
48
+ *
49
+ * @param index The position in iteration order. A negative index counts back from the end, as
50
+ * `Array.prototype.at` does.
51
+ */
52
+ at(index: number): T | undefined;
53
+ /**
54
+ * Returns the index of the item in iteration order, or `-1` if it is not in the collection.
55
+ *
56
+ * @param item The item to find.
57
+ */
58
+ indexOf(item: T): number;
59
+ /**
60
+ * Returns the first item the predicate accepts, or `undefined` if it accepts none.
61
+ *
62
+ * @param predicate Called once per item in iteration order until it returns `true`.
63
+ */
64
+ find<S extends T>(predicate: (value: T, index: number, items: readonly T[]) => value is S): S | undefined;
65
+ /**
66
+ * Returns the first item the predicate accepts, or `undefined` if it accepts none.
67
+ *
68
+ * @param predicate Called once per item in iteration order until it returns `true`.
69
+ */
70
+ find(predicate: (value: T, index: number, items: readonly T[]) => boolean): T | undefined;
71
+ /**
72
+ * Returns the index of the first item the predicate accepts, or `-1` if it accepts none.
73
+ *
74
+ * @param predicate Called once per item in iteration order until it returns `true`.
75
+ */
76
+ findIndex(predicate: (value: T, index: number, items: readonly T[]) => boolean): number;
77
+ /**
78
+ * Returns the items the predicate accepts, in iteration order.
79
+ *
80
+ * @param predicate Called once per item.
81
+ */
82
+ filter<S extends T>(predicate: (value: T, index: number, items: readonly T[]) => value is S): S[];
83
+ /**
84
+ * Returns the items the predicate accepts, in iteration order.
85
+ *
86
+ * @param predicate Called once per item.
87
+ */
88
+ filter(predicate: (value: T, index: number, items: readonly T[]) => boolean): T[];
89
+ /**
90
+ * Returns the result of calling the function on every item, in iteration order.
91
+ *
92
+ * @param fn Called once per item.
93
+ */
94
+ map<U>(fn: (value: T, index: number, items: readonly T[]) => U): U[];
95
+ /**
96
+ * Calls the function once per item, in iteration order.
97
+ *
98
+ * @param fn Called once per item.
99
+ */
100
+ forEach(fn: (value: T, index: number, items: readonly T[]) => void): void;
101
+ /**
102
+ * Returns `true` if the predicate accepts at least one item.
103
+ *
104
+ * @param predicate Called once per item in iteration order until it returns `true`.
105
+ */
106
+ some(predicate: (value: T, index: number, items: readonly T[]) => boolean): boolean;
107
+ /**
108
+ * Returns `true` if the predicate accepts every item, including when there are none.
109
+ *
110
+ * @param predicate Called once per item in iteration order until it returns `false`.
111
+ */
112
+ every(predicate: (value: T, index: number, items: readonly T[]) => boolean): boolean;
113
+ /**
114
+ * Returns the items as a fresh array, in iteration order.
115
+ *
116
+ * @remarks
117
+ * The call to make when an array is really wanted. The array is the caller's: changing it does
118
+ * not change the collection, and it does not follow later changes to the collection.
119
+ */
120
+ toArray(): T[];
121
+ /**
122
+ * Returns `true` once the collection has been closed.
123
+ *
124
+ * @remarks
125
+ * A closed collection is empty and announces nothing further. Collections that are closed by
126
+ * their owner (the workbook's names, functions and modules, when the workbook closes) announce
127
+ * it once with {@link ICollection.Events.onClose}; the others are never closed and always
128
+ * return `false`.
129
+ */
130
+ isClosed(): boolean;
131
+ /**
132
+ * Add Listeners.
133
+ *
134
+ * @see
135
+ * {@link IListener.ISource.addListeners}
136
+ */
137
+ addListeners(listeners: ICollection.IListeners, options?: IListener.Options): IListener.Remove;
138
+ /** For runtime type checking. */
139
+ readonly isICollection: true;
31
140
  }
32
141
  /**
33
142
  * {@inheritDoc ICollection}
@@ -103,6 +212,14 @@ export declare namespace ICollection {
103
212
  * Called when the collection has been updated due to a undo/redo and a rerender is required.
104
213
  */
105
214
  onInvalidated?(source: ICollection<any>): void;
215
+ /**
216
+ * Called once, when the collection is closed.
217
+ *
218
+ * @remarks
219
+ * {@link ICollection.isClosed} is already `true` when this is delivered, and nothing is
220
+ * announced after it. Only the collections an owner closes ever fire it.
221
+ */
222
+ onClose?(source: ICollection<any>): void;
106
223
  }
107
224
  interface IListeners extends IListener.Callbacks<ICollection<any>, ICollection.Events> {
108
225
  }
@@ -30,16 +30,18 @@ export declare namespace ITypes {
30
30
  *
31
31
  * * `dynamic` - the extent is *derived from* the result. It spills, and it resizes when the
32
32
  * result shape changes.
33
- * * `dynamicSpillError` - a `dynamic` formula whose spill is currently blocked. The recorded
33
+ * * `error` - a `dynamic` formula whose spill is currently blocked (`#SPILL!`). The recorded
34
34
  * extent collapses to the anchor cell.
35
- * * `static` - legacy array-entered (Ctrl+Shift+Enter). The extent is *authoritative* and the
36
- * result is fitted to it; it never spills and never resizes.
35
+ * * `fixed` - array-entered (Ctrl+Shift+Enter). The extent is *authoritative* and the result is
36
+ * fitted to it (a dimension of 1 broadcasts, a longer one is clipped, a shorter one is padded
37
+ * with `#N/A`); it never spills and never resizes. Written through
38
+ * {@link ICellRange.SetValuesOptions.arrayFixed}.
37
39
  *
38
- * `static + spillError` is not a state: a stored fixed block owns its cells, so a spill
39
- * collision is rejected at entry rather than detected at calc. That is what lets these three be
40
- * one enum rather than two booleans.
40
+ * `fixed + error` is not a state: a fixed block owns its cells, so a write into part of it is
41
+ * refused at the write site rather than detected at calc. That is what lets these three be one
42
+ * enum rather than two booleans.
41
43
  */
42
- type FormulaArrayKind = 'dynamic' | 'dynamicSpillError' | 'static';
44
+ type FormulaArrayKind = 'dynamic' | 'fixed' | 'error';
43
45
  /**
44
46
  * Options for controlling selection behavior, including scrolling and focus.
45
47
  */
@@ -1,5 +1,6 @@
1
1
  export * from './ITypes';
2
2
  export * from './IProperties';
3
3
  export * from './ICollection';
4
+ export * from './AbstractCollection';
4
5
  export * from './Registry';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -4,7 +4,7 @@ import { IColor } from '../color';
4
4
  import { IFill } from '../fill';
5
5
  import { IFont } from '../font';
6
6
  import { ITextFrame } from '../text';
7
- import { IBorder } from '../border';
7
+ import { IBorders } from '../border';
8
8
  export interface ParsedFont {
9
9
  family: string | null;
10
10
  size?: string | null;
@@ -118,8 +118,8 @@ export declare function parsePattern(value: string): Partial<IFill.PatternProper
118
118
  */
119
119
  export declare const toCSSGradient: (gradientFill: IFill.IGradient, mode?: IColor.CSSMode, size?: Size | null) => string | null;
120
120
  export declare function toCSSPattern(patternType: IFill.BuiltInSheetPattern): string;
121
- export declare function toCSSBorderStroke(stroke: IBorder.IStroke): string | null;
122
- export declare function parseBorderStroke(value: string, parseColor?: (str: string) => string): IBorder.StrokeProperties | null;
121
+ export declare function toCSSBorderStroke(stroke: IBorders.IStroke): string | null;
122
+ export declare function parseBorderStroke(value: string, parseColor?: (str: string) => string): IBorders.StrokeProperties | null;
123
123
  /**
124
124
  * @see
125
125
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/text-align}
@@ -1,16 +1,17 @@
1
1
  import { Scalar, IRange, IRangeStats, IRuntime, LocaleProfileOverrides } from '@sheetxl/primitives';
2
- import { FunctionProvider } from '@sheetxl/scripting';
3
2
  import { ITransaction } from '../transaction';
4
3
  import { IListener } from '../listener';
5
4
  import { IResourceCollection, IResource } from '../resource';
6
5
  import { IStringCollection } from '../string';
7
6
  import { ICalculation } from '../calculation';
8
- import { IScript, IModule } from '../scripting';
7
+ import { IScript, IModule, IModuleCollection } from '../scripting';
9
8
  import { ICell } from '../cell';
10
9
  import { ICellRange, ICellRanges } from '../cellRange';
11
- import { IComment } from '../comment';
10
+ import { ICommentCollection } from '../comment';
11
+ import { IPerson, IPersonCollection } from '../person';
12
12
  import { INamedCollection } from '../named';
13
13
  import { IExternalBook, IExternalBookCollection } from '../externalBook';
14
+ import { IPivotTable, IPivotTableCollection } from '../pivot';
14
15
  import { ITheme } from '../theme';
15
16
  import { IStyleCollection } from '../style';
16
17
  import { ISheet, ISheetCollection, ICellContainerOptions } from '../sheet';
@@ -230,19 +231,22 @@ export interface IWorkbook extends ITransaction.ITransactional, IListener.ISourc
230
231
  *
231
232
  * @remarks
232
233
  * A workbook has no intrinsic name (like Excel: a workbook's name *is* its file name). Display
233
- * fallbacks (a localized "Untitled") are a UI concern. Renaming is an origin/document-level
234
- * operation (see `WorkbookDocument.setName`), never a model edit — it is not undoable.
234
+ * fallbacks (a localized "Untitled") are a UI concern. Renaming is an origin-level operation
235
+ * (see {@link IWorkbookIO.Origin.setName}), never a model edit — it is not undoable.
235
236
  */
236
237
  getName(): string | null;
237
238
  /**
238
- * Returns the workbook's {@link IWorkbookIO.Origin | origin} — the virtual file handle it maps to.
239
+ * Returns the workbook's {@link IWorkbookIO.Origin | origin} — the file handle it lives in.
239
240
  *
240
241
  * @remarks
241
- * Read-only and always present: the *reference* is stable for the workbook's lifetime (a new
242
- * in-memory workbook holds an *unbound* origin — `getPath()` `null`). The origin **object** is
243
- * updated in place by its IO/store owner (e.g. a first save resolving a destination), like the
244
- * DOM's `document.URL` — the model itself never mutates it, and it is not part of the persisted
245
- * document ({@link toJSON}); a copy mints a fresh unbound origin.
242
+ * Always present: a new in-memory workbook holds an *unbound* origin (`getPath()` `null`). Like
243
+ * the DOM's `document.URL`, *which* origin can change — a save that resolves a new destination (a
244
+ * first save, a Save As) moves the workbook to the file it wrote, firing
245
+ * {@link IWorkbook.Events.onOriginChange | onOriginChange}. So read it when needed rather than
246
+ * holding it; to follow the current file, listen for `onOriginChange`.
247
+ *
248
+ * The model never mutates its origin, and the origin is not part of the persisted document
249
+ * ({@link toJSON}); a copy mints a fresh unbound origin.
246
250
  */
247
251
  getOrigin(): IWorkbookIO.Origin;
248
252
  /**
@@ -332,6 +336,18 @@ export interface IWorkbook extends ITransaction.ITransactional, IListener.ISourc
332
336
  * Returns the protection object for the workbook.
333
337
  */
334
338
  getProtection(): IWorkbookProtection;
339
+ /**
340
+ * The workbook's VBA code name — conventionally `ThisWorkbook` — or `null` if it has none.
341
+ *
342
+ * @defaultValue null
343
+ *
344
+ * @remarks
345
+ * The workbook-level counterpart to {@link ISheet.getCodeName}: the identifier VBA binds the
346
+ * workbook's own document module through, where workbook event handlers such as `Workbook_Open`
347
+ * live. Like a sheet's, it is carried from the file and **read-only** — see
348
+ * {@link ISheet.getCodeName} for why SheetXL never mints one.
349
+ */
350
+ getCodeName(): string | null;
335
351
  /**
336
352
  * **Every** {@link INamed} in the workbook — global names, every sheet's scoped names, and every
337
353
  * table — sorted by type then by name.
@@ -347,10 +363,51 @@ export interface IWorkbook extends ITransaction.ITransactional, IListener.ISourc
347
363
  * as `[n]Sheet1!$A$1`. In `[n]` order.
348
364
  *
349
365
  * @remarks
350
- * Read-only for now: this phase reads and models the parts, nothing more. Formula text still
351
- * carries `[n]` as opaque characters — this collection is not yet wired to it.
366
+ * A link is made by a formula — typing `'C:\path\[Budget.xlsx]Sheet1'!A1` adds a book here —
367
+ * and removed by breaking it ({@link IExternalBookCollection.breakLink}). Each book lists the
368
+ * formulas that cite it ({@link IExternalBook.getDependents}). The engine's collection, so
369
+ * available once the calculation is constructed, which is before any sheet is.
352
370
  */
353
371
  getExternalBooks(): IExternalBookCollection;
372
+ /**
373
+ * Returns the pivot tables on every sheet, in sheet order.
374
+ *
375
+ * @remarks
376
+ * A view over each sheet's {@link ISheet.getPivotTables}; `getByName` searches them all.
377
+ * Read-only for now: each table is carried as it was read and written back unchanged.
378
+ */
379
+ getPivotTables(): IPivotTableCollection;
380
+ /**
381
+ * Returns the comments and notes on every sheet, in sheet order.
382
+ *
383
+ * @remarks
384
+ * A view over each sheet's {@link ISheet.getComments}; `getById` and `getByReplyId` search
385
+ * them all. A comment is added on a sheet's collection.
386
+ */
387
+ getComments(): ICommentCollection;
388
+ /**
389
+ * Returns the people the workbook knows: the authors of its comments.
390
+ *
391
+ * @see {@link IComment.getAuthor}
392
+ */
393
+ getPeople(): IPersonCollection;
394
+ /**
395
+ * When the cached values of {@link getExternalBooks} should be re-read from their sources on
396
+ * open, or `null` where the source file said nothing (which Excel reads as `userSet`).
397
+ *
398
+ * @remarks
399
+ * Carried, not obeyed — SheetXL never refreshes a link, so every mode behaves as `never` until
400
+ * a resolver exists. Round-trips as `workbookPr@updateLinks`.
401
+ *
402
+ * The mode is {@link IExternalBookCollection.UpdateLinks}: it governs the books as a set, and no
403
+ * single book has one. It is read and written HERE because it is a property of the workbook in
404
+ * both Excel's object model and the file, not of the collection the books live in.
405
+ */
406
+ getUpdateLinks(): IExternalBookCollection.UpdateLinks | null;
407
+ /**
408
+ * Sets {@link getUpdateLinks}. `null` writes no attribute at all.
409
+ */
410
+ setUpdateLinks(updateLinks: IExternalBookCollection.UpdateLinks | null): this;
354
411
  /**
355
412
  * Returns the {@link ICalculation} for the workbook.
356
413
  */
@@ -360,15 +417,16 @@ export interface IWorkbook extends ITransaction.ITransactional, IListener.ISourc
360
417
  *
361
418
  * @param expression The formula expression to parse.
362
419
  * @param coords Optional anchor coordinates.
420
+ * @param options Optional parse options; the expression is storage text unless `target` is `'display'`.
363
421
  *
364
422
  * @remarks
365
- * This is a convenience method for `getCalculation().createFormula(expression, coords)`.
423
+ * This is a convenience method for `getCalculation().createFormula(expression, coords, options)`.
366
424
  * A bare reference (`A2`) resolves against the active cell's sheet; use
367
425
  * {@link ISheet.createFormula} to anchor against a specific sheet.
368
426
  *
369
427
  * @see {@link ICalculation.createFormula}
370
428
  */
371
- createFormula(expression: string, coords?: Partial<IRange.CellCoords>): ICalculation.IFormula;
429
+ createFormula(expression: string, coords?: Partial<IRange.CellCoords>, options?: ICalculation.CreateFormulaOptions): ICalculation.IFormula;
372
430
  /**
373
431
  * Evaluates a formula in the context of the sheet and returns the resulting value.
374
432
  *
@@ -378,18 +436,37 @@ export interface IWorkbook extends ITransaction.ITransactional, IListener.ISourc
378
436
  * @remarks
379
437
  * This is similar convenience method for `getCalculation().createFormula(expression).evaluate(options)`.
380
438
  */
381
- evaluate(formula: string, options?: number | ICalculation.EvaluateOptions & Partial<IRange.CellCoords>): Promise<Scalar | IRange>;
439
+ evaluate(formula: string, options?: number | ICalculation.EvaluateOptions & Partial<IRange.CellCoords> & ICalculation.CreateFormulaOptions): Promise<Scalar | IRange>;
382
440
  /**
383
441
  * Returns when all calculations are complete and there are no pending calculations.
384
442
  *
385
443
  * @remarks
386
- * * This is a convenience method `getCalculation().ready()`.
444
+ * * Also waits for the load-time start: the pass {@link ICellContainerOptions.calcOnLoad} asks
445
+ * for and the workbook's scripts. This is the settle point after constructing from JSON.
446
+ * * Otherwise a convenience method for `getCalculation().ready()`, which starts the engine if
447
+ * it has not been started.
387
448
  */
388
449
  whenCalculationReady(): Promise<ICalculation.Status>;
389
450
  /**
390
451
  * Returns any user defined functions stored with the workbook.
391
452
  */
392
453
  getScripts(): IScript;
454
+ /**
455
+ * Returns the modules this workbook owns.
456
+ *
457
+ * @remarks
458
+ * The workbook half of {@link ISheet.getModules}, and the same collection
459
+ * `getScripts().getModules()` answers with — modules belong to the model, whereas
460
+ * {@link IScript} is what runs them.
461
+ *
462
+ * Holds the globally scoped modules, whose functions ARE in the formula namespace, and the
463
+ * workbook-scoped ones, whose functions are not ({@link IModule.getScope}). A sheet's modules
464
+ * are not in here at all; they hang off the sheet.
465
+ *
466
+ * Like every module collection, this filters to TypeScript unless asked otherwise; imported VBA
467
+ * is read with `getItems({ language: 'vba' })`.
468
+ */
469
+ getModules(): IModuleCollection;
393
470
  /**
394
471
  * Serialize the workbook to a JSON.
395
472
  *
@@ -479,6 +556,18 @@ export declare namespace IWorkbook {
479
556
  * Called when the workbook theme has changed.
480
557
  */
481
558
  onThemeChange?(source: IWorkbook): void;
559
+ /**
560
+ * Called when a workbook setting that governs how values are PRESENTED has changed - the
561
+ * locale, its overrides, or the date system.
562
+ *
563
+ * @remarks
564
+ * Nothing a cell holds has moved; what it paints for what it holds has. A consumer that has
565
+ * measured rendered text - a fitted column width, a cached layout - has to re-derive it.
566
+ *
567
+ * The active UI language does the same thing from outside the workbook, and is announced by
568
+ * {@link DefaultLanguagePackService} rather than here.
569
+ */
570
+ onRegionalChange?(source: IWorkbook): void;
482
571
  /**
483
572
  * Called when the workbook protection has changed.
484
573
  *
@@ -511,10 +600,20 @@ export declare namespace IWorkbook {
511
600
  */
512
601
  onViewChange?(source: IWorkbook): void;
513
602
  /**
514
- * Called when the display name changes — a convenience proxy of the origin's `onChange`
515
- * (non-transactional; renames are not model edits and never enter the undo stack).
603
+ * Called when the display name changes — a rename of the origin, or a move to a new one (see
604
+ * {@link onOriginChange}). Non-transactional; renames are not model edits and never enter the
605
+ * undo stack.
516
606
  */
517
607
  onNameChange?(source: IWorkbook): void;
608
+ /**
609
+ * Called when the workbook moves to a different {@link IWorkbook.getOrigin | origin} — a save
610
+ * that resolved a new destination (a first save, a Save As). Non-transactional.
611
+ *
612
+ * @remarks
613
+ * Changes *within* the current origin (its size after a save, a rename) are that origin's own
614
+ * `onChange`; a listener on the old origin hears nothing further about this workbook.
615
+ */
616
+ onOriginChange?(source: IWorkbook): void;
518
617
  /**
519
618
  * Called when the scripts associated with the workbook have change.
520
619
  */
@@ -589,6 +688,18 @@ export declare namespace IWorkbook {
589
688
  * A unique name for the sheet.
590
689
  */
591
690
  name: string;
691
+ /**
692
+ * The origin format's own identifier for this sheet, preserved so a round trip does not
693
+ * renumber it.
694
+ *
695
+ * @remarks
696
+ * Interop only — nothing in the model reads it and nothing references it by value. It is
697
+ * arbitrary and sparse (a workbook's edit history leaves gaps, so `Jan=3, Feb=28, Mar=29` is
698
+ * ordinary) and is **not** the sheet's position: `localSheetId` on a defined name is a
699
+ * position and is resolved separately. Absent for a sheet that was never loaded from a file;
700
+ * a writer assigns one in that case.
701
+ */
702
+ sheetId?: number;
592
703
  /**
593
704
  * @defaultValue ISheet.Visibility.Visible
594
705
  */
@@ -606,7 +717,12 @@ export declare namespace IWorkbook {
606
717
  styles?: IStyleCollection.JSON;
607
718
  resources?: IResource.JSON[];
608
719
  strings?: string[];
609
- people?: IComment.PersonJSON[];
720
+ /**
721
+ * The people the workbook knows.
722
+ *
723
+ * @see {@link IWorkbook.getPeople}
724
+ */
725
+ people?: IPerson.JSON[];
610
726
  view?: IWorkbookView.JSON;
611
727
  theme?: ITheme.JSON;
612
728
  names?: INamedCollection.JSON;
@@ -616,10 +732,38 @@ export declare namespace IWorkbook {
616
732
  * position still counts, only the content does not.
617
733
  */
618
734
  externalBooks?: (IExternalBook.JSON | null)[];
619
- scripts?: Record<string, IModule.JSON>;
735
+ /**
736
+ * What should happen to the cached values of {@link externalBooks} when the workbook is opened.
737
+ *
738
+ * @remarks
739
+ * Carried, not obeyed: SheetXL never refreshes a link, so every mode behaves as `never` today.
740
+ * Absent when the source said nothing, which Excel reads as `userSet`.
741
+ */
742
+ updateLinks?: IExternalBookCollection.UpdateLinks;
743
+ /**
744
+ * The workbook's pivot caches — the source snapshots its pivot tables summarize, each shared
745
+ * by every table that references its id.
746
+ *
747
+ * @remarks
748
+ * Carried, not modeled — see {@link IPivotTable.CacheJSON}. The tables that summarize a cache
749
+ * are the modeled side; a table names its cache by {@link IPivotTable.getCacheId}.
750
+ */
751
+ pivotCaches?: IPivotTable.CacheJSON[];
752
+ /**
753
+ * The workbook's own modules, keyed by module name.
754
+ *
755
+ * @see {@link IWorkbook.getModules}
756
+ */
757
+ modules?: Record<string, IModule.JSON>;
620
758
  calc?: ICalculation.JSON;
621
759
  protection?: IWorkbookProtection.JSON;
622
760
  date1904?: boolean;
761
+ /**
762
+ * The workbook's VBA code name. Absent when it has none.
763
+ *
764
+ * @see {@link IWorkbook.getCodeName}
765
+ */
766
+ codeName?: string;
623
767
  /**
624
768
  * The regional locale as a BCP 47 tag, e.g. `de-DE`.
625
769
  *
@@ -662,23 +806,6 @@ export declare namespace IWorkbook {
662
806
  * Options available when creating an IWorkbook.
663
807
  */
664
808
  interface ConstructorOptions extends ICellContainerOptions {
665
- /**
666
- * Additional custom formula function providers, bound after the built-ins (so they override
667
- * built-ins on name collision). Each provider is the `initialize` binder produced by the
668
- * FormulaCompiler (`@sheetxl/scripting`) for a folder of formula sources.
669
- *
670
- * @see {@link FunctionProvider}
671
- */
672
- functions?: readonly FunctionProvider[];
673
- /**
674
- * A structural transform applied once to each formula parsed from `json` — cell formulas
675
- * AND defined names. This is the READ half of the format-dialect hook: a format reader
676
- * (e.g. xlsx) supplies its legacy unwrap here; it is a LOAD-time pass only and is never
677
- * applied to text typed or set after construction.
678
- *
679
- * @see {@link ICalculation.FormulaTransform}
680
- */
681
- formulaTransform?: ICalculation.FormulaTransform;
682
809
  /**
683
810
  * Hook to allow for custom sheet creation.
684
811
  */
@@ -695,9 +822,13 @@ export declare namespace IWorkbook {
695
822
  * shorthand for an unbound origin with that display name.
696
823
  *
697
824
  * @remarks
698
- * The reference is stable for the workbook's lifetime; see {@link IWorkbook.getOrigin}.
825
+ * The initial origin; a save that resolves a new destination replaces it (see
826
+ * {@link IWorkbook.getOrigin}).
827
+ *
828
+ * A host with its own save flow can pass an {@link IWorkbookIO.OriginProvider} instead and move
829
+ * it itself; the IO layer then leaves the workbook's origin to that host.
699
830
  */
700
- origin?: IWorkbookIO.Origin | string | null;
831
+ origin?: IWorkbookIO.Origin | IWorkbookIO.OriginProvider | string | null;
701
832
  /**
702
833
  * A theme for the workbook.
703
834
  */