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

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/B0AS8k-hrSCBUlUY.cjs +1 -0
  3. package/browser/cjs/B308aXzcAYr1GN1c.cjs +1 -0
  4. package/browser/cjs/B44p8LIyxG3GtaGC.cjs +93 -0
  5. package/browser/cjs/{a0Z-SXs_N71CtqYb.cjs → D6YaqporVrSewZpm.cjs} +1 -1
  6. package/browser/cjs/DjWcveVCs0NFiKep.cjs +1 -0
  7. package/browser/cjs/index.cjs +2 -2
  8. package/browser/esm/-OKDZ9cUBtkgD4Zr.mjs +20 -0
  9. package/browser/esm/8Nw0lKc4ISs7hEJT.mjs +70223 -0
  10. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → BmEEyMxNzlbXG98H.mjs} +2 -2
  11. package/browser/esm/BtdDRkWn-zCV3oic.mjs +394 -0
  12. package/browser/esm/DaCTT4vda0m8Fnxo.mjs +8 -0
  13. package/browser/esm/{B0HS42a7lga1k1U_.mjs → DvFKKE72ZA02l8iF.mjs} +1 -1
  14. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → Z-dzbKvqaxll9l_t.mjs} +2 -2
  15. package/browser/esm/index.mjs +871 -696
  16. package/licenses/dependencies.txt +204 -204
  17. package/node/esm/{Cku7XiUvw1xrRasi.mjs → BpMTlTrJLWh_wJ5H.mjs} +1 -1
  18. package/node/esm/D5quDVovf1zjYBgJ.mjs +28 -0
  19. package/node/esm/DP0M3_S_dwLwRMiA.mjs +403 -0
  20. package/node/esm/DTHN_EkuOscW3f3B.mjs +8 -0
  21. package/node/esm/index.mjs +54375 -39377
  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 +7094 -0
  26. package/types/scripting-enums.json +54 -8
  27. package/types/scripting.d.ts +6985 -1171
  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
@@ -2,21 +2,23 @@ import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
2
2
  import { MaybePromise } from '@sheetxl/utils';
3
3
  import { IListener } from '../listener';
4
4
  import { ITransaction } from '../transaction';
5
- import { ISparseGrid } from '../collections';
5
+ import { Tuple, ISparseGrid } from '../collections';
6
6
  import { ICalculation } from '../calculation';
7
7
  import { ICellRange, ICellRanges } from '../cellRange';
8
8
  import { ICondition } from '../condition';
9
+ import { ConditionFormulaBinding } from '../condition/_ConditionFormula';
9
10
  import { IAnchored } from '../anchored';
10
11
  import { AbstractAnchored } from '../anchored/AbstractAnchored';
11
12
  import { Anchored } from '../anchored/Anchored';
13
+ import * as _ConditionUtils from '../condition/_ConditionUtils';
12
14
  /**
13
15
  * Implementation of {@link IDataValidation}.
14
16
  */
