@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
@@ -150,11 +150,11 @@ export interface ICellRanges {
150
150
  * chain to find all contributing ranges; if `false` (the default) only the direct inputs
151
151
  * are returned.
152
152
  * @remarks
153
- * Returns `null` if the ranges have no precedents.
153
+ * Resolves `null` if the ranges have no precedents.
154
154
  * @see
155
155
  * {@link ICellRanges.getDirectPrecedents} / {@link ICellRanges.getPrecedents} for the single-cell equivalents.
156
156
  */
157
- getPrecedents(entireSet?: boolean): ICellRanges | null;
157
+ getPrecedents(entireSet?: boolean): Promise<ICellRanges | null>;
158
158
  /**
159
159
  * Returns the ranges whose formulas reference these ranges.
160
160
  *
@@ -162,11 +162,11 @@ export interface ICellRanges {
162
162
  * chain to find the total impact of a value change; if `false` (the default) only the
163
163
  * immediate consumers are returned.
164
164
  * @remarks
165
- * Returns `null` if the ranges have no dependents.
165
+ * Resolves `null` if the ranges have no dependents.
166
166
  * @see
167
167
  * {@link ICellRanges.getDirectDependents} / {@link ICellRanges.getDependents} for the single-cell equivalents.
168
168
  */
169
- getDependents(entireSet?: boolean): ICellRanges | null;
169
+ getDependents(entireSet?: boolean): Promise<ICellRanges | null>;
170
170
  /**
171
171
  * {@inheritDoc ICellRange.getVisible}
172
172
  */
@@ -334,8 +334,10 @@ export interface ICellRanges {
334
334
  /**
335
335
  * {@link ICellRange.addWatch} across every area, as ONE expression authored at a shared origin.
336
336
  *
337
- * @param formula An expression, or a formula, authored at the FIRST area's top-left.
337
+ * @param formula An expression, or a formula, authored at the top-left of the bounding box of
338
+ * every area — which need not be a cell of any area.
338
339
  * @param callback Receives each area's results separately, with the area's index and the area.
340
+ * @param options How each cell is evaluated; see {@link ICellRange.WatchOptions}.
339
341
  *
340
342
  * @returns A callback removing every area's watch.
341
343
  *
@@ -343,7 +345,7 @@ export interface ICellRanges {
343
345
  * This is the form a multi-area rule wants, and the reason it exists is the anchor. A
344
346
  * conditional format over `E5:F6 E10:F11` stores ONE formula, authored at the sqref origin
345
347
  * `E5` — so `E10` must evaluate that formula FILLED to `E10`, an anchor no cell in the second
346
- * area carries. Compiling each area against its own top-left instead makes area two read area
348
+ * area carries. Over `E7:F7 B11:C11` the origin is `B7`: the areas' order does not matter. Compiling each area against its own top-left instead makes area two read area
347
349
  * one's cells: `E5>5` read from `E10` means "is the cell five rows up greater than 5".
348
350
  *
349
351
  * So the fill lives here, where the areas are known to belong to one rule, rather than on
@@ -353,7 +355,7 @@ export interface ICellRanges {
353
355
  * One watch per area — deliberately not pooled by expression. The callback therefore fires per
354
356
  * area, and an edit touching two of them delivers twice.
355
357
  */
356
- addWatch(formula: ICalculation.IFormula | string, callback: ICellRanges.WatchCallback): IListener.Remove;
358
+ addWatch(formula: ICalculation.IFormula | string, callback: ICellRanges.WatchCallback, options?: ICellRange.WatchOptions): IListener.Remove;
357
359
  /**
358
360
  * Returns an iterator that allows you to iterate over the individual values within the range.
359
361
  *
@@ -1,5 +1,8 @@
1
1
  import { IResource, IResourceCollection } from '../resource';
2
2
  import { IModel, AbstractModel } from '../model';
3
+ import { IMovable } from '../movable';
4
+ import { ICellRange } from '../cellRange';
5
+ import { IEmbeddedPart } from '../io';
3
6
  import { IChart } from './IChart';
4
7
  interface State extends AbstractModel.State {
5
8
  data?: any;
@@ -8,19 +11,56 @@ interface State extends AbstractModel.State {
8
11
  * Implementation for {@link IChart}.
9
12
  */
10
13
  export declare class Chart extends AbstractModel<State, IChart.JSON> implements IChart {
14
+ /**
15
+ * The chart's document part. Held beside {@link State.data} rather than in it because the
16
+ * resources it carries are model references, not JSON, and have to be re-persisted per save.
17
+ */
18
+ protected _part: IEmbeddedPart | null;
19
+ protected _getMovable: () => IMovable;
20
+ protected _getRange: ((address: string) => ICellRange | null) | null;
21
+ /** The markup `_facts` was read from. */
22
+ private _factsSource;
23
+ private _facts;
24
+ private _series;
25
+ private _axes;
26
+ /** The part's formulas as the engine holds them, by {@link ChartXmlFacts.slots} index. */
27
+ private _held;
11
28
  constructor(options: Chart.ConstructorOptions);
12
29
  /** {@inheritDoc IModel.getType} */
13
30
  getType(): string;
31
+ /** The captured part is read once, on first ask; most charts are never asked. */
32
+ private _getFacts;
33
+ /** The formula in `slot` as it is now: the engine's, and until it holds one the part's own. */
34
+ private _formulaAt;
35
+ private _formulaOf;
36
+ /** The cells the formula in `slot` names, when it is one plain reference. */
37
+ private _rangeAt;
38
+ /** Text read from a cell is the cell's text now; what the file cached answers where that cannot be read. */
39
+ private _textOf;
14
40
  /** {@inheritDoc IChart.getChartTitle} */
15
41
  getChartTitle(): string | null;
16
- /** {@inheritDoc IChart.getChartTye} */
42
+ /** {@inheritDoc IChart.getChartType} */
17
43
  getChartType(): string;
44
+ /** {@inheritDoc IChart.getSeries} */
45
+ getSeries(): readonly IChart.ISeries[];
46
+ /** {@inheritDoc IChart.getAxes} */
47
+ getAxes(): readonly IChart.IAxis[];
48
+ /** {@inheritDoc IChart.getPivotSource} */
49
+ getPivotSource(): string | null;
18
50
  /** {@inheritDoc Movable.Content.getDescription} */
19
51
  getDescription(): string;
52
+ /** {@inheritDoc IChart.getMovable} */
53
+ getMovable(): IMovable;
54
+ /** {@inheritDoc IChart.getXML} */
55
+ getXML(): string | null;
20
56
  /** {@inheritDoc Movable.Content.toJSON} */
21
- toJSON(_toResourceId?: (resource: IResource) => number | null): IChart.JSON | null;
57
+ toJSON(toResourceId?: (resource: IResource) => number | null): IChart.JSON | null;
22
58
  /** {@inheritDoc Movable.Content.getTypeDescription} */
23
59
  getTypeDescription(): string;
60
+ /** @internal */
61
+ protected _processDelete(): void;
62
+ /** {@inheritDoc IChart.isIChart} */
63
+ get isIChart(): true;
24
64
  }
25
65
  /**
26
66
  * Interfaces for creating `Chart` items.
@@ -47,6 +87,36 @@ export declare namespace Chart {
47
87
  * Allow for the default lock aspect ratio to be overwritten.
48
88
  */
49
89
  defaultLockAspectRatio?: boolean;
90
+ /**
91
+ * Resolves the movable this chart is the content of.
92
+ *
93
+ * @remarks
94
+ * Called when asked, not at construction — the content is built before its movable is.
95
+ */
96
+ getMovable: () => IMovable;
97
+ /**
98
+ * Resolves a sheet-qualified address in the chart's workbook.
99
+ */
100
+ getRange?: (address: string) => ICellRange | null;
101
+ /**
102
+ * Hands the chart's formulas to the calculation engine, which keeps their references on the
103
+ * cells they name through inserts, deletes, moves and sheet renames.
104
+ *
105
+ * @param getExpressions Asked once, when the engine can compile.
106
+ */
107
+ holdFormulas?: (getExpressions: () => readonly string[]) => Chart.HeldFormulas;
108
+ }
109
+ /**
110
+ * A chart's formulas as the calculation engine holds them.
111
+ */
112
+ interface HeldFormulas {
113
+ /**
114
+ * The formula at `index` as it reads now, or `null` while it reads as it was handed over:
115
+ * the engine does not hold it, or nothing has moved what it names.
116
+ */
117
+ getText(index: number): string | null;
118
+ /** Takes the formulas out of the engine, as part of the current operation. */
119
+ release(): void;
50
120
  }
51
121
  }
