@sheetxl/sdk 0.8.0-beta.11 → 0.8.0-beta.13

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 (349) hide show
  1. package/THIRD-PARTY-NOTICES.md +172 -0
  2. package/browser/esm/{BMyDRQ716j79h_bH.mjs → -GEhXGMfNcWmHPby.mjs} +6 -6
  3. package/browser/esm/{B7aUIvgUjncMMD_i.mjs → 9WXf_BTKjW1cQisZ.mjs} +95 -94
  4. package/browser/esm/{PcHFjNzQsE54POri.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
  5. package/browser/esm/{DEiPS3Dr-s4fPbVZ.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
  6. package/browser/esm/{BpgskG1Er_lGQ_yS.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
  7. package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
  8. package/browser/esm/{BkBhLS0l6z8sxI6D.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
  9. package/browser/esm/{CU3DmJ-YnVVrC1_k.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
  10. package/browser/esm/{Dyq_ivuHvlXLwPCl.mjs → BVshV1iY3bcUH9_E.mjs} +1135 -1129
  11. package/browser/esm/{BFagR2JeWs74iAG3.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
  12. package/browser/esm/{DvAaxH6z_tGvrRzl.mjs → Bax5aOzQkbHKXW_X.mjs} +239 -230
  13. package/browser/esm/{DLLE0FZNsKxbBzRn.mjs → BiDGKhtzV6yIy66o.mjs} +45 -45
  14. package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
  15. package/browser/esm/{ClPfI4lODvCece29.mjs → BoAlHgjPQ6mxb_oO.mjs} +74 -74
  16. package/browser/esm/{BoV6zPBnfqCBCqZ7.mjs → C0mjTq8lhrX3HiPa.mjs} +4328 -3166
  17. package/browser/esm/{nvU0ClAbf0g94YBK.mjs → C5j0IdwtYkWlOftv.mjs} +604 -596
  18. package/browser/esm/{DWNzqw7DUKwoxjri.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
  19. package/browser/esm/{Ctjb0SsxV4K4MMqG.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
  20. package/{node/esm/CZICGK_ss0HoGHCP.mjs → browser/esm/CPzfhTPX2Y4dHX2p.mjs} +2 -2
  21. package/browser/esm/{Dlmig06rIo7cInRk.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
  22. package/browser/esm/{BjkCiv5Jz6WYKZeu.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
  23. package/browser/esm/Ced5uyofOWHuL_Jy.mjs +114 -0
  24. package/browser/esm/{CkxWugaJFjDGZNZ-.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
  25. package/browser/esm/{zlLuW405RSguy4Kn.mjs → CwygVKP_RXmne5Ot.mjs} +47 -47
  26. package/browser/esm/{C4MqfLn9Dm-l3OIk.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
  27. package/browser/esm/{BnG31I6Oj_HEtSPS.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
  28. package/browser/esm/{BVDiOXGMc5_FMGfy.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
  29. package/browser/esm/DW-MmlgMH87l-_cw.mjs +302 -0
  30. package/browser/esm/{CaB7J-xgfKO2uAkG.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
  31. package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
  32. package/browser/esm/{CHU6iu_WGlm7fLET.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
  33. package/browser/esm/{C2VbEI_XVAoseAwa.mjs → DkloMquaR1pbZCER.mjs} +44 -43
  34. package/browser/esm/{C16ycKja6zG0crV_.mjs → Dz86-De57bv2VYIi.mjs} +19447 -16481
  35. package/browser/esm/{BtvLTTfSBdAKplVG.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
  36. package/browser/esm/{CQYjO777cmAznUzK.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
  37. package/browser/esm/index.mjs +823 -644
  38. package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
  39. package/browser/esm/pm00uZZu_H3gxHFx.mjs +117 -0
  40. package/browser/esm/{CV5EGEjG5_-CPpP0.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
  41. package/browser/esm/{ClbvFbFzFzXLBKNN.mjs → zZngLMg6mg6nnNGX.mjs} +66 -66
  42. package/licenses/dependencies.txt +71 -1
  43. package/node/esm/{BqiexuA89caYnAPz.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
  44. package/node/esm/-b8yNV4v9qiq8EMY.mjs +117 -0
  45. package/node/esm/{D8zEN-6ZdDqDvTxM.mjs → 1V-m67YHbxmg3xk2.mjs} +74 -74
  46. package/node/esm/{D_t5AUxSm7_icjzq.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
  47. package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
  48. package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
  49. package/node/esm/{OVfaSb506tNSIvbv.mjs → BQ2XqExomMceAjfe.mjs} +20822 -18373
  50. package/node/esm/{2Kihw_-5lVTEnwMa.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
  51. package/node/esm/{D1TKBVmoKGAXf37B.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
  52. package/node/esm/{D6e2z7eZpxOJXHc7.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
  53. package/node/esm/{CNCNJNg890KdgkWh.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
  54. package/node/esm/{De2IONBxQhz-Qbyh.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
  55. package/node/esm/{CzXT00vrQa1_gvW9.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
  56. package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
  57. package/node/esm/{DUTskXCXref-IJnI.mjs → CWBS90g3Hz-kQDkY.mjs} +46 -46
  58. package/node/esm/{BIwObuhTJYf0jpUa.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
  59. package/node/esm/{CwePQwTILHHjGDkZ.mjs → CzrLqStvrcPE2-hb.mjs} +194 -185
  60. package/node/esm/{CCN5vD410obwdz38.mjs → D16EdlZG1hX5WUUK.mjs} +96 -95
  61. package/node/esm/{CDHdgJXH2vS71WMc.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
  62. package/node/esm/{cGwrLA1RCE-WhJ7w.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
  63. package/node/esm/{Bbf1Pm9Gk7YpLTvg.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
  64. package/node/esm/{yavzZOiZW_EjG9lE.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
  65. package/node/esm/{DkwIPzKc3UwdUIfM.mjs → DF0nL7s01dp7n0Bx.mjs} +10 -10
  66. package/node/esm/{DNRhGK-8Tr9xcRyc.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
  67. package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
  68. package/node/esm/{BIRq1kT7lLRzns9t.mjs → DR2OQTKqqyIkZnse.mjs} +2 -2
  69. package/node/esm/{857CIBgQgGpnqrXk.mjs → DSTLPBgpsGW6qP9e.mjs} +73 -73
  70. package/node/esm/{CGp6VZL-gZa9Uezx.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
  71. package/node/esm/{CZiqiay42tFTrLI4.mjs → DwvXHsycOQR219c7.mjs} +1 -1
  72. package/node/esm/{B21JjOLghRoDOrkx.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
  73. package/node/esm/{Ct3h15sCus4Tgt6M.mjs → NkPNHsq2T3DXg76x.mjs} +561 -553
  74. package/node/esm/{B084DssTcdBheTp_.mjs → Nl_IIkO1jbk0s9i-.mjs} +4552 -3373
  75. package/node/esm/{D2KBymQJd1XhpeQD.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
  76. package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
  77. package/node/esm/{CdJHUJSBRHZoryPe.mjs → Z1elC_roIu7LhceZ.mjs} +53 -53
  78. package/{browser/esm/D5np__Jb1euAyaLw.mjs → node/esm/e3F3OVXCxLJrSukW.mjs} +2 -2
  79. package/node/esm/index.mjs +806 -625
  80. package/node/esm/{mFiBSM7XgBHV9AY7.mjs → suOBVUz-pca6ilJH.mjs} +1607 -1601
  81. package/package.json +8 -6
  82. package/resources/contents.json +108 -0
  83. package/resources/fonts/aptos-bold-italic.hinted.json +125 -0
  84. package/resources/fonts/aptos-bold-italic.metrics.json +221 -0
  85. package/resources/fonts/aptos-bold-italic.rows.json +8 -0
  86. package/resources/fonts/aptos-bold.hinted.json +125 -0
  87. package/resources/fonts/aptos-bold.metrics.json +221 -0
  88. package/resources/fonts/aptos-bold.rows.json +8 -0
  89. package/resources/fonts/aptos-display-bold-italic.hinted.json +125 -0
  90. package/resources/fonts/aptos-display-bold-italic.metrics.json +221 -0
  91. package/resources/fonts/aptos-display-bold-italic.rows.json +8 -0
  92. package/resources/fonts/aptos-display-bold.hinted.json +125 -0
  93. package/resources/fonts/aptos-display-bold.metrics.json +221 -0
  94. package/resources/fonts/aptos-display-bold.rows.json +8 -0
  95. package/resources/fonts/aptos-display-italic.hinted.json +124 -0
  96. package/resources/fonts/aptos-display-italic.metrics.json +221 -0
  97. package/resources/fonts/aptos-display-italic.rows.json +8 -0
  98. package/resources/fonts/aptos-display-regular.hinted.json +125 -0
  99. package/resources/fonts/aptos-display-regular.metrics.json +221 -0
  100. package/resources/fonts/aptos-display-regular.rows.json +8 -0
  101. package/resources/fonts/aptos-italic.hinted.json +125 -0
  102. package/resources/fonts/aptos-italic.metrics.json +221 -0
  103. package/resources/fonts/aptos-italic.rows.json +8 -0
  104. package/resources/fonts/aptos-narrow-bold-italic.hinted.json +125 -0
  105. package/resources/fonts/aptos-narrow-bold-italic.metrics.json +221 -0
  106. package/resources/fonts/aptos-narrow-bold-italic.rows.json +8 -0
  107. package/resources/fonts/aptos-narrow-bold.hinted.json +125 -0
  108. package/resources/fonts/aptos-narrow-bold.metrics.json +221 -0
  109. package/resources/fonts/aptos-narrow-bold.rows.json +8 -0
  110. package/resources/fonts/aptos-narrow-italic.hinted.json +125 -0
  111. package/resources/fonts/aptos-narrow-italic.metrics.json +221 -0
  112. package/resources/fonts/aptos-narrow-italic.rows.json +8 -0
  113. package/resources/fonts/aptos-narrow-regular.hinted.json +125 -0
  114. package/resources/fonts/aptos-narrow-regular.metrics.json +221 -0
  115. package/resources/fonts/aptos-narrow-regular.rows.json +8 -0
  116. package/resources/fonts/aptos-regular.hinted.json +125 -0
  117. package/resources/fonts/aptos-regular.metrics.json +221 -0
  118. package/resources/fonts/aptos-regular.rows.json +8 -0
  119. package/resources/fonts/arial-bold-italic.rows.json +0 -1
  120. package/resources/fonts/arial-bold.rows.json +0 -1
  121. package/resources/fonts/arial-italic.rows.json +0 -1
  122. package/resources/fonts/arial-regular.rows.json +0 -1
  123. package/resources/fonts/calibri-bold-italic.rows.json +0 -1
  124. package/resources/fonts/calibri-bold.rows.json +0 -1
  125. package/resources/fonts/calibri-italic.rows.json +0 -1
  126. package/resources/fonts/calibri-regular.rows.json +0 -1
  127. package/resources/fonts/cambria-bold-italic.rows.json +0 -1
  128. package/resources/fonts/cambria-bold.rows.json +0 -1
  129. package/resources/fonts/cambria-italic.rows.json +0 -1
  130. package/resources/fonts/cambria-regular.rows.json +0 -1
  131. package/resources/fonts/contents.json +240 -0
  132. package/resources/fonts/courier-new-bold-italic.rows.json +0 -1
  133. package/resources/fonts/courier-new-bold.rows.json +0 -1
  134. package/resources/fonts/courier-new-italic.rows.json +0 -1
  135. package/resources/fonts/courier-new-regular.rows.json +0 -1
  136. package/resources/fonts/times-new-roman-bold-italic.rows.json +0 -1
  137. package/resources/fonts/times-new-roman-bold.rows.json +0 -1
  138. package/resources/fonts/times-new-roman-italic.rows.json +0 -1
  139. package/resources/fonts/times-new-roman-regular.rows.json +0 -1
  140. package/resources/locales/de/model.msg.json +12 -2
  141. package/resources/locales/en/model.msg.json +13 -2
  142. package/types/scripting-api.json +10638 -10446
  143. package/types/scripting-enums.json +20 -1
  144. package/types/scripting.d.ts +1536 -477
  145. package/types/src/.generated/wasm/sdk.d.ts +5 -27
  146. package/types/src/address/AddressUtils.d.ts +8 -0
  147. package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
  148. package/types/src/{sheet → anomalies}/_Anomalies.d.ts +3 -3
  149. package/types/src/anomalies/_FocusTable.d.ts +5 -0
  150. package/types/src/{sheet/_AnomalyFormulaChecks.d.ts → anomalies/_FormulaChecks.d.ts} +10 -2
  151. package/types/src/{sheet/_AnomalyLabelChecks.d.ts → anomalies/_LabelChecks.d.ts} +1 -1
  152. package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
  153. package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
  154. package/types/src/calculation/Calculation.d.ts +61 -98
  155. package/types/src/calculation/ExternalBookBindings.d.ts +2 -29
  156. package/types/src/calculation/ICalculation.d.ts +96 -9
  157. package/types/src/calculation/NamedFormulaCollection.d.ts +110 -10
  158. package/types/src/calculation/TokenType.d.ts +0 -10
  159. package/types/src/calculation/_CloneBoundary.d.ts +0 -24
  160. package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
  161. package/types/src/calculation/compiler/ASTTypes.d.ts +6 -15
  162. package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
  163. package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
  164. package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
  165. package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
  166. package/types/src/calculation/compiler/Types.d.ts +1 -45
  167. package/types/src/calculation/engine/CalcBackend.d.ts +83 -127
  168. package/types/src/calculation/engine/index.d.ts +0 -8
  169. package/types/src/calculation/executor/CalcExecutor.d.ts +50 -116
  170. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +47 -12
  171. package/types/src/calculation/executor/CircularReference.d.ts +0 -17
  172. package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
  173. package/types/src/calculation/executor/_WhatIf.d.ts +31 -0
  174. package/types/src/calculation/formula/FormulaBlock.d.ts +4 -31
  175. package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
  176. package/types/src/calculation/formula/IFormulaBlock.d.ts +5 -12
  177. package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
  178. package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
  179. package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
  180. package/types/src/calculation/grid/CalcGrid.d.ts +8 -64
  181. package/types/src/calculation/grid/CalcGridBackend.d.ts +12 -35
  182. package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -15
  183. package/types/src/calculation/grid/CalcGridUtils.d.ts +21 -23
  184. package/types/src/calculation/grid/ICalcGrid.d.ts +28 -109
  185. package/types/src/calculation/grid/_CalcRequest.d.ts +17 -33
  186. package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
  187. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +54 -82
  188. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -3
  189. package/types/src/calculation/state/CalcNode.d.ts +0 -1
  190. package/types/src/calculation/state/CalcScope.d.ts +29 -9
  191. package/types/src/calculation/state/CalcState.d.ts +19 -9
  192. package/types/src/calculation/state/CalculationContext.d.ts +32 -38
  193. package/types/src/calculation/state/DeferredCalls.d.ts +207 -0
  194. package/types/src/calculation/state/IContextContainer.d.ts +19 -55
  195. package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
  196. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +52 -33
  197. package/types/src/calculation/state/_WhatIfLayer.d.ts +77 -0
  198. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
  199. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
  200. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
  201. package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
  202. package/types/src/calculation/toolkit/index.d.ts +0 -8
  203. package/types/src/cell/ICell.d.ts +59 -54
  204. package/types/src/cellControl/CellControl.d.ts +67 -0
  205. package/types/src/cellControl/CellControlCollection.d.ts +29 -0
  206. package/types/src/cellControl/CellControlRegistry.d.ts +47 -0
  207. package/types/src/cellControl/ICellControl.d.ts +99 -0
  208. package/types/src/cellControl/ICellControlCollection.d.ts +67 -0
  209. package/types/src/cellControl/index.d.ts +4 -0
  210. package/types/src/cellRange/ICellRange.d.ts +226 -67
  211. package/types/src/cellRange/ICellRanges.d.ts +4 -3
  212. package/types/src/chart/Chart.d.ts +0 -16
  213. package/types/src/chart/_ChartParts.d.ts +0 -39
  214. package/types/src/chart/_ChartSource.d.ts +0 -14
  215. package/types/src/chart/createChart.d.ts +1 -1
  216. package/types/src/chart/kinds/ChartKind.d.ts +4 -4
  217. package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
  218. package/types/src/chart/layout/ChartLayout.d.ts +5 -1
  219. package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
  220. package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
  221. package/types/src/chart/math/BoxStats.d.ts +0 -8
  222. package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
  223. package/types/src/chart/math/Histogram.d.ts +0 -17
  224. package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
  225. package/types/src/chart/math/Treemap.d.ts +0 -15
  226. package/types/src/chart/math/Trendlines.d.ts +0 -8
  227. package/types/src/chart/math/UnitCalcs.d.ts +0 -22
  228. package/types/src/chart/model/_Edits.d.ts +0 -33
  229. package/types/src/chart/model/_Grouping.d.ts +0 -25
  230. package/types/src/chart/model/_Inference.d.ts +0 -18
  231. package/types/src/chart/model/_NewChart.d.ts +0 -41
  232. package/types/src/chart/model/_OfPie.d.ts +0 -7
  233. package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
  234. package/types/src/chart/resolve/_Resolve.d.ts +3 -12
  235. package/types/src/chart/resolve/_ResolvedChart.d.ts +5 -8
  236. package/types/src/collections/ISparseGrid.d.ts +11 -2
  237. package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
  238. package/types/src/collections/SparseGrid.d.ts +3 -8
  239. package/types/src/collections/_GridUtils.d.ts +0 -10
  240. package/types/src/comment/_NoteBox.d.ts +0 -15
  241. package/types/src/condition/AnchoredConditional.d.ts +3 -25
  242. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
  243. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
  244. package/types/src/condition/ICondition.d.ts +2 -2
  245. package/types/src/condition/_ConditionUtils.d.ts +0 -38
  246. package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
  247. package/types/src/externalBook/ExternalBookName.d.ts +2 -3
  248. package/types/src/externalBook/IExternalBook.d.ts +16 -18
  249. package/types/src/fetch/Fetcher.d.ts +15 -0
  250. package/types/src/fetch/IFetcher.d.ts +48 -0
  251. package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
  252. package/types/src/fetch/index.d.ts +3 -0
  253. package/types/src/fill/PaintUtils.d.ts +3 -1
  254. package/types/src/font/AdvanceTable.d.ts +16 -42
  255. package/types/src/font/IFont.d.ts +32 -9
  256. package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
  257. package/types/src/font/_FontUtils.d.ts +0 -8
  258. package/types/src/font/_StandIns.d.ts +33 -0
  259. package/types/src/hyperlink/IHyperlink.d.ts +10 -0
  260. package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
  261. package/types/src/index.d.ts +2 -1
  262. package/types/src/io/IWorkbookIO.d.ts +3 -3
  263. package/types/src/io/WorkbookOrigin.d.ts +2 -2
  264. package/types/src/license/LicenseManager.d.ts +2 -1
  265. package/types/src/license/_Utils.d.ts +4 -3
  266. package/types/src/license/details.d.ts +3 -1
  267. package/types/src/license/keys.d.ts +6 -0
  268. package/types/src/license/license-key.d.ts +15 -33
  269. package/types/src/license/token.d.ts +55 -0
  270. package/types/src/named/INamedCollection.d.ts +36 -0
  271. package/types/src/named/NamedCollection.d.ts +18 -0
  272. package/types/src/picture/IPicture.d.ts +45 -0
  273. package/types/src/picture/Picture.d.ts +12 -0
  274. package/types/src/pivot/PivotTable.d.ts +0 -7
  275. package/types/src/primitives/AsyncValue.d.ts +46 -0
  276. package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
  277. package/types/src/primitives/Range.d.ts +0 -60
  278. package/types/src/primitives/ScalarCollation.d.ts +0 -106
  279. package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
  280. package/types/src/print/PageLayout.d.ts +0 -6
  281. package/types/src/reference/ReferenceUtils.d.ts +4 -2
  282. package/types/src/resource/IResource.d.ts +9 -0
  283. package/types/src/resource/IResourceCollection.d.ts +4 -0
  284. package/types/src/resource/Resource.d.ts +2 -0
  285. package/types/src/resource/_AddResource.d.ts +13 -0
  286. package/types/src/richData/CellImage.d.ts +95 -0
  287. package/types/src/richData/Hyperlink.d.ts +49 -0
  288. package/types/src/richData/IRichDataCollection.d.ts +76 -0
  289. package/types/src/richData/IRichDataKind.d.ts +55 -11
  290. package/types/src/richData/RichArray.d.ts +42 -0
  291. package/types/src/richData/RichDataCollection.d.ts +23 -0
  292. package/types/src/richData/RichDataRegistry.d.ts +52 -14
  293. package/types/src/richData/RichDataValues.d.ts +20 -0
  294. package/types/src/richData/RichRecord.d.ts +68 -0
  295. package/types/src/richData/RichText.d.ts +5 -5
  296. package/types/src/richData/index.d.ts +6 -0
  297. package/types/src/scripting/FunctionArguments.d.ts +17 -1
  298. package/types/src/scripting/FunctionCollection.d.ts +8 -0
  299. package/types/src/scripting/Scripts.d.ts +10 -0
  300. package/types/src/scripting/TypedFunction.d.ts +2 -109
  301. package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
  302. package/types/src/sheet/IWorksheet.d.ts +26 -22
  303. package/types/src/sheet/NamedCellRange.d.ts +0 -21
  304. package/types/src/sheet/SheetCell.d.ts +25 -3
  305. package/types/src/sheet/SheetRange.d.ts +8 -2
  306. package/types/src/sheet/SheetRanges.d.ts +2 -2
  307. package/types/src/sheet/Worksheet.d.ts +117 -104
  308. package/types/src/sheet/_DelimitedText.d.ts +13 -0
  309. package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
  310. package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
  311. package/types/src/sheet/_ScalarListFactory.d.ts +46 -17
  312. package/types/src/sheet/_SheetCoords.d.ts +0 -7
  313. package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
  314. package/types/src/sheet/_SheetMutations.d.ts +4 -1
  315. package/types/src/sheet/_SheetStateReader.d.ts +0 -10
  316. package/types/src/sheet/_SheetStateTypes.d.ts +23 -14
  317. package/types/src/sheet/_SheetUtils.d.ts +1 -1
  318. package/types/src/sheet/style/_RowLine.d.ts +32 -0
  319. package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
  320. package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
  321. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
  322. package/types/src/style/ICellStyle.d.ts +4 -0
  323. package/types/src/table/AnchoredTable.d.ts +0 -147
  324. package/types/src/text/TextFrame.d.ts +4 -1
  325. package/types/src/text/TextStacked.d.ts +0 -24
  326. package/types/src/text/TextWrapper.d.ts +3 -5
  327. package/types/src/text/_LineBox.d.ts +24 -0
  328. package/types/src/text/_TextUtils.d.ts +5 -2
  329. package/types/src/text/_TextWrapperFallback.d.ts +2 -1
  330. package/types/src/wasm/sdkWasm.d.ts +1 -1
  331. package/types/src/workbook/IWorkbook.d.ts +40 -1
  332. package/types/src/workbook/Workbook.d.ts +25 -13
  333. package/types/src/workbook/WorkbookRanges.d.ts +1 -1
  334. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +0 -40
  335. package/browser/esm/BLoUBId2xZpXAK_H.mjs +0 -698
  336. package/browser/esm/C5E6zSGAALWf61n4.mjs +0 -199
  337. package/browser/esm/S2dNNx1a5ydRnARM.mjs +0 -367
  338. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +0 -110
  339. package/browser/esm/gssVX_FH1XFN-twD.mjs +0 -210
  340. package/node/esm/BrCKGFRsX_ezFJ4B.mjs +0 -811
  341. package/node/esm/DOU54VsOjG-m-NyQ.mjs +0 -210
  342. package/node/esm/Db0v7zXNnyjBIjjI.mjs +0 -372
  343. package/node/esm/Df1bL6VFvrqIdSLB.mjs +0 -40
  344. package/node/esm/DrTZbfemSLq2mseG.mjs +0 -111
  345. package/types/src/dataTable/DataTable.d.ts +0 -67
  346. package/types/src/dataTable/DataTableCollection.d.ts +0 -19
  347. package/types/src/dataTable/IDataTable.d.ts +0 -99
  348. package/types/src/dataTable/IDataTableCollection.d.ts +0 -18
  349. package/types/src/dataTable/index.d.ts +0 -6
@@ -1,24 +1,25 @@
1
- import { FormulaError, IRange, Scalar, InteropScalar, IRangeStats } from '@sheetxl/primitives';
1
+ import { FormulaError, IRange, Scalar, InteropScalar, IRangeStats, IRichData } from '@sheetxl/primitives';
2
2
  import { Bounds, Size, ReferenceableClipboard } from '@sheetxl/utils';
3
3
  import { ITypes } from '../type';
4
4
  import { IListener } from '../listener';
5
5
  import { ITransaction } from '../transaction';
6
+ import { IAnchored } from '../anchored/IAnchored';
6
7
  import { IHyperlink } from '../hyperlink';
7
8
  import { IRichText } from '../text';
8
- import { IComment, ICommentCollection } from '../comment';
9
9
  import { ISort } from '../sort';
10
10
  import { ICondition } from '../condition';
11
11
  import { IAutoFill } from '../autoFill';
12
12
  import { ICellStyle } from '../style';
13
13
  import { ICalculation } from '../calculation';
14
+ import { IWorksheet } from '../sheet';
15
+ import { ICell } from '../cell';
16
+ import { IComment, ICommentCollection } from '../comment';
14
17
  import { ITable, ITableCollection } from '../table';
15
18
  import { IMovable, IMovableCollection } from '../movable';
16
19
  import { IDataValidation, IDataValidationCollection } from '../dataValidation';
17
- import { IConditionalFormat } from '../conditionalFormat/IConditionalFormat';
18
- import { IConditionalFormatCollection } from '../conditionalFormat/IConditionalFormatCollection';
20
+ import { IConditionalFormat, IConditionalFormatCollection } from '../conditionalFormat';
19
21
  import { IProtectedRange, IProtectedRangeCollection } from '../protectedRange';
20
- import { IWorksheet } from '../sheet';
21
- import { ICell } from '../cell';
22
+ import { ICellControl, ICellControlCollection } from '../cellControl';
22
23
  import { ICellRanges } from './ICellRanges';
23
24
  import { ICellRegions } from './ICellRegion';
24
25
  import { ICellHeaderRange } from './ICellHeaderRange';
@@ -96,6 +97,39 @@ export interface ICellRange {
96
97
  * {@link IConditionalFormat.getRanges}.
97
98
  */
98
99
  getConditionalFormats(options?: ICellRange.GetItemsOptions<IConditionalFormatCollection.GetItemsOptions>): IConditionalFormat[];
100
+ /**
101
+ * Returns the {@link ICellControl}s on cells within the range, such as checkboxes.
102
+ *
103
+ * @param options The filters of {@link ICellControlCollection.getItems} without `address` —
104
+ * this range is the address.
105
+ *
106
+ * @remarks
107
+ * See {@link getConditionalFormats} for the overlap and one-entry-per-item rules, which are the
108
+ * same for every ranged item lookup. A cell has at most one control; ask a cell for its own with
109
+ * {@link ICell.getControl}.
110
+ *
111
+ * Office Scripts' `Range.getControl()` answers one `CellControl` for the whole range; here
112
+ * `getControls()[0]?.getType()` reads a single cell's, and `toJSON()` gives the
113
+ * `{ type: 'checkbox' }` shape. A control is about the cell, not its value: a checkbox cell
114
+ * holding `2` still has one, though it draws `2` ({@link ICellControl.isAccepted}). A type
115
+ * SheetXL does not know answers with its own name, where Excel answers `unknown`.
116
+ */
117
+ getControls(options?: ICellRange.GetItemsOptions<ICellControlCollection.GetItemsOptions>): ICellControl[];
118
+ /**
119
+ * Puts `control` on every cell of the range, replacing the control each had; `null` removes
120
+ * them.
121
+ *
122
+ * @param control The control, such as `{ type: 'checkbox' }`, or `null`.
123
+ *
124
+ * @remarks
125
+ * Office Scripts' `Range.setControl`, with `null` for its `{ type: 'empty' }`. A cell has at most
126
+ * one control. The values stay as they are: a checkbox draws `TRUE` as checked and `FALSE` or a
127
+ * blank cell as unchecked, and any other value as text.
128
+ *
129
+ * A control is a format: refused on a protected sheet unless formatting cells is allowed, removed
130
+ * by {@link clear} of formats, and carried by a paste of formats.
131
+ */
132
+ setControl(control: ICellControl.JSON | null, options?: ITransaction.OperationOptions): this;
99
133
  /**
100
134
  * Returns the {@link IDataValidation}s that overlap the range.
101
135
  *
@@ -768,7 +802,7 @@ export interface ICellRange {
768
802
  getRegions(features?: ICellRange.Feature | readonly ICellRange.Feature[], options?: ICellRange.GetRegionsOptions): ICellRegions;
769
803
  /**
770
804
  * Returns the regions of the `anomalies` feature in reading order: the named checks first, then
771
- * the rest, each by rank.
805
+ * the rest, each by the named focus or by rank.
772
806
  *
773
807
  * @param options {@link ICellRange.GetAnomaliesOptions}
774
808
  *
@@ -777,6 +811,8 @@ export interface ICellRange {
777
811
  * // Hunting an embedded hardcode: read its checks' findings first, 25 regions at a time.
778
812
  * sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25 });
779
813
  * sheet.getAnomalies({ checks: ['hardcodeInRun', 'styleRole'], limit: 25, offset: 25 });
814
+ * // Or name the kind of defect and let the ranking decide.
815
+ * sheet.getAnomalies({ focus: 'unitMismatch', limit: 25 });
780
816
  * ```
781
817
  *
782
818
  * @remarks
@@ -787,6 +823,13 @@ export interface ICellRange {
787
823
  * region two named checks fire on lists once, under the first. An ignored check
788
824
  * ({@link setErrorIgnored}) is not there to list.
789
825
  *
826
+ * `focus` names the kind of defect being looked for ({@link ICellRange.AnomalyFocus}). Each
827
+ * finding then weighs as the share of findings like it — the same check, the same kind of
828
+ * evidence, about as often repeated in the listing — that were that kind of defect in audited
829
+ * models, and a region lists by its best finding, by rank where that is equal. Several kinds
830
+ * merge into one order by the best of them. It reorders; it neither adds nor drops a region, and
831
+ * the findings' own ranks are unchanged.
832
+ *
790
833
  * `offset` and `limit` page through that one order, so successive windows neither skip nor
791
834
  * repeat a region; a window shorter than `limit` is the last. `getRegions('anomalies').getCount()`
792
835
  * is the length of the whole list.
@@ -1289,12 +1332,23 @@ export interface ICellRange {
1289
1332
  */
1290
1333
  select(options?: ICellRange.SelectOptions): Promise<this>;
1291
1334
  /**
1292
- * Add a listener to the range.
1335
+ * Listen for changes at this range: its cells written, recalculated or undone, and the range
1336
+ * itself moved by rows or columns inserted or deleted around it.
1293
1337
  *
1294
- * @returns A callback to remove. {@link IListener.Remove}
1338
+ * @returns A callback that removes the listener. {@link IListener.Remove}
1295
1339
  *
1296
1340
  * @remarks
1297
- * If the range becomes invalid through a delete this will auto remove.
1341
+ * The listener is handed an {@link ICellRange.Event} whose source is the listened range where
1342
+ * it is now. Which events it hears, how it follows inserts and deletes, and whether it takes
1343
+ * part in the change or observes it afterwards are {@link ICellRange.ListenerOptions}.
1344
+ *
1345
+ * @example
1346
+ * ```ts
1347
+ * const remove = sheet.getRange('A1:C3').addListener((event) => {
1348
+ * if (event.getTrigger() === 'data') console.log('changed:', event.getRanges()!.getAddress());
1349
+ * else console.log('now at:', event.getSource().getAddress());
1350
+ * });
1351
+ * ```
1298
1352
  */
1299
1353
  addListener(listener: ICellRange.Listener, options?: ICellRange.ListenerOptions): IListener.Remove;
1300
1354
  /**
@@ -1363,10 +1417,13 @@ export interface ICellRange {
1363
1417
  *
1364
1418
  * This method is a more scalable alternative to `getValues` or `getCells` for large or sparse ranges,
1365
1419
  * as it:
1366
- * 1. Skips empty values by default.
1420
+ * 1. Skips empty values by default, however much of the range is styled.
1367
1421
  * 2. Avoids creating large arrays.
1368
1422
  * 3. Allows for early termination.
1369
-
1423
+ *
1424
+ * To reach blank cells that have a feature, such as a fill or a hyperlink, name it in
1425
+ * {@link ICellRange.IteratorOptions.features}.
1426
+ *
1370
1427
  * @param callback A function that will be called for each non-empty cell in the range. The callback receives:
1371
1428
  * - `value`: The `Scalar` at the current cell.
1372
1429
  * - `context`: A `IteratorContext` object providing additional information and utilities for the cell.
@@ -1576,15 +1633,20 @@ export declare namespace ICellRange {
1576
1633
  */
1577
1634
  type ScalarUpdate = Scalar | null | undefined;
1578
1635
  /**
1579
- * Represents an update to a cell's value in JavaScript, allowing `Date` and `null`.
1636
+ * Represents an update to a cell's value in JavaScript, allowing `Date`, a rich value's JSON
1637
+ * and `null`.
1580
1638
  *
1581
1639
  * @remarks
1582
1640
  * This type allows for updating a cell's value, including `Date` for convenience.
1583
1641
  * As with `ScalarUpdate`, `null` can be used to clear the cell's value.
1584
1642
  *
1643
+ * A rich value may be given as its JSON (`{ type, data }`, what {@link IRichData.toJSON}
1644
+ * returns); it is made by the kind registered for `type`, and an unregistered type is kept
1645
+ * as it was given.
1646
+ *
1585
1647
  * * See {@link InteropScalar} for more details on JavaScript scalar values.
1586
1648
  */
1587
- type InteropScalarUpdate = InteropScalar | null | undefined;
1649
+ type InteropScalarUpdate = InteropScalar | IRichData.JSON | null | undefined;
1588
1650
  /**
1589
1651
  * Single or 2D.
1590
1652
  */
@@ -2150,8 +2212,8 @@ export declare namespace ICellRange {
2150
2212
  *
2151
2213
  * @remarks
2152
2214
  * The same lens {@link ICellRange.getCounts} and {@link ICellRange.getRegions} take, and it
2153
- * costs no extra scan: the range is split at the hidden runs first (off the header run
2154
- * structure, no per-cell probe) and the resulting pieces are measured as ONE population.
2215
+ * costs no extra scan: the range is split at the hidden runs first and the resulting pieces
2216
+ * are measured as ONE population.
2155
2217
  *
2156
2218
  * Optionally an {@link IRange.Axis} to skip on one axis only.
2157
2219
  */
@@ -2691,7 +2753,8 @@ export declare namespace ICellRange {
2691
2753
  */
2692
2754
  readonly Role: "role";
2693
2755
  /**
2694
- * Direct date-category number format — `yyyy-mm-dd`, `mm/dd/yyyy`, and the like.
2756
+ * A date-category number format, given directly or by a named style — `yyyy-mm-dd`,
2757
+ * `mm/dd/yyyy`, and the like.
2695
2758
  *
2696
2759
  * @remarks
2697
2760
  * A formatting predicate, not a value kind: a blank cell or a text cell formatted this way
@@ -2715,6 +2778,14 @@ export declare namespace ICellRange {
2715
2778
  * failure — its cells evaluate, to `0` — and is {@link Feature.Circular}.
2716
2779
  */
2717
2780
  readonly CalcError: "calcError";
2781
+ /**
2782
+ * Evaluated state: cells whose result has not settled. Regions group by status — a cell whose
2783
+ * own function has not answered yet ({@link ICalculation.ResultStatus.Pending}), or one
2784
+ * calculated from such a value and calculated again when it arrives
2785
+ * ({@link ICalculation.ResultStatus.Waiting}). The anchor's `getCalculationStatus()` is the
2786
+ * payload. Empty once every answer has landed.
2787
+ */
2788
+ readonly CalcStatus: "calcStatus";
2718
2789
  /**
2719
2790
  * Evaluated state: cells in a reference cycle, or downstream of one. Both evaluate to `0`
2720
2791
  * (Excel, iterative calculation off) with nothing else to show for it — this is the marker.
@@ -2727,7 +2798,11 @@ export declare namespace ICellRange {
2727
2798
  readonly Fill: "fill";
2728
2799
  /** Direct borders. */
2729
2800
  readonly Borders: "borders";
2730
- /** Direct number format. Region payloads carry the format string and its category. */
2801
+ /**
2802
+ * A number format given directly or by a named style, not one left at Normal's. Region payloads
2803
+ * carry the format string and its category, so a block with `0%` set directly and one with the
2804
+ * `Percent` style are one region.
2805
+ */
2731
2806
  readonly NumberFormat: "numberFormat";
2732
2807
  /** Direct alignment. */
2733
2808
  readonly Alignment: "alignment";
@@ -2744,7 +2819,7 @@ export declare namespace ICellRange {
2744
2819
  readonly Table: "table";
2745
2820
  /** Auto-table membership. */
2746
2821
  readonly AutoTable: "autoTable";
2747
- /** Has a hyperlink. */
2822
+ /** Has a hyperlink. Regions group by what the link says, so the same link set twice is one region. */
2748
2823
  readonly Hyperlink: "hyperlink";
2749
2824
  /**
2750
2825
  * Ignores one or more of Excel's error checks. Regions group by the set of checks ignored.
@@ -2762,6 +2837,14 @@ export declare namespace ICellRange {
2762
2837
  readonly Conditionals: "conditionals";
2763
2838
  /** Cells under data-validation rules. */
2764
2839
  readonly DataValidations: "dataValidations";
2840
+ /**
2841
+ * Cells under a cell control ({@link ICellRange.setControl}). Regions group by the control's
2842
+ * definition (its type and properties), so adjacent checkboxes set in two strokes are one
2843
+ * region and a checkbox beside a rating are two; the anchor cell's {@link ICell.getControl} is
2844
+ * the payload. Whether a cell draws its control depends on its value, which is a `Kind`
2845
+ * question: ask for both to split a column of checkboxes from the text cells among them.
2846
+ */
2847
+ readonly CellControl: "cellControl";
2765
2848
  /**
2766
2849
  * Cells where an error check fires — what breaks the pattern around it. Regions group by the
2767
2850
  * check and its evidence, so a filled row that breaks the same way is one region; the anchor
@@ -2783,7 +2866,11 @@ export declare namespace ICellRange {
2783
2866
  * a reference outside the workbook (`externalReference`); and from labels: a link whose target
2784
2867
  * row is labeled otherwise (`linkLabelMismatch`), a lookup key that is not the row's or
2785
2868
  * column's label (`keyLabelMismatch`), a link with the other sign from its siblings
2786
- * (`signVsSiblings`). An ignored check ({@link ICellRange.setErrorIgnored}) does not fire.
2869
+ * (`signVsSiblings`); and from the numbers: a typed number in a formula equal to an input
2870
+ * nothing reads (`literalMatchesInput`), twin formulas that differ in a unit literal or a sign
2871
+ * (`twinBlockDivergence`), a percent typed as a whole number (`scaleOutlier`), every constant a
2872
+ * formula types with how often the workbook types it (`constantFrequency`). An ignored check
2873
+ * ({@link ICellRange.setErrorIgnored}) does not fire.
2787
2874
  *
2788
2875
  * Regions list highest rank first ({@link ICell.Anomaly.rank}), unless an `axis` is asked for.
2789
2876
  *
@@ -2847,6 +2934,33 @@ export declare namespace ICellRange {
2847
2934
  */
2848
2935
  containment?: 'intersects' | 'fullyContained';
2849
2936
  }
2937
+ /**
2938
+ * A kind of defect a reader is looking for, which {@link ICellRange.getAnomalies} can order its
2939
+ * findings by ({@link GetAnomaliesOptions.focus}).
2940
+ */
2941
+ const AnomalyFocus: {
2942
+ /** A cell or a subtotal counted twice in a sum. */
2943
+ readonly DoubleCounting: "doubleCounting";
2944
+ /** A typed number where a reference belongs. */
2945
+ readonly EmbeddedHardcode: "embeddedHardcode";
2946
+ /** A cell whose font color is not its role's (inputs, links, calculations). */
2947
+ readonly ColorCoding: "colorCoding";
2948
+ /** An average over the wrong cells. */
2949
+ readonly Average: "average";
2950
+ /** A link to another sheet that reads the wrong row or column. */
2951
+ readonly CrossSheetReference: "crossSheetReference";
2952
+ /** A term added that should be taken away, or the reverse. */
2953
+ readonly SignConvention: "signConvention";
2954
+ /** A lookup that matches approximately, or reads arrays that do not line up. */
2955
+ readonly Lookup: "lookup";
2956
+ /** A reference relative where it should be absolute, or the reverse. */
2957
+ readonly ReferenceAnchoring: "referenceAnchoring";
2958
+ /** A value in the wrong unit: a monthly figure in a daily formula, a percent typed as a whole number. */
2959
+ readonly UnitMismatch: "unitMismatch";
2960
+ /** Rows deleted from a model, which leaves references shifted and `#REF!`. */
2961
+ readonly DeletedRows: "deletedRows";
2962
+ };
2963
+ type AnomalyFocus = typeof AnomalyFocus[keyof typeof AnomalyFocus];
2850
2964
  /**
2851
2965
  * Options for {@link ICellRange.getAnomalies}.
2852
2966
  */
@@ -2857,6 +2971,15 @@ export declare namespace ICellRange {
2857
2971
  * @defaultValue none — every region by rank
2858
2972
  */
2859
2973
  checks?: readonly ICell.ErrorCheck[];
2974
+ /**
2975
+ * The kind of defect being looked for, or several: regions are ordered by how often findings
2976
+ * like theirs have been that kind of defect in audited models, and by rank where that is
2977
+ * equal. With `checks` too, the named checks still list first and `focus` orders
2978
+ * within each. An unknown name throws.
2979
+ *
2980
+ * @defaultValue none — by rank
2981
+ */
2982
+ focus?: AnomalyFocus | readonly AnomalyFocus[];
2860
2983
  /**
2861
2984
  * At most this many regions.
2862
2985
  *
@@ -2947,9 +3070,12 @@ export declare namespace ICellRange {
2947
3070
  /**
2948
3071
  * The features the iteration resolves and visits.
2949
3072
  *
2950
- * @defaultValue all features
3073
+ * @defaultValue all features are resolved, and only the cells with values are visited
2951
3074
  *
2952
3075
  * @remarks
3076
+ * Naming a feature also visits the blank cells that have it: `features: 'hyperlink'` reaches a
3077
+ * link on an empty cell, and `features: 'fill'` every cell of a filled column.
3078
+ *
2953
3079
  * Two effects, both wins for a caller that does not need everything:
2954
3080
  * - The iterator only materializes the requested features' state onto the context — an
2955
3081
  * excluded feature is never even looked up.
@@ -3009,85 +3135,101 @@ export declare namespace ICellRange {
3009
3135
  */
3010
3136
  injectReferences?: IRange.JSONReference<any>[][];
3011
3137
  }
3012
- interface Event {
3138
+ /**
3139
+ * What a range listener is told. See {@link ICellRange.addListener}.
3140
+ *
3141
+ * @typeParam S The source the listener registered on: an `ICellRange` from
3142
+ * {@link ICellRange.addListener}, an `ICellRanges` from {@link ICellRanges.addListener}.
3143
+ */
3144
+ interface Event<S extends ICellRange | ICellRanges = ICellRange> {
3013
3145
  /**
3014
3146
  * The range that was listened to, where it is now.
3015
3147
  *
3016
3148
  * @remarks
3017
- * After a `'address'` or `'restore'` event this is the range at its new address or extent: rows
3149
+ * After an `'address'` or `'restore'` event this is the range at its new address or extent: rows
3018
3150
  * or columns inserted or deleted around it, or an undo that moved it back. The range
3019
3151
  * `addListener` was called on keeps the address it was made with, so this is where to read
3020
3152
  * the range from.
3153
+ *
3154
+ * A range whose cells were deleted is invalid ({@link ICellRange.isInvalid}) and spells
3155
+ * `#REF!`; one restored to a revision from before the listener was added is invalid and
3156
+ * spells `#N/A`.
3021
3157
  */
3022
- getSource<T = ICellRange | ICellRanges>(): T;
3158
+ getSource(): S;
3023
3159
  /**
3024
- * This is the range of data that has been changed.
3160
+ * The cells that changed within the source, for a `'data'` event; `null` for any other.
3025
3161
  *
3026
3162
  * @remarks
3027
- * This is different than the source range as that is the entire range area that was listened to.
3163
+ * A batch is one change: every range of it that reached the listener arrives in one event.
3028
3164
  */
3029
- getFrom(): ICellRanges;
3165
+ getRanges(): ICellRanges | null;
3030
3166
  /**
3031
- * Returns a list of updates that occurred during the event. This is only available for data change events and will be `null` for address or restore events.
3167
+ * Where the source was before an `'address'` event moved it; `null` for any other event, and
3168
+ * for a sheet rename, which moves no cells.
3169
+ *
3170
+ * @remarks
3171
+ * An address rather than a range, because the cells at it now are other cells.
3032
3172
  */
3173
+ getPreviousAddress(): string | null;
3033
3174
  /**
3034
- * Indicates the type of change that triggered the event.
3175
+ * What happened to the range.
3035
3176
  *
3036
3177
  * @remarks
3037
- * * `'data'`: Data within the range has changed.
3038
- * The range's address and dimensions remain the same.
3039
- * * `'address'`: The range's *address* or *dimensions* have changed. This
3040
- * occurs due to row/column insertions, deletions, or move operations — and, for a
3041
- * sheet-qualified range (one from {@link IWorkbook.getRange}, or a sheet's range naming
3042
- * another sheet), when the sheet it names is renamed. A bare range on its own sheet has no
3043
- * qualifier, so a rename is not a change to it.
3044
- * * `'restore'`: The range has been restored to a different revision
3045
- * (undo/redo). The 'restore' trigger is not available for transactional listeners.
3178
+ * * `'data'`: Cells within the range changed: written, recalculated, or undone. The range's
3179
+ * address and extent are as they were. {@link getCommit} is `null` for a recalculation,
3180
+ * which belongs to no commit; {@link isUndo} tells an undo from a write.
3181
+ * * `'address'`: The range's address or extent changed: rows or columns inserted or deleted,
3182
+ * cells moved, its cells deleted (the source spells `#REF!`), or, for a sheet-qualified
3183
+ * range (one from {@link IWorkbook.getRange}, or a sheet's range naming another sheet), a
3184
+ * rename of the sheet it names. A bare range on its own sheet has no qualifier, so a rename
3185
+ * is not a change to it. A listener anchored {@link IAnchored.Type.Absolute} never moves and
3186
+ * never has one.
3187
+ * * `'restore'`: The workbook was restored to a revision from before the listener was added,
3188
+ * so the range is not in it (the source spells `#N/A`). Never delivered to a transactional
3189
+ * listener.
3046
3190
  */
3047
- readonly trigger2?: 'data' | 'address' | 'restore';
3048
- readonly trigger: string;
3191
+ getTrigger(): Event.Trigger;
3049
3192
  /**
3050
- * Indicates if the event is being fired from an undo event.
3193
+ * `true` when the change is an undo. A redo is not an undo: it is told as the forward change
3194
+ * was.
3051
3195
  */
3052
- readonly isUndo?: boolean;
3196
+ isUndo(): boolean;
3053
3197
  /**
3054
- * Returns the transaction Id if the event is occurring in a transaction otherwise `null`.
3198
+ * The commit that made the change, or `null` when none did: a recalculation landing.
3055
3199
  *
3056
- * @see
3057
- * {@link ListenerOptions.getTransactionId}
3200
+ * @remarks
3201
+ * A transactional listener is told before the commit is sealed, so this is the commit it is
3202
+ * writing into ({@link ListenerOptions.transactional}).
3058
3203
  */
3059
- getTransactionId(): string | null;
3204
+ getCommit(): ITransaction.ICommit | null;
3060
3205
  /**
3061
- * Indicates if the event is being fired due to a cell value change.
3062
- *
3063
- * @see
3064
- * {@link ListenerOptions.ignoreDataChanges}
3206
+ * The trigger and the source, for logging.
3065
3207
  */
3066
- readonly isDataChange?: boolean;
3208
+ toString(): string;
3067
3209
  /**
3068
- * To string the event.
3210
+ * When the event was made, in milliseconds since the epoch.
3069
3211
  */
3070
- toString(): string;
3212
+ getTimeStamp(): number;
3213
+ }
3214
+ namespace Event {
3071
3215
  /**
3072
- * The timestamp of the event.
3216
+ * What happened to a listened range. See {@link ICellRange.Event.getTrigger}.
3073
3217
  */
3074
- readonly timeStamp: number;
3218
+ type Trigger = 'data' | 'address' | 'restore';
3075
3219
  }
3076
3220
  /**
3077
- * Represents a listen for a range. The listener will be called when the range's
3078
- * data, address, or restore state changes, subject to the provided options.
3221
+ * Called with what changed at a listened range. See {@link ICellRange.addListener}.
3079
3222
  *
3080
- * @remarks
3081
- * If the range is deleted (rows/columns removed), the trigger will be `'address'`
3082
- * `trigger` of `'address'` and `getRange().getError()`
3083
- * returning `"#REF!"`.
3223
+ * @typeParam S The source the listener registered on; see {@link ICellRange.Event}.
3084
3224
  *
3085
- * If the ranges is restored to a revision *before* the listener was
3086
- * added, the listener will receive event with a `trigger` of `'restore'`
3087
- * and `getRange().getError()` returning `"#N/A"`.
3225
+ * @remarks
3226
+ * Read the range from {@link Event.getSource}, which is where the listened cells are now. It is
3227
+ * invalid ({@link ICellRange.isInvalid}) when the cells were deleted (`#REF!`) or the workbook
3228
+ * was restored to a revision from before the listener was added (`#N/A`); the listener stays
3229
+ * registered through both, and hears the range come back.
3088
3230
  */
3089
- interface Listener {
3090
- (event: ICellRange.Event): void;
3231
+ interface Listener<S extends ICellRange | ICellRanges = ICellRange> {
3232
+ (event: ICellRange.Event<S>): void;
3091
3233
  }
3092
3234
  /**
3093
3235
  * Receives a watch's results — one value per cell of the watched range, read with LOCAL
@@ -3133,11 +3275,28 @@ export declare namespace ICellRange {
3133
3275
  /**
3134
3276
  * If `true`, the listener will *not* be called when the range's
3135
3277
  * address changes (due to row/column insert/delete, moves, or a rename of
3136
- * the sheet a qualified range names)
3278
+ * the sheet a qualified range names). The range still follows its cells; see {@link anchor}
3279
+ * for a range that should not.
3137
3280
  *
3138
3281
  * @defaultValue false
3139
3282
  */
3140
3283
  ignoreAddressChanges?: boolean;
3284
+ /**
3285
+ * How the listened range follows rows and columns inserted or deleted around it.
3286
+ *
3287
+ * @defaultValue {@link IAnchored.Type.TwoCell}
3288
+ *
3289
+ * @remarks
3290
+ * * `TwoCell`: the range follows its cells, as a formula reference does. An insert above it
3291
+ * moves it down, a delete inside it shrinks it, and deleting all of its cells makes it
3292
+ * `#REF!`. Each move is an `'address'` event.
3293
+ * * `OneCell`: the top-left follows its cell and the extent is kept, as a picture anchored to
3294
+ * one cell. Deleting the top-left cell leaves the range where it is.
3295
+ * * `Absolute`: the range never moves. It names the same addresses whatever is inserted or
3296
+ * deleted, so it never has an `'address'` event. This is what a view listening to the rows
3297
+ * it shows wants: the cells on screen, not the cells that were there when it subscribed.
3298
+ */
3299
+ anchor?: IAnchored.Type;
3141
3300
  /**
3142
3301
  * Whether the listener takes part in the operations that change its range.
3143
3302
  *
@@ -72,14 +72,15 @@ export interface ICellRanges {
72
72
  * This is Excel's `Ctrl+Enter` fill: the same scalar is written to all selected cells — across every
73
73
  * discontiguous range — as a single {@link ICellRanges.doBatch} operation (one undo step). A formula
74
74
  * string (e.g. `"=A1+1"`) is coerced and its relative references adjust per cell, exactly as
75
- * {@link ICellRange.setValue} does within one range.
75
+ * {@link ICellRange.setValue} does within one range. It takes what that does: a `Date`, or a rich
76
+ * value's JSON (`{ type, data }`), which each cell makes into its own value.
76
77
  *
77
78
  * Only the scalar-broadcast form exists (no `setValues`): a 2D shape has no coherent meaning spread
78
79
  * across discontiguous ranges of differing sizes.
79
80
  * @see
80
81
  * {@link ICellRange.setValue}
81
82
  */
82
- setValue(value: ICellRange.ScalarUpdate, options?: ICellRange.SetValuesOptions): this;
83
+ setValue(value: ICellRange.InteropScalarUpdate, options?: ICellRange.SetValuesOptions): this;
83
84
  /**
84
85
  * {@inheritDoc ICellRange.merge}
85
86
  */
@@ -335,7 +336,7 @@ export interface ICellRanges {
335
336
  /**
336
337
  * {@inheritDoc ICellRange.addListener}
337
338
  */
338
- addListener(listener: ICellRange.Listener, options?: ICellRange.ListenerOptions): IListener.Remove;
339
+ addListener(listener: ICellRange.Listener<ICellRanges>, options?: ICellRange.ListenerOptions): IListener.Remove;
339
340
  /**
340
341
  * {@link ICellRange.addWatch} across every area, as ONE expression authored at a shared origin.
341
342
  *
@@ -194,12 +194,6 @@ export declare class Chart extends AbstractMovableContent<State, IChart.JSON, IC
194
194
  private _readCells;
195
195
  /** A cell as its text: a number formatted by its own cell's format, the rest as Excel shows it. */
196
196
  private _cellText;
197
- /**
198
- * What the chart's cells hold now, for resolve (DESIGN-CHART §3.3): values, categories, names
199
- * and the first cell's number format are read from the cells the engine's formulas name, in the
200
- * order Excel reads a range (column by column, {@link inReadOrder}). Where the cells cannot be
201
- * read, the model's cache answers.
202
- */
203
197
  private _dataReader;
204
198
  /** How many listeners want `onLayoutChange`. */
205
199
  private _layoutListeners;
@@ -232,10 +226,6 @@ export declare class Chart extends AbstractMovableContent<State, IChart.JSON, IC
232
226
  private _syncDataListeners;
233
227
  /** {@inheritDoc ITransaction.ITransactional.close} */
234
228
  close(): void;
235
- /**
236
- * The cache `reference` holds when read now, as Excel writes it (DESIGN-CHART §3.3, measured
237
- * 2026-10-16), or `null` where its cells cannot be read and the cache it has stands.
238
- */
239
229
  private _cacheOf;
240
230
  /**
241
231
  * A multi-level category cache: one level per column, the innermost (the last) first, each
@@ -250,12 +240,6 @@ export declare class Chart extends AbstractMovableContent<State, IChart.JSON, IC
250
240
  /** {@inheritDoc IChart.isIChart} */
251
241
  get isIChart(): true;
252
242
  }
253
- /**
254
- * A number as Excel writes it into a chart cache (measured 2026-10-16, `probe-chart-values.ps1`
255
- * W3): its shortest digits when 15 or fewer say it, else 17; in exponent form (`1E-3`, `1E+16`)
256
- * below 0.01 and from 10^16 up. Excel sometimes writes 17 digits where fewer say the same number
257
- * (`1.0000000000000001E-5`); either reads back as the same number.
258
- */
259
243
  export declare const cacheNumberText: (value: number) => string;
260
244
  /**
261
245
  * Interfaces for creating `Chart` items.
@@ -330,7 +330,6 @@ export declare class ChartAxis implements IChart.IAxis {
330
330
  setCustomDisplayUnit(unit: number, options?: ITransaction.OperationOptions): this;
331
331
  getShowDisplayUnitLabel(): boolean;
332
332
  setShowDisplayUnitLabel(show: boolean, options?: ITransaction.OperationOptions): this;
333
- /** The axis crossing this one: where VBA's `Crosses` is written (DESIGN-CHART §3.6). */
334
333
  private _crossing;
335
334
  getCrosses(): IChart.AxisCrosses;
336
335
  setCrosses(crosses: IChart.AxisCrosses, options?: ITransaction.OperationOptions): this;
@@ -362,7 +361,6 @@ export declare class ChartAxis implements IChart.IAxis {
362
361
  setCategoryType(type: IChart.AxisCategoryType, options?: ITransaction.OperationOptions): this;
363
362
  /** The dates of the first series on the axis, as numbers; `null` where its categories are not all dates. */
364
363
  private _dates;
365
- /** The base unit Excel chooses for the axis's dates (DESIGN-CHART §4.2), `days` without any. */
366
364
  private _automaticBaseUnit;
367
365
  /** The axis's categories from a setter's input. @throws ExpectedError where the axis has none. */
368
366
  private _categoriesEdit;
@@ -509,16 +507,6 @@ export declare class ChartSeries implements IChart.ISeries {
509
507
  * size (5-200).
510
508
  */
511
509
  private _groupOption;
512
- /**
513
- * The series given `type`, as one edit: moved to its group by `_Grouping`'s measured moves, and
514
- * drawn as a series of the type is (`drawSeriesAsType`). Every series whose group changed type is
515
- * drawn anew, as Excel does when bubble or 3-D types take the whole chart; one that stays in its
516
- * group changes its markers, and a scatter its line, keeping its own fill and line otherwise. A
517
- * series that becomes a scatter's states its categories and values as x and y values, and the
518
- * other way round. No series can be given a stock type: Excel refuses one
519
- * (`probe-chart-stock-refusals.ps1`); nor an of-pie, which is not measured; nor a 3-D form, a
520
- * surface or a 2016 type, which take the whole chart (`IChart.setChartType`).
521
- */
522
510
  private _typeEdit;
523
511
  private _axisGroupEdit;
524
512
  getFormula(): string;
@@ -546,11 +534,6 @@ export declare class ChartSeries implements IChart.ISeries {
546
534
  * plot order, the sizes for a bubble.
547
535
  */
548
536
  private _formulaEdits;
549
- /**
550
- * The categories set through this series: a scatter's or bubble's x values are its own; a
551
- * category chart's categories are shared by every series on its axis, so each takes them, and
552
- * `null` clears them all (measured 2026-10-18, `probe-chart-api.ps1` S01-S04).
553
- */
554
537
  private _categoriesEdit;
555
538
  /** A dimension's source, from a setter's input. */
556
539
  private _source;
@@ -751,17 +734,7 @@ export declare class ChartErrorBars implements IChart.IErrorBars {
751
734
  edits(update: IChart.IErrorBars.Update): ModelEdit[];
752
735
  update(update: IChart.IErrorBars.Update, options?: ITransaction.OperationOptions): this;
753
736
  }
754
- /**
755
- * Whether Excel draws up/down bars and high-low lines for a group: a 2-D line or stock group
756
- * (`probe-chart-lines.ps1`; 3-D lines refused by belief).
757
- */
758
737
  export declare const takesUpDownBars: (group: ChartModel.Group) => boolean;
759
- /**
760
- * Whether Excel draws a group's lines of `kind` (`probe-chart-lines.ps1`): high-low lines on a line
761
- * or stock group; drop lines on a line, area or stock group (D09: COM takes them on a scatter and
762
- * writes none); series lines on stacked and 100% stacked bars and pie of pie (V06: COM takes them on
763
- * clustered columns and writes none). 3-D groups are refused by belief.
764
- */
765
738
  export declare const takesLines: (group: ChartModel.Group, kind: Edits.GroupLinesKind) => boolean;
766
739
  export declare class ChartGroupLines implements IChart.ILines {
767
740
  private readonly _host;
@@ -995,11 +968,6 @@ export declare class ChartGroup implements IChart.IChartGroup {
995
968
  getVaryByCategories(): boolean;
996
969
  setVaryByCategories(vary: boolean, options?: ITransaction.OperationOptions): this;
997
970
  }
998
- /**
999
- * Every series' data labels at once (Office Scripts' `chart.getDataLabels()`, VBA's
1000
- * `ApplyDataLabels`, `probe-chart-api.ps1` L01): reads answer the first series', each setter sets
1001
- * every series as one step.
1002
- */
1003
971
  export declare class ChartAllLabels implements IChart.IDataLabels {
1004
972
  private readonly _host;
1005
973
  private readonly _all;
@@ -1054,13 +1022,6 @@ export interface ChartElementParts {
1054
1022
  plotArea: ChartPlotArea;
1055
1023
  dataTable: ChartDataTable;
1056
1024
  }
1057
- /**
1058
- * The edits of a chart element (VBA's `SetElement`, measured 2026-10-18, `probe-chart-elements.ps1`):
1059
- * each `msoElement…` as the setters above make it. A data label element sets every series; a
1060
- * trendline, error bar, line or up/down bar element every series or group that takes one. What
1061
- * Excel refuses (an element of axes the chart has none of, a label position its type has none of,
1062
- * a trendline on a pie) throws `ExpectedError`.
1063
- */
1064
1025
  export declare const elementEdits: (parts: ChartElementParts, element: IChart.Element) => ModelEdit[];
1065
1026
  export {};
1066
1027
  //# sourceMappingURL=_ChartParts.d.ts.map