15
- export declare abstract class AnchoredConditional<STATE extends AnchoredConditional.State, VIEW extends AnchoredConditional.CommitView = AnchoredConditional.CommitView, EVENTS extends ICondition.Events = ICondition.Events, JSON = any> extends AbstractAnchored<STATE, VIEW, EVENTS> implements IAnchored, ITransaction.ITransactional, IListener.ISource<IAnchored> {
17
+ export declare abstract class AnchoredConditional<STATE extends AnchoredConditional.State, EVENTS extends ICondition.Events = ICondition.Events, JSON = any> extends AbstractAnchored<STATE, EVENTS> implements IAnchored, ITransaction.ITransactional, IListener.ISource<IAnchored> {
16
18
  protected _rangeListener: ICellRange.Listener | null;
17
19
  protected _getValueGrid: () => ISparseGrid<Scalar>;
18
20
  /**
19
- * One registered watch per formula the condition asked for, keyed by expression: its remove, and
21
+ * One registered watch per formula the condition asked for, keyed by the formula: its remove, and
20
22
  * the values delivered so far, indexed by anchored area.
21
23
  *
22
24
  * @remarks
@@ -26,7 +28,9 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
26
28
  * the difference between a new formula-valued operator working automatically and needing this
27
29
  * class edited to know about it.
28
30
  */
29
- protected _conditionWatches: Map<string, WatchEntry>;
31
+ protected _conditionWatches: Map<ICalculation.IFormula | string, WatchEntry>;
32
+ /** What this rule's condition formulas compile with — see {@link _getFormulaBinding}. */
33
+ protected _formulaBinding: ConditionFormulaBinding | undefined;
30
34
  /**
31
35
  * The area marked stale since the last flush: `undefined` = nothing, `null` = the whole rule,
32
36
  * a range = just that part. See {@link _markValueUpdates}.
@@ -75,10 +79,11 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
75
79
  *
76
80
  * Registered through `ICellRanges.addWatch`, which fills the expression to every area — a rule
77
81
  * over `'C19:C23 C3:C7'` reads different cells in its second area, and only the filled form knows
78
- * which. The delivery re-runs the rule; the pass after it has values.
82
+ * which. The delivery re-runs the rule; the pass after it has values. Evaluated as a rule's
83
+ * formula is (`arrayFirstCell`): each cell an array-entered formula over itself.
79
84
  * @internal
80
85
  */
81
- protected _watchConditionFormula(ranges: ICellRanges, expression: string, areaIndex: number, used: Set<string>): MaybePromise<IRange | null>;
86
+ protected _watchConditionFormula(ranges: ICellRanges, formula: ICalculation.IFormula | string, areaIndex: number, used: Set<ICalculation.IFormula | string>): MaybePromise<IRange | null>;
82
87
  /**
83
88
  * Drops watches nothing asked for during the evaluation that just finished.
84
89
  *
@@ -88,7 +93,7 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
88
93
  * the pass and pruning after is what closes that.
89
94
  * @internal
90
95
  */
91
- protected _pruneConditionWatches(used: Set<string>): void;
96
+ protected _pruneConditionWatches(used: Set<ICalculation.IFormula | string>): void;
92
97
  /** @internal */
93
98
  protected _removeConditionWatches(): void;
94
99
  /**
@@ -100,13 +105,35 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
100
105
  * resolve. They resolve to `null` — "no values", which reads as an inert condition.
101
106
  * @internal
102
107
  */
103
- protected _removeConditionWatch(entry: WatchEntry): void;
108
+ protected _removeConditionWatch(formula: ICalculation.IFormula | string, entry: WatchEntry): void;
104
109
  /** @internal */
105
110
  protected _processClose(): void;
111
+ /**
112
+ * An undo or redo can hand back a different condition while no value changes, so no range
113
+ * listener fires to re-derive the results. Heard here, not in `_processRestoreOrRevert`: that
114
+ * is told of every record in the store on every undo, this only of the ones the undo changed.
115
+ * @internal
116
+ */
117
+ protected _processAfterStateChange(state: STATE, commit: ITransaction.ICommit, isRevert?: boolean, isRestore?: boolean): void;
106
118
  /** @internal */
107
119
  protected _processAnchorCoords(): void;
120
+ /**
121
+ * Set while the container is shifting or deleting this rule, so {@link _processAnchorCoords}
122
+ * leaves the listener alone.
123
+ *
124
+ * @remarks
125
+ * Both run INSIDE the anchored map's own pass. The listener's reference lives in a map of the
126
+ * same kind and is moved (or dropped) by the same pass, so there is nothing to re-register - and
127
+ * reaching into a map that is mid-shift to do it is what used to throw.
128
+ * @internal
129
+ */
130
+ protected _isContainerShifting: boolean;
131
+ /** @internal */
132
+ protected _processContainerDelete(): void;
108
133
  /** @internal */
109
134
  protected _processContainerShift(options: Anchored.ShiftOptions): IRange.Coords | null | void;
135
+ /** @internal */
136
+ protected _doProcessContainerShift(options: Anchored.ShiftOptions): IRange.Coords | null | void;
110
137
  /**
111
138
  * Whether the anchor is absolute. See {@link AbstractAnchored._isAnchorAbsolute}.
112
139
  *
@@ -132,11 +159,19 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
132
159
  setIndex(index: number): this;
133
160
  /** {@inheritDoc ICondition.Stateful.getCondition} */
134
161
  getCondition(): Readonly<ICondition> | null;
162
+ /**
163
+ * The engine and anchor this rule's condition formulas compile with: the rule's calculation, at
164
+ * the top-left of the bounding box of its ranges.
165
+ * @internal
166
+ */
167
+ protected _getFormulaBinding(): ConditionFormulaBinding;
168
+ /** @internal */
169
+ protected _bindConditionFormulas(condition: ICondition | null): void;
135
170
  /** {@inheritDoc IDataValidation.setCondition} */
136
171
  setCondition(condition: ICondition.Input | ICondition.Predicate | string | null, options?: ITransaction.OperationOptions): this;
137
172
  /**
138
- * Rewrites the condition's anchor-relative formulas after the anchor cell (the first
139
- * range's top-left) moves — fill semantics: relative references follow the anchor,
173
+ * Rewrites the condition's anchor-relative formulas after the anchor cell (the top-left of
174
+ * the bounding box of every range) moves — fill semantics: relative references follow the anchor,
140
175
  * absolute ones stay put. Excel does the same when extending a rule's applies-to moves
141
176
  * its origin: `G5>5` on `F5:F10` becomes `G1>5` when the rule grows to `F1:F10`.
142
177
  *
@@ -214,8 +249,6 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
214
249
  * @internal
215
250
  */
216
251
  protected _shiftFormulaText(text: string, from: IRange.CellCoords, to: IRange.CellCoords): string | null;
217
- /** {@inheritDoc ICondition.createDefaultCondition} */
218
- createDefaultCondition(): ICondition;
219
252
  /** {@inheritDoc ICondition.Stateful.apply} */
220
253
  apply(): void;
221
254
  /**
@@ -229,12 +262,41 @@ export declare abstract class AnchoredConditional<STATE extends AnchoredConditio
229
262
  * be answered from a single cell's value.
230
263
  */
231
264
  protected _evalConditionRanges(handlers: {
232
- onTrue?: (coords: IRange.CellCoords, value: Scalar) => void;
233
- onFalse?: (coords: IRange.CellCoords, value: Scalar) => void;
265
+ /** `area` is the anchored area the cell belongs to — see {@link AreaResultCollector}. */
266
+ onTrue?: (coords: IRange.CellCoords, value: Scalar, area: IRange.Coords) => void;
267
+ onFalse?: (coords: IRange.CellCoords, value: Scalar, area: IRange.Coords) => void;
268
+ /**
269
+ * The answer for the BLANK cells of one anchored area, once per area — see
270
+ * `DoRunConditionsOptions.onBlank`. `area` is that area's coords, so a caller keeping the
271
+ * resolver can tell which cells it answers for.
272
+ */
273
+ onBlank?: (resolve: _ConditionUtils.BlankResolver, area: IRange.Coords) => void;
234
274
  }): Promise<void>;
235
275
  get [Symbol.toStringTag](): string;
236
276
  toString(): string;
237
277
  }
278
+ /**
279
+ * Collects a rule's per-cell `true` results across its anchored areas into one grid.
280
+ *
281
+ * @remarks
282
+ * One tuple builder PER AREA. A builder takes cells in axis order, and a rule's areas are in
283
+ * authored order, not axis order — Excel writes `C3 C1` when it merges identical rules on save —
284
+ * and two areas can interleave on the major axis besides. One builder across all of them throws
285
+ * on the first area that runs backwards.
286
+ * @internal
287
+ */
288
+ export declare class AreaResultCollector {
289
+ protected _isColumn: boolean;
290
+ protected _regions: Tuple.GridTuple<boolean>[];
291
+ protected _builder: Tuple.IBuilder<boolean> | null;
292
+ protected _area: IRange.Coords | null;
293
+ constructor(isColumn: boolean);
294
+ /** Adds a cell. Cells of one area arrive together, in axis order. */
295
+ push(coords: IRange.CellCoords, area: IRange.Coords): void;
296
+ /** The collected cells, or `null` when none were pushed. */
297
+ build(axis: IRange.Axis): ISparseGrid<boolean> | null;
298
+ protected _flush(): void;
299
+ }
238
300
  /**
239
301
  * One registered formula watch: its remove, the values delivered per area, and any resolver still
240
302
  * waiting on an area's first delivery.
@@ -275,9 +337,6 @@ export declare namespace AnchoredConditional {
275
337
  condition: ICondition | null;
276
338
  removeListener: IListener.Remove | null;
277
339
  }
278
- /** @internal */
279
- interface CommitView extends AbstractAnchored.CommitView {
280
- }
281
340
  }