52
122
  export {};
@@ -0,0 +1,26 @@
1
+ import { ICollection, AbstractCollection } from '../type';
2
+ import { IListener } from '../listener';
3
+ import { IMovableCollection } from '../movable';
4
+ import { IChart } from './IChart';
5
+ import { IChartCollection } from './IChartCollection';
6
+ /**
7
+ * Implementation for {@link IChartCollection}.
8
+ *
9
+ * @remarks
10
+ * A live view over the movables — no store of its own and no event of its own. The movables'
11
+ * `onCollectionChange` is forwarded as this collection's, with this collection as the source;
12
+ * deleting the movable is deleting the chart.
13
+ */
14
+ export declare class ChartCollection extends AbstractCollection<IChart> implements IChartCollection {
15
+ private _movables;
16
+ constructor(movables: IMovableCollection);
17
+ /** {@inheritDoc AbstractCollection._getItems} */
18
+ protected _getItems(): IChart[];
19
+ /** {@inheritDoc IChartCollection.getByName} */
20
+ getByName(name: string): IChart | null;
21
+ /** {@inheritDoc ICollection.addListeners} */
22
+ addListeners(listeners: ICollection.IListeners, options?: IListener.Options): IListener.Remove;
23
+ /** {@inheritDoc IChartCollection.isIChartCollection} */
24
+ get isIChartCollection(): true;
25
+ }
26
+ //# sourceMappingURL=ChartCollection.d.ts.map
@@ -1,16 +1,83 @@
1
1
  import { IListener } from '../listener';
