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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (564) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{B0HS42a7lga1k1U_.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{Cku7XiUvw1xrRasi.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +51616 -39665
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -110
  83. package/types/scripting.d.ts +13077 -3224
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +754 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +312 -33
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +50 -3
  145. package/types/src/calculation/state/IContextContainer.d.ts +129 -27
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +419 -79
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  345. package/types/src/primitives/Range.d.ts +133 -25
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  371. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  372. package/types/src/scripting/IModule.d.ts +25 -0
  373. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  374. package/types/src/scripting/IScript.d.ts +28 -26
  375. package/types/src/scripting/Module.d.ts +34 -6
  376. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  377. package/types/src/scripting/Runtime.d.ts +15 -0
  378. package/types/src/scripting/Scripts.d.ts +3 -7
  379. package/types/src/scripting/TypedFunction.d.ts +154 -18
  380. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  381. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  382. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  383. package/types/src/scripting/declarations.browser.d.ts +10 -0
  384. package/types/src/scripting/declarations.d.ts +49 -0
  385. package/types/src/scripting/declarations.node.d.ts +9 -0
  386. package/types/src/scripting/index.d.ts +3 -0
  387. package/types/src/selection/IMovableSelection.d.ts +148 -0
  388. package/types/src/selection/IRangeSelection.d.ts +9 -4
  389. package/types/src/selection/MovableSelection.d.ts +48 -0
  390. package/types/src/selection/RangeSelection.d.ts +15 -0
  391. package/types/src/selection/index.d.ts +1 -0
  392. package/types/src/shape/GeometryPreset.d.ts +197 -0
  393. package/types/src/shape/IGeometry.d.ts +380 -0
  394. package/types/src/shape/IShape.d.ts +341 -194
  395. package/types/src/shape/IShapeStyle.d.ts +135 -0
  396. package/types/src/shape/Shape.d.ts +107 -21
  397. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  398. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  399. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  400. package/types/src/shape/_Connectors.d.ts +108 -0
  401. package/types/src/shape/_Geometry.d.ts +14 -0
  402. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  403. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  404. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  405. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  406. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  407. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  408. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  409. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  410. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  411. package/types/src/shape/_builtIn/math.d.ts +6 -0
  412. package/types/src/shape/_builtIn/other.d.ts +6 -0
  413. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  414. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  415. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  416. package/types/src/shape/geometry/format.d.ts +3 -0
  417. package/types/src/shape/geometry/geometry.d.ts +85 -0
  418. package/types/src/shape/geometry/guides.d.ts +54 -0
  419. package/types/src/shape/geometry/handles.d.ts +14 -0
  420. package/types/src/shape/geometry/index.d.ts +7 -0
  421. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  422. package/types/src/shape/geometry/paths.d.ts +35 -0
  423. package/types/src/shape/geometry/segments.d.ts +114 -0
  424. package/types/src/shape/index.d.ts +3 -0
  425. package/types/src/sheet/CellRegion.d.ts +6 -0
  426. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  427. package/types/src/sheet/ISheet.d.ts +197 -50
  428. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  429. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  430. package/types/src/sheet/NamedRange.d.ts +8 -0
  431. package/types/src/sheet/Sheet.d.ts +915 -138
  432. package/types/src/sheet/SheetCell.d.ts +92 -32
  433. package/types/src/sheet/SheetCollection.d.ts +19 -8
  434. package/types/src/sheet/SheetRange.d.ts +90 -18
  435. package/types/src/sheet/SheetRanges.d.ts +22 -9
  436. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  437. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  438. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  439. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  440. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  441. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  442. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  443. package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
  444. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  445. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  446. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  447. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  448. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  449. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  450. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  451. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  452. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  453. package/types/src/sheet/spatial/index.d.ts +1 -0
  454. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  455. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  456. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  457. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  458. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  459. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  460. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  461. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  462. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  463. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  464. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  465. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  466. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  467. package/types/src/sheetView/ISheetView.d.ts +69 -15
  468. package/types/src/sheetView/SheetView.d.ts +20 -11
  469. package/types/src/slicer/ISlicer.d.ts +304 -17
  470. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  471. package/types/src/slicer/Slicer.d.ts +128 -13
  472. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  473. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  474. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  475. package/types/src/slicer/index.d.ts +1 -0
  476. package/types/src/sort/ISort.d.ts +4 -2
  477. package/types/src/string/IStringCollection.d.ts +5 -0
  478. package/types/src/string/StringCollection.d.ts +6 -6
  479. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  480. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  481. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  482. package/types/src/style/IStyleCollection.d.ts +91 -60
  483. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  484. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  485. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  486. package/types/src/style/StyleCollection.d.ts +81 -26
  487. package/types/src/style/TableStyleCollection.d.ts +49 -0
  488. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  489. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  490. package/types/src/style/index.d.ts +7 -1
  491. package/types/src/table/AnchoredTable.d.ts +701 -72
  492. package/types/src/table/AutoTable.d.ts +7 -5
  493. package/types/src/table/ITable.d.ts +261 -34
  494. package/types/src/table/ITableCollection.d.ts +12 -0
  495. package/types/src/table/ITableStyle.d.ts +37 -37
  496. package/types/src/table/TableCollection.d.ts +19 -8
  497. package/types/src/table/_FilterField.d.ts +19 -6
  498. package/types/src/table/_NamedTable.d.ts +17 -1
  499. package/types/src/table/_NamedTableSource.d.ts +1 -0
  500. package/types/src/table/_SortField.d.ts +2 -0
  501. package/types/src/table/_TableColumn.d.ts +13 -2
  502. package/types/src/table/_TableMessages.d.ts +1 -0
  503. package/types/src/table/_TableUtils.d.ts +40 -0
  504. package/types/src/text/Bullet.d.ts +4 -0
  505. package/types/src/text/IText.d.ts +182 -0
  506. package/types/src/text/ITextFrame.d.ts +110 -1
  507. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  508. package/types/src/text/TextFrame.d.ts +4 -0
  509. package/types/src/text/TextLine.d.ts +4 -0
  510. package/types/src/text/TextParagraph.d.ts +4 -0
  511. package/types/src/text/TextRotation.d.ts +3 -3
  512. package/types/src/text/TextRun.d.ts +9 -0
  513. package/types/src/text/TextStacked.d.ts +83 -0
  514. package/types/src/text/index.d.ts +1 -0
  515. package/types/src/text/richtext/IRichText.d.ts +36 -0
  516. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  517. package/types/src/text/richtext/index.d.ts +1 -0
  518. package/types/src/theme/ITheme.d.ts +45 -4
  519. package/types/src/theme/IThemeCollection.d.ts +2 -0
  520. package/types/src/theme/ThemeCollection.d.ts +11 -7
  521. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  522. package/types/src/transaction/ITransaction.d.ts +258 -45
  523. package/types/src/transaction/Transaction.d.ts +101 -11
  524. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  525. package/types/src/type/AbstractCollection.d.ts +101 -0
  526. package/types/src/type/ICollection.d.ts +117 -0
  527. package/types/src/type/ITypes.d.ts +9 -7
  528. package/types/src/type/index.d.ts +1 -0
  529. package/types/src/utils/_CSSUtils.d.ts +3 -3
  530. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  531. package/types/src/wasm/index.d.ts +2 -0
  532. package/types/src/wasm/sdkWasm.d.ts +29 -0
  533. package/types/src/workbook/IWorkbook.d.ts +180 -40
  534. package/types/src/workbook/Workbook.d.ts +123 -10
  535. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  536. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  537. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  538. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  539. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  540. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  541. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  542. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  543. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  544. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  545. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  546. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  547. package/browser/cjs/index.cjs +0 -3
  548. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  549. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  550. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  551. package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
  552. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  553. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  554. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  555. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  556. package/types/src/dataValidation/_Utils.d.ts +0 -10
  557. package/types/src/lib/utils/_Utils.d.ts +0 -27
  558. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  559. package/types/src/movable/IGroup.d.ts +0 -30
  560. package/types/src/movable/IMovableSelection.d.ts +0 -49
  561. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  562. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  563. package/types/src/sheet/listener/index.d.ts +0 -3
  564. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -1,8 +1,9 @@
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
- import { IStyle } from '../style';
6
+ import { ICellStyle } from '../style';
6
7
  import { ParsedDateTime } from '../date/_DateUtils';
7
8
  /**
8
9
  * Interface that captures the selector, operator, and param.
@@ -55,11 +56,33 @@ export interface ICondition<P = any> {
55
56
  * - `includeBlanks: true` → Blanks ARE formatted/shown (rarely needed)
56
57
  * - Example: "Highlight dates" with `includeBlanks: false` correctly excludes blanks
57
58
  *
58
- * **UI Guidance:**
59
- * - Show "Ignore Blanks" checkbox for DataValidation (common use case)
60
- * - Hide for ConditionalFormat/TableFilter (default behavior is usually correct)
59
+ * **Ignore Blank:**
60
+ *
61
+ * On, a blank is taken out of the population before anything is asked, so whatever the host
62
+ * does on failure never happens to it. Off, a blank is a value like any other, judged as Excel
63
+ * judges an empty cell: 0 under a number rule, "" under a text one (so "whole number not
64
+ * between 1 and 5" passes it), a member of a set by {@link InSetOption.blank}, and what
65
+ * {@link BuiltInOperatorNames.Blank} names. Read on the root condition only; an editor shows
66
+ * it as one checkbox, "Ignore Blank", under every host. Excel's `allowBlank`.
67
+ *
68
+ * **What is blank:**
69
+ * - Filters and ConditionalFormat: an empty cell, a `""` result, or a string of only spaces
70
+ * (Excel's `LEN(TRIM(x))=0`). A tab, a non-breaking space, `0` and an error are values.
71
+ * - DataValidation: an empty cell only. A `""` result is a value and is judged.
61
72
  */
62
73
  isIncludeBlanks(): boolean;
74
+ /**
75
+ * Whether the condition can be authored as it is.
76
+ *
77
+ * @returns A message key naming the first problem — an operand not yet given, bounds the wrong
78
+ * way around, a whole-number rule holding a fraction — or `null` when there is none.
79
+ *
80
+ * @remarks
81
+ * Advisory, and what an editor asks before it saves: the rules are the ones Excel's dialogs
82
+ * refuse on. A condition read from a file is kept and evaluated whatever this answers; a
83
+ * comparison missing an operand evaluates as inert rather than as wrong.
84
+ */
85
+ validate(): string | null;
63
86
  /**
64
87
  * Returns a string representation of the selector, operator, and param.
65
88
  */
@@ -86,8 +109,28 @@ export interface ICondition<P = any> {
86
109
  * - Clearing or modifying conditions.
87
110
  */
88
111
  export declare namespace ICondition {
112
+ /**
113
+ * A gate failure: the value is not of the kind the selector reads.
114
+ *
115
+ * @remarks
116
+ * A selector is a partial function. Outside its domain it answers this rather than a value,
117
+ * and the condition's answer is then neither `true` nor `false` (see {@link Answer}): "whole
118
+ * number between 1 and 5" asked about `2.5` is not "outside 1..5", it is "not a whole number".
119
+ * `not` leaves it as it is, `and` / `or` read it as `false` among their children, and every
120
+ * host reads it as a fail at the edge.
121
+ */
122
+ const NotApplicable: unique symbol;
123
+ /**
124
+ * What a condition answers for a value: in the set, not in the set, or not of the kind asked
125
+ * about ({@link NotApplicable}). A blank passes before any of these when `includeBlanks` is on.
126
+ */
127
+ type Answer = boolean | typeof NotApplicable;
89
128
  /**
90
129
  * A single condition applied to a range.
130
+ *
131
+ * @remarks
132
+ * A holder that must evaluate before it writes (a filter, which hides rows) returns a Promise
133
+ * from its writes; see {@link IFilter}.
91
134
  */
92
135
  interface Stateful {
93
136
  /**
@@ -111,15 +154,28 @@ export declare namespace ICondition {
111
154
  }
112
155
  /**
113
156
  * Selectors
157
+ *
158
+ * @remarks
159
+ * A selector is how a condition reads a value: it gates (a value of another kind is not this
160
+ * kind) and projects (`date` is the day, `textLength` the count). No selector is "any value".
161
+ *
162
+ * Membership is not among them. A list is the {@link BuiltInOperatorNames.InSet} operator, which
163
+ * every selector offers; the name `'list'` is still read, as no selector with `inSet`.
114
164
  */
115
165
  const BuiltInSelectorNames: {
116
- readonly List: "list";
117
166
  readonly Logical: "logical";
118
167
  readonly Date: "date";
119
168
  readonly DateTime: "dateTime";
120
169
  readonly Time: "time";
121
170
  readonly Text: "text";
122
171
  readonly TextLength: "textLength";
172
+ /**
173
+ * The text a cell SHOWS: under a filter the displayed text, so `$1` is a cell holding 1 under
174
+ * `$0`; under a format or a validation, where nothing is shown at evaluation, the value's own
175
+ * text. Type text. Excel's filter `equal` and its values list compare this way
176
+ * (DESIGN-FILTER §3.2, MODEL-CONDITIONS §4); `equalTo` under no selector is value equality.
177
+ */
178
+ readonly Display: "display";
123
179
  readonly Number: "number";
124
180
  readonly Whole: "wholeNumber";
125
181
  };
@@ -152,7 +208,9 @@ export declare namespace ICondition {
152
208
  */
153
209
  readonly Color: "color";
154
210
  /**
155
- * Checks any value is equal to.
211
+ * Checks any value is equal to: value equality, `1` is every cell holding 1 and never the
212
+ * text `'1'`. Under the {@link BuiltInSelectorNames.Display} selector it is the text a cell
213
+ * shows ("displays as"), which is what Excel's filter `equal` compares.
156
214
  */
157
215
  readonly EqualTo: "equalTo";
158
216
  /**
@@ -200,7 +258,7 @@ export declare namespace ICondition {
200
258
  */
201
259
  readonly Error: "error";
202
260
  /**
203
- * An operator that filters by specific items (values).
261
+ * Checks that a value is one of a set: membership. Offered under every selector.
204
262
  *
205
263
  * @remarks
206
264
  * * Accepts `ICondition.InSetOption`
@@ -244,7 +302,8 @@ export declare namespace ICondition {
244
302
  * Evaluates a formula expression.
245
303
  *
246
304
  * @remarks
247
- * * Accepts a formula `string`.
305
+ * * Accepts formula text or an {@link ICalculation.IFormula}; a resolved condition holds an
306
+ * `IFormula`.
248
307
  *
249
308
  * Backs conditional formatting's `expression` rule and data validation's `type="custom"`.
250
309
  */
@@ -300,15 +359,27 @@ export declare namespace ICondition {
300
359
  */
301
360
  interface BetweenOption {
302
361
  /**
303
- * The lower bound value — a number, or a `=`-prefixed formula whose result is compared
304
- * per cell.
362
+ * The lower bound value — a number, or a formula whose result is compared per cell.
363
+ *
364
+ * @remarks
365
+ * A formula is authored as a `=`-prefixed string or an {@link ICalculation.IFormula}; a resolved
366
+ * condition holds it as an `IFormula`.
367
+ *
368
+ * `null` while not yet given. The comparison matches nothing, and excludes nothing, until both
369
+ * bounds are.
305
370
  */
306
- from: number | string;
371
+ from: number | string | ICalculation.IFormula | null;
307
372
  /**
308
- * The upper bound value — a number, or a `=`-prefixed formula whose result is compared
309
- * per cell.
373
+ * The upper bound value — a number, or a formula whose result is compared per cell.
374
+ *
375
+ * @remarks
376
+ * A formula is authored as a `=`-prefixed string or an {@link ICalculation.IFormula}; a resolved
377
+ * condition holds it as an `IFormula`.
378
+ *
379
+ * `null` while not yet given. The comparison matches nothing, and excludes nothing, until both
380
+ * bounds are.
310
381
  */
311
- to: number | string;
382
+ to: number | string | ICalculation.IFormula | null;
312
383
  }
313
384
  interface ColorOption {
314
385
  /**
@@ -353,6 +424,7 @@ export declare namespace ICondition {
353
424
  readonly NextMonth: "nextMonth";
354
425
  readonly NextQuarter: "nextQuarter";
355
426
  readonly NextWeek: "nextWeek";
427
+ readonly NextYear: "nextYear";
356
428
  readonly Null: "null";
357
429
  readonly Q1: "Q1";
358
430
  readonly Q2: "Q2";
@@ -361,6 +433,7 @@ export declare namespace ICondition {
361
433
  readonly ThisMonth: "thisMonth";
362
434
  readonly ThisQuarter: "thisQuarter";
363
435
  readonly ThisWeek: "thisWeek";
436
+ readonly ThisYear: "thisYear";
364
437
  readonly Today: "today";
365
438
  readonly Tomorrow: "tomorrow";
366
439
  readonly YearToDate: "yearToDate";
@@ -431,26 +504,89 @@ export declare namespace ICondition {
431
504
  */
432
505
  year?: number;
433
506
  }
507
+ /**
508
+ * The set an {@link BuiltInOperatorNames.InSet} condition tests membership of.
509
+ *
510
+ * @remarks
511
+ * A set is `base ∪ additions − subtractions`. The base is an existing population, sampled one
512
+ * of two ways: a **snapshot** ({@link items}, {@link dateGroups}), resolved when the condition
513
+ * is authored and stored as its members, or **live** ({@link source}), a formula resolved when
514
+ * the condition is evaluated. {@link additions} are values the author typed, and
515
+ * {@link subtractions} are members taken back out.
516
+ *
517
+ * A filter's values list is a snapshot of its column. A validation's typed list is additions
518
+ * with no base, and a validation's range is a live base. Every part is optional and they
519
+ * combine: a range plus a typed `Other` is `source` and `additions`.
520
+ *
521
+ * Each part matches by its own rule, the one Excel applies to that kind of list:
522
+ *
523
+ * | part | a value matches when | text case | a number and its text |
524
+ * | --- | --- | --- | --- |
525
+ * | `items` | it is the same distinct value as an item (what `UNIQUE` tells apart) | ignored | different |
526
+ * | `source` | `MATCH(value, source, 0)` finds it; `*`, `?` and `~` in the value are wildcards | ignored | different |
527
+ * | `additions` | its text, trimmed, is an addition without its leading spaces | significant | the same |
528
+ * | `subtractions` | it is the same distinct value as a subtraction; it then fails whatever else it matched | ignored | different |
529
+ *
530
+ * A blank (an empty cell, a `""` result) is a member by {@link blank}, or by a `source` that
531
+ * holds one, less a `subtractions` entry of `null`. The condition's `includeBlanks` passes it
532
+ * before the set is asked.
533
+ *
534
+ * The members are matched against the selector's reading of the cell: under none, the value;
535
+ * under {@link BuiltInSelectorNames.Display}, the text the cell shows, so `items: ['1.50']`
536
+ * keeps a cell holding 1.5 under `0.00`, which is what a spreadsheet's filter list holds.
537
+ */
434
538
  interface InSetOption {
435
539
  /**
436
- * If true this filter by blank.
540
+ * A snapshot's members: the values that match, as they were when the condition was authored.
541
+ *
542
+ * @remarks
543
+ * Matched by value: `[1]` is every cell holding 1 however it is formatted, and `['1']` the
544
+ * cells holding the text `1`. A value that appears later is not a member, which is why a row
545
+ * added under a filter is hidden when the filter is applied again.
437
546
  */
438
- blank?: boolean;
547
+ items?: readonly Scalar[];
439
548
  /**
440
- * List of item filters
549
+ * A live base: a formula whose result is the list, as formula text without a leading `=`
550
+ * (`$A$1:$A$5`, `Sheet2!$A$1:$A$9`, `MyList`, `OFFSET(...)`, `INDIRECT($E1)`).
441
551
  *
442
552
  * @remarks
443
- * If this is a string that is a formula then the formula is evaluated to get the list of items.
553
+ * Evaluated for each cell, so a relative reference gives each cell its own list, and it
554
+ * follows inserts and deletes as any formula does. A resolved condition holds it as an
555
+ * {@link ICalculation.IFormula}.
444
556
  */
445
- items?: Scalar[] | string;
557
+ source?: string | ICalculation.IFormula;
446
558
  /**
447
- * List of date group filters.
559
+ * Values the author typed, as text, one entry per item. Excel's typed list (`Yes,No`).
560
+ *
561
+ * @remarks
562
+ * An entry is kept as typed. A trailing space is part of it and can never match, as in Excel.
563
+ */
564
+ additions?: readonly string[];
565
+ /**
566
+ * Members taken out of the set. A value that matches one fails, whatever part it came from.
567
+ *
568
+ * @remarks
569
+ * What narrows a live base, where a member cannot be removed from the formula. A snapshot
570
+ * needs none: its unchecked members are simply not in {@link items}.
448
571
  */
449
- dateGroups?: DateGroupItem[];
572
+ subtractions?: readonly Scalar[];
573
+ /**
574
+ * A snapshot's date groups: a year, a month of a year, a day, down to the second. A date
575
+ * inside any group matches.
576
+ */
577
+ dateGroups?: readonly DateGroupItem[];
450
578
  /**
451
579
  * Calendar type for date group items.
452
580
  */
453
581
  calendarType?: string;
582
+ /**
583
+ * Whether a blank is a member: the `(Blank)` row of a list, OOXML's `filters/@blank`.
584
+ *
585
+ * @remarks
586
+ * Membership, not policy: the condition's `includeBlanks` (Ignore Blank) passes a blank
587
+ * before the set is asked, and is the only part of a condition a blank bypasses.
588
+ */
589
+ blank?: boolean;
454
590
  }
455
591
  interface IconOption {
456
592
  /**
@@ -460,7 +596,7 @@ export declare namespace ICondition {
460
596
  /**
461
597
  * Specifies which icon set to use.
462
598
  */
463
- iconSet?: IStyle.IconSet;
599
+ iconSet?: ICellStyle.IconSet;
464
600
  }
465
601
  interface TopNOption {
466
602
  /**
@@ -516,6 +652,27 @@ export declare namespace ICondition {
516
652
  * Convert the value to the specified scalar type.
517
653
  */
518
654
  toType<T extends InteropScalar>(value: Scalar, type: InteropScalarType): T;
655
+ /**
656
+ * The stored value of the cell being judged, before the selector read it.
657
+ *
658
+ * @remarks
659
+ * For the part of a predicate that is defined on the cell rather than on the reading: an
660
+ * `inSet` date group is an interval of serials under any selector, since a file's values
661
+ * list holds its date tree beside its displayed texts. Everything else compares the value
662
+ * the predicate is given.
663
+ */
664
+ getValue(): Scalar;
665
+ /**
666
+ * The text the current cell shows, under a filter; `null` elsewhere.
667
+ *
668
+ * @remarks
669
+ * What the {@link BuiltInSelectorNames.Display} selector reads: a cell holding `1.5` and
670
+ * showing `1.50` reads as `1.50`. A conditional format or a data validation has no displayed
671
+ * text, so this answers `null` there and Display reads the value's own text.
672
+ *
673
+ * Formatted on demand, so a condition that never asks pays nothing.
674
+ */
675
+ getDisplayText(): string | null;
519
676
  /**
520
677
  * Resolves a condition input to a fully-built ICondition instance.
521
678
  *
@@ -611,10 +768,11 @@ export declare namespace ICondition {
611
768
  */
612
769
  createFormula(expression: string, coords?: IRange.CellCoords | null): ICalculation.IFormula | null;
613
770
  /**
614
- * Declares that this condition depends on `expression`, and resolves to its values across
771
+ * Declares that this condition depends on `formula`, and resolves to its values across
615
772
  * {@link getCoords}.
616
773
  *
617
- * @param expression The formula this operator needs, exactly as authored.
774
+ * @param formula The formula this operator needs — the param's {@link ICalculation.IFormula},
775
+ * or formula text as authored.
618
776
  *
619
777
  * @returns One value per cell of {@link getCoords}, read with LOCAL coordinates
620
778
  * (`getValueAt(0, 0)` is the coords' top-left), or `null` when there is no engine to
@@ -634,31 +792,19 @@ export declare namespace ICondition {
634
792
  * - A one-shot caller (`Range.filter()`) has no lifetime to keep fresh, so it simply evaluates
635
793
  * once and resolves. Correct there, and identical from here.
636
794
  */
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>;
795
+ watchFormula(formula: ICalculation.IFormula | string): MaybePromise<IRange | null>;
656
796
  }
657
797
  /**
658
798
  * Predicate function used to evaluate condition matches.
799
+ *
800
+ * @remarks
801
+ * A leaf operator's predicate answers `true` or `false`: it sees a blank only as `null`, and
802
+ * only with Ignore Blank off; never a value its selector did not read. A combinator's
803
+ * predicate answers an {@link Answer}, since
804
+ * a child's selector may have answered {@link NotApplicable}. A caller tests `=== true`.
659
805
  */
660
806
  interface Predicate {
661
- (value: Scalar, ctx: ICondition.IContext): boolean;
807
+ (value: Scalar, ctx: ICondition.IContext): ICondition.Answer;
662
808
  }
663
809
  /**
664
810
  * Used for defining condition operators.
@@ -688,11 +834,6 @@ export declare namespace ICondition {
688
834
  * * Value is stable and should not change between calls for the same operator instance.
689
835
  */
690
836
  getAcceptsTypes?(): readonly (InteropScalarType | null)[] | null;
691
- /**
692
- * Returns true if operator works with list selectors.
693
- * Expects param to have { values: Scalar[] }
694
- */
695
- acceptsList?(): boolean;
696
837
  /**
697
838
  * Composes other conditions (param is ICondition or ICondition[])
698
839
  */
@@ -709,8 +850,43 @@ export declare namespace ICondition {
709
850
  getParamType?(lhsSelector?: ICondition.ISelector): string | null;
710
851
  /**
711
852
  * Creates the default param for this operator type.
853
+ *
854
+ * @param lhsSelector The condition's selector, when it has one.
855
+ * @param context What the condition will apply to, when known. An operator may fit its
856
+ * default to it, as `inSet` starts from the distinct values already in the cells.
857
+ *
858
+ * @remarks
859
+ * Read `context.ranges` through `getStats()`, never by visiting its cells: a whole column may
860
+ * be selected.
861
+ */
862
+ createDefaultParam?(lhsSelector?: ICondition.ISelector, context?: ICondition.DefaultConditionContext): P | null | undefined;
863
+ /**
864
+ * Whether `param` is one this operator can be authored with under `lhsSelector`.
865
+ *
866
+ * @returns A message key naming the first problem, or `null` when there is none. Omitted, any
867
+ * param is taken. See {@link ICondition.validate}.
712
868
  */
713
- createDefaultParam?(lhsSelector?: ICondition.ISelector): P | null | undefined;
869
+ validateParam?(param: P, lhsSelector?: ICondition.ISelector | null): string | null;
870
+ /**
871
+ * The candidates the param carries, as the author gave them: what a widget shows (a
872
+ * validation's in-cell dropdown).
873
+ *
874
+ * @param param The operator's param.
875
+ * @param ctx The evaluation context, when there is one. A candidate that needs evaluating (a
876
+ * set's live `source`) is listed only with one; without, the candidates that need none.
877
+ *
878
+ * @returns The candidates, or `null` when the param carries none. An empty array is a param
879
+ * that carries candidates and has none here.
880
+ *
881
+ * @remarks
882
+ * A sequence, not the set the predicate tests: the set is defined by every operator and
883
+ * rendered by none, while candidates exist only when the author supplied them (`inSet`: the
884
+ * typed list in its order, the source's rows). A comparison's set may be finite and still
885
+ * has no candidates, since nothing authored an order or a text for its members. A host asks
886
+ * this and keeps its own choice of whether to show a picker (a validation's `hideDropdown`);
887
+ * what a candidate looks like (a date wants a calendar) is the selector's type.
888
+ */
889
+ getCandidates?(param: P, ctx?: ICondition.IContext | null): MaybePromise<readonly Scalar[] | null>;
714
890
  /**
715
891
  * Returns a human-readable title of the operator.
716
892
  */
@@ -769,15 +945,30 @@ export declare namespace ICondition {
769
945
  */
770
946
  toString?(param?: P, lhsSelector?: ICondition.ISelector | null): string | undefined;
771
947
  }
948
+ /**
949
+ * A selector's reading of one value: the value as the selector's type, or
950
+ * {@link NotApplicable} when the value is not of the kind it reads. Never called with a blank.
951
+ */
772
952
  interface Transformer<T extends Scalar, I extends Scalar = T> {
773
- (value: I, ctx: ICondition.IContext): T;
953
+ (value: I, ctx: ICondition.IContext): T | typeof NotApplicable;
774
954
  }
775
955
  /**
776
956
  * Used for defining condition selectors.
957
+ *
958
+ * @remarks
959
+ * A selector is how a condition reads a value: a partial function from cell values to its
960
+ * type ({@link getSelectType}). It **gates**, answering {@link NotApplicable} for a value that
961
+ * is not this kind (text under Whole, a fraction under Whole, a boolean under any number
962
+ * selector), and it **projects**, reading a value it accepts as something else (Text length
963
+ * reads `abc` as 3). Most built-in selectors only gate: Whole, Number, Date and Time read a
964
+ * number as itself, and differ in which operands they take.
965
+ *
966
+ * The operator never sees a value the selector did not read, and a host reads a gate failure
967
+ * as a fail. No selector is "any value": a condition with none reads every value as itself.
777
968
  */
778
969
  interface ISelector<T extends Scalar = Scalar, I extends Scalar = T> {
779
970
  /**
780
- * Called once per evaluation to build the selector predicate.
971
+ * Called once per evaluation to build the selector's reading of a value.
781
972
  *
782
973
  * @remarks
783
974
  * - May be async: callers must await the result before evaluation.
@@ -785,6 +976,7 @@ export declare namespace ICondition {
785
976
  * so you can safely use it for one-time initialization, stats, etc.
786
977
  * - An example of where we would want to batch is 'address or 'in list'.
787
978
  * - Return `null` for identity selectors (no transformation needed — value passes through as-is).
979
+ * - The transformer answers {@link NotApplicable} for a value outside the selector's domain.
788
980
  */
789
981
  createTransformer(ctx: ICondition.IContext): MaybePromise<ICondition.Transformer<T, I> | null>;
790
982
  /**
@@ -800,10 +992,13 @@ export declare namespace ICondition {
800
992
  */
801
993
  getSelectType(): InteropScalarType | null;
802
994
  /**
803
- * Return type of scalar this selector accepts.
995
+ * The type of raw value this selector reads, when it is one type.
804
996
  *
805
997
  * @remarks
806
- * * If not specified or `null` is returns all types will be passed.
998
+ * * A fast path for the gate: a value of another type is {@link NotApplicable} without the
999
+ * transformer being asked. `null` when the selector reads more than one type (Text length
1000
+ * reads numbers and booleans as their text), in which case the transformer gates alone.
1001
+ * * A stored date is a number, so `Date` here admits a number.
807
1002
  * * Value is stable and should not change between calls for the same selector instance.
808
1003
  */
809
1004
  getInputType(): InteropScalarType | null;
@@ -816,28 +1011,46 @@ export declare namespace ICondition {
816
1011
  */
817
1012
  getDescription?(): string;
818
1013
  /**
819
- * Optional function to provide a hint for rendering the condition in the UI.
1014
+ * The condition a user starts from on choosing this selector.
820
1015
  *
821
- * @returns A string hint for rendering the condition.
1016
+ * @param context What the condition will apply to, when known.
1017
+ * @returns The operator and, only where one value is plainly the right one, its param. `null`
1018
+ * for a selector with no natural operator.
822
1019
  *
823
1020
  * @remarks
824
- * This can be used to provide additional context or guidance for users when displaying the condition in the UI.
825
- * Some examples of built-in hints are:
1021
+ * An authoring UI asks for this when a user picks the selector, so the choice shows an operator
1022
+ * at once rather than an empty condition. An omitted `param` is filled by the operator's own
1023
+ * {@link ICondition.IOperator.createDefaultParam}; supply one only when it is the value the user
1024
+ * would have chosen, since an invented value that is saved unnoticed is a rule nobody wrote.
826
1025
  *
827
- * Examples:
828
- * * The `Items` operator might return `"list"` to suggest a list-style editor.
829
- * * The `Boolean` operator might return `"checkbox"`.
1026
+ * Read `context.ranges` through `getStats()`, never by visiting its cells: a whole column may be
1027
+ * selected.
1028
+ */
1029
+ getDefaultCondition?(context?: ICondition.DefaultConditionContext): ICondition.DefaultCondition | null;
1030
+ }
1031
+ /**
1032
+ * What {@link ISelector.getDefaultCondition} and {@link IOperator.createDefaultParam} may fit
1033
+ * their default to.
1034
+ */
1035
+ interface DefaultConditionContext {
1036
+ /**
1037
+ * The cells the condition will cover.
830
1038
  */
831
- getRenderHints?(): readonly string[] | null;
1039
+ ranges?: ICellRanges | null;
832
1040
  }
833
1041
  /**
834
- * A selector that operates on lists of values, such as "is in list" or "contains".
1042
+ * The operator and param a selector's condition starts with. See
1043
+ * {@link ISelector.getDefaultCondition}.
835
1044
  */
836
- interface IListSelector<T extends Scalar = Scalar, I extends Scalar = T> extends ISelector<T, I> {
1045
+ interface DefaultCondition<P = any> {
837
1046
  /**
838
- * Returns true to indicate this is a list selector.
1047
+ * The operator's name.
839
1048
  */
840
- readonly isList: true;
1049
+ operator: string;
1050
+ /**
1051
+ * The operator's param. Omitted to take the operator's own default.
1052
+ */
1053
+ param?: P;
841
1054
  }
842
1055
  /**
843
1056
  * This is a a simple object that has the operator and param for a filter.
@@ -859,13 +1072,13 @@ export declare namespace ICondition {
859
1072
  */
860
1073
  param?: P;
861
1074
  /**
862
- * Whether to include blank cells when applying the condition.
1075
+ * Ignore Blank: a blank passes before anything is asked. See {@link ICondition.isIncludeBlanks}.
863
1076
  *
864
- * @defaultValue `false`
1077
+ * @defaultValue `false`, and a blank is then a value the condition judges.
865
1078
  *
866
1079
  * @remarks
867
- * If `includeBlanks` is `false` (default), blanks are treated as non-matches,
868
- * even if the operator would otherwise match them.
1080
+ * The root condition's alone. A combinator's child carries none: one given is not read, and
1081
+ * is not written back.
869
1082
  */
870
1083
  includeBlanks?: boolean;
871
1084
  }
@@ -881,7 +1094,8 @@ export declare namespace ICondition {
881
1094
  */
882
1095
  interface RangeOptions {
883
1096
  /**
884
- * The condition.
1097
+ * The conditions, each carrying the column (or row, per {@link axis}) it tests through
1098
+ * {@link IndexedProperties.index}; one that omits it tests its position in the array.
885
1099
  */
886
1100
  conditions: ICondition.Input[];
887
1101
  /**
@@ -889,9 +1103,15 @@ export declare namespace ICondition {
889
1103
  */
890
1104
  axis?: IRange.Axis;
891
1105
  /**
892
- * If filtering should include the hidden row/columns
1106
+ * Whether rows/columns already hidden take part.
893
1107
  *
894
- * @defaultValue false
1108
+ * @remarks
1109
+ * For a filter (`ICellRange.filter`, `ITable.filter`) the default is `true`: an apply is a full
1110
+ * recompute, so a row hidden by an earlier apply, or by hand, comes back when it matches.
1111
+ * `false` pins the rows already hidden as excluded. Conditional formats and data validations
1112
+ * default to `false` and skip hidden cells.
1113
+ *
1114
+ * @defaultValue `true` for a filter, `false` otherwise
895
1115
  */
896
1116
  includeHidden?: boolean | IRange.Axis;
897
1117
  /**