282
341
  export {};
283
342
  //# sourceMappingURL=AnchoredConditional.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { InteropScalarType, IRange, Scalar } from '@sheetxl/primitives';
2
2
  import { MaybePromise } from '@sheetxl/utils';
3
+ import { ICalculation } from '../../calculation';
3
4
  import { ICondition } from '../ICondition';
4
5
  /**
5
6
  * Reads a comparison operand's value at the cell being evaluated. Built once per
@@ -42,8 +43,8 @@ export declare abstract class AbstractOperator<P> implements ICondition.IOperato
42
43
  /** {@inheritDoc ICondition.doBatch} */
43
44
  doBatch(keys: Set<any>, param: P, ctx: ICondition.IContext): MaybePromise<IRange<boolean> | null>;
44
45
  /**
45
- * Resolves a comparison operand that may be formula-valued — a string param with a leading `=`,
46
- * the Scalar-param convention — into a per-cell {@link OperandReader}.
46
+ * Resolves a comparison operand that may be formula-valued — an {@link ICalculation.IFormula}, or
47
+ * a string param with a leading `=` — into a per-cell {@link OperandReader}.
47
48
  *
48
49
  * @returns The reader, or `null` when the operand is a formula with nothing to read (no engine,
49
50
  * an empty expression) — the caller returns a `null` predicate and the condition is inert
@@ -57,18 +58,18 @@ export declare abstract class AbstractOperator<P> implements ICondition.IOperato
57
58
  * same code path.
58
59
  *
59
60
  * A per-cell value that is an ERROR is returned as the error — comparisons must treat it as
60
- * no-match, never a throw — and warns once per predicate build. A value that is a RANGE (a
61
- * reference operand) takes its top-left: Excel does NOT implicitly intersect here (`$E$5:$F$6>10`
62
- * tested `E5` for every cell; measured 2026-08-21).
61
+ * no-match, never a throw — and warns once per predicate build. A reference operand reads its
62
+ * top-left: Excel does NOT implicitly intersect here (`$E$5:$F$6>10` tested `E5` for every cell;
63
+ * measured 2026-08-21), which is the watch's `arrayFirstCell` evaluation.
63
64
  */