2
2
  import { IResource } from '../resource';
3
3
  import { IModel } from '../model';
4
+ import { IMovable } from '../movable';
5
+ import { IEmbeddedPart } from '../io';
6
+ import { ICellRange } from '../cellRange';
4
7
  /**
5
- * Interface for working with Charts.
8
+ * Interface for working with a chart.
6
9
  *
7
- * **PLACEHOLDER** - This is under development and not made public yet.
10
+ * @remarks
11
+ * A chart is the content of a movable, which places and names it — see {@link IChart.getMovable}.
12
+ * Until the chart is modeled it is carried as the markup it was read from and written back
13
+ * unchanged; {@link IChart.getXML} is the read-only view of that markup.
8
14
  */
9
15
  export interface IChart extends IModel {
10
- toJSON(toResourceId?: (resource: IResource) => number | null): IChart.JSON | null;
16
+ /**
17
+ * Returns the chart's title, or `null` if it has none.
18
+ *
19
+ * @remarks
20
+ * A title that is a reference to a cell reads as that cell's text. A chart with no title of its
21
+ * own answers `null` even where an application would draw one for it — a single series' name,
22
+ * or a placeholder.
23
+ */
11
24
  getChartTitle(): string | null;
25
+ /**
26
+ * Returns the chart's type, or `'unknown'`.
27
+ *
28
+ * @remarks
29
+ * `'column'`, `'bar'`, `'line'`, `'area'`, `'pie'`, `'doughnut'`, `'scatter'`, `'bubble'`,
30
+ * `'radar'`, `'stock'`, `'surface'`, `'waterfall'`, `'funnel'`, `'treemap'`, `'sunburst'`,
31
+ * `'histogram'`, `'boxWhisker'` and so on. A stacked chart says so after the type —
32
+ * `'columnStacked'`, `'areaPercentStacked'`. A chart whose series are not all drawn the same way
33
+ * is `'combo'`, and {@link IChart.ISeries.getChartType} says how each one is drawn.
34
+ */
12
35
  getChartType(): string;
36
+ /**
37
+ * Returns the series the chart plots, in the order they are listed.
38
+ *
39
+ * @remarks
40
+ * What a series plots is stated as formulas, which follow the cells they name: inserting a row
41
+ * above the data moves them, and deleting the data leaves `#REF!`.
42
+ */
43
+ getSeries(): readonly IChart.ISeries[];
44
+ /**
45
+ * Returns the axes the chart shows. A pie has none.
46
+ */
47
+ getAxes(): readonly IChart.IAxis[];
48
+ /**
49
+ * Returns the name of the pivot table the chart draws, or `null` if it is not a pivot chart.
50
+ *
51
+ * @remarks
52
+ * A pivot chart's series are the pivot table's: they change with its layout, and the ranges its
53
+ * series name are wherever the table last put them.
54
+ */
55
+ getPivotSource(): string | null;
56
+ /**
57
+ * Returns a description for assistive technologies.
58
+ */
13
59
  getDescription(): string;
60
+ /**
61
+ * Returns the movable that places the chart on the sheet.
62
+ *
63
+ * @remarks
64
+ * The movable holds the chart's position, size and name; the chart keeps no copy of any of
65
+ * them. Deleting the movable deletes the chart.
66
+ */
67
+ getMovable(): IMovable;
68
+ /**
69
+ * Returns the chart's own markup, or `null` if none was captured.
70
+ *
71
+ * @remarks
72
+ * Read-only, and the one escape hatch for what the chart does not model yet: it is the
73
+ * `<c:chartSpace>` the chart was read from, not the parts that markup references, with its
74
+ * formulas as they are now. It will be removed when the chart is modeled.
75
+ */
76
+ getXML(): string | null;
77
+ /** @internal */
78
+ toJSON(toResourceId?: (resource: IResource) => number | null): IChart.JSON | null;
79
+ /** For runtime type checking. */
80
+ readonly isIChart: true;
14
81
  }
