@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
@@ -12,6 +12,8 @@ export declare class Scripts implements IScript {
12
12
  private _modules;
13
13
  /** In-flight {@link start} run, so concurrent callers share one attempt (and one error). */
14
14
  private _startPromise?;
15
+ /** In-flight {@link _load} run, shared the same way. */
16
+ private _loadPromise?;
15
17
  protected _emitter: ListenerEmitter<IScript, IScript.IListeners>;
16
18
  constructor(options: Scripts.ConstructorOptions);
17
19
  protected _initState(): void;
@@ -49,7 +51,15 @@ export declare class Scripts implements IScript {
49
51
  searchFunctions(options?: IScript.SearchOptions): Promise<IFunction[]>;
50
52
  /** {@inheritDoc IScript.start} */
51
53
  start(): Promise<void>;
54
+ /**
55
+ * Builds the modules from the file without running anything in them: what the calculation's
56
+ * first pass needs (their formula functions), ahead of {@link start}, which also runs the
57
+ * `autoRun` functions and so belongs after it.
58
+ * @internal
59
+ */
60
+ _load(): Promise<void>;
52
61
  private _doStart;
62
+ private _doLoad;
53
63
  /** {@inheritDoc IListener.ISource.addListeners} */
54
64
  addListeners(listeners: IScript.IListeners, options?: IListener.Options): IListener.Remove;
55
65
  /** {@inheritDoc IScript.isReadOnly} */
@@ -1,11 +1,5 @@
1
1
  import { ScalarType, FormulaError, IRange, IFunction, IFormulaContext } from '@sheetxl/primitives';
2
2
  import { FixedPackedArray } from '../primitives/PrimitiveUtils';
3
- /**
4
- * The per-call shape of a declaration that carries a repeating group, resolved from the ARGUMENT
5
- * COUNT alone (`Repeating<T>`; DESIGN-REPEATING §2). Excel is measured never to disambiguate by type —
6
- * `SORTBY(array, by1, by2, o2)` is refused where a type-directed parse would have read argument 2
7
- * as `by_array2` — so the arithmetic is the whole rule.
8
- */
9
3
  /**
10
4
  * What `_exec` needs to know about ONE parameter position, decided once per declaration (and
11
5
  * once per expanded {@link RepeatPlan}) rather than on every call: the normalized value types,
@@ -56,14 +50,6 @@ interface ParamSpec {
56
50
  * `#VALUE!`. Today that is the multi-area union; the body reads it through `getArgs`.
57
51
  */
58
52
  reportType: boolean;
59
- /**
60
- * `ReportType<NoLift<T>>` (either order): a multi-cell REFERENCE at this scalar slot neither
61
- * lifts (`NoLift`) nor refuses (`ReportType`), it is handed to the body WHOLE, as one
62
- * `IReferenceRange`; an array still lifts. Excel's `Boolean|Range` slot shape, no `Array` bit:
63
- * LINEST/LOGEST `const`/`stats`, TREND/GROWTH `const` (DESIGN-LIFT-AND-DEMAND §1). One flag
64
- * because the coercion loop and both lift walks ask the same question, and a slot carrying only
65
- * one of the two markers changes nothing here.
66
- */
67
53
  wholeReference: boolean;
68
54
  /** The effective policy and its `allowError` half — static per declaration. */
69
55
  policy: 'reject' | 'accept' | null;
@@ -139,15 +125,6 @@ export declare class TypedFunction implements IFunction {
139
125
  };
140
126
  protected _lc: boolean;
141
127
  protected _rlc: boolean;
142
- /**
143
- * Some parameter declares `NoLift<T>` — a multi-cell REFERENCE at that non-repeating scalar
144
- * slot is `#VALUE!` rather than a broadcast, per parameter as Excel needs
145
- * (`NETWORKDAYS.INTL` refuses a reference at its date slots and lifts at `weekend`,
146
- * CALC-ISSUES 31; DESIGN-FUNCTION-ARGUMENTS §2.3, §6). A declaration bit and not a body
147
- * concern, because the body never runs: without it the lift runs instead and answers one
148
- * result per cell, so there is nothing for a body-facing API to express. Precomputed so the
149
- * common call pays one boolean.
150
- */
151
128
  protected _nl: boolean;
152
129
  /** Whether ANY parameter (or repeating slot) is `Lazy` — the guard on the wrapping below. */
153
130
  protected _lz: boolean;
@@ -170,16 +147,6 @@ export declare class TypedFunction implements IFunction {
170
147
  * through the parameter's coercion.
171
148
  */
172
149
  protected _rs: ScalarType | null;
173
- /**
174
- * The reference half of the declared RETURN KIND pair (DESIGN-DECLARATION-SURFACE §3.1): may
175
- * this call answer a REFERENCE? True for a declared `IReferenceRange` return (`r:'p'` —
176
- * OFFSET/INDIRECT/XLOOKUP/TAKE/DROP) and for an UNTYPED return (`any` — the pass-through
177
- * selectors IF/IFS/SWITCH/CHOOSE/INDEX, and any UDF that declares nothing). False for every
178
- * provable value — a declared scalar (`'*'` included: IFERROR) or a ranged array producer.
179
- *
180
- * Read at the call exit (a value-declared function's reference result is demoted to its VALUE)
181
- * and at the `*`-slot union pass-through.
182
- */
183
150
  protected _rref: boolean;
184
151
  /**
185
152
  * The declared result kind is a SCALAR member of {@link ValueKind} — `ROW(A1)` is the number 3
@@ -195,16 +162,9 @@ export declare class TypedFunction implements IFunction {
195
162
  protected _ps: ParamSpec[];
196
163
  /** Index of the repeating-group parameter, or `-1`. */
197
164
  protected _gi: number;
198
- /**
199
- * Index of the one parameter that consumes a VARIABLE number of arguments — a repeating group or
200
- * a trailing rest — or `-1`.
201
- *
202
- * `getArgs()` indexes by PARAMETER (DESIGN-FUNCTION-ARGUMENTS §3.3) and this is the single place
203
- * parameter numbering and argument numbering part company, so it is resolved once here rather
204
- * than re-derived per call. `_gi` cannot serve: it covers `Repeating<T>` only, and a plain rest
205
- * parameter is the same thing to a body asking which parameter its argument landed in.
206
- */
207
165
  protected _va: number;
166
+ /** The declaration's `volatile`, read once: what the call frame carries for `defer`. */
167
+ protected _vol: boolean;
208
168
  /** Resolved {@link RepeatPlan} per argument count (`null` = an arity the declaration refuses). */
209
169
  protected _gc: Map<number, RepeatPlan | null> | null;
210
170
  /** The name's argument ceiling — {@link IFunction.IDeclaration.getMaxArguments}, cached. */
@@ -212,28 +172,6 @@ export declare class TypedFunction implements IFunction {
212
172
  constructor(json: IFunction.DeclarationJSON, fn: (...args: any) => any, getContext: () => IFormulaContext | null | undefined, desc?: IFunction.DescriptorJSON | ((locale?: string) => Promise<IFunction.DescriptorJSON>) | null, builtIn?: boolean);
213
173
  /** @inheritdoc IFunction.execute */
214
174
  execute<R = any>(...args: any[]): R;
215
- /**
216
- * Resolves this call's {@link RepeatPlan} from the argument count, or `null` when the count is
217
- * one the declaration refuses.
218
- *
219
- * `n = (argc − prefix − suffix) / period` and a non-zero remainder is an error, with ONE
220
- * exception: a group whose last slot is optional also accepts `period − 1` variable arguments,
221
- * which is `n = 1` with that slot omitted. Those two rules produce SORTBY's measured arities
222
- * exactly — 2 and 1+2n, with 4 refused (probe rows H7/H10).
223
- *
224
- * A trailing suffix may be OPTIONAL, so `suffix` is solved for alongside `n` rather than fixed.
225
- * SWITCH is the case: `prefix 1, period 2, one optional suffix` yields argument parity as the
226
- * whole rule — odd is pairs alone, even is pairs plus a default — and refuses argc 2, because
227
- * dropping the suffix still leaves the group owing its one repetition. That matches Excel row
228
- * for row (probe-switch-arity.ps1: 3/4/5/6 legal, 1 and 2 refused). The group's minimum stays
229
- * 1 regardless of the suffix; nothing here ever resolves `n = 0`.
230
- *
231
- * Period 1 ends at one rest-marked slot instead — see {@link RepeatPlan.params}.
232
- *
233
- * Must stay in step with `CompilerUtils.resolveRepeat`, its COMPILE-TIME twin. That one decides
234
- * `#PARSE!` and the per-argument binding, so a rule added only here is simply never reached: the
235
- * formula is refused before it ever executes.
236
- */
237
175
  protected _plan(argsLength: number): RepeatPlan | null;
238
176
  /**
239
177
  * Folds the flat, per-argument-position values back into the shape the BODY declares: the group
@@ -258,53 +196,8 @@ export declare class TypedFunction implements IFunction {
258
196
  * writes anything into it.
259
197
  */
260
198
  protected _exec<R = any>(argsEval: any[], argsLength: number): R;
261
- /**
262
- * `NoLift<T>`: is a multi-cell REFERENCE sitting at a non-repeating scalar parameter marked to
263
- * refuse one? (DESIGN-FUNCTION-ARGUMENTS §2.3, §2.7 rule 3.)
264
- *
265
- * Three qualifications, each measured rather than assumed
266
- * (`fn-battery/adhoc-container-at-slot{,2}`, Excel 16.0 build 20326):
267
- *
268
- * - **A REFERENCE, not an array.** `MROUND({3,4,5},5)` spills where `MROUND(A1:A3,5)` is
269
- * `#VALUE!`, so an array at the same slot still lifts. That is the whole reason this reads the
270
- * argument's shape rather than trusting the parameter: the engine hands a reference over as
271
- * COORDS and an array as an `IRange`.
272
- * - **MULTI-CELL.** A 1×1 reference collapses to its member and is an ordinary argument
273
- * (`EFFECT(J1,4)` over a text cell is `0.0824…`).
274
- * - **NON-REPEATING.** A repeating scalar slot ABSORBS a container as members whatever the
275
- * function's heritage — `GCD(C1:C3)` is 4, `MULTINOMIAL(A1:A3)` is 27720 — and those were the
276
- * rows that could have broken the rule and did not. Period-1 groups marshal through the rest
277
- * branch and are already excluded by `rest`; period 2+ expand to per-argument entries, so the
278
- * group's span is skipped explicitly.
279
- *
280
- * A multi-AREA union `(A1:A3,C1:C5)` arrives as an ARRAY of areas and is not treated as a
281
- * reference here — unmeasured at these slots, and inventing a verdict for it would be the kind
282
- * of unification §2.0 warns about.
283
- */
284
199
  protected _refusesReferenceLift(params: IFunction.ParameterTypeJSON[] | null | undefined, paramLength: number, argsEval: any[], argsLength: number, plan: RepeatPlan | null): boolean;
285
- /**
286
- * The consumer half of the lift (CALC-ISSUES item 22 change 2). Each `refLifts` entry is a
287
- * reference-only (r:'p') argument holding a producer lift's preserved per-element results.
288
- * The function runs once per output cell through {@link _exec} — a full re-invocation, so
289
- * every other argument re-coerces and the body re-runs per element (measured:
290
- * `SUBTOTAL(9,OFFSET(A1,{0;1},0,1,1),B1:B2)` = 31|32 — the plain range is consumed WHOLE in
291
- * each call). Shape rules are the scalar lift's: output dims = max over entries, dim-1 tiles,
292
- * a shorter dim pads `#N/A` (probe-lift-member-coercion.ps1: 2×1 beside 1×2 → 2×2).
293
- *
294
- * An element that is not a reference (a plain value in a reference-only position) is not
295
- * special-cased: the per-element coercion answers exactly as it would for the unlifted call
296
- * (item 23b's `#PARSE!`), which becomes that member of the output.
297
- */
298
200
  protected _refLift<R>(context: IFormulaContext, argsEval: any[], argsLength: number, refLifts: RefLiftEntry[], firstCell?: boolean): R;
299
- /**
300
- * @hidden
301
- * Vends a NEW instance whose evaluation context comes from `getContext` — the public-API
302
- * scope vend behind `IFunctionCollection.getByName(name, { sheet })` (CALC-ISSUES item 35).
303
- * The registry instance is what the ENGINE holds and its evaluation path stays
304
- * allocation-free; a vended instance additionally owns a private fast-path slot the engine
305
- * never loads, so callers may hold it across awaits (or re-enter it) without racing the
306
- * engine's synchronous argument hand-off.
307
- */
308
201
  _withContext(getContext: () => IFormulaContext | null | undefined): TypedFunction;
309
202
  /** @inheritdoc IFunction.getName */
310
203
  getName(): string;
@@ -3,6 +3,7 @@ import { FunctionProvider } from '@sheetxl/scripting';
3
3
  import { ITransaction } from '../transaction';
4
4
  import { IResourceCollection } from '../resource';
5
5
  import { IStringCollection } from '../string';
6
+ import { IRichDataCollection } from '../richData';
6
7
  import { ICellRange } from '../cellRange';
7
8
  import { INamedCollection } from '../named';
8
9
  import { IStyleCollection } from '../style';
@@ -33,6 +34,11 @@ export interface ICellContainerOptions {
33
34
  * Option to provide shared strings.
34
35
  */
35
36
  strings?: IStringCollection;
37
+ /**
38
+ * Option to provide shared rich values, the store cells hold rich data in by id, as they hold
39
+ * strings in {@link strings}.
40
+ */
41
+ richData?: IRichDataCollection;
36
42
  /**
37
43
  * Option to provide a shared StyleCollection. If not provided then a new StyleCollection with default theming will be used.
38
44
  */
@@ -1,4 +1,4 @@
1
- import { Scalar, IRange, IRangeStats, IRuntime } from '@sheetxl/primitives';
1
+ import { Scalar, IRange, IRangeStats, IRichType, IRuntime } from '@sheetxl/primitives';
2
2
  import { Bounds, Size } from '@sheetxl/utils';
3
3
  import { ITypes } from '../type';
4
4
  import { ITransaction } from '../transaction';
@@ -14,15 +14,16 @@ import { ICellRange, ICellRanges, ICellRegions } from '../cellRange';
14
14
  import { IRangeSelection } from '../selection';
15
15
  import { IStyleCollection } from '../style';
16
16
  import { IStringCollection } from '../string';
17
+ import { IRichDataCollection } from '../richData';
17
18
  import { IResource, IResourceCollection } from '../resource';
18
19
  import { IMovable, IMovableCollection } from '../movable';
19
20
  import { IPivotTable, IPivotTableCollection } from '../pivot';
20
- import { IDataTable, IDataTableCollection } from '../dataTable';
21
21
  import { IComment, ICommentCollection } from '../comment';
22
22
  import { ITable, ITableCollection } from '../table';
23
23
  import { IDataValidation, IDataValidationCollection } from '../dataValidation';
24
24
  import { IConditionalFormat, IConditionalFormatCollection } from '../conditionalFormat';
25
25
  import { IProtectedRange, IProtectedRangeCollection } from '../protectedRange';
26
+ import { ICellControl, ICellControlCollection } from '../cellControl';
26
27
  import { IModule, IModuleCollection } from '../scripting';
27
28
  import { IChartCollection } from '../chart';
28
29
  import { INamedCollection } from '../named';
@@ -220,6 +221,14 @@ export interface IWorksheet extends ISheet, ITransaction.ITransactional, IListen
220
221
  * {@link IWorksheetProtection.isLocked} is true.
221
222
  */
222
223
  getProtectedRanges(): IProtectedRangeCollection;
224
+ /**
225
+ * Returns the cell controls on this sheet, such as checkboxes.
226
+ *
227
+ * @remarks
228
+ * Every entry, in drawing order. To put a control on cells or read what is there, use
229
+ * {@link ICellRange.setControl} and {@link ICellRange.getControls}.
230
+ */
231
+ getCellControls(): ICellControlCollection;
223
232
  /**
224
233
  * Returns the comments and notes on this sheet.
225
234
  *
@@ -677,14 +686,6 @@ export interface IWorksheet extends ISheet, ITransaction.ITransactional, IListen
677
686
  * workbook's {@link IWorkbook.getPivotTables} walks every sheet's.
678
687
  */
679
688
  getPivotTables(): IPivotTableCollection;
680
- /**
681
- * Returns the what-if data tables on this sheet, in the order they were read.
682
- *
683
- * @remarks
684
- * Read-only for now: each table is carried as it was read, its results as the file held them.
685
- * As in Excel, an edit to part of a table's results is refused.
686
- */
687
- getDataTables(): IDataTableCollection;
688
689
  /**
689
690
  * Set the picture interface for the entire sheet.
690
691
  * @param picture The picture interface to set for the sheet, or null to remove it.
@@ -783,7 +784,7 @@ export declare namespace IWorksheet {
783
784
  /**
784
785
  * The events that carry a {@link ChangeEvent}: what {@link ChangeEvent.getKind} names.
785
786
  */
786
- type ChangeEventKey = 'onDataChange' | 'onStyleChange' | 'onLayoutChange' | 'onMergesChange' | 'onSpillsChange';
787
+ type ChangeEventKey = 'onDataChange' | 'onStyleChange' | 'onMergesChange' | 'onSpillsChange';
787
788
  /**
788
789
  * What a change event announces: where the change landed and what wrote it.
789
790
  *
@@ -976,6 +977,13 @@ export declare namespace IWorksheet {
976
977
  * Always accompanied by the coarse {@link onProtectionChange}.
977
978
  */
978
979
  onProtectedRangesChange?(source: IWorksheet): void;
980
+ /**
981
+ * Called when a cell control is added, removed, re-anchored or reordered.
982
+ *
983
+ * @remarks
984
+ * Always accompanied by the coarse {@link onStyleChange}: a control is a format.
985
+ */
986
+ onCellControlsChange?(source: IWorksheet): void;
979
987
  /**
980
988
  * Called when a comment is added, removed, edited, resolved, replied to or re-anchored.
981
989
  *
@@ -1016,11 +1024,8 @@ export declare namespace IWorksheet {
1016
1024
  * for "cell geometry moved".
1017
1025
  * * This can be be due to row/column sizes changes or changing the max rows columns.
1018
1026
  * * Zoom and viewport do not change the underlying layout.
1019
- *
1020
- * @param source The sheet.
1021
- * @param event The whole sheet: sizes are announced by the headers, which do not say where.
1022
1027
  */
1023
- onLayoutChange?(source: IWorksheet, event: IWorksheet.ChangeEvent): void;
1028
+ onLayoutChange?(source: IWorksheet): void;
1024
1029
  /**
1025
1030
  * Called when which rows are hidden has changed.
1026
1031
  */
@@ -1340,7 +1345,7 @@ export declare namespace IWorksheet {
1340
1345
  * JSON representation of an `IWorksheet` used for serialization and deserialization.
1341
1346
  */
1342
1347
  interface JSON extends ISheet.JSON {
1343
- data?: Tuple.GridTuple<ICell.JSON>;
1348
+ data?: Tuple.GridTuple<Scalar.JSON>;
1344
1349
  formulas?: IRange.JSONReferenceTuple<string>[];
1345
1350
  /**
1346
1351
  * The extent occupied by an array formula, and which of the three
@@ -1377,6 +1382,10 @@ export declare namespace IWorksheet {
1377
1382
  styles?: IStyleCollection.JSON;
1378
1383
  resources?: IResource.JSON[];
1379
1384
  strings?: string[];
1385
+ /** The rich values cells name by id (`{ t: 'r', v: id }`), when the sheet owns its own. */
1386
+ richData?: IRichDataCollection.JSON[];
1387
+ /** The kinds {@link richData} names that are not registered in code (a kind read from a file). */
1388
+ richTypes?: IRichType.JSON[];
1380
1389
  /**
1381
1390
  * Modules owned by this sheet, keyed by module name.
1382
1391
  *
@@ -1418,6 +1427,7 @@ export declare namespace IWorksheet {
1418
1427
  */
1419
1428
  validationSettings?: IDataValidationCollection.Settings;
1420
1429
  protectedRanges?: IRange.JSONReference<IProtectedRange.JSON>[];
1430
+ cellControls?: IRange.JSONReference<ICellControl.JSON>[];
1421
1431
  movables?: IMovable.JSON[];
1422
1432
  /**
1423
1433
  * The sheet's VBA code name. Absent when it has none.
@@ -1475,12 +1485,6 @@ export declare namespace IWorksheet {
1475
1485
  * @see {@link IWorksheet.getPivotTables}
1476
1486
  */
1477
1487
  pivotTables?: IPivotTable.JSON[];
1478
- /**
1479
- * The sheet's what-if data tables.
1480
- *
1481
- * @see {@link IWorksheet.getDataTables}
1482
- */
1483
- dataTables?: IDataTable.JSON[];
1484
1488
  /**
1485
1489
  * The cells where Excel's error checks are ignored (the green triangle's **Ignore Error**):
1486
1490
  * each reference's value is the set of checks its cells ignore.
@@ -4,27 +4,6 @@ import { INamedFormulasCollection } from '../calculation/INamedFormulasCollectio
4
4
  import { NamedRange } from './NamedRange';
5
5
  import { IWorksheetInternal } from './Worksheet';
6
6
  import { SheetRangeOptions } from './SheetRange';
7
- /**
8
- * A defined name as a NODE in the calculation graph — an `INamedRange` whose coords are the
9
- * name's ANCHOR (its defining cell), not a target.
10
- *
11
- * @remarks
12
- * This is how a name rides inside an ordinary `ICellRanges` graph answer next to plain cell
13
- * ranges: the brand (`isINamedRange`) carries the identity, the coords carry the anchor, and the
14
- * four graph methods answer the NAME question rather than the cell question at those coords
15
- * (DESIGN-NAMED-FORMULAS.md §4). Contrast {@link NamedRange}, which `getRange('Revenue')` returns
16
- * over the name's *target* — same brand, different referent, and only this one exists for a value
17
- * name (`Doubled = Base*2`), which has no target at all.
18
- *
19
- * The anchor matters to precedents (relative references in the body resolve from it) and is only
20
- * a label for dependents (the symbol index is global). Lead with the name when displaying one —
21
- * two names authored from the same active cell share an anchor address, and the name is the fact.
22
- *
23
- * Built from a {@link NamedNodeInfo} — plain data — and answers its five name questions by
24
- * resolving the id against the collection when asked. It does NOT capture the name object: a name
25
- * can be redefined or deleted while a graph answer is still held, and re-resolving means the
26
- * answer follows the definition rather than a snapshot of it. A name that is gone answers `null`.
27
- */
28
7
  export declare class NamedCellRange extends NamedRange {
29
8
  private readonly _info;
30
9
  private readonly _namedFormulas;
@@ -4,6 +4,7 @@ import { ITransaction } from '../transaction';
4
4
  import { IProperties, ITypes } from '../type';
5
5
  import { NumberFormat } from '../numFmt';
6
6
  import { ITextFrame, IRichText } from '../text';
7
+ import { IRichDataKind } from '../richData/IRichDataKind';
7
8
  import { ITable } from '../table';
8
9
  import { IDataValidation } from '../dataValidation';
9
10
  import { IHyperlink } from '../hyperlink';
@@ -20,6 +21,7 @@ import { SpillEntry } from '../calculation/spatial';
20
21
  import { CellStyleUpdater } from './style/SheetCellStyle';
21
22
  import { ICalcGrid } from '../calculation/grid';
22
23
  import { IConditionalFormat } from '../conditionalFormat';
24
+ import { ICellControl } from '../cellControl/ICellControl';
23
25
  /**
24
26
  * CellModifiers with all functions removed and all properties set and a type.
25
27
  */
@@ -53,7 +55,7 @@ interface Cache<K, V> {
53
55
  * // TODO - remove style dependency and see if we can remove it.
54
56
  */
55
57
  export declare function resolveCellModifiers(runtime: IRuntime, update: ICell.Update, optionsFromString?: ICell.ModifiersFromStringOptions | null, resolvedStringCache?: Map<string, ICell.Modifiers> | null, // assumes the same fromStringOptions is used
56
- isParsingCustom?: boolean, destination?: IRange.CellCoords | null, quotePrefixOnly?: boolean): ResolvedCellModifiers | undefined;
58
+ isParsingCustom?: boolean, destination?: IRange.CellCoords | null, quotePrefixOnly?: boolean, richData?: IRichDataKind.Context | null): ResolvedCellModifiers | undefined;
57
59
  /**
58
60
  * The decorations (data bar, icon set) a cell's conditional rules draw — the walk behind
59
61
  * {@link SheetCell.getConditionalDecorations}, without a cell.
@@ -221,6 +223,12 @@ export declare class SheetCell implements ICell {
221
223
  getWorksheet(): IWorksheet;
222
224
  /** {@inheritDoc ICell.select} */
223
225
  select(options?: ITypes.SelectOptions): Promise<boolean>;
226
+ /**
227
+ * Follows an address as this cell's sheet follows a link: what a link beside the cells (a picture's)
228
+ * opens with.
229
+ * @internal
230
+ */
231
+ _openAddress(address: string, options: ITypes.SelectOptions | null, target?: string, features?: string): Promise<boolean>;
224
232
  /** {@inheritDoc ICell.getColumn} */
225
233
  getColumn(): ITable.IColumn | null;
226
234
  /** {@inheritDoc ICell.getTable} */
@@ -229,6 +237,8 @@ export declare class SheetCell implements ICell {
229
237
  getDataValidation(): IDataValidation | null;
230
238
  /** {@inheritDoc ICell.getConditionalDecorations} */
231
239
  getConditionalDecorations(): Readonly<IConditionalFormat.Decorations>;
240
+ /** {@inheritDoc ICell.getControl} */
241
+ getControl(): ICellControl | null;
232
242
  /** {@inheritDoc ICell.getProtection} */
233
243
  getProtection(): ICellProtection;
234
244
  /** {@inheritDoc ICell.getTextOverflow} */
@@ -301,6 +311,12 @@ export declare class SheetCell implements ICell {
301
311
  getValue(): Scalar;
302
312
  /** {@inheritDoc ICell.getType} */
303
313
  getType(): ScalarType;
314
+ /**
315
+ * The type the value lays out as: rich data as what it shows ({@link RichDataRegistry.layoutTypeOf}:
316
+ * a hyperlink, a rich text or an entity is text, so it aligns left under General and spills into
317
+ * empty neighbors), everything else as itself.
318
+ */
319
+ protected _layoutType(): ScalarType;
304
320
  /** {@inheritDoc ICell.getInteropValue} */
305
321
  getInteropValue(): InteropScalar;
306
322
  /** {@inheritDoc ICell.getInteropType} */
@@ -338,6 +354,12 @@ export declare class SheetCell implements ICell {
338
354
  getRole(): ICell.Role | null;
339
355
  /** {@inheritDoc ICell.getHyperlink} */
340
356
  getHyperlink(): IHyperlink | null;
357
+ /**
358
+ * The hyperlink set on the cell, never one its value presents: what a move or a copy carries
359
+ * to another cell (the value carries its own).
360
+ * @internal
361
+ */
362
+ getStoredHyperlink(): IHyperlink.Properties | null;
341
363
  /** {@inheritDoc ICell.getRichText} */
342
364
  getRichText(): IRichText.JSON | null;
343
365
  /** {@inheritDoc ICell.getErrors} */
@@ -355,8 +377,8 @@ export declare class SheetCell implements ICell {
355
377
  /** {@inheritDoc ICell.getSpillKind} */
356
378
  getSpillKind(): ITypes.FormulaArrayKind | null;
357
379
  /**
358
- * The spill entry this cell answers for: the first live one, else a blocked one so the UI can
359
- * still show the range it would have taken.
380
+ * The spill entry this cell answers for: a live one, else a blocked one, so the UI can show the
381
+ * range it would have taken. Where blocked ones overlap, the one anchored here, else the first.
360
382
  */
361
383
  protected _getSpillEntry(): SpillEntry | null;
362
384
  /** {@inheritDoc ICell.isSpillOverflow} */
@@ -19,6 +19,8 @@ import { IDataValidation, IDataValidationCollection } from '../dataValidation';
19
19
  import { IConditionalFormat } from '../conditionalFormat/IConditionalFormat';
20
20
  import { IConditionalFormatCollection } from '../conditionalFormat/IConditionalFormatCollection';
21
21
  import { IProtectedRange, IProtectedRangeCollection } from '../protectedRange';
22
+ import { ICellControl } from '../cellControl/ICellControl';
23
+ import { ICellControlCollection } from '../cellControl/ICellControlCollection';
22
24
  import { IWorksheet } from './IWorksheet';
23
25
  import { IWorksheetInternal } from './Worksheet';
24
26
  import { WatchAnchor } from './_WatchAnchor';
@@ -31,8 +33,8 @@ import { AutoFillProjection } from './_SheetAutoFillUtils';
31
33
  export declare const _NoFeatures: readonly ICellRange.Feature[];
32
34
  /**
33
35
  * A watch listens for the VALUE landing, not for the transaction that caused it — a recalculation
34
- * notifies its own ranges once the results are in (`trigger: 'calc'`), which is the moment a watch
35
- * has something new to report.
36
+ * notifies its own ranges once the results are in (a `'data'` event with no commit), which is the
37
+ * moment a watch has something new to report.
36
38
  */
37
39
  export interface SheetRangeOptions {
38
40
  readOnly?: string;
@@ -341,6 +343,10 @@ export declare class SheetRange implements ICellRange {
341
343
  getUnlocked(options?: ICellRange.GetItemsOptions<IProtectedRangeCollection.GetItemsOptions>): IProtectedRange[];
342
344
  /** {@inheritDoc ICellRange.getConditionalFormats} */
343
345
  getConditionalFormats(options?: ICellRange.GetItemsOptions<IConditionalFormatCollection.GetItemsOptions>): IConditionalFormat[];
346
+ /** {@inheritDoc ICellRange.getControls} */
347
+ getControls(options?: ICellRange.GetItemsOptions<ICellControlCollection.GetItemsOptions>): ICellControl[];
348
+ /** {@inheritDoc ICellRange.setControl} */
349
+ setControl(control: ICellControl.JSON | null, options?: ITransaction.OperationOptions): this;
344
350
  /** {@inheritDoc ICellRange.getDataValidations} */
345
351
  getDataValidations(options?: ICellRange.GetItemsOptions<IDataValidationCollection.GetItemsOptions>): IDataValidation[];
346
352
  /** {@inheritDoc ICellRange.getComments} */
@@ -98,7 +98,7 @@ export declare class SheetRanges implements ICellRanges {
98
98
  /** {@inheritDoc ICellRange.calculate} */
99
99
  calculate(): this;
100
100
  /** {@inheritDoc ICellRanges.addListener} */
101
- addListener(listener: ICellRange.Listener, options?: ICellRange.ListenerOptions): IListener.Remove;
101
+ addListener(listener: ICellRange.Listener<ICellRanges>, options?: ICellRange.ListenerOptions): IListener.Remove;
102
102
  /** {@inheritDoc ICellRanges.addWatch} */
103
103
  addWatch(formula: ICalculation.IFormula | string, callback: ICellRanges.WatchCallback, options?: ICellRange.WatchOptions): IListener.Remove;
104
104
  /**
@@ -155,7 +155,7 @@ export declare class SheetRanges implements ICellRanges {
155
155
  /** {@inheritDoc ICellRanges.clear} */
156
156
  clear(applyTo?: ICell.Content, options?: ITransaction.OperationOptions): this;
157
157
  /** {@inheritDoc ICellRanges.setValue} */
158
- setValue(value: ICellRange.ScalarUpdate, options?: ICellRange.SetValuesOptions): this;
158
+ setValue(value: ICellRange.InteropScalarUpdate, options?: ICellRange.SetValuesOptions): this;
159
159
  /** {@inheritDoc ICellRanges.getStyle} */
160
160
  getStyle(): ICellStyle;
161
161
  /** {@inheritDoc ICellRanges.merge} */