64
- protected _resolveOperand(param: Scalar | undefined, ctx: ICondition.IContext): Promise<OperandReader | null>;
65
+ protected _resolveOperand(param: Scalar | ICalculation.IFormula | undefined, ctx: ICondition.IContext): Promise<OperandReader | null>;
65
66
  /**
66
67
  * The shared predicate shape of the ordered comparisons (`greaterThan` … `before`): resolve the
67
68
  * operand (formula or literal — see {@link _resolveOperand}), then compare per cell. An ERROR
68
69
  * operand never matches; a `null` return means the operand could not resolve and the condition
69
70
  * is inert.
70
71
  */
71
- protected _createComparePredicate(param: Scalar | undefined, ctx: ICondition.IContext, compare: (value: number, operand: number) => boolean): Promise<ICondition.Predicate | null>;
72
+ protected _createComparePredicate(param: Scalar | ICalculation.IFormula | undefined, ctx: ICondition.IContext, compare: (value: number, operand: number) => boolean): Promise<ICondition.Predicate | null>;
72
73
  /** {@inheritDoc ICondition.IOperator.toString} */
73
74
  toString(param?: P, lhsSelector?: ICondition.ISelector): string | undefined;
74
75
  }
@@ -1,10 +1,11 @@
1
1
  import { Scalar } from '@sheetxl/primitives';
