@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,214 @@
1
+ import { Scalar, IRange } from '@sheetxl/primitives';
2
+ import { CoordUtils } from '@sheetxl/utils';
3
+ import { ITransaction } from '../transaction';
4
+ import { Tuple, ISpatialMap } from '../collections';
5
+ import { ICellRange } from '../cellRange';
6
+ import { ICell } from '../cell';
7
+ import { IStyle } from '../style';
8
+ import { InternalTupleUpdate } from './_SheetStateTypes';
9
+ import { SheetMutationContext } from './Sheet';
10
+ import { ScanStyleUpdate } from './_SheetMutations';
11
+ /**
12
+ * What {@link CellBuffer} needs from its sheet.
13
+ * @internal
14
+ */
15
+ export interface CellBufferContext {
16
+ readonly isDataColumn: boolean;
17
+ readonly transactions: ITransaction.IStore;
18
+ /**
19
+ * The records a flush writes: the sheet's, and the calculation's it marks dirty. A read of one
20
+ * from the store makes the held writes first.
21
+ */
22
+ readonly writes: readonly string[];
23
+ isClosed(): boolean;
24
+ getEntireCoords(): IRange.Coords | null;
25
+ /**
26
+ * The sheet's spills as `transaction` sees them - a read that does not flush: nothing a held
27
+ * write makes changes them.
28
+ */
29
+ getSpills(transaction: ITransaction): ISpatialMap;
30
+ /**
31
+ * Whether a style update written to one cell changes that cell alone, as `transaction` sees the
32
+ * sheet; see {@link CellBuffer.holdStyle}.
33
+ */
34
+ isLocalStyle(transaction: ITransaction, rowIndex: number, colIndex: number, update: IStyle.Update): boolean;
35
+ /** What the sheet's cell writes are made through; the held ones are scanned and written with it. */
36
+ getMutations(): SheetMutationContext;
37
+ }
38
+ /**
39
+ * Single-cell writes made inside an open transaction, held and made as ONE write when something
40
+ * needs them made.
41
+ *
42
+ * @remarks
43
+ * A loop that writes a cell per call makes one full write per cell, and leaves one formula block
44
+ * per cell. Held, the loop is one write, and the formulas in it conflate into runs as they do in
45
+ * one `setValues`.
46
+ *
47
+ * A held run IS that one write, left open: each cell goes through the write's own scan as it
48
+ * comes ({@link scanCell}), and making the run is the scan's finish ({@link finishTupleScan}). So
49
+ * a cell is resolved once, by the rules of any other write, and what the scan refuses it refuses
50
+ * at the call.
51
+ *
52
+ * Holding has no outward behavior. Inside a transaction the events and the undo step are the
53
+ * transaction's anyway, and everything that could see the difference makes the held writes first
54
+ * (`ITransaction.Hooks`): a read of a record they change - the sheet's, or the calculation's they
55
+ * mark dirty - a transaction beginning inside the one that holds them, and its commit. Only what
56
+ * cannot fail once scanned is held: a write that is part of an array, or that carries a merge, a
57
+ * hyperlink or comments, is made as it comes, after the held ones. A LOCKED sheet is held like any
58
+ * other: the scan rules on every cell against its exemptions and throws at the call, and the run
59
+ * it makes stands its commit-time catch-all down exactly as one `setValues` over those cells does.
60
+ *
61
+ * A scan asks for its cells in one order. The sheet stores along its major axis and a loop usually
62
+ * writes across it (row by row into a column-major sheet), so the order is decided by the second
63
+ * cell written, and the scan and the {@link Tuple.IBuilder} the values are placed in follow it. A
64
+ * write that does not continue that order - a step back, a second value to the same cell, a change
65
+ * between `updateCells` and `setValue` - flushes what is held and starts a new run.
66
+ *
67
+ * A style set on a cell on its own ({@link holdStyle}) is held in the same run: styling the cell
68
+ * just written, or styling it again, continues it. The styles of a cell styled more than once are
69
+ * written in the order they were set.
70
+ *
71
+ * The first write of a run is scanned on its own, within its one cell. The second begins the scan
72
+ * the run keeps - over the whole sheet, since where the run ends is not known - and the first
73
+ * cell goes through it again. A loop that makes every write as it comes never pays for the sheet.
74
+ *
75
+ * A read of a held cell answers from what the scan has: the value from the builder it was placed
76
+ * in, and a clear, a formula or a style from the scan's collectors. Nothing is kept by cell.
77
+ * @internal
78
+ */
79
+ export declare class CellBuffer {
80
+ private readonly _ctx;
81
+ private _transaction;
82
+ private _count;
83
+ private _isCell;
84
+ private _scan;
85
+ private _isBeginning;
86
+ private _isOriented;
87
+ private _isTransposed;
88
+ private _builder;
89
+ private _changes;
90
+ private _firstWrites;
91
+ private _firstValue;
92
+ private _lastMajor;
93
+ private _lastMinor;
94
+ private _isValueAtLast;
95
+ private _hasValues;
96
+ private _majorMin;
97
+ private _majorMax;
98
+ private _minorMin;
99
+ private _minorMax;
100
+ private _generation;
101
+ constructor(ctx: CellBufferContext);
102
+ /** Whether any write is held. */
103
+ isHolding(): boolean;
104
+ /**
105
+ * Holds a write if it can be held.
106
+ *
107
+ * @returns `true` if the write is held; `false` if it is to be made as it comes.
108
+ */
109
+ hold(boundedTuples: Tuple.Region<ICell.Update> | null, options: ICellRange.UpdateCellsOptions | undefined, coordValidator: CoordUtils.CoordValidator | null | undefined, internalOptions: InternalTupleUpdate | null): boolean;
110
+ /**
111
+ * Holds a style set on one cell on its own, if it can be held.
112
+ *
113
+ * @param isLocal Whether the update changes only its cell - asked only once the rest allows the
114
+ * hold. A border changes the neighbor's edge and a continuous alignment is drawn across the
115
+ * neighbors, and a read of a neighbor does not see a held write.
116
+ * @returns `true` if the style is held; `false` if it is to be written as it comes.
117
+ */
118
+ holdStyle(rowIndex: number, colIndex: number, update: IStyle.Update, options: IStyle.UpdateOptions | undefined, isLocal: () => boolean): boolean;
119
+ private _holdIn;
120
+ /**
121
+ * The transaction the held writes are made into. While any is held it is the innermost one, and
122
+ * a read through it sees the sheet without them and does not make them.
123
+ */
124
+ getTransaction(): ITransaction | null;
125
+ /**
126
+ * What a read of a cell's value returns once the held writes are made, answered without making
127
+ * them.
128
+ *
129
+ * @remarks
130
+ * The answer is the value the scan stores: a number as the write normalizes it, text as the
131
+ * write coerced and cut it, `null` for a cleared cell - and for a formula, which has no value
132
+ * until it is calculated.
133
+ *
134
+ * @returns The value; {@link CellBuffer.NotHeld} if no held write is to the cell's value - none
135
+ * is to the cell, or it writes a style alone, or it is a merged cell other than its first - so
136
+ * the sheet as it is answers.
137
+ */
138
+ read(rowIndex: number, colIndex: number): Scalar | typeof CellBuffer.NotHeld;
139
+ /** {@link read}, at `major`/`minor` in the scan's orientation. */
140
+ private _valueAt;
141
+ /**
142
+ * What a held write leaves in its cell, answered without making the held writes.
143
+ *
144
+ * @returns The value, the formula text (`null` for none) and the style update; {@link
145
+ * CellBuffer.NotHeld} if no held write is to the cell; `undefined` if the held write has to be
146
+ * made to know - it clears the cell's style, link and comments.
147
+ */
148
+ readCell(rowIndex: number, colIndex: number): CellBuffer.HeldCell | typeof CellBuffer.NotHeld | undefined;
149
+ /**
150
+ * The style update a held write carries to its cell - an implied one included, such as the
151
+ * number format of text that reads as a date - or the styles set on it on their own, in order.
152
+ *
153
+ * @returns The update; `undefined` if the held writes leave the cell's style as it is.
154
+ */
155
+ readStyleUpdate(rowIndex: number, colIndex: number): ScanStyleUpdate | undefined;
156
+ /**
157
+ * Whether the run `generation` counted is still held: neither made nor dropped.
158
+ *
159
+ * @see {@link getGeneration}
160
+ */
161
+ isHeldGeneration(generation: number): boolean;
162
+ /** Identifies the run being held; see {@link isHeldGeneration}. */
163
+ getGeneration(): number;
164
+ /** Makes the held writes, as one. */
165
+ flush(): void;
166
+ /** Drops the held writes: the transaction they were made in rolled back, or the sheet closed. */
167
+ discard(): void;
168
+ private _toRange;
169
+ /**
170
+ * Whether a write at `major`/`minor`, in the sheet's orientation, continues the run held.
171
+ *
172
+ * @param isCell The kind of value write; `null` for a style set on its own, which may also be to
173
+ * the cell last written.
174
+ */
175
+ private _continues;
176
+ /** Begins a scan for the run. */
177
+ private _begin;
178
+ /** Scans one cell; `major`/`minor` in the scan's orientation. */
179
+ private _scanCell;
180
+ private _beginRun;
181
+ private _orientTo;
182
+ /**
183
+ * Scans and holds one write that continues the run, at `major`/`minor` in the sheet's
184
+ * orientation.
185
+ *
186
+ * @returns `false` if the scan refused it; it is not held then, and the run is as it was.
187
+ */
188
+ private _push;
189
+ /** Holds a style set on its own, continuing the run, at `major`/`minor` in the sheet's orientation. */
190
+ private _pushStyle;
191
+ /**
192
+ * The second cell written decides the run's order: the run's scan begins, over the whole sheet,
193
+ * and the writes to the first cell go through it again, in order.
194
+ */
195
+ private _orient;
196
+ private _clear;
197
+ }
198
+ /** @internal */
199
+ export declare namespace CellBuffer {
200
+ /** {@link CellBuffer.read}: no held write is to the cell. */
201
+ const NotHeld: unique symbol;
202
+ /** {@link CellBuffer.readCell}: what the held writes leave in their cell. */
203
+ interface HeldCell {
204
+ /** The value written; `null` too when {@link isValueHeld} is `false`. */
205
+ value: Scalar;
206
+ /** `false` if no held write is to the cell's value: the sheet's stands. */
207
+ isValueHeld: boolean;
208
+ /** The run's formula imaged at the cell, without a leading `=`; `null` for none. */
209
+ formula: string | null;
210
+ /** The style updates held for the cell, an implied one included; `undefined` for none. */
211
+ style: ScanStyleUpdate | undefined;
212
+ }
213
+ }
214
+ //# sourceMappingURL=_CellBuffer.d.ts.map
@@ -28,6 +28,7 @@ export declare class InvalidSheetRanges extends SheetRanges {
28
28
  insert(): this;
29
29
  delete(): this;
30
30
  insertFrom(): Promise<this | null>;
31
+ canInsertFrom(): boolean;
31
32
  getSnapshot(): ICellRange.ISnapshot;
32
33
  copyFrom(): Promise<this | null>;
33
34
  getEntireRows(): this;
@@ -41,10 +42,10 @@ export declare class InvalidSheetRanges extends SheetRanges {
41
42
  getStats(): IRangeStats;
42
43
  getCounts(): ICellRange.Counts;
43
44
  getRegions(): ICellRegions;
44
- getDirectPrecedents(): ICellRanges | null;
45
- getDirectDependents(): ICellRanges | null;
46
- getPrecedents(): ICellRanges | null;
47
- getDependents(): ICellRanges | null;
45
+ getDirectPrecedents(): Promise<ICellRanges | null>;
46
+ getDirectDependents(): Promise<ICellRanges | null>;
47
+ getPrecedents(): Promise<ICellRanges | null>;
48
+ getDependents(): Promise<ICellRanges | null>;
48
49
  isContentful(): boolean;
49
50
  getRowCount(): number;
50
51
  getColumnCount(): number;
@@ -58,7 +59,6 @@ export declare class InvalidSheetRanges extends SheetRanges {
58
59
  isSingleCell(): boolean;
59
60
  isEqual(): boolean;
60
61
  getFixed(): this;
61
- getCount(): number;
62
62
  at(): ICellRange;
63
63
  doBatch<R>(): R | Promise<R>;
64
64
  getCoords(): readonly Readonly<IRange.FixableCoords>[];
@@ -0,0 +1,104 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ import { ISpatialMap } from '../collections';
3
+ import { IListener } from '../listener';
4
+ import { IAnchored } from '../anchored/IAnchored';
5
+ import { Anchored } from '../anchored/Anchored';
6
+ import { ICellRange, ICellRanges } from '../cellRange';
7
+ /**
8
+ * The reference a range listener watches, as an entry in a versioned anchored map.
9
+ *
10
+ * @remarks
11
+ * This is the smallest thing that can be anchored. It deliberately does NOT extend
12
+ * `AbstractAnchored`: it has no store record of its own, no emitter, and no creation commit, so a
13
+ * UI layer can register one per scroll step. What it gets from living in the map is everything a
14
+ * conditional format's anchor gets - it shifts, splits and goes `#REF!` through `IAnchoredMap.shift`,
15
+ * and it comes back on undo because the map is in the snapshot.
16
+ *
17
+ * The callback is NOT here. It lives on the sheet instance keyed by {@link getNodeId}, because a
18
+ * callback is an observer, never document state.
19
+ *
20
+ * @internal
21
+ */
22
+ export declare class ListenerAnchor implements IAnchored {
23
+ /** For runtime type checking. */
24
+ readonly isIAnchored: true;
25
+ protected _nodeId: number;
26
+ protected _options: ICellRange.ListenerOptions;
27
+ protected _resolveRanges: (coords: IRange.Coords[] | null) => ICellRanges;
28
+ protected _getContainerCoords: () => IRange.Coords[] | null;
29
+ protected _deleted: boolean;
30
+ protected _closed: boolean;
31
+ constructor(options: ListenerAnchor.ConstructorOptions);
32
+ /**
33
+ * Identifies this node. The sheet holds the callback under the same key.
34
+ */
35
+ getNodeId(): number;
36
+ /**
37
+ * The node's coords in the snapshot the sheet is currently at, or `null` when it holds no entry.
38
+ *
39
+ * @remarks
40
+ * `null` is not an error state to guard against - it IS the answer for a range that was deleted
41
+ * (`#REF!`) and for a snapshot from before the node was registered (`#N/A`).
42
+ */
43
+ getContainerCoords(): IRange.Coords[] | null;
44
+ /**
45
+ * What the listener asked for when it registered.
46
+ */
47
+ getListenerOptions(): ICellRange.ListenerOptions;
48
+ /** {@inheritDoc IAnchored.getRanges} */
49
+ getRanges(): ICellRanges;
50
+ /** {@inheritDoc IAnchored.isProtected} */
51
+ isProtected(): boolean;
52
+ /** {@inheritDoc IAnchored.addListeners} */
53
+ addListeners(_listeners: IAnchored.IListeners, _options?: IListener.Options): IListener.Remove;
54
+ /** {@inheritDoc IAnchored.delete} */
55
+ delete(): void;
56
+ /**
57
+ * The node's ranges are back, so it is no longer `#REF!`.
58
+ *
59
+ * @remarks
60
+ * Undo restores the map, and with it the entry a delete removed. The flag has to follow, or a
61
+ * reference that came back would keep reporting the error it had on the way out.
62
+ */
63
+ undelete(): void;
64
+ /** {@inheritDoc IAnchored.isDeleted} */
65
+ isDeleted(): boolean;
66
+ /** {@inheritDoc IAnchored.close} */
67
+ close(): void;
68
+ /** {@inheritDoc IAnchored.isClosed} */
69
+ isClosed(): boolean;
70
+ }
71
+ /** @internal */
72
+ export declare namespace ListenerAnchor {
73
+ interface ConstructorOptions {
74
+ nodeId: number;
75
+ listenerOptions: ICellRange.ListenerOptions;
76
+ /** Builds the ranges for the node's coords; an INVALID ranges when it has none. */
77
+ resolveRanges: (coords: IRange.Coords[] | null) => ICellRanges;
78
+ /** The node's coords in the map the sheet is currently at, or `null` when it holds no entry. */
79
+ getContainerCoords: () => IRange.Coords[] | null;
80
+ }
81
+ /**
82
+ * Shift one of a node's ranges the way the calc graph shifts a formula precedent.
83
+ *
84
+ * @remarks
85
+ * The map the nodes live in is asked not to split on a shift, and to bring each entry here
86
+ * instead of using its own arithmetic. The answer is then, by construction, the answer
87
+ * `=SUM(A1:C3)` gets for the same operation: `shiftReferenceAxis` is the rule `shiftPrecedents`
88
+ * applies to every reference it rewrites. Inserting one cell at A1 shifting down leaves the
89
+ * reference `A2:C4`; deleting A1:A3 shifting up leaves it `#REF!`.
90
+ *
91
+ * A reference pushed past the edge of the sheet is `#REF!` as well, whole or in part. The graph
92
+ * applies that when it writes a reference out (`TokenUtils`: an endpoint outside the sheet's
93
+ * bounds is written as `#REF!`); the node applies it here, to the same effect.
94
+ *
95
+ * Handed to the map as {@link IAnchoredMap.ConstructorOptions.shiftEntry}.
96
+ *
97
+ * @param details The shift, as the map describes it.
98
+ * @param entire The bounds of the sheet the node is on.
99
+ */
100
+ function shiftReference(details: ISpatialMap.ShiftDetails, entire: IRange.Coords): IRange.Coords | null;
101
+ /** The container hooks a node registers; see {@link Anchored.ContainerCallbacks}. */
102
+ type Callbacks = Anchored.ContainerCallbacks;
103
+ }
104
+ //# sourceMappingURL=_ListenerAnchor.d.ts.map
@@ -0,0 +1,16 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ import { RunCoords } from '@sheetxl/utils';
3
+ import { RangeSweep, PieceStore } from '../collections/_RangeSweep';
4
+ import { RangeState } from './_SheetStateTypes';
5
+ import { SheetReadContext } from './_SheetStateReader';
6
+ export { type PieceStore } from '../collections/_RangeSweep';
7
+ export declare function collectPieces(ctx: SheetReadContext, bounds: IRange.Coords, searchTypes: RangeState.SearchTypes | null, injectReferences: IRange.JSONReference<any>[][] | undefined, containedBounds: IRange.Coords | undefined, hiddenRows: readonly RunCoords[] | null, hiddenColumns: readonly RunCoords[] | null): PieceStore | null;
8
+ /**
9
+ * The range-state sweep: regions materialize as `RangeState.Intersection` (values merged by type
10
+ * key, overlapping same-key values as arrays in overlap order).
11
+ * @internal
12
+ */
13
+ export declare class RangeStateSweep extends RangeSweep<RangeState.Intersection> {
14
+ protected _materialize(region: number): RangeState.Intersection;
15
+ }
16
+ //# sourceMappingURL=_RangeStateSweep.d.ts.map
@@ -0,0 +1,61 @@
1
+ import { Scalar } from '@sheetxl/primitives';
2
+ import { IStringCollection } from '../string';
3
+ import { ICell } from '../cell';
4
+ import { IListLike } from '../collections';
5
+ import { MixedTypedArrayList } from '../collections/MixedTypedArrayList';
6
+ /**
7
+ * Makes the list a run of cell values is stored as, over the sheet's string collection.
8
+ *
9
+ * The representation is chosen from what the writer saw ({@link Tuple.Hint}) and the run's length,
10
+ * never by looking at the values again:
11
+ * - shorter than {@link ScalarListFactory.TypedThreshold}: a plain array (a typed list costs
12
+ * more than its values below that, measured at 64 on Node);
13
+ * - one value throughout: a `RepeatingList` of period 1, which the engine reads once;
14
+ * - holding rich data: a plain array (no pool for it yet);
15
+ * - otherwise a {@link MixedTypedArrayList}, strings and errors by id.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare class ScalarListFactory {
20
+ /** Below this length a run is a plain array. */
21
+ static readonly TypedThreshold = 64;
22
+ readonly codec: MixedTypedArrayList.Codec<Scalar>;
23
+ private readonly _strings;
24
+ private _codes;
25
+ private _nums;
26
+ constructor(strings: IStringCollection);
27
+ /**
28
+ * The list for a run a builder collected. Passed to `Tuple.Builder` as its `createList`.
29
+ *
30
+ * @param values The run's values, in an array that may be the writer's reused scratch: never
31
+ * retained, what the list keeps is copied out.
32
+ * @param length How many of `values` are the run's. Never 0.
33
+ * @param hint The {@link Tuple.Hint} bits the writer saw; computed here when a writer has none.
34
+ * @throws When a number is NaN or infinite: the entry points normalize those to `#NUM!`, so one
35
+ * arriving here is an internal path that skipped its boundary, and storing it would launder the
36
+ * defect into a plausible-looking cell.
37
+ */
38
+ readonly createList: (values: Scalar[], length?: number, hint?: number) => IListLike<Scalar>;
39
+ /**
40
+ * The list for a run as a file holds it (`ISheet.JSON` data): numbers and booleans as they are,
41
+ * strings as their id in this factory's collection, errors and rich data typed. One look at each
42
+ * value classifies it into a reused scratch; nothing is resolved for a typed run.
43
+ *
44
+ * @param values The run's JSON values. Never empty.
45
+ * @param onError Called with the offset of every error value, for the error index.
46
+ */
47
+ fromJSONRun(values: readonly ICell.JSON[], onError?: (offset: number) => void): IListLike<Scalar>;
48
+ /**
49
+ * The list for a run whose values are already codes and numbers, as a file holds them: string
50
+ * ids, error codes, ints and doubles. Nothing is resolved for a typed run; a short run is
51
+ * resolved into a plain array.
52
+ *
53
+ * @param codes The {@link MixedTypedArrayList.Type} per position; never `Rich`.
54
+ * @param values The number per position; ignored for a boolean or a blank.
55
+ */
56
+ fromEncoded(codes: Uint8Array, values: ArrayLike<number>): IListLike<Scalar>;
57
+ /** The representation for `length` classified values, from what the classification saw. */
58
+ private _fromCodes;
59
+ private _decode;
60
+ }
61
+ //# sourceMappingURL=_ScalarListFactory.d.ts.map
@@ -0,0 +1,74 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ import { ICellRange } from '../cellRange';
3
+ import { ICell } from '../cell';
4
+ import { IAutoFill } from '../autoFill';
5
+ import { ISheet } from './ISheet';
6
+ import { SheetMutationContext } from './Sheet';
7
+ /**
8
+ * The default fill a range implies — which cells it reads, which it covers, which types can be
9
+ * offered, and the one to open on. See {@link ICellRange.getDefaultAutoFillCriteria}.
10
+ *
11
+ * @returns `null` when the range is one cell deep along the direction — there is nowhere to fill.
12
+ * @internal
13
+ */
14
+ export declare function getDefaultAutoFillCriteria(sheet: ISheet, rangeCoords: IRange.Coords, direction?: IRange.Direction, destination?: IRange.Coords): IAutoFill.DefaultCriteria | null;
15
+ /**
16
+ * Resolve a raw destination to the nearest destination {@link autoFill} accepts — what
17
+ * {@link ICellRange.AutoFillOptions.snap} runs before the fill.
18
+ * @internal
19
+ */
20
+ export declare function autoFillRange(ctx: SheetMutationContext, template: IRange.Coords, destination: IRange.Coords): IRange.Coords;
21
+ /**
22
+ * What an `autoFill` run with `preview` hands back instead of committing: the destination plus a
23
+ * cell-level projection of the fill that *would* happen. `SheetRange` wraps this in a read-only
24
+ * `ICellRange` — see {@link ICellRange.autoFill}.
25
+ * @internal
26
+ */
27
+ export interface AutoFillProjection {
28
+ /** The destination the projection covers. */
29
+ coords: IRange.Coords;
30
+ /**
31
+ * The projected (uncommitted) cell at these coords. Cells the fill does not touch read straight from
32
+ * the sheet; filled cells are derived — value, style and, when the template tiles a merge across the
33
+ * fill, the merge itself (so `getRange`/`getSpans`/`getExtrusions` report the projected block, and a
34
+ * coord inside one resolves to that block's anchor, where the value lives).
35
+ */
36
+ getCellAt(rowIndex: number, colIndex: number): ICell;
37
+ }
38
+ /**
39
+ * The single-entry series memo behind `autoFill({ preview })` — the "last autofill".
40
+ *
41
+ * @remarks
42
+ * A drag previews the same template in the same direction over and over, changing only the destination;
43
+ * the series does not depend on the destination, so scanning it once serves the whole drag. Held on the
44
+ * sheet (one entry) and validated against `state` identity: the transaction store rebuilds the state
45
+ * object on every real change (reference-equal *is* its "nothing changed" signal), so any mutation,
46
+ * undo or redo drops the memo without anything having to invalidate it explicitly.
47
+ * @internal
48
+ */
49
+ export interface AutoFillPreviewCache {
50
+ /** The sheet state the series was read from. */
51
+ state: unknown;
52
+ template: IRange.Coords;
53
+ isForward: boolean;
54
+ filler: IAutoFill.Filler;
55
+ /** The caller's `fillerOptions` **by reference** — a caller that rebuilds it simply misses the memo. */
56
+ fillerOptions: IAutoFill.Options | undefined;
57
+ /** Series per line of the opposite axis; `null` marks a line that produced nothing to fill. */
58
+ seriesByLine: Map<number, IAutoFill.FillAt | null>;
59
+ }
60
+ /**
61
+ * Fill the template's series/pattern into the destination (outward drag of the fill handle). Handles
62
+ * merges (tiles them, never splits), date series, previewing, table extension, and copies the
63
+ * per-feature style maps into the filled range. Delegates a negative (inward) fill to
64
+ * {@link autoFillShrink}. See SHEET-SPLIT-DESIGN §5.4.
65
+ * @internal
66
+ */
67
+ export declare function autoFill(ctx: SheetMutationContext, template: IRange.Coords, destination: IRange.Coords, options?: ICellRange.AutoFillOptions): boolean | AutoFillProjection;
68
+ /**
69
+ * An inward fill — Excel's drag of the fill handle back over the source range. The strip of the
70
+ * template beyond the destination edge is vacated: its cells are cleared, not filled.
71
+ * @internal
72
+ */
73
+ export declare function autoFillShrink(ctx: SheetMutationContext, template: IRange.Coords, destination: IRange.Coords, direction: IRange.Direction, options?: ICellRange.AutoFillOptions): boolean;
74
+ //# sourceMappingURL=_SheetAutoFillUtils.d.ts.map
@@ -24,8 +24,8 @@ export declare function doAutoFit(sheet: Sheet, ranges: readonly IRange.Coords[]
24
24
  * The same phases as `doAutoFit` ({@link measureRange}, then {@link reduceColumnWidths} /
25
25
  * {@link reduceRowHeights}) minus the commit. Everything that differs follows from not writing:
26
26
  *
27
- * - The clamps are IDENTITY. `expandOnly` reconciles a measurement with the size a header already
28
- * has; a query has no such size to reconcile against.
27
+ * - No {@link ApplyPolicy}. `expandOnly` reconciles a measurement with the size a header already
28
+ * has; a query has no such size to reconcile against, and measurement never reads the policy.
29
29
  * - `axes: Both` still lays the rows out against the widths the column pass produced — a wrapped
30
30
  * cell's height is a function of its column width — but those widths reach
31
31
  * {@link refreshSegmentWidths} as a lookup rather than being read back from headers that were
@@ -0,0 +1,43 @@
1
+ import { IRange } from '@sheetxl/primitives';
2
+ /**
3
+ * The kinds of change a sheet announces from its commits, and the scope they are announced
4
+ * under.
5
+ *
6
+ * @remarks
7
+ * Every mutation appends the ranges it wrote under one of these, so a commit carries what to
8
+ * announce rather than what its last operation changed. The categories are recorded as the
9
+ * `sheet.events` intent (`_SheetIntents`), so they are unioned across the operations of a batch
10
+ * and travel on the commit, which is what lets an undo announce the same categories the forward
11
+ * commit did.
12
+ *
13
+ * The scope is {@link ISheet.getId}, so a commit that spans sheets announces each of them
14
+ * separately.
15
+ *
16
+ * @internal
17
+ */
18
+ /**
19
+ * A category of change to announce, named after the mutation kind that produces it.
20
+ *
21
+ * @remarks
22
+ * * `data` - cell values written, cleared or pasted.
23
+ * * `style` - styles and number formats.
24
+ * * `comments` - comments and notes.
25
+ * * `hyperlinks` - hyperlinks.
26
+ * * `merges` - merge and unmerge.
27
+ * * `spills` - spill regions written or cleared.
28
+ * * `address` - a structural shift: an insert, a delete or a move of cells.
29
+ * * `layout` - sizes and hidden runs.
30
+ * * `anchored` - a model anchored over a range: a table, a conditional format, a validation, a
31
+ * protected range.
32
+ * * `sheets` - the sheet itself, over the cells a reader of it may now read differently. A rename
33
+ * is one: every cross-sheet formula naming it resolves again.
34
+ *
35
+ * `data`, `style`, `merges`, `spills`, `address` and `layout` each have an event of their own;
36
+ * the rest reach a consumer only through the union. A consumer that wants "did anything happen in
37
+ * my box" takes the union rather than naming categories, so a category added later cannot
38
+ * silently stop reaching it.
39
+ */
40
+ export type EventCategory = 'data' | 'style' | 'comments' | 'hyperlinks' | 'merges' | 'spills' | 'address' | 'layout' | 'anchored' | 'sheets';
41
+ /** What one sheet has to announce from a commit, by category. */
42
+ export type SheetEvents = Readonly<Partial<Record<EventCategory, readonly IRange.Coords[]>>>;
43
+ //# sourceMappingURL=_SheetEvents.d.ts.map
@@ -1,9 +1,40 @@
1
1
  import { IRange } from '@sheetxl/primitives';
2
+ import { RunCoords } from '@sheetxl/utils';
2
3
  import { ITransaction } from '../transaction';
3
4
  import { ICondition } from '../condition';
4
5
  import { Sheet } from './Sheet';
5
6
  /**
6
- * Sheet specific filter utils. Mirrors `_SheetSortUtils.doSort`.
7
+ * What a filter evaluation settles: on one axis, the runs that stay visible and the runs that hide.
8
+ *
9
+ * @remarks
10
+ * The two halves of a filter are split so a caller with its own transaction (a table, which also
11
+ * writes its levels) can evaluate first and write inside: {@link evalFilter} may await a calc, and
12
+ * a transaction never stays open across an await.
13
+ */
14
+ export interface FilterRuns {
15
+ /** The axis the runs index. */
16
+ axis: IRange.Axis;
17
+ /** The runs that match every condition, ascending. */
18
+ visibleRuns: readonly RunCoords[];
19
+ /** The runs that fail one, ascending. */
20
+ hiddenRuns: readonly RunCoords[];
21
+ }
22
+ /**
23
+ * Read-only: resolves every condition and settles the final visible and hidden runs.
24
+ */
25
+ export declare function evalFilter(sheet: Sheet, coords: Readonly<IRange.Coords>, condition: ICondition.Input | ICondition.RangeOptions | null | undefined): Promise<FilterRuns>;
26
+ /**
27
+ * Writes the hidden bits {@link evalFilter} settled. Inside the caller's open transaction.
28
+ *
29
+ * @remarks
30
+ * Full recompute, every apply (DESIGN-FILTER.md §2): unhide every row/column that now matches,
31
+ * then hide every row/column that doesn't — including one the user hid manually, matching real
32
+ * Excel AutoFilter (there's no persisted "hidden by filter" vs. "hidden by user" bit to preserve).
33
+ */
34
+ export declare function applyFilterRuns(sheet: Sheet, runs: FilterRuns, options?: ITransaction.OperationOptions): void;
35
+ /**
36
+ * Sheet specific filter utils. Mirrors `_SheetSortUtils.doSort`: {@link evalFilter}, then one
37
+ * transaction around {@link applyFilterRuns}.
7
38
  */
8
39
  export declare function doFilter(sheet: Sheet, coords: Readonly<IRange.Coords>, condition: ICondition.Input | ICondition.RangeOptions, options?: ITransaction.OperationOptions): Promise<IRange.Coords>;
9
40
  //# sourceMappingURL=_SheetFilterUtils.d.ts.map