15
82
  /**
16
83
  * {@inheritDoc IChart}
@@ -20,6 +87,88 @@ export interface IChart extends IModel {
20
87
  * {@link IChart}
21
88
  */
22
89
  export declare namespace IChart {
90
+ /**
91
+ * One series of a chart: what it is called and the cells it plots.
92
+ *
93
+ * @remarks
94
+ * Each part of a series is stated as a formula — `Sales!$C$4:$C$15` — the way the file and a
95
+ * chart's own dialog state it. The formula is the contract: it is what can say `#REF!`, name a
96
+ * defined name, or point at another workbook. The `get…Range` forms resolve the plain case.
97
+ */
98
+ interface ISeries {
99
+ /**
100
+ * Returns the series' name, or `null` if it has none.
101
+ *
102
+ * @remarks
103
+ * A name that is a reference to a cell reads as that cell's text.
104
+ */
105
+ getName(): string | null;
106
+ /**
107
+ * Returns the formula naming the series — `Sales!$C$3` — or `null` when the name is written
108
+ * into the chart, or there is none.
109
+ */
110
+ getNameFormula(): string | null;
111
+ /**
112
+ * Returns the formula for the values plotted, or `null` if the series states none.
113
+ *
114
+ * @remarks
115
+ * Values written into the chart rather than read from cells are an array literal: `{1,2,3}`.
116
+ */
117
+ getValuesFormula(): string | null;
118
+ /**
119
+ * Returns the formula for the categories the values are plotted against — the x values of a
120
+ * scatter or bubble series — or `null` if the series states none.
121
+ */
122
+ getCategoriesFormula(): string | null;
123
+ /**
124
+ * Returns the cells {@link getNameFormula} names, or `null`.
125
+ *
126
+ * @see {@link getValuesRange} for when there are none to return.
127
+ */
128
+ getNameRange(): ICellRange | null;
129
+ /**
130
+ * Returns the cells {@link getValuesFormula} names.
131
+ *
132
+ * @returns `null` when the formula is not one plain reference into this workbook: an array
133
+ * literal, a defined name, several areas, another workbook, or `#REF!`.
134
+ */
135
+ getValuesRange(): ICellRange | null;
136
+ /**
137
+ * Returns the cells {@link getCategoriesFormula} names, or `null`.
138
+ *
139
+ * @see {@link getValuesRange} for when there are none to return.
140
+ */
141
+ getCategoriesRange(): ICellRange | null;
142
+ /**
143
+ * Returns how the series is drawn. The same as {@link IChart.getChartType} except in a combo.
144
+ */
145
+ getChartType(): string;
146
+ /**
147
+ * Returns `true` if the series is plotted against the secondary axes.
148
+ */
149
+ isSecondaryAxis(): boolean;
150
+ }
151
+ /**
152
+ * One axis of a chart.
153
+ */
154
+ interface IAxis {
155
+ /**
156
+ * Returns what the axis measures: categories, values, dates, or — on a surface or 3-D chart —
157
+ * the series themselves.
158
+ */
159
+ getKind(): 'category' | 'value' | 'date' | 'series';
160
+ /**
161
+ * Returns the axis title, or `null` if it has none.
162
+ *
163
+ * @remarks
164
+ * Often the only place the units of a chart are stated.
165
+ */
166
+ getTitle(): string | null;
167
+ /**
168
+ * Returns the number format of the axis labels, or `null` if the axis states none.
169
+ */
170
+ getNumberFormat(): string | null;
171
+ }
23
172
  interface JSON {
24
173
  /** Opaque source XML fragment, captured verbatim from the source file and replayed as-is on
25
174
  * save, for whatever this chart doesn't (yet) model structurally. */
@@ -27,12 +176,16 @@ export declare namespace IChart {
27
176
  /** Original `cNvPr` id from the captured source fragment, if any; used to avoid id collisions
28
177
  * with freshly-generated ids on write. */
29
178
  sourceId?: number;
30
- /** The literal `r:id` referencing the chart part inside `xml`, rewritten to match on write —
31
- * `DrawingEmitter` regenerates the drawing part's own rels, so the id `xml` was captured with
32
- * is not guaranteed to still be free. */
33
- chartRelId?: string;
34
- /** The chart part's absolute OPC path (e.g. "xl/charts/chart1.xml"), used to re-link `chartRelId`. */
35
- chartTargetPath?: string;
179
+ /**
180
+ * The chart's own document part, and the parts that part references.
181
+ *
182
+ * @remarks
183
+ * The chart is carried as the markup it was read from until it is modeled; this is that markup
184
+ * and everything it needs to stay valid — its style and color definitions, the shapes drawn
185
+ * over it, an embedded workbook holding its data. {@link IChart.getXML} is the readable view
186
+ * of the chart's own markup; the rest is for writing the chart back out.
187
+ */
188
+ part?: IEmbeddedPart.JSON;
36
189
  }
37
190
  interface Events extends IModel.Events {
38
191
  }
@@ -0,0 +1,25 @@
1
+ import { ICollection } from '../type';
2
+ import { IChart } from './IChart';
3
+ /**
4
+ * Holds the {@link IChart | charts} on a sheet.
5
+ *
6
+ * @remarks
7
+ * A view over the sheet's movables: a chart is the content of a movable, and the movable is what
8
+ * places, names and deletes it — see {@link IChart.getMovable}. Read-only for now; a chart is
9
+ * added by adding a movable with chart content.
10
+ */
11
+ export interface IChartCollection extends ICollection<IChart> {
12
+ /**
13
+ * Returns the charts, in the order of their movables.
14
+ */
15
+ getItems(options?: ICollection.GetItemsOptions): IChart[];
16
+ /**
17
+ * Returns the chart whose movable has the given name, or `null` if there is none.
18
+ *
19
+ * @param name The name of the chart. This is case insensitive.
20
+ */
21
+ getByName(name: string): IChart | null;
22
+ /** For runtime type checking. */
23
+ readonly isIChartCollection: true;
24
+ }
25
+ //# sourceMappingURL=IChartCollection.d.ts.map
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Reads what a chart's captured part can answer without a chart model behind it: what it plots,
3
+ * what kind of chart it is, and what it and its axes are called.
4
+ *
5
+ * @remarks
6
+ * An imported chart is kept as the source's markup ({@link IChart.JSON.part}) and replayed on save.
7
+ * Both chart vocabularies are read — `c:chartSpace`, and `cx:chartSpace` for the chart types added
8
+ * after it (waterfall, funnel, treemap, sunburst, histogram, box and whisker).
9
+ *
10
+ * Every formula in the part is also located ({@link ChartXmlFacts.slots}), because a formula is
11
+ * the one thing in the part that is not replayed verbatim: see {@link writeChartFormulas}.
12
+ */
13
+ /** One formula in the part: its text, and where that text is in the markup. */
14
+ export interface ChartFormulaSlot {
15
+ /** The formula as the part states it, entities decoded. */
16
+ text: string;
17
+ start: number;
18
+ end: number;
19
+ }
20
+ /** A piece of chart text: written in the chart, or read from a cell. */
21
+ export interface ChartTextFacts {
22
+ /** The literal text, or what the cell held when the file was saved. */
23
+ text: string | null;
24
+ /** The {@link ChartXmlFacts.slots} index of the formula naming the cell, or `null` for a literal. */
25
+ slot: number | null;
26
+ }
27
+ /** A series dimension: the cells it reads, or the values written into the chart. */
28
+ export interface ChartSourceFacts {
29
+ slot: number | null;
30
+ /** `{1,2,3}` — a dimension with no cells behind it. */
31
+ literal: string | null;
32
+ }
33
+ export interface ChartSeriesFacts {
34
+ type: string;
35
+ name: ChartTextFacts;
36
+ values: ChartSourceFacts;
37
+ categories: ChartSourceFacts;
38
+ secondary: boolean;
39
+ }
40
+ export interface ChartAxisFacts {
41
+ kind: 'category' | 'value' | 'date' | 'series';
42
+ title: ChartTextFacts;
43
+ numberFormat: string | null;
44
+ }
45
+ /** What {@link readChartXml} answers with. */
46
+ export interface ChartXmlFacts {
47
+ type: string;
48
+ title: ChartTextFacts;
49
+ series: ChartSeriesFacts[];
50
+ axes: ChartAxisFacts[];
51
+ /** `c:pivotSource/c:name` — the pivot table a pivot chart draws, as the part names it. */
52
+ pivotSource: string | null;
53
+ slots: ChartFormulaSlot[];
54
+ }
55
+ /**
56
+ * Reads a captured chart part.
57
+ *
58
+ * @param xml The part as captured on import.
59
+ * @returns `null` when `xml` holds no chart.
60
+ */
61
+ export declare const readChartXml: (xml: string) => ChartXmlFacts | null;
62
+ /**
63
+ * The part with its formulas restated.
64
+ *
65
+ * @param xml The part {@link readChartXml} read `slots` from.
66
+ * @param texts The formula for each slot, or `null` to leave what the part says.
67
+ * @returns `xml` itself when nothing is restated.
68
+ */
69
+ export declare const writeChartFormulas: (xml: string, slots: readonly ChartFormulaSlot[], texts: readonly (string | null)[]) => string;
70
+ //# sourceMappingURL=_ChartXml.d.ts.map
@@ -1,5 +1,3 @@
1
- /**
2
- * @hidden
3
- */
4
1
  export * from './IChart';
2
+ export * from './IChartCollection';
5
3
  //# sourceMappingURL=index.d.ts.map
@@ -23,7 +23,7 @@ export declare class ArraysGrid<T = any> implements IGrid<T> {
23
23
  getCoords(): RangeCoords | null;
24
24
  /** {@inheritDoc IGrid.setValues} */
25
25
  setValues(_values: Tuple.GridTuple): this;
26
- getValues(coords?: RangeCoords): Tuple.BoundedTuples<T> | null;
26
+ getValues(coords?: RangeCoords): Tuple.Region<T> | null;
27
27
  /** {@inheritDoc IGrid.getAxis} */
28
28
  getAxis(): RangeAxis;
29
29
  /** {@inheritDoc IGrid.delete} */
@@ -42,7 +42,7 @@ export interface IGrid<T = any> {
42
42
  * * Results `null` if there are no values
43
43
  * * If `coords` is not provided then all values will be retrieved.
44
44
  */
45
- getValues(coords?: RangeCoords): Tuple.BoundedTuples<T> | null;
45
+ getValues(coords?: RangeCoords): Tuple.Region<T> | null;
46
46
  /**
47
47
  * Returns an iterator for traversing entries in the IGrid.
48
48
  *
@@ -12,6 +12,15 @@ export interface ISparseGrid<T = any> extends IGrid<T> {
12
12
  * Sparse grids are stored as virtual tuples of [major, minor, value].
13
13
  */
14
14
  getRuns(options?: ISparseGrid.RunIteratorOptions): ISparseGrid.RunIterableIterator<T>;
15
+ /**
16
+ * `true` when the grid reports which cells are read.
17
+ *
18
+ * @remarks
19
+ * A consumer that could answer from a structure derived off the stored runs — an index that
20
+ * opens no cell — must instead read the cells it stands for, so that the report stays exact.
21
+ * The calculation sets this on the grid a formula reads while its reads decide circularity.
22
+ */
23
+ readonly observesReads?: boolean;
15
24
  }
16
25
  /**
17
26
  * {@inheritDoc ISparseGrid}
@@ -55,14 +55,21 @@ export interface ISpatialMap<T = any> extends ISpatialQuery<T> {
55
55
  */
56
56
  insertNonOverlapping(entry: ISpatialMap.Entry<T>, options?: ISpatialMap.InsertNonOverlappingOptions<T>): this;
57
57
  /**
58
- * TODO - remove this.
58
+ * {@link insertNonOverlapping} for several entries, merging once for all of them.
59
59
  *
60
- * @param entries the entries to manage together
61
- * @param uuid A unique identifier for the group.
60
+ * @param entries The entries to add, applied in order.
61
+ * @param options Options for adding non overlapping options.
62
+ *
63
+ * @remarks
64
+ * Equivalent to calling {@link insertNonOverlapping} for each entry in turn - a later entry wins
65
+ * over an earlier one where they overlap - but the merge pass runs once over the entries' union
66
+ * rather than once per entry. Each merge pass searches the entries' neighborhood, so this is
67
+ * worth reaching for when the entries are near one another, as the pieces of one region are.
62
68
  *
63
- * @deprecated Use AnchorMap instead
69
+ * * As with {@link insertNonOverlapping}, `load` is far cheaper when the entries are known not to
70
+ * overlap anything already in the map.
64
71
  */
65
- insertGroup(entries: ISpatialMap.Entry[], uuid: string): this;
72
+ insertAllNonOverlapping(entries: readonly ISpatialMap.Entry<T>[], options?: ISpatialMap.InsertNonOverlappingOptions<T>): this;
66
73
  /**
67
74
  * Returns a set of non overlapping inserts and removes that would represent a copy.
68
75
  *
@@ -141,10 +148,6 @@ export declare namespace ISpatialMap {
141
148
  interface Entry<T = any> extends RangeCoords {
142
149
  value?: T;
143
150
  uuid?: string;
144
- /**
145
- * If the entry is the results of a split or a merge.
146
- */
147
- lastId?: string;
148
151
  }
149
152
  /**
150
153
  * Optional interface for spatial map values that need custom behavior
@@ -330,13 +333,6 @@ export declare namespace ISpatialMap {
330
333
  * Called when a group of ranges are merged together.
331
334
  */
332
335
  onMerged?(onMerges: ISpatialMap.Entry<T>[]): void;
333
- /**
334
- * Called when a group is updated.
335
- *
336
- * @param entries All entries in the group.
337
- * @param uuid Any params argument passed a modification option.
338
- */
339
- onGroupUpdate?(entries: ISpatialMap.Entry<T>[], uuid?: string): void;
340
336
  /**
341
337
  * Called after structure has been updated with for any reason with all
342
338
  * inserts and removes.
@@ -355,14 +351,42 @@ export declare namespace ISpatialMap {
355
351
  */
356
352
  isTrailingEdge?: boolean;
357
353
  /**
358
- * Indicates if the entries should split when the range is expanding.
354
+ * Whether an insert that lands INSIDE an entry cuts it in two rather than growing it.
359
355
  *
360
- * @defaultValue `false`
356
+ * @defaultValue `false` - the entry expands to cover the inserted cells.
361
357
  *
362
358
  * @remarks
363
- * Examples include formula, comments, and conditional formatting
359
+ * Insert a column at `B` under an entry on `A1:C3`: `true` leaves `A1:A3` and `C1:D3`, `false`
360
+ * leaves `A1:D3`. A comment or a hyperlink is per-cell and cuts; a table grows, which is what
361
+ * a spreadsheet does when you insert a column inside one.
362
+ *
363
+ * Only asked of an entry that {@link isSplittable}, and only of an insert.
364
364
  */
365
365
  isSplitOnExpand?: boolean;
366
+ /**
367
+ * Whether an entry may be cut into pieces at all.
368
+ *
369
+ * @defaultValue `true`
370
+ *
371
+ * @remarks
372
+ * A property of what the entries ARE, not of any one operation. `false` says this entry is
373
+ * indivisible: it moves, it grows and it dies, but it never becomes two.
374
+ *
375
+ * It decides what a PARTIAL shift does. Insert one cell at `A1`, shifting down, under an entry
376
+ * on `A1:C3` - only the cells in the band moved, so:
377
+ *
378
+ * * splittable, the entry fragments into the part that moved and the part that did not:
379
+ * `$A$2:$A$4,$B$1:$C$3`. A style, a comment, a conditional format's applies-to.
380
+ * * indivisible, the whole entry moves, per axis: `A2:C4`. That is what a formula precedent
381
+ * does, and a range listener's anchor is the same kind of thing.
382
+ *
383
+ * Both shift. The difference is only whether the entry can come apart.
384
+ *
385
+ * TODO - the shift path is the only one that asks. A partial CLEAR fragments an entry through
386
+ * the model's own `setCoords` without ever reaching here, so an indivisible entry is only
387
+ * indivisible under a shift.
388
+ */
389
+ isSplittable?: boolean;
366
390
  /**
367
391
  * If `true` then after shift any shift entries will attempt to be merged to their nearest neighbors.
368
392
  *
@@ -421,10 +445,15 @@ export declare namespace ISpatialMap {
421
445
  */
422
446
  interface InsertNonOverlappingOptions<T> {
423
447
  /**
424
- * Callback function that will be be called on insert.
448
+ * Decides what each piece of the insert becomes, against what was there.
425
449
  *
426
450
  * @remarks
427
- * If see this will be called for each new entry creation with the original entry.
451
+ * Called for EVERY piece the insert is cut into, not only the intersecting ones: `orig` is the
452
+ * entry the piece lands on, or the piece itself with a `null` value where nothing was there.
453
+ * `adj` is the piece with the inserted value. The returned entry is what the map keeps at
454
+ * that piece; a `null` value (or `null`) culls it. So a callback that keeps the existing value
455
+ * must supply one where there is none - `orig.value ?? adj.value` - or the insert silently
456
+ * lands nowhere. The default replaces the value and keeps the piece.
428
457
  */
429
458
  onIntersect?: (orig: ISpatialMap.Entry<T>, adj: ISpatialMap.Entry<T>) => ISpatialMap.Entry<T>;
430
459
  onUpdates?(inserts: ISpatialMap.Entry<T>[], removes: ISpatialMap.Entry<T>[], spatial: ISpatialMap): void;
@@ -477,12 +506,21 @@ export declare namespace ISpatialMap {
477
506
  interface IConflatingEntries<T = any> {
478
507
  /**
479
508
  * Append a major minor value with an optional value. The value can be left empty if the value is not needed or can be derived from the major and minor.
509
+ *
510
+ * Appends are ordered. The last cell may be appended again only if the entries were made to
511
+ * combine its values; it then leaves the run it was conflated into.
480
512
  */
481
513
  append: (major: number, minor: number, value?: T) => void;
482
514
  /**
483
515
  * Returns the conflated entries. If `merge` is `true` then adjacent entries will be merged into a single entry with a range that covers both entries. If `false` then each entry will be returned as-is.
484
516
  */
485
517
  done: (merge?: boolean) => ISpatialMap.Entry<T>[];
518
+ /**
519
+ * The entry appended so far that covers a position, before {@link done}.
520
+ *
521
+ * @returns `undefined` if nothing was appended there.
522
+ */
523
+ find: (major: number, minor: number) => ISpatialMap.Entry<T> | undefined;
486
524
  }
487
525
  }
488
526
  export interface ISpatialQuery<T = any> {