2
+ import { ICalculation } from '../../calculation';
2
3
  import { ICondition } from '../ICondition';
3
4
  import { AbstractOperator } from './AbstractOperator';
4
5
  export declare class EqualToOperator extends AbstractOperator<Scalar> implements ICondition.IOperator<Scalar> {
5
6
  constructor();
6
7
  /** {@inheritDoc ICondition.IOperator.createPredicate} */
7
- createPredicate(param: Scalar, ctx: ICondition.IContext): Promise<ICondition.Predicate | null>;
8
+ createPredicate(param: Scalar | ICalculation.IFormula, ctx: ICondition.IContext): Promise<ICondition.Predicate | null>;
8
9
  /** {@inheritDoc ICondition.IOperator.createDefaultParam} */
9
10
  createDefaultParam(lhsSelector?: ICondition.ISelector): Scalar | undefined;
10
11
  }
@@ -1,17 +1,14 @@
1
+ import { ICalculation } from '../../calculation';
1
2
  import { ICondition } from '../ICondition';
2
3
  import { AbstractOperator } from './AbstractOperator';
3
4
  /**
4
5
  * Evaluates a formula expression against the value of the cell.
5
6
  */
6
- export declare class ExpressionOperator extends AbstractOperator<string> implements ICondition.IOperator<string> {
7
+ export declare class ExpressionOperator extends AbstractOperator<ICalculation.IFormula | string> implements ICondition.IOperator<ICalculation.IFormula | string> {
7
8
  constructor();
8
9
  /** {@inheritDoc ICondition.IOperator.createDefaultParam} */
9
10
  createDefaultParam(lhsSelector?: ICondition.ISelector): string;
10
11
  /** {@inheritDoc ICondition.IOperator.createPredicate} */
11
- createPredicate(param: string, ctx: ICondition.IContext): Promise<ICondition.Predicate | null>;
12
+ createPredicate(param: ICalculation.IFormula | string, ctx: ICondition.IContext): Promise<ICondition.Predicate | null>;
12
13
  }
13
- /**
14
- * Creates a temporary range. This is for illustrations only.
15
- */
16
- export declare const ExpressionRuleAccumulate: ICondition.IOperator<string>;
17
14
  //# sourceMappingURL=ExpressionOperator.d.ts.map
@@ -5,7 +5,7 @@ export declare class InSetOperator extends AbstractOperator<ICondition.InSetOpti
5
5
  /** {@inheritDoc ICondition.IOperator.acceptsList} */
6
6
  acceptsList(): boolean;
7
7
  /** {@inheritDoc ICondition.IOperator.createPredicate} */
8
- createPredicate(param: ICondition.InSetOption, ctx: ICondition.IContext): ICondition.Predicate;
8
+ createPredicate(param: ICondition.InSetOption, ctx: ICondition.IContext): ICondition.Predicate | Promise<ICondition.Predicate | null>;
9
9
  /** {@inheritDoc ICondition.IOperator.createDefaultParam} */
10
10
  createDefaultParam(lhsSelector?: ICondition.ISelector): ICondition.InSetOption;
11
11
  /** {@inheritDoc ICondition.IOperator.toString} */
@@ -8,6 +8,7 @@ export declare class BaseSelector<T extends Scalar = Scalar, I extends Scalar =
8
8
  protected _title: string | undefined;
9
9
  protected _description: string | undefined;
10
10
  protected _renderingHints: readonly string[] | null;
11
+ protected _defaultCondition: ICondition.DefaultCondition | null;
11
12
  constructor(options: ConstructorOptions);
12
13
  /** {@inheritDoc ICondition.ISelector.createTransformer} */
13
14
  createTransformer(ctx: ICondition.IContext): MaybePromise<ICondition.Transformer<T, I> | null>;
@@ -31,6 +32,8 @@ export declare class BaseSelector<T extends Scalar = Scalar, I extends Scalar =
31
32
  getDescription(): string;
32
33
  /** {@inheritDoc ICondition.ISelector.getRenderHints} */
33
34
  getRenderHints(): readonly string[] | null;
35
+ /** {@inheritDoc ICondition.ISelector.getDefaultCondition} */
36
+ getDefaultCondition(_context?: ICondition.DefaultConditionContext): ICondition.DefaultCondition | null;
34
37
  }
35
38
  export interface ConstructorOptions {
36
39
  name: string;
@@ -39,5 +42,9 @@ export interface ConstructorOptions {
39
42
  title?: string;
40
43
  description?: string;
41
44
  renderingHints?: string | string[];
45
+ /**
46
+ * What {@link ICondition.ISelector.getDefaultCondition} returns.
47
+ */
48
+ defaultCondition?: ICondition.DefaultCondition | null;
42
49
  }
43
50
  //# sourceMappingURL=BaseSelector.d.ts.map
@@ -8,5 +8,14 @@ export declare class ListSelector<T extends Scalar = Scalar, I extends Scalar =
8
8
  constructor(options: ConstructorOptions);
9
9
  /** {@inheritDoc ICondition.IListSelector.isList} */
10
10
  get isList(): true;
11
+ /**
12
+ * {@inheritDoc ICondition.ISelector.getDefaultCondition}
13
+ *
14
+ * @remarks
15
+ * `inSet` over the distinct values already in the selection, sorted as a filter lists them,
16
+ * when there are a few, spelled as a list literal; otherwise `inSet` with no items (also when a
17
+ * value holds `,`, which a literal cannot). Read through the range's stats.
18
+ */
19
+ getDefaultCondition(context?: ICondition.DefaultConditionContext): ICondition.DefaultCondition | null;
11
20
  }
12
21
  //# sourceMappingURL=ListSelector.d.ts.map
@@ -79,6 +79,22 @@ export declare namespace Condition {
79
79
  Or: import("./BuiltInOperators/OrOperator").OrOperator;
80
80
  Not: import("./BuiltInOperators/NotOperator").NotOperator;
81
81
  };
82
+ /**
83
+ * The items of a list literal, the `inSet` source `'"Yes,No"'`, or `null` when the text is a
84
+ * reference or formula rather than a literal.
85
+ *
86
+ * @remarks
87
+ * Items are returned as stored, spaces included, and split on `,` with no quoting: `'"q,r",s'`
88
+ * is three items. See {@link ICondition.InSetOption.items} for how they match.
89
+ */
90
+ const parseListLiteral: (text: string) => string[] | null;
91
+ /**
92
+ * Spells `items` as a list literal for {@link ICondition.InSetOption.items}: `['Yes', 'No']` is
93
+ * `'"Yes,No"'`.
94
+ *
95
+ * @returns The literal, or `null` when an item contains `,`, which a list literal cannot hold.
96
+ */
97
+ const formatListLiteral: (items: readonly string[]) => string | null;
82
98
  /**
83
99
  * Registry for selectors (built-in + custom).
84
100
  *
@@ -1,6 +1,7 @@
1
1
  import { Scalar, InteropScalar, IRange, InteropScalarType } from '@sheetxl/primitives';
2
2
  import { MaybePromise } from '@sheetxl/utils';
3
3
  import { IAnchored } from '../anchored';
4
+ import { ICellRanges } from '../cellRange';
4
5
  import { ICalculation } from '../calculation';
5
6
  import { IStyle } from '../style';
6
7
  import { ParsedDateTime } from '../date/_DateUtils';
@@ -88,6 +89,10 @@ export interface ICondition<P = any> {
88
89
  export declare namespace ICondition {
89
90
  /**
90
91
  * A single condition applied to a range.
92
+ *
93
+ * @remarks
94
+ * A holder that must evaluate before it writes (a filter, which hides rows) returns a Promise
95
+ * from its writes; see {@link IFilter}.
91
96
  */
92
97
  interface Stateful {
93
98
  /**
@@ -244,7 +249,8 @@ export declare namespace ICondition {
244
249
  * Evaluates a formula expression.
245
250
  *
246
251
  * @remarks
247
- * * Accepts a formula `string`.
252
+ * * Accepts formula text or an {@link ICalculation.IFormula}; a resolved condition holds an
253
+ * `IFormula`.
248
254
  *
249
255
  * Backs conditional formatting's `expression` rule and data validation's `type="custom"`.
250
256
  */
@@ -300,15 +306,21 @@ export declare namespace ICondition {
300
306
  */
301
307
  interface BetweenOption {
302
308
  /**
303
- * The lower bound value — a number, or a `=`-prefixed formula whose result is compared
304
- * per cell.
309
+ * The lower bound value — a number, or a formula whose result is compared per cell.
310
+ *
311
+ * @remarks
312
+ * A formula is authored as a `=`-prefixed string or an {@link ICalculation.IFormula}; a resolved
313
+ * condition holds it as an `IFormula`.
305
314
  */
306
- from: number | string;
315
+ from: number | string | ICalculation.IFormula;
307
316
  /**
308
- * The upper bound value — a number, or a `=`-prefixed formula whose result is compared
309
- * per cell.
317
+ * The upper bound value — a number, or a formula whose result is compared per cell.
318
+ *
319
+ * @remarks
320
+ * A formula is authored as a `=`-prefixed string or an {@link ICalculation.IFormula}; a resolved
321
+ * condition holds it as an `IFormula`.
310
322
  */
311
- to: number | string;
323
+ to: number | string | ICalculation.IFormula;
312
324
  }
313
325
  interface ColorOption {
314
326
  /**
@@ -437,10 +449,21 @@ export declare namespace ICondition {
437
449
  */
438
450
  blank?: boolean;
439
451
  /**
440
- * List of item filters
452
+ * The values that match: an array, or a list validation's source as formula text.
441
453
  *
442
454
  * @remarks
443
- * If this is a string that is a formula then the formula is evaluated to get the list of items.
455
+ * A string is formula text in the typed-slot convention: bare, without a leading `=`.
456
+ *
457
+ * - A quoted literal, `"Yes,No"`, lists its items. They match as Excel matches a literal list:
458
+ * the value's text, trimmed, against each item without its leading spaces, case-sensitively.
459
+ * - Anything else, `$A$1:$A$5`, `Sheet2!$A$1:$A$9`, `MyList`, `OFFSET(...)`, `INDIRECT($E1)`,
460
+ * is a source whose result is the list. A value matches when `MATCH(value, source, 0)` finds
461
+ * it, which is Excel's rule for a list validation: text case-insensitively and with `*`, `?`
462
+ * and `~` as wildcards, numbers by value, text never equal to a number. The source is
463
+ * evaluated for each cell, so a relative reference gives each cell its own list, and the
464
+ * source follows inserts and deletes as any formula does.
465
+ *
466
+ * An array matches as a filter's list of values does.
444
467
  */
445
468
  items?: Scalar[] | string;
446
469
  /**
@@ -611,10 +634,11 @@ export declare namespace ICondition {
611
634
  */
612
635
  createFormula(expression: string, coords?: IRange.CellCoords | null): ICalculation.IFormula | null;
613
636
  /**
614
- * Declares that this condition depends on `expression`, and resolves to its values across
637
+ * Declares that this condition depends on `formula`, and resolves to its values across
615
638
  * {@link getCoords}.
616
639
  *
617
- * @param expression The formula this operator needs, exactly as authored.
640
+ * @param formula The formula this operator needs — the param's {@link ICalculation.IFormula},
641
+ * or formula text as authored.
618
642
  *
619
643
  * @returns One value per cell of {@link getCoords}, read with LOCAL coordinates
620
644
  * (`getValueAt(0, 0)` is the coords' top-left), or `null` when there is no engine to
@@ -634,25 +658,7 @@ export declare namespace ICondition {
634
658
  * - A one-shot caller (`Range.filter()`) has no lifetime to keep fresh, so it simply evaluates
635
659
  * once and resolves. Correct there, and identical from here.
636
660
  */
637
- watchFormula(expression: string): MaybePromise<IRange | null>;
638
- /**
639
- * Resolves a formula string or scalar value to its evaluated result.
640
- *
641
- * @param formula A formula string (e.g., "=A1+B1") or a scalar value
642
- * @returns The evaluated scalar value
643
- *
644
- * @remarks
645
- * - Call this during `createPredicate` to resolve formula-based param
646
- * - Returns immediately if value is already a scalar
647
- * - Handles formula parsing, evaluation, and dependency tracking
648
- * - Example: `const threshold = await ctx.resolveFormula(param);`
649
- *
650
- * **Why This Exists:**
651
- * - Keeps operators simple - they work with values, not formulas
652
- * - Centralizes formula evaluation infrastructure
653
- * - Enables formula references in validation rules (e.g., "greater than A1")
654
- */
655
- resolveFormula(formula: Scalar | string): Promise<Scalar>;
661
+ watchFormula(formula: ICalculation.IFormula | string): MaybePromise<IRange | null>;
656
662
  }
657
663
  /**
658
664
  * Predicate function used to evaluate condition matches.
@@ -829,6 +835,46 @@ export declare namespace ICondition {
829
835
  * * The `Boolean` operator might return `"checkbox"`.
830
836
  */
831
837
  getRenderHints?(): readonly string[] | null;
838
+ /**
839
+ * The condition a user starts from on choosing this selector.
840
+ *
841
+ * @param context What the condition will apply to, when known.
842
+ * @returns The operator and, only where one value is plainly the right one, its param. `null`
843
+ * for a selector with no natural operator.
844
+ *
845
+ * @remarks
846
+ * An authoring UI asks for this when a user picks the selector, so the choice shows an operator
847
+ * at once rather than an empty condition. An omitted `param` is filled by the operator's own
848
+ * {@link ICondition.IOperator.createDefaultParam}; supply one only when it is the value the user
849
+ * would have chosen, since an invented value that is saved unnoticed is a rule nobody wrote.
850
+ *
851
+ * Read `context.ranges` through `getStats()`, never by visiting its cells: a whole column may be
852
+ * selected.
853
+ */
854
+ getDefaultCondition?(context?: ICondition.DefaultConditionContext): ICondition.DefaultCondition | null;
855
+ }
856
+ /**
857
+ * What {@link ISelector.getDefaultCondition} may fit its default to.
858
+ */
859
+ interface DefaultConditionContext {
860
+ /**
861
+ * The cells the condition will cover.
862
+ */
863
+ ranges?: ICellRanges | null;
864
+ }
865
+ /**
866
+ * The operator and param a selector's condition starts with. See
867
+ * {@link ISelector.getDefaultCondition}.
868
+ */
869
+ interface DefaultCondition<P = any> {
870
+ /**
871
+ * The operator's name.
872
+ */
873
+ operator: string;
874
+ /**
875
+ * The operator's param. Omitted to take the operator's own default.
876
+ */
877
+ param?: P;
832
878
  }
833
879
  /**
834
880
  * A selector that operates on lists of values, such as "is in list" or "contains".
@@ -881,7 +927,8 @@ export declare namespace ICondition {
881
927
  */
882
928
  interface RangeOptions {
883
929
  /**
884
- * The condition.
930
+ * The conditions, each carrying the column (or row, per {@link axis}) it tests through
931
+ * {@link IndexedProperties.index}; one that omits it tests its position in the array.
885
932
  */
886
933
  conditions: ICondition.Input[];
887
934
  /**
@@ -889,9 +936,15 @@ export declare namespace ICondition {
889
936
  */
890
937
  axis?: IRange.Axis;
891
938
  /**
892
- * If filtering should include the hidden row/columns
939
+ * Whether rows/columns already hidden take part.
893
940
  *
894
- * @defaultValue false
941
+ * @remarks
942
+ * For a filter (`ICellRange.filter`, `ITable.filter`) the default is `true`: an apply is a full
943
+ * recompute, so a row hidden by an earlier apply, or by hand, comes back when it matches.
944
+ * `false` pins the rows already hidden as excluded. Conditional formats and data validations
945
+ * default to `false` and skip hidden cells.
946
+ *
947
+ * @defaultValue `true` for a filter, `false` otherwise
895
948
  */
896
949
  includeHidden?: boolean | IRange.Axis;
897
950
  /**